@charset "utf-8";
/* CSS Document */

/* 全体 */
html {
	font-size: 6.25vw;
}

body {
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', meiryo, sans-serif, -apple-system, BlinkMacSystemFont, 'Helvetica Neue';
	font-size: 0.16rem;
	color: #333;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

a {
	text-decoration: none;
	display: block;
	transition: 0.3s;
}

a:hover {
	opacity: 0.7;
	transition: 0.3s;
}

.float-l {
	float: left
}

.float-r {
	float: right;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.flexbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.sp {
	display: none;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

.inner {
	max-width: 110rem;
	margin: 0 auto;
}

:root {
	--green: #3BB882;
}

.green {
	color: var(--green);
	font-weight: bold;
}

.fadein {
	opacity: 0;
	visibility: hidden;
	transform: translateY(50px);
	transition: opacity 1.2s, visibility 1.2s, transform 1.2s;
}

.is-fadein {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}


/* ヘッダー */
header {
	height: 1.2rem;
	padding: 0 0.5rem;
	position: fixed;
	top: 0;
	z-index: 10;
	background-color: #fff;
	width: 94%;
	width: calc(100% - 1rem);
}

.header-info {
	width: 4.8rem;
}

.header-logo {
	padding-top: 0.35rem;
}

.header-logo img {
	width: 4.78rem;
}

.header-menu {
	width: 9.8rem;
}

.header-contact {
	padding-top: 0.25rem;
	margin: 0 0 0.15rem auto;
	align-items: center;
	justify-content: flex-end;
}

.header-text1 {
	font-size: 0.13rem;
	margin-right: 0.1rem;
}

.header-tel {
	font-size: 0.28rem;
	font-family: 'Poppins', sans-serif;
	margin-right: 0.1rem;
	letter-spacing: -0.03em;
}

.header-tel img {
	width: 0.3rem;
	position: relative;
	top: -0.10rem;
	margin-right: 0.05rem;
}

li.header-btn1 {
	margin-right:0.25rem;
}

.header-btn1 a {
	font-size: 0.13rem;
	color: var(--green);
	border: solid 1px var(--green);
	display: block;
	padding: 0.06rem 0.2rem 0.07rem;
	border-radius: 0.35rem;
}

.header-btn1 img {
	width: 0.12rem;
	position: relative;
	top: -0.05rem;
	margin-right: 0.05rem;
}

.nav.flexbox {
	justify-content: flex-end;
	align-items: center;
}

.nav li {
	margin-left: 0.3rem;
}

.nav li a {
	color: #333;
	font-weight: 0.15rem;
	font-weight: bold;
}

.nav-btn1 a {
	font-weight: bold;
	font-size: 0.15rem;
	color: #333;
}

.nav li.nav-btn2 a {
	font-size: 0.15rem;
	background-color: var(--green);
	color: #fff;
	border-radius: 0.8rem;
	padding: 0.13rem 0 0.14rem;
	width: 2.2rem;
	text-align: center;
	font-weight: 500;
}

.nav li.nav-btn3 {
	margin-left: .1rem;
}

.nav li.nav-btn3 a {
	font-size: 0.15rem;
	background-color: #EFAC25;
	color: #fff;
	border-radius: 0.8rem;
	padding: 0.13rem 0 0.14rem;
	width: 2.2rem;
	text-align: center;
	font-weight: 500;
}

.hamburger {
	display: none;
}

@keyframes shiny {
	0% {
		transform: scale(0) rotate(25deg);
		opacity: 0;
	}

	50% {
		transform: scale(1) rotate(25deg);
		opacity: 1;
	}

	100% {
		transform: scale(50) rotate(25deg);
		opacity: 0;
	}
}

.shiny {
	position: relative;
	display: block;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	background-color: #EFAC25;
	overflow: hidden;
	isolation: isolate;
}

.shiny::after {
	content: '';
	position: absolute;
	top: -100px;
	left: -100px;
	width: 50px;
	height: 50px;
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
	animation-name: shiny;
	animation-duration: 5s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

/* メインビジュアル */
section {
	padding: 1.2rem 0;
}

.mainvisual {
	/* background-image: url("../images/main-bg.png");
	background-repeat: no-repeat;
	background-position: 0.5rem 0;
	-webkit-background-size: 100% auto;
	background-size: 96.9% auto; */
	height: 7.5rem;
	position: relative;
	padding: 0;
	margin-top: 1.2rem;
}

.mainvisual .inner {
	padding: 1.3rem 0 0 1.3rem;
}

.mainvisual .main-img-container {
	height: 7.5rem;
	width: 100%;
	padding: 0;
	background-color: #F2FAF6;
	position: absolute;
	z-index: -1;
	margin-left: 0.5rem;
	border-radius: 20px 0 0 20px;
}

.mainvisual .main-img-container>#img1 {
	position: absolute;
	width: 2rem;
	top: 3.5rem;
	left: 6rem;
	z-index: 2;
}

.mainvisual .main-img-container>#img2 {
	position: absolute;
	width: 7.5rem;
	top: 1rem;
	left: 7rem;
}

.mainvisual .main-img-container>#img3 {
	position: absolute;
	width: 3rem;
	top: 4.15rem;
	left: 12rem;
	z-index: 2;
}

.mainvisual .main-img-container video {
	position: absolute;
	height: 4.25rem;
	width: 7.47rem;
	top: 1.8rem;
	left: 7rem;
	z-index: 1;
	object-fit: fill;
	border-radius: 0 0 5px 5px;
}

.main-list1 {
	justify-content: flex-start;
	margin-bottom: 0.2rem;
}

.main-list1 li {
	color: var(--green);
	border: solid 1px var(--green);
	border-radius: 0.8rem;
	line-height: 1;
	padding: 0.06rem 0.15rem;
	background-color: #fff;
	margin-right: 0.05rem;
}

h1 {
	font-size: 0.5rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 0.2rem;
	letter-spacing: 0.02em;
}

.h1-text1 {
	font-size: 0.4rem;
	font-weight: bold;
}

.h1-text2 {
	font-weight: bold;
	color: var(--green);
}

.subtitle {
	font-size: .26rem;
	font-weight: bold;
	margin-bottom: 0.5rem;
}

.main-list2 {
	justify-content: flex-start;
}

.main-list2 li {
	background-color: var(--green);
	width: 1.5rem;
	height: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	margin-right: 0.1rem;
	border-radius: 50%;
	font-size: 0.18rem;
	font-weight: bold;
	background-image: url("../images/main-icon1.svg");
	background-repeat: no-repeat;
	background-position: 50% 15%;
	padding-top: 0.1rem;
}

.main-list2 li span {
	font-weight: bold;
}

.main-list2 li span.main-list2_text1 {
	font-size: 0.26rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	line-height: 1;
}

.scroll {
	position: absolute;
	bottom: 0.2rem;
	left: 0.17rem;
}

.scroll img {
	width: 0.17rem;
}

.scroll-down {
	position: absolute;
	bottom: 0;
	left: 0.08rem;
	width: 1px;
	height: 1rem;
	background: var(--green);
	animation: scrollDown 2s ease infinite;
}

@keyframes scrollDown {
	0% {
		transform-origin: top;
		transform: scaleY(0);
	}

	45% {
		transform-origin: top;
		transform: scaleY(1);
	}

	55% {
		transform-origin: bottom;
		transform: scaleY(1);
	}

	100% {
		transform-origin: bottom;
		transform: scaleY(0);
	}
}

/* 導入実績 */
section#result {
	padding: 0.85rem 0 0;
}

.result-text1 {
	text-align: center;
	margin-bottom: 0.1rem;
}

.result-text1 span {
	font-size: 0.26rem;
	font-weight: bold;
	background: url("../images/icon-point1.png"), url("../images/icon-point2.png");
	background-repeat: no-repeat;
	background-position: bottom left, bottom right;
	-webkit-background-size: 0.37rem auto;
	background-size: ;
	padding: 0 0.5rem;
}

