@charset "utf-8";
.clearfix:after {
content:" ";
display:block;
clear:both;
}


body {
font-family: 'Noto Sans JP', sans-serif;
color:#000000;
margin:0;
}

p {margin:0;
word-wrap: break-word;}

ul {margin:0;
padding:0;}

dd {margin:0;}

select {
-webkit-appearance: button;
appearance: button;
}

a {text-decoration:none;
color:#000;}

ul {
margin:0;
padding:0;
list-style:none;
}
dl {margin: 0;}

img {
max-width: 100%;
vertical-align: top;
}

.maru {
/*
  font-family: 'TsukuARdGothic-Regular',"Zen Maru Gothic rev=1","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
*/
font-family: 'TsukuARdGothic-Regular','Zen Maru Gothic', sans-serif;
}
header h1 {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	z-index: 2;
}
header h1 a {
	background: url("/assets/images/h1.png") no-repeat;
	background-position: left top;
	background-size: contain;
	width: 45vw;
	height: 184px;
}
.fv_under_text {
	color: #11267f;
	/*width: 840px;*/
    width: 95%;
    max-width: 840px;
	margin: 0 auto;
    /*margin: 4em auto 0;*/
	font-size: 1.5em;
	line-height: 3.2;
	letter-spacing: 0.1em;
	position: relative;
    padding-bottom: 5em;
}
.text_line .blue_under {
	color: #11267f;
	background: linear-gradient(#11267f,#11267f) no-repeat;
	background-size: 0% 100%;
	transition: all 0.6s linear;
	transition-delay: 1.7s;
}
.fv_under_text.on .text_line {
	background-size: 100% 1px;
}
.fv_under_text .text_line {
	background: linear-gradient(#11267f,#11267f) 0 100% / 0 1px no-repeat;
	background-size: 0px 1px;
	text-decoration: none;
	transition: background-size 3s linear;
}
.on .text_line .blue_under {
	background-size: 100% 100%;
	color: #fff;
}

.back_text{
    content: "";
	display: block;
    background: url(/assets/images/under_text.png) no-repeat bottom 2em right;
    background-size: 70%;
    width: 100vw;
    margin: 0 -1em;
}
.fv_under_text__:after {
	content: "";
	display: block;
	background: url(/assets/images/under_text.png) no-repeat;
    /*background: url(/assets/images/under_text.png);*/
	/*width: 914px;
	height: 167px;*/
	position: absolute;
	/*bottom: 0;
	left: 11em;*/
    right: 0;
    background-size: contain;
    width: 80%;
    height: 200px;
}
.sec_title span {
	display: block;
	text-align: center;
}
.sec_title span.image {
    margin-bottom: 1.5em;
}
.sec_title .sec_title_under {
	/*margin-top: 1.5em;*/
	font-weight: normal;
	letter-spacing: 0.2em;
	font-size: 1.5em;
	margin-bottom: 3em;
    /*margin-bottom: 4em;*/
}
.sec_title {
	font-size: 1em;
	margin-top: 3em;
    /*margin-top: 5em;*/
}
.support_box {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	width: 100%;
    /*width: 1055px;*/
	margin: 0 auto 6em;
	font-size: 1.4em;
    position: relative;
}

.support_text {
	font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
    /*16-18*/
    /*font-size: 0.8em;*/
    line-height: 1.8;
	/*line-height: 2.3;
	height: 8.5em;*/
	color: #122988;
}
.support_box > div {
	width: 25%;
    max-width: 265px;
    /*height: 100%;*/
    border-left: 1.5px solid #9396ab;
    padding: 0 1em 1em;
	/*border-left: 2px solid #9396ab;
	padding: 0 1em 3em;*/
	z-index: 10;
	box-sizing: border-box;
}
.support_title {
	font-size: 0.85em;
	line-height: 1.5;
    margin: 0 auto 2em;
    /*line-height: 2;
	margin: 2em 0;*/
	color: #122988;
	font-weight: bold;
	min-height: 4em;
    /*height: 4.3em;*/
}
.support_box > div span {
	font-size: clamp(1.063rem, 0.84rem + 0.46vw, 1.188rem);
    /*17-19*/
	line-height: 1.5;
    margin: 0 auto;
	color: #122988;
	font-weight: bold;
    min-height: 5em;
}
.support_image {
    margin: 0 auto 1em;
    display: flex;
    flex-wrap: wrap;
}
.support_image img {
    margin: 0 auto 1.5em;
    height: clamp(9rem, 1.889rem + 14.81vw, 13rem);
}

.support_box:after {
	content: "";
	display: block;
	/*width: 0;*/
	position: absolute;
    top: 4em;
    height: 10em;
	/*bottom: 240px;
	height: 220px;*/
	background: #fff;
	left: 0;
	z-index: 1;
	transition:width 1s ease;
}
.support_box.on:after {
	width:100vw;
    margin-left: -1em;
}
.support_box > div:last-child {
	border-right: 2px solid #9396ab;
}
.overview_links {
	display: flex;
	flex-wrap: wrap;
	width: 92%;
    max-width: 1050px;
    /*width: 1000px;*/
    margin: 0 auto;
	/*margin: 0 auto 6em;*/
	justify-content: space-between;
}
.overview_links > div {
	width: 48%;
}
/*.overview_links > div:nth-child(1)::before{
	content: "";
    background: url("/assets/images/icon1.png")no-repeat left center;
    width: 3em;
    height: 2em;
    display: inline-block;
    background-size: contain;
}
.overview_links > div:nth-child(2)::before{
	content: "";
    background: url("/assets/images/icon2.png")no-repeat left center;
    width: 3em;
    height: 2em;
    display: inline-block;
    background-size: contain;
}
.overview_links > div:nth-child(3)::before{
	content: "";
    background: url("/assets/images/icon3.png")no-repeat left center;
    width: 3em;
    height: 2em;
    display: inline-block;
    background-size: contain;
}
.overview_links > div:nth-child(4)::before{
	content: "";
    background: url("/assets/images/icon4.png")no-repeat left center;
    width: 3em;
    height: 2em;
    display: inline-block;
    background-size: contain;
}*/
.overview_links > div:nth-child(1)::before,
.overview_links > div:nth-child(2)::before,
.overview_links > div:nth-child(3)::before,
.overview_links > div:nth-child(4)::before{
	content: "■";
    background: none;
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    background-size: contain;
}
/*.overview_links > div {
	width: calc(49% - 5em);
}/**↑　リンクを貼ったら消す**/

.overview_links > div {
	display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 1em 0;
    font-size: clamp(1.188rem, 0.854rem + 0.69vw, 1.375rem);
    /*display: block;
	padding-left: 5em;
	position: relative;
	padding-top: 1.25em;
	padding-bottom: 1.25em;
	font-size: 1.25em;*/
	border-bottom: 2px solid #9396ab;
	color: #122988;
}/**↑　リンクを貼ったら消す**/

.overview_links > div a {
	display: block;
	padding-left: 5em;
	position: relative;
	padding-top: 1.25em;
	padding-bottom: 1.25em;
	font-size: 1.25em;
	border-bottom: 2px solid #9396ab;
	color: #122988;
	transition:all 0.5s ease;
}
.overview_links .icon {
	position: absolute;
	left: 35px;
	top: 50%;
	transform: translate(0,-50%);
	z-index: 10;
}
.overview_links .icon img {opacity:1; transition:all 0.2s ease;}
.overview_links .icon .over {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
}
.overview_links > div a:hover {
	color: #fff;
}
.overview_links > div a:hover .icon .over {
	opacity: 1;
}
.overview_links > div a:hover .icon img {
	opacity: 0;
}

.overview_links > div a:before {
	background: #122988;
	width: 0%;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transition:width 0.5s ease;
}
.overview_links > div a:hover:before {
	width: 100%;
}
.overview_links > div a > .text {
	position: relative;
	z-index: 10;
}
.overview_links > div a:after {
	background: url("/assets/images/contact_area_vector_on.png") no-repeat;
	background-size: 100% auto;
	content: "";
	width: 0.4em;
	height:100%;
	right: 10%;
	display:block;
	position: absolute;
	top: 0;
	background-position: center;
	z-index: 10;
}
.overview_links > div a:hover:after {
	background-image: url("/assets/images/contact_area_vector.png");
}


main#index div.scroll {
	background: url("/assets/images/scroll.png") no-repeat;
	background-position: center top;
    /*padding-top: 25px;*/
    margin: 0 auto 3em;
}
main#index {
	background: #efefef;
	padding-top: 1.5em;
}



div.scroll {
	position: relative;
	height: 6em;
    /*height: 140px;*/
}



/*スクロールダウン全体の場所*/
.scrolldown_pc{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	top: 2em;
    /*top:30px;*/
	left:50%;
	height: 100%;
}

/*Scrollテキストの描写*/
.scrolldown_pc span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
    /*テキストの形状*/
	color: #122988;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown_pc:before {
    content: "";
    /*描画位置*/
    position: absolute;
    top:0;
	opacity:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	transform:translate(0,-50%);
	background:#122988;
	animation:circlemove 1.6s ease-in-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
	0%{top:-3%;opacity:0;}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{top:100%;opacity:0;}
}


