@charset "utf-8";

/*---RESET---------------------------------------------------------------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:auto;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:bottom;
    background:transparent;
    box-sizing: border-box;
}
body { line-height:1; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block; }
nav ul,li { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
input, select { vertical-align:middle; }

/*---common---------------------------------------------------------------------------------------------------------------------*/
html { font-size: 62.5%; }
body{
    background-color: #FFFFFF;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    text-align: center;
    font-size: 16px; line-height: 1.7;
    font-weight: 400;
    color: #3c3c3c;
	font-feature-settings: "palt";
}
#wrapper{ max-width: 750px; }

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

.ac_head {
	cursor: pointer;
	outline: none;
}
.ac_body { display: none; }

.mt10 { margin-top: calc((10/750)*100vw); }
.mt20 { margin-top: calc((20/750)*100vw); }
.mt30 { margin-top: calc((30/750)*100vw); }
.mt40 { margin-top: calc((40/750)*100vw); }
.mt50 { margin-top: calc((50/750)*100vw); }
.mt60 { margin-top: calc((60/750)*100vw); }
.mt70 { margin-top: calc((70/750)*100vw); }
.mt80 { margin-top: calc((80/750)*100vw); }
.mt90 { margin-top: calc((90/750)*100vw); }
.mt100 { margin-top: calc((100/750)*100vw); }
.mt110 { margin-top: calc((110/750)*100vw); }
.mt130 { margin-top: calc((130/750)*100vw); }
.mt140 { margin-top: calc((140/750)*100vw); }
.mt180 { margin-top: calc((180/750)*100vw); }

.inner { margin-left: 4%; margin-right: 4%; }

.text {
	font-size: calc((28/750)*100vw); font-weight: 600; line-height: 1.8;
}
.text span { color: #eb6877; }

.notes { font-size: calc((18/750)*100vw); line-height: 1.33; }

/*---slick---*/
.slick-dotted.slick-slider { margin-bottom: 0; }
.slick-dots {
	bottom: calc((-50/750)*100vw);
}
.slick-dots li,
.slick-dots li button:before {
	max-width: 20px;
    width: calc((20/750)*100vw);
	max-height: 20px;
	height: calc((20/750)*100vw);
}
.slick-dots li { margin: 0 calc((6/750)*100vw); }
.slick-dots li button:before {
    position: absolute;
    content: '';
    background: #c8c8c8;
	border-radius: 20px;
    text-align: center;
    opacity: 1;
}
.slick-dots li.slick-active button:before {
    background: #3c3c3c;
    opacity: 1;
}
.slick-prev, .slick-next {
    top: 50%;
    display: block;
	max-width: 100px;
	width: calc((100/750)*100vw);
	max-height: 100px;
    height: calc((100/750)*100vw);
	background: url(../img/slider_arrow1.png) center center no-repeat;
	background-size: contain;
    transform: translate(0, -50%);
    z-index: 2;
}
.slick-next { right: 0; }
.slick-prev { left: 0; transform: translate(0, -50%) rotate(-180deg); }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	background: url(../img/slider_arrow1.png) center center no-repeat;
	background-size: contain;
}
.slick-next:before, .slick-prev:before { content: ''; }
.slick-next.slick-disabled, .slick-prev.slick-disabled {
	visibility: hidden;
}

/*---lazyload---*/
/*.fadein .box_fadein {
	opacity: 0;
	-webkit-transition: opacity .5s;
	transition: opacity .5s;
}
.fadein.lazyloaded .box_fadein {
	opacity: 1;
}*/

@media screen and (min-width: 751px){
	.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; }
	.mt110 { margin-top: 110px; }
	.mt130 { margin-top: 130px; }
	.mt140 { margin-top: 140px; }
	.mt180 { margin-top: 180px; }
	
	.text { font-size: 28px; line-height: 1.8; }
	
	.notes { font-size: 18px; line-height: 1.33; }

	/*---slick---*/
	.slick-dots { bottom: -50px; }
	.slick-dots li { margin: 0 6px; }
}

/*---cvbox---------------------------------------------------------------------------------------------------------------------*/
.cv_head {
	max-width: 668px;
	width: calc((668/750)*100vw);
}
.cvbox .cv_inner {
	position: relative;
	margin-top: calc((34/750)*100vw);
}
.cvbox .cv_inner .btn {
	position: absolute;
	bottom: 9.4%; left: 0;
	width: 100%;
	text-align: center;
}
.cvbox .cv_inner .btn img {
	max-width: 676px;
	width: calc((676/750)*100vw);
}
#end_offer .notes {
	position: absolute;
    left: 3.8%; bottom: 2.5%;
	font-weight: 600;
}

@media screen and (min-width: 751px){
	.cvbox .cv_inner {
		margin-top: 34px;
	}
}

/*---fv---------------------------------------------------------------------------------------------------------------------*/
#fv { position: relative; }
#fv .fv_btn {
	position: absolute;
	bottom: 4%; left: 0;
	width: 100%;
	text-align: center;
}
#fv .fv_btn img {
	max-width: 676px;
	width: calc((676/750)*100vw);
}

/*---cont01---------------------------------------------------------------------------------------------------------------------*/
#cont01 .cont01_1 { position: relative; }
#cont01 .cont01_1 .text {
	position: absolute;
    bottom: 10%; left: 0;
	width: 100%;
	text-align: center;
}

