@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..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;
}

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

.header__logo{
	position: absolute;
	top: 5px;
	left: 5px;
	z-index: 310;
	width: 146px;
}

.header__logo img{
	width: 100%;
}

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

.nav__index{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: fit-content;
	height: 100px;
}

.nav__item{
	margin-left: 36px;
	padding-top: 10px;
}

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

.nav__item a{
  font-weight : 700;
  font-size : 18px;
	line-height: 1;
	color: #000;
	white-space: nowrap;
}

.nav__btn{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 200px;
	height: 120px;
}

.nav__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: #e13838;
	line-height: 1;
	color: #fff;
}

.nav__btn--en{
  font-family : 'Rubik';
  font-weight : 600;
  font-style : italic;
  font-size : 30px;
  letter-spacing : 1.2px;
	margin-bottom: 5px;
}

.nav__btn--ja{
  font-weight : 700;
  font-size : 22px;
}

@media screen and (min-width: 769px) {
	/*hover*/
	.nav__item a:hover,
	.header__logo a:hover,
	.nav__btn 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: 110px;
	}

	.is-fixed .header__logo{
		top: 14px;
	}
	
	.is-fixed .nav__btn{
    top: 10px;
    height: 93px;
	}
}

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

	.floating__nav{
		min-width: auto;
		height: auto;
	}

	.header__logo{
		top: 5px;
		left: 0;
		width: 100px;
	}

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

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

.mv__ph{
	background: url(../img/mv_pc.webp) no-repeat 0 0/100%;
	width: 100%;
	height: 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: 63.2%;
}

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

/*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: #053d93;
		border: 1px solid rgba(255, 255, 255, 0.4);
		box-sizing: border-box;
		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: 160px;
	height: 65px;
	margin: 0 auto;
}

.sp-nav__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: #e13838;
	line-height: 1;
	color: #fff;
}

.sp-nav__btn--en{
  font-family : 'Rubik';
  font-weight : 600;
  font-style : italic;
  font-size : 20px;
  letter-spacing : 1.2px;
	margin-bottom: 5px;
}

.sp-nav__btn--ja{
  font-weight : 700;
  font-size : 16px;
}

/*break
--------------------------------------------------*/
.pc--hidden{
	display: none;
}

.sp--hidden{
	display: block;
}

@media screen and (max-width: 768px) {
	.pc--hidden{
		display: block;
	}
	
	.sp--hidden{
		display: none;
	}
}

/*heading
--------------------------------------------------*/
.content__heading{
  font-size : 42px;
  line-height : 1;
	font-weight: 900;
  letter-spacing : 12.6px;
  color : #fff;
	position: relative;
}

@media screen and (max-width: 768px) {
.content__heading{
		font-size : 22px;
		letter-spacing : 2px;
	}
}

/*feature
--------------------------------------------------*/
.feature{
	background: #053d93;
	padding: 13px 0 90px 0;
}

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

.feature__heading{
	background: url(../img/feature_heading.svg) no-repeat top 0 left 3px;
	width: 780px;
	padding: 166px 0 0 4px;
	margin-bottom: 78px;
}

.feature__heading::before{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 157px;
	left: 4px;
}

.feature__mhd{
  font-weight : 700;
  font-size : 36px;
  line-height : 47px;
  letter-spacing : 10.8px;
  color : #fff;
	writing-mode: vertical-rl;
	position: absolute;
	top: 20px;
	right: 4px;
}

