@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html{
	overflow: auto;
}

html,body{
    width: 100%;
}

body {
	color: #333;
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	position: relative;
}

@media screen and (min-width: 769px) {
	body{
		min-width: 1200px;
		overflow: hidden;
	}
}

.ipad{
	min-width: 1200px;
}

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

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

/*header
--------------------------------------------------*/
.header{
	position: relative;
	padding-top: 100px;
}

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

.header__logo{
	position: absolute;
	top: 11px;
	left: 10px;
	z-index: 310;
	width: 350px;
}

.header__logo img{
	width: 100%;
}

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

.nav__index{
	position: absolute;
	top: 0;
	right: 240px;
	width: fit-content;
	display: flex;
}

.nav__item{
	margin-left: 53px;
	white-space: nowrap;
	position: relative;
}

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

.nav__item a{
	width: 100%;
	height: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  color : #333;
}

.nav__btn{
	position: absolute;
	top: 10px;
	right: 0;
	width: 200px;
	height: 80px;
}

.nav__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #0a84ff;
  font-weight : 700;
  font-size : 18px;
  line-height : 1;
  letter-spacing : 0.9px;
  color : #fff;
}

@media screen and (max-width: 1500px) {
	.nav__item{
		margin-left: 30px;
	}

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

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

	.nav__item{
		margin-left: 25px;
	}

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

	.nav__btn{
		width: 180px;
	}

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

	.ipad .nav__item a{
		font-size: 13px;
	}

	.ipad .header__logo{
		top: 13px;
		width: 300px;
	}
}

@media screen and (min-width: 769px) {
	.nav__item a:hover,
	.nav__btn__item a:hover,
	.header__logo a:hover{
		opacity: .6;
	}
	
	/*fixed*/
	.is-fixed{
		position: fixed;
		z-index: 500;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
		height: 100px;
	}
}

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

	.header__logo{
		top: 5px;
		left: 5px;
		width: 180px;
	}

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

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

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

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

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

@media screen and (max-width: 768px) {
	.mainvisual{
		padding-top: 114.4%;
		background-image: url(../img/mv_bg_sp.webp);
	}

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

	.mv__txt{
		background-image: url(../img/mv_txt_sp.svg);
		width: 64.8%;
		height: 35.66%;
		top: 21.91%;
		left: 17.6%;
	}
}

/*SP navi
--------------------------------------------------*/
/*hamburger SP*/
@media screen and (max-width: 768px) {
	.hamburger{
		position: fixed;
		top: 5px;
		right: 10px;
		z-index: 700;
		width: 45px;
		height: 45px;
		border-radius: 45px;
		background: #0a84ff;
	}
	
	.hamburger__inner{
		position: absolute;
		top: 19px;
		left: 14px;
		width: 16px;
		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;
		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;
	}
}

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

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

.sp-nav__item a{
	display: block;
	text-align: center;
	padding: 5px 0;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1;
	color: #fff;
}

.sp-nav__btn{
	width: 100%;
	height: 50px;
	margin-bottom: 20px;
}

.sp-nav__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50px;
	background: #0a84ff;
  font-weight : 700;
  font-size : 16px;
  line-height : 1;
  letter-spacing : 0.9px;
  color : #fff;
}

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

.sp--hidden{
	display: block;
}

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

/*content fade
--------------------------------------------------*/
.content-fadeinup{
	transition: .5s ease-in;
	opacity: 0;
	transform: translateY(50px);
}

/*heading
--------------------------------------------------*/
.content__heading{
	line-height: 0;
}

@media screen and (max-width: 768px) {
	.content__heading img{
		height: 30px;
	}
}

/*message
--------------------------------------------------*/
.message{
	padding: 29px 0 72px 0;
	background: #C5E1FE;
}

.message__container{
	width: 968px;
	margin: 0 auto;
	position: relative;
}

