/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:130px;}
#sub_visual {padding-top: 130px;background: url(../images/sub_visual.png) no-repeat center;height: 350px;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: 30px;padding: 0;text-align: center;color: #fff; margin: 0 auto;font-family: "Zen Old Mincho", serif; writing-mode: vertical-rl;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);line-height: 0.5;white-space: nowrap;letter-spacing: 0;background-color: #8f1d1d;padding: 30px 35px;z-index: 2; }
#sub_visual .span::after{ content: "";position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%) translate(-90px, 70px) rotate(-18deg);width: 180px;height: 180px;background: url(../images/illust.png) no-repeat center / contain;z-index: 1;opacity: .9;pointer-events: none;}

/* 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: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:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;;background-attachment: fixed; background: url(../images/sub_bg.png) repeat center center; padding-bottom:1px;}
#sub_contents p{font-size: 14px;}
#sub_contents .section{max-width: 1280px;width: 94%;position: relative;margin: 0px auto 100px;padding: 0;}
#sub_contents .h2{ text-align: center;font-size:40px;  position: relative; line-height: 100%; padding-top:15px;margin-top: 55px;scroll-margin-top: 100px; margin-bottom: 50px;}
#sub_contents .col_whi{ color: #fff !important;}
#sub_contents .sub_ttl {text-align:center;margin-bottom:30px;border-bottom:1px solid #8f1d1d;}
#sub_contents .sub_ttl h2{ position: relative;text-align: center;font-size:20px; line-height: 130%;letter-spacing: 0.08em;font-weight: 500;display:inline-block;padding:10px 0 20px 0;font-family: "Zen Old Mincho", serif;}
#sub_contents .sub_ttl h2:before {content: '';position: absolute;top: -50px;display: inline-block;width: 60px;height: 60px;background: url(../images/sub_ttl_icon.png)no-repeat;right: 0;left: 0;margin: 0 auto;background-size:contain;}
#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 .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{ text-align: center;  line-height: 200%;}
#sub_contents .txt_cen em{font-style: normal !important;display: block;    margin-bottom: -20px;}

/* tab
-----------------------------*/
#sub_contents .tab_area {display: grid;grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));column-gap: 10px;row-gap: 10px;}
#sub_contents .tab {padding: 15px 0; font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s; position: relative; border: 1px solid #86511d; margin-bottom: 0px;}
#sub_contents .tab p {font-size: 18px;display: inline; font-weight: bold;}
#sub_contents .tab.is-active {padding: 15px 0; background: #86511d;color: #fff; margin-bottom: 0px;}
#sub_contents .panel {display: none;}
#sub_contents .panel.is-active {display: block;background-size: cover;padding: 30px 0 0;}

/* btn
-----------------------------*/
#sub_contents .anker__items{column-gap: 2%;row-gap: 10px;}
#sub_contents .anker__item{width: 100%;height: 50px;position: relative;display: block;}
#sub_contents .anker__item a {display: flex;justify-content: center;align-items: center;gap: 8px;text-align: center;background: #8f1d1d;border: 1px solid #8f1d1d;color: #fff;position: relative;padding: 0 16px; height: 50px;}
#sub_contents .anker__item a::after {content: "";display: inline-block;width: 7px;height: 7px;border-left: 2px solid white;border-bottom: 2px solid white;transform: rotate(-45deg);margin-left: 15px;top: 1px;}
#sub_contents .anker__item a:hover{opacity:.8;background: #fff;color:#8f1d1d;}
#sub_contents .anker__item a:hover::after {border-left: 2px solid #8f1d1d;border-bottom: 2px solid #8f1d1d;}
#sub_contents .anker__item p {line-height: 50px;font-size:15px;}
#link01,#link02,#link03,#link04,#link05,#link06,#link07,#link08,#link09,#link10,#link11,#link12{margin-top:-120px;padding-top:120px;}

#sub_contents .link__items{column-gap: 2%;row-gap: 10px;}
#sub_contents .link__item{width: 100%;height: 50px;position: relative;display: block;}
#sub_contents .link__item a {display: flex;justify-content: center;align-items: center;gap: 8px;text-align: center;background: #8f1d1d;border: 1px solid #8f1d1d;color: #fff;position: relative;padding: 0 16px; height: 50px;}
#sub_contents .link__item a:hover{opacity:.8;background: #fff;color:#8f1d1d;}
#sub_contents .link__item a:hover::after {border-left: 2px solid #8f1d1d;border-bottom: 2px solid #8f1d1d;}
#sub_contents .link__item p {line-height: 50px;font-size:15px;}

