@charset "utf-8";

/***************************************************************************
	共通スタイル
***************************************************************************/
:root{
	--color-base: #231815;
	--color-gold:#BF9F4B;
	--font-size-base: min(3.7vw, 14px);
	--line-height-base: 1.6;/*ベースの行間*/
	/*カラー*/
	--color-logo1: #0A1A32; /* ロゴ色1 */
	--color-logo2: #BF9F4B; /* ロゴ色2 */
	--color-logo1-1: #F2F3F4; /* ロゴ色1薄 */
	--color-logo2-1: #FAF8F2; /* ロゴ色2薄 */
	--color-bg: rgba(191,159,75,.4);
	--color-white: #fff; /* 白 */
	--color-text: #231815; /* ロゴ色 */
	--color-inactive1: #EEEEEE; /* ロゴ色 */
	--color-inactive2: #CCCCCC; /* ロゴ色 */
	--color-error: #B11226; /* エラーテキスト */
	--color-errorbg: #F8E8EA; /* エラーテキスト */


	/*フォントサイズ*/
	--font-size-s: min(3.7vw, 10px);/*  10px */
	--font-size-s: min(3.7vw, 12px);/*  12px */
	--font-size-base: min(3.7vw, 14px);/*  14px */
	--font-size-l: min(4.23vw, 16px); /*   16px */
	--font-size-xl: min(4.76vw, 18px);/*  18px */

	/*隙間*/
	--spacing-xs: 5px;
	--spacing-s: 10px;
	--spacing-m: 15px;
	--spacing-l: 20px;
	--spacing-xl: 30px;
	--spacing-xxl: 40px;
}
.bottom-xs {margin-bottom: var(--spacing-xs)!important;}
.bottom-s {margin-bottom: var(--spacing-s)!important;}
.bottom-m {margin-bottom: var(--spacing-m)!important;}
.bottom-l {margin-bottom: var(--spacing-l)!important;}
.bottom-xl {margin-bottom: var(--spacing-xl)!important;}
.bottom-xxl {margin-bottom: var(--spacing-xxl)!important;}

html {
	font-size: 62.5%; /* font-sizeは16pxの62.5%の10px */
	scroll-behavior: smooth;
}
body {
	font-family: "Noto Sans Jp", sans-serif;
	font-size: 1.6rem; /*font-size : 16px と同等*/
	overflow-x: hidden;
	width: 100%;
}
body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}
picture,
figure {
	text-align: center;
}
figure img {
	margin: 0 auto;
}
::-ms-reveal {
  display: none;
}
button.btnC.inactive,
button.btnD.inactive,
button.btnA.inactive {
	pointer-events: none;
	background: var(--color-inactive2);
}
#reminder button.btnA.inactive:after {
	content: none;
}
/* button.btnA.inactive:after {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_not_proceed.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
} */
.wrap {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	min-height: 100dvh;
	width: 100%;
	font-weight: 500;
	font-family: "Noto Sans Jp", sans-serif;
}
@media screen and (min-width:768px) {
	body#index2026 .wrap {
		max-width: 468px;
		margin: 3% auto;
	}
	.wrap {
		max-width: 468px;
		margin: 0 auto;
	}
}
.header {
	background: var(--color-logo1);
	width: 100vw;
	max-height: 54px;
	padding: 20px;
}
@media screen and (max-width:767px) {
	.header {
		/* background: none; */
	}
}
.header .headerContents {
	max-width: 468px;
	margin: 0 auto;
	text-align: center;
}
.header nav ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}
.header a {
	font-size: 16px;
	color: var(--color-white);
	text-decoration: none;
}
.toggleWrap {
	position: relative;
	max-width: 468px;
	margin: 0 auto;
}
.menuOverlay {
	display: none;
}
.menuOverlay.active {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	background: rgba(255, 255, 255, 0.8);
	z-index: 20;
	backdrop-filter: blur(6px);
	display: block;
}

/* 模擬検定 */
#try.header {
	height: 53px;
	padding: 3px;
}
#try .headerContents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
} 
#try .hMockTest {
	line-height: 1;
	font-size: 12px;
	width: 47px;
	height: 47px;
	border: 1px solid var(--color-white);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#try .hTimeLimit {
	background: var(--color-white);
	border-radius: 100vmax;
	width: calc(100% - 100px);
	text-align: center;
}
#try .hQuestionList {
	line-height: 1;
	width: 47px;
	height: 47px;
	background: var(--color-white);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px;
}
#try .hQuestionList a {
	position: relative;
	color: var(--color-logo1);
	font-size: 9px;
	text-align: center;
}
#try .hQuestionList a:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_list1.svg);
	background-size: cover;
	width: 37px;
	height: 22px;
	margin-bottom: 5px;
}

/* footer */
.countdownBarContainer{
	width: 100%;
	text-align:center;
}
.countdownBar{
	position:relative;
	height: var(--height);
	height: 5px;
	background: rgba(255,255,255,0.06);
	border-radius: 999px;
	overflow: hidden;
}
/* 中のシームレスに縮む要素（GPU加速のため transform: scaleX を使う） */
.bar-inner{
	height:100%;
	transform-origin: left center; /* 左端から縮む */
	transform: scaleX(1);
	will-change: transform, background;
	display:flex;
	align-items:center;
	border-radius:inherit;
	background: linear-gradient(90deg, #10b981 0%, #3b82f6 40%, #7c3aed 100%);
	transition: background 200ms linear;
}
/* 薄い光のライン */
.bar-inner::after{
	content: "";
	position:absolute;
	left:0; right:0; top:0; bottom:0;
	background: linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
	mix-blend-mode: overlay;
	pointer-events:none;
}
/* 色をフェードさせるためのユーティリティクラス（JSで切替） */
.almost-out{
	background: linear-gradient(90deg, #f59e0b 0%, #f97316 40%, #ef4444 100%) !important;
}
.out{
	background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%) !important;
}
.footer {
	width: 100%;
	margin-top: auto;
	
	/* position: fixed;
	bottom: 0; */
}
.footerBg {
	background: var(--color-logo1);
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
.footer .btnWrap {
	max-width: 468px;
	margin: 0 auto;
	padding: 20px;
	display: flex;
	justify-content: space-between;
}
.footer .btnWrap button {
	background: var(--color-white);
	color: var(--color-logo1);
	width: 130px;
	height: 54px;
	display: flex;
	align-items: center;
	border-radius: 100vmax;
	position: relative;
	font-weight: 600;
	font-size: 14px;
}
.footer .btnWrap button.btnPrev {
	padding: 0 20px 0 40px;
}
.footer .btnWrap button.btnNext {
	padding: 0 40px 0 20px;
}
.footer .btnWrap button.btnPrev:before {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_left.svg);
	background-size: cover;
	width: 20px;
	height: 20px;
}
.footer .btnWrap button.btnNext:after {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_right.svg);
	background-size: cover;
	width: 20px;
	height: 20px;
}
.footer .copy {
	color: var(--color-white);
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	font-size: 10px;
}
.footer .timeLimit {
	font-size: 10px;
	font-weight: 600;
	padding-bottom: 3px;
	padding-left: 20px;
	background: var(--color-white);
	max-width: 468px;
	margin: 0 auto;
}

.footer .footerLink {
	padding: 20px 20px 10px;
}
.footer .footerLink ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.footer .footerLink ul li:after {
	content: "|";
	display: inline-block;
	margin: 0 10px;
}
.footer .footerLink ul li:last-child:after {
	content: none;
}
.footer .footerLink ul li a {
	font-size: 11px;
	font-weight: 600;
	color: var(--color-base);
	text-decoration: none;
}
.footer .btnLink {
	position: absolute;
	bottom: 75px;
	right: 20px;
	width: fit-content;
}
@media screen and (min-width:767px) {
	.footer .btnLinkWrap {
		width: 620px;
		margin: 0px auto;
		display: flex;
		justify-content: flex-end;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 30px;
	}
	.footer .btnLink {
		width: fit-content;
	}
}
.footer .btnLink a {
	color: var(--color-white);
}


main {
	padding: 20px 20px 50px;
	width: 100%;
}

/*	コンテンツ幅
******************************************************/

/*	header
*******************************************************/

/*	footer
*******************************************************/

/*	タイトル
*******************************************************/


/* コンポーネント */
/* icon */
/* 前にアイコン */
.proceed.before:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.reverse.before:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.link.before:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.list.before:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.mypage.before:before {	
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
/* 後ろにアイコン */
.proceed.after:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.reverse.after:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.link.after:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.list.after:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
.mypage.after:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
}
/* header link */
.settings:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_settings.svg);
	background-size: cover;
	width: 14px;
	height: 14px;
	margin-right: 2px;	
	position: relative;
  top: 1px;
}
.faq:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_faq.svg);
	background-size: cover;
	width: 14px;
	height: 14px;
	margin-right: 2px;
	position: relative;
  top: 1px;
}
.logout {
	/* width: 116px;
	height: 34px; */
	/* display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	font-size: 12px!important; */
}
.logout:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_logout_white.svg);
	background-size: cover;
	width: 14px;
	height: 14px;
	margin-left: 2px;
}

span.answered {/* 解答済 */
	background: var(--color-gold);
	color: var(--color-white);
	font-size: 14px;
	width: 52px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
}
span.unanswered {/* 未解答 */
	background: var(--color-inactive1);
	color: var(--color-inactive2);
	font-size: 14px;
	width: 52px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
}
span.unviewed {/* 未閲覧 */
	background: var(--color-inactive2);
	color: var(--color-inactive1);
	font-size: 14px;
	width: 52px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
}
.icoMypage,
.icoRevA,
.icoRevB {
	color: var(--color-logo1);
	text-decoration: underline;
	font-size: 12px;
	display: flex;
	align-items: center;
	margin-bottom: 13px;
	margin-left: 20px;
}
.icoRevA:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_revA.svg);
	background-size: cover;
	width: 14px;
	height: 14px;
	margin-right: 2px;
}
.icoRevB:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_revB.svg);
	background-size: cover;
	width: 14px;
	height: 14px;
	margin-right: 2px;
}
.icoMypage:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_mypageB.svg);
	background-size: cover;
	width: 16px;
	height: 16px;
	margin-right: 2px;
}
.icoMypage2 {
	color: var(--color-logo1);
	text-decoration: underline;
	font-size: 12px;
	display: flex;
	align-items: center;
	margin-bottom: 13px;
	margin-left: 20px;
	font-weight: 700;
	pointer-events: all;
}
.icoMypage2:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_mypage2.svg);
	background-size: cover;
	width: 16px;
	height: 16px;
	margin-right: 2px;
}


