@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

/* main_visual
----------------------------------- */
#sub_visual {height:250px;position:relative;z-index:0;margin-top:0px;overflow: hidden;text-align: center;padding-top: 120px;background-color: #111;}
#sub_visual .img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;transform: none;z-index: -1;text-align: center;}
#sub_visual .img img{width: 100%;height: 100%;object-fit: cover;object-position: center center;display: block;margin: 0 auto;opacity: .6;}
#sub_visual .h1_container{max-width:94%;width:94%;margin:0 auto;text-align: center;}
#sub_visual .h1_container .ttl{font-size:15px;line-height:100%;font-weight: normal;letter-spacing: 0.1em;text-align: center;margin-bottom: 10px;color: #ad9250;text-transform: uppercase;}
#sub_visual .h1_container h1{font-size:26px; line-height: 130%;font-weight: normal;letter-spacing: 4px;color: #fff;text-align: center;position: relative;text-shadow: 2px 2px 10px #000,2px 2px 30px #000,2px 2px 20px #000;font-family: "Yuji Syuku", serif;}
#sub_visual .h1_container .small{color:#cfaf69;position:relative;display:inline-block; font-size:120%;}
#sub_visual .h1_container .small:before{content:"";position:absolute;left:-50px;top:50%;width:30px;height:1px;background:#cfaf69;}
#sub_visual .h1_container .small:after{content:"";position:absolute;right:-50px;top:50%;width:30px;height:1px;background:#cfaf69;}

/* sub_contents
----------------------------------- */
#sub_contents {font-size:14px;position:relative;padding:20px 50px;background-attachment:fixed;background:url(../images/bg.png) repeat top;}
#sub_contents p{font-size:13px;color: #fff;}
#sub_contents p.txt_red{font-size:120%;font-weight:bold;color:#d20000;}
#sub_contents a{color: #fff;}
#sub_contents{font-size:14px;position:relative;padding:5px 0;background-attachment:fixed;background:url(../images/bg.png) repeat top;}
#sub_contents section{position:relative;margin:50px auto 200px;width:94%;}
#sub_contents .section{width:94%;position:relative;margin:20px auto 80px;padding:0;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat top center;width:100vw;margin:50px 0 80px;position:relative;left:50%;transform:translateX(-50%);padding:30px 0;}
#sub_contents .sub_bg02{background:url(../images/sub_bg02.png) repeat top center;width:100vw;margin:50px 0 80px;position:relative;left:50%;transform:translateX(-50%);padding:30px 0;}
#sub_contents .sub_bg .section{width:94%;margin:0 auto;padding:0;}
#sub_contents h2{text-align:center;font-size:20px;position:relative;line-height:160%;padding:10px 0;margin:0 auto 30px;font-family:"Yuji Syuku",serif;border-top:1px solid #fff;border-bottom:1px solid #fff;width:100%;margin-top:10px;color: #fff;}
#sub_contents h3{margin: 50px auto 30px; padding: 5px 15px;font-size: 18px;font-weight: bold;line-height: 1.4; border-left: 6px solid #7d1f13;color: #fff;}
#sub_contents .sub_bg h3{color:#111;}
#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:40px;}
#sub_contents .mt30{margin-top:20px;}
#sub_contents .sp_br{display:inline;}
#sub_contents .gap-20{gap:20px;}
#sub_contents .txt_cen{text-align:center;line-height:180%;font-size:14px;font-weight:bold;}
#sub_contents .txt_cen .bold{display:inline-block;font-weight:700;font-size:18px;font-family:"Yuji Syuku",serif;}
#sub_contents .txt_st{text-align:center;line-height:180%;font-size:14px;}
#sub_contents .txt_st strong,#sub_contents .txt_st b{font-size:120%;font-weight:700;}
#sub_contents .sub_img_box{padding:0;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .txt_cen em{display:block;margin-bottom:-10px;}
#sub_contents .sub_bg p,
#sub_contents .sub_bg h3,
#sub_contents .sub_bg h4,
#sub_contents .sub_bg h5,
#sub_contents .sub_bg h6,
#sub_contents .sub_bg .txt_cen,
#sub_contents .sub_bg .txt_st,
#sub_contents .sub_bg .txt_cen .bold,
#sub_contents .sub_bg .txt_st strong,
#sub_contents .sub_bg .txt_st b,
#sub_contents .sub_bg a,
#sub_contents .sub_bg li,
#sub_contents .sub_bg02 p,
#sub_contents .sub_bg02 h3,
#sub_contents .sub_bg02 h4,
#sub_contents .sub_bg02 h5,
#sub_contents .sub_bg02 h6,
#sub_contents .sub_bg02 .txt_cen,
#sub_contents .sub_bg02 .txt_st,
#sub_contents .sub_bg02 .txt_cen .bold,
#sub_contents .sub_bg02 .txt_st strong,
#sub_contents .sub_bg02 .txt_st b,
#sub_contents .sub_bg02 a,
#sub_contents .sub_bg02 li,
#sub_contents .sub_bg02 span,
#sub_contents .sub_bg span{color:#0d0d0d;}
#sub_contents .sub_bg h2{border-top:1px solid #0d0d0d;border-bottom:1px solid #0d0d0d;color:#0d0d0d;}
#sub_contents .tbl_info .td a{color:#0d0d0d !important;}

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;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:12px;}
#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:12px;padding:0 2%;}
#sub_contents .bread_crumb p.bread a{color:#fff;}

