@charset "UTF-8";

/*メインイメージ
---------------------------------------------------------*/
.m_img_area,
.m_img,
.m_slider,
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	min-height: 800px;
}
.m_img_area {
	position: relative;
	height: 100vh;
}
.m_img_area::before,
.m_img_area::after {
	z-index: 2;
}
.m_img,
.m_slider,
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	width: 100%;
	height: 100%;
}
.m_slider .swiper-slide {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	padding: min(4.5%,70px) 0;
	z-index: -1;
}
.m_slider .swiper-slide::before {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transform: scale(1.1);
	z-index: -2;
	transition: transform 10s;
}
.m_slider .swiper-slide-active::before {
	transform: scale(1);
}
.m_slider .slide1::before {
	background-image:url("../images/top/m_img1@2x.jpg");}
.m_slider .slide2::before {
	background-image:url("../images/top/m_img2@2x.jpg");}
.m_slider .slide3::before {
	background-image:url("../images/top/m_img3@2x.jpg");}
.m_slider .slide4::before {
	background-image:url("../images/top/m_img4@2x.jpg");}
.m_slider .slide5::before {
	background-image:url("../images/top/m_img5@2x.jpg");}

/*m_copy_abs*/
.m_copy_abs{
	/*position: absolute;
	top: 51%;
	transform: translateY(-50%);
	left:min(130px,10vw);*/
	color: #fff;
	position: relative;
	z-index: 10;
	padding-left: min(100px,6.5vw);
	box-sizing: border-box;
}
.m_copy_abs .m_copy_abs1{
	font-size: min(850%,10vw);
	line-height: 1em;
}
.m_copy_abs .m_copy_abs1 span{
	display: inline-block;
	margin-left: -0.08em;
	margin-right: -0.08em;
	padding: 0;
	vertical-align: top;
}
.m_copy_abs .m_copy_abs1 span.space{
	width: .1em;
}
.m_copy_abs .m_copy_abs1 span.img{
	width: .3em;
	padding-top: .05em;
	padding-left: .1em;
}
.m_copy_abs .m_copy_abs2{
	font-size: min(280%,3.3vw);
	letter-spacing: 0.06em;
	line-height: 1.1em;
	margin-top: .5em;
}

.m_copy_abs1 span.grd1{
	background: linear-gradient(to right,  rgba(255,255,255,0.4) 0%,rgba(255,255,255,0.6) 100%);
	background-clip: text;
	color: transparent;
}
.m_copy_abs1 span.grd2{
	background: linear-gradient(to right,  rgba(255,255,255,0.6) 0%,rgba(255,255,255,0.8) 100%);
	background-clip: text;
	color: transparent;
}
.m_copy_abs1 span.grd3{
	background: linear-gradient(to right,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,1) 100%);
	background-clip: text;
	color: transparent;
}
.m_copy_abs1 span.grd1_r{
	background: linear-gradient(to right,  rgba(255,255,255,0.6) 0%,rgba(255,255,255,0.4) 100%);
	background-clip: text;
	color: transparent;
}
.m_copy_abs1 span.grd2_r{
	background: linear-gradient(to right,  rgba(255,255,255,0.8) 0%,rgba(255,255,255,0.6) 100%);
	background-clip: text;
	color: transparent;
}
.m_copy_abs1 span.grd3_r{
	background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.8) 100%);
	background-clip: text;
	color: transparent;
}

/*m_all_copy*/
.m_all_copy{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 97%;
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
	flex-flow: row-reverse;
	z-index: 2;
}
/*m_copy*/
.m_copy_slider{
	width:13em;
	/*position: absolute;
	display: inline;
	top: 64%;
	transform: translateY(-50%);
	right: 2%;*/
	font-size: min(180%,2.5vw);
	letter-spacing: 0.15em;
	line-height: 2em;
	color: #fff;
	position: relative;
	z-index: 2;
}
.m_copy_slider .swiper-slide .m_copy{
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease;
}
 .m_copy_slider .swiper-slide.swiper-slide-active .m_copy{
	opacity: 1;
	transform: translateY(0px);
	transition-delay: 1.5s;
}