/* button */
button {
	cursor: pointer;
}
.btn {
	margin-bottom: 20px;
}
.btnList {
	margin-bottom: 30px;
}
.btnList .btn {
	margin-bottom: 10px;
}
.btn .btnA {
	position: relative;
	display: flex;
	max-width: 295px;
	margin: 0 auto;
	width: 100%;
	height: 58px;
	justify-content: center;
	align-items: center;
	background: var(--color-gold);
	color: var(--color-white);
	border-radius: 100vmax;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
}
.btn .btnB {
	position: relative;
	display: flex;
	max-width: 295px;
	margin: 0 auto;
	width: 100%;
	height: 58px;
	justify-content: center;
	align-items: center;
	background: var(--color-white);
	color: var(--color-gold);
	border: 2px solid var(--color-gold);
	border-radius: 100vmax;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
}
.btn .btnC {
	position: relative;
	display: flex;
	max-width: 295px;
	margin: 0 auto;
	width: 100%;
	height: 58px;
	justify-content: center;
	align-items: center;
	background: var(--color-white);
	color: var(--color-logo1);
	border: 2px solid var(--color-logo1);
	border-radius: 100vmax;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
}
.btn .btnD {
	position: relative;
	display: flex;
	max-width: 295px;
	margin: 0 auto;
	width: 100%;
	height: 58px;
	justify-content: center;
	align-items: center;
	background: var(--color-logo1);
	color: var(--color-white);
	border-radius: 100vmax;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
}

.btn .btnProceed:after {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_proceed.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
.btn .btnD.btnProceed:after {
	background: url(/lib/images/ico_rightA.svg);
}
.btnD.btnLogin.inactive.btnProceed:after {
	background: url(/lib/images/ico_not_proceed.svg);
	background-size: cover;
}
.btn .btnReverse:before {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_reverse.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
.btn .btnMypage:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_mypage.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
	margin-right: 10px;
}
.btn .btnLink:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	display: inline-block;
	background: url(/lib/images/ico_link.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
.btn .btnChange {
	background: var(--color-logo1);
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96px;
	height: 54px;
	border-radius: 100vmax;
	text-decoration: none;
}
.btn .btnCancel:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_cancel.svg );
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}
.btn .btnChecked:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_checked.svg);
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}
.btn .btnRegist:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_entry.svg);
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}
.btn .btnMail:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_mail.svg);
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}
.btn .btnMail.inactive:before {
	background: url(/lib/images/ico_unmail.svg);
}
.btn .btnMailA:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_mailA.svg);
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}
.btn .btnMailA.inactive:before {
	background: url(/lib/images/ico_unmail.svg);
}
.btn .delete {
	width: 295px;
	height: 54px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--color-white);
	background: var(--color-logo1);
	text-decoration: none;
	border-radius: 100vmax;
	margin: 0 auto;
}
.btnPrevA:before {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_leftA.svg);
	background-size: cover;
	margin-right: 10px;
	width: 30px;
	height: 30px;
}


/** ラジオボタン/チェックボックス  **/
input[type="radio"],
input[type="checkbox"] {
	display: none;
}
input[type="radio"] + label,
input[type="checkbox"] + label {
	position: relative;
	background: var(--color-inactive1);
	color: var(--color-text);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 44px;
	padding: 10px 10px 10px 54px;
	border-radius: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	transition: .2s;
}
input[type="radio"]:checked + label,
input[type="checkbox"]:checked + label {
	background: var(--color-gold);
	color: var(--color-white);
}
input[type="radio"] + label:last-child,
input[type="checkbox"] + label:last-child {
	margin-bottom: 0;
}
input[type="radio"] + label::before,
input[type="checkbox"] + label::before {	
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_unchecked.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
input[type="radio"]:checked + label::before,
input[type="checkbox"]:checked + label::before {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_checked.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
input[type="password"],
input[type="text"],
input[type="email"] {
	font-size: 14px;
	color: var(--color-base);
	border: 1px solid var(--color-base);
	background: var(--color-inactive1);
	border-radius: 5px;
	padding: 15px 10px;
	width: 100%;
	line-height: 1;
	margin-bottom: 20px;
	min-height: 44px;
}
input[type="password"].error,
input[type="text"].error,
input[type="email"].error {
	color: var(--color-error);
	border: 2px solid var(--color-error);
	background: var(--color-errorbg);
}
/* input[type="password"].error:focus,
input[type="text"].error:focus,
input[type="email"].error:focus {
	color: var(--color-logo1);
	border: 1px solid var(--color-logo1);
	background: var(--color-inactive1);
} */

.inputArea:has(input[type="text"]),
.inputArea:has(input[type="password"]) {
	margin-bottom: 20px;
}
.inputArea .passWrap input[type="password"],
.inputArea .passWrap input[type="text"] {
	margin-bottom: 0;
}
textarea {
	font-size: 14px;
	color: var(--color-logo1);
	border: 1px solid var(--color-logo1);
	background: var(--color-inactive1);
	border-radius: 5px;
	padding: 15px 10px;
	width: 100%;
	line-height: 1;
	margin-bottom: 20px;
	min-height: 200px;
}
input, textarea {
	font-size: 16px!important;
}

/* select */
.selectWrap {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
	margin-bottom: 20px;
}
.selectWrap::after {
	position: absolute;
	right: 15px;
	width: 10px;
	height: 7px;
	background-color: #535353;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	pointer-events: none;
}
.selectWrap select {
	appearance: none;
	min-width: 230px;
	width: 100%;
	height: 2.8em;
	padding: .4em calc(.8em + 30px) .4em .8em;
	border: 1px solid #d0d0d0;
	border-radius: 5px;
	background-color: #fff;
	color: var(--color-logo1);
	font-size: 1em;
	cursor: pointer;
}


.passWrap {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.passSwich img {
	width: 30px;
	margin-left: 5px;
}
.passwordSetArea #validationErrors {
	margin-bottom: 30px;
	line-height: 1.4;
	font-size: 12px;
	color: #f00;
}

/* title */
.title {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin: 30px 0 20px;
	color: var(--color-logo1);
}
.titleA {
	display: block;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	color: var(--color-base);
}
.titleB {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 14px;
}
.titleC {
	font-size: 14px;
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--color-logo1);
}
.titleD {
	font-family: "Noto Serif JP", serif;
	font-size: 22px;
	font-weight: 700;
	text-align: center;	
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	position: relative;
	padding-bottom: 5px;
}
@media screen and (min-width: 768px) {
	.titleD {
		width: 100%;
		margin: 0 auto;
	}
} 
.titleD:after {
	background-color: #333;
	bottom: -4px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform 1s;
	width: 100%;
	box-shadow: 0 1px 0 var(--color-gold);
} 
.titleE {
	width: fit-content;
	margin: 0 auto 10px;
}
.titleF {
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 700;
	text-align: center;	
	width: 100%;
	position: relative;
	padding-bottom: 5px;
	margin-bottom: 20px;
}
.titleF:after {
	background-color: #333;
	bottom: -4px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform 1s;
	width: 100%;
	box-shadow: 0 1px 0 var(--color-gold);
} 
.titleG {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 20px;
}
.ticket .titleG {
	margin-bottom: 10px;
} 
.titleH {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: var(--color-white);
}
.titleM {
	background: var(--color-logo1);
	border-radius: 15px 15px 0 0;
	color: var(--color-white);
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 700;
	height: 66px;
	padding: 10px 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	position: relative;
}
.titleM:before {
	content: "";
	width: 50px;
	height: 46px;
	background: url(/lib/images/ico_benefits.svg) center center no-repeat;
	background-size: cover;
} 
.titleN {
	background: var(--color-logo1);
	color: var(--color-white);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	margin-bottom: 20px;
}

/*  */
.checkList li {
	margin-bottom: 10px;
}
.borderR {
	border: 1px solid var(--color-logo1);
	border-radius: 5px;
	padding: 10px;
	margin-bottom: 10px;
}
.paragraphA {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 30px;
}
.noteList li,
.note {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 12px;
	line-height: 1.4;
	text-align: left;
}
.noteList,
.note {
	margin-bottom: 20px;
}
.noteList li:before,
.note:before {
	content: "※";
	font-size: 12px;
}

/*  */
.questionText {
	padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom: 1px solid var(--color-logo1);
}
.questionText p {
	font-size: 14px;
	line-height: 1.8;
}
.questionList li {
	margin-bottom: 10px;
}
.questionList .question {
	background: var(--color-logo1);
	border: 1px solid var(--color-logo1);
	border-radius: 5px;
	display: flex;
	align-items: center;
	font-size: 12px;
	line-height: 1.4;
	position: relative;
}
.questionList .question:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%)rotate(45deg);
  border-top: solid 2px var(--color-white);
  border-right: solid 2px var(--color-white);
  width: 10px;
  height: 10px;
}
.questionList .question div:first-child {
	color: var(--color-white);
	display: block;
	text-align: center;
	width: 46px;
	line-height: 1.4;
}
.questionList .question div:first-child span {
	display: block;
}
.questionList .question div:nth-child(2) {
	background: var(--color-white);
	color: var(--color-logo1);
	display: flex;
	gap: 20px;
	padding: 10px;
	width: calc(100% - 65px);
	line-height: 1.4;
}
.questionList .question div:nth-child(2) p {
	width: calc(100% - 70px);
	line-height: 1.4;
}


/* 
.contentsWrap {
	margin: 0 20px;
} */
.terms {
	/* 利用規約文章領域 */

	/* Auto layout */
	padding: 10px;

	width: 100%;
	height: 200px;

	/* 白 */
	background: #FFFFFF;
	/* テキスト（ロゴに合わせ） */
	border: 1px solid #231815;
	border-radius: 5px;
	overflow-y: scroll;
}





/*	コンテンツ幅
******************************************************/

/*	header
*******************************************************/

/*	footer
*******************************************************/

/*	タイトル
*******************************************************/



