/* main_visual
----------------------------------- */
#sub_visual {height:200px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 110px;background-color: #221202;}
#sub_visual .img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;transform: none;z-index: -1;text-align: center;}
#sub_visual .img img{width: 100%;height: 100%;object-fit: cover;object-position: center center;display: block;margin: 0 auto;opacity: .6;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;text-align: center;}
#sub_visual .img::after {position: absolute;content: ""; background: url(../images/sub_h1_ill.png) no-repeat center center / contain;width: 30%; height: 50%; left: 50%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);z-index: 1;top: 50%;}
#sub_visual .h1_container .ttl{font-size:15px;line-height:100%;letter-spacing: 0.1em;text-align: center;margin-bottom: 10px;color: #fff;text-transform: uppercase;}
#sub_visual .h1_container h1{font-size:26px; line-height: 130%;font-weight: 500;letter-spacing: 4px;color: #fff;text-align: center;position: relative;font-family: "Yuji Syuku", serif;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 14px; position: relative; border-bottom: 1px solid #221202; }
#sub_contents p{font-size: 14px;line-height: 1.8em;}
#sub_contents .section{max-width: 94%; margin: 60px auto 80px;position: relative;width: 94%;}
#sub_contents .h2_container{border:0px; margin-bottom:40px; position:relative;font-family: "Yuji Syuku", serif;text-align: center;font-size:20px;  position: relative; line-height: 160%; padding:10px auto 10px;margin: 0px auto 50px;}
#sub_contents .h2_container .span{border:none; margin:0 auto 6px;}
#sub_contents .h2_container .span::before{content:""; background:#b40000; position:absolute; left:0; right:0; top:-15px; width:40px; height:2px; margin:0 auto;}
#sub_contents .h2_container .small{color:#b40000;text-align:center;text-transform: uppercase;font-weight: normal;font-family: "Bellefair", serif;}
#sub_contents h3{ text-align: center;font-size:22px; margin-bottom:15px; position: relative;margin-top: 30px;}
#sub_contents .mb20{margin-bottom: 15px !important;}
#sub_contents .mb30{margin-bottom: 20px !important;}
#sub_contents .mb40{margin-bottom: 30px !important;}
#sub_contents .mb50{margin-bottom: 30px !important;}
#sub_contents .mb80{margin-bottom: 50px !important;}
#sub_contents .mb100{margin-bottom: 60px !important;}
#sub_contents .mb150{margin-bottom: 80px !important;}
#sub_contents .txt_cen{ text-align: center;  line-height: 180%;font-size: 14px;font-weight: bold;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat center center; padding:50px 0px; }
#sub_contents .sub_sp{display:block !important;}
#sub_contents .sub_pc{display:none !important;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb{text-align:left;padding:10px 3% 0 3%;margin:0 auto;margin-bottom:20px;}
#sub_contents .bread_crumb .bread{ max-width:94%; margin:0 auto;}
#sub_contents .bread_crumb div:after {content : '>';padding-left:8px; font-family: inherit; font-size:12px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;font-size:12px;}
#sub_contents .bread_crumb p{margin:0 0 0 10px; font-size:12px;padding:0 0;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 10px;row-gap: 30px;}
#sub_contents .anker__item{width: 100%;height: auto;position: relative;display: block;}
#sub_contents .anker__item a {display: flex;justify-content: center;align-items: center;gap: 6px;text-align: center;border-bottom: 2px solid #b40000;border-top: 2px solid #b40000;border-left:0;border-right:0;border-radius:0; position: relative;padding: 0 10px; height: 55px; color:#b40000;}
#sub_contents .anker__item a::after {content: "";display: inline-block;width: 6px;height: 6px;border-left: 2px solid #b40000;border-bottom: 2px solid #b40000;transform: rotate(-45deg);margin-left: 8px;top: 1px;transition: transform 0.2s ease;}
#sub_contents .anker__item a:hover::after {transform: translateY(3px) rotate(-45deg);}
#sub_contents .anker__item p {line-height: 1.5;font-size:15px;font-weight:700;}

/* commitment
----------------------------------- */
#sub_contents .sub_cen_img{width:100%;text-align:center;}
#sub_contents .sub_cen_img img{width:70px;object-fit:cover;}
#sub_contents .sub_cen_img.sub_seasonal img{width:220px;}
#sub_contents .box_greeting{padding: 10px 10px 10px;background:url("../images/sub_comm_img01_01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{background: #221202cc;padding: 10px 10px; position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:13px; font-weight: normal;line-height: 220%;color: #fff;display: block;}
#sub_contents .box_greeting .inner p.ttl{font-size:15px; font-weight: normal;line-height: 200%;color: #fff;font-weight: bold;display: block;}