.message__container::before{
	content: '';
	display: block;
	background: url(../img/message_bg_img.svg) no-repeat 0 0/100%;
	width: 229px;
	height: 212px;
	position: absolute;
	top: -29px;
	right: -125px;
}

.message__container::after{
	content: '';
	display: block;
	background: url(../img/message_ph.webp) no-repeat 0 0/100%;
	width: 503px;
	height: 422px;
	position: absolute;
	top: 227px;
	right: -194px;
}

.message__heading{
	margin-bottom: 60px;
	padding-left: 8px;
}

.message__txt__area{
	width: 630px;
}

.message__read{
  font-weight : 700;
  font-size : 40px;
  line-height : 1.375;
	margin-bottom: 24px;
}

.message__txt{
  font-size : 18px;
  line-height : 2.05;
  letter-spacing : 1.8px;
	margin-bottom: 2.06em;
}

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

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

	.message__container::before{
		width: 85px;
		height: 80px;
		top: -20px;
		right: 10px;
	}

	.message__container::after{
		width: 280px;
		height: 235px;
		position: relative;
		top: auto;
		right: auto;
		margin: 0 auto;
	}

	.message__heading{
		margin-bottom: 30px;
		padding-left: 0;
	}

	.message__txt__area{
		width: auto;
	}

	.message__read{
		font-size : 20px;
		line-height : 1.5;
		margin-bottom: 10px;
	}

	.message__txt{
		font-size : 16px;
		line-height : 1.75;
		letter-spacing : 1.8px;
		margin-bottom: 2.06em;
	}
}

/*work
--------------------------------------------------*/
.work{
	padding: 105px 0 0 0;
}

.aboutwork__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
	padding-bottom: 156px;
}

.aboutwork__container::before{
	content: '';
	display: block;
	background: url(../img/work_bg_img_01.svg) no-repeat 0 0/100%;
	width: 165px;
	height: 225px;
	position: absolute;
	top: -241px;
	left: -181px;
}

.work__heading{
	text-align: center;
	margin-bottom: 46px;
}

.aboutwork__hd{
  font-weight : 700;
  font-size : 40px;
  line-height : 1;
	text-align: center;
	margin-bottom: 49px;
}

.aboutwork__block{
	position: relative;
	margin-bottom: 91px;
}

.aboutjobs__ph{
	width: 536px;
	position: absolute;
	top: 0;
	left: -133px;
}

.aboutjobs__ph img{
	width: 100%;
}

.aboutwork__txt__area{
	width: 570px;
	margin-left: auto;
	padding-top: 61px;
}

.aboutwork__ttl{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.5;
	margin-bottom: 24px;
}

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

.aboutwork__block.blockReverse{
	margin-bottom: 0;
}

.blockReverse .aboutjobs__ph{
	left: auto;
	right: -113px;
}

.blockReverse .aboutwork__txt__area{
	margin-left: 0;
	padding-top: 103px;
}

/*1レッスンの流れ*/
.lessonflow{
	background:
	url(../img/lessonflow_item_bg.webp) no-repeat bottom 117px left calc(50% - 260px)/502px,
	url(../img/lessonflow_item_bg.webp) no-repeat bottom 117px left calc(50% + 260px)/502px,
	url(../img/lessonflow_bg_top.webp) no-repeat top 0 left 0/100%,
	#f5f2e8;
	padding: 112px 0 140px 0;
}

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

.lessonflow__container::before{
	content: '';
	display: block;
	background: url(../img/work_bg_img_02.svg) no-repeat 0 0/100%;
	width: 271px;
	height: 201px;
	position: absolute;
	top: -128px;
	left: -155px;
}

.lessonflow__heading{
  font-weight : 700;
  font-size : 40px;
  line-height : 1;
	margin-bottom: 29px;
	text-align: center;
}

.lessonflow__read{
  font-size : 20px;
  line-height : 1.85;
	margin-bottom: 62px;
	text-align: center;
}

.lessonflow__block-1{
	position: relative;
	margin-bottom: 130px;
}

