@charset "utf-8";
@media (min-width: 768px) {
.pcnone {
	display: none;
	}
}
@media screen and (max-width: 767px) {
.spnone {
	display: none;
	}
}
.sp_hidden {
	display: inline
}
.pc_hidden {
	display: none
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
    font-size: 14px
}	
body {
	width:100%;
	-webkit-text-size-adjust: none;
	font-family: "Koburina Gothic W6 JIS2004", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
	color: #13202f;
	line-height:1.4;
	margin:0 auto;
	letter-spacing: 2px;
}
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.wrapper {
    position: relative
}
a {
	color: #13202f;
}
a:link,a:visited {
    text-decoration: none
}
a:hover {
    opacity: 0.6;
}	
img , iframe{
	vertical-align:bottom;}
* { margin: 0; padding: 0;
}
a:hover img{
	transition:all 0.1s ease; /*0.5秒かけて要素を変化させる*/
	opacity: 0.7;/*要素の透明度を指定*/
	filter: alpha(opacity=70); /*ie6、7の透明度指定*/
	/*ちなみにie8の透明度指定はこれ→ -ms-filter: "alpha(opacity=70)";*/
}
/*img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%
}*/	
.flex{
	display:flex;
}
ol, ul {
    padding-left: 0rem;
}
ul li,ol li{
	list-style: none;
}
p{
	font-family: "Koburina Gothic W6 JIS2004", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
	color: #13202f;
	line-height:28px;
	letter-spacing: 1.5px;
	font-size: 15px;
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
.btn,
a.btn,
button.btn {
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
    img {
        width:auto;
        max-width: 100%
    }
	p{
		line-height:24px;
		letter-spacing: 1.5px;
		font-size: 13px;
	}
}	
/*----------------------------------------ヘッダ----------------------------------------*/
h1 {
	text-align: left;
}
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 150px;
	z-index: 100000;
}
.header__inner .logo img {
	width: 100%;
	max-width: 300px;
}
/*トグルメニュー*/
.pure-container {
	position: absolute;
    top: 15px;
    right: 10px;
    z-index: 10;
}
.fa-copy{
	font-size: 10px;
	position: absolute;
	top:50%;
	transform: translateY(-50%) ;
	padding: 0 3px;
}

.header__inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;/*コレ*/
	padding-left:3%;
	height: 150px;
	padding-top: 0px;
	width: 100%;
}	
.header__inner .logo {
	background-image: url("../img/h_logo.png");
	background-repeat: no-repeat;
	background-size: 73%;
	width: 341px;
	height: 65px;
}	
/*スクロールしたあとのヘッダー縮む*/
.header .change-color {
  transition: 0.3s;
	height: 100px;
	backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background-color: rgba(255, 255, 255, 0.3) !important;
}
.header .change-color .header__inner .logo {
	background-image: url("../img/h_logo2.png");
	background-repeat: no-repeat;
	background-size: 63%;
	width: 341px;
	height: 65px;
	transition: all 1.5s ease-out;
	margin-top: 30px;
}
.header .change-color .header__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;/*コレ*/
		padding-left:3%;
		height: 100px;
		padding-top: 0px;
		width: 100%;
}

.header__inner ul {
	list-style: none;
	display: flex;
	margin: 0px 0 0 auto;
}
.header__inner ul li.nav_li a {
	color: #fff;
}
.header__inner ul li.nav_li {
	margin: 0 15px 0 auto;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 2.5px;
	line-height: 50px;
}	
.header__inner ul li.lastList {
	margin: 0px;
	padding-right: 30px;
}
.header__inner ul li.nav_li a:hover {
	text-decoration: none;
	opacity: 0.6;
}	
.header__inner ul li a i.fa-brands {
	font-size: 19px;
}
@media screen and (min-width: 768px) {
		
}
@media (max-width: 1020px) and (min-width: 768px) {
	/*スクロールしたあとのヘッダー縮む*/
	.header .change-color {
	  background-color: rgba(255,255,255,0); /*スクロールしたあとのヘッダー背景色*/
	}
	.header .change-color .header__inner .logo{
		background-image: url("../img/h_logo.png");
		background-repeat: no-repeat;
		width: 100%;
		max-width: 300px;
		margin-top: 10px;
	}	
	.header .change-color .header__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;/*コレ*/
		padding-left:3%;
		height: 150px;
		padding-top: 0px;
		width: 100%;
	}
	
	.header__inner ul {
		display: none;
    }
    .header__inner .logo img {
        width: 100%;
		max-width: 300px;
    }
}
@media screen and (max-width: 767px) {
	.header__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;/*コレ*/
		padding-left:3%;
		height: 100px;
		padding-top: 0px;
		width: 100%;
	}
	.header .change-color,.header .change-color .header__inner {
		height: 75px;
	}
	.header .change-color .header__inner .logo {
		width: 210px;
		position: absolute;
		top: 10px;
		margin-top: 15px;
	}
	.header__inner .logo {
		width: 210px;
	}
    .header__inner .logo img {
        width: 100%;
		max-width: 300px;
    }
    .header__inner ul {
		display: none;
    }
	.fa-copy{
		font-size: 10px;
		position: absolute;
		top:60%;
		transform: translateY(-60%) ;
		padding: 0 3px;
	}
}	
	



/*--------------------------------------
ナビゲーションドロップダウン
--------------------------------------*/
/*==ナビゲーション全体の設定*/
#head_nav{
	color:#fff;
	text-align: center;
	width: 70%;
}
/*ナビゲーションを横並びに*/
#head_nav ul{
}
/*2階層目以降は横並びにしない*/
#head_nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
#head_nav ul li{
	position: relative;
	text-align: center;
}
ul.drop_menu li{
}
ul.drop_menu li:last-child{
	border-bottom: none;
}
/*ナビゲーションのリンク設定*/
#head_nav ul li a{

}

#head_nav ul li li a{
	padding:10px 15px;
}

#head_nav ul li a:hover{
	opacity: 0.7;
	text-decoration: none;
}	
#head_nav ul li a:link, #head_nav ul li a:visited {
}