/*	アカウント作成
*******************************************************/
body#regist .header {
	height: 60px;
}
body#regist .header .headerContents {
	justify-content: center;
}
body#regist .header .headerContents p {
	font-size: 20px;
	font-weight: 700;
	color: var(--color-white);
}
body#regist .imgLogo {
	text-align: center;
	margin-bottom: 30px;
}
body#regist .terms {
	margin-bottom: 10px;
}
body#regist .terms .contents {
	margin-bottom: 30px;
}
body#reminder .noteList,
body#regist .noteList {
	margin-bottom: 20px;
}
body#reminder .noteList li,
body#regist .noteList li {
	margin-bottom: 0;
}
body#contact .agreeCheckbox,
body#regist .agreeCheckbox {
	background: #F6F0E5;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 36px;
	margin-bottom: 20px;
}
body#contact .agreeCheckbox {
	height: 46px;
	line-height: 1.4;
}
body#contact input[type="checkbox"] + label,
body#regist input[type="checkbox"] + label {
	position: relative;
	background: none;
	color: var(--color-text);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 44px;
	padding: 0 0 0 34px;
	border-radius: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	transition: .2s;
}
body#contact input[type="checkbox"]:checked + label,
body#regist input[type="checkbox"]:checked + label {
	background: none;
}
body#contact input[type="checkbox"] + label:last-child,
body#regist input[type="checkbox"] + label:last-child {
	margin-bottom: 0;
}
body#contact input[type="checkbox"] + label::before,
body#regist input[type="checkbox"] + label::before {	
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: var(--color-white);
	border: 1px solid var(--color-logo1);
	border-radius: 3px;
	background-size: cover;
	width: 16px;
	height: 16px;
}
body#contact input[type="checkbox"]:checked + label::after,
body#regist input[type="checkbox"]:checked + label::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 14px;
	width: 18px;
	height: 12px;
	border-bottom: 4px solid #231815;
	border-left: 4px solid #231815;
	transform: rotate(-45deg);
}
body#contact .terms .section,
body#regist .terms .section {
	border-bottom: 2px dotted var(--color-base);
	padding-bottom: 20px;
	margin-bottom: 20px;
}
body#contact .terms .section p,
body#regist .terms .section p {
	line-height: 1.4;
}
body#contact .terms .section p.indent,
body#regist .terms .section p.indent {
	text-indent: -0.8em;
	padding-left: 0.8em;
}
body#contact .terms .section ol,
body#regist .terms .section ol {
	counter-reset: num;
	margin-top: 10px;
}
body#contact .terms .section ul li,
body#regist .terms .section ul li {
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.4;
}
body#contact .terms .section ol li, 
body#regist .terms .section ol li {
	counter-increment: num;
	text-indent: -1.5em;
	padding-left: 1.5em;
	line-height: 1.4;
}
body#contact .terms .section ol li:before,
body#regist .terms .section ol li:before {
	content: "("counter(num) ") ";
}
body#regist .terms .section .titleG {
	text-align: left;
}

/*	ログイン
*******************************************************/
body#login .header {
	height: 60px;
}
body#login .header .headerContents {
	justify-content: center;
}
body#login .header .headerContents p {
	font-size: 20px;
	font-weight: 700;
	color: var(--color-white);
}
body#login .imgLogo {
	text-align: center;
	margin-bottom: 30px;
}

.loginWrap {
	background: var(--color-logo2-1);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 10px;
}
.sentense {
	line-height: 1.5;
	font-size: 14px;
	width: fit-content;
	margin: 0 auto 30px;
}
.sentenseL {
	line-height: 1.5;
	font-size: 14px;
}
#mypage .registBox .sentense,
#regist .sentense {
	width: 100%;
}
.sentense:has(+ .noteList),
.sentense:has(+ .note) {
	margin-bottom: 10px;
}
.forgotPW {
	text-align: right;
}
.forgotPW a {
	color: #000;
	font-size: 14px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
}
.forgotPW a:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	background: url(/lib/images/ico_linkA.png) center center no-repeat;
	background-size: cover;
	margin-left: 5px;
	margin-top: 3px;
}
.createMypage p {
	text-align: center;
	margin-bottom: 10px;
	letter-spacing: -0.5px;
}

/*	マイページ
*******************************************************/
.errorText,
.warningText,
#error {
	color: var(--color-error);
	margin-bottom: 10px;
	font-size: 14px; 
}
body#mypage .mockTest {
	padding-top: 10px;
	margin-bottom: 30px;
}
body#mypage .mockTest p {
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
	line-height: 1.5;
}
body#mypage .imgLogo {
	text-align: center;
	margin-bottom: 20px;
}
body#mypage .profileArea {
	display: flex;
	gap: 5px;
	align-items: center;
	max-width: fit-content;
	margin: 0 auto 20px;
}
body#mypage .profileArea img {
	object-fit: cover;
	width: 50px;
	height: 50px;
	border-radius: 100px;
}
body#mypage .profileArea .nameWrap {
	width: calc(100% - 50px);
	display: flex;
	align-items: end;
}
body#mypage .profileArea .nameWrap p {
	font-size: 10px;
	font-weight: 700;
	line-height: 100%;
	margin-bottom: 5px;
	font-size: 10px;
}
body#mypage .profileArea .nameArea {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
}
body#mypage .profileArea .name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	max-width: 142px;
	word-break: break-all;
}
body#mypage .profileArea .nameArea.officialIcon:after {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_official.svg);
	background-size: cover;
	width: 10px;
	height: 14px;
	margin: 0 10px 0 5px;
}
body#mypage .profileArea .btnChangeName {
	margin-left: 10px;
}
body#mypage .profileArea .btnChangeName a {
	background: var(--color-white);
	color: var(--color-logo1);
	border: 1px solid var(--color-logo1);
	padding: 7.5px 10px;
	font-size: 12px;
	font-weight: 700;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 32px;
	text-decoration: none;
}
body#mypage .schedule {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	background: var(--color-logo1-1);
	padding: 20px;
}
@media screen and (min-width: 768px) {
	body#mypage .schedule {
		width: 100%;
		margin: 0 auto;
	}
} 
body#mypage .schedule dl {
	border: 1px solid var(--color-base);
	border-radius: 10px;
	margin-bottom: 10px;
}
body#mypage .schedule dl dt {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	padding: 10px 0;
	line-height: 1;
}
body#mypage .schedule dl dd {
	text-align: center;
	padding: 5px;
	border-top: 1px solid var(--color-base);
}
body#mypage .schedule dl dd:first-of-type {
	display: flex;
	justify-content: center;
	font-size: 12px;
}
body#mypage .schedule .start:after {
	content: "～";
	display: inline-block;
	margin: 0 2px;
}
body#mypage .schedule dl dd:last-child {
	padding: 10px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}
body#mypage .schedule dl dd .icon {
	background: var(--color-base);
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	display: inline-block;
	padding: 5px 10px;
	font-weight: 400;
}
body#mypage .schedule dl dd span {
	font-size: 14px;
}
body#mypage .schedule .period {
	margin-bottom: 20px;
}
body#mypage .schedule .period .flex {
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid var(--color-base);
	border-bottom: 1px solid var(--color-base);
	width: 100%;
}
body#mypage .schedule .period p {
	font-size: 14px;
	font-weight: bold;
	padding: 10px 0px;
}
body#mypage .bgWhite {
	background: var(--color-white);
	padding: 20px;
	border-radius: 10px;
}
body#mypage .bgGray {
	background: var(--color-logo1-1);
	border-radius: 15px;
	margin-bottom: 30px;
}
body#mypage .figureWrap {
	position: relative;
	width: 100px;
	margin: 0 auto 40px;
}
body#mypage .figureWrap figure img {
	width: 100px;
	height: 100px;
	border-radius: 100%;
	object-fit: cover;
}
body#mypage .figureWrap .btnImageChange {
	position: absolute;
	bottom: 0;
	right: -20px;
	width: 50px;
	height: 50px;	
	cursor: pointer;
}
body#mypage .setting dd {
	background: var(--color-logo2-1);
	height: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px 100px 100px 5px;
}
body#mypage .setting > div {
	margin-bottom: 20px;
}
body#mypage .setting .password dt p,
body#mypage .setting dd p {
	padding: 10px;
  max-height: 100px;      /* 高さ制限 */
  overflow-x: auto;       /* 縦スクロール */  
  /* スクロールバー非表示 */
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE, Edge(旧) */
}
body#mypage .setting .password dt p {
	padding: 10px 10px 10px 0;
}
body#mypage .setting .password dt p::-webkit-scrollbar,
body#mypage .setting dd p::-webkit-scrollbar {
  display: none;                  /* Chrome, Safari */
}
body#mypage .setting dt .btn,
body#mypage .setting dd .btn {
	margin-bottom: 0;
}
body#mypage .setting .password dt  {
	height: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body#mypage .confirm dd {
	background: var(--color-logo2-1);
	height: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px;
} 
body#mypage .specialFavorContents {
	padding: 0 10px;
}
body#index2026 .specialFavorWrap,
body#mypage .specialFavorWrap {
	font-size: 12px;
}
body#index2026 .specialFavorWrap .specialFavorGuide,
body#index2026 .specialFavorWrap .specialFavorGuide {
	display: flex;
	gap: 5px;
	margin-bottom: 10px;
}
body#index2026 .specialFavorWrap .specialFavorGuideList,
body#mypage .specialFavorWrap .specialFavorGuideList {
	display: flex;
	flex-direction: column;
	width: 100%;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li,
body#mypage .specialFavorWrap .specialFavorGuideList li {
	display: flex;
	width: 100%;
	background: #fff;
	margin-bottom: 5px;
	border-radius: 5px;
	font-weight: 700;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li {
	background: var(--color-logo1-1);
}
body#index2026 .specialFavorWrap .specialFavorGuideList li span,
body#mypage .specialFavorWrap .specialFavorGuideList li span {
	width: 70px;
	background: var(--color-logo1);
	color: var(--color-white);
	border-radius: 5px 0 0 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.4;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li > div,
body#mypage .specialFavorWrap .specialFavorGuideList li > div {
	padding: 5px 10px;
	line-height: 1.4;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li > div dl > div,
body#mypage .specialFavorWrap .specialFavorGuideList li > div dl > div {
	display: flex;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li > div dl > div dt,
body#mypage .specialFavorWrap .specialFavorGuideList li > div dl > div dt {
	width: 3em;
}
body#index2026 .specialFavorWrap .specialFavorGuideList li > div dl > div dd,
body#mypage .specialFavorWrap .specialFavorGuideList li > div dl > div dd {
    width: calc(100% - 3em);
}
body#mypage .entryBox {
	position: relative;
	background: var(--color-logo1);
	padding: 25px 25px 20px;
	border-radius: 0 0 15px 15px;
}
body#mypage .entryBox:before {
	content: "";
	background: var(--color-logo1-1);
	height: calc(tan(60deg) * 20px / 2);
	width: 30px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	display: inline-block;
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
}
body#mypage .entryBox p {
	color: var(--color-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 10px;
}
body#mypage .entryBox p.done {
	margin-bottom: 0;
}
body#mypage .entryBox .btn {
	margin-bottom: 0;
}