/* concept
----------------------------------- */
#sub_contents .sub_cen_img{width:100%;text-align:center;}
#sub_contents .sub_cen_img img{width:70px;object-fit:cover;}
#sub_contents .sub_cen_img.sub_seasonal img{width:220px;}
#sub_contents .sub_catch_box{width:100%;text-align:center;}
#sub_contents .sub_catch{display:block;}
#sub_contents .sub_catch_box p{display:inline-block;font-size:20px;font-weight:bold;line-height:1.8;}
#sub_contents .sub_catch_box p.colgold{display:inline-block;background:linear-gradient(to right,#d5b201,#ffeb9f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
#sub_contents .box_greeting{padding:10px;background:url("../images/sub_con_img01.png")repeat center center;background-attachment:scroll;}
#sub_contents .box_greeting .inner{background:#111111cc;padding:2em 1em;position:relative;text-align:center;margin:0 auto;width:100%;max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width:100%;}
#sub_contents .box_greeting .inner p.span{font-size:13px;font-weight:normal;color:#fff;display:inline-block;line-height:2;}
#sub_contents .box_greeting .inner p.ttl{font-size:20px;font-weight:normal;color:#fff;font-weight:bold;display:inline-block;line-height:1.8;}

/* scene
----------------------------------- */
#sub_contents .sub_black_box{width:100%;background-color:#111111cc;padding:20px;background:url("../images/sub_bg.png")repeat center center;}
#sub_contents .comm_textBox{position:relative;display:block;}
#sub_contents .comm_textBox .img{width:100%;margin-bottom:20px;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:20px;padding-bottom:5px;letter-spacing:0.1em;line-height:1.6;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents .comm_textBox .textarea p.ttl.colwhite,#sub_contents .comm_textBox .textarea h2.colwhite{border-bottom:solid 1px #113802;color:#fff;}
#sub_contents .comm_textBox .textarea p.sub_num{font-size:28px;}
#sub_contents .sub_black_box,
#sub_contents .sub_black_box p,
#sub_contents .sub_black_box .comm_textBox .textarea,
#sub_contents .sub_black_box .comm_textBox .textarea p,
#sub_contents .sub_black_box .comm_textBox .textarea p.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea h2.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea p.sub_num{color:#111 !important;}

/* menu
----------------------------------- */
#sub_contents .commit_bg{background:#fff;padding:20px;position:relative;}
#sub_contents .commit_bg .span{font-family:"Yuji Syuku",serif;font-size:16px;font-weight:bold;padding-left:15px;position:relative;color:#111;line-height:1.8;}
#sub_contents .commit_bg .span::before{content:"";width:6px;height:6px;background:#dd1d0f;border-radius:50%;position:absolute;left:0;top:50%;transform:translateY(-50%);}
#sub_contents .commit_bg .p{color:#111;font-size:14px;line-height:2;}
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}