.lessonflow__open{
	width: 100%;
	position: relative;
	margin-top: 19px;
}

.lessonflow__open__item{
	width: 980px;
	height: 340px;
	position: relative;
}

.lessonflow__txt__area{
	width: 480px;
	margin-left: auto;
	padding-top: 20px;
}

.lessonflow__ph{
	line-height: 0;
	width: 500px;
	position: absolute;
	top: -5px;
	left: -10px;
}

.lessonflow__ph img{
	width: 100%;
}

.lessonflow__mhd{
	position: relative;
	height: 52px;
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #8ec32c 45%, #8ec32c 50%, transparent 50%, transparent 100%);
}

.lessonflow__mhd span{
	display: block;
	background: url(../img/heading_bg_01.svg) no-repeat top 0 left 50%;
  font-weight : 700;
  font-size : 22px;
  line-height : 1;
  color : #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.lessonflow__mhd--orange{
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #f7931e 45%, #f7931e 50%, transparent 50%, transparent 100%);
}

.lessonflow__mhd--orange span{
	background-image: url(../img/heading_bg_02.svg);
}

.lessonflow__mhd--blue{
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #29abe2 45%, #29abe2 50%, transparent 50%, transparent 100%);
}

.lessonflow__mhd--blue span{
	background-image: url(../img/heading_bg_03.svg);
}

.lessonflow__open__ttl{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.5;
	margin-bottom: 18px;
}

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

.lessonflow__block-2{
	display: flex;
	justify-content: space-between;
	position: relative;
}

.lessonflow__other,
.lessonflow__responsible{
	width: 460px;
	position: relative;
}

.lessonflow__item{
	border-radius : 10px;
	width: 460px;
	height: 220px;
	box-sizing: border-box;
	padding: 39px 30px 0 30px;
}

.lessonflow__ttl{
  font-weight : 700;
  font-size : 20px;
  line-height : 1.5;
  letter-spacing : 2px;
	margin-bottom: 6px;
}

.lessonflow__other__slides,
.lessonflow__responsible__slides{
	margin-top: 35px;
}

/*送りボタン*/
.slide__arrow{
	width: 150px;
	height: 60px;
	position: absolute;
	left: 50%;
	margin-left: -75px;
}

 .lessonflow__open__arrow{
	left: 665px;
	margin-left: 0;
	bottom: -12px;
 }

.lessonflow__block-2 .slide__arrow{
	bottom: -8px;
}

.slide__arrow__item{
	width: 104px;
	position: absolute;
	top: 0;
	line-height: 0;
	cursor: pointer;
}

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

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

