@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

/* main_visual
----------------------------------- */
#sub_visual {padding-top:120px; height:250px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:250px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;padding-left:0;position:relative;text-align: center;}
#sub_visual .h1_container h1{font-size:40px; line-height: 100%;letter-spacing: 0.1em;font-weight: normal;text-transform: capitalize;margin-bottom: 20px;color:#fff;font-family: "Yuji Syuku", serif;text-shadow: 3px 3px 10px #000;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 14px; position: relative;z-index:0;}
#sub_contents p.colwhite{color: #fff;}
#sub_contents .section{max-width: 94%; margin: 70px auto 0px;position: relative;padding-bottom: 0px;width:94%;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;scroll-margin-top: 100px;}
#sub_contents h2{ text-align: center;font-size:20px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;width: 70%;}
#sub_contents h2.white{color:#fff;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;}
#sub_contents .txt_cen{ text-align: center; font-size:16px; line-height: 200%;}
#sub_contents .txt_cen.big{ font-size:17px;}
#sub_contents .txt_cen.strong{color: #b40000;}
#sub_contents .txt_cen.white{color: #fff;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 40px;}
#sub_contents .mb100{margin-bottom: 70px;}
#sub_contents .sub_bg{background:url(../images/sub_bg_02.png) repeat top;width: 100%; padding: 10px 0px 50px;z-index: 0;  z-index: 0;position: relative;background-size: cover;height: auto;}
#sub_contents .link_area a{padding:5px;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:94%;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:10px;padding:0 2%;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 5px;row-gap: 7px;}
#sub_contents .anker__item{width: 47%;position: relative;display: block;}
#sub_contents .anker__item.w50{width: 100%;}
#sub_contents .anker__item a:hover{opacity:.8;background-color: #b40000;color:#fff;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;font-weight: 500;border-radius: 9999px;color: #fff;background-color: #b40000;}

/* tab
----------------------------------- */
#sub_contents .tab_area {gap:20px;}
#sub_contents .tab {position: relative;width:100%; padding: 10px 0;font-size: 15px;text-align: center;cursor: pointer;transition: all ease 0.3s;border-bottom:2px solid #2a1400;}
#sub_contents .tab p.ttl {font-size: 16px;display: inline;}
#sub_contents .tab.is-active::after {position: absolute;bottom: -11px;left: 50%;transform: translateX(-50%);width: 20px;height: 10px;background-color: #2a1400;content: '';clip-path: polygon(0 0, 100% 0, 50% 100%);}
#sub_contents .panel {display: none;}
#sub_contents .panel.is-active {display: block;background-size: cover;padding: 0px 0 0;}

/* about
----------------------------------- */
#sub_contents img.sub_about_img {position: relative;width: 100%;object-fit: cover;}

/* menu
----------------------------------- */
#sub_contents .tbl_menu {width: 100%;margin-inline: auto;display: inline-block;font-size:15px;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-end;}
#sub_contents .tbl_menu .th {width: 75%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: '●';color: #b40000;margin-right: 0.5em;font-size: 8px;  vertical-align: middle; top: 50%;transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 15px;}
#sub_contents .tbl_menu .td {width: 24%;text-align: right;padding: 15px 0;line-height: 1.6;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}

