/* +++++++++++++++++++++++++++++++++++++

　基礎設定
++++++++++++++++++++++++++++++++++++++++ */
*{ 
margin:0; padding:0;
vertical-align:top;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html{
	/* 文字の拡大縮小
	text-size-adjust: 100%; 
	-webkit-text-size-adjust: 100%; */
	/* font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif; */ 
	font-family: font-family: 'Noto Sans JP', sans-serif;
	line-height:36px;
	font-size: 18px;
	margin:0;
	padding: 0;
	height: 100%;
  scroll-behavior:smooth;
}
body{
	color: #333;/*★文字色*/
	background: #fff;
}
p{
	line-height:1.4;
}

a{
	color:#333;/*★リンク色*/
	text-decoration:none;
	/* タップ時の背景色sp */
	-webkit-tap-highlight-color: rgba(160,0,185,0.3);
	tap-highlight-color: rgba(160,0,185,0.3);
	display:block;
  opacity: 1;
/*  filter: alpha(opacity=100);*/
	transition: 0.3s ease-in-out; 
}

img { border:none;
	/* vertical-align: top;
	width:100%;*/
	}

a:hover{
	/*color:#2c2e91;*//*★リンク色*/
	text-decoration:none;
-webkit-animation: backToOpac1 0.7s linear 0s;
  animation: backToOpac1 0.7s linear 0s;
/*
filter: Alpha(Opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
*/
}
@-webkit-keyframes backToOpac1 {
  0% {
    opacity: .4; }
  100% {
    opacity: 1; } }

@keyframes backToOpac1 {
  0% {
    opacity: .4; }
  100% {
    opacity: 1; } }
/*
a:hover img {
	filter: Alpha(Opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}	
*/
li { list-style-type:none; }
table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,th{ text-align:left; }

h1,h2,h3,h4,h5,h6{ font-weight:normal;
	font-size: 100%;
	margin: 0px;
	padding: 0px;
}

hr{
	border: 1;
	clear:both;
	border-top: 1px solid #999;
	border-bottom: 1px solid #333;
	margin:20px 0;
}

/* clearfix */
.cf:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.cf {
	display: block;
}

/*forHTML5*/
article,aside,canvas,details,figcaption,figure,
footer,,hgroup,menu,nav,section,summary,address{
	display:block;
}


/* 追加指定
--------------------------------------- */
.clear{clear:both;}
.left{float:left;}
.right{float:right;}

.mb-5{margin-bottom:5px;}
.mb-10{margin-bottom:10px;}
.mb-15{margin-bottom:15px !important;}
.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-50{margin-bottom:5rem;}
.mb-60{margin-bottom:60px;}


.mt-5{margin-top:5px;}
.mt-10{margin-top:10px;}
.mt-15{margin-top:15px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}

.mr-5{margin-right:5px;}
.mr-10{margin-right:10px;}
.mr-15{margin-right:15px;}
.mr-16{margin-right:16px;}
.mr-20{margin-right:20px;}
.mr-30{margin-right:30px;}

.ml-5{margin-left:5px;}
.ml-10{margin-left:10px;}
.ml-15{margin-left:15px;}
.ml-20{margin-left:20px;}
.ml-30{margin-left:30px;}


.fs-10{	font-size:10px;}
.fs-12{	font-size:12px;}
.fs-14{	font-size:14px;}

.w100{
	margin: 0;
	text-align:center;
	background:none;
	border:none;
}
.spOnly{
	display:none ;
}
/*
.pcOnly{
	display:none;
}
*/

.underLine{
	border-bottom: 1px solid #999;
}
.bold{
	font-weight:bold;
}
.normal{
	font-weight:normal;
}

.blue{
	color:#32a0c3;
}

.red{
	color:#ff0000;
}
.green{
	color:#17a907;
}

.pink{
	color:#ff5d87;
}

.orange{
	color:#ec5454;
	}

.tac{text-align:center;}
.tal{text-align:left;}
.tar{text-align:right;}

.shad{
	text-shadow: 1px -1px 1px rgba(0,0,0,0.25);
}
.shadow{
	 -webkit-box-shadow: 0 15px 15px -9px #000;
       	-moz-box-shadow: 0 15px 15px -9px #000;
     	     box-shadow: 0 15px 15px -9px #000;
}


/* 共通定義
--------------------------------------- */
#wrap{
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#contents{
	padding: 0;
	margin: 0 auto;
	position:relative;
}

section{
	margin: 0;
	display: block;
}
.secFlex{
	display:flex;
}

.waveBlue{
	width:100%;
	position:relative;
}
.waveBlue img{
	width:100%;
}


/* ヘッダ
--------------------------------------- */
header{
	padding: 0;
	width: 100%;
/*	
	position:sticky;
	top:0;
	background: #fff;
	z-index: 100;
*/
box-shadow: 0px 0px 15px -5px #c9c9c9;
border-radius: 0px;
}


header #headBox h1{
	vertical-align:middle;
	padding: 0.5vw;
	text-align:center;
}
header #headBox h1 a{
	width:100%;
	max-width:446px;
	margin: 0 auto;
}
header #headBox h1 img{
	width: 100%;
}

/* スライド
--------------------------------------- */
#slide{
	padding: 0;
	width: 100%;
	text-align: center;
	position: relative;
	overflow:hidden;
}

/*
#slide::before {
    content: "";
    display: block;
    position: absolute;
	background:#03abd3;
    bottom: 0;
  margin: 0 auto;
  width: 100%;
	min-height: 80px;
	border-radius: 100% 100% 0 0;
	z-index:3;
}
*/

.fade div{
	position:relative;
}
.fade img{
	width:100%;
	height: 48vw;
	object-fit: cover;
	z-index:1;
}

.slideTxt{
	position:absolute;
	top: 22%;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 10;
}
.slideTxt p{
	font-weight:bold;
	font-feature-settings: "palt";
	color: #fff;
	text-align:center;
	line-height: 1.6;
	font-size: 2.8vw;

/*
	text-shadow: 0px 0px 20px rgb(255 206 29);
	background: rgb(0 0 0 / 12%);
*/
	display:inline-block;
	padding:2vw 3vw;
	text-shadow: 2px 2px 4px rgb(0 0 0 / 100%);
	background: linear-gradient(125deg,rgba(3, 110, 183, 0.5) 0%, rgba(255, 215, 94, 0.5) 100%);
	border-radius: 2vw;

}

.slideTxt p strong{
	font-size: 3.8vw;
	vertical-align: baseline;
/*
color:#FFD75E;
	-webkit-text-stroke: 2px #fff;
*/
}
.slideTxt p span{
	display:block;
	padding-top: 0.5em;
}

.fade .wave1{
	position:absolute;
	bottom: -10vw;
	overflow: hidden;
	z-index:2;
	opacity:0.9;
}
.fade .wave2{
	position:absolute;
	bottom: -4vw;
	overflow: hidden;
	z-index:4;
}
.fade .wave3{
	position:absolute;
	bottom: -12vw;
	overflow: hidden;
	z-index:3;
}
.trialBtn{
	position:relative;
	margin: 5vw auto 0;
  font-weight: 900;
  font-size: 2vw;
  color:#036eb7;
  border:2px solid #036eb7;
  background:#fff;
  line-height:1.6;
  text-align:center;
    display: block;
	width:fit-content;
	padding:1.0vw 8vw;
	border-radius: 4vw;
	text-shadow:unset !important;
	box-shadow: 0.2vw 0.2vw 0px 0px rgba(0, 0, 0, 0.3);
}

