@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..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 : #333;
	font-family: 'Noto Sans JP','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;
}

.floating__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 85px;
	z-index: 300;
	min-width: 1200px;
}

.header__logo{
	position: absolute;
	top: 31px;
	left: 44px;
	z-index: 310;
	width: 307px;
}

.ipad .header__logo{
	left: 20px;
}

.header__logo img{
	width: 100%;
}

.header__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.nav__index{
	position: absolute;
	top: 41px;
	right: 471px;
	width: fit-content;
	display: flex;
	flex-direction: row;
}

.nav__item{
	margin-left: 40px;
}

.nav__item a{
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  color : #132B89;
}

.nav__btn{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 280px;
	height: 100px;
}

.nav__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #132B89 url(../img/header_arrow.svg) no-repeat top 50% right 20px;
  font-weight : 700;
  font-size : 24px;
  line-height : 1;
  color : #fff;
}

@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: 85px;
	}

	.is-fixed .header__logo{
		top: 17px;
	}

	.is-fixed .nav__index{
		top: 32px;
	}

.nav__btn{
	top: 10px;
	width: 280px;
	height: 65px;
}
}

@media screen and (max-width: 1550px) {
	.nav__index{
		right: 320px;
	}
}

@media screen and (max-width: 1350px) {
	.nav__index{
		right: 260px;
	}

	.nav__btn{
		width: 220px;
	}

	.nav__item{
		margin-left: 30px;
	}

	.nav__item a{
		font-size : 16px;
	}
}

@media screen and (max-width: 768px) {
	.header{
		padding-top: 50px;
	}

	.floating__nav{
		min-width: auto;
	}

	.header__logo{
		top: 18px;
		left: 20px;
		width: 180px;
	}

	.header__nav,
	.nav__btn{
		display: none;
	}
}

/*mainvisual
--------------------------------------------------*/
.mainvisual{
	width: 100%;
	height: 0;
	padding-top: 42.9375%;
	position: relative;
}