/*com_maru*/
.com_maru{
	width: 100%;
	max-width: 1032px;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-39%);
	aspect-ratio: 1032 / 1032;
	opacity: .4;
}
.com_maru path {
	fill: none;
	stroke: url(#grad1);
	stroke-miterlimit: 10;
	stroke-width: 2px;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 1032;
  stroke-dashoffset: 1032;
}
.anime_on .com_maru path {
	animation: line_animation1 3s linear 1s forwards;
}
.anime_on .com_maru:nth-child(2) path {
	animation: line_animation1 3s linear 2s forwards;
}
@keyframes line_animation1 {
  0% {
    stroke-dashoffset: 1032;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/*m_img_maru*/
.m_img_maru{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.m_img_maru .com_maru{
	position: absolute;
	width: 69%!important;
}
.m_img_maru .com_maru:nth-child(1){
	/*bottom: 185px;
	right: -10%;*/
	top: 35%;
	transform: translateY(-50%);
	right: -50%;
}
.m_img_maru .com_maru:nth-child(2){
	/*top: 140px;
	left: -10%*/
	top: 57%;
	transform: translateY(-50%);
	left: -50%;
}
.m_img_maru .com_maru img{
	width: 100%;
	height: auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_img_area,
.m_img,
.m_slider,
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	min-height:73vw!important;
	height: 100vh!important;
}
	
/*m_copy_abs*/
.m_copy_abs{
	padding-left: 4vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area,
.m_img,
.m_slider,
.m_slider .swiper-wrapper,
.m_slider .swiper-slide {
	max-height: 100vh;
	min-height: 134vw;
	overflow: hidden;
}
	
.m_slider .slide1::before {
	background-image:url("../images/top/m_img1_sp@2x.jpg");}
.m_slider .slide2::before {
	background-image:url("../images/top/m_img2_sp@2x.jpg");}
.m_slider .slide3::before {
	background-image:url("../images/top/m_img3_sp@2x.jpg");}
.m_slider .slide4::before {
	background-image:url("../images/top/m_img4_sp@2x.jpg");}
.m_slider .slide5::before {
	background-image:url("../images/top/m_img5_sp@2x.jpg");}
	
.m_slider .swiper-slide {
	padding: 0 0;
}
	
/*m_all_copy*/
.m_all_copy{
	top: auto;
	transform: translateY(0);
	bottom: 26vw;
	width: 85%;
	display: block;
}
	
/*m_copy_abs*/
.m_copy_abs{
	padding-left: 0;
}
	
/*m_copy_abs*/
.m_copy_abs{
	/*bottom: 25vw;
	top: auto;
	transform: translateY(0);
	left:9%;*/
}
.m_copy_abs .m_copy_abs1{
	font-size: 400%;
}
.m_copy_abs .m_copy_abs2{
	font-size: 130%;
}

/*m_copy*/
.m_copy_slider{
	/*top:auto;
	transform: translateY(0);
	bottom: 85vw;
	right: auto;
	left: 10%;*/
	font-size:125%;
	letter-spacing: 0.15em;
	margin-bottom: 5.5vw;
}

/*m_img_maru*/
.m_img_maru .com_maru{
	width: 150%!important;
}
.m_img_maru .com_maru:nth-child(1){
	/*bottom: 20%;
	right: -80%;*/
	top: 40%;
	right: -110%;
}
.m_img_maru .com_maru:nth-child(2){
	/*top:15%;
	left: -80%;*/
	left: -110%;
	top:55%;
}
}










/* news
---------------------------------------------------------*/
#news .w1340{
	text-align: right;
	position: relative;
	z-index: 2;
}
#news .news_box{
	position: relative;
	margin-top: min(30px,2vw);
	margin-bottom: min(65px,5.5vw);
	margin-left: auto;
	margin-right: .5em;
	box-sizing: border-box;
}
#news h2,
#news p,
#news .com_btn2{
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	line-height: 1em;
}
#news h2{
	border-right: 1px solid #ccc;
	padding-right: 1em;
	margin-right: .9em;
}
#news p{
	margin-right: 1em;
}
#news .com_btn2,
#news .com_btn2 a{
	width: 100%;
	max-width: 21em;
	padding: 0;
}/*
#news .com_btn2_icon{
	position: absolute;
	top:60%;
	transform: translateY(-50%);
	right: 0;
	font-size:80%;
}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#news .news_box{
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 7%;
	margin-bottom: 9%;
	
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
#news h2{
	padding-right: 1em;
	margin-right: .9em;
}
#news p{
	margin-right: 0;
}
#news h2,
#news p{
		margin-bottom: 1rem;
	}
#news .com_btn2{
	width:calc(100% - 1.5em);
}
}





/* sp_topmenu
---------------------------------------------------------*/
#sp_topmenu .bg{
	background: #63636a;
	padding: 5% 0 11%;
}
#sp_topmenu ul{
	width: 90%;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#sp_topmenu ul li{
	width: 46%;
	border-bottom: 1px solid #9d9da2;
	padding: 1em 0;
	text-align: center;
}






/* info
---------------------------------------------------------*/
#info .info_box{
	position: relative;
	z-index: 2;
	background: #fff;
	padding-top:min(60px,4vw);
	padding-bottom:min(60px,4vw);
	padding-left:min(6%,4vw);
	padding-right:min(6%,4vw);
	box-sizing: border-box;
	margin-bottom: min(120px,11vw);
}
#info .info_box > .flex_box{
	margin-bottom: 40px;
}
#info .info_box > .flex_box .flex1{
	width: 29%;
}
#info .info_box > .flex_box .flex1 .co21{
	margin-bottom: .5em;
}
#info .info_box > .flex_box .com_timetable{
	width: 39.5%;
}
#info .info_box > .flex_box .flex3{
	width: 25%;
	max-width: 260px;
}
#info .info_box > .flex_box .flex3 address{
	line-height: 1.7em;
	margin-bottom: 1em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1200px) {
#info .info_box > .flex_box .flex1{
	width: 25%;
}
#info .info_box > .flex_box .flex1 .zen14{
	letter-spacing: normal;
}
#info .info_box > .flex_box .com_timetable{
	width: 39%;
}
#info .info_box > .flex_box .flex3{
	width: 31.5%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#info .info_box{
	padding-top:min(60px,5vw);
	padding-bottom:min(60px,5vw);
	padding-left:min(5.5%,4vw);
	padding-right:min(5.5%,4vw);
}
#info .info_box > .flex_box{
	flex-wrap: wrap;
}
#info .info_box > .flex_box .flex1{
	width: 100%;
	margin-bottom: 5%;
}
#info .info_box > .flex_box .flex1 .co21{
	margin-bottom: .5em;
}
#info .info_box > .flex_box .com_timetable{
	width: 55%;
}
#info .info_box > .flex_box .flex3{
	width: 40%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#info .info_box{
	width: 111%;
	margin-left: -5.5%;
	padding-top:12%;
	padding-bottom:15%;
	padding-left: 5%;
	padding-right:5%;
	margin-top: 0;
	margin-bottom: 0;
}
#info .info_box > .flex_box{
	margin-bottom: 4%;
	display: block;
}
#info .info_box > .flex_box .flex1{
	width: 100%;
	margin-bottom: 8%;
}
#info .info_box > .flex_box .flex1 .co21{
	text-align: center;
}
#info .info_box > .flex_box .com_timetable{
	width: 100%;
}
#info .info_box > .flex_box .flex3{
	width: 100%;
	max-width:100%;
	margin-top: 8%;
}
#info .info_box > .flex_box .flex3 address{
	margin-bottom: .8em;
}
}





