@charset "utf-8";
/* CSS Document */

.pc {
	display: none !important;
}

body {
-webkit-text-size-adjust: 100%;
}

p, li, dt, dd {
	/*Androidブラウザフォントバグ対策*/
	 max-height: 999999px;
}

video{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*MV*/
main{
}
.topMv{
	height: 85vh;
	position: relative;
}
.topMv video{
	width: 100%;
	height: 85vh;
	object-fit: cover;
}

.topBg1{
	position: relative;
	z-index: 5;
}


#mvWrap {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}
#mv{
}


/*commonスタイル*/

img{
    max-width: 100%;
    height: auto;
}

#mv video {
        /* モバイルでのバッテリー消費を抑制 */
        -webkit-playsinline: true;
        /* 可能な限り早期読み込み */
        preload: auto;
}


/*TOP*/
.topBg1{
	position: relative;
	color: #fff;
	background: url(../img/inner/bg_01_sp.jpg) no-repeat;
	background-size: 100%;
	background-position: top center;
	background-repeat: repeat-y;
}
/*
.topBg1:before{
	content: "";
	position: sticky;
	background: url(../img/inner/bg_01.jpg) no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}
*/
#topSec01{
    position: relative;
    z-index: 1;
}
.topSec01W{
	padding: 60px 0;
	position: relative;
	z-index: 1;
}
.top01TxtW{
	width: 100%;
	margin: 0 auto;
	position: relative;
	color: #fff;
}
.top01TxtW:before{
	content: "";
	background: url("../img/sp/sec01_img_01@2x.png") no-repeat;
	background-size: contain;
	width: 293px;
	height: 234px;
	position: relative;
	display: block;
	margin: 0 auto;
}
.top01TxtW:after{
	content: "";
	background: url("../img/sp/sec01_img_02@2x.png") no-repeat;
	background-size: contain;
	width: 279px;
	height: 235px;
	position: relative;
	display: block;
	margin: 0 auto;
}
.top01Ttl{
	margin-bottom: 25px;
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
}
.top01Copy{
	margin-bottom: 30px;
}
.top01Txt{
	margin-bottom: 40px;
}
.top01BtnW{
	margin-bottom: 50px;
}

#topSec02{
    position: relative;
    z-index: 1;
}
.topSec02W{
	position: relative;
	z-index: 1;
}
.top02W{
    position: relative;
	padding: 28px 16px;
	background: #E6E6E6;
	box-sizing: border-box;
	border-radius: 24px;
	border: 1px solid #000;
}

.top02TtlW{
	display: inline-block;
	width: 240px;
	position: relative;
}
.top02Ttl{
	font-size: 3.2rem;
	color: #0086F8;
	font-weight: 900;
	margin-bottom: 24px;
}
.top02BtnsW{
}

.top02Lists {
    z-index: 2;
    box-sizing: border-box;
    position: relative;
	text-align: left;
	border-top: 1px solid #CACACA;
	width: 100%;
	margin-bottom: 24px;
}
.top02List{
}
.top02List a{
	box-sizing: border-box;
	border-bottom: 1px solid #CACACA;
	padding: 8px 34px 8px 8px;
	position: relative;
	display: block;
}
.top02List a:after{
	content: "";
	background: url("../img/arrow_r_2.svg") no-repeat;
	background-size: contain;
	width: 15px;
	height: 7px;
	display: block;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}
.top02List a:hover {
	background: rgba(255,255,255,0.5);
}
.top02DateW{
	line-height: 1.5rem;
	color: #9A9A9A;
	font-weight: bold;
	margin-bottom: 4px;
}
.top02ListCatW{
	line-height: 1.4rem;
	color: #2C91D1;
}

.top02Img img{
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top02TxtW{
	box-sizing: border-box;
	width: 100%;
}

.top02Ttl2{
	font-size: 1.4rem;
	line-height: 2rem;
	font-weight: bold;
	color: #000;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	box-sizing: border-box;
}
.top02Btn{
	width: 100%;
}

#topSec03{
    position: relative;
    z-index: 1;
}

.topSec03W{
	padding: 60px 0 0px;
	position: relative;
	z-index: 1;
	color: #fff;
}
.top03TtlW{
	position: relative;
	white-space: nowrap;
	margin-bottom: 20px;
}
.top03TtlW.youtube .top03Ttl{
	position: relative;
}
.top03TtlW.youtube:before{
	background: url("../img/icon_you_1.svg") no-repeat;
	background-size: contain;
}
.top03Ttl{
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
}
.top03Flex{
	margin-bottom: 55px;

}
.top03Video{
	width: 100%;
	margin-bottom:30px;
	position: relative;
	aspect-ratio: 16 / 9;
}
.top03Video:before{
	content: "";
	background: url("../img/icon_play.svg") no-repeat;
	background-size: contain;
	width: 45px;
	height: 45px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.top03Video iframe {
	border-radius: 16px;
	border: 1px solid #000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border-radius: 16px;
	border: 1px solid #000;
}

.top03Video img{
	border-radius: 16px;
}

#topSec04{
    position: relative;
    z-index: 1;
}
.topSec04W{
	padding: 80px 0 80px;
	z-index: 2;
	position: relative;
	color: #fff;
}
.top04TtlW{
	margin-bottom: 55px;
}
.top04TtlW.ins:before{
	background: url("../img/icon_ins_1.svg") no-repeat;
	background-size: contain;
}
.top04Ttl{
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
}
.top04Lists{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 30px;
}
.top04List{
	width: 47%;
	margin-bottom: 16px;
	border: 1px solid #000;
	border-radius: 16px;
}
.top04List img{
	border-radius: 16px;
}
.topBg2 {
	position: relative;
	color: #fff;
	background: url(../img/inner/bg_03_sp.jpg) no-repeat;
	background-size: 100%;
	background-position: top center;
	background-repeat: repeat
}
/*
.topBg2:before{
	content: "";
	position: sticky;
	background: url(../img/inner/bg_03.jpg) no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}*/
#topSec05{
    position: relative;
    z-index: 1;
}

.topSec05W{
	padding: 60px 0 0px;
	z-index: 0;
	position: relative;
	color: #fff;
}
.top05TtlW{
	margin-bottom: 40px;
	position: relative;
}
.top05TtlW:before{
	content: "";
	background: url("../img/sp/sec04_obj_01.svg") no-repeat;
	background-size: contain;
	width: 37px;
	height: 81px;
	display: block;
	position: absolute;
	top: 41px;
	left: 0px;
}
.top05TtlW:after{
	content: "";
	background: url("../img/sp/sec04_obj_02.svg") no-repeat;
	background-size: contain;
	width: 44px;
	height: 76px;
	display: block;
	position: absolute;
	top: 44px;
	right: 0px;
}

.top05Ttl{
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
}
.top05Txt{
	margin-bottom: 40px;
}
.top05Flex{
	display: flex;
	justify-content: flex-start;
	column-gap: 15px;
	flex-wrap: wrap;
}
.top05Box{
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 16px 16px 24px rgba(109,117,132,0.3);
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	margin-bottom: 16px;
	position: relative;
}
.top05Box:after{
	content: "";
	background: url("../img/arrow_r_3.svg") no-repeat;
	background-size: contain;
	width: 25px;
	height: 25px;
	display: block;
	position: absolute;
	right: 10px;
	bottom: 10px;
}

.top05Box.pE-none:after{
	background: none;
}

.top05Box{
	display: block;
}
.top05Box a:hover{
	filter: brightness(1.2);
}
.top05TxtW{
	padding: 15px 24px 32px;
}
.top05Ttl2{
	color: #0253D4;
	margin-bottom: 10px;
}
#topSec06{
    position: relative;
    z-index: 1;
}

.topSec06W{
	padding: 70px 0 80px;
	position: relative;
	z-index: 1;
	color: #fff;
}
.top06TtlW{
	margin-bottom: 45px;
	position: relative;
}
.top06TtlW:before{
	content: "";
	background: url("../img/sp/sec05_obj_01.svg") no-repeat;
	background-size: contain;
	width: 44px;
	height: 31px;
	display: block;
	position: absolute;
	left: 0;
	top: 40px;
}
.top06TtlW:after{
	content: "";
	background: url("../img/sp/sec05_obj_02.svg") no-repeat;
	background-size: contain;
	width: 44px;
	height: 32px;
	display: block;
	position: absolute;
	right: 0px;
	top: 24px;
}

.top06Ttl{
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
}
.top06Lists{
	margin-bottom: 70px;
}
.top06Lists .slick-list {
    overflow: visible;
}
.top06List{
	width: 251px;
	display: inline-block;
	margin-right: 26px;
	text-align: center;
}
.top06List a:hover{
	filter: brightness(1.2);
}
.top06Img{
	margin-bottom: 16px;
}

.top06Img img{
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ccc;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  margin:0 auto 20px;
}

.top06Txt{
	font-size: 2rem;
	font-weight: bold;
	text-decoration: underline;
	color: #fff;
}

.top06Txt a:link,.top06Txt a:visited{
	color: #fff;
}

.top06Txt a:hover{
	text-decoration: none;
}

.topBg3 {
	position: relative;
	background: url(../img/inner/bg_02_sp.jpg) no-repeat;
	background-size: 100%;
	background-position: top center;
	background-repeat: repeat-y;
}
/*
.topBg3:before{
	content: "";
	position: sticky;
    background: url(../img/inner/bg_02.jpg) no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}*/

#topSec07{
	position: relative;
	overflow: hidden;
}
.topSec07W{
	padding: 80px 0 30px;
	position: relative;
	z-index: 1;
}
.top07Lists{
	position: relative;
	overflow: visible;
	margin-bottom: 90px;
}
.top07Lists .slick-list {
	overflow: visible;
}
.top07List{
	width: 125px;
	margin-right: 24px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 16px 16px 24px rgba(109,117,132,0.3);
	transition: 0.3s;
	transform: scale(1);
	transform-origin: center;
}
.top07List.slick-center {
	transform: scale(1.8);
	z-index: 100;
	position: relative;
	border-radius: 8px;
}
.current-slide-number{
	color: #0253D4;
	letter-spacing: -0.1em;
	display: inline-block;
	text-align: center;
	width: 100%;
	position: relative;
	margin-bottom: 30px;
}
.current-slide-number__index{
	font-size: 4.8rem;
}
.current-slide-number__separator{
	font-size: 4.8rem;
	font-family: "M PLUS 1p", serif;
}
.current-slide-number__total{
	font-size: 3.6rem;
}
.top07TxtW{
	display: block;
	z-index: 10;
	margin-bottom: 110px;
}
.top07Ttl{
	text-align: center;
	margin-bottom: 30px;
}
.top07Ttl span{
	color: #0253D4;
	display: inline-block;
	border-bottom: 8px solid #0253D4;
}
.top07Txt{
	text-align: center;
}

