/*共通
------------------------------*/
.block {padding: 50px 0;}
.block_first {padding: 0 0 50px;}
.block_last {padding: 50px 0; margin-bottom: -50px;}
.bg {position: relative;}
.bg:after {content: ""; position: absolute; left: -100%; top: 0; height: 100%; width: 300%; background: var(--color-blue-ulight); z-index: -1;}

/*測量事業・電力施設調査
------------------------------*/
.box1 {display: flex; flex-wrap: wrap; align-items: center; padding: 50px 0; position: relative;}
.box1_txt {flex-basis: 50%; padding-right: 30px;}
.box1_txt p {font-size: 1.4rem; margin-bottom: 0;}
.box1_img {flex-basis: 50%;}
.box1_first {margin-top: -50px}
.box1_last {margin-bottom: -50px}
.box1_img ul li{
	display: flex;
	align-items: center;
}

@media (max-width: 767px) {
	.box1_txt {flex-basis: 100%; padding: 0 0 20px 0;}
	.box1_img {flex-basis: 100%;}
}

/*ドローン測量
------------------------------*/
.merit_box {background: var(--color-orange-slight); padding: 20px; max-width: 700px; margin: 0; line-height: 1.7; font-size: 1.4rem;}
.flow {display: flex; align-items: center; gap: 20px;}
.flow.al-top{align-items:normal; }
.flow1_caption {font-size: 1.3rem; text-align: center; margin-top: 15px; line-height: 1.3;}
.flow2 {padding-bottom: 27px;}
.flow_desc_caption dl{
}
.flow_desc_caption dl dt{
	padding: 5px 8px;
	margin-bottom: 5px;
	font-size: 1.9rem;
}
.flow_desc_caption dl dd li{
	line-height: 2.1rem;
}

