@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

.txtEx {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
}
.PC {display: inherit;}
.SP {display: none;}

:root {
	--font-default: 'Noto Sans JP', sans-serif;
	--font-Mincho:  "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

}

:where(html) {
	scroll-behavior: smooth; /*スムーススクロール*/
	scroll-padding-top: 0rem; /*スクロール位置の調整*/
	/*overflow: overlay;*/
	font-size: 62.5%; /*1rem = 10px*/
	font-size: 1.33vw; /*defaultFontsize / maxWidth * 100*/
	/*max-width: 750px;*/ /*maxWidth*/
	margin: 0 auto;
}
  /*deviceWidth 750px 以上の時 全体のフォントサイズ 10px に固定*/
  @media screen and (min-width: 750px) {
    :where(html) {
      font-size: 10px; /*defaultFontsize*/
    }
  }
:where(body) {
	font-family: var(--font-default);
	width: 100%;
	margin: 0 auto;
}
:where(img) {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
:where(picture) {
	display: inline-block;
	vertical-align: bottom;
}

a:where([class]) {
	display: inline-block;
	transition: opacity 0.12s;
}
	a:where([class]):hover {
		opacity: 0.8;
	}

*[class] > mark {
	color: inherit;
	background: none;
}

/*--------------------
No1*/

/*--No2*/

/*No3*/

.lparea {
	background: #ccc;
}
	.lparea .lpimg {
		position: relative;
			z-index: 100;
		max-width: 750px;
		margin: 0 auto;
	}
		.lparea .lpimg img {}
	.lparea .header {
		max-width: none;
		background: #fff;
	}

.header {}
	.header img {
		max-width: 750px;
		width: 100%;
		margin: 0 auto;
	}

.fv {
	position: absolute;
		z-index: 100;
	width: 100%;
}
	.fv .fv__img {
		display: flex;
			justify-content: center;
		overflow: hidden;
	}
		.fv .fv__img img {
			width: 200rem;
			max-width: none;
		}
	.fv .fv__txt {
		position: absolute;
			top: 74.5rem;
			left: 50%;
			translate: -50%;
		margin-left: -23.4rem;
		color: #d41e21;
		font-size: 4.8rem;
		font-weight: 700;
	}
		.fv .fv__txt span {
			font-size: 68%;
		}

.bgwrap {}
			.bgwrap:before {
				content: "";
				position: sticky;
					z-index: 10;
					top: 0;
					right: 0;
					left: 0;
					float: left;
				display: block;
				width: 100%;
				height: 108rem;
				background: url("../images/bg_img.png") no-repeat center top;
				background-size: 200rem 100%;
			}

					@media screen and (max-width: 750px) {
						.fv {
							position: relative;
						}
						.bgwrap:before {
							position: absolute;
								top: 9.2rem;
						}
					}

.cv {
	position: relative;
}
	.cv .cv__wrap {
		position: absolute;
			z-index: 100;
			bottom: 5.8em;
			left: 50%;
			translate: -50% 0;
		display: flex;
			flex-direction: column;
			gap: 2.2rem 0;
		width: 65em;
	}

.youtube {}
	.youtube .youtube__video {
		position: absolute;
			z-index: 100;
			top: -1px;
			bottom: -1px;
			left: 50%;
			translate: -50% 0;
		width: 66em;
	}
		.youtube .youtube__video iframe {
			width: 100%;
			height: 100%;
		}

.linecv {
	position: relative;
}
	.linecv .linecv__wrap {
		position: absolute;
			z-index: 100;
			bottom: 3.4em;
			left: 50%;
			translate: -50%;
		width: 62em;
	}
		.linecv .linecv__wrap .btn_a {}

.hikaku {
	position: relative;
}
	.hikaku .hikaku__txt {
		position: absolute;
			z-index: 100;
			top: 11.8rem;
			left: 50%;
			translate: -50% 0;
		margin-left: -9.7rem;
		color: #0062a3;
		font-weight: 500;
		font-size: 4.8em;
	}
		.hikaku .hikaku__txt span {
			font-size: 68%;
		}



.form {
	position: relative;
		z-index: 100;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	padding: 0 0 29rem 0;
	background: #0062a3;
}
	.form .form__wrap {
		position: relative;
		width: 69rem;
		margin: 0 auto;
		margin-bottom: 18.7rem;
		padding: 5rem 0 8rem 0;
		border-radius: 2rem;
		background: #fff;
	}
	.form .lists {
		display: flex;
			flex-direction: column;
			gap: 2.4rem 0;
	}
		.form .lists .area_item {
			display: block;
			width: 61.6rem;
			margin: 0 auto;
			margin-bottom: 1.4rem;
			color: #1a1a1a;
			font-size: 3rem;
			font-weight: 500;
			letter-spacing: 0.1em;
		}
		.form .lists .area_input {
			display: block;
			width: 61.6rem;
			margin: 0 auto;
			padding: 1rem;
			color: #1a1a1a;
			font-size: 3rem;
			font-weight: 400;
			border: 1px solid #24417a;
			border-radius: 0.4rem;
			background: #f2f2f2;
		}
			.form .lists .area_input input {
				padding: 0.6em 3.8rem;
				width: 100%;
			}
		.form .lists .area_select {
			position: relative;
			display: block;
			width: 61.6rem;
			margin: 0 auto;
			padding: 1rem;
			font-size: 3rem;
			font-weight: 500;
			border: 1px solid #24417a;
			border-radius: 0.4rem;
			background: #fff;
		}
					.form .lists .area_select:before {
						content: "";
						pointer-events: none;
						position: absolute;
							z-index: 100;
							top: 50%;
							right: 6rem;
							translate: 0 -50%;
						width: 2.5rem;
						height: 2.5rem;
						background: url("../images/form_arr.png") no-repeat center center;
						background-size: 100%;
					}
			.form .lists .area_select select {
				padding: 0.6em 3.8rem;
				width: 100%;
			}
			.form .lists .area_item.required {}
				.form .lists .area_item.required:after {
					content: "必須";
					margin-left: 1.5rem;
					padding: 0 0.37em 0 0.4em;
					color: #fff;
					font-size: 2.4rem;
					letter-spacing: 0.06em;
					background: #cb2420;
				}

	.form .area_submit {
		position: absolute;
			top: 100%;
			left: 50%;
			translate: -50% 6.7rem;
		display: flex;
			flex-direction: column;
			gap: 3rem 0;
		width: 65rem;
	}
		.form .area_submit button,
		.form .area_submit a {
			cursor: pointer;
		}
					.form .area_submit button:hover,
					.form .area_submit a:hover {
						opacity: 0.8;
					}

	.form .form_privacy {
		position: absolute;
			top: 117%;
			left: 50%;
			translate: -50% 6.7rem;
		width: 64rem;
    font-size: 2.8rem;
    line-height: 1.7;
    color: #fff;
	}
    .form .form_privacy a{
      font-size: 2.8rem;
      line-height: 1.7;
      color: #ffe200;
      text-decoration: underline;
    }

/* 確認画面 */
.check {}
	.check .t01 {
		margin-bottom: 1em;
		font-size: 3rem;
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.1em;
	}
	.check .error_messe {
		padding: 0 1em;
		margin-bottom: 0.5em;
		color: red;
		font-size: 3rem;
	}
	.check .form .lists {}
		.check .form .lists > .list {}
					.check .form .lists > .list .area_item:after {
						content: "必須";
						margin-left: 1em;
						padding: 0 0.37em 0 0.4em;
						color: #fff;
						font-size: 80%;
						background: #d41e21;
					}
					.check .form .lists > .list:last-of-type .area_item:after {
						display: none;
					}
		.check .form .lists .area_input {
			padding: 1em;
			border: 0;
			background: none;
		}
	.check .form .form__wrap {
		margin-bottom: 34rem;
	}
/* 完了画面 */
.thanks {}
	.thanks .form .lists {}
		.thanks .form .lists p {
			width: 59.3rem;
			margin: 0 auto;
			font-size: 3rem;
			line-height: 1.4;
			letter-spacing: 0.04em;
		}



.fixbtn {
	position: fixed;
		z-index: 1000;
		bottom: 0;
		left: 50%;
		translate: -50% 0;
	width: 75rem;
}
	.fixbtn .fixbtn__wrap {
		width: 200rem;
		margin: 0 auto;
	}
		.fixbtn .fixbtn__wrap .left {
			position: absolute;
				right: calc(100% + 3.2rem);
				bottom: calc(100% + 6rem);
			display: inline-flex;
				flex-direction: column;
				align-items: start;
				gap: 2.3rem 0;
		}
					@media screen and (max-width: 1590px) {
						.fixbtn .fixbtn__wrap .left {
							display: none;
						}
					}
			.fixbtn .fixbtn__wrap .left a {
				width: 36.9rem;
			}
		.fixbtn .fixbtn__wrap .right {
			position: absolute;
				left: calc(100% + 4.1rem);
				bottom: calc(100% + 5.4rem);
			display: inline-flex;
				flex-direction: column;
				align-items: start;
				gap: 2.7rem 0;
			filter: drop-shadow(0.2rem 0.2rem 0.3rem rgba(0 0 0 / 0.4));
		}
					@media screen and (max-width: 1100px) {
						.fixbtn .fixbtn__wrap .right {
							display: none;
						}
					}
			.fixbtn .fixbtn__wrap .right a {
				width: 9.8rem;
			}



.fixbnr {
	display: none;
	height: 14.8rem;
	padding-top: 5rem;
	background: #fff;
}
	.fixbnr .fixbnr__wrap {
		position: fixed;
			z-index: 10000;
			right: 0;
			bottom: 0;
			left: 0;
		display: flex;
			justify-content: center;
			gap: 0 2em;
		padding: 0.8em 0;
/*		background: linear-gradient(0deg, rgb(0 113 188 / 0.5) 0%, rgb(0 113 188 / 0) 100%); ;*/
		background: #fff;
	}
		.fixbnr .fixbnr__wrap a {
			/*position: absolute;
				z-index: 10;
				left: 50%;
				bottom: 3rem;
				translate: -50% 0;*/
			display: block;
			width: auto;
			height: 15em;
/*			filter: drop-shadow(0.5rem 0.4rem 0.4rem rgba(0 0 0 / 0.15));*/
		}
			.fixbnr .fixbnr__wrap a img {
				width: auto;
				height: 100%;
			}
					@media screen and (max-width: 750px) {
						.fixbnr {
							display: block;
						}
					}