/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
#head_nav li.has-child ul{
	position: absolute;
	left:50%;
	transform: translate(-50%, 0%);
	z-index: 10000000;
	background:#fff;
	width:230px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	border-radius: 10px;
	overflow: hidden;
}

/*hoverしたら表示*/
#head_nav li.has-child:hover > ul,
#head_nav li.has-child ul li:hover > ul,
#head_nav li.has-child:active > ul,
#head_nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
#head_nav li.has-child ul li a{
  color: #333;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}

#head_nav li.has-child ul li:last-child a{
  border-bottom:none;
}

#head_nav li.has-child ul li a:hover,
#head_nav li.has-child ul li a:active{
  background:#fff;
	color: #E182B2;
}

/*==768px以下の形状*/

@media screen and (max-width:768px){
	#head_nav{
	display: none;
	}
}


/*トグルメニュー＞アコーディオンメニュー*/
.pure-drawer section {
    /*border-top: 1px solid #333;*/
    padding-top: 10px;
	background-color: #f7f7f7;
}
/*.pure-drawer section.border_bottom{
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;	
    padding-top: 15px;
}*/
.details {
	margin-bottom: 5px;
}
.details-summary {
    position: relative;
    display: block;
    font-size: 15px;
    text-align: left;
    font-weight: 400;
    padding-left: 25px;
	padding-bottom: 5px;
	letter-spacing: 1.5px;
	line-height: 40px;
}
.details-summary:hover {
    cursor: pointer;
    opacity: 0.8;
}
.details-summary .btn {
    position: absolute;
    top: 8%;
    right: 6px;
    width: 18px;
    height: 18px;
    transform-origin: center center;
    transition-duration: 0.2s;
	padding: 0;
}
.details-summary .btn:before, .details-summary .btn:after {
    content: "";
    background-color: #13202f;
    border-radius: 10px;
    width: 15px;
    height: 1px;
    position: absolute;
    top: 12px;
    right: 3px;
    transform-origin: center center;
}
.details-summary .btn:before {
    width: 1px;
    height: 15px;
    top: 5px;
    left: 7px;
}
.details-summary.is-active .btn {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}
.details-summary.is-active .btn:before {
    content: none;
}
.details-summary::-webkit-details-marker {
    display: none;
}
.details-content {
    padding: 15px 0 15px 30px;
}
.details-content p {
    margin: 0 0 20px;
    text-align: left;
}
.details-content p:last-of-type {
    margin: 0 0 0;
}
.details a:link,.details a:visited {
    text-decoration: none;
    color: #13202f;
}
.details-content p a:link,.details-content p a:visited {
    font-weight: 300;
}
.fa-angle-right{
	margin-right: 4px;
	font-weight: 300;
}
/*--------------------------------------
メインスライダー
--------------------------------------*/
.main_slider{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.slider {
	margin: 0px auto 0;
	width: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 0;
	background: #F2F3DD;
}
.slick-img img {
	height: auto;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	max-height: 900px;
	clip-path: ellipse(125% 137.4% at 50% -37.5%);
}
.slick-dots {
    position: absolute;
    bottom: 25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li button::before {
	font-size: 60px;
	color: #fff;
}	
.slick-dots li.slick-active button:before {
	color: #fff;
}
	
@media screen and (min-width: 768px) {
	/*メインイメージに乗ってるテキスト*/
	.parts1 {
		position: absolute;
		left: 130px;
		top: 240px;
		z-index: 99999;
		filter: drop-shadow(1px 1px 5px #999);	
	}
	.parts1 p{
		font-size: 43px;
		font-weight: bold;
		color: #fff;
		line-height: 65px;
		letter-spacing: 3;
	}
	.parts2 {
		position: absolute;
		left: 130px;
		top: 390px;
		z-index: 99999;
		filter: drop-shadow(1px 1px 5px #999);
	}
	.parts2 p{
		font-size: 21px;
		font-weight: bold;
		color: #fff;
		line-height: 35px;
		letter-spacing: 3;
	}
}
@media (max-width: 1020px) and (min-width: 768px) {
	.slick-img img {
		height: 600px;
		object-fit: cover;
	}
}
@media (max-width: 1320px) and (min-width: 1020px) {
	.musyoukaLsize{
		display: none;
	}	
}
@media screen and (min-width: 1320px) {
	.musyoukaMsize{
		display: none;
	}	
}
@media screen and (max-width: 1020px) {
	.musyoukaLsize{
		display: none;
	}		
}
@media screen and (max-width: 767px) {
	.slick-img img {
		height: 550px;
		object-fit: cover;
		max-height: 900px;
		clip-path: ellipse(141% 135.4% at 50% -37.5%);
	}
	.slick-dots li button::before {
		font-size: 26px;
		color: #fff;
	}
	/*メインイメージに乗ってるテキスト*/
	.parts1 {
		position: absolute;
		left: 20px;
		top: 190px;
		z-index: 99999;
		filter: drop-shadow(1px 1px 5px #999);	
	}
	.parts1 p{
		font-size: 23px;
		font-weight: bold;
		color: #fff;
		line-height: 33px;
		letter-spacing: 1;
	}
	.parts2 {
		position: absolute;
		left: 20px;
		top: 290px;
		z-index: 99999;
		filter: drop-shadow(1px 1px 5px #999);
	}
	.parts2 p{
		font-size: 13px;
		font-weight: bold;
		color: #fff;
		line-height: 23px;
		letter-spacing: 1;
	}
}
	


/*----------------------------------------メインコンテンツ----------------------------------------*/
@media screen and (min-width: 768px) {
	main{
		/*background: #DFF2E8;
		background: -moz-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
		background: -webkit-gradient(linear, left top, left bottom, from(#F2F3DD), to(#DFF2E8));
		background: -webkit-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
		background: -o-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
		background: linear-gradient( #F2F3DD 0%, #DFF2E8 100%);*/
	}
}
@media screen and (max-width: 767px) {
	main{
	}	
}
/*--------------------------------------

--------------------------------------*/
.index h2{
	font-size: 28px;
	letter-spacing: 4px;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 48px;
}
.index h3{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 3px;
	margin: 40px auto;
	text-align: center;
}
.tit .sub_tit{
	font-family: "Lunasima", serif;
	font-size: 18px;
	font-weight: bold;
	color: #205F98;
	margin-bottom: 0;
}
@media screen and (min-width: 768px) {
	main.index_main{
		position: relative;
		padding-top: 1020px;
		overflow: hidden;
		width: 100%;
	}

}
@media (max-width: 1020px) and (min-width: 768px) {
	main.index_main{
		position: relative;
		padding-top: 51.2rem;
		overflow: hidden;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	main.index_main{
		position: relative;
		padding-top: 51.2rem;
		overflow: hidden;
		width: 100%;
	}
	h2{
		font-size: 22px;
		letter-spacing: 3px;
		font-weight: 700;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 38px;
	}
	.index h2 {
		font-size: 22px;
		letter-spacing: 1px;
		line-height: 43px;
	}
	h3{
		font-size: 20px;
		margin: 15px auto 50px;
	}
	.tit .sub_tit{
		font-size: 13px;
	}
}

/*----------------------------------------GREEING----------------------------------------*/
#index_greeting{
	background: #DFF2E8;
	background: -moz-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(#F2F3DD), to(#DFF2E8));
	background: -webkit-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
	background: -o-linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
	background: linear-gradient( #F2F3DD 0%, #DFF2E8 100%);
	padding: 220px 0px 200px;
	position: relative;
	margin-top: -197px;
}
#index_greeting .flex{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
#index_greeting .tit{
	width: 40%;
}

#index_greeting .txt{
	width: 53%;
}
#index_greeting .greetingBtn{
	margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
	#index_greeting{
		margin-top: -167px;
		padding: 60px 20px 180px;
	}
	#index_greeting .flex{
		flex-wrap: wrap;
	}
	#index_greeting .tit{
		width: 100%;
		margin-bottom: 15px;
	}
	#index_greeting .txt{
		width: 100%;
	}
	#index_greeting .greetingBtn{
		margin: 30px auto 0;
	}
}
/* 006 */
.button006 a {
    background: #fff;
    border-radius: 50%;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 140px;
    height: 140px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
	text-align: center;
}
.button006 a:before {
    content: '';
    position: absolute;
    top: calc(60% - -28px);
    right: -1.1em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: rgba(0,0,0,0.3);
    transition: 0.3s;
}
.button006 a:after {
    content: '';
    position: absolute;
    bottom: 18%;
    right: -1em;
    transform: translateY(-50%);
    width: 70px;
    height: 2px;
    background-color: rgba(0,0,0,0.3);
    transition: 0.3s;
}
.button006 a:hover:before, .button006 a:hover:after {
    right: -2.5em;
}
.button006 a:hover {
    background: #edf6ff;
    color: #205F98;
	font-weight: bold;
}

