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

#contents_wrap{ background: #f3efe9;}

/* ---------------------------------------------------
Eye-catch Image
------------------------------------------------------ */
.box_eyecatch{ position: relative; overflow: hidden;}
.box_eyecatch::before{ content: ""; display: block; width: 100%; height: 180px; background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%); position: absolute; top: 0; left: 0; z-index: 2;}
.box_eyecatch .box_slide{ position: relative; z-index: 1; line-height: 0; font-size: 0; height: 100vh;}
.box_eyecatch .img{ width: 100%; height: auto;}
.box_eyecatch .box_slide .slick-slide{ opacity: 1 !important; }
.box_eyecatch .box_slide .slick-list,
.box_eyecatch .box_slide .slick-track,
.box_eyecatch .box_slide .slick-slide > div{ height: 100%;}
.box_eyecatch .box_slide .slideobject{ height: 100%; opacity: 0; transition: 0s; padding-top: 50%; position: relative; z-index: 10; overflow: hidden; vertical-align: bottom; }
.box_eyecatch .box_slide .slideobject .img{ background-size: cover; background-repeat: no-repeat; background-position: 100% 50%; width: 100%; height: 100%; position: absolute; z-index: 10; top: 0; left: 0; right: 0; bottom: 0; }
.box_eyecatch .box_slide .slick-active .slideobject{ opacity: 1; transition: linear .7s; }
.box_eyecatch .box_slide .slick-continue .slideobject{ opacity: 0; transition: linear .7s; }
.box_eyecatch .box_slide .img{ transform: inherit; transition: inherit; }
.box_eyecatch .box_slide .slick-active .img{ transform: inherit; transition: inherit;  }
.box_eyecatch .box_slide .slick-continue .img{ transform: inherit; transition: inherit; }
.box_eyecatch .slick-dots{ bottom: 15px;}
.box_eyecatch .slick-dots li{ margin: 0;}
.box_eyecatch .slick-dots li button:before{ color: #fff; content: "○"; opacity: 1; font-size: 10px;}
.box_eyecatch .slick-dots li.slick-active button:before{ color: #fff; content: "●";}
.box_eyecatch .h1_logo{ z-index: 2; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 460px; height: 109px; margin: auto auto; color: #fff; text-align: center; display: flex; flex-direction: column; filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.8));}
.box_eyecatch .h1_logo img{ width: 100%; height: auto;}

@media screen and (max-width: 600px) {
.box_eyecatch{ width: 100%; margin: 0; overflow: hidden;}
.box_eyecatch .box_slide{ height: 550px; min-height: 0;}
.box_eyecatch .box_slide .slideobject{ padding-top: 100%;}
.box_eyecatch .h1_logo{ width: 300px; height: 71px;}
}

/* ---------------------------------------------------
Section Reservation
------------------------------------------------------ */
.sec_reservation{ padding: 60px 0 0;}
.sec_reservation .inner_md{ width: 100%; min-height: 160px; margin: 0 auto; display: flex; flex-direction: column;}
.sec_reservation .tit{ width: 100%; background: #f0dbd8; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 30px 0;}
.sec_reservation .tit .main{ display: inline-block; position: relative; font-size: 24px; line-height: 1.5; padding: 0 0 5px 35px; text-align: center; box-sizing: border-box;}
.sec_reservation .tit .main::before{ content:""; width: 30px; height: 22px; background: url("../img/ico_crown_01.webp") no-repeat 0 0; background-size: 30px; display: block; position: absolute; top: 5px; left: 0;}
.sec_reservation .tit .sub{ display: block; font-size: 16px; color: #c23e6c; text-align: center;}
.sec_reservation .box_in{ width: 100%; background: #fff; padding: 25px 35px; display: flex; justify-content: space-between;}
.sec_reservation #search_489ban{ width: 60%;}
.sec_reservation #search_489ban form{ display: flex; width: 100%;}
.sec_reservation #search_489ban .date_489ban{ margin: 0 10px 0 0; width: 33%}
.sec_reservation #search_489ban .date_489ban dd{ display: flex; flex-direction: column;}
.sec_reservation #search_489ban .date_489ban dd label{ white-space: nowrap;}
.sec_reservation #search_489ban input[type="text"]{ width: 100%; height: 50px; padding: 5px 20px 5px 10px; border: solid 1px #d3cecb; border-radius: 0; outline: none; font-size: 18px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; background: url("../img/ico_calender_02.svg") no-repeat right 8px center #fff; background-size: 16px; color: #603219; box-sizing: border-box;}

/*.sec_reservation #search_489ban input[type="date"]{ width: 100%; height: 50px; padding: 5px 20px 5px 10px; border: solid 1px #d3cecb; border-radius: 0; outline: none; font-size: 18px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; background-color: #fff; color: #603219; box-sizing: border-box;}*/
.sec_reservation #search_489ban input[type="date"] {
position: relative;
-webkit-appearance: none;
 width: 100%; height: 50px; padding: 5px 8px 5px 10px; border: solid 1px #d3cecb; border-radius: 0; outline: none; font-size: 18px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; background: #fff; color: #603219; box-sizing: border-box; text-align: left;
}
.sec_reservation #search_489ban input[type="date"]::-webkit-date-and-time-value { text-align: left !important;}
.sec_reservation #search_489ban input[type="date"]::-webkit-calendar-picker-indicator {
background: transparent;
z-index: 1;
}

.sec_reservation #search_489ban input[type="date"]::after {
content: '';
background-image: url("../img/ico_calender_02.svg");
background-repeat: no-repeat;
background-size: 16px;
background-position: 0 0;
width: 16px;
height: 16px;
position: absolute;
top: 50%;
right: 8px;
transform: translateY(-50%);
}

.sec_reservation #search_489ban input[type="text"]:disabled,
.sec_reservation #search_489ban input[type="date"]:disabled{ color: #ccc;}
.sec_reservation #search_489ban .inbox_489ban{ width: 33%;}
.sec_reservation #search_489ban select{ width: 100%; height: 50px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; border: solid 1px #d3cecb; border-radius:0; font-size: 18px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; outline: none; padding: 5px 20px 5px 10px; background: url("../img/ico_select_01.svg") no-repeat right 8px center #fff; background-size: 6px; color: #603219; box-sizing: border-box; line-height: 1.1;}
.sec_reservation #search_489ban select::-ms-expand { display: none; }
.sec_reservation #search_489ban input[type="checkbox"] { margin: 10px 5px 0 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid #c4c4c4; position: relative; vertical-align: text-bottom; border-radius: 0; height: 15px; width: 15px; padding: 0;}
.sec_reservation #search_489ban input[type="checkbox"]:checked { border: 1px solid #c4c4c4; }
.sec_reservation #search_489ban input[type="checkbox"]:checked::after { content: ""; display: block; position: absolute; top: -2px; left: 3px; width: 5px; height: 10px; transform: rotate(40deg); border-bottom: 3px solid #000; border-right: 3px solid #000; }
.sec_reservation #search_489ban button{ margin: 1.8em 0 0 10px; width: 33%; height: 50px; border-radius: 0; -webkit-box-sizing: border-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; outline:none; background: #af2656; text-align: center; z-index: 10; color: #fff; display: block; position: relative; padding: 0; transition: background 0.5s; font-size: 16px; font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif; letter-spacing: 0.15em; overflow: hidden;}
.sec_reservation #search_489ban button::after{ background: #9f1647; position: absolute; top: 0; left: 0; content: ''; width: 100%; height: 100%; transform: scale(0, 1); transform-origin: left top; transition: .5s cubic-bezier(0.45, 0, 0.55, 1); z-index: -1; }
.sec_reservation #search_489ban button:hover{ text-decoration: none; color: #fff;}
.sec_reservation #search_489ban button:hover::after{ transform: scale(1, 1);}
.sec_reservation .box_btns{ width: 40%; padding: 1.8em 0 0 10px; display: flex; justify-content: flex-end; flex-wrap: wrap;}
.sec_reservation .btn_01,
.sec_reservation .btn_02{ width: 47% !important; margin: 0 0 0 3%;}
.sec_reservation .btn_01 a,
.sec_reservation .btn_02 a{ height: 50px !important; line-height: 50px !important; font-size: 14px; background: #ede9e2 !important; color: #603219 !important;}
.sec_reservation .btn_01 a::after,
.sec_reservation .btn_02 a::after{ background: #e3ded6 !important;}
.sec_reservation .btn_03{ font-size: 15px; margin: 5px 0 0;}

@media screen and (max-width: 600px) {
.sec_reservation{ padding: 0;}
.sec_reservation .inner_md{ min-height: auto; flex-direction: column;}
.sec_reservation .tit{ width: 100%; padding: 30px 0;}
.sec_reservation .tit .main{ font-size: 16px; line-height: 1.5; padding: 0 0 5px 30px;}
.sec_reservation .tit .main::before{ width: 25px; height: 20px; background: url("../img/ico_crown_01.webp") no-repeat 0 0; background-size: 25px; top: 1px;}
.sec_reservation .tit .sub{ display: block; font-size: 13px; color: #c23e6c; text-align: center;}
.sec_reservation .box_in{ width: 100%; padding: 5%; justify-content: space-between; flex-direction: column; font-size: 15px;}
.sec_reservation #search_489ban{ width: 100%;}
.sec_reservation #search_489ban form{ flex-wrap: wrap;}
.sec_reservation #search_489ban .date_489ban{ margin: 0 10px 0 0; width: 48%}
.sec_reservation #search_489ban input[type="text"],
.sec_reservation #search_489ban input[type="date"] { font-size: 18px;}
.sec_reservation #search_489ban .inbox_489ban{ width: 48%;}
.sec_reservation #search_489ban select{ font-size: 18px;}
.sec_reservation #search_489ban button{ margin: 10px 0 0; width: 100%; font-size: 16px; z-index: 1;}
.sec_reservation .box_btns{ width: 100%; padding: 20px 0 0 0; justify-content: space-between;}
.sec_reservation .btn_01{ width: 54% !important; margin: 0;}
.sec_reservation .btn_02{ width: 42% !important; margin: 0;}
.sec_reservation .btn_01 a,
.sec_reservation .btn_02 a{ font-size: 14px; }
.sec_reservation .btn_03{ font-size: 15px; margin: 5px 0 0;}
}
@media screen and (max-width: 320px) {
.sec_reservation .btn_01,
.sec_reservation .btn_02{ width: 100% !important; margin: 0 0 10px;}
}

/* ---------------------------------------------------
Section Lead
------------------------------------------------------ */
.sec_lead{ background-color: #f3efe9; background-image: url("../../img/lead_bg_01.png"); background-repeat: no-repeat; background-position: center top; background-size: 1600px; position: relative; overflow: hidden;}
.sec_lead .box_01{ position: relative; min-height: 730px; width: 100%;}
.sec_lead .box_01 .box_txt{ width: 390px; position: absolute; top: 100px; left: calc( 50% - 600px );}
.sec_lead .tit_01{ font-size: 37px; line-height: 1.5; padding: 0 0 40px;}
.sec_lead .txt_01{ font-size: 16px; line-height: 1.8; padding: 0 0 1.8em;}
.sec_lead .box_01 .box_map{ width: 1102px; height: auto; position: absolute; right: calc( 50% - 870px ); bottom: 0;}
.sec_lead .ticker { display: flex;}
.sec_lead .ticker { width: 100%; overflow: hidden; position: relative; z-index: 0;}
.sec_lead .ticker ul{ display: flex; align-items: center; position: relative; width: auto; height: auto;}
.sec_lead .ticker ul { backface-visibility: hidden; will-change: transform;}
.sec_lead .ticker ul:first-child { animation: loop 100s -50s linear infinite;}
.sec_lead .ticker ul + ul { animation: loop2 100s linear infinite;}
.sec_lead .ticker ul li{ position: static;}
.sec_lead .ticker ul li{ width: 450px;}
.sec_lead .ticker ul li img{ width: 100%; height: auto;}

@media screen and (max-width: 600px) {
.sec_lead{ padding: 50px 0 0;}
.sec_lead .box_01{ position: relative; min-height: auto; width: 100%;}
.sec_lead .box_01 .box_txt{ width: 90%; position: static; margin: 0 auto;}
.sec_lead .tit_01{ font-size: 24px; line-height: 1.5; padding: 0 0 20px;}
.sec_lead .txt_01{ font-size: 15px; line-height: 1.7; padding: 0 0 1.7em;}
.sec_lead .box_01 .box_map{ width: 100%; height: auto; position: static;}
.sec_lead .ticker ul li{ width: 180px;}
}

@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%); }
}

/* ---------------------------------------------------
Box Banners
------------------------------------------------------ */
.box_bnrs{ background-color: #f3efe9; background-image: url("../../img/bnrs_bg_01.png"); background-repeat: no-repeat; background-position: center top; background-size: 1600px; position: relative; overflow: hidden; padding: 140px 0 0;}

.box_bnrs > div{}
.box_bnrs > div:nth-child(n+2){ padding: 30px 0 0;}

@media screen and (max-width: 600px) {
.box_bnrs{ padding: 50px 0 0;}
}

/* ---------------------------------------------------
Box Button Type01
------------------------------------------------------ */
.box_btn_01{ background-color: #f3efe9; padding: 50px 0 160px;}
.box_btn_01 a{ display: block; position: relative; color: #fff; overflow: hidden;}
.box_btn_01 .txt_01,
.box_btn_01 .txt_02,
.box_btn_01 .txt_03,
.box_btn_01 .txt_04,
.box_btn_01 .txt_05{ position: absolute; z-index: 2;}
.box_btn_01 .txt_01{ left: 60px; bottom: 120px; font-size: 16px; line-height: 1.1; padding: 5px 10px; color: #603219; background: #fff; }
.box_btn_01 .txt_02{ left: 60px; bottom: 60px; font-size: 32px; line-height: 1.1;}
.box_btn_01 .txt_03{ right: 60px; bottom: 60px; border: solid 1px #fff; width: 180px; height: 40px; font-size: 16px; line-height: 40px; text-align: center;}
.box_btn_01 .txt_03::after{ content: ""; display: block; width: 5px; height: 5px; border-right: solid 1px #fff; border-bottom: solid 1px #fff; position: absolute; top: 0; bottom: 0; right: 15px; margin: auto 0; transform: rotate(-45deg);}

.box_btn_01 .txt_04{ left: 60px; bottom: 100px; font-size: 32px; line-height: 1.1;}
.box_btn_01 .txt_05{ left: 60px; bottom: 60px; font-size: 16px; line-height: 1.1;}
.box_btn_01 .img{ width: 100%; height: auto; position: relative; z-index: 1; transition: all 0.8s;}
.box_btn_01 a:hover .img{ transform: scale(1.05); opacity: 1; filter: brightness(0.7);}

@media screen and (max-width: 600px) {
.box_btn_01{ padding: 40px 0;}
.box_btn_01 .txt_01{ top: 60px; bottom: inherit; left: 15px; font-size: 14px; line-height: 1.1; padding: 5px 10px; }
.box_btn_01 .txt_02{ top: 90px; bottom: inherit; left: 15px; font-size: 22px; line-height: 1.4;}
.box_btn_01 .txt_03{ display: none; /*right: 15px; bottom: 15px; width: 140px; height: 30px; font-size: 12px; line-height: 30px;*/}
/*.box_btn_01#facility .txt_03{ display: none;}*/
.box_btn_01 .txt_04{ top: 60px; bottom: inherit; left: 15px; font-size: 22px; line-height: 1.4;}
.box_btn_01 .txt_05{ top: 100px; bottom: inherit; left: 15px; font-size: 14px; line-height: 1.4; width: calc( 100% - 30px ); box-sizing: border-box;}
.box_btn_01 .img{ width: 100%; height: 200px; object-fit: cover; filter: brightness(0.7);}
}

/* ---------------------------------------------------
Section Recommend Plan
------------------------------------------------------ */
.sec_recommend{ background: #f9f7f4; padding: 100px 0; overflow: hidden;}
.sec_recommend .tit_01{ font-size: 40px; color: #603219; text-align: center;}
.sec_recommend .box_txt{ background: #f3e3e1; padding: 20px 0; margin: 25px auto 25px; text-align: center; font-size: 20px; line-height: 1.4; display: flex; align-items: center; justify-content: center; width: 1200px;}
.sec_recommend .box_txt .price{ font-size: 22px; color: #c23e6c; padding: 0 20px 0 10px; display: flex; align-items: center;}
.sec_recommend .box_txt em{ font-size: 36px; font-style: normal; font-weight: normal; display: inline-block;}
.sec_recommend .box_txt .btn_01{ background: #f9f1f0; font-size: 14px; line-height: 1; padding: 10px 20px; display: inline-block;}
.sec_recommend .box_slide{ width: 1230px; margin: 0 auto;}
.sec_recommend .slick-list{ padding: 15px 0;}
.sec_recommend .slick-slide{ margin: 0 15px; min-height: 390px;}
.sec_recommend .PlanView{ background: #fff; filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.2));}
.sec_recommend .slick-arrow{ width: 70px; height: 70px; background: #e4ded5 !important; border-radius: 70px; z-index: 2;}
.sec_recommend .slick-arrow:hover{ opacity: 0.75; background: #e4ded5 !important;}
.sec_recommend .slick-prev{ left: -90px;}
.sec_recommend .slick-next{ right: -90px;}
.sec_recommend .slick-arrow:before { opacity: 1; content: ''; background-repeat: no-repeat; background-position: 0 0; background-size: 20px; background-image: url("../img/ico_arrow_01.svg"); position: absolute; top: 0; left: 0; width: 20px; height: 16px;}
.sec_recommend .slick-prev{ transform: scale(-1, 1), translate(0, -50%);}
.sec_recommend .slick-dots{ text-align: left; width: 1200px; margin: 0 auto; padding: 0 10px;}
.sec_recommend .slick-slide img{ object-fit: cover; width: 100%; height: 250px;}
.sec_recommend .explan{ padding: 15px 20px 10px;}
.sec_recommend .planlist{ display: none;}
.sec_recommend .btn_02{ width: 1200px; margin: -20px auto 0; text-align: right;}

@media screen and (max-width: 600px) {
.sec_recommend{ padding: 40px 0;}
.sec_recommend .tit_01{ font-size: 26px; line-height: 1.4;}
.sec_recommend .box_txt{ padding: 5%; margin: 15px auto 15px; text-align: center; font-size: 16px; line-height: 1.4; display: block; width: 100%;}
.sec_recommend .box_txt .price{ font-size: 20px; padding: 0 0 0 10px; display: inline-block;}
.sec_recommend .box_txt em{ font-size: 26px; display: inline-block;}
.sec_recommend .box_txt .btn_01{ font-size: 14px; line-height: 1; padding: 10px 20px; display: inline-block; margin: 5px 0 0;}
.sec_recommend .box_slide{ width: 90%;}
.sec_recommend .slick-list{ padding: 10px 0;}
.sec_recommend .slick-slide{ margin: 0 10px; min-height: auto;}
.sec_recommend .slick-arrow{ width: 30px !important; height: 30px !important;}
.sec_recommend .slick-prev{ left: -30px !important; transform: scale(-1, 1), translate(0, -50%) !important;}
.sec_recommend .slick-next{ right: -30px !important;}
.sec_recommend .slick-arrow:before { background-size: 15px !important; top: 9px !important; left: 5px !important; width: 20px !important; height: 12px !important;}
.sec_recommend .slick-dots{ text-align: center; width: 90%; padding: 0;}
.sec_recommend .slick-slide img{ height: 200px;}
.sec_recommend .explan{ padding: 5%;}
.sec_recommend .btn_02{ width: 90%; margin: 5px auto 0; text-align: center;}
}

/* ---------------------------------------------------
Slide Type01
------------------------------------------------------ */
.slide_01 .slick-list{ width: 150%; margin: 0;}
.slide_01 .slick-slide{ margin: 0 8px; position: relative; line-height: 0;}
.slide_01 .cap{ position: absolute; bottom: 0; left: 0; background: #fff; font-size: 16px; line-height: 1.5; padding: 10px 15px; z-index: 2;}
.slide_01 .slick-slide img{ width: 100%; height: 660px; object-fit: cover; position: relative; z-index: 1;}
.slide_01 .slick-dots{ text-align: left; bottom: -30px;}

@media screen and (max-width: 600px) {
.slide_01 .slick-list{ width: 100%; margin: 0 auto;}
.slide_01 .slick-slide{ margin: 0; position: relative;}
.slide_01 .cap{ position: absolute; bottom: 0; left: 0; background: #fff; font-size: 14px; line-height: 1.5; padding: 10px 15px; z-index: 2;}
.slide_01 .slick-slide img{ width: 100%; height: 240px; object-fit: cover; position: relative; z-index: 1;}
.slide_01 .slick-dots{ text-align: center;}
}

/* ---------------------------------------------------
Section Cuisine
------------------------------------------------------ */
.sec_cuisine{ display: flex; justify-content: space-between; flex-direction: row-reverse; overflow: hidden;}
.sec_cuisine .tit_01{ font-size: 60px; color: #d08383; text-align: left; letter-spacing: 0.1em;}
.sec_cuisine .box_img{ width: 71.8%; padding: 150px 0 0;}
.sec_cuisine .box_txt{ width: 28.2%; padding: 150px 0 50px; position: relative; background-color: #f3efe9; background-image: url("../img/bg_deco_01.webp"); background-repeat: no-repeat; background-position: right top; z-index: 2; display: flex; align-items: center;}
.sec_cuisine .box_txt .box_in{ width: 90%; max-width: 270px; margin: 40px auto;}

.sec_cuisine .box_txt .gothic,
.sec_cuisine .box_txt .ja{ display: block;}
.sec_cuisine .box_txt .ja{ font-size: 45px; line-height: 1; letter-spacing: 0.3em; padding: 0 0 20px;}
.sec_cuisine .box_txt .gothic{ font-size: 12px; line-height: 1; letter-spacing: 0.2em; color: #daa089; padding: 0 0 40px 0;}
.sec_cuisine .box_txt .txt_01{ font-size: 16px; line-height: 1.7; padding: 0 0 20px;}
.sec_cuisine .box_txt .cmn_btn_02:nth-of-type(n+3){ border-top: none;}

@media screen and (max-width: 600px) {
.sec_cuisine{ padding: 0; flex-direction: column;}
.sec_cuisine .tit_01{ font-size: 28px;}
.sec_cuisine .box_img{ width: 100%; padding: 0;}
.sec_cuisine .box_txt{ width: 100%; padding: 0 0 50px; margin: 0; background-position: right top -100px;}
.sec_cuisine .box_txt .box_in{ width: 80%; max-width: 80%; margin: 20px auto 0;}
.sec_cuisine .box_txt .ja{ font-size: 28px; padding: 10px 0 20px;}
.sec_cuisine .box_txt .gothic{ font-size: 12px; padding: 0 0 30px 0;}
.sec_cuisine .box_txt .txt_01{ font-size: 14px; line-height: 1.7; padding: 0 0 20px;}
}

/* ---------------------------------------------------
Slide Type02
------------------------------------------------------ */
.slide_02 .slick-list{ width: 100%; margin: 0;}
.slide_02 .slick-slide{ margin: 0 8px; position: relative; line-height: 0;}
.slide_02 .cap{ position: absolute; bottom: 0; right: 0; background: #fff; font-size: 16px; line-height: 1.5; padding: 10px 15px; z-index: 2;}
.slide_02 .slick-slide img{ width: 100%; height: 660px; object-fit: cover; position: relative; z-index: 1;}
.slide_02 .slick-dots{ text-align: right; bottom: -30px;}

@media screen and (max-width: 600px) {
.slide_02 .slick-list{ width: 100%; margin: 0 auto;}
.slide_02 .slick-slide{ margin: 0; position: relative;}
.slide_02 .cap{ position: absolute; bottom: 0; right: 0; background: #fff; font-size: 14px; line-height: 1.5; padding: 10px 15px; z-index: 2;}
.slide_02 .slick-slide img{ width: 100%; height: 240px; object-fit: cover; position: relative; z-index: 1;}
.slide_02 .slick-dots{ text-align: center;}
}

/* ---------------------------------------------------
Section Spa
------------------------------------------------------ */
.sec_spa{ display: flex; justify-content: space-between; flex-direction: row; overflow: hidden;}
.sec_spa .tit_01{ font-size: 60px; color: #d08383; text-align: left; letter-spacing: 0.05em;}
.sec_spa .box_img{ width: 71.8%; padding: 150px 0 0;}
.sec_spa .box_txt{ width: 28.2%; padding: 150px 0 50px; position: relative; background-color: #f3efe9; background-image: url("../img/bg_deco_01.webp"); background-repeat: no-repeat; background-position: right top; z-index: 2; display: flex; align-items: center;}
.sec_spa .box_txt .box_in{ width: 90%; max-width: 270px; margin: 40px auto;}
.sec_spa .box_txt .gothic,
.sec_spa .box_txt .ja{ display: block;}
.sec_spa .box_txt .ja{ font-size: 45px; line-height: 1; letter-spacing: 0.3em; padding: 0 0 20px;}
.sec_spa .box_txt .gothic{ font-size: 12px; line-height: 1; letter-spacing: 0.2em; color: #daa089; padding: 0 0 40px 0;}
.sec_spa .box_txt .txt_01{ font-size: 16px; line-height: 1.7; padding: 0 0 20px;}
.sec_spa .box_txt .cmn_btn_02:nth-of-type(n+3){ border-top: none;}

@media screen and (max-width: 600px) {
.sec_spa{ padding: 0; flex-direction: column;}
.sec_spa .tit_01{ font-size: 28px;}
.sec_spa .box_img{ width: 100%; padding: 0;}
.sec_spa .box_txt{ width: 100%; padding: 0 0 50px; margin: 0; background-position: right top -100px;}
.sec_spa .box_txt .box_in{ width: 80%; max-width: 80%; margin: 20px auto 0;}
.sec_spa .box_txt .ja{ font-size: 28px; padding: 10px 0 20px;}
.sec_spa .box_txt .gothic{ font-size: 12px; padding: 0 0 30px 0;}
.sec_spa .box_txt .txt_01{ font-size: 14px; line-height: 1.7; padding: 0 0 20px;}
}

/* ---------------------------------------------------
Section Room
------------------------------------------------------ */
.sec_room{ padding: 0 0 100px; display: flex; justify-content: space-between; flex-direction: row-reverse; overflow: hidden;}
.sec_room .tit_01{ font-size: 60px; color: #d08383; text-align: left; letter-spacing: 0.05em; line-height: 1.2; padding: 0 0 20px;}
.sec_room .box_img{ width: 71.8%; padding: 150px 0 0;}
.sec_room .box_txt{ width: 28.2%; padding: 150px 0 50px; position: relative; background-color: #f3efe9; background-image: url("../img/bg_deco_01.webp"); background-repeat: no-repeat; background-position: right top; z-index: 2; display: flex; align-items: center;}
.sec_room .box_txt .box_in{ width: 90%; max-width: 270px; margin: 40px auto;}
.sec_room .box_txt .gothic,
.sec_room .box_txt .ja{ display: block;}
.sec_room .box_txt .ja{ font-size: 45px; line-height: 1; letter-spacing: 0.3em; padding: 0 0 20px;}
.sec_room .box_txt .gothic{ font-size: 12px; line-height: 1; letter-spacing: 0.2em; color: #daa089; padding: 0 0 40px 0;}
.sec_room .box_txt .txt_01{ font-size: 16px; line-height: 1.7; padding: 0 0 20px;}
.sec_room .box_txt .note_01{ font-size: 16px; line-height: 1.7; padding: 20px 0 0 0.5em; text-indent: -0.5em; color: #ae2353;}

@media screen and (max-width: 600px) {
.sec_room{ padding: 0; flex-direction: column;}
.sec_room .tit_01{ font-size: 28px; padding: 0 0 10px;}
.sec_room .box_img{ width: 100%; padding: 0;}
.sec_room .box_txt{ width: 100%; padding: 0 0 50px; margin: 0; background-position: right top -100px;}
.sec_room .box_txt .box_in{ width: 80%; max-width: 80%; margin: 20px auto 0;}
.sec_room .box_txt .ja{ font-size: 28px; padding: 10px 0 20px;}
.sec_room .box_txt .gothic{ font-size: 12px; padding: 0 0 30px 0;}
.sec_room .box_txt .txt_01{ font-size: 14px; line-height: 1.7; padding: 0 0 20px;}
}

/* ---------------------------------------------------
Section Access
------------------------------------------------------ */
.sec_access { padding: 150px 0; background: #fff;}
.sec_access .wrap{ width: 100%; display: flex; flex-direction: row-reverse; align-items: center;}
.sec_access .box_txt{ width: 37.5%; max-width: 370px; margin: 0 auto 0 100px;}
.sec_access .box_txt .tit_01{ text-align: left; font-size: 35px; letter-spacing: 0.1em; color: #603219; padding: 0 0 20px;}
.sec_access .box_txt .list_01{ margin: 20px 0 0;}
.sec_access .box_txt .list_01 li::before{ content: "・";}
.sec_access .box_txt .btn_01{ margin: 20px 0 0;}
.sec_access .box_txt .btn_02{ margin: 15px 0 0;}
.sec_access .box_txt .btn_02 a{ color: #c87e94;}
.sec_access .box_txt .btn_02 a.ho_line_01 span::after { background: #c87e94;}
.sec_access .box_gmap{ width: 62.5%; line-height: 0;}
.sec_access .box_gmap iframe{ width: 100%; height: 650px;}

@media screen and (max-width: 600px) {
.sec_access { padding: 50px 0;}
.sec_access .wrap{ width: 100%; flex-direction: column;}
.sec_access .box_txt{ width: 90%; max-width: 90%; margin: 0 auto; padding: 0 0 30px;}
.sec_access .box_txt .tit_01{ font-size: 26px; letter-spacing: 0.05em; padding: 0 0 10px;}
.sec_access .box_txt .txt_01{ font-size: 14px; line-height: 1.7; letter-spacing: 0.05em;}
.sec_access .box_txt .list_01{ margin: 20px 0 0; font-size: 14px; line-height: 1.7; letter-spacing: 0.05em;}
.sec_access .box_txt .btn_01{ margin: 20px 0 0; width: 100%; font-size: 14px; letter-spacing: 0.05em;}
.sec_access .box_txt .btn_02{ margin: 15px 0 0; text-align: center; font-size: 14px; letter-spacing: 0.05em;}
.sec_access .box_gmap{ width: 100%;}
.sec_access .box_gmap iframe{ height: 350px;}
}

/* ---------------------------------------------------
Section Information
------------------------------------------------------ */
.sec_info { padding: 150px 0;}
.sec_info .tit_01{ text-align: center; font-size: 35px; letter-spacing: 0.1em; color: #603219; padding: 0 0 80px;}
.sec_info .list_01{ border-top: solid 1px #d6c9bf;}
.sec_info .list_01 > div{ border-bottom: solid 1px #d6c9bf; display: flex; width: 100%;}
.sec_info .list_01 dt,
.sec_info .list_01 dd{ padding: 20px 30px; box-sizing: border-box;}
.sec_info .list_01 dt{ width: 22%; background: rgba(255,255,255,0.6); font-weight: bold;}
.sec_info .list_01 dd{ width: 78%; padding: 20px 40px;}
.sec_info .list_02 li{ padding: 0 0 0 0.5em; text-indent: -0.5em;}
.sec_info .list_02 li::before{ content: "- ";}

@media screen and (max-width: 600px) {
.sec_info { padding: 50px 0;}
.sec_info .tit_01{ font-size: 26px; letter-spacing: 0.05em; padding: 0 0 30px;}
.sec_info .list_01 > div{ flex-direction: column; width: 100%;}
.sec_info .list_01 dt,
.sec_info .list_01 dd{ padding: 10px 15px; font-size: 14px;}
.sec_info .list_01 dt{ width: 100%;}
.sec_info .list_01 dd{ width: 100%; padding: 10px 15px;}
}
