@charset "UTF-8";
/* CSS Document */

.sec_detail { position: relative;}
.sec_detail::before{ content: ""; display: block; width: 1378px; height: 75px; background:url("../img/bg_maintit_01.webp") no-repeat 0 0; background-size: 1378px; position: absolute;top: 0; left: calc( 50% + 90px );}
@media screen and (max-width: 600px) {
.sec_detail::before{ width: 689px; height: 38px; background:url("../img/bg_maintit_01.webp") no-repeat 0 0; background-size: 689px; left: calc( 50% - 60px );}
}


/* ---------------------------------------------------
	Section Detail
------------------------------------------------------ */
.sec_detail { letter-spacing: 0.15em;}
.sec_detail .tit_01{ padding: 130px 0 30px; text-align: center; font-size: 20px; line-height: 1.8; letter-spacing: 0.2em;}
.sec_detail .tit_01 span { font-size: 24px; display: block; }
.sec_detail .box_in{ width: 80%; max-width: 840px; margin: 0 auto; padding: 0 0 120px;}
.sec_detail .lead_col { padding: 35px 0 60px; }
.sec_detail .tit_03 { font-size: 22px; margin-bottom: 25px; }
.sec_detail .txt_01{ line-height: 2.1; }
.sec_detail .special_box01 { display: flex; justify-content: center; gap: 3.5%; width: 90%; }
.sec_detail .special_box01 .photo_col { width: 31.1%; }
.sec_detail .special_box01 .photo_col .txt { margin-top: 5px; }
.sec_detail .special_box02 { width: 80%; max-width: 840px; margin: 55px auto 50px; padding: 40px 50px 70px; background: url(/img/ja/rooms/special02_bg_01.webp) no-repeat top right/cover,#000; color: #d4d1ca; counter-reset: number 0; position: relative; }
.sec_detail .special_box02 .tit_04 { font-size: 24px; text-align: center; color: #9c937d; margin-bottom: 40px; letter-spacing: 0.2em; }
.sec_detail .special_box02 dl dt { margin-bottom: 25px; font-size: 18px; }
.sec_detail .special_box02 ol { list-style: none;  }
.sec_detail .special_box02 ol li { line-height: 1.4; padding-left: calc(0.8em + 10px); text-indent: calc((0.8em + 10px) * -1); }
.sec_detail .special_box02 ol li + li { margin-top: 20px; }
.sec_detail .special_box02 ol li::before { counter-increment: number 1; content: counter(number)'.'; font-family: 'Cormorant Garamond'; font-size: 22px; margin-right: 10px; line-height: 1; }
.sec_detail .tit_02{ font-size: 20px; line-height: 1; letter-spacing: 0.2em; color: #9c937d; padding: 0 0 10px;}
.sec_detail .sec_data{ padding: 20px 0 20px; border-bottom: solid 1px #d1ccc7;}
.sec_detail .sec_data .tit_02{ padding: 0 0 30px;}
.sec_detail .txt_02{ line-height: 2.2; letter-spacing: 0.2em;}
.sec_detail .sec_layout{ padding: 80px 0 0;}
.sec_detail .sec_layout .tit_02{ padding: 0 0 20px;}
.sec_detail .sec_layout .tit_02 span { font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; font-size: 16px; margin-left: 10px; }
.sec_detail .box_slide { width: 100%; }
.sec_detail .box_slide.slide_basic { max-width: 100%; }
.sec_detail .box_slide.slide_basic .slick-slide { margin: 0; }
.sec_detail .box_slide.box_slide .slick-dots { bottom: -35px; }
.sec_detail .box_layout{ background: #f9f8f7; padding: 0; text-align: center; width: 100%;}
.sec_detail .sec_calendar{ padding: 70px 0 0;}
.sec_detail .sec_calendar .calendar_489ban{ display: flex; justify-content: space-between; align-items: flex-start;}
.sec_detail .sec_calendar .calendar_489ban caption{ font-size: 20px; padding: 10px 0 0; text-align: left;}
.sec_detail .sec_calendar table{ width: 48%; color: #4f443a;letter-spacing: 0;}
.sec_detail .sec_calendar thead th{ background: #e3e0da; padding: 20px 0; border-right: solid 1px #dad6cf;}
.sec_detail .sec_calendar thead th:first-of-type{ color: #b06d66;}
.sec_detail .sec_calendar thead th:last-of-type{ color: #7276b3; border-right: none;}
.sec_detail .sec_calendar tbody td{ background: #fff; text-align: center; padding: 7px 0; border-right: solid 1px #dad6cf; border-bottom: solid 1px #dad6cf;}
.sec_detail .sec_calendar tbody td:first-of-type{ color: #b06d66;}
.sec_detail .sec_calendar tbody td:last-of-type{ border-right: none; color: #7276b3;}
.sec_detail .sec_calendar .note{ font-size: 13px; line-height: 1.5; letter-spacing: 0.05em; padding: 10px 0 0;}
.sec_detail .btn_01{ text-align: center; display: flex; justify-content: center; padding: 50px 0; font-size: 16px; line-height: 1; letter-spacing: 0.15em;}
.sec_detail .btn_01 a { width: fit-content; color: #4f443a; }
.sec_detail .btn_01 .cmn_link_02::after { display: none;}
.sec_detail .btn_02 a{ width: 450px; height: 70px; background: #666362; display: flex; justify-content: center; align-items: center; margin: 0 auto; font-size: 16px; line-height: 1; letter-spacing: 0.15em; color: #fff; transition: all 0.5s;}
.sec_detail .btn_02 a:hover{ text-decoration: none; background-color:#84807F;}

@media screen and (max-width: 600px) {
.sec_detail .tit_01{ padding: 60px 0 30px; font-size: 17px; line-height: 1.6; }
.sec_detail .tit_01 span { font-size: 20px; }
.sec_detail .box_in{ width: 80%; max-width: 80%; padding: 0 0 70px;}
.sec_detail .lead_col { padding: 25px 0 35px; }
.sec_detail .tit_03 { font-size: 18px; margin-bottom: 15px; }
.sec_detail .txt_01{ line-height: 1.8; letter-spacing: 0.2em;}
.sec_detail .special_box01 { width: 80%; flex-wrap: wrap; justify-content: space-between; gap: 20px 4%; }
.sec_detail .special_box01 .photo_col { width: max(190px, 48%); flex-grow: 1; }
.sec_detail .special_box01 .photo_col .txt { font-size: 14px; }
.sec_detail .special_box01:after { content: ''; width: max(190px, 48%); display: block; }
.sec_detail .special_box02 { width: 80%; max-width: 80%; margin: 35px auto 10px; padding: 30px 5% 50px; background-size: auto 100%; background-position: top right calc(50% + 5vw); }
.sec_detail .special_box02::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.35); z-index: 0;}
.sec_detail .special_box02 .tit_04 { position: relative; font-size: 20px; margin-bottom: 25px; }
.sec_detail .special_box02 dl { position: relative; }
.sec_detail .special_box02 dl dt { margin-bottom: 15px; font-size: 16px; }
.sec_detail .special_box02 ol li { font-size: 14px; }
.sec_detail .special_box02 ol li + li { margin-top: 15px; }
.sec_detail .special_box02 ol li::before { font-size: 20px; margin-right: 5px; }
.sec_detail .tit_02{ font-size: 18px; line-height: 1; letter-spacing: 0.2em; padding: 0 0 10px;}
.sec_detail .sec_layout .tit_02 span { font-size: 14px; margin-left: 5px; }
.sec_detail .sec_data{ padding: 20px 0 20px;}
.sec_detail .sec_data .tit_02{ padding: 0 0 10px;}
.sec_detail .txt_02{ line-height: 1.8; letter-spacing: 0.2em;}
.sec_detail .sec_layout{ padding: 30px 0 0;}
.sec_detail .box_layout{ padding: 0;}
.sec_detail .box_layout img{ width: 100%; height: auto;}
.sec_detail .box_slide.box_slide .slick-dots { bottom: -25px; }
.sec_detail .box_slide.box_slide .img img { height: 55vw; }
.sec_detail .sec_calendar{ padding: 30px 0 0;}
.sec_detail .sec_calendar .calendar_489ban{ flex-direction: column;}
.sec_detail .sec_calendar .calendar_489ban caption{ font-size: 16px; padding: 5px 0 0;}
.sec_detail .sec_calendar table{ width: 100%; margin: 0 0 30px;}
.sec_detail .sec_calendar table:last-child { margin: 0; }
.sec_detail .sec_calendar thead th{ padding: 10px 0;}
.sec_detail .sec_calendar tbody td{ padding: 5px 0;}
.sec_detail .sec_calendar .note{ font-size: 13px; line-height: 1.5; letter-spacing: 0.05em; padding: 10px 0 0;}
.sec_detail .btn_01{ padding: 20px 0 40px; font-size: 16px; line-height: 1; letter-spacing: 0.15em;}
.sec_detail .btn_02 a{ width: 100%; height: 60px; font-size: 15px; }

.sec_detail .box_slide .slick-dots li { width: 46px !important;}
}


/* ---------------------------------------------------
	Section Detail
------------------------------------------------------ */
.sec_brother{ position: relative; padding: 0 0 120px;}
.sec_brother::before{ content: ""; display: block; width: 1px; height: 120px; background: #c1b8af; position: absolute; top: -60px; left: 50%;}
.sec_brother .tit{ font-size: 26px; line-height: 1; color: #9c937d; letter-spacing: 0.3em; text-align: center; padding: 100px 0 50px;}
.sec_brother .slide_brother{ width: 1200px; margin: 0 auto;}
.sec_brother .img img{ width: 100%; height: 220px; object-fit: cover;}
.sec_brother .name{ text-align: center; font-size: 14px; line-height: 1.6; letter-spacing: 0.15em; padding: 10px 0 0; color: #d4d1ca;}
.sec_brother .slick-arrow,
.sec_brother .slick-arrow:hover{ width: 100px; height: 110px; transform: translate(0, -70%) !important;}
.sec_brother .slick-next{ right: -50px; }
.sec_brother .slick-prev{ left: -50px; }
.sec_brother .slick-arrow::before{ width: 70px; height: 70px;}

@media screen and (max-width: 600px) {
.sec_brother{ padding: 0 0 40px;}
.sec_brother::before{ height: 60px; top: -30px;}
.sec_brother .tit{ font-size: 20px; padding: 40px 0 20px;}
.sec_brother .slide_brother{ width: 90%; margin: 0 auto;}
.sec_brother .img img{ height: max(100px, 22vw);}
.sec_brother .name{ font-size: 13px; line-height: 1.6; letter-spacing: 0.15em; padding: 10px 0 0;}

}