/* about
-----------------------------*/
#sub_contents .feature_txt{font-size: 15px;text-align: left;}
#sub_contents .feature_txt .ul{font-size: 18px;margin: 30px 0;display: inline-block;text-align: left;text-align: left;width: 100%;padding: 20px;background: #fff;box-shadow: 4px 4px 40px #eee;}
#sub_contents .feature_txt .ul .p{border-top: 1px solid #403a36;padding-top: 20px;}
#sub_contents .feature_txt .ul .li .b{font-size:40px;font-weight:bold;display: block;margin-right: 15px;color: #8f1d1d;font-family: "Zen Old Mincho", serif;}
#sub_contents .feature_txt .ul .li .span{display: block;font-size: 17px;letter-spacing: 0;margin-bottom: 10px;font-weight: bold;color: #8f1d1d;font-family: "Zen Old Mincho", serif;}
#sub_contents .about_area .img img{margin-bottom: 10px;}
#sub_contents .about_area .img img{aspect-ratio: 2/1; object-fit: cover;}sub
#sub_contents .about_area .txt_area .span{display: block;font-size: 18px;margin-bottom: 10px;font-weight: bold;margin: 10px 0;font-family: "Zen Old Mincho", serif;}
#sub_contents .about_area .txt_area .p{border-top: 1px solid #8f1d1d;padding-top: 20px;}
#sub_contents .img_flex .img{width: 100%;}
#sub_contents .img_flex .img img{aspect-ratio: auto; object-fit: cover;}
#sub_contents .img_flex .img .cap{font-family: "Zen Old Mincho", serif; font-weight: bold; font-size: 16px;}

/* for-tourists
-----------------------------*/
#sub_contents .sub_guide_bg{background: url(../images/sub_guide_bg.png) no-repeat top center / cover ; padding: 30px; background-size: cover;}
#sub_contents .sub_guide .guide_ttl{text-align:center; font-weight:bold; font-size:22px;line-height: 200%;font-family: "Zen Old Mincho", serif;}
#sub_contents .sub_guide p{text-align:left;font-size:16px;line-height: 200%;font-weight:normal; color:#fff;}
#sub_contents .onomichi_textBox .img{width: 100%; margin-bottom: 10px; position:relative;}
#sub_contents .onomichi_textBox .img img{width: 100%;height: 300px;object-fit: cover;}
#sub_contents .onomichi_textBox .textarea {width: 100%;margin-bottom:20px;}
#sub_contents .onomichi_textBox .textarea .ttl_en {font-size:14px;font-family: "Shippori Mincho", serif;}
#sub_contents .onomichi_textBox .textarea .ttl_ja {font-size:16px;font-weight: 500;margin-bottom:20px;}
#sub_contents .onomichi_textBox .textarea p {line-height:2;}
#sub_contents .onomichi_textBox .textarea p.onomichi_name {border-bottom: solid 1px;margin-bottom: 20px;font-weight: bold;font-size: 17px; font-family: "Zen Old Mincho", serif;}
#sub_contents .onomichi_textBox .textarea p.onomichi_ttl {font-weight: normal;margin-top: 0px;}
#sub_contents .sub_root{width: 100%;margin-bottom: 10px;background: url(../images/sub_bg_paper01.jpg);color: #fff;padding: 20px;}
#sub_contents .sub_root .num{background: #8f1d1d;color: #fff;padding: 10px 15px;margin-right: 5px;margin-bottom: 10px;font-size: 18px;display: block;}
#sub_contents .sub_root .ttl{font-weight: bold;font-size: 17px;letter-spacing: -0.11em;font-family: "Zen Old Mincho", serif;}
#sub_contents .access_area{text-align: left;background: #fff;padding: 30px 10px;display: flex;flex-direction: column;gap: 30px;}
#sub_contents .access_area .img{width: 100%;text-align: center;}
#sub_contents .access_area .img img{width: 100px;height: 100px;}
#sub_contents .access_area p{font-size: 14px;}
#sub_contents a.sub_btn{display:block; width:100%; margin: 5px 0; line-height: 30px; transition: all .5s; padding: 14px 20px;background: #8f1d1d;color: #fff;border: 1px solid #8f1d1d;}
#sub_contents a.sub_btn p{text-align: center;}

/* recruit
-----------------------------*/
#sub_contents .concept__area {width:100%;margin: 0;}
#sub_contents .concept__area .head__area {margin-bottom:10px;}
#sub_contents .concept__area .head__area .img img {object-fit: cover;aspect-ratio: 6 / 4;}
#sub_contents .concept__area .head__area .img .span {font-weight:500;font-size: 38px;line-height:2.5;margin-left:220px;}
#sub_contents .concept__area .head__area .img .strong {position: absolute;top:-80px;left:0;font-size:160px;font-weight:bold;color:#920000;}
#sub_contents .concept__area .txt_area {margin-bottom:50px;}
#sub_contents .concept__area .txt_area .txt_catch{font-size:20px;font-weight:500;margin-bottom:0px;display: inline-block;font-family: "Zen Old Mincho", serif;}

#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:100%;padding:10px 10px;background:#8f1d1d;color:#fff; text-align:left;}
#sub_contents .tbl_info .td{width:100%;padding:10px 30px 10px 10px;color:#000;}
#sub_contents .tbl_info a{color:#000;}

