@charset "utf-8";
/* =========================================================
   個人情報保護方針（/privacy/・/en/privacy/ 共有）
   液体コーディング：html font-size は admin.css の vw 基準（PC=0.73207vw／SP=2.67vw）。
   寸法は rem（PC=1366基準・SP=375基準）。フォントは font-set クラスで指定。
   ========================================================= */
.contents01 {
	width: 100%;
	padding: 4.8rem 0 0;
	box-sizing: border-box;
	position: relative;
}
/* --- 中央のコンテンツボックス（淡いグリーン・左固定ナビを避けて中央寄せ） --- */
.contents01 .contents01_01 {
	width: 87.6rem;
	margin: 0 auto;
	padding: 6.5rem 11.0rem 4.8rem;
	box-sizing: border-box;
	background-color: #EAF6F0;
}
/* --- 見出し＋導入 --- */
.contents01 .contents01_01_01 .text01 {
	text-align: center;
}
.contents01 .contents01_01_01 .text01_01 {
	display: block;
	font-size: 5.5rem;
	line-height: 4.5rem;
	color: #00A06E;
}
.contents01 .contents01_01_01 .text01_02 {
	margin-top: 2.4rem;
	display: block;
	font-size: 2.4rem;
	line-height: 2.4rem;
	color: #00A06E;
}
.contents01 .contents01_01_01 .text02 {
	margin-top: 3.7rem;
	font-size: 1.5rem;
	line-height: 2.7rem;
	color: #333333;
}
/* --- セクションタイトル --- */
.contents01 .contents01_01_02 {
	margin-top: 7.1rem;
}
.contents01 .contents01_01_02 .text01 {
	font-size: 2.4rem;
	line-height: 2.7rem;
	color: #00A06E;
	text-align: center;
}
/* --- 各セクション群 --- */
.contents01 .contents01_01_03 {
	margin-top: 5.7rem;
}
.contents01 .contents01_01_03 > div {
	margin-top: 5.0rem;
}
.contents01 .contents01_01_03 > div:first-child {
	margin-top: 0;
}
/* セクション見出し */
.contents01 .contents01_01_03 .text01 {
	font-size: 1.7rem;
	line-height: 2.2rem;
	color: #000000;
}
/* 本文段落（リード・本文・末尾段落） */
.contents01 .contents01_01_03 .text02 {
	margin-top: 2.8rem;
	font-size: 1.5rem;
	line-height: 2.7rem;
	color: #333333;
}
/* 見出し直後の本文（EN リード）は詰める */
.contents01 .contents01_01_03 .text01 + .text02 {
	margin-top: 1.4rem;
}
/* グループ見出し（1)/2)/3)） */
.contents01 .contents01_01_03 .text03 {
	margin-top: 3.3rem;
	font-size: 1.5rem;
	line-height: 1.8;
	color: #000000;
}
/* JP のグループ見出しは常に1段＝line-height は font-size と同値。EN は SP で2段折返しになるため base の 1.8 を据え置き（EN対応時に別途） */
body.jp .contents01 .contents01_01_03 .text03 {
	line-height: 1.5rem;
}
/* 最初のグループ見出し（セクション見出し直後＝JP）は上余白を詰める。ENはリード文が間に入るため非該当 */
.contents01 .contents01_01_03 .text01 + .text03 {
	margin-top: 2.2rem;
}
/* --- リスト（JP=「・」／EN=「•」）。グローバル ul,ol,li{list-style:none} を ::before で描画 --- */
.contents01 .contents01_01_03 ul {
	list-style: none;
}
/* JP：グループ見出し→箇条書きの上余白（EN は上書き無しのため据え置き＝EN対応時に別途） */
body.jp .contents01 .contents01_01_03 ul {
	margin-top: 0.6rem;
}
.contents01 .contents01_01_03 ul li {
	padding-left: 1.6rem;
	position: relative;
	font-size: 1.5rem;
	line-height: 2.7rem;
	color: #333333;
}
.contents01 .contents01_01_03 ul li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
body.en .contents01 .contents01_01_03 ul li {
	padding-left: 1.5rem;
}
body.en .contents01 .contents01_01_03 ul li::before {
	content: "•";
	left: 0.3rem;
}
/* --- 番号付きリスト（1.2.3.）。カウンターで ::before 描画 --- */
.contents01 .contents01_01_03 ol {
	margin-top: 2.7rem;
	list-style: none;
	counter-reset: privacy-ol;
}
.contents01 .contents01_01_03 ol li {
	padding-left: 2.0rem;
	position: relative;
	font-size: 1.5rem;
	line-height: 2.7rem;
	color: #333333;
	counter-increment: privacy-ol;
}
.contents01 .contents01_01_03 ol li::before {
	content: counter(privacy-ol) ".";
	position: absolute;
	top: 0;
	left: 0;
}
/* --- トップへ戻るボタン（404ページ踏襲：四角・枠線#000／ホバーで緑地・白文字・アイコン白へ差替） --- */
.contents01 .contents01_01_04 {
	margin-top: 6.9rem;
	text-align: center;
}
.contents01 .contents01_01_04 > .link01 {
	width: 22.5rem;
	height: 5.0rem;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ffffff;
	border: 1px solid #000000;
	font-size: 1.7rem;
	line-height: 2.7rem;
}
.contents01 .contents01_01_04 > .link01:hover {
	background-color: #2DC195;
	color: #ffffff;
	opacity: 1;
}
.contents01 .contents01_01_04 > .link01 > span {
	width: 1.3rem;
	height: 1.3rem;
	margin: 0 1.7rem 0 0;
	display: block;
	flex-shrink: 0;
	position: relative;
}
.contents01 .contents01_01_04 > .link01 > span > img {
	width: 100%;
	height: auto;
	display: block;
	transition: all .5s;
}
.contents01 .contents01_01_04 > .link01 > span > img:nth-of-type(2) {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	opacity: 0;
}
.contents01 .contents01_01_04 > .link01:hover > span > img:nth-of-type(1) {
	opacity: 0;
	transition: all .5s;
}
.contents01 .contents01_01_04 > .link01:hover > span > img:nth-of-type(2) {
	opacity: 1;
	transition: all .5s;
}

