@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic: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 Maru Gothic','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;
		background: url(../img/mv_bg.svg) no-repeat top 102px left -149px;
	}
}

@media screen and (max-width: 768px) {
	body{
		background: url(../img/mv_bg.svg) no-repeat top 110px left -20px/280px;
	}
}

.ipad{
	min-width: 1200px;
}

a,
a img{
	text-decoration: none;
	transition: 0.3s ease-out;
}

.clearfix:after {
  content:" ";
  display:block;
  clear:both;
}

/*ヘッダー
--------------------------------------------------*/
.header{
	position: relative;
	padding-top: 90px;
}

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

.header__logo{
	position: absolute;
	top: 22px;
	left: 30px;
	z-index: 310;
	width: 260px;
}

.header__logo img{
	width: 100%;
}

.header__nav{
	position: absolute;
	top: 0;
	right: 58px;
}

.nav__index{
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.nav__item{
	margin-left: 57px;
	padding-top: 4px;
}

.nav__item a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 90px;
	white-space: nowrap;
	line-height: 1;
  font-weight : 700;
  font-size : 16px;
  color : #444;
}

@media screen and (max-width: 1400px) {

}

@media screen and (min-width: 769px) {
	/*hover*/
	.nav__item a:hover,
	.header__logo a:hover{
		opacity: .6;
	}

	/*固定化*/
	.is-fixed{
		position: fixed;
		z-index: 500;
		background: rgba(255, 255, 255, 0.95);
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
	}
}

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

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

	.header__logo{
		top: 19px;
		left: 20px;
		width: 150px;
	}

	.header__nav{
		display: none;
	}
}

/*メインビジュアル
--------------------------------------------------*/
.mainvisual{
	position: relative;
	width: 100%;
	z-index: 200;
}

.mainvisual:before{
	content: '';
	display: block;
	padding-top:48.75%;
}

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

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

	.mv__ph{
		left: 2%;
		background-image: url(../img/mv_sp.webp);
		width: 94.666%;
		padding-top: 66.66%;
	}
}

/*SPナビ
--------------------------------------------------*/
/*ハンバーガー SP*/
@media screen and (max-width: 768px) {
	.hamburger{
		position: fixed;
		top: 8px;
		right: 15px;
    width: 45px;
    height: 45px;
		z-index: 700;
		background : #b41944;
		border-radius: 30px;
	}
	
	.hamburger__inner{
		position: absolute;
		top: 20px;
		left: 10px;
		width: 25px;
		height: 6px;
		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;
		background: transparent;
		}

	.hamburger__line--t.nav--active{
		top: 3px;
		transform: rotate(45deg);
	}

	.hamburger__line--c.nav--active{
		transform:scaleX(0);
	}

	.hamburger__line--b.nav--active{
		top:3px;
		transform: rotate(135deg);
		background: #fff;
	}
}

/*ナビ*/
.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: 200px;
	margin: 0 auto;
}

.sp-nav__item{
	margin-bottom: 15px;
	padding-bottom: 15px;
	text-align: center;
}

.sp-nav__item:last-child{
	border: none;
}

.sp-nav__item a{
	line-height: 1;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
}

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

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

.sp-nav__btn__item a{
	height: 60px;
	background: #612076;
	color: #fff;
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 16px;
	font-weight: 700;
}

.sp-nav__btn__item:nth-child(2) a{
	background: #b41944;
}

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

.sp--hidden{
	display: block;
}

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

/*コンテンツフェードアップ
--------------------------------------------------*/
.content-fadeinup{
	transition: .5s ease-in;
	opacity: 0;
	transform: translateY(50px);
}

/*見出し
--------------------------------------------------*/
.content__heading{
	line-height: 1;
	display: flex;
	flex-direction: column;
}

.content__heading--en{
  font-weight : 700;
  font-size : 20px;
  color : #612076;
	margin-bottom: 16px;
}

.content__heading--ja{
  font-weight : 700;
  font-size : 36px;
}

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

	.content__heading--ja{
		font-size : 24px;
		line-height: 1.4;
	}
}

/*about
--------------------------------------------------*/
.about{
	background:
		url(../img/about_heading.svg) no-repeat top 183px left calc(50% - 204px),
		url(../img/about_bg.svg) no-repeat top 360px left calc(50% + 480px);
	padding: 95px 0 0 0;
	height: 794px;
}

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

.about__container::after{
	content: '';
	display: block;
	background: url(../img/about_ph.webp) no-repeat 0 0/100%;
	width: 401px;
	height: 375px;
	position: absolute;
	top: 122px;
	right: -146px;
}

