@charset "UTF-8";
/*---------------------------------------------------------
 com_grdarea
---------------------------------------------------------*/

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_grdarea{
	padding-bottom: 8%;
}
}

/*---------------------------------------------------------
acelab
---------------------------------------------------------*/
#acelab .al_bg{
	padding: 120px 0 130px;
}
#acelab .al_tit{
	font-size: min(256.25%,3.4vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 0.5em;
}
#acelab .al_tit p{
	font-size: 365.954%;
	letter-spacing: 0.05em;
	line-height: 1em; 
	color: #43915C;
	margin-bottom: 0.1em;
}
#acelab .al_tit p > span{
	padding: 0 0.58em;
	position: relative;
}
#acelab .al_tit p > span::before{
	position: absolute;
	content: "";
	background: url("../images/technician/al_tit_abs.svg") no-repeat right top;
	background-size: 100% 100%;
	width: 0.71em;
	height: 0.71em;
	right: 0;
	top:0.14em;
}
#acelab .al_intro{
	padding: 290px 0 70px;
	position: relative;
	z-index: 1;
}
#acelab .al_intro::before{
	position: absolute;
	content: "";
	background: url("../images/technician/al_abs_bg1@2x.png") no-repeat left top;
	background-size: 100% auto;
	max-width: 735px;
	width: 61.125%;
	max-height: 592px;
	height: 592px;
	left: 0;
	top:57px;
	z-index: -2;
}
#acelab .al_intro::after{
	position: absolute;
	content: "";
	background: url("../images/technician/al_abs_bg2@2x.png") no-repeat right top;
	background-size: 100% auto;
	max-width: 527px;
	width: 43.9166667%;
	max-height: 332px;
	height: 332px;
	right: 35px;
	top: 0;
	z-index: -1;
}
#acelab .al_intro .al_intro_inbox{
	max-width: 960px;
	width: 80%;
	margin: 0 auto;
}
#acelab .al_intro .al_intro_inbox .txt{
	max-width: 480px;
	width: 50%;
	margin-right: 0;
	margin-left: auto;
} 
#acelab .al_intro .al_intro_inbox .txt p{
	font-size: min(333%,4.1vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #43915C;
	margin-bottom: 0.5em;
}
#acelab .al_intro .al_intro_inbox .txt dt{
	font-size: min(157%,1.95vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	margin-bottom: 1.2em;
}
#acelab .al_intro .al_intro_inbox .txt dt span{
	color: #43915C;
}
#acelab .al_intro .al_intro_inbox .txt dd{
	line-height: 2.5em;
}
#acelab .al_fukidashi{
	max-width: 1014px;
	width: 94%;
	margin: 0 auto;
}
#acelab .al_lead{
	font-size: min(212.5%,2.822vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	position: relative;
	padding-left: 0.4em;
	box-sizing: border-box;
	margin: 0.8em 0 1.6em;
}
#acelab .al_lead::before{
	position: absolute;
	content: "";
	background: url("../images/technician/al_lead_abs_l.svg") content-box left top;
	background-size: 100% 100%;
	width: 1.09em;
	height: 1.09em;
	right: calc(50% + 12em);
	top:-0.4em;
}
#acelab .al_lead::after{
	position: absolute;
	content: "";
	background: url("../images/technician/al_lead_abs_r.svg") content-box right top;
	background-size: 100% 100%;
	width: 1.09em;
	height: 1.09em;
	left: calc(50% + 12em);
	top:-0.4em;
}
#acelab .al_lead span{
	color: #43915C;
}
#acelab .swip_ticker {
	position: relative;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
}
#acelab .swip_ticker li {
	width: 22.866667vw;
	max-width: max-content;
	margin: 0 2vw;
}
#acelab #feature .ft_tit{
	font-size: min(343%,4.539vw);
	letter-spacing: 0.12em;
	line-height: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
	padding-left: 0.1em;
	box-sizing: border-box;
	margin-bottom: 1.6em;
}
#acelab #feature .ft_tit::before{
	position: absolute;
	content: "";
	background: url("../images/technician/ft_tit_l.svg") no-repeat left center;
	background-size: 100% 100%;
	width: 0.92em;
	height: 0.92em;
	right: calc(50% + 5.25em);
}
#acelab #feature .ft_tit::after{
	position: absolute;
	content: "";
	background: url("../images/technician/ft_tit_r.svg") no-repeat right center;
	background-size: 100% 100%;
	width: 0.92em;
	height: 0.92em;
	left: calc(50% + 5.25em);
}
#acelab #feature .ft_tit span{
	font-size: 142%;
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #43915C;
	display: inline-block;
	margin-top: -0.15em;
	margin-right: 0.15em
}
#acelab #feature .ft_box_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#acelab #feature .ft_box_list > li{
	width: 100%;
	background: linear-gradient(127deg, rgba(203,255,198,0.5) 12%, rgba(175,227,210,0.5) 88%);
	padding: min(150px,12vw) 4% min(70px,5.6vw);
	box-sizing: border-box;
	position: relative;
	margin-top: min(45px,3.74vw);
}
#acelab #feature .ft_box_list > li:first-child{
	margin-top: 0;
}
#acelab #feature .ft_box_list > li:nth-child(3),
#acelab #feature .ft_box_list > li:nth-child(4){
	max-width: 650px;
	width: 48.5%;
}
#acelab #feature .ft_box_list > li .no{
	font-size:min(156.25%,2.1vw);
	letter-spacing:0.1em;
	line-height: 1em;
	text-align: center;
	color: #43915C;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top:-1.7em;
}
#acelab #feature .ft_box_list > li .no span{
	font-size: 412%;
	letter-spacing: 0.05em;
	line-height: 1em;
	display: block;
	margin-bottom: 0.2em;
}
#acelab #feature .ft_box_list > li .inbox{
	max-width: 1190px;
	margin: 0 auto;
}
#acelab #feature .ft_box_list > li:nth-child(3) .inbox,
#acelab #feature .ft_box_list > li:nth-child(4) .inbox{
	max-width: 510px;
	margin: 0 auto;
}
#acelab #feature .ft_box_list > li h5{
	font-size: min(250%,2.85vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	text-align: center;
}
#acelab #feature .ft_box_list > li:nth-child(3) h5,
#acelab #feature .ft_box_list > li:nth-child(4) h5{
	font-size: min(218.75%,2.5vw);
	margin-bottom: 1em;
}
#acelab #feature .ft_box_list > li h5 span{
	color: #43915C;
}
#acelab #feature .ft_box_list > li:nth-child(1) ul{
	display: flex;
	justify-content: space-between;
	max-width: 1090px;
	margin-left: auto;
	margin-right: auto;
}
#acelab #feature .ft_box_list > li:nth-child(1) ul li{
	max-width: 251px;
	width: 23.1%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul{
	display: flex;
	flex-wrap: wrap;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li{
	width: 31.8%;
	margin-right: 2.3%;
	background-color: #fff;
	padding: min(30px,2.5vw) 2.5% min(35px,3vw) ;
	box-sizing: border-box;
	border-radius: min(25px,2.5vw);
	margin-top: min(30px,2.5vw);
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(-n + 3){
	margin-top: 0;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(3n){
	margin-right: 0;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li .img{
	max-width: 298px;
	margin: 0 auto 0.3em;
	text-align: center;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li dl{
	max-width: 300px;
	margin: 0 auto;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li dt{
	font-size: min(125%,1.8vw);
	letter-spacing: 0.12em;
	line-height: 1.55em;
	text-align: center;
	color: #43915C;
	margin-bottom: 0.4em;
	height: 4.65em;
    display: flex;
    justify-content: center;
    align-items: center;
}
#acelab #feature .ft_box_list > li:nth-child(3) .img,
#acelab #feature .ft_box_list > li:nth-child(4) .img{
	max-width: 505px;
	margin: 0 auto min(50px,4.1vw);
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1304px) {
#acelab .al_intro{
	padding: 22.24vw 0 5.37vw;
}
#acelab .al_intro::before{
	width:58.8vw;
	height: 47.36vw;
	left: -2%;
}
#acelab .al_intro::after{
	width: 42.16vw;
	height: 26.56vw;
	right: -4%;
}
#acelab .al_intro .al_intro_inbox{
	width: 100%;
}
#acelab .al_intro .al_intro_inbox .txt p{
	font-size: min(333%,5.4vw);
}
#acelab .al_intro .al_intro_inbox .txt dt{
	font-size: min(157%,2.5vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	margin-bottom: 1.2em;
}
#acelab .al_intro .al_intro_inbox .txt{
	width: 53%;
} 
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#acelab .al_bg{
	padding: 12% 0 13%;
}
#acelab #feature .ft_box_list > li{
	padding-left: 3%;
	padding-right: 3%;
}
#acelab #feature .ft_box_list > li h5{
	font-size: min(250%,2.96vw);
	letter-spacing: 0.1em;
}
#acelab #feature .ft_box_list > li:nth-child(3) h5,
#acelab #feature .ft_box_list > li:nth-child(4) h5{
	font-size: min(218.75%,2.6vw);
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li dt{
	font-size: min(125%,1.9vw);
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#acelab .al_bg{
	padding: 14% 0 15%;
}
#acelab .al_tit{
	font-size: 150%;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	text-align: center;
	margin-bottom: 0.5em;
}
#acelab .al_tit p{
	font-size: 360%;
	margin-bottom: 0.15em;
	padding-right: 0.4em;
}
#acelab .al_tit p > span{
	padding: 0;
}
#acelab .al_tit p .sp_sps{
	padding-right: 0.5em;
}
#acelab .al_tit p > span::before{
	width: 0.95em;
	height: 0.95em;
	right: -0.5em;
	top:0.58em;
}
#acelab .al_intro{
	padding: 124vw 0 8%;
}
#acelab .al_intro::before{
	background-position: center top;
	max-width: 91vw;
	width: 91vw;
	max-height: 73.71vw;
	height:73.71vw;
	right: 0;
	margin: auto;
	top:0;
}
#acelab .al_intro::after{
	background-position: center top;
	max-width: 98vw;
	width: 98vw;
	max-height: 61.74vw;
	height: 61.74vw;
	right: -5vw;
	top: 65vw;
}
#acelab .al_intro .al_intro_inbox{
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
}
#acelab .al_intro .al_intro_inbox .txt{
	max-width: 100%;
	width: 100%;
} 
#acelab .al_intro .al_intro_inbox .txt p{
	font-size: 240%;
	margin-bottom: 0.4em;
}
#acelab .al_intro .al_intro_inbox .txt dt{
	font-size:120%;
	letter-spacing: 0.05em;
	margin-bottom: 1em;
}
#acelab .al_intro .al_intro_inbox .txt dd{
	line-height: 2em;
}
#acelab .al_fukidashi{
	width: 100%;
}
#acelab .al_lead{
	font-size: 125%;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	padding-left: 0.2em;
}
#acelab .al_lead::before{
	right: calc(50% + 7.25em);
}
#acelab .al_lead::after{
	left: calc(50% + 7.25em);
}
#acelab  .swip_ticker li {
	width: 38vw;
	margin: 0 3vw;
}
#acelab #feature .ft_tit{
	font-size: 180%;
	letter-spacing: 0.05em;
	margin-bottom: 1.5em;
}
#acelab #feature .ft_tit::before{
	right: calc(50% + 5em);
}
#acelab #feature .ft_tit::after{
	left: calc(50% + 5em);
}