.trialBtn::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2vw;
  color:#036eb7;
  border:2px solid #036eb7;
  line-height:2.6vw;
  text-align:center;
    display: block;
	width:2.6vw;
	height:2.6vw;
	border-radius:100%;
	position:absolute;
	right: 3vw;
	top: calc(50% - 1.3vw);
}
.trialBtn:hover {
  color:#fff;
  background:#036eb7;
  border:2px solid #fff;
  	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3);
}
.trialBtn:hover::after {
  color:#fff;
  background:#036eb7;
  border:1px solid #fff;
}



.trialBtn2{
	position:relative;
	margin: 3vw auto 0;
  font-weight: 900;
  font-size: 1.4vw;
  color:#036eb7;
  border:2px solid #036eb7;
  background:#fff;
  line-height:1.6;
  text-align:center;
  z-index:5;
  background:#fff;
    display: block;
	width:fit-content;
	padding:1.0vw 4vw;
	border-radius: 4vw;
	text-shadow:0 !important;
	box-shadow: 0.2vw 0.2vw 0px 0px rgba(0, 0, 0, 0.3);
}

.trialBtn2::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.4vw;
  color:#036eb7;
  border:2px solid #036eb7;
  line-height:1.8vw;
  text-align:center;
    display: block;
	width:1.8vw;
	height:1.8vw;
	border-radius:100%;
	position:absolute;
	right: 1vw;
	top: calc(50% - 0.9vw);
}
.trialBtn2:hover {
  color:#fff;
  background:#036eb7;
  border:2px solid #fff;
  	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3);
}
.trialBtn2:hover::after {
  color:#fff;
  background:#036eb7;
  border:1px solid #fff;
}







.fade {
  width: 100%;
  margin: 0 auto;
  padding: 0;
height: auto;
}
.fade img{
  width: 100%;
    }




/* フッタ
--------------------------------------- */
footer{
	width: 100%;
	clear: both;
	margin: 0 auto 0;
	text-align:center;
}

footer a{
	color:#fff;
}

footer #footBox{
	margin: 0 auto;
	width: 100%;
	background:#fff;
}

footer ul{
	background: #000233;
	display:flex;
	min-width:1100px;
}

footer li{
  padding: 0;
  margin:0;
  width:100%;
  border-right: 1px solid #fff;
}
footer li a{
	padding: 1em 2em;
}
footer li a:hover{
	background:#0097A7;
}

footer li:last-child{
  border-right: none;
}

footer #footLogo{
	margin: 40px 0 30px;
	display:inline-block;
}
footer address{
	font-style: normal;
	line-height: normal;
	padding: 0 0 30px;
}

footer address a{
	display:inline;
	color:#333;
}

footer #footerCopy{
	border-top: 1px solid #ccc;
	text-align: center;
	width: 100%;
	font-size: 14px;
	color: #333;
	background: #fff;
	padding: 0em 0;
}
#footerCopy a{
	display:inline;
	color:#333;
}




#pagetop{
	width:90px;
	background:#FFF;
	border-radius:5px;
	box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	-moz-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	padding:2px;
	text-align:center;
	position:fixed;
	right:2vw;
	bottom:2vw;
	display:none;
  z-index: 100;
	}
#pagetop a{
	display:block;
	border:1px solid #142e7b;
	border-radius:4px;
	padding:10px 0;
	}
#pageTop a:hover {
    text-decoration: none;
    background: #666;
}








/* top
--------------------------------------- */
.commonBox{
	margin: 0;
	padding: 0;
	color:#333;
	text-align:left;
	width: 100%;
	position:relative;
}

.commonBox h2{
	margin: 0 auto 10vw;
	font-weight:bold;
	font-size:1.8vw;
	text-align:left;
	position:relative;
	margin: 0 0 3vw;
color:#136cb9;
}


.hSub{
	text-align:center;
}

.circle_s{
	width:5vw;
	height:5vw;
	border-radius:100%;
}
.circle_m{
	width:8vw;
	height:8vw;
	border-radius:100%;
}
.circle_l{
	width:13vw;
	height:13vw;
	border-radius:100%;
}
.bg_darkBlue{
	background:#0071b8;
}
.bg_blue{
	background:#036eb7;
}
.bg_skyblue{
	background:#A2D9FF;
}
.bg_yellow{
	background:#FFD75E;
}
.op_01{
	opacity:0.1;
}
.op_02{
	opacity:0.2;
}
.op_03{
	opacity:0.3;
}
.op_04{
	opacity:0.4;
}
.op_05{
	opacity:0.5;
}
.op_06{
	opacity:0.6;
}
.op_07{
	opacity:0.7;
}
.op_08{
	opacity:0.8;
}
.op_09{
	opacity:0.9;
}
.pop1,
.pop2,
.pop3,
.pop4,
.pop5{
	position:absolute;
	z-index:2;
	overflow:hidden;
}


#hajimete {
	position:relative;
	margin:8vw auto;
	z-index:2;
}


#hajimete .pop1{
	top:-5rem;
	right: 35vw;
}
#hajimete .pop2{
	top:-3rem;
	right: 5vw;
}
#hajimete .pop3{
	right: 1vw;
	bottom: 3vw;
}
#hajimete .pop4{
	top:-7vw;
	left: 15vw;
}



#hajimete ul{
}
#hajimete ul li{
	display:flex;
	position:relative;
	margin: 0 0 8vw;
}
#hajimete .wave1{
	position:absolute;
	/* bottom: -18vh; */
	top: -8vw;
	overflow: hidden;
	/* color: #fff; */
	z-index:2;
	opacity:1;
	transform: scale(1,-1);
}


#hajimete ul li .imgBox{
	width:60vw;
}
#hajimete ul li .imgBox img{
	width: 100%;
	height: 46vw;
	object-fit: cover;
	object-position: center center;
	/*border-radius: 36% 64% 34% 66% / 65% 42% 58% 35%;*/
	border-radius: 0 10vw 10vw 0;
	box-shadow: 0 0 4vw 0vw rgba(94, 223, 255, 0.1);
}
#hajimete ul li .txtBox{
/*	background:rgba(255,255,255,1.0);	*/
	padding: 3vw;
	position:absolute;
	top: 6vw;
	left: 60vw;
	width: 39vw;
  /*	box-shadow: 1vw 1vw 0px 0px rgba(6, 97, 173, 0.2);*/
}
#hajimete ul li .txtBox h2{
	font-weight:bold;
	font-size:1.8vw;
	text-align:left;
	position:relative;
	margin: 0 0 3vw;
}
#hajimete ul li .txtBox h2::after {
	content:'\f5c4';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 4.8vw;
  color:#FFD75E;
  padding-left:0.5vw;
  vertical-align:bottom;
}
#hajimete ul li .txtBox p{
	font-size: 1.2vw;
	line-height:1.8;
}