#topSec08{
	position: relative;
	overflow: hidden;
}
.topSec08W{
	padding: 80px 0 30px;
	position: relative;
	z-index: 1;
}
.top08Ttl1{
	margin-bottom: 30px;
}
.top08Copy{
	margin-bottom: 30px;
}
.top08Txt1{
	margin-bottom: 60px;
}
.top08Flex{
}
.top08Box{
	width: 100%;
	margin-bottom: 60px;
}
.top08Mov{
	border-radius: 16px;
	border: 1px solid #000;
	margin-bottom: 30px;
	overflow: hidden;
}
.top08Ttl2{
	margin-bottom: 20px;
}
#topSec09{
	position: relative;
	overflow: hidden;
}
.topSec09W{
	padding: 80px 0;
	position: relative;
	z-index: 1;
	color: #fff;
}
.top09Ttl1{
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
	margin-bottom: 30px;
}
.top09Copy{
	margin-bottom: 40px;
}
.top09Flex{
	margin-bottom: 60px;
}
.top09Img{
	width: 100%;
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid #fff;
	box-sizing: border-box;
	margin-bottom: 15px;
}
.top09Img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top09TxtW{
	width: 100%;
}
.top09No{
	font-size: 5.6rem;
	letter-spacing: 0.04em;
	color: #2BDEFF;
	margin-bottom: 10px;
}
.top09Ttl2{
	margin-bottom: 25px;
}
#topSec10{
	position: relative;
}
.topSec10W{
	padding: 150px 0 100px;
	position: relative;
	z-index: 1;
}
.topSec10W:before{
	content: "";
	background: url("../img/sp/sec10_img_01@2x.png") no-repeat;
	background-size: contain;
	width: 314px;
	height: 130px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-110px);
	top: 70px;
}
.topSec10W:after{
	content: "";
	background: url("../img/sp/sec10_img_02@2x.png") no-repeat;
	background-size: contain;
	width: 295px;
	height: 205px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%); 
	top: 406px;
}
.top10TxtW{
	width: 100%;
}
.top10Ttl1{
	margin-bottom: 280px;
}
.top10Copy{
	margin-bottom: 30px;
}
.top10Txt1{
	margin-bottom: 30px;
	width: 100%;
}
.top10Mov{
	width: 100%;
	margin: 0 auto 40px;
	position: relative;
}
.top10Mov iframe{
	border-radius: 16px;
	width: 100%;
	vertical-align: bottom;
	aspect-ratio: 16 / 9;
	border: 1px solid #000;
	height: 200px;
}

#secCta{
	position: relative;
	padding-bottom: 160px;
}
.secCtaW{
	position: relative;
	z-index: 1;
	padding: 45px 20px;
	color: #fff;
	text-align: center;
    background: #F47100;
	border-radius: 24px;
	border: 1px solid #000;
	box-sizing: border-box;
}
.ctaW1{
	margin-bottom: 24px;
	text-align: center;
	position: relative;
}
.ctaTtlW{
	display: inline-block;
	position: relative;
	text-align: left;
}
.ctaTtl1:before{
	content: "";
	background: url("../img/icon_mail_2.svg") no-repeat;
	background-size: contain;
	width: 64px;
	height: 64px;
	display: block;
	position: absolute;
	left: 0;
	top: -12px;
}
.ctaTtl1{
	line-height: 3.4rem;
	font-size: 3.4rem;
	margin-bottom: 30px;
	padding-left: 75px;
	position: relative;
}
.ctaTxt1{
	text-align: center;
}
.ctaW2{
}
.ctaTelW{
	background: #fff;
	border-radius: 24px;
	box-shadow: 16px 16px 24px rgba(214,102,7,0.7);
	color: #000;
	padding: 24px 25px;
	box-sizing: border-box;
	width: 100%;
	position: relative;
	border: 1px solid #373B51;
	margin-bottom: 20px;
}
.ctaBtnW{
	background: #fff;
	border-radius: 24px;
	box-shadow: 16px 16px 24px rgba(214,102,7,0.7);
	color: #000;
	padding: 24px 20px;
	box-sizing: border-box;
	width: 100%;
	position: relative;
	border: 1px solid #373B51;
}
.ctaTel{
	font-size: 3.6rem;
	letter-spacing: 0em;
	position: relative;
	display: block;
	color: #0082CD !important;
	box-sizing: border-box;
	font-weight: 700;
	white-space: nowrap;
}
.ctaTtl2{
	font-size: 1.8rem;
	font-weight: bold;
	display: inline-block;
	position: relative;
	padding-left: 30px;
}
.ctaTtl2.telTtl{
	margin-bottom: 8px;
}
.ctaTtl2.mailTtl{
	margin-bottom: 10px;
}
.ctaTtl2.telTtl:before{
	content: "";
	background: url("../img/icon_tel.svg") no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	display: block;
	position: absolute;
	left: 0;
}
.ctaTtl2.mailTtl:before{
	content: "";
	background: url("../img/icon_mail_3.svg") no-repeat;
	background-size: contain;
	width: 21px;
	height: 17px;
	display: block;
	position: absolute;
	left: 0;
	top: 5px;
}
.ctaTel.tel{
}
.ctaTxt2{
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.04em;
}
.ctaBtnW{
	width: 100%;
}
.ctaBtnW .mail{
	margin-bottom: 20px;
}


/*中面共通*/
.inBg1{
	position: relative;
	color: #fff;
	background: url(../img/inner/bg_01_sp.jpg) no-repeat;
        background-size: 100%;
        background-position: top center;
        background-repeat: repeat-y;
}
/*
.inBg1:before{
	content: "";
	position: sticky;
	background: url("../img/inner/bg_01.jpg") no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}*/
.inBg2{
	position: relative;
        background: url(../img/inner/bg_02_sp.jpg) no-repeat;
        background-size: 100%;
        background-position: top center;
        background-repeat: repeat-y;
}
/*
.inBg2:before{
	content: "";
	position: sticky;
	background: url("../img/inner/bg_02_sp.jpg") no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}*/
.inBg3{
	position: relative;
	color: #fff;
	background: url(../img/inner/bg_03_sp.jpg) no-repeat;
        background-size: 100%;
        background-position: top center;
        background-repeat: repeat
}
/*
.inBg3:before{
	content: "";
	position: sticky;
	background: url("../img/inner/bg_03.jpg") no-repeat;
	background-size: cover;
	background-position: top center;
	display: block;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}*/



#inMvWrap {
	position: relative;
	padding-top: 100px;
	/*margin-top: -100vh;*/
}

.inBg2 #inMvWrap {
	position: relative;
	padding-top: 100px;
	margin-top: 0vh;
}

#inMv{
	box-sizing: border-box;
	position: relative;
	color: #fff;
}
.inMvTtlW{
	width: 90%;
	margin: 0 auto 0px;
	position: relative;
	padding-bottom: 50px;
}
.inMvTtl{
	font-size: 5.2rem;
	line-height: 5rem;
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
	margin-bottom: 10px;
}
.inMvTtlS{
	font-size: 1.6rem;
}
.inMvImg{
	width: 95vw;
	margin: 0 auto;
	height: 200px;
	border-radius: 20px;
	border: 1px solid #fff;
	overflow: hidden;
}
.inMvImg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.inMvBread{
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 10px;
	text-align: right;
	font-size: 1.2rem;
	font-weight: bold;
}
.bread1{
	display: inline-block;
	position: relative;
	text-decoration: underline !important;
	color: #fff !important;
}
.bread1:after{
	content: ">";
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}
.bread2{
	display: inline-block;
}

.inBg2 > .inCta01:first-child{
	padding-top: 60px;
}


/*会社概要　company.php*/

.comMv:after{
	content: "";
	background: url("../img/company/in_mv_obj_01.svg") no-repeat;
	background-size: contain;
	position: absolute;
	display: block;
	width: 180px;
	height: 65px;
	top: 0px;
	left: 50%;
	transform: translateX(77px);
}

#comSec01{
	position: relative;
}
.comSec01W{
	color: #fff;
	position: relative;
	padding: 60px 0 0;
}
.com01Ttl1{
	margin-bottom: 30px;
}
.com01W{
	position: relative;
	box-sizing: border-box;
	padding: 60px 0;
}
.com01W:before{
	content: "";
	background: url("../img/company/com01_bg.jpg") no-repeat;
	background-size: cover;
	background-position: center center;
	width: 95vw;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
	border: 1px solid #fff;
}
.com01Box{
	position: relative;
	background: rgba(255,255,255,0.8);
	border-radius: 20px;
	width: 100%;
	margin: 0 auto;
	color: #0253D4;
	padding: 20px;
	box-sizing: border-box;
}
.com01Ttl2{
	margin-bottom: 42px;
}
.com01Copy{
	text-align: center;
	margin-bottom: 30px;
}
#comSec02{
	position: relative;
}
.comSec02W{
	color: #fff;
	position: relative;
	padding: 145px 0 0;
}
.comSec02W:before{
	content: "";
	background: url("../img/company/com02_obj_01.svg") no-repeat;
	background-size: contain;
	width: 147px;
	height: 223px;
	position: absolute;
	display: block;
	left: 50%;
	transform: translateX(-697px);
	top: 275px;
}

.com02Ttl1{
	margin-bottom: 60px;
}
.com02ImgW{
	background: url("../img/company/com02_img@2x.jpg") no-repeat;
	background-size: cover;
	background-position: top center;
	position: relative;
	width: 100%;
	height: 220px;
	border-radius: 20px;
	border: 1px solid #fff;
	box-sizing: border-box;
	padding: 130px 0 0 30px;
	margin-bottom: 30px;
}
.com02Shol{
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.com02Name{
	font-weight: 900;
	font-size: 3rem;
	letter-spacing: 0.04em;
}

#comSec03{
	position: relative;
}

#comSec03.kin{
        background: url(../img/inner/bg_01.jpg) no-repeat;
        background-size: cover;
        background-position: top center;
        display: block;
        width: 100%;
	color:#FFF;
}