/* restaurant01 restaurant02
-----------------------------*/
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 0px;position:relative;}
#sub_contents .comm_textBox .img img.daimaru{border: solid 3px #f39800;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:2em;}
#sub_contents .comm_textBox .textarea.daimaru {padding : 10px 30px 30px;background-color: #f3980050;}
#sub_contents .comm_textBox .textarea.akaboshi {padding : 10px 30px 30px;background-color: #c5010a50;}
#sub_contents .comm_textBox .textarea p {line-height:2;}
#sub_contents .comm_textBox .textarea p.concept {font-size: 16px;display: inline-block;}
#sub_contents .comm_textBox .textarea p.ttl.name {font-size: 22px;width: fit-content; color: #8f1d1d;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.ttl.daimaru {border-bottom: double 4px #8f1d1d;}
#sub_contents .comm_textBox .textarea p.ttl {font-size: 18px;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;margin-bottom: 5px;text-transform: uppercase;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.kansuuji {font-size: 50px;margin-bottom: 0px;font-weight: bold;}
#sub_contents .comm_textBox .textarea .span{background: #8f1d1d;color: #fff;display: inline-block;padding: 0 10px;margin-top: 10px;}

#sub_contents .sub_ttl_02_box{ text-align: center; position: relative;width: 100%;}
#sub_contents .sub_ttl_02_box p.sub_ttl_02{ text-align: center;  line-height: 180%;font-size: 18px;font-weight: bold;z-index: 2;position: relative;margin-top: 15px;}
#sub_contents .sub_ttl_02::before{position: absolute;content: "";background: url(../images/sub_ill_01.png) no-repeat center center / cover ;width:70px;height:70px;bottom: -55px;left: 50%;transform: translate(-50%, -50%);z-index: -1;}

#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: 80%;padding: 15px 0;line-height: 1.6;position: relative;}
#sub_contents .tbl_menu .th .menu_name::before {content: '●';color: #8f1d1d; margin-right: 2em;font-size: 10px;  vertical-align: middle; top: 0%; left:0; transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu.yakuu .th .menu_name::before {content: '●';color: #8f1d1d; margin-right: 2em;font-size: 10px; vertical-align: middle; top: 50%; left: 0; transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu .th .menu_name {font-weight: bold;padding-left:20px; position: relative;}
#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 .center_img {width:100%;text-align: center;}
#sub_contents .center_img img{max-width:600px;margin: 0 auto;object-fit: cover;}
#sub_contents .takeout_area{background: #fff;padding: 30px 10px 20px;margin-top: 30px;width: 100%;margin-inline: auto;}
#sub_contents .gal_list{gap: 10px;}
#sub_contents .gal_list img{width: 47%;}
#sub_contents .gallery_list .figure{position:relative; margin:0px 15px 50px;}
#sub_contents .gallery_list .figure .figurecaption{position:absolute; bottom:0px; background:#fff; padding:5px 15px;z-index:10; left:0px;}
#sub_contents .gallery_list .figure .figurecaption p{ font-size:20px; font-weight:bold; margin-bottom:0px;}
#sub_contents .menu_line .span {font-size: 20px; font-weight: bold; margin-bottom: 30px; text-align: center;}

/* shop
-----------------------------*/
#sub_contents .shop_area h2{font-size: 18px;}
#sub_contents .shop_area p{text-align: left;}
#sub_contents .online_area .img img{aspect-ratio: 2/1; object-fit: cover;}
#sub_contents .online_area .txt_area .span{display: block;font-size: 20px;margin-bottom: 10px;font-weight: bold;margin: 10px 0;font-family: "Zen Old Mincho", serif;}
#sub_contents .online_area .txt_area .p{border-top: 1px solid #8f1d1d;padding-top: 20px;}
#sub_contents .shop_ttl {margin-top:5px;padding: 0 0 5px 15px;font-size: 20px;font-weight:bold;text-align: left;border-left: 5px solid #8f1d1d; line-height: 1.5;position: relative;font-family: "Zen Old Mincho", serif;}
#sub_contents .image_txt{text-align: center;font-size: 16px;gap: 20px;}
#sub_contents .image_txt .item .span{background:#8f1d1d;color:#fff;display: inline-block;padding:20px;border-radius: 50%;font-size:24px;line-height: 1.1;font-weight: 700;font-family: 'Montserrat', sans-serif;margin-bottom: 20px;}
#sub_contents .image_txt .item .b{margin-top: 5px;font-weight: 500;letter-spacing: 0;font-size: 16px;}
#sub_contents .image_txt .item{display: block;width:100%;text-align: center;}
#sub_contents .shop_txt{text-align: left;font-size: 14px;background: #fff;padding: 35px;}
#sub_contents .shop_txt .ul{font-size: 16px;display: inline-block;}
#sub_contents .shop_txt .ul .li{border-bottom: 1px solid #8f1d1d;margin-top: 10px;padding-bottom: 5px;}
#sub_contents .shop_txt .ul .li .span{display: block;}
#sub_contents .shop_txt .ul .li::before{content: ""; background:url(../images/sub_shop_img02_01.png) no-repeat center center; background-size: contain; width: 25px; height:25px; display: inline-block; vertical-align: middle; margin-right: 10px;}
#sub_contents .online_area02{text-align: left;background: #fff;padding: 30px 10px;display: flex;flex-direction: column;gap: 30px;}
#sub_contents .online_area02 .img{width: 100%;text-align: center;}
#sub_contents .online_area02 .img img{width: 100px;height: 100px;}
#sub_contents .online_area02 a{margin: 0 auto;line-height: 30px; transition: all .5s; padding: 14px 20px;background: #8f1d1d;color: #fff;border: 1px solid #8f1d1d;}
#sub_contents .online_area02 a:hover{background: #fff;color: #8f1d1d;border: 1px solid #8f1d1d;}
#sub_contents .online_area02 p{font-size: 14px;}