/* message
---------------------------------------------------------*/
#message{
	margin-bottom: min(120px,11vw);
}
#message h2{
	text-align: center;
	margin-bottom: -0.3em;
	color: #b1b1b5;
}
#message h2 span{
	margin-left: -.14em;
	margin-right: -.14em;
}
#message .flex_box .img_l{
	width: 49.5%;
}
#message .flex_box .txt_r{
	position: relative;
	width: 46.5%;
	padding-top:min(160px,12vw);
	max-width: 570px;
}
#message .flex_box .txt_r .kaiten{
	position: absolute;
	top:0;
	right: -2.5%;
	width: min(295px,25vw);
}
#message .flex_box .txt_r .kaiten img{
	animation: rotate 15s linear infinite;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#message .flex_box .txt_r .inbox{
	max-width: 515px;
}
#message .flex_box .txt_r .zen23{
	margin-bottom: .5em;
}
#message .flex_box .txt_r .zen35{
	margin-bottom: .9em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#message .flex_box .txt_r p{
	letter-spacing: normal;
}
#message .flex_box .txt_r .zen23{
	letter-spacing: 0.1em;
}
#message .flex_box .txt_r .zen35{
	letter-spacing: 0.1em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#message .flex_box{
	display: block;
	overflow: hidden;
}
#message .flex_box .img_l{
	float: left;
	margin-right: 5.5%;
	margin-bottom: 2em;
}
#message .flex_box .txt_r{
	width: 100%;
	max-width: 100%;
	padding-top: 9vw;
}
#message .flex_box .txt_r .inbox{
	max-width: 100%;
}
#message .flex_box .txt_r .zen23{
	margin-bottom: .3em;
}
#message .flex_box .txt_r .zen35{
	margin-bottom: .5em;
}
#message .flex_box .txt_r .kaiten{
	right: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#message{
	padding-top: 12%;
	margin-bottom: 12%;
}
#message h2{
	position: relative;
	z-index: 2;
	margin-bottom: -0.3em;
}
#message .flex_box{
	display: block;
}
#message .flex_box .img_l{
	width: 100%;
}
#message .flex_box .txt_r{
	width: 100%;
	max-width: 100%;
	padding-top: 15%;
}
#message .flex_box .txt_r .kaiten{
	top:-20vw;
	right: auto;
	left: -10%;
	width: 45vw;
}
#message .flex_box .txt_r .inbox{
	max-width: 100%;
}
}








/* reason
---------------------------------------------------------*/
#reason{
	margin-bottom: 75px;
}
#reason .bigbg{
	height: min(610px,40vw);
	background: url("../images/top/reason_bg@2x.jpg")no-repeat center center;
	background-size: cover;
}
#reason .titlebox{
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
	flex-flow: row-reverse;
	margin-top:-90px;
	margin-bottom: min(60px,4vw);
} 
#reason .titlebox h2{
	width: 51%;
	max-width: 580px;
}
#reason .titlebox .reason_slide{
	width: 43%;
	padding-bottom: min(55px,4vw);
}
#reason .titlebox .reason_slide .reason_slide_swiper{
	max-width: 520px;
}

#reason .reason1{
	position: relative;
	padding-bottom: min(100px,5vw);
	margin-bottom: min(45px,3.5vw);
}
#reason .reason1 .img_l{
	position: absolute;
	bottom:0;
	left: 0;
	width: 25.5%;
}
#reason .reason1 .img_r{
	position: absolute;
	top:0;
	right: 0;
	width:25.5%;
}
#reason .reason1 .txt{
	width: 41%;
	max-width: 425px;
	margin: 0 auto;
}
#reason .reason_index1{
	margin-bottom: .2em;
}
#reason .reason_index2{
	margin-bottom: .7em;
}

/*com_maru2*/
#reason .com_maru2{
	position: absolute;
	z-index: -1;
}
#reason .reason1 .com_maru2{
	bottom: 0;
	left: 23%;
}
#reason .reason2 .com_maru2{
	top:-80px;
	left:-8.5%;
}
#reason .reason4_5 .com_maru2{
	top: -25px;
	right:-30%;
}

