@charset "utf-8";

/* =====================================================
reset
===================================================== */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td { margin: 0;padding: 0;border: 0;}
body {margin:0;}
article, aside,details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block;}
h1, h2, h3, h4, h5, h6, p {margin: 0;padding: 0;}
ol, ul {list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ""; content: none;}
ins { text-decoration: none;}
del { text-decoration: line-through;}
table { border-collapse: collapse; border-spacing: 0;}
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select {vertical-align:middle;}
img, img a, a img { margin: 0; padding: 0; border: 0; border-style: none; text-decoration: none;}
a:focus { outline: none;}


html {
	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	font-feature-settings : "palt" 1;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #5f626e;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
img[src$=".svg"] {
	width: 100%;
}
a {
	text-decoration: none;
}
::selection {
	color: #fff;
	background: #6990b5;
}
.sp {
	display: none;
}


/* =====================================================
PC
===================================================== */

#header {
	background: #fff;
	padding: 25px 0 30px;
}
#header .wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 1200px;
	margin: auto;
}

#header .wrap > p {
	font-size: 1.2rem;
	line-height: 1.7;
	margin-bottom: 10px;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .35s backwards;
}

#logo {
	width: 276px;
}
.btn > a {
	position: relative;
	display: block;
	background: #1c92ff;
	padding: 13px 0 15px;
	border-radius: 21vw;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.btn > a:hover {
	transform: scale(0.96);
}
.btn > a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;
	width: 14px;
	height: 14px;
	background: url(../img/arrow.svg) no-repeat center / 100%;
}
#header .btn > a {
	padding-left: 30px;
	padding-right: 60px;
}
#header .btn > a > span {
	display: inline-block;
}
#header .btn > a > span + span {
	border-left: 1px solid #fff;
	padding-left: 8px;
	margin-left: 8px;
}