/* drink
-----------------------------*/
#sub_contents .sub_menu_img {width:100%;max-width: 800px;}
#sub_contents .sub_menu_img img{width:100%;object-fit: cover;}
#sub_contents .menu__items .menu__item{width: 100%;}
#sub_contents .menu__items .menu__item .menu_h3{position: relative;font-size:24px;font-weight:bold;color:#b40000;padding-left:40px;margin-bottom:10px;}
#sub_contents .menu__items .menu__item .menu_h3:before{content: '';position: absolute;top: 0;display: inline-block;width: 30px;height: 30px;left: 0;background-size:contain;}
#sub_contents .menu__items .menu__item .menu {border-bottom:1px solid #ddd;padding:20px 0;display:flex;}
#sub_contents .menu__items .menu__item .menu .menu_name{display: block; width: 75%;}
#sub_contents .menu__items .menu__item .menu .menu_name .menu_txt {font-size:13px; margin:10px 0;text-align: right;margin-left:auto; }
#sub_contents .menu__items .menu__item .menu .menu_name .menu_p {font-size:16px; font-weight:bold;}
#sub_contents .menu__items .menu__item .menu .menu__price{display: block;width:25%; text-align: right;font-size:15px;}
#sub_contents .menu_name p{width:100%;margin:0 auto;font-size:15px;line-height:2.4;}
#sub_contents .menu_name strong{display:block;font-size:18px;font-weight:700;margin:40px 0 15px;letter-spacing:.06em}
#sub_contents .menu_name strong::after{content:"";display:block;width:36px;height:2px;background:#b40000;margin-top:10px}
#sub_contents .menu_name em{float:right;font-style:normal;font-weight:700;color:#b40000;padding-left:10px;}
#sub_contents .menu_name br{clear:both;}
#sub_contents .menu_name p{background:none;font-size:14px;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:20px;width:100%;margin:0 auto;background: rgba(255,255,255,.7); padding: 20px 10px;}
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 30px;}
#sub_contents .faq__item .dt {padding: 15px 10px 15px 50px;position: relative;font-weight:700; border-bottom:1px dashed #221202; margin-bottom:10px;}
#sub_contents .faq__item .dt p{ font-size:16px; font-weight:bold;font-family: "Yuji Syuku", serif;}
#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: 12px;font-weight:normal;}
#sub_contents .faq__item .dt::before {content: "Q";font-size: 16px; color:#b40000;font-family: "Bellefair", serif;background:#221202; color:#fff; padding:2px 8px;}
#sub_contents .faq__item .dd::before {content: "A";font-size: 16px;font-family: "Bellefair", serif;background:#b40000; color:#fff; padding:2px 8px;}

/* recruit
-----------------------------*/
#sub_contents .sub_white_box{background-color: #ffffff99;position: relative;padding: 1em;}
#sub_contents .g_area{display:block;position:relative;}
#sub_contents .g_area .img_area{width:100%;margin-bottom: 10px;}
#sub_contents .g_area img.sub_shadow{box-shadow: 5px 5px 0px #22120250;}
#sub_contents .g_area img.wh_line{border: solid 5px #fff;box-shadow: 0 4px 12px #22120250, inset 0 0 0 1px #22120250, inset 0 0 20px #22120250;}
#sub_contents .g_area .txt_area{width:100%;position:relative;margin-bottom:10px;z-index:2;}
#sub_contents .g_area .txt_area .b{color:#b40000;margin-bottom: 10px;letter-spacing: 0.1em;text-transform: uppercase;}
#sub_contents .g_area .txt_area .b.rank_num{color:#fff;background-color: #b40000;padding: 0.5em 1em;width: fit-content;}
#sub_contents .g_area .txt_area .span,#sub_contents .g_area .txt_area h2.span{font-size:17px;line-height:1.6;margin-bottom:15px;color:#221202;font-weight:normal;border-bottom:3px double #221202;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;font-family: "Yuji Syuku", serif;}
#sub_contents .g_area .txt_area .span.sub_rank,#sub_contents .g_area .txt_area h2.span.sub_rank{line-height:1.6;margin-bottom:15px;color:#221202;border-bottom:3px double #b40000;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents img.sub_ill_01  { width: 40%; right: 2%;bottom: -26%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .4;}
#sub_contents img.sub_ill_02  { width: 40%; right: 2%;bottom: -26%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: .4;}
#sub_contents img.sub_ill_03  { width: 40%; right: 2%;bottom: -10%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: 1;}
#sub_contents img.sub_ill_04  { width: 40%; right: 2%;bottom: -10%;transform: translate(0, -50%);z-index: 0;position: absolute;opacity: 1;}

