/* main_visual
----------------------------------- */
#sub_visual.kv{padding: 0;padding-top:90px;}
#sub_visual {width: 100%; overflow: hidden; position: relative;height: 200px;background: url(../images/sub_visual.png) no-repeat center center; background-size: cover;}
#sub_visual .b{position: relative; z-index: 2; max-width:1280px; width:94%; margin:0 auto; padding-left:0;}
#sub_visual h1{position:absolute;display: block;width:100%;font-size: 30px; text-align: center; font-weight: 500; letter-spacing: .1em; line-height: 200%; z-index: 2; color: #fff; text-transform: capitalize;}
#sub_visual p{position:absolute;display: block;width:100%;font-size: 18px; text-align: center; font-weight: 500; letter-spacing: .12em; line-height: 200%; margin: 50px 0 0 0; color: #252525; z-index: 2; }

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{background:none;position:absolute;width:100%; top:-53px;line-height:100%;padding:0px;}
#sub_contents .bread_crumb {background:none; text-align:left; max-width:94% ;margin:0 auto;margin-bottom:30px;}
#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:12px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:12px;}

/* sub_contents 
----------------------------------- */
#sub_contents {font-size: 15px; position: relative;padding:0px; z-index:0;padding:20px 0px;}
#sub_contents section{max-width: 94%; margin: 50px auto 50px; position: relative;}
#sub_contents .section{max-width: 94%; margin: 0px auto 50px; position: relative; padding: 0;}
#sub_contents h2{text-align: center;font-size:29px; font-weight: 600; margin-bottom:10px; position: relative; line-height: 140%; padding-top: 20px;letter-spacing: 0.1em;}
#sub_contents h2 span{font-weight: bold;font-size:19px; display: block;margin-bottom:0px;}
#sub_contents h3{margin: 50px auto 30px; padding: 5px 15px;font-size: 19px;font-weight: bold;line-height: 1.4; border-left: 5px solid #D0111B;}
#sub_contents .txt_cen{text-align: center; font-size:18px; line-height: 180%;font-weight: bold;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 15px;}
#sub_contents .mb30{margin-bottom: 20px;}
#sub_contents .mb40{margin-bottom: 30px;}
#sub_contents .mb50{margin-bottom: 30px;}
#sub_contents .mb80{margin-bottom: 60px;}
#sub_contents .mb100{margin-bottom: 50px;}
#sub_contents .mb150{margin-bottom: 80px;}
#sub_contents .sp_br{display:block;}
#sub_contents .h2-small{font-size: 16px; font-family: "Noto Serif JP", serif; letter-spacing: 0.1em; color: #D0111B; text-transform: capitalize;}
#sub_contents .bold{font-weight:bold;}
#sub_contents .sub_bg{background: url(../images/sub_bg02.png) repeat top center; background-size: contain; padding: 30px 0px;}
#sub_contents .sub_bg02{background: #faf7cf; padding: 30px 0px;}
#sub_contents.shop02 {background: url(../images/bg_shop01.jpg) repeat top center;background-attachment:fixed; color:#fff; margin-bottom:80px; padding:100px 0px 10px;}
#sub_contents.shop02 .sub_bg{background: url(../images/bg_shop02.jpg) repeat top center;background-attachment:fixed;}
#sub_contents.shop02 section{position:relative;}
#sub_contents.shop02 .section.first::before{background: url(../images/bg_shop_illust.png) no-repeat top center; background-size:contain; position:absolute; top:-100px; left:-10%;content:""; width:150px; height:70px;}
#sub_contents.shop02 .section.first::after{background: url(../images/bg_shop_illust02.png) no-repeat top center; background-size:contain; position:absolute; top:-100px; right:-10%;content:"";width:150px; height:70px;}
#sub_contents.shop02 h2{color:#fff;}
#sub_contents.shop02 .pair_g_area {background:rgba(0,0,0,.8); }
#sub_contents.shop02 .txt_bg{background:rgba(0,0,0,.8); }
#sub_contents.shop02 a{color:#fff}
#sub_contents #link01{scroll-margin-top:80px;}
#sub_contents #link02{scroll-margin-top:80px;}
#sub_contents #link03{scroll-margin-top:80px;}