/*/////テキストスライダー*****/
.c-text {
	overflow: hidden;
	display: flex;
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	color: #fff;
	line-height: 1;
	opacity: 0.3;
	font-family: "Libre Baskerville", serif;
	font-weight: 400;
	font-style: normal;
	position: absolute;
	left: 0;
	bottom: -20px;
	z-index: 2;
}

.c-text__item {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 120px;
}
  .c-text__item:nth-child(odd) {
    animation: MoveLeft 40s -20s infinite linear;
  }

  .c-text__item:nth-child(even) {
    animation: MoveLeft2 40s infinite linear; 
  }

@keyframes MoveLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes MoveLeft2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
/*****テキストスライダー/////*/


@media screen and (min-width: 768px) {
}
@media (max-width: 1020px) and (min-width: 768px) {
	#introBox .introBox_inner ul li p{
		font-size: 14px;
	}	
}
@media screen and (max-width: 767px) {
	#introBox{
		background-color:#f5f0f0;
		padding: 30px 0px 50px;
	}
	#introBox h2{
		font-size: 24px;
		letter-spacing: 5px;
		font-weight: 700;
		text-align: center;
		font-family: 'Noto Sans JP', sans-serif;
	}
	#introBox .read{
		text-align: center;
		margin: 50px auto;
		color: #555;
		padding: 0 15px;
	}
	.c-text__item {
		font-size: 90px;
	}
	
}

/*----------------------------------------業務内容----------------------------------------*/
/*#index_business{
	padding: 150px 0;
	background-color: #fff;
}
#index_business .inner{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
#index_business .inner .tit{
	width: 100%;
}
#index_business .inner div{
	width: 26%;
}
#index_business .inner img{
	width: 100%;
}
#index_business .inner h3{
	border-bottom: 1px solid rgba(32,95,152,1);
	padding-bottom: 13px;
	text-align: left;	
}
@media screen and (min-width: 768px) {
	
}
@media (max-width: 1020px) and (min-width: 768px) {
	
}
@media screen and (max-width: 767px) {
	#index_business{
		padding: 50px 0;
		background-color: #fff;
	}
	#index_business .inner{
		width: 70%;
		margin: 0 auto;
	}
	#index_business .inner .tit{
		width: 100%;
		margin-bottom: 20px;
	}
	#index_business .inner div{
		width: 100%;
	}
	#index_business .inner img{
		width: 100%;
		height: 300px;
		object-fit: cover;
	}
	#index_business .inner h3{
		border-bottom: 1px solid rgba(32,95,152,0.5);
		padding-bottom: 5px;
		text-align: center;	
	}
	.business__box{
		margin-bottom: 30px;
	}
}*/


