p{font-size: 14px;}
.content-wrap { padding: 200px 6vw 0; } 
.caontent-table01 tr{font-size: 14px;}
.content-wrap {
    padding: 100px 4vw 0;
}
.content-title01{
	margin-bottom: 35px;
}

.content-item {
    margin-bottom: 50px;
}



@media screen and (min-width: 750px) {
	p{
		font-size: 16px;
		font-weight: 500;
	}
	.content-wrap {
		padding: 0px 6vw;
	}
	.content-title01{
		margin-bottom: 65px;
	}
	.content-item {
		margin-bottom: 100px;
	}
	

	.caontent-table01 tr{font-size: 16px;}
	.content-wrap {
		padding: 50px 4vw 0;
	}
}

/* //////////////////
about
////////////////// */
/* 私たちについて */

.about-section .read h3{
	margin-top: 1em;
	margin-bottom: 0.75em;
	font-feature-settings: "palt";
}
.about-section{
	position: relative;
	margin-bottom:18vw;
}
.about-section:first-child{
	position: relative;
}
.about-img{
	border-radius: 20px;
	overflow: hidden; 
	position: static;
}
.about-section .arow-link{
	margin-top: 3em;
}
.content-title04{
	display: flex;
	align-items:center;
	padding-top:0;
}
.content-title04 .title-min{
	font-weight: 300;
	line-height: 1;
	display: block;
	font-size: 48px;
	padding-right: 20px;
	color:var(--sub1-color);
}
.content-title04 .txt-sub{
	display: block;
	font-size: 16px;
	font-weight: 900;
	color:var(--main-color);
	padding-left: 0px;
}
#about .content-item0 .box{
	position: relative; margin-bottom: 30px;
}
#about .content-item0 .box h3 .en:before {
    content: "";
    display: block;
    left: -10px;
	top:-5px;
    width: 20px;
    height: 20px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#about .content-item0 .content-title02 .jp::before{
	display: none;
}
.about-img img{
	object-fit: cover;
	width: 100%;
}
#about .content-item0 .main-txt{margin-top: 20px;}
#about .message-section {
	margin-bottom: 100px;
}
#about .content-item0 .content-title02 .en{
	position: relative;
	padding-left: 0;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	z-index: 3;
	margin-top: 0;
	font-family: 'Noto Sans JP', sans-serif;
}
#about .content-item0 .content-title02 .jp{
	position: relative;
	font-size: 20px;
}
#about .content-item0 .box h3{
	position: absolute; left: 0; bottom:0;
	margin-bottom: 0;
	background:#fff;
	padding: 0.5em 2em 0.5em 0;
	border-radius:0 20px 0;
	}
	.message-section h3{ margin-bottom: 30px; display: block; line-height: 1.5;}

.recruit-bana{
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.recruit-main-img{
	position: relative;
}
@media screen and (min-width: 480px) {
	#about .content-item0 .box h3 .en:before {
		content: "";
		display: block;
		left: -15px;
		top:0px;
		width: 30px;
		height: 30px;
		position: absolute;
		border-radius: 50%;
		z-index: -1;
		background-color: var(--sub2-color);
	}
	
}
@media screen and (min-width: 750px) {
	.recruit-bana a:hover{
		opacity: .6;
	}

	.about-img img{
		object-fit: cover;
		height: 100%;
		max-width: 100%;
	}
	#about .content-item0 .box{
		position: relative; margin-bottom: 40px;
	}
	
	#about .content-item0 .content-title02 .jp{
		position: relative;
		padding-right: 0px;
		font-size: 26px;
		line-height: 1;
		margin-top: 5px;
	}
	#about .content-item0 .box h3{
		position: absolute; left: 0; bottom:0;
		margin-bottom: 0;
		background:rgba(0,0,0,0);;
		padding: 0;
		border-radius:0 20px 0;
		}

	#about .content-item0 .content-title02 .en{
		position: relative;
		padding-left: 0;
		display: flex;
		font-size: 18px;
		font-weight: bold;
		z-index: 3;
	}
	
	
	.about-img{
		border-radius: 20px;
		overflow: hidden; 
		position: absolute;
		top: 0;
		right: -30px;
	}
	#about .message-section {
		margin-bottom: 160px;
	}
	#about .message-section:last-child {
		margin-bottom: 145px;
	}
	.content-title04 .txt-sub{
		display: block;
		font-size: 20px;
		font-weight: 900;
		color:var(--main-color);
	}
	.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: 40px; */
		max-width: 50%; }
	}
	.message-section h3{ margin-bottom: 30px; display: block; line-height: 1.5;}

