@charset "UTF-8";

/*================================================================
# page-title
================================================================ */
.second-layer .page-title {
	text-align: center;
}

.second-layer .page-title .container {
	margin-top: 0;
}

.second-layer .page-title .en-title {
	opacity: 0.4;
	top: auto;
	bottom: 32px;
	font-size: 120px;
	line-height: 100px;
	color: var(--yellow);
}

.second-layer .page-title .title span {
	margin: 16px 0 0;
	display: block;
	font-size: 40px;
	line-height: 1.2;
	color: var(--yellow);
}

/*================================================================
# intro
================================================================ */
.intro {
	margin-top: 40px;
	position: relative;
}

.intro .title-area {
	position: relative;
}

.intro .intro_illust01 {
	width: calc(522px / 1.5);
	position: absolute;
	top: -189px;
	left: -319px;
}

.intro .intro_illust02 {
	width: calc(491px / 1.5);
	position: absolute;
	top: -198px;
	right: -275px;
}

.intro .title-area__sub-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--green);
	text-align: center;
}

.intro .title-area__title {
	margin-top: 8px;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.intro .title-area__text {
	font-size: 18px;
	font-weight: 600;
	line-height: 2;
	text-align: center;
}

.intro_img01 {
	width: 120%;
	margin: 24px -10% 0;
}

/*================================================================
#
================================================================ */
.guide {
	margin-top: 0;
}

.second-layer .container01 .number {
	color: var(--yellow);
}

.second-layer .container01 .text-area {
	margin-top: 16px;
	padding: 16px 24px;
	position: relative;
}

.second-layer .container01 .text-area:before {
	background-color: var(--white);
}

.guide_illust01 {
	width: calc(181px / 2);
	position: absolute;
	bottom: -16px;
	left: -40px;
	z-index: 2;
}

.guide_illust02 {
	width: calc(306px / 2);
	position: absolute;
	right: -134px;
	bottom: -8px;
}

.guide_illust03 {
	width: calc(291px / 2);
	position: absolute;
	right: -19px;
	bottom: -380px;
	transform: scale(-1, 1);
}

.guide_illust04 {
	display: none;
}

.guide_illust05 {
	display: none;
}

.guide_illust06 {
	width: calc(269px / 2);
	position: absolute;
	top: -130px;
	left: -64px;
	z-index: 1;
	transform: scale(-1, 1);
}

.guide_illust07 {
	width: calc(208px / 2);
	position: absolute;
	bottom: -8px;
	left: -20px;
	z-index: 1;
}

.guide_illust08 {
	display: none;
}

/*================================================================
# section01
================================================================ */
.section01 {
	margin: 40px 0 0;
}

.ranking {
	margin: auto;
	text-align: center;
}

.plan__title-area .plan-title-en {
	font-size: 56px;
	color: var(--green);
}

.section-plan .box .box__tag {
	color: var(--green);
}

.section-plan .wrap::before {
	background-color: var(--green);
}

.plan_illust01 {
	width: calc(214px / 2);
	position: absolute;
	top: -32px;
	left: -55px;
	z-index: 1;
}

.plan_illust02 {
	width: calc(343px / 2);
	position: absolute;
	right: -44px;
	bottom: -23px;
	z-index: 1;
}

.section-plan .img-area img {
	border-radius: 8px;
}

.section-plan .day-plan {
	margin-top: 64px;
}

/*================================================================
#
================================================================ */
.cookie {
	margin: 80px 0 0;
	padding: 80px 0;
	background: #faf8ed;
}

.section-wrap .section-title-en {
	font-family: var(--text-en);
	font-weight: 800;
	line-height: 1;
	color: var(--purple);
	text-align: center;
}

.section-wrap .section-title {
	margin-top: 2px;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}

.section-wrap .section-title span {
	position: relative;
}

.section-wrap .section-title span:before {
	width: 100%;
	height: 3px;
	background-color: var(--purple);
	position: absolute;
	content: "";
	bottom: -8px;
	left: 0;
}

.section-wrap .unit {
	margin: 40px auto 0;
	padding: 24px;
	border-radius: 40px;
	background-color: #fff;
	position: relative;
}

.section-wrap .unit .text {
	margin: 0;
	padding: 0;
	position: relative;
	font-weight: 700;
	line-height: 2;
}

.section-wrap .privacy-dl {
	margin-top: 24px;
}

.section-wrap .privacy__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--purple);
}

.section-wrap .unit .privacy__title:nth-of-type(n + 2) {
	margin-top: 48px;
}

.section-wrap .privacy__title span {
	position: relative;
}