/* tab
-----------------------------*/
#sub_contents .tab_area {display: block; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));column-gap: 10px;row-gap: 10px;}
#sub_contents .tab {padding: 10px 0; font-size: 18px;text-align: center;cursor: pointer;transition: all ease 0.3s; position: relative; background: #fff; margin-bottom: 10px;}
#sub_contents .tab p {font-size: 16px;display: inline; font-weight: normal;}
#sub_contents .tab.is-active {padding: 10px 0; background: #D0111B; color: #fff; border: none; margin-bottom: 10px;}
#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: 1%;row-gap: 10px;}
#sub_contents .anker__item{width: 100%;height: 45px;position: relative;display: block; margin-bottom:15px;}
#sub_contents .anker__item a{background: #D0111B; color:#fff; display: block;text-align: center;line-height: 30px; transition: all .5s; padding: 14px 0;}
#sub_contents .anker__item a:hover{opacity:.8;}
#sub_contents .anker__item a p{font-weight:bold; letter-spacing: .08em;}

/* concept
-----------------------------*/
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .conc_bg{background: rgb(255 255 255 / 65%); padding:25px 15px; position: relative;}
#sub_contents .conc_bg::before {position: absolute;bottom: -8px;right: -8px;width: 100%; height:100%;background:none;border: 1px solid #d0111b; content: ''; z-index: 0;}
#sub_contents .conc_bg p{position: relative; z-index: 1; text-align:left; font-weight:normal; line-height: 200%;}
#sub_contents .conc_bg .txt_cen{text-align:center; font-size:20px; line-height: 200%; font-weight:600;}
#sub_contents .comm_g_area{align-items: center;}
#sub_contents .comm_g_area .txt_area {width: 100%;}
#sub_contents .comm_g_area .txt_area .num{color: #D0111B; font-size:40px; font-family: "Noto Serif JP", serif;} 
#sub_contents .comm_g_area .txt_area .ttl{font-size:22px; font-weight:500;} 
#sub_contents .comm_g_area .img, #sub_contents .comm_g_area .img02 {width: 100%; margin-bottom: 10px; margin-inline: auto;}

/* shop01, shop02
-----------------------------*/
#sub_contents .menu_img {text-align: center;margin-bottom: 30px;}
#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;}
#sub_contents .tbl_menu .td p{font-weight:500;}
#sub_contents .txt_bg{background: #fbfbfa; padding: 15px;}
#sub_contents .menu_list{gap:30px;}
#sub_contents .menu_list .li{width:100%;}
#sub_contents .rec_ttl{padding: 10px 0; line-height: 1.6; border-bottom: 1px solid #291700;}
#sub_contents .rec_ttl p{font-size: 17px;font-weight: bold;}

/* pairing
-----------------------------*/
#sub_contents .pair_g_area .img {flex: auto;margin-left: 0;margin-right: 0;margin-bottom: 20px;}
#sub_contents .pair_g_area .right {flex: auto;margin-right: 0;margin-left: 0;margin-bottom: 20px;}
#sub_contents .pair_g_area .txt_area {width: 100%;}
#sub_contents .pair_g_area .ttl {font-size: 20px; font-weight:bold; margin-bottom: 20px;padding-bottom: 10px;position: relative;border-bottom: 1px solid #291700;}
#sub_contents .pair_g_area {background: #FBFBFA; background-size: cover; padding: 20px;}

/* scene
-----------------------------*/
#sub_contents .flexbox_conc{padding: 0;}
#sub_contents .flexbox_conc .img{flex: auto; margin-left: 0; margin-right: 0; margin-bottom: 20px; position: relative; max-width: 800px;}
#sub_contents .flexbox_conc .right {flex: auto; margin-right: 0; margin-left: 0; margin-bottom: 20px;}
#sub_contents .flexbox_conc .txt{width: 100%;}
#sub_contents .flexbox_conc .ttl{font-size: 20px; margin-bottom: 20px; padding-bottom: 10px; position: relative; border-bottom: 1px solid #D0111B; font-weight: bold;}
#sub_contents .flexbox_conc .span{font-size: 18px; font-weight: bold;}

/* guide
-----------------------------*/
#sub_contents .concept_img{column-gap: 3%;}
#sub_contents .concept_img .li {width:45%;margin-bottom:10px;}
#sub_contents .concept_img .li img{width:100%;}