/*com_maru2*/
.com_maru2{
	width: 1301px!important;
	opacity: .4;
}
.com_maru2 path {
	fill: none;
	stroke: url(#grad1);
	stroke-miterlimit: 10;
	stroke-width: 2px;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 1301;
	stroke-dashoffset: 1301;
}
.anime_on .com_maru2 path {
	animation: line_animation2 1s linear 0.1s forwards;
}
@keyframes line_animation2 {
  0% {
    stroke-dashoffset: 1301;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

#reason .reason2{
	position: relative;
	display: flex;
    justify-content: space-between;
	flex-flow: row-reverse;
}
#reason .reason2,
#reason .reason3,
#reason .reason4_5{
	padding-bottom:min(120px,8vw);
}
#reason .reason2 .img{
	width: 53.5%;
}
#reason .reason2 .txt{
	width: 42.5%;
	padding-left: 4%;
	box-sizing: border-box;
	padding-top:min(70px,4vw);
}
#reason .reason2 .txt .txt_inbox{
	max-width: 425px;
	margin: 0 auto;
}

#reason .reason3{
	position: relative;
	width: 92%;
	max-width: 1290px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
}
#reason .reason3 .img{
	width: 62%;
}
#reason .reason3 .txt{
	width: 34%;
	max-width: 370px;
}

#reason .reason4_5{
	position: relative;
	width: 92%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
}
#reason .reason4_5 .reason4,
#reason .reason4_5 .reason5{
	width: 48%;
}
#reason .reason4_5 .img_txt{
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom:min(35px,2vw);
}
#reason .reason4_5 .img_txt .img{
	width: 57%;
}
#reason .reason4_5 .img_txt .txt{
	width: 36.5%;
}
#reason .reason4_5 .txtbox{
	max-width: 505px;
	margin: 0 auto;
}

#reason .reason6 .com_slide{
	margin-bottom: min(40px,3vw);
}
#reason .reason6 .com_slide .swiper-slide{
	width: min(720px,55vw);
}

#reason .reason6 .flex_box{
	width: 92%;
	max-width: 1100px;
	margin: 0 auto;
}
#reason .reason6 .flex_l{
	width: 47%;
}
#reason .reason6 .flex_l ul{
	display: flex;
    justify-content: space-between;
	max-width: 482px;
}
#reason .reason6 .flex_l ul li{
	width: 32%;
}
#reason .reason6 .flex_r{
	width: 48%;
	padding-top:min(70px,4vw);
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#reason .reason_index2{
	letter-spacing: 0.05em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#reason .titlebox{
	margin-top:-6vw;
}
	
#reason .com_maru2{
	width: 100%!important;
}
#reason .reason1 .com_maru2{
	bottom: 0;
}
#reason .reason2 .com_maru2{
	top:0;
}
#reason .reason4_5 .com_maru2{
	top: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#reason{
	margin-bottom: 15%;
}
#reason .bigbg{
	height: 42vw;
}
#reason .titlebox{
	display: block;
	margin-top:-14vw;
	margin-bottom: 5%;
} 
#reason .titlebox h2{
	position: relative;
	z-index: 10;
	width: 95%;
	margin: 0 auto;
}
#reason .titlebox .reason_slide{
	width: 50%;
	margin-left: 50%;
	padding-bottom: 8%;
}

/*reason_list*/
#reason .reason_list{
	width: 90%;
	margin: 0 auto;
}
	
/*reason1*/
#reason .reason1{
	padding-bottom: 0;
	margin-bottom: 12%;
}
#reason .reason1 .img{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2%;
}
#reason .reason1 .img_l,
#reason .reason1 .img_r{
	position: static;
	width: 50%;
}
#reason .reason1 .txt{
	width: 100%;
	max-width: 100%;
}
#reason .reason_index1{
	margin-bottom: .1em;
}
#reason .reason_index2{
	margin-bottom: .5em;
}
#reason .com_maru2{
	width: 200%!important;
}
#reason .reason1 .com_maru2{
	bottom: 0;
	left: 0;
}
#reason .reason2 .com_maru2{
	top: 0;
	left:-100%;
}
#reason .reason4_5 .com_maru2{
	top: 0;
	right:-100%;
}

/*reason2*/
#reason .reason2{
	display: block;
}
#reason .reason2,
#reason .reason3,
#reason .reason4_5{
	padding-bottom: 12%;
}
#reason .reason2 .img{
	width: 105.5%;
	margin-right: -5.5%;
}
#reason .reason2 .txt{
	width:  100%;
	padding-left: 0;
	padding-top: 7%;
}
#reason .reason2 .txt .txt_inbox{
	max-width: 100%;
}

/*reason3*/
#reason .reason3{
	width: 100%;
	display: block;
}
#reason .reason3 .img{
	width: 100%;
}
#reason .reason3 .txt{
	width: 100%;
	max-width: 100%;
}

#reason .reason4_5{
	width: 100%;
}
#reason .reason4_5 .reason4,
#reason .reason4_5 .reason5{
	width: 47.2%;
}
#reason .reason4_5 .img_txt{
	display: block;
	margin-bottom: 5%;
}
#reason .reason4_5 .img_txt .img{
	width: 100%;
}
#reason .reason4_5 .img_txt .txt{
	width: 100%;
}
#reason .reason4_5 .txtbox{
	max-width: 100%;
}

