@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/*

使用フォント

日本語
font-family: "ryo-gothic-plusn", sans-serif;
本文/Medium500 見出し/Bold700 注釈/Regular400

英語
font-family: "Inter", sans-serif;
見出し/SemiBold600 ナビゲーション・月会費/Medium500

hoverカラー
#e86129

*/

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/*マージン*/

.mt10{
	margin-top:10px;
}

.mt20{
	margin-top:20px;
}

.mt30{
	margin-top:30px;
}

.mt40{
	margin-top:40px;
}

.mt50{
	margin-top:50px;
}

.mt60{
	margin-top:60px;
}

.mt70{
	margin-top:70px;
}

.mt80{
	margin-top:80px;
}

.mt90{
	margin-top:90px;
}

.mt100{
	margin-top:100px;
}

.mb10{
	margin-bottom:10px;
}

.mb20{
	margin-bottom:20px;
}

.mb30{
	margin-bottom:30px;
}

.mb40{
	margin-bottom:40px;
}

.mb50{
	margin-bottom:50px;
}

.mb60{
	margin-bottom:60px;
}

.mb70{
	margin-bottom:70px;
}

.mb80{
	margin-bottom:80px;
}

.mb90{
	margin-bottom:90px;
}

.mb100{
	margin-bottom:100px;
}

/*マージン*/

/*IMG*/

.img_ma{
	margin-right:auto;
	margin-left:auto;
	display:block;
	max-width: 100%;
}

img{
	max-width: 100%;
	height:auto;
}

/*IMG*/

a{
	transition:.2s;
}

body{
	font-family: "ryo-gothic-plusn", sans-serif;
	font-size:16px;
	line-height:1.5;
	font-weight: 500;
}

@media screen and (max-width:360px) {
	body{
		font-size: 14px;
	}
}

/*ハンバーガー*/
.ham_btn{
	width:25px;
	position: absolute;
	top:50%;
	right: 20px;
	transform: translateY(-50%);
	cursor: pointer;
	display: none;
}

.ham_btn > img{
	transition: .3s;
	display: block;
}

.ham_modal{
	padding:20px 40px !important;
}

.ham_box .pc_r_nav{
	width:230px;
	display: block;
	padding-top: 20px;
}

.ham_box .pc_r_ft{
	width:100%;
	display: block;
	position: static;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-top: 50px;
}

.ham_box .pc_r_ft > img{
	width:100%;
	max-width: 280px;
}

.ham_box .pc_r_ft > a{
	margin:20px auto 0;
}

.ham_modal .modal_bg{
	background: url("images/pc_r.webp") no-repeat center/cover;
}

@media screen and (max-width:1000px) {
	.ham_btn{
		display: block;
	}
}

header{
	position: fixed;
	top:0;
	left: 50%;
	z-index: 10;
	transform: translateX(-50%);
	width:100%;
	max-width: 450px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
}

.h_logo img{
	display: block;
	height: 30px;
}

main{
	max-width: 450px;
	margin:0 auto;
	background: #fff;
}

.top_mov{
	position: relative;
}

.top_mov video{
	display: block;
	width: 100%;
}

.top_mov_volume{
	position: absolute;
	top:10px;
	right: 20px;
	width:40px;
	height: 40px;
	cursor: pointer;
	transition: .2s;
}

.top_mov_volume2{
	opacity: 0;
	pointer-events: none;
}

.pc_l{
	width:calc( ( 100% - 450px ) / 2 );
	height: 100dvh;
	background: url("images/pc_l.webp") no-repeat top/cover;
	position: fixed;
	top:0;
	left: 0;
}

.pc_l_img2{
	width:100%;
	height: 100dvh;
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom:0;
	background: url("images/pc_l2.webp") no-repeat top/cover;
	opacity: 0;
	transition: .5s;
}

.pc_r{
	width:calc( ( 100% - 450px ) / 2 );
	height: 100dvh;
	background: url("images/pc_r.webp") no-repeat top/cover;
	position: fixed;
	top:0;
	right: 0;
}

