/*=============================
	Sub(Lower)Page setting
===============================*/


/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:130px;}
#sub_visual {padding-top: 130px;height: 300px;position: relative;z-index: 0;background-size: cover;width: 100%;margin: 0 auto;z-index:10;}
#sub_visual  .span{ width: auto;margin-bottom: 10px;display: block;font-size: 27px;padding: 0;text-align: center;color: #d20000; margin: 0 auto;font-family: "Noto Sans JP", sans-serif;writing-mode: vertical-rl;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);line-height: 0.5;z-index: 2; font-weight: bold;line-height:150%;writing-mode: horizontal-tb;letter-spacing: 4px;white-space:nowrap}
#sub_visual .span::after{content:"";position:absolute;left:0px; bottom:-100px; width:70px; height:70px;background:url(../images/illust.png) no-repeat center/contain;z-index:1;}

/* bread_crumb_list
-----------------------------*/
#sub_contents .bread_crumb_list{background:rgba(0,0,0,.6);position:absolute;width:100%; top:-45px;line-height:100%;}
#sub_contents .bread_crumb{text-align:right;padding:0px;max-width:100%; width: 94%; margin:0 auto;margin-bottom:10px;padding-top: 20px;}
#sub_contents .bread_crumb div { display:inline;color:#fff;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:15px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:14px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;;background-attachment: fixed; padding-bottom:1px;}
#sub_contents p{font-size: 16px;}
#sub_contents p.txt_red{font-size:130%; font-weight:bold;color:#d20000;}
#sub_contents section{max-width: 94%; position: relative;margin: 20x auto 50px;}
#sub_contents .section{max-width: 100%;width: 94%;position: relative;margin: 30px auto 80px;padding-top:0px;}
#sub_contents h2{text-align: center;font-size:30px; font-weight: bold; margin-bottom:0px; position: relative; line-height: 150%; padding-top: 10px;letter-spacing: 3px;text-transform: uppercase; margin-top:30px;}
#sub_contents h2 span{font-weight: bold;font-size:19px; display: block;margin-bottom:0px;margin-top: 10px;}
#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: 60px;}
#sub_contents .mb150{margin-bottom: 80px;}
#sub_contents .mt80{margin-top: 80px;}
#sub_contents .mt30{margin-top: 30px;}
#sub_contents .sp_br{display:block;;}
#sub_contents .gap-20{gap: 30px;}
#sub_contents .txt_cen strong{ text-align: center; font-weight: bold;font-size: 23px;padding-bottom: 50px;}

#sub_contents .txt_cen{position:relative;text-align:center;line-height:1.9;margin:0 auto 40px;padding:0 10px;}
#sub_contents .txt_cen p{font-size:15px;letter-spacing:.05em;font-weight: 500;}
#sub_contents .txt_cen::after{content:"";position:absolute;bottom:-100px;right:0%;width:160px;height:160px;background:url(../images/deco02.png) no-repeat center/contain;opacity:.5}
#sub_contents .txt_cen02{ text-align: center;  line-height: 200%;margin-bottom: 30px;}
#sub_contents .txt_cen02 p{font-size: 18px;}

#sub_contents .txt_cen em{font-style: normal !important;display: block;  margin-bottom: -20px;}
#sub_contents .sub_bg{padding: 20px 0px 50px;background:#d20000;}
#sub_contents .sub_bg,#sub_contents .sub_bg *{color:#fff;}

#sub_contents .full_img{width:100%;margin:0 0 50px 0;}
#sub_contents .full_img img{width:100%;height:auto;display:block}


/* food
-----------------------------*/
#sub_contents .menu_img {text-align: center;margin-bottom: 10px;}
#sub_contents .menu_img img{width:100%;}
#sub_contents .tbl_menu {width: 100%;margin-inline: auto;}
#sub_contents .tbl_menu .tr {display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
#sub_contents .tbl_menu .th {width: 100%;padding: 10px 0 0 0;border-bottom: none;line-height: 1.6;}
#sub_contents .tbl_menu .td {width: 100%;text-align: left;padding: 0 0 10px 0;line-height: 1.6;border-bottom: 1px solid #291700;}
#sub_contents .tbl_menu .th p{font-weight:600;font-family: "Noto Sans JP", sans-serif;font-size: 18px;}
#sub_contents .tbl_menu .td p{font-weight:500;}
#sub_contents .txt_bg{background: #fbfbfa; padding: 15px;}
#sub_contents .sub_bg .txt_bg *{color:#d20000;}
#sub_contents .menu_list{gap:30px;}
#sub_contents .menu_list .li{width:100%;}

/* course
-----------------------------*/
#sub_contents .course__items .course__item{width: 48%;}
#sub_contents .course__items .course__item .course_h3{position: relative;font-size:24px;font-weight:bold;color:#d20000;padding-left:40px;margin-bottom:10px;}
#sub_contents .wh_bg {background:#fff;padding:40px;margin-bottom:50px;color:#000;}
#sub_contents .sub_bg .course__items,
#sub_contents .sub_bg .course__items *{color:#111;}

