@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html{
	overflow: auto;
}

html,body{
    width: 100%;
}

body {
  color : #000;
	font-family: 'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	position: relative;
}

@media screen and (min-width: 769px) {
	body{
		min-width: 1200px;
		overflow: hidden;
	}
}

.ipad{
	min-width: 1200px;
}

a,
a img{
	text-decoration: none;
	transition: 0.3s ease-out;
}

.clearfix:after {
  content:" ";
  display:block;
  clear:both;
}

/*header
--------------------------------------------------*/
.header{
	position: relative;
	padding-top: 111px;
}

.floating__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 300;
	min-width: 1200px;
}

.header__logo{
	position: absolute;
	top: 36px;
	left: 48px;
	z-index: 310;
	width: 339px;
}

.header__logo img{
	width: 100%;
}

.header__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.nav__index{
	position: absolute;
	top: 0;
	right: 43px;
	display: flex;
}

.nav__item{
	margin-left: 39.5px;
}

.nav__item:first-child{
	margin-left: 0;
}

.nav__item a{
	height: 111px;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #000;
	padding-top: 10px;
}

@media screen and (min-width: 769px) {
	/*hover*/
	.nav__item a:hover,
	.header__logo a:hover{
		opacity: .6;
	}

	/*fixed*/
	.is-fixed{
		position: fixed;
		z-index: 500;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
		height: 111px;
	}
}

@media screen and (max-width: 768px) {
	.header{
		padding-top: 70px;
		background: transparent;
	}

	.floating__nav{
		min-width: auto;
		height: auto;
	}

	.header__logo{
		top: 15px;
		left: 15px;
		width: 247px;
	}

	.header__nav{
		display: none;
	}
}

/*mainvisual
--------------------------------------------------*/
.mainvisual{
	width: 100%;
	height: 0;
	padding-top: 48.0625%;
	position: relative;
	z-index: 100;
}

.mv__ph{
	background: url(../img/mv_pc.webp) no-repeat 0 0/100%;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

@media screen and (max-width: 768px) {
	.mainvisual{
		padding-top: 115.128%;
	}

	.mv__ph{
		background-image: url(../img/mv_sp.webp);
	}

	.nav__btn__list{
		display: none;
	}
}

/*SP navi
--------------------------------------------------*/
/*hamburger SP*/
@media screen and (max-width: 768px) {
	.hamburger{
		position: fixed;
    top: 10px;
		right: 10px;
    width: 44px;
    height: 44px;
		z-index: 700;
		background: #004098;
		border: 1px solid rgba(255, 255, 255, 0.4);
		box-sizing: border-box;
		border-radius: 45px;
	}
	
	.hamburger__inner{
		position: absolute;
		top: 14px;
		left: 12.5px;
		width: 17px;
		height: 13px;
		cursor: pointer;
	}

	.hamburger__line{
		background: #fff;
		display: block;
		height: 1.5px;
		position: absolute;
		transition: 0.3s ease-out;
		width: 100%;
	}

	.hamburger__line--c{
		top: 6px;
	}

	.hamburger__line--b{
		bottom: 0px;
		}

	.hamburger__line--t.nav--active{
		transform: rotate(45deg);
		top: 6px;
	}

	.hamburger__line--c.nav--active{
		transform:scaleX(0);
	}

	.hamburger__line--b.nav--active{
		top: 6px;
		transform: rotate(135deg);
	}
}

/*navi*/
.sp-nav{
	background: rgba(0,0,0,0.8);
	display: none;
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 600;
	top: 0;
	left: 0;
}

.sp-nav__container{
	align-items:center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	width: 100%;
}

.sp-nav__index {
	width: 250px;
	margin: 0 auto 10px auto;
}

.sp-nav__item{
	margin-bottom: 10px;
	padding-bottom: 10px;
	text-align: center;
}

.sp-nav__item:last-child{
	border: none;
}

.sp-nav__item a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #fff;
}

.sp-nav__btn__list{
	width: 220px;
	margin: 0 auto;
}

.sp-nav__btn__item{
	height: 60px;
	margin-bottom: 20px;
}

.sp-nav__btn__item a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
  font-weight : 700;
  font-size : 16px;
  line-height : 1.3;
	text-align: center;
	color: #fff;
	background: #1E94C9;
	border-radius: 30px;
}

.sp-nav__btn__item:nth-child(2) a{
	background-color: #264993;
}

/*break
--------------------------------------------------*/
.pc--hidden{
	display: none;
}

.sp--hidden{
	display: block;
}

@media screen and (max-width: 768px) {
	.pc--hidden{
		display: block;
	}
	
	.sp--hidden{
		display: none;
	}
}

/*content fade
--------------------------------------------------*/
.content-fadeinup {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-in, transform 0.8s ease-in;
	z-index: 200;
}

/*heading
--------------------------------------------------*/
.content__heading{
	line-height: 1;
	display: flex;
	flex-direction: column;
}

.content__heading--en{
	font-family: 'Roboto';
	font-weight: 900;
	font-size: 20px;
	letter-spacing: 0.02em;
	color: #C33837;
	margin-bottom: 15px;
}

.content__heading--ja{
	font-weight: 700;
	font-size: 42px;
	color: #333;
}

@media screen and (max-width: 768px) {
	.content__heading--en{
		font-size: 13px;
		margin-bottom: 10px;
	}

	.content__heading--ja{
		font-size: 26px;
	}
}

