@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* フォント */
.shuei{font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 400;font-style: normal;}
.shuei_b{font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;}

/* アルファベット用 */
.montserrat_b{font-family: "montserrat", sans-serif;font-weight: 700;font-style: normal;}
.montserrat_ib{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}

/* 汎用 */
html {scroll-behavior: smooth;}
body{font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 400;font-style: normal;background:#fff;}
.no-sidebar .content .main,.main{padding-left:0;padding-right:0;}
table tr:nth-of-type(2n+1){background-color:rgba(0,0,0,0);}
ul{list-style-type:none;}
.body aside.widget{margin-bottom:0;}
.content{margin-top:0;}
.main{padding:0;}
.entry-content,.body .article,.entry-content>*{margin-top:0;margin-bottom:0;}
.home .entry-title{display:none;}
.outline{width:100%;max-width:1100px;margin:0 auto;}
.inline{width:100%;max-width:880px;margin:0 auto;}
.article p{margin-bottom:0;}
video{object-fit: cover;height: 100vh;width: 100%;}
.t_b{font-weight:bold}

/* グローバルナビゲーション */
.logo img{width:100%;}
#main_gnavi{background:rgba(255,255,255,0);}
#navi-in{display:flex;justify-content:space-around;align-items: center;}
.gnav_ctt{display:block;width:100%;max-width:198px;}
.fixed-header{box-shadow:none;}
.fixed-header .site-logo-image{width:100%;}

/* 本サイトメガメニュー用 */
nav.main_nav{background:#fff;color:#222222;text-align: center;border-radius: 5px;}

/*ナビゲーションを横並びに*/
nav.main_nav ul{
    /*2階層目の基点にするためrelativeを指定*/
	position: relative;
	list-style: none;display: flex;justify-content: center;
	padding: 0 1rem;
}

/*2階層目以降は横並びにしない*/
nav.main_nav ul ul{display: block;}

/*ナビゲーションのリンク設定*/
nav.main_nav ul li a{
    /*矢印の基点にするためrelativeを指定*/
	position: relative;
	display: block;
	text-decoration: none;
	color: #222;
	padding: 20px 1vw;
	transition:all .3s;
	font-size: clamp(14px,1vw, 16px);
}

nav.main_nav ul li a .fas{font-size:12px;}

nav.main_nav ul li li a{padding:20px;}
nav.main_nav ul li a:hover{color:#009fe5;}
#main_gnavi .navi-in a:hover{background: rgba(255, 255, 255, 0);}

/*==2階層目以降の画像設定*/

nav.main_nav ul li.has-child img{width:100%;max-width: 155px;height: auto;transition: all .5s;vertical-align: bottom;}
nav.main_nav ul li.has-child ul a{color:#fff;text-align:left;padding:5px 0;}
nav.main_nav ul li.has-child ul a span{display:block;position:relative;}
nav.main_nav ul li.has-child ul a span:before{position:absolute;content:"";background:url(images/arr_navi.svg) no-repeat top left;top:50%;right:26px;background-size:100% auto;width:14px;height:14px;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}


/*== 2層目の設定 */

nav.main_nav li.has-child ul{
  /*絶対配置で位置を指定*/
	position: absolute;
	left:5%;
	top:69px;
	z-index: 4;
  /*子要素を横並びに*/    
	justify-content: space-between;
	flex-wrap: wrap;
    /*形状を指定*/
	background:rgba(255,255,255,0);
	width:100%;
	max-width:600px;
    /*はじめは非表示*/
	display: none;
	visibility: hidden;
	opacity: 0;
     /*アニメーション設定*/
	transition: all .3s;
}

nav.main_nav li.has-child ul div.hide{display:flex;justify-content:space-around;background:#009fe5;width:100%;border-radius: 12px;padding: 1rem;}
nav.main_nav li.has-child ul div.hide div{width:100%;max-width:32%;}
nav.main_nav li.has-child ul div.hide div a:hover{background:rgba(255,255,255,0);}

/*hoverしたら表示*/
nav.main_nav li.has-child:hover > ul{display:flex;visibility: visible;opacity: 1;padding: 1rem 0 0;}


/*ナビゲーションaタグの形状*/
nav.main_nav li.has-child ul li a{color: #fff;}
nav.main_nav li.has-child ul li a:hover,nav.main_nav li.has-child ul li a:active{background:;}


nav.main_nav ul li a.lp_btn{background:#003991;color:#fff;border-radius:50px;padding: 8px 25px;display: block;height: auto;margin: 12px auto 0;}
#main_gnavi .navi-in a.lp_btn:hover{background:#000;color:#fff;}
.navi-in a.gnav_ctt{max-width: 9vw;}
.navi-sp-in{display:none;}
.header-container-in.hlt-top-menu .logo-header{max-width:20vw;}

/* header */
.header-container-in.hlt-top-menu .navi{width: 100%;min-width: 73vw;max-width: 74vw;}

/* footer */
.footer{margin-top:0;}
#main_footer{padding:6rem 0 0;background-color:hsla(211,87%,18%,1);
background-image:radial-gradient(at 99% 97%, hsla(200,100%,34%,1) 0px, transparent 50%),radial-gradient(at 0% 0%, hsla(211,84%,0%,1) 0px, transparent 50%)}
.ft_bx01{text-align:center;border-bottom:1px solid #fff;width:100%;max-width:90vw;margin:0 auto 7rem;padding:0 0 2rem;}
.ft_bx01 span{font-size:60px;font-size: clamp(20px,5vw, 60px);}

.ft_bx03{margin:0 0 3rem;}

.ft_bx05{}
.ft_bx05 a{color: #fff;text-decoration: none;background: #e20011;display: block;text-align: center;width: 200px;padding: 8px;}
.ft_bx06{width: 100%;max-width: 40%;}
.ft_bx07{}
.ft_bx07 a{color:#fff;text-decoration:none;}
.ft_bx07 ul li{padding:1rem 0 0;}
.ft_bx08{margin:0 auto 7rem;}
.ft_bx09{display:flex;justify-content:flex-start;margin: 2rem 0 0 3%;}
.ft_bx09 a{display:block;margin: 0 5% 0 0;}

.go-to-top-button{width:120px;height:120px;}

/* footer-widget */
.footer-bottom{margin-top:5px;}
#footer-in{background:#fff;border-radius:60px 60px 0 0;}
aside.widget{margin-bottom:0;}

.mainfooter{width:100%;max-width:60%;margin:2rem auto 0;display:flex;justify-content:space-around;}

/* footer widget */
.footer-left, .footer-right{display:none;}
.footer-center{width:100%;}

/* flex関連 */
.fx{display:flex;}
.fx_ard{display:flex;justify-content:space-around;}
.fx_btw{display:flex;justify-content:space-between;}
.fx_end{display:flex;justify-content:flex-end;}
.fx_stt{display:flex;justify-content:flex-start;}
.fx_ctr{display:flex;justify-content:center;}
.fx_wrp{flex-wrap:wrap;}
.fx_rwrp{flex-wrap:wrap-reverse;}
.fx_rvs{flex-direction:row-reverse;}
.actr{align-items:center;}
.astr{align-items:flex-start;}
.aend{align-items:flex-end;}
.abas{align-items:baseline;}

/* grid関連 */
.grid{display: grid;grid-template-rows: 100vh;grid-template-columns:33% 34% 33% 1fr;margin: 7rem 0;}

/* display関連 */
.pc_none{display:none;}
.sp_none{display:block;}
.d_b{display:block;}
.d_ib{display:inline-block;}

.pc_br{display:block;}
.sp_br{display:none;} 

/* 文字サイズ */
.fs_10{font-size: 10px;}
.fs_11{font-size: 11px;}
.fs_12{font-size: 12px;}
.fs_13{font-size: 13px;}
.fs_14{font-size: 14px;}
.fs_15{font-size: 15px;}
.fs_16{font-size: 16px;}
.fs_17{font-size: 17px;}
.fs_18{font-size: 18px;}
.fs_19{font-size: 19px;}
.fs_20{font-size: 20px;}
.fs_22{font-size: 22px;}
.fs_23{font-size: 23px;}
.fs_24{font-size: 24px;}
.fs_25{font-size: 25px;}
.fs_26{font-size: 26px;}
.fs_27{font-size: 27px;}
.fs_28{font-size: 28px;}
.fs_29{font-size: 29px;}
.fs_30{font-size: 30px;}
.fs_32{font-size: 32px;}
.fs_34{font-size: 34px;}
.fs_35{font-size: 35px;}
.fs_36{font-size: 36px;}
.fs_40{font-size: 40px;}
.fs_42{font-size: 42px;}
.fs_43{font-size: 43px;}
.fs_44{font-size: 44px;}
.fs_45{font-size: 45px;}
.fs_47{font-size: 47px;}
.fs_48{font-size: 48px;}
.fs_49{font-size: 49px;}
.fs_50{font-size: 50px;}
.fs_52{font-size: 52px;}
.fs_53{font-size: 53px;}
.fs_55{font-size: 55px;}
.fs_56{font-size: 56px;}
.fs_58{font-size: 58px;}
.fs_60{font-size: 60px;}
.fs_66{font-size: 66px;}
.fs_68{font-size: 68px;}
.fs_77{font-size: 77px;}
.fs_80{font-size: 80px;}
.fs_87{font-size: 87px;}

.fz-36px{font-size: clamp(22px, 6vw, 36px);}

.ctr{text-align: center;}
.right{text-align: right;}
.left{text-align:left;}
.tate{-webkit-writing-mode: vertical-rl;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;}

/* カラー関連 */
.c_bk{color:#000;}
.c_wh{color: #fff;}

.c_red{color: #ce3000;}
.c_rd{color: #e22213;}

.c_or{color:#ff6b06;}
.c_or02{color:#ff9538;}

.c_bl{color:#174E9E;}
.c_bl02{color:#182e79;}
.c_bledw{color:#00529c;}
.c_nv{color:#0B2C3E;}

.c_ye{color:#f7c400;}
.c_ye02{color:#e5b500;}

.c_pk{color:#ed7a94;}
.c_pnk{color:#c64379;}
.c_ppl{color:#4d008a;}
.c_gld{color:#c4982c;}

.c_gry{color:#B2B2B2;}
.c_gry02{color:#9c9c9c;}

.c_grn{color:#80c158;}
.c_grn02{color:#01e6ba;}

.c_brw{color:#59493C;}

/* 背景色 */
.c_back01{background:#F3FBFF;padding: 6rem 0;}
.c_back01_a{background:#F3FBFF;padding: 3rem 0;margin: 0 auto 7rem;}
.c_back02{background:#fff9e1;}
.c_back03{background:#062d59;padding:5rem 0;}


/* コンテンツ */
.phead{width: 100%;max-width: 1250px;margin:4rem auto 0;line-height: 1.5;}
.phead h2{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;font-size:70px;font-size: clamp(36px,4vw, 70px);color:#009fe5;}
.phead h2 span{display:block;position:relative;font-size:20px;font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;padding:0 0 0 20px;color:#222222;}
.phead h2 span:before{position:absolute;content:"●";color:#e20011;font-size: 15px;left: 2px;top: 50%;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.hd_btm{margin:0 auto 7.3rem;}
.page .date-tags {display: none;}
.fa-clock{display:none;}

.mds_bx01{font-size:28px;font-weight: 600;}
.mds_bx01 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}
.mds_bx02{font-size:clamp(30px,5vw,36px);font-weight: 600;margin: 8rem auto 3rem;}
.mds_bx02 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}
.mds_bx03{font-size:clamp(30px,5vw,36px);font-weight: 600;text-align:center;margin:0 auto 3rem;}
.mds_bx03 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}
.mds_bx04{font-size:28px;font-weight: 600;margin:0 auto 2rem;}
.mds_bx04 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}

.mds_01{}
.article .mds_01 h3{font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;color:#009FE5;font-size:24px;border:none;margin: 0 auto .5rem;}

.article .con_bx10 h4{border-top:2px solid #009FE5;border-bottom:2px solid #009FE5;margin: 2rem auto 1rem;}

/* パンくず */
.breadcrumb{text-align: right;width: 100%;max-width: 1100px;margin: 1em auto -1rem;color:#cccccc;position: relative;}
.breadcrumb a{color:#cccccc;}

/* コンテンツボトム */
.content-bottom{margin:0;}
#custom_html-4{background:url(images/cb_bg01.webp) no-repeat top left;background-size:cover;padding: 17rem 0 7rem;overflow: hidden;}

.main_c_btm01{display:flex;justify-content:space-around;width:100%;max-width:70vw;align-items:center;background:#fff;margin: 0 0 0 30vw;padding: 6rem 10rem 5rem 3rem;filter: drop-shadow(2px 4px 5px rgba(87, 187, 255, .3));}
.main_c_btm02{width: 100%;max-width: 475px;}
.main_c_btm03{font-size: clamp(28px,2vw, 40px);font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;}
.main_c_btm03 span{display:block;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;color:#e20011;font-size:18px;}
.main_c_btm03 p{font-size:16px;margin: 3rem 0 0;}
.main_c_btm04{width:100%;max-width:412px;}
.main_c_btm04 a{text-decoration:none;}
.main_c_btm05 a{background: #e20011;color: #fff;padding: 1rem 0;display: block;text-align: center;border-radius: 10px;font-size: 20px;margin: 0 auto 3rem;position:relative;}
.main_c_btm05 a:after{position:absolute;content:"\f0da";font-family: "Font Awesome 5 Free";font-weight: 900;right:3rem;}
.main_c_btm06{}
.main_c_btm06 a{font-size: clamp(28px,2vw, 42px);font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;color:#e20011;line-height: 1.3;display: flex;justify-content: center;align-items: center;}
.main_c_btm06 img{width:100%;max-width:43px;margin: 0 0.5rem 0 0;}
.main_c_btm06 span{display:block;font-size:17px;font-weight:bold;text-align:center;width:100%;}
.main_c_btm07{font-weight:bold;text-align:center;}

/* front */
.video-section{height:100vh;position:relative;margin: 0 0 4rem;}
.video-section:before{position:absolute;content:"";top:0;left:0;background: rgb(255,255,255);
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(245,251,254,0.22) 38%, rgba(0,159,229,0.50) 100%);width:100%;height:100vh;}

/* アニメーション */

@keyframes anim {
    0% {transform: translateY(400px);}
    100% {transform: translateY(0%);}
}

.animate-box {width: 780px;height: 100px;position: absolute;bottom: 35%;left:8%;font-size: clamp(36px,8vw, 78px);color:#e20011;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;line-height: 1.2;letter-spacing: 11px;overflow:hidden;}

.animate-box02 {width: 780px;height: 100px;position: absolute;bottom: 25%;left:8%;font-size: clamp(36px,8vw, 78px);color:#e20011;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;line-height: 1.2;letter-spacing: 11px;overflow:hidden;}

.animate-box03 {width: 780px;height: 50px;position: absolute;bottom: 20%;left:8%;font-size:clamp(24px,5vw,26px);color:#ffffff;font-weight: 600;line-height: 1.2;letter-spacing: 11px;overflow:hidden;}

.front_bg01{background:url(images/top_bg01.webp) no-repeat top 4rem right;background-size:55% auto;}
.front_bg02{background:url(images/top_bg02.webp) no-repeat top left;background-size:100% auto;padding: 7rem 0;width: 100%;max-width: 65%;align-self: flex-end;}
.front_bg03{background:url(images/top_bg03.webp) no-repeat top left;background-size:cover;padding:7rem 0;color:#fff;margin: 7rem 0;}
.front_bg04{background:url(images/top_bg04.webp) no-repeat top left;background-size:cover;padding:7rem 0;margin:0;}

.front_txt01{animation: anim 1s 1 linear;transform: translateY(0);}
.front_txt02{animation: anim 1.5s 1 linear;transform: translateY(0);}

article ul.news_list{margin-bottom: 0;padding-left:0;}
.news_date{display:block;}
.news_title{border-bottom:1px solid #cccccc;position:relative;padding: 0 0 .3rem;display:block;}
.news_title a{color:#333;text-decoration:none;}
.news_title:before{position:absolute;content:"";background:url(images/arr_01.svg) no-repeat top left;background-size:100% auto;width:53px;height:10px;top:40%;right:0;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}

.front_01{display: block;position: absolute;bottom: 3.5rem;right: 0;background: #ffffff;margin-bottom: 0;width: 100%;max-width: 550px;box-sizing: border-box;padding:1rem;}
.front_02{width: 100%;max-width: 1020px;margin: 0 auto 7rem;}
.front_03{width:100%;max-width:1500px;margin:-3rem auto 2rem;height:590px;position: relative;}
.front_04{width:100%;max-width:500px;}
.front_05{font-weight:600;font-size: clamp(24px,2.5vw, 36px);}
.front_05 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}
.front_06{text-align: justify;}
.front_06 span{display:block;font-weight:600;font-size:40px;font-size: clamp(28px,3vw, 40px);
	;color:#e20011;line-height: 1.5;margin: 2rem 0;}
.front_07{width: 100%;max-width: 690px;align-self: flex-end;}
.front_07 img{filter: drop-shadow(2px 7px 10px rgba(87, 187, 255, .7));margin: 0 1rem 2rem;}

.front_06 a{display:block;width:100%;max-width:260px;text-align:center;position:relative;color:#fff;background:#009FE5;border-radius:50px;padding:13px 0;text-decoration:none;margin: 2rem 0 0;transition:.5s;border:1px solid #009FE5}
.front_06 a:before{position:absolute;content:"\f0da";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.front_06 a:hover{background:#fff;color:#009FE5;border:1px solid #009FE5;}
.front_06 a:hover:before{color:#009FE5;}

.front_08{width: 100%;max-width: 1500px;margin: 3rem auto 7rem;}
.front_09{width: 100%;max-width: 565px;}
.front_10{height: 800px;}
.front_11{width: 100%;max-width: 70%;background: #f2fafe;margin: 0 auto;padding: 4% 4vw;}
.front_12{background: #fff;width: 100%;max-width: 360px;font-size:28px;font-weight:600;text-align:center;color:#009fe5;line-height: 1.2;padding: 6px;}
.front_12 span{font-size:48px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;padding: 0 5px;}
.front_13{font-weight:600;font-size: clamp(26px,2.5vw, 40px);line-height: 1.5;margin: 2rem 0;}
.front_13 span{display:block;font-size:16px;font-weight:400;margin: 2rem 0 0;line-height: 1.8;}
.front_13 a{display:block;width:100%;font-size:16px;max-width:260px;text-align:center;position:relative;color:#fff;background:#009FE5;border-radius:50px;padding:13px 0;text-decoration:none;margin: 2rem 0 0;transition:.5s;border:1px solid #009FE5}
.front_13 a:before{position:absolute;content:"\f0da";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.front_13 a:hover{background:#fff;color:#009FE5;border:1px solid #009FE5;}
.front_13 a:hover:before{color:#009FE5;}
.front_14{position: relative;z-index: 2;margin: 0 0 0 -12rem;width: 100%;max-width:40.6vw;align-self: center;}
.front_14 img{width:100%;}
.front_15{width:100%;max-width:512px;}
.front_15 span{display:block;font-size:64px;font-size: clamp(36px,4vw, 64px);font-weight:600;margin: 0 auto 4rem;line-height: 1.5;}
.front_16{width: 100%;max-width: 1050px;margin: 6rem auto 0;}
.front_17{width:100%;max-width:1500px;margin:0 auto;}
.front_18{background:#ffffff;padding: 3rem 0 3rem 4rem;box-sizing: border-box;width: 100%;max-width: 49%;}
.front_19{margin:0 0 1rem;}
.front_19 span{background: #148cd5;color: #fff;padding: .5rem;font-size:clamp(18px,5vw,32px);font-weight: 600;}
.front_20{width:100%;max-width:490px;font-weight:600;}
.front_20 span{display:block;font-size:60px;font-size: clamp(36px,4vw, 60px);color:#062d59;}
.front_20 a{display:block;width:100%;font-size:16px;max-width:260px;text-align:center;position:relative;color:#fff;background:#148cd5;border-radius:50px;padding:13px 0;text-decoration:none;margin: 2rem 0 0;transition:.5s;border:1px solid #148cd5;}
.front_20 a:before{position:absolute;content:"\f35d";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.front_20 a:hover{background:#fff;color:#000000;border:1px solid #000000;}
.front_20 a:hover:before{color:#000000;}

.front_21{width: 100%;max-width: 88%;}
.front_22{grid-row:1 / 2;grid-column:2 / 3;}
.front_23{width: 100%;max-width: 240px;margin: 7rem auto;text-align: center;border: 1px solid #cccccc;padding: 3rem 0;position:relative;}
.front_23:before{position:absolute;content:"";top:-6.5rem;left:0;width:100%;height:92px;background:url(images/t_line_u.svg);background-size:100% auto;}
.front_23:after{position:absolute;content:"";bottom: -6.5rem;left:0;width:100%;height:92px;background:url(images/t_line_d.svg);background-size:100% auto;}
.front_24{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;font-size:18px;color:#e20011;margin:0 0 1rem;}
.front_25{margin:0 auto;font-weight:600;font-size:36px;font-size: clamp(20px,2vw, 36px);}
.front_26{width: 100%;max-width: 420px;margin: 0 auto;}
.front_26 span{display:block;color:#e20011;text-align:center;font-weight:600;font-size:40px;font-size: clamp(28px,2vw, 40px);margin:0 0 2rem;}
.front_26 a{display:block;width:100%;font-size:16px;max-width:260px;text-align:center;position:relative;color:#fff;background:#009FE5;border-radius:50px;padding:13px 0;text-decoration:none;margin:2rem auto 0;transition:.5s;border:1px solid #009FE5}
.front_26 a:before{position:absolute;content:"\f0da";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.front_26 a:hover{background:#fff;color:#009FE5;border:1px solid #009FE5;}
.front_26 a:hover:before{color:#009FE5;}
.front_27{text-align:right;}
.front_27 a{color:#333;text-decoration:none;font-weight:700;}
.news01{color:#148cd5;font-weight:700;font-size:18px;}

/************************************
 フロントアニメーション
*************************************/

/* 文字スライダーループ */
.loop_wrap {display: flex;width: 100%;height: 180px;overflow: hidden;}
.loop_wrap div {flex: 0 0 auto;white-space: nowrap;font-size: clamp(120px,9vw, 174px);overflow: hidden;font-family: "montserrat", sans-serif;font-weight: 700;font-style: normal;color:#f2fafe;line-height: 1;}
.loop_wrap div:nth-child(odd) {animation: loop 50s -25s linear infinite;}
.loop_wrap div:nth-child(even) {animation: loop2 50s linear infinite;}

/* 文字スライダーループ */
.loop_wrap02 {display: flex;width: 100%;height: 320px;overflow: hidden;}
.loop_wrap02 div {flex: 0 0 auto;white-space: nowrap;overflow: hidden;}
.loop_wrap02 div img{margin:0 1rem 0 0;}
.loop_wrap02 div:nth-child(odd) {animation: loop 50s -25s linear infinite;}
.loop_wrap02 div:nth-child(even) {animation: loop2 50s linear infinite;}

@keyframes loop {
    0% {transform: translateX(100%);}
    to {transform: translateX(-100%);}
}

@keyframes loop2 {
    0% {transform: translateX(0);}
    to {transform: translateX(-200%);}
}

/* フロント日本地図 */
.map {position: relative;width: 50%;height:80vh;background: #fff;overflow: hidden;}

/* 画像が入る場合 */
.japan-map>img {display:block;object-fit:contain;border:1px solid red;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -55%);width:670px;height:555px;background: url('images/jpn_map.svg') center center no-repeat;z-index: 2;background-size:contain;}
.japan-map {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width:100%;height:555px;background: url('images/jpn_map.svg') center center no-repeat;z-index: 2;background-size:contain;}
.ripple {position: absolute;top: 55%;left: 52%;transform: translate(-50%, -50%);width:50px;height:50px;background: rgba(199, 199, 199, 0.85);border-radius: 50%;animation: ripple 4s linear infinite;}
.ripple:nth-child(2) {animation-delay: 1s;}
.ripple:nth-child(3) {animation-delay: 2s;}

/* 円の動き */
@keyframes ripple {
	0% {width: 50px;height: 50px;opacity: 0.85;}
	33% {width: 200px;height: 200px;opacity: 0.55;}
	66% {width: 350px;height: 350px;opacity: 0.25;}
	100% {width: 600px;height: 600px;opacity: 0;}
}

/* ホバーエフェクト */
.snip1361 {position: relative;overflow: hidden;margin: 10px;min-width: 230px;max-width: 302px;width: 100%;}
.snip1361 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
.snip1361 img {max-width: 100%;vertical-align: top;filter: drop-shadow(1px 4px 9px rgba(87, 187, 255, .15));}
.snip1361 figcaption {position: absolute;top: calc(82%);width: 100%;background-color: #009fe5;padding: 15px 25px 65px;}
.snip1361 figcaption:before {position: absolute;content: '';z-index: 2;bottom: 100%;left: 0;width: 100%;height: 100%;background-image: -webkit-linear-gradient(top, transparent 0%, #009fe5 100%);background-image: linear-gradient(to bottom, transparent 0%, #009fe5 100%);
}
.article .snip1361 h3,.snip1361 p {color: #fff;}
.article .snip1361 h3 {text-transform: uppercase;border: none;margin: 0;padding: 0;font-family: "montserrat", sans-serif;font-weight: 700;font-style: normal;font-size:32px;}
.snip1361 p {letter-spacing: 1px;font-size: 18px;font-weight:600;}
.snip1361 a {position: absolute;top: 0;bottom: 0;left: 0;right: 0;z-index: 2;}
.snip1361:hover figcaption,.snip1361.hover figcaption {top: 210px;}

/* 下から上に流れるスライダー */
.u_t_slide{overflow:hidden;height: 100vh;display: flex;justify-content: flex-start;grid-row:1 / 2;grid-column:1 / 2;position:relative;}
.u_t_slide:before{position:absolute;content:"";bottom:0;left:0;background: rgb(255,255,255);background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(245,251,254,0.22) 38%, rgba(0,159,229,0.50) 100%);width: 100%;height: 35vh;z-index: 99;}
.u_t_slide:after{position:absolute;content:"";top:0;left:0;background: rgb(255,255,255);background: rgb(0,159,229);background: linear-gradient(180deg, rgba(0,159,229,.8) 0%, rgba(245,251,254,0.3) 38%, rgba(255,255,255,0) 100%);width: 100%;height: 35vh;z-index: 99;}
.u_t_slide02{overflow:hidden;height: 100vh;display: flex;justify-content: flex-start;grid-row:1 / 2;grid-column:3 / 4;position:relative;}
.u_t_slide02:before{position:absolute;content:"";bottom:0;left:0;background: rgb(255,255,255);background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(245,251,254,0.22) 38%, rgba(0,159,229,0.50) 100%);width: 100%;height: 35vh;z-index: 99;}
.u_t_slide02:after{position:absolute;content:"";top:0;left:0;background: rgb(255,255,255);background: rgb(0,159,229);background: linear-gradient(180deg, rgba(0,159,229,.8) 0%, rgba(245,251,254,0.3) 38%, rgba(255,255,255,0) 100%);width: 100%;height: 35vh;z-index: 99;}
.f_cta_sl01{margin-right: 2%;animation: infinity-scroll-top 120s infinite linear 0.5s both;width:48%;height:2928px;}
.f_cta_sl02{margin-left: 2%;animation: infinity-scroll-top 145s infinite linear 0.5s both;width:48%;height:2928px;}
.f_cta_sl03{margin-right: 2%;animation: infinity-scroll-top 120s infinite linear 0.5s both;width:48%;height:2928px;}
.f_cta_sl04{margin-left: 2%;animation: infinity-scroll-top 145s infinite linear 0.5s both;width:48%;height:2928px;}
.ft_cta .fwk_img {width: 100%;;margin-bottom: 25px;}
.fwk_img{margin-bottom:1rem;}
@keyframes infinity-scroll-top {
  0% {transform: translateY(0%);}
  to {transform: translateY(-100%);}
}

.img_cover.p_ab {top: 0;bottom: 0;left: 0;right: 0;margin: auto;}
.img_cover {width: 100%;height: 100%;object-fit: cover;}

/* フロントリクルート */

.front_rec01{display:block;background:url(images/top_bg05.webp) no-repeat top left;background-size:cover;width:100%;max-width:1500px;margin:7rem auto;padding: 8rem 0 8rem 8rem;color: #fff;text-decoration:none;}
.front_rec01:hover{color:#fff;}
.front_rec02{font-size: clamp(32px,3vw, 46px);font-weight:600;}
.front_rec03{font-size: 14px;color: #e20011;display: block;}
.front_rec04{font-size:18px;font-weight:600;border-bottom:1px solid #fff;padding:0 0 5px;}

/* 会社案内 */
.com_01{margin: 0 auto 5rem;}
.com_01 a{display:block;width:100%;max-width:22%;text-decoration:none;border: 1px solid #009FE5;text-align: center;border-radius: 50px;margin: 0 0.5rem 2rem;padding: .6rem 0;transition:.4s;}
.com_01 a:hover{border:1px solid #009FE5;background:#009FE5;color:#fff;}
.com_02{font-size:32px;font-weight:600;margin:3rem 0;}
.com_03{}
.com_03 span{display:block;text-align:right;margin: 4rem 0 0;}
.com_04{font-size:clamp(22px,5vw,32px);font-weight:600;}
.com_04 span{color:#009FE5;}
.com_05{width:100%;max-width:680px;margin:5rem auto;}
.com_06{font-size:24px;font-weight:600;}
.com_07{width:100%;max-width:900px;margin:0 auto;}

.eigyousho{color:#009FE5;font-weight:600;font-size:18px;padding:1rem 0;}


/* 反社会的勢力ではない */
.ag_bx01{margin: 8rem auto 3rem;font-weight: 600;font-size:clamp(26px,5vw,36px);text-align:center;}
.ag_bx01 span{display:block;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;color:#e20011;font-size:18px;}

.ag_bx03{margin: 4rem auto 2rem;}
.ag_bx03 p,.ag_bx04 p{display:none;}
.ag_bx04{margin: 0 auto 7rem;}

/* お問い合わせ */
.c_kome{color:#e20011;}

table.tbl_ctt{width: 100%;max-width: 780px;margin: 0 auto;}
table.tbl_ctt th,table.tbl_ctt td{vertical-align:middle;padding: 1.2rem 0;}
table.tbl_ctt th{background:#fff;}
table:not(.has-border-color) :where(th, td){border:none;}

input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea, .search-edit{border:1px solid #cccccc;padding: 18px;}
::placeholder{color: #cccccc;}
select{color:#333333;}
input[type=submit]{border:none;background:#009FE5;color:#fff;font-size:18px;display:block;width:100%;max-width:270px;margin:1rem auto 4rem;border-radius:50px;border:1px solid #009FE5;transition:.3s;}
input[type=submit]:hover{background:#fff;border:1px solid #009FE5;color:#009FE5;}

.koumoku{width: 100%;max-width: 780px;margin: 0 auto;}
.ctt_att{color:#e20011;margin: 4rem auto 3rem;}

.con_bx01{text-align:center;margin:3rem auto;}
.con_bx02{background:#F3FBFF;text-align:center;padding: 3rem 0;margin: 0 auto 5rem;}
.con_bx03{font-size:28px;font-weight: 600;}
.con_bx03 span{display:block;color:#e20011;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}
.con_bx04{background:#fff;width:100%;max-width:75%;margin:2rem auto 0;padding: 2rem 0;}
.con_bx05{font-weight:600;}
.con_bx06{width: 100%;max-width:60%;margin:2rem auto 0;text-align: left;font-size:15px;font-weight:600;}
.con_bx07{width: 100%;max-width:55%;margin: 0 auto;text-align: left;font-size:46px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;color:#e20011;line-height: 1.2;padding:1rem 0;}
.con_bx07 span{font-size:14px;font-family: "dnp-shuei-gothic-gin-std", sans-serif;font-weight: 600;font-style: normal;color:#333333;padding: 0 0 0 0.5rem;}
.con_bx08{margin: 3rem auto 5rem;}
.con_bx08 span{color:#e20011;}
.con_bx09{margin: 0 auto 4rem;}
.con_bx10{height: 230px;overflow: auto;border: 1px solid #e0e0e0;margin: 0 auto 7rem;padding: 25px;}

/* よくある質問 */
.accordion{margin:0 auto 7rem;}
.accordion-content {display: none;}
.accordion-header {background-color:#F3FBFF;padding: 10px 45px 10px 20px;margin: 1rem 0 0;transition: background .3s ease;cursor: pointer;position: relative;display: flex;justify-content: flex-start;align-items: center;}

.accordion-header::before,.accordion-header::after{position:absolute;content:'';top:1px;right:20px;bottom:0;width:12px;height:2px;margin:auto;background:#151E2F;}
.accordion-header::after{transform:rotate(-90deg);transition:transform 0.3s;}
.accordion-header.active::after{transform:rotate(0deg);}
.accordion-content {background-color: #FFF;padding:1rem 20px 10px;}
.accordion-header span{padding-left: 25px;position: relative;}

.qa_q{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;color:#009FE5;font-size:36px;}
.qa_mds{font-weight:600;padding:0 0 0 2rem;}
.qa_a{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;font-size:36px;}
.qa_cont{padding:0 0 0 2rem}

.qa_bx01{margin:2rem auto 7rem;text-align:center;}
.qa_bx01 a{text-decoration:none;border-bottom:1px solid #009fe5;padding:0 0 2px;}
.qa_bx01 a:hover{color:#009fe5}

/* ハインのサービス */
.ser_bx01{width:100%;margin:0 auto 5rem;text-align:center;}

.ser_bx03{width:100%;max-width:440px;margin: 0 7rem 0 0;}
.ser_bx04{font-size:30px;font-size: clamp(24px,2vw, 30px);font-weight:600;margin: 0 0 1.5rem;}
.ser_bx04 span{display:block;color:#E80000;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;font-size:18px;}
.ser_bx05{text-align: justify;}
.ser_bx05 a{display: block;text-decoration: none;text-align: center;width: 100%;margin: 2rem 0 0;}
.ser_bx06{width:100%;max-width:55%;}
.ser_bx06 img{width:100%;}
.ser_bx07{margin: 8rem auto;}
.ser_bx08{width:100%;max-width:440px;margin: 0 0 0 7rem;}
.ser_bx09{margin: 0 auto 8rem;}

/* サービス */
.svc_01{display:flex;justify-content:flex-end;align-items:center;background: rgb(223,239,251);background: linear-gradient(90deg, rgba(223,239,251,1) 0%, rgba(255,255,255,1) 64%);margin:7rem 0 4rem;padding:0;}
.svc_02{width:100%;max-width:440px;margin: 0 6rem 0 0;}
.svc_03{font-size: 30px;font-size: clamp(25px,2vw, 30px);font-weight: 600;margin: 0 0 1.5rem;border-bottom:1px solid #009FE5;}
.svc_03 span{display: block;color: #e80000;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;font-size: 18px;}
.svc_04{}
.svc_04 a{display:block;width:100%;max-width:260px;text-align:center;position:relative;color:#fff;background:#009FE5;border-radius:50px;padding:13px 0;text-decoration:none;margin: 2rem 0 0;transition:.5s;border:1px solid #009FE5}
.svc_04 a:before{position:absolute;content:"\f0da";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}

.svc_04 a:hover{background:#fff;color:#009FE5;border:1px solid #009FE5;}
.svc_04 a:hover:before{color:#009FE5;}

.svc_06{display:flex;justify-content:flex-start;align-items:center;background: rgb(255,255,255);background: linear-gradient(90deg, rgba(255,255,255,1) 64%, rgba(223,239,251,1) 100%);margin:4rem 0;padding:0;}
.svc_07{width:100%;max-width:440px;margin: 0 0 0 6rem;}
.svc_08{margin:7rem auto;}


/* 修理 */
.rep_01{font-weight:600;font-size:clamp(26px,5vw,36px);color:#009FE5;}
.rep_01 span{display:block;margin:1rem auto 4rem;font-size:16px;font-weight:400;color:#333333;}
.article .rep_02 h3{border-left: 7px solid #009fe5;border-right:none;border-top:none;border-bottom:none;background:#f3fbff;}
.rep_02 span{display:block;margin:1rem auto 4rem;width: 100%;max-width: 90%;text-align: justify;}
.rep_03{width:100%;max-width:85%;padding:3rem;margin:2rem auto 3rem;}
.rep_04{width:100%;max-width:20%;}
.rep_05{width:100%;max-width:75%;margin: 0 0 0 5%;}
.rep_05 span:before{position:absolute;content:"";background:url(images/rep_04.svg) no-repeat top left;top:7px;left:5px;width:21px;height:21px;}
.rep_05 span{display:block;position:relative;font-weight:600;font-size:20px;padding: 0 0 0 2rem;}
.rep_06{margin:4rem 0;}
.rep_07{background: url(images/rep_06.svg) no-repeat bottom -3rem right 40%, #009fe5;background-size:38% auto;padding: 7rem 0;color:#fff;position:relative;margin: 7rem 0 6rem;}
.rep_08{position:absolute;width:100%;max-width:545px;top:-2rem;left:50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);}
.rep_09{font-size:clamp(24px,5vw,42px);font-weight:600;text-align: center;}
.rep_10{width: 100%;max-width: 360px;text-align: center;margin: 2rem auto 0;}
.rep_11{width:100%;max-width:900px;margin:3rem auto 7rem;}
.rep_12{background:#fff;padding:3rem 4rem;}
.rep_13{margin:0 0 2rem;}
.rep_14{width: 100%;max-width: 50%;background: #f4f6fa;padding: 3rem 0 3rem 3rem;font-weight:600;font-size:24px;}
.rep_14 span{color:#e80000;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;display:block;}


/* プラン・料金 */
.plan_01{background:#f4f6fa;padding:4rem 0;margin:5rem 0 7rem;}
.plan_02{background:#fff;padding:3rem;}
.plan_03{width: 100%;max-width: 435px;margin: 0 2rem 0 0;}
.plan_04{font-size:30px;font-weight:600;border-bottom: 2px solid #009fe5;padding: 0 0 1rem;margin: 0 0 1.5rem;}
.plan_04 span{display:block;color:#e80000;font-size:18px;font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;}

.plan_06{width:100%;max-width:50%;}
.plan_07{background:#fff;padding:3rem;width:100%;max-width:1100px;margin:2rem auto 0;}
.plan_08{margin:0 auto 7rem;}
.plan_09{width:100%;max-width:45%;}
.plan_10{font-size:20px;width: 100%;max-width: 476px;background: #f4f6fa;box-sizing: border-box;padding:3rem;font-weight: 600;position:relative;}
.plan_10 span{color:#009fe5;}

/* メンテナンス */
.mnt_01{}
.mnt_02{width:100%;max-width:30%;margin: 3rem 0 0;}
.mnt_02 span{display:block;background:#062d59;color:#fff;font-size:18px;font-weight:600;text-align:center;margin: 1rem 0;padding: .3rem 0;}
.mnt_02 img{width:100%;}
.mnt_02 p{margin-bottom: 3rem;}
.mnt_03{margin: 5rem auto 0;}
.article .mnt_03 h3{border-left: 7px solid #009fe5;border-right:none;border-top:none;border-bottom:none;background:#f3fbff;}
.mnt_03 span{display:block;margin:1rem auto 0;width: 100%;max-width: 90%;text-align: justify;}
.mnt_04{width: 100%;max-width: 640px;margin:3rem auto;background: #ffe6ea;padding:2rem 3rem 1rem;border-radius: 20px;text-align: center;}
.mnt_05{font-size:18px;font-weight:600;margin:0 auto 1rem}
.mnt_05 span{color:#e20011;}

.mnt_07{width: 100%;max-width: 30%;background: #fff;padding: 1rem 0;margin-bottom: 1.5rem;}
.mnt_08{width:100%;max-width:500px;text-align:center;margin:0 auto;}

.mnt_03 a{display:block;width:100%;max-width:260px;text-align:center;position:relative;color:#fff;background:#062d59;border-radius:50px;padding:13px 0;text-decoration:none;margin: 2rem 0 5rem;transition:.5s;border:1px solid #062d59;}
.mnt_03 a:before{position:absolute;content:"\f0da";top:50%;right:1rem;color:#fff;font-family: "Font Awesome 5 Free";font-weight: 900;transform: translateY(-50%);-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);}
.mnt_03 a:hover{background:#fff;color:#062d59;border:1px solid #062d59;}
.mnt_03 a:hover:before{color:#062d59;}

/* SDGs */
.sdgs_01{background: #fff;padding: 2rem;width: 100%;max-width: 85%;margin: 0 auto 5rem;}
.sdgs_02{width: 100%;max-width: 54%;margin: 0 auto;}
.sdgs_03{border-top:1px solid #cccccc;border-bottom:1px solid #cccccc;padding: 5rem 0;}
.sdgs_04{width: 100%;max-width: 40%;}
.sdgs_05{display:flex;justify-content:flex-start;align-items:center;font-size:28px;font-weight:600;color:#009fe5;line-height: 50px;}
.sdgs_05 span{font-family: "montserrat", sans-serif;font-weight: 700;font-style: italic;color:#fff;background:#009fe5;font-size:30px;display: block;margin: 0 1rem 0 0;width:100%;max-width: 55px;text-align: center;}
.sdgs_06{margin:1rem 0 3rem;}
.sdgs_07{}
.sdgs_07 span{display:block;background:#ededed;font-size:18px;font-weight:600;margin:0 0 1rem;max-width: 130px;text-align: center;}
.sdgs_08{width:100%;max-width:34%;margin: 0 3rem 0 0;}
.sdgs_09{padding: 0rem 0 5rem 0;}
.sdgs_10{border-top:1px solid #cccccc;border-bottom:1px solid #cccccc;padding: 5rem 0;margin:0 auto 7rem;}

/* 投稿用 */
body.single .article{width:100%;max-width:1100px;margin:0 auto;}
.article h3.voice_article{border-left: none;border-right: none;border-top: none;border-bottom: 1px solid #009fe5;padding: 0 0 10px;}
.article h4.voice_title01{background:#f4f6fa;border-top:none;border-bottom:none;border-left:5px solid #009fe5;}
.article p.voice_content{width:100%;max-width:95%;margin:0 auto;}
.voice_img{margin-bottom:7rem!important;}

/* 記事一覧 */
.list{width: 100%;max-width: 1100px;margin: 0 auto;}


/* tooltip */
.sec_company{margin: 5rem auto;}
#office .office_map {
  position: relative;
  max-width: 654px;
  margin-left: auto;
  margin-right: auto;
}
#office .office_map .hoverarea {
  position: absolute;
  width: 14.4%;
  height: 3.4%;
  cursor: pointer;
}
#office .office_map .hoverarea .tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% - 2px);
  left: 2px;
  border: 1px solid #000;
  background-color: #fff;
  white-space: nowrap;
  z-index: 1;
  font-size: 11px;
  padding: 3px 7px;
}
#office .office_map .hoverarea .tooltip.is-show {display: block;}
#office .office_map .hoverarea .tooltip .tooltip_func {
  display: none;
  position: absolute;
  bottom: calc(100% - 15px);
  background-color: #fff;
  z-index: 1;
  right: 5px;
  border: 1px solid #000;
  padding: 5px 10px;
  font-size: 10px;
}
#office .office_map .hoverarea .tooltip .tooltip_func h4 {
  font-weight: bold;
  margin-bottom: 2px;
  font-size: 11px;
}
#office .office_map .hoverarea .tooltip:hover .tooltip_func {display: block;}
#office .office_map .hoverarea .tooltip:hover .tooltip_func > div:hover {text-decoration: underline;}
#office .office_map .akita {top: 22.7%;right: 0%;}
#office .office_map .morioka {top: 26.4%;right: -0.5%;}
#office .office_map .yamagata {top: 30.1%;right: -0.5%;}
#office .office_map .sendai {top: 33.8%;right: -0.5%;}
#office .office_map .aizu {top: 37.5%;right: -0.5%}
#office .office_map .fukushima {top: 41.5%;right: -0.5%;}
#office .office_map .koriyama {top: 45.4%;right: -0.5%;}
#office .office_map .utsunomiya {top: 57%;right: 7%;width: 16.4%;;}
#office .office_map .maebashi {top: 53%;right: 8.8%;}
#office .office_map .mito {top: 60.95%;right: 9%;}
#office .office_map .ashikaga {top: 64.4%;right: 8.8%;}
#office .office_map .saitama {top: 70.8%;right: 16%;width: 18.6%;}
#office .office_map .tokyo {top: 74.8%;right: 22%;width: 13%;}
#office .office_map .kanagawa {top: 78.7%;right: 18.6%;}
#office .office_map .shizuoka {top: 80.7%;right: 37.6%;}
#office .office_map .niigata {top: 28.4%;left: 28.8%;}
#office .office_map .honsya {top: 32.2%;left: 35%;width: 8.4%;}
#office .office_map .nagaoka {top: 36%;left: 28.8%;}
#office .office_map .jyoetsu {top: 39.8%;left: 28.8%;}
#office .office_map .toyama {top: 45.5%;left: 18.8%;}
#office .office_map .kanazawa {top: 49%;left: 18.8%;}
#office .office_map .fukui {top: 52.7%;left: 18.8%;}
#office .office_map .gifu {top: 56.7%;left: 19%;}
#office .office_map .nagano {top: 84.2%;left: 39.8%;}
#office .office_map .matsumoto {top: 88.2%;left: 39.7%;}
#office .office_map .oosaka {top: 93.2%;left: 33%;}
#office .office_map .akita .tooltip,
#office .office_map .morioka .tooltip,
#office .office_map .yamagata .tooltip,
#office .office_map .sendai .tooltip,
#office .office_map .aizu .tooltip,
#office .office_map .fukushima .tooltip,
#office .office_map .koriyama .tooltip,
#office .office_map .utsunomiya .tooltip,
#office .office_map .maebashi .tooltip,
#office .office_map .mito .tooltip,
#office .office_map .ashikaga .tooltip,
#office .office_map .saitama .tooltip,
#office .office_map .tokyo .tooltip,
#office .office_map .kanagawa .tooltip {
  right: 10px;
  left: auto;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/*1800px以下*/
@media screen and (max-width: 1800px){
	.header-container-in.hlt-top-menu .navi{max-width:80vw;min-width:79.8vw;}
}

/*1600px以下*/
@media screen and (max-width: 1600px){
	nav.main_nav ul{padding:0 .1vw;}
	nav.main_nav ul li a.lp_btn {padding: 8px 20px;}
	.front_01{max-width:33%;}
	.front_03{max-width:90vw;}
	.front_07 img{width: 100%;max-width: 12vw;}
	.front_08{max-width:90vw;margin: 3rem auto 5%;}
	.front_bg02{padding: 4% 0 7%;}
	.front_11{padding: 4% 2vw;}
	.front_10{height:auto;}
	.front_26,.front_rec01,.front_17{max-width:90%;}
	.front_rec01{padding: 7% 0 7% 8%;}
	.front_15 span{margin:0 auto 2rem;}
	.svc_05{width: 100%;max-width: 60%;}
	.svc_02{max-width:25%;margin:0 4% 0 0;}
	.svc_07{max-width:25%;margin:0 0 0 4%;}
}

/*1400px以下*/
@media screen and (max-width: 1400px){
	.header-container-in.hlt-top-menu .logo-header{max-width:15vw;}
	.header-container-in.hlt-top-menu .navi{max-width:85vw;}
	nav.main_nav ul li a{padding: 15px 1.5vw;}
	nav.main_nav ul li a.lp_btn{margin: 7px auto 0;padding: 8px 1vw;}
	.front_07{margin:0 0 4rem;}
	.front_bg01{background: url(images/top_bg01.webp) no-repeat top 2rem right;background-size: 55% auto;}
	.front_04{max-width:37vw;}
	.front_09{max-width:36vw;}
	.front_13 span{margin:1rem 0 0;}
	.front_18{padding: 3rem 2rem 3rem 2rem;}
	.main_c_btm01{padding: 4rem 2% 4rem 3rem;}
	.main_c_btm02,.main_c_btm04{max-width:45%;}
	.main_c_btm03 p{margin: 2rem 0 0;}
	.ft_bx06{max-width:43%;}
	.ft_bx07 ul{padding-left:3%;}
	.ft_bx06 .fx_stt{justify-content:space-around;}
	.ft_bx03{width: 100%;max-width: 80%;}
	.phead{max-width:90%;}
	.breadcrumb{margin:1rem auto;}
	.ser_bx03{max-width: 35vw;margin: 0 5vw 0 0;}
	.ser_bx08{max-width: 35vw;margin: 0 0 0 5vw;}
	.com_07{max-width: 80%;}
	#navi-in{justify-content:space-between;}
	.grid{margin: 5rem 0 7rem;}
}

/*1300px以下*/
@media screen and (max-width: 1300px){
	.outline,.plan_07{max-width:90%;}
	.main_c_btm01{max-width: 78vw;margin: 0 0 0 22vw;}
	.main_c_btm02, .main_c_btm04{max-width: 46%;}
	nav.main_nav ul li a{padding: 15px 5px;}
	#navi-in{justify-content: space-around;}
	.main_nav ul li{padding: 0 .5vw 0;}
	.ft_bx06{max-width: 53%;}
	.front_bg01{background: url(images/top_bg01.webp) no-repeat top 5rem right;background-size: 55% auto;}
}

/*1024px以下*/
@media screen and (max-width: 1024px){
	.header-container-in.hlt-top-menu .navi,.front_16{max-width: 95vw;}
	.breadcrumb{max-width:95vw;}
	.front_bg01{background: url(images/top_bg01.webp) no-repeat bottom right;background-size: 95% auto;}
	.front_01{max-width:50%;bottom: 2rem;}
	.front_03{flex-wrap:wrap;max-width:95vw;margin: -6rem auto 0;}
	.front_04{max-width:100%;}
	.front_08{max-width: 95vw;margin: 3rem auto 3%;flex-wrap: wrap-reverse;justify-content: center;}
	.front_09{max-width:100%;}
	.loop_wrap02 div img{width:100%;max-width:235px;}
	.loop_wrap02{height:170px;}
	.map{height:48vh;width: 57%;margin: 0 5rem;}
	.front_07{max-width: 92%;}
	.front_10{flex-wrap:wrap;}
	.front_bg02{max-width: 100%;}
	.front_14{max-width: 453px;margin: -7rem auto 0;}
	.grid{grid-template-columns: 48% 4% 48% 1fr;grid-template-rows: auto;margin: 5rem 0 0;}
	.animate-box,.animate-box02,.animate-box03{left: 5%;}
	.u_t_slide{grid-row: 2 / 2;}
	.u_t_slide02{grid-row: 2 / 2;grid-column: 3 / 4;}
	.front_22{grid-row: 1 / 2;grid-column: 1 / 4;}
	.front_26{margin: 0 auto 4rem;}
	.front_bg03{padding: 5rem 0 0;margin: 0;}
	.snip1361 figcaption{top: calc(77%);}
	.snip1361:hover figcaption{top:150px;}
	.front_18{padding: 2rem 1rem;max-width: 70%;}
	.front_21{max-width: 90%;}
	.animate-box,.animate-box02,.animate-box03{width: 95%;}
	.front_07 img{max-width: 25vw;}
	.front_03{height:auto;}
	.svc_05{max-width: 40%;}
	.ft_bx06 .fx_stt{flex-wrap: wrap;justify-content: flex-start;}
	.header-container-in.hlt-top-menu{padding: 6px 0 0;}
	.rep_14{padding: 2rem 0 2rem 3rem;font-size: 18px;}
	.rep_11{max-width: 95%;}
	.rep_11 img{width:100%;max-width:45%;}
	.main_nav ul li{padding: 0 .2vw 0;}
	nav.main_nav ul li a{padding:15px 3px;}
	.animate-box{bottom: 50%;}
	.animate-box02{bottom: 40%;}
	.animate-box03{bottom:32%;}
}

/*834px以下*/
@media screen and (max-width: 834px){
	nav.main_nav,.navi-in a.gnav_ctt,.mnt_09 br{display:none;}
	.navi-sp-in{display:block;}
	.header-container-in.hlt-top-menu{flex-direction:row;}
	.header-container-in.hlt-top-menu .navi{max-width:60px;min-width: 55px;}
	.header-container-in.hlt-top-menu .header{width:100%;max-width:87vw;}
	.header-container-in.hlt-top-menu .logo-header{max-width:200px;}
	main.main{padding:0;}
	.main_c_btm01{max-width: 65vw;padding: 3% 2%;flex-wrap:wrap;margin: 0 0 0 35vw;}
	.mnt_09{text-align: justify;width: 100%;max-width: 95%;margin: 0 auto;}
	.hd_btm{margin: 0 auto 2.3rem;}
	.main_c_btm02, .main_c_btm04{max-width: 95%;}
	.main_c_btm05 a{margin: 0 0 1rem;width: 100%;max-width: 320px;}
	.main_c_btm06 a{justify-content:flex-start;}
	#custom_html-4{padding: 6rem 0 3rem;}
	.svc_02,.svc_07{max-width: 40%;}
	.svc_01,.svc_06{padding:2rem 0;}
	.svc_08,.ft_bx08,.outline, .plan_07{width:100%;max-width:95%;}
	.ft_bx02{width: 100%;max-width: 45%;}
	.rep_07{background: url(images/rep_06.svg) no-repeat bottom -1rem right 27%, #009fe5;background-size: 55% auto;}
	.rep_14{padding: 1rem 0 1rem 1rem;align-items: stretch;}
	.mainfooter{max-width:75vw;}
	.go-to-top-button{width:100px;height:100px;}
	.go-to-top{bottom:5rem;}
	.ft_bx07 ul.ft_mn02{padding-left: 0;margin-left: 5vw;}
	.rep_01{width: 100%;max-width: 95%;margin: 0 auto 3rem;}
	.ser_bx02,.ser_bx09,.plan_02,.plan_07,.plan_08{flex-wrap:wrap;justify-content:space-around;}
	.ser_bx03,.ser_bx08{max-width: 95vw;margin: 0 auto 2rem;}
	.ser_bx06{max-width:85%;}
	.ser_bx07{flex-wrap:wrap-reverse;justify-content:space-around;margin: 5rem auto;}
	.ser_bx09{margin:0 auto 5rem;}
	.plan_03{max-width: 100%;margin: 0 auto 2rem;}
	.plan_06{max-width:100%;}
	.plan_09,.sdgs_02{max-width:80%;}
	.plan_10{max-width:95%;margin: 2rem auto 0;}
	.com_01 a{max-width:147px;}
	.com_06 {font-size: 22px;}
	.mds_bx02{font-size: clamp(26px, 5vw, 36px);margin: 6rem auto 3rem;}
	.mds_bx03 {font-size: clamp(26px, 5vw, 36px);}
	.mds_bx04 {font-size: 24px;}
	.sdgs_04{max-width:55%;}
	.sdgs_05 {font-size:20px;}
	.sdgs_05 span {font-size: 26px;max-width: 42px;height: 6vh;}
	.front_02{max-width:95vw;}
	.front_07{max-width: 95vw;margin: 2rem auto;}
	.front_11{padding: 2% 2vw;max-width: 90%;}
	.grid{margin: 1rem 0 0;}
	.front_20 span {font-size: clamp(28px, 4vw, 60px);margin: 1rem 0;}
	.front_26{text-align:center;}
	.front_26 span {font-size: clamp(26px, 2vw, 40px);margin: 4rem 0 2rem;}
	.u_t_slide,.u_t_slide02{height: 70vh;}
	.front_bg03{padding: 5rem 0 3rem;}
	.con_bx07{text-align:center;}
	.con_bx07 span{display:block;}
	.inline{max-width:85vw;}
	.footer-mobile{padding-top:58px;}
	.copyright {font-size:12px;}
	
	.pc_br{display:none;}
    .sp_br{display:block;}  
	
	#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: -1;
	display:none;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background: rgb(0,159,229);
	background: linear-gradient(135deg, rgba(0,159,229,1) 0%, rgba(177,228,252,1) 100%);
    /*動き*/
	transition: all 0.5;
	left: 0;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{opacity: 1;z-index:999;display:block;}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{position: fixed;z-index: 999; width: 100%;height: 100vh;/*表示する高さ*/overflow: auto;-webkit-overflow-scrolling: touch;}

.hm_nav{position:absolute;top:50%;left:39%;transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);display: flex;justify-content: center;align-items: flex-start;width:100%;}
.navi-in a:hover{background-color:rgba(255,255,255,0);}

/*ナビゲーション*/
#g-nav ul.nav_01 {display: none;position: relative;z-index: 999;}
#g-nav ul.nav_02 {display: none;position: relative;z-index: 999;}
#g-nav.panelactive ul {display: block;}
.nav_03{margin: 3rem 0 0;}
.nav_entry01 a:hover{color:#fff;background: #e20011;}

/*リストのレイアウト設定*/

#g-nav li{list-style: none;text-align: left; }
#g-nav li a{color: #fff;text-decoration: none;padding:10px;display: block;text-transform: uppercase;letter-spacing: 0.1em;font-weight: bold;}
#g-nav li a:hover{background-color: rgba(255, 255, 255, 0);}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:relative;
    z-index: 9999;/*ボタンを最前面に*/
	cursor: pointer;
    width: 55px;
    height:55px;
	background: #fff;
	border: 1px solid #142b86;
}

/*×に変化*/	
.openbtn span{display: inline-block;transition: all .4s;position: absolute;left: 14px;height: 1px;border-radius: 2px;background-color: #142b86;width: 50%;}
.openbtn span:nth-of-type(1) {top:18px;	}
.openbtn span:nth-of-type(2) {top:26px;}
.openbtn span:nth-of-type(3) {top:34px;}

.openbtn.active{background:rgba(255,255,255,0);}
.openbtn.active span:nth-of-type(1) {top: 18px;left: 18px;transform: translateY(6px) rotate(-45deg);width: 30%;background-color:#142b86;}
.openbtn.active span:nth-of-type(2) {opacity: 0;}
.openbtn.active span:nth-of-type(3){top: 30px;left: 18px;transform: translateY(-6px) rotate(45deg);width: 30%;background-color:#142b86;}
}

/*630px以下*/
@media screen and (max-width: 630px){
	.pc_none{display:block;}
	.sp_none{display:none;}
	.rep_01{text-align:center;}
	.rep_01 span{text-align: justify;}
	.rep_12 {padding: 3rem 1rem;}
	.animate-box{line-height:1;font-size: clamp(26px, 5vw, 78px);bottom: 35%;}
	.animate-box02{line-height: 1;bottom: 29%;font-size: clamp(26px, 5vw, 78px);}
	.animate-box03{height: 100px;bottom: 24%;font-size: clamp(18px, 5vw, 26px);line-height: 1.8;letter-spacing: 3px;max-width: 68%;}
	.ft_bx08,.front_16{flex-wrap:wrap;}
	.ft_bx02{max-width:100%;}
	.header-container-in.hlt-top-menu{position: fixed;top: 0;left: 0;width: 85%;z-index: 999;}
	.ft_bx06{max-width: 95%;}
	.ft_bx07{margin:2rem 0 0;}
	.ft_bx07 ul{width:100%;padding-left:0;}
	.ft_bx07 ul.ft_mn02{margin-left:0;}
	.header-container-in.hlt-top-menu .navi{max-width:55px;}
	.ag_bx01{margin: 5rem auto 3rem;}
	.ag_bx03{margin: 2rem auto 2rem;}
	.main_c_btm01{max-width: 93vw;margin: 0 0 0 7vw;padding: 12% 5%;}
	.main_c_btm03 p{margin: 1rem 0 0;}
	.main_c_btm05 a{margin: 2rem auto;width: 100%;max-width: 295px;padding: 9px 0;}
	.main_c_btm06 a{justify-content:center;}
	#main_footer{padding:4rem 0 0;}
	.ft_bx01{margin: 0 auto 4rem;}
	.mainfooter{max-width: 95vw;margin: 0 auto;flex-wrap: wrap;}
	.ft_bx08{margin: 0 auto 4rem;}
	.ft_bx01{max-width: 95vw;margin: 0 auto 3rem;}
	.go-to-top-button{width: 85px;height: 85px;}
	.go-to-top{bottom:6rem;}
	.mainfooter a{height:30px;display:block;text-align:center;width:100%;margin: 0 auto 15px;}
	.mainfooter a img{width:auto;height:100%;}
	.snip1361 figcaption{top: calc(82%);}
	.snip1361:hover figcaption{top: 166px;}
	.front_21{justify-content:center;}
	.front_18{max-width:100%;padding:3rem;}
	.front_21{max-width: 90%;margin: 0 0 0 auto;}
	.front_26, .front_17{max-width:95%;}
	.map{width:100%;height:45vh;margin: 0 auto;}
	.front_07 img{max-width:50vw;}
	.front_01{bottom: -2.5rem;max-width: 100%;}
	.u_t_slide02{display:none;}
	.u_t_slide{grid-column: 1 / 4;}
	.svc_01{flex-wrap:wrap;justify-content:space-around;margin: 4rem auto;}
	.svc_02, .svc_07{max-width:95%;margin:0 auto 3rem;}
	.svc_05{max-width:80%;}
	.svc_06{flex-wrap:wrap-reverse;justify-content:space-around;margin: 0;}
	.svc_08 {margin: 4rem auto;}
	#custom_html-4{background: url(images/cb_bg01_sp.webp) no-repeat top left;background-size: cover;padding: 25rem 0 5rem;}
	.front_rec01{background: url(images/top_bg05_sp.webp) no-repeat top left;background-size: cover;max-width:100%;padding: 15% 0 28rem 6%;margin: 4rem auto;}
	.front_bg04{background: url(images/top_bg04_sp.webp) no-repeat top left;background-size: cover;padding: 13rem 0 4rem;}
	.front_19{margin: 0 auto 1rem;}
	.front_bg03{background: url(images/top_bg03_sp.webp) no-repeat top left;background-size: cover;margin: 0 auto 4rem;}
	.front_15{width: 100%;max-width: 90%;font-size: 18px;line-height: 2.6;}
	.grid{margin: 4rem auto;}
	.front_bg02{background: url(images/top_bg02_sp.webp) no-repeat top left;background-size: 100% auto;padding: 4rem 0 10rem;}
	.front_11{padding: 2rem 5vw;}
	.front_13 a{margin: 2rem auto 0;}
	.front_12{margin:0 auto;font-size:20px;}
	.front_12 span {font-size: 36px;}
	.front_13 span{line-height:2.5;}
	.front_14{margin: -10rem auto 0;max-width: 98%;}
	.front_bg01{background:none;}
	.front_07{background: url(images/top_bg01_sp.webp) no-repeat top right;background-size: 95% auto;max-width: 100vw;padding: 4rem 0 5rem;margin: 2rem auto -5rem;}
	.mnt_02{max-width:45%;}
	.mnt_04{max-width:100%;padding: 2rem 0.5rem 1rem;}
	.mnt_07{font-size:15px;font-weight:bold;}
	.rep_16,.rep_06{flex-wrap:wrap;justify-content:space-around;}
	.rep_03{padding: 2rem 1rem 2rem 0.5rem;max-width: 95%;}
	.rep_04{max-width: 30%;margin: 0 auto 1rem;}
	.rep_05{max-width:95%;text-align: justify;}
	.rep_05 span{margin-bottom:20px;}
	.rep_07{background: url(images/rep_06.svg) no-repeat bottom -1rem right 0, #009fe5;background-size: 88% auto;}
	.rep_08{top:-1rem;}
	.rep_10{max-width:80%;}
	.rep_13{flex-wrap:wrap;}
	.rep_14,.con_bx07{max-width:100%;}
	.con_bx04{max-width:95%;}
	.bus_01{width: 100%;max-width: 95%;margin: 0 auto;text-align: justify;}
	.ser_bx01{max-width: 95%;text-align: left;}
	.sp_ctr{text-align:left;}
	.plan_01{margin: 5rem 0 4rem;}
	.plan_02{padding:2rem;}
	.plan_04{font-size:26px;}
	.plan_05{text-align: justify;}
	.plan_07{padding:2rem;}
	.plan_10{font-size: 18px;padding:2rem;}
	.plan_11{text-align: left;width: 100%;max-width: 95%;margin: 0 auto;}
	.mds_bx04{margin: 0 auto 2rem;}
	.qa_q{font-size:24px;}
	.qa_a{font-size:24px;}
	body.single .post{width:100%;max-width:95%;margin:0 auto;}
	#sdgs .c_back01_a{padding:2rem 0 3rem;}
	.sdgs_01{padding: 1rem;max-width:90%;margin: 0 auto 2rem;}
	.sdgs_03,.sdgs_09,.sdgs_10{flex-wrap:wrap;justify-content:space-around;}
	.sdgs_04{max-width:100%;}
	.sdgs_08{max-width: 80%;margin: 2rem 0 0;}
	.com_01 a {font-size:14px;}
	.com_07{max-width:95%;}
	.con_bx06{max-width:95%;text-align:center;}
	table.tbl_ctt th, table.tbl_ctt td{display:block;padding: 1rem 0 0;}
	.hd_btm{height:295px;width: 100%;}
	.hd_btm img{object-fit: cover;height: 100%;}
	.main_c_btm05 a:after {position: absolute;content: "\f0da";font-family: "Font Awesome 5 Free";font-weight: 900;right: 2rem;}
	.con_bx03 {font-size: 24px;}
	.fz-24px{font-size:16px;}
	.ft_bx09{flex-wrap: wrap;margin: 2rem auto 1rem;justify-content:center;}
	.ft_bx09 a{margin: 0 0 5%;}
	
	@keyframes ripple {
	0% {width: 50px;height: 50px;opacity: 0.85;}
	33% {width: 100px;height: 100px;opacity: 0.55;}
	66% {width: 250px;height: 250px;opacity: 0.25;}
	100% {width: 400px;height: 400px;opacity: 0;}
}
}
