/* リセットcss */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

/* ここらから通常css */
html {
	font-size: 10px;
	color: #363636;
	scroll-behavior: smooth;
	/* scroll-padding-top: 85px; */
		font-family: "Zen Kaku Gothic New", sans-serif;
		/* font-family: "Zen Old Mincho", serif; */
		/* font-family: "M PLUS Rounded 1c", sans-serif; */
	}

body{
	font-size: 1.5rem;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	/* font-feature-settings:"palt"; */
}

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

a {
	text-decoration: none;
	color: inherit;
}

ul {
	list-style: none;
}

textarea {
	field-sizing: content;
}

/*==================
モジュール
==================*/
.border{
	background: #00B4EB;
	color: #fff;
	font-size: 2rem;
	text-align: center;
}

.btn{
	border: 5px solid #00B4EB;
	color: #00B4EB;
	background: #FFF3E0;
	padding: 15px 48px;
	display: inline-block;
	transition: .3s;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
}
.btn:hover{
	color: #FFF3E0;
	background: #00B4EB;
}

.btn:disabled{
	background: #efefef;
	border: 5px solid #ddd;
	color: #363636;
}

.eng_title{
	font-size: 3rem;
	color: #A6E5F8;
	font-weight: 400;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.split2 {
	display: flex;
	justify-content: space-between;
}

.c-red{
	color: #F55B5B!important;
	font-weight: 700;
}

.round{
	border-radius: 999px;
	background: #00B4EB;
	color: #fff;
	text-align: center;
}

.annotation {
	text-indent: -1em;
	margin-left: 1em;
	font-size: .75em!important;
	font-family: "Zen Kaku Gothic New", sans-serif!important;
}

.annotation::before {
	content: "※";
}

.sp-br{
	display: none;
}

@media screen and (max-width: 768px) {
	.sp-br{
		display: block;
	}
}

/*==================
メインビジュアル
==================*/
.mv {
	position: relative;
}

.mv h1 {
	position: absolute;
	top: 35.6%;
	left: 0;
	transform: translate(0%,-50%);
	font-size: min(4.12vw , 6.4rem);
	font-weight: 400;
	line-height: 1.85;
	color: #fff;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.mv h1 span {
	background: rgba(0, 0, 0, 0.7);
	display: inline-block;
	margin-bottom: 20px;
	/* padding: 0 30px 0 13.8%; */
	padding: 0 35px 0 35px;
}

.mv h1 span:first-child {
	padding: 0 0 0 20px;
}

/* .mv h1 .txt_group {
	display: flex;
}

.mv h1 .txt_group span:first-child {
	padding-right: 0;
} */

/* .mv h1 span:last-child {
	padding-left: 0;
} */

.mv h1 span:last-child {
	/* margin-bottom: 0; */
}

.mv img {
	width: 100%;
	/* max-height: 805px; */
	min-height: 255px;
	object-fit: cover;
	object-position: 95%;
	aspect-ratio: 1550 / 803;
}

@media screen and (max-width: 768px) {
	.mv h1 {
		font-size: 2.3rem;
		top: 35%;
	}
	.mv h1 span {
		padding: 0 10px 0 10px;
		margin-bottom: 5px;
	}
	.mv h1 span:first-child {
		padding: 0 5px 0 5px;
	}
}

/*==================
リード文
==================*/
.lead{
	text-align: center;
	color: #00B4EB;
	font-size: min(2.8vw , 3rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	line-height: 2;
	padding: 80px 15px 90px;
}

.lead h2 {
	font-weight: 500;
	font-size: min(6.5vw , 5rem);
	margin : 0 auto 25px;
}

.lead ul {
	display: flex;
	flex-direction: column;
}

.lead ul li {
	color: #fff;
	background: #00B4EB;
	display: inline-block;
	padding: 2px 55px;
	margin: 0 auto 35px;
	/* font-size: min(3.8vw , 4rem); */
}

.lead ul li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.lead{
		/* font-size: 5.333vw; */
		font-size: 18px;
		padding: 38px 15px 55px;
		line-height: 1.5;
	}
	.lead ul li {
		padding: 5px 15px;
		margin: 0 auto 15px;
		display: block;
		width: 100%;
	}
}

/*==================
説明
==================*/
.explanation {
	position: relative;
	background: url(../img/bg.jpg) no-repeat center center;
	background-size: cover;
	padding: 175px 15px 85px;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.explanation h2 {
	/* font-family: "M PLUS Rounded 1c", sans-serif; */
	color: #00B4EB;
	text-align: center;
	font-weight: 700;
	font-size: 6rem;
	margin-bottom: 5px;
	line-height: 1.3;
}

.explanation .pin {
	top: -60px;
	left: 0;
	right: 0;
	position: absolute;
	/* font-family: "M PLUS Rounded 1c", sans-serif; */
	font-size: 2rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
}

.explanation .pin::before {
	content: "";
	background: url(../img/pin.png) no-repeat center center;
	background-size: contain;
	width: 130px;
	height: 166px;
	display: block;
	margin: 0 auto;
}

.explanation .wrap {
	background: rgba(255, 255, 255, 0.75);
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 30px 50px;
}

.explanation .wrap p {
	/* text-align: center; */
	line-height: 1.5;
	font-weight: 700;
	/* font-size: 2rem; */
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.explanation .wrap p.border {
	font-family: "M PLUS Rounded 1c", sans-serif;
	margin-bottom: 15px;
	padding: 5px 15px;
}

.explanation .wrap p.annotation {
	margin-bottom: 10px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	/* font-size: 1.5rem; */
	/* text-indent: -1em;
	margin-left: 1em; */
}

.explanation .wrap p.annotation:last-child {
	margin-bottom: 0;
}

.explanation .wrap p.annotation::before {
	/* content: "※"; */
}

/* .explanation .wrap p:last-child {
	margin-top: 20px;
} */

.explanation .wrap .inner {
	max-width: 724px;
	margin: 23px auto;
	font-size: 2rem;
}

.explanation .wrap .inner ul {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 5rem;
	color: #00B4EB;
	font-weight: 400;
}

.explanation .wrap .inner ul li:first-child {
	display: flex;
	align-items: center;
}

.explanation .wrap .inner ul > ::after {
	content: "｜";
	font-size: 6rem;
}

.explanation .wrap .inner ul :last-child::after {
	content: none;
}

.explanation .wrap .inner ul :last-child {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.explanation .wrap .inner ul li span {
	font-size: 2rem;
}
.explanation .wrap .inner ul li span.number {
	font-size: inherit;
}

.explanation .wrap .btn{
	display: block;
	text-align: center;
	font-size: 2rem;
	width: 100%;
	max-width: 415px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.explanation {
		/* padding: 29.333vw 15px 8vw; */
		padding: 102px 15px 30px;
	}
	.explanation .pin {
		/* top: -9.867vw; */
		top: -37px;
	}
	.explanation .pin::before {
		/* width: 20vw; */
		width: 75px;
		/* height: 25.333vw; */
		height: 95px;
	}
	.explanation .wrap {
		padding: 30px 20px 30px;
	}
	.explanation .wrap .inner {
		margin: 15px auto 10px;
		font-size: 1.7rem;
	}
	.explanation .wrap .inner ul {
	flex-direction: column;
	font-size: 4.1rem;
	}
	.explanation .wrap .inner ul > ::after {
		content: none;
	}
	.explanation .wrap .inner ul li {
		width: 100%;
		text-align: center;
	}
	.explanation .wrap .inner ul li span {
		font-size: 1.6rem;
	}
	.explanation .wrap .inner ul li:first-child {
		border-bottom: 1px solid #00B4EB;
		padding-bottom: 5px;
		justify-content: center;
	}
	.explanation .wrap .btn{
		padding: 15px;
	}
}

/*==================
プラン
==================*/
#plan {
	background: #EDFAFE;
	padding: 80px 23px 100px 15px;
}

#plan .wrap {
	max-width: 1100px;
	margin: 0 auto;
}

#plan .wrap .eng_title {
	font-size: 6rem;
	margin-bottom: 5px;
	font-weight: 700;
}

#plan .shadow {
	background: #FFF;
	box-shadow: 8px 8px 0 #A6E5F8;
	padding: 40px 35px;
	font-size: 2rem;
}

