@charset "UTF-8";
/* CSS Document */




.aboutus-h2{background-color: #004CA0;
color: #FFFFFF;
padding: 20px;}

.aboutus-h2 p{text-align: center;
	font-size: 1.8rem;
	line-height: 1.6;
font-weight: 400;
	margin-top: 25px;
}


.aboutus-h2 p span{color: #fcee21;
}

.aboutus-h2 h2{
	margin-bottom: 0;
}




.media h3 {color: #222;
font-size: 2.4rem;
font-weight: 500;
margin-bottom: 35px;}


.media h3 span{font-weight: 200;
font-size: 0.8em;}

.media {
  display: flex;
  gap: 20px;
	align-items: flex-end;
	padding: 45px 0;
}

.media img {
  width: 35%;
  height: auto;
}

.media img.photo {
  width: 20%;
  height: auto;
}


.media p{
line-height: 1.8;
  letter-spacing: 0.06em;

}



.onlyone{background-color: #004CA0;
	padding: 85px 0;
}
.onlyone .wrapper{background-color: #f3f7fb;
	padding: 55px 0;
}

.onlyone h3{color: #222;
	font-size: 3.6rem;
font-weight: 500;
	text-align: center;
	margin-bottom: 10px;
  transition: transform 0.3s ease;

}



.onlyone h3:hover {
  transform: translateY(-6px);
}

.onlyone .lead {	text-align: center;
		font-size: 1.6rem;
	font-weight: bold;
	margin-top: 35px;
}
.onlyone p {line-height: 2;
font-size: 1.2em;}

.onlyone .first {width: 80%;
	display: flex;
align-items: flex-end;
margin: 0 auto;}


.onlyone .first img {width: 45%;}
.onlyone .first p {width: 55%;}


.second {width: 80%;
margin: 0 auto;}

.onlyone .second img {margin: 0 auto;}




/*仕事を知る*/

.job {display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
width: 100%;}

.job li{width: 48%; 
	border: 3px solid #1061ad;border-radius: 25px;
/*	padding: 15px;*/
	background-color: #FFF;
margin-bottom: 45px;}


.job li h3{	
	font-size: 2.4rem;
	display: inline-block;
	background-color: #1061ad; 
	color: #FFF;
	letter-spacing: 0.2em;
	font-weight: 400;
	padding: 8px 35px 8px 10px;
	margin: 35px 0 15px 0;
border-radius: 0 999px 999px 0;}		


.job li img{display: block;
width: 90%;
	margin: 0 auto;
}



.job li p.catch{color: #1061ad;
font-size: 1.6rem;
padding-left: 10px;
font-weight: 400;
margin-bottom: 0;
}

.job li p.text{
padding: 10px;
font-weight: 300;
	letter-spacing: 0.1em;
line-height: 1.4;}


/*フェイドイン*/

.fade-up {
  opacity: 0;
  transform: translateY(18px);
  transition: 
    opacity 1.5s ease-out,
    transform 1.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.fade-up.show {
   opacity: 0.95; /* 1ではなく少し抑える */
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.4s; }
.delay-3 { transition-delay: 0.6s; }
.delay-5 { transition-delay: 0.8s; }
.delay-6 { transition-delay: 1.0s; }
.delay-7 { transition-delay: 1.2s; }
.delay-8 { transition-delay: 1.4s; }
.delay-9 { transition-delay: 1.6s; }
.delay-10 { transition-delay: 1.8s; }

/*.image {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.image.show {
  opacity: 1;
  transform: translateY(0);
}
*/
.interviewBtn{text-align: center;
margin: 20px 0;}

.interviewBtn a{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  background-color: #1061ad;
  color: #fff;
  padding: 20px 45px;
  border-radius: 999px;
  text-decoration: none;
text-align: center;
 transition-duration: .4s;
}

.interviewBtn a::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url("../job/images/mic-icon.png") no-repeat center / contain;
}

.interviewBtn a:hover {
  transform: scale(1.1);
}
 

/*数字で知る*/

.aboutus-number {
	margin-top: 45px;
	display: flex;
width: 70%;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
 }

.aboutus-number dt{width: 50%;
	margin-bottom: 120px;
 }

.aboutus-number dt img{width: 100%;
 }

.aboutus-number dd img{width: 100%;
 }

.aboutus-number dd{width: 49%;
		margin-bottom: 120px;
 }

/* about USリンク*/

.aboutus{background-image: url("../../images/topbg01.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
height: 600px;
padding: 30px 0}

.aboutus ul{display: flex;
width: 60%;
	margin: 0 auto;
justify-content: space-around;
}


.aboutus ul li a {	
    background: #fff;
	border: #313131 solid 2px;
    margin: 0 auto;
    max-width: 160px;
    padding: 20px 25px;
    line-height: 1.8;
    text-decoration: none;
    color: #313131;
    transition: 0.3s ease-in-out;
	font-size: 1.2rem;
}
.aboutus ul li a:before {
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 12px;
    color: #333;
    transition: 0.3s ease-in-out;
}
.aboutus ul li a:hover {
    background: #313131;
    color: #FFF;
}
.aboutus ul li a:hover:before {
    color: #fff;
}

a.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;

}