/* contact */
body#contact .contactAfterWrap {
	background: var(--color-logo1-1);
	width: 100vw;
	margin: -20px calc(50% - 50vw) 20px;
	padding: 1px 30px 20px;
}
body#contact .terms {
	margin-bottom: 10px;
}
body#contact .terms .contents {
	margin-bottom: 30px;
}
body#contact .knowListWrap {
	border-radius: 5px;
	background: var(--color-logo1-1);
	margin-bottom: 20px;
}
body#contact .knowList {
	width: 100%;
	display: flex;
	padding: 10px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
}
body#contact .knowList li {
	width: 100%;
}
body#contact .knowList input[type="radio"] + label {
	background: none;
	color: var(--color-text);
	padding: 0 0 0 25px;
	height: auto;
	position: relative;
}
body#contact .knowList input[type="radio"] + label::before {
	width: 15px;
	height: 15px;
	left: 3px;
	border: 1px solid var(--color-inactive2);
	border-radius: 100%;
	background: var(--color-white);
}
body#contact .knowList input[type="radio"]:checked + label {
	color: var(--color-text);
	position: relative;
}
body#contact .knowList input[type="radio"]:checked + label::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 7px;
	transform: translateY(-50%);
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #0091CE;
}
body#contact .policyBox {
	border: 1px solid var(--color-logo1);
	padding: 10px;
	border-radius: 5px;
	margin-bottom: 10px;
}
body#contactConfirm .confirm {
	margin-bottom: 40px;
}
body#contactConfirm .confirm dd {
	background: var(--color-logo2-1);
	height: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px 100px 100px 5px;
	margin-bottom: 20px;
	padding: 10px;
}

/** ラジオボタン/チェックボックス  **/
body#mypage input[type="radio"],
body#mypage input[type="checkbox"] {
	display: none;
}
body#mypage input[type="radio"] + label,
body#mypage input[type="checkbox"] + label {
	position: relative;
	background: var(--color-inactive1);
	color: var(--color-text);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 44px;
	padding: 10px 10px 10px 54px;
	border-radius: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	transition: .2s;
}
body#mypage input[type="radio"]:checked + label,
body#mypage input[type="checkbox"]:checked + label {
	background: var(--color-gold);
	color: var(--color-white);
}
body#mypage input[type="radio"] + label:last-child,
body#mypage input[type="checkbox"] + label:last-child {
	margin-bottom: 0;
}
body#mypage input[type="radio"] + label::before,
body#mypage input[type="checkbox"] + label::before {	
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_unchecked.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}
body#mypage input[type="radio"]:checked + label::before,
body#mypage input[type="checkbox"]:checked + label::before {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_checked.svg);
	background-size: cover;
	width: 30px;
	height: 30px;
}

body#mypage .confirm > div,
body#regist .confirm > div {
	margin-bottom: 20px;
}
body#regist .confirm dd {
	background: var(--color-logo2-1);
	height: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px;
}
body#mypage .confirm dd p, 
body#regist .confirm dd p {
	padding: 10px;
}
body#regist .confirm dd .btn {
	margin-bottom: 0;
}
body#regist .confirm .passWrap dd {
	flex: 1;
	min-width: 0;
}
.passWrap:has(.errorText) {
	display: block;
}
.inputArea:has(+ .forgotPW),
.passWrap:has(+ .noteList) input,
.passWrap:has(+ .note) input,
.passWrap:has(.errorText) input {	
	margin-bottom: 5px!important;
}
/* body#mypage .registBox .noteList li:first-child {
	margin-bottom: 0;
} */

body#mypage .uploadBlock {
	border: 2px dotted var(--color-gold);
	background: var(--color-logo2-1);
	border-radius: 20px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	padding: 30px;
	margin-bottom: 20px;
}
body#mypage .uploadBlock figure img {
	margin-bottom: 10px;
}
body#mypage .croppie-container .cr-boundary {
	width: 295px!important;
	height: 295px!important;
	border-radius: 20px;
}
body#mypage .cr-viewport.cr-vp-circle {
	width: 200px!important;
	height: 200px!important;
}
body#mypage .croppie-container .cr-viewport,
body#mypage .croppie-container .cr-resizer {
	box-shadow: 0 0 2000px 2000px rgba(0, 0, 0, 0.6);
}
body#mypage .croppie-container .cr-slider-wrap {
	max-width: 295px;
	margin-bottom: 5px;
}
body#mypage .slider-label {
	font-size: 12px;
}


p#cropInfo {
	font-size: 14px;
}
body#mypage .cr-slider-wrap {
	display: flex;
	align-items: center;
}
body#mypage .cr-slider-wrap:before {
	content: "小";
	width: 16px;
	height: 16px;
	font-size: 10px;
	background: var(--color-logo1);
	color: var(--color-white);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
} 
body#mypage .cr-slider-wrap:after {
	content: "大";
	width: 20px;
	height: 20px;
	font-size: 12px;
	background: var(--color-logo1);
	color: var(--color-white);
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
} 
body#mypage .cr-slider {
	width: calc(100% - 32px);
  appearance: none;
  height: 2px;
  border: 1px solid var(--color-logo1);
  border-radius: 9999px;
  /* background: linear-gradient(90deg, var(--color-logo1) 30%, #dddddd 30%); */
  cursor: pointer;
	margin-top: 8px;
	margin-bottom: 8px;
	padding: 0;
}
/* ツマミ：Chrome, Safari, Edge用 */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  border: 1px solid var(--color-logo1);
  border-radius: 9999px;
  background: var(--color-logo1-1);
  box-shadow: none;
}
/* ツマミ：Firefox用 */
input[type="range"]::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border: 1px solid var(--color-logo1);
  border-radius: 9999px;
  background: var(--color-logo1-1);
  box-shadow: none;
}
#preview {
	text-align: center;
	margin-bottom: 30px;
}
#preview figure {
	margin-bottom: 30px;
}
body#mypage .deleteList {
	background: #EEEEEE;
	border-radius: 10px;
	padding: 10px;
	margin-bottom: 20px;
}
body#mypage .deleteList ul li {
	margin-bottom: 10px;
}
body#mypage .deleteList ul li:last-child {
	margin-bottom: 0;
}
body#mypage .deleteList ul li:before {
	content: "●";
	margin-right: 10px;
}
body#mypage .cautionWrap .caution {
	border: 2px solid var(--color-logo1);
	background: var(--color-white);
	border-radius: 10px;
	color: var(--color-logo1);
	padding: 10px;
	margin-bottom: 20px;
}
body#mypage .cautionWrap .caution p {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	gap: 10px;
}
body#mypage .cautionWrap .caution p::before {
	content: url(/lib/images/ico_caution.svg);
}
body#mypage .overContents {
	background: var(--color-logo1-1);
	padding: 20px;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
body#mypage .overContents {
	width: 100%;
	margin: 0 auto;
}
} 
body#mypage .overContents > div {
	max-width: 1240px;
	margin: 0 auto;
}

/*	email */
body.emailSend .header {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.emailSend .header p {
	color: var(--color-white);
}
body#regist .header h1,
body#mypage .header h1 {
	color: var(--color-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.required {
	color: #B11226;
	font-size: 14px;
	font-weight: 500;}
.optional {
	color: var(--color-logo1);
	font-size: 14px;
	font-weight: 500;
}

/* モーダルスタイル */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}
.modalOverlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.95);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(8px);
}
.modalContent {
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 8px;
	padding: 40px 30px;
	min-width: 100%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	min-height: 100dvh;
}
.modalBody {
	position: relative;
	max-width: 468px;
	margin: 20px auto;
}
.modalBody .closeModalBtn {
	position: absolute;
	top: -50px;
	right: -20px;
	width: 40px;
	height: 40px;
	color: var(--color-white);
	background: var(--color-base);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	line-height: 1;
	font-size: 22px;
	padding-bottom: 5px;
	cursor: pointer;
}
.modalBody p {
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1.6;
}
.modalBody ul li {
	margin-bottom: 20px;
}
.modalButtons .btn {
	min-width: 140px;
	padding: 12px 24px;
	font-size: 14px;
	border-radius: 4px;
	cursor: pointer;
	border: none;
	transition: opacity 0.3s;
}
.modalButtons .btn:hover {
	opacity: 0.8;
}
#confirmModal button:not(:last-child) {
	margin-bottom: 20px;
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

body#index2026 .header {
	height: 15px;
	padding: 0;
}
body#index2026 .textRight {
	text-align: right;
}
body#index2026 .textCenter {
	text-align:center;
}
body#index2026 .serif {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	font-style: normal;
}

body#index2026 main {
	padding-top: 0;
}
body#index2026 .right {
	text-align: right;
}
body#index2026 .relative {
	position: relative;
}
body#index2026 .mbSpace {
	margin-bottom: 50px;
}
body#index2026 .menu .menuContents {
	max-width: 468px;
	margin: 0 auto;
}
body#index2026 .menu:has(.globalNavi) {
	display: none;
}
body#index2026 .menu:has(.globalNavi.active) {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 30;
	overflow-y: auto;
	height: 100dvh;
}
body#index2026 .menu ul {
	display: flex;
	flex-direction: column;
	gap: 0;
}
body#index2026 .menu .globalNavi {
	background: var(--color-white);
}
body#index2026 .menu ul li {
	width: 100%;
}
@media screen and (max-width:767px) {
	.menu:has(.globalNavi.active) {
		width: 100vw;
		height: 100dvh;
		top: 0;
	}
}
body#index2026 .menuLogo {
	text-align: center;
	width: 100%;
	padding: 50px 0 20px 0;
	background: rgba(255, 255, 255, .8);
	backdrop-filter: blur(2px);
}
@media screen and (min-width:768px) {
	body#index2026 .menuLogo {
		margin-top: 90px;
	}
}
body#index2026 .menuLogo img {
	max-width: 128px;
}
body#index2026 .globalNavi a {
	color: var(--color-logo1);
	text-decoration: none;
	padding: 15px 0;
	border-top: 1px solid var(--color-logo1);
	display: inline-block;
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
}
body#index2026 .globalNavi + div {
	padding: 20px;
	background: var(--color-logo1);
}
body#index2026 .globalNavi + div a {
	color: #fff;
	text-decoration: none;
}
body#index2026 .globalNavi + div .btn .btnClose { /* menu内 */
	width: 295px;
	height: 54px;
	font-size: 18px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--color-logo1);
	background: var(--color-white);
	text-decoration: none;
	border-radius: 100vmax;
	margin: 0 auto;
}
body#index2026 .globalNavi + div ul {
	width: fit-content;
	margin: 0 auto 45px;
}
body#index2026 .globalNavi + div ul li {
	padding: 10px 0;
}
body#index2026 .globalNavi li .icoMypage {
	margin-left: 0;
	margin-bottom: 0;
}
body#index2026 .globalNavi li .icoMypage:before {
    width: 20px;
    height: 20px;
}