/* scene
-----------------------------*/
#sub_contents .scene_com{font-weight: bold;font-size: 18px;margin: 10px 0;font-family: "Zen Old Mincho", serif;}
#sub_contents .sub_scene .scene_ttl {padding: 5px;background: #8f1d1d;color: #fff;display: inline-block;margin-top: 10px;}
#sub_contents .sub_scene .scene_name{font-weight: bold;font-size: 20px;border-bottom: 1px solid #8f1d1d;margin: 10px 0;font-family: "Zen Old Mincho", serif;}

/* products
-----------------------------*/
#sub_contents .item_g_area {padding: 30px; border: 1px solid #86511d; position: relative;}
#sub_contents .item_g_area .img {width: 30%; margin-bottom:0px;}
#sub_contents .item_g_area .img img{width: 100%;}
#sub_contents .item_g_area .txt_area {width: 67%;}
#sub_contents .item_g_area .txt_area .ttl {position: relative; font-size:22px; font-weight: 600; letter-spacing: .04em; /*padding-bottom: 10px;*/}
#sub_contents .item_g_area .txt_area .bold{font-size:18px; font-weight: 600; text-transform:capitalize;}
#sub_contents .item_g_area .menu_list{display: flex;border-bottom: 1px solid #86511d;padding: 5px 0;}
#sub_contents .item_g_area .menu__name{width: calc(100% - 460px);}
#sub_contents .item_g_area .menu__price{width: 460px;}

/* contact
-----------------------------*/
#sub_contents .contact_area{display:flex;column-gap: 4%;align-items: center;}
#sub_contents .contact_list{width:280px;margin-inline: 0;}
#sub_contents .contact_list{margin-bottom: 20px;}
#sub_contents .contact_list:last-child{margin-bottom: 20px;}
#sub_contents .sub_illust{padding: 0;width:15%;}
#sub_contents .atten_bg{padding: 30px 40px; border-radius: 10px;}
#sub_contents .atten_bg::before {position: absolute;bottom: -8px;right: -8px;width: 100%; height:100%;background:none;border: 1px solid #86511d;content: '';z-index: 1; border-radius: 10px;}
#sub_contents .atten_bg p{text-align:left; font-weight:600; font-size:18px;line-height: 250%; position: relative; z-index: 2;}

