@charset "utf-8";

section {
	padding-top: var(--space-s);
	padding-bottom: var(--space-l);
}

section .inner-box {
	width: min(100%,1080px);
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
	line-height: 1.75;
	font-size: var(--font-s);
}

section h2 {
	width: min(100%,375px);
	margin: 0 auto 4.2rem;
	padding: 1.0rem 1.6rem 1.2rem;
	line-height: 1.25;
	background-color: #0091C0;
	border-radius: 10px;
	text-align: center;
	font-weight: 700;
	font-size: var(--font-base);
	color: #FFFFFF;
}

/* 会員規約 ----------------------------------- */
section#terms h3 {
	margin-top: var(--space-l);
	margin-bottom: var(--space-xs);
	text-align: center;
	font-weight: 600;
	font-size: var(--font-l);
}

section#terms .inner-box > ol {
	list-style-type: decimal;
	padding-left: 1.25em;
}

section#terms .inner-box > ol > li {
	padding-left: 0.5em;
}

section#terms .inner-box > ol > li + li {
	margin-top: 0.25em;
}

section#terms .inner-box > ol > li:has(ol) {
	padding-bottom: 0.75em;;
}

section#terms .inner-box > ol > li > ol {
	padding-top: 0.75em;
	padding-left: 1.75em;
}

section#terms .inner-box > ol > li > ol > li {
	position: relative;
}

section#terms .inner-box > ol > li > ol > li + li {
	margin-top: 0.25em;
}

section#terms .inner-box > ol > li > ol > li::before {
	content: "(" counter(list-item) ")";
	position: absolute;
	right: calc(100% + 0.5rem);  /* 0.5remは連番とテキストとの余白 */
}

section#terms .inner-box > p:has(+ ol) {
	margin-bottom: 0.75em;
}

section#terms .inner-box > p:last-child {
	margin-top: var(--space-m);
}

/* 特定商取引 ----------------------------------------- */
section#law {}

section#law table {
	width: min(100%,820px);
	margin: 0 auto;
}

section#law table tr th {
	padding: 0.25em 2em 0 0;
	text-align: right;
	vertical-align: top;
	font-weight: 600;
	font-size: var(--font-s);
	white-space: nowrap;
}

section#law table tr td {
	padding: 0 0 1em;
	vertical-align: top;
	font-weight: 600;
	font-size: var(--font-base);
}

section#law table tr td span {
	display: inline-block;
}

section#law table tr td.ft-s,
section#law table tr td .ft-s {
	padding-top: 0.25em;
	font-size: var(--font-s);
}

/* プライバシーポリシー --------------------------------- */
section#privacy h3 {
	margin-top: var(--space-m);
	margin-bottom: 2.8rem;
	text-align: center;
	font-weight: 600;
	font-size: var(--font-base);
}

section#privacy h2 + h3 {
	margin-top: 0;
}

/* ================================================ */
@media (min-width: 1001px) {

/* 会員規約 ------------------------------------------- */
/* プライバシーポリシー --------------------------------- */
/* 特定商取引 ----------------------------------------- */

}

/* ================================================ */
@media (max-width: 1000px) {

/* 会員規約 ------------------------------------------- */
/* プライバシーポリシー --------------------------------- */
/* 特定商取引 ----------------------------------------- */

}

/* ================================================ */
@media (max-width: 768px) {

/* 会員規約 ------------------------------------------- */
/* プライバシーポリシー --------------------------------- */
/* 特定商取引 ----------------------------------------- */

}

/* ================================================ */
@media (max-width: 640px) {

/* 会員規約 ------------------------------------------- */
/* プライバシーポリシー --------------------------------- */
/* 特定商取引 ----------------------------------------- */

}

/* ================================================ */
@media (max-width: 480px) {

/* 会員規約 ------------------------------------------- */
/* 特定商取引 ----------------------------------------- */
section#law table tr th {
	display: block;
	width: 100%;
	padding: 0.5em 0;
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	text-align: center;
	color: #172F77;
	white-space: normal;
}

section#law table tr td {
	display: block;
	width: 100%;
	padding: 0.75em 0;
}

/* プライバシーポリシー --------------------------------- */

}