@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
html {overflow-y:scroll;font-size: 10px; height:100%;}  
body {line-height:1.8em;color: #333;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;margin:0; width:100%;position:relative;font-family:"Noto Sans JP", sans-serif;letter-spacing: 0.05em; background: #fff;padding:0;background: url(../images/bg.jpg) center/70% repeat;}
.home{padding: 0;}
h1,h2,h3,h4,h5,h6 {padding:0;margin:0;font-weight:inherit;font-size:inherit;color: inherit;}
p,ul,ol{padding:0;margin:0;text-align: justify;}
.cl:after { content: "";clear: both;display: block;}
.none{ display:none;}
div{ padding:0; margin:0; line-height: 1em;;}
img {border:0;border-style:none; width:100%;-ms-interpolation-mode: bicubic;-webkit-interpolation-mode: bicubic;}
a img:hover {opacity: 0.7 ;-webkit-transition: 0.7s;-moz-transition: 0.7s;-o-transition: 0.7s;transition: 0.7s;}
li {list-style-type:none;}
a {cursor: pointer; display: block;}
a:link {text-decoration: none; color:inherit; }
a:visited {text-decoration: none; color:inherit;}
a:hover {text-decoration: none; color: inherit;}
a:active {text-decoration: none; color:inherit;}
a,a:hover {-webkit-transition: 0.7s;-moz-transition: 0.7s;-o-transition: 0.7s;transition: 0.7s;}
::selection {background: #000;color: #fff;}
::-moz-selection {background: #000;color: #fff;}
.in,.in2{ padding:0 4%; max-width: 1400px; margin: auto; position: relative; height: 100%; width: 100%; box-sizing: border-box;}
.tr{-webkit-transition: 0.7s;-moz-transition: 0.7s;-o-transition: 0.7s;transition: 0.7s;}
.hdn{overflow: hidden;}
.pc{ display:block;}
.sp{ display:none;}
.on_pc{ display: block;}
.on_sp{ display: none;}
.blk{display: block;}
.tbl{display: table;}
.po_re{ position: relative;}
.po_ab{ position: absolute;}
.m00{border-radius: 800px;}
.m20{border-radius: 20px;}
.m10{border-radius: 10px;}
.m05{border-radius: 5px;}
.flx{ display: flex!important; flex-wrap: wrap;}
.flx_b{ display: flex !important; flex-wrap: wrap; justify-content: space-between;}
.flx_r{flex-direction: row-reverse;}
.flx_c{ display: flex!important; flex-wrap: wrap; align-items: center;}
.fw5{ font-weight: 500;}
.fw7{ font-weight: 700;}
.f_w{ color: #fff;}
.shdimg {-webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));}
.shdtx {text-shadow: 0 0 7px rgba(0, 0, 0, 0.5);}
.tt{ writing-mode: vertical-rl; white-space: nowrap;}
.fi {opacity : 0;transform : translate(0, 30px);transition : all 0.5s;}
.fi.scrollin {opacity : 1;transform : translate(0, 0);}
.fi2 {opacity : 0;transform : translate(-50px, 0);transition : all 1s;}
.fi2.scrollin {opacity : 1;transform : translate(0, 0);}
.fi3 {opacity : 0;transform : translate(-50px, -30px);transition : all 1s;}
.fi3.scrollin {opacity : 1;transform : translate(0, 0);}
/*header*/
.header{ position: fixed; top: 0; left: 0; width: 100%; z-index:100; box-sizing: border-box; padding: calc(40px + 5%) 5% calc(20px + 3%) 5%;}
.logo{ max-width: 320px; width: 25%;}
.hd_mnbx{ color: #fff;}
.hd_mn li a{line-height: 31px; font-size: 1.4rem; padding: 0 30px 0 0; letter-spacing: 0.05em;}
.hd_ml{ background:#ff0426; height: 31px; line-height: 31px; font-size: 1.3rem; padding: 0 15px; font-weight: 500;}
.smaller{background: #003e60;padding: 25px 5% 25px 5%;}

.smaller .logo{width: 15%;}

/*index*/
.mv { min-height: 520px;width: 100%;background: url(../images/mv.png) center bottom/cover; position:relative; padding:calc(50px + 11%) 0 calc(80px + 8%) 0;}
.mv_copy{ max-width: 190px;padding: calc(30px + 5%) 0 0 0; width:25%;}
.mv_copy2{ max-width: 450px;padding: calc(30px + 10%) 0 0 0; width:60%;}
.mv_img{ max-width: 750px;padding: calc(20px + 2%) 0 0 0; width:70%;}

.idx_itr{ padding: calc(70px + 6%) 0 calc(60px + 6%) 0; overflow: hidden;}
.idx_itr_txbx{ margin: auto; padding: 0 0 calc(9% + 50px) 0;}
.idx_itr_h1{ display: table; font-size: 2.4rem; font-weight: 800; line-height: 1.9em;height: 320px; word-break: break-all !important; white-space:nowrap;}
.idx_itr_h1 span{font-size: 0.7em; display: table; padding: 0 30px 0 0; font-weight: 400;}
.itr_li{width: 100%; }
.idx_itr .bx-wrapper,.idx_itr .bx-viewport{ width: 100%; display: block; overflow: hidden;}
.itr_li li{width: 13%;}
.itr_nws{max-width: 700px;background:#ff0426;margin:calc(20px + 5.5%) auto calc(50px + 7%) auto; padding: 10px 0; color: #fff;}
.itr_nws_nm{ width: 220px; text-align: center; font-size: 1.4rem; line-height: 1.3em;}
.itr_nws_tx{ width: calc(100% - 220px); text-align: center; border-left: 1px solid #fff; font-size: 1.4rem; line-height: 1.3em; box-sizing: border-box; padding: 25px 0 25px 20px;}
.idx_itr_copy{ background: url(../images/mid_bg.jpg) center/cover no-repeat; padding: calc(60px + 13%) 0;}
.idx_itr_cp{ font-size:2.4rem; line-height: 1em; margin: auto; font-weight: 800; letter-spacing: 0.08em; color: #fff;}

.idx_feat{ padding:0 0 calc(80px + 8%) 0;}
.idx_feat_bx{ padding: 0 0 calc(70px + 7%) 0;}
.idx_feat_img1{ width: 70%; margin: 0 -7% 0 0;}
.idx_feat_img2{ width: 70%; margin: 0 0 0 -7%;}
 .idx_feat_txb{ width: 28%;}
.idx_feat_txb_h2{ font-size: 2rem; line-height: 1em; font-weight: 700; color: #003e60;}
.idx_feat_txb_h2 span{ font-size: 0.7em; line-height: 1em; display: block; padding: 0 0 calc(15px + 0.4vw) 0; font-weight: 500;}
.idx_feat_txb_h3{padding: calc(45px + 3%) 0 calc(20px + 3%) 0; font-size: 2.2rem; line-height: 1.55em; font-weight: 700;}
.idx_feat_txb_p{ font-size: 1.4rem; line-height: 1.85em;}
.idx_feat_slider{ background: #f5ebe6; width: 80%;border-radius:50px 0 0 50px;padding: calc(20px + 2%) 0 calc(20px + 2%) calc(50px + 3%); margin: 0 0 0 auto; max-width: 1200px; box-sizing: border-box;}
.idx_feat_slider .bx-viewport,.idx_feat_slider .bx-wrapper{display: block; padding: 10px 0 0 0; position: relative;}
.idx_feat_sl img{padding: 0 0 10px 0;}
.idx_feat_sl h3{ font-size: 1.4rem; line-height: 1em;color: #003e60;}
.idx_feat_slider .bx-controls{ position: absolute; top:-15px; right: 30px; width: 33px;}
.idx_feat_slider .bx-controls-direction{ display: flex; justify-content: space-between; position: relative;}
.idx_feat_slider .bx-controls-direction:before{ display: block; position: absolute; width: 1px ; left: 50%; top: 15%; height:70%; content: ""; background:#003e60; }
.idx_feat_slider .bx-prev{ width: 5px; height: 12px; background: url(../images/type_prev.png) center/100% no-repeat; text-indent: -99999px;}
.idx_feat_slider .bx-next{ width: 5px; height: 12px; background: url(../images/type_next.png) center/100% no-repeat; text-indent: -99999px;}

.ctct{background: url(../images/ctct_bg.jpg) center/cover no-repeat; padding: calc(60px + 5%) 0;}
.ctct_ttl{ width: 290px;}
.ctct_in{ width: calc(100% - 310px); background: #fff; padding: calc(50px + 3%) 10px;}
.ctct_img{ width: 180%; margin: 0 0 0 -85%; position: absolute; bottom:calc(100% + 50px);}
.ctct_in1,.ctct_in2{ width: 50%; padding: 0 7%; box-sizing: border-box; }
.ctct_in2{border-left: 1px solid #000;}
.ctct_inttl{ font-size: 1.4rem; line-height: 1em; padding: 0 0 calc(20px + 3%) 0; text-align: center;}
.ctct_ml{ width: 210px; height: 33px; font-size: 1.2rem; line-height: 33px; margin: auto; text-align: center; background: #ff0426; color: #fff !important;}
.ctct_tel{color: #ff0426 !important; font-size: 2.2rem; line-height: 1em; padding: 0 0 10px 0; text-align: center; font-weight: 700; letter-spacing: 0.08em;}
.ctct_teltx{ text-align: center; line-height: 1em; font-size: 1.2rem;}
.idx_shp{padding: calc(60px + 5%) 0 calc(60px + 8%) 0;}
.idx_shp_img{ width: 80%; margin: 0 -18% 0 0 ; }

.idx_accs{padding:0 0 calc(60px + 6%) 0;}
#map_canvas{padding: calc(15px + 2%) 0 0 0; width: 100%; height: 100vw; max-height: 580px;}
#map_canvas iframe{width: 100%; height:100%; }
.idx_cpny{padding:0 0 calc(60px + 6%) 0;}
.idx_cpny_ttl{ width: 100px;}
.idx_cpny_bx{ width: calc(100% - 300px);}
.idx_cpny_li{ border-top: 1px solid #000; margin: 0 0 calc(10px + 2%) 0;}
.idx_cpny_li li{ border-bottom: 1px solid #000; padding: calc(20px + 3%) 0; display: flex; flex-wrap: nowrap; font-size: 1.4rem; line-height: 1.25em;}
.idx_cpny_li h3{ width: 200px; font-weight: 500;}
.idx_cpny_li p{width:calc(100% - 300px);}
.idx_cpny_lnk{color: #003e60; font-size: 1.2rem; text-align: right; display: block;}
.idx_cpny_up{ padding: 0 0 calc(70px + 5%) 0;}
.idx_cpny_btm{background: url(../images/rec_bg.jpg) center/cover no-repeat; padding: 8% 6%;}
.idx_rec_l{ width: 40%; color: #fff;box-sizing: border-box;}
.idx_rec_r{ width: 45%;background:#fff; padding: 8% 3%;box-sizing: border-box;}

.idx_ctct{ padding: 0 0 calc(60px + 8%)}

.idx_fm_wrap{ max-width: 650px; margin: auto; padding: calc(15px + 4%) 0 0 0;}
.idx_fm_bx{ padding: 0 0 calc(20px + 3%) 0;}
.idx_lbl{ font-size: 1.4rem; line-height: 1.2em; margin: 0 0 calc(10px + 1%) 0; display: block;}
.idx_fm_tx{ background: #fff; border: 1px solid #aaa; display: block; border-radius: 0; width: 100%; font-size: 1.6rem; line-height: 1em; padding:2%; box-sizing: border-box;}
.hissu:after{content: "*"; color: #ff0426; font-size: 1.4rem; font-weight: 900;}
.idx_fm_txa{  background: #fff; border: 1px solid #aaa; display: block; border-radius: 0; width: 100%; font-size: 1.6rem; line-height: 1em; padding:2%; box-sizing: border-box;  max-width: 100%; height: 250px;}
.idx_fm_chk{ width: 30px; height: 30px; border-radius: 30px !important;}
.fm_check span{line-height: 30px; font-size: 1.4rem;}
.fm_pp{ background: #fff; border:1px solid #aaa; padding: 4%; height: calc(150px + 7vw); overflow-y: scroll; font-size: 1.2rem; line-height: 1.7em; margin: 0 0 calc(30px + 2%) 0;}
.idx_fm_btn{ background: #ff0426; width: 210px; height: 38px; margin: auto; color: #fff; font-size: 1.4rem; line-height: 33px; display: block; border: none;}

/*footer*/
.footer{ line-height: 0; overflow: hidden;}
.footer .svg{ zoom:10;}
.ft_btm{ background: #003e60; margin: -5px 0 0 0; padding: calc(20px + 2%) 0 20px 0;}
.ft_l{ color: #fff;}
.ft_l h2{font-size: 2.2rem; font-weight:700; margin: 0 0 calc(15px + 2%) 0;}
.ft_l p{font-size: 1.2rem; line-height: 1.7em;}
.ft_li a{ color: #fff; font-size: 1.2rem; padding: 0 0 0 25px;}
/*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*/
@media screen and (max-width:1250px) {
	.hd_mn li a{ font-size: 1.25rem; padding: 0 15px 0 0;}
	.idx_shp_img{ width: 68%; margin: 0 -5% 0 0; }

}
/*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*/
@media screen and (max-width:1024px) {
	.hd_mn li a{ font-size: 1.1rem;}
	.idx_feat_img1{ width: 68%; margin: 0 -5% 0 0;}
	.idx_feat_img2{ width: 68%; margin: 0 0 0 -5%;}
	.idx_feat_txb{ width: 31%;}
	.idx_feat_txb_h2{ font-size: 1.9rem;}
	.idx_feat_txb_h3{font-size: 2.1rem;}
	
	.idx_shp_img{ width: 68%; margin: 0 -5% 0 0 ; }
	.ctct_img{ width: 110%; margin: 0 0 0 -15%;}
	
	.idx_cpny_bx{ width: calc(100% - 200px);}
	
}
/*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*/
@media screen and (max-width:768px) {
    .pc{ display:none !important;}
    .sp{ display:block !important;}
	.logo{ width: 35%;}
	.smaller{padding: 15px 5%;}
	.smaller .logo{width: 30%;}
	/* menu */
	/*burger*/
     
    *, *:before, *:after {padding: 0;margin: 0;box-sizing: border-box;}
    .cp_cont {height: 65vh;}
    .cp_offcm01 {display: inline-block;padding: 0 0 0 10px;}
    .cp_offcm01 .cp_menu {position: fixed;top: 0;right: -100vw;width:300px;height: 100%;cursor: pointer;-webkit-transition: 0.53s transform;transition: 0.53s transform;-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);transition-timing-function: cubic-bezier(.38,.52,.23,.99);background-color: #fff;opacity: 0.95;padding:25px 20px 0 20px;box-sizing: border-box;}
	.cp_offcm01 .cp_menu ul {margin: 0;padding: 0;}
	.cp_offcm01 .cp_menu li {list-style: none;}
	.cp_offcm01 .cp_menu li a ,.cp_offcm01 .cp_menu li p{display: block;text-decoration: none;}
	.cp_offcm01 #cp_toggle01 {position: absolute;display: none;opacity: 0;}
	.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {-webkit-transform: translateX(-100vw);transform: translateX(-100vw);}
	/* menu toggle */
	.cp_offcm01 #cp_toggle01 ~ label {display: block;padding: 0.5em;cursor: pointer;-webkit-transition: 0.5s transform;transition: 0.5s transform;text-align: center;color: #333333;}
	.cp_offcm01 #cp_toggle01:checked ~ label {-webkit-transform: translateX(-135px);transform: translateX(-135px); position: relative; z-index: 55;-webkit-transform: translateY(95vh);transform: translateY(95vh);}
	.cp_offcm01 #cp_toggle01 ~ label::before {content: '';background: url(../images/bag_off.png) center/100% no-repeat;display: block;width: 18px; height: 18px;}
	.cp_offcm01 #cp_toggle01:checked ~ label::before {content:'CLOSE';background: none; width: 270px; border: 1px solid #ccc; position: absolute; margin: -270px; line-height: 40px; height: 40px; bottom: 300px;}
	/* contents */
	.cp_contents {color: #333333;text-align: center;}
    .hd_menu2{padding: 8%;}
    .hd_menu2 li{ width: 100%;border-bottom: 1px solid #ccc;}
    .hd_menu2 li a{ padding: 11% 0; font-size: 1.6rem; line-height: 1em; color: #222;}
	.hd_menu2 li p{ padding: 11% 0; font-size: 1.6rem; line-height: 1em; color: #222;}
	.hd_mn2_in a{ font-size: 1.4rem !important; padding: 6% 0 !important;}
	
	/*index*/
	.idx_itr .bx-wrapper,.idx_itr .bx-viewport{ width: 150%;}
	.idx_itr_cp{ font-size:2.2rem;}
	
	
	.idx_feat_txb_h2{ font-size: 1.7rem;}
	.idx_feat_txb_h3{font-size: 1.85rem;}
	.idx_feat_slider{ width: 95%;padding: calc(20px + 2%) 0 calc(20px + 2%) calc(40px + 3%);}
	
	.ctct_ttl{ width: 190px;}
	.ctct_in{ width: calc(100% - 210px); background: #fff; padding: calc(50px + 3%) 10px;}
	.ctct_in{ padding:0 calc(20px + 2%); box-sizing: border-box;}
	.ctct_in1,.ctct_in2{ width:100%; padding:10%; box-sizing: border-box; }
	.ctct_in2{border-left: none; border-top: 1px solid #000;}
	
	.idx_cpny_bx{ width: calc(100% - 140px);}
	.idx_cpny_li li{ font-size: 1.25rem;}
	
	.idx_rec_l{ width: 50%; }
	.idx_rec_r{ width: 45%;}
	.footer .svg{ zoom:8;}
	
	.ft_l h2{font-size: 2rem;}
	.ft_l p{font-size: 1.1rem;}
	
	.ft_li a{ color: #fff; font-size: 1.05rem; padding: 0 0 0 15px;}

}
/*▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*/
@media screen and (max-width:620px) {
    .in{ padding:0 5%;}
    .on_pc{ display: none !important;}	
    .on_sp{ display:block !important;}
	.logo{ width: 42%;}
	.hd_ml{  height: 23px; line-height: 23px; font-size: 1.15rem; padding: 0 10px;}
    /*header*/
	
   
    
    /*index*/
	.mv_copy{ padding: calc(30px + 5%) 5% 0 0; width:32%;}
	.mv_copy2{ padding: calc(70px + 10%) 0 0 0;}
	.mv_img{ width:90%;margin:calc(-80px - 15%) auto 0 0;}
	.idx_itr_h1{ font-size: 2.2rem;}
	.idx_itr .bx-wrapper,.idx_itr .bx-viewport{ width: 280%;}
	
	.itr_nws{margin:calc(20px + 5.5%) auto calc(50px + 7%) auto; padding: 10px;}
	.itr_nws_nm{ width:100%; text-align: center; font-size: 1.4rem; line-height: 1.3em; padding:5px 0 15px 0;}
	.itr_nws_tx{ width: 100%; text-align: left; border-left: none; border-top: 1px solid #fff;}
	.idx_itr_cp{ font-size:2rem;}
	
	.idx_feat_img1{ width: 100%; margin: 0 0 calc(20px + 2%) 0;}
	.idx_feat_img2{ width: 100%; margin: 0 0 calc(20px + 2%) 0;}
	.idx_feat_txb{ width: 100%;}
	.idx_feat_txb_h3{padding: calc(18px + 3%) 0 calc(10px + 2%) 0; font-size: 2.2rem; line-height: 1.55em; font-weight: 700;}
	.idx_feat_slider{ padding: calc(20px + 1%) 0 calc(20px + 1%) calc(20px + 2%); border-radius: 25px 0 0 25px;}
	.idx_feat_sl2 li{padding: 0 0 15px 0;}
	.idx_feat_sl2 img{padding: 0 0 15px 0;}
	.idx_feat_sl2 h3{ font-size: 1.4rem; line-height: 1em;color: #003e60;}
	
	.ctct{ padding:0 0 calc(60px + 5%) 0;}
	.ctct_ttl{ width:100%; margin: -40px 0 30px 0; padding: calc(10px + 2%) 0 0 0;}
	.ctct_in{ padding: 0 6%; width: 100%; }
	.ctct_img{ width: 80%; margin: 0 0 15px -7%; position: relative;bottom: auto;}
	.idx_shp_img{ width: 100%; margin:calc(15px + 2%) 0 0 0;}
	
	.idx_cpny_bx{ width:100%; padding: calc(20px + 4%) 0 0 0;}
	.idx_cpny_li li{ font-size: 1.25rem;}
	.idx_cpny_li h3{ width:100px; font-size: 1.05rem; font-weight: 700;}
	.idx_cpny_li p{width:calc(100% - 110px);}
	
	.idx_cpny_btm{ padding: 10% 7%;}
	.idx_rec_l{ width: 100%;margin: 0 0 calc(15px + 1%) 0;}
	.idx_rec_r{ width: 100%; padding: 12% 4%;}
	
	.footer .svg{ zoom:6;}
	
	.ft_l{  width: 100%; margin: 0 0 50px 0;}
	.ft_li{ width: 100%; justify-content: space-between;}
	.ft_li li{  width: 45%; border-top: 1px solid #fff; text-align: center;}
	.ft_li a{ color: #fff; padding:  20px 0;}
	}