.comSec03W{
	position: relative;
	padding: 60px 0 80px;
	text-align: center;
	z-index: 112;
}
.com03Ttl1{
	margin-bottom: 20px;
}
.com03Ttl1 span{
	border-bottom: 6px solid #fff;
}
.com03Copy2{
	margin-bottom: 60px;
}
.com03W{
	background: #50B6FF;
	border-radius: 20px;
	border: 1px solid #fff;
	padding: 20px;
}
.com03Ttl3{
	margin-bottom: 30px;
}
.com03Flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.com03Item{
	width: 48%;
}
.com03Img{
	border-radius: 24px;
	overflow: hidden;
	margin-bottom: 7px;
}
.com03Vol{
	color: #fff !important;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}

#comSec04{
	position: relative;
}
.comSec04W{
	position: relative;
	padding: 60px 0 60px;
	text-align: center;
}
.com04Ttl{
	margin-bottom: 60px;
}
.com04Ttl span{
	border-bottom: 6px solid #0253D4;
}
.com04Flex{
}
.com04Item{
	width: 80%;
	display: inline-block;
	margin-bottom: 20px;
}
.com04Img{
	margin-bottom: 10px;
}
.com04Txt{
	font-size: 2rem;
	font-weight: 900;
}

#comSec05{
	position: relative;
}
.comSec05W{
	position: relative;
	padding: 60px 0 60px;
	text-align: center;
	color: #fff;
}
.com05Ttl1{
	margin-bottom: 40px;
}
.com05Flex{
}
.com05Item{
	border-radius: 20px;
	background: #50B6FF;
	border: 1px solid #fff;
	padding: 20px;
	box-sizing: border-box;
	margin-bottom: 16px;
}
.com05Img{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 80vw;
	max-height: 264px;
	margin-bottom: 20px;
}
.com05Img img{
	max-height: 264px;
	height: auto;
	max-width: 100%;
	width: auto;
	border: 1px solid #000;
	border-radius: 12px;
}
.com05Ttl2{
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	font-weight: 900;
	margin-bottom: 10px;
}
.com05Txt{
	font-weight: bold;
}

.comBtnW{
	padding: 60px 0 0;
}
.comBtn{
	width: 100%;
	display: inline-block;
	position: relative;
	font-size: 1.8rem;
	font-weight: 900;
	color: #fff !important;
	border-radius: 15px;
	background: #F49600;
	border: 1px solid #000;
	line-height: 60px;
	box-sizing: border-box;
	padding: 0 0 0 85px;
	overflow: hidden;
}
.comBtn:before{
	content: "";
	background: rgba(255,255,255,0.2);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: -100%;
	transition: 0.3s;
}
.comBtn:hover:before{
	left: 0;
}
.comBtnTxt:before{
	content: "";
	width: 44px;
	height: 44px;
	display: block;
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
}
.comBtn1 .comBtnTxt:before{
	background: url("../img/company/icon_company.svg") no-repeat;
	background-size: contain;
}
.comBtn2 .comBtnTxt:before{
	background: url("../img/company/icon_qualified.svg") no-repeat;
	background-size: contain;
}
.comBtn3 .comBtnTxt:before{
	background: url("../img/company/icon_access.svg") no-repeat;
	background-size: contain;
}
.comBtn .comBtnTxt:after{
	content: "";
	background: url("../img/company/arrow_b_1.svg") no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}

#comSec06{
	position: relative;
}
.comSec06W{
	position: relative;
	padding: 60px 0 0;
	color: #fff;
}
.com06Ttl1W{
	position: relative;
	margin-bottom: 30px;
}
.com06Ttl1W:before{
	background: url("../img/company/icon_ttl_company.svg") no-repeat;
	background-size: contain;
}
.com06W{
	border-radius: 20px;
	border: 1px solid #fff;
	overflow: hidden;
}
.com06Dl1{
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 3rem;
}
.com06Dl1:last-child .com06Dt1{
	border-bottom: none;
}
.com06Dl1:last-child .com06Dd1{
	border-bottom: none;
}
.com06Dt1{
	box-sizing: border-box;
	width: 100%;
	border-bottom: 1px solid #fff;
	background: #0253D4;
	color: #fff;
	padding: 13px 20px;
}
.com06Dd1{
	box-sizing: border-box;
	width: 100%;
	border-bottom: 1px solid #0253D4;
	background: #E6E6E6;
	color: #222;
	padding: 13px 20px;
}

.com06Dl2{
	position: relative;
}
.com06Dt2{
	display: block;
}
.com06Dd2{
	display: block;
}

#comSec07{
	position: relative;
}
.comSec07W{
	position: relative;
	padding: 60px 0;
	color: #fff;
}
.com07Ttl1W{
	position: relative;
	margin-bottom: 30px;
}
.com07Ttl1W:before{
	background: url("../img/company/icon_ttl_qualified.svg") no-repeat;
	background-size: contain;
}
.com07W{
	border-radius: 20px;
	border: 1px solid #0082CD;
	overflow: hidden;
	background: #E6E6E6;
	padding: 30px;
	box-sizing: border-box;
}
.com07Flex{
}
.com07Item{
}
.com07Dl{
	color: #0253D4;
	font-size: 1.4rem;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #0253D4;
}
.com07Dt{
	padding: 10px 0 10px 15px;
	display: inline-block;
}
.com07Dd{
	text-align: right;
	padding: 10px 20px 10px 0;
	display: inline-block;
}

#comSec08{
	position: relative;
}
.comSec08W{
	position: relative;
	padding: 60px 0 60px;
	text-align: center;
}
.com08Ttl1W{
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}
.com08Ttl1W:before{
	background: url("../img/company/icon_ttl_access.svg") no-repeat;
	background-size: contain;
}
.com08Ttl1{
	border-bottom: 6px solid #0253D4;
}
.com08Txt{
	margin-bottom: 20px;
}
.com08Map{
	width: 95vw;
	margin: 0 auto;
	border: 1px solid #0253D4;
	border-radius: 20px;
	overflow: hidden;
}
.com08Map iframe{
	width: 100%;
	height: 300px;
	vertical-align: bottom;
}

/*コンクリート補修　works.php*/

.worMv:after{
}
.worMv .inMvTtl{
	font-size: 4rem;
}

#worSec01{
	position: relative;
}
.worSec01W{
	color: #fff;
	position: relative;
	padding: 60px 0 287px;
}
.worSec01W:before{
	content: "";
	background: url("../img/works/wor01_asset_01@2x.png") no-repeat;
	background-size: contain;
	width: 142px;
	height: 198px;
	display: block;
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-190px);
}
.worSec01W:after{
	content: "";
	background: url("../img/works/wor01_asset_02@2x.png") no-repeat;
	background-size: contain;
	width: 226px;
	height: 287px;
	display: block;
	position: absolute;
	bottom: 0px;
	left: 50%;
}
.wor01W{
	position: relative;
}
.wor01Copy{
	margin-bottom: 30px;
}

#worSec02{
	position: relative;
}
.worSec02W{
	color: #fff;
	position: relative;
	padding: 60px 0 0;
}
.wor02W{
	position: relative;
	box-sizing: border-box;
	padding: 60px 0;
	z-index: 1;
}
.wor02W:before{
	content: "";
	background: url("../img/works/wor02_bg.jpg") no-repeat;
	background-size: cover;
	background-position: center center;
	width: 95vw;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
	border: 1px solid #fff;
}

.worBg1{
}
#worSec03{
	position: relative;
}
.worSec03W{
	color: #fff;
	position: relative;
	padding: 60px 0 60px;
}
.wor03Ttl1{
	margin-bottom: 60px;
}
.wor03W1{
	position: relative;
}
.wor03No{
	color: #2BDEFF;
	font-size: 4rem;
	letter-spacing: 0.04em;
}
.wor03Img{
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #fff;
	z-index: 1;
	margin-bottom: 20px;
}
.wor03TxtW{
	background: #50B6FF;
	border: 1px solid #fff;
	box-sizing: border-box;
	border-radius: 20px;
}
.wor03W1 .wor03TxtW{
	padding: 20px;
	margin-bottom: 60px;
}
.wor03W2 .wor03TxtW{
	padding: 20px;
}


.wor03W2{
	position: relative;
	padding-bottom: 60px;
}

.wor03Ttl2{
	margin-bottom: 35px;
}
.wor03Lists1{
	
}
.wor03List1{
	font-size: 1.4rem;
	line-height: 2rem;
	letter-spacing: 0.04em;
	padding-left: 16px;
	position: relative;
	margin-bottom: 10px;
	font-weight: 900;
}
.wor03List1:before{
	content: "";
	background: #0082CD;
	width: 8px;
	height: 8px;
	display: block;
	position: absolute;
	left: 0;
	top: 4px;
	border-radius: 50%;
}

.wor03W3{
	position: relative;
	text-align: center;
	padding-top: 80px;
}
.wor03W3:before{
	content: "";
	background: url("../img/works/arrow_b_2.svg") no-repeat;
	background-size: contain;
	width: 139px;
	height: 19px;
	display: block;
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
}
.wor03W3:after{
	content: "";
	background: url("../img/works/wor03_obj_03.svg") no-repeat;
	background-size: contain;
	width: 514px;
	height: 170px;
	display: block;
	position: absolute;
	top: 84px;
	left: 50%;
	transform: translateX(-50%);
}
.wor03Lists2{
	display: inline-block;
	position: relative;
	z-index: 1;
}
.wor03List2{
	text-align: left;
	position: relative;
	padding-left: 55px;
	font-size: 3rem;
	line-height: 3.6rem;
	margin-bottom: 15px;
}
.wor03List2:before{
	content: "";
	background: url("../img/works/icon_list.svg") no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#worSec04{
	position: relative;
}
.worSec04W{
	position: relative;
	padding: 60px 0 60px;
}
.wor04Ttl1 span{
	border-bottom: 6px solid #0253D4;
}
.wor04Ttl1{
	margin-bottom: 60px;
}
.wor04W{
	background: #fff;
	border-radius: 20px;
	border: 1px solid #000;
	box-sizing: border-box;
	padding: 20px;
	margin-bottom:40px;
}

.wor04W:last-of-type{
	margin-bottom:0px;
}
.wor04Ttl2{
	font-size: 2rem;
	line-height: 3.4rem;
	font-weight: 900;
	display: inline-block;
	position: relative;
	vertical-align: middle;
	margin-bottom: 15px;
}
.wor04No{
	font-size: 3rem;
	margin-right: 20px;
	font-weight: 400;
	display: inline-block;
	position: relative;
}
.wor04Flex{
	margin-bottom: 25px;
}
.wor04Img{
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #000;
	margin-bottom: 20px;
}
.wor04TxtW{
	display: flex;
	align-items: center;
}
.wor04Area{
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.025;
	margin-bottom: 23px;
}
.wor04Lists{
	
}
.wor04List{
	position: relative;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 2.6rem;
	padding-left: 15px;
}
.wor04List:before{
	content: "";
	background: #CACACA;
	width: 8px;
	height: 8px;
	display: block;
	position: absolute;
	left: 0;
	top: 8px;
	border-radius: 50%;
}
.wor04Box{
	background: #E6E6E6;
	border-radius: 8px;
	padding: 20px;
	box-sizing: border-box;
}
.wor04Img2{
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #000;
	margin-bottom: 20px;
}
.wor04TxtW2{
}