@media screen and (min-width: 1024px) {
	.about-section{ margin-bottom: 100px; }
	.about-section:first-child{ margin-bottom: 200px; }
	.about-section .read h3{ font-size: 4.4rem; margin-top: 0; }
}
@media screen and (min-width: 1220px) {
	.about-section .read h3{ 
		font-size: 3.2rem; 
		font-weight: 900;
		line-height: 2;
		margin-bottom: 50px;
	
	}
}
/* 代表挨拶 */

.message-section h2{ margin-bottom: 30px; line-height: 1;}
.content-section h2{ margin-bottom: 50px; line-height: 1;}

.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) {
	.message-section h3{ margin-bottom: 40px;display: block; }

}
@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{
	overflow: hidden;
	width: 100%; height: 100%; }
@media screen and (min-width: 750px) {
	.campany-flex figure{ border-radius: 30px; }
	.content-map{ height: 360px; }
}
@media screen and (min-width: 1024px) {
	/* .content-map{ height: 420px; } */
}

/* //////////////////
service
////////////////// */
#service .content-title03 {
	margin-top: 50px;
	margin-bottom: 1.75em;
	font-feature-settings: "palt";
	line-height: 2;
	font-size: 3rem;
}

#service .flex-list01 .box{position: relative;}
#service .flex-list01 .box h3{
	position: absolute; left: 0; bottom:0;
	border-radius: 0 20px;
    /* background: #fff; */
}
#service .flex-list01 .box h3 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#service .flex-list01 .content-title02 .en{
    position: relative;
    padding-left: 0;
    display: flex;
	font-size: 16px;
	z-index: 3;
	margin: 0px auto;
}
#service .flex-list01 .content-title02 .jp{
	position: relative; padding-right: 20px;
	font-size: 16px;
	z-index: 3;
}
#service .flex-list01 .content-title02 .jp::before{
	position: absolute;
    content: url(../img/index/arow_o_s.png);
    bottom: 25%;
	line-height: 1;
	right: 0;
}
#service .content-item0 .box{position: relative; margin-bottom: 50px;}
#service .content-item0 .box h3{
	position: absolute; left: 0; 
	bottom:0; margin-bottom: 0;
	background: #fff;
    padding: 0.5em;
    border-radius: 0 20px;
}
#service .content-item0 .box h3 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 45px;
    height: 45px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#service .content-item0 .content-title02 .en{
	line-height: 1;
    position: relative;
    padding-left: 0;
    display: flex;
	font-size: 30px;
	font-weight: bold;
	z-index: 3;
}
#service .content-item0 .content-title02 .jp{position: relative; font-size: 40px;}
#service .content-item0 .main-txt{margin-top: 20px;}
#service .content-inner + div{margin-top: 60px;}
#service .flex-list01 .main-txt{font-size:14px;}
#service .flex-list01 .main-txt{margin-top: 20px;}
#service .flex-list01{
	margin-bottom: 100px;
}
#service .kadomaru-img img{
	height: 250px;
	object-fit: cover;
	display: flex;
}
.service-img .flex-img__center img{
	position: relative;
}
@media screen and (min-width: 480px) {
	#service .flex-list01 .content-title02 .jp{
		position: relative;
		padding-right: 40px;
		font-size: 26px;
	}


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

	#service .message-section {
		margin-bottom: 160px;
	}
	#service .flex-list01 .content-title02 .en{
		margin-bottom: 5px;
		position: relative;
		padding-left: 0;
		display: flex;
		font-size: 20px;
		z-index: 3;
	}

}
@media screen and (min-width: 1080px){
	.flex-list01 .flex-list__item {
		display: flex; width: calc((100% - 60px) / 2);
		}
} 
@media screen and (min-width: 1240px){
.flex-list01 .content-title02 .jp{
		position: relative;
		padding-right: 80px;
	}

} 
/* //////////////////
service 下層
////////////////// */
#page .content-inner{
	margin-top: 60px;
}
#page .box{
	position: relative;
	margin-bottom: 30px;

}
#page .box .content-title02{
	position: absolute;
	bottom: 0;
	background-color: #fff;
	border-radius: 0 20px 0 0;
	padding: 10px;

}