#index_business{
	/*background: linear-gradient(to bottom, transparent 0%, #ABDAB3 35%);*/
	padding: 200px 0 150px;
}
#index_business .inner{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	width: 1020px;
	margin: 0 auto;
}
#index_business .inner .tit{
	width: 100%;
	margin-bottom: 20px;
}
#index_business .business__box{
	width: 30%;
	position: relative;
}
#index_business .business__box img{
	width: 100%;
	position: relative;
	display: block;
}
#index_business .business__box p{
	padding: 20px 5px;
}
.business__box .box1{
  position: relative;
}
.business__box .box1::before {
	content: '給排水';
	white-space: pre;
	position: absolute;
	display: block;
	height: auto;
	width: 100%;
	bottom: 0;
	left: 0px;
	color: #fff;
	background-color: rgba(0,0,0,0.5);
	z-index: 100;
	padding: 30px;
	text-align: center;
	font-size: 19px;
}
.business__box .box2{
  position: relative;
}
.business__box .box2::before {
	content: '公共工事';
	white-space: pre;
	position: absolute;
	display: block;
	height: auto;
	width: 100%;
	bottom: 0;
	left: 0px;
	color: #fff;
	background-color: rgba(0,0,0,0.5);
	z-index: 100;
	padding: 30px;
	text-align: center;
	font-size: 19px;
}
.business__box .box3{
  position: relative;
}
.business__box .box3::before {
	content: '設備工業事業';
	white-space: pre;
	position: absolute;
	display: block;
	height: auto;
	width: 100%;
	bottom: 0;
	left: 0px;
	color: #fff;
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
	padding: 30px;
	text-align: center;
	font-size: 19px;
}
#index_business .tit2 {
    position: relative;
    padding: 15px;
    margin: 50px auto 0;
    border-radius: 5px;
    background-color: #fff;
    color: #333;
    font-size: 20px;
    text-align: center;
	width: 80%;
}
#index_business .tit2:before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: traslateX(-50%) rotate(-20deg);
    border-left: 5px dotted #fff;
    height: 20px;
    content: "";
}
.business__box h5{
	display: none;
}
@media screen and (max-width: 767px) {
	#index_business{
		margin:0px auto ;
		padding: 80px 0;
	}
	#index_business .inner{
		width: 100%;
	}
	#index_business .business__box{
		width: 80%;
		margin: 0 auto;
		position: relative;
	}
	#index_business .business__box p{
		font-size: 14px;
		color: #333;
	}
	#index_business .inner .tit {
		padding: 10px 30px;
		text-align: center;
	}
	#index_business .business__box img {
		width: 100%;
		height: 320px;
		position: relative;
		display: block;
		object-fit: cover;
	}
}


/*----------------------------------------施工事例----------------------------------------*/
#index_construction{
	background:#edf4f8;
	padding:70px 0 70px;
	position: relative;
}
#index_construction .inner{
	position: relative;
}
#index_construction .inner a{
	display: block;
}
#index_construction .inner .slider_construction img{
	width: 246px;
    object-fit: cover;
    height: 164px;
}

/* 007 */

.button007 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    width: 160px;
    padding: 17px 20px;
    color: #205F98;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	border: 1px solid #205F98;
	border-radius: 50px;
}
.button007 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #205F98;
    transition: 0.3s;
}
.button007 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background-color: #205F98;
    transition: 0.3s;
}
.button007 a:hover:before, .button007 a:hover:after {
    right: -2.5em;
}
.button007 a:hover {
    background: #205F98;
    color: #fff;
	opacity: 1;
}


@media screen and (min-width: 768px) {
	.button007{
		position: absolute;
		top: 10px;
		right: 100px;
		display: block;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	#index_construction .inner .slider_construction img{
		width: 100%;
		height: 235px;
	}
	#index_construction{
		padding: 70px 20px;
	}
	.button007{
		position: absolute;
		bottom: -30px;
		left: 50%;
		transform: translate(-50%, 100%);
		display: block;
		text-align: center;
	}
}
.slider_construction {
  margin: 70px auto;
  width: 80%;
}
.slider_construction .slider-img {
  margin: 0 5px;
}
.slider_construction .slider-img img {
  height: auto;
  width: 100%;
	margin-bottom: 15px;
}
.arrow_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 20px 0 0;
    position: relative;
}

.slick-prev, .slick-next {
    display: block;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
}
.slick-prev:hover{
	opacity: 0.6;
	background: #fff;
}
.slick-next:hover{
	opacity: 0.6;
	background: #fff;
}
.slick-prev {
    transform: rotate(180deg);
    margin-right: 20px;
	top:35%;
	left: -70px;
}
.slick-next {
	top:42%;
    right: -70px;
}
.slick-prev:before, .slick-next:before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid #555;
    border-top: 2px solid #555;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}
.slider_construction .txt span{
	border: 1px solid #00a8ff;
	border-radius: 50px;
	padding: 7px 13px;
	color: #00a8ff;
	margin-right: 3px;
	font-size: 12px;
	font-weight: bold;
}
.slider_construction .txt .tit{
	padding: 0 5px;
}
@media screen and (max-width: 767px) {
	.slick-prev, .slick-next {
		display: block;
		width: 25px;
		height:25px;
		background: #fff;
		border-radius: 50%;
	}
	.slick-prev {
		transform: rotate(180deg);
		margin-right: 20px;
		top:35%;
		left: -40px;
	}
	.slick-next {
		top:38%;
		right: -40px;
	}
	.slick-prev:before, .slick-next:before{
		width:6px;
		height:6px;
		border-right: 1px solid #555;
		border-top: 1px solid #555;
	}
}


/*----------------------------------------FAQ----------------------------------------*/
#index_faq{
}
#index_faq .inner{
	padding: 70px 0;
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
#index_faq .tit{
	width: 40%;
}
.qa-list{
	width: 55%;
}
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 18px;
}
.qa-list dl dt::before {
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #3285bf;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
	color: #555;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
	#index_faq .inner{
		padding: 70px 20px;
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	#index_faq .tit{
		width: 100%;
		margin-bottom: 20px;
	}
	.qa-list{
		width: 100%;
	}
	.qa-list dl {
		position: relative;
		padding: 15px 40px 15px 10px;
	}
	.qa-list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}
	.qa-list dl dt {
		padding: 0 0 0 30px;
		font-size: 14px;
	}
	.qa-list dl dt::before {
		font-size: 14px;
		top: 3px;
		left: 5px;
		content: 'Q.';
	}
	.qa-list dl dd::before {
		font-size: 14px;
		top: 5px;
		left: 5px;
		content: 'A.';
	}
	.qa-list dl dd {
		margin: 10px 0 0;
		padding: 0 0 0 30px;
		font-size: 14px;
	}
	.qa-list dl dd p {
		margin: 30px 0 0;
	}
	.qa-list dl dd p:first-child{
		margin-top: 0;
	}
}