/* toggle */
body#index2026 #toggle {
	width: 35px;
	height: 35px;
	position: fixed;
	top: 96px;
	margin-left: 500px;
	z-index: 40;
	cursor: pointer;
}
body#index2026 #toggle.active {
	background: var(--color-logo1);
	border-radius: 100px;
}
@media screen and (max-width:787px) {
	body#index2026 #toggle {
		width: 35px;
		height: 35px;
		position: fixed;
		top: 30px;
		z-index: 31;
		margin-left: 88%;
	}
}
body#index2026 #toggle span{
	position: absolute;
	top: 8px;
	left: 2px;
	width: 30px;
	height: 3px;
	transition: .3s;
	background: var(--color-base);
	border-radius: 2.4px;
}
body#index2026 #toggle span:first-of-type{
	top: 0px;
	background: var(--color-gold);
}
body#index2026 #toggle span:last-of-type{
	top: 17px;
	background: var(--color-gold);
}
body#index2026 #toggle.active span {
	opacity: 0;
	background: var(--color-base);
}
body#index2026 #toggle.active span:first-of-type{
	top: 16px;
	opacity: 1;
	transform: rotate(45deg);
}
body#index2026 #toggle.active span:last-of-type{
	top: 16px;
	opacity: 1;
	transform: rotate(-45deg);
}
body#index2026 #toggle .btnMenu {
	margin-top: 24px;
	font-size: 9px;
	text-align: center;
}
body#index2026 #toggle.active {
	top: 20px;
}
@media screen and (min-width:768px) {
	body#index2026 #toggle.active {
    top: 90px;
	}
}
body#index2026 #toggle.active span {
	background: var(--color-white);
	width: 23px;
	left: 6px;
}
body#index2026 #toggle.active .btnMenu {
	display: none;
} 


body#index2026 #a1,
body#index2026 #a2,
body#index2026 #a3,
body#index2026 #a4,
body#index2026 #a5 {
	padding-top: 100px;
	margin-top: -100px;
	display: inline-block;
}
@media screen and (max-width:767px) {
	body#index2026 #a1,
	body#index2026 #a2,
	body#index2026 #a3,
	body#index2026 #a4,
	body#index2026 #a5 {
		padding-top: 30px;
		margin-top: -30px;
		display: inline-block;
	}
}
body#index2026 .menu {
	width: 100%;
}


body#index2026 .mainVisual {
	padding-bottom: 60px;
	position: relative;
	top: 20px;
	margin: 0 auto;
}

body#index2026 .read.target,
body#index2026 .title.target,
body#index2026 .period.target,
body#index2026 .scroll.target {
	transition: 1s;
}
body#index2026 .read.target.sticky,
body#index2026 .period.target.sticky,
body#index2026 .scroll.target.sticky {
	opacity: 0;
}
body#index2026 .title.target.sticky {
	opacity: .2;
}
body#index2026 .scrollWrap {
	position: relative;
	z-index: 1;
}
body#index2026 .light {
	background: rgba(255, 255, 255, 1);
	margin: 0 calc(50% - 50vw) 40px;
}
@media screen and (min-width: 768px) {
	body#index2026 .light {
		width: 100%;
		margin: 0 auto;
	}
} 
body#index2026 .dark {
	color: var(--color-text);
	margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
	body#index2026 .dark {
		width: 100%;
		margin: 0 auto;
	}
} 
body#index2026 .innerWrap {
	padding: 0 20px;
}
/* title */
body#index2026 .titleA {
	font-size: 28px;
	font-family: "Noto Serif JP", serif;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 10px;
	line-height: 1;
}
@media screen and (max-width:787px) {
	body#index2026 .titleA {
		font-size: 18px;
		line-height: 1;
	}
}
body#index2026 .titleA span {	
	font-family: "Noto Sans Jp", sans-serif;
	font-size: 12px;
	padding: 0 5px;
	color: #fff;
	background: var(--color-gold);
	border-radius: 100vmax;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 20px;
	font-weight: 400;
	width: 95px;
	line-height: 1;
}
body#index2026 .titleB {
	background: var(--color-gold);
	text-shadow: 1px 1px 8px #808080;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	width: 345px;
	height: 58px;
	margin: 0 auto 20px;
	position: relative;
}
body#index2026 .titleB:before {
	content: "";
	display: inline-block;
	background-image: linear-gradient(to top, #fff 9px, transparent 0px);
	background-size: 30px 14px;
	background-repeat: repeat-y;
	background-position: left bottom;
	width: 10px;
	height: 90%;
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
}
body#index2026 .titleB:after {
	content: "";
	display: inline-block;
	background-image: linear-gradient(to top, #fff 9px, transparent 0px);
	background-size: 30px 14px;
	background-repeat: repeat-y;
	background-position: left bottom;
	width: 10px;
	height: 90%;
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
}
body#index2026 .titleC {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}
body#index2026 .titleD {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 8px;
}
body#index2026 .titleD:before {
	content: "■";
	/* color: var(--color-gold); */
}
body#index2026 .titleE {
	font-size: 18px;
	font-weight: 700;
}
body#index2026 .titleF {
	background: var(--color-base);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	height: 50px;
	margin-bottom: 30px;
}
body#index2026 .titleG {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
}
body#index2026 .titleH {
	font-size: 22px;
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
	line-height: 1.4;
	color: var(--color-text);
}
body#index2026 .titleH:after {
	background-color: #333;
  bottom: -10px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 1s;
  width: 100%;
	box-shadow: 0 1px 0 var(--color-gold);
}
body#index2026 .titleH.trigger.perform:after {
	transform: scale(1, 1);
}
body#index2026 .titleI {
	font-size: 22px;
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
}
body#index2026 .dark .titleI {
	color: var(--color-text);
}
body#index2026 .titleI:after {
	background-color: var(--color-logo1);
  bottom: -10px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .5s;
  width: 100%;
	box-shadow: 0 1px 0 var(--color-gold);
}
body#index2026 .titleI.trigger.perform:after {
	transform: scale(1, 1);
}
body#index2026 .titleI span {
	font-size: 14px;
}
body#index2026 .titleJ {
	font-size: 18px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
	margin-bottom: 20px;
}
body#index2026 .titleK {
	text-align: center;
	width: 65px;
	margin: 0 auto 10px;
}
body#index2026 .titleL {
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 20px;
}
body#index2026 .titleL {
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 10px;
}
body#index2026 .titleO {
	font-family: "Noto Serif JP";
	font-size: 20px;
	font-weight: 700;
	line-height: 100%;
	color: var(--color-white);
	border-radius: 15px 15px 0 0;
	border: 1px solid var(--color-white);
	background: var(--color-logo1);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 20px;
}
body#index2026 .titleO:before {
	content: "";
	display: inline-block;
	background: url(/lib/images/ico_benefits.svg) center center no-repeat;
	background-size: cover;
	width: 50px;
	height: 46px;
	margin-right: 10px;
}


/* teaser */
body#index2026 #opv-wrap {
	display: none;
}
@media screen and (max-width:787px) {
	body#index2026 #opv-wrap {
		display: block;
		position: relative;
	}
	body#index2026 #opv {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		height: 85svh;
		object-fit: cover;
		object-position: center;
	}
}
/* body#index2026.fixed  {
	position: fixed;
} */
body#index2026 .cover {
	position: fixed;
	top: 0;
	width:100vw;
	height: auto;
	z-index: 10;
	pointer-events: none;
}
@media screen and (max-width:787px) {
	body#index2026 .cover {
		display: none;
	}
}
body#index2026 .cover img {
	object-fit: cover;
	object-position: top;
	width: 100vw;
	height: 100vh;
}
body#index2026 .bg {
	position: fixed;
	top: 0;
	width:100vw;
	height: auto;
	z-index: 0;
	pointer-events: none;
}
body#index2026 .bg img {
	object-fit: cover;
	object-position: top;
	width: 100vw;
	height: 100vh;
}
body#index2026 .centerMain {
	position:relative;
}
body#index2026 .scroll {
	color: var(--color-gold);
	text-align: center;
	padding-bottom: 70px;
	z-index: 20;
	font-size: 10px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
@media screen and (max-width:787px) {
	body#index2026 .scroll {
		right: 10px;
	}
}
body#index2026 .scroll:before {
	content: "";
	position: absolute;
	bottom: 58px;
	left: 50%;
	width: 6px;
	height: 6px;
	background: var(--color-gold);
	transform: rotate(45deg) translate(-50%);
	border-radius: 100%;
}
body#index2026 .scroll:after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 60px;
	background: var(--color-gold);
	animation: scroll 2s infinite;
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
body#index2026 h1 {
	width: 427px;
	margin: 0 auto;
	max-width: 600px;
	text-align: center;
}	
@media screen and (max-width:787px) {
	body#index2026 h1 {
		width: 76%;
	}	
}
@media screen and (max-width:787px) {
	body#index2026 .scrollArea {
		max-width: 468px;
	}
}
/* scroll bar */
body#index2026 .scrollArea::-webkit-scrollbar{
	display: none;
}
body#index2026 .scrollArea {
	margin: 0 auto 0;
}
body#index2026 .scrollArea {
	font-size: 14px;
}
body#index2026 .scrollArea .about p {
	margin-bottom: 20px;
	line-height: 1.8;
}

body#index2026 .wrap {
	height: 100%;
}
@media screen and (max-width:787px) {
	body#index2026 .wrap:before {
		position: fixed;
		content: "";
		width: 100vw;
		height: 15px;
		background-image: linear-gradient(#000000, #2a3f63);
		box-shadow:0 -2px 15px -2px #000;
		z-index: 10;
	}
}
body#index2026 .scrollArea .read {
	text-align: center;
	color: var(--color-base);
	margin-bottom: 20px;
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 160%; /* 44.8px */
	letter-spacing: 4.2px;
}
body#index2026 .period {
	text-align: center;
	padding: 20px 0 0;
	margin-bottom: 30px;
}
body#index2026 .period .flex {
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid var(--color-base);
	border-bottom: 1px solid var(--color-base);
	width: 100%;
}
body#index2026 .period p {
	font-size: 14px;
	padding: 10px 0;
	font-weight: bold;
}
body#index2026 .period p:first-child:after {
	content: "─";
	display: inline-block;
	margin: 0 5px;
}
body#index2026 .period p b {
	font-size: 20px;
}
body#index2026 .wrap .top {
	width:100%;
	height: 100%;
}

