@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

@keyframes slowVerticalBounce01 {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-4px);
	}
}

@keyframes slowVerticalBounce02 {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-4px);
	}
}

@keyframes slowBounce01 {

	0%,
	100% {
		transform: scale(1);
	}

	40% {
		transform: scale(0.95);
	}

	60% {
		transform: scale(0.97);
	}
}

@keyframes slowBounce02 {

	0%,
	100% {
		transform: scale(1.025);
	}

	40% {
		transform: scale(1);
	}

	60% {
		transform: scale(0.97);
	}
}

:root {
	--scale: 1;
}

@media screen and (min-width: 700px) {
	:root {
		--scale: 1;
	}
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: calc(12px * var(--scale));
	line-height: 1.5;
	color: #2F2F2F;
	background: #fff;
	letter-spacing: 0;
}

img {
	width: 100%;
	display: block;
}

h2,
h3 {
	line-height: 1.2;
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flex.reverse {
	flex-direction: row-reverse;
}

a {
	transition: all .6s;
}

a:hover {
	opacity: .8;
}

.fade-up {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-up.show {
	opacity: 1;
	transform: translateY(0);
}

.roboto {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.inner {
	max-width: 100%;
	width: calc(100% - calc(40px * var(--scale)));
	margin: 0 auto;
}

.fixed-cont {
	height: 100vh;
	position: relative;
	overflow-y: scroll;
}

.lp-cont {
	background: #fff;
	max-width: 390px;
	margin: 0 auto;
	overflow: hidden;
	padding-top: 60px;
	position: relative;
	z-index: 1;
}

.fixed-abs {
	position: absolute;
	top: 53%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: calc(100% - 20px);
}

.fixed-left .fixed-abs {
	max-width: 370px;
}

.fixed-right .fixed-abs {
	width: calc(100% - 50px);
}

.fixed-right-cont {
	background: #fff;
	border-radius: 15px;
	padding-block: 5px 0;
	max-width: 350px;
	margin: 0 auto;
	border: 3px solid #F1F1F1;
	overflow-y: scroll;
	overflow-x: hidden;
}

.fixed-right-cont-inner {
	height: 100%;
}

.fixed-right-cont-title img {
	width: calc(100% - 20px);
	position: relative;
	right: -20px;
	max-width: 100%;
}

.fixed-right-cont-tel {
	margin: 0 auto 5px;
	width: calc(100% - 20px);
}

.fixed-right-cont-tel a {
	animation: slowBounce01 1.5s ease-in-out infinite;
	display: block;
	position: relative;
}

.fixed-right-cont-tel a span {
	position: absolute;
	top: 52.5%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 31px;
	font-weight: 900;
	white-space: nowrap;
	color: #FF5522;
	text-shadow:
		3px 3px 3px #ffffff, -3px -3px 3px #ffffff,
		-3px 3px 3px #ffffff, 3px -3px 3px #ffffff,
		3px 0 3px #ffffff, -3px 0 3px #ffffff,
		0 3px 3px #ffffff, 0 -3px 3px #ffffff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fv-btns {
	margin: -40px auto 20px;
	width: calc(100% - 40px);
}

.fv-btns .cta-btn {
	margin-bottom: 15px;
}

.tel-cont {
	position: relative;
}

.tel-cont .cta-btn {
	width: calc(100% - 40px);
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	position: absolute;
}

header {
	position: fixed;
	max-width: 100%;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	top: 0;
	background: #fff;
	z-index: 2;
}

.header-inner {
	width: calc(100% - 60px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
}

.header-logo {
	max-width: 295px;
	width: 100%;
	margin-right: 20px;
}

.header-btns {
	max-width: 450px;
	width: 100%;
	display: flex;
	padding-bottom: 5px;
	justify-content: space-between;
}

.header-btns a {
	width: 49%;
}

.fixed-menu {
	position: fixed;
	width: 100%;
	z-index: 1;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	height: 100%;
	background-image: url(../img/fixed_bg.webp);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.fixed-left {
	width: calc((100% - 390px) / 2);
}

.fixed-right {
	width: calc((100% - 390px) / 2);
}

.tel-cont {
	margin-top: -1px;
}

.cta-btn a {
	animation: slowBounce01 1.5s ease-in-out infinite;
	display: block;
}

.cta-btn.contact {
	animation: slowBounce02 1.5s ease-in-out infinite;
}

.form {
	background: #FF7E15;
	padding-bottom: 30px;
}

form {
	padding-inline: 10px;
}

form .form-group {
	margin-bottom: 5px;
}

form .form-group:nth-child(3) {
	margin-bottom: 5px;
}

form .form-group label {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

form .form-group label p {
	font-size: 16px;
	padding-right: 7.5px;
	font-weight: 700;
	line-height: 1;
}

form .form-group label span.required {
	padding: 5.5px 10px;
	border-radius: 2px;
	text-align: center;
	background: #FB1C1C;
	border: 1px solid #FB1C1C;
	font-size: 14px;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}

form .form-group label span.nini {
	padding: 5.5px 10px;
	border-radius: 2px;
	text-align: center;
	border: 1px solid #2F2F2F;
	font-size: 14px;
	color: #2F2F2F;
	font-weight: 700;
	line-height: 1;
}

.error {
	font-size: 14px;
	color: #FB1C1C;
	font-weight: 700;
	line-height: 1;
}

.form-txt {
	text-align: center;
	font-size: 12px;
}

.error {
	font-weight: 500;
	padding-top: 5px;
}

form .form-group input {
	width: 100%;
	border: 1px solid #afafaf;
	font-size: 16px;
	border-radius: 5px;
	padding: 10px;
	outline: none;
	background: #F6F7F8;
}

.fixed-right-cont form .form-group input {
	padding: 5px 10px;
}

form button {
	background: initial;
	border: none;
	outline: none;
	width: calc(100% + 30px);
	margin: 0 auto;
	left: -15px;
	position: relative;
	cursor: pointer;
	transition: all .5s;
}

form button:hover {
	opacity: .8;
}

.menu {
	background: #F9F3C2;
	padding-block: 30px;
}

.menu-btns {
	margin: 0 auto 40px;
	display: flex;
	justify-content: space-between;
	width: calc(100% - 30px);
}

.menu-btns a {
	width: 47.5%;
}

.menu-cont-title {
	margin: 0 auto 30px;
	width: calc(100% - 35px);
}

#menu01 {
	margin-bottom: 60px;
}

.swipe-txt {
	width: calc(100% - 40px);
	margin: 25px auto 0;
}

.swiper-pagination {
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 15px;
}

.swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #D9D9D9;
	opacity: 1;
	transition: all .5s;
}

.swiper-pagination-bullet-active {
	width: 15px;
	height: 15px;
	background: #F08700;
}

#menu02 .swiper-pagination-bullet-active {
	background: #0080F0;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 5px;
}

.company {
	position: relative;
}

.cost {
	margin-top: -32px;
}

.reason {
	margin-top: -2px;
}

.faq {
	background: #FEFFCC;
	padding-block: 30px;
}

.faq h2 {
	text-align: center;
	margin-bottom: 40px;
	font-size: 32px;
	font-weight: 700;
	color: #3D2808;
}

.faq-item {
	margin-bottom: 10px;
	background: #fff;
	border-radius: 10px;
}

.faq-question {
	width: 100%;
	cursor: pointer;
	position: relative;
	padding: 15px 10px;
	background: #F08700;
	border-radius: 10px;
	border: none;
	outline: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: all .5s;
}

.faq-question img {
	width: 17.5px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transition: all .5s;
}

.faq-item.active .faq-question {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.faq-item.active .faq-question img {
	transform: translateY(-50%)rotate(180deg);
	-webkit-transform: translateY(-50%)rotate(180deg);
	-ms-transform: translateY(-50%)rotate(180deg);
}

.faq-question span {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #fff;
	font-size: 22px;
	font-weight: 700;
	color: #F08700;
	line-height: 35px;
}

.faq-question h3 {
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	padding-right: 30px;
	text-align: left;
	width: calc(100% - 45px);
	line-height: 1.4;
}

.faq-answer {
	display: none;
	padding: 10px;
	align-items: center;
	justify-content: space-between;
	transition: all .5s;
}

.faq-answer span {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: #F08700;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	line-height: 35px;
	text-align: center;
}

.faq-answer p {
	font-weight: 700;
	font-size: 16px;
	padding-right: 30px;
	text-align: left;
	width: calc(100% - 45px);
	line-height: 1.4;
}

.faq-item.active .faq-answer {
	display: flex;
}

footer {
	padding-block: 25px;
}

.footer-logo {
	width: 220px;
	margin: 0 auto 15px;
}

.footer-list ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-list ul li a {
	font-size: 12px;
	display: block;
	margin-inline: 5px;
	color: #2F2F2F;
}

.thanks {
	position: relative;
}

.thanks a {
	width: calc(100% - 40px);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	bottom: 30px;
}

.thanks a img {
	animation: slowBounce01 1.5s ease-in-out infinite;
	display: block;
}

.sp {
	display: none;
}

@media screen and (max-width: 1000px) {
	.fixed-right {
		width: calc(100% - 390px);
	}

	.fixed-left {
		display: none;
	}

	.fixed-left .fixed-abs {
		max-width: 500px;
	}

	.fixed-right-cont {
		max-width: 300px;
		margin: 0 auto;
	}

	.lp-cont {
		margin-right: 0;
	}

	.header-logo {
		max-width: 245px;
	}

	.header-btns {
		max-width: 350px;
	}

	.header-inner {
		width: calc(100% - 30px);
	}

	/* .fixed-right .fixed-abs {
		bottom: -11vw;
	} */
}

@media screen and (max-width: 700px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.lp-cont {
		margin-right: auto;
		padding-top: 67.5px;
	}

	.lp-cont,
	.fixed-cont {
		max-width: 100%;
	}

	.header-logo {
		max-width: 220px;
	}

	.header-inner {
		padding-block: 7.5px;
	}

	.header-btns {
		max-width: 115px;
		display: flex !important;
	}

	.header-btns a {
		width: 45%;
	}

	.fv-btns {
		margin: -52.5vw auto 20px;
		width: calc(100% - 40px);
	}

	.fv-btns .cta-btn {
		margin-bottom: 0;
	}

	.form {
		padding-block: 9vw;
		background-image: url(../img/form_bg.webp);
		background-size: 100%;
		background-position: center top;
	}

	.form .cta-btn {
		width: calc(100% - 5vw);
		margin: 0 auto 10vw;
	}

	.form .cta-btn {
		width: calc(100% - 9vw);
		margin: 0px auto 5.5vw;
	}

	.form h2 {
		width: calc(100% - 9vw);
		margin: 0px auto 2.5vw;
	}

	.form-box {
		background: #fff;
		border-radius: 20px;
		padding: 40px 3vw 10px;
		width: calc(100% - 9vw);
		margin: 0px auto;
	}

	form .form-group,
	form .form-group:nth-child(3) {
		margin-bottom: 14.5px;
	}

	form .form-group label {
		margin-bottom: 12.5px;
	}

	form button {
		max-width: 350px;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: block;
		left: initial;
	}

	.inner {
		width: calc(100% - 9vw);
	}

	.menu-btns {
		margin: 0 auto 45px;
		width: calc(100% - 20px);
	}

	.menu {
		padding-block: 9vw;
	}

	.menu-cont-title {
		margin: 0 auto 25px;
		width: calc(100% - 40px);
	}

	.cost {
		margin-top: -8vw;
	}

	.reason {
		margin-top: -1vw;
		position: relative;
	}

	.reason a {
		width: calc(100% - 20vw);
		top: 387.5vw;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		position: absolute;
		z-index: 1;
	}

	.reason a img {
		animation: slowBounce01 1.5s ease-in-out infinite;
		display: block;
	}

	.thanks-header .header-inner {
		padding: 12.5px 0;
	}

	.thanks-cont {
		margin: 57px auto 0;
		padding: 40px 0;
		min-height: auto;
	}

	.thanks-abs01 {
		max-width: 125px;
	}

	.thanks-abs02 {
		top: 2.5%;
		left: -9%;
		max-width: 100px;
	}

	.thanks-title {
		margin-bottom: 30px;
	}

	.thanks-title h1 {
		font-size: 25px;
	}

	.thanks-top-box img {
		width: 60px;
		bottom: 0;
		right: 30px;
	}

	.thanks-top-box p {
		text-align: left;
		font-size: 12px;
	}

	.thanks-top-box {
		margin: 0 auto 25px;
		border-radius: 10px;
		padding: 12.5px 40px;
		max-width: 500px;
	}

	.thanks-bottom-box {
		margin: 0 auto;
		border-radius: 10px;
		padding: 15px 15px 20px;
		max-width: 500px;
	}

	.thanks-bottom-box-title {
		padding-bottom: 7.5px;
		margin-bottom: 0;
	}

	.thanks-bottom-box-title h2 {
		font-size: 16px;
		line-height: 1.6;
	}

	.thanks-bottom-box-num a {
		font-size: 46px;
	}

	.thanks-bottom-box-num span {
		width: 200px;
		padding: 2.5px 0;
		font-size: 12px;
	}
}

@media screen and (max-width: 499px) {
	.form {
		padding-block: 10vw;
	}

	form button {
		width: calc(100% + 35px);
		left: -17.5px;
	}

	.form h2 {
		margin: 0px auto 5vw;
	}
}