/* info
----------------------------------- */
#sub_contents .sub_w50_img {width: 49%;object-fit: cover;}
#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;border-bottom: 1px solid #221202;padding-bottom: 7px;padding-top: 7px;}
#sub_contents .tbl_info .tr:first-child {border-top: 1px solid #221202;}
#sub_contents .tbl_info .th {width: 100%;padding: 12px;text-align: center;align-items: center;vertical-align: middle;background: #221202;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 1.8em;color: #fff;}
#sub_contents .tbl_info .td {width: 100%;text-align: left;padding: 15px;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 1.8em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {border-bottom: solid 1px #221202;}
#sub_contents .sub_map {width: 100%;}
#sub_contents .sub_brown_box {background-color: #221202cc;padding: 20px;color: #221202;}
#sub_contents .sub_brown_box p {color: #fff;}


@media screen and (min-width: 768px) {
/* main_visual
----------------------------------- */
#sub_visual {height:300px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 120px;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container .ttl{font-size:18px;line-height:100%;letter-spacing: 0.1em;text-align: center;margin-bottom: 10px;}
#sub_visual .h1_container h1{font-size:40px; line-height: 150%;letter-spacing: 4px;text-align: center;position: relative;}

/* sub_contents
----------------------------------- */
#sub_contents .sub_sp{display:none !important;}
#sub_contents .sub_pc{display:block !important;}

/* menu
-----------------------------*/
#sub_contents .menu__items .menu__item{width: 48%;}
#sub_contents .menu__items .menu__item .menu_h3{position: relative;font-size:24px;font-weight:bold;padding-left:40px;margin-bottom:10px;}
#sub_contents .menu__items .menu__item .menu_h3:before{content: '';position: absolute;top: 0;display: inline-block;width: 30px;height: 30px;left: 0;background-size:contain;}
#sub_contents .menu__items .menu__item .menu {border-bottom:1px solid #ddd;padding:20px 0;display:flex;}
#sub_contents .menu__items .menu__item .menu .menu_name{display: block; width: 75%;}
#sub_contents .menu__items .menu__item .menu .menu_name .menu_txt {font-size:13px; margin:10px 0;text-align: right;margin-left:auto; }
#sub_contents .menu__items .menu__item .menu .menu_name .menu_p {font-size:16px; font-weight:bold;}
#sub_contents .menu__items .menu__item .menu .menu__price{display: block;width:25%; text-align: right;font-size:15px;}
#sub_contents .menu_name p{max-width:720px;margin:0 auto;font-size:15px;line-height:2.4;}
#sub_contents .menu_name strong{display:block;font-size:24px;font-weight:700;margin:40px 0 10px;letter-spacing:.06em}
#sub_contents .menu_name strong::after{content:"";display:block;width:36px;height:2px;margin-top:5px}
#sub_contents .menu_name em{float:right;font-style:normal;font-weight:700;padding-left:10px;}
#sub_contents .menu_name br{clear:both;}
#sub_contents .menu_name p{background:none;}

/* recruit
----------------------------------- */
#sub_contents .g_area{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#sub_contents .g_area .img_area{width:100%;}
#sub_contents .g_area .img_area img{width:100%;display:block;}
#sub_contents .g_area .txt_area{width:100%;}
#sub_contents .g_area .txt_area .span,#sub_contents .g_area .txt_area h2.span{font-size:20px;line-height:1.4;margin-bottom:20px;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents img.sub_ill_01  { width: 20%; right: 1%;bottom: -20%;transform: translate(0, -50%);z-index: 0;position: absolute;}
#sub_contents img.sub_ill_02  { width: 20%; right: 1%;bottom: -20%;transform: translate(0, -50%);z-index: 0;position: absolute;}
#sub_contents .sub_white_box{padding: 30px;}

/* info
----------------------------------- */
#sub_contents .sub_brown_box {padding: 30px;}

}