#acelab #feature .ft_box_list{
	display: block;
}
#acelab #feature .ft_box_list > li{
	width: 100%;
	padding: 24% 5% 8%;
	margin-top: 6%;
}

#acelab #feature .ft_box_list > li:nth-child(3),
#acelab #feature .ft_box_list > li:nth-child(4){
	max-width: 100%;
	width: 100%;
}
#acelab #feature .ft_box_list > li .no{
	font-size:90%;
}

#acelab #feature .ft_box_list > li .inbox{
	max-width: 100%;
}
#acelab #feature .ft_box_list > li:nth-child(3) .inbox,
#acelab #feature .ft_box_list > li:nth-child(4) .inbox{
	max-width: 100%;
}
#acelab #feature .ft_box_list > li h5{
	font-size: 140%;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	text-align: center;
}
#acelab #feature .ft_box_list > li:nth-child(3) h5,
#acelab #feature .ft_box_list > li:nth-child(4) h5{
	font-size: 140%;
	margin-bottom: 1em;
}
#acelab #feature .ft_box_list > li:nth-child(1) ul{
	flex-wrap: wrap;
	max-width: 520px;
}
#acelab #feature .ft_box_list > li:nth-child(1) ul li{
	width: 48.5%;
	margin-top: 3%;
}
#acelab #feature .ft_box_list > li:nth-child(1) ul li:nth-child(-n + 2){
	margin-top: 0;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul{
	display: block;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li{
	width: 100%;
	margin-right: 0;
	background-color: #fff;
	padding: 3% 5% 6% ;
	box-sizing: border-box;
	border-radius: 5vw;
	margin-top: 5%!important;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(-n + 1){
	margin-top: 0!important;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li .img{
	width: 80%;
	margin-bottom: 0;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(3){
	padding-top: 7%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(4){
	padding-top: 7%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(6){
	padding-top: 6%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(3) .img{
		margin-bottom: 5%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(4) .img{
		margin-bottom: 5%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li:nth-child(6) .img{
		margin-bottom: 4%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li dl{
	max-width:100%;
}
#acelab #feature .ft_box_list > li:nth-child(2) ul li dt{
	font-size: 120%;
	letter-spacing: 0.05em;
	height: auto;
}
#acelab #feature .ft_box_list > li:nth-child(3) .img,
#acelab #feature .ft_box_list > li:nth-child(4) .img{
	margin: 0 auto 7%;
}
}



/*---------------------------------------------------------
work_flow
---------------------------------------------------------*/
#work_flow .wf_bg{
	background-color: #43915C;
	padding:  min(80px,6.64vw) 0 min(160px,13.3vw);
	position: relative;
	z-index: 1;
	color: #fff;
}
#work_flow .wf_bg::before{
	position: absolute;
	content: "";
	background: url("../images/technician/wf_bg_arrow@2x.png") no-repeat center bottom;
	background-size: 100% 100%;
	width: 100%;
	height: 8.66667vw;
	max-height: 130px;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	z-index: -1;
}
#work_flow .wf_icon{
	font-size: min(281.25%,3.74vw);
	max-width: 99px;
	width: 2.2em;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top:-0.644445em;
}
#work_flow .wf_tit{
	font-size:  min(281.25%,3.74vw);
	letter-spacing: 0.12em;
	line-height: 1em;
	position: relative;
	z-index: 1;
	margin-bottom: 1.9em;
}
#work_flow .wf_tit p{
	font-size: 181%;
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #B4D3BE;
	opacity: 0.3;
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -0.55em;
	z-index: -1;
}
#work_flow .wf_list{
    display: flex;
    justify-content: space-between;
}
#work_flow .wf_list li{
	max-width: 273px;
	width: 22.75%;
}
#work_flow .wf_list li div{
	max-width: 273px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