/*----------------------------------------リクルート----------------------------------------*/
.wrapper__video{
  object-fit: cover;
  width: 100%;
  height: 100%;
	position: relative;
	z-index: -1;
	background-color: rgba(0,0,0,0.5);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
#aboutBox{
	display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
	height: 500px;
	min-height: 60vh;
	overflow: hidden;
	position: relative;
	background-color: rgba(71, 97, 128, 0.7);
    background-blend-mode: lighten;
}
#aboutBox .inner{
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	align-items:center;
	width: 1280px;
	height: 60vh;
	position: absolute;
	top:0;
}
#aboutBox .inner h2{
	color: #fff;
	font-size: 48px;
}
#aboutBox .inner p{
	color: #fff;
}
#aboutBox .inner .txt{
	color: #fff;
}
#aboutBox table {
	position: relative;
	left: -40px;
	box-sizing: border-box;
	letter-spacing: 3px;
	font-weight: 200;
	line-height: 26px;
}
#aboutBox table td a {
	color: #fff;
}
@media screen and (min-width: 768px) {
		
}
@media (max-width: 1020px) and (min-width: 768px) {
	#aboutBox .inner{
		display: flex;
		margin: 0 auto;
		align-items:center;
		height: 900px;
	}
	#aboutBox table {
		position: relative;
		left: 0px;
		box-sizing: border-box;
		letter-spacing: 3px;
		font-weight: 200;
		line-height: 26px;
	}	
}
@media screen and (max-width: 767px) {
	#aboutBox{
		background-image: url("../img/about_bg.png");
		background-repeat: no-repeat;
		width: 100%;
		height: 100vh;
		background-size: cover;
		background-position: center;	
	}	
	#aboutBox .inner{
		display: flex;
		margin: 0 auto;
		align-items:center;
		line-height: 250px;
		padding: 60px 20px;		
	}
	#aboutBox .inner h2{
		font-size: 37px;
		margin-bottom: 15px;
	}
	#aboutBox .inner .logo{
		text-align: center;
		margin-bottom: 120px;
	}
}


/*----------------------------------------Instagram----------------------------------------*/
#instaBox{
	position: relative;
	background-color: #F0F3F8;
}
.instaBox_head {
    position: absolute;
    left: 0;
    top: -7rem;
    width: 100%;
    height: 10rem;
    background-color: #F0F3F8;
    clip-path: ellipse(165.8rem 126.8rem at 50% 126.8rem);
	z-index: 1;
}
#instaBox .inner{
	width: 1180px;
	padding: 0px 0 100px;
	margin: 0 auto;
	text-align: center;
	position: relative;;
	z-index: 2;
}
#instaBox .inner h2{
	font-size: 40px;
}
#instaBox .inner .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 65%;
	margin: 60px auto 0;
}
#instaBox .inner .flex p{
	width: 18%;
}
#instaBox .inner .flex img{
	width: 100%;
}
/* 008 */
.button008 a {
    border:1px solid #fff;
    border-radius: 50%;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 220px;
    height: 220px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	font-size: 18px;
	color: #fff;
	text-align: center;
	line-height: 30px;
}
.button008 a:before {
    content: '';
    position: absolute;
    top: calc(66% - -28px);
    right: 29%;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 30px;
    height: 2px;
    background-color: rgba(255,255,255,0.6);
    transition: 0.3s;
}
.button008 a:after {
    content: '';
    position: absolute;
    bottom: 18%;
    right: 30%;
    transform: translateY(-50%);
    width: 80px;
    height: 2px;
    background-color: rgba(255,255,255,0.6);
    transition: 0.3s;
}
.button008 a:hover:before, .button008 a:hover:after {
    right: -2.5em;
}
.button008 a:hover {
    background: #edf6ff;
    color: #205F98;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	#instaBox .inner{
		width: 100%;
		padding: 0px 0 100px;
	}
	#instaBox .inner h2{
		font-size: 37px;
	}
	#instaBox .inner .flex{
		width: 80%;
	}
	#instaBox .inner .flex p{
		width: 44%;
	}
}
/*----------------------------------------お問い合わせ----------------------------------------*/
#contactBox .inner{
	display: flex;
    justify-content: space-between;
    margin: 0 auto;
    align-items: center;
    width: 900px;
	padding: 50px 0;
}
.infoBox{
	background-color: #215f97;
	text-align: center;
	padding: 25px 20px;
	border-radius: 20px;
	margin-top: 30px;
}
.infoBox p{
	color: #fff!important;
}
.infoBox .tit{
	font-size: 20px;
	font-weight: bold;
	position: relative;
}
.infoBox .tit::after{
	content: "";
	position: absolute;
	top: 40px;
	left: 0px;
	width: 100%;
	height: 1px;
	background-color: rgba(255,255,255,0.5);
}
.infoBox .number{
	font-size: 30px;
	font-weight: bold;
	margin: 40px auto 20px;
	letter-spacing: 4px;
}
.infoBox .number:hover{
	text-decoration: none;
}
#contactBox .inner .img{
	background-image: url("../img/img_contact.jpg");
	background-size: cover;
	height: 500px;
	border-radius: 20px;
	background-position: 66% 0%;
}
/* ボタン⑥ <メールでのお問い合わせ>*/
.button012 a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto 0;
    width: 100%;
    padding: 30px 25px 30px 50px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
	font-size: 18px;
    background: #f0f3f7;
    border-radius: 50px;
    z-index:0;
    overflow: hidden;
}
.button012 a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    line-height: 1;
    position: absolute;
    left: 25px;
    background: #215f97;
    padding: 12px 11px 12px 14px;
    border-radius: 60px;
	color: #fff;
    z-index: 2;
}
.button012 a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #ccc;
    transition: .3s;
    left:0;
}
.button012 a:hover:after {
    width: 100%;
    z-index: -1;
}
@media screen and (max-width: 767px) {
	#contactBox .inner{
		width: 100%;
		padding: 50px 20px;
	}
	.button012 a{
		margin: 15px auto;
		font-size: 16px;
		padding: 26px 25px 26px 50px;
	}
	#contactBox .inner .img{
		background-image: url("../img/img_contact.jpg");
		background-size: cover;
		height: 210px;
		border-radius: 20px;
		background-position: 55% 0%;
	}
	.infoBox .number {
		font-size: 26px;
		font-weight: bold;
		margin: 40px auto 15px;
		letter-spacing: 2px;
	}
}


