@charset "UTF-8";
/* ===================================================
	Unique Style
====================================================== */

/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
html { scroll-behavior: smooth; }
body { position: relative; min-width: 1200px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; font-size: 15px; font-weight: normal; line-height: 1.8; color: #000; background: #fff; text-size-adjust: 100%; /* font-feature-settings:"palt"; */ }
section,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
span,
em,
strong,
a { box-sizing: border-box;}
a { color: #000; text-decoration: none; outline: none; transition: opacity 0.5s; }
.ofi { object-fit: cover; }
.br_sp,
.view_sp { display: none; }
.v_rl{ writing-mode: vertical-rl; font-feature-settings: "palt" 0;}

@media screen and (max-width: 600px) {
body { min-width: 0; }
.br_sp,
span.view_sp { display: inline; }
.view_sp { display: block; }
.br_pc,
.view_pc { display: none !important; }
}

/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */
.inner_md { width: 1100px; max-width: 90%; margin: 0 auto; }
.cmn_tit_01 { line-height: 1.35; font-size: 27px; text-align: center; letter-spacing: 0.1em;}
.cmn_tit_01 .cap { letter-spacing: 0.05em; }
.cmn_tit_01 .tit { font-size: 55px; }
.cmn_tit_01 .en { display: block; margin: 35px 0 5px; font-size: 25px; color: #ac8e41; }

.cmn_wrap .sec_in{ width: 100%; display: flex; justify-content: space-between; align-items: center; flex-direction: row-reverse; padding: 0 0 80px;}
.cmn_wrap .sec_in:nth-of-type(2n){ flex-direction: row;}
.cmn_wrap .sec_in:last-of-type { padding-bottom: 0; }
.cmn_wrap .sec_in .box_txt{ width: 440px; margin: 0 auto 0 6%;}
.cmn_wrap .sec_in:nth-of-type(2n) .box_txt{ margin: 0 6% 0 auto;}
.cmn_wrap .sec_in .box_img{ width: 54.3%;}
.cmn_wrap .sec_in .box_img img{ width: 100%; height: auto;}
.cmn_wrap .tit_02{ font-size: 25px; color: #937321; line-height: 1.4; padding: 0 0 20px; border-bottom: solid 1px #b6b2ac; margin: 0 0 15px;}
.cmn_wrap .txt_01{ font-size: 17px; line-height: 2; text-align: justify; font-feature-settings: "halt"; }
.cmn_wrap .txt_02{ font-size: 22px; line-height: 1.5; text-align: center; padding: 40px 0;}

.sticky_bnr { position: sticky; top: 100px; right: 0; z-index: 9; width: 100%; }
.sticky_bnr a { display: flex; align-items: center; justify-content: center; gap: 0 12px; width: 65px; height: 220px; margin-left: auto; font-size: 28px; letter-spacing: 0.05em; background-color: #a38943; color: #fff; transition: background 0.8s; }
.sticky_bnr .en { font-size: 14px; color: #d7cbaf; }

@media screen and (hover: hover) and (min-width: 601px) {
	.sticky_bnr a:hover { background-color: #897338; }
}
@media screen and (max-width: 600px) {
	.cmn_tit_01 { font-size: 18px; }
	.cmn_tit_01 .tit { font-size: 32px; }
	.cmn_tit_01 .en { margin: 20px 0 2px; font-size: 14px; }
	.cmn_wrap .sec_in{ width: 100%; flex-direction: column; padding: 0 0 50px;}
	.cmn_wrap .sec_in:nth-of-type(2n){ flex-direction: column;}
	.cmn_wrap .sec_in .box_txt{ width: 80%; margin: 0 auto; padding: 0 0 20px;}
	.cmn_wrap .sec_in:nth-of-type(2n) .box_txt{ margin: 0 auto;}
	.cmn_wrap .sec_in .box_img{ width: 100%;}
	.cmn_wrap .tit_02{ font-size: 20px; line-height: 1.3; padding: 0 0 15px; margin: 0 0 15px;}
	.cmn_wrap .txt_01{ font-size: 16px; line-height: 1.7;}
	.cmn_wrap .txt_02{ font-size: 18px; line-height: 1.7; text-align: left; padding: 10px 5% 30px;}
	.sticky_bnr a { gap: 0 8px; width: max(35px, 7.5vw); height: auto; padding: 15px 0 18px; font-size: 18px; }
	.sticky_bnr .en { font-size: 9px; letter-spacing: 0.15em; }
}


/* ---------------------------------------------------
	Slick Slider Style Overwrite
------------------------------------------------------ */
.slick .slick-dots { position: static; margin: 10px 0 0; line-height: 1; }
.slick .slick-dots li,
.slick .slick-dots li button,
.slick .slick-dots li button::before { width: 15px; height: 15px; }
.slick .slick-dots li { vertical-align: top; }
.slick .slick-dots li button { padding: 0; }
.slick .slick-dots li button::before { box-sizing: border-box; content: ""; background: #c4c4c4; border: none; border-radius: 50%; opacity: 1 !important; transform: scale(0.4); }
.slick .slick-dots li.slick-active button::before { background: #c4b482; transform: scale(0.8); }

/* ---------------------------------------------------
	Section Lead
------------------------------------------------------ */
.sec_lead { padding: 100px 0; text-align: center; background-image: url("img/deco_01.webp"), url("img/bg_wall_01.webp"); background-repeat: no-repeat, repeat; background-position: left top, center center; background-size: 383px, 800px;}
.sec_lead .tit_01{ display: flex; flex-direction: column;}
.sec_lead .tit_01 span{ display: block; margin: 0 auto;}
.sec_lead .tit_01 span.logo{ width: 350px; padding: 0 0 80px;}
.sec_lead .tit_01 span.txt{ width: 830px; padding: 0 0 120px;}
.sec_lead .box_slide{ width: 100%; position: relative;}
.sec_lead .box_slide img{ width: 100%; height: auto;}
.sec_lead .box_slide .catchcopy{ position: absolute; top: 0; left: 90px; display: flex; flex-direction: row-reverse; align-items: flex-start; width: 10vw;}
.sec_lead .box_slide .catchcopy p{ display: inline-block; background: rgba(255,255,255,0.8); font-size: clamp(1.2rem, 2.2vw, 36px); line-height: 1; padding: 20px 15px; margin: 0 0 0 10px; text-align: left; white-space: nowrap;}
.sec_lead .box_slide .catchcopy em{ font-style: normal; color: #9c781c;}
.sec_lead .txt_01{ font-size: 25px; line-height: 1.8; color: #ac8e41; padding: 30px 0 50px;}
.sec_lead .txt_02{ font-size: 17px; line-height: 1.9;}
.sec_lead .ticker,
.sec_lead .ticker ul { display: flex; }
.sec_lead .ticker { width: 100%; margin: 90px 0 0; position: relative; z-index: 0; overflow: hidden; }
.sec_lead .ticker ul { backface-visibility: hidden; will-change: transform; list-style-type: none; margin: 0; padding: 0; }
.sec_lead .ticker li { width: 260px; min-width: 15vw; margin: 0 1px 0 0; }
.sec_lead .ticker li img { width: 100%; }
.sec_lead .ticker ul:first-child { animation: loop 120s -60s linear infinite; }
.sec_lead .ticker ul + ul { animation: loop2 120s linear infinite; }

@media screen and (max-width: 600px) {
.sec_lead { padding: 80px 0 50px; background-size: 200px, 800px;}
.sec_lead .tit_01 span.logo{ width: 50%; padding: 0 0 30px;}
.sec_lead .tit_01 span.txt{ width: 90%; padding: 0 0 30px;}
.sec_lead .box_slide .catchcopy{ left: 5%; width: auto;}
.sec_lead .box_slide .catchcopy p{ font-size: 17px; padding: 20px 15px; margin: 0 0 0 10px;}
.sec_lead .txt_01{ font-size: 18px; line-height: 1.8; padding: 15px 5%; text-align: left;}
.sec_lead .txt_02{ font-size: 16px; line-height: 1.7; padding: 0 5%; text-align: left;}
.sec_lead .ticker { margin: 40px 0 0; }
.sec_lead .ticker li { width: 32vw; }
}

@keyframes loop {
0% { -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); }
100% { -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); }
}
@keyframes loop2 {
0% { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
100% { -webkit-transform: translateX(-200%); -ms-transform: translateX(-200%); transform: translateX(-200%); }
}

/* ---------------------------------------------------
	Section About
------------------------------------------------------ */
.sec_about{ padding: 140px 0; background-image: url("img/deco_02.webp"), url("img/bg_wall_02.webp"); background-repeat: no-repeat, repeat; background-position: right top, center center; background-size: 334px, 800px;}
.sec_about .cmn_tit_01 { margin: -220px auto 120px; }
.sec_about .sec_artist{ width: 90%; max-width: 1100px; margin: 0 auto; background: url("img/bg_wall_01.webp") repeat center center; filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2)); padding: 50px 75px; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start;}
.sec_about .sec_artist .box_txt{ width: 620px;}
.sec_about .sec_artist .box_img{ width: 260px;}
.sec_about .tit_03{ padding: 10px 0 20px; border-bottom: solid 1px #b6b2ac; margin: 0 0 15px; display: flex; align-items: baseline; letter-spacing: 0.075em;}
.sec_about .tit_03 span{ line-height: 1; display: inline-block;}
.sec_about .tit_03 span.ja{ font-size: 27px;}
.sec_about .tit_03 span.en{ font-size: 16px; padding: 0 0 0 2em;}
.sec_about .txt_03{ font-size: 17px; line-height: 2;}

@media screen and (max-width: 600px) {
.sec_about{ padding: 60px 0 50px; background-size: 200px, 800px;}
.sec_about .cmn_tit_01{ margin: -90px auto 50px; }
.sec_about .sec_artist{ width: 90%; max-width: 90%; margin: 0 auto; background: url("img/bg_wall_01.webp") repeat center center; filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2)); padding: 5%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start;}
.sec_about .sec_artist .box_txt{ width: 100%;}
.sec_about .sec_artist .box_img{ width: 50%; margin: 0 auto;}
.sec_about .tit_03{ padding: 5px 0 15px; border-bottom: solid 1px #b6b2ac; margin: 0 0 10px; display: flex; align-items: baseline; letter-spacing: 0.075em;}
.sec_about .tit_03 span.ja{ font-size: 20px;}
.sec_about .tit_03 span.en{ font-size: 14px; padding: 0 0 0 1em;}
.sec_about .txt_03{ font-size: 16px; line-height: 1.7;}
}


/* sec_superior */
#sec_superior { display: flex; flex-wrap: wrap; gap: 30px 4.5%; margin-top: 100px; }
#sec_superior [class^="room_"] { width: 100%; padding: 30px 30px 50px; font-size: 17px; background-color: #fff; }
#sec_superior [class^="room_"] .photo .ofi { width: 100%; }
#sec_superior [class^="room_"] .name { padding: 20px 0 30px; font-size: 25px; text-align: center; }
#sec_superior [class^="room_"] p { text-align: justify; letter-spacing: 0.05em; font-feature-settings: "halt"; }
#sec_superior [class^="room_"] .name+p { margin-bottom: 40px; }
#sec_superior .box_btns { padding: 0; display: flex; justify-content: center; gap: 0 3.6%; width: 930px; max-width: 100%; margin-top: auto; }
#sec_superior .box_btns [class^="btn_"] { height: auto; line-height: 1.35; margin: 0; font-size: 17px; }
#sec_superior .box_btns [class^="btn_"] a { padding: 12.5px 20px; }

@media screen and (min-width: 601px) {
	#sec_superior [class^="room_"] { display: flex; flex-direction: column; width: 47.75%; }
	#sec_superior .room_lg { width: 100%; }
	#sec_superior .room_lg .name { padding: 35px 0; font-size: 33px; }
}
@media screen and (max-width: 600px) {
	#sec_superior { margin-top: 60px; }
	#sec_superior [class^="room_"] { padding: 5% 5% 35px; font-size: 16px; }
	#sec_superior [class^="room_"] .photo .ofi { aspect-ratio: 1.618/1; }
	#sec_superior [class^="room_"] .name { padding: 20px 0 15px; font-size: 20px; }
	#sec_superior [class^="room_"] .name+p { margin-bottom: 30px; }
	#sec_superior .box_btns { flex-direction: column; gap: 12px 0; }
	#sec_superior .box_btns [class^="btn_"] { font-size: 16px; }
}


/* ---------------------------------------------------
	Section Spa
------------------------------------------------------ */
.sec_spa { padding: 100px 0; background-image: url("img/deco_01.webp"), url("img/bg_wall_01.webp"); background-repeat: no-repeat, repeat; background-position: left top, center center; background-size: 383px, 800px;}
.sec_spa .cmn_tit_01 { margin: -220px auto 120px; }

@media screen and (max-width: 600px) {
	.sec_spa { padding: 60px 0 50px; background-size: 200px, 800px;}
	.sec_spa .cmn_tit_01 { margin: -90px auto 50px; }
}

/* ---------------------------------------------------
	Box Buttons
------------------------------------------------------ */
.box_btns{ width: 700px; margin: 0 auto; padding: 80px 0 40px; text-align: center;}
.box_btns .btn_01{ width: 100%; height: 85px; font-size: 25px; line-height: 85px;}
.box_btns .btn_01 a{ display: block; width: 100%; height: 100%; color: #fff; background: #a38943; transition: background 0.8s; position: relative;}
.box_btns .btn_01 a:hover{ text-decoration: none; background: #897338;}
.box_btns .btn_01 a::after{ content: ""; display: block; width: 8px; height: 8px; border-bottom: solid 1px #fff; border-right: solid 1px #fff; transform: rotate(-45deg); position: absolute; top: 0; bottom: 0; right: 20px; margin: auto 0;}
.box_btns .btn_02{ width: 100%; height: 70px; font-size: 20px; line-height: 70px; margin: 35px 0 0;}
.box_btns .btn_02 a{ display: block; width: 100%; height: 100%; border: solid 1px #a38943; color: #a38943; transition: all 0.8s; position: relative;}
.box_btns .btn_02 a::after{ content: ""; display: block; width: 8px; height: 8px; border-bottom: solid 1px #a38943; border-right: solid 1px #a38943; transform: rotate(-45deg); position: absolute; top: 0; bottom: 0; right: 20px; margin: auto 0;}
.box_btns .btn_02 a:hover{ text-decoration: none; background: #897338; color: #fff;}
.box_btns .btn_02 a:hover::after{ border-bottom: solid 1px #fff; border-right: solid 1px #fff;}
.box_btns .btn_03{ margin: 30px 0 0;}
.box_btns .btn_03 a { border-bottom: 1px solid #000; font-size: 16px; line-height: 1.3; position: relative; display: inline-block;}
.box_btns .btn_03 a:hover { border-color: transparent;}
.box_btns .btn_03 span { display: inline-block; margin: 0 1em; }

@media screen and (max-width: 600px) {
.box_btns{ width: 90%; padding: 40px 0 40px;}
.box_btns .btn_01{ height: auto; font-size: 20px; line-height: 1.5;}
.box_btns .btn_01 a{ padding: 20px 10px;}
.box_btns .btn_02{ height: 70px; font-size: 16px; line-height: 70px; margin: 20px 0 0;}
.box_btns .btn_03{ margin: 20px 0 0;}
.box_btns .btn_03 a{ padding-bottom: 3px; font-size: 14px; line-height: 1.6;}
}

/* ---------------------------------------------------
	bnr_coming
------------------------------------------------------ */
#bnr_coming { position: relative; }
#bnr_coming .cap { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 82%; font-size: 24px; color: #fff; text-align: center; letter-spacing: 0.05em; }
#bnr_coming .en { display: block; font-size: 40px; }
#bnr_coming .ofi { width: 100%; min-height: 280px; }

@media screen and (min-width: 601px) {
	#bnr_coming .ofi { height: 400px; }
}
@media screen and (max-width: 600px) {
	#bnr_coming .cap { font-size: 18px; }
	#bnr_coming .en { margin-top: 5px; font-size: 24px; }
}


/* ---------------------------------------------------
	Fixed Button
------------------------------------------------------ */
.fixed_btn{ position: fixed; top: 0; right: 0; width: 220px; height: 70px;}
.fixed_btn a{ width: 100%; height: 100%; background: #a38943; color: #fff; display: flex; justify-content: center; align-items: center; flex-direction: column; transition: background 0.8s;}
.fixed_btn a:hover{ background: #897338;}
.fixed_btn a span{ display: block; line-height: 1;}
.fixed_btn a span.ja{ font-size: 22px; padding: 0 0 5px;}
.fixed_btn a span.en{ font-size: 10px; color: rgba(255,255,255,0.5);}

@media screen and (max-width: 600px) {
.fixed_btn{ width: 120px; height: 50px;}
.fixed_btn a span.ja{ font-size: 18px; padding: 0 0 5px;}
.fixed_btn a span.en{ font-size: 10px;}
}