/* space
----------------------------------- */
#sub_contents .bg_slider{background:rgba(15,10,8,.9);padding:30px 0 20px 0;}
#sub_contents .img_gallery{width:94%;margin:0 auto 30px;}
#sub_contents .img_gallery .li{overflow:hidden;position:relative;}
#sub_contents .img_gallery .li img{width:100%;height:250px;object-fit:cover;display:block;}
#sub_contents .img_gallery .figurecaption{position:absolute;left:10px;bottom:60px;z-index:2;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:8px 12px;border-left:3px solid #dd1d0f;}
#sub_contents .img_gallery .figurecaption p{color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;line-height:1.5;}
#sub_contents .img_gallery .li::after{content:"";width:100%;height:50%;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);position:absolute;left:0;bottom:0;z-index:1;}
#sub_contents .img_gallery .p{position:absolute;left:15px;bottom:15px;z-index:2;max-width:90%;}
#sub_contents .img_gallery .p p{color:#fff;font-size:13px;line-height:1.8;text-shadow:0 2px 8px rgba(0,0,0,.3);}
#sub_contents .thumb_gallery{width:94%;margin:10px auto 20px;}
#sub_contents .thumb_gallery .swiper-slide{opacity:.4;cursor:pointer;overflow:hidden;transition:.3s;}
#sub_contents .thumb_gallery .swiper-slide-thumb-active{opacity:1;}
#sub_contents .thumb_gallery img{width:100%;height:60px;object-fit:cover;display:block;}
#sub_contents .swiper-button-next,#sub_contents .swiper-button-prev{color:#fff;width:36px;height:36px;background:rgba(0,0,0,.5);border-radius:100%;backdrop-filter:blur(5px);}
#sub_contents .swiper-button-next:after,#sub_contents .swiper-button-prev:after{font-size:13px;font-weight:700;}
#sub_contents .g_area{margin-top:50px;display:block;}
#sub_contents .g_area .img_area{width:100%;margin-top:20px;}
#sub_contents .g_area .txt_area{width:100%;}
#sub_contents .g_area .txt_area .span p,#sub_contents .g_area .txt_area h2.span{font-size:20px;line-height:1.6;margin-bottom:15px;color:#dd1d0f;font-weight:bold;border-bottom:3px double #dd1d0f;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}

#sub_contents .list_access .list_ac{width:100%;background:#fff;padding:25px 20px;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;overflow:hidden;margin-bottom:20px;}
#sub_contents .list_access .list_ac::before{content:"";width:60px;height:60px;background:#dd1d0f;opacity:.08;border-radius:50%;position:absolute;top:-15px;right:-15px;}
#sub_contents .list_access .ttl{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #eee;}
#sub_contents .list_access .ttl p{font-size:22px;font-weight:700;color:#dd1d0f;line-height:1.4;}
#sub_contents .list_access .icon{width:100px;height:100px;background:#dd1d0f;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px;margin:0 auto 20px;}
#sub_contents .list_access .icon::before{font-family:"Material Symbols Outlined";font-size:60px;color:#fff;}
#sub_contents .list_access .list_ac:first-child .icon::before{content:"train";}
#sub_contents .list_access .list_ac:last-child .icon::before{content:"directions_car";}
#sub_contents .list_access .p p{line-height:1.9;font-size:14px;}
#sub_contents .img_list img{width:100%;margin-bottom:15px;}
#sub_contents .tbl_access .tr{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);padding:20px 15px;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.06);margin-bottom:10px;display:block;}
#sub_contents .tbl_access .tr .th{display:flex;align-items:center;gap:12px;width:100%;flex-shrink:0;margin-bottom:10px;}
#sub_contents .tbl_access .tr .th::before{content:"";width:22px;height:2px;background:#dd1d0f;display:block;flex-shrink:0;}
#sub_contents .tbl_access .tr .th p{font-size:14px;font-weight:700;letter-spacing:.05em;}
#sub_contents .tbl_access .tr .th .small p{font-size:13px;font-weight:400;}
#sub_contents .tbl_access .tr .td{flex:1;}
#sub_contents .tbl_access .tr .td p{font-size:13px;line-height:1.9;}
#sub_contents .tbl_info .th a{color:#0d0d0d !important;}