#sub_contents .course_name p{max-width:720px;margin:0 auto;font-size:15px;line-height:2.4;color:#111;}
#sub_contents .course_name strong{display:block;font-size:18px;font-weight:700;margin:30px 0 5px;color:#2b2b2b;letter-spacing:.01em;display:block;}
#sub_contents .course_name strong::after{content:"";display:block;width:36px;height:2px;background:#d20000;margin-top:5px;margin-bottom:30px;}
#sub_contents .course_name em{float:right;font-style:normal;font-weight:700;color:#d20000;padding-left:10px;font-size: 16px;display:block;}
#sub_contents .course_name br{clear:both;}
#sub_contents .course_name p{background:none;}

/* drink
-----------------------------*/
#sub_contents .menu__items .img{width:48%;}
#sub_contents .menu__items .img img{margin-bottom:50px;padding:40px;}
#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:#d20000;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;background: url(../images/sub_menu_ttl_icon.png)no-repeat;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 .wh_bg {padding:20px 20px 40px 20px;margin-bottom:50px;background:#fffef9}
#sub_contents .sub_bg .menu__items,
#sub_contents .sub_bg .menu__items *{color:#111;}
#sub_contents .menu_name p{width:100%;margin:0 auto;font-size:15px;line-height:2.4;color:#2b2b2b;}

#sub_contents .menu_name strong{display:block;font-size:18px;font-weight:700;margin:40px 0 15px;color:#2b2b2b;letter-spacing:.06em}
#sub_contents .menu_name strong::after{content:"";display:block;width:36px;height:2px;background:#d20000;margin-top:10px}

#sub_contents .menu_name em{float:right;font-style:normal;font-weight:700;color:#d20000;background:#fffef9;padding-left:10px;}
#sub_contents .menu_name br{clear:both;}
#sub_contents .menu_name p{background:none;}
  
/* space
-----------------------------*/
#sub_contents .scene_area .img img{aspect-ratio: auto; object-fit: cover;width: 100%;}
#sub_contents .scene_area .txt_area .b{font-size:25px;font-weight:bold;display: inline-block;margin-right: 15px;;color: #fff;}
#sub_contents .scene_area .txt_area .span{display: inline-block;font-size: 20px;margin-bottom: 0;font-weight: bold;;color: #fff;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .scene_area .txt_area .p{border-top: 1px solid #fff;padding-top: 20px;}

/* scene
-----------------------------*/
#sub_contents .sub_scene{display:block;margin:0 auto 60px;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,72px);position:relative;margin:0 auto 60px}
#sub_contents .sub_scene .img{width:100%;margin:0 0 20px;position:relative;z-index:1}
#sub_contents .sub_scene .img img{width:100%;height:auto;display:block;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.12)}
#sub_contents .sub_scene .textarea{width:100%;margin:0;position:relative;z-index:2;}
#sub_contents .sub_scene .scene_ttl{padding:6px 16px;background:#fff;display:inline-block;margin-top:0;font-size:14px;color:#d20000;font-weight:bold;letter-spacing:.12em;border:1px solid rgba(210,0,0,.18);}
#sub_contents .sub_scene .scene_name{font-weight:bold;font-size:clamp(24px,2.4vw,36px);border-bottom:1px solid rgba(210,0,0,.22);margin:14px 0 18px;font-family:"Noto Sans JP",sans-serif;padding-bottom:12px;line-height:1.5}
#sub_contents .sub_scene:nth-of-type(odd) .img{margin-right:0}
#sub_contents .sub_scene:nth-of-type(odd) .textarea{margin-right:0}
#sub_contents .sub_scene:nth-of-type(even) .img{margin-left:0}
#sub_contents .sub_scene:nth-of-type(even) .textarea{margin-left:0}
#sub_contents .sub_scene .img::before{content:"";position:absolute;inset:auto -18px -18px auto;width:120px;height:120px;background:rgba(210,0,0,.07);z-index:-1}
#sub_contents .sub_scene:nth-of-type(even) .img::before{inset:auto auto -18px -18px}

#sub_contents .sub_scene .img,
#sub_contents .sub_scene .textarea{order:0}
#sub_contents .sub_scene .img::before{display:none}

/* reserve
-----------------------------*/
#sub_contents .contact_area{display:flex;column-gap: 4%;align-items: center;}
#sub_contents .contact_list{width:320px;margin-inline: 0;}
#sub_contents .contact_list{margin-bottom: 20px;}
#sub_contents .contact_list:last-child{margin-bottom: 20px;}
#sub_contents .check_area{padding:20px;display:flex; font-size:18px;background: #fff;box-shadow: 0px 5px 25px 0px rgba(174, 166, 154, 0.15);  }
#sub_contents .check_list{font-size:16px; width:100%; margin-bottom: 15px;border-bottom: 1px solid #d20000; position:relative;padding:10px 0 10px 30px;margin-bottom:10px;}
#sub_contents .check_list::before{position:absolute;content:"";background: url(../images/sub_check.png) no-repeat top center / cover ;width:18px;height:18px;top: 50%;left: 0%;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
#sub_contents .sub_bg .check_area,
#sub_contents .sub_bg .check_area *{color:#111;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:10px;border-radius:0px;width:100%;margin:0 auto;background:#fffef9;color:#d20000;}
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 30px;}
#sub_contents .faq__item .dt {padding: 15px 5px 15px 40px;position: relative;border-bottom:1px dashed #d20000;font-weight:bold;}
#sub_contents .faq__item .dd {padding: 15px 5px 15px 40px;position: relative;color: #111111;}
#sub_contents .faq__item .dt::before,#sub_contents .faq__item .dd::before {position: absolute;left: 10px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 20px;font-weight:600;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;font-weight:600;color:#111111;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .sub_bg .faq__item,
#sub_contents .sub_bg .faq__item *{color:#d20000;}
#sub_contents .sub_bg .faq__item .dd{color:#111 !important;}