/*---guideline---------------------------------------------------------------------------------------------------------------------*/
#guideline {
	margin-left: 4%; margin-right: 4%;
}
#guideline .guideline_list {
	padding-top: calc((28/750)*100vw);
}
#guideline .guideline_list li:not(:first-child) {
	margin-top: calc((20/750)*100vw);
}
#guideline .guideline_list .ac_head {
	padding: calc((22/750)*100vw) calc((25/750)*100vw);
	position: relative;
	background: #3c3c3c;
	border-radius: calc((10/750)*100vw);
	text-align: left;
	font-size: calc((35/750)*100vw); font-weight: 600; color: #FFF; line-height: 1;
}
#guideline .guideline_list .ac_head::after {
	position: absolute;
	top: 50%; right: 2.1%;
	display: inline-block;
	content: "";
	width: calc((50/750)*100vw); height: calc((50/750)*100vw);
	border-radius: 100%;
	background: #FFF url(../img/ac_open.svg) center center no-repeat;
	background-size: 52% auto;
	transform: translateY(-50%);
	font-size: calc((34/750)*100vw); font-weight: 400; color: #3c3c3c;
}
#guideline .guideline_list .ac_head.active::after {
	background: #FFF url(../img/ac_close.svg) center center no-repeat;
	background-size: 52% auto;
}
#guideline .guideline_list .ac_body {
	padding: calc((20/750)*100vw) 0;
}
@media screen and (min-width: 751px){
	#guideline .guideline_list {
		padding-top: 28px;
	}
	#guideline .guideline_list li:not(:first-child) {
		margin-top: 20px;
	}
	#guideline .guideline_list .ac_head {
		padding: 22px 25px;
		border-radius: 10px;
		font-size: 35px; line-height: 1;
	}
	#guideline .guideline_list .ac_head::after {
		width: 50px; height: 50px;
		font-size: 34px;
	}
	#guideline .guideline_list .ac_body {
		padding: 20px 0;
	}
}

/*---bnrcorona---------------------------------------------------------------------------------------------------------------------*/
#bnrcorona {
	margin-left: 4%; margin-right: 4%;
}

/*---lesson---------------------------------------------------------------------------------------------------------------------*/
#lesson { margin-top: calc((95/750)*100vw); }
#lesson h3 {
	max-width: 400px;
	width: calc((400/750)*100vw);
}
#lesson .text {
	margin-top: calc((140/750)*100vw);
	text-align: center;
}
#lesson .slick-initialized .slick-slide img {
	max-width: 690px;
	width: calc((690/750)*100vw);
}
@media screen and (min-width: 751px){
	#lesson { margin-top: 95px; }
	#lesson .text { margin-top: 140px; }
}

/*---lesson_flow---------------------------------------------------------------------------------------------------------------------*/
#lesson_flow h3 {
	max-width: 360px;
	width: calc((360/750)*100vw);
}
.lesson_flow1 {
	margin-top: calc((44/750)*100vw);
}
#lesson_flow .text1 { text-align: center; }
.lesson_flow_head2 {
	margin-top: calc((115/750)*100vw);
	max-width: 614px;
	width: calc((614/750)*100vw);
}
.lesson_flow_head4 {
	max-width: 614px;
	width: calc((614/750)*100vw);
}
#lesson_flow .slick-dots li.slick-active button:before {
    background: #eb6877;
}
#lesson_flow .slick-prev,#lesson_flow .slick-next,
#lesson_flow .slick-prev:hover,#lesson_flow .slick-prev:focus,
#lesson_flow .slick-next:hover,#lesson_flow .slick-next:focus {
	background: url(../img/slider_arrow2.png) center center no-repeat;
	background-size: contain;
}
#lesson_flow .slider_inner {
	overflow: hidden;
	max-width: 690px;
	width: calc((690/750)*100vw);
	border-radius: calc((30/750)*100vw);
}
#lesson_flow .slider_inner .text {
	padding: calc((24/750)*100vw) calc((30/750)*100vw) 0;
	background: #3c3c3c;
	height: calc((150/750)*100vw);
	text-align: left; vertical-align: middle;
	font-weight: 600; color: #FFF;
}
@media screen and (min-width: 751px){
	#lesson_flow .lesson_flow1 { margin-top: 44px; }
	.lesson_flow_head2 { margin-top: 115px; }
	
	#lesson_flow .slider_inner {
		border-radius: 30px;
	}
	#lesson_flow .slider_inner .text {
		padding: 24px 10px 0 30px;
		height: 150px;
	}
}

/*---trial---------------------------------------------------------------------------------------------------------------------*/
#trial { margin-top: calc((195/750)*100vw); }
#trial h3 {
	max-width: 672px;
	width: calc((672/750)*100vw);
}
.trial1 {
	margin-top: calc((54/750)*100vw);
	max-width: 596px;
	width: calc((596/750)*100vw);
}
.trial4 {
	max-width: 596px;
	width: calc((596/750)*100vw);
}
@media screen and (min-width: 751px){
	#trial { margin-top: 195px; }
	.trial1 { margin-top: 54px; }
}

/*---facility---------------------------------------------------------------------------------------------------------------------*/
#facility h3 {
	max-width: 360px;
	width: calc((360/750)*100vw);
}
#facility .text { text-align: center; }
.facility2-3 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
}
.facility2-3 p {
	width: 46.3768%;
	margin: 0;
}
.facility2-3 p img { margin-bottom: calc((12/750)*100vw); }
.facility2-3 p span {
	display: inline-block;
	font-size: calc((24/750)*100vw); font-weight: 600; line-height: 1.2;
}
@media screen and (min-width: 751px){
	.facility2-3 p img { margin-bottom: 12px; }
	.facility2-3 p span {
		font-size: 24px; line-height: 1.2;
	}
}