#sonoko{
	margin: -8vw auto 0px;
	position:relative;
	padding: 13vw 0 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2.png) no-repeat top;
	background-size: contain;
}
#sonoko::before{
	content:"";
	position: absolute;
	inset: 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/kira.jpg) no-repeat bottom;
	background-size: contain;
}

#sonoko .pop01{
	top:-2rem;
	right: 6vw;
		position:absolute;
	z-index:2;
	overflow:hidden;
}
#sonoko .pop02{
	top:2rem;
	left: 25vw;
		position:absolute;
	z-index:2;
	overflow:hidden;
}
#sonoko .pop03{
	top: 1vw;
	left: 3vw;
		position:absolute;
	z-index:2;
	overflow:hidden;
}

.sonokoImg{
	position:relative;
}
.sonokoImg img{
	width: 100%;
	height: 70vh;
	object-fit: cover;
	object-position: center calc(50% + 5vw);
}

.sonokoBox{
	width:100%;
	position:relative;
	background:rgba(162, 217, 255, 0.1);
	padding: 6vw 0 10vw;

}

.sonokoTxt{
	margin: 0 auto;
	text-align:center;
	width:fit-content;
	background:#fff;
	z-index:3;
	padding: 4vw 10vw;
  	box-shadow: 0vw 0vw 0vw 0.3vw rgba(6, 97, 173, 0.4);
	border-radius:3vw;
}
.sonokoTxt h2{
	position:relative;
	text-align:center;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 5vw;
}
.sonokoTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;

}
/*
.sonokoTxt h2::before {
  content: "";
  position: absolute;
  bottom: -2vw;
  height: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 10vw;
  background: #FFD75E;
}
*/
.sonokoTxt p{
	font-size:1.2vw;
	line-height:2;
}


#sonoko .pop1{
	right: 15vw;
	bottom:6rem;
}
#sonoko .pop2{
	right: 5vw;
	bottom:-1rem;
}
#sonoko .pop3{
	right: 3vw;
	bottom: 3vw;
}
#sonoko .pop4{
	left: 10vw;
	bottom: 20vw;
}
#sonoko .pop5{
	left: 4vw;
	bottom: 3vw;
}





#reason{
	margin: 0 auto 4vw;
	position:relative;

	margin: -13vh auto 0px;
	position:relative;
	padding: 9vh 0 0;
}
#reason::before{
	content:"";
	position: absolute;
	inset: 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2.png) no-repeat top;
	background-size: contain;
	transform: scale(-1,1);
}


.reasonImg{
	z-index:2;
	position:relative;
}
.reasonImg img{
	width: 100%;
	height: 70vh;
	object-fit: cover;
	object-position: center calc(50% + 5vw);
}

.reasonBox{
	width:100%;
	position:relative;
	padding: 6vw 0 0;
}

.reasonTxt{
	margin: 0 auto;
	text-align:center;
	width:100%;
	z-index:3;
}
.reasonTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 5vw;
	text-align:center;
}
.reasonTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;
}
.reasonTxt h3{
	font-weight:bold;
	font-size: 1.6vw;
	line-height:2;
}
.reasonTxt h4{
	font-weight:bold;
	width:fit-content;
	min-width:600px;
	font-size: 1.4vw;
	line-height:2vw;
	position:relative;
	margin: 3vw auto 2vw;
	color:#136cb9;
	display:block;
	border:1px solid #136cb9;
	padding: 1vw 2vw;
	border-radius:1vw;
}
.reasonTxt h4::before {
	content:'\f058';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2vw;
  padding-right:0.5vw;
}

.reasonTxt ul{
	width: fit-content;
	margin: 0 auto 3vw;
}
.reasonTxt ul li{
	font-size: 1.2vw;
	line-height: 1.4;
	text-align:left;
	text-indent: -1.1em;
	padding-left: 1em;
	margin-bottom: 2vw;
}

.reasonTxt p{
	font-size:1.2vw;
	line-height:2;
}
.reasonTxt p strong{
/*    background: linear-gradient(transparent 50%, #ffea00 90%);*/
    padding: 0 0.1vw 0.1vw;
}



#reason .pop1{
	left: 12vw;
	top:9rem;
}
#reason .pop2{
	right: 8vw;
	top:4rem;
}
#reason .pop3{
	right: 16vw;
	bottom: 8vw;
}







#nobiru{
	overflow:hidden;

	margin: -3vw auto 0px;
	position:relative;
	padding: 5vw 0 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2.png) no-repeat top;
	background-size: contain;
}
#nobiru .wave1{
	position:absolute;
	top: 0;
	overflow: hidden;
	z-index:1;
	opacity:0.05;
	width: 63vw;
}

.nobiruImg{
	z-index:3;
	position:relative;
	width:60vw;
	left: -4vw;
	top: 0;
}
.nobiruImg img{
	width: 100%;
	border-radius:32% 68% 46% 54% / 26% 57% 43% 74% ;
  	box-shadow: 3vw 3vw 0vw 3vw rgba(94, 223, 255, 0.1);
}

.nobiruBox{
	width:100%;
	position:relative;
	padding: 6vw 0 10vw;
}

.nobiruTxt{
	text-align:left;
	z-index:3;
	padding: 3vw;
	position:absolute;
	top: 10vw;
	left: 59vw;
	width: 39vw;
}

/*
.nobiruTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 5vw;
}
.nobiruTxt h2::before {
  content: "";
  position: absolute;
  bottom: -2vw;
  height: 3px;
  left: 50%;
  transform: translateX(-50%);
  width: 10vw;
  background: #0071b8;
}
*/
.nobiruTxt p{
	font-size:1.2vw;
	line-height:2;
}
.nobiruTxt p strong{
/*    background: linear-gradient(transparent 50%, #ffea00 90%);*/
    padding: 0 0.1vw 0.1vw;
}



#nobiru .pop1{
	left: -1vw;
	top:1rem;
}
#nobiru .pop2{
	right: -2vw;
	top:4rem;
}
#nobiru .pop3{
	right: 16vw;
	bottom: 8vw;
}








#yoyaku{
	overflow:hidden;

	margin: -16vw auto 0px;
	position:relative;
	padding: 8vw 0 0;
}
#yoyaku::before{
	content:"";
	position: absolute;
	inset: 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2.png) no-repeat top;
	background-size: contain;
	transform: scale(-1,1);

}


.yoyakuBox{
	width:100%;
	position:relative;
	padding: 6vw 0 10vw;
}

.yoyakuTxt{
	text-align:center;
	z-index:3;
	padding: 3vw 0 0;

}

.yoyakuTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 6vw;
	text-align:center;

}
.yoyakuTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;
}
.yoyakuTxt p{
	font-size:1.2vw;
	line-height:2;
}

.yoyakuLine{
    margin:2em auto;
	width:fit-content;
    position: relative;
    padding: 3vw 6vw;
    border-top: solid 2px #036eb7;
    border-bottom: solid 2px #036eb7;
}
.yoyakuLine:before,
.yoyakuLine:after{
    content: '';
    position: absolute;
    top: -1.5vw;
    width: 2px;
    height: calc(100% + 3vw);
    background-color: #036eb7;
}
.yoyakuLine:before {left: 1vw;}
.yoyakuLine:after {right: 1vw;}









