@charset "UTF-8";
/* CSS Document */
@media (min-width: 960px){
	.sp,.navToggle{
		display: none !important;}	
}
body{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	background-color: #f7f6f5;
}

a{
	text-decoration-line: none;
}
ul li{
	list-style-type: none;
}
/* スペース調整==================== */
.w960{
	max-width: 960px;
	margin: auto;
}
.h50{
	height: 50px;
}
.h30{
	height: 30px;
}

.flex_between{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
/* ヘッダー　==================== */
header{
	width: 100%;
	height: auto;
	background-color: rgba(147,202,118,0.70);
}
header h1{
	margin-left: 20px;
	margin-top: auto;
	margin-bottom: auto;
	max-width: 450px;
	min-width: 270px;
	width: 30%;
}
header h1 img{
	vertical-align: middle;
	max-width: 420px;
	width: 100%;
}
header nav.pc ul{
	display: flex;
	justify-content: space-between;
	font-family: 'Noto Sans JP', sans-serif;
	max-width: 500px;
	margin: auto;
	text-align: center;
}
header nav.pc ul li{
	font-size:1em;
	font-weight: bold;
	line-height: 110%;
	text-align: center;
}
header nav.pc ul li a{
	color: #1a1a1a;
	background: url("../img/bg_maru.png") no-repeat center center;
	background-size: 1px;
	border-bottom: 1px solid rgba(23,97,44,0);
	padding: 15px 10px;
}
header nav.pc ul li a:hover{
	color: #93ca76;
	background-size: 60px;
	border-bottom: 1px solid rgba(23,97,44,1);
	transition:all .5s ease-in;
}
header nav.pc ul li img{
	width: 1.1em;
}

.header_in{
	max-width: 1800px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	background-color: #f7f6f5;
}
.header_tel{
	position: relative;
}
.header_tel h2{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-family: 'Noto Sans JP', sans-serif;
	width: 230px;
	height: 140px;
	background-color: rgba(147,202,118,0.70);
	font-size:26px;
}
.header_tel::after{
	content: "";
	position: absolute;
	top:0;
	left: -30px;
	border-style: solid;
	border-color: transparent rgba(147,202,118,0.70) transparent  transparent;
	border-width: 0 30px 140px 0 ;
	z-index: 11;
}
.header_tel h2 span{
	font-size: 18px;
}
.header_tel h2 a{
	color: #fff;
}.header_tel h2 a:hover{
	color: #517bc9;
}
/* スライダー　==================== */
.top_copy{
	position: absolute;
	top:50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 10;
}
.top_copy h2{
	color: #fff;
	font-size: 2.5em;
	text-shadow: 2px 2px 5px #000;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}
/* 最大表示幅枠　==================== */
.wrapper{
	max-width: 1800px;
	margin: auto;
	background-color: #ccc;
}
.wrapper_bg{
	background: url("../img/bg01.jpg") repeat;
}

/* 各コンテンツ枠　==================== */

.bg_w{
	background-color: rgba(255,255,255,0.55);
}
.contents{
	width: 100%;

}
.contents_in{
	max-width: 960px;
	margin: auto;
}
.top_aisatsu_bg{
	background: url("../img/bg02.jpg") no-repeat center center;
	background-size: cover;
}

.aisatsu_in{
	background-color: rgba(255,255,255,0.75);
	padding: 15px;
	margin: auto;
}

.contents_in h2{
	font-size: 2.2em;
	padding-top: 1em;
	padding-bottom: 0.25em;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	border-bottom:solid 1px;
}
.contents_in p{
	margin: 20px;
}
.contents_link{
	position: relative;
	margin-top: 20px;
	max-width: 960px;
	height: 330px;
	border-radius: 5px;
	overflow: hidden;
}
.link_projects{
	width: 100%;
	height: 100%;
	background-image: url("../img/img02.jpg") ;
	background-size: cover;
	transition: all 0.5s ease-out;
	transform: matrix3d(
		1, 0, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1
	);
	will-change: transform;
}
.link_works{
	width: 100%;
	height: 100%;
	background-image: url("../img/slider02.jpg") ;
	background-position: center center;
	background-size: cover;
	transition: all 0.5s ease-out;
	transform: matrix3d(
		1, 0, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1
	);
	will-change: transform;
}
.link_company{
	width: 100%;
	height: 100%;
	background-image: url("../img/img03.jpg") ;
	background-size: cover;
	background-position: center;
	transition: all 0.5s ease-out;
	transform: matrix3d(
		1, 0, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 1
	);
	will-change: transform;
}
.link_projects:hover,.link_works:hover,.link_company:hover{
	transform: matrix3d(
		1, 0, 0, 0,
		0, 1, 0, 0,
		0, 0, 1, 0,
		0, 0, 0, 0.9
	);
}
.link_g{
	background-color: rgba(147,202,118,0.70);
	position: relative;
}
.link_g h3{
	width: 80%;
	text-align: center;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2em;
	margin: 0 auto;
	padding: 30px 30px 10px;
	border-bottom:solid 1px #fff;
}
.link_g p{
	color: #fff;
	font-size: 1.1em;
	padding: 20px 50px;
	margin: 0;
	text-align: center;
}
.link{
	display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: 20;
}
svg.triangle {
}

.triangle path {
	fill: rgba(147,202,118,0.70);
	stroke: rgba(147,202,118,0.70);
	stroke-width: 0;
}
p.link_p{
	text-align: center;
	background-color:rgba(255,255,255,0.75);
	width: 200px;
	margin: 10px auto 0;
	padding: 5px;
	border-radius: 5px;
}
/* 採用案内バナー　==================== */
.top_recruit{
	margin-top: 20px;
	border-radius: 5px;
	overflow: hidden;
}
.top_recruit img{
	width: 100%;
	transition-duration: 0.5s;
}

.top_recruit:hover img{
	transform: scale(1.1);
	transition-duration: 0.5s;
}
/* 実績カルーセルスライダー　==================== */
.carousel {
	padding: 0;
}
.carousel div {
	margin: 0 5px;
	height: 230px;
	overflow: hidden;
}
.carousel img {
	width: 100%;
	height: 230px;
	object-fit: cover;
}
.carousel .slick-next {
	right: 17px;
	z-index: 50;
}
.carousel .slick-prev {
	left: 23px;
	z-index: 50;
}

/* フッター部分　==================== */
footer{
	background-color: rgba(147,202,118,0.70);
	margin-bottom: 0;
	background-image: url("../img/bg02.png");
	background-repeat: no-repeat;
	background-size: cover;
}
footer h3{
	color:#fff;
	text-align: center;
	padding: 10px;
	font-size: 1.5em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	background: #93ca76;
}
footer p{
	color:#fff;
	text-align: center;
}
footer nav{
	max-width: 800px;
	margin: auto;
}
footer nav ul{
	display: flex;
	justify-content: space-between;
}
footer nav ul li{
	padding: 1em;
}
footer nav ul li a{
	color: #fff;
}
footer nav ul li a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f0da';
	padding: 5px;
}
footer nav ul li a:hover{
	color: #517bc9;
}
.footer_in{
	max-width: 900px;
	margin: auto;
	display: flex;
	justify-content:space-between;
	align-items: center;
	padding-top: 20px;
}
.footer_in img{
	width: 250px;
	padding: 10px 10px 0;
}
.footer_in h2{
	color: #fff;
	line-height: 100%;
	padding: 0;
}
.footer_in p{
	color: #000;
	line-height: 120%;
	font-size:0.9em;
}
.footer_address{
	text-align: center;
}
.contact_icon{
	display: flex;
	justify-content: center;
	margin: 0 20px;
}
.contact_icon .icon_child{
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;	
}
.contact_icon .icon_child a{
	display: block;
	color:#93ca76;
	text-decoration-line: none;
	width: 300px;
	background-color: #e3ebe1;
	padding: 0.5em;
	border-radius: 40px;
	margin: 10px;
	border:#93ca76 3px solid;
}
.contact_icon .icon_child :hover{
	color: #fff;
	background-color:#93ca76;
}
footer small p{
	color: #fff;
	text-align: center;
	padding: 30px 0;
}
/* サブページタイトル==================== */

.subtitle{
	background-color: #1a1a1a;
	display: block;
	width: 100%;
	height: 350px;
	position: relative;
}
.img_subtitle{
	background: url("../img/bg_subtitle.jpg") no-repeat;
	background-position: center 50%;
	background-size: cover;
}
.subtitle h2{
	font-family: 'Noto Sans JP', sans-serif;
	color:#fff;
	text-align: center;
	width: 100%;
	font-size:50px;
	line-height: 100%;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
.subtitle h2 span{
	color: #93ca76;
	font-size:30px;
}
/* メールフォーム==================== */
.mailform h3{
	font-size: 1.5em;
	padding: 0 0.5em ;
	border-left: solid 10px;
	margin: 2em 0 1em;
	color: #93ca76;
}
.mailform{
	width: 100%;
	padding: 0 30px;
}
.fome01{
	margin: 10px;
	padding-bottom: 10px;
}
label{
	display: inline-block;
	width: 180px;
	vertical-align: top;
	-webkit-appearance: none;
}
input[type='text'] ,input[type='date'] , textarea{
	width: 70%;
	border: 1px solid #ccc;
	padding: 5px;
	background-color: #fff;
}
input[type='submit']{
	display: block;
	width: 100%;
	max-width: 300px;
	padding: 5px;
	font-weight: 400;
	background-color:#fff;
	border:3px solid #93ca76;
	color: #93ca76;
	border-radius: 20px;
	margin: 0 auto;
}
input[type='submit']:hover{
	color: #fff;
	background-color:#93ca76;
}
.fome01 span{
	color:#be1a20;
}
.font-s {
	font-size: 80% !important;
	color:#666;
	margin: 15px;
}
.flex_select{
	display: flex;
}

.infobox{
	width: 95%;
	margin: auto;
	background-color: #fff;
	padding: 10px;
	color: #fff;
}
.infobox h4{
	text-align: center;
	color: #93ca76 !important;
	font-size: 1em !important;
}
.infobox h5{
	color: #333;
}
.infobox p{
	font-size: 0.8em !important;
	color: #333;
	padding: 0.5em;
}
summary{
	cursor: pointer;
	display: block;
	list-style: none;
	color: #fff;
}
summary::-webkit-details-marker {
	color: transparent;
	display: none;
}
details summary h4::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f067';
	padding-right: 15px;
}
details[open] summary h4::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f068';
	padding-right: 15px;
}
.tel_button{
	margin: 20px 0;
	text-align: center;
}
.tel_button a{
	display: block;
	width: 500px;
	padding: 20px;
	background-color:#93ca76;
	margin: auto;
	font-size:1.5em ;
	cursor: pointer;
	color: #fff;
}
.tel_button a:hover{
	color: #517bc9;
}