@media (max-width: 767px) {
	.flow {flex-wrap: wrap; gap: 10px;}
	.flow1, .flow2 {flex-basis: 100%;}
	.flow1 {display: flex; align-items: center; border: 1px solid #ccc; background: #fff;}
	.flow1_img {flex-basis: 150px;}
	.flow1_caption {flex-basis: calc(100% - 150px); text-align: left; margin: 0; padding-left: 20px;}
	.flow2 {padding-bottom: 0; text-align: center;}
	.flow2 img {transform: rotate(90deg); width: 20px;}
}

/*3次元計測
------------------------------*/
.merit {display: block;}
.merit strong {display: block; color: #fff; padding: 7px; text-align: center; font-size: 1.4rem; margin-bottom: 3px}

/*開発申請
------------------------------*/
.box2 {background: var(--color-orange-slight); padding: 20px; margin: 0; line-height: 1.7; font-size: 1.4rem;}

/*ご挨拶
------------------------------*/
.goaisatsu {display: flex; flex-wrap: wrap;}
.goaisatsu_txt {flex-basis: calc(100% - 350px);}
.goaisatsu_img {flex-basis: 350px; padding: 0 50px;}

@media (max-width: 767px) {
	.goaisatsu {max-width: 500px;}
	.goaisatsu_txt {flex-basis: 100%; order: 2;}
	.goaisatsu_img {flex-basis: 100%; padding: 0 50px; order: 1; padding: 0 0 30px 0; text-align: center;}
	.goaisatsu_img img {max-width: 200px;}
}

/*企業理念
------------------------------*/
.rinen {display: flex; flex-wrap: wrap;}
.rinen_txt {flex-basis: 50%; padding-right: 30px}
.rinen_img {flex-basis: 50%;}

@media (max-width: 767px) {
	.rinen {max-width: 500px;}
	.rinen_txt {flex-basis: 100%; padding: 30px 0 0 0; order: 2;}
	.rinen_img {flex-basis: 100%; order: 1;}
}

/*SDGs宣言
------------------------------*/
.box3 {background: #f5f5f5; padding: 20px; font-size: 1.4rem;}

/*会社概要
------------------------------*/
.table_company {width: 100%; border-collapse: collapse;}
.table_company tr:nth-child(odd) {background: #f5f5f5;}
.table_company th, .table_company td {padding: 25px 15px; line-height: 1.6}
.table_company th {position: relative; text-align: right; width: 190px; position: relative; font-size: 1.45rem;}
.table_company th:after {content: ""; position: absolute; right: 0; top: 5px; height: calc(100% - 10px); border-right: 1px solid #ddd;}

@media (max-width: 767px) {
	.table_company th {width: 110px;}
}

/*沿革
------------------------------*/
.enkaku {display: flex; flex-wrap: wrap; line-height: 1.5;}
.enkaku dt {flex-basis: 8em; font-weight: 400;}
.enkaku dd {flex-basis: calc(100% - 8em); margin-bottom: 30px}
.enkaku dd:last-child {margin-bottom: 0;}

/*募集職種
------------------------------*/
.tile > div {display: flex;}
.box4 {padding: 30px; background: var(--color-blue-ulight); border-radius: 15px; flex: 1; width: 100%; display: flex; flex-direction: column;}
.box4 h4.title_inner {margin: 40px 0 5px;}
.shokushu {margin: 25px 0; line-height: 2;}
a.b_shokushu {display: block; background: var(--color-green); color: #fff; height: 34px; width: 200px; text-align: center; border-radius: 17px; line-height: 32px; transition: 0.3s; margin-top: auto;}
a.b_shokushu:hover {background: var(--color-green-light);}

/*募集要項
------------------------------*/
.table_youkou {border-collapse: collapse; width: 100%; border-top: 1px solid #ccc; margin-bottom: 50px;}
.table_youkou tr {border-bottom: 1px solid #ccc;}
.table_youkou th, .table_youkou td {padding: 20px 0; line-height: 1.6; vertical-align: middle;}
.table_youkou th {text-align: left; width: 200px;}

@media (max-width: 600px) {
	.table_youkou th, .table_youkou td {display: block;}
	.table_youkou th {width: auto; white-space: nowrap; padding-bottom: 0;}
}

a.b_youkou {display: flex; color: #fff; height: 52px; width: 100%; max-width: 400px; justify-content: center; text-align: center; align-items: center; line-height: 1.2; border-radius: 26px; transition: 0.3s;}
.b_entry {background: var(--color-green); float: left;}
.b_entry:hover {background: var(--color-green-light);}
.b_hellowork {background: var(--color-orange); float: right; letter-spacing: 0;}
.b_hellowork:hover {background: var(--color-orange-light);}

@media (max-width: 870px) {
	a.b_youkou {float: none; margin: 0 auto 20px; font-size: 1.4rem;}
}

/*エントリーフォーム
------------------------------*/
.entry {background: #f5f5f5; padding: 20px 20px 30px; border-radius: 15px;}

.table_entry {width: 100%; max-width: 650px; margin:0 auto 40px; border-collapse: separate; border-spacing: 15px;}
.table_entry th, .table_entry td {padding: 15px;}
.table_entry th {white-space: nowrap; text-align: right; border-right: 1px solid var(--color-blue-slight);}

@media (max-width: 600px) {
	.table_entry {border-collapse: collapse; border-spacing: 0;}
	.table_entry th, .table_entry td {display: block;}
	.table_entry th {border-right: 0; text-align: left; padding: 20px 0 0;}
	.table_entry td {border-bottom: 1px solid var(--color-blue-slight); padding: 15px 0 20px}
}

.form_name {display: flex; gap: 10px; max-width: 350px; margin: 0;}
.form_birthday {display: flex; gap: 10px; max-width: 350px; margin: 0;}
.form_birthday1 {flex-basis: 46%;}
.form_birthday2 {flex-basis: 27%;}
.form_date {display: flex; align-items: flex-end; gap: 10px;}


dl.explanation dt{margin-bottom: 5px;}
dl.explanation dt::before{content: '・';}
dl.explanation dd{margin-bottom: 10px;padding-left: 14px;line-height: 1.8rem;}

.flow_vertical li{
	text-align: center;
	padding: 15px;
	border: #ccc 1px solid;
	position: relative;
	margin-bottom:40px;
	background: #fff;
}
.flow_vertical li::after{
	content: '';
	position: absolute;
	width: 100%;
	height: 0;
	padding-bottom: 5%;
	background: url('../images/sankaku.png') no-repeat;
	background-position: center;
	background-size: auto 100%;
	bottom: -100%;
	left: 0;
	transform: rotate(90deg); 
}
.flow_vertical li:last-child{
	margin-bottom: 0;
}
.flow_vertical li:last-child::after{
	content: none;
}