.pc_r{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.pc_bar_wrap{
	width:100px;
	height: 100dvh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pc_bar{
	width:14px;
	height: 90%;
	max-height: 440px;
	position: relative;
}

.pc_bar_h{
	width:100%;
	height: 2px;
	background: #2c6141;
	position: absolute;
	top:-2px;
	left: 0;
}

.pc_bar_ft{
	width:100%;
	height: 2px;
	background: #2c6141;
	position: absolute;
	bottom:-2px;
	left: 0;
}

.pc_bar_line{
	width:2px;
	height: 100%;
	margin:0 auto;
	background: #2c6141;
}

.pc_bar_ball_wrap{
	width:100%;
	height: calc( 100% - 14px );
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
}

.pc_bar_ball{
	width:14px;
	height: 14px;
	border-radius: 20px;
	background: #2c6141;
	position: absolute;
	top:0;
	left: 0;
}

.pc_r_nav{
	width:260px;
	padding-top: 70px;
}

.eng{
	font-family: "Inter", sans-serif;
}

.pc_r_nav > img{
	display: block;
	margin-bottom: 30px;
}

.pc_r_nav li{
	margin-top: 15px;
	padding-left: 20px;
	position: relative;
}

.pc_r_nav li::before{
	display: block;
	content:"";
	width:13px;
	height: 1px;
	background: #2c6141;
	position: absolute;
	top:50%;
	left: 0;
}

.pc_r_nav a{
	font-family: "Inter", sans-serif;
	font-size: 20px;
	line-height: 1;
	color:#2c6141;
	font-weight: 600;
	text-decoration: none;
}

.pc_r_nav a:hover{
	color:#e86129;
}

.pc_r_nav > a{
	max-width: 260px;
	margin-top: 30px;
	display: block;
}

.pc_r_nav > a img{
	display: block;
	transition: .2s;
}

.pc_r_nav > a:hover img{
	transform: scale(0.9);
}

.pc_r_ft{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width:320px;
	position: absolute;
	right: 30px;
	bottom:30px;
}

.pc_r_ft > img{
	display: block;
	width:100%;
}

.pc_r_ft > a{
	display: block;
	width:240px;
}

.pc_r_ft > a img{
	display: block;
	transition: .2s;
}

.pc_r_ft > a:hover img{
	transform: scale(0.9);
}

@media screen and (min-width:1500px) {
	.pc_r_nav{
		width:320px;
	}
	
	.pc_r_ft{
		width:450px;
	}
}

@media screen and (max-width:1250px) {
	.pc_bar_wrap{
		width:50px;
	}
	
	.pc_r_nav{
		padding-top: 30px;
	}
	
	.pc_r_ft{
		width:260px;
		bottom:30px;
		right: 20px;
	}
}

@media screen and (max-width:1100px) {
	.pc_r_nav{
		width:200px;
	}
	
	.pc_r_ft{
		width:200px;
	}
}

@media screen and (max-width:1000px) {
	.pc_r_nav{
		display: none;
	}
	
	.pc_r_ft{
		display: none;
	}
}

@media screen and (max-width:750px) {
	.pc_l{
		background-image: url("images/pc_r.webp");
	}
	
	.pc_l_img2{
		display: none;
	}
}

@media screen and (max-width:550px) {
	.sp_br_none{
		display: none;
	}
	
	.pc_bar_wrap{
		display: none;
	}
}

.cam{
	padding-top: 50px;
	margin-bottom: 90px;
}

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

.cam1 > img{
	width:100%;
	max-width: 370px;
	display: block;
	margin:0 auto 14px;
}

.cam1_p1{
	text-align: center;
}

.cam1_p1 span{
	display: inline-block;
}

.cam1_p2{
	font-size: 13px;
	text-align: center;
	margin-top: 6px;
	font-weight: 400;
}

.cam2{
	background: #e86129;
	color:#fff;
	border-radius: 50px;
	padding:50px 20px 60px;
}

.cam2 > img{
	display: block;
	width:100%;
	max-width: 390px;
	margin:0 auto 25px;
}

.cam2 > p:last-of-type{
	font-weight: 400;
	font-size: 13px;
	max-width: 390px;
	margin:0 auto;
}

.cam_add{
	display: block;
	width:calc( 100% - 40px );
	max-width: 380px;
	margin:45px auto 80px;
}

.btn1 img{
	transition: .2s;
	display: block;
}

.btn1:hover img{
	transform: scale(0.9);
}

.float_text_box{
	padding-right: 12px;
}

.float_text img{
	display: block;
	width:auto;
	max-width: 9999px;
	height: 36px;
}

.abo_wrap{
	margin-bottom: 40px;
}

.abo_h_img{
	width:100%;
	height: 700px;
	border-radius: 50px 50px 0 0;
	background: url("images/abo_h.webp") no-repeat center/cover;
	position: relative;
	z-index: 1;
}

.abo{
	padding:100px 20px 100px;
	border-radius: 50px;
	background: #3b845a;
	position: relative;
	z-index: 2;
	margin-top: -50px;
	color:#fff;
}

.h_text_img{
	position: absolute;
	top:50px;
	right: 6px;
	height: 54px;
}

.h_text_img2{
	height: 73px;
}

.abo_h{
	font-size: 32px;
	font-weight: bold;
}

.ib{
	display: inline-block;
}

.abo_p1{
	max-width: 370px;
	margin:15px auto 50px;
}

.taj{
	text-align: justify;
}

.abo_box{
	max-width: 360px;
	margin:0 auto;
}

.abo_box + .abo_box{
	margin-top: 60px;
}

.abo_box > img{
	display:block;
	margin-bottom: 20px;
}

.abo_box_h{
	font-weight: bold;
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.abo_box_h > img{
	display:block;
	max-height: 48px;
	margin-bottom: 3px;
}

.fs32{
	font-size: 32px;
	font-weight: bold;
}

.fs28{
	font-size: 28px;
	font-weight: bold;
}

.fs24{
	font-size: 24px;
	font-weight: bold;
}

.fs22{
	font-size: 22px;
	font-weight: bold;
}

@media screen and (max-width:430px) {
	.fs32{
		font-size: 7.2vw;
		font-weight: bold;
	}
	
	.fs28{
		font-size: 7vw
	}

	.fs24{
		font-size: 6vw;
		font-weight: bold;
	}

	.fs22{
		font-size: 5.2vw;
		font-weight: bold;
	}
	
	.abo_box_h > img{
		max-height: 12vw;
	}
}

.fea_wrap{
	padding-top: 120px;
	position: relative;
	margin-bottom: 50px;
	overflow: hidden;
}

.fea{
	max-width: 410px;
	margin:0 auto;
	padding:0 20px;
}

.fea_h{
	color:#2a5c3f;
	margin-bottom: 8px;
}

.fea_slider_wrap{
	width:calc( 100% + 40px );
	overflow: hidden;
}

.fea_slider{
	width:calc( 115% + 20px );
	padding-top: 70px;
	margin-left: calc( -15% - 20px );
}

.fea_slide{
	padding:0 10px;
}

.fea_slide img{
	display: block;
	margin-bottom: 15px;
}

.fea_slide p{
	font-size: 15px;
}

.fea_slide p span{
	display: inline-block;
}

.fea_slider .slick-arrow{
	width:40px;
	height: 40px;
}

.fea_slider .slick-arrow::before{
	display:none;
}

.fea_slider .slick-next{
	background: url("images/slide_r.svg") no-repeat center/contain;
	position: absolute;
	top:0;
	right:20px;
	transform: none;
}

.fea_slider .slick-prev{
	background: url("images/slide_l.svg") no-repeat center/contain;
	position: absolute;
	top:0;
	left: auto;
	right:68px;
	transform: none;
}

.fea_slider .slick-dots{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom:auto;
	top:17px;
	left: auto;
	right:128px;
}

.fea_slider .slick-dots li{
	margin:0;
	margin-left: 10px;
	padding:0;
	width:10px;
	height: 10px;
	border-radius: 10px;
}

.fea_slider .slick-dots li button{
	margin:0;
	padding:0;
	width:10px;
	height: 10px;
	border-radius: 10px;
	background: #2a5c3f;
}

.fea_slider .slick-dots .slick-active button{
	background: #b3b3b3;
}

.fea_slider .slick-dots li button::before{
	display: none;
}

.tre{
	padding:40px 0;
	border-radius: 50px 50px 0 0;
	background: #2c6141;
}

.tre_h{
	margin-bottom: 40px;
	text-align: center;
	color:#fff;
}

.tre_h img{
	display: block;
	width:240px;
	margin:0 auto 20px;;
}

.step1_wrap{
	padding:60px 20px 250px;
	position: relative;
	background: #f1efdf;
	position: relative;
	z-index: 1;
	border-radius: 50px;
}

.step2_wrap{
	padding:74px 20px 60px;
}

.wrap380{
	max-width: 380px;
	margin:0 auto;
}

.step1_h{
	margin-bottom: 20px;
}

.step1_h > img:nth-of-type(1){
	display: block;
	width:200px;
	margin-bottom: 20px;
}

.step_tag{
	display: block;
	height: 44px;
}

.step1_h2{
	color:#3b845a;
	margin-bottom: 10px;
}

.step1_h2 + p{
	margin-bottom: 25px
}

.tre_ex{
	margin-bottom: 40px;
}

.tre_ex_box{
	padding:20px;
	border-radius: 20px;
	background: #fff;
	display: flex;
	align-items: center;
}

.tre_ex_box + .tre_ex_box{
	margin-top: 15px;
}

.tre_ex_box img{
	display: block;
	width:40px;
}

.tre_ex_box p{
	font-size: 15px;
	width:calc( 100% - 40px );
	max-width: 270px;
	padding-left: 12px;
}

.tre_img{
	display: block;
	width:100%;
}

.step2_h{
	position: relative;
	z-index: 2;
	margin-bottom: 20px;
}

.step2_h img:nth-of-type(1){
	width:100%;
	max-width:290px;
	display: block;
	margin:0 auto 30px;
	padding-left: 40px;
}

.step2_h img:nth-of-type(2){
	display: block;
	margin:0 auto;
}

.tre_try{
	padding:1px 20px 60px;
	border-radius: 50px;
	background: #e86129;
	margin-top: -80px;
	position: relative;
	z-index: 2;
	margin-bottom: 30px;
}

.tre_try_h{
	max-width: 320px;
	margin:-120px auto 20px;
}

.tre_try_list{
	border-top: 1px solid #000;
}

.tre_try_box{
	min-height: 150px;
	padding:20px 0;
	padding-right: 40px;
	border-bottom: 1px solid #000;
	display: flex;
	align-items: center;
	position: relative;
	cursor: pointer;
}

.tre_try_box_img{
	display: block;
	width:80px;
	transition: .3s
}

.tre_try_box:hover .tre_try_box_img{
	transform: rotateY(360deg)
}

.tre_try_box_text{
	width:calc( 100% - 80px );
	padding-left: 15px;
}

.tre_try_box_p1{
	width:90px;
	color:#fff;
	font-size: 14px;
	line-height: 26px;
	font-weight: bold;
	background: #000;
	border-radius: 20px;
	text-align: center;
	margin-bottom: 6px;
}

.tre_try_box_p2{
	color:#fff;
	font-weight: bold;
}

.tre_try_box_ar{
	width:30px;
	display: block;
	position: absolute;
	top:50%;
	right: 0;
	margin-top: -15px;
	transition: .2s;
}

.tre_try_box:hover .tre_try_box_ar{
	transform: rotate(180deg)
}

@media screen and (max-width:360px) {
	.tre_try_box{
		padding-right: 28px;
	}
	
	.tre_try_box_img{
		width:60px;
	}
	
	.tre_try_box_text{
		width:calc( 100% - 60px );
		padding-left: 10px;
	}
	
	.tre_try_box_ar{
		width:24px;
	}
}

.modal_wrap{
	width:100%;
	height: 100dvh;
	position: fixed;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items:center;
	padding:20px 10px;
	background: rgba(0,0,0,0.80);
	z-index: 100;
	transition: .4s;
	pointer-events: none;
	opacity: 0;
}

.modal_open{
	pointer-events: auto;
	opacity: 1;
}

.modal_bg{
	width:100%;
	height: 100dvh;
	cursor: pointer;
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.modal{
	position: relative;
	z-index: 2;
	width:100%;
	max-width: 430px;
	max-height: 100%;
	overflow: auto;
}

.tre_try_modal_box{
	border-radius: 50px;
	overflow: hidden;
	background: #e86129;
	padding-bottom: 40px;
}

.tre_try_modal_box img{
	display: block;
	margin-bottom: 15px;
}

.tre_try_modal_box p{
	font-size: 14px;
	color:#fff;
	margin:0 auto;
	padding:0 8%;
}

.modal_close{
	display: block;
	width:30px;
	position: absolute;
	top:30px;
	right: 30px;
	z-index: 3;
	cursor: pointer;
}

.modal_close img{
	width:100%;
	display: block;
}

.crew_modal_wrap .modal_close , .tre_try_modal_wrap .modal_close , .rosen_modal .modal_close{
	width:38px;
	height: 38px;
	border-radius: 30px;
	background: #2c6141;
	display: flex;
	justify-content: center;
	align-items: center;
	top:10px;
	right: 10px;
}

.crew_modal_wrap .modal_close img , .tre_try_modal_wrap .modal_close img , .rosen_modal .modal_close img{
	width:18px;
}

.crew{
	padding:120px 0 80px;
	position: relative;
}

.crew_h{
	max-width: 420px;
	padding: 0 20px;
	margin:0 auto 40px;
	color:#2a5c3f;
}

.sto_wrap .crew_h , .sys_wrap .crew_h{
	padding:0;
	max-width: 380px;
}

.crew_slider{
	padding-bottom: 80px;
}

.crew_slide{
	padding:0 12px;
	cursor: pointer;
}

.crew_slide img{
	transition: .2s;
}

.crew_slide:hover img{
	transform: scale(0.9);
}

.crew_slider .slick-arrow{
	width:40px;
	height: 40px;
}

.crew_slider .slick-arrow::before{
	display:none;
}

.crew_slider .slick-next{
	background: url("images/slide_r.svg") no-repeat center/contain;
	position: absolute;
	top:auto;
	bottom:0;
	right:auto;
	left: 50%;
	z-index: 3;
	margin-left: 70px;
	transform: none;
}

.crew_slider .slick-prev{
	background: url("images/slide_l.svg") no-repeat center/contain;
	position: absolute;
	top:auto;
	bottom:0;
	right:50%;
	left: auto;
	z-index: 3;
	margin-right: 60px;
	transform: none;
}

.crew_slider .slick-dots{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom:15px;
	left: 0;
}

.crew_slider .slick-dots li{
	margin:0;
	margin-left: 10px;
	padding:0;
	width:10px;
	height: 10px;
	border-radius: 10px;
}

.crew_slider .slick-dots li button{
	margin:0;
	padding:0;
	width:10px;
	height: 10px;
	border-radius: 10px;
	background: #2a5c3f;
}

.crew_slider .slick-dots .slick-active button{
	background: #b3b3b3;
}

.crew_slider .slick-dots li button::before{
	display: none;
}

.crew_modal_box{
	max-width: 380px;
	margin:0 auto;
	border-radius: 40px;
	background: #fff;
	padding:30px 30px 40px;
	color:#2c6141;
}

.crew_modal_box_img{
	display: block;
	width:100%;
	margin-bottom: 15px;
}

.crew_modal_box_h{
	margin-bottom: 10px;
	font-weight: bold;
}

.crew_modal_box_h p:nth-of-type(1){
	font-size: 20px;
	margin-bottom: 4px;
}

.crew_modal_box_h p:nth-of-type(2){
	font-size: 16px;
}

.crew_modal_box_text{
	font-size: 14px;
	text-align: justify;
}

.crew_modal_box_ul{
	margin-top: 12px;
}

.crew_modal_box_ul li{
	position: relative;
	padding-left: 16px;
	font-size: 14px;
}

.crew_modal_box_ul li::before{
	content:"■";
	display: block;
	position: absolute;
	top:0;
	left: 0;
}

.trial_wrap{
	padding:60px 20px;
	border-radius: 50px;
	background: #f1efdf;
	margin-bottom: 40px;
}

.trial{
	border-radius: 20px;
	background: #3b845a;
	color:#fff;
	padding:40px 20px;
}

.trial_h{
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}

.trial > p{
	text-align: center;
	font-size: 22px;
	line-height: 50px;
	font-weight: bold;
	color:#2c6141;
	background: #fff;
	border-radius: 50px;
	max-width: 320px;
	margin:15px auto;
}

.trial > ul{
	max-width: 320px;
	margin:0 auto;
}

.trial > ul li{
	font-size: 13px;
	padding-left: 16px;
	font-weight: 400;
	position: relative;
}

.trial > ul li::before{
	content:"※";
	display: block;
	position: absolute;
	top:0;
	left: 0;
}

.trial_btn{
	width:100%;
	max-width: 290px;
	display: block;
	margin:30px auto 0;
}

.trial_btn img{
	display: block;
	transition: .2s;
}

.trial_btn:hover img{
	transform: scale(0.9);
}

@media screen and (max-width:360px) {
	.trial > p{
		font-size: 20px;
	}
}

.faci{
	padding-top: 110px;
	position: relative;
	margin-bottom: 90px;
}

.sys_wrap{
	border-radius: 50px;
	padding:80px 20px 160px;
	position: relative;
	background: #ddd8c4;
}

.sys_box{
	background: #fcfbef;
	border-radius: 20px;
	border:1px solid #3b845a;
	overflow: hidden;
	padding:0 20px;
	color:#3b845a;
}

.sys_box + .sys_box{
	margin-top: 15px;
}

.sys_box_h{
	width:100%;
	height: 88px;
	display: flex;
	align-items: center;
	position: relative;
	padding:0 10px;
	font-weight: bold;
	cursor: pointer;
}

.sys_box_h > div{
	width:30px;
	position: absolute;
	top:50%;
	right: 0;
	margin-top: -15px;
	background: url("images/sys_mns.svg") no-repeat center/contain;
}

.sys_box_h > div > img{
	transition: .2s;
}

.sys_box_open > div > img{
	opacity: 0;
}

.sys_box_text{
	padding-bottom: 40px;
}

.sys_pri{
	width:100%;
	min-height: 88px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #2c6141;
	padding:10px;
	line-height: 1.3;
}

.sys_pri > .sys_pri_h{
	font-weight: 500;
}

.sys_pri > .sys_pri_h span{
	display: inline-block;
}

.sys_pri > p{
	white-space: nowrap;
	padding-left: 10px;
}

.sys_pri > p span:nth-of-type(1){
	font-size: 20px;
}

.sys_pri + p{
	font-size: 14px;
	text-align: center;
	margin:15px 0 40px;
}

.sys_pri + p span{
	display: inline-block;
}

.sys_must_wrap{
	padding: 25px 10px 0;
	border-top: 1px solid #2c6141;
}

.sys_must{
	position: relative;
	padding-left: 24px;
}

.sys_must + .sys_must{
	margin-top: 30px;
}

.sys_must_num{
	position: absolute;
	top:0;
	left: 0;
}

.sys_must_h{
	font-weight: 500;
}

.sys_must p{
	font-size: 13px;
	margin-top: 5px;
}

.sys_must_kome{
	position: relative;
	padding-left: 14px;
}

.sys_must_kome::before{
	content:"※";
	display: block;
	position: absolute;
	top:0;
	left: 0;
}

.sto_wrap{
	border-radius: 50px;
	padding:90px 20px 120px;
	position: relative;
	background: #fff;
	margin-top: -90px;
}

.sto_p2{
	font-size: 24px;
	font-weight: bold;
	color:#004639;
	margin:4px 0;
}

.sto_p3{
	font-size: 13px;
	font-weight: 400;
}

.sto_btn{
	display: block;
	width:100%;
	cursor: pointer;
}

.sto_btn img{
	display: block;
	transition: .2s;
}

.sto_btn:hover img{
	transform: scale(0.9);
}

.sto_btn1{
	margin-top: 30px;
}

.sto_btn + .sto_btn{
	margin-top: 15px;
}

.sto_btn + .sto_btn3{
	margin-top: 45px;
}

.rosen_modal .modal{
	max-width: 700px;
}

.rosen_box{
	padding:20px;
	background: #fff;
}

.rosen_box img{
	display: block;
	width:100%;
}

footer{
	padding:60px 20px 80px;
	border-radius: 50px 50px 0 0;
	background: #2a5c3f;
	position: relative;
}

.go_top{
	display: block;
	width:12px;
	position: fixed;
	bottom:30px;
	right: 50%;
	margin-right: -210px;
	z-index: 5;
	transition: .2s;
	opacity: 0;
	pointer-events: none;
}

.go_top img{
	display: block;
}

.go_top:hover{
	 animation: go_top 1.5s infinite;
}

@keyframes go_top {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  90% {
    transform: translate(0, -20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@media screen and (max-width:600px) {
	.go_top{
		bottom:80px;
	}
}

@media screen and (max-width:450px) {
	.go_top{
		right: 15px;
		margin-right: 0;
	}
	
	.go_top:hover{
		 animation: none;
	}
}

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

.ft_sns{
	display: flex;
	justify-content: center;
	margin-bottom: 35px;
}

.ft_sns a{
	margin:0 7px;
}

.ft_sns a:hover{
	opacity: 0.6;
}

.ft_sns img{
	display: block;
	width: 26px;
}

.copy_r{
	color:#fff;
	text-align: center;
	font-size: 12px;
	font-weight: 400;
}

.fix_btn{
	width:calc( 100% - 20px );
	max-width: 380px;
	display: block;
	position: fixed;
	bottom:15px;
	left: 50%;
	z-index: 50;
	transform: translateX(-50%);
	pointer-events: none;
	opacity: 0;
}

.sp_1st{
	width:100%;
	height: 100dvh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("images/sp_1st.webp") no-repeat top/cover;
	position: fixed;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
}

.sp_1st_bg{
	width:100%;
	height: 100dvh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,0.10);
}

.sp_1st_text div{
	display: table;
	overflow: hidden;
}

.sp_1st_text > div::before{
	content:"";
	display: none;
	width:100%;
	height: 100%;
	background: #2c6141;
	position: absolute;
	left: 0;
	top:0;
	transition: .4s;
	transition-delay: .9s;
}

.sp_1st_text1_wrap{
	width:240px;
	margin:0 auto;
}

.sp_1st_text1{
	margin-bottom: 15px !important;
	width:0%;
	height: 50px;
	transition: .5s;
	transition-delay: .3s;
	position: relative;
}

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

.sp_1st_text2{
	width:0px;
	height: 40px;
	transition: .5s;
	transition-delay: .9s;
	position: relative;
}

.sp_1st_text1 img{
	display: block;
	width:240px;
	max-width: 9999px;
	height: auto;
	position: absolute;
	top:0;
	left: 0;
}

.sp_1st_text2 img{
	display: block;
	width:300px;
	max-width: 9999px;
	height: auto;
	position: absolute;
	top:0;
	left: 0;
}


.sp_1st_text_open .sp_1st_text1{
	width:100%;
}

.sp_1st_text_open .sp_1st_text2{
	width:300px;
}

.sp_1st_text_open > div::before{
	left: 100%;
}

@media screen and (min-width:601px) {
	.fix_btn{
		display: none;
	}
	
	.sp_1st{
		display: none;
	}
}

/* move */

.move_top{
	position: relative;
	opacity: 0;
	transition: .4s;
	transition-timing-function: ease-in-out;
	top:60px;
}

.move_top.move_on{
	opacity: 1;
	top:0;
}

/* move end */

/* iphone SE 調整 */

@media screen and (max-width:350px) {
	.ham_box .pc_r_nav{
		width:160px;
		padding-top: 0;
	}
	
	.ham_box .pc_r_nav > img{
		margin-bottom: 20px;
	}
	
	.ham_box .pc_r_nav li{
		margin-top: 10px;
	}
	
	.ham_box .pc_r_nav a{
		font-size: 16px;
	}
	
	.ham_box .pc_r_ft{
		margin-top: 7dvh;
	}
	
	.ham_box .pc_r_ft > img{
		max-width: 200px;
	}
	
	.ham_box .pc_r_ft > a{
		width:200px;
	}
	
	.move_top{
		top: 30px;
	}
	
	.cam{
		margin-bottom: 50px;
	}
	
	.cam_add{
		margin-bottom: 50px;
	}
	
	.abo_h_img{
		height: 400px;
	}
	
	.h_text_img{
		height: 38px;
	}
	
	.h_text_img2{
		height: 52px;
	}
	
	.abo_h{
		margin-left: -3vw;
	}
	
	.abo_p1{
		line-height: 1.7;
		margin-bottom: 50px;
	}
	
	.abo_box + .abo_box{
		margin-top: 50px;
	}
	
	.abo_wrap{
		margin-bottom: 0;
	}
	
	.abo{
		padding-bottom: 70px;
	}
	
	.fea_wrap{
		padding-top: 100px;
		margin-bottom: 30px;
	}
	
	.crew{
		padding-bottom: 30px;
	}
	
	.crew_slider{
		padding-bottom: 60px;
	}
	
	.trial_wrap{
		margin-bottom: 20px;
	}
	
	.faci{
		margin-bottom: 70px;
	}
	
	.sys_wrap{
		padding-bottom: 140px;
	}
	
	.sys_box_h{
		height: 70px;
	}
	
	.sys_pri{
		min-height: 70px;
	}
	
	.sys_must + .sys_must{
		margin-top: 20px;
	}
	
	.sto_wrap .crew_h, .sys_wrap .crew_h{
		margin-bottom: 20px
	}
	
	.sto_wrap{
		padding-bottom: 70px;
	}
	
	footer{
		padding:40px 20px 70px;
	}
	
	.ft_sns{
		margin-bottom: 24px;
	}
}

@media screen and (max-height:650px) {
	.ham_box .pc_r_nav{
		width:160px;
		padding-top: 0;
	}
	
	.ham_box .pc_r_nav > img{
		margin-bottom: 20px;
	}
	
	.ham_box .pc_r_nav li{
		margin-top: 10px;
	}
	
	.ham_box .pc_r_nav a{
		font-size: 16px;
	}
	
	.ham_box .pc_r_ft{
		margin-top: 7dvh;
	}
	
	.ham_box .pc_r_ft > img{
		max-width: 200px;
	}
	
	.ham_box .pc_r_ft > a{
		width:200px;
	}
}

/* iphone SE 調整 end */
























