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

.cmn_tit { font-size: 32px; text-align: center; line-height: 1.4;}
/*.cmn_tit .en { color: #949dc2; display: block; font-size: 16px; margin-bottom: 10px;}
.cmn_tit .small { display: block; font-size: 22px; line-height: 1;}*/

.cmn_txtbox dt { font-size: 28px; line-height: 1.6;}
.cmn_txtbox dd { margin-top: 30px;}
.cmn_txtbox dd p + p { margin-top: 20px;}
.cmn_tit + .inner_lg { margin-top: 35px;}

.inner_sm { width: 1100px; max-width: calc(98% - 180px); margin: 0 auto;}

@media screen and (max-width: 600px) {
.cmn_tit { font-size: 24px;}
/*.cmn_tit .small { font-size: 16px;}*/

.cmn_txtbox dt { font-size: 22px;}
.cmn_txtbox dd { margin-top: 15px;}
.cmn_txtbox dd p + p { margin-top: 15px;}
.cmn_tit + .inner_lg { margin-top: 15px;}

.inner_sm { max-width: 92%;}
}

/* ---------------------------------------------------
box_lead
------------------------------------------------------ */
.box_lead{ padding: 100px 0; border-bottom: solid 1px #303030;}
.box_lead .txt_01{ text-align: center; padding: 30px 0 0; font-size: 16px; line-height: 2; letter-spacing: 0.1em;}

@media screen and (max-width: 600px) {
.box_lead{ padding: 50px 0;}
.box_lead .txt_01{ text-align: left; padding: 30px 5% 0; font-size: 15px; line-height: 1.7;}
}

/* ---------------------------------------------------
cnav_wrap
------------------------------------------------------ */
#cnav_wrap { padding: 0 0 80px; position: relative;}
#cnav_wrap::before { content: ''; display: block; width: 465px; height: 565px; z-index: -1; background: url(../../common/img/bg_circle_half.jpg)no-repeat center; background-size: contain; position: absolute; top: 30px; right: 0; }
#cnav_wrap .cnav { margin-top: 80px; display: flex; justify-content: space-between; align-items: stretch; border-right: 1px solid #404040;}
#cnav_wrap .cnav li { width: calc((100% - 4px)/ 5); border-left: 1px solid #404040;}
/*#cnav_wrap .cnav li + li { border-left: 1px solid #404040;}*/
#cnav_wrap .cnav li a { display: flex; justify-content: center; align-items: center; box-sizing: border-box; height: 100%; padding: 20px 0; font-size: 16px; text-align: center; transition: opacity .3s; line-height: 1.6;}

@media screen and (hover: hover) {
#cnav_wrap .cnav li a:hover { opacity: .6; text-decoration: none;}
}

@media screen and (max-width: 600px) {
#cnav_wrap { padding: 5vw 0 20px;}
#cnav_wrap::before { width: 35vw; height: 43vw; top: auto; bottom: -10vw;}

#cnav_wrap .cnav { margin-top: 10px; flex-direction: column; border-right: none; border-top: 1px solid #404040;}
#cnav_wrap .cnav li { width: 100%; border-left: none; border-bottom: 1px solid #404040;}
#cnav_wrap .cnav li a { font-size: 15px; line-height: 1.4; padding: 15px 0 15px 40px; position: relative;}
#cnav_wrap .cnav li a::before{ content: ""; display: block; width: 8px; height: 8px; border-bottom: solid 1px #fff; border-right: solid 1px #fff; transform: translateY(-55%) rotate(45deg); position: absolute; top: 50%; left: 20px; }
}

/* ---------------------------------------------------
menu_introduction（共通）
------------------------------------------------------ */
.menu_intro { padding: 30px 0 80px; width: 1240px; max-width: calc(98% - 180px); margin: 0 auto;}
.menu_intro h3 { font-size: 28px; text-align: center;}
.menu_intro h3 + p { text-align: center; margin-top: 20px;}
.menu_intro h3 + p span { display: inline-block; line-height: 1.4; padding: 0 5px;}
.menu_intro h3 + p span + span { margin-left: 8px;}
.menu_intro h3 + p span:first-of-type { background: #5e5473;}
.menu_intro h3 + p span:nth-of-type(2) { background: #4e4031;}
.menu_intro h3 + p span:nth-of-type(3) { background: #3a4258;}
.menu_intro h3 + p a { text-decoration: underline;}
.menu_intro .slick_wrap { margin-top: 60px;}
.menu_intro .slick-track { display: flex;}
.menu_intro .slick-slide { margin: 0 20px; background: url(../../common/img/sec_bg02.jpg); height: auto;}
.menu_intro .arrow_slick .list img { width: 100%; height: 270px;}
.menu_intro .arrow_slick .list div { padding: 10px 15px 30px;}
.menu_intro .arrow_slick .list h4 { font-size: 20px; line-height: 1.5; margin-bottom: 10px;}
.menu_intro .arrow_slick .list p { font-size: 14px; line-height: 1.8; margin-top: 5px;}
.menu_intro .slick-counter { text-align: center; margin-top: 20px; font-size: 20px;}
.menu_intro .slick-counter .count-current { font-size: 28px; color: #6c769c;}

@media screen and (max-width: 600px) {
.menu_intro { padding: 40px 0 50px; max-width: 92%;}
.menu_intro h3 { font-size: 22px; line-height: 1.4;}
.menu_intro h3 + p { text-align: left;}
.menu_intro .slick_wrap { margin-top: 20px;}
.menu_intro .arrow_slick .list div { padding: 10px 15px 15px;}
.menu_intro .arrow_slick .list img { height: 55vw;}
.menu_intro .slick-counter { font-size: 18px; margin-top: 10px;}
.menu_intro .slick-counter .count-current { font-size: 26px;}
}

/* ---------------------------------------------------
#sec01
------------------------------------------------------ */
#sec01 { padding: 40px 0 0;}
#sec01 .box_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 60px;}
#sec01 .box_wrap .cmn_txtbox { width: 500px;}
#sec01 .box_wrap .dots_slick { width: calc(95% - 500px);}
#sec01 .box_wrap .dots_slick .slick-list { height: 100%;}
#sec01 .box_wrap .dots_slick .slick-list .slick-track,
#sec01 .box_wrap .dots_slick .slick-list .slick-track * { height: 100%; }
#sec01_1 { margin-top: 65px; border: 2px solid #282929; padding: 50px 20px 420px; text-align: center; background: url(../../cuisine/img/kaiseki_sec01_1_bg.jpg)no-repeat center bottom 35px; text-shadow: 0 0 5px #000, 0 0 5px #000; }
#sec01_1 h3 { font-size: 28px; margin-bottom: 35px;}
#sec01_1 p + p { margin-top: 30px;}

@media screen and (max-width: 600px) {
#sec01 { padding: 30px 0 0;}
#sec01 .box_wrap { margin-top: 25px;}
#sec01 .box_wrap .cmn_txtbox { width: 100%;}
#sec01 .box_wrap .dots_slick { width: 100%;}
#sec01 .box_wrap .dots_slick { margin-top: 30px;}
#sec01_1 { margin-top: 30px; padding: 30px 15px 37vw; text-align: left; background: url(../../cuisine/img/kaiseki_sec01_1_bg_sp.jpg)no-repeat center bottom 10px; background-size: 100%; }
#sec01_1 h3 { font-size: 22px; text-align: center; margin-bottom: 15px;}
#sec01_1 p + p { margin-top: 15px;}
}

/* ---------------------------------------------------
#sec02
------------------------------------------------------ */
#sec02 { padding: 90px 0 120px;}
#sec02 .inner_lg { position: relative;}
#sec02 .inner_lg img:nth-of-type(2) { position: absolute; right: 100px; bottom: 30px; filter: drop-shadow(0 0 1px #000) drop-shadow(0 0 3px #000);}
#sec02 .inner_md > .cmn_txtbox { margin-top: 40px;}
#sec02 .box_wrap { margin-top: 85px; display: flex; flex-wrap: wrap; justify-content: space-between;}
#sec02 .box_wrap .photo { width: 48%;}
#sec02 .box_wrap .cmn_txtbox { width: 48%;}
#sec02 .box_wrap .cmn_txtbox dt { font-size: 22px;}

@media screen and (max-width: 600px) {
#sec02 { padding: 50px 0;}
#sec02 .inner_lg img:nth-of-type(2) { width: 120px; right: 5px; bottom: 5px;}
#sec02 .inner_md > .cmn_txtbox { margin-top: 20px;}
#sec02 .box_wrap { margin-top: 25px;}
#sec02 .box_wrap .photo { width: 100%;}
#sec02 .box_wrap .cmn_txtbox { width: 100%; margin-top: 20px;}
#sec02 .box_wrap .cmn_txtbox dt { font-size: 20px;}
}

/* ---------------------------------------------------
#sec03
------------------------------------------------------ */
#sec03 { padding: 80px 0 0; background: url("../../lg_common/img/cmn/bg_pattern_gr.gif");}
#sec03 .con { margin-top: 50px; height: 780px; background: url(../../cuisine/img/kaiseki_sec04_bg.jpg)no-repeat; background-size: cover;}
#sec03 .con > div { display: flex; flex-direction: column; justify-content: center; height: 100%;}
#sec03 .con > div > p { text-align: center; text-shadow: 0 0 5px #000, 0 0 5px #000;}
#sec03 .con > div > ul { margin-top: 90px; display: flex; flex-wrap: wrap; justify-content: space-between;}
#sec03 .con > div > ul li { width: 30%; background: #fff; color: #000; position: relative; padding: 60px 10px 35px;}
#sec03 .con > div > ul li h3 { font-size: 26px; text-align: center;}
#sec03 .con > div > ul li h3 span { position: absolute; padding: 0 15px; font-size: 14px; color: #fff; top: 0; left: 0; display: block; width: 100%; box-sizing: border-box;}
#sec03 .con > div > ul li:first-of-type h3 span { background: #41486b;}
#sec03 .con > div > ul li:nth-of-type(2) h3 span { background: #323232;}
#sec03 .con > div > ul li:nth-of-type(3) h3 span { background: #837559;}
#sec03 .con > div > ul li p { margin-top: 10px; text-align: center;}
#sec03 .con > div > ul li p a { display: inline-block; border-bottom: 1px solid #000; color: #000;}
#sec03 .con > div > ul li p a:hover{ text-decoration: none; border-bottom: none;}

@media screen and (max-width: 600px) {
#sec03 { padding: 40px 0 0;}
#sec03 .con { padding: 40px 0 50px; margin-top: 20px; background-image: url(../../cuisine/img/kaiseki_sec04_bg_sp.jpg); height: auto;}
#sec03 .con > div > ul { margin-top: 30px; justify-content: center;}
#sec03 .con > div > ul li { width: 350px; max-width: 90%; padding: 30px 10px 20px;}
#sec03 .con > div > ul li + li { margin-top: 15px;}
#sec03 .con > div > ul li h3 { font-size: 18px;}
#sec03 .con > div > ul li h3 span { font-size: 13px;}
#sec03 .con > div > ul li p { margin-top: 5px; font-size: 15px;}
}

/* ---------------------------------------------------
#sec04
------------------------------------------------------ */
#sec04 { padding: 80px 0 120px; background: url(../../common/img/bg_circle.jpg)no-repeat left -100px top -60px;}
#sec04 .inner { width: 1000px; max-width: calc(98% - 180px); margin: 60px auto 0;}
#sec04 .txt { margin-top: 40px;}
#sec04 .txt p + p { margin-top: 20px;}
#sec04 .txt{ display:flex; justify-content:space-between;}
#sec04 .txt > div:first-child{ width:100%;}
/*#sec04 iframe {width:100%;height:100%;}
#sec04 .txt > div:nth-child(2){width:47%;}*/

@media screen and (max-width: 600px) {
#sec04 { padding: 40px 0 50px; background: url(../../common/img/bg_circle.jpg)no-repeat left -100px top 60px;}
#sec04 .inner { max-width: 92%; margin-top: 15px;}
#sec04 .txt { margin-top: 20px;}
#sec04 .txt p + p { margin-top: 15px;}
#sec04 .txt{ display:block;}
#sec04 .txt > div:first-child{ width:initial;}
#sec04 .txt > div:nth-child(2){ width:initial; margin-top:20px; text-align:center;}
/*#sec04 iframe{height: 200px;}*/
}

.inner_1000 { width: 1000px; max-width: calc(98% - 180px); margin: 0 auto;}
.info_box { text-align: center; margin-top: 20px;}
.info_box span { display: inline-block; border: 1px solid #4f4f4f; width: 350px; padding: 3px 0;}
.info_box + .photo { margin-top: 50px;}
.price_list { margin-top: 50px;}
.price_list li { display: flex; align-items: center; justify-content: space-between; font-size: 20px; padding: 10px 15px; border-bottom: 1px solid #3c3c3c;}
.price_list li .small { font-size: 16px;}
.note,
.note_wrap li { padding-left: 1em; text-indent: -1em;}
.note::before,
.note_wrap li::before { content: '* ';}
.note.tw::before,
.note_wrap.tw li::before { content: '※';}
.note,
.note_wrap { margin-top: 15px;}

@media screen and (max-width: 600px) {
.inner_1000 { width: 92%; max-width: none;}
.info_box { margin-top: 10px;}
.info_box span { width: 260px;}
.info_box + .photo { margin-top: 20px;}
.price_list { margin-top: 20px;}
.price_list li { flex-direction: column; align-items: flex-start; font-size: 16px; padding: 8px 10px;}
.price_list li .price { align-self: flex-end;}
.price_list li .small { font-size: 14px;}
}

/* ---------------------------------------------------
#sec05
------------------------------------------------------ */
#sec05 { padding: 100px 0 40px; background: url("../../lg_common/img/cmn/bg_pattern_gr.gif");}
#sec05 .box_in .txt_01{ text-align: center; padding: 30px 0 0; font-size: 16px; line-height: 2; letter-spacing: 0.1em;}
#sec05 h2 { display: flex; align-items: center; justify-content: center;}
#sec05 h2 span:first-of-type { font-size: 28px; line-height: 1.4; margin-right: 12px;}
#sec05 h2 span .amiri { display: block; font-size: 16px;}
#sec05 .inner_lg { margin-top: 50px;}
#sec05 .box_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 60px;}
#sec05 .box_wrap .cmn_txtbox { width: 500px;}
#sec05 .box_wrap .dots_slick { width: calc(95% - 500px);}
#sec05 .box_wrap .dots_slick .slick-list { height: 100%;}
#sec05 .box_wrap .dots_slick .slick-list .slick-track,
#sec05 .box_wrap .dots_slick .slick-list .slick-track * { height: 100%; }
#sec05 .box_wrap .dots_slick .slick-dots { justify-content: flex-end;}

@media screen and (max-width: 600px) {
#sec05 { padding: 50px 0 0;}
#sec05 .box_in .txt_01{ text-align: left; padding: 30px 5% 0; font-size: 15px; line-height: 1.7;}
#sec05 h2 { justify-content: center;}
#sec05 h2 span:first-of-type { font-size: 22px; margin-right: 10px;}
#sec05 h2 span .amiri { font-size: 15px;}
#sec05 h2 img { width: 110px;}
#sec05 .inner_lg { margin-top: 20px;}
#sec05 .box_wrap { margin-top: 30px;}
#sec05 .box_wrap .cmn_txtbox { width: 100%;}
#sec05 .box_wrap .dots_slick { width: 100%; margin-top: 30px;}
}

/* ---------------------------------------------------
#sec06
------------------------------------------------------ */
#sec06 { padding: 70px 0 100px; background-image: url("../../common/img/bg_circle_02.webp") , url("../../lg_common/img/cmn/bg_pattern_gr.gif"); background-repeat: no-repeat , repeat; background-position: left -100px top 60px , center center; }
#sec06 .photo { position: relative;}
#sec06 .photo img { width: 100%;}
#sec06 .photo span { position: absolute; bottom: 3px; right: 15px; text-shadow: 0 0 5px #000, 0 0 5px #000;}

@media screen and (max-width: 600px) {
#sec06 { padding: 40px 0 50px;}
/*#sec06 .box_wrap { margin-top: 20px;}*/
#sec06 .photo { width: 100%;}
#sec06 .photo span { right: 5px;}
}

/* ---------------------------------------------------
#sec07
------------------------------------------------------ */
#sec07 { padding: 80px 0 150px; background: url("../../lg_common/img/cmn/bg_pattern_gr.gif");}
#sec07 .photo { position: relative;}
#sec07 .photo img { width: 100%;}
#sec07 .photo span { position: absolute; bottom: 3px; right: 15px; text-shadow: 0 0 5px #000, 0 0 5px #000;}
#sec07 .price_list { display: flex; justify-content: space-between;}
#sec07 .price_list ul { width: 48%;}

@media screen and (max-width: 600px) {
#sec07 { padding: 40px 0 60px;}
}