.slide__arrow__item img{
	width: 104px;
}

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


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

	.aboutwork__container{
		width: auto;
		padding: 0 20px;
		padding-bottom: 50px;
	}

	.aboutwork__container::before{
		width: 60px;
		height: 85px;
		top: -90px;
		left: 10px;
	}

	.work__heading{
		margin-bottom: 30px;
	}

	.aboutwork__hd{
		font-size : 20px;
		line-height : 1.4;
		margin-bottom: 20px;
	}

	.aboutwork__block{
		margin-bottom: 20px;
	}

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

	.aboutwork__txt__area{
		width: 100%;
		margin-left: 0;
		padding-top: 0;
	}

	.aboutwork__ttl{
		font-size : 18px;
		line-height : 1.5;
		margin-bottom: 18px;
	}

	.aboutwork__txt{
		font-size : 14px;
		line-height : 1.75;
	}

	.blockReverse .aboutjobs__ph{
		right: auto;
	}

	.blockReverse .aboutwork__txt__area{
		margin-left: 0;
		padding-top: 0;
	}

	/*1レッスンの流れ*/
	.lessonflow{
		background:#f5f2e8 url(../img/lessonflow_bg_top.webp) no-repeat top 0 left 50%/800px;
		padding: 60px 0 10px 0;
	}

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

	.lessonflow__container::before{
		width: 115px;
		height: 86px;
		top: -90px;
		left: 10px;
	}

	.lessonflow__heading{
		font-size: 20px;
		line-height: 1.4;
		margin-bottom: 20px;
	}

	.lessonflow__read{
		font-size : 16px;
		line-height : 1.75;
		margin-bottom: 30px;
	}

	.lessonflow__block-1{
		margin-bottom: 50px;
	}

	.lessonflow__open{
		width: 100%;
		height: auto;
		margin: 0 0 100px 0;
	}

	.lessonflow__slides{
		width: 300px;
		margin: 0 auto;
	}

	.lessonflow__open__item{
		width: 300px;
		height: auto;
	}

	.lessonflow__txt__area{
		width: auto;
		margin-left: 0;
		padding-top: 0;
	}

	.lessonflow__ph{
		width: 100%;
		position: relative;
		top: auto;
		left: auto;
		margin-top: 20px;
	}

	.lessonflow__mhd{
		height: 40px;
	}

	.lessonflow__mhd span{
		background-size: 210px;
		font-size : 18px;
	}

	.lessonflow__open__ttl{
		font-size : 18px;
		line-height : 1.5;
		margin-bottom: 10px;
	}

	.lessonflow__txt{
		font-size : 14px;
		line-height : 1.85;
	}

	.lessonflow__block-2{
		display: block;
	}

	.lessonflow__other,
	.lessonflow__responsible{
		width: 100%;
		margin: 0 0 50px 0;
		background: url(../img/lessonflow_item_bg_sp.webp) no-repeat top 30px left 50%/350px;
	}

	.lessonflow__item{
		width: 300px;
		height: 200px;
		padding: 0 20px;
	}

	.lessonflow__ttl{
		font-weight : 700;
		font-size : 18px;
		line-height : 1.5;
		letter-spacing : 2px;
		margin-bottom: 6px;
	}

	.lessonflow__other__slides,
	.lessonflow__responsible__slides{
		margin-top: 35px;
	}

	/*送りボタン*/
	.slide__arrow{
		width: 100px;
		bottom: -60px;
		margin-left: -50px;
	}

	 .lessonflow__open__arrow{
		left: 50%;
		margin-left: -50px;
		bottom: -55px;
 }

	.lessonflow__block-2 .slide__arrow{
		bottom: -5px;
	}

	.slide__arrow__item{
		width: 70px;
	}

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

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

	.slide__arrow__item img{
		width: 70px;
	}
}

/*features
--------------------------------------------------*/
.features{
	border-top: 10px solid #d4145a;
	padding: 109px 0 104px 0;
	background:url(../img/features_bg_img.svg) no-repeat top 770px left calc(50% + 471px);
}

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

.features__heading{
	text-align: center;
	margin-bottom: 30px;
}

.features__read{
  font-size : 20px;
  line-height : 1.85;
	margin-bottom: 23px;
	text-align: center;
}

.features__list{
	height: 577px;
	position: relative;
}

.features__item{
	position: absolute;
	line-height: 0;
}

.features__item img{
	width: 100%;
}

.features__item:nth-child(1){
	top: 0;
	left: 23px;
	width: 448px;
}

.features__item:nth-child(2){
	top: 49px;
	left: 574px;
	width: 350px;
}

.features__item:nth-child(3){
	top: 354px;
	left: 221px;
	width: 534px;
}

@media screen and (max-width: 768px) {
	.features{
		border-top: 5px solid #d4145a;
		padding: 50px 0 80px 0;
		background:url(../img/features_bg_img.svg) no-repeat bottom 30px right 20px/140px;
	}

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

	.features__heading{
		text-align: center;
		margin-bottom: 30px;
	}

	.features__read{
		font-size : 16px;
		line-height : 1.75;
		margin-bottom: 20px;
	}

	.features__list{
		height: auto;
	}

	.features__item{
		position: relative;
		top: auto !important;
		left: auto !important;
		margin: 0 auto 30px auto;
	}

	.features__item:nth-child(1){
		width: 269px;
	}

	.features__item:nth-child(2){
		width: 210px;
	}

	.features__item:nth-child(3){
		width: 320px;
	}
}

