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

/* ---------- ----------
Rule

Base Color #eee
Main Color #376ab3
Key  Color #8ec54a

BreakPoint
 (mobile)
 768px(tablet pc)
 1024px(tablet pc)
 ---------- ---------- */
 
/* ---------- ----------
  Structure
 ---------- ---------- */
header {
	overflow: hidden;
	padding: 20px 1rem;
}
header .logowrap {
	width: 60px;
	float: left;
}
header .logo {
	display: none;
}
header .logomark {
	/*
	width: 60px;
	float: left;
	*/
}
header .hright {
	text-align: right;
	line-height: 1.3;
	float: right;
}
header .hright h3 {
	margin-bottom: 0.3rem;
	font-size: 0.8rem;
	font-weight: bold;
	color: #376ab3;
}
header .hright .name {
	margin-bottom: 0.3rem;
}
header .hright address,
header .hright address a {
	font-size: 0.75rem;
}
header .hright address i {
	margin-right: 0.3em;
}
nav {
	background-color: rgba(255,255,255,0.8);
}
nav ul {
	overflow: hidden;
	list-style: none;	
}

nav ul li {
	float: left;
	width: 50%;
	text-align: center;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border-bottom: 1px solid #CCC;
}
nav ul li:nth-child(odd){
	border-right: 1px solid #ccc;
}
nav ul li:last-child {
	width: 100%;
	border-right: none;
}
nav ul li a {
	display: block;
	text-decoration: none;
	color: #333;
	padding: 0.5rem 0;
	line-height: 1;
	font-weight: bold;
}
nav ul li a:hover {
	background: #73BB2E;
	color: #FFF;
}
#home nav ul li.home a,
#summary nav ul li.summary a,
#environment nav ul li.environment a,
#survey nav ul li.survey a,
#records nav ul li.records a,
#consult nav ul li.consult a,
#recruit nav ul li.recruit a,
#company nav ul li.company a {
	background: #73BB2E;
	color: #FFF;
}
nav ul li a span {
	font-size: 0.7rem;
	font-weight: normal;
}

article {
	padding: 2rem 5%;
	line-height: 1.5;
	/*background: url(../images/bg_symbol.png) left bottom no-repeat;*/
}
section {
	overflow: hidden;
}

footer {
	text-align: center;
	background: #376ab3;
	color: #FFF;
	line-height: 1.2;
}
footer * {
	font-size: 0.8rem;
}
footer .outline {
	margin-bottom: 1rem;
}
footer .outline h5 {
	font-size: 1.0rem;
	margin-bottom: 0.3rem;
	font-weight: normal;
}
footer .outline a {
	color: #fff;
}
footer .footernavi {
	overflow: hidden;
	list-style: none;
	/*background:#1F3F6F;*/
	padding: 1em 0;
	margin-bottom: 1em;
}
footer .footernavi li {
	width: 50%;
	float: left;
	padding: 0.3em 0;
}
footer .footernavi li a {
	color: #FFF;
}
footer .copy {
	background: #172E51;
	padding: 1rem 0;
}
/* ---------- ----------
  Common
 ---------- ---------- */