#main {
	overflow-x: hidden;
}
#visual {
	position: relative;
	background: #def3f3;
	overflow: hidden;
}
#lpinfo {
	background: #f2f4f6;
	padding: 30px;
}
.background span {
	width: 20vmin;
	height: 20vmin;
	border-radius: 20vmin;
	backface-visibility: hidden;
	position: absolute;
	animation-name: move;
	animation-duration: 10s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.background span:nth-child(1) {
	color: #a1dbea;
	top: 54%;
	left: 22%;
	animation-duration: 12.8s;
	animation-delay: -15.9s;
	transform-origin: -17vw -24vh;
	box-shadow: 40vmin 0 14.0206197906vmin currentColor;
}
.background span:nth-child(2) {
	color: #9bbfe0;
	top: 78%;
	left: 86%;
	animation-duration: 13.2s;
	animation-delay: -1.4s;
	transform-origin: -15vw 22vh;
	box-shadow: 40vmin 0 9.8492906831vmin currentColor;
}
.background span:nth-child(3) {
	color: #a1dbea;
	top: 81%;
	left: 77%;
	animation-duration: 13.9s;
	animation-delay: -2.4s;
	transform-origin: 18vw 19vh;
	box-shadow: -40vmin 0 8.7546615491vmin currentColor;
}
.background span:nth-child(4) {
	color: #9fd3ec;
	top: 67%;
	left: 30%;
	animation-duration: 14.1s;
	animation-delay: -6.3s;
	transform-origin: -18vw 25vh;
	box-shadow: -40vmin 0 13.1961536275vmin currentColor;
}
.background span:nth-child(5) {
	color: #9bbfe0;
	top: 85%;
	left: 11%;
	animation-duration: 12.1s;
	animation-delay: -11.8s;
	transform-origin: 2vw 15vh;
	box-shadow: -40vmin 0 6.4598106561vmin currentColor;
}
.background span:nth-child(6) {
	color: #a1dbea;
	top: 56%;
	left: 90%;
	animation-duration: 11.1s;
	animation-delay: -15.8s;
	transform-origin: 20vw 12vh;
	box-shadow: -40vmin 0 11.0365436661vmin currentColor;
}
.background span:nth-child(7) {
	color: #9bbfe0;
	top: 30%;
	left: 93%;
	animation-duration: 13.6s;
	animation-delay: -6.1s;
	transform-origin: 17vw -5vh;
	box-shadow: 40vmin 0 14.5029264355vmin currentColor;
}
.background span:nth-child(8) {
	color: #9fd3ec;
	top: 81%;
	left: 14%;
	animation-duration: 10.5s;
	animation-delay: -0.5s;
	transform-origin: -19vw 1vh;
	box-shadow: -40vmin 0 5.0753151745vmin currentColor;
}
.background span:nth-child(9) {
	color: #9bbfe0;
	top: 75%;
	left: 7%;
	animation-duration: 12.8s;
	animation-delay: -1s;
	transform-origin: 23vw -1vh;
	box-shadow: -40vmin 0 9.0132416878vmin currentColor;
}
.background span:nth-child(10) {
	color: #9fd3ec;
	top: 100%;
	left: 10%;
	animation-duration: 14.4s;
	animation-delay: -13.5s;
	transform-origin: -10vw -8vh;
	box-shadow: 40vmin 0 7.0123748475vmin currentColor;
}
.background span:nth-child(11) {
	color: #a1dbea;
	top: 4%;
	left: 11%;
	animation-duration: 14.6s;
	animation-delay: -11.5s;
	transform-origin: -12vw 13vh;
	box-shadow: -40vmin 0 14.2684849805vmin currentColor;
}
.background span:nth-child(12) {
	color: #a1dbea;
	top: 13%;
	left: 14%;
	animation-duration: 15.1s;
	animation-delay: -9.3s;
	transform-origin: 5vw 12vh;
	box-shadow: 40vmin 0 7.7230729351vmin currentColor;
}
.background span:nth-child(13) {
	color: #9bbfe0;
	top: 35%;
	left: 58%;
	animation-duration: 12.1s;
	animation-delay: -15.1s;
	transform-origin: 24vw -14vh;
	box-shadow: -40vmin 0 5.506803718vmin currentColor;
}
.background span:nth-child(14) {
	color: #9fd3ec;
	top: 77%;
	left: 75%;
	animation-duration: 12.3s;
	animation-delay: -4.9s;
	transform-origin: 5vw 8vh;
	box-shadow: 40vmin 0 6.8179294432vmin currentColor;
}
.background span:nth-child(15) {
	color: #a1dbea;
	top: 34%;
	left: 22%;
	animation-duration: 11.6s;
	animation-delay: -14.2s;
	transform-origin: -21vw 18vh;
	box-shadow: -40vmin 0 6.9726931157vmin currentColor;
}
.background span:nth-child(16) {
	color: #a1dbea;
	top: 46%;
	left: 12%;
	animation-duration: 12.1s;
	animation-delay: -7.8s;
	transform-origin: 10vw 7vh;
	box-shadow: 40vmin 0 8.2627686987vmin currentColor;
}
.background span:nth-child(17) {
	color: #9bbfe0;
	top: 86%;
	left: 55%;
	animation-duration: 10.4s;
	animation-delay: -15.9s;
	transform-origin: 17vw -1vh;
	box-shadow: -40vmin 0 11.5729263511vmin currentColor;
}
.background span:nth-child(18) {
	color: #a1dbea;
	top: 15%;
	left: 57%;
	animation-duration: 15.5s;
	animation-delay: -4.9s;
	transform-origin: -13vw 8vh;
	box-shadow: 40vmin 0 8.5092446205vmin currentColor;
}
.background span:nth-child(19) {
	color: #9bbfe0;
	top: 96%;
	left: 73%;
	animation-duration: 11.5s;
	animation-delay: -13.8s;
	transform-origin: 0vw 3vh;
	box-shadow: -40vmin 0 14.7266742815vmin currentColor;
}
.background span:nth-child(20) {
	color: #a1dbea;
	top: 72%;
	left: 32%;
	animation-duration: 13.9s;
	animation-delay: -12.1s;
	transform-origin: 18vw 0vh;
	box-shadow: -40vmin 0 9.5325818552vmin currentColor;
}
@keyframes move {
	100% {
		transform: translate3d(0,0,1px) rotate(360deg);
	}
}
#visual .wrap {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 934px;
	margin: auto;
	padding: 70px 0 60px;
	z-index: 1;
}
#visual .image {
	animation: zoom .3s cubic-bezier(0.215, 0.61, 0.355, 1) .65s backwards;
}
@keyframes zoom {
	0% {
		opacity: 0;
		transform: scale(0.7);
	}
	50% {
		opacity: 1;
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
#visual .swiper-container {
	max-width: 312px;
	max-height: 585px;
}
#visual .swiper-slide {
	min-height: 585px;
}
#visual .detail {
	position: relative;
}
#visual .detail .logo {
	width: 318px;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .15s backwards;
}
#visual .detail .copy {
	position: relative;
	color: #249eda;
	font-size: 5.5rem;
	font-weight: 900;
	margin-top: 40px;
	white-space: nowrap;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .25s backwards;
}
#visual .detail .copy small {
	font-size: 3.5rem;
	font-weight: 700;
	margin: 0 15px;
}
#visual .detail .copy > span {
	position: relative;
	padding-bottom: 10px;
}
#visual .detail .copy > span::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 7px;
	border-radius: 4px;
	background: #249eda;
}
#visual .detail > p {
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.7;
	margin-top: 50px;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .35s backwards;
}

