@charset "utf-8";
/* ===================================================
	Other CSS
	スタイルが極端に少なくなるページ等、このCSSにまとめて記述する。
====================================================== */
/* ---------------------------------------------------
------------------------------------------------------ */

@media screen and (max-width: 768px) {

}


/* ---------------------------------------------------
privacy
------------------------------------------------------ */
#privacy section { position: relative; isolation: isolate; }
#privacy #sec01 { padding-top: 162px; counter-reset: tit_01; }
#privacy #sec01 .deco { position: absolute; top: 0; left: 0; z-index: -1; width: 433px; scale: -1 1; }
#privacy #sec02 { padding-block: 140px 160px; }
#privacy .cmn_tit01 { margin-bottom: 60px; }
#privacy .cmn_tit01 .tit01 { color: rgba(0,0,0,.45); }
#privacy .tit_01 { font-feature-settings: "palt"; font-weight: 500; font-size: 20px; line-height: calc(34 / 20); letter-spacing: .1em; color: rgba(0,0,0,.6); margin: 70px 0 24px; padding: 0 0 16px 2.2em; border-bottom: 1px solid rgba(0,0,0,.15); position: relative; counter-increment: tit_01; }
#privacy .tit_01::before { content: counter(tit_01, decimal-leading-zero) "."; position: absolute; top: 0; left: 0; color: var(--black-40); }
#privacy .tit_01:first-of-type { margin-top: 0; }
#privacy main p,
#privacy main li,
#privacy main dd { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: var(--black-80); }
#privacy main p + p,
#privacy main p + ul { margin-top: 1em; }
#privacy main a:not(.cmn_link01) { text-decoration: underline; text-underline-offset: 3px; }

/* リスト */
#privacy .list_en_01 { counter-reset: list_en; }
#privacy .list_en_01 li { position: relative; padding-left: 2em; counter-increment: list_en; }
#privacy .list_en_01 li::before { content: counter(list_en, upper-alpha) "."; position: absolute; top: 0; left: 0; color: var(--black-50); }
#privacy .list_dot_01 li { position: relative; padding-left: 1.2em; }
#privacy .list_dot_01 li::before { content: ''; position: absolute; top: calc(1em - 2px); left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--black-40); }

/* お問合せ窓口 */
#privacy #sec01 dl { padding: 30px 40px; background: rgba(0,0,0,.04); }
#privacy #sec01 dl dt { font-weight: 500; font-size: 16px; letter-spacing: .1em; color: var(--black-50); margin-bottom: 8px; }

/* キャンセル料金表 */
#privacy .list_data_01 { margin: 40px 0; border-top: 1px solid rgba(0,0,0,.15); }
#privacy .list_data_01 dl > div { display: grid; grid-template-columns: repeat(2, 1fr); border-bottom: 1px solid rgba(0,0,0,.15); }
#privacy .list_data_01 dt { display: flex; align-items: center; padding: 22px 30px; background: rgba(0,0,0,.06); font-weight: 500; font-size: 16px; line-height: calc(30 / 16); letter-spacing: .1em; color: var(--black-70); }
#privacy .list_data_01 dd { display: flex; align-items: center; justify-content: center; padding: 22px 30px; }
#privacy .list_data_01 > p { text-align: right; font-size: 14px; color: var(--black-60); }
#privacy .caution { position: relative; padding-left: 1.2em; font-size: 14px; line-height: calc(26 / 14); letter-spacing: .05em; color: var(--black-60); }
#privacy .caution::before { content: "\203B"; position: absolute; top: 0; left: 0; }
#privacy .caution + .caution { margin-top: 8px; }

@media screen and (max-width: 600px) {
	#privacy #sec01 { padding-top: 65px; }
	#privacy #sec01 .deco { width: calc(200 / 375 * 100%); }
	#privacy #sec02 { padding-block: 70px 80px; }
	#privacy .cmn_tit01 { margin-bottom: 30px; }
	#privacy .tit_01 { font-size: 15px; margin: 40px 0 15px; padding-bottom: 10px; }
	#privacy main p,
	#privacy main li,
	#privacy main dd { font-size: 13px; line-height: calc(24 / 13); letter-spacing: .05em; }
	#privacy #sec01 dl { padding: 20px 15px; }
	#privacy #sec01 dl dt { font-size: 14px; }
	#privacy .list_data_01 { margin: 25px 0; }
	#privacy .list_data_01 dt { padding: 12px 10px; font-size: 13px; line-height: calc(21 / 13); }
	#privacy .list_data_01 dd { padding: 12px 5px; text-align: center; }
	#privacy .list_data_01 > p { font-size: 11px; }
	#privacy .caution { font-size: 11px; line-height: calc(21 / 11); }
}


/* ---------------------------------------------------
404
------------------------------------------------------ */
#error section { text-align: center; padding-block: 140px 160px; }
#error section h3 { font-feature-settings: "palt"; font-weight: 500; font-size: 28px; line-height: calc(46 / 28); letter-spacing: .1em; color: rgba(0,0,0,.45); }
#error section p { font-weight: 500; font-size: 16px; line-height: calc(32 / 16); letter-spacing: .1em; color: var(--black-80); margin-top: 30px; }
#error section a { display: inline-block; margin-top: 50px; font-size: 15px; letter-spacing: .1em; color: var(--black-70); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

@media screen and (max-width: 600px) {
	#error section { padding-block: 70px 80px; width: 88%; margin: 0 auto; }
	#error section h3 { font-size: 18px; }
	#error section p { font-size: 13px; line-height: calc(24 / 13); letter-spacing: .05em; margin-top: 20px; text-align: left; }
	#error section p br { display: none; }
	#error section a { margin-top: 30px; font-size: 13px; }
}