.feature__list{
	width: 800px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.feature__item{
	width: 390px;
	height: 250px;
	border: 3px solid #fff;
	border-radius: 10px;
	position: relative;
	margin-bottom: 32px;
	padding: 27px 31px 0 32px;
}

.feature__ttl{
  font-size : 32px;
  line-height : 1.28;
  color : #fff;
	font-weight: 900;
	margin-bottom: 15px;
}

.feature__txt{
  font-weight : 700;
  font-size : 16px;
  line-height : 1.825;
  color : #fff;
}

.feature__no{
	line-height: 0;
	position: absolute;
	top: -20px;
	right: 18px;
}


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

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


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

.slick-slider div {
	transition: none;
}

.gallery__item{
	width: 473px;
	height: 0 !important;
	padding-top: 266px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	margin: 0 8px 0 9px;
	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__item-9{
	background-image: url(../img/gallery_09.webp);
}

.gallery__item-10{
	background-image: url(../img/gallery_10.webp);
}

.gallery__item-11{
	background-image: url(../img/gallery_11.webp);
}

.gallery__item-12{
	background-image: url(../img/gallery_12.webp);
}

.gallery__item-13{
	background-image: url(../img/gallery_13.webp);
}

.gallery__item-14{
	background-image: url(../img/gallery_14.webp);
}

.gallery__item-15{
	background-image: url(../img/gallery_15.webp);
}

.gallery__item-16{
	background-image: url(../img/gallery_16.webp);
}

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

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

	.feature__heading{
		background: url(../img/feature_heading.svg) no-repeat top 0 left 0/293px;
		width: 293px;
		padding: 75px 0 0 0;
		margin: 0 auto 30px auto;
		text-align: center;
	}

	.feature__heading::before{
		top: 65px;
		left: 0;
	}

	.feature__mhd{
		font-size : 18px;
		line-height : 1.4;
		letter-spacing : 2px;
		writing-mode: horizontal-tb;
		position: relative;
		top: auto;
		right: auto;
		margin-bottom: 40px;
	}

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

	.feature__item{
		width: 100%;
		height: auto;
		border: 2px solid #fff;
		margin-bottom: 40px;
		padding: 20px;
	}

	.feature__ttl{
		font-size : 16px;
		line-height : 1.5;
		margin-bottom: 10px;
	}

	.feature__txt{
		font-size : 14px;
		line-height : 1.6;
	}

	.feature__no{
		top: -15px;
		right: 10px;
	}

	.feature__no img{
		height: 25px;
	}


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

	.gallery__item{
		width: 196px;
		padding-top: 110px;
		margin: 0 5px;
	}
}

/*Work
--------------------------------------------------*/
.work{
	background: #f3f3f3 url(../img/work_bg_ph.webp) no-repeat 0 0/100%;
	padding: 155px 0 60px 0;
}

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

.work__heading{
	background: url(../img/work_heading.svg) no-repeat top 0 left 0;
	width: 464px;
	margin: 0 auto 56px auto;
	padding: 169px 0 0 9px;
	text-align: center;
}

.work__heading::before{
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 154px;
	left: 1px;
}

.work__block{
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
	margin-bottom: 40px;
	padding: 40px 60px;
}

.work__mhd{
	display: flex;
	align-items: center;
	min-height: 70px;
	padding: 0 0 0 90px;
  font-weight : 700;
  font-size : 46px;
  line-height : 1;
  letter-spacing : 9.2px;
  color : #053D93;
	margin-bottom: 36px;
	background: url(../img/work_no_01.svg) no-repeat 0 0;
}

.work__mhd__no-2{
	background-image: url(../img/work_no_02.svg);
}

.work__note{
	display: flex;
	margin-bottom: 20px;
}

.work__note dt{
	display: flex;
	width: 110px;
	height: 50px;
	justify-content: center;
	align-items: center;
  font-weight : 700;
  font-size : 16px;
  line-height : 1;
  color : #fff;
	background: #053d93;
	border-radius: 5px;
	margin-right: 15px;
}

.work__note dd{
	display: flex;
	width: 360px;
	height: 50px;
	align-items: center;
  font-size : 14px;
  line-height : 1.071;
	font-weight: 500;
}

.work__detail__block{
	border: 5px solid #f3f3f3;
	border-radius: 10px;
	margin-bottom: 20px;
	padding: 25px 35px 25px 25px;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.work__detail__ph__area{
	width: 300px;
	line-height: 0;
}

.work__detail__ph img{
	width: 100%;
}

.work__detail__txt__area{
	width: 570px;
}

.work__detail__btn{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 200px;
	height: 60px;
}

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

.work__detail__ttl{
  font-weight : 700;
  font-size : 30px;
  line-height : 1;
	margin-bottom: 1px;
}

.work__detail__spec{
  font-weight : 700;
  font-size : 18px;
  line-height : 1.66;
	margin-bottom: 12px;
}

.work__detail__tbl{
	width: 100%;
}

.work__detail__tbl th{
  font-weight : 700;
  font-size : 16px;
  line-height : 1.4;
  color : #053D93;
	border-bottom: 1px solid #ddd;
	width: 107px;
	padding-left: 2px;
	padding-top: 7px;
	padding-bottom: 6px;
	text-align: left;
}

.work__detail__tbl td{
  font-size : 16px;
  line-height : 1.63;
	border-bottom: 1px solid #ddd;
	width: auto;
	padding-bottom: 6px;
	padding-top: 7px;
	vertical-align: middle;
}

.work__flow__btn{
	width: 420px;
	height: 100px;
	margin: 30px auto 0 auto;
}

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

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

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

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

	.work__heading{
		background: url(../img/work_heading.svg) no-repeat top 0 left 0/100%;
		width: 178px;
		margin: 0 auto 30px auto;
		padding: 74px 0 0 0px;
	}

	.work__heading::before{
		height: 2px;
		top: 64px;
		left: 0;
	}

	.work__block{
		background: #fff;
		box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
		margin-bottom: 30px;
		padding: 20px;
	}

	.work__mhd{
		min-height: 40px;
		padding: 0 0 0 50px;
		font-size : 20px;
		letter-spacing : 3px;
		margin-bottom: 20px;
		background: url(../img/work_no_01.svg) no-repeat 0 0/auto 100%;
	}

	.work__note{
		margin-bottom: 20px;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.work__note dt{
		display: flex;
		width: 25%;
		height: 50px;
		font-size : 12px;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.work__note dd{
		display: flex;
		width: 70%;
		height: auto;
		font-size : 12px;
		line-height : 1.2;
		margin-bottom: 10px;
	}

	.work__detail__block{
		border: 2px solid #f3f3f3;
		border-radius: 10px;
		margin-bottom: 20px;
		padding: 20px;
		display: block;
	}

	.work__detail__ph__area{
		width: 100%;
		margin-bottom: 10px;
	}

	.work__detail__txt__area{
		width: 100%;
	}

	.work__detail__btn{
		position: relative;
		top: auto;
		right: auto;
		width: 160px;
		height: 50px;
		margin: 0 auto;
	}

	.work__detail__ttl{
		font-size : 20px;
		margin-bottom: 5px;
	}

	.work__detail__spec{
		font-size : 16px;
		margin-bottom: 10px;
	}

	.work__detail__tbl{
		margin-bottom: 20px;
	}

	.work__detail__tbl th{
		width: 90px;
		padding-left: 0;
		padding-top: 5px;
		padding-bottom: 4px;
		font-size: 14px;
	}

	.work__detail__tbl td{
		padding-top: 5px;
		padding-bottom: 4px;
		font-size: 14px;
	}

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

	.work__flow__btn a{
		background: #e13838 url(../img/work_arrow_02.svg) no-repeat top 50% right 14px/6px;
		border-radius: 10px;
		font-size : 18px;
	}
}

/*modal flow
--------------------------------------------------*/
.flow__modal{
	margin: 50px auto;
	width: 800px;
	border: 1px solid #053d93;
	background: #fff;
	padding: 40px 40px 50px 40px;
	box-sizing: border-box;
	position: relative;
}

.flow__modal__ttl{
	height: 70px;
	padding: 6px 0 0 90px;
	margin-bottom: 26px;
	background: url(../img/work_no_01.svg) no-repeat 0 0;
  font-weight : 700;
  font-size : 36px;
  line-height : 1;
  letter-spacing : 3.6px;
  color : #053D93;
	display: flex;
	align-items: center;
}

.flow__modal__no-2{
	background-image: url(../img/work_no_02.svg);
}

.flow__modal__day{
  font-weight : 700;
  font-size : 20px;
	line-height: 1;
	position: relative;
	margin-bottom: 20px;
	padding-left: 2px;
}

.flow__modal__day::after{
	content: '';
	display: block;
	width: 656px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 12px;
	right: 0;
}

.flow__modal__list{
	margin: 0 25px 38px 62px;
}

.flow__modal__item{
	height: 133px;
	padding-left: 239px;
	margin-bottom: 10px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 200px;
}

.flow__modal__time{
	font-weight : 700;
  font-size : 29px;
	line-height: 1;
  color : #E13838;
	margin-bottom: 14px;
}

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

.flow__modal__txt-2{
  font-size : 16px;
  line-height : 1.25;
}

/*work 1*/
.flow__ph-1{
	background-image: url(../img/flow_modal_ph_01_01.webp);
}

.flow__ph-2{
	background-image: url(../img/flow_modal_ph_01_02.webp);
}

.flow__ph-3{
	background-image: url(../img/flow_modal_ph_01_03.webp);
}

.flow__ph-4{
	background-image: url(../img/flow_modal_ph_01_04.webp);
}

.flow__ph-5{
	background-image: url(../img/flow_modal_ph_01_05.webp);
}

.flow__ph-6{
	background-image: url(../img/flow_modal_ph_01_06.webp);
}

.flow__ph-7{
	background-image: url(../img/flow_modal_ph_01_07.webp);
}

.flow__ph-8{
	background-image: url(../img/flow_modal_ph_01_08.webp);
}

/*work2*/
.flow__ph-9{
	background-image: url(../img/flow_modal_ph_02_01.webp);
}

.flow__ph-10{
	background-image: url(../img/flow_modal_ph_02_02.webp);
}

.flow__ph-11{
	background-image: url(../img/flow_modal_ph_02_03.webp);
}

.flow__ph-12{
	background-image: url(../img/flow_modal_ph_02_04.webp);
}

.flow__ph-13{
	background-image: url(../img/flow_modal_ph_02_05.webp);
}

.flow__ph-14{
	background-image: url(../img/flow_modal_ph_02_06.webp);
}

.flow__ph-15{
	background-image: url(../img/flow_modal_ph_02_07.webp);
}

.flow__ph-16{
	background-image: url(../img/flow_modal_ph_02_08.webp);
}

.flow__ph-17{
	background-image: url(../img/flow_modal_ph_02_09.webp);
}

.flow__ph-18{
	background-image: url(../img/flow_modal_ph_02_10.webp);
}

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

.modal__btn p{
	width: 200px;
	height: 60px;
}

.modal__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
  font-weight : 700;
  font-size : 16px;
  line-height : 1;
  color : #fff;
	border-radius: 10px;
}

.modal__btn__entry a{
	background: #e13838;
}

.modal__btn__close a{
	background: #053d93;
}

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

@media screen and (max-width: 768px) {
	.flow__modal{
		margin: 30px auto 50px auto;
		width: 90%;
		padding: 20px;
	}

	.flow__modal__ttl{
		height: 40px;
		padding: 6px 0 0 50px;
		margin-bottom: 20px;
		background-size: 40px;
		font-size : 18px;
		letter-spacing : 1px;
	}

	.flow__modal__day{
		font-size : 16px;
		margin-bottom: 15px;
		padding-left: 0;
	}

	.flow__modal__day::after{
		width: 80%;
		top: 8px;
	}

	.flow__modal__list{
		margin: 0 0 30px 0;
	}

	.flow__modal__item{
		height: auto;
		min-height: 67px;
		padding-left: 114px;
		margin-bottom: 15px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100px;
	}

	.flow__modal__time{
		font-size : 18px;
		margin-bottom: 10px;
	}

	.flow__modal__txt-1{
		font-size : 16px;
		margin-bottom: 5px;
	}

	.flow__modal__txt-2{
		font-size : 14px;
		line-height : 1.25;
	}

	.modal__btn{
		width: 180px;
		display: block;
	}

	.modal__btn p{
		width: 100%;
		height: 50px;
		margin-bottom: 10px;
	}

	.modal__btn a{
		font-size : 16px;
		line-height : 1;
		color : #fff;
		border-radius: 10px;
	}
}


/*middle entry
--------------------------------------------------*/
.entry__content__middle{
	padding: 95px 0 100px 0;
	width: 980px;
	margin: 0 auto;
}

.entry__content__middle__txt{
  font-weight : 700;
  font-size : 34px;
  line-height : 1.32;
  letter-spacing : 1.7px;
	text-align: center;
	margin-bottom: 20px;
}

.entry__content__middle__btn{
	height: 240px;
}

.entry__content__middle__btn a{
	display: flex;
	height: 100%;
	align-items: center;
	background:
	url(../img/entry_btn_arrow.svg) no-repeat top 50% right 30px,
	url(../img/entry_ph.webp) no-repeat top 15px left 15px/400px,
	#053d93;
	border-radius: 10px;
  font-weight : 700;
  font-size : 37px;
  line-height : 1;
  color : #fff;
	padding-left: 483px;
}

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

@media screen and (max-width: 768px) {
	.entry__content__middle{
		padding: 50px 20px;
		width: auto;
	}

	.entry__content__middle__txt{
		font-size : 18px;
		line-height : 1.32;
		letter-spacing : 1px;
		margin-bottom: 20px;
	}

	.entry__content__middle__btn{
		width: 300px;
		height: 100px;
		margin: 0 auto;
	}

	.entry__content__middle__btn a{
		display: flex;
		height: 100%;
		align-items: center;
		background:
		url(../img/entry_btn_arrow.svg) no-repeat top 50% right 10px/6px,
		url(../img/entry_ph.webp) no-repeat top 50% left 10px/125px,
		#053d93;
		border-radius: 10px;
		font-weight : 700;
		font-size : 18px;
		line-height : 1.4;
		color : #fff;
		padding-left: 145px;
	}

}

/*Interview
--------------------------------------------------*/
.interview {
	background: #f2f2f2;
	padding: 152px 0 183px 0;
}

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

.interview__heading{
	background: url(../img/interview_heading.svg) no-repeat top 0 left 0;
	width: 210px;
	height: 936px;
	position: absolute;
	top: -59px;
	left: -89px;
	padding-top: 13px;
	letter-spacing: 8px;
	writing-mode: vertical-rl;
	color: #e13838;
}

.interview__list{
	width: 810px;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.interview__item{
	width: 380px;
	margin-bottom: -30px;
	position: relative;
}

.interview__item:nth-child(odd){
	margin-top: 80px;
}

.interview__no{
	position: absolute;
	top: 25px;
	right: 28px;
}

.interview__name__box{
	padding: 110px 0 0 178px;
	height: 250px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 10px;
	margin-bottom: 15px;
	background-position-y: bottom 0;
	background-repeat: no-repeat;
}

.interview__item:nth-child(1) .interview__name__box{
	background-image: url(../img/interview_img_01.svg);
	background-position-x: 8px;
}

.interview__item:nth-child(2) .interview__name__box{
	background-image: url(../img/interview_img_02.svg);
	background-position-x: 17px;
}

.interview__item:nth-child(3) .interview__name__box{
	background-image: url(../img/interview_img_03.svg);
	background-position-x: 3px;
}

.interview__item:nth-child(4) .interview__name__box{
	background-image: url(../img/interview_img_04.svg);
	background-position-x: 5px;
}

.interview__pos{
  font-size : 16px;
  line-height : 1.218;
	font-weight: 500;
  color : #333;
	margin-bottom: 7px;
}

.interview__name{
	font-weight: 500;
  color : #333;
	line-height: 1;
	display: flex;
	align-items: flex-end;
}

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

.interview__name small{
  font-size : 16px;
	padding-bottom: 3px;
}

.interview__txt{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.25;
  color : #333;
	margin-bottom: 23px;
}

.interview__link{
	width: 240px;
	height: 60px;
	margin: 0 auto;
}

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

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

@media screen and (max-width: 768px) {
	.interview {
		background: #f2f2f2;
		padding: 50px 0;
	}

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

	.interview__heading{
		background: url(../img/interview_heading.svg) no-repeat top 0 left 0/56px;
		width: 85px;
		height: 356px;
		position: absolute;
		top: 0;
		left: 0;
		padding-top: 0;
		letter-spacing: 2px;
	}

	.interview__list{
		width: 310px;
		padding-left: 60px;
		margin: 0 auto;
		display: block;
	}

	.interview__item{
		width: 100%;
		margin-bottom: 30px;
		margin-top: 0 !important;
	}

	.interview__no{
		top: 15px;
		right: 15px;
	}

	.interview__no img{
		width: 30px;
	}

	.interview__name__box{
		padding: 50px 0 0 80px;
		height: 130px;
		background-size: 70px;
		background-position-x: 2px !important;
	}

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

	.interview__name strong{
		font-size : 24px;
		margin-right: 3px;
	}

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

	.interview__txt{
		font-size : 16px;
		line-height : 1.4;
		margin-bottom: 10px;
	}
}

/*interview modal
--------------------------------------------------*/
.interview__modal{
	margin: 50px auto;
	width: 800px;
	background: #fff;
	border: 1px solid #053d93;
	padding: 0 0 40px 0;
	box-sizing: border-box;
	position: relative;
}

.interview__modal__header{
	position: relative;
	height: 279px;
	background: #f3f3f3;
	margin-bottom: 58px;
	padding-top: 46px;
	box-sizing: border-box;
}

#interview__modal-3 .interview__modal__header{
	height: 299px;
}

.interview__modal__no{
	line-height: 0;
	position: absolute;
	top: 9px;
	right: 9px;
}

.interview__modal__img{
	line-height: 0;
	position: absolute;
	bottom: 0;
	left: 23px;
}

#interview__modal-2 .interview__modal__img{
	left: 33px;
}

#interview__modal-3 .interview__modal__img{
	left: 20px;
}