/* access
----------------------------------- */
#sub_contents .tbl_info{margin-bottom:20px;}
#sub_contents .tbl_info .tr{width:100%;background:#fff;margin-bottom:10px;display:block;}
#sub_contents .tbl_info .th{width:100%;padding:12px 10px;text-align:center;background:#b21d02;color:#fff;}
#sub_contents .tbl_info .td{width:100%;padding:12px 10px;background:#fff;color:#0d0d0d;}
#sub_contents .tbl_info .td p{font-size:14px;line-height:1.8;color:#0d0d0d;}
#sub_contents .tbl_info .td a{text-decoration:underline;}
#sub_contents .sub_bg .tbl_info .th,
#sub_contents .sub_bg .tbl_info .th p,
#sub_contents .sub_bg .tbl_info .th a{color:#fff !important;}

/* faq
----------------------------------- */
#sub_contents .faq__item{padding:15px;border-radius:0px;width:100%;margin:0 auto;color:#fff;background:#222;}
#sub_contents .faq__item:not(:last-of-type){margin-bottom:20px;}
#sub_contents .faq__item .dt{padding:12px 10px 12px 40px;position:relative;border-bottom:0px solid #b21d02;font-weight:bold;color:#fff;font-size:15px;line-height:1.8;}
#sub_contents .faq__item .dd{padding:12px 10px 12px 40px;position:relative;font-size:14px;color:#fff;line-height:1.9;}
#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:18px;font-weight:600;color:#b21d02;}
#sub_contents .faq__item .dd::before{content:"A.";font-size:18px;font-weight:600;color:#b21d02;}

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

/* sub_contents
----------------------------------- */
#sub_contents {font-size:14px;position:relative;padding:5px 100px;background-attachment:fixed;background:url(../images/bg.png) repeat top;}
#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:50px auto 100px;width:calc(100% - 200px);}
#sub_contents .section{max-width:1280px;width:calc(100% - 200px);position:relative;margin:40px auto 150px;padding:0;}
#sub_contents .sub_bg{background:url(../images/sub_bg.png) repeat top center;width:100vw;margin:50px 0 100px;position:relative;left:50%;transform:translateX(-50%);padding:60px 0;}
#sub_contents .sub_bg02{background:url(../images/sub_bg02.png) repeat top center;width:100vw;margin:50px 0 100px;position:relative;left:50%;transform:translateX(-50%);padding:60px 0;}
#sub_contents .sub_bg .section{max-width:1280px;width:calc(100% - 200px);margin:0 auto 150px;padding:0;}
#sub_contents h2{ text-align:center;font-size:30px;position:relative;line-height:180%;padding:15px 0;margin:0 auto 50px;font-family:"Yuji Syuku",serif;border-top:1px solid #fff;border-bottom:1px solid #fff;width:600px;margin-top: 30px;}
#sub_contents h3{margin: 50px auto 30px; padding: 5px 15px;font-size: 22px;font-weight: bold;line-height: 1.4; border-left: 6px solid #7d1f13;}
#sub_contents .sub_bg h3{color:#111;}
#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{ text-align: center;  line-height: 200%;font-size: 16px;font-weight: bold;margin-top: 50px;}
#sub_contents .txt_cen .bold{position:relative;display:inline-block;font-weight:700;font-size:25px;font-family: "Yuji Syuku", serif;font-weight:500;}
#sub_contents .txt_st{ text-align: center; line-height: 200%;}
#sub_contents .txt_st strong,#sub_contents .txt_st b{font-size:120%;font-weight:700;}
#sub_contents.col_black .txt_st a{color: #f73245;}
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}
#sub_contents .txt_cen em{font-style: normal !important;display: block;    margin-bottom: -20px;}

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

/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{position:absolute;width:94%; top:-53px;line-height:100%;padding:0 2%;max-width:94%;}
#sub_contents .bread_crumb{text-align:left;padding:10px 0 0 0;max-width:94%;margin:0 auto;margin-bottom:30px;}
#sub_contents .bread_crumb div { display:inline;}
#sub_contents .bread_crumb div:after {content : 'ï¼ž';padding-left:0px; 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:13px;}
#sub_contents .bread_crumb p{margin-bottom:0px; font-size:12px;padding:0 2%;}