/*採用情報*/

.recMv{
	color: #0253D4 !important;
}
.recMv:after{
	content: "";
	background: url(../img/company/in_mv_obj_01.svg) no-repeat;
	background-size: contain;
	position: absolute;
	display: block;
	width: 180px;
	height: 65px;
	top: -8px;
	left: 50%;
	transform: translateX(77px);
    }
.recMv .inMvTtl{
	text-shadow: none;
}
.recMv .bread1{
	color: #0253D4 !important;
}

#recSec01{
	position: relative;
}
.recSec01W{
	position: relative;
	padding: 60px 0;
}
.rec01W{
	position: relative;
	text-align: center;
}
.rec01Slides{
	margin-bottom: 26px;
	width: 100%;
}
.rec01Slide{
	width: 140px;
	margin-right: 9px;
	border-radius: 16px;
	border: 2px solid #222;
	overflow: hidden;
}
.rec01Asset01{
	position: absolute;
	top: 170px;
	left: 50%;
	transform: translateX(-789px);
}
.rec01Asset02{
	position: absolute;
	top: -69px;
	left: 50%;
	transform: translateX(561px);
}
#recSec02{
	position: relative;
}
.recSec02W{
	position: relative;
}
.rec02W{
	position: relative;
	box-sizing: border-box;
	padding: 60px 0;
	z-index: 1;
}
.rec02W:before{
	content: "";
	background: url("../img/recruit/sec02_bg.jpg") no-repeat;
	background-size: cover;
	background-position: center center;
	width: 97vw;
	min-width: 1200px;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 40px;
	border: 1px solid #fff;
}
.rec02Ttl1{
	margin-bottom: 30px;
	line-height: 4rem;
	font-weight: bold;
}
.rec021Txt{
	margin-bottom: 43px;
}
.rec02MovTtl{
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.04em;
	font-weight: 900;
	margin-bottom: 28px;
}
.rec02MovTtl span{
	display: inline-block;
	position: relative;
}
.rec02MovTtl span:before{
	content: "";
	background: #0253D4;
	height: 55px;
	width: 3px;
	display: block;
	position: absolute;
	left: -30px;
	top: 0;
	transform: rotate(-35deg);
}
.rec02MovTtl span:after{
	content: "";
	background: #0253D4;
	height: 55px;
	width: 3px;
	display: block;
	position: absolute;
	right: -30px;
	top: 0;
	transform: rotate(35deg);
}
.rec02Mov{
	width: 100%;
	margin: 0 auto;
	border-radius: 16px;
	border: 2px solid #222;
	overflow: hidden;
}
.rec02Mov iframe{
	width: 100%;
	vertical-align: bottom;
	aspect-ratio: 16 / 9;
}
.recBg1{
}
#recSec03{
	position: relative;
	overflow: hidden;
}
.recSec03W{
	position: relative;
	padding: 60px 0 100px;
	color: #fff;
}
.rec03Ttl{
	margin-bottom: 70px;
}
.rec03W{
	margin-bottom: 30px;
}
.rec03ImgW{
	margin: 0 auto;
	position: relative;
	text-align: center;
}
.rec03Img{
	width: 269px;
	height: 269px;
	border-radius: 50%;
	border: 2px solid #fff;
	overflow: hidden;
	display: inline-block;
}
.rec03Bal{
	background: url("../img/recruit/sp/sec03_bal.png") no-repeat;
	background-size: contain;
	width: 350px;
	height: 140px;
	display: block;
	color: #0253D4;
	box-sizing: border-box;
	padding: 30px 25px 15px;
	font-weight: 900;
	text-align: left;
	position: relative;
	left: 50%;
    transform: translateX(-50%);
}
.rec03Shol{
	color: #fff;
	background: #0253D4;
	font-size: 1.2rem;
	line-height: 2.4rem;
	border-radius: 23px;
	padding: 0 20px;
	display: inline-block;
	margin-bottom: 10px;
}
.rec03Txt1 {
	font-size: 2.4rem;
	line-height: 3.6rem;
}
.rec03Txt1 span{
	color: #F49600;
}
.rec03Txt2{
	font-size: 1.8rem;
}
.rec03Txt2 span{
	color: #F49600;
}
.rec03TxtW{
	background: #50B6FF;
	border-radius: 20px;
	border: 1px solid #fff;
	box-sizing: border-box;
	padding: 60px 20px 20px;
	margin-top: -24px;
}
.rec03Txt3{
	font-weight: 900;
}
.rec03Asset01{
	position: absolute;
	top: 192px;
	left: 50%;
	transform: translateX(-876px);
}
.rec03Asset02{
	position: absolute;
	top: 1429px;
	left: 50%;
	transform: translateX(706px);
}
.rec03Asset03{
	position: absolute;
	top: 3175px;
	left: 50%;
	transform: translateX(-857px);
}
.rec03Asset04{
	position: absolute;
	top: 4901px;
	left: 50%;
	transform: translateX(697px);
}
.rec03Asset05{
	position: absolute;
	top: 6489px;
	left: 50%;
	transform: translateX(-828px);
}
.rec03Asset06{
	position: absolute;
	bottom: 265px;
	left: 50%;
	transform: translateX(753px);
}

#recSec04{
	position: relative;
}
.recSec04W{
	position: relative;
	padding: 115px 0 0;
}
.rec04Ttl{
	position: absolute;
	width: 375px;
	display: block;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
}
.rec04Cont1{
	position: relative;
	z-index: 1;
	width: 375px;
	left: 50%;
	transform: translateX(-50%);
}
.rec04Cont2{
	position: relative;
	z-index: 2;
	width: 375px;
	left: 50%;
	transform: translateX(-50%);
	margin-top: -30px;
}
.rec04Cont3{
	position: relative;
	z-index: 3;
	width: 375px;
	left: 50%;
	transform: translateX(-50%);
	margin-top: -30px;
}
.rec04Cont4{
	position: relative;
	z-index: 4;
	width: 375px;
	left: 50%;
	transform: translateX(-50%);
	margin-top: -30px;
}

.recBg2{
	margin-top: -100px;
}
#recSec05{
	position: relative;
	
}
.recSec05W{
	position: relative;
	padding: 160px 0 60px;
	color: #fff;
}
.rec05Ttl{
	text-align: center;
	margin-bottom: 20px;
	color: #fff;
	text-shadow: 0 3px 40px rgba(5,73,152,0.6);
	font-size: 3.4rem;
	line-height: 4rem;
}
.rec05Txt{
	color: #fff;
	margin-bottom: 40px;
}
.rec05MovW{
	background: rgba(2,83,212,0.8);
	border-radius: 20px;
	border: 1px solid #fff;
	text-align: center;
	box-sizing: border-box;
	padding: 20px;
}

.rec05Mov{
	display: block;
	border-radius: 12px;
	position: relative;
	 aspect-ratio: 16 / 9;
}

.rec05Mov iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border-radius: 16px;
	border: 1px solid #000;
}


#recSec06{
	position: relative;
}
.recSec06W{
	position: relative;
	padding: 0 0 100px;
	color: #fff;
}
.rec06TtlW{
	margin-bottom: 30px;
}
.rec06TtlW.youtube .rec06Ttl1{
	position: relative;
}
.rec06TtlW.youtube:before{
	background: url("../img/icon_you_1.svg") no-repeat;
	background-size: contain;
}
.rec06Ttl1 small{
	font-size: 2rem;
	display: block;
	line-height: 2rem;
	text-align: right;
}
.rec06Flex1{
	width:fit-content;
	margin: 0 auto 40px;
}
.rec06Mov{
	width: 100%;
	margin-bottom: 20px;
}
.rec06BtnW{
	margin-bottom: 40px;
}
.rec06Flex2{
	margin-bottom: 30px;
}
.rec06Img{
	width: 100%;
	border-radius: 8px;
	border: 1px solid #222;
	overflow: hidden;
	margin-bottom: 20px;
}
.rec06Ttl2{
	margin-bottom: 20px;
	text-align: center;
	display: block;
}


#recSec07{
	position: relative;
}
.recSec07W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
.rec07TtlW{
	display: inline-block;
	text-align: left;
	margin-bottom: 40px;
}
.rec07TtlW.glow .rec07Ttl1{
	position: relative;
}
.rec07TtlW.glow:before{
	background: url("../img/recruit/icon_sec07.svg") no-repeat;
	background-size: contain;
}
.rec07Flex{
	text-align: left;
}
.rec07TxtW{
	width: 100%;
	margin-bottom: 20px;
}
.rec07Txt{
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}
.rec07Txt span{
	color: #F49600;
}
.rec07Img{
	width: 100%;
	border-radius: 20px;
	border: 1px solid #0253D4;
	overflow: hidden;
}

#recSec08{
	position: relative;
}
.recSec08W{
	position: relative;
	padding: 0 0 70px;
}
.rec08Ttl{
	margin-bottom: 30px;
}
.rec08Flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.rec08Item{
	width: 48%;
	margin-bottom: 20px;
}
#recSec09{
	position: relative;
}
.recSec09W{
	position: relative;
}
.rec09Ttl1{
	margin-bottom: 40px;
}
.rec09Flex1{
	margin-bottom: 30px;
}
.rec09Item{
	width: 100%;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	text-align: center;
	padding: 48px 32px 44px;
	box-sizing: border-box;
	border: 1px solid #0253D4;
	margin-bottom: 20px;
}
.rec09NoW{
	position: absolute;
	width: 136px;
	height: 136px;
	background: #0253D4;
	clip-path: polygon(0 0, 100% 0%, 0% 100%);
	top: 0;
	left: 0;
	display: block;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	padding: 15px 50px 0 0;
}
.rec09Point{
	font-size: 1.2rem;
}
.rec09No{
	font-size: 2.4rem;
}
.rec09Icon{
	margin-bottom: 42px;
}
.rec09Ttl2W {
	height: 6.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 16px;
}
.rec09Ttl2{
	display: inline-block;
	font-weight: 900;
	font-size: 2.4rem;
}
.rec09Ttl2 span{
	color: #F49600;
}
.rec09Txt{
	text-align: left;
}
.rec09Cau{
	text-align: left;
	margin-top: 45px;
	font-size: 1.2rem;
	font-weight: 500;
}
.rec09W{
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	border: 1px solid #0253D4;
	padding: 20px 20px 0;
	box-sizing: border-box;
	margin-bottom: 90px;
}
.rec09Ttl3{
	margin-bottom: 45px;
}
.rec09Flex2{
	margin-bottom: 20px;
	text-align: center;
}
.rec09Circle{
	width: 100px;
	height: 100px;
	margin: 0 auto 20px;
	box-sizing: border-box;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	background: #0086F8;
	border: 1px solid #222;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 900;
}
.rec09Txt2{
	width: 100%;
	text-align: left;
}
.rec09LineW{
	position: relative;
	color: #fff;
	text-align: center;
	padding: 20px 10px;
	z-index: 1;
}
.rec09LineW:before{
	content: "";
	background: #6FB400;
	position: absolute;
	width: 97vw;
	height: 100%;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 24px;
	border: 1px solid #222;
}
.rec09LineTtl{
	position: relative;
	font-size: 2.8rem;
	font-weight: 900;
	margin-bottom: 30px;
}