#work_flow .wf_list li div::before{
	position: absolute;
	content: "";
	background: url("../images/technician/wf_arrow.svg") no-repeat right center;
	background-size: 100% 100%;
	max-width: 60px;
	width: 21.97802198%;
	aspect-ratio: 1 / 1;
	max-height: 60px;
	right: 0;
	top:50%;
	transform: translate(80%,-50%);
	z-index: 2;
}
#work_flow .wf_list li:last-child div::before{
	position: static;
	background: none;
	display: none;
}
#work_flow .wf_list li p{
	font-size: min(125%,1.8vw);
	line-height: 1em;
	letter-spacing: 0.12em;
	font-weight: bold;
	color: #43915C;
	text-align: center;
	background: #fff;
	padding: 0.3em 1em;
	border-radius: 1.1em;
	height: 2.2em;
	box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
	margin-top: 1em;
}
#work_flow .wf_list li p span{
	font-size: 120%;
	line-height: 1em;
	letter-spacing: 0.05em;
	padding-bottom: 0.1em;
}
#work_flow .ps__thumb-x {
  background-color: #fff;
}
#work_flow .ps__rail-x{
  background-color: rgba(255,255,255,0.4);
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#work_flow .wf_bg{
	padding:  12vw 0 16vw;
}
#work_flow .wf_icon{
	font-size:170%;
	max-width: 99px;
	width: 2.2em;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top:-0.644445em;
}
#work_flow .wf_tit{
	font-size:180%;
	letter-spacing: 0.1em;
	margin-bottom: 1.6em;
}
#work_flow .wf_tit p{
	font-size: 170%;
}
#work_flow .wf_list{
	width: 200%;
}
#work_flow .wf_list li p{
	font-size: 85%;
	letter-spacing: 0.1em;
}
#work_flow .scl_txt{
	color: rgba(255,255,255,0.7);
}
}