/*voice
--------------------------------------------------*/
.voice{
  background : #FCEFF3;
  border-radius : 40px;
	width: 1199px;
	padding: 53px 0 126px 0;
	margin: 0 auto 196px auto;
	position: relative;
}

.voice::after{
	content: '';
	display: block;
	background: url(../img/voice_img.webp) no-repeat 0 0/100%;
	width: 1045px;
	height: 248px;
	position: absolute;
	left: 50%;
	bottom: -154px;
	margin-left: -544px;
}

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

.voice__heading{
	text-align: center;
	margin-bottom: 53px;
}

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

.voice__item{
	width: 310px;
}

.voice__ph{
	line-height: 0;
	margin-bottom: 25px;
}

.voice__ph img{
	width: 100%;
}

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

.voice__txt{
  font-weight : 700;
  font-size : 20px;
  line-height : 1.35;
	margin-bottom: 43px;
}

.voice__link a{
	display: block;
	  font-size : 16px;
  line-height : 1;
	text-decoration: underline;
	color: #333;
	width: fit-content;
	padding-right: 49px;
	position: relative;
	margin-left: auto;
}

.voice__link a::after{
	content: '';
	display: block;
	background: url(../img/voice_arrow.png) no-repeat 0 0/100%;
	width: 98px;
	height: 96px;
	position: absolute;
	top: -39px;
	right: -31px;
}

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