#visual .detail .sub {
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.7;
	margin-top: 20px;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .35s backwards;
}

#visual .detail .free {
	position: absolute;
	top: 30px;
	right: -104px;
	background: #fd5782;
	width: 118px;
	height: 118px;
	border-radius: 50%;
	animation: zoom .3s cubic-bezier(0.215, 0.61, 0.355, 1) .55s backwards;
}
#visual .detail .free > p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-55%);
	width: 100%;
	color: #fff;
	font-size: 4.0rem;
	font-weight: 900;
	text-align: center;
}
#visual .detail .free > p > small {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 5px;
}
#visual .detail .btn {
	width: 315px;
	margin-top: 30px;
	text-align: center;
	animation: rise .3s cubic-bezier(0.215, 0.61, 0.355, 1) .45s backwards;
}
#visual .detail .btn > a {
	padding: 18px 0 23px;
	font-size: 2.8rem;
	font-weight: 700;
}
#visual .detail .btn > a::after {
	right: 30px;
	width: 30px;
	height: 30px;
}
@keyframes rise {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

#concept {
	padding: 120px 0 100px;
	font-weight: 700;
	text-align: center;
}
#concept .copy {
	font-size: 3.8rem;
}
#concept p {
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 2.4;
	margin-top: 60px;
}

#info {
	background: #f2f4f6;
	padding: 30px 0;
}
#info .wrap {
	width: 82vw;
	margin: auto;
}
.info_p{
	margin-bottom: 10px;
	font-size: 2vw;
}
.info_title{
	margin-bottom: 5px;
	font-size: 3vw;
}

.info_top_title {
	color: #249eda;
	font-size: 4.0rem;
	font-size: 6.5vw;
	text-align: center;
	margin-bottom: 30px;
}


#service {
	background: #f2f4f6;
	padding: 125px 0 120px;
}
#service .wrap {
	max-width: 1075px;
	margin: auto;
}
.section .title {
	color: #249eda;
	font-size: 4.0rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 70px;
}
.section_text {
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 100px;
}
.service_list .block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.service_list .block + .block {
	margin-top: 60px;
}

.service_list .info_block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.service_list .info_block + .info_block {
	margin-top: 30px;
}
.service_list .info_block p {
	font-size: 3.5vw;
	line-height: 1.5;
}

.service_list .info_block .info_p{
	margin-bottom: 10px;
	font-size: 2vw;
}