a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #000;
	margin: 45px 0; 
	display: block;
}

a.btn-flat span {
  position: relative;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-96%);
  transform: translateX(-96%);
  background: #004CA0;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

/*CAREER*/

.career-mv h1 {
  margin-top: 0!important;
}
.career-mv {
  /* 横幅を画面いっぱいに */
  width: 100%;

  /* アスペクト比を指定（横 / 縦） */
  aspect-ratio: 10 / 3;

  /* 背景画像の設定 */
  background-image: url('../images/career_mv.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  /* --- ここから追加 --- */
  display: flex;
  align-items: center;     /* 縦方向の中央 */
  justify-content: center;  /* 横方向の中央 */
  text-align: center;       /* 文字自体のセンター寄せ */
	margin-top: 0!important;
}


.career-mv h1{display: none;

}

.career{/*background-color: #000000;*/
	background: linear-gradient(to bottom, #091b42 45%, #2870bf 100%);
	color: #ffffff;
overflow: hidden;
padding-bottom: 45px;}

.career p {margin: 45px 0;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.4;


	
 }

.career dl {display: flex;
width: 100%;
	flex-wrap: wrap;
	margin-bottom: 60px;

 }

.career dl dt{width: 30%;

	padding: 5px 0 0;


/*border-bottom: 1px solid #FFFFFF;
	border-left: 1px solid #FFFFFF;
	border-top: 1px solid #FFFFFF;*/
	display: flex;
	align-items: center;
	
 }
.career dl dt p{margin: 0 0 0 10px;
		font-size: 1.2rem;
	font-weight: bold;
	text-align: left;
	
	
 }


.career dl dt span{font-weight: normal;
	display: inline;
	
font-size: 1.0rem;
 }

.career dl dt img{width: 15%;
 }


.career dl dd{width: 70%;
	padding: 5px 0 0;
		line-height: 1.6;
;
/*	  background-color: rgba(255,255,255,0.9);*/
/*border-bottom: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
	border-top: 1px solid #FFFFFF;*/
	display: flex;
	align-items: center;
 }
.career dl dd.yajirusi,
.career dl dt.yajirusi{
border: none;
}

.career dl dt.yajirusi img{width: 10%;

margin: 0 auto;}


.careerPR {display: flex;
width: 100%;
	flex-wrap: wrap;
justify-content: space-between;}

.careerPR li{width: 49%;
border: solid #FFFFFF 1px;
margin-bottom: 15px;
padding: 15px;
text-align: center;
font-size: 1.6rem;}

.careerPR li img{display: block;
width: 10%;
margin: 0 auto 5px;}


/*VISION*/



.vison-mv h1 {
  margin-top: 0!important;
}
.vison-mv {
  /* 横幅を画面いっぱいに */
  width: 100%;

  /* アスペクト比を指定（横 / 縦） */
  aspect-ratio: 10 / 3;

  /* 背景画像の設定 */
  background-image: url('../images/vision_mv.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  /* --- ここから追加 --- */
  display: flex;
  align-items: center;     /* 縦方向の中央 */
  justify-content: center;  /* 横方向の中央 */
  text-align: center;       /* 文字自体のセンター寄せ */
	margin-top: 0!important;
}

.vison-mv h1{display: none;

}

/*VISION、  careerのテキスト載せバージョン試し*/
.vison-mv-bg {
  position: relative;
  width: 100%;
  aspect-ratio: 10 / 3;
  background-image: url('../images/vision_mv_bg.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;     /* 縦方向の中央 */
  justify-content: center;  /* 横方向の中央 */
  text-align: center;       /* 文字自体のセンター寄せ */
	margin-top: 0!important;
}

.career-mv-bg {
  position: relative;
  width: 100%;
  aspect-ratio: 10 / 3;
  background-image: url('../images/career_mv_bg.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;     /* 縦方向の中央 */
  justify-content: center;  /* 横方向の中央 */
  text-align: center;       /* 文字自体のセンター寄せ */
	margin-top: 0!important;
}
.mv-copy h1{
	color: #333;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 0;
	width: 100%;
  transform: translateY(-50%);text-align: center;
	font-size: 5rem;
}
.mv-copy h1 span{
display: block;
	  font-size: 1.4rem; 
  margin-top: 10px;  
	font-weight: 300;
}

.mv-copy h1 span.bg{
	display: inline-block;padding: 5px;
 background:rgba(255,255,255,0.4);
	line-height: 1.4;
}

/*ここまで*/


.visionText {
	padding: 0 0 60px 0;

	line-height: 1.8;
	font-size: 1.2rem;
}

.visionText h2{padding-top: 0;
margin: 0 0 30px 0;}
.vision {background-color: #f3f7fb;
padding-top: 0;}

/*vision修正版
*/
.vision-new .wrapper .pagetitle h1,.vision-new .wrapper .pagetitle h1 span, #career .pagetitle h1, #career .pagetitle h1 span {color: #ffffff;

}


.vision-new {
	  /* 背景画像の設定 */
  background-image: url('../images/vision_bg.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
	background-color: #000000;
padding-top: 0;overflow: hidden;
color: #FFFFFF;}


ul.visionPR{display: flex;
width: 100%;
	flex-wrap: wrap;
justify-content: space-between;
margin-top: 25px;}

ul.visionPR li{width: 32%;
border:  #100CEC solid 3px;
padding: 15px;}

ul.visionPR li h2{font-size: 1.4rem;
margin: 0 0 5px 0;
padding: 0;}

.visionDATA {display: flex;
width: 100%;
justify-content: space-between;
margin-top: 35px;}

.visionDATA .leftDATA{width: 60%;}

.visionDATA .leftDATA h2{text-align: left;
font-size: 2.4rem;
padding-top: 0;}

.visionDATA .leftDATA h2 span{	font-size: 1.4rem;
	background-color: #100CEC;
	display: inline-block;
	padding: 5px;

}
.visionDATA .leftDATA span img{width: 25px;
	margin-right: 5px;
}

.visionDATA .leftDATA h2 em{
color: #FF0000;}
.visionDATA .leftDATA p.green{background-color: darkgreen;
padding: 15px;
border-radius: 8px;}


.visionDATA .rightDATA{width: 39%;
background-color: #100CEC;
border-radius: 12px;
	display: flex;
	align-items: center;}


.visionDATA .rightDATA dl{width: 100%;

}
.visionDATA .rightDATA dt{font-size: 3.6rem;
font-weight: bold;
text-align: center;

}

.visionDATA .rightDATA dt.mT35{margin-top: 25px;

}

.visionDATA .rightDATA dd{text-align: center;}
.wrapper .visionDATA .rightDATA dd h2{margin: 0!important;
	padding: 0;
font-size: 1.4rem;}

ul.visinPhoto {display: flex;
width: 100%;
justify-content: space-between;
margin-top: 45px;}

.visinPhoto li{
	width: 50%;
}

.visinPhoto li dl{
	display: flex;
	width: 100%;
}



.visinPhoto li dl dt{
	width: 35%;


}

.visinPhoto li dt img{
	width: 100%;
}


.visinPhoto li dd{
	width: 65%;
	padding: 10px;

}
.visinPhoto li dd h2{
	text-align: left;
font-size: 1.4rem;
	margin: 0 0 10px 0;
	padding: 0;
}

.vision-new p.lasttext{margin-top: 30px;
text-align: right;
margin-bottom: 65px;}

/*スマホ対応*/

@media screen and (max-width: 959px) {
	.media {
display: block;
			padding: 15px 0;
}
	
	.media h3 {
font-size: 2.0rem;

margin-bottom: 15px;}
	
.media img {
  width: 60%;

}

.media img.photo {
  width: 35%;

}
	
	.onlyone{background-color: #FFFFFF;

}
	.onlyone h3{
	font-size: 2.6rem;
}
	.onlyone .lead {	
		font-size: 1.2rem;

	margin-top: 15px;
}

	
	.onlyone .first {display: block;}
	
	
	.onlyone .first img {width: 100%;}
.onlyone .first p {width: 100%;}
	
	.onlyone .second img {width: 100%;}
	
	.aboutus ul{display: block;
}
	
	.visionText {
	padding: 0 15px;

}
	
		.aboutus ul li{	
margin-bottom: 20px;
}
			.aboutus ul li a{	
				display: block;
				max-width: 350px;
}
	
	a.btn {
		font-size: 1.2rem;
		}
	a.btn-flat {
  padding: 1.5rem;

}
	.aboutus .wrapper{padding-bottom: 60px;
}

	.aboutus{
height: auto;
}
	.aboutus-h2 p{
	font-size: 1.4rem;

}
	
	.job {display: block;}
.job li{width: 100%; }
.aboutus-number dt{
	margin-bottom: 30px;
 }
	.aboutus-number dd{
	margin-bottom: 30px;
 }

	.career dl {display: block;
 }
	
		.career dl dt,.career dl dd{width: 100%;
 }
	
	.careerPR {display: block;}
	.careerPR li{width: 100%;}
ul.visionPR {display: block;}
	
ul.visionPR li{width: 100%;
	margin-bottom: 20px;}
	
	.visionDATA {display: block;
}

.visionDATA .leftDATA{width: 100%;}
	.visionDATA .rightDATA{width: 100%;
	padding: 20px;}
	
	ul.visinPhoto {display: block;
}

.visinPhoto li{
	width: 100%;
}

.visinPhoto li dl{
	display: block;

}
	.visinPhoto li dl dt,.visinPhoto li dl dd{
width: 100%;

}
	.vision-new p.lasttext{
text-align: left;}
	
	}