.slick-slide img {
	margin: 0 auto;
	padding-top: 10px;
}

/* About */
h2 {
	text-align: center;
	font-size: 0.32rem;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: 0.2rem;
	letter-spacing: 0.02em;
}

h2 span {
	font-size: 0.26rem;
	color: var(--green);
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
}

#about {
	padding: 0.8rem 0 1.2rem;
}

#about h2 {
	margin-bottom: 0.6rem;
}

.about-box1 {
	position: relative;
	max-width: 11.5rem;
	margin: 0 auto 0.2rem;
}

.about-box1 div {
	background-size: 100% 100%;
	font-size: 0.18rem;
	line-height: 1.6;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	position: absolute;
}

.about-box1 p {
	margin-top: -0.2rem;
	font-weight: bold;
}

.about-box1 p span {
	font-size: 0.15rem;
}

.about-problem1 {
	background-image: url("../images/about-bg1.svg");
	width: 3.8rem;
	height: 1.85rem;
	left: 1.7rem;
}

.about-problem2 {
	background-image: url("../images/about-bg2.svg");
	width: 3.8rem;
	height: 1.85rem;
	right: 1.7rem;
}

.about-problem3 {
	background-image: url("../images/about-bg3.svg");
	width: 3.2rem;
	height: 1.55rem;
	top: 1.7rem;
}

.about-problem4 {
	background-image: url("../images/about-bg4.svg");
	width: 3.2rem;
	height: 1.55rem;
	right: 0;
	top: 1.7rem;
}

.about-img1 {
	text-align: center;
	padding-top: 2.1rem;
}

.about-img1 img {
	width: 2.75rem;
}

.about-box2 {
	background-image: url("../images/about-bg5.png");
	-webkit-background-size: 100% 100%;
	background-size: 100% 100%;
	max-width: 9rem;
	margin: 0 auto;
}

.about-box2 .inner {
	padding: 1.6rem 0 0.4rem 3.45rem;
}

.about-text5 {
	color: #fff;
	font-weight: bold;
	font-size: 0.24rem;
	display: inline-block;
	border-bottom: solid 2px #fff;
	margin-bottom: 0.2rem;
}

.about-text5_span1 {
	font-family: 'Poppins', sans-serif;
	font-size: 0.32rem;
	font-weight: 600;
}

.about-text5_span2 {
	font-size: 0.2rem;
	letter-spacing: -0.05em;
}

.about-text6 {
	color: #fff;
	line-height: 2.19;
}

/* How to Use */
.text1 {
	font-size: 0.18rem;
	text-align: center;
	margin-bottom: 0.35rem;
	line-height: 1.67;
	font-weight: 500;
}

#howto {
	background-color: #F2FAF6;
	border-radius: 1.5rem;
}

.howto-list {
	max-width: 11.2rem;
	margin: 0.65rem auto 0;
}

.howto-list li {
	text-align: center;
	background-color: #EAF2EE;
	border-radius: 0.5rem;
	position: relative;
	padding: 0.85rem 0 0.8rem;
}

.howto-li1 {
	width: 3rem;
}

.howto-list li.howto-li2 {
	width: 3rem;
	padding: 0.7rem 0 0.8rem;
}

.howto-case {
	color: #fff;
	width: 0.8rem;
	height: 0.63rem;
	background-color: var(--green);
	padding-top: 0.17rem;
	border-radius: 50%;
	font-size: 0.13rem;
	position: absolute;
	left: 1.1rem;
	top: -0.3rem;
	line-height: 1.3;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
}

.howto-case span {
	font-size: 0.2rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
}

.howto-text1 {
	font-weight: 500;
	margin-bottom: 0.2rem;
}

.howto-li2 .howto-text1 {
	margin-bottom: 0.1rem;
}

.howto-text1 span {
	font-weight: bold;
	font-size: 0.18rem;
	color: var(--green);
}

.howto-img1 {
	margin: 0 -0.4rem;
}

.howto-img2 {
	text-align: center;
}

.howto-img2 img {
	width: 1.70rem;
}

.howto-li3 {
	margin-top: 1rem;
	width: 100%;
}

.howto-li3 .howto-case {
	background-color: #EFAC25;
	padding: 0;
	height: 0.8rem;
	line-height: 0.8rem;
	font-size: 0.2rem;
	left: 5.25rem;
}

.howto-li3 .howto-text1 {
	font-size: 0.2rem;
	font-weight: bold;
	line-height: 1.8;
}

.howto-img3 {
	position: absolute;
	top: -0.05rem;
	right: 0.4rem;
	width: 1.58rem;
}

/* Function */
#function .inner {
	max-width: 14rem;
}

#function h2 {
	margin-bottom: 0.5rem;
}

.tab_box1 .btn_area,
.tab_box2 .btn_area {
	margin: 0 auto 0.8rem;
	display: -webkit-box;
	display: flex;
	justify-content: center;
	border-bottom: solid 2px #4D4D4D;
}

.tab_box1 .tab_btn,
.tab_box2 .tab_btn {
	width: 2.6rem;
	padding: 0.17rem 0;
	color: #333;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease 0s;
	border-top: solid 2px #4D4D4D;
	border-right: solid 2px #4D4D4D;
	border-left: solid 2px #4D4D4D;
	border-radius: 0.1rem 0.1rem 0 0;
	font-weight: bold;
	font-size: 0.2rem;
	position: relative;
	bottom: -2px;
}

.tab_box2 .tab_btn {
	bottom: -2.1px;
}

.tab_box1 .tab_btn+.tab_btn,
.tab_box2 .tab_btn+.tab_btn {
	margin-left: 0.15rem;
}

.tab_box1 .tab_btn.active,
.tab_box2 .tab_btn.active {
	background: var(--green);
	color: #fff;
}

.tab_box1 .tab_panel.active,
.tab_box2 .tab_panel.active {
	display: block;
}

.tab_box1 .tab_panel,
.tab_box2 .tab_panel {
	display: none;
}

.function-list1 {
	max-width: 12rem;
	margin: 0 auto;
	justify-content: center;
}

.function-list1 li {
	width: 2.75rem;
	background-color: #F2FAF6;
	border-radius: 0.2rem;
	padding: 0.45rem 0;
	margin: 0 0.3rem 0.3rem 0;
}

.function-list1 li:nth-child(4n),
.function-list1 li:last-child {
	margin: 0 0 0.3rem;
}

.function-img1 {
	text-align: center;
	height: 1.13rem;
}

.function-img1 img {
	max-height: 0.84rem;
}

.ml40 img {
	margin-left: 0.4rem;
}

.function-text1 {
	text-align: center;
	font-weight: bold;
	font-size: 0.2rem;
	margin-bottom: 0.1rem;
}

.function-text2 {
	text-align: justify;
	font-size: 0.15rem;
	padding: 0 0.3rem;
	line-height: 1.7;
}

.cv-btn {
	justify-content: center;
	margin-top: 1rem;
}

.cv-btn a {
	font-size: 0.22rem;
	background-color: var(--green);
	color: #fff;
	border-radius: 0.8rem;
	padding: 0.27rem 0 0.3rem;
	width: 3.7rem;
	text-align: center;
	font-weight: bold;
	margin-right: 0.2rem;
}

.cv-btn2 {
	position: relative;
}

.cv-btn2 a {
	background-color: #EFAC25;
}

.cv-btn2 img {
	position: absolute;
	top: -0.4rem;
	width: 0.73rem;
	z-index: 1;
}

/* Reservation */
#reservation .text1 {
	margin-bottom: 0.5rem;
}

#reservation .tab_box1,
#reservation .tab_box2 {
	max-width: 12rem;
	margin: 0 auto;
}

#reservation .btn_area {
	position: relative;
	margin-bottom: 0;
	border: none;
}

#reservation .illust1 {
	position: absolute;
	bottom: 0;
	right: 1.1rem;
	width: 1.31rem;
}