.service_list .block .image {
	position: relative;
	width: 301px;
	height: 170px;
	background: #e5f8fa;
	margin-right: 50px;
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	border-radius: 10px;
	overflow: hidden;
}
.service_list #service01 .image {
	background: url(../img/step1.png) no-repeat center / cover;
}
.service_list #service01 .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 24px;
	margin: auto;
	width: 138px;
}
.service_list #service02 .image {
	background: url(../img/step1.png) no-repeat center / cover;
}
.service_list #service03 .image {
	background: radial-gradient(#6be0e2, #52a4bf);
}
.service_list #service03 .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 135px;
}
.service_list #service04 .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 108px;
}

.service_list #service05 .image img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60%;
}
.service_list .block_wrap {
	width: 724px;
}
.service_list .block_title {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 20px;
}
.service_list .block_title .number {
	position: relative;
	width: 42px;
	height: 42px;
	background: #6990b5;
	border-radius: 50%;
	margin-right: 15px;
	color: #fff;
	font-family: 'Open Sans', sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0;
}
.service_list .block_title .number > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.service_list .block_title .headline {
	font-size: 2.2rem;
	font-weight: 700;
}
.service_list .block p {
	font-size: 1.7rem;
	line-height: 1.6;
	text-justify: inter-ideograph;
	text-align: justify;
}
#service .notes {
	font-size: 1.0rem;
	line-height: 2;
	text-align: right;
	margin-top: 60px;
}

#app {
	background: #def3f3;
	padding: 70px 0 85px;
	text-align: center;
}
#app p {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.5;
}
#app .logo {
	width: 300px;
	margin: 25px auto 0;
}
#app .btn {
	width: 330px;
	margin: 35px auto 0;
}
#app .btn > a {
	font-size: 1.9rem;
}
#app .btn > a::after {
	width: 23px;
	height: 23px;
}

#howto {
	background: #f2f4f6;
	padding: 130px 0 120px;
}
#howto .wrap {
	max-width: 1075px;
	margin: auto;
}
.howto_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.howto_list .block {
	background: #fff;
	width: 332px;
	border-radius: 10px;
	box-sizing: border-box;
	overflow: hidden;
}
.howto_list .block_wrap {
	padding: 30px 35px 35px;
}
.howto_list .block .headline {
	background: #6990b5;
	padding: 18px 0;
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
}
.howto_list .block .image {
	background: #e7f1fa;
	padding-top: 25px;
	text-align: center;
}
.howto_list .block .image img {
	width: 199px;
	margin: auto;
}
.howto_list .block p {
	font-size: 1.5rem;
	line-height: 1.5;
	text-justify: inter-ideograph;
	text-align: justify;
}

#faq {
	background: #eafbfb;
	padding: 130px 0 120px;
}
#faq .wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 1075px;
	margin: auto;
}
#faq .wrap .title {
	margin: 0;
	text-align: left;
	white-space: nowrap;
}
#faq .wrap .title small {
	display: block;
	color: #5f626e;
	font-family: 'Open Sans', sans-serif;
	font-size: 2.3rem;
	font-weight: 700;
	margin-top: 15px;
}
.faq_list {
	width: 695px;
	text-justify: inter-ideograph;
	text-align: justify;
}
.faq_list dd + dt {
	margin-top: 55px;
}
.faq_list > * {
	position: relative;
	padding-left: 45px;
}
.faq_list > *::before {
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Open Sans', sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
}
.faq_list dt::before {
	content: "Q.";
	color: #1a9f9f;
}
.faq_list dd::before {
	content: "A.";
}
.faq_list dt {
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.6;
}
.faq_list dd {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.9;
	margin-top: 25px;
}
.faq_list dd a {
	color: #339999;
	border-bottom: 1px solid #339999;
	padding-bottom: 3px;
	opacity: 1;
	transition: all 0.3s cubic-bezier(.19,1,.22,1);
}
.faq_list dd a:hover {
	border-bottom-color: #eafbfb;
	padding-bottom: 0;
}