/*  */
body#index2026 .pageCreateArea .txt {
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: var(--color-logo1);
	margin-bottom: 20px;
	line-height: 1.4;
}
body#index2026 .earlyBonus {
	/* pdisplay: flex;
	gap: 10px;
	border-radius: 10px;
	adding: 10px; 
	background: var(--color-logo1-1); */
	margin-bottom: 50px;
}
body#index2026 .ttlEarlyBonus {
	display: flex;
	padding: 8px 5px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 10px;
	background: var(--color-logo1);
	font-size: 12px;
	font-weight: 700;
	color: var(--color-white);
	width: 60px;
	height: 73px;
	line-height: 1.4;
	text-align: center;
}
body#index2026 .txtEarlyBonus {
	color: var(--color-logo1);
	font-size: 12px;
	font-weight: 500;
	line-height: 140%;
	display: flex;
	flex-direction: column;
	width: calc(100% - 60px);
}
body#index2026 .linkEarlyBonus {
	margin-top: auto;
	text-align: right;
}
body#index2026 .linkEarlyBonus a {
	color: var(--color-logo1);
}
body#index2026 .linkAlreadyCreated {
	text-align: right;
	margin: -10px 0 10px;
}
body#index2026 .linkAlreadyCreated a {
	color: var(--color-logo1);
	font-size: 12px;
	font-weight: 700;
}
body#index2026 .linkAlreadyCreated a::before {
	content: url(/lib/images/ico_mypageC.svg);
	display: inline-block;
}
body#index2026:before {
	pointer-events: none;
	content: "";
	width: 100%;
	height: 100%;
	background: url(/lib/images/cover.png) center top no-repeat;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
@media screen and (max-width:767px) {
	body#index2026:before {
		content: none;
	}
}
body#index2026 .footer {
	width: 100%;
	height: 250px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10;
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	pointer-events: auto;
}
body#index2026 .footer .chair {
	margin: auto 0 0 0;
	pointer-events: none;
}
body#index2026 .footer .linkRight {
	position: absolute;
}
body#index2026 .footer .chair img {
	width: 5000px;
	height: 200px;
	object-fit: cover;
	object-position:center 50px;
}
body#index2026 .footer .btn a {
	position: absolute;
	left: 50%;
	top: 50px;
	transform: translateX(-50%);
	pointer-events: auto;
}
@media screen and (max-width:767px) {
	body#index2026 .footer {
		height: 180px;
		background: #000;
	}
	body#index2026 .footer .chair img {
		height: 130px;
		margin-top: 0px;
		padding-top: 0px;
	}
	body#index2026 .footer .btn a {
		top: 10px;
	}
}
body#index2026 main {
	margin-bottom: 200px;
}





/*  */
body#index2026 .newsArea {
	margin-bottom: 50px;
}
body#index2026 .newsArea ul li {	
	border-bottom: 1px dashed var(--color-text);
	padding: 0 10px 10px;
	margin-bottom: 10px;
	color: var(--color-text);
}
body#index2026 .newsArea .news {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	gap: 5px;
}
body#index2026 .newsArea .date {
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	color: var(--color-text);
}
body#index2026 .newsArea .news p {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	position: relative;
	width: 100%;
	color: var(--color-text);
}

body#index2026 .newsArea a {
	text-decoration: none;
}
body#index2026 .newsArea a .news {
	color: var(--color-logo1);
	text-decoration: none;
}
body#index2026 .newsArea a .news p {
	padding-right: 20px;
}
body#index2026 .newsArea a .news p span {
	text-decoration: underline;
}
body#index2026 .newsArea a.linkA .news p:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background: url(/lib/images/ico_linkA.png) center center no-repeat;
	background-size: cover;
}
body#index2026 .newsArea a.linkB .news p:after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background: url(/lib/teaser/images/ico_linkB.png) center center no-repeat;
	background-size: cover;
}

body#index2026 .about {
	margin-bottom: 50px;
}
body#index2026 .discount {
	margin-bottom: 50px;
}
body#mypage  .discount .ticketBtn,
body#index2026 .discount .ticketBtn {
	height: 60px;
}
body#mypage .discount dl,
body#index2026 .discount dl {
	border: 1px solid var(--color-base);
	border-radius: 10px;
	margin-bottom: 10px;
}
body#mypage .discount dl:has(.special),
body#index2026 .discount dl:has(.special) {
	margin-bottom: 5px;
	background: #0055A6;
	border: none;
}
body#mypage .discount dl:has(.special) dt,
body#index2026 .discount dl:has(.special) dt {
	color: var(--color-white);
}
body#mypage .discount dl:has(.special) dd,
body#index2026 .discount dl:has(.special) dd {
	border-top: 1px solid var(--color-white);
}
body#mypage .discount dl dd.special .specialDiscount p,
body#index2026 .discount dl dd.special .specialDiscount p {	
	color: #FFF0BF;
}
body#mypage .discount dl:has(.special) dd p.end,
body#index2026 .discount dl:has(.special) dd p.end {
	color: var(--color-white);
}
body#mypage .discount dl dt,
body#index2026 .discount dl dt {
	text-align: center;
	padding: 10px 0;
	font-weight: 700;
	line-height: 1;
}
body#mypage .discount dl dd,
body#index2026 .discount dl dd {
	text-align: center;
	padding: 5px;
	border-top: 1px solid var(--color-base);
}
body#mypage .discount dl dd:first-of-type,
body#index2026 .discount dl dd:first-of-type {
	display: flex;
	justify-content: center;
	font-size: 12px;
}
body#mypage .discount dl dd .start:after,
body#index2026 .discount dl dd .start:after {
	content: "─";
	display: inline-block;
	margin: 0 2px;
}
body#mypage .discount dl dd:last-child,
body#index2026 .discount dl dd:last-child {
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}
body#mypage .discount dl dd .icon,
body#index2026 .discount dl dd .icon {
	background: var(--color-base);
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	display: inline-block;
	padding: 5px 10px;
	font-weight: 400;
}
body#mypage .discount dl dd span,
body#index2026 .discount dl dd span {
	font-size: 12px;
}
body#mypage .discount ul,
body#index2026 .discount ul {
	margin-bottom: 30px;
}
body#index2026 .discount ul .btn {
	margin-bottom: 10px;
}
body#index2026 .note {
	font-size: 12px;
	text-indent: -1em;
	padding-left: 1em;
}
body#index2026 .noteList li {
	font-size: 12px;
	text-indent: -1em;
	padding-left: 1em;
	padding-bottom: 0;
	margin-bottom: 5px;
	border-bottom: none;
	content: "※";
}
body#index2026 .noteList li:before,
body#index2026 .note:before {
	content: "※";
}

body#mypage .discount dl dd.special,
body#index2026 .discount dl dd.special {
	flex-direction: column;
}
body#mypage .discount dl dd.special .specialDiscount,
body#index2026 .discount dl dd.special .specialDiscount {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--color-white);
}
body#mypage .discount dl dd.special .specialJoinDiscount,
body#index2026 .discount dl dd.special .specialJoinDiscount {
	display: flex;
	flex-direction: column;
	background: var(--color-logo1-1);
	border-radius: 10px;
	width: 100%;
	padding: 9.5px;
}
body#mypage .discount dl dd.special .specialJoinDiscount p,
body#index2026 .discount dl dd.special .specialJoinDiscount p {
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 140%;
	margin-bottom: 10px;
}
body#mypage .discount dl dd.special .specialJoinDiscount .btn,
body#index2026 .discount dl dd.special .specialJoinDiscount .btn {
	margin-bottom: 0;
}
body#mypage .discount dl dd.special .note,
body#index2026 .discount dl dd.special .note {
	color: var(--color-white);
	margin-bottom: 0;
	font-weight: 400;
}