/*---------------------------------------------------------
case
---------------------------------------------------------*/
#case .cs_bg{
	padding: min(80px,7%) 0;
}
#case .cs_tit{
	font-size:  min(241%,3.3vw);
	letter-spacing: 0.12em;
	line-height: 1em;
	text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
	position: relative;
}
#case .cs_tit::before{
	position: absolute;
	content: "";
	background: url("../images/technician/cs_tit_l.svg") no-repeat left center;
	background-size: 100% 100%;
	width: 0.6em;
	height: 0.6em;
	right: calc(50% + 6.7em);
	top:62%;
	transform: translateY(-50%);
}
#case .cs_tit::after{
	position: absolute;
	content: "";
	background: url("../images/technician/cs_tit_r.svg") no-repeat right center;
	background-size: 100% 100%;
	width: 0.6em;
	height: 0.6em;
	left: calc(50% + 6.7em);
	top:62%;
	transform: translateY(-50%);
}
#case .cs_tit span{
	font-size: 131.61%;
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #43915C;
	display: inline-block;
	margin-top: -0.16em;
	margin-right: 0.15em;
}
#case .cs_list{
	display: flex;
	justify-content: space-between;
}
#case .cs_list li{
	max-width: 327px;
	width: 24.3%;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#case .cs_bg{
	padding: 10% 0 8%;
}
#case .cs_tit{
	font-size:  140%;
	letter-spacing: 0.1em;
}
#case .cs_list{
	display: block;
}
#case .cs_list li{
	max-width: 327px;
	width: 100%;
	margin: 5% auto 0;
}
#case .cs_list li:disabled{
	margin-top: 0;
}
}