/* news
-----------------------------*/
#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;}
@supports not (display:contents){#sub_contents .cateList section.webgene-blog{display:flex;gap:10px;}}
#sub_contents .cateList .webgene-item{width:auto;margin:0;padding:0;}
#sub_contents .webgene-item.categorylist a{display:block;width:auto;text-align:center;padding:14px 10px;transition:.5s;color:#8f1d1d;font-weight:bold;border:1px solid #8f1d1d;text-decoration:none;line-height:1.2;margin-bottom:40px;}
#sub_contents .webgene-item.categorylist a:hover{background:#8f1d1d;color:#fff;border:1px solid #8f1d1d;}
#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;}
#sub_contents .webgene-blog{display:flex;justify-content: start;column-gap: 1%;row-gap: 20px;flex-wrap: wrap;}
#sub_contents .webgene-item{width: 100%;}
#sub_contents .news_list {margin-top:-100px;}
#sub_contents .webgene-blog .webgene-item.news__item figure{width: 100%;aspect-ratio: 16/9;overflow: hidden;margin-bottom: 10px;}
#sub_contents .webgene-blog .webgene-item.news__item figure img{border-radius:20px;}
#sub_contents .webgene-blog .webgene-item.news_area {padding:0;}
#sub_contents .webgene-blog .news__date{font-family: "Zen Old Mincho", serif;/* margin-left: 10px; */display:inline-block;font-size:16px;margin-top: 10px;}
#sub_contents .webgene-blog .news_ttl{font-weight:normal; display:block; margin:10px 0; overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-box-orient: vertical;-webkit-line-clamp: 3; font-size:16px;}

/* 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:100%;}
#sub_contents .news_detail .news_img img{width: auto; text-align: center; margin: 0 auto 10px;}
#sub_contents .news_detail .news_date{text-align: center; display: block;margin: 0 auto 20px;font-weight:500;font-family: "Zen Old Mincho", serif;font-weight:600;}
#sub_contents .news_text{background: #fff; padding: 20px;}
#sub_contents .news_detail .news_detail_ttl {font-size:20px;margin-bottom:20px;text-align:center;font-family: "Zen Old Mincho", serif;}

/* contact
-----------------------------*/
#sub_contents .contact_txt{text-align: center;font-size: 14px;}
/* PC  */
@media screen and (min-width: 768px) {

/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:130px;}
#sub_visual {padding-top: 130px;background: url(../images/sub_visual.png) no-repeat center;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: 30px;padding: 0;text-align: center;color: #fff; margin: 0 auto;font-family: "Zen Old Mincho", serif; writing-mode: vertical-rl;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);line-height: 0.5;white-space: nowrap;letter-spacing: 0;background-color: #8f1d1d;padding: 30px 35px;z-index: 2; }
#sub_visual .span::after{ content: "";position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%) translate(-90px, 70px) rotate(-18deg);width: 180px;height: 180px;background: url(../images/illust.png) no-repeat center / contain;z-index: 1;opacity: .9;pointer-events: none;}

/* 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:13px;}
#sub_contents .bread_crumb div:last-child:after { content : '';}
#sub_contents .bread_crumb div a {text-decoration:underline;color:#fff;font-size:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:13px;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;;background-attachment: fixed; background: url(../images/sub_bg.png) repeat center center; padding-bottom:1px;}
#sub_contents p{font-size: 16px;}
#sub_contents p.txt_red{font-size:130%; font-weight:bold;color:#b71111;}
#sub_contents .section{max-width: 1280px;width: 94%;position: relative;margin: 0px auto 100px;padding: 0;}
#sub_contents .h2{ text-align: center;font-size:40px;  position: relative; line-height: 100%; padding-top:15px;margin-top: 55px;scroll-margin-top: 100px; margin-bottom: 50px;}
#sub_contents .col_whi{ color: #fff !important;}
#sub_contents .sub_ttl {text-align:center;margin-bottom:30px;border-bottom:1px solid #8f1d1d;}
#sub_contents .sub_ttl h2{ position: relative;text-align: center;font-size:38px; line-height: 130%;letter-spacing: 0.08em;font-weight: 500;display:inline-block;padding:10px 0 20px 0;font-family: "Zen Old Mincho", serif;}
#sub_contents .sub_ttl h2:before {content: '';position: absolute;top: -50px;display: inline-block;width: 60px;height: 60px;background: url(../images/sub_ttl_icon.png)no-repeat;right: 0;left: 0;margin: 0 auto;background-size:contain;}
#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 .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{ text-align: center;  line-height: 200%;}
#sub_contents .txt_cen em{font-style: normal !important;display: block;    margin-bottom: -20px;}

/* tab
-----------------------------*/
#sub_contents .tab_area {display: grid;grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));column-gap: 10px;row-gap: 10px;}
#sub_contents .tab {padding: 15px 0; font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s; position: relative; border: 1px solid #86511d; margin-bottom: 0px;}
#sub_contents .tab p {font-size: 18px;display: inline; font-weight: bold;}
#sub_contents .tab.is-active {padding: 15px 0; background: #86511d;color: #fff; margin-bottom: 0px;}
#sub_contents .panel {display: none;}
#sub_contents .panel.is-active {display: block;background-size: cover;padding: 30px 0 0;}

/* btn
-----------------------------*/
#sub_contents .anker__items{column-gap: 2%;row-gap: 10px;}
#sub_contents .anker__item{width: 40%;height: 50px;position: relative;display: block;}
#sub_contents .anker__item a {display: flex;justify-content: center;align-items: center;gap: 8px;text-align: center;background: #8f1d1d;border: 1px solid #8f1d1d;color: #fff;position: relative;padding: 0 16px; height: 50px;}
#sub_contents .anker__item a::after {content: "";display: inline-block;width: 7px;height: 7px;border-left: 2px solid white;border-bottom: 2px solid white;transform: rotate(-45deg);margin-left: 15px;top: 1px;}
#sub_contents .anker__item a:hover{opacity:.8;background: #fff;color:#8f1d1d;}
#sub_contents .anker__item a:hover::after {border-left: 2px solid #8f1d1d;border-bottom: 2px solid #8f1d1d;}
#sub_contents .anker__item p {line-height: 50px;font-size:15px;}
#link01,#link02,#link03,#link04,#link05,#link06,#link07,#link08,#link09,#link10,#link11,#link12{margin-top:-120px;padding-top:120px;}

#sub_contents .link__items{column-gap: 2%;row-gap: 10px;}
#sub_contents .link__item{width: 40%;height: 50px;position: relative;display: block;}
#sub_contents .link__item a {display: flex;justify-content: center;align-items: center;gap: 8px;text-align: center;background: #8f1d1d;border: 1px solid #8f1d1d;color: #fff;position: relative;padding: 0 16px; height: 50px;}
#sub_contents .link__item a:hover{opacity:.8;background: #fff;color:#8f1d1d;}
#sub_contents .link__item a:hover::after {border-left: 2px solid #8f1d1d;border-bottom: 2px solid #8f1d1d;}
#sub_contents .link__item p {line-height: 50px;font-size:15px;}

/* about
-----------------------------*/
#sub_contents .feature_txt{font-size: 15px;text-align: left;}
#sub_contents .feature_txt .ul{font-size: 18px;margin: 30px 0;display: inline-block;text-align: left;text-align: left;width: 100%;padding: 50px;background: #fff;box-shadow: 4px 4px 40px #eee;}
#sub_contents .feature_txt .ul .p{border-top: 1px solid #403a36;padding-top: 20px;}
#sub_contents .feature_txt .ul .li .b{font-size:70px;font-weight:bold;display: inline-block;margin-right: 15px;;color: #8f1d1d;}
#sub_contents .feature_txt .ul .li .span{display: inline-block;font-size: 25px;margin-bottom: 0;font-weight: bold;;color: #8f1d1d;}
#sub_contents .about_area .img img{margin-bottom: 0;}
#sub_contents .about_area .img img{aspect-ratio: auto; object-fit: cover;width: 49%;}
#sub_contents .about_area .txt_area .span{display: inline-block;font-size: 29px;margin-bottom: 0;font-weight: bold;margin: 10px 0;}
#sub_contents .about_area .txt_area .p{border-top: 1px solid #8f1d1d;padding-top: 20px;}
#sub_contents .img_flex .img{width: 49%;}
#sub_contents .img_flex.w33 .img{width: 32%;}
#sub_contents .img_flex.w33 .img img{width: 100%; height:300px; object-fit:cover;}
#sub_contents .img_flex .img img{aspect-ratio: auto; object-fit: cover;}
#sub_contents .img_flex .img .cap{font-family: "Zen Old Mincho", serif; font-weight: bold; font-size: 18px;}

/* for-tourists
-----------------------------*/
#sub_contents .sub_guide .guide_ttl{text-align:center; font-weight:bold; font-size:30px;line-height: 200%;margin-top: 40px;}
#sub_contents .sub_guide p{text-align:center;font-size:16px;line-height: 200%;font-weight:normal; color:#fff;}
#sub_contents .onomichi_textBox .img{width: 100%; margin-bottom: 10px; position:relative;}
#sub_contents .onomichi_textBox .img img{width: 100%;height: auto;object-fit: cover;}
#sub_contents .onomichi_textBox .textarea {width: 100%;margin-bottom:18px;}
#sub_contents .onomichi_textBox .textarea .ttl_en {font-size:14px;font-family: "Shippori Mincho", serif;}
#sub_contents .onomichi_textBox .textarea .ttl_ja {font-size:16px;font-weight: 500;margin-bottom:20px;}
#sub_contents .onomichi_textBox .textarea p {line-height:2;}
#sub_contents .onomichi_textBox .textarea p.onomichi_name {border-bottom: solid 1px;margin-bottom: 20px;font-weight: bold;font-size: 26px; font-family: "Zen Old Mincho", serif;}
#sub_contents .onomichi_textBox .textarea p.onomichi_ttl {font-weight: normal;margin-top: 0px;}
#sub_contents .sub_root{width: 100%;margin-bottom: 10px;margin-left: 10px;background: url(../images/sub_bg_paper01.jpg);color: #fff;padding: 30px;}
#sub_contents .sub_root .num{background: #8f1d1d;color: #fff;padding: 10px 15px;margin-right: 10px;margin-bottom: 10px;font-size: 18px;}
#sub_contents .sub_root .ttl{font-weight: bold;font-size: 19px;letter-spacing: 0;}
#sub_contents .access_area{text-align: center;padding: 60px 50px;}
#sub_contents .access_area .img{width: 100%;}
#sub_contents a.sub_btn{display:block; width:35%; margin: 0 5px; line-height: 30px; transition: all .5s; padding: 14px 20px;background: #8f1d1d;color: #fff;border: 1px solid #8f1d1d;}


/* recruit
-----------------------------*/
#sub_contents .concept__area {width:80%;margin:0 auto 100px;}
#sub_contents .concept__area .head__area {margin-bottom:30px;}
#sub_contents .concept__area .head__area .img img {object-fit: cover;aspect-ratio: 6 / 2;}
#sub_contents .concept__area .head__area .img .span {font-weight:500;font-size: 38px;line-height:2.5;margin-left:220px;}
#sub_contents .concept__area .head__area .img .strong {position: absolute;top:-80px;left:0;font-size:160px;font-weight:bold;color:#920000;}
#sub_contents .concept__area .txt_area {margin-bottom:50px;}
#sub_contents .concept__area .txt_area .txt_catch{font-size:24px;font-weight:500;margin-bottom:20px;display: inline-block;font-family: "Zen Old Mincho", serif; }

#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:#8f1d1d;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;}

/* restaurant01 restaurant02
-----------------------------*/
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 50%;margin-bottom: 0px;position:relative;}
#sub_contents .comm_textBox .img img.daimaru{border: solid 3px #f39800;}
#sub_contents .comm_textBox .textarea {width: 45%;margin-bottom:2em;}
#sub_contents .comm_textBox .textarea.daimaru {padding : 10px 30px 30px;background-color: #f3980050;}
#sub_contents .comm_textBox .textarea.akaboshi {padding : 10px 30px 30px;background-color: #c5010a50;}
#sub_contents .comm_textBox .textarea p {line-height:2;}
#sub_contents .comm_textBox .textarea .txt_point {font-size:30px; font-weight:bold;color: #8f1d1d;background:linear-gradient(transparent 60%, #fbdfdf 60%); line-height:150%;}
#sub_contents .comm_textBox .textarea p.concept {font-size: 16px;display: inline-block;}
#sub_contents .comm_textBox .textarea p.ttl.name {font-size: 22px;width: fit-content; color: #8f1d1d;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.ttl.daimaru {border-bottom: double 4px #8f1d1d;}
#sub_contents .comm_textBox .textarea p.ttl {font-size: 18px;}
#sub_contents .comm_textBox .textarea p.number {font-size: 18px;margin-bottom: 5px;text-transform: uppercase;font-weight: bold;}
#sub_contents .comm_textBox .textarea p.kansuuji {font-size: 50px;margin-bottom: 0px;font-weight: bold;}
#sub_contents .comm_textBox .textarea .span{background: #8f1d1d;color: #fff;display: inline-block;padding: 0 10px;margin-top: 0;}

