@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
	#footer .contact .txt span {
		display: inline-block;
		margin-left: 10px;
	}
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ヘッダ */
	#header {
		overflow: hidden;
		height: 50px;
		padding: 0;
		background: #fff;
	}
	#header h1.title {
		height: 50px;
		padding-left: 10px;
	}
	#header .title img {
		width: auto;
		max-height: 27px;
	}
	#sticky {
		z-index: 9997;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	/* お問い合わせ */
	#header .contact {
		position: relative;
	}
	#header .contact .tel,
	#header .contact .btn {
		position: absolute;
		top: 0;
		right: 90px;
		display: block;
		width: 24px;
		height: 50px;
		padding: 0 11px;
		/* 縦方向中央揃え */
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
	#header .contact .btn {
		right: 44px;
	}
	#header .contact .txt,
	#header .contact .tel span,
	#header .contact .btn span {
		display: none;
	}
	/* コンテナ */
	#container h3.sub {
		font-size: 20px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .box {
		padding: 60px 0 30px;
	}
	#footer .box dt {
		margin-bottom: 20px;
	}
	#footer .box dt img {
		max-height: 25px;
	}
	#footer .tel_btn .tel img {
		width: 23px;
	}
	#footer .box .tel_btn .tel {
		font-size: 26px;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/* コンタクトバナー */
	.contact_bana .btn_link {
		width: 400px;
		height: 60px;
		font-size: 23px;
		line-height: 60px;
	}
	#footer .contact_bana {
		bottom: -30px;
	}
	#container .contact_bana .btn_link {
		left: calc(50% - 200px);
		top: -30px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* お知らせ */
	#top_info::before {
	background-size: 13% auto;
	}
	#top_info h3.sub {
		margin-bottom: 10px;
	}
	#top_info dt, #top_info dd {
		padding: 10px 0;
	}
	#top_info .fl {
		margin-bottom: 60px;
	}
	/* インタビュー */
	#interview {
		padding: 60px 0;
	}
	#interview .box {
		height: 160px;
	}
	#interview .box_title {
		padding-top: 40px;
		padding-left: 20px;
	}
	#interview .box_title .title_name {
		font-size: 36px;
	}
	#interview .box_title .box_txt {
		font-size: 120%;
	}
	#interview .box .img img {
		height: 160px;
	}
	/* 品質方針 */
	#quality {
		padding: 60px 0 50px;
	}
	#quality .box {
		padding: 60px 20px;
		background-size: 20%;
	}
	#quality .box_title {
		font-size: 20px;
	}
	#quality .box .big_txt {
		font-size: 33px;
	}
	#quality .box .big_txt {
		font-size: 23px;
	}
	#quality .box .top_txt {
		font-size: 120%;
		margin-bottom: 20px;
	}
	#quality .box .box_txt {
		line-height: 2em;
	}
	/* SDGｓへの取り組み */
	#sdgs h3 {
		font-size: 20px;
		margin-bottom: 10px;
	}
	#sdgs .sdgs_msg {
		padding: 25px;
		margin-bottom: 30px;
	}
	#sdgs h4 {
		font-size: 18px;
	}
	#sdgs .box p.img_lft img {
		height: 50px;
	}
.character {
	position:static;
	text-align: center;
	margin-top: 40px;
	}
