/* ----------------------------------------------------------------------
 電話番号リンクをスマホのみ有効
---------------------------------------------------------------------- */
@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

/* ----------------------------------------------------------------------
 デフォルトCSSの解除
---------------------------------------------------------------------- */
@media screen and (min-width: 1200px) {
	/*ヘッダー部分*/
	.header-bar{
		height:160px;
		background:rgba(255,255,255,0.8);
	}
	.header-bar-fixed ~ .signage{
		margin-top:160px;
	}
	/*ページヘッダー*/
	.bg_pagehead_tit{
		position:absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		display:block;
	}
	.signage-content{
		z-index: 1;
		position: relative;
	}
	/*ロゴ*/
	.logo-image{
		top:20px;
		left:30px;
	}
	.logo{
		height:55px;
	}
	/*グローバルメニュー */
	.global-nav{
		text-align:center;
		margin-left:auto;
		margin-right:auto;
	}
	.global-nav ul.menu{
		display:inline-block;
	}
	.global-nav > ul > li{
		font-weight: bold;
	}
	.global-nav > ul > li > a{
		line-height:63px;
	}
	/*キービジュアル*/
	.header-bar-fixed ~ .top-slider-wrapper{
		margin-top:160px;
	}
}
@media screen and (max-width: 1199px) {
	/*ヘッダー部分*/
	.header-bar{
		background:rgba(255,255,255,0.8);
	}
	/*ページヘッダー*/
	.bg_pagehead_tit{
		position:absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		display:block;
		height:260px;
	}
	.signage-content{
		z-index: 1;
		position: relative;
	}
	/*ロゴ*/
	.logo{
		top:12.5px;
	}
	.logo img{
		display:block;
		width:170px;
	}
	/*グローバルメニュー*/
	.header-bar{
		border-bottom:none;
		box-shadow:none;
	}
	.global-nav-button{
		border-left:none;
	}
	.global-nav a, .global-nav a:hover{
		background:#33475A;
	}
	.global-nav > ul > li > a{
		font-weight:bold;
	}
}

/*全体*/
body{
	color:#333;
	overflow:hidden;
}

/*キービジュアル*/
.top-slider{
	height:auto;
}

/* ----------------------------------------------------------------------
ヘッダー全体（ロゴ＆インフォ）
---------------------------------------------------------------------- */
.head_top{
	position:relative;
	max-width:1920px;
	width:100%;
	margin:0 auto;
}
@media screen and (min-width: 1200px) {
	.head_top{
		height:95px;
	}
	.global-nav{
		font-size:16px;
	}
}

/* ----------------------------------------------------------------------
ヘッダーインフォメーション
---------------------------------------------------------------------- */
@media screen and (min-width: 1200px) {
	.head_info{
		float:right;
		width:465px;
		display:flex;
		justify-content:space-between;
	}
	.head_info_sp{
		display:none;
	}
	.head_info01{
		width:275px;
		position:relative;
		top:12px;
	}
	.head_info02{
		width:180px;
	}
	.head_info02 a{
		display:block;
		background:#009fe8;
		width:100%;
		height:95px;
		color:#fff;
		transition : all 0.5s ease 0s;
	}
	.head_info02 a:hover{
		background:#33475A;
	}
	.head_info02 a img{
		padding-top:18px;
	}
	.head_info02 a:hover img{
		opacity:1;
	}
	p.head_info_tel{
		color:#009fe8;
		font-size:40px;
		line-height:1em;
		text-align:right;
	}
	p.head_info_tel::before{
		position:relative;
		font-family: "Font Awesome 5 Free"; 
		font-weight: 900;
		content: "\f095";
		font-size:80%;
		top:-4px;
		margin-right:0.1em;
	}
	p.head_info_add{
		font-size:12px;
		line-height:1em;
		letter-spacing:0.1em;
		text-align:center;
	}
}
@media screen and (max-width: 1200px) {
	.head_info{
		width:95px;
		position:absolute;
		top:5px;
		right:57px;
		display:flex;
		justify-content:space-between;
	}
	.head_info01,.head_info02{
		width:45px;
	}
	.head_info_pc{
		display:none;
	}
}


/* ----------------------------------------------------------------------
 スマホ・PC画像振り分け
---------------------------------------------------------------------- */