/*---------------------------------------------------------
join_our_team
---------------------------------------------------------*/
#join_our_team .jot_bg{
	padding: min(80px,7%) 0 min(120px,10%);
}
#join_our_team .jot_box{
	border: 1px solid #43915C;
	padding: min(60px,5vw) 4% min(70px,6vw);
	border-radius:  min(25px,2.5vw);
	position: relative;
	z-index: 1;
}
#join_our_team .jot_box::before{
	font-size: min(312.5%,4.2vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	position: absolute;
	content: "";
	background: #fff;
	width: 13em;
	max-width: 70%;
	height: 4px;
	left: 0;
	right: 0;
	margin: auto;
	top:-2px;
	z-index: -1;
}
#join_our_team .jot_box .jot_abs_tit{
	font-size: min(312.5%,4.2vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #43915C;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top:0;
	transform: translateY(-59%);
	z-index: 2;
}
#join_our_team .jot_box .jot_box_inbox{
	max-width: 1200px;
	margin: 0 auto;
}
#join_our_team .jot_box .jot_tit{
	font-size: min(241%,3.2vw);
	letter-spacing: 0.12em;
	line-height: 1.8em;
	padding-bottom: 1em;
	margin-bottom:1.4em; 
	border-bottom: 1px solid #43915C;
}
#join_our_team .jot_box ul{
	max-width: 910px;
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: min(162.5%,2.2vw);
	letter-spacing: 0.12em;
	line-height: 1.6em;
}
#join_our_team .jot_box ul li{
	width: 48.5%;
	padding-left: 2.7em;
	box-sizing: border-box;
	position: relative;
	margin-top: 1.6em;
}
#join_our_team .jot_box ul li:nth-child(-n + 2){
	margin-top: 0;
}
#join_our_team .jot_box ul li::before{
	position: absolute;
	content: "";
	background: url("../images/technician/jot_check.svg") no-repeat left top;
	background-size: 100% 100%;
	width: 1.627em;
	height: 1.627em;
	left: 0;
	top:-0.06em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#join_our_team .jot_bg{
	padding: 8% 0 13%;
}
#join_our_team .jot_box{
	padding:8% 5% 9%;
	border-radius: 5vw;
}
#join_our_team .jot_box::before{
	font-size: 180%;
	max-width: 90%;
}
#join_our_team .jot_box .jot_abs_tit{
	font-size:180%;
}
#join_our_team .jot_box .jot_box_inbox{
	max-width: 100%;
}
#join_our_team .jot_box .jot_tit{
	font-size:140%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
	padding-bottom: 0.6em;
	margin-bottom:1em; 
}
#join_our_team .jot_box ul{
	max-width: 84%;
	width: 84%;
	display: block;
	font-size:110%;
	letter-spacing: 0.1em;
	line-height: 1.6em;
}
#join_our_team .jot_box ul li{
	width:100%;
	margin-top: 1.2em!important;
}
#join_our_team .jot_box ul li:nth-child(-n + 1){
	margin-top: 0!important;
}
}



/*---------------------------------------------------------
workstyle
---------------------------------------------------------*/
#workstyle .ws_bg{
	background: linear-gradient(127deg, rgba(203,255,198,0.5) 12%, rgba(175,227,210,0.5) 88%);
	padding: 110px 0 120px;
}
#workstyle .ws_tit{
	font-size: min(312%,4.1vw);
	letter-spacing: 0.12em;
	line-height: 1em;
}
#workstyle .ws_tit div{
	max-width: 851px;
	width: 17.06em;
	margin: 0 auto 0.3em;
}
#workstyle .ws_list{
	display: flex;
	flex-wrap: wrap;
	max-width: 1284px;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#workstyle .ws_list li{
	width: 24.37694704%;
	margin-right: 0.83073728%;
	margin-top:  0.83073728%;
	background: #fff;
	padding: min(45px,3.4vw) 1%  min(60px,4.6vw) ;
	box-sizing: border-box;
}
#workstyle .ws_list li:nth-child(4n){
	margin-right: 0;
}
#workstyle .ws_list li div{
	max-width: 196px;
	width: 73%;
	margin: 0 auto ;
	text-align: center;
}
#workstyle .ws_list li p,
#workstyle .ws_list li dt{
	font-size: min(187.5%,2.3vw);
	letter-spacing: 0.08em;
	line-height: 1.3em;
	margin-top: 1em;
	position: relative;
}
#workstyle .ws_list li dt{
	padding-top: 1.3em;
}
#workstyle .ws_list li p{
	padding-top: 1.5em;
}
#workstyle .ws_list li p::before,
#workstyle .ws_list li dt::before{
	position: absolute;
	content: "";
	background: #43915C;
	width: 4em;
	height: 2px;
	left: 0;
	right: 0;
	margin: auto;
	top:0;
}
#workstyle .ws_list li dt{
	margin-bottom: 0.4em;
}
#workstyle .ws_list li dd{
	font-size: min(100%,1.3vw);
	letter-spacing: 0.1em;
	list-style-position: 1.5em;
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#workstyle .ws_bg{
	padding: 9% 0 10%;
}
#workstyle .ws_list li dd{
	font-size: min(100%,1.6vw);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#workstyle .ws_bg{
	padding: 12% 0 13%;
}
#workstyle .ws_tit{
	font-size: 150%;
	letter-spacing: 0.1em;
}
#workstyle .ws_tit div{
	width: 100%;
	margin: 0 auto 0.3em;
}
#workstyle .ws_list{
	justify-content: space-between;
	max-width: 100%;
	font-size: 80%;
	letter-spacing: 0.05em;
}
#workstyle .ws_list li{
	width: 49%;
	margin-right: 0;
	margin-top: 3%!important;
	padding:6% 2%;
}
#workstyle .ws_list li:nth-child(-n + 2){
	margin-top: 0!important;
}
#workstyle .ws_list li div{
	width: 60%;
}
#workstyle .ws_list li p,
#workstyle .ws_list li dt{
	font-size:130%;
	margin-top: 1em;
}
#workstyle .ws_list li dt{
	padding-top: 1em;
}
#workstyle .ws_list li p{
	padding-top: 1.2em;
}
#workstyle .ws_list li dd{
	font-size:95%;
	max-width: 100%;
}
}