/* recruit
-----------------------------*/
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .conc_bg{background:#d20000; padding:40px 20px;position: relative;}
#sub_contents .conc_bg p{font-size:16px; position: relative; z-index: 1; text-align:left; font-weight:normal; line-height: 200%;color: #fff;}
#sub_contents .conc_bg .txt_cen{text-align:center;font-size:24px;line-height: 200%; font-weight:600;}
#sub_contents .comm_g_area .txt_area{width:100%;}
#sub_contents .comm_g_area .txt_area .ttl p{font-size:22px;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .comm_g_area .img,
#sub_contents .comm_g_area .img02{width:100%;margin:0 0 20px 0;}
#sub_contents .tbl_info {margin-bottom:20px;}
#sub_contents .tbl_info .tr{width:100%;background:#fff;margin-bottom:5px;}
#sub_contents .tbl_info .th{width:100%;padding:10px 10px;background:#d20000;color:#fff; text-align:center;}
#sub_contents .tbl_info .td{width:100%;padding:10px ;color:#000;background: #f5f5f5;}
#sub_contents .tbl_info a{color:#000;}

/* news
-----------------------------*/
#sub_contents .illustration{position:relative;}
#sub_contents .illustration::after{content:"";position:absolute;top:48px;left:858px;width:350px;height:150px;display:inline-block;background:url(../images/illust.png) no-repeat center;z-index:-10;}
#sub_contents .webgene-blog:has(.categorylist){display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:50px;}
#sub_contents .webgene-item.categorylist{width:100%;margin-right:1%;margin-bottom:0;}
#sub_contents .webgene-item.categorylist a{display:block;width:auto;text-align:center;padding:14px 10px;transition:.3s;color:#fff;background:#d20000;font-weight:bold;text-decoration:none;line-height:1.2;margin-bottom:10px;border:1px solid transparent;}
#sub_contents .webgene-item.categorylist a:hover{background:#fff;color:#d20000;border:1px solid #d20000;}
#sub_contents .webgene-blog:has(.news__item){display:block;justify-content:flex-start;flex-wrap:wrap;position:relative;row-gap:40px;}
#sub_contents .webgene-blog:has(.news__item)::after{content:"";display:block;width:100%;}
#sub_contents .webgene-blog .news__item{width:100%;}
#sub_contents .webgene-blog .news__item a{display:block;justify-content:center;}
#sub_contents .webgene-blog .news__item .news__img{margin-bottom:20px;}
/* #sub_contents .webgene-blog .news__item .news__img img{aspect-ratio:3/2;object-fit:cover;} */
#sub_contents .webgene-blog .news__item .news__title{width:100%;line-height:1.5;overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:1.2em;font-size:15px;font-weight:normal;}
#sub_contents .webgene-blog .news__item a:hover .news__title{opacity:.8;}
#sub_contents .webgene-blog .news__item .news__date{margin:0 30px 0 0;font-weight:normal;}
#sub_contents .webgene-blog .news__item .news__cate{padding:5px 10px;}
#sub_contents .webgene-pagination{margin-top:50px;text-align:center;display:block;width:100%;}
#sub_contents .webgene-pagination ul{display:flex;justify-content:center;column-gap:20px;}
#sub_contents .webgene-pagination ul li a{display:inline-block;padding:5px 30px;background:#111111;color:#fff;}
#sub_contents .subnews_flex{display:flex;align-items:baseline;border-bottom:dashed 1px #111111;padding-bottom:1em;}
#sub_contents .cateList{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;margin:0 auto;padding:0;}
#sub_contents .cateList section.webgene-blog{display:contents;}
#sub_contents .cateList .webgene-item{width:auto;margin:0;padding:0;}
#sub_contents .cateList p{margin:0;padding:0;line-height:inherit;font-weight:bold;}
#sub_contents .cateList .webgene-item.categorylist,#sub_contents .cateList article.webgene-item.categorylist{flex:1 1 auto;width:90%;}

/* detail_news
-----------------------------*/
#sub_contents .webgene-blog .cnt-news-li h1, #sub_contents .webgene-blog .cnt-news-li h2, #sub_contents .webgene-blog .cnt-news-li h3, #sub_contents .webgene-blog .cnt-news-li h4 {font-size: 16px;}
#sub_contents .blog_h2{font-size: 20px;}
#sub_contents .cmn-blog-date{text-align:center;}
#sub_contents .area_blog{width: 100%; padding: 60px;}
#sub_contents .area_blog .cmn-blog-txt{font-size:16px;}
#sub_contents .btn_clear{margin: 30px auto;}
#sub_contents .area_blog figure{width: 62%;}
#sub_contents .webgene-item.detail{width: 100%;}
#sub_contents .news_detail{width: 100%;}
#sub_contents .news_detail .news_img {text-align: center;margin: 0 auto;width:50%;}
#sub_contents .news_detail .news_img img{width: auto; text-align: center; margin: 0 auto 50px;}
#sub_contents .news_detail .news_date{text-align: center; display: block;margin: 0 auto 50px;font-family: "Noto Sans JP", sans-serif;font-size: 18px;}
#sub_contents .news_text{background: #fff; padding: 40px 30px;}
#sub_contents .news_detail .news_detail_ttl {font-size:25px;margin-bottom:30px;text-align:center;}

/* sitemap
-----------------------------*/
#sub_contents .sitemap{max-width:100%;margin:0 auto;padding:40px 20px;color:#111;}
#sub_contents .sitemap .head{text-align:center;margin-bottom:60px;}
#sub_contents .sitemap .en{font-size:12px;letter-spacing:.3em;color:#999;margin-bottom:10px;}
#sub_contents .sitemap .list li{border-bottom:0;font-weight: bold;}
#sub_contents .sitemap .list li.sep{height:20px;background:#fafafa;border:none;}
#sub_contents .sitemap .list a{display:block;padding:10px 0 10px 15px;font-size:19px;letter-spacing:.12em;color:#d20000;text-decoration:none;position:relative;font-weight:normal;font-weight: bold;}
#sub_contents .sitemap .list a::before{content:'・';position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:16px;color:#d20000;}
#sub_contents .sitemap .list a::after{content:'';position:absolute;left:0;bottom:10px;width:100%;border-bottom:1px dashed #d20000;}

/* PC  */

@media screen and (min-width: 768px) {
/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:130px;}
#sub_visual {padding-top: 130px;height: 450px;position: relative;z-index: 0;background-size: cover;width: 100%;margin: 0 auto;z-index:10;}
#sub_visual  .span{ width: auto;margin-bottom: 10px;display: block;font-size: 45px;padding: 0;text-align: center;color: #d20000; margin: 0 auto;font-family: "Noto Sans JP", sans-serif;position: absolute;line-height: 0.5;z-index: 2; font-weight: bold;line-height: 130%;writing-mode: horizontal-tb;letter-spacing: 4px;}
#sub_visual .span::after{content:"";position:absolute;left:-150px; bottom:-180px; width:180px; height:180px;background:url(../images/illust.png) no-repeat center/contain;z-index:1;}

/* bread_crumb_list
-----------------------------*/
#sub_contents .bread_crumb_list{background:rgba(0,0,0,.6);position:absolute;width:100%; top:-45px;line-height:100%;}
#sub_contents .bread_crumb{text-align:right;padding:0px;max-width:1280px; width: 94%; margin:0 auto;margin-bottom:30px;padding-top: 20px;}
#sub_contents .bread_crumb div { display:inline;color:#fff;}
#sub_contents .bread_crumb div:after {content : '＞';padding-left:10px; font-family: inherit; font-size:15px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:14px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:14px;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;;background-attachment: fixed; padding-bottom:1px;}
#sub_contents p{font-size: 16px;}
#sub_contents p.txt_red{font-size:130%; font-weight:bold;color:#d20000;}
#sub_contents section{max-width: 1280px; position: relative;margin: 0px auto 50px;}
#sub_contents .section{max-width: 1280px;width: 94%;position: relative;margin: 100px auto 100px;padding: 0;}
#sub_contents h2{text-align: center;font-size:45px; font-weight: 500; margin-bottom:0px; position: relative; line-height: 150%; padding-top: 10px;letter-spacing: 3px;text-transform: uppercase; margin-top:30px;font-weight: bold;}
#sub_contents h2 span{font-weight: bold;font-size:20px; display: block;margin-bottom:0px;margin-top: 10px;}
#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 .mb100{margin-bottom: 100px;}
#sub_contents .mb150{margin-bottom: 150px;}
#sub_contents .mt80{margin-top: 80px;}
#sub_contents .mt30{margin-top: 30px;}
#sub_contents .sp_br{display:inline-block;;}
#sub_contents .gap-20{gap: 30px;}
#sub_contents .txt_cen strong{ text-align: center; font-weight: bold;font-size: 23px;padding-bottom: 50px;}

#sub_contents .txt_cen{position:relative;text-align:center;line-height:2;margin:0 auto 60px;max-width:900px;padding-bottom:80px}

#sub_contents .txt_cen p{font-size:clamp(16px,1.6vw,18px);letter-spacing:.05em}
#sub_contents .txt_cen::after{content:"";position:absolute;left:0%;bottom:-80px;width:200px;height:200px;background:url(../images/deco02.png) no-repeat center/contain;opacity:.5;margin: 0 auto;}
#sub_contents .txt_cen02{ text-align: center;  line-height: 200%;margin-bottom: 30px;}
#sub_contents .txt_cen02 p{font-size: 18px;}

#sub_contents .txt_cen em{font-style: normal !important;display: block;    margin-bottom: -20px;}
#sub_contents .sub_bg{padding: 50px 0px;background:#d20000;}
#sub_contents .sub_bg,#sub_contents .sub_bg *{color:#fff;}

#sub_contents .full_img{width:100%;margin:0 0 80px 0;}
#sub_contents .full_img img{width:100%;height:auto;display:block}

/* food
-----------------------------*/
#sub_contents .menu_img {text-align: center;margin-bottom: 30px;}
#sub_contents .menu_img img{width:70%;}
#sub_contents .tbl_menu {width: 70%;margin-inline: auto;}
#sub_contents .tbl_menu .tr {display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
#sub_contents .tbl_menu .th {width: 100%;padding: 10px 0 0 0;border-bottom: none;line-height: 1.6;font-size: 20px;}
#sub_contents .tbl_menu .th p {font-size: 20px;}
#sub_contents .tbl_menu .td {width: 100%;text-align: left;padding: 0 0 10px 0;line-height: 1.6;border-bottom: 1px solid #291700;}
#sub_contents .tbl_menu .td p{font-weight:500;}

#sub_contents .txt_bg{background: #fbfbfa; padding: 15px;width: 70%;margin: 0 auto;}
#sub_contents .sub_bg .txt_bg *{color:#2b2b2b;}
#sub_contents .menu_list{gap:30px;}
#sub_contents .menu_list .li{width:100%;}

/* course
-----------------------------*/
#sub_contents .course__items .course__item{width: 48%;}
#sub_contents .course__items .course__item .course_h3{position: relative;font-size:24px;font-weight:bold;color:#d20000;padding-left:40px;margin-bottom:10px;}
#sub_contents .wh_bg {background:#fbfbfa;padding:40px;margin-bottom:50px;color:#000;}
#sub_contents .sub_bg .course__items,
#sub_contents .sub_bg .course__items *{color:#111;}

#sub_contents .course_name p{max-width:720px;margin:0 auto;font-size:15px;line-height:2.4;color:#2b2b2b;}
#sub_contents .course_name strong{display:block;font-size:24px;font-weight:700;margin:40px 0 5px;color:#2b2b2b;letter-spacing:.06em}
#sub_contents .course_name strong::after{content:"";display:block;width:36px;height:2px;background:#d20000;margin-top:5px}
#sub_contents .course_name em{float:right;font-style:normal;font-weight:700;color:#d20000;background:#fff;padding-left:10px;font-size: 16px;}
#sub_contents .course_name br{clear:both;}
#sub_contents .course_name p{background:none;}


/* drink
-----------------------------*/
#sub_contents .menu__items .img{width:48%;}
#sub_contents .menu__items .img img{margin-bottom:50px;padding:40px;}
#sub_contents .menu__items .menu__item{width: 48%;}
#sub_contents .menu__items .menu__item .menu_h3{position: relative;font-size:24px;font-weight:bold;color:#d20000;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;background: url(../images/sub_menu_ttl_icon.png)no-repeat;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 .wh_bg {background:#fffef9;padding:60px 40px 40px 40px;margin-bottom:50px;color:#000;}
#sub_contents .sub_bg .menu__items,
#sub_contents .sub_bg .menu__items *{color:#111;}

#sub_contents .menu_name p{max-width:720px;margin:0 auto;font-size:15px;line-height:2.4;color:#2b2b2b;}
#sub_contents .menu_name strong{display:block;font-size:24px;font-weight:700;margin:40px 0 10px;color:#2b2b2b;letter-spacing:.06em}
#sub_contents .menu_name strong::after{content:"";display:block;width:36px;height:2px;background:#d20000;margin-top:5px}

#sub_contents .menu_name em{float:right;font-style:normal;font-weight:700;color:#d20000;background:#fffef9;padding-left:10px;}
#sub_contents .menu_name br{clear:both;}
#sub_contents .menu_name p{background:none;}
  
/* space
-----------------------------*/
#sub_contents .scene_area .img img{aspect-ratio: auto; object-fit: cover;width: 100%;}
#sub_contents .scene_area .txt_area .b{font-size:70px;font-weight:bold;display: inline-block;margin-right: 15px;;color: #fff;}
#sub_contents .scene_area .txt_area .span{display: inline-block;font-size: 30px;margin-bottom: 0;font-weight: bold;;color: #fff;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .scene_area .txt_area .p{border-top: 1px solid #fff;padding-top: 20px;}

/* scene
-----------------------------*/
#sub_contents .sub_scene{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,72px);position:relative;margin:0 auto 120px}
#sub_contents .sub_scene .img{width:min(62%,820px);margin:0;position:relative;z-index:1}
#sub_contents .sub_scene .img img{width:90%;height:auto;display:block;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.12)}
#sub_contents .sub_scene .textarea{width:min(40%,460px);position:relative;z-index:2;padding-right:30px;}
#sub_contents .sub_scene .scene_ttl{padding:6px 16px;background:#fff;display:inline-block;margin-top:0;font-size:14px;color:#d20000;font-weight:bold;letter-spacing:.12em;border:1px solid rgba(210,0,0,.18);}
#sub_contents .sub_scene .scene_name{font-weight:bold;font-size:clamp(24px,2.4vw,36px);border-bottom:1px solid rgba(210,0,0,.22);margin:14px 0 18px;font-family:"Noto Sans JP",sans-serif;padding-bottom:12px;line-height:1.5}
#sub_contents .sub_scene:nth-of-type(odd) .img{order:2;margin-right:calc(30% - 50vw)}
#sub_contents .sub_scene:nth-of-type(odd) .textarea{order:1;margin-right:-4%}
#sub_contents .sub_scene:nth-of-type(even) .img{order:1;margin-left:calc(50% - 50vw)}
#sub_contents .sub_scene:nth-of-type(even) .textarea{order:2;margin-left:-6%}
#sub_contents .sub_scene .img::before{content:"";position:absolute;inset:auto -18px -18px auto;width:120px;height:120px;background:rgba(210,0,0,.07);z-index:-1}
#sub_contents .sub_scene:nth-of-type(even) .img::before{inset:auto auto -18px -18px}

/* reserve
-----------------------------*/
#sub_contents .contact_area{display:flex;column-gap: 4%;align-items: center;}
#sub_contents .contact_list{width:320px;margin-inline: 0;}
#sub_contents .contact_list{margin-bottom: 20px;}
#sub_contents .contact_list:last-child{margin-bottom: 20px;}
#sub_contents .check_area{padding:20px 20px 20px 40px;display:flex; font-size:18px;background: #fff;box-shadow: 0px 5px 25px 0px rgba(174, 166, 154, 0.15);  }
#sub_contents .check_list{font-size:18px; width:100%; margin-bottom: 15px;border-bottom: 1px solid #d20000; position:relative;padding-left:30px;margin-bottom:10px;}
#sub_contents .check_list::before{position:absolute;content:"";background: url(../images/sub_check.png) no-repeat top center / cover ;width:18px;height:18px;top: 50%;left: 0%;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
#sub_contents .sub_bg .check_area,
#sub_contents .sub_bg .check_area *{color:#111;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:20px;border-radius:0px;width:100%;margin:0 auto;background:#fffef9;color:#d20000;}
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 30px;}
#sub_contents .faq__item .dt {padding: 15px 10px 15px 50px;position: relative;border-bottom:1px dashed #d20000;font-weight:bold;}
#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: 15px;top: 8px;}
#sub_contents .faq__item .dt::before {content: "Q.";font-size: 20px;font-weight:600;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;font-weight:600;color:#111;font-family: "Noto Sans JP", sans-serif;}
#sub_contents .sub_bg .faq__item,
#sub_contents .sub_bg .faq__item *{color:#d20000;}