#reservation .tab_panel {
	background-image: url("../images/reservation-bg.jpg");
	-webkit-background-size: 100% 100%;
	background-size: 100% 100%;
	border: solid 2px #4D4D4D;
	border-radius: 0.2rem;
}

#reservation .panel_inner {
	max-width: 9.5rem;
	margin: 0 auto;
	padding: 1rem 0;
}

.reservation-text1 {
	color: #fff;
	font-weight: bold;
	font-size: 0.24rem;
	margin-bottom: 0.6rem;
	line-height: 1.875;
}

.reservation-flow {
	width: 4.2rem;
}

.reservation-flow li {
	position: relative;
	font-size: 0.18rem;
	font-weight: bold;
	background-color: #fff;
	border-radius: 0.8rem;
	display: flex;
	padding: 0.15rem;
	margin-bottom: 0.15rem;
}

.reservation-flow li:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border: 5px solid transparent;
	border-top: 7px solid #fff;
}

.reservation-flow li:last-child:before {
	display: none;
}

.reservation-flow li span {
	color: #fff;
	background-color: var(--green);
	width: 0.3rem;
	height: 0.3rem;
	display: flex;
	justify-content: center;
	align-items: baseline;
	font-family: 'Poppins', sans-serif;
	border-radius: 50%;
	margin-right: 0.15rem;
}

.reservation-img1 {
	position: relative;
}

.reservation-img1 img {
	width: 3.7rem;
	z-index: 1;
}

.reservation-img1 video {
	width: 3.5rem;
	height: 5.8rem;
	z-index: 2;
	position: absolute;
	top: 0.65rem;
	left: 0.1rem;
	object-fit: fill;
}

/* Management screen*/
#management {
	background-color: #F2FAF6;
	border-radius: 1.5rem;
}

#management .inner {
	position: relative;
}

#management .text1 {
	margin-bottom: 0.6rem;
}

.management-box1 {
	max-width: 12rem;
	margin: 0 auto 1.2rem;
}

.management-text1 {
	font-size: 0.24rem;
	font-weight: bold;
	margin-bottom: 0.6rem;
	line-height: 1.875;
}

.management-box3 {
	max-width: 3.4rem;
	position: relative;
	background-color: #fff;
	border-radius: 0.2rem;
}

.management-list {
	padding: 0.6rem 0 0.3rem 0.4rem;
}

.management-list li {
	background-image: url("../images/icon-dot.svg");
	background-repeat: no-repeat;
	background-position: 0 0.09rem;
	-webkit-background-size: 0.08rem auto;
	background-size: 0.08rem auto;
	padding-left: 0.16rem;
	margin-bottom: 0.15rem;
}

.management-list li:last-child {
	margin-bottom: 0;
}

.management-text2 {
	background-color: var(--green);
	color: #fff;
	width: 2.5rem;
	font-size: 0.18rem;
	font-weight: bold;
	text-align: center;
	padding: 0.12rem 0 0.13rem;
	border-radius: 0.8rem;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: -0.2rem;
}

.management-text2:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border: 5px solid transparent;
	border-top: 7px solid var(--green);
}

.management-text3 {
	text-align: center;
	font-weight: bold;
	font-size: 0.24rem;
	margin-bottom: 0.4rem;
}

.management-img1 {
	padding-top: 0.2rem;
	position: relative;
}

.management-img1 img {
	width: 7.4rem;
	z-index: 1;
}

.management-img1 video {
	width: 7.36rem;
	height: 4.17rem;
	z-index: 2;
	position: absolute;
	top: 1rem;
	left: 1px;
	object-fit: fill;
	border-radius: 0 0 5px 5px;
}

.management-img2 {
	text-align: center;
}

.management-img2 img {
	width: 11.2rem;
}

#management .illust1 {
	position: absolute;
	bottom: auto;
	top: 0;
	right: 3.12rem;
	width: 1.7rem;
}

/* Flow */
#flow h2 .green {
	font-size: 0.32rem;
	font-weight: bold;
	margin-left: 0.04rem;
}

#flow .inner {
	max-width: 12rem;
	margin: 0 auto;
}

#flow .text1 {
	margin-bottom: 0.85rem;
}

.flow-list {
	margin-bottom: 0.85rem;
}

.flow-list li {
	width: 3.1rem;
	text-align: center;
	border-radius: 0.2rem;
	border: solid 2px var(--green);
	position: relative;
	padding: 0.6rem 0.35rem 0.35rem;
}

.flow-list li:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -24px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-left: 12px solid #FFF;
	z-index: 2;
}

.flow-list li:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -29px;
	margin-top: -14px;
	border: 14px solid transparent;
	border-left: 14px solid var(--green);
	z-index: 1;
}

.flow-list li:last-child:before,
.flow-list li:last-child:after {
	display: none;
}

.flow-no {
	color: #fff;
	width: 0.7rem;
	height: 0.7rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	border-radius: 50%;
	font-size: 0.2rem;
	position: absolute;
	left: 40%;
	left: calc(50% - 0.35rem);
	top: -0.35rem;
	font-family: 'Poppins', sans-serif;
	font-size: 0.2rem;
}

.flow-text1 {
	font-size: 0.2rem;
	font-weight: bold;
	margin-bottom: 0.2rem;
}

.flow-img1 {
	margin-bottom: 0.15rem;
}

.flow-img1 img {
	max-height: 0.77rem;
}

.flow-text2 {
	background-color: #F2FAF6;
	width: 1rem;
	margin: 0 auto 0.2rem;
	color: var(--green);
	border-radius: 0.8rem;
	font-weight: bold;
	padding: 0.02rem 0 0.04rem;
}

.flow-text3 {
	text-align: left;
	line-height: 1.875;
}

.flow-dl {
	max-width: 9rem;
	margin: 0 auto;
}

.flow-dl dt {
	background-color: var(--green);
	font-size: 0.24rem;
	font-weight: bold;
	border-radius: 0.2rem 0.2rem 0 0;
	position: relative;
}

.flow-text4 {
	color: #fff;
	text-align: center;
	font-weight: bold;
	padding: 0.12rem 0;
}

.flow-img2 {
	position: absolute;
	top: -0.17rem;
	left: 1.3rem;
}

.flow-img2 img {
	width: 1.08rem;
}

.flow-dl dd {
	background-color: #F2FAF6;
	border-radius: 0 0 0.2rem 0.2rem;
	justify-content: center;
	padding: 0.6rem 0;
}

.flow-box1 {
	width: 3.2rem;
	text-align: center;
}

.flow-box1 {
	margin-right: 0.65rem;
}

.flow-box1+.flow-box1 {
	margin: 0;
	padding-left: 0.65rem;
	border-left: solid 1px #DEE6E2;
}

.flow-img3 {
	margin-bottom: 0.4rem;
}

.flow-img3 img {
	max-height: 1.3rem;
}

.flow-text5 {
	text-align: left;
	font-size: 0.12rem;
	margin-top: 0.1rem;
}

/* Price */
#price h2 {
	margin-bottom: 0.5rem;
}

#price {
	background-color: #F2FAF6;
	border-radius: 1.5rem;
}

.price-box1 {
	max-width: 8.5rem;
	margin: 0 auto 0.3rem;
}

#price dl {
	width: 4rem;
	background-color: #fff;
	border: solid 2px #333;
	border-radius: 0.2rem;
	overflow: hidden;
}

#price dt {
	padding: 0.2rem 0;
}

#price dt p {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 0.2rem;
}

.price-dl1 dt {
	background-color: #EFAC25;
}

.price-dl2 dt {
	background-color: var(--green);
}

.price-dl3 dt {
	background-color: #808080;
}

#price dd {
	padding: 0.3rem 0.3rem 0.4rem;
	text-align: center;
}

.price-text1 {
	margin-bottom: 0.3rem;
	line-height: 1.875;
}