.about__heading{
	text-align: center;
	margin-bottom: 86px;
}

.about__read{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.7;
  color : #612076;
	margin-bottom: 31px;
}

.about__txt{
  font-size : 16px;
  line-height : 2.25;
	width: 600px;
}

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

@media screen and (max-width: 768px) {
	.about{
		background:url(../img/about_heading.svg) no-repeat top 130px left 50% /280px;
		padding: 50px 0 0 0;
		height: auto;
	}

	.about__container{
		width: auto;
		padding: 0 20px 350px 20px;
	}

	.about__container::after{
		width: 200px;
		height: 187px;
		top: auto;
		bottom: 160px;
		right: auto;
		left: 50%;
		margin-left: -120px;
	}

	.about__container::before{
		content: '';
		display: block;
		background: url(../img/about_bg.svg) no-repeat 0 0/100%;
		width: 200px;
		height: 200px;
		position: absolute;
		left: 50%;
		bottom: 140px;
		margin-left: -100px;
	}

	.about__heading{
		margin-bottom: 30px;
	}

	.about__read{
		font-size : 18px;
		line-height : 1.6;
		margin-bottom: 20px;
	}

	.about__txt{
		font-size : 16px;
		line-height : 1.8;
		width: auto;
	}
}


/*merit
--------------------------------------------------*/
.merit{
	background:
	url(../img/merit_bg_img_01.webp) no-repeat top 56px left calc(50% + 272px)/678px,
  url(../img/merit_bg_img_02.webp) no-repeat top 78px left calc(50% - 537px)/72px,
  url(../img/merit_bg_img_03.webp) no-repeat top 366px left calc(50% - 288px)/70px,
	url(../img/merit_bg_img_04.svg) no-repeat top 401px left calc(50% - 591px),
  url(../img/merit_bg_ph.webp) no-repeat top 623px left calc(50% + 578px)/293px,
  url(../img/merit_bg.webp) no-repeat 0 0/100%;
	padding: 217px 0 27px 0;
	margin-top: -193px;
}

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

.merit__heading{
	position: absolute;
	top: -43px;
	left: 8px;
}

.merit__heading .content__heading--en{
	color: #b41944;
}

.merit__block{
	margin-left: auto;
	width: 658px;
}

.merit__box{
	margin-bottom: 48px;
}

.merit__mhd{
  font-weight : 700;
  font-size : 22px;
	line-height: 1;
  color : #B41944;
	margin-bottom: 18px;
	position: relative;
}

.merit__mhd::before{
	content: '';
	display: block;
	width: 1.5px;
	height: 21px;
	background: #b41944;
	position: absolute;
	top: 2px;
	left: 31px;
}

.merit__mhd span{
	margin-right: 26px;
}

.merit__txt{
	padding-left: 46px;
  font-size : 14px;
  line-height : 2.285;
}

@media screen and (max-width: 768px) {
	.merit{
		background:
		url(../img/merit_bg_img_01.webp) no-repeat top 1px right 20px/200px,
		url(../img/merit_bg_img_02.webp) no-repeat top 30px left 80px/20px,
		url(../img/merit_bg_img_03.webp) no-repeat top 70px left 20px/30px,
		url(../img/merit_bg_img_04.svg) no-repeat top 360px left -120px/200px,
		url(../img/merit_bg.webp) no-repeat 0 0/100%;
		padding: 50px 0 0 0;
		margin-top: -100px;
	}

	.merit__container{
		width: auto;
		padding: 0 20px;
		margin-bottom: 30px;
	}

	.merit__container::after{
		content: '';
		display: block;
		background: url(../img/merit_bg_ph.webp) no-repeat 0 0/100%;
		width: 200px;
		height: 200px;
		margin: 0 auto;
	}

	.merit__heading{
		position: relative;
		top: auto;
		left: auto;
		text-align: center;
		margin-bottom: 30px;
	}

	.merit__block{
		margin-left: 0;
		width: 100%;
	}

	.merit__box{
		margin-bottom: 30px;
	}

	.merit__mhd{
		font-size : 18px;
		line-height: 1.6;
		color : #B41944;
		margin-bottom: 10px;
		padding-left: 2em;
		text-indent: -2em;
	}

	.merit__mhd::before{
		width: 1px;
		height: 22px;
		top: 4px;
		left: 25px;
	}

	.merit__mhd span{
		margin-right: 20px;
	}

	.merit__txt{
		padding-left: 33px;
		font-size : 14px;
		line-height : 1.875;
	}
}