.character img {
	position:static;
	}
	/*--------------------------------------------------
		企業情報
	--------------------------------------------------*/
	#about .bg_blue h3 {
		font-size: 30px;
	}
	#about .bg_blue .sub {
		font-size: 17px;
	}
	#about .bg_blue table tr .td_wrap {
		display: block;
	}
	#about .bg_blue table tr .td_wrap p:first-of-type {
		margin-right: 0;
	}
	#about .bg_blue .wrap .sec {
		width: 100%;
	}
	#about .bg_blue .wrap .sec .bg_white {
		padding: 10px;
	}
	#about .bg_blue iframe {
		height: 300px;
	}
	#about .qualification .rinen {
		font-size: 28px;
	}
	#about .qualification ul {
		margin-left: 70px;
		font-size: 17px;
	}
	#about .qualification .wrap {
		display: block;
	}
	#about .qualification .wrap table {
		width: 100%;
		margin-bottom: 20px;
	}
	#about .qualification .other_tbl table tr td:first-child {
		width: 261px;
	}
	#about .history h3 {
		margin-bottom: 10px;
	}
	#about .history .other_tbl table tr td:first-child {
		width: 150px;
	}
	/*--------------------------------------------------
		業務実績
	--------------------------------------------------*/
	#job .bg_blue h3 {
		font-size: 30px;
	}
	#job .bg_blue .sub {
		font-size: 17px;
	}
	/*--------------------------------------------------
		共通 サービスページ
	--------------------------------------------------*/
	.service_box .ttl {
		margin-bottom: 0;
	}
	.service_box .ttl span {
		padding-top: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		font-size: 25px;
		padding-left: 30px;
	}
	#geology.service_box .ttl span,
	#surveying.service_box .ttl span,
	#consultant.service_box .ttl span {
		background-size: auto 100%;
	}
	.service_box .bg_man {
		margin-bottom: 50px;
	}
	.service_box .bg_man ul li {
		margin-left: 1em;
		text-indent: -1em;
	}
	.service_box .bg_man .maru {
		margin-bottom: 20px;
	}
	.service_box .bg_man .maru ul {
		width: 24%;
	}
	.service_box .bg_man .maru ul li {
		font-size: 16px;
	}
	.service_box .bg_man .maru ul:not(:last-of-type) {
		margin-right: 1%;
	}
	.service_box .bg_man .bg_blue {
		width: 100%;
		padding: 15px;
		opacity: 0.8;
	}
	.service_box .service_list dl {
		width: 49%;
	}
	.service_box .service_list dl dt {
		text-align: center;
	}
	/*--------------------------------------------------
		共通　リンク
	--------------------------------------------------*/
	.service_link {
		margin-bottom: 40px;
	}
	.service_link li {
		width: 24%;
	}
	.service_link li a {
		width: 100%;
		font-size: 18px;
	}
	/*--------------------------------------------------
		共通　インタビュー
	--------------------------------------------------*/
	.interview h3 {
		font-size: 30px;
	}
	.interview .sub {
		font-size: 17px;
	}
	.interview .list .box {
		padding: 20px;
	}
	.interview .list .box .img {
		position: relative;
		top: auto;
		left: auto;
		text-align: center;
	}
	.interview .list .box .name {
		font-size: 18px;
	}
	/*--------------------------------------------------
		募集
	--------------------------------------------------*/
	#recruit .wrap_mynavi {
		display:flex;
		justify-content: space-between;
		margin-bottom: 30px;
	}
	#recruit .mynavi, #recruit .mynavi02, #recruit .mynavi03 {
		width: 33%;
		text-align: center;
	}
	#recruit .mynavi a,
	#recruit .mynavi02 a,
	#recruit .mynavi03 a{
		position: relative;
		top: auto;
		right: auto;
		display: block;
	}
	/*--------------------------------------------------
		測量
	--------------------------------------------------*/
	.bg_man .box-flex {
		position:static;
		display: flex;
		justify-content: space-between
	}
	.bg_man .box-flex .character-y {
		position:static;
	}
	.bg_man .box-flex .character-y img {
		width: 150px;
	}
	/*--------------------------------------------------
		設計
	--------------------------------------------------*/
	.bg_man .box-flex {
		position:static;
		display: flex;
		justify-content: space-between
	}
	.bg_man .box-flex .character-k {
		position:static;
	}
	.bg_man .box-flex .character-k img {
		width: 150px;
	}
	/*--------------------------------------------------
		地質・土質
	--------------------------------------------------*/
	#geology.service_box .bg_man .maru ul {
		width: 32%;
	}
	#geology.service_box .bg_man .maru ul:not(:last-of-type) {
		margin-right: 2%;
	}
	/*--------------------------------------------------
		調査
	--------------------------------------------------*/
	#research.service_box .bg_man ul {
		width: 49%;
	}
	#research.service_box .bg_man ul:first-of-type {
		margin-right: 2%;
	}
	#research .box-flex {
		position: relative;
	}
	#research .box-flex .character-c {
		position: absolute;
		right: 0px;
		bottom: -90px;
	}
	#research .box-flex .character-c img {
		width: 130px;
	}
	/*--------------------------------------------------
		保障コンサルタント
	--------------------------------------------------*/
	#consultant.service_box .bg_man .maru ul {
		width: 100%;
	}
	
/*--------------------------------------------------
	マスコットキャラクター
--------------------------------------------------*/
#character .bg_wide h3 {
	font-size: 30px;
}
#character .bg_wide sub {
	font-size: 17px;
}
#character .bg_blue .about_cha {
	padding: 50px 10px;
	background-size: 12% auto;
}
#character .bg_blue .about_cha .cha-box li {
	width: 32%;
}
#character .bg_blue .about_cha .cha-box li img{
	height: 150px;
}
#character .bg_blue .about_cha .cha-box li p {
	font-size: 12px;
}
#character .bg_blue .about_cha .cha-text {
	width: 400px;
	font-size: 12px;
}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}