



/* main_visual
----------------------------------- */
#sub_visual {padding-top:110px; height:220px; position:relative; z-index:0; margin-top:0px; overflow:hidden; text-align:center; background:url(../images/sub_visual.png) repeat center center; background-size:cover;}
#sub_visual::before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); z-index:-1;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;text-align: center; font-family: "HGP行書体", "HG行書体", "HG Gyoushotai", cursive;}
#sub_visual .h1_container h1{font-weight: 500;font-size:32px; line-height: 160%;text-align: center;position: relative;text-shadow:3px 3px 30px #000; color:#fff;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 15px; position: relative;background: url(../images/info_bg.png); padding-bottom:1px; border-bottom:1px solid #aaa;}
#sub_contents p{font-size: 15px;line-height: 1.8em;}
#sub_contents .section{max-width: 94%; margin: 60px auto 80px;position: relative;width: 94%;}
#sub_contents .h2_container{border:0px; margin-bottom:40px; position:relative;text-align: center;font-size:20px;  position: relative; line-height: 160%; padding:10px auto 10px;margin: 0px auto 50px;}
#sub_contents .h2_container .span{border:none; margin:0 auto;font-family: "Noto Serif JP", serif;}
#sub_contents .h2_container .span::before{content:""; background:#000; position:absolute; left:0; right:0; top:-15px; width:40px; height:1px; margin:0 auto;}
#sub_contents .h2_container .small{color:#990000;text-align:center;text-transform: uppercase;margin-top: 10px;font-family: 'Noto Serif JP', serif;}
#sub_contents .h2_container.tsuki .span{border:none; margin:0 auto;}
#sub_contents .h2_container.tsuki .span::before{content:""; background:#000; position:absolute; left:0; right:0; top:-8px; width:40px; height:2px; margin:0 auto;}
#sub_contents .h2_container.tsuki .small{color:#990000;text-align:center;}
#sub_contents .h2_container.a510 .span{border:none; margin:0 auto;}
#sub_contents .h2_container.a510 .span::before{content:""; background:#20779b; position:absolute; left:0; right:0; top:-8px; width:40px; height:2px; margin:0 auto;}
#sub_contents .h2_container.a510 .small{color:#20779b; text-align:center;}
#sub_contents h3{ text-align: center;font-size:22px; margin-bottom:15px; position: relative;margin-top: 30px;}
#sub_contents .mb20{margin-bottom: 15px !important;}
#sub_contents .mb30{margin-bottom: 20px !important;}
#sub_contents .mb50{margin-bottom: 30px !important;}
#sub_contents .mb80{margin-bottom: 50px !important;}
#sub_contents .mb100{margin-bottom: 60px !important;}
#sub_contents .mb150{margin-bottom: 80px !important;}
#sub_contents .txt_cen{ text-align: center;  line-height: 180%;font-size: 15px;}
#sub_contents .sub_bg{padding:50px 0px; }
#sub_contents .sub_sp{display:block !important;}
#sub_contents .sub_pc{display:none !important;}

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

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

/* menu
----------------------------------- */
#sub_contents .sub_menu_img{width:100%;}
#sub_contents .sub_menu_img img{width:48%;}
#sub_contents .sub_white_box{background-color: #fff;padding: 20px;}
#sub_contents .sub_white_box p.sub_ttl{font-size: 20px;border-bottom: solid 1px #000;font-family: 'Noto Serif JP', serif;}

/* scene
----------------------------------- */
#sub_contents .con_area {padding: 30px 0;}
#sub_contents .con_area .tategaki {width:20%;display: flex;justify-content: center; position: relative;}
#sub_contents .con_area .tategaki .ja {font-size: 35px;writing-mode: vertical-rl;font-weight: 200;font-family: 'Noto Serif JP', serif;}
#sub_contents .con_area .tategaki .en {font-size:18px;writing-mode: vertical-rl;font-family: 'Noto Serif JP', serif;color:#990000;line-height:1.2;text-transform: uppercase;}
#sub_contents .con_area .box {width:75%;}
#sub_contents .con_area .box .img {margin-bottom:30px;}
#sub_contents .con_area .box .img img {width:100%;}
#sub_contents .con_area .box .txt_area {width:100%;}