.rec09LineBtnW{
	position: relative;
}
.rec09LineBtn{
	position: relative;
	width: 100%;
	display: inline-block;
	background: #fff;
	border: 1px solid #222;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	color: #6FB400 !important;
	font-weight: 900;
	padding: 20px 40px 20px 80px;
	box-sizing: border-box;
	border-radius: 16px;
	text-align: left;
}
.rec09LineBtn:hover{
	filter: brightness(1.2);
}

.rec09LineBtn:before{
	content: "";
	background: url("../img/recruit/icon_line.svg") no-repeat;
	background-size: contain;
	width: 50px;
	height: 50px;
	position: absolute;
	display: block;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.rec09LineBtn:after{
	content: "";
	background: url("../img/recruit/arrow_r_line.svg") no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
	position: absolute;
	display: block;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.recBg3{
	margin-top: -100px;
	color: #fff;
}
#recSec10{
	position: relative;
}
.recSec10W{
	position: relative;
	padding: 160px 0 0
}
.rec10Ttl1{
	margin-bottom: 90px;
}
.rec10Flex{
}
.rec10Item{
	width: 100%;
	position: relative;
	background: #50B6FF;
	border-radius: 20px;
	text-align: center;
	padding: 48px 32px 40px;
	box-sizing: border-box;
	border: 1px solid #fff;
	margin-bottom: 80px;
}
.rec10Item.arrow:after{
	content: "";
	background: url("../img/recruit/arrow_b_pro.svg") no-repeat;
	background-size: contain;
	position: absolute;
	display: block;
	width: 28px;
	height: 52px;
	left: 50%;
	transform: translateX(-50%);
	bottom: -40px;
}
.rec10NoW{
	position: absolute;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 1px solid #222;
	padding-top: 15px;
	left: 50%;
	transform: translateX(-50%);
	top: -42px;
	box-sizing: border-box;
}
.rec10NoW.no1{
	background: #2BBEFF;
}
.rec10NoW.no2{
	background: #0086F8;
}
.rec10NoW.no3{
	background: #0253D4;
}
.rec10Step{
	font-size: 1.5rem;
	line-height: 1.5rem;
}
.rec10No{
	font-size: 3rem;
	line-height: 3.5rem;
}
.rec10Ttl2{
	font-size: 3.2rem;
	margin-bottom: 24px;
}
.rec10Icon{
	margin-bottom: 32px;
}
.rec10Txt{
	text-align: left;
}

#recSec11{
	position: relative;
}
.recSec11W{
	position: relative;
	padding: 60px 0 0
}
.rec11Ttl1{
	margin-bottom: 88px;
}
.rec11BtnW{
	margin: 0 auto 52px;
	display: flex;
	justify-content: space-between;
}
    .rec11Btn {
        width: 48%;
        height: 50px;
        display: inline-block;
        box-sizing: border-box;
        text-align: center;
        background: #fff;
        color: #F49600;
        font-size: 1.8rem;
        border-radius: 47px;
        border: 1px solid #222;
        padding-top: 11px;
        transition: 0.3s;
        cursor: pointer;
        position: relative;
    }
.rec11Btn.active{
	background: #F49600;
	color: #fff;
}
    .rec11Btn.active:after {
        content: "";
        background: url(../img/recruit/bal_b@2x.png) no-repeat;
        background-size: contain;
        position: absolute;
        display: block;
        width: 30px;
        height: 12px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -12px;
    }
.rec11Btn:hover{
	background: #F49600;
	color: #fff;
}
    .rec11Btn small {
        font-size: 1.2rem;
    }
.rec11TableW{
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #0253D4;
	display: none;
}
.rec11TableW.active{
	display: block;
}
.rec11Dl{
	display: flex;
	width: 100%;
}
.rec11Dl dt{
	width: 30%;
	border-bottom: 1px solid #fff;
	color: #fff;
	background: #0253D4;
	font-weight: 500;
	padding: 15px;
}
.rec11Dl:last-child dt{
	border-bottom: none;
}
.rec11Dl dd{
	width: 70%;
	border-bottom: 1px solid #0253D4;
	background: #E6E6E6;
	color: #222;
	padding: 15px;
}
.rec11Dl:last-child dd{
	border-bottom: none;
}

#recSec12{
	position: relative;
}
.recSec12W{
	position: relative;
	padding: 60px 0;
}
.rec12Ttl1{
	margin-bottom: 40px;
}
.contactRec{
	border-radius: 20px;
	border: 1px solid #fff;
	overflow: hidden;
	background: #50B6FF;
	padding: 20px;
	box-sizing: border-box;
}

/*まちづくり事業*/

.devMv .inMvTtl{
	font-size: 4.2rem;
}

#devSec01{
	position: relative;
}
.devSec01W{
	position: relative;
	padding: 60px 0 0;
}
.dev01Copy{
	margin-bottom: 30px;
	position: relative;
    font-size: 4.6rem;
}
.dev01Txt1{
	margin-bottom: 40px;
}
.dev01Img{
	border: 1px solid #fff;
	border-radius: 20px;
	overflow: hidden;
}

#devSec02{
	position: relative;
}
.devSec02W{
	position: relative;
	padding: 60px 0;
}
.dev02Ttl1{
	margin-bottom: 50px;
}
.dev02W{
	position: relative;
}
.de02TxtW{
	width: 100%;
	box-sizing: border-box;
	border-radius: 20px;
	padding: 20px;
	border: 1px solid #fff;
	background: #50B6FF;
	margin-bottom: 20px;
}
.dev02Ttl2{
	margin-bottom: 30px;
}
.dev02Ttl2 span{
	display: inline;
}
.dev02Txt{
	box-sizing: border-box;
}
.dev02Img{
	border-radius: 20px;
	border: 2px solid #fff;
	width: 100%;
	display: block;
	overflow: hidden;
}
.dev02Asset01{
	position: absolute;
	left: 50%;
	transform: translateX(-823px);
	top: -42px;
}
.dev02Asset02{
	position: absolute;
	left: 50%;
	transform: translateX(397px);
	top: 312px;
}
#devSec03{
	position: relative;
}
.devSec03W{
	position: relative;
	padding: 60px 0 0px;
	text-align: center;
}
.dev03Ttl1{
	margin-bottom: 40px;
}
.dev03W{
	background: #E6E6E6;
	border-radius: 20px;
	border: 1px solid #fff;
	box-sizing: border-box;
	padding: 20px;
	color: #0253D4;
	margin-bottom: 40px;
}
.dev03Ttl2{
	margin-bottom: 20px;
}
.dev03Txt1{
	margin-bottom: 30px;
}
.dev03Mov{
	width: 100%;
	display: inline-block;
	margin-bottom: 30px;
}

.dev03Mov iframe{
		width: 100%;
	vertical-align: bottom;
	aspect-ratio: 16 / 9;
	height:200px;
}

.dev03Box{
	background: #50B6FF;
	border-radius: 20px;
	box-sizing: border-box;
	padding: 20px;
	margin-bottom: 30px;
	text-align: left;
}
.dev03Ttl3{
	font-weight: 900;
	font-size: 2.4rem;
	letter-spacing: 0.04em;
	margin-bottom: 20px;
}
.dev03Ttl3S{
	font-size: 2rem;
	display: inline-block;
	position: relative;
}
.dev03Txt2{
	
}
.dev03Flex{
}
.dev03Item{
	width: 100%;
	border-radius: 12px;
	box-sizing: border-box;
	border: 1px solid #222;
	padding: 20px;
	position: relative;
	background: #fff;
	margin-bottom: 40px;
}
.dev03Img1{
	border-radius: 12px;
	overflow: hidden;
}
.dev03Btn{
	line-height: 40px;
	font-size: 1.6rem;
	width: 250px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -20px;
}
.dev03Btn:after{
		content: "";
	background: url("../img/com_dev/btn_plus.svg") no-repeat;
		background-size: contain;
}
.dev03ImgW2{
	display: flex;
	justify-content: space-between;
	width: 95vw;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.dev03Img2{
	width: 41.1%;
	border: 2px solid #222;
	border-radius: 8px;
	overflow: hidden;
}
.dev03Img3{
	width: 52.6%;
	border: 2px solid #222;
	border-radius: 8px;
	overflow: hidden;
}
.dev03ImgW2 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.devBg1{
	margin-top: -30px;
}
#devSec04{
	position: relative;
}
.devSec04W{
	position: relative;
	padding: 100px 0 160px;
}
.dev04Ttl1{
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}
.dev04Flex{
}
.dev04TxtW{
	width: 100%;
	margin-bottom: 30px;
}
.dev04Ttl2{
	margin-bottom: 20px;
}
.dev04Txt{
	
}
.dev04Img{
	width: 100%;
	border-radius: 20px;
	border: 1px solid #0253D4;
	overflow: hidden;
}

/*私たちについて*/

.aboMv .inMvTtl{
	font-size: 4.2rem;
}


#aboSec01{
	position: relative;
}
.aboSec01W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
.aboSec01W:before{
	content: "";
	background: url("../img/about/sec01_img_01@2x.png") no-repeat;
	background-size: contain;
	width: 309px;
	height: 387px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-752px);
	top: 187px;
}
.aboSec01W:after{
	content: "";
	background: url("../img/about/sec01_img_02@2x.png") no-repeat;
	background-size: contain;
	width: 257px;
	height: 409px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(465px);
	top: 84px;
}
.abo01Ttl{
	margin-bottom: 30px;
	font-size: 4.2rem;
}
.abo01Txt{
	
}
#aboSec02{
	position: relative;
}
.aboSec02W{
	position: relative;
	padding: 60px 0 20px;
}
.abo02Ttl1{
	margin-bottom: 40px;
	text-align: center;
	position: relative;
}