#plan h3 {
	font-size: 3.5rem;
	color: #00B4EB;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	margin-bottom: 30px;
	text-align: center;
	line-height: 1.3;
}

#plan .shadow p {
	line-height: 1.5;
	font-weight: 500;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

#plan .shadow p.border {
	margin-bottom: 15px;
	padding: 5px 15px;
}

#plan .shadow p.annotation {
	margin-top: 20px;
}


#plan .shadow ul.price {
	font-size: min(7.8vw,6rem);
	color: #00B4EB;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	display: table;
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 20px;
}

#plan .shadow ul.price li{
	width: 50%;
	display: table-cell;
	border: 2px solid #A6E5F8;
	text-align: center;
}

#plan .shadow ul.price li:last-child {
	font-size: min(5.8vw,5rem);
}

#plan .shadow ul.price li span {
	font-size: 3rem;
}

#plan .shadow ul.price li:last-child span {
	font-size: min(2.2vw ,2rem);
}

#plan .shadow ul.price li span.number {
	font-size: min(5.8vw,5rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
	margin-left: 5px;
}

#plan .shadow ul.price li:first-child :last-child {
	font-family: "M PLUS Rounded 1c", sans-serif;
}

@media screen and (max-width: 768px) {
	#plan {
		padding: 30px 23px 30px 15px;
	}
	#plan .shadow {
		padding: 20px;
		font-size: 1.7rem;
	}
	#plan h3 {
		margin-bottom: 10px;
	}
	#plan .shadow ul.price{
		display: block;
		font-size: 4.2rem;
	}
	#plan .shadow ul.price li{
		display: block;
		width: 100%;
		border-top: none;
	}
	#plan .shadow ul.price li:first-child {
		border-top: 2px solid #A6E5F8;
	}
	#plan .shadow ul.price li span {
		font-size: 2.2rem;
	}
	#plan .shadow ul.price li:last-child span {
		font-size: 1.6rem;
	}
	#plan .shadow ul.price li:last-child {
		font-size: 3.8rem;
	}
	#plan .shadow ul.price li span.number {
		font-size: inherit;
	}
}