.mv__ph{
	background: url(../img/mv_pc.webp) no-repeat 0 0/100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

@media screen and (max-width: 768px) {
	.mainvisual{
		padding-top:72%;
	}

	.mv__ph{
		background-image: url(../img/mv_sp.webp);
	}
}

/*SP navi
--------------------------------------------------*/
/*hamburger SP*/
@media screen and (max-width: 768px) {
	.hamburger{
		position: fixed;
    top: 11px;
		right: 10px;
    width: 42px;
    height: 42px;
		z-index: 700;
		background: #132B89;
		border-radius: 45px;
	}
	
	.hamburger__inner{
		position: absolute;
		top: 15px;
		left: 12px;
		width: 17px;
		height: 13px;
		cursor: pointer;
	}

	.hamburger__line{
		background: #fff;
		display: block;
		height: 1px;
		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: 230px;
	margin: 0 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: 16px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #fff;
}

.sp-nav__btn{
	width: 200px;
	height: 50px;
	margin: 0 auto;
}

.sp-nav__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #132B89;
	border-radius: 50px;
	width: 100%;
	height: 100%;
  font-weight : 700;
  font-size : 16px;
  color : #fff;
}

/*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(50px);
}

/*heading
--------------------------------------------------*/
.content__heading{
	display: flex;
	flex-direction: column;
	color: #132B89;
}

.content__heading--en{
  font-family : 'Roboto';
	font-weight: 900;
  font-size : 80px;
  line-height: 1;
	margin-bottom: 11px;
}

.content__heading--ja{
	font-weight: 700;
  font-size : 20px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
	.content__heading--en{
		font-size : 40px !important;
		margin-bottom: 5px;
	}

	.content__heading--ja{
		font-size : 14px;
		line-height: 1.2;
	}	
}

/*Head entry
--------------------------------------------------*/
.head__entery{
	background: #FEF102;
}

.head__entery__list{
	width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.head__entery__item{
	width: 440px;
	height: 100px;
}

.head__entery__item a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #132B89 url(../img/header_arrow.svg) no-repeat top 50% right 20px;
  font-weight : 700;
  font-size : 24px;
  line-height : 1.125;
	text-align: center;
  color : #fff;
}

@media screen and (min-width: 769px) {
	.header__logo a:hover,
	.head__entery__item a:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.head__entery{
		padding-bottom: 1px;
	}

	.head__entery__list{
		width: 250px;
		margin: 0 auto;
		display: block;
		padding-top: 20px;
	}

	.head__entery__item{
		width: 100%;
		height: 60px;
		margin-bottom: 10px;
	}

	.head__entery__item a{
		background: #132B89 url(../img/header_arrow.svg) no-repeat top 50% right 15px/7px;
		font-size : 16px;
		line-height : 1.3;
	}
}

/*About us
--------------------------------------------------*/
.aboutus{
	background: #FEF102 url(../img/aboutus_bg_ph.webp) no-repeat top 32px left calc(50% + 241px)/612px;
	padding-top: 64px;
}

.aboutus__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.aboutus__message__txt__area{
	width: 440px;
	margin-bottom: 96px;
}

.aboutus__heading{
	margin-bottom: 24px;
}

.aboutus__heading .content__heading--en{
	font-size: 70px;
}

.aboutus__message__mhd{
  font-weight : 700;
  font-size : 32px;
  line-height : 1.43;
	margin-bottom: 11px;
	color: #132B89;
}

.aboutus__message__txt{
  font-size : 16px;
  line-height : 1.8;
	color: #1A1A1A;
}

.aboutus__comm__container{
	width: 1200px;
	margin: 0 auto;
	background: #fff;
	border-radius : 11px;
	padding: 81px 0 50px 0;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.aboutus__comm__inner{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.aboutus__comm__inner::before{
	content: '';
	display: block;
	background: url(../img/aboutus_img_01.svg) no-repeat 0 0/100%;
	width: 201px;
	height: 118px;
	position: absolute;
	top: -157px;
	left: -182px;
}

.aboutus__comm__inner::after{
	content: '';
	display: block;
	background: url(../img/aboutus_img_02.svg) no-repeat 0 0/100%;
	width: 183px;
	height: 178px;
	position: absolute;
	top: -2px;
	right: -170px;
}

.aboutus__comm__mhd{
	position: absolute;
	top: -116px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../img/aboutus_comm_mhd_pc.svg) no-repeat 0 0/100%;
	width: 910px;
	height: 90px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

.aboutus__comm__txt{
	text-align: center;
  font-size : 18px;
  line-height : 2.33;
  margin-bottom: 38px;
}

.aboutus__comm__list{
	display: flex;
	justify-content: space-between;
}

.aboutus__comm__item{
	width: 310px;
	line-height: 0;
}

.aboutus__comm__item img{
	width: 100%;
}

.aboutus__comm__item:nth-child(1){
	margin-top: 29px;
}

.aboutus__comm__item:nth-child(2){
	margin-top: 69px;
}

@media screen and (max-width: 768px) {
	.aboutus{
		background: #FEF102;
		padding-top: 50px;
	}

	.aboutus__container{
		width: auto;
		padding: 0 20px;
	}

	.aboutus__message__txt__area{
		width: 100%;
		margin-bottom: 30px;
		position: relative;
	}

	.aboutus__message__txt__area::after{
		content: '';
		display: block;
		background: url(../img/aboutus_bg_ph.webp) no-repeat 0 0/100%;
		width: 100%;
		padding-top: 95%;
		height: 0;
		margin: 20px 0 -30px 0;
	}

	.aboutus__heading{
		margin-bottom: 20px;
	}

	.aboutus__message__mhd{
		font-size : 22px;
		line-height : 1.43;
		margin-bottom: 11px;
	}

	.aboutus__message__txt{
		font-size : 16px;
		line-height : 1.8;
	}

	.aboutus__comm__container{
		width: auto;
		margin: 0 20px;
		border-radius : 11px;
		padding: 50px 0 20px 0;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	}

	.aboutus__comm__inner{
		width: auto;
		padding: 0 20px;
	}

	.aboutus__comm__inner::before{
		width: 73px;
		height: 42px;
		top: auto;
		bottom: -10px;
		left: -10px;
	}

	.aboutus__comm__inner::after{
		width: 66px;
		height: 64px;
		top: auto;
		bottom: 50px;
		right: -15px;
	}

.aboutus__comm__mhd{
	top: -73px;
	background-image: url(../img/aboutus_comm_mhd_sp.svg);
	width: 290px;
	height: 55px;
}

	.aboutus__comm__txt{
		font-size : 16px;
		line-height : 1.8;
		margin-bottom: 10px;
		text-align: left;
	}

	.aboutus__comm__list{
		justify-content: space-around;
		flex-wrap: wrap;
	}

	.aboutus__comm__item{
		width: 48%;
	}

	.aboutus__comm__item:nth-child(1){
		margin-top: 10px;
	}

	.aboutus__comm__item:nth-child(2){
		margin-top: 30px;
		margin-bottom: 10px;
	}
}

/*Environment
--------------------------------------------------*/
.environment{
	background: 
	url(../img/environment_img_01.svg) no-repeat top 44px left calc(50% + 141px),
	url(../img/environment_img_02.svg) no-repeat top 535px left calc(50% - 584px),
	#FEF102;
	padding: 66px 0 49px 0;
}

.environment__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.environment__container::before{
	content: '';
	display: block;
	background: url(../img/environment_bg_ph.webp) no-repeat 0 0/100%;
	width: 274px;
	height: 274px;
	position: absolute;
	top: -125px;
	right: -186px;
}

.environment__heading{
	margin-bottom: 74px;
}

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

.environment__item{
	border: 4px solid #132B89;
  border-radius : 22px;
	width: 480px;
	height: 285px;
	box-sizing: border-box;
	margin-bottom: 51px;
	position: relative;
	padding: 50px 0 0 31px;
	background: url(../img/environment_icon_01.svg) no-repeat top 100px right 23px;
}

.environment__item:nth-child(n+3){
	height: 265px;
}

.environment__item:nth-child(2){
	background-image: url(../img/environment_icon_02.svg);
	background-position: top 109px right 28px;
}

.environment__item:nth-child(3){
	background-image: url(../img/environment_icon_03.svg);
	background-position: top 98px right 17px;
}

.environment__item:nth-child(4){
	background-image: url(../img/environment_icon_04.svg);
	background-position: top 98px right 25px;
}

.environment__no{
	background: url(../img/environment_no_bg.svg) no-repeat 0 0/100%;
	width: 105px;
	height: 65px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -36px;
	left: 50%;
	margin-left: -53px;
  font-family : 'Roboto';
	font-weight: 500;
	line-height: 1;
  font-size : 40px;
	color: #fff;
}

.environment__ttl{
  font-weight : 700;
  font-size : 26px;
  line-height : 1;
	color: #132B89;
	margin-bottom: 22px;
}

.environment__txt{
  font-size : 16px;
  line-height : 1.5;
	width: 300px;
}

@media screen and (max-width: 768px) {
	.environment{
		background: 
		url(../img/environment_img_01.svg) no-repeat top 122px right 10px/70px,
		url(../img/environment_img_02.svg) no-repeat bottom 10px left 20px/65px,
		#FEF102;
		padding: 50px 0 60px 0;
	}

	.environment__container{
		width: auto;
		padding: 0 20px;
		margin: 0 auto;
		position: relative;
	}

	.environment__container::before{
		width: 80px;
		height: 80px;
		top: -70px;
		right: 10px;
	}

	.environment__heading{
		margin-bottom: 60px;
	}

	.environment__list{
		display: block;
	}

	.environment__item{
		border: 3px solid #132B89;
		border-radius : 18px;
		width: 100%;
		height: auto !important;
		margin-bottom: 30px;
		position: relative;
		padding: 30px 20px 20px 20px;
		background-size: 40px !important;
		background-position: top 10px right 20px;
	}

	.environment__item:nth-child(2){
		background-position: top 30px right 20px;
	}

	.environment__item:nth-child(3){
		background-position: top 30px right 20px;
	}

	.environment__item:nth-child(4){
		background-position: top 15px right 20px;
	}

	.environment__no{
		width: 65px;
		height: 40px;
		top: -20px;
		margin-left: -33px;
		font-size : 26px;
	}

	.environment__ttl{
		font-size : 20px;
		margin-bottom: 10px;
		line-height: 1.3;
	}

	.environment__txt{
		font-size : 14px;
		line-height : 1.75;
		width: auto;
	}
}

/*Interview
--------------------------------------------------*/
.interview{
	background:
	url(../img/interview_img_01.svg) no-repeat top 15px left calc(50% - 394px),
	url(../img/interview_img_02.svg) no-repeat top 12px left calc(50% + 400px);
	padding: 114px 0 100px 0;
}

.interview__container{
	width: 980px;
	margin: 0 auto;
}

.interview__heading{
	text-align: center;
	margin-bottom: 28px;
	color: #E70512;
}

.interview__read{
  font-size : 16px;
  line-height : 1.4;
	text-align: center;
	margin-bottom: 31px;
}

.slider{
	width: 1200px;
  	margin: 0 auto;
}

.interview__slide__list{
	padding-left: 33px;
	margin-bottom: 44px !important;
}

/*準備ができたら表示*/
.interview__slide__list {display: none;}
.interview__slide__list.slick-initialized {display: block;}

.interview__slide{
	width: 310px;
	height: 552px;
	position: relative;
	background-position: top 20px left 0;
	background-repeat: no-repeat;
	background-size: 100%;
	padding-top: 416px;
	margin-right: 25px;
	transition: 0.3s ease-out;
	cursor: pointer;
}

.interview__slide-1{
	background-image: url(../img/interview_ph_01.webp);
}

.interview__slide-2{
	background-image: url(../img/interview_ph_02.webp);
}

.interview__slide-3{
	background-image: url(../img/interview_ph_03.webp);
}

.interview__slide-4{
	background-image: url(../img/interview_ph_04.webp);
}

.interview__slide-5{
	background-image: url(../img/interview_ph_05.webp);
}

.interview__no{
  font-family : 'Roboto';
	font-weight: 900;;
  font-size : 60px;
  line-height : 1;
  color : #E70512;
	position: absolute;
	top: 0;
	right: 6px;
}

.interview__message{
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 318px;
	left: 15px;
}

.interview__message span{
	line-height: 33px;
	padding: 0 4px;
	margin-bottom: 9px;
  font-weight : 700;
  font-size : 28px;
	background: #FEF102;
	width: fit-content;
}

.interview__name{
  font-weight : 700;
  font-size : 22px;
	line-height: 1;
	margin-bottom: 14px;
}

.interview__pos{
  font-weight : 700;
  font-size : 16px;
  line-height : 1.5;
}

.interview__link{
	width: 95px;
	position: absolute;
	bottom: 0;
	right: 0;	
	background: url(../img/interview_arrow.svg) no-repeat top 50% right 0;
	font-size : 16px;
	line-height: 1.6;
	text-decoration: underline;
	color: #333;
}

.slide__arrow{
	width: 152px;
	height: 61px;
	display: flex;
	justify-content: space-between;
	position: relative;
	margin-left: 33px;
}

.slide__arrow__item{
	width: 61px;
	cursor: pointer;
	transition: 0.3s ease-out;
	line-height: 0;
	position: absolute;
}

.slide__arrow__item img{
	width: 100%;
}

.slide--next{
	right: 0;
}

.slide--prev{
	left: 0;
}

/*dots*/
.slick-dots{
	bottom: -82px;
	left: 207px;
	text-align: left;
}

.slick-dots li
{
	width: 16px;
	height: 16px;
	margin: 0 17px 0 0;
}
.slick-dots li button
{
	width: 100%;
	height: 100%;
	padding: 0;
}

.slick-dots li button:before{
	line-height: 1;
	width: 16px;
	height: 16px;
	background: #E6E6E6;
	border-radius: 8px;
	content: '';
	opacity: 1;
}
.slick-dots li.slick-active button:before{
	background: #E70512;
}

@media screen and (min-width: 769px) {
	.interview__slide:hover,
	.slide__arrow__item:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.interview{
		background:
		url(../img/interview_img_01.svg) no-repeat top 45px left 25px/44px,
		url(../img/interview_img_02.svg) no-repeat top 40px right 10px/80px;
		padding: 50px 0;
	}

	.interview__container{
		width: auto;
		padding: 0 20px;
	}

	.interview__heading{
		text-align: center;
		margin-bottom: 28px;
		color: #E70512;
	}

	.slider{
		width: 100%; /* ★280px固定から100%に変更して画面いっぱいに */
		margin: 0 auto;
		overflow: hidden; /* ★画面が横揺れするのを防ぐため追加 */
	}

	/* ★以下を新規追加（右側に強制的に見切れスペースを作ります） */
	.slick-list {
		padding-right: 15% !important; /* ここの数値で見切れ具合を調整できます */
	}

	.interview__slide__list{
		padding-left: 0;
		margin-bottom: 80px !important;
	}

	.interview__slide{
		/* width: 280px; はSlickが自動計算するので削除するかそのままでOKです */
		height: 480px;
		background-size: cover; /* ★280pxからcoverに変更すると、どのスマホでも画像が綺麗に収まります */
		background-position: top center;
		padding-top: 370px;
		margin-right: 0;
		margin: 0 10px; /* ★スライド間の隙間 */
	}

	.interview__slide__list{
		padding-left: 0;
		margin-bottom: 80px !important;
	}

	.interview__slide{
		width: 280px;
		height: 480px;
		background-size: 280px;
		padding-top: 370px;
		margin-left: 16px;
	}

	.interview__no{
		font-size : 50px;
	}

	.interview__message{
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 280px;
		left: 15px;
	}

	.interview__message span{
		font-size : 22px;
	}

	.interview__name{
		font-size : 20px;
		margin-bottom: 10px;
	}

	.slide__arrow{
		width: 100%;
		height: 40px;
		margin: 0 auto;
		position: absolute;
		top: 160px;
		left: 0;
	}

	.slide__arrow__item{
		width: 40px;
	}

	.slide--next{
		right: -20px;
	}

	.slide--prev{
		left: -20px;
	}

	/*dots*/
	.slick-dots{
		bottom: -50px;
		left: 0;
		text-align: center;
		margin-left: 10px;
	}
}

/*modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	width: 800px;
	background: #fff;
	border: 10px solid #FEF102;
	padding: 32px 60px 52px 60px;
	box-sizing: border-box;
	position: relative;
}

.modal__header{
	position: relative;
	height: 350px;
	margin-bottom: 32px;
}

.modal__header__txt__area{
	position: absolute;
	top: 0;
	left: 11px;
	z-index: 100;
}

.modal__header__no{
	display: flex;
  align-items: baseline;
	line-height: 1;
  font-family : 'Roboto';
	font-weight: 900;
	 color : #E70512;
	 margin-bottom: 8px;
}

.modal__no--en{
  font-size : 14px;
	margin-right: 7px;
}

.modal__no--num{
  font-size : 60px;
}

.modal__header__message{
	display: flex;
	flex-direction: column;
	margin-bottom: 9px;
}

.modal__header__message span{
	width: fit-content;
  font-weight : 700;
  font-size : 40px;
  line-height : 47px;
	margin-bottom: 12px;
	background: #FEF102;
	padding: 0 8px;
}

.modal__header__name{
  font-weight : 700;
  font-size : 26px;
  line-height : 1;
	margin-bottom: 15px;
}

.modal__header__pos{
  font-weight : 700;
  font-size : 18px;
  line-height : 1.88;
}

.modal__header__ph{
	position: absolute;
	top: -9px;
	right: -38px;
	width: 310px;
	z-index: 50;
}

.modal__header__ph img{
	width: 100%;
}

.modal__qa{
	margin-bottom: 33px;
}

.modal__q{
	min-height: 70px;
	display: flex;
	align-items: center;
  font-weight : 700;
  font-size : 22px;
  line-height : 1.36;
	margin-bottom: 9px;
	padding-left: 86px;
	position: relative;
}

.modal__q span{
	display: block;
	width: 70px;
	height: 70px;
	border-radius: 70px;
	background: #132B89;
	display: flex;
	justify-content: center;
	align-items: center;
  font-weight : 700;
  font-size : 22px;
  line-height : 1;
  color : #fff;
	position: absolute;
	transform: translateY(-50%);;
	top: 50%;
	left: 0;
}

.modal__a{
	padding-left: 86px;
  font-size : 16px;
  line-height : 1.81;
	padding-bottom: 25px;
	border-bottom: 1px solid #000;
	margin-bottom: 28px;
}

.last__qa{
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}

/*button*/
.modal__btn{
	display: flex;
	width: 640px;
	margin: 0 auto;
	justify-content: space-between;
}

.modal__btn__entry{
	width: 300px;
	height: 80px;
}

.modal__btn__entry a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #132B89;
	border-radius: 40px;
  font-weight : 700;
  font-size : 18px;
	line-height: 1;
  color : #fff;
}

.modal__btn__close{
	width: 300px;
	height: 80px;
}

.modal__btn__close a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #E70512;
	border-radius: 40px;
  font-weight : 700;
  font-size : 18px;
	line-height: 1;
  color : #fff;
}

@media screen and (min-width: 769px) {
	.modal__btn a:hover{
		opacity: .5;
	}
}

@media screen and (max-width: 768px) {
	.modal{
		margin: 30px auto 80px auto;
		width: 90%;
		border: 5px solid #FEF102;
		padding:20px 20px 30px 20px;
	}

	.modal__header{
		height: auto;
		margin-bottom: 20px;
	}

	.modal__header__txt__area{
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 20px;
	}

	.modal__no--num{
		font-size : 30px;
	}

	.modal__header__message{
		margin-bottom: 5px;
	}

	.modal__header__message span{
		font-size : 22px;
		line-height: 33px;
		margin-bottom: 9px;
	}

	.modal__header__name{
		font-weight : 700;
		font-size : 20px;
		line-height : 1;
		margin-bottom: 8px;
	}

	.modal__header__pos{
		font-size : 16px;
		line-height: 1.5;
	}

	.modal__header__ph{
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
	}

	.modal__qa{
		margin-bottom: 33px;
	}

	.modal__q{
		min-height: auto;
		display: block;
		font-size : 16px;
		line-height : 1.5;
		margin-bottom: 9px;
		padding-left: 45px;
	}

	.modal__q span{
		width: 35px;
		height: 35px;
		font-size : 14px;
		top: 13px;
	}

	.modal__a{
		padding-left: 0;
		font-size : 14px;
		line-height : 1.75;
		padding-bottom: 15px;
		border-bottom: 1px solid #000;
		margin-bottom: 15px;
	}

	.last__qa{
		margin-bottom: 0;
		padding-bottom: 0;
		border: none;
	}
	
	/*button*/
	.modal__btn{
		display: block;
		width: 200px;
		margin: 0 auto;
	}
	.modal__btn__entry,
		.modal__btn__close{
		width: 100%;
		height: 50px;
		margin-bottom: 15px;
	}
}

/*About job
--------------------------------------------------*/
.job{
	background: #132B89;
	padding: 115px 0 70px 0;
}

.job__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.job__container::before{
	content: '';
	display: block;
	background: url(../img/job_bg_ph.webp) no-repeat 0 0/100%;
	width: 210px;
	height: 210px;
	position: absolute;
	top: -173px;
	left: -96px;
}

.job__container::after{
	content: '';
	display: block;
	background: url(../img/job_img.svg) no-repeat 0 0/100%;
	width: 273px;
	height: 203px;
	position: absolute;
	top: -138px;
	right: -35px;
}

.job__heading{
	margin-bottom: 61px;
	color: #fff;
	text-align: center;
}

.job__heading .content__heading--en{
	margin-bottom: 21px;
}

.job__type__list{
	margin-bottom: 54px;
	display: flex;
	justify-content: space-between;
}

.job__type__item{
	position: relative;
  background : #fff;
  border-radius : 20px;
	width: 480px;
	height: 512px;
	padding: 78px 40px 0 40px;
}

.job__type__mhd{
  background : #FEF102;
  border-radius : 25px;
	width: 380px;
	line-height: 50px;
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translateX(-50%);
  font-weight : 700;
  font-size : 24px;
	text-align: center;
}

.job__point{
	background: #E7EAF3;
	margin-bottom: 20px;
	padding: 25px 0 0 10px;
	height: 160px;
	position: relative;
}

.job__point dt{
  font-family : 'Roboto';
  font-size : 28px;
	line-height: 1;
	font-weight: 900;
	position: absolute;
	top: -16px;
	left: 19px;
	color: #132B89;
}

.job__point dd{
	background: url(../img/job_icon_check.svg) no-repeat 0 0;
	min-height: 24px;
	margin-bottom: 16px;
  font-weight : 700;
  font-size : 18px;
  line-height : 24px;
	padding-left: 35px;
}

.job__type__shd{
  font-weight : 700;
  font-size : 18px;
  line-height : 30px;
	background: #FEF102;
	width: fit-content;
	padding: 0 9px;
	margin-bottom: 6px;
}

.job__type__txt{
  font-weight : 700;
  font-size : 19px;
  line-height : 1.4;
	margin-left: -3px;
}

.job__type__btn{
	width: 422px;
	height: 100px;
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
}

.job__type__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #E70512 url(../img/job_arrow.svg) no-repeat top 50% right 33px;
	font-weight : 700;
  font-size : 24px;
	line-height: 1;
	color: #fff;
	border-radius: 50px;
}

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