@media screen and (min-width: 769px) {
.pc_only{
display:block !important;
}
.sp_only{
display:none !important;
}
}

@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
.sp_only{
display:block !important;
}
}

/* ----------------------------------------------------------------------
 破線hr
---------------------------------------------------------------------- */

hr.hasen{
border:none;
border-top:dashed 1px #999;
height:1px;
color:#FFFFFF;
margin:15px 0 !important;
}

/* ----------------------------------------------------------------------
 画像リンク
---------------------------------------------------------------------- */
a:hover img{
filter:alpha(opacity=50);
-moz-opacity: 0.5;
opacity: 0.5;
}

/* ----------------------------------------------------------------------
 フォントファミリー
---------------------------------------------------------------------- */
.yu_font{
font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif !important;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
}
.cent_font{
	font-family: Century Gothic, sans-serif;
}

/* =================================
font（weight）
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}

/* =================================
font（size %）
================================= */
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}

/* =================================
font（size px）
================================= */
.font12px{
	font-size: 12px;
}
.font14px{
	font-size: 14px;
}
.font16px{
	font-size: 16px;
}
.font18px{
	font-size: 18px;
}
.font20px{
	font-size: 20px;
}
.font25px{
	font-size: 25px;
}
.font30px{
	font-size: 30px;
}
@media screen and (min-width: 769px) {
	.font12-14px{
		font-size: 14px;
	}
	.font14-16px{
		font-size: 16px;
	}
	.font16-18px{
		font-size: 18px;
	}
	.font16-20px{
		font-size: 20px;
	}
	.font18-20px{
		font-size: 20px;
	}
	.font18-25px{
		font-size: 25px;
	}
	.font20-25px{
		font-size: 25px;
	}
	.font20-30px{
		font-size: 30px;
	}
	.font22-30px{
		font-size: 30px;
	}
	.font25-30px{
		font-size: 30px;
	}
}
@media screen and (max-width: 768px) {
    .font12-14px{
		font-size: 12px;
	}
	.font14-16px{
		font-size: 14px;
	}
	.font16-18px{
		font-size: 16px;
	}
	.font16-20px{
		font-size: 16px;
	}
	.font18-20px{
		font-size: 18px;
	}
	.font18-25px{
		font-size: 18px;
	}
	.font20-25px{
		font-size: 20px;
	}
	.font20-30px{
		font-size: 20px;
	}
	.font22-30px{
		font-size: 22px;
	}
	.font25-30px{
		font-size: 25px;
	}
}

/* =================================
font（color）
================================= */

.white{
	color:#fff;
}
.red{
	color:#ff0000;
}
.navy{
	color:#33475a;
}
.sky{
	color:#009fe8;
}
.gray{
	color:#b3b3b3;
}

/* =================================
テキスト揃え
================================= */
.txtJustify{
	text-align:justify;
}
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}

/* =================================
テキスト行間
================================= */
.lh10{
	line-height:1em;
}
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2.0em;
}
.lh25{
	line-height:2.5em;
}

/* =================================
文字間
================================= */
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}

/* =================================
改行
================================= */

/*スマホのみ改行*/
@media screen and (min-width: 769px) {
    .kaigyouSp {
     display: none;
    }
}
/*PCのみ改行*/
@media screen and (max-width: 768px) {
    .kaigyouPc {
        display: none;
    }
}

@media screen and (min-width: 480px) {
	.kaigyouSpMini{
		 display: none;
	}
}

/* =================================
背景色
================================= */
.bgWhite{
	background: #fff;
}

/* =================================
角丸
================================= */
.radius05{
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}
.radius10{
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
}

/*カッコ書き*/
.kakko{
	text-align:center;
}
h3.kakkoTit {
  position: relative;
  line-height: 1.4;
  padding:0.25em 2em !important;
  display: inline-block;
  top:0;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}

h3.kakkoTit:before, .kakkoTit:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
h3.kakkoTit:before {
  border-left: solid 1px #666;
  border-top: solid 1px #666;
  border-bottom: solid 1px #666;
  left: 0;
}
h3.kakkoTit:after {
  content: '';
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  border-bottom: solid 1px #666;
  right: 0;
}

h3.kakkoTitWh {
  position: relative;
  line-height: 1.4;
  padding:0.25em 2em !important;
  display: inline-block;
  top:0;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}