/* concept
----------------------------------- */
#sub_contents .sub_cen_img {width: 100%;text-align: center;}
#sub_contents .sub_cen_img img {width: 100px;object-fit: cover;}
#sub_contents .sub_cen_img.sub_seasonal img {width: 400px;}
#sub_contents .sub_catch_box {width: 100%;text-align: center;}
#sub_contents .sub_catch {display: block;}
#sub_contents .sub_catch_box p{display: inline-block;font-size: 28px;font-weight: bold;}
#sub_contents .sub_catch_box p.colgold{display: inline-block;background: linear-gradient(to right, #d5b201, #ffeb9f);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
#sub_contents .box_greeting{padding: 20px;background:url("../images/sub_con_img01.png")repeat center center; background-attachment: fixed;}
#sub_contents .box_greeting .inner{background: #111111cc;padding: 5em 3em;position: relative;text-align: center; margin:0 auto; width:100%; max-width:100%;}
#sub_contents .box_greeting .inner .txt_box{width: 100%;}
#sub_contents .box_greeting .inner p.span{font-size:16px; font-weight: normal;color: #fff;display: inline-block;}
#sub_contents .box_greeting .inner p.ttl{font-size:24px; font-weight: normal;color: #fff;font-weight: bold;display: inline-block;}

/* scene
----------------------------------- */
#sub_contents .sub_black_box {width: 100%;background-color: #111111cc;padding: 40px;background:url("../images/sub_bg.png")repeat center center;}
#sub_contents .comm_textBox{position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#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: 24px;padding-bottom:5px;letter-spacing: 0.2em;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents .comm_textBox .textarea p.ttl.colwhite,#sub_contents .comm_textBox .textarea h2.colwhite {border-bottom: solid 1px #113802;color: #fff;}
#sub_contents .comm_textBox .textarea p.sub_num {font-size: 42px;}
#sub_contents .sub_black_box,
#sub_contents .sub_black_box p,
#sub_contents .sub_black_box .comm_textBox .textarea,
#sub_contents .sub_black_box .comm_textBox .textarea p,
#sub_contents .sub_black_box .comm_textBox .textarea p.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea h2.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea p.sub_num{color:#111 !important;}

/* menu
----------------------------------- */
#sub_contents .commit_bg{background: #fff; padding:30px; position: relative;}
#sub_contents .commit_bg .span{font-family:"Yuji Syuku",serif; font-size: 18px; font-weight: bold; padding-left: 18px; position: relative;color: #111;}
#sub_contents .commit_bg .span::before{content: "";width: 8px;height: 8px;background: #dd1d0f;border-radius: 50%;position: absolute;left: 0;top: 50%;transform: translateY(-50%); }
#sub_contents .commit_bg .p{color: #111;}
#sub_contents .sub_img_box{padding:0px;}
#sub_contents .sub_img_box img{width:100%;}

/* space
----------------------------------- */
#sub_contents .bg_slider{background:rgba(15,10,8,.9);padding: 50px 0 30px 0;}
#sub_contents .img_gallery{width:60%;margin:0 auto 50px;}
#sub_contents .img_gallery .li{overflow:hidden;position: relative;}
#sub_contents .img_gallery .li img{width:100%;height:500px;object-fit:cover;display:block;}
#sub_contents .img_gallery .figurecaption{position:absolute;left:20px;bottom:20px;z-index:2;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:12px 20px;border-left:3px solid #dd1d0f;bottom:90px;}
#sub_contents .img_gallery .figurecaption p{color:#fff;font-size:20px;font-weight:700;letter-spacing:.05em;line-height:1.4;}
#sub_contents .img_gallery .li::after{content:"";width:100%;height:50%;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);position:absolute;left:0;bottom:0;z-index:1;}
#sub_contents .img_gallery .p{position:absolute;left:40px;bottom:40px;z-index:2;max-width:70%;}
#sub_contents .img_gallery .p p{color:#fff;font-size:16px;line-height:2;text-shadow:0 2px 8px rgba(0,0,0,.3);}
#sub_contents .thumb_gallery{width:80%;margin:10px auto 30px;}
#sub_contents .thumb_gallery .swiper-slide{opacity:.4;cursor:pointer;overflow:hidden;transition:.3s;}
#sub_contents .thumb_gallery .swiper-slide-thumb-active{opacity:1;}
#sub_contents .thumb_gallery img{width:100%;height:100px;object-fit:cover;display:block;}
#sub_contents .swiper-button-next,#sub_contents .swiper-button-prev{color:#fff;width:50px;height:50px;background:rgba(0,0,0,.5);border-radius:100%;backdrop-filter:blur(5px);}
#sub_contents .swiper-button-next:after,#sub_contents .swiper-button-prev:after{font-size:18px;font-weight:700;}
#sub_contents .g_area{margin-top:100px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#sub_contents .g_area .img_area{width:100%;}
#sub_contents .g_area .img_area img{width:100%;display:block;}
#sub_contents .g_area .txt_area{width:100%;}
#sub_contents .g_area .txt_area .span p,#sub_contents .g_area .txt_area h2.span{font-size:28px;line-height:1.4;margin-bottom:20px;color:#dd1d0f;font-weight:bold;border-bottom:3px double #dd1d0f;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}