.section-wrap .privacy__title span::before {
	width: 80px;
	height: 3px;
	background-color: var(--purple);
	position: absolute;
	content: "";
	bottom: -16px;
	left: 0;
}

.section-wrap .privacy__title span small {
	margin-right: 8px;
	font-size: 20px;
}

.section-wrap .privacy__text {
	margin: 24px 0 0 0;
	padding: 0;
	position: relative;
	font-weight: 700;
}

.section-wrap .unit__ol {
	margin: 0;
	padding: 0 0 0 1em;
	list-style: none;
	counter-reset: li;
	position: relative;
	font-weight: 700;
}

.section-wrap .unit__ol li {
	margin: 24px 0 0 1em;
	padding: 0;
	position: relative;
}

.section-wrap .unit__ol>li:before {
	width: 24px;
	height: 24px;
	padding: 6px 0;
	counter-increment: li;
	border-radius: 100%;
	background: var(--purple);
	position: absolute;
	content: counter(li) "";
	top: -1px;
	left: -34px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
}

.section-wrap .unit__ol ol {
	margin: 8px 0;
	padding-left: 2em;
	list-style-type: decimal;
	font-size: 14px;
	font-weight: 400;
}

.section-wrap .unit__ol ol li {
	margin: 4px 0 0;
}

.section-wrap .unit__ol ul {
	list-style-type: disc;
}

.section-wrap .unit__ol ul li {
	margin: 8px 0 0 1em;
	padding: 0;
	position: relative;
	font-size: 14px;
	font-weight: 400;
}

.section-wrap .inner-text {
	margin: 8px 0;
	font-size: 14px;
	font-weight: 400;
}

.section-wrap .intro_bg {
	background-color: #fff;
}

.section-wrap .intro_bg img {
	transform: scale(1, -1);
}

.section-wrap .box {
	margin-top: 16px;
}

.section-wrap .box dl {
	margin-top: 16px;
	display: flex;
	justify-content: center;
}

.section-wrap .box dl dt {
	width: 72px;
}

.section-wrap .box dl dd {
	width: calc(100% - 100px);
}


/*================================================================
# 追記
================================================================ */
.section-wrap {
	padding-bottom: 0px;
	position: relative;
}

.section-wrap .text-area .row {
	margin: 16px 0 0;
}

.section-wrap .text-area .box {
	padding: 32px 24px;
	list-style: none;
	border-radius: 8px;
	background-color: #f1e1b5;
}

.section-wrap .text-area .box p {
	margin: 16px 0 0;
}

.section-wrap .text-area .title02 {
	margin: 0;
	padding: 0 0 12px;
	border-bottom: 3px dotted #ba9d4d;
	font-size: 20px;
	text-align: center;
}

.section-wrap .marker {
	padding: 0 0.2em;
	background: linear-gradient(transparent 60%, #fdc7c9 60%);
}

/*================================================================
# guide01
================================================================ */
.section-wrap .guide01 {
	margin: 80px 0 0;
}

.section-wrap .guide01 .text-area {
	width: 100%;
	padding: 0;
	position: relative;
}

.section-wrap .guide01 .text-area .number {
	margin: auto;
	right: 0;
	left: 0;
	text-align: center;
}

.section-wrap .guide01 .text-area .sub-title {
	margin: 8px 0 0;
	font-size: 16px;
	text-align: center;
}

.section-wrap .guide01 .text-area .title {
	font-size: 32px;
	text-align: center;
}

/*================================================================
# guide02
================================================================ */
.section-wrap .guide02 {
	margin: 80px 0 0;
}

.section-wrap .guide02 .text-area {
	width: 100%;
	padding: 0;
	position: relative;
}

.section-wrap .guide02 .text-area .number {
	margin: auto;
	right: 0;
	left: 0;
	text-align: center;
}

.section-wrap .guide02 .text-area .sub-title {
	margin: 16px 0 0;
	font-size: 16px;
	text-align: center;
}

.section-wrap .guide02 .text-area .title {
	font-size: 32px;
	text-align: center;
}

.section-wrap .guide02 ul {
	margin: 8px 0 0;
	padding-left: 0;
	list-style: none;
}

.section-wrap .guide02 ul li {
	padding-left: 18px;
	position: relative;
	font-size: 15px;
	font-weight: 600;
}

.section-wrap .guide02 ul li::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yellow);
	position: absolute;
	content: "";
	top: 12px;
	left: 4px;
}

/*================================================================
# reserve-message
================================================================ */
.reserve-message {
	text-align: center;
}

.reserve-message__text {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 700;
	line-height: 2;
}