.price-text2 {
	font-size: 0.18rem;
	font-weight: bold;
	text-align: center;
	background-color: #F5F5F5;
	border-radius: 0.8rem;
	max-width: 3rem;
	margin: 0 auto 0.15rem;
	padding: 0.04rem 0;
}

.price-text3 {
	font-size: 0.2rem;
	font-weight: bold;
	margin-bottom: 0.2rem;
	line-height: 1;
}

.price-text3 .yen {
	font-size: 0.6rem;
	font-weight: 600;
	font-family: 'Poppins', sans-serif;
}

.fs14 {
	font-size: 0.14rem;
}

.price-text3 .comma {
	font-size: 0.4rem;
}

.price-btn1 {
	margin-top: 0.4rem;
}

.price-btn1 a {
	font-size: 0.18rem;
	font-weight: bold;
	color: #fff;
	border-radius: 0.8rem;
	padding: 0.14rem 0 0.15rem;
	background-color: #EFAC25;
	;
}

.price-btn2 a {
	font-size: 0.18rem;
	font-weight: bold;
	background-color: var(--green);
	border-radius: 0.8rem;
	color: #fff;
	padding: 0.14rem 0 0.15rem;
}

.price-text4 {
	background-color: #9CE5E0;
	border-radius: 0.8rem;
	max-width: 3rem;
	margin: 0 auto 0.15rem;
	padding: 0.06rem 0 0.07rem;
	font-size: 0.18rem;
	font-weight: bold;
	background: url("../images/icon-point1.png"), url("../images/icon-point2.png") #9CE5E0;
	-webkit-background-size: 0.17rem auto;
	background-size: 0.17rem auto;
	background-repeat: no-repeat;
	background-position: 5% 50%, 95% 50%;
}

.price-dl2 .price-text1 {
	margin-bottom: 0.45rem;
}

.price-dl2 .price-text2 {
	margin-bottom: 0.4rem;
}

.price-dl2 .price-text3 {
	margin-bottom: 0.55rem;
}

.price-img1 {
	text-align: center;
	margin-bottom: 0.3rem;
	line-height: 1;
}

.price-dl3 {
	margin: 0 auto;
}

#price .cv-btn {
	margin-top: 0.6rem;
}

/* FAQ */
#faq h2 {
	margin-bottom: 0.6rem;
}

#faq .inner {
	position: relative;
	max-width: 10rem;
}

#faq .illust1 {
	position: absolute;
	bottom: auto;
	top: 0.2rem;
	right: 1.55rem;
	width: 1.6rem;
}

.faq-dl {
	border: solid 2px #E6E6E6;
	border-radius: 0.2rem;
	overflow: hidden;
	margin-bottom: 0.3rem;
}

.faq-dl:last-child {
	margin: 0;
}

.faq-dl:has(.open) {
	border: solid 2px #333;
}

.faq-dl dt {
	padding: 0.25rem 0.65rem;
	font-size: 0.2rem;
	font-weight: bold;
	background: url("../images/faq-icon3.svg"), url("../images/faq-icon1.png");
	background-repeat: no-repeat;
	background-position: 0.3rem 48%, 97% 0.25rem;
	-webkit-background-size: 0.19rem, 0.3rem;
	background-size: 0.19rem, 0.3rem;
}

.faq-dl dt.open {
	background: url("../images/faq-icon3.svg"), url("../images/faq-icon2.png") #E1F5EC;
	background-repeat: no-repeat;
	background-position: 0.3rem 48%, 97% 0.25rem;
	-webkit-background-size: 0.19rem, 0.3rem;
	background-size: 0.19rem, 0.3rem;
}

.faq-dl dd {
	display: none;
	padding: 0.3rem 0.65rem;
	line-height: 1.875;
	background: url("../images/faq-icon4.svg");
	background-repeat: no-repeat;
	background-position: 0.3rem 0.35rem;
	-webkit-background-size: 0.17rem;
	background-size: 0.17rem;
}

/* CVエリア */
#cv {
	background-color: var(--green);
	border-radius: 1.5rem 1.5rem 0 0;
	background-image: url("../images/footer-img1.png");
	background-repeat: no-repeat;
	background-position: -1rem 1rem;
	-webkit-background-size: 5.1rem auto;
	background-size: 5.1rem auto;
	padding: 1rem 0;
}

#cv h2 {
	color: #fff;
	line-height: 1;
}

#cv h2 span {
	color: #fff;
	font-size: 0.4rem;
	border-bottom: solid 4px #fff;
	padding: 0 0.06rem;
}

#cv .cv-btn {
	margin: 0.8rem 0 0.4rem;
}

#cv .cv-btn1 a {
	background-color: #fff;
	color: var(--green);
}

.cv-btn3 a {
	font-size: 0.18rem;
	font-weight: bold;
	color: #fff;
	border: solid 2px #fff;
	display: block;
	padding: 0.25rem 0 0.26rem;
	border-radius: 0.8rem;
	text-align: center;
	width: 3.7rem;
	margin: 0 auto;
}

.cv-btn3 img {
	width: 0.2rem;
	position: relative;
	top: -4px;
	margin-right: 0.05rem;
}

/* フッター */
footer {
	position: relative;
}

footer .inner {
	padding: 0.6rem 0 0.25rem;
}

.footer-logo {
	text-align: center;
	margin-bottom: 0.3rem;
}

.footer-logo img {
	width: 1.4rem;
}

.footer-nav {
	max-width: 8.4rem;
	margin: 0 auto 0.25rem
}

.footer-nav li a {
	color: #333;
	font-weight: bold;
}

.privacy-mark {
	text-align: center;
}

.privacy-mark img {
	width: 0.65rem;
}

.footer-bar {
	background-color: #F5F5F5;
}

.footer-inner {
	max-width: 12rem;
	margin: 0 auto;
	position: relative;
	padding: 0.16rem 0;
}

.copyright {
	text-align: center;
	font-size: 0.12rem;
	color: #666;
	font-family: 'Poppins', sans-serif;
}

.footer-btn {
	position: absolute;
	right: 0;
	top: 0.11rem;
}

.footer-btn a {
	display: inline-block;
	font-size: 0.14rem;
	color: #666;
	font-weight: 500;
	line-height: 1;
}

.footer-btn1 {
	margin-right: 0.25rem;
}

.pagetop {
	position: absolute;
	top: -0.3rem;
	right: 0.2rem;
}

.pagetop img {
	width: 0.6rem;
}

/* お申込みフォーム */
.error {
	color: red;
}

.application {
	margin-top: 1.6rem;
}

.application h2 {
	margin-bottom: 0.5rem;
}

.application-text1 {
	text-align: center;
	font-size: 0.18rem;
	font-weight: 500;
	line-height: 1.9;
	margin-bottom: 0.6rem;
}

.application-text1 span {
	font-size: 0.24rem;
	font-weight: bold;
	color: #EFAC25;
}

.application-thanks-title {
	text-align: center;
	font-size: 0.4rem;
	font-weight: 700;
	line-height: 1.8;
	margin-bottom: 0.6rem;
}

.application-thanks-text1 {
	text-align: center;
	font-size: 0.25rem;
	font-weight: normal;
	line-height: 1.8;
	margin: 0.6rem;
}

.application-thanks-text2 {
	text-align: center;
	font-size: 0.19rem;
	font-weight: normal;
	line-height: 1.3;
	margin: 0.6rem;
}

.application-img {
	text-align: center;
	margin-bottom: 0.6rem;
}

.application-img img {
	width: 5.63rem;
}

.form {
	background-color: #F2FAF6;
	border-radius: 0.5rem;
	padding: 0.85rem 1rem 1rem;
	max-width: 8rem;
	margin: 0 auto;
}

.form table {
	table-layout: fixed;
	width: 100%;
	max-width: 8.86rem;
	margin: 0 auto .35rem;
}

.form table th {
	width: 2.5rem;
	padding: .15rem 0;
	font-size: .16rem;
	font-weight: 700;
	vertical-align: middle;
}

.form table td {
	padding: .15rem 0;
	font-size: .16rem;
	font-weight: 500;
}