#voice{

	overflow:hidden;

	margin: -13vw auto 0px;
	position:relative;
	padding: 13vw 0 0;
}
#voice::before{
	content:"";
	position: absolute;
	inset: 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2_y.png) no-repeat top;
	background-size: contain;
	transform: scale(-1,1);
}


#voice .wave1{
	position:absolute;
	bottom: -3vw;
	overflow: hidden;
	z-index:2;
	opacity:0.6;
}
#voice .wave2{
	position:absolute;
	bottom: -3vw;
	overflow: hidden;
	z-index:1;
	opacity:1.0;
}

.voiceImg{
	z-index:3;
	position: relative;
	width: 50vw;
	margin-left: auto;
	/* right: 0; */
	/* top: 0; */
}
.voiceImg img{
	width: 100%;
	height: 35vw;
	object-fit: cover;
	object-position: center -4vw;
	/*border-radius: 36% 64% 34% 66% / 65% 42% 58% 35%;*/
	border-radius: 10vw 0 0 10vw;
	box-shadow: 6vw 2vw 3vw 0vw rgba(94, 223, 255, 0.1);
}

.voiceBox{
	width:100%;
	position:relative;
	padding: 0 0 6vw;
}

.voiceTxt{
	text-align:left;
	z-index:3;
	position:absolute;
	top: 6vw;
	left: 5vw;
	width: 39vw;
}
.voiceTxt > .kotoba {
  position: relative;
	padding: 3vw;
  border-radius: 1vw;
  background-color: #fff;
  border:1px solid #ccc;
  z-index:2;
}
.voiceTxt > .kotoba::before {
  content: "";
  position: absolute;
  bottom: 7vw;
  right: -2vw;
  width: 4vw;
  height: 4vw;
  transform: rotate(135deg);
  box-sizing: border-box;
  background: #fff;
  border-left:1px solid #ccc;
  border-top:1px solid #ccc;
  z-index:1;
}

.voiceTxt > .ornament {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index:3;
}
.voiceTxt > .ornament::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3vw;
  width: 8vw;
  height: 2vw;
  transform: rotate(-45deg);
  box-sizing: border-box;
  background-color: #3ff727;
  mix-blend-mode: multiply; /* 乗算 */
}
.voiceTxt > .ornament::after {
  content: "";
  position: absolute;
  top: calc(100% - 2.5vw);
  right: -3vw;
  width: 8vw;
  height: 2vw;
  transform: rotate(-45deg);
  box-sizing: border-box;
  background-color: #64d1ff;
  mix-blend-mode: multiply; /* 乗算 */
}

.voiceT{
  font-size: 1.2vw;
  line-height:2;
  text-align:center;
  position:absolute;
  bottom:-4vw;
  left:3vw;
}

.voiceTxt h2{
	margin-bottom: 2vw;
}
.voiceTxt h2::after {
	content:'\f075';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 3.8vw;
  padding-left:0.5vw;
  color:#FFD75E;
}
.voiceTxt p{
	font-size:1.2vw;
	line-height:2;
}
.voiceTxt p strong{
/*    background: linear-gradient(transparent 50%, #ffea00 90%);*/
    padding: 0 0.1vw 0.1vw;
}



#voice .pop1{
	left: 6vw;
	top:1vw;
}
#voice .pop2{
	left: 3vw;
	bottom:1vw;
}
#voice .pop3{
	right: 6vw;
	bottom: 8vw;
}
#voice .pop4{
	right: -2vw;
	top: 2vw;
}




#course{
	width:100%;
	position:relative;
	padding: 0 0 6vw;
/*
	margin: -8vw auto 0;
*/
}

#course::before{
	content:"";
	position: absolute;
	inset: 0;
/*	background: linear-gradient(0deg,rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.0) 100%),url(../images/wave2.png) no-repeat bottom;
	background-size: contain;
	transform: scale(1,-1);
*/
}

.courseBox{

}
.courseTxt h2{
	text-align:center;
	cursor:pointer;
	border-top:1px solid #136cb9;
	border-bottom:1px solid #136cb9;
	padding: 2vw 0;
  	box-shadow: 1vw 1vw 1vw 0px rgba(6, 97, 173, 0.2);
}

.courseTxt h2:hover{
	opacity:0.5;
  transform:translateY(-5px);
  transition:opacity 0.3s, transform 0.3s;
}

.courseTxt h2::after {
	content:'\f0fe';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.8vw;
  padding-left:0.5vw;
  vertical-align: bottom;
}
.courseTxt h2.active {
	border-bottom:unset;
	margin-bottom:0;
}
.courseTxt h2.active::after {
	content:'\f146';
}
.blind{
  display:none;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity 1s, transform 1s;
}


.blind.active{
  opacity:1;
  transform:translateY(0);
	border-bottom:1px solid #136cb9;
	padding-bottom:2vw;
}

.courseF{
	display:flex;
	justify-content:center;
	gap:0;
	width:100%;
	max-width:70vw;
	margin: 3vw auto 3vw;
}
.courseF dl{
	width:100%;
	background:#fff;
	border-right:1px solid #333;
	padding: 0 2vw;
}
.courseF dl:nth-of-type(3){
	border-right:unset;
}

.courseF dl dt{
	font-size:1.4vw;
	position:relative;
	text-align:center;
	font-weight:600;
	color: #036eb7;
	margin-bottom:1vw;
}

.courseF dl dd{
	text-align:center;
	font-size:1.2vw;
}
.courseF dl dd span{
	text-align:center;
	display:block;
	background:#FFD75E;
	color:#333;
	font-size:1.2vw;
	margin:0 auto 0.5vw;
	border-radius:0.4vw;
}


.soudan{
	text-align:center;
	margin: 0 auto;
	font-size:1.4vw;
	font-weight:700;
	line-height:2;
}
.soudan span{
	display:block;
	padding-top: 0.5em;
}

.annai {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;
  padding: 1vw 1.2vw;
  font-size:1.0vw;
}
.annai::before {
  content: "";
  width: 0.8vw;
  height: 0.1vw;
  transform: rotate(60deg);
  box-sizing: border-box;
  background-color: #333333;
}
.annai::after {
  content: "";
  width: 0.8vw;
  height: 0.1vw;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: #333333;
}







#bus{
	width:100%;
	position:relative;
/*	background: rgb(162 217 255 / 10%);*/
	padding: 0 0 6vw;
	z-index:1;
}
#bus::before {
	position:absolute;
	top:0;
	width:100%;
	height:2px;
	background: linear-gradient(90deg,rgba(111, 177, 222, 1) 0%, rgba(3, 110, 183, 1) 100%);
}

.busBox{

}

.busTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 6vw;
	text-align:center;

}
.busTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;
}



.cho{
	display:flex;
	justify-content:center;
	gap:2vw;
	width:100%;
	max-width:76vw;
	margin: 0 auto 4vw;
	align-items:center;
}

