/* //////////////////
about
////////////////// */
/* 私たちについて */
.about-section .read h3{
	margin-top: 1em;
	margin-bottom: 0.75em;
	font-feature-settings: "palt";
}
.about-section{
	position: relative;
	margin-bottom:18vw;
}
.about-img{
	border-radius: 20px;
	overflow: hidden; }
.about-img img{
	object-fit: cover;
	height: 100%;
	width: 100%; }
.about-section .arow-link{
	margin-top: 3em;
}
@media screen and (min-width: 750px) {
	.about-section .content-inner{ display: flex; }
	.about-section .content-item{ margin-bottom: 0; }
	.about-section{ margin-bottom: 100px; }
	.about-img{
		border-radius: 40px;
		width: 100%;
		max-width: 50%;
	}
	.about-section .read{
		width: 100%;
		padding-right: 80px;
		max-width: 50%; }
}
@media screen and (min-width: 1024px) {
	.about-section{ margin-bottom: 120px; }
	.about-section .read h3{ font-size: 4.4rem; margin-top: 0; }
}
@media screen and (min-width: 1220px) {
	.about-section .read h3{ font-size: 5rem; }
}
/* 代表挨拶 */
.message-section h2{ margin-bottom: 2.5em; }
.message-section h3{ margin-bottom: 2.2222em; }
.message-section .greeting-name strong{ font-size: 1.25em; font-weight: 400; }
.mesage-body p + p{ margin-top: 1em; }
.greeting-img img{ width: 100%; }

@media screen and (min-width: 750px) {}
@media screen and (min-width: 896px) {}
@media screen and (min-width: 1024px) {}

/* //////////////////
policy
////////////////// */
.policy-section .content-title04{ margin-bottom: 3em; }

/* //////////////////
campany outline
////////////////// */
.content-map{
	width: 100%;
	height: 56vw; }
.campany-img img{
	object-fit: unset;
}
.campany-flex figure{
	border-radius: 20px;
	overflow: hidden; }
.content-map iframe{
	border-radius: 20px;
	overflow: hidden;
	width: 100%; height: 100%; }
@media screen and (min-width: 750px) {
	.campany-flex figure{ border-radius: 30px; }
	.content-map iframe{ border-radius: 40px; }
	.content-map{ height: 380px; }
}
@media screen and (min-width: 1024px) {
	.content-map{ height: 420px; }
}

/* //////////////////
service
////////////////// */
.servie-link:nth-child(n+2){ margin-top: 12vw; }
.servie-link figure{
	border-radius: 20px;
	overflow: hidden;
}
.servie-link a:hover figure img{
	width: 104%;
	height: 104%;
	-moz-transition: .2s;
	-webkit-transition: .2s;
}
.servie-link a figure:after{
	content: "";
	background: rgba(52,52,52,.5);
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	opacity: 0;
	-moz-transition: .2s;
	-webkit-transition: .2s;
}
.servie-link a:hover figure:after{
	opacity: 1;
}
.servie-link .text-content{ margin-top: 6vw; }

.servie-link .content-title02{ margin-bottom: 1.5em; }
@media screen and (min-width: 750px) {
	.servie-link:nth-child(n+2){ margin-top: 71px; }
	.servie-link .text-content{ padding: 52px 0; margin-top: 0; }
}
@media screen and (min-width: 1024px) {
	.servie-link:nth-child(n+2){ margin-top: 80px; }
	.servie-link .text-content{ padding: 60px 0; }
}

/* //////////////////
service 下層
////////////////// */
@media screen and (min-width: 750px) {
	.page-item-section .text-content{
		padding: 220px 0 40px;
	}
	.ab-title{
		position: absolute;
		left: 0;
	}
}

/* //////////////////
contact
////////////////// */
.contact-tel{
	padding: 0;
	border-radius: 4px;
}
.contact-tel__inner{
	letter-spacing: -.75em;
	font-family: ab-kirigirisu, sans-serif;
	margin-bottom: 5vw; }