a {color: #8ec54a}
a:hover {text-decoration: none;}
.mobileinvisible {display: none;}
a.mailaddress {
	word-break: break-all;
}

article h1 {
	font-size: 2.0rem;
	color: #376ab3;
	border-bottom: 2px solid #8ec54a;
	padding: 0 0 0 0.3em;
	margin-bottom: 1rem;
}
.breadcrumb {
	font-size: 0.9rem;
	margin-bottom: 1rem;
	color: #666;
}
.breadcrumb a {
	font-size: 0.9rem;
	color: #8ec54a;
}
.breadcrumb i {
	margin: 0 0.5em;
}

.gotop {
	text-align: center;
}
.gotop a {
	font-size: 0.8rem;
	background-color: #376ab3;
	padding: 0.3em 1.5em;
	border-radius: 3em;
	color: #fff;
	text-decoration: none;
}
.gotop a:hover{
	background-color: #8ec54a;
}
.gotop a i {
	margin-right: 0.5em;
	font-size: 1.0rem;
}
.clr {
	clear: both;
}

.inner-nav {
	list-style: none;
	margin-bottom: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.inner-nav li {
	padding:0.5em 0;
}
.inner-nav li a {
	background: #376ab3;
	color: #FFF;
	text-decoration: none;
	border-radius: 3em;
	padding: 0.5em 1em 0.5em 0.5em;
	font-size: 0.8rem;
}
.inner-nav li a:hover {
	background-color: #8ec54a;
}
.inner-nav li a i {
	margin-right: 0.3em;
}

.chapter {
	margin-bottom: 2rem;
}
.chapter h2 {
	font-size: 1.35rem;
	color: #376ab3;
	margin-bottom: 0.5rem;	
}
.chapter .digest {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px dotted #333;
}
.layout-basic {
	margin-bottom: 1.0rem;
}
.layout-basic h3 {
	border-left: solid 0.5em #2a5290;
	padding-left: 0.5em;
	margin-bottom: 1em;
	font-weight: bold;
}
.layout-basic h3 br {
	display: none;
}
.layout-basic .txt-box {
}
.layout-basic .txt-box p {
	font-size: 0.9rem;
}

.layout-basic .pic-box {
	overflow: hidden;
	padding: 1em 0;
}
.layout-basic .pic-box figure {
	margin: 0; padding: 0;
	float: left;
}
.layout-basic .pic-box .gallery figure {
	padding:0 1% 0.25em 1%;
	width: 48%;
}
.layout-basic .pic-box figure img {
	border-radius: 2px;
}
.layout-basic .pic-box figure a:hover {
	opacity: 0.8;
}

/* 20210526 add */
.chapter ul.withmark {
	padding-left: 1.5em;
}
.chapter ul.withmark li {
	margin-top: 0.5em;
}
.chapter ul.withmark li:first-of-type {
	margin-top: 0;
}
.layout-basic.fullwide .pic-box figure {
	float: none;
}
.layout-basic.fullwide .flexgallery {
	margin-bottom: 1rem;
}
.layout-basic.fullwide .flexgallery figure {
	text-align: center;
	margin-bottom: 20px;
	font-size: 0.9rem;
}
.layout-basic.fullwide .flexgallery figure img {
	margin-bottom: 5px;
}
.layout-basic.fullwide .flexgallery figure figcaption {
	padding-top: 0.5em;
	line-height: 1.3;
}
/* END 20210526 add */

/* ---------- ----------
  Eachpage
 ---------- ---------- */
#home .header-and-nav {
	/*height: 100vh;*/
	background: url("../images/bg_toppage_mb.jpg") right bottom no-repeat;
	background-size: cover;
	/*position: relative;*/
}
#home header {
	/*background: url(../images/bg_toppage.gif) center bottom no-repeat;*/
	/*background-size: cover;*/
	/*padding-bottom: 4rem;*/
	padding: 0;
}
#home .message {
	padding: 10vh 2.5%;
}
#home .message .logo {
	display: block;
	margin-bottom: 2rem;
}
#home .message .logo img {
	width: 100%;
	max-width: 400px;
}
#home .message .forcustomer {
	text-shadow: 1px 1px 0px rgba(15,54,117,0.5);
	font-size: 0.75rem;
	color: #fff;
	padding: 0 7.5%;
	font-weight: bold;
}
#home .message .forcustomer br {
	display: none;
}
/*
#home nav {
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
}
*/
#home article ,#home .gotop {
	display: none;
}

#company .detail {
	border-collapse: collapse;
	font-size: 0.8rem;
	margin-bottom: 2rem;
	width: 100%;
}
#company .detail tr:nth-child(even) {
	background: #EEE;
}
#company .detail th, #company .detail td {
	font-size: 0.8rem;
	line-height: 1.3;
	padding: 0.5em 1.0em;
	border: 1px solid #CCC;
}
#company .detail th {
	width: 5em;
	font-weight: bold;
	white-space: nowrap;
}
/* 20210525 add */
#company .detail td .list_permit {
	margin: 5px 0;
}
#company .detail td .list_permit h5 {
	font-size: 0.8rem;
}
#company .detail td .list_permit dt {
	font-size: 0.8rem;
	padding-left: 0.5em;
}
#company .detail td .list_permit dd {
	font-size: 0.8rem;
	padding-left: 1.5em;
}
/* END 20210525 add */
#company .gmap iframe {
	width: 100%;
	height: 300px;
}

