@charset "utf-8";
/* ===================================================
	Room CSS
====================================================== */

/* ---------------------------------------------------
	Lead_col
------------------------------------------------------ */
#lead_col { padding: 95px 0 100px; background: var(--color-bg); color: #313131; display: flex; justify-content: space-between; }
#lead_col .txt { display: flex; flex-direction: column; justify-content: center; }
#lead_col .txt h2 { font-size: 22px; margin-bottom: 45px;}

@media screen and (hover: hover) {
}

@media screen and (min-width: 601px) {
	#lead_col .photo { padding-left: max(calc(50vw - 700px), 3%); width: 53%; }
	#lead_col .txt { padding-right: max(calc(50vw - 585px), 4%); padding-left: max(7vw, 84px); width: 47%; }
}

@media screen and (max-width: 600px) {
	#lead_col { padding: 60px 7%; flex-direction: column-reverse; }
	#lead_col .photo { margin-top: 30px; }
	#lead_col .txt h2 { font-size: 20px; margin-bottom: 20px;}
}


/* ---------------------------------------------------
	Amenity_col
------------------------------------------------------ */
#amenity_col { padding: 90px 0 80px; background: var(--color-bg); color: #313131; position: relative; }
#amenity_col::before { content: ''; width: min(1400px, 94%); height: 1px; background: var(--color03); position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
#amenity_col h2 { text-align: center; margin-bottom: 60px; }
#amenity_col h2 .ja { font-size: 22px; display: block; line-height: 1; }
#amenity_col h2 .font_en { font-size: 20px; color: var(--color03); margin-top: 25px; display: block; line-height: 1; }
#amenity_col .detail_col { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 70px 0; }
#amenity_col .detail_col .photo { display: flex; justify-content: space-between; }
#amenity_col .detail_col .photo li { width: 50%; }
#amenity_col .detail_col .photo li:first-child { width: calc(50% - 1px); }
#amenity_col .detail_col h3 { text-align: center; font-size: 18px; margin: 30px 0 20px; }
#amenity_col .detail_col p { font-size: 14px; letter-spacing: 0.1em; line-height: 2.2; }
#amenity_col .detail_col + p { font-size: 14px; margin-top: 65px; color: var(--color01);  letter-spacing: 0.1em; }

@media screen and (hover: hover) {
}

@media screen and (min-width: 601px) {
	#amenity_col .detail_col > li { width: min(570px, 47.5%);}
}

@media screen and (max-width: 600px) {
	#amenity_col { padding: 60px 0; }
	#amenity_col h2 { margin-bottom: 40px; }
	#amenity_col h2 .ja { font-size: 20px; }
	#amenity_col h2 .font_en { font-size: 18px; margin-top: 15px; }
	#amenity_col .detail_col { flex-direction: column; gap: 0; }
	#amenity_col .detail_col > li + li { margin-top: 40px; }
	#amenity_col .detail_col h3 { font-size: 16px; margin: 20px 0 10px; }
	#amenity_col .detail_col p { font-size: 13px; line-height: 1.8; }
	#amenity_col .detail_col + p { font-size: 11px; margin-top: 40px; }
}