/* recruit
-----------------------------*/
#sub_contents .tbl_info .tr{width:100%; background:rgba(255,255,255,0.85); margin-bottom:0px;}
#sub_contents .tbl_info .th{width:100%;padding:10px 10px; background: #291700; color: #fff; text-align:center;}
#sub_contents .tbl_info .th p{font-weight: bold;}
#sub_contents .tbl_info .td{width:100%;padding:10px 10px;}
#sub_contents .sub_illust{text-align:center;width:65%; margin-left: auto; margin-right: auto;}

/* news
-----------------------------*/
#sub_contents .webgene-blog:has(.categorylist){justify-content: flex-cnt;margin-bottom: 30px;}
#sub_contents .webgene-item.categorylist {display: inline-block;/*margin-right: 1%;*/width: 100%;margin-bottom: 10px;}
#sub_contents .webgene-item.categorylist a{display: block;width: 100%; text-align: center;padding: 14px 10px;transition: .5s; border: 1px solid #86511d; font-weight:bold;}
#sub_contents .webgene-item.categorylist a:hover{background:#86511d; color:#fff;}
#sub_contents .news_list {margin-top:-50px;}
#sub_contents .webgene-blog .webgene-item.news_area {padding:20px 0;border-bottom:1px solid #291700;}
#sub_contents .webgene-blog .news__date{/* margin-right: 15px; */display:inline-block;font-size:15px; font-family: "Noto Serif JP", serif; font-weight:500;}
#sub_contents .webgene-blog .news__cate{/* margin-right: 15px; */display:inline-block; background:#F9D954; padding:3px 10px;font-size:13px; font-weight:bold;}

/* detail_news
-----------------------------*/
#sub_contents .webgene-blog .cnt-news-li-sub{width:100%;padding: 1% 0;box-sizing: border-box;}
#sub_contents .webgene-blog .cnt-news-li-sub figure{width: 100%;overflow: hidden;box-sizing: border-box;}
#sub_contents .webgene-blog .cnt-news-li-sub figure img{width: 100%;height: 240px;object-fit: cover;}
#sub_contents .webgene-blog .cnt-news-li-sub a{display: block;width: 100%;margin: auto;box-sizing: border-box;}
#sub_contents .webgene-blog .cnt-news-li-sub h2{font-size: 16px; display: inline;}
#sub_contents .blog_h2{font-family: "Kaisei Tokumin", serif; padding: 20px 0; margin-bottom: 30px;font-size: 18px;border-bottom: 1px solid #291700; font-weight:500;}
#sub_contents .blog_h2::before{display:none;}
#sub_contents .cmn-blog-cate{font-size: 16px;}
#sub_contents .cmn-blog-date{font-size: 16px; font-family: "Noto Serif JP", serif; font-weight:500; text-align:center;display:block;}
#sub_contents .area_blog{background: #FBFBFA; padding: 30px 20px;margin: 20px 0;box-sizing: border-box;overflow: hidden;}
#sub_contents .area_blog figure{max-width: 760px; margin-top: 10px; margin-bottom: 10px; margin-left: auto; margin-right: auto; text-align: center;}
#sub_contents .area_blog .cmn-blog-txt{font-size:14px;margin-top: 30px;box-sizing: border-box;letter-spacing: 0.075em;line-height: 1.6;font-weight: 500;}
#sub_contents .webgene-pagination{display: block;width: 100%;text-align: center;}
#sub_contents .webgene-pagination ul{display: inline-block;overflow: hidden;}
#sub_contents .webgene-pagination ul li{list-style: none;float: left; width: 100px; margin: 10px;}
#sub_contents .webgene-pagination ul li a{background: #452F0D;display: block;width: 100%;color: #fff;font-size: 15px;padding: 12px 0;border: 1px solid #291700; transition: 0.5s;}
#sub_contents .webgene-pagination ul li a:hover{background: #fff;color: #333; text-decoration: none;}
#sub_contents .btn_clear{margin: 50px auto;text-align: center;}
#sub_contents .btn_clear a{position: relative; display: inline-block; padding: 10px 25px; border:1px solid #291700;}
#sub_contents .btn_clear a::after {content: "";position: absolute;top:25px; left: -35px;width: 45px;height: 1px;background: #291700; transition: width 0.3s ease;}