#recruit .catch {
	margin: 1em 0;
}
#recruit .catch p {
	font-weight: bold;
	font-size: 1.3rem;
	line-height: 1.6;
	margin-bottom: 0.5em;
}
#recruit .catch p br {
	display: none;
}
#recruit .tbl-recruit {
	border-collapse: collapse;
	margin-bottom: 1rem;
	width: 100%;
}
#recruit .tbl-recruit * {
	font-size: 0.9rem;
}
#recruit .tbl-recruit tr:nth-child(even) {
	background: #eee;
}
#recruit .tbl-recruit th, #recruit .tbl-recruit td {
	line-height: 1.5;
	padding: 0.5em 1.0em;
	border: 1px solid #CCC;
}
#recruit .tbl-recruit th {
	font-weight: bold;
	white-space: nowrap;
	background: #A7B9E8;
}
#recruit .tbl-recruit td {
}
#recruit .tbl-recruit td ol {
	margin:0 0 0.5em 1em;
}

/* 20210525 add */
#recruit .tbl-recruit .job_description {
	
}
#recruit .tbl-recruit .job_description dt {
	
}
#recruit .tbl-recruit .job_description dt::before {
	content: "・";
}
#recruit .tbl-recruit .job_description dd {
	margin-bottom: 15px;
	padding-left: 1.5em;
	text-indent: -1.3em;
}
#recruit .tbl-recruit .job_description dd::before {
	content: "→ ";
}
/* END 20210525 add */

#records h1 small {
	font-size: 1rem;
}
#records .tbl-records-wrap h2 {
	font-weight: bold;
	color: #376ab3;
}

#records .tbl-records {
	border-collapse: collapse;
	margin-bottom: 1rem;
	width: 100%;
}
#records .tbl-records * {
	font-size: 0.8rem;
}
#records .tbl-records tr:nth-child(even) {
	background: #EEE;
}
#records .tbl-records th, #records .tbl-records td {
	line-height: 1.5;
	padding: 0.5em 1.0em;
	border: 1px solid #CCC;
}
#records .tbl-records th {
	font-weight: bold;
	text-align: left;
}
#records .tbl-records thead th {
	background-color: #A7B9E8;
	text-align: center;
}
#records .tbl-records td {
}

#summary .chapter h2 i,
#survey .chapter h2 i {
	margin-right: 0.5em;
	text-shadow: 2px 2px 0 #ccc;
	-webkit-transform: scaleX(0.8);
	        transform: scaleX(0.8);
}
#summary .planimage {
	text-align: center;
	margin: 1rem 0;
}
#summary .planimage img {
	border-radius: 2px;
}
#summary .pic-box .plan {
	overflow: hidden;
	margin-bottom: 1rem;
}
#summary .pic-box .plan figure {
	padding:0.25em 1%;
	width: 31%;
}
#summary .pic-box .plan figure img {
	border: 1px solid #ccc;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#summary .pic-box .plan figure figcaption {
	display: inline-block;
	background-color: #000;
	color: #FFF;
	padding: 0 0.5em;
	font-size: 0.8em;
}
#summary .txt-box .summary-flow {
	padding: 0; margin: 1em 0;
}

#summary #chap2 .example {
	padding:0 1rem;
	margin-top: 2px;
}
#summary #chap2 .example dt {
	font-weight: bold;
	font-size: 0.9rem;
}
#summary #chap2 .example dd {
	margin-left: 1rem;
}
#summary #chap2 .example dd li {
	font-size: 0.9rem;
	margin-bottom: 0.5em;
	padding: 0;
	line-height: 1.2;
}
#summary #chap5 .closing {
	clear: both;
	font-size: 0.9rem;
	padding-top: 60px;
}
#environment .btn-link {
	margin: 0 0 1rem 0;
}
/*
#environment .btn-link a {
	background-color: #8ec54a;
	padding: 0.5em 1.5em;
	border-radius: 3em;
	color: #fff;
	text-decoration: none;
	text-shadow: -1px -1px 1px rgba(0,0,0,0.3);
}
#environment .btn-link a:hover{
	background-color: #376ab3;
}

#environment .btn-link a i {
	margin-left: 0.5em;
}
*/