@media screen and (max-width: 768px) {
	.voice{
		border-radius : 20px;
		width: auto;
		margin: 0 20px 70px 20px;
		padding: 0;
	}

	.voice::after{
		width: 280px;
		height: 66px;
		left: 50%;
		bottom: -33px;
		margin-left: -140px;
	}

	.voice__container{
		width: auto;
		padding: 30px 20px 20px 20px;
	}

	.voice__heading{
		margin-bottom: 20px;
	}

	.voice__list{
		display: block;
		width: 250px;
		margin: 0 auto;
	}

	.voice__item{
		width: 100%;
		margin-bottom: 50px;
	}

	.voice__ph{
		margin-bottom: 15px;
	}

	.voice__name{
		margin-bottom: 10px;
	}

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

/*modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	width: 900px;
	background: #fceff3;
	box-sizing: border-box;
	position: relative;
	padding: 50px;
}

.modal__header{
	position: relative;
	height: 390px;
}

.modal__heading{
	line-height: 0;
	margin-bottom: 90px;
	padding-top: 16px;
}

.modal__name{
	position: absolute;
	top: 18px;
	left: 159px;
	font-weight : 700;
  font-size : 22px;
	line-height: 1;
  color : #000;
}

.modal__read{
  font-weight : 700;
  font-size : 30px;
  line-height : 1.5;
}

.modal__ph{
	line-height: 0;
	position: absolute;
	right: 10px;
	top: 0;
	width: 310px;
}

.modal__ph img{
	width: 100%;
}

.modal__img{
	position: absolute;
	line-height: 0;
}

.modal__img-1{
	top: -8px;
	left: 288px;
}

.modal__img-2{
	top: 263px;
	left: 87px;
}

.modal__img-3{
	top: 26px;
	left: 289px;
}

.modal__img-4{
	top: 252px;
	left: 43px;
}

.modal__img-5{
	top: -15px;
	left: 319px;
}

.modal__img-6{
	top: 284px;
	left: 0;
}

.modal__qa{
	border-radius: 20px;
	background: #fff;
	margin-bottom: 20px;
	padding: 49px 45px 34px 90px;
	position: relative;
}

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

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

.has-image{
	min-height: 350px;
}

.has-image .modal__a{
	width: 381px;
}

.modal__qa__ph{
	position: absolute;
	line-height: 0;
	right: -22px;
	top: 81px;
	width: 322px;
}

.modal__qa__ph img{
	width: 100%;
}

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

.modal__btn{
	width: 340px;
	height: 80px;
	margin: 0 auto 30px auto;
}

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

.modal__entry{
	margin-top: 50px;
}

.modal__entry a{
	background-color: #8ec32c;
}

.modal__close a{
	background-color: #d4145a;
}

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

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

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

	.modal__heading{
		line-height: 0;
		margin-bottom: 20px;
		padding-top: 0;
	}

	.modal__name{
		position: relative;
		top: auto;
		left: auto;
		font-size : 20px;
		margin-bottom: 10px;
	}

	.modal__read{
		font-weight : 700;
		font-size : 18px;
		line-height : 1.5;
		margin-bottom: 20px;
	}

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

	.modal__img img{
		height: 70px;
	}

	.modal__img-1{
		top: -8px;
		left: auto;
		right: -10px;
	}

	.modal__img-2{
		top: 140px;
		left: auto;
		right: 10px;
	}

	.modal__img-3{
		top: 0;
		left: auto;
		right: 0;
	}

	.modal__img-3 img{
		height: 50px;
	}

	.modal__img-4{
		top: 130px;
		left: auto;
		right: 10px;
	}

	.modal__img-5{
		top: 0;
		left: auto;
		right: 0;
	}

	.modal__img-6{
		top: 95px;
		left: auto;
		right: 50px;
	}

	.modal__img-6 img{
		height: 40px;
	}

	.modal__qa{
		border-radius: 10px;
		margin-bottom: 20px;
		padding: 20px;
		position: relative;
	}

	.modal__q{
		font-size : 16px;
		margin-bottom: 10px;
		padding-left: 40px;
	}

	.modal__q::before{
		width: 30px;
		height: 30px;
		top: 0;
		left: 0;
	}

	.has-image{
		min-height: auto;
	}

	.has-image .modal__a{
		width: auto;
		margin-bottom: 20px;
	}

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

	.modal__a{
		font-size : 14px;
	}

	.modal__btn{
		width: 200px;
		height: 60px;
		margin: 0 auto 20px auto;
	}

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

	.modal__entry{
		margin-top: 30px;
	}
}

/*environment
--------------------------------------------------*/
.environment{
	padding: 230px 0 145px 0;
	background:
	url(../img/environment_bg_img_01.svg) no-repeat top 136px left calc(50% + 574px),
	url(../img/environment_bg_img_02.svg) no-repeat top 1538px left calc(50% + 617px),
	url(../img/environment_bg_top.webp) no-repeat top 0 left 0/100%,
	url(../img/environment_bg_btm.webp) no-repeat bottom 0 left 0/100%,
	#c6e4ff;
}

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

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

.environment__mhd{
	position: relative;
	height: 52px;
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #0a84ff 45%, #0a84ff 50%, transparent 50%, transparent 100%);
	margin-bottom: 70px;
}

.environment__mhd span{
	display: block;
	background: url(../img/heading_bg_04.svg) no-repeat top 0 left 50%;
  font-weight : 700;
  font-size : 22px;
  line-height : 1;
  color : #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.environment__mhd--large {
	margin-bottom: 53px;
}

.environment__mhd--large span{
	background-image: url(../img/heading_bg_05.svg);
}

.environment__block{
	position: relative;
}

.environment__block-1{
	margin-bottom: 74px;
}

.environment__block-2{
	margin-bottom: 137px;
}

.environment__ph{
	width: 514px;
	position: absolute;
	top: -13px;
	left: -132px;
}

.environment__ph img{
	width: 100%;
}

.environment__txt__area{
	width: 550px;
	margin-left: 404px;
}

.environment__ttl{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.5;
	margin-bottom: 16px;
}

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

.environment__block-2 .environment__ph{
	left: auto;
	right: -108px;
	top: -44px;
}

.environment__block-2 .environment__txt__area{
	margin-left: 0;
}

.environment__block-3 .environment__ph{
	top: -23px;
	left: -127px;
	width: 502px;
}

.environment__block-3 .environment__txt__area{
	width: 580px;
}

@media screen and (max-width: 768px) {
	.environment{
		padding: 80px 0;
		background:
		url(../img/environment_bg_img_01.svg) no-repeat top 30px right 10px/60px,
		url(../img/environment_bg_img_02.svg) no-repeat top 180px left 30px/35px,
		url(../img/environment_bg_top.webp) no-repeat top 0 left 80%/800px,
		url(../img/environment_bg_btm.webp) no-repeat bottom 0 left 50%/800px,
		#c6e4ff;
		position: relative;
	}
	
	.environment__container{
		width: auto;
		padding: 0 20px;
	}

	.environment__heading{
		margin-bottom: 30px;
	}

	.environment__mhd{
		height: 40px;
		margin-bottom: 30px;
	}

	.environment__mhd span{
		background-size: 210px;
		font-size : 18px;
	}

	.environment__mhd--large {
		margin-bottom: 30px;
	}

	.environment__mhd--large span{
		background-size: 300px;
	}

	.environment__block-1{
		margin-bottom: 20px;
	}

	.environment__block-2{
		margin-bottom: 50px;
	}

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

	.environment__txt__area{
		width: auto !important;
		margin-left: 0;
	}

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

	.environment__txt{
		font-size : 14px;
	}

	.environment__block-2 .environment__ph{
		right: auto !important;
	}
}

/*gallery
--------------------------------------------------*/
.slick-slider div { transition: none; }

.gallery{
	height: 285px;
	overflow: hidden;
	margin-top: 215px;
}

.gallery__ph{
	width: 380px;
	height: 285px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 351px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.gallery__ph-1,
.gallery__ph-3,
.gallery__ph-5{
	background-position: top 40px left 0;
}

.gallery__ph-1{
	background-image: url(../img/gallery_ph_01.webp);
}

.gallery__ph-2{
	background-image: url(../img/gallery_ph_02.webp);
}

.gallery__ph-3{
	background-image: url(../img/gallery_ph_03.webp);
}

.gallery__ph-4{
	background-image: url(../img/gallery_ph_04.webp);
}

.gallery__ph-5{
	background-image: url(../img/gallery_ph_05.webp);
}

@media screen and (max-width: 768px) {
	.gallery{
		height: 130px;
		margin-top: 20px;
	}

	.gallery__ph{
		width: 166px;
		height: 130px;
		background-size: 151px;
	}

	.gallery__ph-1,
	.gallery__ph-3,
	.gallery__ph-5{
		background-position: top 22px left 0;
	}
}

/*search
--------------------------------------------------*/
.search{
	padding: 97px 0 70px 0;
	background: url(../img/search_bg_img.svg) no-repeat bottom 204px left calc(50% - 458px);
}

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

.search__container::before{
	content: '';
	display: block;
	background: url(../img/search_ph_01.webp) no-repeat 0 0/100%;
	width: 307px;
	height: 223px;
	position: absolute;
	top: -182px;
	left: -22px;
}

.search__container::after{
	content: '';
	display: block;
	background: url(../img/search_ph_02.webp) no-repeat 0 0/100%;
	width: 177px;
	height: 271px;
	position: absolute;
  top: -101px;
  right: 8px;
	z-index: 10;
}

.search__heading{
	text-align: center;
	margin-bottom: 74px;
}

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

.search__type{
	width: 340px;
}

.search__area{
	width: 580px;
}

.search__mhd{
	position: relative;
	height: 52px;
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #8ec32c 45%, #8ec32c 50%, transparent 50%, transparent 100%);
	margin-bottom: 35px;
	z-index: 100;
}

.search__mhd span{
	display: block;
	background: url(../img/heading_bg_01.svg) no-repeat top 0 left 50%;
  font-weight : 700;
  font-size : 22px;
  line-height : 1;
  color : #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.search__area .search__mhd{
	background:linear-gradient(0deg,transparent 0%, transparent 45%, #0a84ff 45%, #0a84ff 50%, transparent 50%, transparent 100%);
}

.search__area .search__mhd span{
	background-image: url(../img/heading_bg_04.svg);
}

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

.search__type__item{
	width: 340px;
	height: 90px;
	margin-bottom: 20px;
}

.search__type__item a{
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: #8ec32c url(../img/search_arrow.svg) no-repeat top 50% right 15px;
	border-radius: 10px;
  font-weight : 700;
  font-size : 20px;
  line-height : 1;
  letter-spacing : 2px;
  color : #fff;
}

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

.search__area__item{
	width: 280px;
	height: 120px;
	margin-bottom: 20px;
	margin-right: 20px;
}

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

.search__area__item a{
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: #0a84ff url(../img/search_arrow.svg) no-repeat top 50% right 15px;
	border-radius: 10px;
  font-weight : 700;
  font-size : 20px;
  line-height : 1.85;
  letter-spacing : 2px;
	text-align: center;
  color : #fff;
}

.search__area__item span{
  font-size : 14px;
  line-height : 1.571;
  letter-spacing: 0.1px;
}

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

@media screen and (max-width: 768px) {
	.search{
		padding: 50px 0 80px 0;
		background: url(../img/search_bg_img.svg) no-repeat top 60px left 10px/50px;
	}

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

	.search__container::before{
		width: 125px;
		height: 93px;
		top: -100px;
		left: 20px;
	}

	.search__container::after{
		width: 59px;
		height: 91px;
		top: -10px;
		right: 21px;
	}

	.search__heading{
		margin-bottom: 30px;
	}

	.search__block{
		display: block;
	}

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

	.search__area{
		width: 100%;
	}

	.search__mhd{
		height: 40px;
	}

	.search__mhd span{
		background-size: 210px;
		font-size : 18px;
	}


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

	.search__type__item{
		width: 48%;
		height: 60px;
		margin-bottom: 20px;
	}

	.search__type__item a{
		background: #8ec32c url(../img/search_arrow.svg) no-repeat top 50% right 10px;
		border-radius: 5px;
		font-size : 16px;
		line-height : 1.4;
	}

	.search__area__item{
		width: 100%;
		height: 100px;
		margin-bottom: 15px;
		margin-right: 0;
	}

	.search__area__item a{
		background: #0a84ff url(../img/search_arrow.svg) no-repeat top 50% right 10px;
		border-radius: 5px;
		font-size : 18px;
	}

	.search__area__item span{
		font-size : 14px;
		line-height : 1.571;
		letter-spacing: 0.1px;
	}
}

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

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

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

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

	.floating__btm__btn__item{
		width: 100%;
	}

	.floating__btm__btn__item a{
		display: flex;
		width: 100%;
		height: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		color: #fff;
		background: #0a84ff;
		font-weight: 500;
		font-size: 16px;
		letter-spacing: 0.05em;
		line-height: 1;
	}
}

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

.footer{
	min-width: 1200px;
}

.footer__container{
	padding: 60px 0;
}

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

.footerLink__item{
	font-size: 16px;
	line-height: 2;
	position: relative;
	margin-left: 34px;
	padding-left: 34px;
}

.footerLink__item::before{
	content: '';
	display: block;
	width: 1px;
	height: 24px;
	background: #000;
	position: absolute;
	top: 6px;
	left: 2px;
}

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

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

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

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

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

	.footer__container{
		padding: 30px 0;
	}

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

	.footerLink__item{
		font-size: 12px;
		margin-left: 10px;
		padding-left: 10px;
		white-space: nowrap;
	}

	.footerLink__item::before{
		height: 14px;
		top: 4px;
		left: 0;
	}

	.copyright{
		font-size: 12px;
	}
}