@charset "UTF-8";
body,div,main,sec,h1,h2,h3,p,dl,dt,dd,ul,li {
	margin: 0;
	padding: 0;
}
.lp__main ul,
.lp__main li {
	list-style: none;
}
.lp__main {
	padding: 20vw 0 1px;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	font-feature-settings: "palt";
}
@media screen and (min-width: 751px) {
	.lp__main {
		padding-top: 122px;
		max-width: 1920px;
		margin: 0 auto;
	}
}
.lp__main img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
}
.lp__main a,
.lp__main a:link,
.lp__main a:visited { color:#698fce; text-decoration:underline; }
.lp__main a:hover,
.lp__main a:active  { color:#698fce; text-decoration:none; }

.inner {
	position: relative;
	max-width: 750px;
	margin: 0 auto;
}
@media screen and (max-width: 750px) {
	.pc {
		display: none;
	}
}
@media screen and (min-width: 751px) {
	.sp {
		display: none;
	}
}
a {
	transition: 0.1s;
}
a:hover {
	opacity: 0.7;
	transition: 0.2s;
}
@media screen and (min-width: 751px) {
	.mv {
		background: url("../img/mv02_bg.webp") center top no-repeat;
	}
	.sec01 {
		background: url("../img/sec01_bg.webp") center top no-repeat;
		height: 1227px;
	}
	.sec02 {
		background: url("../img/sec02_bg.webp") center top no-repeat;
		height: 4756px;
	}
	.sec03 {
		background: url("../img/sec03_bg.webp") center top no-repeat;
		height: 3589px;
	}
	.sec05 {
		background: url("../img/sec05_bg.webp") center top no-repeat;
		height: 1798px;
	}
	.sec09 {
		background: url("../img/sec09_bg.webp") center top no-repeat #6fcaba;
		height: 1530px;
	}
	.sec10 {
		background: url("../img/sec10_bg.webp") center top no-repeat;
		height: 1528px;
	}
	.sec13 {
		background: url("../img/sec13_bg.webp") center top no-repeat;
		height: 1185px;
	}
	.sec14 {
		background: url("../img/sec14_bg.webp") center top no-repeat;
		height: 2370px;
	}
	.sec15 {
		background: url("../img/sec15_bg.webp") center top no-repeat;
		height: 2250px;
	}
	.sec16 {
		background: url("../img/sec16_bg.webp") center top no-repeat;
		height: 2697px;
	}
	.sec17 {
		background: url("../img/sec17_bg.webp") center top no-repeat;
		height: 5824px;
	}
	.sec18 {
		background: url("../img/sec18_bg.webp") center top no-repeat;
		height: 4547px;
	}
}


/* .header */
@media screen and (max-width: 750px) {
	.header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 20vw;
		border-bottom: #dddddd solid 1px;
		z-index: 1000;
		background: #fff;
	}
	.header .inner img,
	.header .inner {
		width: 100%;
		height: auto;
	}
	.header .logo {
		width: 25.6vw;
		padding: 3vw 0 0 4vw;
	}
	.header p.btn {
		position: absolute;
		right: 4vw;
		top: 3vw;
		width: 61.067vw;
	}
}
@media screen and (min-width: 751px) {
	.header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 121px;
		border-bottom: #dddddd solid 1px;
		z-index: 1000;
		background: #fff;
	}
	.header .inner {
		width: 100%;
		max-width: 100%;
		min-width: 800px;
	}
	.header h1 {
		font-size: 17px;
		line-height: 1;
		font-weight: bold;
		color: #000;
		padding: 54px 0 0 60px;
	}
	.header ul {
		position: absolute;
		right: 220px;
		top: 35px;
		font-size: 0;
		display: inline-block;
	}
	.header ul li {
		display: inline-block;
		font-size: 17px;
		line-height: 51px;
		vertical-align: top;
	}
	.header ul li.txt {
		margin-left: 50px;
		padding: 0 66px;
	}
	.header ul li.txt + li.txt {
		margin-left: 50px;
		padding: 0 66px;
		border-left: #b2b2b2 solid 1px;
	}
	.header ul li.btn {
		line-height: 0.1;
	}
	.header ul li.btn a {
		line-height: 51px;
		color: #fff;
		display: inline-block;
		width: 220px;
		text-align: center;
		background: #00b67e;
		margin-right: 40px;
	}
	.header .logo {
		position: absolute;
		right: 60px;
		top: 20px;
		width: 120px;
	}
	.header .logo img {
		width: 100%;
		height: auto;
	}
	.header a,
	.header a:link,
	.header a:visited { color:#000; text-decoration:none; }
	.header a:hover,
	.header a:active  { color:#000; text-decoration:underline; }
}

/* .cv */
.cv {
	background: #92dbce;
	padding: 1px 0;
}
.cv h2 {
	width: calc( 644 / 750 * 100% );
	margin: calc( 70 / 750 * 100% ) auto calc( 40/ 750 * 100% );
}
.sec15 + .cv h2 {
	width: calc( 680 / 750 * 100% );
	margin: 0 auto;
}
.cv dl {
	width: calc( 680 / 750 * 100% );
	margin: 0 auto calc( 100/ 750 * 100% );
	padding-bottom: 1px;
	background: url("../img/cv_bg.webp") left bottom / 100% auto no-repeat;
	color: #828282;
	font-size: calc( 18 / 750 * 100vw );
	line-height: calc( 24 / 750 * 100vw );
	letter-spacing: 0.1em;
}
.cv dl a.trial {
	display: block;
	width: calc( 610 / 680 * 100% );
	margin: 0 auto calc( 10 / 680 * 100% ) calc( 46/ 680 * 100% );
}
.cv dl a.month {
	display: block;
	width: calc( 580 / 680 * 100% );
	margin: 0 auto calc( 50 / 680 * 100% );
}
.cv dl p.tel {
	display: block;
	background: url("../img/cv_icn.webp") calc( 33 / 580 * 100% ) center / calc( 50 / 580 * 100% ) auto no-repeat #f2f2f2;
	line-height: calc( 28 / 750 * 100vw );
	width: calc( 580 / 680 * 100% );
	box-sizing: border-box;
	padding: calc( 25 / 680 * 100% ) calc( 20 / 680 * 100% ) calc( 25 / 680 * 100% ) calc( 90 / 680 * 100% );
	margin: 0 auto 1px;
}
.cv dl p.tel strong {
	color: #575757;
	letter-spacing: 0.075em;
}
.cv dl ul {
	display: block;
	background: #f2f2f2;
	width: calc( 580 / 680 * 100% );
	box-sizing: border-box;
	padding: calc( 18 / 680 * 100% ) calc( 18 / 680 * 100% );
	margin: 0 auto calc( 50 / 680 * 100% );
}
.cv dl ul li {
	position: relative;
	padding-left: 1.3em;
}
.cv dl ul li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}
.cv dl ul li.noIndent {
	padding-left: 0;
	margin-top: calc( 14 / 550 * 100% );
  font-weight: bold;
}
.cv dl ul li.noIndent::before {
	content: "";
}
.mv + .cv dl p.tel,
.mv + .cv dl ul {
	display: none;
}
@media screen and (min-width: 751px) {
	.cv dl {
		width: calc( 680 / 750 * 100% );
		margin: 0 auto calc( 100/ 750 * 100% );
		padding-bottom: 1px;
		background: url("../img/cv_bg.webp") left bottom / 100% auto no-repeat;
		color: #828282;
		font-size: 18px;
		line-height: 24px;
		letter-spacing: 0.1em;
	}
	.cv dl p.tel {
		display: block;
		background: url("../img/cv_icn.webp") calc( 33 / 580 * 100% ) center / calc( 50 / 580 * 100% ) auto no-repeat #f2f2f2;
		line-height: 28px;
		width: calc( 580 / 680 * 100% );
		box-sizing: border-box;
		padding: calc( 25 / 680 * 100% ) calc( 20 / 680 * 100% ) calc( 25 / 680 * 100% ) calc( 90 / 680 * 100% );
		margin: 0 auto 1px;
	}
}


/* .sec05 */
.sec05 video {
	position: absolute;
	left: calc( 119 / 750 * 100% );
	bottom: calc( 259 / 1798 * 100% );
	width: calc( 512 / 750 * 100% );
	height: auto;
}

/* .sec09 */
.sec09 h2 {
	aspect-ratio: 750 / 1530;
}
.sec09 .slide {
	position: absolute;
	left: 0;
	top: calc( 737 / 1530 * 100% );
	width: 100%;
}
.sec09 .slide .swiper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}
.sec09 .swiper .swiper-slide {
	position: relative;
	width: calc( 720 / 750 * 100% );
	padding: 0 calc( 20 /  750 * 100% ) 0;
	box-sizing: border-box;
}
.sec09 .slide .swipe-prev,
.sec09 .slide .swipe-next {
	background: url("../img/sec09_next.webp") left top / auto 100% no-repeat;
	width: calc( 80 / 750 * 100% );
	aspect-ratio: 80/80;
	position: absolute;
	right: calc( 20 / 750 * 100% );
	top: 50%;
	margin-top: calc( -80 / 2 / 640 * 100% );
	z-index: 20;
}
.sec09 .slide .swipe-prev {
	left: calc( 20 / 750 * 100% );
	right: auto;
	transform: rotate(180deg);
}
.sec09 .slide .swiper-button-disabled {
	display: none;
}
.sec09 .swiper-pagination {
	position: absolute;
	width: 100%;
	height: auto;
	top: auto;
	bottom: calc( -55 / 640 * 100% );
	line-height: 0.1;
	margin: 0 auto;
}
.sec09 .swiper-pagination .swiper-pagination-bullet {
	width: calc( 16 / 750 * 100% );
	height: auto;
	aspect-ratio: 1/1;
	background: #fff;
	opacity: 1;
	margin: 0 calc( 35 / 2 / 750 * 100% );
	border-radius: 50px;
}
.sec09 .swiper-pagination .swiper-pagination-bullet-active {
	background: #01636e;
}