#sub_contents .sub_ttl_02_box{ text-align: center; position: relative;width: 100%;}
#sub_contents .sub_ttl_02_box p.sub_ttl_02{ text-align: center;  line-height: 180%;font-size: 18px;font-weight: bold;z-index: 2;position: relative;margin-top: 15px;}
#sub_contents .sub_ttl_02::before{position: absolute;content: "";background: url(../images/sub_ill_01.png) no-repeat center center / cover ;width:70px;height:70px;bottom: -55px;left: 50%;transform: translate(-50%, -50%);z-index: -1;}

#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 .menu_name::before {content: '●';color: #8f1d1d;margin-right: 2em;font-size: 10px; vertical-align: middle; left: 0; top: 50%; transform: translateY(-50%);position: absolute;}
#sub_contents .tbl_menu.yakuu .th .menu_name::before {content: '●';color: #8f1d1d;margin-right: 2em;font-size: 10px; vertical-align: middle; left: 0; 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 .center_img {width:100%;text-align: center;}
#sub_contents .center_img img{max-width:600px;margin: 0 auto;object-fit: cover;}
#sub_contents .takeout_area{background: #fff;padding: 50px;margin-top: 30px;width: 100%;margin-inline: auto;}
#sub_contents .gal_list{gap: 10px;}
#sub_contents .gal_list img{width: 26%;}
#sub_contents .menu_line .span {font-size: 17px; font-weight: bold; margin-bottom: 30px; text-align: center;}