.job__category__item{
	width: 310px;
	margin-bottom: 35px;
	background: url(../img/job_ph_01.webp) no-repeat 0 0/100%;
	padding-top: 212px;
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  color : #fff;
	text-align: center;
}

.job__category__item:nth-child(2){
	background-image: url(../img/job_ph_02.webp);
}

.job__category__item:nth-child(3){
	background-image: url(../img/job_ph_03.webp);
}

.job__category__item:nth-child(4){
	background-image: url(../img/job_ph_04.webp);
}

.job__category__item:nth-child(5){
	background-image: url(../img/job_ph_05.webp);
}

.job__category__item:nth-child(6){
	background-image: url(../img/job_ph_06.webp);
}

@media screen and (min-width: 769px) {
	.job__type__btn a:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.job{
		background: #132B89;
		padding: 50px 0 30px 0;
	}

	.job__container{
		width: auto;
		padding: 0 20px;
	}

	.job__container::before{
		width: 80px;
		height: 80px;
		top: -88px;
		left: 10px;
	}

	.job__container::after{
			width: 80px;
			height: 61px;
			top: -61px;
			right: 10px;
	}

	.job__heading{
		margin-bottom: 40px;
	}

	.job__heading .content__heading--en{
		margin-bottom: 10px;
	}

		.job__heading .content__heading--ja{
			line-height: 1.4;
		}

	.job__type__list{
		margin-bottom: 54px;
		display: block;
		width: 300px;
		margin: 0 auto;
	}

	.job__type__item{
		position: relative;
		background : #fff;
		border-radius : 10px;
		width: 100%;
		height: auto;
		padding: 50px 20px 20px 20px;
		margin-bottom: 40px;
	}

	.job__type__mhd{
		width: 260px;
		line-height: 40px;
		top: -20px;
		font-size : 20px;
	}

	.job__point{
		margin-bottom: 20px;
		padding: 20px 10px 0 10px;
		height: 160px;
		position: relative;
	}

	.job__point dt{
		font-size : 22px;
		top: -12px;
		left: 10px;
	}

	.job__point dd{
		background-size: 18px;
		background-position: top 3px left 0;
		min-height: 18px;
		margin-bottom: 10px;
		font-size : 16px;
		line-height : 1.4;
		padding-left: 25px;
	}

	.job__type__txt{
		font-size : 16px;
		line-height : 1.4;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.job__type__btn{
		width: 100%;
		height: 50px;
		position: relative;
		bottom: auto;
		left: auto;
		transform: translateX(0);
	}

	.job__type__btn a{
		background: #E70512 url(../img/job_arrow.svg) no-repeat top 50% right 20px/6px;
		font-size : 16px;
	}

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

	.job__category__item{
		width: 48.5%;
		margin-bottom: 20px;
		padding-top: 33.5%;
		font-size : 16px;
	}
}

/*Career Step
--------------------------------------------------*/
.step{
	background: #F3F3F3;
	padding: 102px 0 100px 0;
}

.step__container{
	width: 980px;
	background: url(../img/step_bg_ph_02.webp) no-repeat top 68px right -7px/528px;
	margin: 0 auto;
	position: relative;
}

.step__container::before{
	content: '';
	display: block;
	background: url(../img/step_bg_ph_01.webp) no-repeat 0 0/100%;
	width: 210px;
	height: 210px;
	position: absolute;
	top: -159px;
	right: -106px;
}

.step__heading{
	margin-bottom: 25px;
}

.step__heading .content__heading--en{
 color: #E70512;
 margin-bottom: 18px;
}

.step__heading .content__heading--ja{
 color: #333;
}

.step__message{
	margin-bottom: 27px;
	width: 440px;
}

.step__message__txt{
  font-size : 16px;
  line-height : 1.8;
}

.step__stepup{
  background : #fff;
  border-radius : 20px;
	padding: 65px 40px 40px 40px;
	position: relative;
}

.step__stepup__mhd{
	position: absolute;
	top: 45px;
	left: 40px;
  font-weight : 700;
  font-size : 30px;
  line-height : 1.3;
	color: #E70512;
}

.step__stepup__txt{
  font-size : 18px;
  line-height : 1.6;
	margin: 0 0 35px 368px;
}

.step__stepup__img{
	background: url(../img/stepup_flow_pc.svg) no-repeat 0 0/100%;
	width: 900px;
	height: 295px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin-bottom: 28px;
}

.step__challenge{
	position: relative;
}

.step__stepup__shd{
	position: absolute;
	top: 13px;
	left: 15px;
  font-weight : 700;
  font-size : 23px;
	line-height: 1;
  color : #132B89;
}

.step__challenge__txt{
  font-size : 16px;
  line-height : 2.15;
	margin-left: 402px;
}

@media screen and (max-width: 768px) {
	.step{
		padding: 50px 0;
	}

	.step__container{
		width: auto;
		padding: 0 20px;
		background: none;
	}

	.step__container::before{
		width: 80px;
		height: 80px;
		top: -75px;
		right: 10px;
	}

	.step__heading{
		margin-bottom: 25px;
	}

	.step__heading .content__heading--en{
	margin-bottom: 10px;
	}

	.step__message{
		margin-bottom: 27px;
		width: 100%;
	}

	.step__message__txt{
		font-size : 16px;
		line-height : 1.8;
		position: relative;
	}

	.step__message__txt::after{
		content: '';
		display: block;
		background: url(../img/step_bg_ph_02.webp) no-repeat 0 0/100%;
		width: 100%;
		padding-top: 42%;
		height: 0;
		margin: 20px 0 -30px 0;
	}

	.step__stepup{
		background : #fff;
		border-radius : 10px;
		padding: 20px 20px 30px 20px;
		position: relative;
	}

	.step__stepup__mhd{
		position: relative;
		top: auto;
		left: auto;
		font-size : 20px;
		line-height : 1.3;
		margin-bottom: 10px;
	}

	.step__stepup__txt{
		font-size : 16px;
		line-height : 1.6;
		margin: 0 0 20px 0;
	}

	.step__stepup__img{
		background-image: url(../img/stepup_flow_sp.svg);
		width: 100%;
		height: 0;
		padding-top: 56%;
		margin-bottom: 10px;
	}

	.step__stepup__shd{
		position: relative;
		top: auto;
		left: auto;
		font-size : 20px;
		line-height : 1.3;
		margin-bottom: 10px;
	}

	.step__challenge__txt{
		font-size : 16px;
		line-height : 1.6;
		margin-left: 0;
	}
}

/*footer entry
--------------------------------------------------*/
.foot__entry{
	background: url(../img/foot_entry_ph_pc.webp) no-repeat top 105px left calc(50% + 23px)/1090px;
	height: 978px;
}

.foot__entry__container{
	width: 980px;
	margin: 0 auto;
	padding-top: 108px;
	position: relative;
}

.foot__entry__container::before{
	content: '';
	display: block;
	background: url(../img/foot_enty_bg_ph.webp) no-repeat 0 0/100%;
	width: 254px;
	height: 254px;
	position: absolute;
	top: -168px;
	left: -96px;
}

.foot__entry__txt{
  font-weight : 700;
  font-size : 50px;
  line-height : 1.52;
  letter-spacing : 5px;
	color: #132B89;
}

.foot__entry__btn{
	margin-top: 465px;
	display: flex;
	justify-content: space-between;
}

.foot__entry__btn__item{
	width: 310px;
	height: 80px;
}

.foot__entry__btn__item a{
	display: flex;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #E70512 url(../img/foot_entry_arrow.svg) no-repeat top 50% right 13px;
  font-weight : 700;
  font-size : 18px;
  line-height : 1.19;
  color : #fff;
	text-align: center;
	border-radius: 40px;
}

@media screen and (min-width: 769px) {
	.foot__entry__btn__item a:hover{
		opacity: .7;
	}
}

@media screen and (max-width: 768px) {
	.foot__entry{
		background: none;
		height: auto;
		padding: 40px 0 90px 0;
	}

	.foot__entry__container{
		width: auto;
		padding: 0 20px;
		position: relative;
	}

	.foot__entry__container::after {
		content: '';
		display: block;
		background: url(../img/foot_entry_ph_sp.webp) no-repeat 0 0 / 100%;
		width: 100%;
		padding-top: 66%;
		height: 0;
		margin-top: 30px;
	}


	.foot__entry__container::before{
		width: 80px;
		height: 80px;
		top: -90px;
		left: 10px;
	}

	.foot__entry__txt{
		font-size : 30px;
		text-align: center;
		margin-bottom: 20px;
	}

	.foot__entry__btn{
		margin-top: 0;
		display: block;
		width: 250px;
		margin: 0 auto;
	}

	.foot__entry__btn__item{
		width: 100%;
		height: 60px;
		margin-bottom: 10px;
	}

	.foot__entry__btn__item a{
		background: #E70512 url(../img/foot_entry_arrow.svg) no-repeat top 50% right 10px/8px;
		font-size : 16px;
	}
}

/*footer media
--------------------------------------------------*/
.foot__media{
	background: #FEF102;
	padding: 107px 0 99px 0;
}

.foot__media__container{
	width: 980px;
	margin: 0 auto;
}

.foot__media__ttl{
	text-align: center;
  font-weight : 700;
  font-size : 40px;
  line-height : 1;
	color: #132B89;
	margin-bottom: 20px;
}

.foot__media__list{
	display: flex;
	justify-content: space-between;
}

.foot__media__item{
	width: 490px;
	height: 275px;
}

@media screen and (max-width: 768px) {
	.foot__media{
		padding: 50px 0 80px 0;
	}

	.foot__media__container{
		width: auto;
		padding: 0 20px;
	}

	.foot__media__ttl{
		font-size : 22px;
		margin-bottom: 20px;
	}

	.foot__media__list{
		display: block;
		width: 280px;
		margin: 0 auto;
	}

	.foot__media__item{
		width: 100%;
		height: 157px;
		margin-bottom: 20px;
	}
}

/*side botton ・ sp entry button ・ page top button
--------------------------------------------------*/
/*pgage top */
.pg-top{
	position: fixed;
	display: none;
	bottom: 100px;
	right: 20px;
	z-index: 300;
	width: 100px;
}

.pg-top img{
	width: 100%;
}

/*sp entry button*/
.floating__btm__btn{
	display: none;
}

@media screen and (min-width: 769px) {
	.pg-top a:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.floating__btm__block{
		position: sticky;
		bottom: 0;
		left: 0;
		z-index: 300;
		width: 100%;
	}

	.pg-top{
		position: absolute;
		bottom: 60px;
		right: 10px;
		width: 50px;
	}

	.floating__btm__btn{
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 300;
		display: flex;
	}

	.floating__btm__btn a{
		display: block;
		width: 100%;
		font-weight: 700;
		font-size: 20px;
		line-height: 50px;
		letter-spacing: 0.12em;
		text-align: center;
		color: #fff;
		background: #E70512;
	}
}

/*フッター
--------------------------------------------------*/
.footer{
	background: #132B89;
}

.footer p,
.footer a{
	color: #fff;
}

.footer__container{
	padding: 38px 0 75px 0;
}

.footerLink__list{
	margin-bottom: 45px;
	display: flex;
	justify-content: center;
}

.footerLink__item{
  font-weight : 700;
  font-size : 14px;
	line-height: 1;
	margin-left: 93px;
	position: relative;
}

.footerLink__item::before{
	content: '';
	display: block;
	height: 18px;
	width: 1px;
	background: #fff;
	position: absolute;
	left: -51px;
	top: 0;
}

.footerLink__item:first-child{
	margin-left: 0;
}

.footerLink__item:first-child::before{
	display: none;
}

.copyright{
	font-weight : 700;
	font-size : 14px;
	line-height: 1;
	text-align: center;
}

.footerLink__item a:hover{
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.footer__container{
		padding: 30px 0 40px 0;
	}

	.footerLink__list{
		flex-wrap: wrap;
		margin-bottom: 20px;
	}

	.footerLink__item{
		font-size : 12px;
		letter-spacing : 0;
		line-height: 2;
		margin-left: 30px;
		position: relative;
	}

	.footerLink__item::before{
		height: 14px;
		left: -15px;
		top: 5px;
	}

	.copyright{
		font-size : 10px;
		letter-spacing : 0;
	}
}