.abo02Flex1{
	margin-bottom: 60px;
}
.abo02TxtW1{
	width: 100%;
	margin-bottom: 20px;
}
.abo02Txt1{
}
.abo02Img1{
	width: 100%;
}
.abo02Box{
	padding: 20px;
	background: #50B6FF;
	border-radius: 20px;
	bottom: 1px solid #fff;
	margin-bottom: 30px;
	position: relative;
}
.abo02Box:before{
	content: "";
	background: url("../img/about/sec02_obj_02.svg") no-repeat;
	background-size: contain;
	width: 147px;
	height: 223px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(815px);
	top: 0;
}
.abo02Flex2{
}
.abo02Img2{
	width: 100%;
	border-radius: 24px;
	border: 1px solid #fff;
	overflow: hidden;
	margin-bottom: 20px;
}
.abo02Img2 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.abo02TxtW2{
}
.abo02Ttl2{
	margin-bottom: 20px;
	text-align: left;
}
.abo02Txt2{
}
.abo02W{
	margin-bottom: 64px;
}
.abo02No{
	font-size: 3.2rem;
	letter-spacing: 0.04em;
	color: #2BDEFF;
}
.abo02Flex3{
}
.abo02TxtW3{
}
.abo02Ttl3{
	margin-bottom: 30px;
	text-align: left;
}
.abo02Txt3{
	margin-bottom: 20px;
}
.abo02Img3{
	border-radius: 20px;
	border: 1px solid #fff;
	overflow: hidden;
}
.abo02Img3 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#aboSec03{
	position: relative;
}
.aboSec03W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
.abo03Ttl1{
	margin-bottom: 30px;
}
.abo03Copy{
	margin-bottom: 30px;
	font-size: 3.6rem;
	line-height: 4.6rem;
}
.abo03Flex1{
	text-align: left;
	align-items: center;
	margin-bottom: 40px;
}
.abo03TxtW1{
}
.abo03Ttl2{
	margin-bottom: 20px;
	text-align: center;
}
.abo03Txt1{
	margin-bottom: 30px;
}
.abo03Img1{
}
.abo03Flex2{
	align-items: center;
	margin-bottom: 30px;
}
.abo03TxtW2{
	text-align: left;
}
.abo03No{
	color: #2BDEFF;
	font-size: 3.2rem;
	letter-spacing: 0.04em;
}
.abo03Ttl3{
	margin-bottom: 30px;
	text-align: left;
}
.abo03Txt2{
	margin-bottom: 30px;
}
.abo03Img2{
	border-radius: 20px;
	border: 2px solid #0253D4;
	overflow: hidden;
}

#aboSec04{
	position: relative;
}
.aboSec04W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
#aboSec05{
	position: relative;
}
.aboSec05W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}

/*地域貢献*/


.socMv{
	color: #0253D4 !important;
}
.socMv .inMvTtl{
	text-shadow: none;
}
.socMv .bread1{
	color: #0253D4 !important;
}
.socMv .inMvImg{
	border: 1px solid #0253D4;
}

#socSec01{
	position: relative;
}
.socSec01W{
	position: relative;
	padding: 60px 0;
}
.soc01Flex{
	margin-bottom: 30px;
}
.soc01Ttl{
	display: inline-block;
}
.soc01Txt{
}
.soc01Img{
	border-radius: 12px;
	border: 1px solid #0253D4;
	overflow: hidden;
}

#socSec02{
	position: relative;
}
.socSec02W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
.soc02Ttl1{
	margin-bottom: 60px;
}
.soc02W{
	margin-bottom: 60px;
}
.soc02Flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.soc02Img{
	margin-bottom: 22px;
	border-radius: 12px;
	border: 2px solid #fff;
	overflow: hidden;
}
.soc02Ttl2{
	text-align: center;
	font-size: 1.95rem;
	font-weight: 900;
	margin-bottom: 30px;
}
.soc02No{
	color: #2BDEFF;
	font-size: 2.4rem;
	line-height: 2.4rem;
	margin-right: 10px;
	border-bottom: 4px solid #2BDEFF;
}
.soc02Txt{
	text-align: left;
	margin-bottom:40px;
}

/*沿革・歴史*/

.hisMv{
	color: #0253D4 !important;
	padding-bottom: 43px;
}
.hisMv .inMvTtl{
	text-shadow: none;
}
.hisMv .bread1{
	color: #0253D4 !important;
}
.hisMv .inMvImg{
	border: 1px solid #0253D4;
}

#hisSec01{
	position: relative;
	
}
.hisSec01W{
	position: relative;
	padding: 60px 0 50px;
}
.his01Flex{
}
.hisBtn{
	width: 100%;
	display: inline-block;
	position: relative;
	font-size: 2rem;
	font-weight: 900;
	color: #fff !important;
	border-radius: 30px;
	background: #F49600;
	border: 1px solid #000;
	line-height: 90px;
	box-sizing: border-box;
	padding: 0;
	overflow: hidden;
	text-align: center;
	margin-bottom: 10px;
}
.hisBtn:before{
	content: "";
	background: rgba(255,255,255,0.2);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: -100%;
	transition: 0.3s;
}
.hisBtn:hover:before{
	left: 0;
}
.hisBtnTxt:before{
	content: "";
	width: 88px;
	height: 88px;
	display: block;
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
}

.his01Btn1 .comBtnTxt:before{
	background: url("../img/history/icon_01.svg") no-repeat;
	background-size: contain;
}
.his01Btn2 .comBtnTxt:before{
	background: url("../img/history/icon_02.svg") no-repeat;
	background-size: contain;
}
.hisBtn .comBtnTxt:after{
	content: "";
	background: url("../img/company/arrow_b_1.svg") no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
#hisSec02{
	position: relative;
	
}
.hisSec02W{
	position: relative;
	padding: 60px 0;
}
.his02No{
	font-size: 3.2rem;
	letter-spacing: 0.04em;
	color: #2BDEFF;
}
.his02Flex1{
	margin-bottom: 50px;
}
.his02Ttl01{
	display: inline-block;
}
.his02Txt1{
}
.his02Img1W{
	text-align: center;
}
.his02Img1{
	width: 260px;
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}
.his02Img1:before{
	content: "";
	background: url("../img/history/sec02_obj_01.svg") no-repeat;
	background-size: contain;
	width: 349px;
	height: 157px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-670px);
	top: 190px;
}
.his02Img1:after{
	content: "";
	background: url("../img/history/sec02_obj_02.svg") no-repeat;
	background-size: contain;
	width: 328px;
	height: 97px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(346px);
	top: 223px;
}
.his02Flex2{
	margin: 0 auto 14px;
	text-align: center;
}
.his02TxtW1{
}
.his02Name1{
	font-size: 3.2rem;
	color: #2BDEFF;
	line-height: 3.2rem;
	margin-bottom: 15px;
}
.his02Name2{
	font-size: 4rem;
	line-height: 5rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	border-bottom: 4px solid #2BDEFF;
	display: inline-block;
	margin-bottom: 8px;
}
.his02Year1{
	font-size: 1.4rem;
	border-bottom: 4px solid #2BDEFF;
	display: inline-block;
	margin-bottom: 30px;
}
.his02Year2{
	font-size: 1.4rem;
	font-weight: 900;
	margin-bottom: 12px;
}

.his02Year3{
	font-size: 2.0rem;
	font-weight: 900;
	margin-bottom: 22px;
}

.his02Txt2{
	text-align: left;
	margin-bottom: 30px;
}
.his02Txt2 a{
	color: #2BDEFF;
}
.his02Box1{
	width: 258px;
	margin: 0 auto;
	border-radius: 16px;
	background: rgba(80,182,255,0.8);
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 40px;
}
.his02Cap{
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin-bottom: 13px;
}
.his02Cap:before{
	content: "";
	background: url("../img/history/tri_b.svg") no-repeat;
	background-size: contain;
	display: inline-block;
	position: relative;
	width: 23px;
	height: 19px;
	top: 4px;
	margin-right: 5px;
}
.his02Flex3{
	display: flex;
	justify-content: space-between;
}
.his02Img2{
	width: 94px;
	overflow: hidden;
	border-radius: 16px;
	border: 2px solid #222;
}
.his02Img3{
	width: 114px;
	overflow: hidden;
	border-radius: 16px;
	border: 2px solid #222;
}
.his02Img4{
	display: inline-block;
	margin-bottom: 80px;
	width: 393px;
}
.his02Img5W{
	text-align: center;
}
.his02Img5{
	width: 260px;
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}
.his02Img5:before{
	content: "";
	background: url("../img/history/sec02_obj_03.svg") no-repeat;
	background-size: contain;
	width: 328px;
	height: 125px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-653px);
	top: 168px;
}
.his02Img5:after{
	content: "";
	background: url("../img/history/sec02_obj_04.svg") no-repeat;
	background-size: contain;
	width: 349px;
	height: 157px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(275px);
	top: 223px;
}
.his02Flex4{
	margin: 0 auto 14px;
	text-align: center;
}
.his02TxtW2{
	display: inline-block;
}
.his02Box2{
	width: 100%;
	border-radius: 16px;
	background: rgba(80,182,255,0.8);
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
	height: 100%;
}
.his02Img6{
	overflow: hidden;
	border-radius: 16px;
	border: 2px solid #222;
}
#hisSec03{
	position: relative;
	
}
.hisSec03W{
	position: relative;
	padding: 60px 0;
	text-align: center;
}
.his03NoW{
	color: #2BDEFF;
	text-align: center;
	margin-bottom: 40px;
}
.his03NoW .his03No{
	display: inline-block;
	font-size: 3.4rem;
	position: relative;
	top: 10px;
	margin-right: 10px;
}
.his03NoW .border{
	display: inline-block;
	font-size: 2.6rem;
	border-bottom: 4px solid #2BDEFF;
}
.his03Ttl{
	font-size: 5rem;
	text-shadow: 0 3px 20px rgba(5,73,152,0.6);
}
.his03Copy{
	font-size: 1.8rem;
	margin-bottom: 30px;
}
.his03Txt{
	margin-bottom: 30px;
}
.his03Flex{
	margin-bottom: 20px;
}
.his03Img{
	overflow: hidden;
	border-radius: 24px;
	border: 1px solid #fff;
	margin-bottom: 20px;
}
.his03Cap{
	font-size: 2rem;
	letter-spacing: 0.04em;
	position: relative;
}
.his03Cap:before{
	content: "";
	background: url("../img/history/tri_u.svg") no-repeat;
	background-size: contain;
	width: 23px;
	height: 19px;
	display: inline-block;
	position: relative;
	margin-right: 7px;
	top: 3px;
}