/* 線の描写 */
.scrolldown_pc:after{
	content:"";
    /*描画位置*/
	position: absolute;
	left:0;
    /*線の形状*/
	width:2px;
	height: 100%;
	background:#122988;
}

section.contact_area {
	background: #122988;
	padding: 4em 0;
    /*padding: 70px;*/
}
	
section.contact_area .wrap {
	width: 94%;
    max-width: 800px;
    /*width: 800px;*/
    margin: auto;
}
section.contact_area article {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	/*padding: 5px 0;
	padding-left: 400px;
	background: url("/assets/images/contact_area.png") no-repeat;
	background-position: left center;
	font-size: 0;*/
}
section.contact_area article div {
    width: 55%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
section.contact_area article .con_img {
    width: 40%;
}
section.contact_area article .con_img img {
    width: 100%;
    max-width: 320px;
    height: auto;
    align-self: flex-start;
}
section.contact_area article .con_btn {
}
	
section.contact_area article p {
	text-align: right;
	color: white;
	font-size: 17px;
	margin-top: 15px;
	letter-spacing: 1px;
}
	
.c-btn.slide {
	display: block;
	background:url("/assets/images/contact_area_vector.png") no-repeat #122988;
	background-position: 90% center;
	color: white;
	overflow: hidden;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 25px 0;
	/*margin-left: auto;*/
	position: relative;
	z-index: 1;
    width: 100%;
    max-width: 20rem;
	/*width: 320px;*/
	border:3px solid white;
	box-sizing: border-box;
	transition: .3s;
	font-size: 18px;
}

footer .accordion-title {
  cursor: pointer;
  font-size: 16px;
  padding: 20px 40px;
}
footer .accordion-text {
	background: #dadada;
  display: none;
  padding: 20px 40px;
}
footer div.menu dl {
	display: inline-block;
	width: 330px;
	vertical-align: top;
}
footer div.menu dl dt {
	border-right:4px solid #9396ab;
	transition: 0.3s;
}
footer div.menu dl:last-of-type dt {
	border: none;
}
footer div.menu dl:first-of-type dt {
	background: url("/assets/images/foot_company.png") no-repeat;
	background-position: center;
}
footer div.menu dl:nth-of-type(2) dt {
	background: url("/assets/images/foot_service.png") no-repeat;
	background-position: center;
}
footer div.menu dl:last-of-type dt {
	background: url("/assets/images/foot_recruit.png") no-repeat;
	background-position: center;
}
footer div.menu dl:first-of-type dt.open,footer div.menu dl:first-of-type dt:hover {
	background: url("/assets/images/foot_company_on.png") no-repeat #122988;
	background-position: center;
}
footer div.menu dl:nth-of-type(2) dt.open,footer div.menu dl:nth-of-type(2) dt:hover {
	background: url("/assets/images/foot_service_on.png") no-repeat #122988;
	background-position: center;
}
footer div.menu dl:last-of-type dt.open,footer div.menu dl:last-of-type dt:hover {
	background: url("/assets/images/foot_recruit_on.png") no-repeat #122988;
	background-position: center;
}
footer div.menu dd ul {
	font-size: 17px;
}
footer div.menu dd ul li {
	margin: 15px 0;
}
footer div.menu dd ul li a:hover {
	text-decoration: underline;
}
@media screen and (min-width:769px){
		
	/*------------------------  common   ----------------------------*/
	
	#gNav .scroll,#gNav .menu_head,#gNav .menu_en {
		display: none;
	}
	#gNav {
		/*width: 1000px;*/
        width: 100%;
		margin: 0 auto;
	}
	#wrapper {
	overflow: hidden;
	}
	
	/*p {
	font-size: 16px;
	line-height: 30px;
	}*/
	
	
	.img {
	overflow: hidden;
	text-indent: 999%;
	white-space: nowrap;
	display: block;
	}
	
	.wrap {
	margin: 0 auto;
	position: relative;
	}
	
	.sp {
	display: none !important;
	}
	
	
	/*------------------------  header   ----------------------------*/
	
	header {
	background:url("/assets/images/header_icon.png") no-repeat #474745;
	background-position: 98% center;
	position: relative;
		z-index: 1;
	}
	
	
	
	header ul {
	text-align: right;
	/*padding: 20px 0 25px 0;*/
    padding: 20px 9% 25px 0;
    gap: 0 clamp(2rem, -3.333rem + 11.11vw, 5rem);
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
	}
	
	
	header ul li {
	display: inline-block;
		position: relative;
		z-index: 3;
	/*margin-left: 80px;*/
	font-size: 17px;
	letter-spacing: 0.1em;
        color:#8E8E8E;
	}
    
    header ul li:nth-child(1) {
	display: none;
	}
	
	header ul li a {
	
	}
	header ul li a {
	color:white;
	  position: relative;
	  display: inline-block;
	  text-decoration: none;
	}
	header ul li a::after {
	  position: absolute;
	  bottom: -8px;
	  left: 0;
	  content: '';
	  width: 100%;
	  height: 2px;
	  background: #fff;
	  opacity: 0;
	  visibility: hidden;
	  transition: .3s;
	}
	header ul li a:hover::after {
	  bottom: -5px;
	  opacity: 1;
	  visibility: visible;
	}
	
	
	/*------------------------  footer   ----------------------------*/
	
	
	footer .wrap {
    max-width: 1000px;
    width: 96%;
    margin: 3em auto 4em;
        /*width: 1000px;*/
	}
	
	footer div.logo {
	width: 100%;
        display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    /*width: 870px;
	margin: 80px auto;
	overflow: hidden;*/
	}
	
	footer div.logo h2 {
	margin: 0;
	width: 30%;
    /*width: 300px;*/
	display: inline-block;
	vertical-align: middle;
	/*margin-right: 90px;*/
	}
    
    footer div.logo h2 a {
    display: block;
}
    
	footer div.logo a:hover {
	transition: 0.5s;
	opacity: 0.7;
	}
	footer div.logo p {
	font-size: 20px;
	line-height: 30px;
	color: #122988;
	width: 450px;
	display: inline-block;
	vertical-align: middle;
	}
	
	footer small {
	background: #414141;
	padding: 1em 0;
    /*padding: 20px 0;*/
	color: white;
	font-size: 17px;
	text-align: center;
	display: block;
	/*margin-top: 80px;*/
	}
	
	footer div.menu {
			 font-size:0;
		}
	
	
	
	
	/*------------------------  common   ----------------------------*/
	
	
	
	.c-btn.slide::after {
	background:url("/assets/images/contact_area_vector_on.png") no-repeat #fff;
	background-position: 90% center;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
	}
	.c-btn.slide:hover {
	color: #122988;
	
	}
	.c-btn.slide:hover::after {
	transform: scale(1, 1);
	}
	
    .logo h2 a {
    display: block;
}
	
	
	
	/*------------------------  index   ----------------------------*/
	
	main#index {
	background: #efefef;
	/*padding: 25px 0;*/
        padding: 1.5em 1em 5em;
	}
	
	.video_wrapper {
	position: relative;
	background: #efefef;
	width: 100%;
	height: auto;
	overflow: hidden;
		z-index: 0;
	
	}

