@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,1..1000;1,1..1000&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&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 Antique','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: 93px;
	z-index: 300;
	min-width: 1200px;
}

.header__logo{
	position: absolute;
	top: 38px;
	left: 35px;
	z-index: 310;
	width: 239px;
}

.ipad .header__logo{
	left: 20px;
}

.header__logo img{
	width: 100%;
}

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

.nav__index{
	position: absolute;
	top: 0;
	right: 236px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 610px;
	height: 65px;
	border-radius: 32.5px;
	background: #f1fafc;
}

.nav__item:first-child{
	margin-left: 56px;
}

.nav__item:last-child{
	margin-right: 56px;
}
.nav__item a{
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #241917;
}

.nav__btn{
	position: absolute;
	top: 0;
	right: 38px;
	width: 180px;
	height: 65px;
}

.nav__btn a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 37px;
	background: #1047B0 url(../img/header_link_icon.svg) no-repeat top 20px right 36px;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 1;
	color: #fff;
	padding-left: 37px;
}

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

@media screen and (max-width: 768px) {
	.floating__nav{
		min-width: auto;
	}

	.header__logo{
		top: 21px;
		left: 20px;
		width: 120px;
	}

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

/*mainvisual
--------------------------------------------------*/
.mainvisual{
	width: 100%;
	height: 0;
	padding-top: 60.5%;
	position: relative;
	background: url(../img/mv_bg_pc.png) no-repeat 0 0/100%;
}

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

.mv__txt{
	background: url(../img/mv_txt_pc.svg) no-repeat 0 0/100%;
	width: 27.87%;
	height: 32.4%;
	position: absolute;
	top: 28.89%;
	left: 6.48%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

.mv__age{
	background: url(../img/mv_age_pc.svg) no-repeat 0 0/100%;
	width: 14.25%;
	height: 24.66%;
	position: absolute;
	top: 63.98%;
	right: 3.125%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

.mv__scroll{
	background: url(../img/header_scroll.svg) no-repeat 0 0/100%;
	width: 10px;
	height: 115px;
	position: absolute;
	bottom: 69px;
	left: 29px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

@media screen and (max-width: 768px) {
	.mainvisual{
		padding-top: 177%;
		background-image: url(../img/mv_bg_sp.png);
		margin-bottom: 9px;
	}

	.mv__ph{
		background-image: url(../img/mv_ph_sp.webp);
		width: 91.73%;
		height: 60.84%;
	}

	.mv__txt{
		background-image: url(../img/mv_txt_sp.svg);
		width: 83.46%;
		height: 22.74%;
		top: 65.91%;
		left: 8.16%;
	}

	.mv__age{
		background-image: url(../img/mv_age_sp.svg);
		width: 37.86%;
		height: 22.74%;
		top: 45.18%;
		right: 5.33%;
	}

	.mv__scroll{
		width: 6px;
		height: 65px;
		bottom: 24px;
		left: 12px;
	}
}

/*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: #1047B0;
		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 20px 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.05em;
	line-height: 1.5;
	color: #fff;
}

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

.sp-nav__btn a{
	display: block;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 50px;
	color: #fff;
	text-align: center;
	border-radius: 25px;
	background: #56acdb;
}

/*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;
	line-height: 1;
}

.content__heading--en{
	font-family: 'Sofia Sans';
	font-size: 80px;
	letter-spacing: 0.1em;
	color: #1047b0;
	margin-bottom: 13px;
}

.content__heading--ja{
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.05em;
}

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

	.content__heading--ja{
		font-size: 18px;
	}
}


/*About us
--------------------------------------------------*/
.aboutus{
	background:
	url(../img/about_img.svg) no-repeat top 17px left calc(50% - 420px),
	url(../img/about_heading_img.svg) no-repeat top 44px left calc(50% + 391px),
	url(../img/about_bg_pc.webp) no-repeat 0 0/100%,
	#F4F5EF;
	padding: 166px 0 270px 0;
}

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

.aboutus__message__txt__area{
	width: 470px;
	margin: 0 0 0 auto;
}

.aboutus__heading{
	margin-bottom: 79px;
}

.aboutus__message__mhd{
	font-weight: 700;
	font-size: 25px;
	letter-spacing: 0.08em;
	line-height: 1.6;
	margin-bottom: 30px;
}

.aboutus__message__txt{
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 2.1;
}

.aboutus__ph{
	position: absolute;
	top: 33px;
	left: -169px;
	width: 609px;
}

.aboutus__ph img{
	width: 100%;
}

/*slide*/
.gallery{
	margin-top: 256px;
}

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


.gallery .slick-slide {
  height: auto;
}

.slick-slider div {
	transition: none;
}

.gallery__item{
	width: 340px;
	height: 0 !important;
	padding-top: 240px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	margin: 0 11px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.gallery__item-1{
	background-image: url(../img/gallery_01.webp);
}

.gallery__item-2{
	background-image: url(../img/gallery_02.webp);
}

.gallery__item-3{
	background-image: url(../img/gallery_03.webp);
}

.gallery__item-4{
	background-image: url(../img/gallery_04.webp);
}

.gallery__item-5{
	background-image: url(../img/gallery_05.webp);
}

.gallery__item-6{
	background-image: url(../img/gallery_06.webp);
}

.gallery__item-7{
	background-image: url(../img/gallery_07.webp);
}

.gallery__item-8{
	background-image: url(../img/gallery_08.webp);
}

.gallery__odd{
	margin-top: 69px;
}

@media screen and (max-width: 768px) {
	.aboutus{
		background:
		url(../img/about_img.svg) no-repeat top 0 left 61px/116px,
		url(../img/about_heading_img.svg) no-repeat top 40px left 230px/100px,
		url(../img/about_bg_sp.webp) no-repeat 0 0/100%,
		#F4F5EF;
		padding: 80px 0;
	}

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

	.aboutus__message__txt__area{
		width: auto;
		margin: 0 0 20px 0;
	}

	.aboutus__heading{
		margin-bottom: 30px;
	}

	.aboutus__message__mhd{
		font-size: 18px;
		margin-bottom: 15px;
	}

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

	.aboutus__ph{
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
	}

	/*slide*/
	.gallery{
		margin-top: 40px;
	}

	.gallery__item{
		width: 190px;
		padding-top: 172px;
		margin: 0 6px;
	}

	.gallery__odd{
		margin-top: 38px;
	}
}

/*Work
--------------------------------------------------*/
.work{
	background: #E9EBE0 url(../img/work_heading_img.svg) no-repeat top 85px left calc(50% - 232px);
	border-radius: 120px 120px 0 0;
	padding: 155px 0 270px 0;
	margin-top: -120px;
}

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

.work__heading{
	margin-bottom: 74px;
}

.work__head__block{
	position: relative;
	margin-bottom: 68px;
	height: 537px;
}

.work__head__ph{
	width: 846px;
	line-height: 0;
}

.work__head__ph img{
	width: 100%;
}

.work__head__txt__area{
width: 430px;
height: 266px;
border-radius: 15px;
background: #4ea8da;
position: absolute;
right: 0;
bottom: 0;
padding: 54px 45px 0 45px;
box-sizing: border-box;
}

.work__head__txt__area::before{
	content: '';
	display: block;
	background: url(../img/work_icon_notes_01.svg) no-repeat 0 0/100%;
	width: 38px;
	height: 27px;
	position: absolute;
	top: -10px;
	left: 20px;
}

.work__head__txt__area::after{
	content: '';
	display: block;
	background: url(../img/work_icon_notes_02.svg) no-repeat 0 0/100%;
	width: 38px;
	height: 27px;
	position: absolute;
	bottom: -10px;
	right: 20px;
}

.work__head__mhd{
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
	color: #fff;
	margin-bottom: 23px;
}

.work__head__txt{
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.875;
	color: #fff;
}

.work__mhd{
	height: 201px;
	background: 
	url(../img/work_mhd_img.svg) no-repeat top 0 left 198px,
	url(../img/work_mhd_bg.svg) no-repeat top 27px left 50%;
	position: relative;
	margin-bottom: 52px;
}

.work__mhd span{
	display: block;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.66;
	text-align: center;
	color: #fff;
	width: 200px;
	position: absolute;
	top: 66px;
	left: 268px;
}

.work__list-1{
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}

.work__list-2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 99px;
}

.work__item-1{
	width: 465px;
	height: 558px;
	border-radius: 15px;
	background: #fff url(../img/work_icon_map.svg) no-repeat top 21px left 50%;
	position: relative;
	padding-top: 73px;
}

.work__item-2{
	width: 300px;
	height: 560px;
	border-radius: 15px;
	background: #fff url(../img/work_icon_car.svg) no-repeat top 24px left 50%;
	position: relative;
	padding-top: 73px;
}

.work__ttl{
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	margin-bottom: 24px;
}

.work__txt{
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.875;
	margin: 0 30px;
}

.work__item-2 .work__txt{
	margin: 0 25px;
}

.work__ph{
	width: 405px;
	line-height: 0;
	position: absolute;
	bottom: 30px;
	left: 30px;
}

.work__item-2 .work__ph{
	bottom: 34px;
	left: 26px;
}

.work__item-2 .work__ph{
	width: 250px;
}

.work__ph img{
	width: 100%;
}

.work__entry__block{
	background:
	url(../img/entry_balloon_01.webp) no-repeat top 6px left 103px/80px,
	url(../img/entry_balloon_02.webp) no-repeat top 6px right 103px/80px;
}

.work__entry__txt{
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.05em;
	line-height: 1.428;
	text-align: center;
	margin-bottom: 28px;
}

.work__entry__btn{
	width: 980px;
}

.work__entry__btn img{
	width: 100%;
}

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

@media screen and (max-width: 768px) {
	.work{
		background: #E9EBE0 url(../img/work_heading_img.svg) no-repeat top 20px left 112px/100px;
		border-radius: 30px 30px 0 0;
		padding: 30px 0 80px 0;
		margin-top: -30px;
	}

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

	.work__heading{
		margin-bottom: 40px;
	}

	.work__head__block{
		position: relative;
		margin-bottom: 40px;
		height: auto;
	}

	.work__head__ph{
		width: 100%;
		margin-bottom: 20px;
	}

	.work__head__txt__area{
	width: 100%;
	height: 200px;
	border-radius: 10px;
	background: #4ea8da;
	position: relative;
	right: auto;
	bottom: auto;
	padding: 20px;
	}

	.work__head__txt__area::before{
		width: 20px;
		height: 14px;
		top: -5px;
		left: 10px;
	}

	.work__head__txt__area::after{
		width: 20px;
		height: 14px;
		bottom: -5px;
		right: 10px;
	}

	.work__head__mhd{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.work__head__txt{
		font-size: 16px;
		line-height: 1.7;
	}

	.work__mhd{
		height: 120px;
		background: 
		url(../img/work_mhd_img.svg) no-repeat top 0 left 50%/275px,
		url(../img/work_mhd_bg.svg) no-repeat top 35% left 0/578px;
		margin-bottom: 20px;
	}

	.work__mhd span{
		font-size: 14px;
		line-height: 1.5;
		color: #fff;
		width: 180px;
		top: 38px;
		left: 50%;
		margin-left: -127px;
	}

	.work__list-1{
		display: block;
		margin-bottom: 50px;
	}

	.work__list-2{
		display: block;
		margin-bottom: 30px;
	}

	.work__item-1{
		width: 100%;
		height: auto;
		border-radius: 10px;
		position: relative;
		padding: 70px 20px 20px 20px;
		margin-bottom: 30px;
	}

	.work__item-2{
		width: 100%;
		height: auto;
		border-radius: 10px;
		padding: 70px 20px 20px 20px;
		margin-bottom: 30px;
	}

	.work__ttl{
		font-size: 18px;
		margin-bottom: 20px;
	}

	.work__txt{
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 1.6;
		margin: 0 0 20px 0;
	}

	.work__item-2 .work__txt{
		margin: 0 0 20px 0;
	}

	.work__ph{
		width: 100%;
		line-height: 0;
		position: relative;
		bottom: auto;
		left: auto;
	}

	.work__item-2 .work__ph{
		bottom: auto;
		left: auto;
	}

	.work__item-2 .work__ph{
		width: 100%;
	}

	.work__entry__block{
		background:
		url(../img/entry_balloon_01.webp) no-repeat top 45px left 0/40px,
		url(../img/entry_balloon_02.webp) no-repeat top 45px right 0/40px;
	}

	.work__entry__txt{
		font-size: 18px;
		margin-bottom: 20px;
	}

	.work__entry__btn{
		width: 100%;
	}
}

/*Interview
--------------------------------------------------*/
.interview {
	background: #fff url(../img/interview_heading_img.svg) no-repeat top 127px left calc(50% - 64px);
	border-radius: 120px 120px 0 0;
	padding: 153px 0 108px 0;
	margin-top: -120px;
}

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

.interview__heading{
	margin-bottom: 64px;
}

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

.interview__item{
	width: 445px;
	position: relative;
	margin-bottom: 37px;
}

.interview__item:nth-child(2),
.interview__item:nth-child(4){
	margin-top : -150px;
}

.interview__ph{
	width: 445px;
	height: 431px;
	background-repeat: no-repeat;
	background-position: bottom 0 right 0;
	background-size: 445px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin-bottom: 12px;
}

.interview__item:nth-child(1) .interview__ph{
	background-image: url(../img/interview_ph_01.webp);
	background-size: 458px;
}

.interview__item:nth-child(2) .interview__ph{
	background-image: url(../img/interview_ph_02.webp);
}

.interview__item:nth-child(3) .interview__ph{
	background-image: url(../img/interview_ph_03.webp);
}

.interview__item:nth-child(4) .interview__ph{
	background-image: url(../img/interview_ph_04.webp);
}

.interview__pos{
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-bottom: 8px;
}

.interview__name strong{
	font-family: 'Sofia Sans';
	font-weight: 600;
	font-size: 44px;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-right: 3px;
}

.interview__name small{
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
}

.interview__link{
	width: 199px;
	position: absolute;
	top: 455px;
	right: 41px;
}

.ipad .interview__link{
	width: 220px;
}

.interview__link a{
	display: block;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 50px;
	color: #fff;
	text-align: center;
	border-radius: 25px;
	background: #56acdb;
}

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

@media screen and (max-width: 768px) {
	.interview {
		background: #fff url(../img/interview_heading_img.svg) no-repeat top 20px left 180px/120px;
		border-radius: 30px 30px 0 0;
		padding: 30px 0 50px 0;
		margin-top: -30px;
	}

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

	.interview__heading{
		margin-bottom: 10px;
	}

	.interview__list{
		display: block;
		width: 300px;
		margin: 0 auto;
	}

	.interview__item{
		width: 100%;
		margin-bottom: 30px;
	}

	.interview__item:nth-child(2),
	.interview__item:nth-child(4){
		margin-top : 0;
	}

	.interview__ph{
		width: 300px;
		height: 266px;
		background-size: 100%;
		margin-bottom: 10px;
	}

	.interview__item:nth-child(1) .interview__ph{
		background-size: 308px;
	}


	.interview__pos{
		font-size: 14px;
		margin-bottom: 5px;
	}

	.interview__name strong{
		font-size: 30px;
	}

	.interview__name small{
		font-size: 14px;
	}

	.interview__link{
		width: 160px;
		top: auto;
		bottom: 0;
		right: -20px;
	}

	.interview__link a{
		font-size: 13px;
		line-height: 40px;
		letter-spacing: 0;
	}
}

/*modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	width: 980px;
	background: #F4F5EF;
	padding: 0 80px 63px 76px;
	border-radius: 30px;
	box-sizing: border-box;
	position: relative;
}

.modal__close__top{
	line-height: 0;
	position: absolute;
	top: 19px;
	right: 27px;
	z-index: 150;
}

.modal__header{
	position: relative;
	height: 431px;
	margin-bottom: 54px;
}

.modal__header__pos{
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
	position: absolute;
	bottom: 19px;
	left: 510px;
}

.modal__header__name{
	position: absolute;
	bottom: -25px;
	left: 510px;
}

.modal__header__name strong{
	font-family: 'Sofia Sans';
	font-weight: 600;
	font-size: 44px;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-right: 3px;
}

.modal__header__name small{
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
}

.modal__header__ph{
	height: 431px;
	background: url(../img/interview_ph_02.webp) no-repeat bottom 0 left 162px/445px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#modal-1 .modal__header__ph{
	background-image: url(../img/interview_ph_01.webp);
	background-position-x: 150px;
	background-size: 458px;
}

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

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

.modal__qa{
	margin-bottom: 163px;
}

.modal__q{
	min-height: 60px;
	display: flex;
	align-items: center;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-bottom: 14px;
	background: url(../img/modal_icon_q.svg) no-repeat 0 0;
	padding-left: 75px;
}

.modal__a{
	border-radius: 10px;
	background: #fff;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.875;
	padding: 18px 22px 16px 22px;
	margin-bottom: 31px;
}

.modal__qa__last{
	position: relative;
}

.modal__qa__last .modal__a{
	width: 518px;
}

.modal__qa__ph{
	line-height: 0;
	position: absolute;
	top: 29px;
	right: 4px;
	width: 250px;
}

.modal__qa__ph img{
	width: 100%;
}

.modal__shift{
	width: 820px;
	box-sizing: border-box;
	background: #5fc6c2;
	border-radius: 10px;
	padding: 7px 7px 7px 67px;
	position: relative;
	margin-bottom: 60px;
}

.modal__shift__ttl{
	line-height: 0;
	position: absolute;
	top: 19px;
	left: 20px;
}

.modal__shift__img{
	line-height: 0;
}

/*button*/
.modal__btn{
	position: relative;
}

.modal__btn__entry{
	width: 260px;
	height: 60px;
	margin: 0 auto;
}

.modal__btn__entry a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #1047B0 url(../img/modal_icon_link.svg) no-repeat top 50% right 24px;
	border-radius: 30px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.06em;
	color: #fff;

}

.modal__btn__close{
	width: 95px;
	position: absolute;
	top: 16px;
	right: 3px;
}

.modal__btn__close a{
	display: block;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #4e4e4e;
	background: url(../img/modal_icon_close.svg) no-repeat top 6px right 4px;
	padding-bottom: 10px;
	border-bottom: 1px solid #4E4E4E;
}

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

@media screen and (max-width: 768px) {
	.modal{
		margin: 50px auto 80px auto;
		width: 90%;
		padding: 0 20px 30px 20px;
		border-radius: 15px;
	}

	.modal__close__top{
		line-height: 0;
		position: absolute;
		top: 15px;
		right: 15px;
	}

		.modal__close__top img{
			width: 35px;
		}

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

	.modal__header__pos{
		font-size: 14px;
		bottom: auto;
		left: auto;
		position: relative;
		text-align: center;
		margin-bottom: 5px;
	}

	.modal__header__name{
		bottom: auto;
		left: auto;
		position: relative;
		text-align: center;
	}

	.modal__header__name strong{
		font-size: 30px;
	}

	.modal__header__name small{
		font-size: 14px;
	}

	.modal__header__ph{
		width: 280px;
		height: 280px;
		margin: 0 auto 10px auto;
		background-size: 100% !important;
		background-position: bottom 0 left 50% !important;
	}

	.modal__qa{
		margin-bottom: 50px;
	}

	.modal__q{
		min-height: 40px;
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 10px;
		background: url(../img/modal_icon_q.svg) no-repeat 0 0/40px;
		padding-left: 50px;
	}

	.modal__a{
		font-size: 14px;
		line-height: 1.6;
		padding: 15px;
		margin-bottom: 20px;
	}

	.modal__qa__last .modal__a{
		width: 100%;
	}

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

	.modal__shift{
		width: 100%;
		border-radius: 10px;
		padding: 5px 5px 5px 40px;
		margin-bottom: 30px;
	}

	.modal__shift__ttl{
		line-height: 0;
		position: absolute;
		top: 15px;
		left: 10px;
	}

	.modal__shift__ttl img{
		width: 20px;
	}

	.modal__shift__img{
		overflow-x: scroll;
		border-radius: 0 8px 8px 0;
	}

	.modal__shift__img img{
		height: 250px;
	}

	/*button*/
	.modal__btn__entry{
		width: 200px;
		height: 50px;
		margin-bottom: 20px;
	}

	.modal__btn__entry a{
		background: #1047B0 url(../img/modal_icon_link.svg) no-repeat top 50% right 15px/15px;
		font-size: 16px;

	}

	.modal__btn__close{
		width: 95px;
		position: relative;
		top: auto;
		right: auto;
		margin: 0 auto;
	}

	.modal__btn__close a{
		font-size: 16px;
		background: url(../img/modal_icon_close.svg) no-repeat top 4px right 4px;
		padding-bottom: 8px;
	}
}

/*Training system
--------------------------------------------------*/
.training{
	background: #F4F5EF url(../img/training_heading_img.svg) no-repeat top 112px left calc(50% + 204px);
	padding: 156px 0 219px 0;
	border-radius: 120px 120px 0 0;
}

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

.training__heading{
	margin-bottom: 65px;
}

.training__head__block{
	width: 958px;
	height: 310px;
	margin-left: auto;
	background: url(../img/training_baloon_icon.webp) no-repeat bottom 0 left 0/126px;
	margin-bottom: 62px;
}

.training__head__inner{
	width: 832px;
	height: 293px;
	border-radius: 50px;
	background: #5fc6c2;
	display: flex;
	justify-content: space-between;
	padding: 44px 54px 0 49px;
	margin-left: auto;
}

.training__head__txt{
	width: 398px;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.94;
	color: #fff;
}

.training__head__ph{
	width: 296px;
	line-height: 0;
}

.training__head__ph img{
	width: 100%;
}

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

.training__item{
	width: 470px;
	height: 348px;
	border-radius: 15px;
	padding: 28px 35px 0 35px;
	margin-bottom: 51px;
	position: relative;
	background: #fff;
}

.large__item{
	width: 100%;
	height: auto;
	padding-bottom: 3px;
}

.training__ttl{
	height: 86px;
	background-repeat: no-repeat;
	background-position: 0 0;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding-left: 108px;
	margin-bottom: 17px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.training__icon-1{
	background-image: url(../img/training_icon_01.svg);
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.training__icon-2{
	background-image: url(../img/training_icon_02.svg);
}

.training__icon-3{
	background-image: url(../img/training_icon_03.svg);
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.training__ttl span{
	font-weight: 500;
	font-size: 18px;
	line-height: 1.66;
}

.training__txt{
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.875;
	margin-bottom: 30px;
}

.training__txt strong{
	font-weight: 500;
}

.training__ph__block{
	width: 301px;
	line-height: 0;
	position: absolute;
	top: 57px;
	right: 45px;
}

.training__ph{
	margin-bottom: 11px;
}

.training__ph img{
	width: 100%;
}

@media screen and (max-width: 768px) {
	.training{
		background: #F4F5EF url(../img/training_heading_img.svg) no-repeat top 20px left 180px/100px;
		border-radius: 30px 30px 0 0;
		padding: 30px 0 80px 0;
	}

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

	.training__heading{
		margin-bottom: 30px;
	}

	.training__head__block{
		width: 100%;
		height: auto;
		margin-left: auto;
		background: url(../img/training_baloon_icon.webp) no-repeat bottom 0 left 0/70px;
		margin-bottom: 30px;
	}

	.training__head__inner{
		width: auto;
		height: auto;
		border-radius: 20px;
		display: block;
		padding: 20px;
		margin-left: 70px;
	}

	.training__head__txt{
		width: 100%;
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.training__head__ph{
		width: 100%;
	}

	.training__list{
		display: block;
	}

	.training__item{
		width: 100%;
		height: auto;
		border-radius: 10px;
		padding: 20px 20px 10px 20px!important;
		margin-bottom: 30px;
	}

	.training__ttl{
		height: 40px;
		font-size: 18px;
		padding-left: 50px;
		margin-bottom: 10px;
		background-size: 40px;
	}


	.training__ttl span{
		font-weight: 500;
		font-size: 16px;
		line-height: 1.66;
	}

	.training__txt{
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 1.6;
		margin-bottom: 20px;
	}

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

	.training__ph{
		margin-bottom: 10px;
	}
}

/*qa
--------------------------------------------------*/
.qa{
	background: #E9EBE0 url(../img/qa_bg.webp) no-repeat bottom 0 left 0/100%;
	border-radius: 120px 120px 0 0;
	padding: 195px 0 330px 0;
	margin-top: -120px;
	margin-bottom: 62px;
}

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

.qa__container::after{
	content: '';
	display: block;
	background: url(../img/qa_img.svg) no-repeat 0 0/100%;
	width: 209px;
	height: 83px;
	position: absolute;
	bottom: -301px;
	right: -272px;
}

.qa__heading{
	position: absolute;
	top: -40px;
	left: 0;
}

.qa__list{
	width: 674px;
	margin-left: auto;
}

.qa__item{
	margin-bottom: 37px;
	cursor: pointer;
}

.qa__txt__q{
	padding: 0 65px 0 65px;
	height: 75px;
	display: flex;
	align-items: center;
	border-radius: 10px;
	background: #fff url(../img/qa_icon_q.svg) no-repeat top 50% left 26px;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.66;
	position: relative;
}

.qa__txt__q::after{
	display: block;
	content: '';
	width: 13px;
	height: 13px;
	background: url(../img/qa_icon_open.svg) no-repeat 0 0/100%;
	position: absolute;
	right: 27px;
	top: 32px;
}

.qa--active .qa__txt__q:after{
	background-image: url(../img/qa_icon_close.svg);
}

.qa__txt__a{
	padding-top: 17px;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.875;
	display: none;
}

.qa__entry__btn{
	position: absolute;
	bottom: -430px;
	left: 50%;
	transform: translateX(-50%);
	width: 980px;
}

.qa__entry__btn img{
	width: 100%;
}

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

@media screen and (max-width: 768px) {
	.qa{
		background: #E9EBE0 url(../img/qa_bg.webp) no-repeat bottom 0 left 40%;
		border-radius: 30px 60px 0 0;
		padding: 30px 0 50px 0;
		margin-top: -30px;
		margin-bottom: 0;
	}

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

	.qa__container::after{
		width: 116px;
		height: 46px;
		bottom: -60px;
		left: 10px;
	}

	.qa__heading{
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 40px;
	}

	.qa__list{
		width: 100%;
		margin-left: 0;
		margin-bottom: 30px;
	}

	.qa__item{
		margin-bottom: 20px;
	}

	.qa__txt__q{
		padding: 15px 40px;
		height: auto;
		background: #fff url(../img/qa_icon_q.svg) no-repeat top 50% left 15px/12px;
		font-size: 16px;
		line-height: 1.6;
	}

	.qa__txt__q::after{
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}

	.qa__txt__a{
		padding-top: 10px;
		font-size: 14px;
		line-height: 1.7;
	}

	.qa__entry__btn{
		position: relative;
		bottom: auto;
		left: auto;
		transform: translateX(0);
		width: 100%;
	}
}

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

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

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

@media screen and (max-width: 768px) {
	.pg-top{
		bottom: 80px;
		right: 10px;
		width: 50px;
	}
}

/*フッター
--------------------------------------------------*/
.footer{
	padding: 104px 0 32px 0;
}

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

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

.footer__logo{
	width: 239px;
	line-height: 0;
}

.footer__logo img{
	width: 100%;
}

.footer__link__block{
	width: fit-content;
	padding-top: 9px;
}

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

.footerLink__item{
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-left: 51px;
	position: relative;
}

.footerLink__item::before{
	content: '';
	display: block;
	height: 14px;
	width: 1px;
	background: #000;
	position: absolute;
	left: -23px;
	top: 0;
}

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

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

.copyright{
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: right;
}

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

.footerLink__item,
.copyright{
	font-size: 13px;
}

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

	.footer__container{
		display: block;
		width: auto;
	}

	.footer__logo{
		width: 120px;
		margin: 0 auto 20px auto;
	}

	.footer__link__block{
		padding-top: 9px;
	}

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

	.footerLink__item{
		font-size: 12px;
		letter-spacing: 0;
		margin: 0 0 10px 30px;
	}

	.footerLink__item::before{
		height: 12px;
		left: -15px;
	}

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