#footer {
	position: relative;
	padding: 45px 0 50px;
	text-align: center;
}

#footer .logo{
	width: 300px;
	margin: 25px auto 0;
}

/*================================
 footer 20230217追加
================================*/
/* .Footer_inner {
    max-width: 1075px;
	width: 82vw;
    margin: auto;
}

.Footer_links {
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 0 15px 0;
	padding: 0;
}
.Footer_links_flex {
	display: flex;
	justify-content: space-between;
}
.Footer_links_item {
	font-size: 1.2rem;
	margin-top: 26px;
	padding-left: 16px;
	padding-right: 16px;
	border-right: 1px solid #999;
}
.Footer_links_item:first-child {
	margin-left: 80px;
}
.Footer_links_item:last-child {
	border-right: none;
}
.Footer_links_item a {
    background-color: transparent;
	color:#999;
}
.Footer_links_item a:hover{color: #5f626e; text-decoration:none;}

#footer_policy {
	margin-top: 60px;
	margin-bottom: -20px;
} */

/*================================
 footer 20230217追加
================================*/
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 40px;
	width: 80px;
	opacity: 0;
	transition: opacity 0.3s cubic-bezier(.19,1,.22,1), transform 0.3s cubic-bezier(.19,1,.22,1);
}
#pagetop a {
	color: #6990b5;
}
#pagetop img {
	position: relative;
	top: 0;
	transition: top 0.3s cubic-bezier(.19,1,.22,1);
}
#pagetop:hover img {
	top: -5px;
}
#pagetop span {
	display: block;
	margin-top: 10px;
	font-family: 'Open Sans', sans-serif;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0;
}
#copyright {
	font-size: 1.2rem;
	line-height:2;
}
#copyright > span + span {
	margin-left: 10px;
}

.scroll-in,
.scroll-in-item {
	opacity: 0;
	transform: scale(0.7);
	transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1) .15s;
	will-change: transform, opacity;
}


/* =====================================================
SP
===================================================== */