/* =========================================================
   EN限定の上書き（JP版＝共有base）
   EN独自調整はリセット。base の line-height 2.7rem の箇所のみ 2.4rem に上書き（PC/SP共通）
   ========================================================= */
body.en .contents01 .contents01_01_01 .text02,
body.en .contents01 .contents01_01_02 .text01,
body.en .contents01 .contents01_01_03 .text02,
body.en .contents01 .contents01_01_03 ul li,
body.en .contents01 .contents01_01_03 ol li,
body.en .contents01 .contents01_01_04 > .link01 {
	line-height: 2.4rem;
}

/* =========================================================
   EN限定・PCの上書き（JP版＝共有base／EN SP には波及させない）
   ========================================================= */
@media only screen and (min-width: 768px) {
	/* 導入 */
	body.en .contents01 .contents01_01_01 .text02 {
		margin-top: 3.2rem;
	}
	/* セクションタイトル */
	body.en .contents01 .contents01_01_02 {
		margin-top: 7.3rem;
	}
	body.en .contents01 .contents01_01_02 .text01 {
		font-size: 2.5rem;
	}
	/* 各セクション群 */
	body.en .contents01 .contents01_01_03 {
		margin-top: 5.9rem;
	}
	body.en .contents01 .contents01_01_03 > div {
		margin-top: 5.4rem;
	}
	/* リード本文（見出し直後） */
	body.en .contents01 .contents01_01_03 .text01 + .text02 {
		margin-top: 1.9rem;
	}
	/* 本文 */
	body.en .contents01 .contents01_01_03 .text02 {
		margin-top: 2.5rem;
	}
	/* グループ見出し（2・3番目） */
	body.en .contents01 .contents01_01_03 .text03 {
		margin-top: 2.6rem;
		line-height: 1.5rem;
	}
	/* 先頭グループ見出し（リード直後） */
	body.en .contents01 .contents01_01_03 .text02 + .text03 {
		margin-top: 2.4rem;
	}
	/* 箇条書きの上余白 */
	body.en .contents01 .contents01_01_03 ul {
		margin-top: 0.5rem;
	}
	/* 番号付きリストの上余白 */
	body.en .contents01 .contents01_01_03 ol {
		margin-top: 2.4rem;
	}
}

/* =========================================================
   SP（375基準）
   ========================================================= */
@media only screen and (max-width: 767px) {
	.contents01 {
		padding: 0;
	}
	.contents01 .contents01_01 {
		width: auto;
		margin: 0 3.0rem;
		padding: 5.0rem 1.7rem;
	}
	.contents01 .contents01_01_01 .text01_01 {
		font-size: 4.4rem;
		line-height: 4.5rem;
	}
	.contents01 .contents01_01_01 .text01_02 {
		margin-top: 1.1rem;
		font-size: 1.8rem;
		line-height: 1.8rem;
	}
	.contents01 .contents01_01_01 .text02 {
		margin-top: 2.4rem;
		line-height: 2.7rem;
	}
	.contents01 .contents01_01_02 {
		margin-top: 4.8rem;
	}
	.contents01 .contents01_01_02 .text01 {
		font-size: 1.8rem;
		line-height: 2.3rem;
	}
	.contents01 .contents01_01_03 {
		margin-top: 2.6rem;
	}
	.contents01 .contents01_01_03 > div {
		margin-top: 4.9rem;
	}
	.contents01 .contents01_01_03 .text01 {
		font-size: 1.6rem;
	}
	.contents01 .contents01_01_03 .text02 {
		margin-top: 2.4rem;
	}
	.contents01 .contents01_01_03 .text03 {
		margin-top: 3.3rem;
		font-size: 1.5rem;
	}
	.contents01 .contents01_01_03 .text01 + .text03 {
		margin-top: 2.2rem;
	}
	.contents01 .contents01_01_04 {
		margin-top: 5.6rem;
	}
	/* EN SP 個別調整（JP SP＝共有ブロックは触らず EN だけ上書き） */
	body.en .contents01 .contents01_01_01 .text02 {
		margin-top: 1.7rem;
	}
	body.en .contents01 .contents01_01_02 {
		margin-top: 4.9rem;
	}
	body.en .contents01 .contents01_01_03 .text03 {
		margin-top: 1.5rem;
	}
	body.en .contents01 .contents01_01_03 ol {
		margin-top: 2.5rem;
	}
	body.en .contents01 .contents01_01_04 {
		margin-top: 6.1rem;
	}
}
