@charset "UTF-8";

/*================================================================
# page-title
================================================================ */
.second-layer .page-title .container {
	margin-top: 0;
}

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

.second-layer .page-title .title span {
	font-size: 44px;
	color: var(--yellow);
}

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

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

.intro .intro_illust01 {
	position: absolute;
	bottom: -85px;
	left: -276px;
	z-index: 0;
}

.intro .intro_illust02 {
	position: absolute;
	right: -205px;
	bottom: -293px;
	z-index: 0;
}

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

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

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

.intro_img01 {
	margin: 40px 0 0;
}

/*================================================================
#
================================================================ */
.guide .slick-slider {
	margin: 0 auto;
}

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

.second-layer .container01 .text-area:before {
	display: none;
}

/* .second-layer .container01 .text-area:before {
	opacity: 1;
	border-radius: 40px;
	background-color: #fef4e8;
} */

.second-layer .container01 .title {
	font-size: 29px;
}

.second-layer .container01 .text-area {
	min-height: 500px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.guide_illust01 {
	position: absolute;
	right: -40px;
	bottom: -88px;
	z-index: 1;
}

.guide_illust02 {
	position: absolute;
	bottom: -60px;
	left: -403px;
}

.guide_illust03 {
	position: absolute;
	bottom: -46px;
	left: -86px;
	z-index: 1;
}

.guide_illust04 {
	position: absolute;
	right: -320px;
	bottom: -29px;
	z-index: 1;
}

.guide_illust05 {
	position: absolute;
	bottom: -36px;
	left: -308px;
}

.guide_illust06 {
	position: absolute;
	right: -72px;
	bottom: 38px;
}

.guide_illust07 {
	position: absolute;
	bottom: -16px;
	left: -166px;
	z-index: 1;
}

.guide_illust08 {
	position: absolute;
	right: -330px;
	bottom: -29px;
	z-index: 1;
}

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

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

.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 {
	width: 80%;
	margin: 40px auto 0;
	padding: 40px 80px;
	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: 40px 0 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 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: 32px 0 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.section-wrap .text-area .box {
	padding: 32px;
	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 4px;
	border-bottom: 3px dotted #ba9d4d;
	font-size: 20px;
}

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

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

.section-wrap .guide01 .text-area {
	width: 100%;
	padding: 100px 64px;
	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: 16px 0 0;
	font-size: 20px;
	text-align: center;
}

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

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

.section-wrap .guide02 .text-area {
	width: 100%;
	padding: 100px 64px 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: 20px;
	text-align: center;
}

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

.section-wrap .guide02 .guide02-intro {
	margin: 32px 0 24px;
	text-align: center;
}

.section-wrap .guide02 .guide02-intro .intro-title {
	font-size: 32px;
}

.section-wrap .guide02 .guide02-intro .intro-text {
	margin: 16px 0 0;
	font-size: 18px;
}

.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;
}