#sub_contents .list_access .list_ac{width:48%;background:#fff;padding:40px 35px;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;overflow:hidden;}
#sub_contents .list_access .list_ac::before{content:"";width:80px;height:80px;background:#dd1d0f;opacity:.08;border-radius:50%;position:absolute;top:-20px;right:-20px;}
#sub_contents .list_access .ttl{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #eee;}
#sub_contents .list_access .ttl p{font-size:28px;font-weight:700;color:#dd1d0f;line-height:1.4;}
#sub_contents .list_access .icon{width:150px;height:150px;background:#dd1d0f;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:25px; margin:0 auto 30px;}
#sub_contents .list_access .icon::before{font-family:"Material Symbols Outlined";font-size:90px;color:#fff;}
#sub_contents .list_access .list_ac:first-child .icon::before{content:"train";}
#sub_contents .list_access .list_ac:last-child .icon::before{content:"directions_car";}
#sub_contents .list_access .p p{line-height:2;font-size:16px;}
#sub_contents .img_list img{width: 48%; margin-bottom: 20px;}
#sub_contents .tbl_access .tr{background:rgba(255,255,255,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);padding:25px 30px;position:relative;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.06);margin-bottom:10px;}
#sub_contents .tbl_access .tr{display:flex;align-items:center;justify-content:space-between;gap:30px;}
#sub_contents .tbl_access .tr .th{display:flex;align-items:center;gap:20px;width:220px;flex-shrink:0;}
#sub_contents .tbl_access .tr .th::before{content:"";width:28px;height:2px;background:#dd1d0f;display:block;flex-shrink:0;}
#sub_contents .tbl_access .tr .th p{font-size:16px;font-weight:700;letter-spacing:.08em;}
#sub_contents .tbl_access .tr .th .small p{font-size:15px;font-weight:400;}
#sub_contents .tbl_access .tr .td{flex:1;}
#sub_contents .tbl_access .tr .td p{font-size:15px;line-height:2;}

/* access
----------------------------------- */
#sub_contents .tbl_info{margin-bottom:20px;}
#sub_contents .tbl_info .tr{width:100%;background:#fff;margin-bottom:15px;display:flex;align-items:stretch;}
#sub_contents .tbl_info .th{width:22%;padding:15px 10px;text-align:center;background:#b21d02;color:#fff;display:flex;align-items:center;justify-content:center;}
#sub_contents .tbl_info .th p{color:#fff;font-size:16px;line-height:1.8;margin:0;}
#sub_contents .tbl_info .td{width:78%;padding:15px 10px;background:#fff;color:#0d0d0d;display:block;}
#sub_contents .tbl_info .td p{font-size:16px;line-height:1.8;color:#0d0d0d;margin:0;}
#sub_contents .tbl_info .td a{text-decoration:underline;color:#0d0d0d;}
#sub_contents .sub_bg .tbl_info .th,
#sub_contents .sub_bg .tbl_info .th p,
#sub_contents .sub_bg .tbl_info .th a{color:#fff !important;}