#consult .point {
	color: #e60012;
	font-weight: bold;
	padding-left: 20px;
	background: url(../../images/tri.png) left top 8px no-repeat;
	margin: 0.5rem 0;
}
#consult .intro {
	margin-bottom: 3rem;
}
#consult .intro h2 {
	background: #fff352;
	color: #376ab3;
	font-weight: bold;
	border-radius: 3em;
	border: #376ab3 2px solid;
	padding: 0 0.5em;
	font-size: 0.9rem;
	text-align: center;
	margin-bottom: 0.5em;
}
#consult .intro .promise {
	border-radius: 6px;
	border: #376ab3 2px solid;
	padding: 0.5em;
	color: #376ab3;
	overflow: hidden;
}
#consult .intro .promise .img {
	float: left;
	max-width: 40%;
	padding-right: 0.5em;
	}

#consult .intro .type dt {
	color: #e60012;	
	font-weight: bold;
}
#consult .intro .type dt span {
	margin-right: 0.5em;
	font-weight: bold;
}
#consult .intro .type dd {
	margin-bottom: 1.5rem;
	font-size: 0.9rem;
}
#consult .flow-box h2 {
	background: #376ab3;
	color: #FFF;
	font-size: 1.5rem;
	padding: 0 0.5em;
}
#consult .flow-list {
	list-style: none;
}
#consult .flow-list>li {
	padding: 0.5rem 0;
	margin-bottom: 2rem;
}
#consult .flow-list h4 {
	border: 1px solid #376ab3;
	color: #376ab3;
	padding: 0;
	font-size: 1.3rem;
}
#consult .flow-list h4 span {
	background: #376ab3;
	color: #FFF;
	display: inline-block;
	padding:0 0.5em;
	margin-right: 0.5em;
	font-size: inherit;
}
#consult .contact-box {
	line-height: 1.5;
}
#consult .contact-box .phone {
	color: #e60012;	
	font-size: 2rem;
	font-weight: bold;
	margin-top: 0.5rem;
}
#consult .contact-box .phone small {
	font-size: 1.0rem;
	margin-right: 0.5em;
}
#consult .contact-box .phone-time {
	font-size: 0.8rem;
}
#consult .contact-box .mail {
	margin-top: 0.5rem;
}
#consult .contact-box .mail a {
	color: #e60012;	
	font-size: 1.5rem;
}
#consult .contact-box .small {
	margin: 1rem 0;
	line-height: 1.2;
}

#consult .flow-list>li em {
	color: #e60012;
}
#consult .flow-list>li .small {
	font-size: 0.8rem;
}
#consult .flow-list>li .img {
	text-align: center;
	padding: 0.5em 0;
}
#consult .flow-list ul {
	list-style:disc;
	margin-left: 1.3rem;
}
#consult .flow-list ul.docs {
	list-style: square;
	color: #376ab3;
}
#consult .flow-box .askme p strong {
	font-size: 1.3rem;
	color: #376ab3;
}
#consult .askme .contact-box .phone,#consult .askme .contact-box .mail a {
	color: #e60012;
	font-size: 1.3rem;
}

/* 20210525 add */
#survey .chapter .change {
	margin: 30px 0;
}
#survey .chapter .change * {
	font-size: 0.9rem;
}
#survey .chapter .change .item {
	border:2px solid #ccc;
	border-radius: 6px;
	background-color: #F6F6F6;
}
#survey .chapter .change .item h4 {
	text-align: center;
	padding: 0.25em;
	border-bottom: 2px dotted #ccc;
	font-weight: bold;
}
#survey .chapter .change .item .txt {
	padding: 0.5em 1em;
	line-height: 1.5;
}
#survey .chapter .change .item h5 {
	font-weight: normal;
	margin-top: 1em;
}
#survey .chapter .change .item h5:first-of-type {
	margin-top: 0;
}
#survey .chapter .redtxt {
	color: #ee1100;
}
#survey .chapter .change .item:first-of-type,
#survey .chapter .change .item:first-of-type h4 {
	border-color: #297A07;
}
#survey .chapter .change .item:last-of-type,
#survey .chapter .change .item:last-of-type h4 {
	border-color: #06427A;
}
#survey .chapter .change .arrow {
	margin: 20px auto;
	text-align: center;
}
#survey .chapter .change .arrow::after {
	display: inline-block;
	content: "";
	width: 0px;
	height: 0px;
	border-top: 10px solid #2a5290;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
}
#survey .chapter .requirement {
	margin: 10px 0;
}
#survey .chapter .requirement dt {}
#survey .chapter .requirement dd {font-size: 0.9rem;}

