@charset "utf-8";
/* Copyright 2025 design hack. */

/* ------------------------------------------------------------
サイト共通設定
------------------------------------------------------------ */
/* デフォルト文字設定 */
body{color:#222222;background:#F1F1F1;font-family:"Cardo","Noto Sans JP","メイリオ", "Meiryo","游ゴシック", "Yu Gothic",'MS Mincho',serif;font-weight: 600; font-size:16px;line-height:2.2;-webkit-font-smoothing: antialiased;}
main{display:block;}
@media print, screen and (max-width: 767px){body{font-size:15px;}}
/* デフォルトリンク色の設定 */
a{color:#000000;text-decoration:none;outline: none;-webkit-transition: color 0.3s;transition: color 0.3s;}
/* 青いの消す */
*:focus {outline: none;}
/*	clearfix */
.clearfix:after{/*for modern browser*/  content: "";display:block;clear:both;}
.clearfix{ *zoom:1; } /*for IE6,IE7*/
p#browser{padding:10px 0;background:#000;color:#FFF;text-align:center;}
p#browser span{font-size:86%;}
img {vertical-align:top;}

/* ------------------------------------------------------------

レイアウト

------------------------------------------------------------ */
/* ----------------------------------------------
ヘッダー
---------------------------------------------- */
div#header_fixed{background:#7F0E13;color:#FFFFFF;width:100%;height:120px;position:relative;}
div#wrap_h1{width:100%;padding:10px 20px 0 0 ;text-align: right;}
h1{line-height: 1.0;color: #CC9FA1;font-size: 12px;font-weight: normal;}

div#wrap_header{line-height: 1.0;}
p#pc_logo{position:absolute;left:20px;top:40px;}
p#pc_logo img{width:220px;height:48px; }
p#pc_logo a:hover{opacity:0.7;}

/* グローバルナビゲーション */
nav#wrap_nav_main{position:absolute;right:370px;top:60px;font-family:"Noto Sans JP",serif;}
nav#wrap_nav_main ul#nav_main {font-size: 0;}
nav#wrap_nav_main ul#nav_main li{display: inline-block;letter-spacing: 0.05em;font-size: 15px;font-weight: 700; margin-right: 50px;}
nav#wrap_nav_main ul#nav_main li a{color: #FFFFFF;display:block;}
nav#wrap_nav_main ul#nav_main li a:hover{color: #FFFFFF;border-bottom: 2px solid #FFFFFF;padding-bottom: 10px; transition: 0.3s;}
nav#wrap_nav_main ul#nav_main li:last-child{margin-right: 0;}

/* nav_drop */
nav#wrap_nav_main ul#nav_main li .nav_suv {display: none;/*デフォルト非表示*/width: 220px;position: absolute;top:45px;left: -22px;box-sizing: border-box;padding: 30px 0 0;background: #E0E0E0;}
nav#wrap_nav_main ul#nav_main li .nav_suv li:hover .nav_suv {display: block;/*ホバーしたら表示*/}
nav#wrap_nav_main ul#nav_main li .nav_suv li {line-height: 1.0;transition: all .2s;text-align: center;width: 220px;margin:0 0 30px 0;}
nav#wrap_nav_main ul#nav_main li .nav_suv li a{color: #7F0E13;}
nav#wrap_nav_main ul#nav_main li .nav_suv li a:hover{color: #222222;border-bottom:none;padding-bottom: 0; }

p#hdr_recruit{position:absolute;right:200px;top:40px;width:120px;height: 50px;background:url(/common/img/hdr_recruit_on.png) no-repeat 0 0;background-size:120px 50px;}
p#hdr_recruit img:hover{opacity: 0; transition: 0.3s;}

p#hdr_contact{position:absolute;right:20px;top:40px;width:160px;height: 50px;background:url(/common/img/hdr_contact_on.png) no-repeat 0 0;background-size:160px 50px;}
p#hdr_contact img:hover{opacity: 0; transition: 0.3s;}

div#sp_nav{display: none;}

@media print, screen and (max-width: 1220px){
nav#wrap_nav_main ul#nav_main li{margin-right: 30px;}
}

@media print, screen and (min-width: 1159px){.global_nav{display: none;}}
/* ----------------------------------------------
device
---------------------------------------------- */
@media print, screen and (max-width:1160px){
div#pc_nav{display: none;}
div#sp_nav{display: block;} 
/* ----header---- */
div#header_fixed{width:100%;height:65px;position:relative;z-index:9999;}
/*--h1--*/ 
div#wrap_h1{width: 100%;padding-top:5px;}
h1{line-height: 1.0;color:#CC9FA1;font-size: 10px;font-weight: normal;text-align: right;}

header{width:100%;height:65px;position:fixed;top:0;left:0;z-index:8888;background:#7F0E13;}
#header_fixed{width:100%;height:65px;position:relative;z-index:9999;}
p#sp_logo{position:absolute;left:20px;top:20px;}
p#sp_logo img{width:110px;height:24px;}
p#sp_logo a{display:block;}

/*--menu button--*/
.toggle {position: fixed;right: 20px;top: 30px;cursor: pointer;width:22px;height:18px;z-index: 9999;}
.toggle span {display: inline-block;transition: all .4s;/*アニメーションの設定*/position: absolute;height: 2px;background: #FFFFFF;}
.toggle span:nth-of-type(1) {top:0;width: 100%;}
.toggle span:nth-of-type(2) {top:9px;width:100%}
.toggle span:nth-of-type(3) {top:18px;width:100%}
.toggle.active span:nth-of-type(1) {top: 0;transform: translateY(6px) rotate(-135deg);width: 100%;}
.toggle.active span:nth-of-type(2){top: 12px;transform: translateY(-6px) rotate(135deg);width: 100%;}
.toggle.active span:nth-of-type(3){top: 0;transform: translateY(6px) rotate(135deg);width: 100%;}
    
/* .global_nav */
.global_nav {position: fixed;top: 0;left: 0;width: 100%;height:100%;transform: translateY(-100%);z-index: 110;padding-top: 65px;transition: all 0.8s;font-weight: bold;line-height: 1.0;}
#nav_inner{height:100%;overflow-y:auto;font-size: 17px;font-weight: 700;}
.global_nav.active {transform: translateY(0%);}
.global_nav dl,.global_nav ul{background: #7F0E13;padding:0 20px;color: #FFFFFF;}
.global_nav dl{padding: 30px 20px 0;}
.global_nav dl dt{padding: 0 0 15px 0;}
.global_nav dl dd{font-size: 15px;padding: 15px 0;font-weight: 500;}
.global_nav dl dd:last-child{padding: 15px 0 20px;}
.global_nav dl dd a{color: #CC9FA1;}
.global_nav ul li {padding:20px 0;}
.global_nav ul li:last-child{padding: 20px 0 50px;}
.global_nav ul li a{display:block;color:#FFFFFF;}

.global_nav p.navi + ul{display:none;font-size: 0;}
.global_nav p.navi + ul > li{border-bottom:1px solid #98C091 !important;border-right: 1px solid #98C091; background:#308122;display: inline-block;width: 50%;font-size: 15px;font-weight: 500;}
.global_nav p.navi + ul > li:nth-child(2n){border-right:none;}
.global_nav p.navi + ul > li:last-child{width: 100%;border-right:none;}
.global_nav p.navi + ul > li > a{display: block;color: #FFFFFF;}
.global_nav p.navi + ul > li::after{background:none !important;}
}

/* フッター
---------------------------------------------- */
/* ページトップ
---------------------------------------------- */
p#pagetop{position:fixed;right:40px;bottom:40px;margin-bottom:0;z-index: 100;}
p#pagetop a{width:40px;height:40px;background:url(/common/img/pagetop_on.png) no-repeat 0 0;display:block;}
p#pagetop a:hover img{opacity: 0; transition: 0.3s;}
@media print, screen and (max-width: 767px){
p#pagetop a{display: none;}
}

/* CONTACT
---------------------------------------------- */
/* slickslide */
div#slickslide{overflow: hidden;position: relative;}
div#wrap_slide{position: relative;width: 100%; height: 600px;}
ul#slider_img{position: absolute; width: 2300px;}
ul#slider_img li{width: 100%;height: 600px;}
ul#slider_img li img{width: 460px;height:600px;}

div#ftr_area{position: absolute;right: 0;left: 0;top:0;width: 1200px;margin: 0 auto;overflow: hidden;padding: 140px 0 0 0;color: #FFFFFF;}
div#ftr_area div.ftr_area_box{width: 560px;float: left;}
div#ftr_area div.ftr_area_box:first-child{margin:0 80px 0 0;}
div#ftr_area div.ftr_area_box h2{margin:0 0 48px 0; }
div#ftr_area div.ftr_area_box p#ftr_recruit_btn{background: url(/common/img/ftr_recruit_btn_on.png) no-repeat 0 0;margin: 30px 0 0 0;}
div#ftr_area div.ftr_area_box p#ftr_recruit_btn img:hover{opacity: 0; transition: 0.3s;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn{overflow: hidden;margin: 30px 0 0 0;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li{float:left;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li:first-child{background: url(/common/img/ftr_contact_btn_on.png) no-repeat 0 0;margin: 0 20px 0 0;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li:first-child img:hover{opacity: 0; transition: 0.3s;}

/* footer navi --------------*/
footer{background: #262626;color: #FFFFFF;}
footer div#ftr_wrap{position: relative;width: 100%;height: 386px;}
footer h2#ftr_logo{position: absolute;left: 20px;top: 100px;}
footer h2#ftr_logo img{width: 220px;height: 48px;}
p#ftr_add{position: absolute;left: 20px;top: 188px;font-size: 14px;font-weight: 400;line-height: 1.0;}

footer ul#ftr_nav01,footer ul#ftr_nav02{line-height: 1.0;}
footer ul#ftr_nav01 li a,footer ul#ftr_nav02 li a{color:#FFFFFF;}
footer ul#ftr_nav01{position: absolute;right:20px;top: 100px;font-size: 0;}
footer ul#ftr_nav01 li{font-size: 15px;display: inline-block;margin-right: 80px;font-weight: 500;}
footer ul#ftr_nav01 li:last-child{margin-right: 0;}
footer ul#ftr_nav02{position: absolute;right:490px;top: 143px;font-weight: 400;}
footer ul#ftr_nav02 li{background: url(/common/img/arw_red.png) no-repeat center left;background-size: 8px 12px;padding-left: 18px;margin-bottom: 20px;font-size: 14px;}
footer div#ftr_wrap ul li a:hover{transition: 0.3s;color:#999999;}

footer p#small{position: absolute;left: 20px;bottom: 60px;line-height: 1.0;font-size: 13px;color: #6E6E6E;font-weight: 500;}

@media print, screen and (max-width: 1240px){
/* CONTACT
---------------------------------------------- */
/* slickslide */
div#slickslide{overflow: hidden;position: relative;}
div#wrap_slide{position: relative;width: 100%; height: 600px;}
ul#slider_img{position: absolute; width: 2300px;}
ul#slider_img li{width: 100%;height: 600px;}
ul#slider_img li img{width: 460px;height:600px;}

div#ftr_area{width: 100%;padding: 70px 20px 0;}
div#ftr_area div.ftr_area_box{width: 48%;}
div#ftr_area div.ftr_area_box:first-child{margin:0 4% 0 0;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li{float:left;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li:first-child{margin: 0 20px 20px 0;}
    
div#ftr_area div.ftr_area_box ul#ftr_contact_btn{overflow: hidden;margin: 30px 0 0 0;}
    
/* footer navi --------------*/
footer div#ftr_wrap{position: static;width: 100%;height: auto;text-align: center;padding: 50px 0;}
footer h2#ftr_logo{position: static;margin: 0 auto 40px;width: 229px;height: 58px;}
footer h2#ftr_logo img{width: 229px;height: 50px;}
p#ftr_add{position: static;margin-bottom: 50px;}
footer ul#ftr_nav01,footer ul#ftr_nav02{display: none;}
footer p#small{position: static;font-size: 10px;}
}

@media print, screen and (max-width: 767px){
/* slickslide */
div#slickslide{overflow: visible;position: static;}
div#wrap_slide{position: static;width: 100%; height: auto;display: none;}

/* CONTACT
---------------------------------------------- */
div#ftr_area{position: static;margin: 0;overflow: visible;padding: 50px 20px;background:#262626 url(/common/img/ftr_contact_sp.png) no-repeat 0 0;background-size: 100%; width:100%;height: auto;}
div#ftr_area div.ftr_area_box{width: 100%;float: none;font-size: 13px;}
div#ftr_area div.ftr_area_box:first-child{margin:0 0 50px 0;}
div#ftr_area div.ftr_area_box h2{margin:0 0 20px 0; }
div#ftr_area div.ftr_area_box p#ftr_recruit_btn{background:none;margin: 20px 0 0 0;}
div#ftr_area div.ftr_area_box p#ftr_recruit_btn img{width: 100%;}
div#ftr_area div.ftr_area_box p#ftr_recruit_btn img:hover{opacity: 1;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn{overflow: visible;margin: 20px  0 0 0;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li{float:none;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li:first-child{background:none;margin: 0 0 20px 0;}
div#ftr_area div.ftr_area_box ul#ftr_contact_btn li:first-child img:hover{opacity: 1;}
}

/* 共通非表示
---------------------------------------------- */
.sp_none,.pc_none{display: block;}
@media print, screen and (max-width: 767px){.sp_none{display: none;}}
@media print, screen and (min-width: 768px){.pc_none{display: none;}}

/* パンくず
---------------------------------------------- */
div#breadcrumb{margin: 0 0 0 20px;}
div#breadcrumb ul{font-size:0;line-height: 1.0;text-align: left;font-weight: 600;padding: 40px 0 0 0;line-height: 1.0;}
div#breadcrumb ul li{display: inline-block; color:#6C6C6C;background:url(/common/img/bread_arw.png) no-repeat right 0.05em;background-size: 6px 10px; padding-right:16px;margin-right:10px;font-size:14px;}
div#breadcrumb ul li:last-child{background:none;margin-right:0;padding-right:0;}
div#breadcrumb ul li a{color:#971B20;}
div#breadcrumb ul li a:hover{color:#222222;transition: 0.3s;}

@media print, screen and (max-width: 767px){
div#breadcrumb{margin: 0 60px 0 20px;}
div#breadcrumb ul{width:90%;padding: 40px 0 0 0;}
div#breadcrumb ul li{font-size:10px;background:url(/common/img/bread_arw.png) no-repeat right 0.1em;background-size: 5px 8px;padding-right:15px;margin-right:10px;}
    
.rcrumbs {white-space: nowrap;}
.rcrumbs > ul {padding: 0;list-style: none;}
.rcrumbs > ul > li {overflow: hidden;display: none;}
.rcrumbs > ul > li.show {display: inline-block;}
.rcrumbs > ul > li.ellipsis {text-overflow: ellipsis;-o-text-overflow: ellipsis;overflow: hidden;}
}

/* コンテンツエリア
---------------------------------------------- */
main{}
.wrap_content{width:1200px; margin: 0 auto;padding: 140px 0;}

p#works_btn{background: url(/common/img/works_all_btn_on.png) no-repeat 0 0;width:230px;height: 60px;margin: 0 auto;}
p#works_btn:hover img{opacity: 0;transition: 0.3s;}

@media print, screen and (max-width: 1220px){
.wrap_content{width:100%; margin: 0;padding: 140px 20px;}
}

@media print, screen and (max-width: 767px){
.wrap_content{padding: 70px 20px;}

p#works_btn{background:none;width:250px;margin: 0 auto;}
p#works_btn:hover img{opacity: 1;}
}


/* ttl
---------------------------------------------- */
div#bg_h2{height:400px;position: relative;width: 100%;}
div#bg_h2 h2{position: absolute;left: 20px;bottom: 0;}


.ttl_als{font-size: 50px;color: #222222;margin:0 0 39px 0;font-weight: 900;font-family:"Noto Sans JP",serif;letter-spacing: 0.05em;}
.ttl_als span{font-size: 24px;color: #971A1F;margin:-2px 0 -4px 0;background:url(/common/img/ico_als.png) no-repeat left 0.15em;background-size: 16px 14px;padding: 0 0 0 26px;display: block;line-height: 1.0;font-family:"Cardo",serif;letter-spacing: 0.1em;}

.ttl_red{font-size: 50px;color: #971B20;margin:-28px 0 26px 0;font-weight: 900;letter-spacing: 0.05em;}

.bold_style01{font-size: 54px;font-weight: 900;margin:-28px 0 30px 0;}
.bold_style01 span{color: #97191F;border-bottom: 6px solid #971A1F;}

.link_sqr{text-align: right;font-weight: 700;background:url(/common/img/arw_sqr.png) no-repeat right 0;background-size: 30px 30px;padding: 7px 50px 0 0;line-height: 1.0;}
.link_sqr a{color: #971B20;}
.link_sqr span{border-bottom: 2px solid #971B20;display: inline-block;padding: 0 0 6px 0;}
.link_sqr:hover{background:url(/common/img/arw_sqr_on.png) no-repeat right 0;background-size: 30px 30px;transition: 0.3s;}
.link_sqr:hover a{color: #222222;}
.link_sqr:hover span{border-bottom: 2px solid #222222;}

.bg_wht{background: #FFFFFF;}

@media print, screen and (max-width: 1220px){

}

@media print, screen and (max-width: 767px){
div#bg_h2{width: 100%;height:auto;position: static;}
div#bg_h2 h2{position: static;}
div#bg_h2 img{width: 100%;}
    
    
/* ttl
---------------------------------------------- */
.ttl_als{font-size: 31px;margin:0 0 12px 0;}
.ttl_als span{font-size: 20px;margin:-2px 0 6px 0;padding: 0 0 0 26px;}
    
.ttl_red{font-size: 30px;margin:-16px 0 19px 0;}
    
.bold_style01{font-size: 31px;margin:-18px 0 29px 0;}
.bold_style01 span{color: #97191F;border-bottom: 4px solid #971A1F;}    

}


/* table
---------------------------------------------- */
table.table_style01{border: 1px solid #BCBCBC;width: 100%;text-align: center;}
table.table_style01 tr th{border: 1px solid #BCBCBC;background: #EDEDED;color: #308021; font-weight:700;padding: 25px 20px;line-height: 1.8;}
table.table_style01 tr td{border: 1px solid #BCBCBC;padding: 25px 20px;vertical-align: middle;}

section#monthly table.table_style01 tr th{color: #189BA9;}
section#ticket table.table_style01 tr th{color: #F48509;}
section#prepayment table.table_style01 tr th{color: #DA4121;}

@media print, screen and (max-width: 1220px){
div.wrap_table{overflow-x: scroll;margin-bottom: 80px;}
div.wrap_table:last-child{margin-bottom: 0;}
}

@media print, screen and (max-width: 767px){
div.wrap_table{margin-bottom: 60px;}
table.table_style01{margin-bottom: 0;}
div.wrap_table table.table_style01{width: 900px}
table.table_style01 tr th:first-child,table.table_style01 tr th:nth-child(2){width: 170px;}
table.table_style01 tr th:last-child{width: 150px;}
    
table.table_style01 tr th,table.table_style01 tr td{padding:15px 15px 10px;}
}

/* wordpress ページネーション */
div.wp-pagenavi{text-align:center;font-weight: 700;line-height: 2.2;box-sizing: border-box;font-size: 0;}
div.wp-pagenavi span{font-size: 16px;background: #971B20;color: #FFFFFF;display:inline-block;margin-right:10px;width:34px;height:34px;border-radius: 4px;}
div.wp-pagenavi a{font-size: 16px;background: #C1C1C1;color: #222222; display:inline-block;margin-right:10px;width:34px;height:34px;border-radius: 4px;}
div.wp-pagenavi a:last-child{margin-right:0;}
div.wp-pagenavi a:hover{background:#971B20;color: #FFFFFF;transition: 0.3s;}

@media print, screen and (max-width: 767px){
/* wordpress ページネーション */
div.wp-pagenavi{line-height: 2.3;}
div.wp-pagenavi span,div.wp-pagenavi a{font-size: 15px;margin-right:20px;}
}




/* ------------------------------------------------------------

ベースCSS

------------------------------------------------------------ */

/* center
---------------------------------------------- */
.center{margin:0 auto;}
/* width
---------------------------------------------- */
.w100per{width: 100%;}
/* clear
---------------------------------------------- */
.overflow_clear{overflow:hidden;height:100%;}
/* text-align
---------------------------------------------- */
.align_right{text-align:right !important;}
.align_left{text-align:left !important;}
.align_center{text-align:center !important;}
/* float
---------------------------------------------- */
.left{float:left;}
.right{float:right;}
/* font
---------------------------------------------- */
.normal{font-weight:600 !important;}
.bold{font-weight:800 !important;}

/* margin
---------------------------------------------- */
.mb_1em{margin-bottom:1em !important;}
.mb_2em{margin-bottom:2em !important;}

.mt_none{margin-top:0px !important;}
.mt_05{margin-top:5px !important;}
.mt_10{margin-top:10px !important;}
.mt_15{margin-top:15px !important;}
.mt_20{margin-top:20px !important;}
.mt_25{margin-top:25px !important;}
.mt_30{margin-top:30px !important;}
.mt_35{margin-top:35px !important;}
.mt_40{margin-top:40px !important;}
.mt_45{margin-top:45px !important;}
.mt_50{margin-top:50px !important;}

.mr_none{margin-right:0px !important;}
.mr_05{margin-right:5px !important;}
.mr_10{margin-right:10px !important;}
.mr_15{margin-right:15px !important;}
.mr_20{margin-right:20px !important;}
.mr_25{margin-right:25px !important;}
.mr_30{margin-right:30px !important;}
.mr_35{margin-right:35px !important;}
.mr_40{margin-right:40px !important;}
.mr_45{margin-right:45px !important;}
.mr_50{margin-right:50px !important;}
.mr_60{margin-right:60px !important;}
.mr_65{margin-right:65px !important;}

.mb_none{margin-bottom:0px !important;}
.mb_05{margin-bottom:5px !important;}
.mb_10{margin-bottom:10px !important;}
.mb_15{margin-bottom:15px !important;}
.mb_20{margin-bottom:20px !important;}
.mb_25{margin-bottom:25px !important;}
.mb_30{margin-bottom:30px !important;}
.mb_35{margin-bottom:35px !important;}
.mb_40{margin-bottom:40px !important;}
.mb_45{margin-bottom:45px !important;}
.mb_50{margin-bottom:50px !important;}
.mb_55{margin-bottom:55px !important;}
.mb_60{margin-bottom:60px !important;}
.mb_65{margin-bottom:65px !important;}
.mb_70{margin-bottom:70px !important;}
.mb_75{margin-bottom:75px !important;}
.mb_80{margin-bottom:80px !important;}
.mb_85{margin-bottom:85px !important;}
.mb_90{margin-bottom:90px !important;}
.mb_95{margin-bottom:95px !important;}
.mb_100{margin-bottom:100px !important;}
.mb_120{margin-bottom:120px !important;}
.mb_130{margin-bottom:130px !important;}

.ml_none{margin-left:0px !important;}
.ml_05{margin-left:5px !important;}
.ml_10{margin-left:10px !important;}
.ml_15{margin-left:15px !important;}
.ml_20{margin-left:20px !important;}
.ml_25{margin-left:25px !important;}
.ml_30{margin-left:30px !important;}
.ml_35{margin-left:35px !important;}
.ml_40{margin-left:40px !important;}
.ml_42{margin-left:42px !important;}
.ml_45{margin-left:45px !important;}
.ml_50{margin-left:50px !important;}