@charset "UTF-8";
body{
	margin:0;
	padding:0;
	font-family:'Noto Sans JP', sans-serif;
	background-color:#F2F2F2;
	font-feature-settings: "palt" 1, "trad" 1;
}

a{
	 text-decoration: none;
	 transition: .3s;
}

img{
	vertical-align: top;
	width:100%;
}

h1,h2,h3,h4,h5,h6,p{
	margin:0;
}

@media all and (min-width: 1000px) {
.sp{
	display:none;
}	
	
/*headerはここから*/
header{
	width: 100%;
	height: 5rem;
	transition: .3s;
	position:relative;
	position: absolute;
	top:0;
	overflow: hidden;
	z-index: 9999;
}

.is-animation {
   position:fixed;
}

.logo{
  overflow: hidden;
  width:226px;
  display: inline-block;
	float:left;
	transition: .3s;
  position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left:5%;
	}

.logo img{
	width:100%;
}

.menu{
	list-style: none;
	padding-inline-start:0px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width:245px;
	position:absolute;
	top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	margin:0;
}

ul{
	list-style: none;
	padding-inline-start:0px;
	float:right;
	display: flex;
  	flex-direction: row;
	flex-wrap: wrap;
  	justify-content: flex-end;
	width:100%;
}

.menu li {
	 font-size:14px;
	 margin:0 0 0 0;
	 font-weight: 500;
	 transition: .3s;
	 letter-spacing: 1px;
}

li a{
	 color: #302D2C;
}

.is-animation li a{
	color: #302D2C;
}

.white-btn a{
	background-color: white;
	padding:10px 22px;
	border:1px solid #D6D6D6;
}

.white-btn:hover{
	opacity: 1 !important;
}

.white-btn a:hover{
	background-color: #D6D6D6;
	color:white;
}

/*共通はここから*/
.main-txt{
	font-size:14px;
	letter-spacing:0.02em;
	line-height: 1.8;
	margin:0;
}

.main-txt-sub{
	font-size:13px;
	letter-spacing:0.01em;
	line-height: 1.8;
	margin:0;
}

.common-width{
	max-width:1180px;
	width:90%;
	margin:0 auto;
}

.green{
	color:#5C7E40;
}

/* メインはここから */
.top{
	padding:280px 0 0 0;
}

.top-title-group{
	max-width:1360px;
	width:90%;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
}

.top-title-main{
	position: relative;
}

.top-title-main h2{
	font-size:75px;
	font-family: "Lato", sans-serif;
	text-transform: uppercase;
	font-weight:500;
	line-height: 1;
	letter-spacing: 0.02em;
}

.top-title-main h1{
	font-weight:400;
	font-size:29px;
	padding-left:5px;
	margin-bottom:15px;
	letter-spacing: 0.06em;
}

.top-title-main h4{
	font-size:14px;
	text-align: right;
	font-weight: 400;
	position: absolute;
	right:0;
	bottom:80px;
	letter-spacing: 0.01em;
	line-height: 1.65;
}

.top-title-main h3{
	font-size:21px;
	color: #5C7E40;
	text-align: right;
	font-weight: 400;
	position: absolute;
	right:0;
	bottom:4px;
	letter-spacing: 0.06em;
}

.top-title-sub{
	border-top:solid 1px #DBDBDB;
	width:157px;
	padding:0 0 0 0;
	position: relative;
}

.top-title-sub-position{
	position: absolute;
	bottom:4px;
	right:0;
}

.recruitment{
	font-size:16px;
	text-align: right;
	font-weight: 400;
}

.period{
	font-size:20px;
	text-align: right;
	font-weight: 400;
	font-family: "Roboto", sans-serif;
	margin:24px 0 0 0;
}

.top-img{
	/* transform: translateY(-40px); */
	z-index:-2;
	position: relative;
	margin:30px 0 0 0;
}

.common-title-main{
	font-family: "Lato", sans-serif;
	font-size:42px;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.1;
}

.common-title-main-p{
	font-size:30px;
	font-weight: 400;
}

.what-dx{
	margin:150px 0 0 0;
}

.what-dx-1{
	position: relative;
}

.wd-flex{
	display:flex;
	margin:30px 0 0 0;
}

.wd-flex h1{
	margin:0 38px 0 0;
}

.wd-flex p{
	width:335px;
	margin:5px 0 0 0;
}

.what-gradation{
	width:605px;
	position: absolute;
	top:0;
	right:0;
	z-index:-1;
}

.what-gradation img{
	height:320px;
	object-fit: cover;
}

.what-dx-2{
	display:flex;
	justify-content: space-between;
	margin-top:150px;
}

.what-dx-2-img{
	width:56%;
}

.what-dx-2-txt{
	width:40%;
}

.what-dx-2 h1{
	margin:20px 0;
}

.target{
	margin:150px 0 0 0;
}

.target-content{
	width:98%;
	margin:0 auto;
	position: relative;
}

.target-content img{
	height:670px;
	object-fit: cover;
	/* filter: brightness(0.7); */
}

.target-txt{
	position: absolute;
	left:47px;
	bottom:49px;
	color:white;
}

.common-title-sub-en{
	font-family: "Lato", sans-serif;
	font-size:25px;
	font-weight: 400;
	text-transform: uppercase;
}

.common-title-sub-jp{
	font-size:18px;
	font-weight: 400;
	margin:2px 0 0 0;
}

.target-txt p{
	width:380px;
	margin:20px 0 0 0;
}

.skill{
	margin-top:150px;
}

.skills-content{
	display:grid;
	grid-template-columns:repeat(2, 2fr);
	grid-column-gap:130px;
	grid-row-gap:48px;
	margin-top:40px
}

.skills-content-detail{
	display:flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	border-top:1px solid #E0E0E0;
	padding:28px 0 0 0;
}

.skills-content-detail-img{
	width:105px;
}

.skills-content-detail-txt{
	width:385px;
}

.skills-content-detail-txt h4{
	font-weight:400;
	font-size:18px;
	margin:0 0 18px 0;
	position: relative;
	padding:0 0 0 28px;
}

.skills-content-detail-txt h4::before{
	content:"";
	width:11px;
	height:11px;
	border-radius: 50%;
	background: #5C7E40;
	display:block;
	position: absolute;
	top:9px;
	left:0;
}

.overview{
	margin:150px auto 0 auto;
	padding:110px 0;
	background-color: white;
	width:98%;
}

.overview h2{
	text-align: center;
}

.overview h3{
	text-align: center;
}

.overview-content{
	width:750px;
	margin:80px auto 0 auto;
}

.overview-content-list{
	display:flex;
	color:#5C7E40;
	padding:0 0 29px 0;
	margin:0 0 29px 0;
	border-bottom:solid 1px #EBEBEB;
	font-size:20px;
}

.overview-content-list:last-child{
	border-bottom:none;
	padding:0;
	margin:0;
}

.overview-content-list p:nth-child(1){
	width:30%;
}

.overview-content-list p:nth-child(2){
	width:70%;
}

.o-btb{
	width:750px;
	margin:85px auto 0;
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:20px;
}

.o-btb a:nth-child(1){
	display: block;
	background-color: #E6E6E6;
	border: solid 1px #E6E6E6;
	color:black;
	text-align: center;
	padding:20px 0;
	border-radius: 2px;
	transition: .3s;
}

.o-btb a:nth-child(1):hover{
	background-color: #302D2C;
	color:white;
}

.o-btb a:nth-child(2){
	display: block;
	background-color: #5C7E40;
	border: solid 1px #5C7E40;
	color:white;
	text-align: center;
	padding:20px 0;
	border-radius: 2px;
	transition: .3s;
}

.o-btb a:nth-child(2):hover{
	background-color:white;
	border: solid 1px #5C7E40;
	color:#5C7E40;
}

.flow{
	margin-top:150px;
}

.flow-p{
	width:580px;
	margin:20px 0 0 0;
}

.flow-group{
	margin:80px 0 0 0;
	display:grid;
	grid-template-columns:repeat(1, 4fr);
	gap:82px;
}

.flow-group-detail{
	display:flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.flow-group-detail-img{
	width:40%;
}

.flow-group-detail-txt{
	width:50%;
	border-bottom:1px solid #DBDBDB;
}

.flow-day{
	color: #5C7E40;
	font-size:71px;
	font-weight:300;
	font-family: "Lato", sans-serif;
}

.flow-title{
	font-size:28px;
	font-weight:400;
	margin:20px 0 0 0;
}

.flow-d-box{
	display:flex;
	margin:34px 0 0 0;
}

.flow-txt{
	width:430px;
	margin:0 0 0 39px;
}

.apply{
	width:98%;
	margin:150px auto;
	background-image: url("image/gradation.png");
	background-size: cover;
	background-repeat:no-repeat;
	padding:92px 0 120px 0;
}

.apply-content{
	display:grid;
	grid-template-columns:repeat(2, 2fr);
	grid-column-gap:130px;
	grid-row-gap:48px;
	margin:52px 0 0 0;
}

.apply-content-detail{
	border-bottom: solid 1px white;
	padding:0 0 30px 0;
}

.apply-content-detail p:nth-child(1){
	font-family: "Lato", sans-serif;
	font-size:18px;
}

.apply-content-detail p:nth-child(2){
	font-size:22px;
	margin:7px 0 20px 0;
}

.arrow-btn{
	display:flex;
	align-items: center;
	justify-content: center;
	margin:93px 0 0 0;
	padding:43px 0;
	background-color: white;
	transition: .3s;
}

.arrow-btn:hover{
	border-radius: 40px;
}

.arrow-btn span:nth-child(1){
	font-size:40px;
	color:#5C7E40;
	margin:0 40px 0 0;
}

.arrow-btn span:nth-child(2){
	width:65px;
}

.faq{
	width:750px;
	margin:150px auto;
}

.faq h2{
	text-align: center;
}

.faq h3{
	text-align: center;
}

.faq-content{
	margin:77px 0 0 0;
}

.acd-check{
    display: none;
}

.acd-label{
    display: block;
    margin-bottom: 1px;
    position: relative;
	border-bottom:1px solid #EBEBEB;
	padding:0 0 23px 0;
	margin:33px 0 0 0;
	font-size:18px;
}

.acd-label:after{
    background: ;
    box-sizing: border-box;
    content: '+';
    display: block;
    font-size:25px;
	font-weight:100;
    position: absolute;
    right: 0;
    top: 0px;
}

.acd-content{
    display: block;
    height: 0;
    opacity: 0;
    transition: .3s;
    visibility: hidden;
}

.acd-content p{
	padding:20px 0 0 0;
}

.acd-check:checked + .acd-label:after{
    content: '-';
}

.acd-check:checked + .acd-label + .no-1{
    height: 80px;
    opacity: 1;
    visibility: visible;
	padding:0;
}

.acd-check:checked + .acd-label + .no-2{
    height: 80px;
    opacity: 1;
    visibility: visible;
	padding:0;
}

.expert-list{
	margin:60px 0 0 0;
}

.expert-list-detail{
	display:flex;
	justify-content: space-between;
	margin-bottom:65px;
}

.expert-list-detail:nth-last-child(1){
	margin-bottom:0;
}

.expert-list-detail-img{
	width:38%;
}

.expert-list-detail-txt{
	width:52%;
}

.expert-list-detail-txt p:nth-child(1){
	font-size:14px;
}

.expert-list-detail-txt h4{
	font-size:30px;
	margin:10px 0 20px 0;
	font-weight:400;
}

.company{
	width:750px;
	margin:150px auto 0 auto;
}

.company-list{
	margin-top:60px;
}

.company-list-detail{
	display:flex;
	justify-content: space-between;
	padding:0 0 30px 0;
	margin:0 0 30px 0;
	border-bottom: 1px solid #DBDBDB;
	font-size:15px;
}

.company-list-detail:nth-last-child(1){
	border-bottom:none;
	padding:0;
	margin:0;
}

.company-list-detail p:nth-child(1){
	width:30%;
}

.company-list-detail p:nth-child(2){
	width:65%;
}

footer{
	margin:220px auto 0 auto;
	width:98%;
	border-top:1px solid #AEAEAE;
	padding:65px 0 20px 0;text-align: center;
}

.f-logo{
	margin:0 0 20px 0;
}

.f-logo img{
	width:205px;
}

small{
	font-size:11px;
}

/* -----form-content */
.form-content{
	width:1000px;
	margin:0 auto;
	padding:120px 0 0 0;
}

}