@media screen and (min-width:788px) {
	body#index2026 .benefits {
		top: max(3.5vw, 52px);
		padding-top: 25px;
	}
}
body#index2026 .flowArea,
body#index2026 .benefitsArea {
	overflow-x: hidden;
}
body#index2026 .benefitsArea .slick-track {
	display: flex!important;
}
body#index2026 .benefitsArea .slick-slide {
	height: auto !important;
	background: var(--color-white);
	border-radius: 20px;
	margin: 0 5px;
}
body#index2026 .slick-disabled {
  display: none !important;
  cursor: default;
}
body#index2026 .benefitsArea .pagerNum {
	border: 2px solid var(--color-text);
	/* background: var(--color-logo1); */
	color: var(--color-text);
	border-radius: 100%;
	width: 15px;
	height: 15px;	
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s;
	padding-bottom: 3px;
}
body#index2026 .benefitsArea .slick-active .pagerNum {
	background: var(--color-logo1);
}
/* body#index2026 .benefitsArea .slick-active .pagerNum {
	background: var(--color-text);
	color: var(--color-white);
} */
body#index2026 .benefitsArea .slick-dots {
	position: absolute;
	top: -25px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0;
	font-weight: 500;
	line-height: 100%;
	height: 15px;
}
body#index2026 .benefits1 {
	background: #F6F0E5;
	padding: 10px;
	border-radius: 10px;
	font-size: 12px;
	margin-top: auto;
}
body#index2026 .flowList {
	height: 100%!important;
	width: 100% !important;
	max-width: none !important;
	padding: 20px 10px 30px;
	margin-top: 90px;
	position: relative;
	background: var(--color-logo1);
}
body#index2026 .benefitsList:before,
body#index2026 .flowList:before {
	content: "";
	display: inline-block;
	background-image: linear-gradient(to left, #fff 8px, transparent 0px);
	background-size: 13px 8px;
	background-repeat: repeat-x;
	background-position: left bottom;
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0px;
	top: 5px;
	transform: translateY(-50%);
}
body#index2026 .benefitsList:after,
body#index2026 .flowList:after {
	content: "";
	display: inline-block;
	background-image: linear-gradient(to left, #fff 8px, transparent 0px);
	background-size: 13px 8px;
	background-repeat: repeat-x;
	background-position: left bottom;
	width: 100%;
	height: 10px;
	position: absolute;
	left: 0px;
	bottom: 0px;
	transform: translateY(-50%);
}
body#index2026 .benefitsList {
	height: 100% !important;
	width: 100% !important;
	max-width: none !important;
	padding: 20px 10px 30px;
	margin-top: 50px;
	position: relative;
	background: var(--color-logo1);
}
body#index2026 .benefitsList .next-arrow.slick-arrow {
	background: var(--color-gold);
	width: 70px;
	height: 70px;
	position: absolute;
	z-index: 10;
	right: -40px;
	border-radius: 100%;
	top: 200px;
	cursor: pointer;
}
body#index2026 .benefitsList .prev-arrow.slick-arrow {
	background: var(--color-gold);
	width: 70px;
	height: 70px;
	position: absolute;
	z-index: 10;
	left: -40px;
	border-radius: 100%;
	top: 200px;
	cursor: pointer;
}
body#index2026 .benefitsList .prev-arrow.slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(225deg);
	box-sizing: border-box;
	display: flex;
}
body#index2026 .benefitsList .next-arrow.slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 5px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
	display: flex;
}
body#index2026 .flowList .next-arrow.slick-arrow {
	background: var(--color-gold);
	width: 70px;
	height: 70px;
	position: absolute;
	z-index: 10;
	right: -40px;
	border-radius: 100%;
	top: 210px;
	cursor: pointer;
}
body#index2026 .flowList .prev-arrow.slick-arrow {
	background: var(--color-gold);
	width: 70px;
	height: 70px;
	position: absolute;
	z-index: 10;
	left: -40px;
	border-radius: 100%;
	top: 210px;
	cursor: pointer;
}
body#index2026 .flowList .prev-arrow.slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(225deg);
	box-sizing: border-box;
	display: flex;
}
body#index2026 .flowList .next-arrow.slick-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 5px;
	width: 16px;
	height: 16px;
	margin: auto;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
	display: flex;
}
/* body#index2026 .benefitsList .slick-slide > div {
	height: 100%;
} */
body#index2026 .benefitsList li.benefitsCard  {
	background: var(--color-white);
	border-radius: 20px;
	display: flex !important;
	flex-direction: column;
	height: auto;
}
body#index2026 .benefitsList li.benefitsCard .cardInner figure {
	margin-bottom: 15px;
}
body#index2026 .benefitsList li.benefitsCard .cardInner .palagraph {
	margin-bottom: 15px;
}
body#index2026 .benefitsList li.benefitsCard .cardInner {
	padding: 20px;
}
body#index2026 .benefitsList li.benefitsCard p {
	line-height: 1.6;
}
body#index2026 .benefitsList .flex {
	display: flex;
	gap: 5px;
}
body#index2026 .benefitsList .flex:not(:last-child) {
	margin-bottom: 5px;
}
body#index2026 .benefitsList .flex p {
	line-height: 1.2;
}
body#index2026 .benefitsList .flex .ttl {
	background: var(--color-text);
	border-radius: 5px;
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 66px;
	line-height: 1.2;
}
body#index2026 .benefitsList .flex .txtGuide {
	width: calc(100% - 70px);
}
body#index2026 .benefitsList .flex dl > div {
	display: flex;
}
body#index2026 .benefitsList .flex dl > div dt {
	width: 3em;
}
body#index2026 .benefitsList .flex dl > div dd {
	width: calc(100% - 3em);
	line-height: 1.4;
}
body#index2026 .benefitsList > li {
	background-color: var(--color-white);
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 30px;
}
body#index2026 .benefitsList > li:last-child {
	border: none;
	margin-bottom: 0px;
}
body#index2026 .benefitsList .figureBg {
	background: #fff;
	border: 2px solid var(--color-base);
	padding: 25px;
	border-radius: 20px;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
body#index2026 .benefitsList .figureBg img {
	height: 100%;
}
body#index2026 .benefitsList > li > p {
	margin-bottom: 30px;
}
body#index2026 .benefits1 .noteList li {
	margin-bottom: 0;
}


/* body#index2026 .flowList {
	padding: 0 20px;
} */
body#index2026 .flowList .slick-list {
	overflow: unset;
}
body#index2026 .flowList .slick-slide {
	margin: 0 10px;
}
body#index2026 .flowList .slick-slide li {
	padding: 50px 20px 0px 20px;
	background: var(--color-white);
	border-radius: 20px;
	color: var(--color-text);
	position: relative;
}
body#index2026 .flowList .slick-slide:last-child li {
	padding-bottom: 20px;
}
body#index2026 .flowList .slick-slide li:after {
	/* content: "STEP\a" attr(data-no) ""; */
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--color-logo1);
	border-radius: 100%;
	width: 70px;
	height: 35px;
	font-size: 12px;
	z-index: 9;
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 0px;
	border-radius: 50% / 0 0 100% 100%;
	white-space: pre;
	text-align: center;
}

body#index2026 .flowList .slick-slide li[data-no="1"]:after { content: url(/lib/images/flow/step1.svg);} 
body#index2026 .flowList .slick-slide li[data-no="2"]:after { content: url(/lib/images/flow/step2.svg);} 
body#index2026 .flowList .slick-slide li[data-no="3"]:after { content: url(/lib/images/flow/step3.svg);} 
body#index2026 .flowList .slick-slide li[data-no="4"]:after { content: url(/lib/images/flow/step4.svg);} 
body#index2026 .flowArea {
	margin-bottom: 40px;
}
body#index2026 .flowArea .sentense {
	margin-bottom: 20px;
}
body#index2026 .flowArea .pagerNum {
	background: var(--color-inactive2);
	border-radius: 100%;
	width: 15px;
	height: 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s;
	position: relative;
	background: none;
}
body#index2026 .flowArea li .pagerNum:after {
	font-size: 10px;
	white-space: pre;
	color: var(--color-logo1);	
	position: absolute;
	top: 20px;
	width: 45px;
	height: 45px;
	line-height: 1;
	border: 1px solid var(--color-logo1);
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}

body#index2026 .flowArea li:first-child .pagerNum:after {
	content: "STEP\A 1";
}
body#index2026 .flowArea li:nth-child(2) .pagerNum:after {
	content: "STEP\A 2";
}
body#index2026 .flowArea li:nth-child(3) .pagerNum:after {
	content: "STEP\A 3";
}
body#index2026 .flowArea li:nth-child(4) .pagerNum:after {
	content: "STEP\A 4";
}
body#index2026 .flowArea .slick-active .pagerNum{
	background: var(--color-gold);
	background: none;
}
body#index2026 .flowArea .slick-active .pagerNum:after {
	background: var(--color-logo1);
	color: var(--color-white);
}
body#index2026 .flowArea .slick-track {
	display: flex!important;
}
body#index2026 .flowArea .slick-slide {
	height: auto !important;
	background: var(--color-white);
	border-radius: 20px;
}
body#index2026 .flowArea .slick-slide > div {
	height: 100%;
}
body#index2026 .flowArea .slick-slide > div > li {
	height: 100%;
}
body#index2026 .flowArea .slick-slide > div > li > div {
	display: flex;
	flex-direction: column;
	height: 100%;
}
body#index2026 .flowArea .slick-slide > div > li > div > div {
	margin-top: auto;
	text-align: center;
}
body#index2026 .flowArea .slick-slide > div > li > div > div:before {
	position: absolute;
	left: 0;
	bottom: 65px;
	content: "";
	display: inline-block;
	height: 1px;
	width: 100%;
	background-color: #fff;
}
body#index2026 .flowArea .slick-slide > div > li > div > div.alerts:before {
	content: none;
}
body#index2026 .flowArea .slick-slide > div > li > div > div.alerts p {
	display: flex;
	padding: 10px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	border: 1px solid var(--color-white);
	text-decoration: underline;
}
body#index2026 .flowArea .slick-slide > div > li > div > div a {
	color: var(--color-white);
	text-decoration: none;
	display: flex;
	justify-content: center;
	padding: 25px 0 25px 0;
	margin: 0 -20px 0px;
}
body#index2026 .slick-disabled {
  display: none !important;
  cursor: default;
}
body#index2026 .flowArea .slick-dots {
	position: absolute;
	top: -80px;
	list-style: none;
	text-align: center;
	display: flex;
	justify-content: space-between;
	align-items: center;
	left: 40%;
	transform: translateX(-50%);
	gap: 10px;
	font-size: 16px;
	font-weight: 500;
	line-height: 100%;
	max-width: 70%;
	height: 30px;
}
body#index2026 .flowArea .slick-dots:before {
	content: "";
	display: inline-block;
	width: 50px;
	height: 60px;
	background: url(/lib/images/ico_camera.svg) center center no-repeat;
	background-size: cover;
	margin-top: 70px;
}
body#index2026 .flowArea .slick-dots li {
	width: 15px;
	height: 15px;
	margin: 0;
}
body#index2026 .benefitsArea .slick-dots li {
	width: 15px;
	height: 15px;
	margin: 0 2.5px!important;
}
body#index2026 .flowList figure {
	margin-bottom: 20px;
}
body#index2026 .flowList li h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 140%;
	text-align: center;
	font-family: "Noto Serif JP", serif;
	margin-bottom: 10px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-logo1);
}
body#index2026 .flowList li p {
	font-size: 14px;
	font-weight: 500;
	line-height: 160%;
}
body#index2026 .imgPractice {
	margin-bottom: 20px;
}

body#index2026 .fade {
	animation: fade 2s cubic-bezier(0.33, 1, 0.68, 1) 1s forwards;
}
@keyframes fade {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
body#index2026 .wrap .top .centerMainWrap {
	margin: 0 auto;
	width: 100%;
		max-width: none;
}
body#index2026 .wrap .top .centerMainWrap:before {
	content: "";
	position: fixed;
	width: 100%;
	min-height: 76vh;
	margin: 0 auto;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
	aspect-ratio: 5 / 3;
	background: url(../images/cover.png) center top no-repeat;
	background-size: 100% auto;
	z-index: 10;
}
@media screen and (min-width:788px) {
	body#index2026 .wrap .cover img {
		animation: filter 2s linear .2s forwards;
	}
	@keyframes filter {
		100% {filter: brightness(0.2) saturate(1);}		
	}
}	
body#index2026 .wrap .top .centerMainWrap:before {
	background: none;
}
body#index2026 .wrap .top .centerMain {
	margin: 0 auto;
	width: 100%;
	max-width: 468px;
	/* padding: 3vh 15px 0; */
	background-color: #fff;
}
@media screen and (min-width:788px) {
	body#index2026,
	body#index2026 .wrap .top .centerMain {
		animation: changeBg 1s linear 1s forwards;
	}
	@keyframes changeBg {
		100% {background: #fff;}		
	}	
}
body#index2026 .wrap .bottom {
	background: url(../images/bg_btm.png) center top no-repeat;
	background-size: cover;
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 250px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: end;
	z-index: 20;
}
body#index2026 .ticketBtn {
	background: var(--color-gold);
	border-radius: 100vmax;
	width: 280px;
	height: 50px;
	color: #fff;
	margin: 0 auto 25px;
	padding-left: 30px;
	font-size: 20px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: .2s;
	position: relative;
	text-decoration: none;
}
body#index2026 .ticketBtn:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 40px;
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url(../images/icon_ticket.png) center center no-repeat;
	background-size: cover;
	transform: translateY(-50%);
}
body#index2026 .ticketBtn:hover {
	opacity: .7;
}

