@charset "UTF-8";

h1 {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2em;
	text-align: justify;
	text-justify: inter-character;
}

header,
aside,
footer {
	width: 100%;
}

header > div,
main article section {
	margin: 0 auto;
	max-width: 1100px;
	padding: 80px 20px;
}

main article section:first-child {
	padding: 80px 20px;
}

main section:nth-child(even) {
	background-color: #fff;
	padding: 0 auto;
}

main section:nth-child(odd) {
	background-color: #eeebe9;
	padding: 0 auto;
}

.head__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
	justify-content: space-between;
}

.policy h2 {
	counter-reset: number3;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.4rem;
	line-height: 1.6em;
	margin-bottom: 0.5em;
	margin-left: 1.5em;
	margin-top: 2em;
	text-indent: -1.5em;
}

.policy h2:first-child {
	margin-top: 0;
}

.policy h3 {
	counter-reset: number4;
	font-size: 1.8rem;
	margin-bottom: 1.2em;
	margin-left: 1.2em;
	position: relative;
	text-indent: -0.95em;
}

.policy h3::before {
	content: counter(number3) ".";
	counter-increment: number3 1;
}

.policy h3::after {
	border-bottom: 2px solid #eeebe9;
	bottom: -6px;
	content: "";
	left: -1.2em;
	position: absolute;
	width: calc(100% + 1.2em);
}

.policy section > h3 + p,
.policy section > h3 + p + p {
	margin-bottom: 1em;
	margin-left: 1.4em;
}

.policy h4 {
	font-size: 1.6rem;
	margin-bottom: 0.6em;
	padding-left: 3.2em;
	text-indent: -3.2em;
}

.policy h4::before {
	content: "（" counter(number4) "）";
	counter-increment: number4 1;
	margin-left: 0.8em;
}

.policy section > h4 + p {
	margin-bottom: 1em;
	margin-left: 3.5em;
}

.policy ul {
	list-style-type: disc;
	margin-bottom: 1.5em;
	margin-left: 2.75em;
}

.policy ul li {
	margin-bottom: 1em;
}

.policy ol {
	counter-reset: cnt;
	margin-bottom: 2em;
}

.policy ol > li {
	counter-increment: cnt;
	line-height: 1.6em;
	list-style-type: none;
	margin-bottom: 1em;
	margin-left: 2em;
	text-indent: -2.65em;
}

.policy ol li > p {
	margin-left: -1.65em;
	text-indent: 0;
}

.policy ol > li::before {
	content: "（" counter(cnt) "）";
}

.policy p {
	margin: 0 0 2em;
}

.policy p:last-child {
	margin-bottom: 0;
}

.policy ul > li {
	margin-left: 2em;
	text-indent: 0;
}

.policy a {
	border-bottom: dotted 1px #000;
	display: inline;
	line-height: 1.5em;
	padding-bottom: 1px;
	text-decoration: none;
	word-break: break-all;
}

.policy td ul li a[target="_blank"]::before {
	background: url(../img/ico_external_link-after.svg) center left/contain no-repeat;
	content: "";
	display: inline-block;
	height: 12px;
	margin: 6px 0 3px -1.1em;
	position: absolute;
	transition: 0.3s;
	width: 14px;
}

.policy__txt--sign {
	font-size: 1.4rem;
	line-height: 1.6em;
	text-align: right;
}

.policy__complaint p {
	font-size: 1.4rem;
	text-align: left;
}

.policy__complaint + p {
	font-size: 1.6rem;
}

.acrobat {
	background-color: #fff;
	border: solid 1px #eeebe9;
	border-radius: 10px;
	margin-top: 60px;
	padding: 20px;
}

.acrobat_container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	justify-content: center;
}

.acrobat_container figure {
	width: 158px;
}

.acrobat_container p {
	font-size: 1.4rem;
	line-height: 1.6em;
	margin-bottom: 0;
}

.copyright__txt {
	width: 100%;
}

.copyright__txt--right {
	font-size: 1.2rem;
	text-align: center;
}

@media print, screen and (min-width: 768px) {
	.head__container {
		align-items: initial;
		flex-direction: row;
	}

	.head__container + div {
		width: calc(100% - 110px);
	}

	.policy__complaint p {
		text-align: center;
	}

	.acrobat_container {
		flex-direction: row;
	}
}