.busImg{
	width:35%;
}
.busImg img{
	width: 100%;
	height: 20vw;
	object-fit: cover;
	border-radius:5vw;
	
}
.busTxt p{
  font-size: 1.2vw;
  line-height:2;
  position:relative;
}
.busTxt p span{
	  vertical-align:middle;
}
.busTxt p::after {
	content:'\f207';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 4.6vw;
  padding-left:0.5vw;
  color:#FFD75E;
  vertical-align:middle;
}
.busTxt p strong{
	  vertical-align:baseline;
}







#club{
	width:100%;

	margin: -16vw auto 0px;
	position:relative;
	padding: 15vw 0 4vw;
}
#club::before {
	content:"";
	position: absolute;
	inset: 0;
	background:linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.2) 100%),url(../images/wave2.png) no-repeat top;
	background-size: contain;
	transform: scale(-1,1);
}



.clubBox{

}

.clubTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 3vw;
	text-align:center;

}
.clubTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;
}



.clubTxt p{
  font-size: 1.2vw;
  line-height:2;
  text-align:center;
	margin-bottom: 3vw;
}



.clubF{
	display:flex;
	justify-content:center;
	gap:2vw;
	width:100%;
	max-width:76vw;
	margin: 0 auto 2vw;
}
.clubF dl{
	width:48%;
	border-radius: 2vw;
	border:3px solid #56c2e2;
	padding: 2vw 2vw;
	background:#fff;
}
.clubF dl:nth-of-type(2){
	border:3px solid #56a9e2;
}

.clubF dl dt{
	font-size:1.4vw;
	position:relative;
	text-align:center;
	font-weight:600;
	color: #56c2e2;
	margin-bottom:1vw;
}
.clubF dl:nth-of-type(2) dt{
	color: #56a9e2;
}
/*
.clubF dl dt::after {
	content:'\f5c4';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2vw;
  padding-left:0.5vw;
}
*/
.clubF dl dd{
	text-align:center;
	font-size:1.2vw;
}
.clubF dl dd span{
	text-align:center;
	display:block;
	background:#56c2e2;
	color:#fff;
	font-size:1.2vw;
	margin:0 auto 0.5vw;
	border-radius:0.4vw;
}
.clubF dl:nth-of-type(2) dd span{
	background: #56a9e2;
}

.clubF dl dd .trialBtn2{
	margin: 2vw auto 0;
}

.clubF dl:nth-of-type(1) dd .trialBtn2{
	color: #56c2e2;
	border-color:#56c2e2;
}
.clubF dl:nth-of-type(1) dd .trialBtn2:after{
	color: #56c2e2;
	border-color:#56c2e2;
}

.clubF dl:nth-of-type(1) dd .trialBtn2:hover{
	background: #56c2e2;
	color:#fff;
}
.clubF dl:nth-of-type(1) dd .trialBtn2:hover::after{
	background: #56c2e2;
	border-color:#fff;
	color:#fff;
}

.clubF dl:nth-of-type(2) dd .trialBtn2{
	color: #56a9e2;
	border-color:#56a9e2;
}
.clubF dl:nth-of-type(2) dd .trialBtn2:after{
	color: #56a9e2;
	border-color:#56a9e2;
}

.clubF dl:nth-of-type(2) dd .trialBtn2:hover{
	background: #56a9e2;
	color:#fff;
}
.clubF dl:nth-of-type(2) dd .trialBtn2:hover::after{
	background: #56a9e2;
	border-color:#fff;
	color:#fff;
}

.clubF .telBtn{
	margin: 0.5vw auto 0;
}

#club .pop1{
	left: 2vw;
	top:1vw;
}
#club .pop2{
	left: 6vw;
	top:26vw;
}
#club .pop3{
	right: 0vw;
	bottom: 8vw;
}
#club .pop4{
	right: 7vw;
	top: 10vw;
}






#cta{
	width:100%;
	position:relative;
	padding: 6vw 0;
	background: linear-gradient(0deg,rgba(111, 177, 222, 0.8) 0%, rgba(3, 110, 183, 0.2) 100%), url(../images/img_cta.png) no-repeat center calc(100% + 15vw) / cover;
}
#cta::after {
}
.ctaBox{
}
.ctaBox p{
	font-feature-settings: "palt";
	text-align:center;
	font-weight:bold;
	color:#fff;
	text-align:center;
	line-height: 1.6;
	font-size: 2.8vw;
	/* padding: 1em 2em; */
	text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);
	margin-bottom: 1em;

}

.trialBtn3{
	position:relative;
	margin: 5vw auto 0;
  font-weight: 900;
  font-size: 2vw;
  color:#036eb7;
  border:2px solid #036eb7;
  background:#fff;
  line-height:1.6;
  text-align:center;
    display: block;
	width:fit-content;
	padding:1.0vw 8vw;
	border-radius: 4vw;
	text-shadow:unset !important;
	box-shadow: 0.2vw 0.2vw 0px 0px rgba(0, 0, 0, 0.3);
}

.trialBtn3::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2vw;
  color:#036eb7;
  border:2px solid #036eb7;
  line-height:2.6vw;
  text-align:center;
    display: block;
	width:2.6vw;
	height:2.6vw;
	border-radius:100%;
	position:absolute;
	right: 3vw;
	top: calc(50% - 1.3vw);
}
.trialBtn3:hover {
  color:#fff;
  background:#036eb7;
  border:2px solid #fff;
  	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3);
}
.trialBtn3:hover::after {
  color:#fff;
  background:#036eb7;
  border:1px solid #fff;
}








/* モーダル本体 */

.mdTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 2vw;
	margin-bottom: 4vw;
	margin-top:1vw;
	text-align:center;

}
.mdTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2vw;
  width: 16vw;
  height: 2vw; 
  transform: translateX(-50%);

	background:url(../images/nami.png) repeat-x bottom;
	background-size: contain;
}


.modal {
  padding: 0 0;
}
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}

.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 1020px);
  height: calc(100% - 100px);
  line-height: unset;
  padding: 20px;
  background: #fff;
}

.modal__inner {
  position: relative;
  overflow-y: auto;
  height: 100%;
  padding: 80px 20px 20px;
}

/* モーダルを閉じるボタン */
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}

.modal__close:hover {
  opacity: .6;
}

.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}

.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル内のコンテンツ */
.modal__content {
}
.modal__title {
	color:#1da1f2;
	text-align:center;
	font-size:22px;
	font-weight:bold;
  margin-bottom: 30px;
  line-height:25px;
}
.modal__text {
  text-align:left;
	font-size:1.4rem;
  line-height:25px;
}

.modal__content ul{
	font-size:14px;
	margin: 20px 0;
}
.modal__content ul li{
	list-style:disc;
	list-style-position:inside;
	line-height: 1.4;
}
.modal__content ul li a{
	color: #133aa9;
}

.md-overlay{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .7;
  z-index: 9999;
}
 
.md-contents{
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 1020px);
  max-height: calc(100% - 100px);
  line-height: unset;
  padding: 1vw;
  background: #fff;
  overflow-y:auto;
  z-index: 10000;
  border-radius:2vw;
 	  background: linear-gradient(145deg, #136cb9 0%, #136cb9 100%);
 }
 