@media screen and (max-width:768px) {
	body {
		font-size: 3.5vw;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}

	#header {
		padding: 15px 0 18px;
	}
	#header .wrap {
		width: 90vw;
	}
	#logo {
		width: 46vw;
	}
	.btn > a {
		padding: 9px 0 11px;
		font-size: 3.5vw;
	}
	.btn > a::after {
		right: 4vw;
		width: 3.2vw;
		height: 3.2vw;
	}
	#header .btn > a {
		padding-left: 6vw;
		padding-right: 8.5vw;
	}
	#header .btn > a > span:first-child {
		display: none;
	}
	#header .btn > a > span + span {
		border-left: none;
		padding-left: 0;
		margin-left: 0;
	}
	#header .btn > a::after {
		right: 2.9vw;
	}

	#visual .wrap {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		width: 90vw;
		padding: 40px 0 120px;
	}
	#visual .image {
		width: 34vw;
	}
	#visual .swiper-container {
		max-height: 64vw;
	}
	#visual .swiper-slide {
		min-height: 64vw;
	}
	#visual .detail {
		position: static;
		width: 52vw;
		margin-bottom: 20px;
	}
	#visual .detail .logo {
		width: 34vw;
	}
	#visual .detail .copy {
		font-size: 5.5vw;
		margin-top: 15px;
	}
	#visual .detail .copy small {
		font-size: 3.5vw;
		margin: 1vw;
	}
	#visual .detail .copy > span {
		padding-bottom: 5px;
	}
	#visual .detail .copy > span::after {
		height: 0.9vw;
		border-radius: 21vw;
	}
	#visual .detail > p {
		font-size: 4vw;
		line-height: 1.5;
		margin-top: 25px;
	}
	#visual .detail .free {
		top: 30px;
		right: -1vw;
		width: 16.5vw;
		height: 16.5vw;
	}
	#visual .detail .free > p {
		font-size: 5vw;
	}
	#visual .detail .free > p > small {
		font-size: 2.5vw;
		margin-bottom: 1px;
	}
	#visual .detail .btn {
		position: absolute;
		bottom: 40px;
		left: 0;
		right: 0;
		width: 68vw;
		margin: auto;
	}
	#visual .detail .btn > a {
		padding: 13px 0 16px;
		font-size: 5.5vw;
	}
	#visual .detail .btn > a::after {
		right: 5vw;
		width: 5.5vw;
		height: 5.5vw;
	}

	#concept {
		padding: 60px 0;
	}
	#concept .copy {
		font-size: 6.5vw;
	}
	#concept p {
		font-size: 4vw;
		margin-top: 30px;
	}
	#service {
		padding: 80px 0;
	}
	#service .wrap {
		width: 82vw;
	}
	.section .title {
		font-size: 6.5vw;
		margin-bottom: 60px;
	}
	.section_text {
		font-size: 4vw;
		line-height: 1.6;
		margin-top: -20px;
		margin-bottom: 60px;
	}
	.service_list {
		display: block;
	}
	.service_list .block {
		display: block;
	}
	.service_list .block .image {
		width: 100%;
		height: 42vw;
		margin-right: 0;
		margin-bottom: 20px;
		border-radius: 1vw;
	}
	.service_list #service01 .image img {
		left: 7.5vw;
		width: 36vw;
	}
	.service_list #service03 .image img {
		width: 32vw;
	}
	.service_list #service04 .image img {
		width: 22vw;
	}
	.service_list .block_wrap {
		width: 100%;
	}
	.service_list .block_title {
		margin-bottom: 10px;
	}
	.service_list .block_title .number {
		width: 8vw;
		height: 8vw;
		margin-right: 3vw;
		font-size: 4.5vw;
	}
	.service_list .block .headline {
		position: relative;
		font-size: 4.5vw;
	}
	.service_list .block p {
		font-size: 3.5vw;
		line-height: 1.5;
	}
	#service .notes {
		font-size: 2.5vw;
		line-height: 1.6;
		margin-top: 60px;
	}
	#service .notes p + p {
		margin-top: 10px;
	}

	#app {
		padding: 60px 0;
	}
	#app p {
		font-size: 4.2vw;
		line-height: 1.6;
	}
	#app .logo {
		width: 68vw;
		margin-top: 20px;
	}
	#app .btn {
		width: 68vw;
		margin-top: 25px;
	}
	#app .btn > a {
		padding: 13px 0 15px;
		font-size: 4.5vw;
	}
	#app .btn > a::after {
		width: 4.5vw;
		height: 4.5vw;
	}

	#howto {
		padding: 80px 0;
	}
	#howto .wrap {
		width: 82vw;
	}
	.howto_list {
		display: block;
	}
	.howto_list .block {
		width: 100%;
		border-radius: 2vw;
	}
	.howto_list .block + .block {
		margin-top: 40px;
	}
	.howto_list .block .headline {
		padding: 15px 0;
		font-size: 4.5vw;
	}
	.howto_list .block .image img {
		width: 75vw;
	}
	.howto_list .block_wrap {
		padding: 30px 8vw 35px;
	}
	.howto_list .block p {
		font-size: 3.5vw;
	}

	#faq {
		padding: 80px 0 170px;
	}
	#faq .wrap {
		display: block;
		width: 82vw;
	}
	#faq .wrap .title {
		margin-bottom: 40px;
	}
	#faq .wrap .title small {
		font-size: 5vw;
		margin-top: 8px;
	}
	.faq_list {
		width: 100%;
	}
	.faq_list dd + dt {
		margin-top: 30px;
	}
	.faq_list dt {
		font-size: 3.8vw;
		line-height: 1.5;
		padding-left: 7vw;
	}
	.faq_list dd {
		font-size: 3.5vw;
		line-height: 1.7;
		margin-top: 10px;
		padding-left: 7vw;
	}
	.faq_list > *::before {
		font-size: 4.5vw;
		line-height: 1.2;
	}

	#footer {
		padding: 30px 0;
	}
	#pagetop {
		position: absolute;
		top: -145px;
		bottom: auto;
		width: 16vw;
		opacity: 1;
	}