/*----------------------------------------フッター----------------------------------------*/
hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
	margin: 0;
	opacity: 1;
}

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.footer {
  font-size: 15px;
  color: #4b5564;
  background: #fff;
	position: relative
}
.footer__navi-heading {
}
.footer__logo {
  display: inline-block;
  margin-bottom: 2rem;
}
.footer_menu{
	width: 60%;
}
.footer__navi li {
  margin-bottom: 0.75rem;
}
.footer__social a {
  display: inline-block;
  opacity: 0.7;
}
.footer__social a:not(:last-child) {
  margin-right: 16px;
}
.copy_bg{
	background-color: #061f3c;
}
.copy_bg p{
	color: #fff;
}
.copy_bg p a {
    color: #fff;
}
.f__tel{
	font-size: 20px;
	font-weight: bold;
}
@media (min-width: 768px) {
  .md-flex {
    display: flex;
	padding: 2rem 5rem;
  }
	.md-flex2 {
    display: flex;
  }	
  .md-justify-between {
    justify-content: space-between;
  }
  .grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
	.md-flex {
	padding: 2rem;
  }
	.f_logo{
		text-align: center;
		margin: 0 auto 50px;
	}
	.footer__logo img{
		width: 60%;
	}
	.footer_menu{
		width: 100%;
	}
	.copy_bg{
		text-align: center;
	}
	.maps img{
		width: 20px;
	}
	
}


/*----------------------------------------ボタン群----------------------------------------*/
/* ボタン① */
.button_01 a {
    background: #eee;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 240px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	margin: 100px 0px 20px auto;
}
.button_01 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #2ea7e0;
    transition: 0.3s;
}
.button_01 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background-color: #2ea7e0;
    transition: 0.3s;
}
.button_01 a:hover:before, .button_01 a:hover:after {
    right: -2.5em;
}
.button_01 a:visited {
    color: #313131;
}
.button_01 a:hover {
    background: #edf6ff;
    color: #2ea7e0;
}
@media screen and (max-width: 767px) {
	.button_01 a {
		margin: 100px auto 20px;
	}
	.button_01 a:before {
		content: '';
		position: absolute;
		top: calc(50% - 2px);
		right: -1em;
		transform: translateY(calc(-50% - 2px)) rotate(30deg);
		width: 12px;
		height: 2px;
		background-color: #2ea7e0;
		transition: 0.3s;
	}
	.button_01 a:after {
		content: '';
		position: absolute;
		top: 50%;
		right: -1em;
		transform: translateY(-50%);
		width: 50px;
		height: 2px;
		background-color: #2ea7e0;
		transition: 0.3s;
	}
}
/* ボタン② */
a.btn_16 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border-radius: 0.3rem;
	border: 2px dashed #313131;
	color: #313131;
	box-shadow: 5px 5px 0 #313131;
	transition: 0.3s ease-in-out;
}
a.btn_16:hover {
	box-shadow: 0 0 0;
	transform: translate(5px, 5px);
	color: #313131;
}

/* ボタン③ */
a.btn-border {
  padding: 1.5rem 4rem;
  border: 2px solid #13202f;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
	margin-top: 30px;
}

a.btn-border:before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  border-top: 2px dotted #13202f;
}

a.btn-border:after {
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  border-top: 2px dotted #13202f;
}

a.btn-border:hover:before {
  top: -3px;
  background: #13202f;
}

a.btn-border:hover:after {
  bottom: -3px;
  background: #13202f;
}


/* ボタン④ */
a.btn_06 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	height: 50px;
	box-sizing: border-box;
	background: repeating-linear-gradient(45deg, #ffffff, #ffffff 3px, #e7e7e7 3px, #e7e7e7 30px);
	color: #333;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-decoration: none;
	position: relative;
}
a.btn_06 span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	background: #fff;
	border: 1px solid #333;
	box-sizing: border-box;
	position: absolute;
	top: -6px;
	left: -6px;
	transition-duration: 0.2s;
}
a.btn_06:hover span {
	left: -1px;
	top: -1px;
}
a.btn_06 span:before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #333;
}
a.btn_06 span:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 0 ;
	border-color: #333 transparent transparent;
}
/* ボタン⑤ */
a.btn_07 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 300px;
	margin: 0;
	height: 50px;
	box-sizing: border-box;
	background: repeating-linear-gradient(45deg, rgba(255,255,255,0.8), rgba(255,255,255,0.8) 3px, rgba(231,231,231,0.8) 3px, rgba(231,231,231,0.8) 30px);
	color: #333;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-decoration: none;
	position: relative;
}
a.btn_07 span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	background: #fff;
	border: 1px solid #333;
	box-sizing: border-box;
	position: absolute;
	top: -6px;
	left: -6px;
	transition-duration: 0.2s;
	font-weight: 500;
	color: #13202f;
}
a.btn_07:hover span {
	left: -1px;
	top: -1px;
}
a.btn_07 span:before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 10px 10px;
	border-color: transparent transparent #333;
}
a.btn_07 span:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 0 ;
	border-color: #333 transparent transparent;
}