/* .sec12 */
.sec12 .inner {
	padding: 0 calc( 35 / 750 * 100% );
	color: #828282;
	font-size: calc( 18 / 750 * 100vw );
	line-height: calc( 28 / 750 * 100vw );
	letter-spacing: 0.075em;
}
.sec12 .inner::after {
	content: "";
	display: inline-block;
	padding-bottom: calc( 50 / 750 * 100% );
}
.sec12 h2 {
	color: #575757;
	font-size: calc( 35 / 750 * 100vw );
	line-height: 1;
	letter-spacing: 0.1em;
	font-weight: bold;
	padding: calc( 80 / 750 * 100% ) 0 calc( 30 / 750 * 100% );
	margin-bottom: calc( 30/ 750 * 100% );
	border-bottom: #ababab solid 2px;
}
.sec12 h3 {
	color: #828282;
	font-size: calc( 28 / 750 * 100vw );
	line-height: 1;
	letter-spacing: 0.1em;
	font-weight: bold;
	margin: calc( 30/ 750 * 100% ) 0 calc( 18 / 750 * 100% );
}
.sec12 dl {
	margin: calc( 18 / 750 * 100% ) 0 calc( 25 / 750 * 100% );
}
.sec12 dl dt {
	color: #92dbce;
	font-size: calc( 20 / 750 * 100vw );
	line-height: 1;
	letter-spacing: 0.1em;
	font-weight: bold;
	margin: 0 0 calc( 10 / 750 * 100% );
}
@media screen and (min-width: 751px) {
	.sec12 .inner {
		font-size: 18px;
		line-height: 28px;
		letter-spacing: 0.075em;
	}
	.sec12 h2 {
		color: #575757;
		font-size: 35px;
		line-height: 1;
		letter-spacing: 0.1em;
		font-weight: bold;
		padding: calc( 80 / 750 * 100% ) 0 calc( 30 / 750 * 100% );
		margin-bottom: calc( 30/ 750 * 100% );
		border-bottom: #ababab solid 2px;
	}
	.sec12 h3 {
		color: #828282;
		font-size: 28px;
		line-height: 1;
		letter-spacing: 0.1em;
		font-weight: bold;
		margin: calc( 30/ 750 * 100% ) 0 calc( 18 / 750 * 100% );
	}
	.sec12 dl {
		margin: calc( 18 / 750 * 100% ) 0 calc( 25 / 750 * 100% );
	}
	.sec12 dl dt {
		color: #92dbce;
		font-size: 20px;
		line-height: 1;
		letter-spacing: 0.1em;
		font-weight: bold;
		margin: 0 0 calc( 10 / 750 * 100% );
	}
}