/*reason6*/
#reason .reason6 .com_slide{
	margin-bottom: 0;
}
#reason .reason6 .com_slide .swiper-slide{
	width: 80vw;
}
#reason .reason6 .flex_box{
	position: relative;
	z-index: 5;
	width: 100%;
	display: block;
}
#reason .reason6 .flex_l{
	width: 100%;
	padding-top: 18vw;
}
#reason .reason6 .flex_l ul{
	width: 85%;
	position: absolute;
	top:-5vw;
	right: 0;
}
#reason .reason6 .flex_r{
	width:100%;
	padding-top: 0;
}
}







/* menu box1
---------------------------------------------------------*/
#menu .bg1{
	position: relative;
	background: url("../images/top/menu_bg@2x.jpg")no-repeat center center;
	background-size: cover;
	padding-top: min(100px,8vw);
	padding-bottom: min(200px,16vw);
}
#menu .bg1::after{
	position: absolute;
	display: block;
	content: "";
	background: #f6f6f6;
	background-size: 100% auto;
	width: 97%;
	height:min(100px,8vw);
	bottom: -1px;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 10px 10px 0 0;
	z-index: 5;
	max-width: 1450px;
}
#menu .bg1 .titlebox .ft_co{
	margin-bottom: .3rem;
}
#menu .bg1 .titlebox .ft_co span{
	margin-left: -0.14em;
	margin-right: -0.14em;
}
#menu .bg1 .titlebox .ft_co span:first-child{
	margin-left: 0!important;
}
#menu .box1 .btn_list{
	display: flex;
    justify-content: space-between;
	width: 55%;
	max-width: 409px;
	margin-left: auto;
	margin-right: 5.5%;
	margin-top: -50px;
	margin-bottom: min(50px,4vw);
}
#menu .box1 .btn_list li{
	background: #fff;
	width: 32%;
	text-align: center;
	border-radius: 5px;
	line-height: 1em;
	font-size:min(115%,2vw);
	letter-spacing: 0.15em;
	padding-top: .8em;
	padding-bottom: .4em;
	color: #808080;
	transition: 0.4s;
}
/*#menu .box1 .btn_list li.thumb-media-active*/
#menu .box1 .btn_list li:hover{color: #ef7118;transition: 0.4s;}
#menu .box1 .btn_list li:nth-child(2):hover{color: #35748e;}
#menu .box1 .btn_list li:nth-child(3):hover{color: #4f8551;}

#menu .box1 .btn_list li:hover{
	cursor: pointer;
}
#menu .box1 .btn_list li i{
	font-size: 45%;
	margin-top: .3em;
}

/*slide_box*/
#menu .box1 .slide_box .swiper-slide{
	position: relative;
	background:rgba(255,255,255,0.85);
	width: 30em;
	margin: 0 .3em!important;
	padding-top: min(2.5em,3vw);
	padding-bottom:min(2.5em,3.5vw);
	padding-left: min(2.5em,5vw);
	padding-right: min(2.5em,5vw);
	box-sizing: border-box;
	display: flex;
    justify-content: space-between;
	font-size:min(100%,1.9vw);
}
#menu .box1 .slide_box .swiper-slide::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/menu_abs1@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: min(6.5em,10vw);
	bottom: min(2.5em,2.5vw);
	right:min(3.5em,3.5vw);
	aspect-ratio: 100 / 114;
}
#menu .box1 .slide_box .swiper-slide.adult::before{
	background: url("../images/top/menu_abs2@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	bottom:min(2.5em,2vw);
	left:min(8em,12vw);
}
#menu .box1 .slide_box .swiper-slide.old::before{
	background: url("../images/top/menu_abs3@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	right:min(3.5em,3.5vw);
}
#menu .box1 .slide_box .swiper-slide.adult{
	width:42.6em;
}
#menu .box1 .slide_box .swiper-slide .menu_l{
	width: 10.5em;
}
#menu .box1 .slide_box .swiper-slide .menu_l .zen27{
	margin-bottom: .8em;
}
#menu .box1 .slide_box .swiper-slide .menu_r{
	width: calc(100% - 13em);
}
#menu .box1 .slide_box .swiper-slide .menu_r li{
	background: #fff;
	margin-bottom: .5em;
	border-radius: 5px;
	text-align: center;
}
#menu .box1 .slide_box .swiper-slide .menu_r li a{
	position: relative;
	display: block;
	font-size:105%;
	padding-top: 1em;
	padding-bottom: 1em;
	line-height: 1.4em;
}
#menu .box1 .slide_box .swiper-slide .menu_r li a:hover{color: #ef903a;}
#menu .box1 .slide_box .swiper-slide.adult .menu_r li a:hover{color: #5d90a5;}
#menu .box1 .slide_box .swiper-slide.old .menu_r li a:hover{color: #919e66;}

#menu .box1 .slide_box .swiper-slide .menu_r li a::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e803';	
	font-size: 40%;
	right: .7em;
	bottom: -0.3em;
	color: #ef903a;
}
#menu .box1 .slide_box .swiper-slide.adult .menu_r li a::before{
	color: #5d90a5;}
#menu .box1 .slide_box .swiper-slide.old .menu_r li a::before{
	color: #919e66;}

