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



/* contents-top */

.contents-top {
	width: 100%;
}

.contents-top img {
	width: 100%;
height: auto;
}



/* title_contents-top */

.title_contents-top {
	display: flex;
  justify-content: flex-start;
flex-wrap: wrap;
	align-items: flex-end;
	position: relative;
	padding-top: 25px;
	gap:0px 20px;
}

.title_contents-top::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
color: #50A0FE;
line-height: 0.8;
font-weight: 500;
	font-style: italic;
}

#contents02 .title_contents-top::before {
	content: "01";
}

#contents03 .title_contents-top::before {
	content: "02";
}

#contents04 .title_contents-top::before {
	content: "03";
}

#contents05 .title_contents-top::before {
	content: "04";
}

.title_contents-top::after {
	content: "";
	position: absolute;
left: 30px;
top: 6px;
	width: 55px;
	height: 1px;
	background-color: #50A0FE;
	display: block;
}

.title_contents-top h2, .title_contents-top h3 {
line-height: 1.2;
font-weight: 500;
}

.title_contents-top h2 {
	font-family: "Montserrat", sans-serif;
	font-size: 80px;
color: #50A0FE;
	line-height: 0.8;
	font-style: italic;
}

.title_contents-top h3 {
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.05em;
}


/* main-img-top */

.main-img-top {
  width: 100%;
	position: relative;
}

.main-img-top .box-inner {
  width: 100%;
	height: 200vh;
	position: absolute;
left: 0px;
top: 0px;
	clip: rect(auto, auto, auto, auto);
	-webkit-clip: rect(auto, auto, auto, auto);
}

.main-img-top .slider-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100vw;
	max-width: 100%;
  height: 100vh;
	background-image: url("../../images/top/back-mainimg.png");
background-position: center;
background-repeat: no-repeat;
	background-size: cover;
}

.main-img-top .main-slider {
  position: relative;
}

.main-img-top .sp-view {
  display: none;
}

.main-img-top .frame-slider {
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/frame-slide.png");
background-position: left top;
background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
}

.main-img-top .main-slider img {
  width: 100%;
height: 100vh;
}

.main-img-top .box-text {
  width: 100%;
	height: 100vh;
	display: flex;
  justify-content: flex-start;
	align-items: flex-end;
	text-align: left;
}

.main-img-top .box-text h2 {
	padding-left: 5%;
	padding-bottom: 15vh;
}

.main-img-top .box-text h2 img {
	width: 55vw;
}


/* container */

.container {
	width: 100%;
	padding-top: 200vh;
}


/* contents01 */

.contents01 {
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: flex-end;
flex-wrap: wrap;
}

.contents01 .box-inner::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	display: block;
	width: 100%;
	height: 30vh;
	margin-top: -30vh;
	 background : -moz-linear-gradient(50% 0% -90deg,rgba(247, 251, 255, 0) 0%,rgba(247, 251, 255, 1) 100%);
  background : -webkit-linear-gradient(-90deg, rgba(247, 251, 255, 0) 0%, rgba(247, 251, 255, 1) 100%);
  background : -webkit-gradient(linear,50% 0% ,50% 98.1% ,color-stop(0,rgba(247, 251, 255, 0) ),color-stop(1,rgba(247, 251, 255, 1) ));
  background : -o-linear-gradient(-90deg, rgba(247, 251, 255, 0) 0%, rgba(247, 251, 255, 1) 100%);
  background : -ms-linear-gradient(-90deg, rgba(247, 251, 255, 0) 0%, rgba(247, 251, 255, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F7FBFF', endColorstr='#F7FBFF' ,GradientType=0)";
  background : linear-gradient(180deg, rgba(247, 251, 255, 0) 0%, rgba(247, 251, 255, 1) 100%);
}

.contents01 .box-inner {
	width: 100%;
	height: 70vh;
	text-align: center;
	position: relative;
	background-color: #F7FBFF;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.contents01 p {
color: #50A0FE;
line-height: 2.5;
font-weight: 500;
	position: relative;
}


/* contents02 */

.contents02 {
	width: 100%;
	position: relative;
	padding-bottom: 140px;
}

.contents02::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/back-line01.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100vh;
	margin-top: -15vh;
}