/* gallery
----------------------------------- */
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 100%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .textarea {width: 100%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl,#sub_contents .comm_textBox .textarea h2.ttl {border-bottom: solid 1px #111;margin-bottom: 10px;font-weight: normal;font-size: 16px;padding-bottom:5px;letter-spacing: 0.2em;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:20px;width:100%;margin:0 auto;background:rgba(255,255,255,.7);box-shadow:0 8px 25px rgba(0,0,0,.08);}
#sub_contents .faq__item:not(:last-of-type) {margin-bottom: 30px;}
#sub_contents .faq__item .dt {padding: 15px 10px 15px 55px;position: relative;font-weight:700; border-bottom:1px dashed #757575; margin-bottom:10px;}
#sub_contents .faq__item .dt p{ font-size:16px; font-weight:bold;font-family: "Yuji Syuku", serif;}
#sub_contents .faq__item .dd {padding: 15px 10px 15px 55px;position: relative;}
#sub_contents .faq__item .dt::before,#sub_contents .faq__item .dd::before {position: absolute;left: 10px;top: 12px;}
#sub_contents .faq__item .dt::before {content: "Q";font-size: 16px; font-family: 'Noto Serif JP', serif; background:#990000; color:#fff; padding:2px 8px;}
#sub_contents .faq__item .dd::before {content: "A";font-size: 16px;font-family: 'Noto Serif JP', serif; background:#000; color:#fff; padding:2px 8px;}

/* info
----------------------------------- */
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: block;align-items: center;position: relative;align-items: stretch;border-bottom: 1px solid #000000;padding-bottom: 7px;padding-top: 7px;}
#sub_contents .tbl_info .tr:first-child {border-top: 1px solid #000000;}
#sub_contents .tbl_info .th {width: 100%;padding: 12px;text-align: center;align-items: center;vertical-align: middle;background: #000000;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 1.8em;color: #fff;}
#sub_contents .tbl_info .td {width: 100%;text-align: left;padding: 15px;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 1.8em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {border-bottom: solid 1px #000000;}

/* news
----------------------------------- */
#sub_contents .webgene-blog{background: rgba(255,255,255,.7); padding: 30px 20px;}  
#sub_contents .webgene-item.categorylist {display: block; margin-right: 0%; width: 100%; margin-bottom: 10px;}
#sub_contents .webgene-item.categorylist a {display: block; width: 100%; background: #111111; text-align: center; padding: 8px 10px; transition: .5s; color: #fff;} 
#sub_contents .webgene-item.categorylist a:hover {opacity: .8; text-decoration:none; color:#925237;} 
#sub_contents .webgene-blog .news__date{display: block; margin-right:0px;}
#sub_contents .webgene-blog .news__title{display: block;}
#sub_contents .webgene-pagination{margin-top: 30px;text-align: center;display: block;width: 100%;}
#sub_contents .subnews_flex{border-bottom: dashed 1px #757575;padding: 1em 0px;}

    
/* detail_news
----------------------------------- */
#sub_contents .news_detail {width:min(100%,900px);margin:0 auto;color:#222;}
#sub_contents .news_detail .news_date {position:relative;display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 32px;line-height:1;letter-spacing:.12em;}
#sub_contents .news_detail .news_date::before,
#sub_contents .news_detail .news_date::after {content:"";width:40px;height:1px;background:#ccc;}
#sub_contents .news_detail .news_img {width:min(100%,760px);margin:0 auto 48px;overflow:hidden;background:#f5f5f5;}
#sub_contents .news_detail .news_img img {display:block;width:100%;height:auto;margin:0;object-fit:cover;}
#sub_contents .news_detail .news_datail_ttl {margin:0 auto 40px;font-size:20px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-align:center;color:#111;}
#sub_contents .news_detail .news_datail_ttl::after {content:"";display:block;width:60px;height:1px;margin:20px auto 0;background:#222;}
#sub_contents .news_detail .news_txt {width:min(100%,760px);margin:0 auto;font-size:16px;line-height:2;letter-spacing:.04em;}
#sub_contents .news_detail .news_txt p {margin:0 0 1.8em;}
#sub_contents .news_detail .news_txt h2 {margin:56px 0 24px;padding:0 0 14px;border-bottom:1px solid #222;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:.06em;}
#sub_contents .news_detail .news_txt h3 {margin:40px 0 18px;padding-left:16px;border-left:3px solid #222;font-size:19px;font-weight:500;line-height:1.6;letter-spacing:.05em;}
#sub_contents .news_detail .news_txt a {color:#222;text-decoration:underline;text-underline-offset:3px;transition:.3s;}
#sub_contents .news_detail .news_txt a:hover {opacity:.6;}


@media screen and (min-width: 768px) {
#sub_contents .sub_sp{display:none !important;}
#sub_contents .sub_pc{display:block !important;}
}

@media screen and (min-width: 1024px) {
/* main_visual
----------------------------------- */
#sub_visual {padding-top:170px; height:350px; position:relative; z-index:0; margin-top:0px; overflow:hidden; text-align:center; background:url(../images/sub_visual.png) repeat center center; background-size:cover;}
#sub_visual::before {content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); z-index:-1;}
#sub_visual .h1_container{max-width:1200px;width:94%;margin:0 auto;text-align: center;font-family: 'Noto Serif JP', serif;}
#sub_visual .h1_container h1{font-weight: 500;font-size:58px; line-height: 180%;text-align: center;position: relative;text-shadow:3px 3px 30px #000; color:#fff;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size: 16px; position: relative;background: url(../images/info_bg.png); padding-bottom:1px;}
#sub_contents p{font-size: 16px;line-height: 1.8em;}
#sub_contents .section{max-width: 1200px; margin: 70px auto 140px;position: relative;width: 94%;}
#sub_contents .h2_container{border:0px; margin-bottom:50px; position:relative;text-align: center;font-size:32px;  position: relative; line-height: 180%; padding:15px auto 15px;margin: 0px auto 80px;}
#sub_contents .h2_container .span{border:none; margin:0 auto;font-family: "Noto Serif JP", serif;}
#sub_contents .h2_container .span::before{content:""; background:#000; position:absolute; left:0; right:0; top:-20px; width:50px; height:1px; margin:0 auto;}
#sub_contents .h2_container .small{color:#990000;text-align:center;text-transform: uppercase;font-family: 'Noto Serif JP', serif;margin-top: 10px;}
#sub_contents .h2_container.tsuki .span{border:none; margin:0 auto;}
#sub_contents .h2_container.tsuki .span::before{content:""; background:#970e00; position:absolute; left:0; right:0; top:-10px; width:50px; height:3px; margin:0 auto;}
#sub_contents .h2_container.tsuki .small{color:#970e00;text-align:center;}
#sub_contents .h2_container.a510 .span{border:none; margin:0 auto;}
#sub_contents .h2_container.a510 .span::before{content:""; background:#20779b; position:absolute; left:0; right:0; top:-10px; width:50px; height:3px; margin:0 auto;}
#sub_contents .h2_container.a510 .small{color:#20779b; text-align:center;}
#sub_contents h3{ text-align: center;font-size:30px; margin-bottom:15px; position: relative;margin-top: 40px;}
#sub_contents .mb20{margin-bottom: 20px !important;}
#sub_contents .mb30{margin-bottom: 30px !important;}
#sub_contents .mb50{margin-bottom: 50px !important;}
#sub_contents .mb80{margin-bottom: 80px !important;}
#sub_contents .mb100{margin-bottom: 100px !important;}
#sub_contents .mb150{margin-bottom: 150px !important;}
#sub_contents .txt_cen{ text-align: center;  line-height: 200%;font-size: 16px;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat center center; padding:80px 0px; }

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

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

/* menu
----------------------------------- */
#sub_contents .sub_menu_img img {width: 49%;object-fit: cover;margin-bottom: 20px;}
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .sub_white_box{background-color: #fff;padding: 40px;}
#sub_contents .sub_white_box p.sub_ttl{font-size: 22px;border-bottom: solid 1px #000;font-family: 'Noto Serif JP', serif;}

/* scene
----------------------------------- */
#sub_contents .con_area {padding:70px 0;}
#sub_contents .con_area .tategaki {width:20%;display: flex;justify-content: center; position: relative;}
#sub_contents .con_area .tategaki .ja {font-size:55px;writing-mode: vertical-rl;font-family: 'Noto Serif JP', serif;font-weight: 200;}
#sub_contents .con_area .tategaki .en {font-size:20px;writing-mode: vertical-rl;font-family: 'Noto Serif JP', serif;color:#990000;line-height:1.2;}
#sub_contents .con_area .box {width:75%;}
#sub_contents .con_area .box .img {margin-bottom:30px;}
#sub_contents .con_area .box .img img {width:100%;}
#sub_contents .con_area .box .txt_area {width:100%;}

/* gallery
----------------------------------- */
#sub_contents .comm_textBox {position: relative;}
#sub_contents .comm_textBox .img{width: 45%;margin-bottom: 10px;position:relative;}
#sub_contents .comm_textBox .textarea {width: 50%;margin-bottom:0px;}
#sub_contents .comm_textBox .textarea p.ex {line-height:2;}
#sub_contents .comm_textBox .textarea p.ttl,#sub_contents .comm_textBox .textarea h2.ttl {margin-bottom: 10px;font-weight: normal;font-size: 24px;padding-bottom:5px;letter-spacing: 0.2em;}
#sub_contents .comm_textBox .textarea p.number {font-size: 36px;text-transform: capitalize;font-weight: normal;}

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

/* shop
----------------------------------- */
#sub_contents .tbl_info {width: 100%;margin-inline: auto;position: relative;}
#sub_contents .tbl_info .tr {display: flex;align-items: center;position: relative;align-items: stretch;border-bottom: 1px solid #000000;padding-bottom: 7px;padding-top: 7px;}
#sub_contents .tbl_info .tr:first-child {border-top: 1px solid #000000;}
#sub_contents .tbl_info .th {width: 25%;padding: 20px;text-align: center;align-items: center;vertical-align: middle;background: #000000;}
#sub_contents .tbl_info .th p.ttl {font-weight: normal;line-height: 2em;color: #fff;}
#sub_contents .tbl_info .td {width: 75%;text-align: left;padding: 20px;}
#sub_contents .tbl_info .td p.info {font-weight: normal;display: inline-block;line-height: 2em;}
#sub_contents .tbl_info .td p.info.block {display: block;}
#sub_contents .tbl_info .td a {border-bottom: solid 1px #000000;}

/* news
----------------------------------- */
#sub_contents .webgene-blog{background: rgba(255,255,255,.7); padding: 70px 90px;}  
#sub_contents .webgene-item.categorylist {display: block; margin-right: 1%; width: 100%; margin-bottom: 10px;}
#sub_contents .webgene-item.categorylist a {display: block; width: 100%; background: #111111; text-align: center; padding: 8px 10px; transition: .5s; color: #fff;} 
#sub_contents .webgene-item.categorylist a:hover {opacity: .8; text-decoration:none; color:#925237;} 
#sub_contents .webgene-blog .news__date{display: inline-block; margin-right:15px;}
#sub_contents .webgene-blog .news__title{display: inline-block;}
#sub_contents .webgene-pagination{margin-top: 50px;text-align: center;display: block;width: 100%;}
#sub_contents .subnews_flex{border-bottom: dashed 1px #757575;padding: 1em 0px;}

/* detail_news
----------------------------------- */
#sub_contents .news_detail {width:min(100%,900px);margin:0 auto;color:#222;}
#sub_contents .news_detail .news_date {position:relative;display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 32px;line-height:1;letter-spacing:.12em;}
#sub_contents .news_detail .news_date::before,
#sub_contents .news_detail .news_date::after {content:"";width:40px;height:1px;background:#ccc;}
#sub_contents .news_detail .news_img {width:min(100%,760px);margin:0 auto 48px;overflow:hidden;background:#f5f5f5;}
#sub_contents .news_detail .news_img img {display:block;width:100%;height:auto;margin:0;object-fit:cover;}
#sub_contents .news_detail .news_datail_ttl {margin:0 auto 40px;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-align:center;color:#111;}
#sub_contents .news_detail .news_datail_ttl::after {content:"";display:block;width:60px;height:1px;margin:20px auto 0;background:#222;}
#sub_contents .news_detail .news_txt {width:min(100%,760px);margin:0 auto;font-size:16px;line-height:2;letter-spacing:.04em;}
#sub_contents .news_detail .news_txt p {margin:0 0 1.8em;}
#sub_contents .news_detail .news_txt h2 {margin:56px 0 24px;padding:0 0 14px;border-bottom:1px solid #222;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:.06em;}
#sub_contents .news_detail .news_txt h3 {margin:40px 0 18px;padding-left:16px;border-left:3px solid #222;font-size:19px;font-weight:500;line-height:1.6;letter-spacing:.05em;}
#sub_contents .news_detail .news_txt a {color:#222;text-decoration:underline;text-underline-offset:3px;transition:.3s;}
#sub_contents .news_detail .news_txt a:hover {opacity:.6;}

    
}