#menu .box1 .slide_box .swiper-slide .menu_r .col2{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#menu .box1 .slide_box .swiper-slide .menu_r .col2 li{
	width: 49%;
}
#menu .box1 .slide_box .swiper-slide.no{
	background: none;
	display: none;
}
#menu .box1 .slide_box .swiper-slide.no::before{
	display: none;
}

#menu .bg1 .yobo{
	position: relative;
	border:1px solid #fff;
	border-right: none;
	color: #fff;
	max-width: 1100px;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;	
	padding-top: .9em;
	padding-bottom: 1em;
	transition: 0.4s;
}
#menu .bg1 .yobo:hover{
	background: rgba(255,255,255,0.10);
	transition: 0.4s;
}
#menu .bg1 .yobo::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/menu_abs4.svg")no-repeat top left;
	background-size: auto 100%;
	width: 3em;
	height: 100%;
	top:0;
	left: 100%;
}
#menu .bg1 .yobo .zen27{
	margin-right: .5em;
	margin-left: 1.2em;
}
#menu .bg1 .yobo .com_btn2_icon{
	color: #fff;
	margin-top: .3em;
}
#menu .bg1 .yobo .com_btn2_arrow{
	fill: #7ba95f;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#menu .box1 .btn_list{
	margin-top: -8vw;
	margin-right: 0;
}
#menu .box1 .slide_box .swiper-slide .menu_r{
	width: calc(100% - 12em);
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#menu .bg1{
	padding-top:12%;
	padding-bottom: 10%;
}
#menu .bg1::after{
	/*width: 93%;
	height: 10vw;
	border-radius: 5px 5px 0 0;*/
	display: none;
}
#menu .bg1 .titlebox{
	text-align: center;
	margin-bottom: 10%;
}
#menu .bg1 .titlebox .ft_co{
	margin-bottom: .2rem;
}

/*btn_list*/
#menu .box1 .btn_list{
	width: 85%;
	max-width:100%;
	margin-right: auto;
	margin-top: 0;
	margin-bottom:8%;
}
#menu .box1 .btn_list li{
	width: 32%;
	font-size: 100%;
}
#menu .box1 .btn_list li i{
	margin-top: .1em;
}
	
/*slide_box*/
#menu .box1 .slide_box{
	position: relative;
	padding-bottom: 6%;
}
#menu .box1 .slide_box .swiper-scrollbar-drag{
	background: #72dbba;
	height: 6px;
	margin-top: -1px;
}
#menu .box1 .slide_box .swiper-scrollbar{
	background: #fff;
	height: 4px;
}
#menu .box1 .slide_box .swiper-slide{
	width: 89vw!important;
	padding-top: 5vw;
	padding-bottom:5vw;
	padding-left:5vw;
	padding-right:5vw;
	font-size: 4vw;
	display: block;
	background: url(../images/top/menu_tab1_sp@2x.png)no-repeat top right rgba(255,255,255,0.85);
	background-size: 70% auto;
	margin-left: 0!important;
	margin-right: 10vw!important;
}
#menu .box1 .slide_box .swiper-slide.adult{
	background-image: url(../images/top/menu_tab2_sp@2x.png);
	margin-left: 5.5vw!important;
}
#menu .box1 .slide_box .swiper-slide.old{
	margin-right: -9.5vw!important;
	background-image: url(../images/top/menu_tab3_sp@2x.png);
}
#menu .box1 .slide_box .swiper-slide::before{
	width: 13vw;
	bottom: 4vw;
	right: 7vw;
}
#menu .box1 .slide_box .swiper-slide.school::before,
#menu .box1 .slide_box .swiper-slide.old::before{
	width: 19vw;
}
#menu .box1 .slide_box .swiper-slide.adult::before{
	background-position: top left;
	bottom:auto;
	top:2.5vw;
	left: 4.7em;
}
#menu .box1 .slide_box .swiper-slide.old::before{
	right:7vw;
}
#menu .box1 .slide_box .swiper-slide .menu_l{
	width: 100%;
}
#menu .box1 .slide_box .swiper-slide .menu_l .zen27{
	margin-bottom: 1em;
}
#menu .box1 .slide_box .swiper-slide .menu_r{
	width: 100%;
}
#menu .box1 .slide_box .swiper-slide .menu_r li{
	margin-bottom: .5em;
}
#menu .box1 .slide_box .swiper-slide .menu_r li a{
	font-size:100%;
	padding-top: .8em;
	padding-bottom: .8em;
}
#menu .box1 .slide_box .swiper-slide .menu_r li a::before{
	bottom: -0.5em;
}
	
/*yobo*/
#menu .bg1 .yobo{
	width: 97%;
	margin-top: 10%;
	padding-bottom: .9em;
	margin-left: 0;
	margin-right: auto;
}
#menu .bg1 .yobo .zen27{
	margin-right: .3em;
	margin-left: .5em;
}
#menu .bg1 .yobo .com_btn2_icon{
	margin-top: .1em;
	width: 1.5em!important;
}
}