.md-contents .pop1{
	right: 5vw;
	top:2rem;
}
.md-contents .pop2{
	left: 3vw;
	top:3rem;
}
 
 
.md-inner{
  padding: 24px 40px;
  background: #fff;
  height: auto;
  border-radius:1vw;
}
 
 
 
.md-xmark{
  position: absolute;
  top: 40px;
  right: 40px;
  width: 25px;
  height: 22px;
  z-index: 9999;
  cursor: pointer;
}
 
.md-xmark span {
  height: auto;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
}
 
.md-xmark span:nth-of-type(1) {
  top: 0;
  transform: translateY(10px) rotate(-45deg);
}
 
 
.md-xmark span:nth-of-type(2) {
  bottom: 0;
  transform: translateY(-10px) rotate(45deg);
}




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

.spOnly{
	display:inherit;
}

.pcOnly{
	display:none;
}


#fNav{
	position:fixed;
	bottom:0;
	z-index:30;
	width:100%;
}
.trialBtnBtm{
	position:relative;
	margin: 0 auto;
	font-weight: 900;
	font-size: 5vw;
	color: #fff;
	 background-color:rgba(3, 110, 183, 0.8);
	line-height:1.6;
	text-align:center;
	display: block;
	width:100%;
	padding: 3vw 0;
	border-radius: 6vw 6vw 0 0;
	text-shadow:unset !important;
}

.trialBtnBtm::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 5vw;
  color:#fff;
  border:2px solid #fff;
  line-height:6.6vw;
  text-align:center;
    display: block;
	width:6.6vw;
	height:6.6vw;
	border-radius:100%;
	position:absolute;
	right: 3vw;
	top: calc(50% - 3.3vw);
}
.trialBtnBtm::before {
  content:"";
  background:#fff;
  width: 50%;
  height:1px;
  position:absolute;
  bottom: 2vw;
  left: 25%;
}
.trialBtnBtm:hover::before {
  background:#036eb7;
}
.trialBtnBtm:hover {
  color:#036eb7;
  background:#fff;
  border:2px solid #036eb7;
  	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3);
}
.trialBtnBtm:hover::after {
  color:#036eb7;
  background:#fff;
  border:1px solid #036eb7;
}






.trialBtn{
	position:relative;
	margin: 10vw auto 0;
  font-weight: 900;
  font-size: 5vw;
  color:#036eb7;
  border:2px solid #036eb7;
  background:#fff;
  line-height:2;
  text-align:center;
    display: block;
	width:fit-content;
	padding:2.0vw 16vw;
	border-radius: 8vw;
	text-shadow:unset !important;
	box-shadow: 0.8vw 0.8vw 0px 0px rgba(0, 0, 0, 0.3);
}

.trialBtn::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 5vw;
  color:#036eb7;
  border:2px solid #036eb7;
  line-height:6.6vw;
  text-align:center;
    display: block;
	width:6.6vw;
	height:6.6vw;
	border-radius:100%;
	position:absolute;
	right: 4vw;
	top: calc(50% - 3.3vw);
}




.trialBtn2{
	position:relative;
	margin: 8vw auto 0;
  font-weight: 900;
  font-size: 4.4vw;
  color:#036eb7;
  border:2px solid #036eb7;
  background:#fff;
  line-height:1.6;
  text-align:center;
  z-index:5;
  background:#fff;
    display: block;
	width:fit-content;
	padding:3.0vw 14vw;
	border-radius: 8vw;
	text-shadow:0 !important;
	box-shadow: 0.8vw 0.8vw 0px 0px rgba(0, 0, 0, 0.3);
}

.trialBtn2::after {
	content:'\f054';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 4.4vw;
  color:#036eb7;
  border:2px solid #036eb7;
  line-height:6.4vw;
  text-align:center;
    display: block;
	width:5.8vw;
	height:5.8vw;
	border-radius:100%;
	position:absolute;
	right: 4vw;
	top: calc(50% - 3.0vw);
}





header #headBox h1{
	vertical-align:middle;
	padding: 0.5vw 0 1.5vw;
	text-align:center;
}
header #headBox h1 a{
	width:70%;
	max-width:446px;
	margin: 0 auto;
}

#slide{
	padding: 0;
	width: 100%;
	text-align: center;
	position: relative;
	overflow:hidden;
}
.slideTxt{
	top: 10%;
}
.slideTxt p{
	text-align:center;
	line-height: 1.6;
	font-size: 6.2vw;
	padding: 8vw 2vw;
	text-shadow: 2px 2px 4px rgb(0 0 0 / 100%);
	border-radius: 3vw;
	width:92%;
}
.slideTxt p strong{
	font-size: 9.8vw;
}
.fade img{
	width:100%;
	height: 120vw;
	object-fit: cover;
}






#hajimete .pop1{
	top:-5rem;
	right: 35vw;
}
#hajimete .pop2{
	top: -1rem;
	right: 5vw;
}
#hajimete .pop3{
	right: 3vw;
	bottom: 57vw;
}
#hajimete .pop4{
	top:-8vw;
	left: 15vw;
}

#hajimete ul{
}
#hajimete ul li{
	display:flex;
	position:relative;
	flex-direction: column;
	margin: 0;
	gap: 5vw;
}
#hajimete .wave1{
	position:absolute;
	/* bottom: -18vh; */
	top: -8vw;
	overflow: hidden;
	/* color: #fff; */
	z-index:2;
	opacity:1;
	transform: scale(1,-1);
}


#hajimete ul li .imgBox{
	width: 94vw;
}
#hajimete ul li .imgBox img{
	width: 100%;
	height: 70vw;
	object-fit: cover;
	object-position: center center;
	/*border-radius: 36% 64% 34% 66% / 65% 42% 58% 35%;*/
	border-radius: 0 10vw 10vw 0;
	box-shadow: 0 0 4vw 0vw rgba(94, 223, 255, 0.1);
}
#hajimete ul li .txtBox{
	/*	background:rgba(255,255,255,1.0);	*/
	padding: 5vw;
	position:unset;
	top: 6vw;left: 60vw;width: 100%;
	/*	box-shadow: 1vw 1vw 0px 0px rgba(6, 97, 173, 0.2);*/}

#hajimete ul li .txtBox h2{
	font-weight:bold;
	font-size: 5.8vw;
	text-align: center;
	position:relative;
	margin: 0 0 8vw;
	display:flex;
	flex-direction: column-reverse;
	gap: 2vw;
	justify-content: center;
}
#hajimete ul li .txtBox h2::after {
	content:'\f5c4';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 13.8vw;
	color:#FFD75E;
	padding-left:0.5vw;
	vertical-align:bottom;
}
#hajimete ul li .txtBox p{
	font-size: 4.1vw;
	line-height:1.8;
	text-align: center;
}




#sonoko{
	margin: -8vw auto 0px;
}
#reason{
	padding: 10vh 0 0;
}

.sonokoImg img,
.reasonImg img{
	height:40vh;
}