.form table input[type="text"],
.form table input[type="tel"],
.form table input[type="email"] {
	width: 93%;
	width: calc(100% - .4rem);
	padding: .22rem .20rem;
	font-size: .16rem;
	border: none;
	border-radius: .05rem;
}

.form table input[type="text"].login {
	width: 3.35rem;
	margin-right: 0.1rem;
}

.form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding: .22rem .20rem;
	font-size: .16rem;
	border: none;
	border-radius: .05rem;
	background-color: #fff;
	background-image: url("../images/icon-arrow.svg");
	background-repeat: no-repeat;
	background-position: 98% 50%;
	-webkit-background-size: 0.1rem auto;
	background-size: 0.1rem auto;
	font-weight: bold;
	color: #333;
}

.form_notice {
	font-size: 0.17rem;
}

.id-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background-color: var(--green);
	color: #fff;
	font-size: 0.15rem;
	font-weight: 500;
	width: 1.6rem;
	border-radius: 0.8rem;
	padding: 0.18rem 0 0.19rem;
	cursor: pointer;
}

.form-privacy1 {
	text-align: center;
	font-size: 0.16rem;
	font-weight: bold;
	margin-bottom: 0.2rem;
}

.form-privacy2 {
	text-align: center;
	font-size: 0.16rem;
	font-weight: bold;
	margin-bottom: 0.6rem;
}

.ECM_CheckboxInput {
	display: flex;
	align-items: center;
	cursor: pointer;
	justify-content: center;
}

.ECM_CheckboxInput-Input {
	margin: 0;
	width: 0;
	opacity: 0;
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput {
	background: #fff;
	border: solid 2px var(--green);
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput::before {
	content: "";
	display: block;
	position: absolute;
	top: 30%;
	left: 60%;
	width: 40%;
	height: 0.03rem;
	border-radius: 2px;
	transform: translate(-0.06rem, 0.05rem) rotateZ(-135deg);
	transform-origin: 0.02rem 0.02rem;
	background: var(--green);
}

.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput::after {
	content: "";
	display: block;
	position: absolute;
	top: 35%;
	left: 61%;
	width: 70%;
	height: 0.03rem;
	border-radius: 2px;
	transform: translate(-0.06rem, 0.05rem) rotateZ(-45deg);
	transform-origin: 0.02rem 0.02rem;
	background: var(--green);
}

.ECM_CheckboxInput-DummyInput {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 0.2rem;
	height: 0.2rem;
	border: solid 2px #D2D9D5;
	background: #fff;
	border-radius: 2px;
}

.ECM_CheckboxInput-LabelText {
	margin-left: 0.1rem;
	display: block;
	font-size: 0.16rem;
	font-weight: bold;
}

.ECM_RadioInput {
	display: flex;
	align-items: center;
	cursor: pointer;
	justify-content: flex-start;
}

.ECM_RadioInput-Input {
	opacity: 0;
	width: 0;
	margin: 0;
}

.ECM_RadioInput-Input:focus+.ECM_RadioInput-DummyInput {
	border: solid 1px var(--green);
	background: #fff;
}

.ECM_RadioInput-Input:checked+.ECM_RadioInput-DummyInput {
	border: solid 1px var(--green);
}

.ECM_RadioInput-Input:checked+.ECM_RadioInput-DummyInput::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0.1rem;
	height: 0.1rem;
	border-radius: 50%;
	background: var(--green);
}

.ECM_RadioInput-DummyInput {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 0.2rem;
	height: 0.2rem;
	border-radius: 50%;
	background: #fff;
	border: solid 1px #D2D9D5;
}

.ECM_RadioInput-LabelText {
	margin-left: 0.1rem;
	display: block;
	font-size: 0.16rem;
	font-weight: 500;
}

.radio {
	display: flex;
	justify-content: flex-start;
}

.business1,
.business2 {
	margin-right: 0.7rem;
}

.form-privacy2 a,
.form-privacy1 a {
	display: inline;
	font-size: 0.16rem;
	font-weight: bold;
	color: var(--green);
	text-decoration: underline;
}

.form-btn {
	max-width: 4.5rem;
	margin: 0 auto;
	justify-content: center;
}

.form-btn input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	color: #fff;
	font-size: 0.2rem;
	font-weight: bold;
	width: 2.2rem;
	padding: 0.24rem 0;
	border-radius: 0.8rem;
	background-color: #D2D9D5;
}

.form-btn .form-submit input {
	background-color: var(--green);
	cursor: pointer;
}

.form-btn .form-back input {
	cursor: pointer;
}

.required {
	background-color: #EFAC25;
	color: #fff;
	font-size: 0.14rem;
	font-weight: bold;
	line-height: 1;
	padding: 0.01rem 0.05rem 0.03rem;
	border-radius: 0.03rem;
	margin-right: 0.1rem;
}

.ECM_CheckboxInput .required {
	margin: 0 0 0 0.1rem;
	padding: 0.05rem;
}

form textarea {
	width: 93%;
	width: calc(100% - 0.4rem);
	padding: 0.22rem 0.2rem;
	font-size: .16rem;
	border: none;
	border-radius: 0.05rem;
}

/* 利用規約ページ */
.terms {
	margin-top: 1.6rem;
}

.terms .inner {
	max-width: 11.2rem;
	margin: 0 auto;
}

.terms p {
	margin-bottom: 0.4rem;
	font-size: 0.18rem;
}

.terms p.terms-text1 {
	text-align: center;
	font-size: 0.20rem;
	line-height: 1.9;
	margin-bottom: 0.8rem;
}

.terms h3 {
	text-align: center;
	font-size: 0.24rem;
	font-weight: bold;
	line-height: 1.7;
	margin: 0.6rem 0 0.2rem;
	letter-spacing: 0.02em;
}

.terms h4 {
	font-size: 0.22rem;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: 0.2rem;
	letter-spacing: 0.02em;
}

.terms ol {
	list-style: decimal;
	padding-left: 0.2rem;
	margin: 0.1rem 0 0.4rem;
}

.terms li {
	margin-bottom: 0.2rem;
	font-size: 0.18rem;
}

/*------------------------------------------------------------
ここからスマホ用
-------------------------------------------------------------*/
@media screen and (min-width:769px)and (max-width:1000px) {
	.about-box2 {
		max-width: 10.2rem;
	}

	.reservation-flow {
		width: 4.8rem;
	}

	.management-box2 {
		width: 4.1rem;
	}

	.management-box3 {
		max-width: 5rem;
	}

	.form table input[type="text"].login {
		width: 3.2rem;
	}

	.nav li.nav-btn3 a {
		letter-spacing: -0.06em;
	}
}

@media screen and (min-width:769px)and (max-width:820px) {
	.nav li {
		margin-left: 0.2rem;
	}
}