/* recruit
-----------------------------*/
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .conc_bg{background:#d20000; padding:40px;position: relative;}
#sub_contents .conc_bg p{font-size:16px; position: relative; z-index: 1; text-align:left; font-weight:normal; line-height: 200%;color: #fff;}
#sub_contents .conc_bg .txt_cen{text-align:center;font-size:24px;line-height: 200%; font-weight:600;}
#sub_contents .comm_g_area{display:flex;align-items:flex-start;flex-wrap:nowrap}
#sub_contents .comm_g_area .txt_area{width:45%;position:relative;}
#sub_contents .comm_g_area .txt_area .ttl p{font-size:35px;font-family:"Noto Sans JP",sans-serif}
#sub_contents .comm_g_area .txt_area .num{font-size:55px;color:#d20000}
#sub_contents .comm_g_area .img{width:50%;margin-left:calc(50% - 47vw);flex:1;margin-right:5%;margin-bottom:0}
#sub_contents .comm_g_area .img02{width:40%;margin-right:calc(50% - 47vw);flex:1;margin-left:5%;margin-bottom:0}
/* 奇数：テキストを上寄せ */
#sub_contents .comm_g_area:nth-of-type(odd) .txt_area{margin-top:80px;}
/* 偶数：テキストを下寄せ */
#sub_contents .comm_g_area:nth-of-type(even) .txt_area{margin-top:30px}

#sub_contents .tbl_info {margin-bottom:20px;}
#sub_contents .tbl_info .tr{width:100%;background:#fff;margin-bottom:2px;}
#sub_contents .tbl_info .th{width:24%;padding:10px 10px;background:#d20000;color:#fff; text-align:center;}
#sub_contents .tbl_info .td{width:76%;padding:10px 30px 10px 30px;color:#000;}
#sub_contents .tbl_info a{color:#000;}

/* news
-----------------------------*/
#sub_contents .illustration{position:relative;}
#sub_contents .illustration::after{content:"";position:absolute;top:48px;left:858px;width:350px;height:150px;display:inline-block;background:url(../images/illust.png) no-repeat center;z-index:-10;}
#sub_contents .webgene-blog:has(.categorylist){display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:50px;}
#sub_contents .webgene-item.categorylist{width:30%;margin-right:1%;margin-bottom:0;}
#sub_contents .webgene-item.categorylist a{display:block;width:auto;text-align:center;padding:14px 10px;transition:.3s;color:#fff;background:#d20000;font-weight:bold;text-decoration:none;line-height:1.2;margin-bottom:40px;border:1px solid transparent;}
#sub_contents .webgene-item.categorylist a:hover{background:#fff;color:#d20000;border:1px solid #d20000;}
#sub_contents .webgene-blog:has(.news__item){display:block;justify-content:flex-start;flex-wrap:wrap;position:relative;row-gap:40px;}
#sub_contents .webgene-blog:has(.news__item)::after{content:"";display:block;width:100%;}
#sub_contents .webgene-blog .news__item{width:100%;}
#sub_contents .webgene-blog .news__item a{display:block;justify-content:center;}
#sub_contents .webgene-blog .news__item .news__img{margin-bottom:20px;}
/* #sub_contents .webgene-blog .news__item .news__img img{aspect-ratio:3/2;object-fit:cover;} */
#sub_contents .webgene-blog .news__item .news__title{width:100%;line-height:1.5;overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:1.2em;font-size:15px;font-weight:normal;}
#sub_contents .webgene-blog .news__item a:hover .news__title{opacity:.8;}
#sub_contents .webgene-blog .news__item .news__date{margin:0 30px 0 0;font-weight:normal;}
#sub_contents .webgene-blog .news__item .news__cate{padding:5px 10px;}
#sub_contents .webgene-pagination{margin-top:50px;text-align:center;display:block;width:100%;}
#sub_contents .webgene-pagination ul{display:flex;justify-content:center;column-gap:20px;}
#sub_contents .webgene-pagination ul li a{display:inline-block;padding:5px 30px;background:#111111;color:#fff;}
#sub_contents .subnews_flex{display:flex;align-items:baseline;border-bottom:dashed 1px #111111;padding-bottom:1em;}
#sub_contents .cateList{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 auto;padding:0;}
#sub_contents .cateList section.webgene-blog{display:contents;}
#sub_contents .cateList .webgene-item{width:auto;margin:0;padding:0;}
#sub_contents .cateList p{margin:0;padding:0;line-height:inherit;font-weight:bold;}
#sub_contents .cateList .webgene-item.categorylist,#sub_contents .cateList article.webgene-item.categorylist{flex:1 1 auto;max-width:200px;}

/* detail_news
-----------------------------*/
#sub_contents .webgene-blog .cnt-news-li h1, #sub_contents .webgene-blog .cnt-news-li h2, #sub_contents .webgene-blog .cnt-news-li h3, #sub_contents .webgene-blog .cnt-news-li h4 {font-size: 16px;}
#sub_contents .blog_h2{font-size: 20px;}
#sub_contents .cmn-blog-date{text-align:center;}
#sub_contents .area_blog{width: 100%; padding: 60px;}
#sub_contents .area_blog .cmn-blog-txt{font-size:16px;}
#sub_contents .btn_clear{margin: 30px auto;}
#sub_contents .area_blog figure{width: 62%;}
#sub_contents .webgene-item.detail{width: 100%;}
#sub_contents .news_detail{width: 100%;}
#sub_contents .news_detail .news_img {text-align: center;margin: 0 auto;width:50%;}
#sub_contents .news_detail .news_img img{width: auto; text-align: center; margin: 0 auto 50px;}
#sub_contents .news_detail .news_date{text-align: center; display: block;margin: 0 auto 20px;font-family: "Noto Sans JP", sans-serif;font-size: 18px;}
#sub_contents .news_text{background: #fff; padding: 50px;}
#sub_contents .news_detail .news_detail_ttl {font-size:20px;margin-bottom:30px;text-align:center;}

/* sitemap
-----------------------------*/
#sub_contents .sitemap{max-width:700px;margin:0 auto;padding:80px 0 100px;color:#111;}
#sub_contents .sitemap .head{text-align:center;margin-bottom:60px;}
#sub_contents .sitemap .en{font-size:12px;letter-spacing:.3em;color:#999;margin-bottom:10px;}
#sub_contents .sitemap .list li{border-bottom:0;}
#sub_contents .sitemap .list li.sep{height:20px;background:#fafafa;border:none;}
#sub_contents .sitemap .list a{display:block;padding:10px 0 10px 15px;font-size:19px;letter-spacing:.12em;color:#d20000;text-decoration:none;position:relative;font-weight:bold;}
#sub_contents .sitemap .list a::before{content:'・';position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:16px;color:#d20000;}
#sub_contents .sitemap .list a::after{content:'';position:absolute;left:0;bottom:10px;width:100%;border-bottom:1px dashed #d20000;}

}  