/* menu box2
---------------------------------------------------------*/
#menu .box2{
	margin-bottom: min(80px,6vw);
}
#menu .box2 .box2_list > li{
	display: flex;
    justify-content: space-between;
	padding-top: min(80px,6vw);
}
#menu .box2 .box2_list > li:first-child{
	padding-top: 0;
}
#menu .box2 .box2_list .box2_inbox1{
	width: 27.5%;
	text-align: center;
}
#menu .box2 .box2_list .box2_inbox1 div:nth-child(1){
	margin-bottom: 30px;
}
#menu .box2 .box2_list .box2_inbox1 div:nth-child(2){
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
#menu .box2 .box2_list .box2_inbox2{
	width: 33%;
}
#menu .box2 .box2_list .box2_inbox3{
	width: 27.5%;
	padding-top: 1em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#menu .box2 .box2_list .box2_inbox1 .zen40{
	letter-spacing: 0.1em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#menu .box2 .box2_list .box2_inbox3{
	width: 33%;
	padding-top: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#menu .box2{
	padding-top: 10%;
	margin-bottom: 8%;
}
#menu .box2 .box2_list > li{
	position: relative;
	display: block;
	padding-top:0;
	margin-bottom: 12%;
}
#menu .box2 .box2_list .box2_inbox1{
	width: 58%;
	position: relative;
	z-index: 2;
}
#menu .box2 .box2_list .box2_inbox1 div:nth-child(1){
	margin-bottom: 7%;
}
#menu .box2 .box2_list .box2_inbox1 div:nth-child(2){
	display: block;
}
#menu .box2 .box2_list .box2_inbox2{
	position: absolute;
	top:0;
	right: 0;
	width: 50%;
}
#menu .box2 .box2_list .box2_inbox3{
	width:100%;
	padding-top: 2%;
}
}











/* menu box3
---------------------------------------------------------*/
#menu .box3{
	margin-bottom: min(120px,10vw);
}
#menu .box3 .box3_list{
	display: flex;
    justify-content: space-between;
}
#menu .box3 .box3_list li{
	width: 48.5%;
	max-width: 590px;
	text-align: center;
}
#menu .box3 .box3_list .txt{
	max-width: 504px;
	text-align: left;
	margin-top: min(30px,2vw);
	margin-left: auto;
	margin-right: auto;
}
#menu .box3 .box3_list .txt h4{
	display: flex;
    justify-content: start;
    align-items: center;	
}
#menu .box3 .box3_list .txt h4 i{
	margin-left: 1em;
	font-size:120%;
}
#menu .box3 .box3_list .txt h4 .com_btn2_icon{
	width: 1.1em!important;
	margin-left: 0.6em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#menu .box3{
	margin-bottom: 12%;
}
#menu .box3 .box3_list{
	display: block;
}
#menu .box3 .box3_list li{
	width: 100%;
	max-width: 100%;
	margin-bottom: 12%;
}
#menu .box3 .box3_list li:last-child{
	margin-bottom:0;
}
#menu .box3 .box3_list .txt{
	max-width: 100%;
	margin-top:4%;
}
#menu .box3 .box3_list .txt h4{
	margin-bottom: 1%;
}
#menu .box3 .box3_list .txt h4 i{
	font-size: 90%;
}
}










/* wp
---------------------------------------------------------*/
#wp .bg_white{
	padding-top: min(120px,10vw);
	padding-bottom: min(120px,10vw);
}
#wp .wp_col2{
	display: flex;
    justify-content: space-between;
	margin-bottom:min(80px,7vw);
}
#wp .wp_col2 > li{
	width: 48%;
	max-width: 595px;
}
#wp .wp_col2 .titlebox{
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: min(20px,1.5vw);
}
#wp .wp_col2 .titlebox .co50{
	color: #89898f;
}
#wp .wp_col2 .titlebox .co50 span{
	margin-left: -0.14em;
	margin-right: -0.14em;
}

#wp .wp_col2 .list li{
	display: flex;
    justify-content: space-between;
    align-items: center;	
	border-bottom: 1px solid #d6d6d8;
	padding-top: 1.2em;
	padding-bottom: 1.2em;
}
#wp .wp_col2 .list li div:nth-child(1){
	width: 8em;
	color: #89898f;
}
#wp .wp_col2 .list li div:nth-child(2){
	width: calc(100% - 8em);
}
#wp .wp_col2 .list li:hover div:nth-child(1){color: #4f8551;}
#wp .wp_col2 .list li:hover div:nth-child(2){color: #4f8551;}

#wp .link_list{
	max-width: 1218px;
	margin-top: min(80px,7vw);
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
}
#wp .link_list li{
	width: 32%;
	margin-right: 2%;
	margin-top: 2.2%;
}
#wp .link_list li:nth-child(3n){
	margin-right:0;
}
#wp .link_list li:nth-child(-n+3){
	margin-top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#wp .wp_col2 .list li div:nth-child(1){
	width: 7em;
}
#wp .wp_col2 .list li div:nth-child(2){
	width: calc(100% - 7em);
}
#wp .link_list li{
	width: 32.333%;
	margin-right: 1.5%;
	margin-top: 1.5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#wp .bg_white{
	padding-top:12%;
	padding-bottom:12%;
}
#wp .wp_col2{
	display: block;
	margin-bottom: 8%;
}
#wp .wp_col2 > li{
	width: 100%;
	max-width: 100%;
	margin-bottom: 15%;
}
#wp .wp_col2 > li:last-child{
	margin-bottom: 0;
}
#wp .wp_col2 .titlebox{
	margin-bottom: 0;
}
#wp .wp_col2 .list li div:nth-child(1){
	width: 7.5em;
}
#wp .wp_col2 .list li div:nth-child(2){
	width: calc(100% - 7.5em);
}