.contents02 .box-inner {
	width: 100%;
	position: relative;
}

.contents02 .title_contents-top {
	margin-bottom: 50px;
}

.contents02-slider {
	width: 100%;
}

.contents02-slider .box {
	padding: 10px 20px;
}

.contents02-slider .box-inner {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	align-items: center;
	padding: 40px 50px;
	background-color: #FFF;
	border-radius: 20px;
	box-shadow: 0px 0px 10px rgba(80,160,254,0.15);
}

.contents02 .box-text {
	flex: 1;
	padding: 0px 20px;
}

.contents02 .box-img {
	width: 50%;
	max-width: 500px;
}

.contents02 .box-link {
	text-align: center;
	padding-top: 30px;
}

.contents02 h4 {
	font-size: 32px;
color: #50A0FE;
line-height: 1.4;
font-weight: 500;
	margin-bottom: 30px;
}

/* contents03 */

.contents03 {
	width: 100%;
	background-color: #EDF6FF;
	padding: 160px 0px 140px;
	position: relative;
	background-image: url("../../images/top/icon01.svg");
background-position: left bottom;
background-repeat: no-repeat;
}

.contents03::before {
	content: "";
	position: absolute;
right: 0px;
top: 0px;
	background-image: url("../../images/top/back-line02.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 802px;
	height: 176px;
	margin-top: -68px;
}

.contents03 .box-title {
	width: 100%;
	background-color: #FFF;
	text-align: center;
	padding: 20px;
	border-radius: 20px;
	box-shadow: 0px 0px 10px rgba(80,160,254,0.15);
}

.contents03 .box-title h3 {
	font-size: 32px;
color: #50A0FE;
line-height: 1.4;
font-weight: 500;
	letter-spacing: 0.05em;
}

.contents03 .lay01 {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	align-items: flex-end;
	margin-bottom: 100px;
}

.contents03 .lay02 {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	padding: 60px 0px 80px;
}

.contents03 .lay02 .box {
	width: 250px;
	text-align: center;
}

.contents03 .lay02 .box img {
	width: auto;
}

.contents03 .lay02 h4 {
	font-size: 22px;
color: #FFF;
line-height: 1.2;
font-weight: 400;
	position: relative;
	padding: 15px 0px;
	border-radius: 60px;
	margin-bottom: 40px;
	background-color: #3379CB;
}

.contents03 .lay02 h4::after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(51, 121, 203, 0);
	border-top-color: #3379CB;
	border-width: 8px;
	margin-left: -8px;
}

.contents03 .lay02 h5 {
	width: 100%;
	height: 240px;
	display: flex;
  justify-content: center;
align-items: flex-end;
flex-wrap: wrap;
}