#page .content-title03{
	font-size: 28px;
	margin-bottom: 20px;
}
#page .text-content{
	margin-bottom: 60px;
}
#page .text-content:last-child{
	margin-bottom: 100px;
}
#page .flex-box__item{
	margin: 0;
}
#page .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0em;
    display: flex;
    margin: 0px auto;
	font-size: 15px;

}
#page  .content-title02 .jp {
	z-index: 3;

    font-weight: bold;
    font-size: 20px;
}
#page .flex-box__50-750 {
	gap: 20px;
    display: flex;
	flex-direction: column-reverse;
}

@media screen and (min-width: 480px) {
	#page .box .content-title02{
		position: absolute;
		bottom: 0;
		background-color:rgba(0,0,0,0);;
		border-radius: 0;
		padding: 0px;
	
	}
	#page .flex-box__50-750 {
		gap: 40px;
	}
	

}
@media screen and (min-width: 750px) {
	#page .flex-box__50-750 {
    display: flex;
    flex-wrap: wrap;
	flex-direction: row;
}

	#page .content-inner{
	margin-top: 100px;
}

	#page .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0em;
    display: flex;
    margin: 0px auto;
	font-size: 30px;
}
#page  .content-title02 .jp {
    font-weight: bold;
    font-size: 40px;
}

	.page-item-section .text-content{
		padding: 220px 0 40px;
	}
	.ab-title{
		position: absolute;
		left: 0;
	}
	#page .content-title03{
	font-size: 32px;
	margin-bottom: 45px;
	}
	#page .flex-box__item{
		margin-bottom: 0px;
	}


}



/* //////////////////
SDGs
////////////////// */

#sdgs .sdgs-body{
	border-bottom: solid 2px #e9e9e9;
	padding-bottom: 60px;
	margin-bottom: 60px;
}
#sdgs .sdgs-body:last-child{
	border-bottom: none;
	padding-bottom: 0px;
	margin-bottom: 80px;

}
#sdgs .sdgs-body .flex-box__item{
	margin-bottom: 25px;
}
#sdgs .sdgs-body .flex-box__item:nth-child(2){
	margin-bottom: 0px;
}
#sdgs .sdgs-body .flex-box__item:first-child img{
	margin-right: 0px;
	margin-bottom: 20px;
	display: flex;
}
#sdgs .sdgs-body .flex-box__item:nth-child(2) img{
	margin-left: 0px;
	margin-top: 20px;
	border-radius:10px;
	display: flex;
	width: 100%;

}
#sdgs .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0em;
    display: flex;
    margin: 0px auto;
}
#sdgs .content-title02 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
	padding-top: 10px;
}
#sdgs .sdgs-body .content-title02 .jp {
    text-align: left;
    font-weight: bold;
    font-size: 26px;
    margin-bottom: 0.5em;
	line-height: 1.5;
}
#sdgs .content-item {
	margin-bottom: 30px;
	margin-top: 30px;
}
#sdgs .sdgs-img{
	margin-top: 0px;
	border-radius: 20px;
	overflow: hidden;
}
#sdgs .sdgs-body .content-title02{margin-top: 10px;}
#sdgs .sdgs-body .content-title02 .jp{margin-top: 15px;}
.sdgs-section .content-inner:first-child{
	position: relative;
	margin-bottom: 80px;
}
.sdgs-section .content-inner:first-child .content-title03{
	font-size: 32px;
	font-weight: 900;
	line-height: 2;
}
#sdgs .content-section{margin-top: 60px;}
@media screen and (min-width: 750px){
	#sdgs .content-section{margin-top: 130px;}

	.content-wrap {
		padding: 135px 6vw 0;
	}
	#sdgs .content-item {
		margin-top:0px;
		margin-bottom: 50px;
	}
	#sdgs .sdgs-img{
		border-radius: 20px;
		overflow: hidden;
	}
	#sdgs .sdgs-img img{
		position: absolute;
		bottom: 0;
		right: 0;
	}
	#sdgs .sdgs-body .flex-box__item:first-child img{
		margin-right: 60px;
		margin-bottom: 0;
		display: flex;
	}	
	#sdgs .sdgs-body .flex-box__item:nth-child(2) img{
		margin-top: 0px;
		margin-left: 70px;
		border-radius:10px;
		display: flex;
		text-align: center;
	}
	#sdgs .sdgs-body .flex-box__item {
		margin-bottom: 50px;
	}
	
	
}