#sonoko h2,
#reason h2,
#nobiru h2,
#voice h2,
#yoyaku h2,
#bus h2,
#club h2{
	font-weight:bold;
	font-size: 5.8vw;
	line-height: 1.4;
	text-align: center;
	position:relative;
	margin: 0 0 10vw;
}
#voice h2{
	display:flex;
	flex-direction: column-reverse;
	gap: 2vw;
	justify-content: center;
	margin-bottom:6vw;
}
.sonokoTxt h2::before,
.reasonTxt h2::before,
.yoyakuTxt h2::before,
.busTxt h2::before,
.clubTxt h2::before{
  bottom: -4vw;
  width: 46vw;
  height: 4vw;
}
#sonoko p,
#reason p,
#nobiru p,
#voice p,
#yoyaku p,
#bus p,
#club p{
	font-size: 4.1vw;
	line-height:1.8;
	text-align: center;
}


.sonokoBox{
	padding: 10vw 0 13vw;

}
.sonokoTxt{
	padding: 6vw 2vw;
	box-shadow: 0vw 0vw 0vw 0.6vw rgba(6, 97, 173, 0.4);
	border-radius:4vw;
	width: 92%;
}

.reasonTxt{
	padding: 6vw 4vw ;
	width: 100%;
}
.reasonTxt h3{
	font-size: 5.6vw;
}
.reasonTxt h4{
	margin: 8vw auto 6vw;
	font-size: 4.4vw;
	line-height: 2;
	border-radius: 2vw;
	width:100%;
	min-width:unset;
}
.reasonTxt h4::before {
	font-size: 4.2vw;
}

.reasonTxt ul{
	width: fit-content;
	margin: 0 auto 6vw;
}
.reasonTxt ul li{
	font-size: 4.1vw;
	line-height: 1.6;
	text-align:left;
	text-indent: -1.1em;
	padding-left: 1em;
	margin-bottom: 2vw;
}



#nobiru{
	margin: 0 auto;
}


.nobiruBox{
	display:flex;
	position:relative;
	flex-direction: column;
	margin: 0;
	padding: 6vw 0 0;
	gap: 5vw;
}
.nobiruImg{
	z-index:3;
	position:relative;
	width:100%;
	left: -4vw;
	top: 0;
}
.nobiruImg img{
	width: 120%;
	border-radius:32% 68% 46% 54% / 26% 57% 43% 74% ;
  	box-shadow: 3vw 3vw 0vw 3vw rgba(94, 223, 255, 0.1);
}

.nobiruTxt{
	text-align:left;
	z-index:3;
	padding: 3vw;
	position:unset;
	width: 100vw;
	left:unset;
	top:unset;
}



#voice{

padding: 19vw 0 0;
}

.voiceBox{
	display:flex;
	position:relative;
	flex-direction: column;
	margin: 0;
	gap: 5vw;
}
.voiceImg{
	z-index:3;
	position: relative;
	width: 94vw;
	margin-left: auto;
	/* right: 0; */
	/* top: 0; */
}
.voiceImg img{
	width: 100%;
	height: 70vw;
	object-fit: cover;
	object-position: center -4vw;
	border-radius: 10vw 0 0 10vw;
	box-shadow: 6vw 2vw 3vw 0vw rgba(94, 223, 255, 0.1);
}

.voiceTxt{
	text-align:left;
	z-index:3;
	position:relative;
	width: 90%;
	padding-bottom:8vw;
}
.voiceTxt > .kotoba {
  position: relative;
	padding:6vw 1vw;
  border-radius: 2vw;
  background-color: #fff;
  border:1px solid #ccc;
  z-index:2;
}
.voiceTxt > .kotoba::before {
  content: "";
  position: absolute;
  bottom: unset;
  top:-5vw;
  right: calc(50% - 5vw);
  width: 10vw;
  height: 10vw;
  transform: rotate(45deg);
  box-sizing: border-box;
  background: #fff;
  border-left:1px solid #ccc;
  border-top:1px solid #ccc;
  z-index:1;
}

.voiceTxt > .ornament {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index:3;
}
.voiceTxt > .ornament::before {
  content: "";
  position: absolute;
  top: 1vw;
  left: -3vw;
  width: 12vw;
  height: 4vw;
  transform: rotate(-45deg);
  box-sizing: border-box;
  background-color: #3ff727;
  mix-blend-mode: multiply; /* 乗算 */
}
.voiceTxt > .ornament::after {
  content: "";
  position: absolute;
  top: calc(100% - 36.5vw);
  right: -3vw;
  width: 12vw;
  height: 4vw;
  transform: rotate(-45deg);
  box-sizing: border-box;
  background-color: #64d1ff;
  mix-blend-mode: multiply; /* 乗算 */
}

.voiceTxt h2::after {
	font-weight: 900;
	font-size: 13.8vw;
}


.voiceT{
  font-size: 4.2vw;
  line-height:1.6;
  text-align:center;
  position:unset;
  margin: 5vw auto;
}




#yoyaku{
	margin: 0 auto 3vw;
}
.yoyakuLine{
	width:96%;
	margin: 0 auto;
	padding: 3vw 4vw;
}



.annai {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;
  padding: 2vw 0.2vw;
  font-size: 4vw;
}
.annai::before {
  content: "";
  width: 3.8vw;
  height: 0.1vw;
  transform: rotate(60deg);
  box-sizing: border-box;
  background-color: #333333;
}
.annai::after {
  content: "";
  width: 3.8vw;
  height: 0.1vw;
  transform: rotate(-60deg);
  box-sizing: border-box;
  background-color: #333333;
}



#course{
	margin-bottom: 5vw;
}


.courseTxt h2{
	font-size: 5vw;
}
.courseTxt h2::after {
  font-size: 5.0vw;
  padding-left:2vw;
  font-size: 7vw;
  vertical-align:bottom;
}

.courseF{
	display:flex;
	flex-direction: column;
	justify-content:center;
	gap:0;
	width:100%;
	max-width: 90vw;
	margin: 3vw auto 6vw;
}
.courseF dl{
	width:100%;
	background:#fff;
	border-bottom: 1px solid #333;
	border-right: unset;
	padding: 4vw 0;
}
.courseF dl:nth-of-type(3){
	
}

.courseF dl dt{
	font-size:4.4vw;
	position:relative;
	text-align:center;
	font-weight:600;
	color: #036eb7;
	margin-bottom:2vw;
}

.courseF dl dd{
	text-align:center;
	font-size:4.1vw;
}
.courseF dl dd span{
	text-align:center;
	display:block;
	background:#FFD75E;
	color:#333;
	font-size:4.1vw;
	margin:0 auto 2.5vw;
	border-radius:1.4vw;
	width:80%
}


.soudan{
	text-align:center;
	margin: 0 auto 6vw;
	font-size:4.0vw;
	font-weight:700;
	line-height:1.6;
}










#bus{
	width:100%;
	position:relative;
/*	background: rgb(162 217 255 / 10%);*/
	padding: 0 0 6vw;
	z-index:1;
}
#bus::before {
	position:absolute;
	top:0;
	width:100%;
	height:2px;
	background: linear-gradient(90deg,rgba(111, 177, 222, 1) 0%, rgba(3, 110, 183, 1) 100%);
}

.busBox{

}