.contents03 .lay03 {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.contents03 .lay03 .box {
	width: 48.5%;
	position: relative;
}

.contents03 .lay03 .box a::after, .contents03 .lay03 .box::after {
	content: "";
	position: absolute;
right: 35px;
bottom: 35px;
background-position: center;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	transition: .5s;
	z-index: 1;
}

.contents03 .lay03 .box a::after {
	background-image: url("../../images/common/link-arrow03.svg");
}

.contents03 .lay03 .box::after {
	background-image: url("../../images/common/link-arrow02.svg");
}

.contents03 .lay03 .box:hover::after {
	opacity: 0;
}

.contents03 .lay03 .box a {
	display: block;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
}

.contents03 .lay03 .box a:hover {
	opacity: 1;
}

.contents03 .lay03 .box-img {
	position: relative;
	overflow: hidden;
}

.contents03 .lay03 .box-img img, .contents03 .lay04 .box-img img {
	transition:.5s all;
	z-index: -1;
}

.contents03 .lay03 .box:hover img, .contents03 .lay04 .box:hover img {
	transform:scale(1.1,1.1);
  transition:.5s all;
	z-index: -1;
}

.contents03 .lay03 .box-img::before {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	width: 100%;
	height: 80%;
	display: block;
  opacity : 0.85;
	z-index: 1;
}

.contents03 .lay03 .box:nth-child(1) .box-img::before {
	background : -moz-linear-gradient(50% 0% -90deg,rgba(255, 255, 255, 0) 0%,rgba(80, 160, 254, 1) 100%);
  background : -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(80, 160, 254, 1) 100%);
  background : -webkit-gradient(linear,50% 0% ,50% 42.9% ,color-stop(0,rgba(255, 255, 255, 0) ),color-stop(1,rgba(80, 160, 254, 1) ));
  background : -o-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(80, 160, 254, 1) 100%);
  background : -ms-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(80, 160, 254, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#50A0FE' ,GradientType=0)";
  background : linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(80, 160, 254, 1) 100%);
}

.contents03 .lay03 .box:nth-child(2) .box-img::before {
	background : -moz-linear-gradient(50% 0% -90deg,rgba(255, 255, 255, 0) 0%,rgba(154, 161, 255, 1) 100%);
  background : -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(154, 161, 255, 1) 100%);
  background : -webkit-gradient(linear,50% 0% ,50% 44.4% ,color-stop(0,rgba(255, 255, 255, 0) ),color-stop(1,rgba(154, 161, 255, 1) ));
  background : -o-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(154, 161, 255, 1) 100%);
  background : -ms-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(154, 161, 255, 1) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFF', endColorstr='#9AA1FF' ,GradientType=0)";
  background : linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(154, 161, 255, 1) 100%);
 
}

.contents03 .lay03 .box-img::after {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	display: inline-block;
	padding: 10px;
	min-width: 150px;
	text-align: center;
	background-color: #3379CB;
	font-size: 20px;
color: #FFF;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 500;
	clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
	-webkit-clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
}

.contents03 .lay03 .box:nth-child(1) .box-img::after {
	content: "事業内容";
}

.contents03 .lay03 .box:nth-child(2) .box-img::after {
	content: "職種";
}

.contents03 .lay03 .box-detail {
	position: absolute;
left: 0px;
bottom: 0px;
	z-index: 1;
	width: 100%;
}

.contents03 .lay03 .box-detail p {
	font-size: 20px;
color: #FFF;
line-height: 1.5;
letter-spacing: 0.1em;
font-weight: 500;
	padding: 20px 25px;
	position: relative;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.35);
}

.contents03 .lay03 .box-detail p::after {
	content: "";
	position: absolute;
right: 20px;
bottom: 20px;
	width: 58px;
	height: 58px;
	background-color: #343B43;
	border-radius: 50%;
	display: block;
	z-index: 1;
}

.contents03 .lay04 {
	padding-top: 40px;
}

.contents03 .lay04 a:hover {
	opacity: 1;
}

.contents03 .lay04 .box {
	padding-top: 25px;
	position: relative;
}

.contents03 .lay04 .box::after {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/text02.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 63px;
	z-index: 1;
}

.contents03 .lay04 .box-img {
	border-radius: 10px;
	position: relative;
	overflow: hidden;
}

/*
.contents03 .lay04 .box-img::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0,0,0,0.45);
	z-index: 1;
}
*/

.contents03 .lay04 .box-detail {
	position: absolute;
left: 0px;
top: 0px;
	text-align: center;
	width: 100%;
	height: 100%;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	z-index: 1;
}

.contents03 .lay04 h6 {
	font-family: "Montserrat", sans-serif;
	font-size: 40px;
color: #FFF;
line-height: 0.8;
font-weight: 500;
}


/* layout-interview */

.layout-interview .box-inner {
	padding: 150px 0px 180px;
}


/* contents05 */