/* //////////////////
contact
////////////////// */
#conact .content-section:first-child {
    padding-top: 0px;
}
#conact .content-title02{
	margin-bottom: 60px;
}
#conact .content-title02:nth-child(2){
	margin-bottom: 110px;
}
#conact .content-title02 .en {
	padding-bottom: 5px;
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0;
    display: flex;
    margin: 0px auto;
}
#conact .content-title02 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#conact .content-wrap{margin-bottom: 120px;}
#conact .content-wrap .content-inner:nth-child(3){
	margin-bottom: 110px;
}
#conact .contact-tel{
	padding: 0;
	border-radius: 4px;
}
#conact .contact-tel__inner{
	letter-spacing: -.75em;
	font-family: ab-kirigirisu, sans-serif;
	margin-bottom:20px; }
#conact .contact-tel__inner p{ 
	font-size: 5.25vw; line-height: 40px;
	font-weight: 300;
}
#conact .content-button {
    display: inline-block;
    border-radius: 5em;
    width: 100%;
    background: #eeeeee;
    padding: 1em 6em;
    position: relative;
    font-size: 3.25vw;
    color: var(--main-color);
    border: 2px solid var(--main-color);
    font-weight: bold;
	font-size: 16px;
	white-space: nowrap;
}
#conact .content-button:hover{
	opacity: 0.5;
}
#conact .content-button span{
	position: absolute;
	right:40px;
	top: 38%;
	line-height: 0.8em;
}
.step_bar{ display: none; }
#conact .contact-tel__inner p span{font-size: 20px; letter-spacing: 0.002em; color: var(--sub1-color);}
#conact .contact-tel__inner strong{font-size: 40px;letter-spacing: 0.002em; color: var(--sub1-color);}
@media screen and (min-width: 750px) {
	#conact .content-button {
		display: inline-block;
		border-radius: 5em;
		width: 100%;
		background: #eeeeee;
		padding: 1em 6em;
		max-width: 460px;
		position: relative;
		font-size: 3.25vw;
		color: var(--main-color);
		border: 2px solid var(--main-color);
		font-weight: bold;
		font-size: 16px;
		white-space: nowrap;
	}
	#conact .content-button span{
		position: absolute;
		right:40px;
		top: 35%;
		line-height: 0.8em;
	}
	
	#conact .content-button {
		display: inline-block;
		border-radius: 5em;
		width: 100%;
		background: #eeeeee;
		padding: 1em 6em;
		max-width: 460px;
		position: relative;
		font-size: 3.25vw;
		color: var(--main-color);
		border: 2px solid var(--main-color);
		font-weight: bold;
		font-size: 20px;
		white-space: nowrap;
	}
	
	#conact .contact-tel__inner strong{font-size: 58px;}
	#conact .contact-tel__inner p span{font-size: 28px;}
	.contact-tel__inner{
		margin-bottom: 15px;
		display: flex;
		justify-content: center;
		color:var(--sub1-color);
	}
	.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:40px;
		bottom: 10px;
		left: -1px;
		right: auto;
		background: #bbbbbb;
		position: absolute;}
	.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) {
	.contact-tel__inner{ margin-bottom: 20px; }
	.contact-tel__inner p{
		font-size: 3.6rem;
		letter-spacing: 0.05em;
	}
}
@media screen and (min-width: 1024px) {
	.step_bar{ margin-bottom: 60px; }
	.step_bar li:after{
		border-width: 10px 0 10px 10px;
	}
}
/* フォーム部分 */
#form{margin-top: 80px;}
#form dl{ padding: 1.3em 0; }
#form dl:nth-child(n+2){
	border-top: solid 1px #bbb;
}
#form dt span:before{
	content: "任意";
	color: #fff;
	background: #bbb;
	padding: 0.3em 0.4em 0.4em;
	line-height: 1;
	left: 0;
	border-radius:6px;
	display: block;
	position: absolute;
}
#form dt span.required:before{ content: "必須"; background: var(--sub1-color); }
#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: 30px;
}
#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; }
#form dl{ display: block; }
#form dt {
    width: 100%;
    padding-top: 0.8em;
	margin-bottom: 0.5em;
	padding-left: 50px;
	position: relative;
}
#form dt span:before{
	content: "任意";
	color: #fff;
	background: #bbb;
	padding: 4px 8px;
	font-weight: 400;
	font-size: 12px;
	line-height: 1;
	left: 0;
	top:1em;
	border-radius:10px;
	display: block;
	position: absolute;
}
#form dt span.required:before{
	content: "必須"; 
	background: var(--sub2-color); 
}

