@charset "utf-8";
/* CSS Document */

/* ---------------------------------------------------
   リセット
--------------------------------------------------- */
*{margin:0;padding:0;}
*, *:before, *:after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
html,body{margin:0;padding:0;width:100%;height:100%;vertical-align:baseline;background:transparent;}
body{font-size: 13px;line-height:1.8em;word-wrap: break-word;}
img{border: 0;vertical-align: top;margin:0;padding:0;}
ul{list-style:none;margin:0;padding:0;}
li{list-style:none;margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
*:focus {outline: none;}
/* ---------------------------------------------------
   共通
--------------------------------------------------- */
body{font-family:'Noto Serif JP',BIZ UDPGothic,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",Meiryo,Helvetica,Arial,sans-serif; line-height:1.4em;background:#161310;color:#fff;word-wrap: break-word;}
a{color: #aaa;text-decoration:none;outline:none;transition: color 200ms 0s ease;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
a:hover{filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
::selection {background: #b28e12;color: #fff;}
::-moz-selection {background: #87d5d1;color: #777777;}
a:hover img {filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";}
img{width:100%;height:auto;}
.f12{font-size: 12px;}
ol{counter-reset: item;list-style-type: none;padding-left: 0;}
ol li{text-indent: -1.5em;padding-left: 1.5em;}
ol li:before {counter-increment: item;content: counter(item)'.';}
.prev::before{margin-right:5px;font-family: "icomoon";content: "\e94c";vertical-align: middle;}
.longurl{word-break: break-all;}
.eng{display:block;font-family:BIZ UDPGothic,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",Meiryo,Helvetica,Arial,sans-serif;font-size:12px;opacity:0.5;}
.pc{display:none;}
.no_wrap{white-space: nowrap;}
@media only screen and (min-width: 1024px) {
	.sp{display:none;}
	.pc{display:block;}
	.inline{display: inline;}
}
:root{
  --color-brand: #b69119;
  --color-text: #221505;
  --color-text-white: #fff;
  --color-text-black: #000;
  --color-bg: #dbd4c1;
  --color-bg-dark: #221505;
  --color-bg-dark2: #3f2608;
  --color-bg-black: #000;
  --color-bg-white: #fff;
  --color-accent: #5c410f;
  --font-heading: "Noto Serif JP", serif;
  --font-body: "BIZ UDPGothic", sans-serif;
  --font-num: "Cormorant Garamond", serif;
  --font-size-base: 12px;
  --font-size-sm: 10px;
  --font-size-lg: 16px;
  --font-size-xl: 24px;
  --font-size-2xl: 32px;
  --line-height-base: 1.6;
}
/* ---------------------------------------------------
   main
--------------------------------------------------- */
body{
	position: relative;
	height: 100%;
  margin: 0 auto;
}
.bg_white{
	background: var(--color-bg-white);
}
.main-contents{
	position: relative;
}
.logo_andaresort{
	position: absolute;
	top: 100px;
	left: 100px;
	width: 200px;
	height: auto;
	z-index: 2;
	display: none;
}
.mv_lead_text{
	position: absolute;
	color: #fff;
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
	font-size: var(--font-size-2xl);
	font-weight: 600;
	line-height: 1.875;
	letter-spacing: 3.2px;
	z-index: 2;
	bottom: 87px;
	left: 100px;
	display: none;
}
.cd-fixed-bg {
	position: relative;
	min-height: 100%;
	height: 100vh;
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}
.cd-fixed-bg.cd-bg-1  {
  background-image: url('/images/ticket_info/bg_body_andaresort.webp');
}
section{
	padding: 60px 0;
}
.section_inner{
	width: 100%;
	max-width: 300px;
	margin: auto;
}
.caption_title{
	color: var(--color-brand);
	text-align: center;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 2.28;
	letter-spacing: 2.8px;
	position: relative;
	width: fit-content;
	margin: auto;
}
.caption_title::before,
.caption_title::after{
	position: absolute;
	content: '';
	background-image: url('/images/ticket_info/mark_balian.svg');
	background-repeat: no-repeat;
	background-size: contain;
	top: 50%;
	width: 10px;
	height: 10px;
	transform: translateY(-50%);
}
.caption_title::before{
	left: -15px;
}
.caption_title::after{
	right: -15px;
}
.section_title,
.section_heading{
	color: var(--color-text-white);
	text-align: center;
	font-size: var(--font-size-xl);
	font-weight: 600;
	line-height: 1.333;
	margin-top: 20px;
}
.section_title{
	margin: 20px 0 80px 0;
	position: relative;
	&::after {
	position: absolute;
	content: "";
	left: 50%;
	-webkit-transform: translateX(-50%);
	bottom: -40px;
	width: 30px;
	height: 1px;
	background: #fff;
}}
.section_lead{
	color: var(--color-text-white);
	text-align: center;
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: 400;
	line-height: 2;
	letter-spacing: 1.2px;
	margin-top: 30px;
}
@media only screen and (min-width: 1024px) {
	.logo_andaresort,
	.mv_lead_text{
		display: block;
	}
	.cd-fixed-bg{
		padding: 5em 0;
	}
	.cd-scroll{
		width: 390px;
		position: absolute;
		bottom: 0;
    right: 100px;
    overflow-y: auto;
    height: 90vh;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border: 11px solid var(--color-bg-white);
    border-bottom: 0;
	}
	div.cd-scroll::-webkit-scrollbar {width: 2px;}
	div.cd-scroll::-webkit-scrollbar-thumb {background: #fff;border-radius: 5px;transition: all 0.5s ease-out;}
	div.cd-scroll::-webkit-scrollbar-thumb {background: rgba(256,256,256,0.1);}
	div.cd-scroll::-webkit-scrollbar-track {background:none;}
}
@media only screen and (min-width: 1800px) {
.cd-scroll{
	right: 12vw;
}
}
.button{
	display: block;
	margin: 30px auto 0 auto;
	padding: 12px 6px;
	text-align: center;
	border: 1px solid var(--color-bg-dark2);
	border-radius: 6px;
	color: var(--color-text);
	font-size: 15px;
	transition: all 200ms 0s ease;
}
ul.annotation {
	font-size: 10px;
	list-style: inside;
	list-style-type: '※';
	opacity: 0.9;
	font-family: var(--font-body);
}
ul.annotation li {
	padding-left: 1em;
	text-indent: -1em;
	list-style: inside;
	list-style-type: '※';
}
/* header-scroll */
.header-scroll{
	padding-bottom: 450px;
	padding-top: 20px;
	background-image: url('/images/ticket_info/bg_scroll-head.webp');
	background-size: cover;
}
.logo_cd-scroll{
	width: 80px;
	height: auto;
	margin: auto;
	display: block;
}
.top_lead{
	color: var(--color-brand);
	font-size: 45px;
	font-weight: 600;
	line-height: 1.244;
	text-align: center;
	margin-top: 12px;
	& .colr-white{
		font-size: var(--font-size-2xl);
		color: var(--color-text-white);
	}
}
.top_catch_text{
	color: var(--color-text-white);
	text-align: center;
	font-size: 20px;
	font-weight: 400;
	line-height: var(--line-height-base);
	margin-top: 385px;
}
@media screen and (max-width:768px) {
	.header-scroll{
		padding-bottom: 580px;
	}
}
/* End header-scroll */

/* how_it_works */
.how_it_works-section{
	background: var(--color-bg);
}
.how_it_works-section .section_title{
	color: var(--color-bg-dark);
	&::after{
	background: var(--color-bg-dark);
	}
}
.how_it_works-section .section_lead{
	color: var(--color-text);
}
.box_how_it_works{
	display: flex;
	gap: 20px;
	position: relative;
	&:first-of-type{
		margin-top: 62px;
	}
	& + .box_how_it_works{
		margin-top: 32px;
	}
	&::before{
    position: absolute;
    content: '';
    top: 40px;
    left: 20px;
    width: 2px;
    height: 100%;
    background-image: radial-gradient(circle, var(--color-bg-dark) 1px, transparent 1px);
    background-position: left top;
    background-repeat: repeat-y;
    background-size: 2px 8px;
	}
	&:last-of-type{
		&::before{
			content: unset;
		}
	}
}
.how_it_works_num{
	color: var(--color-brand);
	text-align: center;
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.333;
	background: var(--color-bg-dark);
	border-radius: 20px;
	width: 40px;
	aspect-ratio: 1/1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.how_it_works_title{
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 1.6px;
}
.how_it_works_desc{
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 1px;
	& p + p{
		margin-top: 20px;
	}
}
.dummy_img{
	width: 240px;
	aspect-ratio: 240/180;
	background: #717171;
}
.how_it_works_desc .cta-line-btn{
	font-size: 10px;
}
/* End how_it_works */

/* stamp_rewards */
.stamp_rewards-section{
	background: var(--color-bg-dark);
}
.box_stamp{
	display: grid;
	gap: 20px;
	justify-content: flex-start;
	align-items: center;
	& .grid-a{
		grid-area: 1/1/3/2;
	}
	& .grid-b{
		grid-area: 1/2/2/3;
	}
	& .grid-c{
		grid-area: 2/2/3/3;
	}
	&:first-of-type{
		margin-top: 40px;
	}
	& + .box_stamp{
		margin-top: 20px;
	}
	&.stamp-01{
		background: #3f2608;
    padding: 25px;
    border-radius: 10px;
    border: 1px solid #5c410f;
	}
	&.stamp-02{
		border-radius: 10px;
    border: 2px solid var(--color-brand);
    background: var(--color-bg-dark);
    padding: 25px;
	}
}
.wrap_stamp_num{
		color: var(--color-brand);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    width: 80px;
    aspect-ratio: 1/1;
    background: #5c410f;
    border-radius: 50%;
	& .stamp_num{
    font-family: var(--font-num);
		font-style: italic;
    font-weight: 600;
    font-size: 50px;
    letter-spacing: 5px;
		line-height: 1;
	}
	& .text_stamp_num{
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
		line-height: 1;
	}
}
.text_stamp{
	color: var(--color-text-white);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 1.6px;
}
.box_stamp.stamp-02{
	& .wrap_stamp_num{
		background: var(--color-brand);
    color: var(--color-text);
	}
	& .text_stamp{
white-space: nowrap;
}}
.sub_text_stamp{
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 1px;
	color: var(--color-text-white);
}
/* End stamp_rewards */

/* 5stamps */
.stamps-section{
background: var(--color-bg-white);
color: var(--color-text);
}
.stamps-section .section_title{
color: var(--color-text);
	&::after {
			background: var(--color-text);
	}
}
.stamps-section .wrap_stamp_num{
	margin: 20px auto 0;
}
.box_tag{
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 6px;
}
.item_tag{
	letter-spacing: 1px;
	border-radius: 10px;
	padding: 4px 8px;
	line-height: 1;
	background: #5c410f;
	color: var(--color-text-white);
	font-family: var(--font-body);
}
.stamp_desc{
	font-family: var(--font-body);
	font-size: var(--font-size-base);
	font-weight: 400;
	line-height: 2;
	letter-spacing: 1.2px;
	margin-top: 30px;
	color: var(--color-text);
	& + .stamp_desc{
		margin-top: 1em;
	}
}
/* End 5stamps */
/* hotel-select */
.hotel-select-section{
	background: var(--color-bg);
	color: var(--color-text);
}
.hotel-select-section .section_title {
    color: var(--color-text);
		&::after {
		background: var(--color-text);
	}
}
.hotel-select-section .section_lead{
	color: var(--color-text);
}
.hotel-select-section .wrap_stamp_num{
	margin: 20px auto 0;
}
.box_tag_area{
	margin-top: 60px;
	font-family: var(--font-body);
	font-weight: 700;
	color: #5C410F;
	display: flex;
	justify-content: center;
	column-gap: 6px;
	align-items: center;
}
.tag_area{
	font-size: 10px;
	line-height: 1;
	letter-spacing: 1px;
	padding: 6px 10px;
	border-radius: 10px;
	border: 1px solid #5C410F;
	&.active{
		background: #5c410f;
    color: #fff;
	}
}
.box_hotels_slide{
	margin-top: 30px;
}
.box_hotels_slide .slick-list{
	border-radius: 10px;
}
.box_hotels_slide .slick-list .slick-track{
	display: flex;
}
.box_hotel{
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.6;
	border-radius: 10px;
	background: var(--color-bg-white);
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
	position: relative;
	&.slick-slide{
		height: auto;
	}
}
.hotel_tag{
	color: #3F2608;
	text-align: center;
	font-weight: 700;
	letter-spacing: 1px;
	border-radius: 10px;
	border: 1px solid var(--color-text);
	padding: 4px 8px;
	line-height: 1;
	width: fit-content;
}
.hotel_thum{
	display: block;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.hotel_details{
	padding: 20px;
}
.hotel_name{
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 1.6px;
	margin-top: 20px;
}
.hotel_desc{
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 6px;
	padding-bottom: 20px;
	border-bottom: 1px dotted var(--color-text);
}
.box_hotel_point{
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 6px;
}
.hotel_point{
	letter-spacing: 1px;
	border-radius: 10px;
	border: 1px solid var(--color-text);
	padding: 4px 8px;
	line-height: 1;
	&.have{
	background: #5c410f;
	color: var(--color-text-white);
	}
}
.hotel_link{
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	color: var(--color-text);
}
.hotel_details ul.annotation{
	margin-top: 30px;
}
.js-slides .slick-dots	{
	display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
	gap: 6px;
	font-size: 0;
	margin-top: 30px;
}
.box_hotels_slide	.slick-dots li{
	width: 10px;
	height: 10px;
	aspect-ratio: 1/1;
	border: 1px solid var(--color-text);
	background: var(--color-bg);
	border-radius: 50%;
	&.slick-active{
	background: #5c410f;
	}
}
.box_hotels_slide	.slick-dots li > button{
		color: transparent;
    font-size: 0px;
		display: none;
}
/* End hotel-select */

/* faq */
.faq-section{
	color: var(--color-text);
}
.faq-section .section_title{
	color: var(--color-text);
	&::after {
		background: var(--color-text);
	}
}
details{
	cursor: pointer;
	font-family: var(--font-body);
	padding: 20px;
	background: var(--color-bg);
	border-radius: 10px;
	font-size: 10px;
	font-weight: 400;
	& + details{
		margin-top: 10px;
	}
}
summary{
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.428;
	letter-spacing: 1.4px;
	padding-right: 20px;
	position: relative;
::-webkit-details-marker {
  display: none;
}
&::before{
	position: absolute;
	content: '';
	width: 12px;
	height: 1px;
	background: var(--color-bg-dark);
	right: -5px;
	top: 7px;
	}
&::after{
	position: absolute;
	content: '';
	width: 1px;
	height: 12px;
	background: var(--color-bg-dark);
	right: 0;
	top: 2px;
	transition: .5s;
	}
}
details[open] summary::after{
	transform: rotate(90deg);
}
details .faq_ans:first-of-type{
	margin-top: 20px;
}
/* End faq */

/* line-friend-add */
.line-friend-section{
background: var(--color-bg-dark2);
}
.cta-line-btn{
	display: flex;
	max-width: 300px;
	padding: 22px 0;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
	background: #06C775;
	color: var(--color-text-white);
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.14;
	letter-spacing: 1.4px;
	margin-top: 30px;
}
/* End line-friend-add */

/* footer-scroll */
.footer-scroll{
	background: var(--color-bg-black);
	padding: 47px 0;
}
.footer-scroll .logo{
	width: 140px;
	height: auto;
	display: block;
	margin: 30px auto 0;
}
.footer-nav_list{
	display: flex;
	gap: 20px;
	justify-content: center;
	font-family: var(--font-body);
	flex-wrap: wrap;
	& a{
		color: var(--color-text-white);
		font-size: 12px;
	}
}
/* End footer-scroll */