.contents05 {
	width: 100%;
	padding-bottom: 100px;
}

.contents05 .box-inner {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	align-items: center;
}

.contents05 .box-img {
	width: 50%;
	max-width: 600px;
	height: 580px;
	position: relative;
}

.contents05 .box-img .box {
	position: absolute;
}

.contents05 .box-img img {
	border-radius: 10px;
	box-shadow: 15px 15px 15px rgba(0,0,0,0.1);
}

.contents05 .box-img .box:nth-child(1) {
left: 7%;
top: 0px;
	width: 85%;
}

.contents05 .box-img .box:nth-child(2) {
left: 0%;
top: 260px;
	width: 45%;
}

.contents05 .box-img .box:nth-child(3) {
right: 1%;
bottom: 20px;
	width: 40%;
}

.contents05 .box-detail {
	width: 42%;
}

.contents05 h2, .contents05 h3 {
	color: #50A0FE;
	font-weight: 500;
}

.contents05 h2 {
	font-family: "Montserrat", sans-serif;
	font-size: 60px;
line-height: 0.8;
	font-style: italic;
}

.contents05 h3 {
	font-size: 32px;
line-height: 1.2;
	padding: 15px 0px 40px;
}

.contents05 .box-link {
	padding-top: 50px;
}


/* contents06 */

.contents06 {
	width: 100%;
	background-color: #EDF6FF;
	position: relative;
}

.contents06::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/back-line03.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 150vh;
	margin-top: -10vh;
}