@media screen and (min-width: 480px) {
	#form dt {
		width: 100%;
		padding-top: 0.4em;
		margin-bottom: 0.5em;
	}
}

@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 750px) {
	#form dt {
		width: 100%;
		padding-top: 0.9em;
		margin-bottom: 0;
	}
	
	#form dl{ display: flex; }
	#form dt{ width: 24%; padding-top: 0.8em; }
	#form dd{ width: 76%; margin-top: 0; }
	#form dl{ padding: 1.3em 0; }
	#form dl:nth-child(n+2){
		border-top: solid 1px #bbb;
	}
	#form dt{
		position: relative;
		padding-left: 50px;}
	#form dt span:before{
		content: "任意";
		color: #fff;
		background: #bbb;
		padding: 4px 8px;
		font-weight: 400;
		font-size: 12px;
		line-height: 1;
		left: 0;
		top:1em;
		border-radius:10px;
		display: block;
		position: absolute;
	}
	#form dt span.required:before{
		content: "必須"; 
		background: var(--sub2-color); 
	}
	#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: 30px;
	}
	#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; }
}


/* 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; }
}



/* お問い合わせ */

#contact h3 {
    font-size: 1.6rem;
    margin-bottom: 50px;
}



/* //////////////////
recruiting
////////////////// */

#recruiting .content-inner .text{
	margin-bottom: 40px;
	line-height: 2;
}

#recruiting .content-inner tr td:last-child{
	line-height: 1,5;
}
.recruiting-main{
	overflow: hidden;
	border-radius: 30px;
	margin-bottom: 30px;
}
.recruiting-main img{
	width: 100%;
}
@media screen and (min-width: 750px) {
	#recruiting .content-inner .text{
		margin-bottom: 80px;
		line-height: 2;
	}
	.recruiting-main{
		margin-bottom: 40px;
	}
}

/* //////////////////
RECRUIT
////////////////// */

#recruit .campany-flex{
	position: relative;
}

#recruit .campany-img img {
    object-fit: cover;
	display: flex;

}

#recruit .flex-box__item .title02 {
	margin-bottom: 50px;
}
#recruit .flex-box__item .title02 .en{
	color: var(--sub1-color);
	font-size: 20px;
}
#recruit .flex-box__item .title02 .jp{
	font-size: 26px;
	margin-bottom: 40px;
	font-weight: bold;
}
#recruit .flex-box__item .title03{
	font-size: 32px;
	margin-bottom: 50px;
	font-weight: 900;
}
#recruit .campany-flex p{
	line-height: 2;
	padding-bottom: 45px;

}
#recruit section{
	margin-bottom: 120px;
}
#recruit .box{
	position: relative;
	margin-bottom: 20px;
}
#recruit .box figure .kadomaru-img img{
	height: 250px;
	display: flex;
	object-fit: cover;
}
#recruit .box .content-title02{
	position: absolute;
	bottom: 0;
}
#recruit .box .content-title02 .en:before {
    content: "";
    display: block;
    left: -10px;
	top:-3px;
    width: 25px;
    height: 25px;
    position: absolute;
    border-radius: 50%;
    background-color: var(--sub2-color);
}
#recruit .box .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0;
    display: flex;
    margin: 0px auto;
	z-index: 2;
	font-size: 20px;
}
#recruit .flex-list01 .content-title02 .jp{
	font-size: 16px;
	padding-right: 20px;
}
#recruit .flex-list01 .content-title02 .jp1 {
    position: relative;
    padding-right: 20px;

}

#recruit .flex-list01 .content-title02 .jp::before {
    position: absolute;
    content: url(../img/index/arow_o_s.png);
    /* bottom: 25%; */
    line-height: 1;
    right: 0;
}
#recruit section:first-child {
    margin-bottom: 120px;
	position: relative;

}
.recruit-img .pc{
	display: none;
}
#recruit .campany-flex figure{
    margin-right: 0;
    box-sizing: border-box;
	position: static;
	right: 0;
	width: 100%;
}
#recruit .campany-flex figure{
	margin-bottom: 8vw;
}
#recruit .campany-flex figure img{
	width: 100%;
}
#recruit .kadomaru-img img {
	height: 250px;
	object-fit: cover;
}
@media screen and (min-width: 480px) {
	#recruit .flex-list01 .content-title02 .jp{
		font-size: 26px;
		padding-right: 40px;
	}
	#recruit .flex-list01 .content-title02 .jp1 {
		position: relative;
		padding-right: 45px;
	
	}
	
}