/* shop
-----------------------------*/
#sub_contents .shop_area h2{font-size: 35px;}
#sub_contents .shop_area p{text-align: center;}
#sub_contents .online_area .img img{aspect-ratio: auto; object-fit: cover;}
#sub_contents .online_area .txt_area .span{display: inline-block;font-size: 29px;margin-bottom: 0;font-weight: bold;margin: 10px 0;}
#sub_contents .online_area .txt_area .p{border-top: 1px solid #8f1d1d;padding-top: 20px;}
#sub_contents .shop_ttl {margin-top:5px;padding: 0 0 5px 15px;font-size: 24px;font-weight:bold;text-align: left;border-left: 5px solid #9a001c; line-height: 1.5;position: relative;}
#sub_contents .image_txt{text-align: center;font-size: 16px;}
#sub_contents .image_txt .item{display: block;width:31%;text-align: center;font-size: 16px;}
#sub_contents .image_txt .item .span{background:#8f1d1d;color:#fff;display: inline-block;padding:20px;border-radius: 50%;font-size:24px;line-height: 1.1;font-weight: 700;font-family: 'Montserrat', sans-serif;margin-bottom: 20px;}
#sub_contents .image_txt .item .b{margin-top: 5px;font-weight: 500;font-size: 20px;}
#sub_contents .shop_txt{text-align: left;font-size: 16px;padding: 50px;}
#sub_contents .shop_txt .ul{font-size: 18px;display: inline-block;text-align-last: left;}
#sub_contents .shop_txt .ul .li{border-bottom: 1px solid #8f1d1d;margin-top: 10px;padding-bottom: 5px;padding: 5px;}
#sub_contents .shop_txt .ul .li .span{display: inline-block;}
#sub_contents .shop_txt .ul .li::before{content: ""; background:url(../images/sub_shop_img02_01.png) no-repeat center center; background-size: contain; width: 25px; height:25px; display: inline-block; vertical-align: middle; margin-right: 10px;display: block;}
#sub_contents .online_area02{text-align: center;padding: 60px 50px;}
#sub_contents .online_area02 .img{width: 100%;}

/* scene
-----------------------------*/
#sub_contents .scene_com{font-weight: bold;font-size: 18px;margin: 10px 0;}
#sub_contents .sub_scene .img{width: 100%; margin: 0 auto;}
#sub_contents .sub_scene .img img{height: 350px;object-fit: cover;}
#sub_contents .sub_scene .textarea{width: 100%;}
#sub_contents .sub_scene .scene_ttl {padding: 5px;background: #8f1d1d;color: #fff;display: inline-block;margin-top: 10px;}
#sub_contents .sub_scene .scene_name{font-weight: bold;font-size: 20px;border-bottom: 1px solid #8f1d1d;margin: 10px 0;}

/* contact
-----------------------------*/
#sub_contents .contact_area{display:flex;column-gap: 4%;align-items: center;}
#sub_contents .contact_list{width:280px;margin-inline: 0;}
#sub_contents .contact_list{margin-bottom: 20px;}
#sub_contents .contact_list:last-child{margin-bottom: 20px;}
#sub_contents .sub_illust{padding: 0;width:15%;}
#sub_contents .atten_bg{padding: 30px 40px; border-radius: 10px;}
#sub_contents .atten_bg::before {position: absolute;bottom: -8px;right: -8px;width: 100%; height:100%;background:none;border: 1px solid #86511d;content: '';z-index: 1; border-radius: 10px;}
#sub_contents .atten_bg p{text-align:left; font-weight:600; font-size:18px;line-height: 250%; position: relative; z-index: 2;}