#hisSec04{
	position: relative;
}
.hisSec04W{
	position: relative;
	padding: 60px 0;
	font-weight: 900;
}
.his04Ttl1{
	margin-bottom: 60px;
	text-align: center;
}
.his04W{
	padding-bottom: 30px;
	position: relative;
	padding-left: 50px;
}
.his04W.orange{
	color: #F47100;
}
.his04W:before{
	content: "";
	background: #2BDEFF;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #222;
	display: block;
	position: absolute;
	left: 0;
	top: 15px;
	z-index: 1;
}
.his04W.orange:before{
	background: #F49600;
}
.his04W:after{
	content: "";
	width: 1px;
	height: 100%;
	border-right: 4px dotted #0253D4;
	display: block;
	position: absolute;
	left: 13px;
	top: 45px;
}
.his04W:last-child:after{
	display: none;
}

.his04YearW{
	display: inline-block;
	position: relative;
	margin-bottom: 20px;
}
.his04Year1{
	font-size: 3rem;
	line-height: 3rem;
}
.his04Year2{
	font-size: 3rem;
	line-height: 3rem;
}
.his04TxtW{
	text-align: left;
}
.his04Ttl2{
	font-size: 2rem;
	letter-spacing: 0.04em;
	margin-bottom: 20px;
}
.his04W.orange .his04Ttl2{
	font-size: 3rem;
}
.his04Ttl2 span{
	display: inline;
	border-bottom: 4px solid #0253D4;
}
.his04W.orange .his04Ttl2 span{
	border-bottom: 4px solid #F47100;
}

.his04Txt{
	font-size: 1.6rem;
}

/*地盤事業*/


#groSec01{
	position: relative;
}
.groSec01W{
	position: relative;
	padding: 60px 0;
}
.gro01W{
	position: relative;
}
.gro01Copy{
	margin-bottom: 40px;
	font-size: 3.8rem;
	line-height: normal;
}
.gro01Txt{
	margin-bottom: 37px;
}
.gro01Img1{
	display: none;
}
.gro01Img2{
	margin-bottom: 40px;
}
.gro01Btn{
	font-size: 1.6rem;
}

#groSec02{
	position: relative;
}
.groSec02W{
	position: relative;
	padding: 60px 0;
}
.gro02Ttl1{
	text-align: center;
	margin-bottom: 50px;
}
.gro02Box1{
	padding: 20px;
	box-sizing: border-box;
	background: #50B6FF;
	border-radius: 20px;
	border: 1px solid #fff;
	margin-bottom: 50px;
}
.gro02Flex1{
	margin-bottom: 30px;
}
.gro02Img1{
	border-radius: 12px;
	border: 1px solid #fff;
	overflow: hidden;
	margin-bottom: 20px;
}
.gro02TxtW1{
}
.gro02Ttl2{
	margin-bottom: 30px;
}
.gro02Copy1{
	margin-bottom: 20px;
}
.gro02Box2{
	padding: 20px;
	text-align: center;
	background: #0253D4;
	border-radius: 12px;
}
.gro02Ttl3{
	margin-bottom: 20px;
}
.gro02Ttl3 span:before{
	height: 30px;
}
.gro02Ttl3 span:after{
	height: 30px;
}
.gro02Txt2{
	
}
.gro02W{
	margin-bottom: 50px;
}
.gro02Ttl4{
	margin-bottom: 40px;
}
.gro02Ttl4_2{
	margin-bottom: 30px;
}

.gro02Flex2{
}
.gro02Img2{
}
.gro02Txt3{
}
.gro02Flex3{
}
.gro02Item{
	margin-bottom: 30px;
}
.gro02Img3{
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #fff;
	margin-bottom: 15px;
}
.gro02ImgTxt{
	background: #0253D4;
	line-height: 45px;
	border-radius: 12px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 900;
}
.gro02Txt4{
	margin-bottom: 30px;
}
.gro02Box3{
	padding: 20px;
	background: #E6E6E6;
	border-radius: 12px;
	box-sizing: border-box;
	color: #0253D4;
}
.gro02Flex4{
}
.gro02TtlW{
	display: inline-block;
	margin-bottom: 20px;
}
.gro02Op{
	background: #2BDEFF;
	text-align: center;
	width: 100px;
	line-height: 27px;
	border-radius: 14px;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.gro02Ttl5{
	margin-bottom: 25px;
}
.gro02Txt5{
	
}
.gro02TxtW2{
	text-align: center;
}
.gro02Flex5{
	margin-bottom: 20px;
}
.gro02Box4{
	padding: 20px;
	border-radius: 9px;
	background: #fff;
	position: relative;
	margin-bottom: 15px;
}
.gro02Box4.plus:after{
	content: "";
	background: url("../img/ground/sec02_plus.svg") no-repeat;
	background-size: contain;
	width: 41px;
	height: 41px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	bottom: -28px;
}
.gro02Flex6{
	width: 100%;
	display: flex;
	justify-content: space-between;
	text-align: center;
}
.gro02Blue{
	background: #0086F8;
	border-radius: 9px;
	color: #fff;
	font-weight: 900;
	font-size: 1.4rem;
	line-height: 35px;
	width: 115px;
	margin-bottom: 10px;
	display: inline-block;
}
.gro02Txt5{
	
}
.gro02Txt6{
	font-size: 1.3rem;
	line-height: 2.4rem;
	letter-spacing: 0.06em;
	font-weight: 500;
}

#groSec03{
	position: relative;
}
.groSec03W{
	position: relative;
	padding: 60px 0;
}
.gro03Ttl1{
	text-align: center;
	margin-bottom: 50px;
}
.gro03Flex1{
	margin: 0 auto 50px;
}
.gro03Img1{
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid #fff;
	margin-bottom: 15px;
}
.gro03Img1 img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.gro03W1{
	margin: 0 auto 50px;
}
.gro03Flex2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.gro03No{
	font-size: 5rem;
	line-height: 5rem;
	color: #2BDEFF;
	display: inline-block;
	padding-top: 3px;
}
.gro03TxtW1{
	padding-left: 15px;
}
.gro03Ttl2{
	margin-bottom: 20px;
}
.gro03Txt2{
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	line-height: 2.6rem;
}
.gro03Box2{
	padding: 20px;
	box-sizing: border-box;
	background: #E6E6E6;
	border-radius: 20px;
	color: #0253D4;
	margin-bottom: 40px;
}
.gro03Ttl3{
	margin-bottom: 30px;
	color: #0253D4;
}
.gro03No{
	
}
.gro03Flex3{
	margin-bottom: 50px;
}
.gro03Item3{
	text-align: center;
	margin-bottom: 20px;
}
.gro03Mov{
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 13px;
}

.gro03Mov iframe{
	width:100%;
	height: 200px;
}

.gro03MovTxt{
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 0.05em;
}
.gro03Ttl4{
	margin-bottom: 20px;
}
.gro03Img4{
	
}
.gro03Txt3{
	text-align: center;
	margin-bottom: 30px;
}
.gro03Img5{
	margin-bottom: 30px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #0253D4;
}
.gro03Flex4{
}
.gro03Img6{
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #0253D4;
	margin-bottom: 30px;
}
.gro03TxtW2{
}
.gro03Ttl4{
	margin-bottom: 20px;
}
.gro03Copy{
	margin-bottom: 10px;
}
.gro03Txt4{
	
}
.gro03W2{
	text-align: center;
}
.gro03Ttl5{
	margin-bottom: 20px;
}
.gro03Img7{
	display: inline-block;
	border-radius: 20px;
	overflow: hidden;
}