@media screen and (min-width: 750px) {
	.recruit-img .sp{
		display: none;
	}
	.recruit-img .pc{
		display: block;
	}
	#recruit .box .content-title02 .en:before {
		content: "";
		display: block;
		left: -15px;
		top:-5px;
		width: 30px;
		height: 30px;
		position: absolute;
		border-radius: 50%;
		background-color: var(--sub2-color);
	}
	#recruit .campany-flex figure{
		margin-bottom: 60px;
		height: auto;
		box-sizing: border-box;
	
	}
}
@media screen and (min-width: 1180px) {
#recruit .campany-flex figure{
    margin-right: 0;
    box-sizing: border-box;
	top: auto;
	bottom: 0;
	right: 0;

}
}


/* 社員インタビュー */
#interview .campany-flex figure{
	position: static;
}
#interview .campany-flex {
	position: relative;
}
#interview .campany-flex figure img{
	border-radius: 20px;
	object-fit: cover;
	display: flex;
}
#interview .title03{
	font-size: 32px;
	font-weight: 900;
	line-height: 1.8;
	margin: 20px 0;
}


#interview .content-title02{
	padding-bottom: 20px;
}
#interview .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-left: 0em;
	font-weight: bold;
	font-size: 15px;
    display: flex;
    margin: 0px auto;
}
#interview .content-title02 .jp {
    font-weight: bold;
    font-size: 26px;
	margin-top: 5px;
	line-height: 1;
}
#interview .imgbox img{
	border-radius: 20px;
	margin-top:20px;
	width: 100%;
}
#interview .imgbox img:first-child{
	margin-top: 0;
}
#interview .textbox h3{
	color: var(--sub1-color);
	line-height: 1.8;
	padding-top: 30px;
	margin-bottom: 15px;
	font-size: 26px;
	font-weight: bold;

}
#interview .textbox p{
	line-height: 2;
}
#interview .flex-box__50-750 {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
#interview #index-service{
	margin-bottom: 60px;
}


@media screen and (min-width: 750px) {
	#interview .textbox h3{
		color: var(--sub1-color);
		line-height: 1.8;
		padding-top: 60px;
		margin-bottom: 60px;
		font-size: 26px;
		font-weight: bold;
	
	}
	
	#interview #index-service{
		margin-bottom: 120px;
	}
	#interview .imgbox img{
		border-radius: 20px;
		margin-top:35px;
		width: 100%;
	}
	#interview .title03{
		font-size: 32px;
		font-weight: 900;
		line-height: 1.8;
		margin-bottom: 40px;
	}
	
	#interview .content-inner .flex .textbox{
		margin-left: 80px;
	}
	#interview #index-service .campany-flex .imgbox{
		width: 40%;
	}
	#interview #index-service .campany-flex .textbox{
		width: 60%;
	}
		#interview .campany-flex:first-child figure{
		position:static;
		right: 0;
		bottom: 0;
		width: 100%;
	}
	#interview .flex-box__50-750 {
		display: flex;
		flex-direction: column-reverse;
	}
	#interview .flex-box__50-750 {
		display: flex;
		flex-direction: row;
	}
	#interview .campany-flex figure{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 460px;
		height: 460px;
	}
	#interview .campany-flex:first-child figure{
		position: absolute;
		right: 0;
		bottom: 0;
		width: calc((100% - 60px)/2);
		
	}

	
}


@media screen and (min-width: 940px) {
	#interview .campany-flex:first-child figure{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 460px;
		height: 460px;
	}
}
/* @media screen and (min-width: 940px) {
	#interview .flex-box__50-750 {
		display: flex;
		flex-direction: row;
	}
	#interview .campany-flex figure{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 460px;
		height: 460px;
	}
	#interview .campany-flex:first-child figure{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 460px;
		height: 460px;
	}



} */



#policy .content-title03 {
	margin-top: 50px;
	margin-bottom: 0em;
	font-feature-settings: "palt";
	line-height: 2;
	font-size: 3rem;
}