/* footer */
.common-footer {
		max-width: 750px;
		margin: 0 auto;
}
.common-footer-p-sns {
		margin-top: 8vw;
}
@media screen and (min-width: 751px) {
		.common-footer-p-sns {
				margin-top: 60px;
		}
}
.common-footer-p-sns__list {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 0 4.8vw;
		margin: 0;
		padding: 0;
}
.common-footer-p-sns__list li {
		list-style: none;
		line-height: 1;
}
@media screen and (min-width: 751px) {
		.common-footer-p-sns__list {
				gap: 0 36px;
		}
}
.common-footer-p-sns__list img {
		width: 9.4vw;
		height: auto;
}
@media screen and (min-width: 751px) {
		.common-footer-p-sns__list img {
				width: 71px;
				height: auto;
		}
}
.common-footer-p-bottom-link__list {
		padding: 0;
		margin: 0;
}
.common-footer-p-bottom-link {
		margin-top: 8vw;

}
.common-footer-p-bottom-link li {
		list-style: none;
		text-align: center;
		line-height: 1;
}
@media screen and (min-width: 751px) {
		.common-footer-p-bottom-link {
				margin-top: 60px;
		}
}
.common-footer-p-bottom-link__list li+li {
		margin-top: 3.2vw;
}
@media screen and (min-width: 751px) {
		.common-footer-p-bottom-link__list li+li {
				margin-top: 24px;
		}
}
.common-footer-p-bottom-link__list a {
		font-size: 12px;
		font-weight: 400;
		color: #000;
		text-decoration: underline;
		font-family: Roboto, -apple-system, Helvetica Neue, Helvetica, Arial, sans-serif;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-smoothing: antialiased;
}
@media screen and (min-width: 751px) {
		.common-footer-p-bottom-link__list a {
				font-size: 24px;
		}
}
.common-footer-p-jdma {
		margin-top: 9vw;
}
@media screen and (min-width: 751px) {
		.common-footer-p-jdma {
				margin-top: 68px;
		}
}
.common-footer-p-jdma__inner {
		padding-left: 10px;
		width: 90%;
		margin: 0 auto;
}
@media screen and (min-width: 751px) {
		.common-footer-p-jdma__inner {
				padding-left: 20px;
		}
}
.common-footer-p-jdma img {
		width: 56vw;
}
@media screen and (min-width: 751px) {
		.common-footer-p-jdma img {
				width: 421px;
		}
}
.common-footer-l-footer {
		background-color: #007DA5;
		padding: 6.9vw 0;
		margin-top: 2vw;

}
@media screen and (min-width: 751px) {
		.common-footer-l-footer {
				padding: 52px 0;
				margin-top: 15px;
		}
}
.common-footer-l-footer__inner {
		width: 90%;
		margin: 0 auto;
		font-size: 10px;

		line-height: 1.5;
		text-align: center;
		color: #fff;
		font-family: Roboto, -apple-system, Helvetica Neue, Helvetica, Arial, sans-serif;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-smoothing: antialiased;

}
@media screen and (min-width: 751px) {
		.common-footer-l-footer__inner {
				font-size: 20px;
				font-size: 1.25rem;
		}
}
.common-footer-l-footer__copyright {
		border-top: solid 1px #fff;
		padding-top: 12px;
		margin-top: 18px;
		display: inline-block;
		font-family: Roboto, -apple-system, Helvetica Neue, Helvetica, Arial, sans-serif;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-smoothing: antialiased;
}