h3.kakkoTitWh:before, .kakkoTitWh:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
h3.kakkoTitWh:before {
  border-left: solid 1px #fff;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
  left: 0;
}
h3.kakkoTitWh:after {
  content: '';
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  right: 0;
}

/* ----------------------------------------------------------------------
 ボタン
---------------------------------------------------------------------- */
.btnW250{
	width:100%;
	max-width: 250px;
}
.btnW350{
	width:100%;
	max-width: 350px;
}
.button {
  display: block;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
	margin: 10px auto;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

/*ボタン０１*/
.btn01 {
  position: relative;
  z-index: 2;
  border: 2px solid #009fe8;
  background:#fff;
  color: #009fe8 !important;
  line-height: 50px;
  -webkit-perspective: 300px;
  perspective: 300px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.btn01:hover {
  color: #fff !important;
}
.btn01::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #009fe8;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transform: rotateX(90deg);
  transform: rotateX(90deg);
  opacity: 0;
}
.btn01:hover::after {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  opacity: 1;
}

/*ボタン（丸）*/
a.radiusBtn{
	background:#333;
	color:#fff;
	border:1px #333 solid;
	display: block;
  width: 250px;
  height: 54px;
	text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
	margin-left:auto;
	margin-right:auto;
	border-radius: 100px;        /* CSS3草案 */  
    -webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 100px;   /* Firefox用 */
	position:relative;
}
a.radiusBtn:hover{
	background:#fff;
	color:#333;	
}
a.radiusBtn::after{
	position:absolute;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: "\f054";
	right:15px;
}


/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt100 {
  margin-top: 100px !important;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}
  
/*All padding*/
.pd10{
	padding:10px;
}
.pd20{
	padding:20px;
}
.pd30{
	padding:30px;
}
.pd50{
	padding:50px;
}

/* =================================
 画像サイズ（レスポンシブ仕様）
================================= */
img.img100{
	width:100%;
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
}
img.imgInner {
	max-width: calc(100% - 30px);
	line-height: 0;
	vertical-align: bottom;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.imgCenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width:100%;
}
img.imgLeft{
	display: block;
	margin-right: auto;
	max-width:100%;
}
img.imgRight{
	display: block;
	margin-left: auto;
	max-width:100%;
}

/* ----------------------------------------------------------------------
 inner
---------------------------------------------------------------------- */
.inner01{
	width:100%;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}
.inner02{
	width:1150px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}
.inner03{
	width:768px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}
.inner04{
	width:960px;
	max-width: calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
}

/* =================================
 float
================================= */
.left{
	float: left;
}
.right{
	float: right;
}


/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flexOrigin{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: stretch;    /*全ての要素の高さを揃える*/
}
.flex-wrap{
	flex-wrap:wrap; 	/*要素を折り返して繰り返す*/
}
.space-between{
	justify-content: space-between; /*均等に間隔をあける*/
}
.row-reverse{
	flex-flow: row-reverse; /*並び順を逆にする*/
}
.border-box{
	box-sizing:border-box;
}
@media(max-width:768px)  {
	.flex_block{
		display: block;
	}
}

@media(min-width:768px)  {
.flexBox2{
width:48%;
}
.flexBox3{
width:30%;
}
.flexBox4{
width:23%;
}
}
@media(max-width:768px)  {
.flexBox2{
width:100%;
}
.flexBox3{
width:100%;
}
.flexBox4{
width:48%;
}
}


/* ----------------------------------------------------------------------
 パララックス
---------------------------------------------------------------------- */
.paraslimy-body{
	position: relative;
	z-index: 1;
	perspective: 250px;
	transform: translateZ(0);
	transform-style: preserve-3d;
	overflow: hidden;
}
.paraslimy-bg{
	position: absolute;
	z-index: -1;
	top: -12.5%;
	left: -12.5%;
	right: auto;
	bottom: auto;
	width: 225%;
	height: 225%;
	min-height: 225vh;
	transform: translateZ(-250px);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}

/* ----------------------------------------------------------------------
 youtubeレスポンシブ
---------------------------------------------------------------------- */
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.movie-wrap2 {
     position: relative;
     padding-bottom: 70.38%; 
     height: 0;
     overflow: hidden;
}
.movie-wrap2 iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/* ----------------------------------------------------------------------
 トップページ：メインビジュアル
---------------------------------------------------------------------- */
.wp-custom-header .wp-custom-header-video-button{
	display: none;
}
.wp-custom-header{
	position:relative;
}
video.headVideo{
	display: block;
	max-width: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
@media screen and (min-width: 1200px){
	video.headVideo{
		height: calc(100vh - 155px); 
	}
}
@media screen and (max-width: 1200px) and (min-width: 768px){
	video.headVideo{
		height: calc(100vh - 55px); 
	}
}
@media screen and (max-width: 768px){
	video.headVideo{
		height: calc(100vh - 55px); 
	}
}
@supports(-webkit-touch-callout: none){
/* iPhoneの表示のみ指定を上書き */
	.wp-custom-header{
		height: calc(var(--vh, 1vh) * 100);
		height: -webkit-fill-available;
	}
}

.mv_arrow{
	position: absolute;
	bottom:30px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width:100px;
	z-index:1;
}
.mv_arrow a{
	display:block;
	width:100px;
	cursor:pointer;
	text-align:center;
}
.mv_txt{
	position:absolute;
	top: 20%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	width:100%;
	max-width:1000px;
	color:#fff;
}
.mv_txt h2{
	font-size:30px;
	letter-spacing:0.2em;
}
.mv_txt h2 span{
	font-size:70%;
}
.mv_txt p{
	font-size:18px;
	letter-spacing:0.2em;
}
@media screen and (max-width: 767px) and (min-width: 480px){
	.mv_txt h2{
		font-size:25px;
	}
	.mv_txt p{
		font-size:14px;
	}
}
@media screen and (max-width: 480px){
	.mv_txt h2{
		font-size:20px;
	}
	.mv_txt p{
		font-size:12px;
	}
}


/* ----------------------------------------------------------------------
 signage
---------------------------------------------------------------------- */
.signage{
	background:none;
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}
.signage-content{
	animation:none;
	text-align:left;
}
.signage-content::before,
.bgSignage{
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 80%;
	height: 100%;
}
.signage-content::before{
	z-index: 1;
	background: rgba(0,159,232,0.7);
	content: "";
}
.bgSignage{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.signageTxt{
	position:relative;
	z-index:10;
	left:30px;
}
.signageTxt h1{
	font-size:20px;
}
.signageTxt p{
	font-size:60px;
	line-height:1;
	margin-bottom:10px;
	letter-spacing:0.05em;
}
.signageTxt p::first-letter{
	color:#1EAA39;
}
@media(max-width:768px) and (min-width:621px) {
	.signageTxt p{
		font-size:45px;
	}
}
@media(max-width:620px) and (min-width:481px) {
	.signageTxt p{
		font-size:35px;
	}
	.signageTxt h1{
		font-size:18px;
	}
}
@media(max-width:480px){
	.signageTxt{
		left:15px;
	}
	.signageTxt p{
		font-size:35px;
	}
	.signageTxt h1{
		font-size:18px;
	}
}


/* ----------------------------------------------------------------------
 パンくずリスト
---------------------------------------------------------------------- */
.breadcrumb-wrapper{
	z-index: 10;
}

/* ----------------------------------------------------------------------
 footer
---------------------------------------------------------------------- */
.footSitemap{
	
}
.sitemapBox{
	width:calc(100% - 400px);
}
.infoBox{
	width:300px;
}
p.footTel {
	font-size:40px;
	line-height:1;
}
p.footTel::before{
	position: relative;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f095";
	font-size: 80%;
	top: -4px;
	margin-right: 0.1em;
}
.sitemapCol{
	width:calc(( 100% / 3 ) - 20px);
}

.footer{
	margin-top:0;
}
.footer-bar01,.copyright,.pagetop a{
	background:#009fe8;
}

p.foot_info_tel::before {
content: url(images/ico_tel_top.png);
margin-right: 10px;
position: relative;
top: 2px;
}
p.foot_info_tel {
color: #009fe8;
font-size: 25px;
line-height: 1em;
text-align: left;
}
ul.sitemapUl li{
	margin-bottom:10px;
}
@media(max-width:960px)  {
	.footSitemap .inner02{
		display:block;
	}
	.sitemapBox,.infoBox{
		width:100%;
	}
	.sitemapBox{
		margin-bottom:20px;
	}
}
@media(max-width:550px) {
	.sitemapBox{
		display:block;
	}
	.sitemapCol{
		width:100%;
	}
	p.footTel {
		font-size:35px;
		line-height:1;
	}
}

/* ----------------------------------------------------------------------
 ページ内リンク
---------------------------------------------------------------------- */
@media screen and (min-width: 1201px){
	a.scroll_point {
	 height: 1px;
	 margin-top: -160px;
	 padding-top: 160px;
	 display: block;
	}
}
@media screen and (max-width: 1200px){
	 a.scroll_point {
	 height: 1px;
	 display: block;
	 margin-top: -55px;
	 padding-top: 55px;
	}
}

/* =================================
見出し
================================= */
.titPop p{
	font-size:60px;
	line-height:1;
	margin-bottom:10px;
	letter-spacing:0.05em;
}
.titPop p::first-letter{
	color:#1EAA39;
}
@media(max-width:768px)  {
	.titPop p{
		font-size:45px;
	}
}
@media(max-width:480px){
	.titPop p{
		font-size:35px;
	}
	.titPop p{
		left:15px;
	}
}

/* =================================
ボタン01
================================= */
/*------------動く矢印01（青）------------*/
.btnlinestretches{
    /*線の基点とするためrelativeを指定*/
  	position:relative;
    /*リンクの形状*/ 
    padding: 10px 0;
  	display:inline-block;
    text-decoration: none;
    outline: none;
}
.btnlinestretches span{
	color:#33475A;
}
.btnlinestretches:hover{
	text-decoration: none;
}
/*線の設定*/
.btnlinestretches::before {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    /*線の形状*/
    width: 100%;
    height: 1px;
    background: #33475A;
}
/*矢印の設定*/
.btnlinestretches::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom:-4px;
    /*矢印の形状*/
    width: 8px;
    height: 8px;
    border-top: 1px solid #33475A;
    border-right: 1px solid #33475A;
    transform: rotate(45deg);
}
/*線と矢印を繰り返しアニメーション（長い方）*/
.btnlinestretches::before {
    animation: arrowlong01 2s ease infinite;
}
.btnlinestretches::after {
    animation: arrowlong02 2s ease infinite;
}
@keyframes arrowlong01{
    0%{width:0;opacity:0}
    20%{width:0;opacity:1}
    80%{width:150%;opacity:1}
    100%{width:150%;opacity:0}
}
@keyframes arrowlong02{
    0%{left:0;opacity:0}
    20%{left:0;opacity:1}
    80%{left:148%;opacity:1}
    100%{left:148%;opacity:0}
}
/*線と矢印を繰り返しアニメーション（短い方）*/
.btnlinestretchesS::before {
    animation: arrowlong03 2s ease infinite;
}
.btnlinestretchesS::after {
    animation: arrowlong04 2s ease infinite;
}
@keyframes arrowlong03{
    0%{width:0;opacity:0}
    20%{width:0;opacity:1}
    80%{width:110%;opacity:1}
    100%{width:110%;opacity:0}
}
@keyframes arrowlong04{
    0%{left:0;opacity:0}
    20%{left:0;opacity:1}
    80%{left:108%;opacity:1}
    100%{left:108%;opacity:0}
}

/* =================================
ボタン02
================================= */
/*矢印が右に移動して背景がつく*/
.btnarrow{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  border: 1px solid #33475A;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #33475A;
    outline: none;
    /*アニメーションの指定*/
    transition: all .2s linear;
}
.btnarrow:hover{
  background:#33475A;
  color:#fff;
}
/*矢印と下線の形状*/
.btnarrow::before{
  content:"";
    /*絶対配置で下線の位置を決める*/
  position: absolute;
  top:50%;
  right:-26px;
    /*下線の形状*/
  width:40px;
  height:1px;
  background:#33475A;
    /*アニメーションの指定*/
    transition: all .2s linear;
}
.btnarrow::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 20%;
    right: -21px;
    /*矢印の形状*/
  width:1px;
  height:12px;
  background:#33475A;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}
/*hoverした際の移動*/
.btnarrow:hover::before{
  right:-30px;
}
.btnarrow:hover::after{
  right:-25px;
}

/* =================================
ボタン03
================================= */
/* ボタン共通設定 */
.btnPush{
	/*影の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
	text-align: center;
	background: transparent;
	border: solid 2px #33475A;
	outline: none;
	/*アニメーションの指定*/
	transition: all 0.2s ease;
}
/*hoverをした後のボタンの形状*/
.btnPush:hover{
	border-color:transparent; 
}
/*ボタンの中のテキスト*/
.btnPush span {
	position: relative;
	z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	/*テキストの形状*/
	display: block;
	padding: 15px 30px;
	background:#fff;
	color:#33475A;
	/*アニメーションの指定*/
	transition: all 0.3s ease;
}
/*== 右下に押し込まれる（立体が平面に） */
/*影の設定*/
.pushright:before {
	content: "";
	/*絶対配置で影の位置を決める*/
	position: absolute;
	z-index: -1;
	top: 4px;
	left: 4px;
	/*影の形状*/
	width: 100%;
	height: 100%;
	background-color: #1EAA39;
}
/*hoverの際にX・Y軸に4pxずらす*/
.pushright:hover span {
	background-color: #33475A;
	color: #fff;
	transform: translate(4px, 4px);
}
.btnPush span::after{
	position:absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f178";
	top: 50%;
	right:5px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index:2;
	font-size:90%;
}
@media screen and (max-width:480px)  {
	.btnPush span {
		padding: 15px 20px;
	}
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/*コンセプト*/
.topConcept{
	width: 100%;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
}
.topConceptTxt,.topConceptImg{
	width: 50%;
}
.topConceptTxt{
	padding:0 30px;
	box-sizing: border-box;
}
.topConceptTxtInner{
	display: block;
	width: 100%;
	max-width:585px;
}
.topConceptImg img{
	display: block;
	width: 100%;
}
@media screen and (min-width: 1150px){
	.topConceptTxtInner h3 br{
		display:none;
	}
}
@media screen and (min-width: 860px){
	.topConceptTxtInner{
		margin-left: auto;
	}
	.topConceptImg img{
		height: 100%;
		object-fit: cover;
	}
}
@media screen and (max-width:859px){
	.topConcept{
		display: block;
	}
	.topConceptTxt,.topConceptImg{
		width:calc(100% - 60px);
		max-width:1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.topConceptTxt{
		margin-bottom:30px;
	}
	.topConceptTxtInner{
		max-width:100%;
	}
}
@media screen and (max-width: 640px){
	.topConceptTxt{
		padding:0;
	}
}


/*事業内容*/
.topWorks{
	background:rgba(203,210,210,0.5);
}
.topWorksBox{
	width:49%;
}
.topWorksTxt{
	width:40%;
}
.topWorksImg{
	width:58%;
}
@media screen and (max-width:960px)  {
	.topWorksBox{
		width:100%;
		max-width:600px;
		margin-left:auto;
		margin-right:auto;
	}
}

/*ブログ一覧*/
.article03{
	background:none;
}
.article03-thumbnail{
	position:relative;
}
p.article03-category{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
}

.article03-content{
	padding:10px 0;
}
p.article03-category{
	color:#fff !important;
	background:rgba(51,71,90,0.8);
	padding:5px 10px;
	box-sizing:border-box;
}
p.article03-category span{
	font-size:14px;
}
p.article03-category a{
	color:#fff !important;
}
@media screen and (max-width:768px)  {
	.article03-title{
		font-size:14px;
		margin-top:0;
	}
}

/* お知らせ一覧 */
.blogpost_list{
	background:rgba(203,210,210,0.5);
}
.blogpost_list ul li{
	line-height:2em;
	border-bottom:1px #33475A dashed;
	padding-top:10px;
	padding-bottom:10px;
	height:25px;
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.blogpost_list ul li a{
	color:#1a1a1a;
}
@media screen and (max-width:960px)  {
	.blogpost_list .titleBox{
		margin-bottom:30px;
	}
}

/* ----------------------------------------------------------------------
 事業内容
---------------------------------------------------------------------- */
.worksTxt{
	position:relative;
	background:#fff;
	box-sizing:border-box;
	width:125%;
	z-index:2;
}
.worksTxtL{
	padding:25px 25px 25px 0;
}
.worksTxtR{
	padding:25px 0 25px 25px;
}
.worksTit{
	padding-bottom:20px;
	position:relative;
}
.worksTit::after {
    position: absolute;
    content: "";
    height: 5px;
    width: 100%;
    background: rgb(0,159,232);
    background: -moz-linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
    background: -webkit-linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
    background: linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#009fe8",endColorstr="#1eaa39",GradientType=1);
    bottom: 0;
    left: 0;
}
.worksNo{
	font-size:80px;
	line-height:1;
}
.stroke{
	-webkit-text-stroke:1px #009FE8;
	color:transparent;
}
.worksTitSub{
	font-size:50px;
	line-height:1;
}
@media screen and (min-width:961px)  {
	.worksTxtR{
		left:-25%;
	}
}
@media screen and (max-width:960px)  {
	.worksBox .flexOrigin{
		display:block;
	}
	.worksBox .flexOrigin .flexBox2{
		width:100%;
	}
	.worksTxt{
		width:90%;
		max-width:495px;
		margin:0 auto;
		padding:25px;
		position:relative;
		top:-30px;
	}
	.worksTitSub{
		font-size:45px;
	}
	.worksNo{
		font-size:65px;
	}
}
@media screen and (max-width:550px)  {
	.worksTxt{
		width:95%;
		padding:15px;
	}
	.worksTitSub{
		font-size:30px;
		letter-spacing:0.05em;
	}
	.worksNo{
		font-size:55px;
	}
}

/* ----------------------------------------------------------------------
 施工事例
---------------------------------------------------------------------- */
.constructionBox h3{
	font-size:40px;
}
.constructionGenre span{
	display:inline-block;
	line-height:1;
	box-sizing:border-box;
	padding:5px 10px;
}
.constructionGenre span:first-child{
	background:#1EAA39;
	border:2px #1EAA39 solid;
	color:#fff;
}
.constructionGenre span:last-child{
	background:#fff;
	border:2px #1EAA39 solid;
}

/* ----------------------------------------------------------------------
 お客様の声
---------------------------------------------------------------------- */
.voiceTxt{
	width:calc(100% - 400px);
}
.voiceImg{
	width:350px;
}
.voiceTit{
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	padding-bottom:25px;
}
.voiceTit::after{
	position:absolute;
	content:"";
	height:5px;
	width:100%;
	background: rgb(0,159,232);
	background: -moz-linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
	background: -webkit-linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
	background: linear-gradient(45deg, rgba(0,159,232,1) 0%, rgba(30,170,57,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#009fe8",endColorstr="#1eaa39",GradientType=1);
	bottom:0;
	left:0;
}
.voiceNo{
	width:100px;
}
.voiceTitTxt{
	width:calc(100% - 115px);
}
@media screen and (max-width: 767px) {
	.voice .inner02{
		display:block;
	}
	.voiceTxt{
		width:100%;
		margin-bottom:20px;
	}
	.voiceImg{
		width:280px;
		margin-left:auto;
		margin-right:auto;
	}
	.voiceNo{
		width:80px;
	}
	.voiceTitTxt{
		width:calc(100% - 100px);
	}
}
@media screen and (max-width: 480px) {
	.voiceImg{
		width:230px;
	}
}

/* ----------------------------------------------------------------------
 会社概要
---------------------------------------------------------------------- */
.titleBox{
	width:400px;
}
.contentBox{
	width:calc(100% - 400px);
}
@media screen and (max-width: 960px) {
	.contentWrap {
		display:block;
	}
	.titleBox{
		margin-bottom:50px;
	}
	.titleBox,.contentBox{
		width:100%;
	}
}

h4.missionTit{
	font-size:48px;
	margin-bottom:30px;
}
p.missionTxt{
	line-height:2.4;
}
@media screen and (max-width: 640px) {
	h4.missionTit{
		font-size:8vw;
		margin-bottom:30px;
	}
}

.greeting{
	background:rgba(203,210,210,0.5);
}
.greetingInner{
	background:url(images/bg_company_greeting.png) no-repeat center bottom;
	background-size:cover;
}
.greetingStaff{
	width:300px;
}
.greetingStaff p span{
	display:block;
}
@media screen and (max-width: 960px){
	.greetingStaff{
		margin-left:auto;
		margin-right:auto;
	}
}

table.companyTb th,table.companyTb td{
	text-align:left;
}
table.companyTb th{
	border-bottom:2px #33475a solid;
	padding:30px 0;
	min-width:7em;
}
table.companyTb td{
	border-bottom:2px #E6E6E6 solid;
	padding:30px 0 25px 30px;
}
table.companyTb tr:first-child th{
	border-top:2px #33475a solid;
}
table.companyTb tr:first-child td{
	border-top:2px #E6E6E6 solid;
}
@media screen and (max-width:480px) {
	table.companyTb th{
		padding:20px 0;
		min-width:6em;
	}
	table.companyTb td{
		padding:20px 0 15px 20px;
	}
}

/* ----------------------------------------------------------------------
 お問い合わせ
---------------------------------------------------------------------- */
.contact .wpcf7{
	border:none;
	background:none;
}
.contact .wpcf7 input,.contact .wpcf7 textarea,.contact .wpcf7 select{
	border:none;
	background:#f2f2f2;
}
.contact table.formTable{
	border-collapse: collapse;
	width:100%;
}
.contact .formTable th,.contact .formTable td{
	padding: 10px;
	border:none;
	background:none;
	line-height:1.5em;
}
.contact .formTable th{
	vertical-align: top;
	font-size:16px;
	text-align:left;
	color:#33475a;
	padding-left:1em;
	text-indent:-1em;
}
.contact .formTable th::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	margin-right:0.5em;
}
.contact .formTable td.answer{
	font-size:16px;
}
.contact input[type=text],textarea {
  width:100% !important;
}

table.formTable input[type=text],
table.formTable textarea{
	border: none;
	padding:10px 10px;
	background: #f2f2f2;
	border: none;
}
table.formTable td.hissu,table.formTable td.nini{
	vertical-align: top;
}
table.formTable td.hissu div,table.formTable td.nini div{
	font-size:14px;
	font-weight:bold;
}
table.formTable td.hissu div,table.formTable td.nini div{
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}
table.formTable td.hissu div{
	background: #009fe8;
	border:1px #009fe8 solid;
	color: #fff;
}
table.formTable td.nini div{
	background: #33475a;
	border:1px #33475a solid;
	color: #fff;
}
.contact .wpcf7 input.wpcf7-submit{
	background:#0077c2;
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}

@media screen and (min-width: 768px) {
	table.formTable th{
		width:25%;
		line-height: 44px;
	}
	table.formTable td.hissu,table.formTable td.nini{
		width:15%;
		text-align: center;
	}
	table.formTable td.hissu div,table.formTable td.nini div{
		height: 44px;
		line-height: 44px;
	}
	table.formTable .radio label{
		font-size:14px;
		line-height: 20px;
		margin-bottom: 0;
		margin-right: 20px;
	}
}
@media screen and (max-width: 768px) {
	table.formTable,table.formTable tbody,
	table.formTable tr,table.formTable th,
	table.formTable td{
		display: block;
}
	table.formTable tr{
		margin-bottom: 15px;
	}
	table.formTable th{
		border: none !important;
		padding-bottom: 0px;
		margin-bottom: 5px;
		width:100% !important;
	}
	table.formTable td{
		padding-top: 0px;
	}
	table.formTable td.hissu div,table.formTable td.nini div{
		padding:5px 10px;
		display: inline;
	}
	table.formTable .radio label{
		font-size:14px;
		line-height: 20px;
		margin-bottom: 0;
		margin-right: 20px;
		display: block;
	}
}

table.formTable .address{
	margin-bottom:10px;
}
table.formTable input[type=text].hope{
	width:200px !important;
}
table.formTable span.wpcf7-list-item{
	margin-left:0;
}
.contact .wpcf7 select,.contact .wpcf7 .wpcf7-list-item-label{
	font-size:16px;
}
.checkbox-naiyou span.wpcf7-list-item{
	display:block;
}

/* ----------------------------------------------------------------------
 個人情報保護法
---------------------------------------------------------------------- */
h3.privacyTit {
  border-bottom: solid 3px #1eaa39;
  position: relative;
	margin-bottom:20px;
	padding-bottom:10px;
}
h3.privacyTit:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #009fe8;
  bottom: -3px;
  width: 30%;
}
ul.privacyUl{
	margin-top:10px;
}
ul.privacyUl li{
	padding-left:1em;
	text-indent:-1em;
}
ul.privacyUl li::before{
	content: '・';
}