/* ---------------------------------------------------
	Cnav
------------------------------------------------------ */
.cnav { background: var(--color-bg); color: #313131; padding: 90px 0 85px; position: relative; }
.cnav::before { content: ''; width: min(1400px, 94%); height: 1px; background: var(--color03); position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.cnav ul li { width: min(268px, 22.3%); font-size: 14px;}
.cnav ul li a { padding: 0; background: #fff; letter-spacing: 0.1em; position: relative; }
.cnav ul li .tit { padding: 20px 10px 35px; line-height: 1; }
.cnav ul li .tit .name { font-size: 20px; margin-bottom: 10px; position: relative; }
.cnav ul li .tit .name + p { font-size: 14px; }
.cnav ul li a:after { content: ''; position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); width: 13px; height: 8px; background: url(../img/arrow01_bk.svg) no-repeat center/contain; }

@media screen and (hover: hover) {
	.cnav ul li a:hover .photo img { opacity: 1;}
}

@media screen and (min-width: 601px) {
}

@media screen and (max-width: 600px) {
	.cnav { padding: 40px 0 60px; }
	.cnav ul li { width: 49%; font-size: 13px; }
	.cnav ul li a { display: flex; flex-direction: column; height: 100%; }
	.cnav ul li .photo { overflow: hidden; }
	.cnav ul li .photo img { aspect-ratio: 5 / 3; }
	.cnav ul li .tit { padding: 10px 10px 25px; flex-grow: 1; display: flex; flex-direction: column; justify-content: center;}
	.cnav ul li .tit .name { font-size: 16px; margin-bottom: 5px; line-height: 1.5; }
	.cnav ul li .tit .name + p { font-size: 12px; }
	.cnav ul li a:after { width: 8px; height: 5px;}
}


/* ---------------------------------------------------
	共通（room_style）
------------------------------------------------------ */
.room_style { padding-bottom: 175px; }
.room_style .tit_col { position: relative; }
.room_style .tit_col::before { content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #313131; opacity: .5; }
.room_style .tit_col h2 { width: min(1200px, 92%); position: absolute; left: 50%; transform: translateX(-50%); top: 120px; }
.room_style .tit_col h2 .ja { font-size: 50px; }
.room_style .tit_col h2 .font_en { font-size: 20px; margin-left: 20px; }
.room_style .madori_col { margin-top: 75px; }
.room_style .madori_col .tit { font-size: 22px; color: var(--color03); margin-bottom: 45px; }
.room_style .madori_col .madori { display: flex; justify-content: center; gap: 30px; width: fit-content; margin: 0 auto; }
.room_style .madori_col .madori li {  }
.room_style .madori_col .madori li p { font-size: 20px; padding: 5px 20px; margin-bottom: 15px; width: fit-content; background: var(--color03); color: var(--color04); line-height: 1; }
.room_style div[id*=sec] { padding-top: 60px;}
.room_style div[id*=sec] + div[id*=sec] { border-top: 1px solid #404341; margin-top: 90px; }
.room_style div[id*=sec] h3 { text-align: center; line-height: 1; margin-bottom: 45px; }
.room_style div[id*=sec] h3 .ja { font-size: 40px; display: block; }
.room_style div[id*=sec] h3 .font_en { font-size: 20px; color: var(--color03); display: block; margin-top: 25px; }
.room_style div[id*=sec] .slick.slick-dotted.slick-slider { padding-bottom: 25px; }
.room_style div[id*=sec] .slick .slick-dots { margin: 0; padding: 0; justify-content: center;}
.room_style div[id*=sec] .slick .slick-dots li { margin: 0 5px;}
.room_style div[id*=sec] .slick .slick-dots li button { height: 4px; }
.room_style div[id*=sec] .slick + p { padding: 60px 0 50px; letter-spacing: 0.1em; }
.room_style div[id*=sec] .detail_col dl div { display: flex; }
.room_style div[id*=sec] .detail_col dl div dt { flex-shrink: 0; padding: 30px 0 30px 15px; box-sizing: border-box; }
.room_style div[id*=sec] .detail_col dl div dd { flex-grow: 1; border-bottom: 1px solid var(--color01); padding: 30px 0 30px 70px; box-sizing: border-box; letter-spacing: 0.1em; }
.room_style div[id*=sec] .detail_col dl div dd a { color: #ececec; padding-bottom: 5px; }
.room_style div[id*=sec] .detail_col dl div dd a::after { background: #ececec;}
.room_style div[id*=sec] .reserve_col { margin-top: 75px; display: flex; justify-content: space-between; align-items: center; }
.room_style div[id*=sec] .reserve_col .calendar_col { width: 50%; }
.room_style div[id*=sec] .reserve_col .calendar_col .tit { font-size: 22px; color: var(--color03); margin-bottom: 40px; line-height: 1; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar { width: 100%; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar caption { text-align: left; color: var(--color03); font-size: 22px; letter-spacing: 0.05em; line-height: 1; margin-bottom: 15px; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar tr { border-bottom: 1px solid #3e5564; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar th { line-height: 1; padding: 15px 10px; background: #2e3e52; font-size: 15px; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar th + th { border-left: 1px solid #3e5564; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td { text-align: center; line-height: 1.2; letter-spacing: 0; padding: 5px; background: #8e9aa9; box-sizing: border-box; color: #313131; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td + td { border-left: 1px solid #3e5564; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td a { color: #295973;}
.room_style div[id*=sec] .reserve_col .calendar_col .calendar th:first-child { color: #d78d8d; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td:first-child,
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td.holiday { color: #732326; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar th:last-child { color: #a9acd9; }
.room_style div[id*=sec] .reserve_col .calendar_col .calendar td:last-child { color: #39416c; }
.room_style div[id*=sec] .reserve_col .calendar_489ban + p { font-size: 14px; color: var(--color03); letter-spacing: 0.05em; line-height: 1.5; margin-top: 10px; }
.room_style div[id*=sec] .reserve_col .btn_col { width: min(380px, 38%); }
.room_style div[id*=sec] .reserve_col .btn_col a { display: block; padding: 25px 20px; text-align: center; }
.room_style div[id*=sec] .reserve_col .btn_col a:nth-child(1) { color: #313131; background: var(--color-bg); margin-bottom: 30px; }

@media screen and (hover: hover) {
	.room_style div[id*=sec] .reserve_col .btn_col a:nth-child(1):hover { background: #bcbcbc;}
}

@media screen and (min-width: 601px) {
	.room_style div[id*=sec] .detail_col dl div dt { width: 150px; border-bottom: 1px solid var(--color03); }
}

@media screen and (max-width: 600px) {
	.room_style { padding-bottom: 80px; }
	.room_style .tit_col h2 { width: 86%; top: 5vw; }
	.room_style .tit_col h2 .ja { font-size: 26px; }
	.room_style .tit_col h2 .font_en { font-size: 15px; margin-left: 15px; }
	.room_style .tit_col .photo { aspect-ratio: 5 / 3; }
	.room_style .madori_col { margin-top: 40px; }
	.room_style .madori_col .tit { font-size: 18px; margin-bottom: 25px; }
	.room_style .madori_col .madori { flex-direction: column; gap: 15px; }
	.room_style .madori_col .madori li p { font-size: 14px; padding: 3px 10px; margin-bottom: 10px; }
	.room_style div[id*=sec] { padding-top: 40px;}
	.room_style div[id*=sec] + div[id*=sec] { margin-top: 50px; }
	.room_style div[id*=sec] h3 { margin-bottom: 25px; }
	.room_style div[id*=sec] h3 .ja { font-size: 26px; }
	.room_style div[id*=sec] h3 .font_en { font-size: 14px; margin-top: 15px; }
	.room_style div[id*=sec] .slick.slick-dotted.slick-slider { padding-bottom: 15px; }
	.room_style div[id*=sec] .slick .slick-dots li { margin: 0 2px; width: 25px; }
	.room_style div[id*=sec] .slick .slick-dots li button { height: 2px; }
	.room_style div[id*=sec] .slick + p { padding: 30px 0 20px; }
	.room_style div[id*=sec] .detail_col dl div { flex-direction: column; position: relative; }
	.room_style div[id*=sec] .detail_col dl div::before { content: ''; position: absolute; bottom: 0; left: 0; width: 10%; height: 1px; background: var(--color03);}
	.room_style div[id*=sec] .detail_col dl div dt { padding: 20px 0 5px 15px; }
	.room_style div[id*=sec] .detail_col dl div dd { padding: 0 0 20px 15px; }
	.room_style div[id*=sec] .detail_col dl div dd a { color: #ececec; padding-bottom: 5px; }
	.room_style div[id*=sec] .detail_col dl div dd a::after { background: #ececec;}
	.room_style div[id*=sec] .reserve_col { margin-top: 50px; flex-direction: column; }
	.room_style div[id*=sec] .reserve_col .calendar_col { width: 100%; }
	.room_style div[id*=sec] .reserve_col .calendar_col .tit { font-size: 20px; margin-bottom: 25px; }
	.room_style div[id*=sec] .reserve_col .calendar_col .calendar caption { font-size: 18px; margin-bottom: 5px; }
	.room_style div[id*=sec] .reserve_col .calendar_col .calendar th { padding: 10px 5px; font-size: 14px; }
	.room_style div[id*=sec] .reserve_col .calendar_489ban + p { font-size: 13px; margin-top: 5px; }
	.room_style div[id*=sec] .reserve_col .btn_col { width: 100%; margin-top: 30px; }
	.room_style div[id*=sec] .reserve_col .btn_col a { padding: 10px 20px; }
	.room_style div[id*=sec] .reserve_col .btn_col a:nth-child(1) { margin-bottom: 15px; }
}


/* ---------------------------------------------------
	詳細
------------------------------------------------------ */

@media screen and (min-width: 601px) {
}

@media screen and (max-width: 600px) {
	#sec01.room_style .madori_col .madori li:nth-child(2) { width: 58%; }
	#sec02.room_style .madori_col .madori li:nth-child(2) { width: 67%; }
}


/* ---------------------------------------------------
	sec_info
------------------------------------------------------ */
#sec_info { background: var(--color-bg); color: #313131; padding: 145px 0 150px; }
#sec_info h2 { text-align: center; line-height: 1; margin-bottom: 75px; }
#sec_info h2 .ja { display: block; font-size: 40px; }
#sec_info h2 .font_en { display: block; font-size: 20px; margin-top: 25px; color: var(--color03); }
#sec_info dl div { display: flex; letter-spacing: 0.1em; }
#sec_info dl div dt { flex-shrink: 0; padding: 30px 0 30px 15px; box-sizing: border-box; }
#sec_info dl div dd { flex-grow: 1; border-bottom: 1px solid #cecece; padding: 30px 0 30px 70px; box-sizing: border-box; }
#sec_info dl div dd table th { font-weight: normal; text-align: left; padding-right: 1em; }
#sec_info dl div dd table td { text-indent: -0.8em; padding-left: 0.8em; }

@media screen and (min-width: 601px) {
	#sec_info dl div dt { width: 220px; border-bottom: 1px solid #70746f; }
}

@media screen and (max-width: 600px) {
	#sec_info { padding: 60px 0 80px; }
	#sec_info h2 { margin-bottom: 25px; }
	#sec_info h2 .ja { font-size: 26px; }
	#sec_info h2 .font_en { font-size: 15px; margin-top: 15px; }
	#sec_info dl div { flex-direction: column; position: relative; }
	#sec_info dl div::before { content: ''; position: absolute; bottom: 0; left: 0; width: 10%; height: 1px; background: #70746f;}
	#sec_info dl div dt { padding: 20px 0 5px 15px; }
	#sec_info dl div dd { padding: 0 0 20px 15px; }
}