#recruit .staffgallery {
	margin-bottom: 30px;
}
#recruit .staffgallery figure {
	margin: 15px 0 0;
}
#recruit .staffgallery figure img {
	border-radius: 2px;
}
/* END 20210525 add */

/* ********** ********** **********
   for tablet and pc
 ********** ********** ********** */
@media print, (min-width: 768px){
	header .logowrap {
		width: 50%;
		float: left;
	}
	header .logo {
		display: inherit;
		/*
		float: left;
		*/
	}
	header .logo img {
		max-width: 320px;
	}
	header .logomark {
		display: none;
	}

	nav ul li {
		/*width: 33.3%;*/
		width: 25%;
		border-right: 1px solid #CCC;
	}
	nav ul li a {
		padding-top: 1.0rem;
		padding-bottom: 1.0rem;
	}
	nav ul li:nth-child(n + 5) {
		width: 33.3%;
	}
	/*
	nav ul li:nth-child(3),nav ul li:nth-child(6) {
		border-right: none;
	}
	*/
	nav ul li:nth-child(4),nav ul li:nth-child(7) {
		border-right: none;
	}
	footer .footerwrap {
		padding: 0 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	footer .footernavi li {
		width: auto;
		padding: 0.5em 1.5em 0.5em 0;
	}
	footer .outline {
		text-align: left;
	}
	
	.gotop {
		text-align: right;
	}
	
	/* ---------- ----------
	  common
	 ---------- ---------- */
	.mobileinvisible {
		display: inherit;
	}
	.mobileonly {
		display: none;
	}
	.inner-nav {
		overflow: hidden;
		display: block;
	}
	.inner-nav li {
		float: left;
		padding:0.5em 0.3em;
	}
	
	.layout-basic .pic-box .gallery figure {
		padding-bottom:0.5em;
	}
	
	/* ---------- ----------
	  Eachpage
	 ---------- ---------- */
	#home .header-and-nav {
		background: url("../images/bg_toppage_pc.jpg") center bottom no-repeat;
		background-size: cover;
	}

	#home header{
		/*padding-bottom: 1rem;*/
		padding-bottom: 0;
	}
	#home .message .logo {
		float: none;
		/*padding-top: 3rem;*/
	}
	#home .message .logo img {
		width: auto;
		max-width: 50%;
	}
	#home .message .forcustomer {
		padding: 2rem 1rem;
		padding: 0 0 0 5%;
		font-size: 0.9rem;
	}
	#home .message .forcustomer br {
		display:inherit;
	}
	#records .tbl-records tbody td {
		text-align: center;
	}

	#recruit .catch {
		overflow: hidden;
	}
	#recruit .catch p {
		width: 60%;
		line-height: inherit;
		float: left;
		font-size: 1.5rem;
	}
	#recruit .catch p br {
		display: inline;
	}
	#recruit .catch .img {
		width: 35%;
		float: right;
	}
	#environment .btn-link a:hover {
		opacity: 0.8;
	}
	/*
	#environment .btn-link {
		text-align: left;
	}
	#environment .btn-link a {
		font-size: 1.2rem;
	}
	*/
	#consult .intro h2 {
		font-size: 1.5rem;
		display: inline-block;
		padding: 0 1em;
	}
	#consult .flow-list>li {
		overflow: hidden;
	}
	#consult .flow-list>li h4 {
		margin-bottom: 0.5rem;
	}
	#consult .flow-list>li .txt {
		width: 65%;
		float: left;
		padding:0 0 0 3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#consult .flow-list>li .img {
		width: 30%;
		float: right;
		text-align: right;
	}
	#consult .contact-box .mail a {
		font-size: 2.0rem;
	}
	#consult .contact-box .phone-time {
		font-size: 1.0rem;
	}
	#consult .flow-box .askme {
		text-align: center;
	}
	#consult .intro .promise {
		display: table;
	}
	#consult .intro .promise .img, #consult .intro .promise .txt {
		display: table-cell;
		vertical-align: middle;
	}
	#consult .intro .promise .img {
		float: none;
		padding-right: 0;
		min-width: 140px;
	}
	#company .gmap iframe {
		height: 400px;
	}
	
	/* 20210525 add */
	#recruit .staffgallery {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		padding: 0 15px;
		margin-top: 30px;
	}
	#recruit .staffgallery figure {
		-ms-flex-preferred-size: 49%;
		    flex-basis: 49%;
		margin: 0;
	}
	/* END 20210525 add */
}