/*---------------------------------------------------------
message
---------------------------------------------------------*/
#message .msg_bg{
	padding: min(120px,10%) 0 min(140px,12%);
}
#message .msg_tit {
	font-size: min(509%,6.8vw);
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #E8EAE8;
}
#message .flt_box{
	max-width: 1180px;
	margin: 0 auto;
}
#message .flt_box .img_r{
	max-width: 396px;
	width: 34%;
	float: right;
}
#message .flt_box .txt_l{
	max-width: 690px;
	width: 62%;
	float: left;
}
#message .flt_box .txt_l dt{
	font-size: min(303%,3.95vw);
	letter-spacing: 0.12em;
	line-height: 1em;
	margin-bottom: 0.1em;
}
#message .flt_box .txt_l dt span{
	font-size: 161%;
	letter-spacing: 0.12em;
	line-height: 1.75em;
	color: #43915C;
	margin-left: -0.5em;
	margin-right: -0.5em;
}
#message .flt_box .txt_l dd{
	line-height: 2.5em;
	letter-spacing: 0.1em;
}
#message .flt_box .txt_l .name{
	font-size: min(187.5%,2.4888vw);
	letter-spacing: 0.08em;
	line-height: 1em;
    display: flex;
	justify-content: flex-end;
    align-items: center;
	margin-top: 0.5em;
}
#message .flt_box .txt_l .name span{
	font-size: 58.283%;
	letter-spacing: 0.08em;
	line-height: 1em;
	display: inline-block;
	margin-right: 1em;
	margin-top: 0.1em;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message .flt_box .img_r{
	margin-left: 4%;
	margin-bottom: 1em;
}
#message .flt_box .txt_l{
	max-width: 100%;
	width:  100%;
	float: none;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .msg_bg{
	padding: 13% 0 14%;
}
#message .msg_tit {
	font-size: 276%;
}
#message .flt_box{
	max-width: 100%;
}
#message .flt_box .img_r{
	max-width: 323px;
	width: 100%;
	float: none;
	margin: 0 auto 8%;
}
#message .flt_box .txt_l{
	max-width: 100%;
	width: 100%;
	float:none;
}
#message .flt_box .txt_l dt{
	font-size: 150%;
	letter-spacing: 0.1em;
	margin-bottom: 0;
}
#message .flt_box .txt_l dt span{
	letter-spacing: 0.1em;
}
#message .flt_box .txt_l dd{
	line-height: 2em;
	letter-spacing: 0.05em;
}
#message .flt_box .txt_l .name{
	font-size: 130%;
}
}