/* 会社概要==================== */
.gaiyou{
	width: 90%;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(255,255,255,0.50);
}
.gaiyou th{
	text-align: left;
	vertical-align: top;
	padding: 8px 20px;
	background: #93ca76;
	width: 180px;
	color: #fff;
}
.gaiyou td{
	vertical-align: top;
	padding: 8px 20px;
	border-bottom: #93ca76 1px solid;
}
.map{
	margin: 20px 0;
}
.flex_company{
	display: flex;
	justify-content:space-around;
	align-items: center;
	width: 80%;
	margin:20px auto;
}
.flex_company div{
	width: calc( 80% / 2 - 10px);
}
.flex_company div img{
	width: 100%;
	padding: 5px;
}


/* 業務内容==================== */
.projects h3{
	border-left: solid 6px #93ca76;
	padding: 3px 0.5em;
	margin-bottom: 15px;
	background: rgba(255,255,255,0.49);
}
.flex_project{
	display: flex;
	justify-content:space-between;
	align-items: center;
}
.flex_project div{
	width: calc( 100% / 3 - 10px);
}
.flex_project div img{
	width: 100%;
	padding: 5px;
}
.flow_wrap02,.flow_wrap03{
	width: 90%;
	max-width: 900px;
	border:#93ca76 solid 3px;
	padding: 20px;
	margin: 30px auto;
	border-radius: 5px;
	position: relative;
	background: rgba(255,255,255,0.49);
}
.flow_wrap02::after{
	content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top: 15px solid #93ca76; 
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}
.flow_wrap02 dl,.flow_wrap03 dl{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.flow_wrap02 dt,.flow_wrap03 dt{
	width: 100px;
	padding: 1em 0.25em;
	text-align: center;
	background: linear-gradient(to right, #93ca76 0%,#75c9ac 100%);
	color: #fff;
	border-radius: 5px;
}
.flow_wrap02 dd,.flow_wrap03 dd{
	width: 100%;
	padding: 0.5em 1em 0.5em 2em;
}
.flow_wrap02 dd h5,.flow_wrap03 dd h5{
	font-size:1em;
}
.flow_wrap02 dd p,.flow_wrap03 dd p{
	padding: 0;
	margin: 0;
	font-size: 0.9em;
	line-height: 150%;
	vertical-align: middle;
}
/* TOPへ戻るボタン==================== */
#page_top{
	width: 150px;
	height: 110px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background-image: url("../img/pagetop.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 150px;
	z-index: 999;
}
#page_top a{
	position: relative;
	display: block;
	width: 150px;
	height: 110px;
	text-decoration: none;
	cursor:pointer;
}

/* スクロールフェードイン==================== */
.fadein {
	opacity : 0.1;
	transform : translate(0, 100px);
	transition : all 500ms;
	}

.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}