/* ********** ********** **********
   width over 1024px
 ********** ********** ********** */
@media print, (min-width: 1024px){
	header .hright{
		background: url(../images/bg_symbol.png) right 13em bottom no-repeat;
		background-size: contain;
		width: 45%;
	}
	/*
	nav ul li {
		width: 16.6%;
		width: 14.28%;
		border-right: 1px solid #CCC;
	}*/
	nav ul li:nth-child(n) {
		width: 14.28%;
		border-right: 1px solid #CCC;
	}
	/*
	nav ul li:nth-child(3),nav ul li:nth-child(6) {
		border-right: 1px solid #CCC;
	}
	*/
	nav ul li:last-child {
		/*width: 17%;*/
		border-right: none;
	}
	nav ul li a {
		padding-bottom: 1.5rem;
	}

	article {
		padding: 5rem 0;
		width: 1000px;
		margin: 0 auto;
		line-height: normal;
	}
	footer .footerwrap {
		width: 1000px;
		margin: 0 auto;
		text-align: left;
	}
	footer .outline {
	}
	footer .footernavi {
	}
	footer .footernavi li {
	}
	footer .copy {
	}

	/* ---------- ----------
	  Common
	 ---------- ---------- */
	.inner-nav li a {
		font-size: 0.85rem;
	}

	.layout-basic {
		overflow: hidden;
	}
	.layout-basic .txt-box {
		width: 50%;
		float: left;
	}
	.layout-basic .pic-box {
		width: 45%;
		float: right;
		padding: 0;
	}
	
	/* 20210526 add */
	.layout-basic.fullwide .txt-box,
	.layout-basic.fullwide .pic-box	{
		width: 100%;
		float: none;
	}
	.layout-basic.fullwide .pic-box {
		margin-top: 30px;
	}
	.layout-basic.fullwide .flexgallery {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.layout-basic.fullwide .flexgallery figure {
		margin-bottom: 0;
		-ms-flex-preferred-size: 24%;
		    flex-basis: 24%;
	}
	.layout-basic.fullwide .flexgallery figure:last-child {
		-ms-flex-preferred-size: 49%;
		    flex-basis: 49%;
	}
	.layout-basic.fullwide .flexgallery figure img {
		margin-bottom: 0;
	}
	.layout-basic.fullwide .flexgallery figure:last-child img {
		max-width: auto;
		width: 49%;
		margin-right: 1%;
	}
	/* END 20210526 add */
	
	/* ---------- ----------
	  Eachpage
	 ---------- ---------- */
	#home .message .logo img {
		max-width: 35%;
	}
	#home .message {
		/*width: 1000px;*/
		width: 90%;
		margin: 0 auto;
	}
	
	#company .detailwrap {
		overflow: hidden;
	}
	#company .detail {
		width: 48%;
	}
	#company .detail:nth-child(1) {
		float: left;
	}
	#company .detail:nth-child(2) {
		float: right;	
	}
	/* 20210525 add */
	#company .detail td .list_permit {
		/*margin: 5px 0;*/
	}
	#company .detail td .list_permit h5 {
	}
	#company .detail td .list_permit dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		padding-left: 1em;
	}
	#company .detail td .list_permit dt {
		-ms-flex-preferred-size: 33%;
		    flex-basis: 33%;
		padding-left: 0;
	}
	#company .detail td .list_permit dd {
		-ms-flex-preferred-size: 50%;
		    flex-basis: 50%;
		padding-left: 0;
	}
	/* END 20210525 add */
	#recruit .catch {
	}
	#recruit .catch p {
		padding-top: 1em;
	}

	#records .tbl-records-wrap {
		width: 48%;
	}
	#records .tbl-records-wrap:nth-of-type(odd) {
		float: left;
	}
	#records .tbl-records-wrap:nth-of-type(even) {
		float: right;
	}
	#records .tbl-records tbody td {
		white-space: nowrap;
	}
	#consult .flow-box .askme .phone, #consult .flow-box .askme .mail a {
		font-size: 2rem;
		font-weight: bold;
	}
	#consult .flow-box .askme .phone small {
		font-size: 1.0rem;
		margin-right: 0.5rem;
	}
	#consult .intro .promise {
		width: 60%;
	}
	#company .gmap iframe {
		height: 600px;
	}
	
	#survey .chapter .change {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 0 2.5%;
	}
	#survey .chapter .change .item {
		-ms-flex-preferred-size: 45%;
		    flex-basis: 45%;
	}
	#survey .chapter .change .arrow {
		-ms-flex-item-align: center;
		    align-self: center;
		margin: auto;
	}
	#survey .chapter .change .arrow::after {
		width: auto;
		border-left: 10px solid #2a5290;
		border-right: none;
		border-top: 15px solid transparent;
		border-bottom: 15px solid transparent;
	}
	#survey .chapter .requirement {
		margin: 15px 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#survey .chapter .requirement dt {
		padding-right: 1em;
	}
	#survey .chapter .requirement dd {
		font-size: 1.0rem;
	}

}