/*Message
--------------------------------------------------*/
.message{
	padding: 218px 0 168px 0;
	background: #F1F8FB url(../img/message_img_01.svg) no-repeat top 84px left calc(50% - 618px);
}

.message__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.message__container::before{
	content: '';
	display: block;
	background: url(../img/message_img_02.svg) no-repeat 0 0/100%;
	width: 114px;
	height: 161px;
	position: absolute;
	top: 103px;
	left: 563px;
	z-index: 100;
}

.message__container::after{
	content: '';
	display: block;
	background: url(../img/message_img_03.svg) no-repeat 0 0/100%;
	width: 110px;
	height: 68px;
	position: absolute;
	top: 618px;
	left: 455px;
	z-index: 100;
}

.message__txt__area{
	width: 505px;
}

.message__heading__txt-1{
	font-weight: 700;
	font-size: 25px;
	line-height: 1;
	color: #264993;
	margin-bottom: 20px;
}

.message__heading__txt-1 span{
  background:linear-gradient(transparent 63%, #EFF1A9 63%);
	padding: 0 8px 0 2px;
}

.message__heading__txt-2{
	font-weight: 700;
	font-size: 40px;
	line-height: 1.45;
	color: #1E94C9;
	margin-bottom: 25px;
}

.message__txt{
	font-size: 15px;
	line-height: 2.53;
	letter-spacing: 0.1em;
	font-weight:500;
}

.message__ph{
	position: absolute;
	line-height: 0;
}

.message__ph-1{
	top: -104px;
	left: 461px;
	width: 627px;
}

.message__ph-2{
	top: 240px;
	left: 492px;
	width: 650px;
}

.message__ph img{
	width: 100%;
}

@media screen and (max-width: 768px) {
.message{
	padding: 35px 0;
	background: #F1F8FB;
}

.message__container{
	width: auto;
	padding: 20px;
}

.message__container::before{
	display: none;
}

.message__container::after{
	display: none;
}

.message__txt__area{
	width: auto;
}

.message__heading__txt-1{
	font-size: 18px;
	margin-bottom: 20px;
}

.message__heading__txt-1 span{
  background:linear-gradient(transparent 63%, #EFF1A9 63%);
	padding: 0 8px 0 2px;
}

.message__heading__txt-2{
	font-size: 26px;
	line-height: 1.45;
	margin-bottom: 25px;
	position: relative;
}

.message__heading__txt-2::after{
	content: '';
	display: block;
	background: url(../img/message_ph_sp.webp) no-repeat 0 0/100%;
	width: 100%;
	height: 0;
	padding-top: 101.159%;
	margin-top: 10px;
}

.message__txt{
	font-size: 14px;
	line-height: 2.1;
	
}

.message__ph{
	display: none;
}
}

/*job
--------------------------------------------------*/
.job{
	background: #F1F8FB;
	padding-bottom: 100px;
}
.job__container{
	width: 1300px;
	background: #1E94C9;
	border-radius: 100px;
	padding: 69px 0 100px 0;
	margin: 0 auto;
	position: relative;
}

.job__container::before{
	content: '';
	display: block;
	background: url(../img/job_head_ph.webp) no-repeat 0 0/100%;
	width: 419px;
	height: 489px;
	position: absolute;
	top: -35px;
	right: 134px;
	z-index: 10;
}

.job__inner{
	width: 1100px;
	margin: 0 auto;
}

.job__heading{
	margin: 0 0 38px 60px;
}

.job__heading span{
	color: #fff;
}

.job__balloon{
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	color: #fff;
	margin: 0 0 26px 63px;
}

.job__list{
	display: flex;
	justify-content: space-between;
	width: 890px;
	margin-left: 60px;
	margin-bottom: 43px;
	position: relative;
	z-index: 20;
}

.job__item{
	width: 170px;
	height: 126px;
	background: #fff url(../img/job_icon_01.svg) no-repeat top 15px left 50%;
	border-radius: 10px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.4285;
	text-align: center;
	padding-top: 73px;
}

.job__item:nth-child(2){
	background-image: url(../img/job_icon_02.svg);
}

.job__item:nth-child(3){
	background-image: url(../img/job_icon_03.svg);
	background-position-y: 20px;
}

.job__item:nth-child(4){
	background-image: url(../img/job_icon_04.svg);
	background-position-y: 20px;
}

.job__item:nth-child(5){
	background-image: url(../img/job_icon_05.svg);
}


.tab__list{
	width: 978px;
	display: flex;
	justify-content: space-around;
	margin-left: 61px;
	position: relative;
	z-index: 20;
}

.tab__item{
	width: 190px;
	height: 54px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #004098;
	border-radius: 10px 10px 0px 0px;
	transition: 0.3s ease-out;
	cursor: pointer;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	opacity: .6;
}

.tab__item:nth-child(2){
	background-color: #00986E;
}

.tab__item:nth-child(3){
	background-color: #D4951E;
}

.tab__item:nth-child(4){
	background-color: #F3C921;
}

.tab__item:nth-child(5){
	background-color: #C03639;
}

.tab__item.tab--active{
	opacity: 1;
}

.tab__block{
	display: none;
}

.tab__block.tab--active{
	display: block;
}

.tab__container{
position: relative;
width: 1100px;
background: #fff;
border-radius: 40px;
padding: 50px 60px 60px 60px;
box-sizing: border-box;
}

.job__header{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.job__ph__box{
	width: 360px;
	line-height: 0;
}

.job__ph img{
	width: 100%;
}

.job__text__box{
	width: 535px;
	padding-top: 12px;
}

.job__mhd{
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #1E94C9;
	position: relative;
	margin-bottom: 22px;
}

.job__mhd::before{
	content: '';
	display: block;
	background: url(../img/icon_heading.svg) no-repeat 0 0/100%;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 4px;
	left: -38px;
}

.job__txt{
	font-size: 16px;
	line-height: 2;
}

.job__feature{
	background: #FFF5F5;
	border-radius: 10px;
	padding: 21px 40px 24px 259px;
	margin-bottom: 40px;
	position: relative;
}

.job__feature__ttl{
	position: absolute;
	top: 51px;
	left: 43px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #C33837;
	padding-bottom: 8px;
	border-bottom: 2px solid #C33837;
	display: flex;
	align-items: center;
}

.job__feature__txt{
	font-size: 16px;
	line-height: 1.875;
	letter-spacing: 0.1em;
}

.job__qa{
	background: #F1F8FB;
	border-radius: 10px;
	position: relative;
	padding: 53px 50px 0 359px;
	height: 225px;

}

.job__qa__img{
	position: absolute;
	left: -17px;
	bottom: 0;
	line-height: 0;
}

.job__qa__q{
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	color: #1E94C9;
	margin-bottom: 17px;
	position: relative;
}

.job__qa__q::before{
	content: '';
	display: block;
	background: url(../img/job_icon_q.svg) no-repeat 0 0/100%;
	width: 63px;
	height: 63px;
	position: absolute;
	top: -21px;
	left: -83px;
}

.job__qa_a{
	font-size: 16px;
	line-height: 2;
}

.job__link{
	width: 380px;
	height: 80px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -45px;
}

.job__link a{
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: #C33837 url(../img/arrow_01.svg) no-repeat top 50% right 19px;
	border-radius: 40px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #fff;
}

.job__other__link{
	width: 190px;
	height: 50px;
	position: absolute;
	right: 35px;
	bottom: -50px;
}

.job__other__link a{
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: #004098 url(../img/arrow_03.svg) no-repeat top 50% right 19px;
	border-radius: 0px 0px 10px 10px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	color: #fff;
}

@media screen and (min-width: 769px) {
	.tab__item:hover{
		opacity: 1;
	}

	.job__link a:hover,
	.job__other__link a:hover{
		opacity: .8;
	}
}

@media screen and (max-width: 768px) {
	.job{
		padding: 0 0 50px 0;
	}
	.job__container{
		width: auto;
		border-radius: 24px;
		padding: 36px 20px 20px;
	}

	.job__container::before{
		width: 130px;
		height: 152px;
		top: -27px;
		right: 20px;
	}

	.job__inner{
		width: auto;
	}

	.job__heading{
		margin: 0 0 20px 0;
	}

	.job__balloon{
		font-size: 16px;
		margin: 0 0 10px 0;
	}

	.job__list{
		display: flex;
		flex-direction: column;
		width: auto;
		margin-left: 0;
		margin-bottom: 16px;
	}

	.job__item{
		width: 100%;
		height: auto;
		background: transparent url(../img/icon_check.svg) no-repeat top 50% left 0 !important;
		border-radius: 0;
		font-size: 15px;
		line-height: 1.4285;
		text-align: left;
		padding: 11px 0 11px 33px;
		color: #fff;
		border-bottom: 1px solid rgba(255, 255, 255, 0.45);
	}

	.tab__list{
		display:grid;
		grid-template-columns: repeat(3,1fr);
		width: 100%;
		padding: 0 0 10px;
		margin-left: 0;
		gap: 5px;
	}

	.tab__item{
		width: 100%;
		min-height: 45px;
		padding: 8px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		
		text-align: center;
		line-height: 1.3;
		white-space: normal;
		border-radius: 8px;
		font-size: 14px;
	}

	.tab__block{
		display: none;
	}

	.tab__block.tab--active{
		display: block;
	}

	.tab__container{
	width: auto;
	border-radius: 16px;
	padding: 16px 16px 32px 16px;
	}

	.job__header{
		display: block;
		margin-bottom: 28px;
	}

	.job__ph__box{
		width: 100%;
		margin-bottom: 12px;
	}

	.job__text__box{
		width: auto;
		padding-top: 12px;
	}

	.job__mhd{
		font-size: 20px;
		margin-bottom: 12px;
		padding-left: 32px;
	}

	.job__mhd::before{
		top: -1px;
		left: 0;
	}

	.job__txt{
		font-size: 14px;
		line-height: 1.78;
		letter-spacing:1px;
	}

	.job__feature{
		padding: 16px;
		margin-bottom: 12px;
	}

	.job__feature__ttl{
		position: relative;
		top: auto;
		left: auto;
		font-size: 14px;
		padding-bottom: 8px;
		margin-bottom: 8px;
		border-bottom:1px solid #C33837;
	}

	.job__feature__txt{
		font-size: 13px;
		line-height: 1.66;
	}

	.job__qa{
		padding:134px 16px 16px;
		height: auto;
		margin-bottom: 26px;
	}

	.job__qa__img{
		position: absolute;
		left: -17px;
		bottom: auto;
		top: 16px;
		left: 50%;
		transform: translateX(-50%);
	}

	.job__qa__img img{
		width: 130px;
	}

	.job__qa__q{
		font-weight: 700;
		font-size: 14px;
		line-height: 1.57;
		margin-bottom: 10px;
		padding-left: 36px;
	}

	.job__qa__q::before{
		width: 28px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.job__qa_a{
		font-size: 13px;
		line-height: 1.66;
		letter-spacing: 1px;
	}

	.job__link{
		width: 100%;
		height: 52px;
		position: relative;
		left: auto;
		transform: translateX(0);
		bottom: auto;
		margin: 0 auto;
	}

	.job__link a{
		background: #C33837 url(../img/arrow_01.svg) no-repeat top 50% right 19px/8px;
		font-size: 16px;
	}

	.job__other__link{
		width: 140px;
		height: 40px;
		right: 14px;
		bottom: -40px;
	}

	.job__other__link a{
		background: #004098 url(../img/arrow_03.svg) no-repeat top 50% right 12px/7px;
		font-size: 12px;
	}
}

/*Work Environment
--------------------------------------------------*/
.environment{
	padding: 104px 0 100px 0;
	position: relative;
}

.environment::after{
	content: '';
	display: block;
	background: url(../img/career_bg_ph_01.webp) no-repeat 0 0/100%;
	width: 528px;
	height: 655px;
	position: absolute;
	bottom: -369px;
	left: -21px;
	z-index: 50;
}

/* ウィンドウ幅が狭いと数字カードが左に寄って人物の顔が隠れるため、
   カード左端に追従して写真を縮小する。
   カード左端 = (100vw - スクロールバー - 980) / 2
   頭の右端  = left(-21px) + 幅 * 0.585  ← ここがカード左端を超えない幅が上限
   → 約1590px以上で元サイズ528px、それ以下は比例縮小（下限210px） */
@media screen and (min-width: 769px) {
	.environment::after{
		width: clamp(210px, calc(84vw - 806px), 528px);
		height: auto;
		aspect-ratio: 528 / 655;
		bottom: auto;
		top: calc(100% - 286px);
	}
}

.environment__container{
	width: 980px;
	margin: 0 auto;
}

/* .content-fadeinup の transform でスタッキングコンテキストが生まれ、
   同クラスの z-index:200 が position:static のため無効化されていた。
   position を与えて有効化し、装飾写真(.environment::after)を数字カードの背面に回す */
@media screen and (min-width: 769px) {
	.environment__container{
		position: relative;
		z-index: 200;
	}
}

.environment__heading{
	text-align: center;
	margin-bottom: 52px;
}

.environment__list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 66px;
}

.environment__item{
	width: 310px;
	position: relative;
}

.environment__ph{
	line-height: 0;
}

.environment__ph img{
	width: 100%;
}

.environment__no{
	position: absolute;
	top: 154px;
	left: 0;
	text-align: center;
	width: 100%;
	font-family: 'Roboto';
	font-weight: 500;
	font-size: 46px;
	line-height: 1;
	letter-spacing: 0.02em;
}

.environment__ttl{
	height: 130px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.33;
	color: #1E94C9;
	padding-top: 16px;
}

.environment__txt{
	font-size: 14px;
	line-height: 1.57;
	letter-spacing: 0.1em;
}

.wlb{
	background: #F1F8FB;
	border-radius: 10px;
	padding: 40px 39px 40px 40px;
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}

.wlb__txt__area{
	width: 541px;
}

.wlb__ph{
	width: 310px;
	line-height: 0;
}

.wlb__ph img,
.wlb__ph_sp img{
	width: 100%;
}
.wlb__ph_sp {
	display: none;
}

.wlb__ttl{
	font-weight: 700;
	font-size: 22px;
	line-height: 1.45;
	color: #1E94C9;
	margin: 0 0 11px 46px;
	position: relative;
}

.wlb__ttl::before{
	content: '';
	display: block;
	background: url(../img/icon_heading.svg) no-repeat 0 0/100%;
	width: 24px;
	height: 24px;
	position: absolute;
	top: 6px;
	left: -43px;
}

.wlb__txt{
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin: 0 0 30px 46px;
}

.wlb__voice{
	background: #fff url(../img/environment_img.svg) no-repeat bottom 0 right 23px;
	height: 176px;
	padding: 29px 163px 0 30px;
}

.wlb__voice__ttl{
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #1E94C9;
	margin-bottom: 17px;
}

.wlb__voice__txt{
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: 0.1em;
}

.numbers__list{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 100;
}

.numbers__item{
	line-height: 0;
	width: 310px;
}

.numbers__item img{
	width: 100%;
}

@media screen and (max-width: 768px) {
	.environment{
		padding: 50px 0 70px 0;
	}

	.environment::after{
		width: 108px;
		height: 129px;
		bottom: 20px;
		left: 0;
		z-index: 110;
	}

	.environment__container{
		width: auto;
		padding: 0 20px;
	}

	.environment__heading{
		margin-bottom: 28px;
	}

	.environment__list{
		display: block;
		margin-bottom: 6px;
	}

	.environment__item{
		width: 100%;
		margin-bottom: 34px;
	}

	.environment__ph{
		margin-bottom: 30px;
	}

	.environment__no{
		top: 46vw;
		font-size: 40px;
	}

	.environment__ttl{
		height: auto;
		display: block;
		font-size: 20px;
		padding-top: 0;
		margin-bottom: 5px;
	}

	.environment__txt{
		font-size: 13px;
		line-height: 1.76;
	}

	.wlb{
		border-radius: 12px;
		padding: 30px 16px 20px;
		margin-bottom: 48px;
		display: block;
	}

	.wlb__txt__area{
		width: auto;
	}

	.wlb__ph{
		width: 100%;
	}

	.wlb__ttl{
		font-size: 17px;
		line-height: 1.52;
		margin: 0 0 12px 0;
		padding-left: 32px;
		position: relative;
	}

	.wlb__ttl::before{
		top: 1px;
		left: 0;
	}

	.wlb__txt{
		font-size: 13px;
		line-height: 1.76;
		margin: 0 0 20px 0;
	}

	.wlb__voice{
		background: #fff url(../img/environment_img.svg) no-repeat bottom 0px right 13px/96px;
		height: auto;
		padding: 14px;
		border-radius: 10px;
		margin-bottom: 12px;
	}

	.wlb__voice__ttl{
		font-size: 14px;
		line-height: 1.57;
		margin-bottom: 8px;
	}

	.wlb__voice__txt{
		font-size: 12px;
		line-height: 1.7;
		padding-right: 114px;
	}
	.wlb__ph {
	display: none;
}
	.wlb__ph_sp{
	display: block;
}

	.numbers__list{
		display: flex;
		overflow-x: auto;
		gap:16px;
		paddingbottom:10px;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
	}

	.numbers__item{
		flex:0 0 85%;
		scroll-snap-align:center;
	}
	
	.numbers__item img{
		width: 100%;
		padding-bottom:15px;
	}
	.numbers__item__swipe{
width: fit-content;
margin-left: auto;
padding-left: 35px;
background: url(../img/ico_swipe01.svg) no-repeat left center;
background-size: 24px auto;
		padding-top:13px;
}
	
}

/*Career Plan・Career Development
--------------------------------------------------*/
.career{
	padding: 97px 0 100px 0;
	background: #F1F8FB;
}

.career__container{
	width: 980px;
	height: 573px;
	margin: 0 auto 21px auto;
	padding-top: 97px;
	background: #fff;
	border-radius: 10px;
	position: relative;
	z-index: 100;
}

.career__container::after{
	content: '';
	display: block;
	background: url(../img/career_bg_ph_02.webp) no-repeat 0 0/100%;
	width: 334px;
	height: 347px;
	position: absolute;
	bottom: -130px;
	right: -289px;
}

.career__heading{
	position: absolute;
	top: 57px;
	left: 70px;
}

.career__heading .content__heading--en{
	margin-bottom: 5px;
}

.career__heading .content__heading--ja{
	font-size: 28px;
}

.career__img{
	width: 840px;
	line-height: 0;
	margin: 0 auto;
}

.development__container{
	width: 980px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	padding: 55px 70px 29px 70px;
}

.development__heading{
	margin-bottom: 26px;
}

.development__heading .content__heading--en{
	margin-bottom: 5px;
}

.development__heading .content__heading--ja{
	font-size: 28px;
}

.development__list{
	display: flex;
	justify-content: space-between;
	width: 720px;
	margin-bottom: 15px;
}

.development__item{
	width: 230px;
	height: 50px;
	background: #F1F8FB;
	border-radius: 10px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.development__txt{
	font-size: 14px;
	line-height: 1.71;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
	.career{
		background: #F1F8FB;
		padding: 50px 20px;
	}

	.career__container{
		width: auto;
		height: auto;
		margin-bottom: 30px;
		padding: 30px 20px 20px 20px;
	}

	.career__container::after{
		background-size: 100px;
		width: 80px;
		height: 105px;
		bottom: -50px;
		right: -20px;
	}

	.career__heading{
		position: relative;
		top: auto;
		left: auto;
	}

	.career__heading .content__heading--ja{
		font-size: 22px;
	}

	.career__img{
		width: 100%;
		overflow-x: scroll;
	}

	.development__container{
		width: auto;
		padding: 0 20px;
		padding: 30px 20px 20px 20px;
	}

	.development__heading{
		margin-bottom: 20px;
	}

	.development__heading .content__heading--ja{
		font-size: 22px;
	}

	.development__list{
		flex-wrap: wrap;
		width: auto;
		margin-bottom: 10px;
	}

	.development__item{
		width: 48%;
		height: 46px;
		border-radius: 6px;
		font-size: 14px;
		margin-bottom: 8px;
	}

	.development__item:nth-child(3){
		width: 100%;
	}

	.development__txt{
		font-size: 13px;
		line-height: 1.76;
	}
}

/*Interview
--------------------------------------------------*/
.interview{
	padding: 150px 0 0 0;
	height: 1371px;
}

.interview__container{
	width: 980px;
	padding: 0 70px;
	margin: 0 auto;
	position: relative;
}

.interview__heading{
	margin-bottom: 9px;
}

.interview__heading__txt-1{
	line-height: 0;
	margin-bottom: 19px;
}

.interview__heading__txt-2{
	font-weight: 500;
	font-size: 14px;
	line-height: 2.14;
	color: #000;
	width: 365px;
}

.interview__item{
	position: absolute;
	width: 350px;
	cursor: pointer;
	transition: 0.3s ease-out;
}

.interview__ph{
	line-height: 0;
	position: relative;
display: inline-block;
}

.click_btn {
position: absolute;
right: -20px;
bottom: 20px;
width: 90px;
height: 90px;
border-radius: 50%;
color: #fff;
display: flex;
align-items: center;
justify-content: center;

font-weight: 700;
z-index:10px;
}

.interview__item--01 .click_btn {
background: #014095;
}

.interview__item--02 .click_btn {

background: #D4951E;

}

.interview__item--03 .click_btn {
background: #00986E;
}

.interview__pos{
	width: fit-content;
	height: 26px;
	border-radius: 13px;
	min-width: 105px;
	padding: 0 15px 0 16px;
	margin: 13px 0 13px 6px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pos--c1{
	background: #014095;
}

.pos--c2{
	background: #D4951E;
}

.pos--c3{
	background: #00986E;
}

.interview__message{
	font-weight: 700;
	font-size: 25px;
	line-height: 1.45;
	color: #000;
	margin: 0 0 15px 4px;
	white-space: nowrap;
}

.interview__category{
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	color: #000;
	margin-left: 3px;
}

.interview__item:nth-child(1){
	top: -48px;
	right: 98px;
}

.interview__item:nth-child(2){
	top: 311px;
	left: 96px;
}

.interview__item:nth-child(2) .interview__ph{
	margin-left: -26px;
	margin-bottom: -9px;
}

.interview__item:nth-child(3){
	top: 556px;
	right: 98px;
}

.interview__item:nth-child(3) .interview__ph{
	margin-bottom: -9px;
}

@media screen and (min-width: 769px) {
	.interview__item:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.interview{
		padding: 50px 0;
		height: auto;
	}

	.interview__container{
		width: auto;
		padding: 0 20px;
	}

	.interview__heading{
		margin-bottom: 5px;
	}

	.interview__heading__txt-1{
		margin-bottom: 20px;
	}

		.interview__heading__txt-1 img{
			width: 260px;
		}

	.interview__heading__txt-2{
		font-size: 13px;
		line-height: 1.84;
		color: #000;
		width: auto;
		margin-bottom: 20px;
	}

	.interview__item{
		position: relative;
		width: auto;
		transition: 0.3s ease-out;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		margin-bottom: 30px;
	}

	.interview__ph{
		display: flex;
		width: 250px;
		justify-content: center;
		margin: 0 auto 12px auto !important;
	}

	.interview__ph img{
		width: 100%;
	}

	.interview__pos{
		margin: 0 auto 12px auto;
	}

	.interview__message{
		font-size: 20px;
		line-height: 1.55;
		text-align: center;
		margin: 0 0 12px 0;
	}

	.interview__category{
		font-size: 13px;
		margin-left: 0;
		text-align: center;
	}
	.click_btn {
	width: 70px;
height: 70px;
		font-size:14px;
	
	}
}

/*modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	width: 920px;
	background: #fff;
	border-radius: 40px;
	padding: 0 60px 50px 60px;
	box-sizing: border-box;
	position: relative;
}

.modal__header{
	height: 395px;
	padding-top: 73px;
	position: relative;
}

.modal__ph{
	line-height: 0;
	position: absolute;
	top: -66px;
	right: -1px;
}

#modal-2 .modal__ph{
	top: -89px;
}

#modal-2 .modal__ph{
	top: -76px;
}

.modal__no{
	font-family: 'Roboto';
	font-weight: 900;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #C33837;
	margin-bottom: 20px;
}

.modal__no span{
	margin-left: 14px;
}

.modal .interview__pos{
	margin: 0 0 13px 0;
}

.modal__message{
	font-weight: 700;
	font-size: 32px;
	line-height: 1.43;
	color: #000;
	margin-bottom: 20px;
}

.modal__category{
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	color: #000;
}

.modal__qa{
	margin-bottom: 50px;	
}

.modal__qa__block{
	background: #F1F8FB;
	padding: 45px 40px 40px 40px;
	margin-bottom: 23px;
}

.modal__q{
	font-weight: 700;
	font-size: 26px;
	line-height: 1.4;
	color: #264993;
	padding-left: 65px;
	margin-bottom: 22px;
	position: relative;
}

.modal__q::before{
	content: '';
	display: block;
	background: url(../img/modal_icon_q.svg) no-repeat 0 0/100%;
	width: 46px;
	height: 46px;
	position: absolute;
	top: -7px;
	left: -1px;
}

.modal__a{
	font-size: 16px;
	line-height: 1.4375;
	letter-spacing: 1.8px;
}

.modal__schedule__block{
	background: #FFF5F5;
	padding: 39px 32px 42px 0;
	margin-bottom: 51px;
	position: relative;
}

.modal__hd{
	font-weight: 700;
	font-size: 23px;
	line-height: 1;
	color: #C33837;
	position: absolute;
	top: 41px;
	left: 39px;
}

.modal__tbl{
	width: auto;
	margin-left: 188px;
}

.modal__tbl th{
	width: 70px;
	font-family: 'Inter';
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	text-align: right;
	color: #C33837;
}

.modal__tbl td{
	width: auto;
	font-size: 16px;
	line-height: 1.4375;
	padding: 0 0 22px 37px;
	position: relative;
}

.modal__tbl td strong{
	font-size: 18px;
	font-weight: 700;
}

.modal__tbl td::before{
	content: '';
	display: block;
	background: #C33837;
	border-radius: 10px;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 9px;
	left: 11px;
}

.modal__tbl td::after{
	display: block;
	content: '';
	background: #C33837;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 10px;
	left: 16px;
}

.modal__tbl tr:last-child td{
	padding-bottom: 0;
}

.modal__tbl tr:last-child td::after{
	display: none;
}

.modal__close{
	width: 320px;
	margin: 0 auto;
}

.modal__close a{
	display: block;
	font-size : 20px;
	font-weight: 700;
  color : #fff;
	line-height: 60px;
	text-align: center;
	background: #014095;
	border-radius: 30px;
}

@media screen and (min-width: 769px) {
	.modal__close a:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.modal{
		margin: 80px auto 50px auto;
		width: 90%;
		border-radius: 20px;
		padding: 32px 20px 40px 20px;
	}

	.modal__header{
		height: auto;
		padding-top: 0;
		margin-bottom: 26px;
	}

	.modal__ph{
		position: relative;
		top: auto !important;
		right: auto;
		width: 250px;
		margin: 0 auto 25px auto;
	}

	.modal__ph img{
		width: 100%;
	}

	.modal__no{
		font-size: 13px;
		margin-bottom: 0px;
	}

	.modal__no span{
		margin-left: 3px;
	}

	.modal .interview__pos{
		margin: 0 0 12px 0;
	}

	.modal__message{
		font-size: 20px;
		line-height: 1.55;
		margin-bottom: 12px;
	}

	.modal__category{
		font-size: 12px;
	}

	.modal__qa{
		margin-bottom: 16px;	
	}

	.modal__qa__block{
		padding: 16px;
		border-radius: 10px;
		margin-bottom: 12px;
	}

	.modal__q{
		font-size: 15px;
		line-height: 1.6;
		padding-left: 38px;
		margin-bottom: 10px;
	}

	.modal__q::before{
		width: 28px;
		height: 28px;
		top: 0;
		left: 0;
	}

	.modal__a{
		font-size: 13px;
		line-height: 1.69;
	}

	.modal__schedule__block{
		padding: 18px 16px;
		margin-bottom: 30px;
		border-radius: 10px;
	}

	.modal__hd{
		font-size: 17px;
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 14px;
	}

	.modal__tbl{
		width: auto;
		margin-left: 0;
	}

	.modal__tbl th{
		font-size: 11px;
		line-height: 1.4;
		width: 55px;
	}

	.modal__tbl td{
		font-size: 12px;
		line-height: 1.66;
		padding: 0 0 14px 29px;
	}

	.modal__tbl td strong{
		font-size: 14px;
	}

	.modal__tbl td::before{
		width: 9px;
		height: 9px;
		top: 9px;
		left: 11px;
	}

	.modal__tbl td::after{
		left: 15px;
	}

	.modal__close{
		width: 240px;
	}

	.modal__close a{
		font-size : 15px;
		line-height: 45px;
	}
}

/*Job Search
--------------------------------------------------*/
.search{
	padding: 110px 0 70px 0;
	background: #F1F8FB;
	position: relative;
}

.search::before{
	content: '';
	display: block;
	background: url(../img/search_bg_img.svg) no-repeat 0 0/100%;
	width: 467px;
	height: 694px;
	position: absolute;
	top: -459px;
	left: 0;
	z-index: 50;
}

.search__container{
	width: 980px;
	margin: 0 auto;
}

.search__heading{
	margin-bottom: 48px;
	text-align: center;
}

.search__mhd{
  font-weight : 700;
  font-size : 20px;
  line-height : 1;
	color: #000;
	padding-left: 40px;
	background: url(../img/icon_heading.svg) no-repeat 0 0;
	margin-bottom: 23px;
	padding-top: 3px;
	height: 24px;
}

.search__list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	z-index: 100;
}

.search__item{
	width: 230px;
	height: 80px;
	margin-bottom: 20px;
}

.search__item a{
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: #014095 url(../img/arrow_01.svg) no-repeat top 50% right 15px;
	border-radius: 40px;
  font-weight : 700;
  font-size : 16px;
  line-height : 1;
  color : #fff;
}

/*プルダウン*/
.search__pulldown__list{
	display: flex;
	justify-content: space-between;
	width: 780px;
	margin: 0 auto 43px auto;
}

.search__pulldown__no__select{
	width: 380px;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #9FB0BB url(../img/arrow_02.svg) no-repeat top 50% right 21px;
	border-radius: 40px;
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  color : #fff;
	transition: 0.3s ease-out;
}

.search__pulldown__child{
	display: none;
}

.search__pulldown__item{
	width: 380px;
	height: 80px;
	position: relative;
	transition: 0.3s ease-out;
}

.search__item__select{
  -webkit-appearance: menulist-button;
  appearance: menulist-button;
  width: 380px;
  height: 80px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  font-size: 18px;
	outline: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
}

.search__item__select__val{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: #1E94C9 url(../img/arrow_02.svg) no-repeat top 50% right 21px;
	border-radius: 40px;
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  color : #fff;
	transition: 0.3s ease-out;
}

@media screen and (min-width: 769px) {
	.search__item a:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.search{
		padding: 50px 0 100px 0;
	}

	.search::before{
    width: 140px;
    height: 187px;
    top: -119px;
	}

	.search__container{
		width: auto;
		padding: 0 20px;
		margin: 0 auto;
	}

	.search__heading{
		margin-bottom: 26px;
	}

	.search__mhd{
		font-size : 17px;
		padding-left: 31px;
		background: url(../img/icon_heading.svg) no-repeat 0 0;
		margin-bottom: 17px;
		padding-top: 3px;
		height: 24px;
	}

	.search__item{
		width: 49%;
		height: 50px;
		margin-bottom: 10px;
	}

	.search__item a{
		background: #014095 url(../img/arrow_01.svg) no-repeat top 50% right 18px/7px;
		font-size : 13px;
		line-height: 1.4;
	}

	/*プルダウン*/
	.search__pulldown__list{
		width: 350px;
		margin: 0 auto 40px auto;
		flex-wrap: wrap;
	}

	.search__pulldown__item{
		width: 100%;
		height: 74px;
		margin-bottom: 12px;
	}

	.search__item__select{
		width: 350px;
		height: 74px;
		font-size: 16px;
	}

	.search__item__select__val{
		background: #1E94C9 url(../img/arrow_02.svg) no-repeat top 50% right 15px/9px;
		font-size : 15px;
	}
	.search__pulldown__no__select{
  font-size : 15px;

}
}

/*sp entry button ・ side navi
--------------------------------------------------*/
.side__nav__btn{
	position: absolute;
	top: max(458px, 38.1875vw);
	right: 0;
	width: 310px;
	z-index: 500;
}

.side__nav__btn__item{
	height: 70px;
	margin-bottom: 10px;
}

.side__nav__btn__item a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	width: 100%;
	height: 100%;
	background: #1E94C9 url(../img/arrow_01.svg) no-repeat top 50% right 9px;
	border-radius: 45px 0px 0px 45px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #fff;
}

.side__nav__btn__item:nth-child(2) a{
	background-color: #264993;
}

@media screen and (min-width: 769px) {
	/* スクロール追従時は縦書きの「縦積みタブ」に切り替え（本文への被りを軽減） */
	.side__nav__btn.side-is-fixed {
		position: fixed;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		width: auto;
	}

	.side__nav__btn.side-is-fixed .side__nav__btn__item{
		display: flex;
		height: auto;
		margin-bottom: 0;
	}

	.side__nav__btn.side-is-fixed .side__nav__btn__item a{
		writing-mode: vertical-rl;
		flex-direction: row;
		height: auto;
		padding: 20px 11px;
		background-image: none;
		border-radius: 10px 0 0 10px;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: .04em;
	}

	/* 矢印はテキストの下に右向きのまま配置 */
	.side__nav__btn.side-is-fixed .side__nav__btn__item a::after{
		content: "";
		flex: none;
		width: 9px;
		height: 15px;
		margin-top: 12px;
		background: url(../img/arrow_01.svg) no-repeat center center/9px 15px;
	}
}

@media screen and (min-width: 769px) {
	.side__nav__btn__item a:hover{
		opacity: .6;
	}
}

/*sp entry button*/
.floating__btm__btn{
	display: none;
}

@media screen and (max-width: 768px) {
	.side__nav__btn{
		display: none;
	}

	.floating__btm__block{
		position: sticky;
		bottom: 0;
		left: 0;
		z-index: 300;
		width: 100%;
		margin-bottom: 10px;
	}

	.floating__btm__btn{
		position: absolute;
		bottom: 10px;
		left: 0;
		width: 100%;
		z-index: 300;
		display: flex;
		justify-content: space-around;
		padding: 0 15px;
	}

	.floating__btm__btn__item{
		width: 48%;
		height: 50px;
	}

	.floating__btm__btn__item a{
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 100%;
		background: #1E94C9;
		border-radius: 30px;
		font-weight: 700;
		font-size: 12px;
		line-height: 1.4;
		color: #fff;
		box-shadow: 0 0  1px 1px rgba(255, 255, 255, 0.5);
	}

	.floating__btm__btn__item:nth-child(2) a{
		background-color: #264993;
	}
}

/*フッター
--------------------------------------------------*/
.footer{
	padding: 37px 0;
	background: #014095;
}

.footer p,
.footer a{
	color: #fff;
}

.footer__container{
	width: 980px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footerLink__list{
	display: flex;
	flex-wrap: wrap;
}

.footerLink__item{
font-weight: 700;
font-size: 12px;
line-height: 1;
	position: relative;
	margin-left: 24px;
}

.footerLink__item:first-child{
	margin-left: 0;
}

.copyright{
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	padding: 6px 19px 0 0;
}

.footerLink__item a:hover{
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.footer{
		padding: 30px 0;
	}

	.footer__container{
		width: auto;
		flex-direction: column;
		align-items: center;
	}

	.footerLink__list{
		justify-content: center;
		margin-bottom: 5px;
	}

	.footerLink__item{
		font-weight: 500;
		margin: 0 10px 10px 10px;
	}
	.copyright{
		font-weight: 500;
		font-size: 10px;
		padding: 0;
	}
}