#wp .link_list{
	width: 80%;
	margin: 12% auto 0;
}
#wp .link_list li{
	width: 100%;
	margin-right: 0;
	margin-top: 4%!important;
}
#wp .link_list li:nth-child(1){
	margin-top: 0!important;
}
}







/* instagram
---------------------------------------------------------*/
#instagram .bg{
	background: #b89668;
	padding-top: min(60px,5vw);
	padding-bottom:min(60px,5vw);
}
#instagram .slide_box{
	position: relative;
}
#instagram .bxslider{
	position: absolute;
	top:0;
	left: 0;
}
#instagram .bxslider .insta-box,
#instagram .bxslider .my-insta-box,
#instagram .bxslider .bx-viewport{
   overflow: hidden!important;
 }
#instagram .bxslider #sb_instagram{
   max-width: 100%!important;
   width:100%!important;
}

/*縦幅*/
#instagram .bxslider .inst_llist .bx-viewport,
#instagram .bxslider .sbi_photo{
	height: min(265px,26.5vw)!important;/*サイズ*/
}

#instagram .bxslider #sb_instagram #sbi_images {
	display: block !important;
}
#instagram .bxslider .sbi_item{
	margin-left: min(10px,0.8vw);
	margin-right: min(10px,0.8vw);
	
	width: min(200px,20vw)!important;/*サイズ*/
}
#instagram .bnr{
	position: relative;
	z-index: 2;
	text-align: center;
	background: #b89668;
	aspect-ratio: 240 / 265;
	color: #fff;
	display: flex;
    justify-content: center;
    align-items: center;	
	
	width: min(240px,24vw)!important;/*サイズ*/
	height: min(265px,26.5vw)!important;/*サイズ*/
}
#instagram .bnr_inbox{
	display: inline-block;
}
#instagram .bnr_inbox .icon{
	width: 1.5em;
	margin: 0 auto .3em;
}
#instagram .bnr_inbox .co45 span{
	margin-left: -0.14em;
	margin-right: -0.14em;
}

#instagram .bnr_inbox a{
	position: relative;
	display: inline-block;
	margin-top: .9em;
	font-size:95%;
	letter-spacing: 0.05em;
	background: #c9af8c;
	border-radius: 100px;
	line-height: 1em;
	padding: .65em 3em .75em 1em;
}
#instagram .bnr_inbox a:hover{
	background:rgba(0,0,0,0.2);
}
#instagram .bnr_inbox a .com_btn2_icon{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .8em;
	color: #fff;
}
#instagram .bnr_inbox a .com_btn2_arrow{fill: #b89668;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#instagram .bnr_inbox a{
	font-size:90%;
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#instagram .bg{
	padding-top:12%;
	padding-bottom: 12%;
}
/*横幅*/
#instagram .bxslider .sbi_item{
	width: 34vw!important;/*サイズ*/
}

/*縦幅*/
#instagram .bxslider .inst_llist .bx-viewport,
#instagram .bxslider .sbi_photo{
	height: 45.5vw!important;/*サイズ*/
}

#instagram .bnr{
	width: 36vw!important;/*サイズ*/
	height: 45.5vw!important;/*サイズ*/
}
	
#instagram .bxslider .sbi_item{
	margin-left:1vw;
	margin-right: 1vw;
}
#instagram .bnr_inbox .icon{
	width: 1.1em;
}
#instagram .bnr_inbox a{
	position: relative;
	margin-top: .9em;
	font-size: 80%;
	letter-spacing: -0.05em;
	padding: .6em 2.8em .65em .7em;
}
#instagram .bnr_inbox a i{
	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	right: 1.7em;
	font-size: 60%;
	margin-left: 0;
}
}






/* recruit
---------------------------------------------------------*/
#recruit .bg{
	position: relative;
	padding-top: min(78px,7vw);
	padding-bottom: min(78px,7vw);
	background: url("../images/top/rec_bg@2x.jpg")no-repeat center center;
	background-size: cover;
}
#recruit .bg::before{
	position: absolute;
	display: block;
	content: "";
background: linear-gradient(to right,  rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%);
	background-size: 100% auto;
	width: 65%;
	height: 100%;
	top:0;
	left: 0;
}
#recruit .inbox{
	position: relative;
	display: inline-block;
	z-index: 2;
}
#recruit .inbox .co75 span{
	margin-left: -0.14em;
	margin-right: -0.14em;
}
#recruit .inbox .zen18{
	margin-top: 1em;
	margin-bottom: 2em;
}
#recruit .inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/insta_maru@2x.png")no-repeat top left;
	background-size: auto 100%;
	height: 130%;
	aspect-ratio: 278 / 134;
	top: 50%;
	transform: translateY(-50%);
	left: -93%;
}
#recruit .inbox2{
	position: relative;
	z-index: 5;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#recruit .bg{
	padding-top: 7%;
	padding-bottom:10%;
	background-image: url("../images/top/rec_bg_sp@2x.jpg");
	background-position: top right 6%;
}
#recruit .bg::before{
	width: 80%;
}
#recruit .inbox .zen18{
	margin-top: .9em;
	margin-bottom: 1em;
}
#recruit .inbox::before{
	height: 110%;
	left: -80%;
}
}