/* footer */
body#index2026 footer {
	margin-top: auto;
	/* background-image: linear-gradient(0deg, #0a1a32, #0a1a32 26%, transparent); */
}
@media screen and (max-width:787px) {
	body#index2026 footer {
		margin-top: 0;
	}
}
footer p {
	text-align: center;
	width: 100%;
	font-size: 13px;
	color: #FFF;
}

body#index2026 footer .subPage {
	/* border-bottom: 1px solid #fff;
	padding-bottom: 12px; */
	margin-bottom: 12px;
}
footer .subPage ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
footer .subPage ul li {
	position: relative;
}
footer .subPage ul li:after {
	position: absolute;
	top: 50%;
	right: -10px;
	transform: translateY(-50%);
	content: "|";
	color: #fff;
}
footer .subPage ul li:last-child:after {
	content: none;
}
footer .subPage ul li a {
	color: #fff;
	font-size: 11px;
	text-decoration: none;
}
footer .copy {
	text-align: center;
	padding: 5px;
}

/* sns */
.sns {
	margin-top: 40px;
	margin-bottom: 10px;
	display: flex;
	gap: 50px;
	justify-content: center;
	position: relative;
}
.sns::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
	width: 1px;
	background: #000;
	pointer-events: none;
}
.sns p {
	text-align: center;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
}
.sns ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: 120px;
}
.sns ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .2s;
}
.sns ul li a:hover {
	opacity: .7;
}

/* modal */
.ticketModalContents {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	max-width: 600px;
	z-index: 1;
	background-color: #FFF;
	z-index: 30;
	max-height: 90vh;
	overflow: auto;
}
.ticketModalOverLay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(12px);
	z-index: 20;
}
.ticketModalClose {
	position: absolute;
	right: 10px;
	top: 14px;
	width: 25px;
	height: 25px;
	color:var(--color-base);
	z-index: 1;
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
	background: #fff;
	border-radius: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .2s;
}
.ticketModalClose:hover {
	opacity: .7;
	transform: scale(1.2);
}
/* .modalContent {
	padding: 0 20px 25px;
} */
.modalContent dl {
	margin-bottom: 30px;
}
.ticketList {
	max-width: 280px;
	margin: 0 auto;
}
.ticketA a,
.ticketB a,
.ticketC a,
.ticketD a {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	height: 58px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100vmax;
	margin-bottom: 10px;
	transition: .2s;
	color: #fff;
	text-decoration: none;
}
.ticketA a { background: var(--color-gold);}
.ticketB a { background: var(--color-gold);}
.ticketC a { background: var(--color-gold);}
.ticketD a { background: var(--color-gold);}
.ticketList a:hover {
	opacity: .7;
	transform: scaleX(1.2);
}

.opening {
	position: relative;
}
.opening .scene1,
.opening .scene2 {
	writing-mode: vertical-rl;
	position: fixed;
	top: 30svh;
	left: 50%;
	transform-origin: center center;
	transform: translateX(-50%) rotate(0.03deg);
	opacity: 0;
	pointer-events: none;
	font-feature-settings:initial;
	font-family: "Noto Serif JP", serif;
	font-weight: 900;
	font-style: normal;
}
.anim {
	animation: anim 2.8s cubic-bezier(0.33, 1, 0.68, 1) 1.5s forwards;
}
@keyframes anim {
  0% {
    opacity: 0;
		transform: translateX(-50%) scale(0);
  }
  20% {
    opacity: 1;
		transform: translateX(-50%) scale(4.5);
  }
  70% {
    opacity: 1;
		transform: translateX(-50%) scale(4.5);
  }
  100% {
    opacity: 0;
		transform: translateX(-50%) scale(60);
  }
}
.read.target.sticky.anim2,
.title.target.sticky.anim2,
.period.target.sticky.anim2 {
	animation: anim2 2.5s cubic-bezier(0.33, 1, 0.68, 1) .1s forwards;
}
@keyframes anim2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* button */
.btnRev a {
	border-radius: 100vmax;
	position: relative;
	width: 260px;
	height: 58px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	background: var(--color-logo1);
	transition: .2s;
}
.btnRev a:hover {
	opacity: .7;
}
@media screen and (max-width:787px) {
	.btnRev a {
		width: 100%;
	}	
}

/* policy */
body#policy .wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
}
body#policy h1 {
	background: var(--color-logo1);
	font-size: 20px;
	color: #fff;
	height: 60px;
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}
body#policy .contents {
	max-width: 870px;
	padding: 0 15px;
	margin: 0 auto;
}
body#policy .section {
	border-bottom: 3px dotted var(--color-base);
	padding-bottom: 26px;
	margin-bottom: 26px;
}
body#policy .section ol {
	counter-reset: num;
}
body#policy .section ol li {
	counter-increment: num;
	text-indent: -1.1em;
	padding-left: 1.2em;
}
body#policy .section ol li:before {
	content: counter(num) ". ";
}
body#policy .section:last-child {
	border-bottom: none;
}

/* terms */
body#terms .wrap {
	display: flex;
	flex-direction: column;
}
body#terms h1 {
	background: var(--color-base);
	font-size: 20px;
	color: #fff;
	height: 60px;
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}
body#terms .wrap ol {
	margin-bottom: 10px;
}
body#terms .contents {
	max-width: 870px;
	padding: 0 15px;
	margin: 0 auto;
}
body#terms .section {
	border-bottom: 2px dotted var(--color-base);
	padding-bottom: 20px;
	margin-bottom: 20px;
}
body#terms .section ol {
	counter-reset: num;
	margin-top: 10px;
}
body#terms .section ul li {
	text-indent: -1em;
	padding-left: 1em;
}
body#terms .section ol li {
	counter-increment: num;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
body#terms .section ol li:before {
	content: "("counter(num) ") ";
}

body#policy .scrollArea, 
body#terms .scrollArea {
	margin-bottom: 30px;
}

body#terms footer,
body#policy footer {
	margin-top: auto;
}
body#terms footer .copy,
body#policy footer .copy {
	text-align: center;
	background: var(--color-logo1);
	padding: 5px;
}
body#terms footer .subPage ,
body#policy footer .subPage {
	margin-bottom: 20px;
}
body#terms footer .subPage ul,
body#policy footer .subPage ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
body#terms footer .subPage ul li,
body#policy footer .subPage ul li {
	position: relative;
}
body#terms footer .subPage ul li:last-child:after,
body#policy footer .subPage ul li:last-child:after {
	content: none;
}
body#terms footer .subPage ul li:after,
body#policy footer .subPage ul li:after {
	position: absolute;
	top: 50%;
	right: -10px;
	transform: translateY(-50%);
	content: "|";
	color:var(--color-base);
}
body#terms footer .subPage ul li a,
body#policy footer .subPage ul li a {
	color: var(--color-base);
	text-decoration: none;
	font-size: 11px;
}
body#terms footer .subPage ul li.current a,
body#policy footer .subPage ul li.current a {
	color: var(--color-gold);
}


body#terms #faq h1 {
	margin-bottom: var(--spacing-xl);
}
/* ページ説明 */
body#terms #faq .descText {
	max-width: 870px;
	padding: 0 var(--spacing-m);
	margin: 0 auto var(--spacing-l);
}
body#terms #faq .descText p {
	color: var(--color-text);
}



/* faq */
#faq .qa {
	margin:0 0 var(--spacing-xl) 0;
}
/* Q */
#faq .qa dt {
	border-top: 1px solid var(--color-logo1);
	border-bottom: 1px solid var(--color-logo1);
	padding:  var(--spacing-xs) 0;
	display: flex;
	align-items: baseline;
	gap: 1em;
	font-weight: bold;
	font-size: var(--font-size-xl);
}
#faq .qa dt::before {
	content: "Q.";
	color: var(--color-logo1);
	flex-shrink: 0;
	font-size: var(--font-size-xl);
}
/* A */
#faq .qa dd {
	display: flex;
	align-items: baseline;
	gap: 1em;
	padding: var(--spacing-xs) 0;
	margin: 0 0 var(--spacing-xl) 0;
	color: var(--color-text);
}
#faq .qa dd::before {
	content: "A.";	
	color: var(--color-logo2);
	font-weight: bold;
	flex-shrink: 0;
	font-size: var(--font-size-xl);
}
#faq .qa dd:last-child{
	margin: 0 0 var(--spacing-xl) 0;
}
/* お問い合わせ */
#faq .contact {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--spacing-l);
	align-items: center;
}
#faq .contact p{
	color: var(--color-logo1);
	font-weight: bold;
	font-size: var(--font-size-xl);
	margin:0 0 var(--spacing-l) 0;
	text-align: center;
}
#faq .contact a{
	color: var(--color-text);
}
#faq .contact a:hover {
	color: var(--color-logo2);
}
#faq .contact .mailBtn {
  position: relative;
  display: inline-block;
  padding-left: var(--spacing-xl);
  font-size: var(--font-size-xl);
  font-weight: bold;
  border-bottom: 1px solid var(--color-logo1);
  color: var(--color-logo1);
  text-decoration: none;
  line-height: 1.5;
}

#faq .contact .mailBtn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0; 
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/icon_mail.svg) center center no-repeat;
  background-size: contain;
}
#faq .contact .mailBtn:hover::before {
	background-image: url(../images/icon_mail_hover.svg);
}
#faq .contact .mailBtn:hover{
	border-bottom: 1px solid var(--color-logo2); 
	color: var(--color-logo2);
}



.trigger {
	opacity: 0;
	margin-right: 50px;
	/* filter: blur(.2em); */
}
.trigger.perform {
	animation: perform .3s linear .2s forwards;
}
@keyframes perform {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
		margin-right: 0px;
		/* filter: blur(0em); */
  }
}

.title.trigger.perform {
	position: fixed;
	width: 90%;
	top: 230px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
/*タブレット向け調整*/
@media screen and (max-width: 1200px) and (min-width: 768px) {

} 
/*PC向け調整*/
@media screen and (min-width: 768px) {
	.beforeMock .examWrap {
		position: fixed;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 20px;
    max-width: 468px;
    margin: 0 auto;
	}
} 