.video_wrapper video {
width: 100%;
height: auto;
overflow: hidden;
vertical-align: bottom;
}



}
/*---------------------------------------------------------------------------MOBILE--------------------------------------------------------------------------------*/

@media screen and (max-width:768px){
	#wrapper {
	  overflow: hidden;
	}
	
	header h1 a {
		width: 75vw;
		height: 24vw;
		padding: 0;
	}
	.pc {
		display: none;
	}
	.video_wrapper .sp {
		width: 100%;
		height: auto;
		vertical-align: top;
	}
	body {
		font-size: 2.7vw;
	}
    
    .back_text{
    content: "";
	display: block;
    background: url(/assets/images/under_text_sp.png) no-repeat bottom 0em right;
    background-size: 60%;
    width: calc(100vw - 2em);
    margin: 0;
    }
    
	/*.fv_under_text {
		padding-left: 1em;
		width: auto;
		background-image: url(/assets/images/under_text_sp.png);
		background-position: right bottom;
		background-size: 74% auto;
		background-repeat: no-repeat;
	}*/
	main#index div.scroll {
		padding-top: 1em;
		background-size: auto 1em;
		height: 4em;
        /*height: 7em;*/
	}
	.menu_head {
		/*margin-top: 60px;
		margin-bottom: 3em;*/
        text-align: center;
		margin: 4em auto 3em;
	}
	.menu_head img {
		/*height: 4.8em;*/
        width: 25%;
        min-width: 100px;
	}
	#gNav .scrolldown_pc {
		top: 0;
	}
	#gNav .scrolldown_pc:before,#gNav .scrolldown_pc:after {
		background: #fff;
	}
	#gNav .scroll {
		/*height: 6em;*/
        height: 7%;
        margin: 0 auto 3em;
	}
	#hamburger .btn-gNav{
	position: fixed;
	top: 10px;
	right: 10px;
	width: 35px;
	height: 40px;
	z-index: 30;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-transition: all 400ms;
	transition: all 400ms;
	border-radius: 5px;
	background: url("/assets/images/hmb_bk.png") no-repeat;
	background-position: center bottom;
	background-size: 90%;
	z-index:9999999;
	}
	#hamburger .btn-gNav.open {
		background: none;
	}
	
	#hamburger .btn-gNav span{
	position: absolute;
	width: 90%;
	height: 2px;
	background: #fff;
	border-radius: 10px;
	-webkit-transition: all 400ms;
	transition: all 400ms;
	}
	#hamburger .btn-gNav span:nth-child(1) {
	top:6px;
	left: 2px;
	}
	#hamburger .btn-gNav span:nth-child(2) {
	top:16px;
		left: 2px;
	}
	#hamburger .btn-gNav span:nth-child(3) {
	top:26px;
		left: 2px;
	}
	#hamburger .btn-gNav.open span:nth-child(1){
	background: white;
	top: 16px;
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
	}
	#hamburger .btn-gNav.open span:nth-child(2),#hamburger .btn-gNav.open span:nth-child(3){
	top: 16px;
	background:white;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
	}
	#gNav{
	position: fixed;
	top: 0;
	right: -100%;
	width:100%;
	/*height: 100%;*/
    height: 100dvh;
	background: #122988;
	font-size: 1em;
	box-sizing: border-box;
	/*z-index: 20;*/
	transition: .3s;
	overflow: auto;
    z-index: 999999;
	}
	#gNav.open{
	right: 0px;
	}
	#gNav ul.menu {
	padding-top: 22%;
	  background:url("/assets/images/sp_menu.png") no-repeat #31ccf5;
	background-position: center 5%;	
		background-size: 20%;
	}
	
	#gNav .gNav-menu{
	width: 100%;
	height:100%;
	display: flex;
	flex-direction: column;
	text-align: center;
	/*justify-content: center;*/
	}
	#gNav .gNav-menu li{
	display: block;
	padding : 20px 30px;
	}
	#gNav .gNav-menu li a{
	color: #ddd;
	text-decoration: none;
	}
	#gNav ul li{
		/*margin:4em auto;*/
        margin: 0 auto 1.5em;
        font-size: 1.1rem;
	}
	#gNav ul li span{
		display: block;
		text-align: center;
		color:#fff;
		/*font-size:1.5em;*/
        opacity: .3;
	}
    #gNav ul li a span {
        opacity: 1;
    }
	.menu_en img{
		height: 1.3em;
	}
	.menu_text{
		line-height: 1.5;
        /*line-height: 2.3;*/
	}
	#gNav .gNav-menu{
	display: flex;
	flex-direction: row;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	padding-left: 50px;
	}
	#gNav .gNav-menu li{
	padding-top: 5px;
	}
	
	
	
	
	
	
	/*------------------------  header   ----------------------------*/
	header {
	width: 100%;
	margin: auto;
	z-index: 10;
	background: #474745;
	height: 55px;
	}
	header div.wrapper {
	background:#c0f2ff;
	}
	header section {
	overflow: hidden;
	margin: 0 auto;
	padding: 10px 0;
	}
	
	h1 {
	display: inline-block;
	margin: 0;
	width: 31%;
	margin-left: 1%;
	margin-right: 2%;
	vertical-align: middle;
	}
	
	header a.phone {
	float: left;
	display: none;
	width: 251px;
	height: 65px;
	background: url("/assets/images/header_phone.png") no-repeat;
	margin-left: 10px;
	margin-top: 10px;
	}
	
	h1 a {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	display: block;
	background: url(/assets/images/header_logo.png) no-repeat;
	background-size: contain;
		background-position: center;
		padding: 10px 0;
	color: white;
	}
	
	header div.right {
	width: 63%;
	display: inline-block;
	overflow: hidden;
	border-radius: 10px;
	vertical-align: middle;
	}
	
	header div.right a {
	display: inline-block;
	width: 32%;
	}
	header div.right a:first-of-type {
		margin-right: 1%;
	width: 47%;
	}
	
	header div.right a img {
	display: block;
	margin: 0 auto;
	}
	
	header div.right a span {
	display: inline-block;
	padding-top: 4px;
	padding-bottom: 3px;
	}
	header div.right a:last-of-type span {
	display: inline-block;
	padding: 9px 0;
	}
    
    header ul li:nth-child(1) {
	display: block;
	}
	
    
	.support_box {
		flex-wrap: wrap;
		width: auto;
	}
	.support_box > div {
		width: 50%;
        max-width: 50%;
		border-left: none;
		padding-bottom: 3em;
        /*padding-bottom: 6em;*/
		padding-left: 0;
		padding-right: 0;
        position: relative;
	}
	.support_box > div:nth-child(2n) {
		border-left: 1px solid #9396ab;
	}
	.support_box > div:last-child {
		border-right: none;
	}
	.support_title {
		font-size: 1em;
		padding-top: 1em;
	}
	.support_box > div:nth-child(3),.support_box > div:nth-child(4) {
		padding-bottom: 0;
	}
	.support_box:after {
		content: none;
	}
	.support_box > div:after {
		content: "";
		display: block;
		width: 100%;
		height: 9.5em;
        /*height: 10.7em;*/
		background: #fff;
		position: absolute;
		top: 15%;
        /*top: 5.9em;*/
	}
    .support_box > div span {
		position: relative;
		z-index: 20;
		margin: 0;
        /*margin: 0 1rem;*/
        font-size: clamp(1rem, 0.381rem + 2.2vw, 1.438rem);
        /*16-23*/
        min-height: auto;
	}
	.support_box > div > p {
		position: relative;
		z-index: 20;
		margin: 0 1rem;
	}
    .support_image img {
        height: auto;
        margin: 0 auto 1em;
    }
	.support_text {
        font-size: clamp(0.938rem, 0.495rem + 1.57vw, 1.25rem);
        /*15-20*/
		/*font-size: 0.9em;*/
        padding-top: 1em;
		/*padding-top: 2em;*/
	}
	.overview_links {
		width: 80%;
		display: block;
		padding-bottom: 3em;
        /*padding-bottom: 6em;*/
		margin-bottom: 0;
	}
	.overview_links > div {
		width: auto;
		margin-bottom: 1.5em;
	}
	.overview_links .icon {
		left: 1.3em;
		width: 2em;
	}
	.overview_links > div a {
		padding-left: 4.5em;
	}

	/*section.contact_area .wrap {
		width: auto;
	}*/
	section.contact_area article {
		/*padding: 3.5em 0 0;
		background-position: top center;
		background-size: 100% auto;
		display: block;
		font-size: 3em;*/
	}
	/*section.contact_area {
		padding: 4em 8em;
	}*/
	.c-btn.slide {
		/*width: auto;*/
		font-size: clamp(1rem, 0.728rem + 1.09vw, 1.25rem);
        /*16-20*/
        /*font-size: 0.4em;*/
		padding: 0.9em 0;
		width: 90%;
		margin: 0 auto 1em;
        /*margin: 0 auto;*/
		/*background-size: auto 0.7em;*/
	}
	section.contact_area article p {
        font-size: clamp(0.875rem, 0.603rem + 1.09vw, 1.125rem);
        /*14-18*/
		/*font-size: 0.3em;*/
		text-align: center;
		margin: 0 auto;
        /*margin-top: 1em;*/
        width: 90%;
	}
	.logo {
		text-align: center;
		font-size: clamp(0.875rem, 0.264rem + 2.45vw, 1.438rem);
        /*font-size: 1.3em;*/
		line-height: 1.5;
		color: #122988;
	}
	.logo h2 {
		width: 38%;
		margin: 0 auto;
		padding: 2em 0 1.5em;
	}
	footer {
		background: #efefef;
	}
	
	footer .accordion-title {
		text-indent: 9999em;
	}
	footer div.menu dl dt {
		border: none;
	}
	footer div.menu dl {
		display: block;
		width: 100%;
		margin-bottom: 1em;
	}
	
	footer div.menu dl:nth-child(2),
	footer div.menu dl:nth-child(3) {
		width:48%;
	}
	footer div.menu dl:first-of-type dt,
	footer div.menu dl:first-of-type dt:hover,
	footer div.menu dl:first-of-type dt.open {
		background-image: url("/assets/images/foot_company_on.png");
		background-color: #122988;
		background-size:auto 1.5em;
	}
	footer div.menu dl:nth-child(2) dt,
	footer div.menu dl:nth-child(2) dt:hover,
	footer div.menu dl:nth-child(2) dt.open{
		background-image: url("/assets/images/foot_service_on.png");
		background-color: #122988;
		background-size:auto 1.5em;
	}
	footer div.menu dl:nth-child(3) dt,
	footer div.menu dl:nth-child(3) dt:hover,
	footer div.menu dl:nth-child(3) dt.open{
		background-image: url("/assets/images/foot_recruit_on.png");
		background-color: #122988;
		background-size:auto 1.5em;
	}
	
	.menu {
		display: flex;
		flex-wrap: wrap;
		width: 80%;
		justify-content: space-between;
		margin: 4em auto;
	}

	footer .accordion-text {
		padding:1em 0;
		text-align: center;
	}
	footer div.menu dd ul li{margin:0;}
	footer dl .accordion-text ul li{
		margin: 0;
		padding:0.7em 0;
	}
	footer dl:first-child .accordion-text ul {
		display: flex;
		flex-wrap: wrap;
	}
	footer dl:first-child .accordion-text ul li {
		width: 50%;
		border-right: 2px solid #9396ab;
		box-sizing: border-box;
	}
	footer dl:first-child .accordion-text ul li:nth-child(2n){border: none;}
	footer div.menu dd ul {
		font-size: 0.9em;
	}
	small {
		background: #414141;
		display: block;
		width: 100%;
		color: #fff;
		text-align: center;
		padding: 1em 0;
	}
	.fv_under_text:after {
		content: none;
	}

	.sec_title {
		/*margin-top: 7em;*/
	}
    
    .fv_under_text {
    font-size: clamp(1.25rem, 0.366rem + 3.14vw, 1.875rem);
        /*20-30*/
    line-height: clamp(3rem, 0.17rem + 10.06vw, 5rem);
        /*3rem-5rem*/
    width: 90%;
}
    .overview_links > div {
    font-size: clamp(1.063rem, 0.791rem + 1.09vw, 1.313rem);
    }
    section.contact_area {
    padding: 4em 0 2em;
    }
    section.contact_area article div {
    width: 100%;
    margin: 0 auto 2em;
    }
    
    section.contact_area article .con_img {
    width: 100%;
    }
    section.contact_area article .con_img img {
    width: 60%;
}
.logo p {
    margin: 0 auto 1em;
    font-size: clamp(0.875rem, 0.399rem + 1.9vw, 1.313rem);
    /*14-21*/
}
}