@media screen and (min-width: 1025px) {
/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:130px;}
#sub_visual {padding-top: 130px;height: 450px;position: relative;z-index: 0;background-size: cover;width: 100%;margin: 0 auto;z-index:10;}
#sub_visual  .span{ width: auto;margin-bottom: 10px;display: block;font-size: 45px;padding: 0;text-align: center;color: #d20000; margin: 0 auto;font-family: "Noto Sans JP", sans-serif;position: absolute;line-height: 0.5;z-index: 2; font-weight: bold;line-height: 130%;writing-mode: horizontal-tb;letter-spacing: 4px;}
#sub_visual .span::after{content:"";position:absolute;left:-380px; bottom:-180px; width:250px; height:250px;background:url(../images/illust.png) no-repeat center/contain;z-index:1;}  
  
/* recruit
-----------------------------*/  
#sub_contents .comm_g_area{display:flex;align-items:flex-start;flex-wrap:nowrap}
#sub_contents .comm_g_area .txt_area{width:55%;position:relative;}
#sub_contents .comm_g_area .txt_area .ttl p{font-size:35px;font-family:"Noto Sans JP",sans-serif}
#sub_contents .comm_g_area .txt_area .num{font-size:55px;color:#d20000}
#sub_contents .comm_g_area .img{width:50%;margin-left:calc(50% - 47vw);flex:1;margin-right:2%;margin-bottom:0}
#sub_contents .comm_g_area .img02{width:40%;margin-right:calc(50% - 47vw);flex:1;margin-left:2%;margin-bottom:0}
/* 奇数：テキストを上寄せ */
#sub_contents .comm_g_area:nth-of-type(odd) .txt_area{margin-top:50px;}
/* 偶数：テキストを下寄せ */
#sub_contents .comm_g_area:nth-of-type(even) .txt_area{margin-top:350px}
  