/*---------------------------------------------------------
interview
---------------------------------------------------------*/
#interview .int_bg{
	background: #43915C;
	padding:  min(90px,8%) 0 min(160px,13%) ;
	position: relative;
	z-index: 1;
}
#interview .int_bg::before{
	font-size: min(156.25%,2.1vw) ;
	letter-spacing: 0.18em;
	line-height: 1.8em;
	position: absolute;
	content: "";
	background: url("../images/technician/int_icon@2x.png") no-repeat center top;
	background-size: 100% auto;
	max-width: 84px;
	width: 3.36em;
	max-height: 84px;
	height: 3.36em;
	left: 0;
	right: 0;
	margin: 0 auto;
	top:0;
	transform: translateY(-40%);
	z-index: 2;
}
#interview .int_tit{
	font-size: min(156.25%,2.1vw) ;
	letter-spacing: 0.18em;
	line-height: 1.8em;
	color: #fff;
}
#interview .int_tit p{
	font-size: 325.712%;
	letter-spacing: 0.05em;
	line-height: 1em;
	margin-bottom: 0.5em;
}
#interview .int_list > li{
	background: #fff;
	padding: min(110px,9%) 5% min(100px,8%);
	border-radius: min(30px,3vw);
	box-sizing: border-box;
	margin-top: min(30px,3%)
}
#interview .int_list > li:first-child{
	margin-top: 0;
}
#interview .int_list > li .int_list_inbox{
	max-width: 1210px;
	margin: 0 auto;
}
#interview .int_list > li .flex_box{
    display: flex;
    justify-content: space-between;
	align-items: center;
}
#interview .int_list > li .flex_box .img_l{
	max-width: 638px;
	width: 53%;
}
#interview .int_list > li .flex_box .txt_r{
	width: 44%;
	color: #43915C;
	font-size: min(100%,1.07vw)
}
#interview .int_list > li .flex_box .txt_r .int_no{
	font-size: 162.5%;
	letter-spacing: 0.05em;
	line-height: 1em;
	margin-bottom: 1.5em;
}
#interview .int_list > li .flex_box .txt_r .int_lead{
	font-size: 300%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: 0.5em;
}
#interview .int_list > li .flex_box .txt_r .int_staff{
	font-size: 105%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#interview .int_list > li .int_faq_list li{
	margin-top: min(40px,4%);
	display: flex;
	justify-content: space-between;
}
#interview .int_list > li .int_faq_list li p{
	width: 35%;
	font-size: 105%;
	letter-spacing: 0.1em;
	line-height: 1.8em;
	font-weight: bold;
	display: flex;
	color: #43915C;
}
#interview .int_list > li .int_faq_list li p span{
	font-size: 205.1653%;
	letter-spacing: 0.05em;
	display: inline-block;
	margin-right: 0.3em;
	margin-top: -0.15em;
}
#interview .int_list > li .int_faq_list li dl{
	width: 62%;
	max-width: 730px;
}
#interview .int_list > li .int_faq_list li dl dt{
	font-size: 131.25%;
	letter-spacing: 0.08em;
	line-height: 1.5em;
	margin-bottom: 0.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#interview .int_list > li .flex_box .img_l{
	max-width: 638px;
	width: 48%;
}
#interview .int_list > li .flex_box .txt_r{
	width: 48%;
	font-size: min(100%,1.3vw)
}
#interview .int_list > li .flex_box .txt_r .int_lead{
	font-size: 270%;
}
#interview .int_list > li .int_faq_list li{
	display: block;
}
#interview .int_list > li .int_faq_list li p{
	width: 100%;
	margin-bottom: 1em;
}
#interview .int_list > li .int_faq_list li dl{
	width: 100%;
	max-width: 100%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#interview .int_bg{
	padding: 11% 0 15% ;
}
#interview .int_bg::before{
	font-size: 100%;
}
#interview .int_tit{
	font-size: 100%;
	letter-spacing: 0.05em;
}
#interview .int_tit p{
	margin-bottom: 0.4em;
}
#interview .int_list > li{
	padding:10% 5%;
	border-radius: 6vw;
	margin-top:5%;
}
#interview .int_list > li:first-child{
	margin-top: 0;
}
#interview .int_list > li .int_list_inbox{
	max-width: 100%;
}
#interview .int_list > li .flex_box{
    display: block;
	margin-bottom: 10%;
}
#interview .int_list > li .flex_box .img_l{
	width: 100%;
	margin: 0 auto 8%;
}
#interview .int_list > li .flex_box .txt_r{
	width: 100%;
	color: #43915C;
	font-size: 80%;
}
#interview .int_list > li .flex_box .txt_r .int_no{
	margin-bottom: 0.8em;
}
#interview .int_list > li .flex_box .txt_r .int_lead{
	font-size: 220%;
	letter-spacing: 0.05em;
	margin-bottom: 0.3em;
}
#interview .int_list > li .int_faq_list{
	font-size: 90%;
}
#interview .int_list > li .int_faq_list li{
	margin-top: 8%;
	display: block;
}
#interview .int_list > li .int_faq_list li p{
	width: 100%;
	letter-spacing: 0.05em;
	margin-bottom: 0.6em;
}

#interview .int_list > li .int_faq_list li dl{
	width: 100%;
	max-width: 100%;
}
#interview .int_list > li .int_faq_list li dl dt{
	font-size: 120%;
	letter-spacing: 0.05em;
	margin-bottom: 0.2em;
}
}