/* ********** ********** **********
   IE hack
 ********** ********** ********** */
@media all and (-ms-high-contrast: none){
	nav ul li a {
		padding-bottom: 1.0em;
		padding-top: 1.5em;
	}
}


/* ********** ********** **********
   MagnificPopup Animation
 ********** ********** ********** */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/* next/prev hide */
.mfp-gallery .mfp-first .mfp-arrow-left, 
.mfp-gallery .mfp-last .mfp-arrow-right {
    display: none;
}


/*
2025/05/20 add
*/
.layout-basic .pic-box.singlepic {
	.gallery {
		& figure {
			width: 100%;
		}
	}
}
#company .detail tr.banner {
	& td {
		background-color: #fff;
		border: none;
		padding: 1.0em 0 0;
		text-align: center;
	}
}
#summary .redtxt {
	color: #ee1100;
}
#survey .wrap-courses{
	.catch {
		font-weight: bold;
		color: #376ab3;
	}
	.courses {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		gap: 3vh;
		padding: 2vh 0;
		& a {
			display: block;
		}
		& a:hover {
			opacity: 0.8;
		}
		& figure {
			margin: 0;
		}
	}
}
#survey .gallery_report {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 3vw;
	margin-bottom: 3vw;

	& figure {
		width: auto;
		padding: 0;

		& a {
			display: block;
			border: 1px solid #ccc;
		}
	}

	.report_1 {
		grid-column: 1/2;
		grid-row: 1/3;
	}
}
#survey .data_gov .source,
#survey .data_gov .source a {
	font-size: 0.9rem;
}
.btn_contact_survey {
	text-align: center;
	padding: 2rem 0;

	& a {
		display: inline-block;
		border: 2px solid #172e51;
		background-color: #f0f8ff;
		border-radius: 2px;
		padding: 0.5em 2.5em;
		color: #172e51;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		text-decoration: none;
		font-weight: bold;
		-webkit-transition: background-color 0.3s, color 0.3s;
		transition: background-color 0.3s, color 0.3s;
	}
	& a:hover {
		background-color: #172e51;
		color: #fff;
	}
}

@media print, (min-width: 768px){
	.layout-basic .pic-box.singlepic {
		.gallery {
			& figure {
				width: 48%;
				float: right;
			}
		}
	}
	#survey .wrap-courses{
		.catch {
			font-size: 1.4rem;
			text-align: center;
		}
		.courses {
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
				-ms-flex-direction: row;
					flex-direction: row;
			gap: 3vw;
		}
	}
	#survey .gallery_report {
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 2vw;
		margin-bottom: 2vw;
	}
}
@media print, (min-width: 1024px){
}