/* faq
----------------------------------- */
#sub_contents .faq__item {padding:20px;border-radius:0px;width:100%;margin:0 auto;color:#fff;background:#222;}
#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:0px solid #b21d02;font-weight:bold;color: #fff;font-size: 17px;}
#sub_contents .faq__item .dd {padding: 15px 10px 15px 50px;position: relative;font-size: 16px;color: #fff;}
#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;color: #b21d02;}
#sub_contents .faq__item .dd::before {content: "A.";font-size: 20px;font-weight:600;color: #b21d02;}

}

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

/* sub_contents
----------------------------------- */
#sub_contents{padding:5px 30px;}
#sub_contents section{max-width:1280px;width:94%;margin:50px auto 100px;}
#sub_contents .section{max-width:1280px;width:94%;margin:40px auto 100px;}
#sub_contents .sub_bg{margin:50px 0 80px;padding:50px 0;}
#sub_contents .sub_bg02{margin:50px 0 80px;padding:50px 0;}
#sub_contents .sub_bg .section{max-width:1280px;width:94%;margin:0 auto 100px;}
#sub_contents h2{font-size:26px;line-height:170%;padding:15px 0;width:90%;margin:30px auto 40px;}
#sub_contents h3{margin:40px auto 25px;font-size:20px;}
#sub_contents .mb100{margin-bottom:80px;}
#sub_contents .mb150{margin-bottom:100px;}
#sub_contents .mt80{margin-top:60px;}
#sub_contents .txt_cen{font-size:15px;margin-top:40px;}
#sub_contents .txt_cen .bold{font-size:22px;}  
  
/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb{text-align:left;padding:20px 0 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-bottom:0px; font-size:13px;padding:0 0;}

/* scene
----------------------------------- */
#sub_contents .sub_black_box {width: 100%;background-color: #111111cc;padding: 40px;background:url("../images/sub_bg.png")repeat center center;}
#sub_contents .comm_textBox{position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#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 {border-bottom: solid 1px #111;margin-bottom: 10px;font-weight: normal;font-size: 24px;padding-bottom:5px;letter-spacing: 0.2em;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
#sub_contents .comm_textBox .textarea p.ttl.colwhite,#sub_contents .comm_textBox .textarea h2.colwhite {border-bottom: solid 1px #113802;color: #fff;}
#sub_contents .comm_textBox .textarea p.sub_num {font-size: 42px;}
#sub_contents .sub_black_box,
#sub_contents .sub_black_box p,
#sub_contents .sub_black_box .comm_textBox .textarea,
#sub_contents .sub_black_box .comm_textBox .textarea p,
#sub_contents .sub_black_box .comm_textBox .textarea p.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea h2.ttl,
#sub_contents .sub_black_box .comm_textBox .textarea p.sub_num{color:#111 !important;}

/* space
----------------------------------- */
#sub_contents .g_area{margin-top:100px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;}
#sub_contents .g_area .img_area{width:50%;}
#sub_contents .g_area .img_area img{width:100%;display:block;}
#sub_contents .g_area .txt_area{width:46%;}
#sub_contents .g_area .txt_area .span p,#sub_contents .g_area .txt_area h2.span{font-size:28px;line-height:1.4;margin-bottom:20px;color:#dd1d0f;font-weight:bold;border-bottom:3px double #dd1d0f;text-align: left;border-top: none;padding: 0;width: auto;margin-top: 0;}
}

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