/*-------------------------------------------------------------------------------

/////セカンドページ

-------------------------------------------------------------------------------*/
.second{
	padding: 100px 0;
	background-color: #fff;
    position: relative;
}
.second_main{
}
.subh2-bg {
	margin-top: 20px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.subh2-bg h2 {
  color: #fff;
    width: 100%;
    margin: 0 auto 0px;
    background-color: rgba(35, 72, 114, 1);
    letter-spacing: 3px;
    padding: 150px 0 50px;
    font-size: 2em;
	font-weight: bold;
	text-align: center;
}
span.page_ttl-en {
	display: block;
    font-size: 0.9rem;
    letter-spacing: 3px;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    position: absolute;
    top: 57%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
	font-family: "Lunasima", sans-serif;
    font-weight: bold;
}
/*.subh2-01 {
  background-image: url(../img/category/sub-h2_01.jpg); }

.subh2-02 {
  background-image: url(../img/category/sub-h2_02.jpg); }

.subh2-03 {
  background-image: url(../img/category/sub-h2_03.jpg); }

.subh2-04 {
  background-image: url(../img/category/sub-h2_04.jpg); }

.subh2-05 {
  background-image: url(../img/category/sub-h2_05.jpg); }

.subh2-06 {
  background-image: url(../img/category/sub-h2_06.jpg); }
*/

@media screen and (max-width: 767px) {
	.subh2-bg {
	}
	.subh2-bg h2 {
		font-size: 18px;
		letter-spacing: 2px;
		padding: 100px 0 50px;
	}
	span.page_ttl-en {
		display: block;
		font-size: 0.6rem;
		letter-spacing: 2px;
		top: 53%;
	}
	.second{
		padding: 30px 5%;
	}
}

/*----------------------------------------プライバシーポリシー--------------------------------------*/
.privacy h3{
	border-top: 1px solid rgba(6, 31, 60, .2);
    font-size: 18px;
    line-height: 1.8;
    padding: 20px 0;
    margin: 25px auto 0;
	text-align: left;
}
.privacy h3::before{
	content: none;
}
@media screen and (max-width: 767px) {
	.privacy h3{
		font-size: 20px;
	}
}
/*----------------------------------------会社概要---------------------------------------*/
.greeting{
	background:  linear-gradient(180deg, rgba(85, 85, 85, 0.65), rgba(0, 0, 0, 0.91)) ,url( "../img/pic_about1.jpg") center center no-repeat;
    background-size: cover;
    color: #FFF;
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 150px 20px;
    position: relative;
	margin-bottom: 60px;
    z-index: 1000;
}
.greeting p{
	color: #fff;
}
.greeting .message{
	text-align: left;
	padding: 0px;
}
.greeting .sub_tit{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 50px;
	display: inline-block;
}
.name{
	text-align: right;
	font-weight: bold;
	font-size: 22px;
	margin:100px auto 0px;	
	font-size: 16px;
}
.name span{
	font-family: "HGP行書体", "HG行書体", "Comic Sans MS", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-size: 30px;
}
.company-detail__table{
	width: 100%;
	margin: 0 auto;
}
.company-detail__table tr:first-of-type {
    border-top: none;
}
.company-detail__table tr {
    border-top: 1px solid rgba(6, 31, 60, .15);
}
.company-detail__table th {
    text-align: left;
    width: 35%;
    padding-left: 30px;
}
.company-detail__table th, .company-detail__table td {
    font-weight: 400;
    line-height: 28px;
    padding: 20px 0;
}
.company-detail__table td {
    width: 65%;
}
.company_pic{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-top: 50px;
}
@media screen and (min-width: 768px) {
	.company_pic img{
		width: 48%;
		object-fit: cover;
		height: 518px;
	}
}
@media screen and (max-width: 767px) {
	.greeting{
		padding: 80px 10px;
	}
	.greeting .message{
		font-size: 25px;
	}
	.greeting .sub_tit{
		font-size: 19px;
		font-weight: bold;
		margin-bottom: 30px;
		display: inline-block;
		line-height: 33px;
	}
	.name{
		font-size: 18px;
		margin:50px auto 0px;
	}
	.name span{
		font-size: 12px;
	}
	.company_pic img{
		width: 100%;
		margin-bottom: 10px;
	}
	.company-detail__table th, .company-detail__table td {
		font-size: 13px;
		padding: 20px 0 20px 4px;
	}
}
/*----------------------------------------お問い合わせフォーム----------------------------------------*/
#contact{
}
#contact .form-entry, .form-contact {
    position: relative;
}	
#contact .formy_form-entry {
    position: relative;
    padding: 20px 4vw 40px;
}
 .form-contact-txt .txt { flex: 1;}

  #formy_form table { 
	  width:70%;
	  margin: 0 auto;
}
  #formy_form th,
  #formy_form td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: solid 1px #eee;
  }
  #formy_form th {
    font-weight: normal;
    white-space: nowrap;
    text-align: left;
    width: 34%;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form table textarea {
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    vertical-align: bottom;
  }
  #formy_form table input[type="text"],
  #formy_form table input[type="email"],
  #formy_form table input[type="tel"],
  #formy_form table input[type="date"],
  #formy_form table input[type="password"],
  #formy_form select,
  #formy_form textarea {
    margin: 0;
    padding: 5px 15px;
    border: 1px solid #ccc;
    font: inherit;
    font-size: 100%;
  }
  #formy_form textarea { height: 100px; }
  #formy_form select { height: 40px; }
  #formy_form ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #formy_form input:hover { opacity: .7; }
  #formy_form textarea:hover { opacity: .7; }
  #formy_form input:focus { outline: none;}
  #formy_form .parsley-validated {  background-color: #eee;}
  #formy_form .parsley-error {  background-color: #fee;}
  #formy_form .parsley-success {  background-color: #fff;}
  .help_text {
    font-size: 85%;
    color: #999;
  }
  .hidden_help { display: none; }
  .formy_privacy div {
    overflow-y: scroll;
    height: 140px;
    border: solid 1px #ccc;
    font-size: 85%;
    padding: 8px 16px;
  }
  .requiredIcon {
    background-color: #f55;
    color: #fff;
    margin: 0 0 0 5px;
    font-size: 70%;
    padding: 4px 5px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
  }
  #formy_btn {
    padding-top: 32px;
    text-align: center;
  }
  #formy_btn input {
    min-width: 220px;
    padding: 16px 32px;
    margin-right: 4px;
    margin-left: 4px;
    border: none;
    border-radius: 3px;
    color: #fff;
    font-size: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
  #formy_form ul li input[type="radio"],
  #formy_form ul li input[type="checkbox"] { display: none !important; }
  #formy_form ul li label {
    height: 40px;
    line-height: 40px;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 8px 0 40px;
    cursor: pointer;
  }
  #formy_form ul li label:hover { opacity: .7; }
  #formy_form ul li label::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid #788b93;
    left: 16px;
    top: 12px;
  }
  #formy_form ul li input[type="radio"] + label::before { border-radius: 10px; }
  #formy_form ul li input[type="radio"]:checked + label,
  #formy_form ul li input[type="checkbox"]:checked + label {
    color: #e75f5f;
    font-weight: bold;
  }
  #formy_form ul li input[type="radio"]:checked + label::before,
  #formy_form ul li input[type="checkbox"]:checked + label::before {
    border-color: #e75f5f;
  }
  #formy_form ul li input[type="radio"]:checked + label::after,
  #formy_form ul li input[type="checkbox"]:checked + label::after {
    content: "";
    width: 10px;
    height: 18px;
    top: 4px;
    left: 20px;
    border-right: 2px solid #e75f5f;
    border-bottom: 2px solid #e75f5f;
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .formy_confirm { background-color: #4dbaff; }
  .formy_submit_disabled { background-color: #ccc; }
  #formy_btn .formy_submit_disabled:hover {
    opacity:1;
    cursor: default;
  }
  .autoConfirmBack { background-color: #aaa; }
  .formy_send { background-color: #ff6600; }
  #total_required {
    padding: 16px;
    color: #f55555;
    text-align: center;
  }
.table_basic td.c { text-align:center;}
.table_basic td textarea { height:200px; width:100%;}
.table_basic td input.inputmini {width:30%;}
.table_basic td input.inputfull {width:100%;}
.table_basic td input.radio { margin-right:5px;}	
	
	
#contact .form_btn{
	text-align:center;
}
#contact .form_btn a{
	display:inline-block;
	color:#000;
	font-size:12pt;
	padding:12px 30px;
	margin-top: 30px;
}