#interview__modal-4 .interview__modal__img{
	left: 21px;
}

.interview__modal__message{
	width: 485px;
	font-weight : 700;
  font-size : 30px;
  line-height : 1.33;
  color : #053D93;
	margin: 0 0 16px 202px;
}

.interview__modal__pos{
	font-weight: 500;
  font-size : 16px;
  line-height : 1.218;
	margin: 0 0 3px 241px;
}

.interview__modal__name{
	line-height: 1;
	font-weight: 500;
	margin-left: 241px;
}

.interview__modal__name strong{
	 font-size : 30px;
	 margin-right: 4px;
}

.interview__modal__name small{
	font-size : 16px;
}

.modal__qa{
	padding: 0 39px 3px 39px;
	position: relative;
}

.modal__qa__box{
	margin-bottom: 35px;
	padding-bottom: 37px;
	border-bottom: 1px solid #000;
}

.modal__qa__short{
	width: 474px;
}

.modal__q{
	position: relative;
  font-weight : 700;
  font-size : 20px;
	line-height: 1.35;
  color : #053D93;
	padding-left: 43px;
	margin-bottom: 9px;
}

.modal__q span{
	position: absolute;
	top: -2px;
	left: 0;
}

.modal__a{
  font-size : 16px;
  line-height : 1.56;
	padding-left: 43px;
	padding-right: 20px;
}