.contents06::after {
	content: "";
	position: absolute;
right: 0px;
top: 0px;
	background-image: url("../../images/top/icon02.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 35%;
	height: 267px;
	margin-top: -25vh;
}

.contents06 .box-inner {
	padding: 130px 0px;
	position: relative;
}

.contents06 .lay01 {
	position: relative;
	display: flex;
  justify-content: flex-end;
flex-wrap: wrap;
	padding-top: 60px;
}

.contents06 .lay01 .box-img {
	width: 55%;
	border-radius: 10px 0px 0px 10px;
	overflow: hidden;
}

.contents06 .lay01 .box-detail {
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 100%;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.contents06 .lay01 .box-link {
	display: flex;
	gap:40px 0px;
	justify-content: flex-start;
	flex-direction: column;
}

.contents06 .lay01 .box {
	width: 55%;
	transition: .5s;
}

.contents06 .lay01 .box:hover {
	width: 58%;
}

.contents06 h6 a {
	height: 105px;
	background-color: #FFF;
	border-radius: 10px;
	position: relative;
	display: flex;
  justify-content: flex-start;
align-items: center;
	padding: 0px 50px;
	font-size: 26px;
line-height: 1.2;
font-weight: 500;
	box-shadow: 0px 0px 10px rgba(80,160,254,0.15);
}

.contents06 h6 a:hover {
	opacity: 1;
}

.contents06 h6 a::before, .contents06 h6 a::after {
	content: "";
	position: absolute;
right: 35px;
top: 0px;
background-position: right center;
background-repeat: no-repeat;
	background-size: auto 28px;
	width: 28px;
	height: 100%;
	transition: .5s;
}

.contents06 h6 a::before {
	background-image: url("../../images/common/link-arrow03.svg");
}

.contents06 h6 a::after {
	background-image: url("../../images/common/link-arrow02.svg");
}

.contents06 h6 a:hover::after {
	opacity: 0;
}



/* ==========================
  モーダル（ポップアップ）
========================== */

.js_modalBtnCont:hover,
.js_modalBtnCont:focus {
  opacity: 0.75;
}

.js_modalWrap {
  opacity: 0;
  z-index: -1;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.js_modalWrap.active {
  animation: modalOpen 0.5s ease forwards;
}
.js_modalWrap.active2 {
  animation: modalClose 0.5s ease forwards;
}
.js_modalBG {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
}
.js_modalContInner {
  position: absolute;
  top: 0%;
  left: 0%;
	width: 100%;
	height: 100%;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
/*
	overflow-y: scroll;
	padding: 100px 0px;
*/
	/* IE, Edge 対応 */
 -ms-overflow-style: none;
 /* Firefox 対応 */
 scrollbar-width: none;
}

/* Chrome, Safari 対応 */
.js_modalContInner::-webkit-scrollbar {
 display:none;
}

.js_modalContWrap__wrap {
	width: 1010px;
	position: relative;
}

.js_modalContWrap {
  width: 100%;
	position: relative;
}

.js_modalCont {
  width: 100%;
	height: 85vh;
	background-color: #fff;
	overflow-y: auto;
	padding: 50px;
		border-style : solid;
border-color : #005CA2;
border-width : 5px;
	scrollbar-color: rgba(228,228,228,1) rgba(255,255,255,0);
}

.js_modalCont::-webkit-scrollbar {
    width: 10px;
	height: 6px;
	border-radius: 30px;
}

.js_modalCont::-webkit-scrollbar-track-piece {
    background-color: rgba(255,255,255,0);
	border-radius: 30px;
}

.js_modalCont::-webkit-scrollbar-thumb {
   border-radius: 30px;
	background-color: rgba(228,228,228,1);
}


.js_modalClose {
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  width: 70px;
  height: 70px;
  overflow: hidden;
  cursor: pointer;
  z-index: 1001;
	margin-right: -35px;
	margin-top: -35px;
}
@keyframes modalOpen {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    z-index: 1000;
  }
}
@keyframes modalClose {
  0% {
    opacity: 1;
    z-index: 1000;
  }
  100% {
    opacity: 0;
  }
}


.lay-interview01 {
	position: relative;
	text-align: left;
	margin-bottom: 40px;
}

.lay-interview01 .box-detail {
	position: absolute;
left: 0px;
bottom: 0px;
	width: 100%;
	height: 190px;
	background-image: url("../../images/top/frame-interview.svg");
background-position: left bottom;
background-repeat: no-repeat;
	padding-top: 75px;
	padding-left: 30px;
}

.lay-interview01 .box-detail h4, .lay-interview01 .box-detail p {
color: #FFF;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 700;
}

.lay-interview01 .box-detail h4 {
	font-family: "Montserrat", sans-serif;
	font-size: 36px;
}

.lay-interview01 .box-detail h4::after {
	content: "";
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	display: inline-block;
	padding-left: 10px;
}

.lay-interview01 .box-detail h4.r01::after {
	content: "新卒入社";
}

.lay-interview01 .box-detail h4.r02::after {
	content: "中途入社";
}

.lay-interview01 .box-detail p {
	font-size: 14px;
	line-height: 1.6;
	padding-top: 5px;
}

.lay-interview01 .box-text {
	position: absolute;
right: 35px;
bottom: 30px;
}

.lay-interview01 .box-text h6 {
	font-size: 26px;
color: #FFF;
line-height: 2.2;
letter-spacing: 0.1em;
font-weight: 700;
	display: inline;
	padding: 5px 15px;
	background-color: #005CA2;
	-webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.lay-interview02 {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.lay-interview02 .box-detail {
	width: 540px;
}

.box-vision {
	margin-top: 40px;
	border-style : solid;
border-color : #005CA2;
border-width : 5px;
	position: relative;
	padding: 25px;
	padding-left: 50px;
	text-align: center;
}

.box-vision::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/top/icon-vision.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 162px;
	height: 66px;
}

.lay-interview02 .box-img {
	width: 320px;
	display: flex;
	flex-direction: column;
	gap:15px;
}

.lay-interview02 h5, .lay-interview02 h6 {
	font-size: 22px;
color: #005CA2;
line-height: 1.4;
letter-spacing: 0.05em;
font-weight: 700;
}

.lay-interview02 h5 {
	margin-bottom: 15px;
}

.lay-interview02 p {
	font-size: 14px;
color: #1F3949;
}

.sp-view {
	display: none;
}