#contact .form_btn button{
	display:inline-block;
	color:#000;
	font-size:12pt;
	padding:12px 30px;
	margin-top: 30px;
	border: none;
	background-color: #ddd;
}	
@media screen and (max-width: 767px) {
	#contact{
		width: 100%;
		margin: 0 auto;
	}
	#contact .formy_form-entry {
		padding: 0px;
	}
	  #formy_form table { 
		  width:100%;
		  margin: 0 auto;
	}
	  #formy_form th,
	  #formy_form td {
		padding: 15px;
		  display: block;
		vertical-align: middle;
		border-bottom: none;
	  }
	  #formy_form th {
		font-weight: normal;
		white-space: nowrap;
		text-align: left;
		width: 100%;
	  }
	.table_basic td input.inputmini {
		width:auto;
	}
}

/*----------------------------------------施工事例一覧----------------------------------------*/
.caseBox{
	width: 100%;
	padding: 25px;
	background-color: #F3F3F3;
	box-shadow: 5px 5px 10px -10px;
	margin-bottom: 30px;
}
.caseBox a {
    display: block;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.caseBox .pic{
	width: 20%;
	padding: 6px;
	background-color: #fff;
	border-radius: 8px;
}
.caseBox .pic img{
	width: 100%;
}
.caseBox .txt{
	width: 77%;
	padding: 6px;
}
.caseBox .tit span{
	display: inline-block;
	background: #fff;
    border-radius: 5px;
    padding: 0.5em 0.5em 0.5em 0.1em;
    color: #222;
    margin-right: 10px;
}
.caseBox .tit span:before {
    content: "\f02b";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 1em;
}

@media screen and (max-width: 767px) {
	.works__wrap .inner{
		padding: 0 2%;
	}
	.caseBox .pic{
		width: 100%;
		padding: 6px;
		background-color: #fff;
		border-radius: 8px;
		margin-bottom: 20px;
	}
	.caseBox .txt{
		width: 100%;
		padding: 6px;
	}
}
/*----------------------------------------施工事例詳細----------------------------------------*/
.works__wrap .worksBox{
	width: 1100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 auto 50px;
}
.works__wrap .worksBox .pic{
	width: 50%;
	margin: 0 auto 0 0;
    padding: 1em;
    border: #ddd solid 0.5px;
	box-shadow: 3px 3px 3px #ddd;
}
.works__wrap .worksBox .pic img{
	width: 100%;
}
.works__wrap .inner .exp{
	width: 45%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.works__wrap .worksBox .exp .txt,.works__wrap .worksBox .exp h4{
	width: 100%;
}
.works__wrap .worksBox .exp .tit span{
	display: inline-block;
	background: #eee;
    border-radius: 5px;
    padding: 0.5em 0.5em 0.5em 0.1em;
    color: #222;
    margin-right: 10px;
}
.works__wrap .worksBox .exp .tit span:before {
    content: "\f02b";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 1em;
}

.beaf__pic .img{
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: flex-start;	
	row-gap:20px;
	column-gap: 10px;
	margin-bottom:60px;
}
.beaf__pic .img a{
	max-width:32%;
}
.beaf__pic .img img{
	width: 360px;
    object-fit: cover;
    height: 308px;
}
@media screen and (max-width: 767px) {
	.works__wrap .worksBox{
		width: 100%;
	}
	.works__wrap .worksBox .pic{
		width: 100%;
		margin: 0 auto;
		padding: 1em;
		border: #ddd solid 0.5px;
		box-shadow: 3px 3px 3px #ddd;
	}
	.works__wrap .worksBox .pic img{
		width: 100%;
	}
	.works__wrap .worksBox .exp{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.works__wrap .worksBox .exp h4{
		margin-top: 20px;
	}
	.beaf__pic .img a{
		max-width:100%;
	}
	.beaf__pic .img img{
		width: 375px;
		object-fit: cover;
		height: 308px;
	}
}