.interview__modal__ph{
	line-height: 0;
	position: absolute;
	top: -1px;
	right: 40px;
	width: 220px;
}

.interview__modal__ph img{
	width: 100%;
}

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

	.interview__modal__header{
		position: relative;
		height: 170px !important;
		background: #f3f3f3;
		margin-bottom: 15px;
		padding-top: 20px;
	}

	.interview__modal__no{
		line-height: 0;
		position: absolute;
		top: 5px;
		right: 5px;
	}

	.interview__modal__no img{
		width: 35px;
	}

	.interview__modal__img{
		left: 5px !important;
	}

	.interview__modal__img img{
		width: 75px;
	}

	#interview__modal-3 .interview__modal__header{
		height: 190px !important;
	}

	.interview__modal__message{
		width: auto;
		font-weight : 700;
		font-size : 16px;
		line-height : 1.33;
		color : #053D93;
		margin: 0 50px 10px 90px;
	}

	.interview__modal__pos{
		font-size : 12px;
		line-height : 1.218;
		margin: 0 0 3px 90px;
	}

	.interview__modal__name{
		margin-left: 90px;
	}

	.interview__modal__name strong{
		font-size : 22px;
		margin-right: 4px;
	}

	.interview__modal__name small{
		font-size : 12px;
	}

	.modal__qa{
		padding: 0 10px 0 20px;
		margin-bottom: 30px;
	}

	.modal__qa__box{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.modal__qa__short{
		width: 100%;
	}

	.modal__q{
		font-size : 16px;
		line-height: 1.35;
		padding-left: 25px;
		margin-bottom: 5px;
	}

	.modal__q span{
		top: -2px;
	}

	.modal__a{
		font-size : 14px;
		line-height : 1.45;
		padding-left: 25px;
		padding-right: 10px;
	}

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

/*Welfare
--------------------------------------------------*/
.welfare{
	background: url(../img/welfare_bg.webp) no-repeat 0 0/cover;
	padding: 154px 0 110px 0;
}

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

.welfare__container::before{
	content: '';
	display: block;
	background: url(../img/welfare_img.webp) no-repeat 0 0/100%;
	width: 538px;
	height: 267px;
	position: absolute;
	top: -329px;
	right: -154px;
}

.welfare__heading{
	background: url(../img/welfare_heading.svg) no-repeat top 0 left 0;
	width: 734px;
	margin: 0 auto 53px auto;
	padding: 175px 0 8px 0;
	text-align: center;
}

.welfare__heading::before{
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 162px;
	left: 0;
}

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

.welfare__item{
	width: 300px;
	height: 370px;
	padding-top: 152px;
	margin-bottom: 40px;
	background: #fff;
	background-repeat: no-repeat;
	background-position-x: 50%;
	background-position-y: 36px;
	border-radius: 10px;
	text-align: center;
}

.welfare__item:nth-child(n+4){
	height: 383px;
}

.welfare__item:nth-child(1){
	background-image: url(../img/welfare_icon_01.svg);
}

.welfare__item:nth-child(2){
	background-image: url(../img/welfare_icon_02.svg);
}

.welfare__item:nth-child(3){
	background-image: url(../img/welfare_icon_03.svg);
}

.welfare__item:nth-child(4){
	background-image: url(../img/welfare_icon_04.svg);
	background-position-y: 33px;
}

.welfare__item:nth-child(5){
	background-image: url(../img/welfare_icon_05.svg);
	background-position-y: 45px;
}

.welfare__item:nth-child(6){
	background-image: url(../img/welfare_icon_06.svg);
}

.welfare__ttl{
  font-weight : 700;
  font-size : 24px;
  line-height : 1;
  color : #053D93;
	margin-bottom: 12px;
	text-align: center;
}

.welfare__att{
  font-weight : 700;
  font-size : 16px;
  line-height : 1.218;
  color : #053D93;
}

.welfare__txt-1,
.welfare__txt-2{
	width: 240px;
	margin: 0 auto;
  font-size : 16px;
	font-weight: 500;
  line-height : 1.218;
  color : #333;
	margin-top: 24px;
}

.welfare__txt-2{
	line-height: 1.53;
	margin-top: 41px;
}

@media screen and (max-width: 768px) {
	.welfare{
		padding: 70px 0 20px 0;
	}

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

	.welfare__container::before{
		width: 202px;
		height: 101px;
		top: -120px;
		right: 10px;
	}

	.welfare__heading{
		background: url(../img/welfare_heading.svg) no-repeat top 0 left 0/100%;
		width: 275px;
		margin: 0 auto 30px auto;
		padding: 77px 0 0 0;
	}

	.welfare__heading::before{
		height: 2px;
		top: 67px;
	}

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

	.welfare__item{
		width: 100%;
		height: auto !important;
		padding: 90px 20px 20px 20px;
		margin-bottom: 30px;
		background-position-y: 20px !important;
		background-size: auto 50px;
	}

	.welfare__item:nth-child(5){
		background-size: auto 40px;
		background-position-y: 30px !important;
	}

	.welfare__item:nth-child(6){
		background-position-y: 30px !important;
		padding-top: 100px;
	}

	.welfare__ttl{
		font-size : 18px;
		margin-bottom: 12px;
	}

	.welfare__att{
		font-size : 14px;
	}

	.welfare__txt-1,
	.welfare__txt-2{
		width: auto;
		font-size : 14px;
		line-height : 1.4;
		margin-top: 10px;
	}

	.welfare__txt-2{
		line-height: 1.4;
		margin-top: 10px;
	}

}

/*qa
--------------------------------------------------*/
.qa{
	background:
	url(../img/qa_bg_top.webp) no-repeat top 0 right 0,
	url(../img/qa_bg_btm.webp) no-repeat bottom 0 left 0;
	padding: 155px 0 185px 0;
}

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


.qa__heading{
	background: url(../img/qa_heading.svg) no-repeat top 0 left 4px;
	width: 414px;
	margin: 0 auto 155px auto;
	padding: 170px 0 0 9px;
	text-align: center;
	color: #053d93;
}

.qa__heading::before{
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: #053d93;
	position: absolute;
	top: 156px;
	left: 0;
}

.qa__list{
	width: 880px;
	margin: 0 auto;
}

.qa__item{
	margin-bottom: 46px;
	padding-bottom: 37px;
	border-bottom: 2px solid #ddd;
	cursor: pointer;
}

.qa__txt__q{
  font-weight : 700;
  font-size : 34px;
  line-height : 1.32;
  color : #053D93;
	padding-right: 50px;
	position: relative;
}

.qa__txt__q::after{
	display: block;
	content: '';
	width: 37px;
	height: 37px;
	background: url(../img/qa_icon_open.svg) no-repeat 0 0/100%;
	position: absolute;
	right: 1px;
	top: 52%;
	transform:translateY(-50%);
}

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

.qa__txt__a{
  font-size : 18px;
  line-height : 1.63;
  color : #333;
	display: none;
}

.qa__txt__a span{
	display: block;
	padding-top: 19px;
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	.qa{
		background:
		url(../img/qa_bg_top.webp) no-repeat top 0 right 0/290px,
		url(../img/qa_bg_btm.webp) no-repeat bottom 0 left 0/219px;
		padding: 50px 0 30px 0;
	}

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


	.qa__heading{
		background: url(../img/qa_heading.svg) no-repeat top 0 left 0/100%;
		width: 154px;
		margin: 0 auto 30px auto;
		padding: 75px 0 0 9px;
		text-align: center;
		color: #053d93;
	}

	.qa__heading::before{
		height: 2px;
		top: 65px;
	}

	.qa__list{
		width: auto;
	}

	.qa__item{
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px solid #ddd;
	}

	.qa__txt__q{
		font-weight : 700;
		font-size : 16px;
		line-height : 1.45;
		padding-right: 30px;
	}

	.qa__txt__q::after{
		width: 15px;
		height: 15px;
		right: 0;
	}

	.qa__txt__a{
		font-size : 14px;
		line-height : 1.45;
	}

	.qa__txt__a span{
		padding-top: 10px;
		margin-bottom: 5px;
	}
}

/*foot enty
--------------------------------------------------*/
.entry__content__foot{
	background: url(../img/entry_bg.webp) no-repeat 0 0/cover;
	height: 410px;
	padding-top: 115px;
	box-sizing: border-box;
}

.entry__content__foot__btn{
	width: 600px;
	height: 180px;
	margin: 0 auto;
}

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

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

@media screen and (max-width: 768px) {
	.entry__content__foot{
		height: 240px;
		padding-top: 80px;
	}

	.entry__content__foot__btn{
		width: 280px;
		height: 80px;
	}

	.entry__content__foot__btn a{
		background: #e13838 url(../img/entry_btn_arrow.svg) no-repeat top 50% right 15px/6px;
		font-size : 20px;
	}
}

/*footer
--------------------------------------------------*/
.footer{
	border-top: 1px solid #fff;
	background: #053d93;
	position: relative;
}

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

.footer__container{
	display: flex;
	width: 980px;
	height: 243px;
	margin: 0 auto;
	justify-content: flex-end;
	align-items: center;
}

.footer__logo{
	width: 152px;
	line-height: 0;
	position: absolute;
	top: 45px;
	left: 114px;
}

.footer__logo img{
	width: 100%;
}

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

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

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

.footerLink__item::before{
	content: '';
	display: block;
	height: 14px;
	width: 2px;
	background: #fff;
	position: absolute;
	left: -11px;
	top: 2px;
}

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

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

.copyright{
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
}

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

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

@media screen and (max-width: 768px) {
	.footer__container{
		display: block;
		width: auto;
		height: auto;
		padding: 30px 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.footer__logo{
		width: 70px;
		position: relative;
		top: auto;
		left: auto;
		margin: 0 auto 20px auto;
	}

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

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

	.footerLink__item{
		font-weight : 500;
		font-size : 12px;
		line-height : 2;
		margin-left: 16px;
	}

	.footerLink__item::before{
		height: 12px;
		width: 1px;
		left: -9px;
		top: 7px;
	}

	.copyright{
		font-weight : 500;
		font-size : 10px;
		text-align: center;
	}
}