@media screen and (min-width: 1024px) {
/* main_visual
----------------------------------- */
#sub_visual {height:400px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 160px;}
#sub_visual .h1_container{max-width:1140px;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container h1{font-size:52px; line-height: 180%;letter-spacing: 4px;text-align: center;position: relative;}
#sub_visual .h1_container .ttl{font-size:28px;line-height:100%;letter-spacing: 0.1em;text-align: center;margin-bottom: 0px;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;  border-bottom: 1px solid #221202;}
#sub_contents p{font-size: 16px;line-height: 1.8em;}
#sub_contents .section{max-width: 1200px; margin: 70px auto 140px;position: relative;width: 94%;}
#sub_contents .h2_container{border:0px; margin-bottom:50px; position:relative;font-family: "Yuji Syuku", serif;text-align: center;font-size:32px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto 80px;}
#sub_contents .h2_container .span{border:none; margin:0 auto 4px;}
#sub_contents .h2_container .span::before{content:""; background:#b40000; position:absolute; left:0; right:0; top:-20px; width:50px; height:2px; margin:0 auto;}
#sub_contents .h2_container .small{color:#b40000;text-align:center;text-transform: uppercase;}
#sub_contents h3{ text-align: center;font-size:30px; margin-bottom:15px; position: relative;margin-top: 40px;}
#sub_contents .mb20{margin-bottom: 20px !important;}
#sub_contents .mb30{margin-bottom: 30px !important;}
#sub_contents .mb40{margin-bottom: 40px !important;}
#sub_contents .mb50{margin-bottom: 50px !important;}
#sub_contents .mb80{margin-bottom: 80px !important;}
#sub_contents .mb100{margin-bottom: 100px !important;}
#sub_contents .mb150{margin-bottom: 150px !important;}
#sub_contents .txt_cen{ text-align: center;  line-height: 200%;font-size: 16px;font-weight: bold;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat center center; padding:80px 0px; }

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb{text-align:left;padding:10px 10px 0 0;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb .bread{ max-width:1200px; margin:0 auto;}
#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:0 0 0 20px; font-size:13px;padding:0 0;}

/* btn
----------------------------------- */
#sub_contents .anker__items{column-gap: 30px;row-gap: 10px;}
#sub_contents .anker__item{width: 32%;height: 40px;position: relative;display: block;}
#sub_contents .anker__item a {display: flex;justify-content: center;align-items: center;gap: 8px;text-align: center;border-bottom: 2px solid #b40000;border-top: 2px solid #b40000;border-left:0;border-right:0;border-radius:0; position: relative;padding: 0 16px; height: 60px; color:#b40000;}
#sub_contents .anker__item a::after {content: "";display: inline-block;width: 7px;height: 7px;border-left: 2px solid #b40000;border-bottom: 2px solid #b40000;transform: rotate(-45deg);margin-left: 15px;top: 1px;transition: transform 0.2s ease;}
#sub_contents .anker__item a:hover::after {transform: translateY(3px) rotate(-45deg);}
#sub_contents .anker__item p {line-height: 50px;font-size:14px;font-weight:700;}

/* commitment
----------------------------------- */
#sub_contents .sub_cen_img {width: 100%;text-align: center;}
#sub_contents .sub_cen_img img {width: 100px;object-fit: cover;}
#sub_contents .box_greeting{padding: 30px;background:url("../images/sub_comm_img01_01.jpg")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{padding: 30px; position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:15px; font-weight: normal;color: #fff;display: inline-block;}
#sub_contents .box_greeting .inner p.ttl{font-size:18px; font-weight: normal;color: #fff;font-weight: bold;display: inline-block;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:20px;width:100%;margin:0 auto;background: rgba(255,255,255,.7); padding: 40px 60px;}
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 50px;}
#sub_contents .faq__item .dt {padding: 15px 10px 15px 65px;position: relative;font-weight:700;}
#sub_contents .faq__item .dt p{ font-size:19px; font-weight:bold;font-family: "Yuji Syuku", serif;}
#sub_contents .faq__item .dd {padding: 15px 10px 15px 65px;position: relative;}
#sub_contents .faq__item .dt::before,#sub_contents .faq__item .dd::before {position: absolute;left: 15px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q";font-size: 20px;padding:5px 10px 3px;}
#sub_contents .faq__item .dd::before {content: "A";font-size: 20px;padding:5px 10px 1px;}

/* recruit
----------------------------------- */
#sub_contents .sub_white_box {width: 100%;padding: 40px;}
#sub_contents .g_area{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#sub_contents .g_area .img_area{width:50%;}
#sub_contents .g_area .img_area img{width:100%;display:block;}
#sub_contents .g_area img.sub_shadow{box-shadow: 10px 10px 0px #22120250;}
#sub_contents .g_area .txt_area{width:46%;}
#sub_contents .g_area .txt_area .span,#sub_contents .g_area .txt_area h2.span{font-size:22px;line-height:1.4;margin-bottom:20px;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents img.sub_ill_01  { width:20%; right: 2%;bottom: -30%;}
#sub_contents img.sub_ill_02  { width:20%; left: 2%;bottom: -30%;}
#sub_contents img.sub_ill_03  { width:20%; right: 2%;bottom: -10%;}
#sub_contents img.sub_ill_04  { width:20%; left: 2%;bottom: -10%;}

/* shop
----------------------------------- */
#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;padding-bottom: 7px;padding-top: 7px;}
#sub_contents .tbl_info .tr:first-child {border-top: 1px solid #221202;}
#sub_contents .tbl_info .th {width: 20%;padding: 20px;text-align: center;align-items: center;vertical-align: middle;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;color: #fff;}
#sub_contents .tbl_info .td {width: 80%;text-align: left;padding: 20px;}
#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 .sub_brown_box {padding: 40px;}
}