/* news
-----------------------------*/
#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;}
@supports not (display:contents){#sub_contents .cateList section.webgene-blog{display:flex;gap:10px;}}
#sub_contents .cateList .webgene-item{width:auto;margin:0;padding:0;}
#sub_contents .webgene-item.categorylist a{display:block;width:auto;text-align:center;padding:14px 10px;transition:.5s;color:#8f1d1d;font-weight:bold;border:1px solid #8f1d1d;text-decoration:none;line-height:1.2;margin-bottom:40px;}
#sub_contents .webgene-item.categorylist a:hover{background:#8f1d1d;color:#fff;border:1px solid #8f1d1d;}
#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;}
#sub_contents .webgene-blog{display:flex;justify-content: start;column-gap: 1%;row-gap: 20px;flex-wrap: wrap;}
#sub_contents .webgene-item{width: 32.5%;}
#sub_contents .news_list {margin-top:-100px;}
#sub_contents .webgene-blog .webgene-item.news__item figure{width: 100%;aspect-ratio: 16/9;overflow: hidden;margin-bottom: 10px;}
#sub_contents .webgene-blog .webgene-item.news__item figure img{border-radius:20px;}
#sub_contents .webgene-blog .webgene-item.news_area {padding:20px 0;}
#sub_contents .webgene-blog .news__date{font-family: "Zen Old Mincho", serif;/* margin-left: 10px; */display:inline-block;font-size:16px;margin-top: 10px;}
#sub_contents .webgene-blog .news_ttl{font-weight:normal; display:block; margin:10px 0; overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-box-orient: vertical;-webkit-line-clamp: 3; font-size:16px;}

/* 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-weight:500;font-family: "Zen Old Mincho", serif;font-weight:600;}
#sub_contents .news_text{background: #fff; padding: 50px;}
#sub_contents .news_detail .news_detail_ttl {font-size:20px;margin-bottom:20px;text-align:center;font-family: "Zen Old Mincho", serif;}
}

/* contact
-----------------------------*/
#sub_contents .contact_txt{text-align: center;font-size: 16px;}

@media screen and (min-width:1024px) {

/* scene
-----------------------------*/
#sub_contents .scene_com{font-weight: bold;font-size: 26px;margin: 10px 0;}
#sub_contents .sub_scene .img{width: 48%; margin: 0 auto;}
#sub_contents .sub_scene .img img{height: auto;object-fit: none;}
#sub_contents .sub_scene .textarea{width: 48%;}
#sub_contents .sub_scene .scene_ttl {padding: 5px;background: #8f1d1d;color: #fff;display: inline-block;margin-top: 0;}
#sub_contents .sub_scene .scene_name{font-weight: bold;font-size: 26px;border-bottom: 1px solid #8f1d1d;margin: 10px 0;}

/* for-tourists
-----------------------------*/
#sub_contents .onomichi_textBox .img{width: 48%; margin-bottom: 10px; position:relative;}
#sub_contents .onomichi_textBox .img img{width: 100%;}
#sub_contents .onomichi_textBox .textarea {width: 47%;margin-bottom:20px;}
#sub_contents .onomichi_textBox .textarea .ttl_en {font-size:14px;font-family: "Shippori Mincho", serif;}
#sub_contents .onomichi_textBox .textarea .ttl_ja {font-size:16px;font-weight: 500;margin-bottom:20px;}
#sub_contents .onomichi_textBox .textarea p {line-height:2;}
#sub_contents .onomichi_textBox .textarea p.onomichi_name {border-bottom: solid 1px;margin-bottom: 20px;font-weight: bold;font-size: 26px; font-family: "Zen Old Mincho", serif;}
#sub_contents .onomichi_textBox .textarea p.onomichi_ttl {font-weight: normal;margin-top: 0px;}
#sub_contents .sub_root{width: 48%;margin-left: 10px;background: url(../images/sub_bg_paper01.jpg);color: #fff;padding: 30px;}

/* restaurant01 restaurant02
-----------------------------*/
#sub_contents .tbl_menu {width: 45%;margin-inline: auto;display: inline-block;font-size:15px;}
#sub_contents .takeout_area{background: #fff;padding: 50px;margin-top: 30px;width: 90%;margin-inline: auto;}

/* shop
-----------------------------*/
#sub_contents .shop_txt{text-align: center;font-size: 16px;padding: 35px;}
#sub_contents .shop_txt .ul{font-size: 18px;display: inline-block;text-align-last: left;}
#sub_contents .shop_txt .ul .li{border-bottom: 1px solid #8f1d1d;margin-top: 10px;padding-bottom: 5px;padding: 5px;}
#sub_contents .shop_txt .ul .li .span{display: inline-block;}
#sub_contents .shop_txt .ul .li::before{content: ""; background:url(../images/sub_shop_img02_01.png) no-repeat center center; background-size: contain; width: 25px; height:25px; display: inline-block; vertical-align: middle; margin-right: 10px;}
}

@media screen and (min-width: 1200px){
  #sub_contents .section{
    max-width: none;
    width: calc(100% - 320px);
    padding:0px 1%;
  }
}
@media screen and (min-width: 1590px){
  #sub_contents .section{
    max-width: 1280px;
    width: 94%;
    padding:0px 1%;
  }
}