#groSec04{
	position: relative;
}
.groSec04W{
	position: relative;
	padding: 60px 0;
}
.gro04Ttl1{
	margin-bottom: 50px;
	text-align: center;
}
.gro04Box1{
	background: #fff;
	padding: 20px;
	border-radius: 20px;
	border: 1px solid #0253D4;
	margin-bottom: 50px;
}
.gro04Flex1{
}
.gro04Img1{
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #0253D4;
	margin-bottom: 30px;
}
.gro04TxtW1{
}
.gro04Ttl2{
	margin-bottom: 30px;
}
.gro04Copy{
	margin-bottom: 30px;
}
.gro04Txt1{
	
}
.gro04W1{
	margin-bottom: 40px;
}
.gro04Ttl3{
	font-size: 2.4rem;
	line-height: 50px;
	border: 1px solid #0253D4;
	border-radius: 25px;
	background: #0253D4;
	overflow: hidden;
	color: #fff;
	margin-bottom: 30px;
}
.gro04Hosyou{
	width: 40%;
	background: #fff;
	display: inline-block;
	color: #0253D4;
	line-height: 52px;
	box-sizing: border-box;
	padding-left: 45px;
	position: relative;
	border-radius: 25px 0 0 25px;
	margin-right: 24px;
}
.gro04Hosyou:before{
	content: "";
	background: url("../img/ground/icon_light.svg") no-repeat;
	background-size: contain;
	width: 25px;
	height: 25px;
	display: block;
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.gro04W2{
	position: relative;
}
.gro04Txt2{
	margin: 0 auto 30px;
}
.gro04Icons{
}
.gro04Arrow{
	margin: 0 auto 120px;
}
.gro04ATxt{
	font-weight: 900;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 2.4rem;
	margin-bottom: 40px;
}
    .gro04ABal {
        background: url(../img/ground/sec04_bal_bg.svg) no-repeat;
        background-size: contain;
        width: 100px;
        height: 57px;
        text-align: center;
        display: block;
        position: absolute;
        color: #fff;
        box-sizing: border-box;
        padding-top: 24px;
        font-size: 1.4rem;
        left: 50%;
        transform: translateX(-27px);
        top: 277px;
    }
.gro04Box2{
	background: #fff;
	padding: 20px;
	border-radius: 12px;
	border: 1px solid #0253D4;
	box-sizing: border-box;
	margin-bottom: 30px;
}
.gro04Ttl4{
	margin-bottom: 20px;
}
.gro04Img2{
	border: 1px solid #0253D4;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 20px;
}
.gro04Dl{
	text-align: left;
	margin-bottom: 15px;
}
.gro04Dl dt {
	width: 100%;
	background: #E6E6E6;
	border-radius: 24px;
	text-align: center;
	padding: 8px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 15px;
}
.gro04Dl dt span{
	display: inline-block;
	text-align: left;
}

.gro04Dl dd{
	border-radius: 24px;
}
.gro04HoshoImg{
	margin: 0 0 40px auto;
}
.gro04Flex2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gro04Item2{
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}
.gro04Img3{
	margin-bottom: 13px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #0253D4;
}
.gro04ImgTxt1{
	line-height: 34px;
	color: #fff;
	background: #50B6FF;
	border-radius: 17px;
	font-size: 1.6rem;
}
.gro04Item3{
	width: 48%;
	text-align: center;
	margin-bottom: 20px;
}
.gro04Img4{
	margin-bottom: 13px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid #0253D4;
}
.gro04ImgTxt2{
	line-height: 34px;
	color: #fff;
	background: #50B6FF;
	border-radius: 17px;
	font-size: 1.4rem;
}
.gro04Txt3{
	font-size: 1.4rem;
	text-align: center;
}
.gro04Flex4{
	margin-bottom: 30px;
}
.gro04Item4{
	width: 100%;
	margin-bottom: 20px;
}
.gro04Ttl5{
	margin-bottom: 22px;
}
.gro04Dl2{
	color: #fff;
	text-align: center;
	display: flex;
	justify-content: space-between;
	background: #0253D4;
	border-radius: 8px 8px 0 0;
	line-height: 47px;
}
.gro04Dl2 dt{
	width: 25%;
	border-radius: 8px 0 0 0;
	border-right: 1px solid #fff;
}
.gro04Dl2 dd{
	width: 75%;
	border-radius: 0 8px 0 0;
}
.gro04Dl3{
	background: #F0F0F0;
	border-right: 1px solid #0253D4;
	border-bottom: 1px solid #0253D4;
	border-left: 1px solid #0253D4;
	display: flex;
	justify-content: space-between;
	height: 70px;
}
.gro04Dl3:nth-child(2n){
	background: #E3E3E3;
}
.gro04Dl3 dt{
	width: 25%;
	border-right: 1px solid #0253D4;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
    .gro04Dl3 dt span {
        width: 60px;
        line-height: 2.1rem;
        border-radius: 12px;
        background: #2BDEFF;
        font-size: 1.2rem;
        font-weight: bold;
    }
.gro04Dl3 dd{
	width: 75%;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 5px 10px;
}
.gro04Dl3:last-child{
	border-radius: 0 0 8px 8px;
}
.gro04Dl3:last-child dt{
	border-bottom: none;
}
.gro04Dl3:last-child dd{
	border-bottom: none;
}

.gro04List{
	font-size: 1.2rem;
	line-height: 2.4rem;
	font-weight: 500;
	position: relative;
}
.gro04List:before{
	content: "";
	background: #50B6FF;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	display: inline-block;
	position: relative;
	left: 0;
	top: -2px;
	margin-right: 6px;
}
.gro04Txt4W{
	text-align: center;
}
.gro04Txt4{
	display: inline-block;
	position: relative;
	padding-left: 30px;
	font-variant-position: 1.4rem;
}
.gro04Txt4:before{
	content: "";
	background: url("../img/ground/icon_light.svg") no-repeat;
	background-size: contain;
	width: 25px;
	height: 25px;
	display: block;
	position: absolute;
	left: 0;
	top: 5px;
}


/*カテゴリー一覧 Type01 施工実績*/

#catSec01{
	position: relative;
}
.catSec01W{
	position: relative;
	color: #fff;
	padding: 60px 0;
}

.cat01CatLists{
	margin-bottom: 40px;
}
.cat01CatList{
	width: 100%;
}
.cat01Flex{
	display: block;
}
.cat01Item{
	width: 100%;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 16px 16px 24px rgba(109,117,132,0.3);
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	margin-bottom: 16px;
	position: relative;
}
.cat01Item:after{
	content: "";
	background: url("../img/arrow_r_3.svg") no-repeat;
	background-size: contain;
	width: 25px;
	height: 25px;
	display: block;
	position: absolute;
	right: 10px;
	bottom: 10px;
}
.cat01Thumb{
	width: 100%;
	height: 233px;
	position: relative;
}
.cat01Thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cat01ThumbCat{
	position: absolute;
	width: 120px;
	display: inline-block;
	line-height: 30px;
	font-weight: bold;
	left: 0;
	bottom: 0;
	background: #F49600;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
	border-radius: 0 8px 0 0;
}
.cat01TxtW{
	padding: 18px 24px 56px;
}
.cat01Ttl{
	color: #0253D4;
	margin-bottom: 8px;
}
.cat01Txt1{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
.cat01Txt2{
}

.blogPageW{
	text-align: center;
}
.blogPagination {
    display: inline-block;
    font-size: 1.8rem;
    margin: 0 10px;
    font-optical-sizing: auto;
    font-weight: 400;
}
.blogPagination a {
    color: #fff;
}
.blogPagination a.active {
    color: #F49600;
}
.blogPagination a:hover {
	text-decoration: underline;
}

/*カテゴリー一覧 Type02 スタッフ・不易流行*/

#catSec02{
	position: relative;
}
.catSec02W{
	position: relative;
	color: #fff;
	padding: 60px 0;
}
.cat02Flex{
	display: flex;
	justify-content: flex-start;
	column-gap: 4%;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.cat02Item{
	width: 48%;
	margin-bottom: 30px;
	text-align: center;
}
.cat02Img{
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 16px 16px 24px rgba(109,117,132,0.3);
	background: #fff;
	border: 1px solid #000;
	box-sizing: border-box;
	position: relative;
}
.cat02Img img{
	width: 100%;
	height: auto;
}
.cat02Vol{
	color: #fff !important;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin-top: 10px;
}

#catSec03{
	position: relative;
}
.catSec03W{
	position: relative;
	color: #fff;
	padding: 60px 0;
}

/*詳細 Type01 施工実績*/

#detSec01{
	position: relative;
}
.detSec01W{
	position: relative;
	padding: 60px 0;
	
}
.det01W{
	border-radius: 20px;
	border: 1px solid #0082CD;
	overflow: hidden;
	background: #E6E6E6;
	padding: 20px;
	box-sizing: border-box;
}
.det01TtlW{
	position: relative;
	margin-bottom: 10px;
}
.det01Ttl1{
	display: inline-block;
	margin-bottom: 10px;
	color:#0253D4;
}
.det01Cat{
	display: inline-block;
	background: #F49600;
	color: #fff;
	border-radius: 8px;
	white-space: nowrap;
	height: 30px;
	line-height: 3rem;
	padding: 1px 20px 0;
	box-sizing: border-box;
}
.det01Date{
	color: #222;
	margin-bottom: 30px;
}
.det01Slide{
	width: 100%;
}
.det01Img{
	width: 100%;
	height: 200px;
}
.det01Img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.det01Eye{
	width: 100%;
	margin-bottom: 30px;
}
.det01Eye img{
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.det01TxtW{
}
.det01Ttl2{
	margin-bottom: 20px;
	color:#0253D4;
}
.det01Flex{
	background: #fff;
	border-radius: 10px;
	padding: 20px;
	box-sizing: border-box;
	color: #222;
	margin-bottom: 40px;
}
.det01Box1{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
.det01Txt{
	
}
.det01Box2{
}

/*ブロックエディタ用*/

.det01TxtW2{
	margin-bottom: 60px;
}
.det01TxtW2 p{
	font-weight: 500;
	line-height: 2.4rem;
	color: #222;
	margin-bottom: 20px;
}
.det01TxtW2 img{
	margin-bottom: 20px;
}
.det01TxtW2 h3{
	font-size: 2.6rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	position: relative;
	display: block;
	border-bottom: 4px solid #0253D4;
	margin-bottom: 20px;
	font-family: "M PLUS 1p", serif;
	font-optical-sizing: auto;
}
.det01TxtW2 h4{
	font-size: 2.2rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	position: relative;
	display: block;
	margin-bottom: 20px;
	font-family: "M PLUS 1p", serif;
	font-optical-sizing: auto;
}
.det01TxtW2 h5{
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	position: relative;
	display: block;
	margin-bottom: 20px;
}
.det01TxtW2 h6{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	position: relative;
	display: block;
	margin-bottom: 20px;
	color: #222;
}



/*お問い合わせ*/

#conSec01{
	position: relative;
}
.conSec01W{
	padding: 60px 0;
}
.conLineW{
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
}
.conLineTxt{
	margin-bottom: 20px;
}
.conLineBtn{
	display: inline-block;
	background: #4cc764;
	border-radius: 8px;
	color: #fff !important;
	font-weight: 900;
	font-size: 1.8rem;
	padding: 15px 15px 15px 80px;
	text-align: left;
	position: relative;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
}
.conLineBtn:hover{
	filter: brightness(1.1);
}
.conLineBtn:before{
	content: "";
	background: url("../img/icon_line_1.svg") no-repeat;
	background-size: contain;
	width: 39px;
	height: 37px;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	display: block;
}

.contactW{
	border-radius: 20px;
	border: 1px solid #0082CD;
	overflow: hidden;
	background: #E6E6E6;
	padding: 20px;
	box-sizing: border-box;
}
.contactTtlW{
	text-align: center;
	margin-bottom: 40px;
}

.contTtl01{
	color:#0253D4;
}

.inqForm{
	margin-bottom: 30px;
	text-align: left;
	color:#0253D4;
}

.inqFormTxt{
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 5px;
}
.inqFormTxt span{
	display: inline-block;
	background: #0058FF;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 3px;
	padding: 0 5px;
	margin-left: 10px;
}
.input1{
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 20px;
}
.input2{
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
	height: 200px;
}
.inSubmitBtnW{
	text-align: center;
}
.wpcf7-spinner{
	display: none;
}
.wpcf7-response-output {
    color: red !important;
    border-color: red !important;
}

.policyWrap {
	margin-top: 30px;
	height: 200px;
	overflow-y: scroll;
	background-color: #FFF;
	padding: 10px;
	line-height: 1.95;
	border-radius: 6px;
	margin-bottom: 40px;
}
.policyWrap h3 {
	font-size: 1.8rem;
	font-weight: bold;
}
.policyWrap p{
	color: #222;
}

.det01TxtW2 h2.wp-block-heading{
	color:#0058FF;
	border-left:4px solid #0058FF;
	border-bottom:1px solid #0058FF;
	padding:0 0 5px 10px;
	font-size:20px;
	font-weight: bold;
}