/* party
----------------------------------- */
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.whitebox {border: double 4px #fff;padding: 20px;}
#sub_contents .comm_textBox.redbox {border: double 4px #b40000;padding: 20px;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .img img{border: solid 6px #fff;object-fit: cover;}
#sub_contents .comm_textBox .textarea {width: 100%;}
#sub_contents .comm_textBox .textarea p {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {margin-bottom: 10px;font-size: 17px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.about {text-shadow: 0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.menu {font-size: 18px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.red {color:#b40000;}
#sub_contents .comm_textBox .textarea p.number {font-size: 15px;margin-bottom: 5px;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.rank {font-size: 20px;margin-bottom: 5px;font-weight: normal;color: #fff;text-shadow: 0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.kansuuji {font-size: 22px;margin-bottom: 0px;font-weight: bold;}
#sub_contents .sub_party_courses{width: 100%;margin-bottom: 0px;position:relative;}

#sub_contents .sub_rank_box {gap: 2%;}
#sub_contents .sub_rank_box .sub_rank {padding: 20px 20px 20px;width: 100%;background-color: #d9d8c6;margin-bottom: 20px;}
#sub_contents .sub_rank_box .sub_rank p.rank {font-weight: bold;margin-bottom: 10px;font-size: 17px;}
#sub_contents .sub_rank_box .sub_rank p.price {background-color: #fff;color: #b40000;padding: 0px 2em;margin-bottom: 10px; width: fit-content;font-weight: bold;}
#sub_contents .sub_rank_box .sub_rank .img {width: 100%;margin-bottom: 10px;}
#sub_contents .sub_rank_box .sub_rank .img img {object-fit: cover;width: 100%;height: auto;border: solid 8px #fff;}
#sub_contents .sub_rank_box .sub_rank p.ex {line-height: 1.8em;}

#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item {border:double 4px #b40000;background-color: #fff;}
#sub_contents .faq__item .dt {padding: 15px 10px 15px 50px;position: relative;font-weight: bold;color: #b40000; border-bottom: double 4px #b40000;}
#sub_contents .faq__item .dd {padding: 15px 10px 15px 50px;position: relative;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 10px;top: 5px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 20px;color:#b40000; line-height: 2;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;color:#2a1400; line-height: 2;}

/* recruit
----------------------------------- */
#sub_contents img.sub_rec_img {width:100%;border: solid 4px #fff;border: solid 10px #fff;}
#sub_contents p.sub_check{font-size: 15px;padding-left: 25px;position: relative;font-weight: bold;}
#sub_contents p.sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 15px;height: 15px;background: url(../images/sub_rec_img02.png) no-repeat;background-size: contain;}

#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 20px 20px 20px;width: 100%;margin-bottom: 15px;position: relative;border:4px double #b40000;background-color: #fff;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 16px;color: #b40000;text-align: center;font-weight: bold;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px; color: #b40000; padding: 5px 10px; }
#sub_contents .icon_boxes .icon_box .caption p{font-size: 20px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 14px;color: #b40000;text-align: left;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 10px;}
#sub_contents .icon_boxes .icon_box .img img{width: 100%;height: auto;object-fit: cover;margin: 0 auto;}

#sub_contents .icon_boxes.recruit .icon_box{border:4px double #2a1400;background-color:none;}
#sub_contents .icon_boxes.recruit .icon_box p.ttl{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .caption{color: #2a1400; }
#sub_contents .icon_boxes.recruit .icon_box p.catch{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .img {width: 100%;text-align: center;margin-bottom: 25px;}
#sub_contents .icon_boxes.recruit .icon_box .img img{width: 100px;height: 100px;object-fit: cover;margin: 0 auto;}

#sub_contents .flow_g_area .ttl {border-bottom:4px double #b40000;margin-bottom:10px;}
#sub_contents .flow_g_area .num {font-size:17px;color:#2a1400;padding-right:10px;display:inline-block;font-weight: bold;}
#sub_contents .flow_g_area .txt {font-size:17px;display:inline-block;font-weight:500;padding-bottom:5px;}
#sub_contents .flow_g_area{background-color: #fff;padding:30px;position:relative;margin-bottom:35px;border:solid 1px #d9d8c6;}
#sub_contents .flow_g_area:not(:last-child):before{display: block;content: "";width: 0;height: 0;width: 0;height: 0;border-top: 15px solid #2a1400;border-right: 15px solid transparent;border-left: 15px solid transparent;position: absolute;bottom: -10%;right: 0;left: 0;margin: 0 auto;}
#sub_contents .flow_g_area .img{width: 100%;margin-bottom: 10px;position:relative;text-align:center;}
#sub_contents .flow_g_area .img img{max-width: 50px;margin:0 auto;}
#sub_contents .flow_g_area .textarea {width: 100%;}
#sub_contents .flow_g_area .textarea p.lh {font-size:14px;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -10%;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -10%;}

/* information
----------------------------------- */
#sub_contents .con_img img{width:32%;border: solid 6px #fff;object-fit: cover;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: block;align-items: center;position: relative;align-items: stretch;}
#sub_contents .tbl_info .th {width: 100%;padding: 20px;border-bottom: 1px dashed #2a1400;text-align: center;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;font-family: "Yuji Syuku", serif;}
#sub_contents .tbl_info .td {width: 100%;text-align: left;padding: 20px;border-bottom: 1px solid #2a1400;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {color: #b40000;border-bottom: solid 1px #b40000;}
#sub_contents .floor_img img{width:70%;border: solid 4px #fff;}

#sub_contents .floor-map {position: relative;display: inline-block;width: 100%;text-align: center;}
#sub_contents .map-img {width: 100%;height: auto;display: block;margin: 0 auto;text-align: center;}
#sub_contents .seat {position: absolute;cursor: pointer;/* デバッグ用：表示確認時だけ背景色をつける background: rgba(255, 0, 0, 0.3); */}
#sub_contents .floor-map .seat {cursor: pointer;transition: all 0.3s ease;}
#sub_contents .floor-map .seat:hover {opacity: 0.7;transform: scale(1.0);background-color: rgba(255, 0, 0, 0.3);}
#sub_contents .seat1 { top: 0%; left: 71%; width: 27%; height: 32%; }
#sub_contents .seat2 { top: 0%; left: 51%; width: 6.5%; height: 14%; }
#sub_contents .seat3 { top: 8.6%; left: 16.5%; width: 24%; height: 19%; }
#sub_contents .seat4 { top: 70%; left: 81%; width: 11%; height: 28%; }
#sub_contents .seat5 { top: 70%; left: 56.3%; width: 10.8%; height: 28%; }
#sub_contents .seat6 { top: 50%; left: 31%; width: 9%; height: 48%; }
#sub_contents .seat7 { top: 10.3%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat8 { top: 43.7%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat9 { top: 77.3%; left: 0%; width: 7%; height: 13%; }
#sub_contents .popup {display: none;position: fixed;top: 0; left: 0;width: 100vw; height: 100vh;background: rgba(0, 0, 0, 0.6);justify-content: center;align-items: center;z-index: 9999;}
#sub_contents .popup-inner {position: relative;}
#sub_contents .popup-img {max-width: 90vw;max-height: 90vh;border-radius: 10px;}
#sub_contents .close-btn {position: absolute;top: -40px;right: 0;cursor: pointer;user-select: none;}
#sub_contents .close-btn p {font-size: 40px;color: white;margin: 0;line-height: 1;}

/* resevation
----------------------------------- */
#sub_contents .sub_con_free_box {width: 100%; position: relative;text-align: left;}
#sub_contents img.sub_con_free {width: 70%; position: relative;left: 0;object-fit: cover;}
#sub_contents .sub_con_btn_box {width: 100%; position: relative;gap: 0px;}
#sub_contents .sub_con_btn {width: 100%;max-width: 300px;}
#sub_contents .sub_con_btn_box img {width: 300px;object-fit: cover;margin: 0 auto 20px;}

@media screen and (min-width: 414px) {
/* recruit
----------------------------------- */
#sub_contents img.sub_rec_img {width:100%;border: solid 4px #fff;border: solid 10px #fff;}
#sub_contents p.sub_check{font-size: 16px;padding-left: 25px;position: relative;font-weight: bold;}
#sub_contents p.sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 15px;height: 15px;background: url(../images/sub_rec_img02.png) no-repeat;background-size: contain;}
}

@media screen and (min-width: 767px) {
/* main_visual
----------------------------------- */
#sub_visual {padding-top:170px; height:450px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:450px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;padding-left:0;position:relative;text-align: center;}
#sub_visual .h1_container h1{font-size:80px; line-height: 100%;letter-spacing: 0.1em;font-weight: normal;text-transform: capitalize;margin-bottom: 20px;color:#fff;font-family: "Yuji Syuku", serif;text-shadow: 3px 3px 10px #000;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 15px; position: relative;padding:0px 0px 20px 0;z-index:0;}
#sub_contents p.colwhite{color: #fff;}
#sub_contents.menu .sub_bg{padding: 10px 0px 10px;}
#sub_contents .section{max-width: 94%; margin: 70px auto 0px;position: relative;padding-bottom: 0px;width:94%;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;scroll-margin-top: 170px;}
#sub_contents h2{ text-align: center;font-size:30px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;width: 600px;}
#sub_contents h2.white{color:#fff;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;}
#sub_contents .txt_cen{ text-align: center; font-size:18px; line-height: 200%;}
#sub_contents .txt_cen.big{ font-size:28px;}
#sub_contents .txt_cen.strong{color: #b40000;}
#sub_contents .txt_cen.white{color: #fff;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .f13 {font-size:14px;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb80{margin-bottom: 80px;}
#sub_contents .mb100{margin-bottom: 100px;}
#sub_contents .mb150{margin-bottom: 150px;}
#sub_contents .sub_bg{background:url(../images/sub_bg_02.png) repeat top;width: 100%; padding: 10px 0px 100px;z-index: 0;  z-index: 0;position: relative;background-size: cover;height: auto;}

#sub_contents .link_area a{padding:5px;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:1140px;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;padding:0 2%;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 47%;position: relative;display: block;}
#sub_contents .anker__item.w50{width: 48%;}
#sub_contents .anker__item a:hover{opacity:.8;background-color: #b40000;color:#fff;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;font-weight: 500;border-radius: 9999px;color: #fff;background-color: #b40000;}

/* tab
----------------------------------- */
#sub_contents .tab_area {gap:30px;}
#sub_contents .tab {position: relative;width:45%; padding: 20px 0;font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s;border-bottom:2px solid #2a1400;}
#sub_contents .tab.w40 {position: relative;width:40%; padding: 20px 0;font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s;border-bottom:2px solid #2a1400;}
#sub_contents .tab p.ttl {font-size: 20px;display: inline;}
#sub_contents .tab.is-active::after {position: absolute;bottom: -11px;left: 50%;transform: translateX(-50%);width: 20px;height: 10px;background-color: #2a1400;content: '';clip-path: polygon(0 0, 100% 0, 50% 100%);}
#sub_contents .panel {display: none;}
#sub_contents .panel.is-active {display: block;background-size: cover;padding: 0px 0 0;}

/* about
----------------------------------- */
#sub_contents img.sub_about_img {position: relative;width: 100%;object-fit: cover;}

/* menu
----------------------------------- */
#sub_contents .tbl_menu {width: 40%;margin-inline: auto;display: inline-block;font-size:15px;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-end;}
#sub_contents .tbl_menu .th {width: 75%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: '●';color: #b40000;margin-right: 0.5em;font-size: 10px;  vertical-align: middle; top: 50%;transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 20px;}
#sub_contents .tbl_menu .td {width: 24%;text-align: right;padding: 15px 0;line-height: 1.6;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}
#sub_contents .reccomend_ttl {font-size:50px;font-weight: bold; color: #f39800;-webkit-text-stroke: 3px #130900;text-shadow: 4px 4px 0 #4d1e00; paint-order: stroke fill;}

/* party
----------------------------------- */
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.whitebox {border: double 4px #fff;padding: 30px;}
#sub_contents .comm_textBox.redbox {border: double 4px #b40000;padding: 30px;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .img img{border: solid 10px #fff;object-fit: cover;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:2em;}
#sub_contents .comm_textBox .textarea p {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {margin-bottom: 10px;font-size: 24px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.about {text-shadow: 0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.menu {font-size: 28px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.red {color:#b40000;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;margin-bottom: 5px;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.rank {font-size: 36px;margin-bottom: 5px;font-weight: normal;color: #fff;text-shadow: 0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.kansuuji {font-size: 50px;margin-bottom: 0px;font-weight: bold;}
#sub_contents .sub_party_courses{width: 100%;margin-bottom: 0px;position:relative;}

#sub_contents .sub_rank_box {gap: 2%;}
#sub_contents .sub_rank_box .sub_rank {padding: 20px 20px 30px;width: 48%;background-color: #d9d8c6;}
#sub_contents .sub_rank_box .sub_rank p.rank {font-weight: bold;margin-bottom: 10px;font-size: 22px;}
#sub_contents .sub_rank_box .sub_rank p.price {background-color: #fff;color: #b40000;padding: 0px 2em;margin-bottom: 30px; width: fit-content;font-weight: bold;}
#sub_contents .sub_rank_box .sub_rank .img {width: 100%;margin-bottom: 30px;}
#sub_contents .sub_rank_box .sub_rank .img img {object-fit: cover;width: 100%;height: auto;border: solid 8px #fff;}
#sub_contents .sub_rank_box .sub_rank p.ex {line-height: 1.8em;}

#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item {border:double 4px #b40000;background-color: #fff;}
#sub_contents .faq__item .dt {padding: 25px 20px 25px 60px;position: relative;font-weight: bold;color: #b40000; border-bottom: double 4px #b40000;}
#sub_contents .faq__item .dd {padding: 25px 20px 25px 60px;position: relative;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 20px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 26px;color:#b40000; line-height: 2;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 26px;color:#2a1400; line-height: 2;}

/* recruit
----------------------------------- */
#sub_contents img.sub_rec_img {width:70%;border: solid 4px #fff;border: solid 10px #fff;}
#sub_contents p.sub_check{font-size: 22px;padding-left: 30px;position: relative;font-weight: bold;}
#sub_contents p.sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_rec_img02.png) no-repeat;background-size: contain;}

#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 60px 20px 30px;width: 32%;margin-bottom: 15px;position: relative;border:4px double #b40000;background-color: #fff;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 20px;color: #b40000;text-align: center;font-weight: bold;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px; color: #b40000; padding: 5px 10px; }
#sub_contents .icon_boxes .icon_box .caption p{font-size: 28px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 16px;color: #b40000;text-align: left;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 25px;}
#sub_contents .icon_boxes .icon_box .img img{width: 100%;height: auto;object-fit: cover;margin: 0 auto;}

#sub_contents .icon_boxes.recruit .icon_box{border:4px double #2a1400;background-color:none;}
#sub_contents .icon_boxes.recruit .icon_box p.ttl{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .caption{color: #2a1400; }
#sub_contents .icon_boxes.recruit .icon_box p.catch{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .img {width: 100%;text-align: center;margin-bottom: 25px;}
#sub_contents .icon_boxes.recruit .icon_box .img img{width: 100px;height: 100px;object-fit: cover;margin: 0 auto;}

#sub_contents .flow_g_area{margin-bottom:55px;}
#sub_contents .flow_g_area .ttl {border-bottom:4px double #b40000;margin-bottom:20px;}
#sub_contents .flow_g_area .num {font-size:24px;color:#2a1400;padding-right:10px;display:inline-block;font-weight: bold;}
#sub_contents .flow_g_area .txt {font-size:22px;display:inline-block;font-weight:500;padding-bottom:5px;}
#sub_contents .flow_g_area{background-color: #fff;padding:30px;position:relative;margin-bottom:45px;border:solid 1px #d9d8c6;}
#sub_contents .flow_g_area:not(:last-child):before{display: block;content: "";width: 0;height: 0;width: 0;height: 0;border-top: 15px solid #2a1400;border-right: 15px solid transparent;border-left: 15px solid transparent;position: absolute;bottom: -20%;right: 0;left: 0;margin: 0 auto;}
#sub_contents .flow_g_area .img{width: 26%;margin-bottom: 0px;position:relative;text-align:center;}
#sub_contents .flow_g_area .img img{max-width: 100px;margin:0 auto;}
#sub_contents .flow_g_area .textarea {width: 70%;}
#sub_contents .flow_g_area .textarea p.lh {font-size:16px;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -17%;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -13%;}

/* information
----------------------------------- */
#sub_contents .con_img img{width:32%;border: solid 6px #fff;object-fit: cover;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;border-bottom: 1px solid #2a1400;text-align: center;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;font-family: "Yuji Syuku", serif;}
#sub_contents .tbl_info .td {width: 80%;text-align: left;padding: 20px;border-bottom: 1px solid #2a1400;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {color: #b40000;border-bottom: solid 1px #b40000;}
#sub_contents .floor_img img{width:70%;border: solid 4px #fff;}

#sub_contents .floor-map {position: relative;display: inline-block;}
#sub_contents .map-img {width: 100%;height: auto;display: block;}
#sub_contents .seat {position: absolute;cursor: pointer;/* デバッグ用：表示確認時だけ背景色をつける background: rgba(255, 0, 0, 0.3); */}
/* 各席の位置と大きさ */
#sub_contents .seat1 { top: 0%; left: 71%; width: 27%; height: 32%; }
#sub_contents .seat2 { top: 0%; left: 51%; width: 6.5%; height: 14%; }
#sub_contents .seat3 { top: 8.6%; left: 16.5%; width: 24%; height: 19%; }
#sub_contents .seat4 { top: 70%; left: 81%; width: 11%; height: 28%; }
#sub_contents .seat5 { top: 70%; left: 56.3%; width: 10.8%; height: 28%; }
#sub_contents .seat6 { top: 50%; left: 31%; width: 9%; height: 48%; }
#sub_contents .seat7 { top: 10.3%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat8 { top: 43.7%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat9 { top: 77.3%; left: 0%; width: 7%; height: 13%; }
#sub_contents .popup {display: none;position: fixed;top: 0; left: 0;width: 100vw; height: 100vh;background: rgba(0, 0, 0, 0.6);justify-content: center;align-items: center;z-index: 9999;}
#sub_contents .popup-inner {position: relative;}
#sub_contents .popup-img {max-width: 90vw;max-height: 90vh;border-radius: 10px;}
#sub_contents .close-btn {position: absolute;top: -40px;right: 0;cursor: pointer;user-select: none;}
#sub_contents .close-btn p {font-size: 40px;color: white;margin: 0;line-height: 1;}

/* resevation
----------------------------------- */
#sub_contents .sub_con_free_box {width: 100%; position: relative;text-align: left;}
#sub_contents img.sub_con_free {width: 500px; position: relative;right: 0;object-fit: cover;}
#sub_contents .sub_con_btn_box {width: 100%; position: relative;gap: 50px;}
#sub_contents .sub_con_btn {width: 50%;}
#sub_contents .sub_con_btn_box img {width: 300px;object-fit: cover;margin: 0 auto;}
}

@media screen and (min-width: 1024px) {
/* main_visual
----------------------------------- */
#sub_visual {padding-top:170px; height:450px;position:relative;z-index:0;overflow: hidden;}
#sub_visual .img { height:450px; position: absolute; top: 0; width:100%;z-index:-1;text-align: center;}
#sub_visual .img img{width:100%;height:100%;object-fit: cover;object-position: center;margin: 0 auto;position:relative;text-align: center;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;padding-left:0;position:relative;text-align: center;}
#sub_visual .h1_container h1{font-size:80px; line-height: 100%;letter-spacing: 0.1em;font-weight: normal;text-transform: capitalize;margin-bottom: 20px;color:#fff;font-family: "Yuji Syuku", serif;text-shadow: 3px 3px 10px #000;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;padding:0px 0px 20px 0;z-index:0;}
#sub_contents p.colwhite{color: #fff;}
#sub_contents.menu .sub_bg{padding: 10px 0px 10px;}
#sub_contents .section{max-width: 1140px; margin: 70px auto 0px;position: relative;padding-bottom: 0px;width:94%;}
#sub_contents .sub_ttl {text-align:center;margin-top:50px;scroll-margin-top: 170px;}
#sub_contents h2{ text-align: center;font-size:30px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;width: 600px;}
#sub_contents h2.white{color:#fff;border-top: solid 2px #b40000;border-bottom: solid 2px #b40000;}
#sub_contents .txt_cen{ text-align: center; font-size:19px; line-height: 200%;}
#sub_contents .txt_cen.big{ font-size:34px;}
#sub_contents .txt_cen.strong{color: #b40000;}
#sub_contents .txt_cen.white{color: #fff;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .tcen{text-align:center;}
#sub_contents .f13 {font-size:14px;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb80{margin-bottom: 80px;}
#sub_contents .mb100{margin-bottom: 100px;}
#sub_contents .mb150{margin-bottom: 150px;}
#sub_contents .sub_bg{background:url(../images/sub_bg_02.png) repeat top;width: 100%; padding: 10px 0px 100px;z-index: 0;  z-index: 0;position: relative;background-size: cover;height: auto;}

#sub_contents .link_area a{padding:5px;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:1140px;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:1140px;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;padding:0 2%;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 10px;}
#sub_contents .anker__item{width: 24%;position: relative;display: block;}
#sub_contents .anker__item.w50{width: 48%;}
#sub_contents .anker__item a:hover{opacity:.8;background-color: #b40000;color:#fff;}
#sub_contents .anker__item a {display: block;text-align: center;text-transform: capitalize;padding: 1em;font-weight: 500;border-radius: 9999px;color: #fff;background-color: #b40000;}

/* tab
----------------------------------- */
#sub_contents .tab_area {gap:30px;}
#sub_contents .tab {position: relative;width:30%; padding: 20px 0;font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s;border-bottom:2px solid #2a1400;}
#sub_contents .tab.w40 {position: relative;width:40%; padding: 20px 0;font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s;border-bottom:2px solid #2a1400;}
#sub_contents .tab p.ttl {font-size: 20px;display: inline;}
#sub_contents .tab.is-active::after {position: absolute;bottom: -11px;left: 50%;transform: translateX(-50%);width: 20px;height: 10px;background-color: #2a1400;content: '';clip-path: polygon(0 0, 100% 0, 50% 100%);}
#sub_contents .panel {display: none;}
#sub_contents .panel.is-active {display: block;background-size: cover;padding: 0px 0 0;}

/* about
----------------------------------- */
#sub_contents img.sub_about_img {position: relative;width: 100%;object-fit: cover;}

/* menu
----------------------------------- */
#sub_contents .tbl_menu {width: 40%;margin-inline: auto;display: inline-block;font-size:15px;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-end;}
#sub_contents .tbl_menu .th {width: 75%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th::before {content: '●';color: #b40000;margin-right: 0.5em;font-size: 10px;  vertical-align: middle; top: 50%;transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left: 20px;}
#sub_contents .tbl_menu .td {width: 24%;text-align: right;padding: 15px 0;line-height: 1.6;}
#sub_contents .tbl_menu .td .menu_price {font-weight: normal;}
#sub_contents .reccomend_ttl {font-size:50px;font-weight: bold; color: #f39800;-webkit-text-stroke: 3px #130900;text-shadow: 4px 4px 0 #4d1e00; paint-order: stroke fill;}

/* party
----------------------------------- */
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox.whitebox {border: double 4px #fff;padding: 40px;}
#sub_contents .comm_textBox.redbox {border: double 4px #b40000;padding: 40px;}
#sub_contents .comm_textBox .img{width: 50%;margin-bottom: 0px;position:relative;}
#sub_contents .comm_textBox .img img{border: solid 10px #fff;object-fit: cover;}
#sub_contents .comm_textBox .textarea {width: 45%;margin-bottom:2em;}
#sub_contents .comm_textBox .textarea p {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl {margin-bottom: 10px;font-size: 24px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.about {text-shadow: 0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.menu {font-size: 35px;border-bottom:4px double #b40000;}
#sub_contents .comm_textBox .textarea p.ttl.red {color:#b40000;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;margin-bottom: 5px;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.rank {font-size: 36px;margin-bottom: 5px;font-weight: normal;color: #fff;text-shadow: 0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000,0px 0px 10px #b40000;}
#sub_contents .comm_textBox .textarea p.kansuuji {font-size: 50px;margin-bottom: 0px;font-weight: bold;}
#sub_contents .sub_party_courses{width: 100%;margin-bottom: 0px;position:relative;}

#sub_contents .sub_rank_box {gap: 2%;}
#sub_contents .sub_rank_box .sub_rank {padding: 30px 40px 50px;width: 48%;background-color: #d9d8c6;}
#sub_contents .sub_rank_box .sub_rank p.rank {font-weight: bold;margin-bottom: 10px;font-size: 28px;}
#sub_contents .sub_rank_box .sub_rank p.price {background-color: #fff;color: #b40000;padding: 0px 2em;margin-bottom: 30px; width: fit-content;font-weight: bold;}
#sub_contents .sub_rank_box .sub_rank .img {width: 100%;margin-bottom: 30px;}
#sub_contents .sub_rank_box .sub_rank .img img {object-fit: cover;width: 100%;height: auto;border: solid 8px #fff;}
#sub_contents .sub_rank_box .sub_rank p.ex {line-height: 1.8em;}

#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 20px;}
#sub_contents .faq__item {border:double 4px #b40000;background-color: #fff;}
#sub_contents .faq__item .dt {padding: 25px 20px 25px 60px;position: relative;font-weight: bold;color: #b40000; border-bottom: double 4px #b40000;}
#sub_contents .faq__item .dd {padding: 25px 20px 25px 60px;position: relative;}
#sub_contents .faq__item .dt::before,
#sub_contents .faq__item .dd::before {position: absolute;left: 20px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 26px;color:#b40000; line-height: 2;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 26px;color:#2a1400; line-height: 2;}

/* recruit
----------------------------------- */
#sub_contents img.sub_rec_img {width:70%;border: solid 4px #fff;border: solid 10px #fff;}
#sub_contents p.sub_check{font-size: 22px;padding-left: 30px;position: relative;font-weight: bold; margin:0 auto 20px;width:55%;}
#sub_contents p.sub_check::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);display: inline-block;width: 20px;height: 20px;background: url(../images/sub_rec_img02.png) no-repeat;background-size: contain;}

#sub_contents .icon_boxes{width: 100%;position: relative;}
#sub_contents .icon_boxes .icon_box{padding: 60px 20px 30px;width: 32%;margin-bottom: 15px;position: relative;border:4px double #b40000;background-color: #fff;}
#sub_contents .icon_boxes .icon_box p.ttl{font-size: 20px;color: #b40000;text-align: center;font-weight: bold;margin-bottom: 20px;}
#sub_contents .icon_boxes .icon_box .caption{position: absolute; left: 0; top: 0px; color: #b40000; padding: 5px 10px; }
#sub_contents .icon_boxes .icon_box .caption p{font-size: 28px;font-weight: bold;}
#sub_contents .icon_boxes .icon_box p.catch{font-size: 16px;color: #b40000;text-align: left;}
#sub_contents .icon_boxes .icon_box .img {width: 100%;text-align: center;margin-bottom: 25px;}
#sub_contents .icon_boxes .icon_box .img img{width: 100%;height: auto;object-fit: cover;margin: 0 auto;}

#sub_contents .icon_boxes.recruit .icon_box{border:4px double #2a1400;background-color:none;}
#sub_contents .icon_boxes.recruit .icon_box p.ttl{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .caption{color: #2a1400; }
#sub_contents .icon_boxes.recruit .icon_box p.catch{color: #2a1400;}
#sub_contents .icon_boxes.recruit .icon_box .img {width: 100%;text-align: center;margin-bottom: 25px;}
#sub_contents .icon_boxes.recruit .icon_box .img img{width: 100px;height: 100px;object-fit: cover;margin: 0 auto;}

#sub_contents .flow_g_area{margin-bottom:55px;}
#sub_contents .flow_g_area .ttl {border-bottom:4px double #b40000;margin-bottom:20px;}
#sub_contents .flow_g_area .num {font-size:24px;color:#2a1400;padding-right:10px;display:inline-block;font-weight: bold;}
#sub_contents .flow_g_area .txt {font-size:22px;display:inline-block;font-weight:500;padding-bottom:5px;}
#sub_contents .flow_g_area{background-color: #fff;padding:30px;position:relative;margin-bottom:45px;border:solid 1px #d9d8c6;}
#sub_contents .flow_g_area:not(:last-child):before{display: block;content: "";width: 0;height: 0;width: 0;height: 0;border-top: 15px solid #2a1400;border-right: 15px solid transparent;border-left: 15px solid transparent;position: absolute;bottom: -20%;right: 0;left: 0;margin: 0 auto;}
#sub_contents .flow_g_area .img{width: 26%;margin-bottom: 0px;position:relative;text-align:center;}
#sub_contents .flow_g_area .img img{max-width: 100px;margin:0 auto;}
#sub_contents .flow_g_area .textarea {width: 70%;}
#sub_contents .flow_g_area .textarea p.lh {font-size:16px;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -17%;}
#sub_contents .flow_g_area:not(:last-child):before{bottom: -13%;}

/* information
----------------------------------- */
#sub_contents .con_img img{width:32%;border: solid 6px #fff;object-fit: cover;}
#sub_contents .sub_map{width:100%;}
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;border-bottom: 1px solid #2a1400;text-align: center;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;font-family: "Yuji Syuku", serif;}
#sub_contents .tbl_info .td {width: 80%;text-align: left;padding: 20px;border-bottom: 1px solid #2a1400;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {color: #b40000;border-bottom: solid 1px #b40000;}
#sub_contents .floor_img img{width:70%;border: solid 4px #fff;}

#sub_contents .floor-map {position: relative;display: inline-block;}
#sub_contents .map-img {width: 100%;height: auto;display: block;}
#sub_contents .seat {position: absolute;cursor: pointer;/* デバッグ用：表示確認時だけ背景色をつける background: rgba(255, 0, 0, 0.3); */}
/* 各席の位置と大きさ */
#sub_contents .seat1 { top: 0%; left: 71%; width: 27%; height: 32%; }
#sub_contents .seat2 { top: 0%; left: 51%; width: 6.5%; height: 14%; }
#sub_contents .seat3 { top: 8.6%; left: 16.5%; width: 24%; height: 19%; }
#sub_contents .seat4 { top: 70%; left: 81%; width: 11%; height: 28%; }
#sub_contents .seat5 { top: 70%; left: 56.3%; width: 10.8%; height: 28%; }
#sub_contents .seat6 { top: 50%; left: 31%; width: 9%; height: 48%; }
#sub_contents .seat7 { top: 10.3%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat8 { top: 43.7%; left: 0%; width: 7%; height: 12.5%; }
#sub_contents .seat9 { top: 77.3%; left: 0%; width: 7%; height: 13%; }
#sub_contents .popup {display: none;position: fixed;top: 0; left: 0;width: 100vw; height: 100vh;background: rgba(0, 0, 0, 0.6);justify-content: center;align-items: center;z-index: 9999;}
#sub_contents .popup-inner {position: relative;}
#sub_contents .popup-img {max-width: 90vw;max-height: 90vh;border-radius: 10px;}
#sub_contents .close-btn {position: absolute;top: -40px;right: 0;cursor: pointer;user-select: none;}
#sub_contents .close-btn p {font-size: 40px;color: white;margin: 0;line-height: 1;}

/* resevation
----------------------------------- */
#sub_contents .sub_con_free_box {width: 100%; position: relative;text-align: left;}
#sub_contents img.sub_con_free {width: 500px; position: relative;right: 0;object-fit: cover;}
#sub_contents .sub_con_btn_box {width: 100%; position: relative;gap: 50px;}
#sub_contents .sub_con_btn {width: 50%;}
#sub_contents .sub_con_btn_box img {width: 300px;object-fit: cover;margin: 0 auto;}
}