/* scene
-----------------------------*/
#sub_contents .sub_scene{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,4vw,72px);position:relative;margin:0 auto 120px}
#sub_contents .sub_scene .img{width:min(62%,820px);margin:0;position:relative;z-index:1}
#sub_contents .sub_scene .img img{width:100%;height:auto;display:block;object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.12)}
#sub_contents .sub_scene .textarea{width:min(40%,460px);position:relative;z-index:2;}
#sub_contents .sub_scene .scene_ttl{padding:6px 16px;background:#fff;display:inline-block;margin-top:0;font-size:14px;color:#d20000;font-weight:bold;letter-spacing:.12em;border:1px solid rgba(210,0,0,.18);}
#sub_contents .sub_scene .scene_name{font-weight:bold;font-size:clamp(24px,2.4vw,36px);border-bottom:1px solid rgba(210,0,0,.22);margin:14px 0 18px;font-family:"Noto Sans JP",sans-serif;padding-bottom:12px;line-height:1.5}
#sub_contents .sub_scene:nth-of-type(odd) .img{order:2;margin-right:calc(50% - 50vw)}
#sub_contents .sub_scene:nth-of-type(odd) .textarea{order:1;margin-right:-6%}
#sub_contents .sub_scene:nth-of-type(even) .img{order:1;margin-left:calc(50% - 50vw)}
#sub_contents .sub_scene:nth-of-type(even) .textarea{order:2;margin-left:-6%}
#sub_contents .sub_scene .img::before{content:"";position:absolute;inset:auto -18px -18px auto;width:120px;height:120px;background:rgba(210,0,0,.07);z-index:-1}
#sub_contents .sub_scene:nth-of-type(even) .img::before{inset:auto auto -18px -18px}
}