/*job introduction
--------------------------------------------------*/
.job__inner{
	width: 1100px;
  background : #fff url(../img/job_bg_img_01.webp) no-repeat top 61px right 44px/259px;
  border-radius : 80px;
  box-shadow : 0px 10px 10px rgba(0, 0, 0, 0.1);
	padding: 52px 60px 60px 60px;
	margin: 0 auto;
	box-sizing: border-box;
}

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

.job__section{
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

.job__ph__box{
	width: 360px;
	line-height: 1;
}

.job__ph img{
	width: 100%;
}

.job__txt__box{
	width: 570px;
}

.job__mhd{
  font-weight : 700;
  font-size : 28px;
	line-height: 1;
  color : #612076;
	margin-bottom: 21px;
}

.job__txt{
  font-size : 16px;
  line-height : 2;
	padding-right: 5px;
}

.job__shift{
  background : #FAF6EF;
  border-radius : 20px;
	margin-bottom: 48px;
	position: relative;
	padding: 40px 35px 36px 35px;
}

.job__shift::before{
	content: '';
	display: block;
	background: url(../img/job_bg_img_02.webp) no-repeat 0 0/100%;
	width: 218px;
	height: 87px;
	position: absolute;
	top: -25px;
	left: 44px;
}

.job__shd{
	text-align: center;
  font-weight : 700;
  font-size : 22px;
	line-height: 1;
	margin-bottom: 18px;
}

.shift__read{
	text-align: center;
 	font-size : 18px;
	line-height: 1;
	margin-bottom: 57px;
}

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

.job__timeline__box{
  background : #fff;
  border-radius : 20px;
  box-shadow : 0px 10px 10px rgba(0, 0, 0, 0.1);
	width: 440px;
	height: 422px;
	box-sizing: border-box;
	padding: 61px 40px 0 40px;
	position: relative;
}

.timeline__ttl{
	background: url(../img/job_timeline_ttl.svg) no-repeat 0 0/100%;
	width: 330px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
  font-weight : 700;
  font-size : 20px;
  color : #fff;
	position: absolute;
	left: 50%;
	margin-left: -165px;
	top: -13px;
}

.job__tbl{
	width: 100%;
}

.job__tbl th{
	width: 40px;
	border-bottom: 1px solid #ede0c7;
	padding: 12px 0 13px 0;
  font-family : 'Noto Sans JP';
	font-weight: 500;
  font-size : 16px;
	line-height : 1.4375;
  color : #B41944;
	text-align: right;
}

.nightshift th{
	color: #612076;
}

.job__tbl td{
	width: auto;
	border-bottom: 1px solid #ede0c7;
	padding: 12px 0 13px 18px;
  font-size : 16px;
  line-height : 1.4375;
}

.nightshift tr:first-child td{
	padding-bottom: 37px;
}

.job__other{
  background : #FAF6EF;
  border-radius : 20px;
	padding: 52px 0 49px 0;
}

.job__other__ttl{
	text-align: center;
  font-weight : 700;
  font-size : 22px;
	line-height: 1;
	margin-bottom: 17px;
}

.job__other__txt{
	text-align: center;
  font-size : 16px;
  line-height : 2;
	margin-bottom: 32px;
}

.job__other__btn{
	width: 460px;
	margin: 0 auto;
}

.job__other__btn a{
	width: 100%;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
  background : #612076;
  border-radius : 40px;	
  font-weight : 700;
  font-size : 20px;
  color : #fff;
}

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

@media screen and (max-width: 768px) {
	.job__container{
		background: #faf6ef;
		padding-bottom: 50px;
	}

	.job__inner{
		width: auto;
		margin: 0 20px;
		padding: 30px 20px;
		background : #fff url(../img/job_bg_img_01.webp) no-repeat top 40px right 20px/75px;
		border-radius : 20px;
		box-shadow : 0px 5px 5px rgba(0, 0, 0, 0.1);
	}

	.job__heading{
		margin-bottom: 30px;
	}

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

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

	.job__txt__box{
		width: 100%;
	}

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

	.job__txt{
		font-size : 16px;
		line-height : 1.875;
		padding-right: 0;
	}

	.job__shift{
		border-radius : 10px;
		margin-bottom: 20px;
		padding: 35px 20px 1px 20px;
	}

	.job__shift::before{
		width: 100px;
		height: 40px;
		top: -20px;
		left: 10px;
	}

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

	.shift__read{
		font-size : 16px;
		line-height: 1.6;
		margin-bottom: 20px;
	}

	.job__timeline{
		display: block;
	}

	.job__timeline__box{
		border-radius : 10px;
		box-shadow : 0px 5px 5px rgba(0, 0, 0, 0.1);
		width: 100%;
		height: auto;
		padding: 30px 15px 15px 15px;
		margin-bottom: 30px;
	}

	.timeline__ttl{
		background: url(../img/job_timeline_ttl.svg) no-repeat 0 0/100%;
		width: 200px;
		height: 30px;
		font-size : 16px;
		color : #fff;
		left: 50%;
		margin-left: -100px;
		top: -10px;
	}

	.job__tbl{
		width: 100%;
	}

	.job__tbl th{
		width: 30px;
		padding: 10px 0 10px 0;
		font-size : 14px;
	}

	.job__tbl td{
		padding: 10px 0 10px 10px !important;
		font-size : 14px;
	}

	.job__other{
		border-radius : 10px;
		padding: 20px;
	}

	.job__other__ttl{
		font-size : 18px;
		line-height: 1.875;
		margin-bottom: 10px;
	}

	.job__other__txt{
		font-size : 16px;
		line-height: 1.875;
		margin-bottom: 20px;
	}

	.job__other__btn{
		width: 200px;
	}

	.job__other__btn a{
		height: 50px;
		font-size : 16px;
	}
}

/*environment
--------------------------------------------------*/
.environment{
	background:
	url(../img/environment_bg_ph.webp) no-repeat top 0 left 72px/388px,
	url(../img/environment_bg.webp) no-repeat 0 0/100%;
	padding-top: 173px;
}

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

.environment__heading{
	margin-bottom: 59px;
	text-align: center;
}

.environment__heading .content__heading--en{
	color: #b41944;
}

.environment__list{
	display: flex;
	flex-wrap: wrap;
}

.environment__item{
	width: 480px;
	margin-right: 20px;
	margin-bottom: 20px;
	line-height: 0;
}

.environment__item:nth-child(2n){
	margin-right: 0;
}

.environment__item img{
	width: 100%;
}

@media screen and (max-width: 768px) {
	.environment{
		background:
			url(../img/environment_bg_ph.webp) no-repeat top 0 left 10px/110px,
			url(../img/environment_bg.webp) no-repeat 0 0/100%;
		padding-top: 70px;
	}

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

	.environment__heading{
		margin-bottom: 30px;
	}

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

	.environment__item{
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
}

/*staff interview
--------------------------------------------------*/
.interview{
	padding: 80px 0 52px 0;
}

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

.interview__heading{
	margin-bottom: 101px;
	text-align: center;
}

.interview__heading .content__heading--en{
	color: #b41944;
}

.interview__item{
	width: 360px;
	position: relative;
	margin-bottom: 86px;
	margin-left: auto;
	text-align: center;
}

.interview__txt{
  font-weight : 700;
  font-size : 22px;
  line-height : 1.522;
	margin-bottom: 9px;
}

.interview__name{
	font-size : 18px;
	line-height: 1.8;
	margin-bottom: 40px;
}

.interview__link{
	width: 300px;
	margin-left: -12px;
}

.interview__link a{
	width: 100%;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
  background : #B41944;
  border-radius : 40px;
  font-weight : 700;
  font-size : 20px;
  color : #fff;
}

.interview__ph{
	position: absolute;
	top: -43px;
	left: -431px;
	width: 340px;
	line-height: 0;
	margin-bottom: 10px;
}

.interview__ph img{
	width: 100%;
}

.interview__item:nth-child(2){
	margin-left: 0;
}

.interview__item:nth-child(2) .interview__ph{
	left: auto;
	right: -402px;
	top: -36px;
}

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

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

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

	.interview__heading{
		margin-bottom: 30px;
	}

	.interview__list{
		width: 280px;
		margin: 0 auto;
	}

	.interview__item{
		width: 100%;
		margin-bottom: 40px;
		margin-left: 0;
	}

	.interview__txt{
		font-size : 18px;
		line-height : 1.522;
		margin-bottom: 9px;
	}

	.interview__name{
		font-size : 16px;
		line-height: 1.8;
		margin-bottom: 20px;
	}

	.interview__link{
		width: 250px;
		margin: 0 auto;
	}

	.interview__link a{
		height: 60px;
		font-size : 16px;
	}

	.interview__ph{
		position: relative;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100% !important;
	}
}

/*modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	width: 900px;
	background: #faf6ef url(../img/modal_bg.svg) no-repeat 0 0/100%;
	border-radius: 20px;
	padding: 52px 50px 100px 50px;
	box-sizing: border-box;
	position: relative;
}

.modal__close__top{
	position: absolute;
	width: 14px;
	height: 14px;
	top: 22px;
	right: 21px;
	transition: 0.3s ease-out;
	cursor: pointer;
	z-index: 300;
}

.modal__close__top img{
	width: 100%;
}

.modal__ttl{
	position: absolute;
	top: 33px;
	left: 35px;
	line-height: 0;
	width: 193px;
}

.modal__ttl img{
	width: 100%;
}

.modal__header{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	position: relative;
	margin-bottom: 48px;
}

.modal__header::after{
	content: '';
	display: block;
	background: url(../img/modal_img_01.webp) no-repeat 0 0/100%;
	width: 184px;
	height: 89px;
	position: absolute;
	left: 233px;
	bottom: -19px;
}

.modal__header__ph{
	width: 430px;
	line-height: 0;
}

.modal__ph img{
	width: 100%;
}

.modal__header__txt{
	width: 350px;
	padding-top: 62px;	
}

.modal__txt{
  font-weight : 700;
  font-size : 26px;
  line-height : 1.288;
	margin-bottom: 15px;
	padding-left: 5px;
}

.modal__name{
	font-size : 18px;
	line-height: 1.8;
	padding-left: 5px;
}

.modal__qa{
	margin-bottom: 100px;
}

.modal__qa__box{
	background: #fff;
	border-radius : 20px;
	margin-bottom: 20px;
	padding: 51px 25px 35px 90px;
}

.modal__q{
  font-weight : 700;
  font-size : 20px;
  line-height : 1.5;
  color : #B41944;
	margin-bottom: 14px;
	position: relative;
}

.modal__q::before{
	content: '';
	display: block;
	background: url(../img/modal_icon_q.svg) no-repeat 0 0/100%;
	width: 50px;
	height: 50px;
	position: absolute;
	top: -10px;
	left: -64px;
}

.modal__a{
  font-size : 16px;
  line-height : 1.875;
}

.modal__qa__ph__block{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

.modal__qa__ph__block::after{
	content: '';
	display: block;
	background: url(../img/modal_img_02.webp) no-repeat 0 0/100%;
	width: 126px;
	height: 63px;
	position: absolute;
	bottom: -40px;
	right: 188px;
}

.modal__qa__ph__block .modal__qa__box{
	width: 530px;
}

.modal__qa__ph{
	width: 250px;
	line-height: 0;
} 

.modal__qa__ph img{
	width: 100%;
}

.modal__close__btm{
	width: 340px;
	margin: 0 auto;
}

.modal__close__btm a{
	display: flex;
	width: 100%;
	height: 60px;
	justify-content: center;
	align-items: center;
	background : #B41944;
  border-radius : 30px;
  font-weight : 700;
  font-size : 20px;
  color : #fff;
}

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

@media screen and (max-width: 768px) {
	.modal{
		margin: 30px auto;
		width: 90%;
		background: #FAF6EC url(../img/modal_bg.svg) no-repeat top 0 left 50%/910px;
		border-radius: 10px;
		padding: 70px 20px 30px 20px;
	}

	.modal__close__top{
		position: absolute;
		width: 14px;
		height: 14px;
		top: 22px;
		right: 21px;
		transition: 0.3s ease-out;
		cursor: pointer;
		z-index: 300;
	}

	.modal__ttl{
		top: 20px;
		left: 20px;
		width: 150px;
	}

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

	.modal__header::after{
		width: 70px;
		height: 38px;
		left: auto;
		bottom: 30px;
		right: -10px;
	}

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

	.modal__header__txt{
		width: 100%;
		padding-top: 0;	
	}

	.modal__txt{
		font-size : 20px;
		margin-bottom: 10px;
		padding-left: 0;
	}

	.modal__name{
		font-size : 16px;
		line-height: 1.7;
		padding-left: 0;
	}

	.modal__qa{
		margin-bottom: 50px;
	}

	.modal__qa__box{
		border-radius : 10px;
		padding: 20px 20px 20px 50px;
	}

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

	.modal__q::before{
		width: 30px;
		height: 30px;
		top: -3px;
		left: -38px;
	}

	.modal__a{
		font-size : 14px;
		line-height : 1.7;
	}

	.modal__qa__ph__block{
		display: block;
	}

	.modal__qa__ph__block::after{
		width: 90px;
		height: 45px;
		bottom: -30px;
		right: auto;
		left: 0;
	}

	.modal__qa__ph__block .modal__qa__box{
		width: 100%;
	}

	.modal__qa__ph{
		width: 100%;
	} 

	.modal__close__btm{
		width: 180px;
	}

	.modal__close__btm a{
		height: 50px;
		font-size : 16px;
	}
}

/*foot entry
--------------------------------------------------*/
.foot__entry{
	background: 
	url(../img/foot_entry_bg_img_01.webp) no-repeat top 0 left calc(50% - 569px)/353px,
	url(../img/foot_entry_bg_img_02.webp) no-repeat top 57px left calc(50% + 582px)/232px,
	url(../img/foot_entry_ph.webp) no-repeat top 70px left calc(50% + 253px)/425px,
	url(../img/foot_entry_bg.webp) no-repeat 0 0/cover;
	padding: 124px 0 99px 0;
}

.foot__entry__container{
	width: 900px;
	margin: 0 auto;
	position: relative;
}

.foot__entry__txt{
  font-weight : 700;
  font-size : 46px;
  line-height : 1.413;
  letter-spacing : 4.6px;
	padding-left: 93px;
	margin-bottom: 81px;
}

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

.foot__entry__item{
	width: 420px;
}

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

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

@media screen and (max-width: 768px) {
	.foot__entry{
		background: 
		url(../img/foot_entry_bg_img_01.webp) no-repeat top 0 left 10px/80px,
		url(../img/foot_entry_bg_img_02.webp) no-repeat top 17px right 0/70px,
		url(../img/foot_entry_ph.webp) no-repeat top 10px left  50%/200px,
		url(../img/foot_entry_bg.webp) no-repeat 0 0/100%,
		#faf6ef;
		padding: 145px 0 100px 0;
	}

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

	.foot__entry__txt{
		font-size : 24px;
		line-height : 1.413;
		letter-spacing : 3px;
		text-align: center;
		padding-left: 0;
		margin-bottom: 30px;
	}

	.foot__entry__list{
		display: block;
		width: 200px;
		margin: 0 auto;
	}

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

	.foot__entry__item a{
		width: 100%;
		height: 50px;
		font-size : 16px;
	}
}

/*ページトップ・SPエントリーボタン
--------------------------------------------------*/
/*右ボタン*/
.floating__side__btn{
	position: absolute;
	top: 569px;
	right: -7px;
	width: 270px;
	z-index: 300;
	line-height: 0;
}

.floating__side__btn__item{
	width: 100%;
}

.floating__side__btn__item img{
	width: 100%;
}

.floating__side__btn__item:nth-child(2){
	margin-top: -47px;
}


.floating__btm__btn{
	display: none;
}

/*sp下ボタン*/
.floating__btm__block{
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 300;
}

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

@media screen and (max-width: 768px) {
	.floating__btm__block{
		position: sticky;
		width: 100%;
	}

	.floating__side__btn{
		display: none;
	}

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

	.floating__btm__btn__item{
		width: 50%;
	}
	
	.floating__btm__btn__item a{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 60px;
		background: #612076;
		color: #fff;
		font-weight: 700;
		font-size: 16px;
		line-height: 1;
	}

	.floating__btm__btn__item:nth-child(2) a{
		background: #b41944;
	}
}

/*フッター
--------------------------------------------------*/
.footer p,
.footer a{
	color: #000;
}

.footer{
	padding: 60px 0 64px 0;
	background: #faf6ef;
	border-top: 1px solid #fff;
}

.footer__container{
	width: 980px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

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

.footerLink__item{
	font-size : 16px;
  line-height : 1;
	margin-left: 76px;
	position: relative;
}

.footerLink__item:before{
	content: '';
	display: block;
	height: 24px;
	width: 1px;
	background: #323f43;
	position: absolute;
	top: -5px;
	left: -37px;
}

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

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

.copyright{
  font-size : 16px;
  line-height : 1;
}

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

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

	.footer__container{
		width: auto;
	}

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

	.footerLink__item{
		font-size : 12px;
		line-height: 2;
		margin-left: 20px;
		white-space: nowrap;
	}

	.footerLink__item:before{
		height: 14px;
		width: 1px;
		top: 5px;
		left: -10px;
	}

	.copyright{
		font-size : 10px;
		line-height: 1.7;
	}
}