@media screen and (max-width:768px) {
	html {
		font-size: 13.334vw;
	}

	body {
		overflow: hidden;
		position: relative;
	}

	.sp {
		display: block;
	}

	img.sp {
		display: inline;
	}

	.pc {
		display: none;
	}


	/* SP：ヘッダー */
	header {
		height: 0.96rem;
		padding: 0.34rem 0 0 0.2rem;
		width: 97.5%;
		width: calc(100% - 0.2rem);
	}

	header .inner {
		padding: 0;
	}

	.header-info {
		width: 5.93rem;
	}

	.header-logo {
		padding-top: 0;
	}

	.header-logo img {
		width: 5.93rem;
	}

	/* ハンバーガーメニュー */
	.hamburger {
		padding: 0;
		display: block;
		width: 1rem;
		height: 1rem;
		border: none;
		background-color: var(--green);
		z-index: 9999;
		position: absolute;
		top: 0;
		right: 0;
		border-radius: 0 0 0 0.2rem;
	}

	.hamburger span {
		width: 100%;
		height: 0.06rem;
		background-color: #fff;
		position: relative;
		transition: ease .4s;
		display: block;
		border-radius: 0.8rem;
		width: 0.4rem;
		margin: 0 auto;
	}

	.hamburger span:nth-child(1) {
		top: -0.06rem;
	}

	.hamburger span:nth-child(2) {
		top: 0.06rem;
	}

	.hamburger.active span:nth-child(1) {
		top: 0.03rem;
		transform: rotate(30deg);
	}

	.hamburger.active span:nth-child(2) {
		top: -0.03rem;
		transform: rotate(-30deg);
	}

	nav {
		position: absolute;
		right: 0;
		top: 0;
		width: 60%;
		height: 100vh;
		transform: translateX(100%);
		background-color: var(--green);
		transition: ease .4s;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 100;
	}

	nav.active {
		transform: translateX(0);
	}

	.nav li {
		width: 100%;
		margin-left: 0.8rem;
	}

	.nav li a {
		height: auto;
		padding: 0.3rem 0;
		display: block;
		border: none;
		color: #fff !important;
		font-size: 0.34rem !important;
		font-weight: bold !important;
		line-height: 1;
	}

	/* SP：メインビジュアル */
	.mainvisual {
		background: none;
		background-color: #F2FAF6;
		border-radius: 0.5rem 0 0 0.5rem;
		height: auto;
	}

	.mainvisual .inner {
		padding: 0.8rem 0.4rem 0.7rem;
	}

	.mainvisual .main-img-container {
		z-index: 0;
		margin-left: 0;
		height: 5.5rem;
		position: relative;
	}

	.mainvisual .main-img-container>#img1 {
		width: 2rem;
		top: 1.5rem;
		left: 0rem;
	}

	.mainvisual .main-img-container>#img2 {
		width: 6rem;
		top: 0rem;
		left: 0rem;
		margin-left: 0.5rem;
	}

	.mainvisual .main-img-container>#img3 {
		width: 2rem;
		top: 2.15rem;
		left: 5rem;
	}

	.mainvisual .main-img-container video {
		height: 3.38rem;
		width: 5.97rem;
		top: 0.65rem;
		left: 0.5rem;
	}

	.main-list1 {
		justify-content: space-between;
	}

	.main-list1 li {
		font-size: 0.24rem;
		padding: 0.12rem 0.21rem;
	}

	h1 {
		font-size: 0.64rem;
	}

	.h1-text1 {
		font-size: 0.5rem;
	}

	.subtitle {
		font-size: .34rem;
		margin-bottom: 0.6rem;
	}

	.main-list2 {
		justify-content: space-between;
		width: 6.5rem;
		margin: 0 auto;
	}

	.main-list2 li {
		background-color: var(--green);
		width: 2.1rem;
		height: 2rem;
		font-size: 0.26rem;
		background-position: 50% 15%;
		-webkit-background-size: 0.32rem auto;
		background-size: 0.32rem auto;
		padding-top: 0.1rem;
		margin: 0;
	}

	.main-list2 li span.main-list2_text1 {
		font-size: 0.4rem;
	}

	.scroll {
		bottom: 0.7rem;
		left: 0.18rem;
	}

	.scroll img {
		width: 0.28rem;
	}

	.scroll-down {
		bottom: 0.1rem;
		left: 0.14rem;
		width: 1px;
		height: 1.5rem;
		background: var(--green);
		animation: scrollDown 2s ease infinite;
	}

	/* SP：実績 */
	section {
		padding: .75rem 0;
	}

	.result-text1 span {
		font-size: 0.34rem;
	}

	/* SP：About */
	#about {
		padding: 0.8rem 0 1.5rem;
	}

	.inner {
		padding: 0 0.4rem;
	}

	h2 {
		font-size: 0.44rem;
		margin-bottom: 0.6rem;
		letter-spacing: 0.02em;
		line-height: 1.5;
	}

	h2 span {
		font-size: 0.34rem;
	}

	.about-box1 div {
		position: static;

	}

	.about-problem1 {
		width: 6.08rem;
		height: 2.96rem;
	}

	.about-problem2 {
		width: 6.08rem;
		height: 2.96rem;
		margin: 0 0 0 auto;
	}

	.about-problem3 {
		width: 5.13rem;
		height: 2.48rem;
	}

	.about-problem4 {
		width: 5.13rem;
		height: 2.48rem;
		margin: 0 0 0 auto;
	}

	.about-box1 p {
		font-size: 0.3rem;
		margin-top: -0.3rem;
	}

	.about-box1 p span {
		font-size: 0.26rem;
	}

	.about-img1 {
		padding-top: 0.1rem;
	}

	.about-img1 img {
		width: 4.47rem;
	}

	.about-box1 {
		margin: 0 auto 0.64rem;
	}

	.about-box2 {
		background-image: url(../images/about-bg5_sp.png);
		max-width: 6rem;
	}

	.about-box2 .inner {
		padding: 3.5rem 0.5rem 0.6rem;
	}

	.about-text5 {
		font-size: 0.4rem;
		display: inline;
		margin-bottom: 0.3rem;
	}

	.about-text5_span1 {
		font-size: 0.5rem;
	}

	.about-text5_span2 {
		font-size: 0.26rem;
	}

	.about-text6 {
		font-size: 0.28rem;
		margin-top: 0.2rem;
		line-height: 1.79;
	}

	/* SP：How to use */
	#howto {
		padding: 0.75rem 0 1.2rem;
	}

	.text1 {
		font-size: 0.28rem;
		line-height: 1.79;
		margin-bottom: 0.8rem;
	}

	.howto-list {
		justify-content: center;
	}

	.howto-li1,
	.howto-list li.howto-li2 {
		width: 4.9rem;
		padding: 1.1rem 0 0.8rem;
		margin-bottom: 0.8rem;
	}

	.howto-case {
		width: 1.2rem;
		height: 0.9rem;
		padding-top: 0.3rem;
		font-size: 0.2rem;
		left: 1.84rem;
		top: -0.4rem;
	}

	.howto-case span {
		font-size: 0.32rem;
	}

	.howto-li3 .howto-case {
		background-color: #EFAC25;
		width: 1.5rem;
		height: 1.5rem;
		font-size: 0.3rem;
		left: 2.2rem;
		top: -0.75rem;
		line-height: 1.5rem;
	}

	.howto-text1 {
		font-size: 0.28rem;
		margin-bottom: 0.2rem;
	}

	.howto-text1 span {
		font-size: 0.28rem;
	}

	.howto-img1 {
		margin: 0 -0.5rem;
	}

	.howto-img2 img {
		width: 2.73rem;
	}

	.howto-li3 {
		margin-top: 0.4rem;
		width: 5.9rem;
		padding: 1.3rem 0 0.8rem;
	}

	.howto-li3 .howto-img1 {
		margin: 0 -0.15rem;
		text-align: center;
	}

	.howto-li3 .howto-text1 {
		font-size: 0.32rem;
		margin-bottom: 0.3rem;
	}

	.howto-img3 {
		top: -1rem;
		right: -0.4rem;
		width: 2.05rem;
	}

	/* SP：Function */
	#function {
		padding: 1.3rem 0 0.75rem;
	}

	.scroll-x {
		overflow-x: scroll;
		padding: 0 0 0 0.4rem;
		margin: 0 -0.4rem;
		width: 100vw;
		position: relative;
		left: -0.4rem;
	}

	.scroll-x .btn_area {
		width: 10rem;
		margin-bottom: 0.6rem;
	}

	.tab_box1 .tab_btn,
	.tab_box2 .tab_btn {
		width: 3rem;
		font-size: 0.3rem;
		padding: 0.26rem 0 0.27rem;
	}

	.tab_box1 .tab_btn+.tab_btn,
	.tab_box2 .tab_btn+.tab_btn {
		margin-left: 0.1rem;
	}

	.function-list1 {
		justify-content: space-between
	}

	.function-list1 li {
		width: 3.25rem;
		margin: 0 0 0.2rem;
	}

	.function-list1 li:nth-child(4n),
	.function-list1 li:last-child {
		margin: 0 0 0.2rem;
	}

	.function-li1_box1 {
		width: 3.6rem;
	}

	.function-img1 {
		height: 1.56rem;
	}

	.function-img1 img {
		max-height: 1.26rem;
		height: 1.26rem;
	}

	.function-text1 {
		font-size: 0.3rem;
		margin-bottom: 0.15rem;
	}

	.function-text2 {
		font-size: 0.24rem;
	}

	.function-list1 li.function-li1 {
		width: 100%;
		display: flex;
		align-items: center;
	}

	.function-li1 .function-img1 {
		width: 2.7rem;
		text-align: center;
	}

	.function-li1 .function-text1 {
		text-align: left;
	}

	.function-li1 .function-text2 {
		padding: 0;
	}

	#function .cv-btn {
		margin-top: 0.6rem;
	}

	/* SP：CVエリア */
	.cv-btn {
		margin-top: 0.8rem;
	}

	.cv-btn a {
		width: 6rem;
		font-size: 0.34rem;
		padding: 0.38rem 0 0.41rem;
		margin: 0 auto;
	}

	.cv-btn1 {
		margin-bottom: 0.5rem;
	}

	.cv-btn2 img {
		left: -0.1rem;
		width: 1.1rem;
	}

	/* SP：Reservation */
	#reservation {
		padding: 0.75rem 0 2rem;
	}

	#reservation h2 {
		text-align: left;
		margin-bottom: 0.4rem;
	}

	#reservation .illust1 {
		top: -3.4rem;
		bottom: auto;
		right: 0;
		width: 1.7rem;
	}

	#reservation .illust1 img {
		width: 1.7rem;
	}

	#reservation .panel_inner {
		padding: 1rem 0 0.85rem;
	}

	#reservation .panel_area {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}

	#reservation .tab_panel {
		background-image: url(../images/reservation-bg_sp.png);
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
		background-repeat: no-repeat;
		background-color: #37AD7B;
		border: none;
		border-top: solid 2px #4D4D4D;
		border-radius: 0;
	}

	.reservation-box1 {
		width: 100%;
	}

	.reservation-text1 {
		text-align: center;
		font-size: 0.32rem;
		margin-bottom: 0.6rem;
	}

	.reservation-img1 {
		text-align: center;
		margin-bottom: 0.6rem;
	}

	.reservation-img1 video {
		left: 2rem;
	}

	.reservation-flow {
		width: 5.9rem;
		margin: 0 auto;
	}

	.reservation-flow li {
		font-size: 0.28rem;
		padding: 0.22rem 0 0.23rem 0.23rem;
		margin-bottom: 0.18rem;
	}

	.reservation-flow li span {
		width: 0.45rem;
		height: 0.45rem;
		line-height: 0.45rem;
		font-size: 0.24rem;
		margin-right: 0.1rem;
	}

	/* SP：Management */
	#management {
		padding: 1.2rem 0;
	}

	#management h2 {
		text-align: left;
		letter-spacing: 0;
		margin-bottom: 0.4rem;
	}

	#management .illust1 {
		top: -1.6rem;
		right: 0.4rem;
		width: 2.05rem;
	}

	#management .illust1 img {
		width: 2.05rem;
	}

	.management-text1 {
		text-align: center;
		font-size: 0.32rem;
		margin-bottom: 0.4rem;
	}

	.management-img1 {
		margin-bottom: 1.1rem;
	}

	.management-img1 video {
		width: 6.67rem;
		height: 3.81rem;
		top: 0.9rem;
	}

	.management-box1 {
		margin-bottom: 0.9rem;
	}

	.management-box3 {
		max-width: 5.9rem;
		margin: 0 auto;
	}

	.management-list {
		padding: 0.9rem 0 0.5rem 0.6rem;
	}

	.management-list li {
		font-size: 0.28rem;
		margin-bottom: 0.2rem;
		-webkit-background-size: 0.12rem auto;
		background-size: 0.12rem auto;
		background-position: 0 0.16rem;
		padding-left: 0.26rem;
	}

	.management-text2 {
		width: 4.6rem;
		font-size: 0.3rem;
		padding: 0.22rem 0 0.23rem;
		top: -0.45rem;
	}

	.management-text3 {
		font-size: 0.32rem;
	}

	/* SP：Flow */
	#flow {
		padding: 1.3rem 0 1.5rem;
	}

	#flow h2 .green {
		font-size: 0.44rem;
	}

	.flow-list li {
		width: 5.7rem;
		padding: 0.9rem 0.5rem 0.7rem;
		display: flex;
		justify-content: space-between;
		margin-bottom: 1rem;
		border: solid 2px var(--green);
	}

	.flow-box2 {
		width: 1.4rem;
	}

	.flow-box3 {
		width: 3.5rem;
		text-align: left;
	}

	.flow-img1 {
		margin-bottom: 0.2rem;
	}

	.flow-list li:nth-child(1) .flow-img1 img {
		max-height: 1.03rem;
		height: 1.03rem;
	}

	.flow-list li:nth-child(2) .flow-img1 img {
		max-height: 1.15rem;
		height: 1.15rem;
	}

	.flow-list li:nth-child(3) .flow-img1 img {
		max-height: 1.1rem;
		height: 1.1rem;
	}

	.flow-text2 {
		font-size: 0.26rem;
		width: 1.4rem;
		padding: 0.05rem 0 0.06rem;
		margin-bottom: 0;
	}

	.flow-text1 {
		font-size: 0.35rem;
		margin-bottom: 0.15rem;
	}

	.flow-text3 {
		font-size: 0.26rem;
	}

	.flow-no {
		width: 1.1rem;
		height: 1.1rem;
		font-size: 0.32rem;
		left: 42%;
		left: calc(50% - 0.55rem);
		top: -0.55rem;
	}

	.flow-list li:before {
		transform: rotate(90deg);
		top: auto;
		right: auto;
		bottom: -0.51rem;
		left: 3.105rem;
		border: 0.27rem solid transparent;
		border-left: 0.27rem solid #FFF;
		z-index: 2;
	}

	.flow-list li:after {
		transform: rotate(90deg);
		top: auto;
		right: auto;
		left: 3.1rem;
		bottom: -0.58rem;
		border: 0.28rem solid transparent;
		border-left: 0.28rem solid var(--green);
		z-index: 1;
	}

	.flow-text4 {
		font-size: 0.34rem;
		padding: 0.43rem 0 0.43rem 1.05rem;
	}

	.flow-img2 {
		top: -0.4rem;
		left: -0.2rem;
	}

	.flow-img2 img {
		width: 1.46rem;
	}

	.flow-box1 {
		width: 5.5rem;
		margin: 0;
	}

	.flow-box1+.flow-box1 {
		margin: 0.5rem 0 0;
		border: none;
		border-top: solid 1px #DEE6E2;
		padding: 0.5rem 0 0 0;
	}

	.flow-img3 {
		margin-bottom: 0.55rem;
	}

	.flow-img3 img {
		max-height: 1.97rem;
		height: 1.97rem;
	}

	.flow-text5 {
		font-size: 0.24rem;
		margin-top: 0.15rem;
	}

	/* SP：Price */
	.price-box1 {
		margin: 0 auto 0.4rem;
	}

	#price dl {
		width: 5.9rem;
		margin: 0 auto;
	}

	#price dl.price-dl1 {
		margin-bottom: 0.5rem;
	}

	#price dt {
		padding: 0.26rem 0;
	}

	#price dt p {
		font-size: 0.32rem;
	}

	.price-text1 {
		font-size: 0.26rem;
		margin-bottom: 0.4rem;
	}

	.price-text2 {
		font-size: 0.28rem;
		max-width: 4.8rem;
		padding: 0.09rem 0;
	}

	.price-text3 {
		font-size: 0.32rem;
	}

	.price-text3:has(.fs14) {
		padding-left: 0.5rem;
	}

	.price-text3 .yen {
		font-size: 1rem;
	}

	.fs14 {
		font-size: 0.2rem;
	}

	.price-btn1 {
		width: 5rem;
		margin: 0.4rem auto 0;
	}

	.price-btn1 a,
	.price-btn2 a {
		font-size: 0.3rem;
		padding: 0.25rem 0 0.26rem;
	}

	.price-text4 {
		font-size: 0.28rem;
		max-width: 4.8rem;
		padding: 0.13rem 0 0.15rem;
		-webkit-background-size: 0.27rem auto;
		background-size: 0.27rem auto;
		margin: 0 auto 0.3rem;
	}

	.price-img1 {
		margin-bottom: 0.4rem;
	}

	.price-img1 img {
		width: 0.7rem;
	}

	#price .cv-btn {
		margin-top: 0.8rem;
	}

	/* SP：FAQ */
	#faq {
		padding: 1.3rem 0 1.5rem;
	}

	#faq h2 {
		margin-bottom: 0.3rem;
	}

	#faq .illust1 {
		position: static;
		width: 100%;
		text-align: center;
	}

	#faq .illust1 img {
		width: 2.08rem;
	}

	.faq-dl dt {
		font-size: 0.32rem;
		padding: 0.36rem 0.8rem 0.36rem 0.7rem;
		-webkit-background-size: 0.27rem, 0.48rem;
		background-size: 0.27rem, 0.48rem;
		background-position: 0.3rem 0.45rem, 96% 0.35rem;
	}

	.faq-dl dt.open {
		background-position: 0.3rem 0.45rem, 96% 0.35rem;
		-webkit-background-size: 0.27rem, 0.48rem;
		background-size: 0.27rem, 0.48rem;
	}

	.faq-dl dd {
		font-size: 0.28rem;
		background-position: 0.3rem 0.43rem;
		-webkit-background-size: 0.24rem;
		background-size: 0.24rem;
	}

	/* SP：CVエリア */
	#cv {
		background-image: none;
		padding: 1rem 0 1.2rem;
	}

	#cv h2 {
		line-height: 1.5;
		margin-bottom: 0.5rem;
	}

	#cv h2 span {
		font-size: 0.56rem;
	}

	.cv-img1 {
		text-align: center;
	}

	.cv-img1 img {
		width: 5.72rem;
	}

	#cv .cv-btn {
		margin: 0.2rem 0 0.4rem;
	}

	.cv-btn3 a {
		width: 6rem;
		font-size: 0.3rem;
		padding: 0.26rem 0 0.27rem;
	}

	.cv-btn3 img {
		width: 0.3rem;
		top: -0.08rem;
		margin-right: 0.2rem;
	}

	/* SP：フッター */
	footer {
		margin-bottom: 1rem;
	}

	footer .inner {
		padding: 0.6rem 0 0;
	}

	.footer-logo {
		margin-bottom: 0.6rem;
	}

	.footer-logo img {
		width: 2.8rem;
	}

	.footer-btn {
		position: static;
		text-align: center;
		padding-bottom: 0.5rem;
	}

	.footer-btn a {
		font-size: 0.24rem;
	}

	.footer-btn1 {
		margin-right: 0.8rem;
	}

	.footer-bar {
		background-color: #fff;
	}

	.pagetop {
		top: -0.4rem;
	}

	.pagetop img {
		width: 0.8rem;
	}

	.privacy-mark {
		position: absolute;
		right: 0.2rem;
		bottom: 1.04rem;
	}

	.privacy-mark img {
		width: 0.95rem;
	}

	.copyright {
		font-size: 0.2rem;
		background-color: #F5F5F5;
		padding: 0.2rem 0;
	}

	.footer-inner {
		padding: 0;
	}

	/* SP：お申込みフォーム */
	.application {
		padding: 0.6rem 0 1.4rem;
	}

	.application .inner {
		padding: 0;
	}

	.application h2 {
		margin-bottom: 0.4rem;
	}

	.application-text1 {
		font-size: 0.28rem;
	}

	.application-text1 span {
		font-size: 0.34rem;
	}

	.application-img1 {
		margin-bottom: 0.8rem;
	}

	.application-img1 img {
		width: 4.7rem;
	}

	.form {
		padding: 1rem 0.65rem;
	}

	.form table {
		margin: 0 auto 0.3rem;
	}

	.form table th {
		display: block;
		width: 100%;
		font-size: 0.28rem;
		padding: 0;
		position: relative;
	}

	.form table td {
		display: block;
		width: 100%;
		padding: 0.2rem 0 0.5rem;
		font-size: 0.22rem;
	}

	.form table td.radio {
		display: flex;
		padding: 0.3rem 0 0.5rem;
	}

	.ECM_RadioInput-LabelText {
		font-size: 0.28rem;
	}

	.ECM_RadioInput-DummyInput {
		width: 0.4rem;
		height: 0.4rem;
	}

	.ECM_RadioInput-Input:checked+.ECM_RadioInput-DummyInput::before {
		width: 0.2rem;
		height: 0.2rem;
	}

	.form table input[type="text"],
	.form table input[type="tel"],
	.form table input[type="email"] {
		font-size: .28rem;
		padding: 0.34rem 0.34rem;
		width: 93%;
		width: calc(100% - 0.68rem);
	}

	.form table input[type="text"].login {
		width: 3.2rem;
		margin-right: 0.05rem;
	}

	.id-btn {
		font-size: 0.26rem;
		font-weight: bold;
		width: 2.2rem;
		padding: 0.3rem 0 0.31rem;
	}

	.form select {
		font-size: .28rem;
		padding: 0.34rem 0.34rem;
		width: 100%;
		-webkit-background-size: 0.28rem 0.16rem;
		background-size: 0.28rem 0.16rem;
		background-position: 97% 50%;
	}

	.ECM_CheckboxInput-LabelText {
		font-size: 0.28rem;
	}

	.ECM_CheckboxInput-DummyInput {
		width: 0.4rem;
		height: 0.4rem;
	}

	.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput::before {
		top: 50%;
		left: 50%;
		width: 40%;
		height: 0.05rem;
	}

	.ECM_CheckboxInput-Input:checked+.ECM_CheckboxInput-DummyInput::after {
		top: 50%;
		left: 51%;
		width: 65%;
		height: 0.05rem;
	}

	.form-privacy2 {
		margin-bottom: 0.8rem;
	}

	.form-privacy1 a,
	.form-privacy2 a {
		font-size: 0.28rem;
	}

	.form-btn {
		flex-direction: column-reverse;
		max-width: 5rem;
	}

	.form-btn input {
		width: 5rem;
		font-size: 0.32rem;
		padding: 0.36rem 0;
	}

	.form-submit {
		margin-bottom: 0.3rem;
	}

	.required {
		position: absolute;
		right: 0;
		bottom: 0;
		padding: 0.05rem 0.08rem 0.07rem;
		margin: 0;
		font-size: 0.22rem;
	}

	/* fix-btn */
	.fix-btn {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10;
		display: flex;
		justify-content: center;
		width: 7.2rem;
		margin: 0 auto;
	}

	.fix-btn .cv-btn1 {
		margin: 0;
	}

	.fix-btn .cv-btn2 img {
		width: 0.7rem;
		top: -0.12rem;
		left: -0.05rem;
	}

	.fix-btn a {
		font-size: 0.24rem;
		border-radius: 0.2rem 0.2rem 0 0;
		padding: 0.31rem 0 0.33rem;
	}

	.fix-btn .cv-btn1 a {
		width: 3rem;
	}

	.fix-btn .cv-btn2 a {
		width: 4.1rem;
	}

	/* SP：利用規約 */
	.terms p.terms-text1 {
		font-size: 0.26rem;
	}

	.terms h3 {
		font-size: 0.28rem;
	}

	.terms h4 {
		font-size: 0.26rem;
	}

	.terms p,
	.terms li {
		font-size: 0.24rem;
	}

}