#sub_contents .hd_imgarea { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 70%; position: relative; margin: 0 auto; text-align: center; padding-bottom: 50vw; }
#sub_contents .hd_imgarea .figure { position: absolute; width: 48.5%; }
#sub_contents .hd_imgarea .figure:first-child { left: 0; }
#sub_contents .hd_imgarea .figure:last-child { right: 0; z-index: 1; top: 15%; }
#sub_contents .hd_imgarea .figure .img { width: 120%; height: 100%; object-fit: cover; display: block; border-radius:20px 20px 0px 0px;}
#sub_contents .hd_imgarea .figurecaption { background:#d20000; color: white; padding: 1.5vw 2vw; margin: 0; border-radius: 0 0 2vw 2vw; }
#sub_contents .hd_imgarea .figurecaption p { margin: 0; font-size: 1.6vw; font-weight: 500; }
#sub_contents .hd_imgarea::after { content: ""; display: block; padding-bottom: 28.125%; }

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
#sub_contents .hd_imgarea { padding-bottom: 45vw; }
#sub_contents .hd_imgarea .figure:last-child { top: 10%; }
}

/* スマホ */
@media screen and (max-width: 767px) {
#sub_contents .hd_imgarea { display: block; padding-bottom: 0; }
#sub_contents .hd_imgarea .figure { position: relative; width: 100%; margin-bottom: 20px; }
#sub_contents .hd_imgarea .figure:first-child, #sub_contents .hd_imgarea .figure:last-child { left: 0; right: 0; top: 0; }
#sub_contents .hd_imgarea .figure .img { width: 100%; }
#sub_contents .hd_imgarea .figurecaption { padding: 12px 16px; border-radius: 0 0 20px 20px; }
#sub_contents .hd_imgarea .figurecaption p { font-size: 16px; }
#sub_contents .hd_imgarea::after { display: none; }
}

/* デスクトップ */
@media screen and (min-width: 1025px) {
#sub_contents .hd_imgarea { padding-bottom: 400px; }
#sub_contents .hd_imgarea .figure .img { border-radius:20px 20px 0px 0px; }
#sub_contents .hd_imgarea .figurecaption { padding: 12px 16px; border-radius: 0 0 20px 20px; }
#sub_contents .hd_imgarea .figurecaption p { font-size: 16px; }
}