/* PC  */
@media screen and (min-width: 768px) {
/* main_visual
-----------------------------*/
#sub_visual.kv{padding: 0;padding-top:170px;}
#sub_visual {padding-top: 140px;position: relative;height: 400px;background: url(../images/sub_visual.png) no-repeat center bottom; background-size: cover;}
#sub_visual .b{position: relative; z-index: 2; max-width:1280px; width:94%; margin:0 auto; padding-left:0;}
#sub_visual h1{position:absolute;display: block;width:100%;font-size: 60px; text-align: center; letter-spacing: .1em; line-height: 200%; z-index: 2; text-transform: capitalize;}
#sub_visual p{position:absolute;display: block;width:100%;font-size: 25px; text-align: center; letter-spacing: .12em; line-height: 200%; margin: 130px 0 0 0; z-index: 2;}

/* bread_crumb_list
-----------------------------*/
#sub_contents .bread_crumb_list{background:rgba(0,0,0,.6);position:absolute;width:100%; top:-45px;line-height:100%;padding:0px;}
#sub_contents .bread_crumb{text-align:left;padding:0px;max-width:1280px;margin:0 auto;margin-bottom:30px;}
#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;padding:20px 0px;}
#sub_contents section{max-width: 1280px; position: relative;}
#sub_contents .section{max-width: 1280px; position: relative; margin: 0px auto 50px;width:94%;}
#sub_contents h2{text-align: center;font-size:48px; margin-bottom:10px; position: relative; padding-top: 25px; letter-spacing: 0.1em;}
#sub_contents h2 span{font-weight: bold;font-size:24px; display: block;margin-bottom:0px;}
#sub_contents h3{margin: 50px auto 30px; padding: 5px 15px;font-size: 22px;font-weight: bold;line-height: 1.4; border-left: 6px solid #D0111B;}
#sub_contents .txt_cen{ text-align: center; font-size:22px; line-height: 200%;font-weight: bold;}
#sub_contents .mb10{margin-bottom: 10px;}
#sub_contents .mb20{margin-bottom: 20px;}
#sub_contents .mb30{margin-bottom: 30px;}
#sub_contents .mb40{margin-bottom: 40px;}
#sub_contents .mb50{margin-bottom: 50px;}
#sub_contents .mb80{margin-bottom: 80px;}
#sub_contents .mb100{margin-bottom: 100px;}
#sub_contents .mb150{margin-bottom: 150px;}
#sub_contents .sp_br{display:inline-block;}
#sub_contents .sub_bg{padding: 30px 0px;}
#sub_contents .sub_bg02{background: #faf7cf; padding: 30px 0px;}
#sub_contents .h2-small{letter-spacing: 0.1em;}
#sub_contents .bold{font-weight: bold;}
#sub_contents.shop02 .section.first::before{background: url(../images/bg_shop_illust.png) no-repeat top center; background-size:contain; position:absolute; top:-100px; left:-10%;content:""; width:150px; height:200px;}
#sub_contents.shop02 .section.first::after{background: url(../images/bg_shop_illust02.png) no-repeat top center; background-size:contain; position:absolute; top:-100px; right:-10%;content:"";width:150px; height:200px;}

/* 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 #fff; margin-bottom: 0px;}
#sub_contents .tab p {font-size: 18px;display: inline; font-weight: normal;}
#sub_contents .tab.is-active {padding: 15px 0; background: #D0111B; 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: 1%;row-gap: 10px;}
#sub_contents .anker__item{width: 32%;height: 45px;position: relative;display: block; margin-bottom:20px;}
#sub_contents .anker__item a{display: block;text-align: center;line-height: 30px; transition: all .5s; padding: 14px 0;}
#sub_contents .anker__item a:hover{opacity:.8;}

/* concept
-----------------------------*/
#sub_contents .conc_bg{padding:30px;}
#sub_contents .conc_bg::before {position: absolute;bottom: -8px;right: -8px;width: 100%; height:100%;background:none;border: 1px solid #d0111b; content: ''; z-index: 0;}
#sub_contents .conc_bg p{font-size:17px; position: relative; z-index: 1;}
#sub_contents .conc_bg .txt_cen{text-align:center;font-size:24px;}
#sub_contents .comm_g_area .txt_area {width: 55%;} 
#sub_contents .comm_g_area .txt_area .ttl{font-size:24px;} 
#sub_contents .comm_g_area .txt_area .num{font-size:55px;} 
#sub_contents .comm_g_area .img{width: 50%;margin-left: calc(50% - 47vw);flex: 1;margin-right: 6%;margin-bottom: 0px;}
#sub_contents .comm_g_area .img02{width: 40%;margin-right: calc(50% - 47vw);flex: 1;margin-left: 6%;margin-bottom: 0px;}

/* shop01, shop02
-----------------------------*/
#sub_contents .menu_img img{max-width: 900px;width: 100%;}
#sub_contents .tbl_menu {width: 100%;margin-inline: auto;}
#sub_contents .tbl_menu .tr {display: flex;align-items: flex-end;}
#sub_contents .tbl_menu .th {width: 70%;padding: 15px 0;border-bottom: 1px solid #291700;line-height: 1.6;}
#sub_contents .tbl_menu .td {width: 30%;text-align: right;padding: 15px 0;line-height: 1.6;border-bottom: 1px solid #b3a78f;}
#sub_contents .txt_bg{padding: 20px;}
#sub_contents .menu_list{gap:30px;}
#sub_contents .menu_list .li{width:47%;}
#sub_contents .rec_ttl p{font-size: 19px;}

/* pairing
-----------------------------*/
#sub_contents .pair_g_area{padding: 30px;}
#sub_contents .pair_g_area .img {flex: auto;margin-left: 0;margin-right: 0;margin-bottom: 20px;}
#sub_contents .pair_g_area .img img{width:100%;}
#sub_contents .pair_g_area .ttl {font-size: 24px;}

/* scene
-----------------------------*/
#sub_contents .flexbox_conc{padding: 0;}
#sub_contents .flexbox_conc .img{flex: 1; margin-left: calc(50% - 50vw); margin-right: 2%; position: relative; max-width: 800px;}
#sub_contents .flexbox_conc .right{flex: 1; margin-right: calc(50% - 50vw); margin-left: 2%; position: relative; max-width: 800px;}
#sub_contents .flexbox_conc .txt{width: 50%;}
#sub_contents .flexbox_conc .ttl{font-size: 21px; margin-bottom: 20px; padding-bottom: 10px; position: relative; border-bottom: 1px solid #D0111B; padding-left: 1.5rem;}
#sub_contents .flexbox_conc .ttl::before {position: absolute; content: ""; width: 1px; height: 2.5rem; background: #D0111B; left: 10px; bottom: -10px;}
#sub_contents .flexbox_conc .span{font-size: 22px; font-weight: bold;}

/* guide
-----------------------------*/
#sub_contents .concept_img{column-gap: 2%;}
#sub_contents .concept_img .li {width:23%;margin-bottom:0;}
#sub_contents .concept_img .li img{width:100%;}
#sub_contents .concept_img .li:nth-child(even){padding-top:50px;}

/* recruit
-----------------------------*/
#sub_contents .tbl_info .tr{width:100%; background:rgba(255,255,255,0.6); margin-bottom:15px;}
#sub_contents .tbl_info .tr:nth-child(2n){background:rgba(255,255,255,1);}
#sub_contents .tbl_info .th{width:22%;padding:15px 25px;text-align:center;}
#sub_contents .tbl_info .td{width:76%;padding:15px 0px;}
#sub_contents .sub_illust{padding: 0;width:25%;}

/* news
-----------------------------*/
#sub_contents .webgene-blog:has(.categorylist){margin-bottom: 50px;}
#sub_contents .webgene-item.categorylist {width: 32%; margin: 0 3px; margin-bottom: 10px;}
#sub_contents .news_list {margin-top:-100px;}
#sub_contents .webgene-blog .webgene-item.news_area {padding:20px 0;}
#sub_contents .webgene-blog .news__date{display:inline-block;font-size:17px;}
#sub_contents .webgene-blog .news__cate{display:inline-block; padding:3px 10px;font-size:14px;margin-bottom:0;}

/* 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: 21px;}
#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%;}
}

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


/* shop02
-----------------------------*/
#sub_contents .menu_list .li{width:31%;}

/* pairing
-----------------------------*/
#sub_contents .pair_g_area .img {flex: 1;margin-left: calc(50% - 50vw);margin-right: 2%;position: relative;max-width: 800px;}
#sub_contents .pair_g_area .right {flex: 1;margin-right: calc(50% - 50vw);margin-left: 2%;position: relative;max-width: 800px;}
#sub_contents .pair_g_area .txt_area {width: 60%;}
#sub_contents .pair_g_area .ttl {font-size: 23px;}
#sub_contents .pair_g_area {padding: 30px 50px;}
  
/* scene
-----------------------------*/
#sub_contents .flexbox_conc .ttl{font-size: 26px;}
}