/*information
---------------------------------------------------------*/
#information .info_bg{
	padding: 120px 0 90px;
}
#information .tour_box {
	position: relative;
	max-width: 1240px;
	text-align: center;
	color: #FFF;
	background-color: #55d0e6;
	box-sizing: border-box;
	padding: 75px 5% 85px;
	margin-left: auto;
	margin-right: auto;
}
#information .tour_box::before {
	position: absolute;
	content: "";
	background: linear-gradient(45deg, rgba(255, 255, 255, 0) 42%, rgba(255, 254, 248, 0.13) 50%, rgba(255, 252, 229, 0.32) 60%, rgba(255, 249, 197, 0.55) 74.08%, rgba(255, 245, 154, 0.8) 88%, rgba(255, 241, 115, 1) 100%);
	background-position: right top;
	background-repeat: no-repeat;
	width: 50%;
	height: 60%;
	right: 0;
	top: 0;
	opacity: 0.5;
}
#information .tour_title {
	position: relative;
	font-size: min(281%,4vw);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	margin-bottom: .8em;
	text-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#information .tour_title::before {
	display: block;
	content: "";
	background: url(../images/top/tour_icon.svg) no-repeat;
	width: .9em;
	height: 1.36em;
	margin: 0 auto .4em;
}
#information .bubble {
	position: relative;
	color: #4b2f2c;
    font-size: min(3vw, 213%);
    font-weight: bold;
    letter-spacing: .12em;
    line-height: 1.5;
	background-color: #fff;
	padding: .8em 2em;
	border-radius: 1.2em;
	margin: 0 auto 1.2em;
}
#information .bubble::after {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/bbl.svg) no-repeat;
	width: 1.4em;
	height: .9em;
	right: 16%;
	top: 100%;
}
#information .bubble > span {
	position: relative;
	color: #359ec2;
}
#information .bubble > span span {
	position: relative;
}
#information .bubble > span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/underline_o.svg) no-repeat;
	width: 4.6em;
	height: .6em;
	left: 48%;
	top: 85%;
	translate: -50% 0;
}
#information .tour_box ul {
	display: flex;
	justify-content: center;
	margin-bottom: 1.5em;
}
#information .tour_box ul > li {
	margin: 0 1%;
}
#information .tour_box .radi {
	font-size: min(130%,2vw);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	background-color: #3296af;
	padding: .4em 1em;
	margin-top: 1.5em;
	border-radius: 2em;
}
#information .col_tel,
#information .btn_site {
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
	font-style: italic;
}
#information .col_line,
#information .col_web {
	display: none;
}
#information .map_link a {
	padding-right: 1.2em;
}
#information .map_link a::before{
	font-family: 'fontello';
	content: '\e800';
	font-size: 90%;
	background: none;
	line-height: 1.1;
}
#information .swip_ticker {
	position: relative;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
	margin-top: 60px;
}
#information .swip_ticker li {
	width: 36.7vw;
	max-width: max-content;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#information .tour_box ul > li:nth-of-type(odd) {
	margin-top: 2.5%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#information .info_bg{
	padding: 10% 0 8%;
}
#information .tour_box {
	padding: 7% 5% 8%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#information .info_bg{
	padding: 13% 0 11%;
}
#information .tour_box {
	padding: 8% 6% 10%;
}
#information .tour_box::before {
	width: 100%;
	background-size: 50vw 50vw;
}
#information .tour_title {
	font-size: 140%;
	letter-spacing: .08em;
}
#information .bubble {
    font-size: 110%;
    letter-spacing: .08em;
}
#information .tour_box ul {
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}
#information .tour_box ul > li {
	width: 48.5%;
	margin: 0;
}
#information .tour_box ul > li:nth-of-type(1) {
	margin: 0 26% 3%;
}
#information .tour_box ul > li:nth-of-type(2) {
	margin-right: 3%;
}
#information .tour_box .radi {
	font-size: 110%;
	letter-spacing: .05em;
	margin-top: 1em;
}
#information .box .com_contact .col_tel{
	width: 70%;
	margin-bottom: 0;
}
#information .swip_ticker {
	margin-top: 10%;
}
#information .swip_ticker li {
	width: 60vw;
}
}



/*---------------------------------------------------------
contact
---------------------------------------------------------*/
#contact .ctc_list{
	display: block;
}
#contact .ctc_list li:first-child{
	margin-left: auto;
	margin-right: auto;
	max-width: 540px;
}
#contact .ctc_list li:last-child{
	display: none;
}
#contact .com_btnlist li:first-child{
	text-align: center;
}
#contact .com_btnlist li:last-child{
	display: none;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}