.contact-tel__inner p{ font-size: 5.25vw; }
.contact-tel__inner strong{ font-size: 1.5em; }
.contact-tel__inner p:last-child{ margin-top: 0.4em; }
.contact-tel__inner p:last-child::before{
	content: "";
	left: 0;
	right: 0;
	margin: auto;
	width:20%;
	height: 2px;
	background: #bbbbbb;
	position: absolute;
}
@media screen and (min-width: 750px) {
	.contact-tel__inner{
		margin-bottom: 15px;
		display: flex;
		justify-content: center;
	}
	.contact-tel__inner p{
		font-size: 2.8rem;
		width: 50%;
		position: relative;
	}
	.contact-tel__inner p:last-child{ margin-top: 0; }
	.contact-tel__inner p:last-child::before{
		content: "";
		width: 2px;
		height: 90%;
		bottom: 0;
		left: -1px;
		right: auto;
		background: #bbbbbb;
		position: absolute;
	}
}
@media screen and (min-width: 1024px) {
	.contact-tel__inner{ margin-bottom: 20px; }
	.contact-tel__inner p{
		font-size: 3.6rem;
	}
}
.step_bar{ display: none; }
@media screen and (min-width: 750px) {
	.step_bar{
		display: flex;
		margin-bottom: 52px;
	}
	.step_bar li{
		width: 31%;
		margin-right: 3.5%;
		box-sizing: border-box;
		border: solid 2px #343434;
		border-radius: 4em;
		position: relative;
		padding: 0.8em 1em 1em;
	}
	.step_bar li:after{
		content: "";
		display: block;
		position: absolute;
		right: -8%;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 0 8px 8px;
		border-color: transparent transparent transparent #343434;
	}
	.step_bar li.current{
		color: #fff;
		background: #e0634d;
	}
	.step_bar li:last-child{ margin-right: 0; }
	.step_bar li:last-child::after{ display: none; }
}
@media screen and (min-width: 1024px) {
	.step_bar{ margin-bottom: 60px; }
	.step_bar li:after{
		border-width: 10px 0 10px 10px;
	}
}

/* フォーム部分 */
#form dl{ padding: 1.3em 0; }
#form dl:nth-child(n+2){
	border-top: solid 1px #bbb;
}
#form dt{
	position: relative;
	padding-left: 2.75em;}
#form dt span:before{
	content: "任意";
	color: #fff;
	background: #bbb;
	padding: 0.3em 0.4em 0.4em;
	line-height: 1;
	left: 0;
	border-radius: 4px;
	display: block;
	position: absolute;
}
#form dt span.required:before{ content: "必須"; background: #153472; }
#form dd{ margin-top: 0.8em; }
#form input[type="text"],
#form input[type="tel"],
#form select,
#form textarea{
	padding: 0.8em 1em;
	width: 100%;
	border: solid 2px #bbb;
	border-radius: 10px;
}
#form .flex{
	flex-wrap: wrap;
	display: flex; }
#form .column2{ gap: 1em 2%; }
#form .column2-item{ width: 49%!important; }
#form .column2 select:nth-child(n+2),
#form .column2 input[type="text"]:nth-child(n+2),
#form .column2 input[type="tel"]:nth-child(n+2){ margin-right: 0; }

#form input[type="checkbox"],
#form input[type="radio"] { display: none; }/* 非表示に */
#form span.wpcf7-list-item-label{
	padding-left: 2.5em;
	line-height: 2;
	position: relative;
}
#form span.wpcf7-list-item-label{}
#form span.wpcf7-list-item-label:before,
#form span.wpcf7-list-item-label:after{
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	box-sizing: border-box;
	top: 0;
	bottom: 0;
	margin: auto;
}
#form span.wpcf7-list-item-label:after{
	left: 0;
	width: 2em;
	height: 2em;
	border: solid 2px #bbb;
}
#form span.wpcf7-list-item-label:before{
	opacity: 0;
	background: #153472;
	width: 1em;
	height: 1em;
	left: 0.5em;
}
#form .radiobox01 input[type=radio]:checked+span.wpcf7-list-item-label:before{ opacity: 1; }