@media screen and (min-width:768px) and (max-width:1023px){
/* main_visual
----------------------------------- */
#sub_visual{height:300px;padding-top:140px;}
#sub_visual .h1_container{max-width:94%;width:94%;}
#sub_visual .h1_container .ttl{font-size:18px;}
#sub_visual .h1_container h1{font-size:36px;line-height:150%;letter-spacing:3px;}
/* sub_contents
----------------------------------- */
#sub_contents{padding:5px 30px;}
#sub_contents section{max-width:1280px;width:94%;margin:50px auto 100px;}
#sub_contents .section{max-width:1280px;width:94%;margin:40px auto 100px;}
#sub_contents .sub_bg{margin:50px 0 80px;padding:50px 0;}
#sub_contents .sub_bg02{margin:50px 0 80px;padding:50px 0;}
#sub_contents .sub_bg .section{max-width:1280px;width:94%;margin:0 auto 100px;}
#sub_contents h2{font-size:26px;line-height:170%;padding:15px 0;width:90%;margin:30px auto 40px;}
#sub_contents h3{margin:40px auto 25px;font-size:20px;}
#sub_contents .mb100{margin-bottom:80px;}
#sub_contents .mb150{margin-bottom:100px;}
#sub_contents .mt80{margin-top:60px;}
#sub_contents .txt_cen{font-size:15px;margin-top:40px;}
#sub_contents .txt_cen .bold{font-size:22px;}
/* bread_crumb_list
----------------------------------- */
#sub_contents .bread_crumb_list{width:94%;max-width:94%;}
#sub_contents .bread_crumb{max-width:94%;}
/* concept
----------------------------------- */
#sub_contents .sub_cen_img img{width:90px;}
#sub_contents .sub_cen_img.sub_seasonal img{width:320px;}
#sub_contents .sub_catch_box p{font-size:24px;}
#sub_contents .box_greeting{padding:15px;}
#sub_contents .box_greeting .inner{padding:4em 2em;}
#sub_contents .box_greeting .inner p.span{font-size:15px;}
#sub_contents .box_greeting .inner p.ttl{font-size:22px;}
/* scene
----------------------------------- */
#sub_contents .sub_black_box{padding:30px;}
#sub_contents .comm_textBox{gap:20px;}
#sub_contents .comm_textBox .textarea p.ttl,#sub_contents .comm_textBox .textarea h2.ttl{font-size:22px;letter-spacing:.15em;}
#sub_contents .comm_textBox .textarea p.sub_num{font-size:36px;}
/* menu
----------------------------------- */
#sub_contents .commit_bg{padding:25px;}
#sub_contents .commit_bg .span{font-size:17px;}
/* space
----------------------------------- */
#sub_contents .bg_slider{padding:40px 0 25px;}
#sub_contents .img_gallery{width:90%;margin:0 auto 40px;}
#sub_contents .img_gallery .li img{height:400px;}
#sub_contents .img_gallery .figurecaption{left:15px;bottom:75px;padding:10px 15px;}
#sub_contents .img_gallery .figurecaption p{font-size:17px;}
#sub_contents .img_gallery .p{left:25px;bottom:25px;max-width:85%;}
#sub_contents .img_gallery .p p{font-size:14px;}
#sub_contents .thumb_gallery{width:90%;margin:10px auto 25px;}
#sub_contents .thumb_gallery img{height:80px;}
#sub_contents .swiper-button-next,#sub_contents .swiper-button-prev{width:42px;height:42px;}
#sub_contents .g_area{margin-top:70px;gap:20px;}
#sub_contents .g_area .txt_area .span p,#sub_contents .g_area .txt_area h2.span{font-size:24px;}
#sub_contents .list_access .list_ac{width:48%;padding:30px 25px;}
#sub_contents .list_access .ttl p{font-size:23px;}
#sub_contents .list_access .icon{width:120px;height:120px;margin:0 auto 25px;}
#sub_contents .list_access .icon::before{font-size:70px;}
#sub_contents .list_access .p p{font-size:15px;}
#sub_contents .img_list img{width:48%;margin-bottom:20px;}
#sub_contents .tbl_access .tr{padding:20px;gap:20px;}
#sub_contents .tbl_access .tr .th{gap:15px;width:180px;}
#sub_contents .tbl_access .tr .th p{font-size:15px;}
#sub_contents .tbl_access .tr .th .small p{font-size:14px;}
#sub_contents .tbl_access .tr .td p{font-size:14px;}
/* access
----------------------------------- */
#sub_contents .tbl_info .th{width:28%;padding:15px 10px;}
#sub_contents .tbl_info .td{width:72%;padding:15px 10px;}
#sub_contents .tbl_info .th p{font-size:15px;}
#sub_contents .tbl_info .td p{font-size:15px;}
/* faq
----------------------------------- */
#sub_contents .faq__item{padding:18px;}
#sub_contents .faq__item:not(:last-of-type){margin-bottom:25px;}
#sub_contents .faq__item .dt{padding:14px 10px 14px 45px;font-size:16px;}
#sub_contents .faq__item .dd{padding:14px 10px 14px 45px;font-size:15px;}
#sub_contents .faq__item .dt::before,#sub_contents .faq__item .dd::before{left:12px;top:8px;}
}