.busImg{
	width:95%;
	margin: 0 auto 2vw;
}
.busImg img{
	width: 100%;
	height: 40vw;
	object-fit: cover;
	border-radius:5vw;
	
}
.busTxt p{
	display:flex;
	flex-direction:column-reverse;
	gap:2vw;
	
}
.busTxt p:after{
	font-size:13.8vw;
	line-height:1.4;
}




.cho{
	display:block;
	width:94%;
	max-width:100%;
	margin: 0 auto 6vw;
}





#club{
	padding: 20vw 0 10vw;
	margin: -10vw auto 0;
}

.clubBox{
	width:94%;
	margin: 0 auto;
}

.clubTxt p{
	margin-bottom:8vw;
}


.clubTxt2 h3{
	font-size:4.4vw;
	line-height:1.6;
	display:flex;
	flex-direction: column-reverse;
	gap: 2vw;
	justify-content: center;
	text-align:center;
	margin-bottom:4vw;
}
.clubTxt2 h3::after {
	font-size: 14.6vw;
	padding-left: 0;
}


.clubF{
	display:flex;
	justify-content:center;
	gap: 6vw;
	width: 94%;
	max-width: 100vw;
	margin: 0 auto 2vw;
	flex-direction: column;
}
.clubF dl{
	width: 100%;
	border-radius: 2vw;
	border:3px solid #56c2e2;
	padding: 6vw 2vw;
	background:#fff;
}
.clubF dl:nth-of-type(2){
	border:3px solid #56a9e2;
}

.clubF dl dt{
	font-size: 4.4vw;
	position:relative;
	text-align:center;
	font-weight:600;
	color: #56c2e2;
	margin-bottom: 1vw;
}
.clubF dl:nth-of-type(2) dt{
	color: #56a9e2;
}
/*
.clubF dl dt::after {
	content:'\f5c4';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 2vw;
  padding-left:0.5vw;
}
*/
.clubF dl dd{
	text-align:center;
	font-size: 4.1vw;
	line-height: 1.6;
}
.clubF dl dd span{
	text-align:center;
	display:block;
	background:#56c2e2;
	color:#fff;
	font-size: 4.1vw;
	line-height: 3;
	margin: 0 auto 5.5vw;
	border-radius: 2.4vw;
}
.clubF .telBtn{
	margin: 4.5vw auto 0;
}




#cta{
	width:100%;
	position:relative;
	padding: 6vw 0;
	background: linear-gradient(0deg,rgba(111, 177, 222, 0.8) 0%, rgba(3, 110, 183, 0.2) 100%), url(../images/img_cta.png) no-repeat center calc(100% + -1vw) / cover;
}
#cta::after {
}
.ctaBox{
}
.ctaBox p{
	font-feature-settings: "palt";
	text-align:center;
	font-weight:bold;
	color:#fff;
	text-align:center;
	line-height: 1.6;
	font-size: 5.8vw;
	width: 94%;
	margin: 0 auto 0.5em;
	/* padding: 1em 2em; */
	text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);
}


.trialBtn3{
	position:relative;
	margin: 5vw auto 0;
	font-weight: 900;
	font-size: 6vw;
	color:#036eb7;
	border:2px solid #036eb7;
	background:#fff;
	line-height:1.6;
	text-align:center;
	display: block;
	width:fit-content;
	padding: 2vw 15vw;
	border-radius: 10vw;
	text-shadow:unset !important;
	box-shadow: 1.2vw 1.2vw 0px 0px rgba(0, 0, 0, 0.3);
}



.trialBtn3::after {
	content:'\f054';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 5vw;
	color:#036eb7;
	border:2px solid #036eb7;
	line-height: 7.0vw;
	text-align:center;
	display: block;
	width: 7.6vw;
	height: 7.6vw;
	border-radius:100%;
	position:absolute;
	right: 4vw;
	top: calc(50% - 4.2vw);
}


footer #footLogo{
	margin: 5vw 0;
	display:inline-block;
}

footer img{
	margin: 0 auto;
	display:block;
	width:70%;
}
footer #footerCopy{
	border-top: 1px solid #ccc;
	text-align: center;
	width: 100%;
	font-size: 3vw;
	color: #333;
	background: #fff;
	padding: 0 0 18vw;
}

#pagetop{
	width:60px;
	background:#FFF;
	border-radius:5px;
	box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	-moz-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.2);
	padding:2px;
	text-align:center;
	position:fixed;
	right:2vw;
	bottom:18vw;
	display:none;
  z-index: 100;
	}
#pagetop a{
	padding:1vw;
}
#pagetop img{
	width:100%;
	}
	
	
	
	
	
	
/* モーダル本体 */

.mdTxt h2{
	position:relative;
	font-weight:bold;
	font-size: 6vw;
	margin-bottom: 8vw;
	margin-top:1vw;
	text-align:center;
}
.mdTxt h2::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5vw;
  width: 36vw;
  height: 5vw;
  transform: translateX(-50%);
  background:url(../images/nami.png) repeat-x bottom;
  background-size: contain;
}


.modal {
  padding: 0 0;
}
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}

.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 1020px);
  height: calc(100% - 100px);
  line-height: unset;
  padding: 20px;
  background: #fff;
}

.modal__inner {
  position: relative;
  overflow-y: auto;
  height: 100%;
  padding: 80px 20px 20px;
}

/* モーダルを閉じるボタン */
.modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}

.modal__close:hover {
  opacity: .6;
}

.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}

.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル内のコンテンツ */
.modal__content {
}
.modal__title {
	color:#1da1f2;
	text-align:center;
	font-size:22px;
	font-weight:bold;
  margin-bottom: 30px;
  line-height:25px;
}
.modal__text {
  text-align:left;
	font-size:1.4rem;
  line-height:25px;
}

.modal__content ul{
	font-size:14px;
	margin: 20px 0;
}
.modal__content ul li{
	list-style:disc;
	list-style-position:inside;
	line-height: 1.4;
}
.modal__content ul li a{
	color: #133aa9;
}

.md-overlay{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .7;
  z-index: 9999;
}
 
.md-contents{
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 20px), 1020px);
  max-height: calc(100% - 40px);
  line-height: unset;
  padding: 1vw 1vw;
  background: #fff;
  overflow-y:auto;
  z-index: 10000;
  border-radius:2vw;
  background: linear-gradient(145deg, #136cb9 0%, #136cb9 100%);
 }
 

.md-contents .pop1{
	right: 5vw;
	top:2rem;
}
.md-contents .pop2{
	left: 3vw;
	top:3rem;
}
 
 
.md-inner{
  padding: 4vw 2vw;
  background: #fff;
  height: auto;
  border-radius: 2vw;
}
 
 
 
.md-xmark{
  position: absolute;
  top: 3vw;
  right: 2vw;
  width: 25px;
  height: 22px;
  z-index: 9999;
  cursor: pointer;
}
 
.md-xmark span {
  height: auto;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
}
 
.md-xmark span:nth-of-type(1) {
  top: 0;
  transform: translateY(10px) rotate(-45deg);
}
 
 
.md-xmark span:nth-of-type(2) {
  bottom: 0;
  transform: translateY(-10px) rotate(45deg);
}

}