#form textarea{ height: 13em; }
@media screen and (min-width: 750px) {
	#form dl{ display: flex; }
	#form dt{ width: 24%; padding-top: 0.9em; }
	#form dd{ width: 76%; margin-top: 0; }
}
@media screen and (min-width: 1024px) {
}

/* お知らせ */
.news-list__item a:before{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: #f9f9f9;
	left: -100%;
	-moz-transition: .2s;
	-webkit-transition: .2s;
}
.news-list__item a:hover::before{ left: 0; }
.news-list__item a:hover{ color: #219496; }

ul.page-numbers{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
ul.page-numbers li{
	display: flex;
	justify-content: center;
	margin-right: 0.2em;
}
ul.page-numbers li:last-child{ margin-right: 0; }
.page-numbers{ height: 100%; }
.page-numbers .page-numbers{
	color: #fff;
	display: block;
	height: 100%;
	background: #343434;
	padding: 0.4em 0.8em 0.5em;
}
.page-numbers .page-numbers.current{ background: #219496; }
.page-numbers .page-numbers.next,
.page-numbers .page-numbers.prev,
.page-numbers .page-numbers.dots{
	font-weight: 700;
	color: #343434;
	background: none;
	padding: 0;
}
.page-numbers .page-numbers.prev,
ul.page-numbers li:nth-last-child(2){ margin-right: 1em; }
.news-content p:nth-child(n+2){ margin-top: 2em; }
.news-content img{
	max-width: 100%;
}

/* recruit */
.day-time{
	display: flex;
	flex-wrap: wrap; }
.day-time dt{
	color: #153472;
	position: relative;
	padding-left: 1.5em;
	font-weight: bold;
	display: block;
	line-height: 0.85;
	width: 5em; }
.day-time dt span{
	left: 0;
	position: absolute;
	width: 1em;
	height: 100%;
	display: block; }
.day-time dt span:before,
.day-time dt span:after{
	content:"";
	display: block;
	position: absolute; }
.day-time dt span:before{
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background-color: #153472; }
.day-time dt span:after{
	left: 0;
	right: 0;
	top: calc(1em + 2px);
	margin: auto;
	width: 2px;
	height: calc(100% - 1em - 4px);
	background-color: #343434; }
.day-time:last-child dt span:after{
	display: none;
}
.day-time dd{
	display: block;
	width: calc(100% - (5em + 25px)); }
.day-time dd p{ padding-bottom: 2em; }
.day-time dd span{
	margin-bottom: 0.5em;
	line-height: 1;
	display: block; }
.img-100{
	overflow: hidden;
	border-radius: 40px;
	width: 100%; }
.img-100 img{
	width: 100%;
}
.qa-box+.qa-box{
	margin-top: 30px;
	padding-top: 40px;
	border-top: solid 1px #343434;
}
.qa-box .content-title04{
	margin-bottom: 1em;
	display: flex;
	gap: 0.5em; }
.qa-box .content-title04 .title-Q{
	color: #e0634d;
	font-weight: bold;
	white-space: nowrap; }

.sdgs-body h2.content-title04 {
	margin-bottom: 4em; }
.sdgs-body h3.content-title04{
	margin-bottom: 1em;
	margin-top: 2em;
}
.sdgs-body .content-title02 .jp{
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	margin-bottom: 0.5em;
}
.sdgs-body .flex-list01{ margin-bottom: 40px; }

.sdgs-read{
	gap: 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.sdgs-read figure{
	width: 100%;
	text-align: center; }
@media screen and (min-width: 750px) {
	.sdgs-read figure{ width: auto; }
	.sdgs-read{
		text-align: left;
		gap: 60px;
		flex-wrap: nowrap;
		align-items: center; }
}