/*================================
 footer 20230217追加
================================*/
	.Footer_links_item:first-child {
		margin-left: 5px;
	}
/*================================
 footer 20230217追加
================================*/
	#pagetop span {
		margin-top: 8px;
		font-size: 2.5vw;
	}
	#copyright {
		font-size: 2.6vw;
		line-height: 1.6;
	}
	#copyright > span {
		display: block;
	}
}

.Form {
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
  }
  @media screen and (max-width: 480px) {
	.Form {
	  margin-top: 40px;
	}
  }
  .Form-Item {
	border-top: 1px solid #ddd;
	padding-top: 24px;
	padding-bottom: 24px;
	width: 100%;
	display: flex;
	align-items: center;
  }
  @media screen and (max-width: 480px) {
	.Form-Item {
	  padding-left: 14px;
	  padding-right: 14px;
	  padding-top: 16px;
	  padding-bottom: 16px;
	  flex-wrap: wrap;
	  width:auto;

	}
  }
  .Form-Item:nth-child(5) {
	border-bottom: 1px solid #ddd;
  }
  .Form-Item-Label {
	width: 100%;
	max-width: 248px;
	letter-spacing: 0.05em;
	font-weight: bold;
	font-size: 18px;
	text-align: left;
  }
  @media screen and (max-width: 480px) {
	.Form-Item-Label {
	  max-width: inherit;
	  display: flex;
	  align-items: center;
	  font-size: 15px;
	  text-align: left;
	}
  }
  .Form-Item-Label.isMsg {
	margin-top: 8px;
	margin-bottom: auto;
  }
  @media screen and (max-width: 480px) {
	.Form-Item-Label.isMsg {
	  margin-top: 0;
	}
  }
  .Form-Item-Label-Required {
	border-radius: 6px;
	margin-right: 8px;
	padding-top: 8px;
	padding-bottom: 8px;
	width: 48px;
	display: inline-block;
	text-align: center;
	background: #5bc8ac;
	color: #fff;
	font-size: 14px;
  }
  @media screen and (max-width: 480px) {
	.Form-Item-Label-Required {
	  border-radius: 4px;
	  padding-top: 4px;
	  padding-bottom: 4px;
	  width: 32px;
	  font-size: 10px;
	}
  }
  .Form-Item-Input {
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-left: 40px;
	padding-left: 1em;
	padding-right: 1em;
	height: 48px;
	flex: 1;
	width: 100%;
	max-width: 410px;
	background: #eaedf2;
	font-size: 18px;
  }
  @media screen and (max-width: 480px) {
	.Form-Item-Input {
	  margin-left: 0;
	  margin-top: 18px;
	  height: 40px;
	  flex: inherit;
	  font-size: 15px;
	}
  }
  .Form-Item-Textarea {
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-left: 40px;
	padding-left: 1em;
	padding-right: 1em;
	height: 216px;
	flex: 1;
	width: 100%;
	max-width: 410px;
	background: #eaedf2;
	font-size: 18px;
  }
  @media screen and (max-width: 480px) {
	.Form-Item-Textarea {
	  margin-top: 18px;
	  margin-left: 0;
	  height: 200px;
	  flex: inherit;
	  font-size: 15px;
	}
  }
  .Form-Btn {
	border: none;
	border-radius: 6px;
	margin-top: 32px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	width: 280px;
	display: block;
	letter-spacing: 0.05em;
	background: #5bc8ac;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
  }
  @media screen and (max-width: 480px) {
	.Form-Btn {
	  border: none;
	  margin-top: 24px;
	  padding-top: 8px;
	  padding-bottom: 8px;
	  width: 160px;
	  font-size: 16px;
	}
  }
  @media screen and (max-width: 280px) {
  .Footer_links_item {
    text-align: center;
}
}