/*==================
申し込みフォーム
==================*/
#contact{
	padding: 90px 15px 80px;
}

#contact .wrap{
	max-width: 1100px;
	margin: 0 auto;
	font-size: 1.5rem;
}

#contact .wrap h2{
	font-size: 3rem;
	color: #00B4EB;
	font-weight: 700;
	margin-bottom: 60px;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.required{
	background: #F55B5B;
	color: #fff;
	font-weight: 500;
	border-radius: 5px;
	padding: 3px 10px;
	margin-left: 10px;
}

.error{
	color: #F55B5B;
	font-weight: 500;
	margin-top: 5px;
}

.form_group{
	margin-bottom: 30px;
}

.form_group p{
	color: #00B4EB;
	font-weight: 400;
}

.form_group.start div {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
}

.form_group.start div > div {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
.form_group.start input{
	display: inline-block;
	max-width: 200px;
	margin-right: 5px;
}

.form_group.period select{
	display: inline-block;
	/* max-width: 200px; */
}

.form_group.period .select_box{
	width: 100%;
	max-width: 200px;
	/* margin: 30px auto 0; */
	position: relative;
	display: inline-block;
}

.select_box::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 8px 0 8px;
	border-color: #9A9A9A transparent transparent transparent;
	position: absolute;
	top: 60%;
	right: 10px;
	transform: translateY(-50%);
	pointer-events: none;
}

.form_group span{
		margin-right: 15px;
		vertical-align: bottom;
}

.form-control {
	display: block;
	width: 100%;
	padding: .75rem;
	/* line-height: 1.5; */
	background-color: #fff;
	/* background-clip: padding-box; */
	border: 1px solid #A6E5F8;
	/* transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; */
	margin-top: 8px;
	border-radius: 0;
}

.form-control:has(+ .error),
.form_group div:has(+ .error) > input,
.form_group div:has(+ .error) > div select{
	border-color: #F55B5B;
}

#contact .wrap .btn{
	display: block;
	text-align: center;
	font-size: 2rem;
	margin: 0 auto;
}

.g-recaptcha {
	max-width: 304px;
	margin: 20px auto 30px;
}

@media screen and (max-width: 768px) {
	#contact{
		padding: 30px 15px;
	}

	#contact .wrap h2{
		margin-bottom: 30px;
	}

	.form_group {
		margin-bottom: 20px;
	}

	.form_group.start > div {
		display: flex;
		margin-bottom: 10px;
	}
}

/*==================
フッター
==================*/
footer {
	display: flex;
	justify-content: space-between;
	background: #EDFAFE;
	padding: 50px 55px;
	color: #00B4EB;
}

footer ul {
	display: flex;
}

footer ul li {
	transition: .3s;
}

footer ul li::before {
	content: "|";
}

footer ul li :hover {
	opacity: 0.8;
}

footer ul li:first-child::before {
	content: none;
}

footer ul li a {
	padding: 0 5px;
}

@media screen and (max-width: 768px) {
	footer {
		flex-direction: column-reverse;
		align-items: center;
		padding: 30px 15px;
	}
	footer p {
		margin-top: 10px;
	}
}

/*==================
確認完了画面
==================*/
.conf.wrap,
.comp .wrap {
	max-width: 1100px;
	margin: 0 auto;
	font-size: 1.5rem;
}

.conf h2,
.comp h2 {
	font-size: 3rem;
	color: #00B4EB;
	font-weight: 700;
	margin-bottom: 60px;
	text-align: center;
	font-family: "M PLUS Rounded 1c", sans-serif;
}

.conf .form_group p:last-child {
	margin-top: 5px;
	color: #363636;
}

.conf .btn.back {
	background: #efefef;
	border: 5px solid #ddd;
	color: #363636;
}
.conf .btn.back:hover {
	background: #ddd;
	border: 5px solid #ddd;
}
.conf .group-btn {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.comp .contents{
	text-align: center;
}

.comp .contents p{
	margin-bottom: 20px;
}


/* 241125 */
#contact .wrap h2 + .attention {
	margin-bottom: 70px;
	margin-top: -50px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#contact .wrap h2 + .attention {
margin-bottom: 30px;
	margin-top: -20px;
	}
}


label.form_payment{
	display: block;
	margin-top: 5px;
	cursor: pointer;
}
label.form_payment input[type="radio"] {
	-webkit-appearance: none;
			-moz-appearance: none;
					appearance: none;

	position: relative;
	width: 16px;
	height: 16px;
	border: 1px solid #A6E5F8;
	border-radius: 50%;
	vertical-align: -2px;
}
label.form_payment input[type="radio"]:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #A6E5F8;
	content: '';
}
