@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	margin-bottom: -10rem;
	position: relative;
	height: 96rem;
	padding: 19.8rem 2rem 0;
	border-radius: 0 0 8rem 8rem;
	background: linear-gradient(180deg, #BFEFF8 9.18%, #FFF 82.83%);
	box-sizing: border-box;
}
.mainVisual::before {
	position: absolute;
	left: 50%;
	bottom: -6rem;
	background: url(../img/index/main_visual_arrow.webp) no-repeat;
	background-size: 28rem auto;
	width: 28rem;
	height: 6rem;
	content: "";
	transform: translateX(-50%);
}
.mainVisual .pho {
	position: absolute;
	right: 8.1rem;
	top: 1.1rem;
	width: 48.22%;
	max-width: 92.6rem;
}
.mainVisual .textBox {
	max-width: 148rem;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	color: #0B697E;
}
.mainVisual .title {
	margin-bottom: 8.6rem;
	position: relative;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.28rem;
}
.mainVisual .title::before {
	position: absolute;
	left: -3.1rem;
	bottom: -6.6rem;
	background: url(../img/index/main_visual_bg01.webp) no-repeat;
	background-size: 70.5rem auto;
	width: 70.5rem;
	height: 8.3rem;
	content: "";
}
.mainVisual .title span {
	background: -webkit-linear-gradient(#fff,#fff) repeat-x center bottom / 100% 2rem;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
.mainVisual .en {
	margin: 0 0.6rem 0.6rem;
	letter-spacing: 0.704rem;
}
.mainVisual .ttl {
	margin-bottom: 2.2rem;
	font-size: 9.4rem;
	font-weight: 900;
	line-height: 1.2
}
.mainVisual .ttl .sml01 {
	font-size: 5rem;
}
.mainVisual .ttl .sml02 {
	font-size: 7.4rem;
}
.mainVisual .ttl .color {
	margin-top: 0.1rem;
	display: block;
	color: #1DCEE1;
}
.mainVisual .price {
	margin-left: 0.1rem;
	width: fit-content;
	align-items: flex-end;
	position: relative;
}
.mainVisual .price::before {
	position: absolute;
	left: 0;
	bottom: -2.7rem;
	right: 6rem;
	height: 4rem;
	background-color: #E8FF39;
	content: "";
}
.mainVisual .price .num {
	position: relative;
	font-size: 20rem;
	font-weight: 700;
	line-height: 0.8;
	letter-spacing: -0.8rem;
}
.mainVisual .price .jp {
	margin: 0 6.4rem -2.4rem 0.9rem;
	position: relative;
	font-size: 7rem;
	font-weight: 900;
	line-height: 1.2;
}
.mainVisual .price .jp .sml {
	width: 14rem;
	position: absolute;
	left: 0.2rem;
	top: -5.9rem;
	padding: 1.4rem 0 1.7rem;
	font-size: 2.4rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.096rem;
	border-radius: 0.8rem;
	background: #0B697E;
}
.mainVisual .price .num01 {
	margin: 0 0.2rem -0.9rem 0;
	font-size: 11rem;
	letter-spacing: -0.44rem;
}
.mainVisual .price .num01::before {
	position: absolute;
	left: -5.2rem;
	bottom: -1.3rem;
	background: url(../img/common/line01.webp) no-repeat;
	background-size: 5.1rem auto;
	width: 5.1rem;
	height: 17.5rem;
	content: "";
}
.mainVisual .price .num01 .sml {
	position: absolute;
	left: 0.1rem;
	top: -2.9rem;
	font-size: 2.4rem;
	letter-spacing: 0.096rem;
	font-family: "Noto Sans JP", sans-serif;
}
.mainVisual .scroll {
	position: absolute;
	bottom: 10rem;
	left: 4.5rem;
}
.mainVisual .scroll a {
	position: absolute;
	left: -0.6rem;
	bottom: 10.8rem;
	color: #0B697E;
	font-size: 1.2rem;
	letter-spacing: 0.072rem;
	writing-mode: vertical-lr;
}
.mainVisual .scroll:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -0.2rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background:#0B697E;
	animation:
	circlemove 1.6s ease-in-out infinite,
	cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
	0%{bottom:10rem;}
	100%{bottom:0px;}
}
@keyframes cirlemovehide{
	0%{opacity:0}
	50%{opacity:1;}
	80%{opacity:0.9;}
	100%{opacity:0;}
}
.mainVisual .scroll:after {
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:1px;
	height: 10rem;
	background:#0B697E;
}
#main .homepage {
	padding: 24.2rem 0 20.3rem;
	background: url(../img/index/homepage_bg.webp) no-repeat bottom center;
	background-size: cover;
}
#main .homepage .textList > li {
	width: 45.9%;
	padding-bottom: 6.3rem;
}
#main .homepage .ttl {
	padding: 0 0 2.9rem 4.9rem;
	color: #E8FF39;
	font-size: 3.2rem;
	font-weight: 900;
	text-decoration: underline;
	background: url(../img/common/icon03.webp) no-repeat left top 0.2rem;
	background-size: 4.6rem auto;
}
#main .homepage .dotList {
	color: #fff;
	font-size: 1.8rem;
}
#main .homepage .dotList li {
	padding: 0 0 1.3rem 1.8rem;
	position: relative;
}
#main .homepage .dotList li::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "・";
}
#main .renewal {
	padding: 1px 0 40.6rem;
	background: url(../img/index/renewal_bg01.webp) no-repeat bottom center;
	background-size: 100% auto;
}
#main .renewal .bgBox {
	margin: -18.4rem 0 4.6rem;
	padding: 7.6rem 0 6.2rem;
	position: relative;
	text-align: center;
	color: #fff;
	background: url(../img/index/renewal_bg02.webp) no-repeat center center;
	background-size: cover;
	box-shadow: 0 1rem 2rem 0 rgba(0, 0, 0, 0.20);
	border-radius: 1.6rem;
}
#main .renewal .bgBox::before {
	position: absolute;
	left: 1rem;
	top: 1rem;
	right: 1rem;
	bottom: 1rem;
	border: 0.2rem solid #fff;
	box-sizing: border-box;
	border-radius: 1.2rem;
	content: "";
}
#main .renewal .bgBox h3 {
	width: fit-content;
	margin: 0 auto 4.5rem;
	padding: 0.8rem 0 0 8rem;
	font-size: 4rem;
	font-weight: 900;
	background: url(../img/common/icon04.webp) no-repeat left top;
	background-size: 7.2rem auto;
}
#main .renewal .bgBox p {
	font-size: 2.4rem;
	line-height: 1.8;
	letter-spacing: 0.24rem;
	font-feature-settings: "palt";
}
#main .renewal .bgBox span {
	color: #E8FF39;
}
#main .renewal .ttl {
	margin-bottom: 6rem;
	text-align: center;
	color: #FD8D24;
	font-size: 7rem;
	font-weight: 900;
	line-height: 1.8;
}
#main .renewal .ttl .sml {
	font-size: 5rem;
}
#main .renewal .ttl .txt {
	margin-top: 0.4rem;
	display: block;
}
#main .renewal .ttl .en {
	margin: 0 1.5rem 0 -1.5rem;
	color: #1DCEE1;
	font-size: 9rem;
	line-height: 1;
	letter-spacing: 0.18rem;
}
#main .renewal .title {
	margin-bottom: 4.7rem;
	text-align: center;
	font-size: 2.6rem;
	line-height: 1.95;
	letter-spacing: 0.26rem;
	font-feature-settings: "palt";
}
#main .renewal .title span {
	color: #1DCEE1;
	font-size: 3.6rem;
	font-weight: 900;
	letter-spacing: 0.36rem;
}
#main .renewal li {
	width: calc(100% / 3);
	padding: 0.2rem 0 1rem;
	box-sizing: border-box;
	border-right: 0.2rem dotted #0B697E;
}
#main .renewal li:last-child {
	border-right: none;
}
#main .renewal li .img {
	width: 24rem;
	height: 24rem;
	margin: 0 auto;
	padding-bottom: 3rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(180deg, #1DCEE1 0%, #10717B 100%);
	box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.10);
	border-radius: 100%;
	box-sizing: border-box;
}
#main .renewal li .img img {
	height: 6.8rem;
	width: auto;
}
#main .renewal li .img span {
	position: absolute;
	left: 0;
	bottom: 3.8rem;
	width: 100%;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.28rem;
	color: #fff;
}
#main .renewal li p {
	margin: 4rem 5.7rem 0;
	line-height: 1.8;
	letter-spacing: 0.128rem;
	font-feature-settings: "palt";
}
#main .company {
	padding: 15.8rem 0 38rem;
	position: relative;
	background: url(../img/index/company_bg.webp) no-repeat bottom center;
	background-size: 100% auto;
}
#main .company .topPho {
	max-width: 100rem;
	width: 52.08%;
	position: absolute;
	right: -9rem;
	top: -3rem;
}
#main .company .textBox {
	margin: 0 5rem 10.2rem;
	position: relative;
}
#main .company .ttl {
	margin-bottom: 3.7rem;
	color: #0B697E;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.6;
}
#main .company .title {
	margin-bottom: 4.5rem;
	color: #1DCEE1;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.8;
}
#main .company .text {
	line-height: 2.2;
	font-size: 1.8rem;
	letter-spacing: 0.18rem;
	font-feature-settings: "palt";
}
#main .company .text span {
	color: #1DCEE1;
	font-weight: 700;
}
#main .company .textInfo {
	width: 120rem;
	margin: 0 auto 10rem;
}
#main .company .textUl {
	margin-bottom: 3rem;
}
#main .company .textUl li {
	display: flex;
	justify-content: flex-end;
}
#main .company .textUl p {
	position: relative;
	width: 23.33%;
	height: 10rem;
	margin-left: 2.505%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.096rem;
	background-color: #8E8E8E;
	font-feature-settings: "palt";
	border-radius: 0.8rem;
}
#main .company .textUl p::before {
	position: absolute;
	left: 50%;
	bottom: -1rem;
	width: 2rem;
	height: 1rem;
	background-color: #8E8E8E;
	content: "";
	transform: translateX(-50%);
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
#main .company .textUl .en {
	padding-bottom: 0.7rem;
	color: #fff;
	font-size: 4.2rem;
	letter-spacing: 0.084rem;
	background-color: #1DCEE1;
}
#main .company .textUl .en::before {
	background-color: #1DCEE1;
}
#main .company .textList li {
	display: flex;
	position: relative;
}
#main .company .textList li:not(:last-child)::before {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	border-bottom: 0.2rem dotted #0B697E;
	content: "";
}
#main .company .textList p {
	width: 23.33%;
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #444;
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.176rem;
	background-color: #F8F8F8;
	font-feature-settings: "palt";
}
#main .company .textList .num {
	font-size: 3.2rem;
	letter-spacing: 0.256rem;
}
#main .company .textList .line {
	margin-top: -0.8rem;
	font-size: 1.7rem;
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
}
#main .company .textList p:first-child {
	width: 25%;
	color: #0B697E;
	font-weight: 700;
	background-color: transparent;
}
#main .company .textList p:nth-child(2),
#main .company .textList p:nth-child(3) {
	margin-right: 2.505%;
}
#main .company .textList p:last-child {
	color: #E8FF39;
	font-weight: 700;
	background-color: #1DCEE1;
}
#main .company .textList li:first-child p {
	border-radius: 0.8rem 0.8rem 0 0;
}
#main .company .textList li:last-child p {
	border-radius: 0 0 0.8rem 0.8rem;
}
#main .company .h3Ttl {
	width: 46rem;
	margin: 0 auto 4rem;
	height: 15.9rem;
	padding-top: 3.2rem;
	text-align: center;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.128rem;
	background: url(../img/index/company_arrow.webp) no-repeat center center;
	background-size: 100% 100%;
	box-sizing: border-box;
}
#main .company .listUl {
	position: relative;
	z-index: 2;
}
#main .company .listUl li {
	width: 30rem;
	padding: 3rem 0 2.5rem;
	text-align: center;
	border-radius: 1.6rem;
	border: 0.2rem solid #0B697E;
	background-color: #FFF;
	box-sizing: border-box;
}
#main .company .listUl p {
	width: fit-content;
	position: relative;
	margin: 0 auto 2.3rem;
	padding: 0 0.8rem 0.7rem;
	color: #0B697E;
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 0.192rem;
	border-bottom: 0.2rem solid #0B697E;
}
#main .company .listUl p::before {
	position: absolute;
	left: 50%;
	bottom: -1.3rem;
	background: url(../img/common/line04.webp) no-repeat;
	background-size: 1.4rem auto;
	width: 1.4rem;
	height: 1.3rem;
	content: "";
	margin-left: -1.3rem;
}
#main .company .listUl .ico {
	width: 23.4rem;
	margin: 0 auto;
}
#main .service {
	margin-top: -25.3rem;
	position: relative;
}
#main .service .bg01 {
	position: absolute;
	right: 50%;
	top: 27rem;
	width: 69.6rem;
	margin-right: -94.4rem;
}
#main .service .bg02 {
	position: absolute;
	left: 50%;
	bottom: 32.8rem;
	width: 56.5rem;
	margin-left: -85.7rem;
}
#main .service .bg03 {
	position: absolute;
	left: 50%;
	top: -23.5rem;
	width: 73.6rem;
	margin-left: -91.4rem;
}
#main .service .bgBox {
	height: 158.7rem;
	padding-top: 9.5rem;
	position: relative;
	background: url(../img/index/service_bg01.webp) no-repeat top center;
	background-size: 192rem auto;
	box-sizing: border-box;
}
#main .service .content {
	width: 124.6rem;
	position: relative;
}
#main .service .topText {
	position: absolute;
	z-index: 1;
	right: -9.5rem;
	top: -10.6rem;
	width: 34rem;
	height: 21.3rem;
	padding-top: 2.9rem;
	text-align: center;
	font-size: 2.8rem;
	color: #fff;
	line-height: 1.1;
	letter-spacing: 0.392rem;
	background: url(../img/index/service_bg05.webp) no-repeat;
	background-size: 100% 100%;
	box-sizing: border-box;
}
#main .service h2 {
	margin: 0 0 1.2rem 4.3rem;
	width: fit-content;
	position: relative;
	color: #fff;
	font-weight: 900;
	font-size: 4.6rem;
}
#main .service h2::before {
	position: absolute;
	left: calc(100% + 1rem);
	top: 52%;
	width: 58rem;
	height: 0.2rem;
	background-color: #fff;
	content: "";
}
#main .service h2 .sml {
	margin-left: 0.8rem;
	font-size: 3rem;
}
#main .service h2 .en {
	margin-top: -2.1rem;
	display: inline-block;
	vertical-align: middle;
	font-size: 6.4rem;
	letter-spacing: 0.128rem;
}
#main .service .listUl > li {
	padding-bottom: 1.3rem;
	position: relative;
}
#main .service .listUl h3 {
	margin: 0 4.1rem 0.6rem;
	color: #1DCEE1;
	font-size: 3rem;
	font-weight: 900;
	letter-spacing: 0.12rem;
	font-feature-settings: "palt";
}
#main .service .listUl h3 .en {
	padding-right: 8.4rem;
	color: #FD8D24;
	font-size: 3.6rem;
	letter-spacing: 0;
	background: url(../img/common/icon08.webp) no-repeat right 1.2rem top 62%;
	background-size: 4rem auto;
}
#main .service .listUl h3 .num {
	margin-left: 1rem;
	font-size: 5rem;
	display: inline-block;
	transform: scale(1.5, 1);
}
#main .service .listUl h3 .jp {
	margin-top: -1.4rem;
	display: inline-block;
	vertical-align: middle;
}
#main .service .listUl .pho {
	position: absolute;
	right: 15.2rem;
	top: -0.3rem;
	width: 30rem;
}
#main .service .textList li {
	margin-bottom: 1.2rem;
	padding: 0.7rem 10.5rem 1rem;
	position: relative;
	font-size: 2.2rem;
	color: #fff;
	letter-spacing: 0.22rem;
	font-feature-settings: "palt";
	background: linear-gradient(90deg, #147389 0%, rgba(80, 218, 233, 0) 100%);
}
#main .service .textList li::before {
	position: absolute;
	left: 8.1rem;
	top: 0.7rem;
	content: "●";
}
#main .case {
	padding: 9.5rem 0 10.5rem;
}
#main .case .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  -o-transition-timing-function: linear;
  transition-timing-function: linear; 
}
#main .case .photo {
	margin: 0 2rem;
	width: 52rem;
	height: 50rem;
	padding-top: 1.9rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1.6rem;
	background-color: #F8F8F8;
	box-sizing: border-box;
}
#main .case .photo p {
	position: absolute;
	left: 3.2rem;
	top: 2.4rem;
	color: #0B697E;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.18rem;
}
#main .case .photo img {
	width: 50.3rem;
}
#main .price {
	padding: 23rem 0 16.2rem;
	background: #E8FF39 url(../img/index/price_arrow.webp) no-repeat center top/28rem;
}
#main .price .content {
	width: auto;
	max-width: 162rem;
	position: relative;
}
#main .price .content:after {
	position: absolute;
	right: 0.6rem;
	bottom: -17.4rem;
	width: 15.3rem;
	height: 29.5rem;
	background: url(../img/index/price_img.webp) no-repeat left top/100%;
	content: "";
}
#main .price .ttl {
	margin: 0 auto 5.5rem;
	padding-left: 10.5rem;
	width: fit-content;
	position: relative;
	color: #0B697E;
	font-size: 5rem;
	font-weight: 900;
	letter-spacing: 0.5rem;
	text-align: center;
}
#main .price .ttl .note {
	padding-top: 5rem;
	position: absolute;
	left: -7.8rem;
	top: -9.9rem;
	width: 16rem;
	height: 16rem;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.2;
	font-feature-settings: "palt";
	text-align: center;
	letter-spacing: 0.224rem;
	background-color: #0B697E;
	border-radius: 50%;
}
#main .price .ttl .note:after {
	position: absolute;
	bottom: 0.4rem;
	right: 0.3rem;
	width: 2.6rem;
	height: 2.3rem;
	transform: rotate(45deg);
	background-color: #0B697E;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	content: "";
}
#main .price .subBox {
	margin: 0 auto;
	max-width: 120rem;
	position: relative;
	z-index: 2;
}
#main .price .tabBox {
	margin-bottom: 2rem;
	border: 2px solid #0B697E;
	border-radius: 1.6rem;
	overflow: hidden;
}
#main .price table {
	width: 100%;
	border-spacing: 0;
}
#main .price .tabBox th,
#main .price .tabBox td {
	padding: 2.6rem 3.5rem 2.5rem;
	color: #0B697E;
	font-size: 2.2rem;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.088rem;
	font-feature-settings: "palt";
	text-align: right;
	vertical-align: middle;
	background-color: #fff;
	border-bottom: 2px solid #0B697E;
}
#main .price .tabBox th {
	width: 25%;
	text-align: center;
	background: #C9E2E7;
	border-right: 2px solid #0B697E;
}
#main .price .tabBox td .large {
	font-size: 3.6rem;
	letter-spacing: 0.144rem;
	display: inline-block;
}
#main .price .tabBox .tdStyle {
	padding-top: 1.8rem;
	padding-bottom: 1.5rem;
}
#main .price .tabBox tr:last-child td, #main .price .tabBox .borNone {
	border-bottom: none;
}
#main .price .notes {
	color: #0B697E;
	line-height: 1.2;
	text-align: right;
	letter-spacing: 0.064rem;
	font-feature-settings: "palt";
}
#main .step {
	padding: 18rem 0 12.5rem;
}
#main .step .content {
	max-width: 120rem;
}
#main .step .bgBox {
	padding: 9.4rem 10rem 10rem;
	border-radius: 1.6rem;
	background-color: #E9EDFC;
}
#main .step .headLine02 img {
	margin: 2.9rem auto 0;
	display: block;
	width: 40.9rem;
}
#main .stepList {
	position: relative;
	padding-top: 8.1rem;
	border-top: 2px dashed #0B697E;
}
#main .stepList:before {
	position: absolute;
	left: -5.4rem;
	top: -12.8rem;
	width: 10rem;
	height: 17.4rem;
	z-index: 1;
	background: url(../img/index/step_img.webp) no-repeat left top/100%;
	content: "";
}
#main .stepList li {
	display: flex;
}
#main .stepList li:not(:last-child) {
	margin-bottom: 9rem;
	position: relative;
}
#main .stepList li:not(:last-child):after {
	position: absolute;
	left: 5.3rem;
	bottom: -7.6rem;
	width: 1.4rem;
	height: 6.2rem;
	background: url(../img/index/step_arrow.webp) no-repeat left top/100%;
	content: "";
}
#main .stepList .txtBox {
	padding: 0 2rem 0 14.7rem;
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	position: relative;
}
#main .stepList .txtBox01 {
	padding-top: 2.5rem;
}
#main .stepList .txtBox h3 {
	margin-bottom: 0.7rem;
	color: #0B697E;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.4;
}
#main .stepList .txtBox h3 .num {
	position: absolute;
	margin-top: -0.4rem;
	padding-top: 2.2rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 12.2rem;
	min-height: 10.5rem;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 400;
	text-align: center;
	background: url(../img/index/step_num_bg.webp) no-repeat center top/100%;
}
#main .stepList .txtBox h3 .num .large {
	display: block;
	font-size: 5rem;
	font-weight: 900;
	transform: scale(1.5, 1);
	font-family: "Antonio", sans-serif;
}
#main .stepList .txtBox p {
	color: #0B697E;
	line-height: 1.75;
	letter-spacing: 0.16rem;
	font-feature-settings: "palt";
}
#main .stepList .phoBox {
	width: 32rem;
}
#main .stepList .phoBox img {
	width: 100%;
	border-radius: 0.8rem;
}
#main .faq .content {
	max-width: 120rem;
}
#main .qaTtl {
	margin-bottom: 7.8rem;
	font-size: 3rem;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
}
#main .qaTtl .en {
	margin-bottom: 2.5rem;
	display: block;
	color: #1DCEE1;
	font-size: 12rem;
	font-weight: 400;
	line-height: 1;
}
#main .qaTtl .sml {
	margin: 0 1.4rem;
	font-size: 4rem;
	font-weight: 900;
	letter-spacing: 0;
	font-family: "Noto Sans JP", sans-serif;
}
#main .qaList {
	position: relative;
}
#main .qaList:before {
	position: absolute;
	right: 1.5rem;
	top: -12.7rem;
	width: 10rem;
	height: 14.2rem;
	z-index: 1;
	background: url(../img/index/faq_img.webp) no-repeat left top/100%;
	content: "";
}
#main .qaList li:not(:last-child) {
	margin-bottom: 5.2rem;
}
#main .qaList .ttl {
	padding: 1.5rem 5rem;
	position: relative;
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	border-radius: 4rem;
	background: linear-gradient(90deg, #50DAE9 0%, #3A9BC6 100%);
}
#main .qaList .ttl:before {
	margin-right: 2.1rem;
	flex-shrink: 0;
	width: 5rem;
	height: 5rem;
	padding: 0 0.2rem 1rem 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border-radius: 50%;
	content: "Q";
	color: #1DCEE1;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1;
	font-family: "Agbalumo", system-ui;
}
#main .qaList .txt {
	padding: 3rem 5rem;
	letter-spacing: 0.16rem;
	line-height: 1.75;
	font-feature-settings: "palt";
}
#main {
	margin-bottom: 17.3rem;
}
@media all and (min-width: 897px)and (max-width: 1600px) {
	.mainVisual .title::before {
		left: -1.1rem;
		background-size: 67.5rem auto;
	}
	.mainVisual .scroll {
		left: 1rem;
	}
}
@media all and (min-width: 897px) {
	#main .service .listUl .pho02 {
		right: -6.8rem;
		top: 0.7rem;
		width: 28rem;
	}
	#main .service .listUl .pho03 {
		right: 12.2rem;
		top: 2.7rem;
		width: 24rem;
	}
	#main .case .headLine02 {
		margin-bottom: 10rem;
	}
	#main .case .headLine02 .jp {
		margin-top: 3.9rem;
		display: block;
		font-size: 7rem;
		letter-spacing: 0.7rem;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: -11rem;
		height: auto;
		padding: 8rem 2.2rem 0.1rem;
		border-radius: 0 0 4rem 4rem;
	}
	.mainVisual::before {
		bottom: -3rem;
		background-size: 14rem auto;
		width: 14rem;
		height: 3rem;
	}
	.mainVisual .pho {
		margin: 2.8rem -0.7rem -2.7rem;
		position: static;
		width: auto;
	}
	.mainVisual .textBox {
		max-width: inherit;
	}
	.mainVisual .title {
		margin-bottom: 2.8rem;
		font-size: 1.4rem;
		line-height: 1.45;
		letter-spacing: 0.14rem;
	}
	.mainVisual .title::before {
		left: -1.2rem;
		bottom: -2.1rem;
		background-image: url(../img/index/main_visual_bg01_sp.webp);
		background-size: 20.6rem auto;
		width: 20.6rem;
		height: 2.6rem;
	}
	.mainVisual .title span {
		background-size: 100% 1rem;
	}
	.mainVisual .en {
		margin: 0 -0.2rem 0.1rem;
		letter-spacing: 0.2rem;
		font-size: 1rem;
	}
	.mainVisual .ttl {
		margin: 0 -0.4rem 0.3rem;
		font-size: 3.85rem;
	}
	.mainVisual .ttl .sml01 {
		font-size: 2rem;
	}
	.mainVisual .ttl .sml02 {
		font-size: 3.05rem;
	}
	.mainVisual .ttl .color {
		margin-top: 0;
	}
	.mainVisual .price {
		margin: 0 -3rem 0 -0.5rem;
	}
	.mainVisual .price::before {
		bottom: -1.7rem;
		right: 2.6rem;
		height: 2rem;
	}
	.mainVisual .price .num {
		font-size: 9.6rem;
		letter-spacing: -0.4rem;
	}
	.mainVisual .price .jp {
		margin: 0 3rem -1.2rem 0.4rem;
		font-size: 3.4rem;
	}
	.mainVisual .price .jp .sml {
		width: 6.8rem;
		top: -2.9rem;
		padding: 0.7rem 0 0.9rem;
		font-size: 1.2rem;
		letter-spacing: 0.03rem;
		border-radius: 0.4rem;
	}
	.mainVisual .price .num01 {
		margin: 0 0.2rem -0.6rem 0;
		font-size: 5.4rem;
		letter-spacing: -0.22rem;
	}
	.mainVisual .price .num01::before {
		left: -2.4rem;
		bottom: -0.6rem;
		background-size: 2.5rem 8.5rem;
		width: 2.5rem;
		height: 8.5rem;
	}
	.mainVisual .price .num01 .sml {
		top: -1.5rem;
		font-size: 1.2rem;
		letter-spacing: 0.04rem;
	}
	.mainVisual .scroll {
		display: none;
	}
	#main .homepage {
		padding: 17.5rem 0 28.6rem;
		background-image: url(../img/index/homepage_bg_sp.webp);
	}
	#main .homepage .textList {
		display: block;
	}
	#main .homepage .textList > li {
		width: auto;
		padding-bottom: 1.8rem;
	}
	#main .homepage .ttl {
		padding: 0 0 1.3rem 3.1rem;
		font-size: 1.8rem;
		background-position: left top;
		background-size: 2.8rem auto;
	}
	#main .homepage .dotList {
		font-size: 1.4rem;
	}
	#main .homepage .dotList li {
		padding: 0 0 0.5rem 1.4rem;
		letter-spacing: 0.056rem;
	}
	#main .renewal {
		padding-bottom: 10.1rem;
	}
	#main .renewal .bgBox {
		margin: -25.5rem 0 3.9rem;
		padding: 3.8rem 0 4.4rem;
		background-image: url(../img/index/renewal_bg02_sp.webp);
	}
	#main .renewal .bgBox h3 {
		margin: 0 auto 1.8rem;
		padding: 5.6rem 0 0;
		font-size: 2rem;
		background-position: center top;
		background-size: 5.2rem auto;
	}
	#main .renewal .bgBox h3 span {
		margin: -1px 0;
		display: block;
		font-size: 2.4rem;
	}
	#main .renewal .bgBox p {
		font-size: 1.6rem;
		line-height: 1.7;
		letter-spacing: 0.16rem;
	}
	#main .renewal .ttl {
		margin-bottom: 2.1rem;
		font-size: 2.8rem;
		line-height: 1.4;
	}
	#main .renewal .ttl .sml {
		font-size: 2.4rem;
	}
	#main .renewal .ttl .txt {
		margin-top: 2rem;
	}
	#main .renewal .ttl .en {
		margin: -0.3rem 0 0.8rem;
		display: block;
		font-size: 4.4rem;
		letter-spacing: 0.088rem;
	}
	#main .renewal .title {
		margin-bottom: 1.1rem;
		font-size: 1.6rem;
		line-height: 1.6;
		letter-spacing: 0.16rem;
	}
	#main .renewal .title span {
		font-size: 2rem;
		letter-spacing: 0.2rem;
	}
	#main .renewal ul {
		display: block;
	}
	#main .renewal li {
		width: auto;
		padding: 3rem 0 2.8rem;
		border-right: none;
		border-bottom: 0.2rem dotted #0B697E;
	}
	#main .renewal li:last-child {
		border: none;
	}
	#main .renewal li .img {
		width: 20rem;
		height: 20rem;
		padding-bottom: 1.7rem;
	}
	#main .renewal li .img img {
		height: 5.7rem;
	}
	#main .renewal li .img span {
		bottom: 3.2rem;
		font-size: 2.4rem;
		letter-spacing: 0.24rem;
	}
	#main .renewal li p {
		margin: 1.9rem 0 0;
		text-align: justify;
		letter-spacing: 0.112rem;
	}
	#main .company {
		padding: 0.1rem 0 16.1rem;
		background-image: url(../img/index/company_bg_sp.webp);
	}
	#main .company .topPho {
		margin: -1.7rem 2rem 1.8rem 0;
		width: auto;
		max-width: inherit;
		position: static;
	}
	#main .company .topPho img {
		width: 100%;
	}
	#main .company .textBox {
		margin: 0 0 4rem;
	}
	#main .company .ttl {
		margin: 0 -2rem 1.8rem 0;
		font-size: 2.4rem;
		line-height: 1.4;
	}
	#main .company .title {
		margin-bottom: 1.9rem;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	#main .company .text {
		text-align: justify;
		line-height: 2;
		font-size: 1.4rem;
		letter-spacing: 0.056rem;
	}
	#main .company .scroll {
		margin: 0 -2rem 11.1rem 0;
	}
	.simpleBar ::-webkit-scrollbar {
		display: none !important;
	}
	#main .company .textInfo {
		width: 72rem;
		margin: 0;
	}
	#main .company .textUl {
		margin-bottom: 3rem;
	}
	#main .company .textUl p {
		width: 27.77%;
		height: 8rem;
		margin-left: 1.42%;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: 0.072rem;
	}
	#main .company .textUl .en {
		padding-bottom: 0.7rem;
		font-size: 3rem;
		letter-spacing: 0.06rem;
	}
	#main .company .textList p {
		width: 27.77%;
		height: 8rem;
		font-size: 1.6rem;
		line-height: 1.4;
		letter-spacing: 0.128rem;
	}
	#main .company .textList .num {
		font-size: 2.8rem;
		letter-spacing: 0.128rem;
	}
	#main .company .textList .line {
		font-size: 1.5rem;
	}
	#main .company .textList p:first-child {
		width: 13.85%;
	}
	#main .company .textList p:nth-child(2),
	#main .company .textList p:nth-child(3) {
		margin-right: 1.42%;
	}
	#main .company .h3Ttl {
		width: 27.5rem;
		margin: 0 auto 1.4rem;
		height: 9.5rem;
		padding-top: 1.9rem;
		font-size: 2.4rem;
		letter-spacing: 0.096rem;
	}
	#main .company .listUl {
		margin-top: -1.6rem;
	}
	#main .company .listUl li {
		width: calc(50% - 0.8rem);
		margin-top: 1.6rem;
		padding: 1.8rem 0 2.2rem;
	}
	#main .company .listUl p {
		margin: 0 auto 1.9rem;
		padding: 0 0.6rem 0.6rem;
		font-size: 1.8rem;
		letter-spacing: 0.144rem;
	}
	#main .company .listUl p::before {
		margin-left: -1rem;
	}
	#main .company .listUl .ico {
		width: 12.4rem;
	}
	#main .service {
		margin-top: -4.3rem;
	}
	#main .service .bg01 {
		display: none;
	}
	#main .service .bg02 {
		display: none;
	}
	#main .service .bg03 {
		left: -24.4rem;
		top: -19.7rem;
		width: 52.2rem;
		margin-left: 0;
	}
	#main .service .bgBox {
		height: auto;
		padding: 2.2rem 0 1.6rem;
		position: relative;
		background-image: url(../img/index/service_bg01_sp.webp);
		background-size: cover;
		border-top: 1.4rem solid #000;
		border-bottom: 1.4rem solid #000;
	}
	#main .service .bgBox::before {
		position: absolute;
		left: 0;
		height: 0.5rem;
		top: -1.9rem;
		width: 100%;
		background: url(../img/index/service_line.webp) repeat-x left top;
		background-size: 0.5rem auto;
		content: "";
	}
	#main .service .bgBox .content {
		position: static;
	}
	#main .service .topText {
		right: -5.5rem;
		top: -8.3rem;
		width: 19rem;
		height: 12.2rem;
		padding: 1.2rem 2.8rem 0 0;
		font-size: 1.6rem;
		letter-spacing: 0.16rem;
		background-image: url(../img/index/service_bg05_sp.webp);
	}
	#main .service h2 {
		margin: 0 0 0.1rem 0rem;
		font-size: 2rem;
	}
	#main .service h2::before {
		display: none;
	}
	#main .service h2 .sml {
		margin-left: 0.3rem;
		font-size: 1.6rem;
	}
	#main .service h2 .en {
		margin-top: -1.6rem;
		font-size: 3.2rem;
		letter-spacing: 0.064rem;
	}
	#main .service .listUl > li {
		padding-bottom: 0.4rem;
	}
	#main .service .listUl h3 {
		margin: 0 0 0.5rem;
		font-size: 1.8rem;
		letter-spacing: 0.072rem;
	}
	#main .service .listUl h3 .en {
		padding-right: 5.3rem;
		font-size: 1.8rem;
		background-position: right 0.7rem top 62%;
		background-size: 3rem auto;
	}
	#main .service .listUl h3 .num {
		margin-left: 1rem;
		font-size: 3rem;
	}
	#main .service .listUl h3 .jp {
		margin-top: -0.6rem;
	}
	#main .service .listUl .pho {
		right: -4.5rem;
		top: -0.6rem;
		width: 12.8rem;
	}
	#main .service .listUl .pho02 {
		top: 2rem;
	}
	#main .service .listUl .pho03 {
		top: 6rem;
	}
	#main .service .textList {
		margin: 0 -2rem;
	}
	#main .service .textList li {
		margin-bottom: 0.6rem;
		padding: 0.7rem 3.5rem 0.7rem;
		font-size: 1.4rem;
		letter-spacing: 0.14rem;
		background: linear-gradient(90deg, #147389 0%, rgba(20,115,137, 0.5) 100%);
	}
	#main .service .textList li::before {
		left: 2rem;
	}
	#main .service .btmPho img {
		width: 100%;
	}
	#main .case {
		padding: 1.5rem 0 6rem;
	}
	#main .case .headLine02 {
		margin-bottom: 3.9rem;
	}
	#main .case .headLine02 .en {
		padding: 0 2.4rem;
		background-position: left bottom 0.2rem, right bottom 0.2rem;
	}
	#main .case .headLine02 .jp {
		margin-top: 2.3rem;
		display: block;
		letter-spacing: 0.096rem;
	}
	#main .case .photo {
		margin: 0 1rem;
		width: 35.5rem;
		height: 34.1rem;
		padding-top: 4.2rem;
	}
	#main .case .photo p {
		left: 2.2rem;
		top: 1.6rem;
		font-size: 1.4rem;
		letter-spacing: 0.14rem;
	}
	#main .case .photo img {
		width: 33.7rem;
	}
	#main .price {
		padding: 6.3rem 0 5.3rem;
		background-size: 14rem;
	}
	#main .price .content:after {
		right: -3.3rem;
		bottom: -6rem;
		width: 5.5rem;
		height: 13rem;
		background-image: url(../img/index/price_img_sp.webp);
		z-index: 2;
	}
	#main .price .ttl {
		margin-bottom: 1.8rem;
		padding-left: 0;
		font-size: 2.4rem;
		line-height: 1.4;
		letter-spacing: 0.24rem;
	}
	#main .price .ttl .note {
		padding-top: 3.2rem;
		left: -5.9rem;
		top: -7.3rem;
		width: 10rem;
		height: 10rem;
		font-size: 1.8rem;
		letter-spacing: 0.144rem;
	}
	#main .price .ttl .note:after {
		bottom: 0.2rem;
		right: 0.1rem;
		width: 2.6rem;
		height: 2.5rem;
	}
	#main .price .tabBox {
		margin-bottom: 1.4rem;
		border-radius: 0.8rem;
	}
	#main .price .tabBox th,
	#main .price .tabBox td {
		float: left;
		width: 100%;
		padding: 0.8rem 2rem;
		font-size: 1.8rem;
		line-height: 1.3;
		letter-spacing: 0.072rem;
		text-align: center;
	}
	#main .price .tabBox th {
		width: 100%;
		font-size: 1.6rem;
		border-right: none;
	}
	#main .price .tabBox td .large {
		font-size: 3.2rem;
		letter-spacing: 0.128rem;
	}
	#main .price .tabBox .tdStyle {
		padding-top: 0.7rem;
		padding-bottom: 1rem;
	}
	#main .price .tabBox .borNone {
		border-bottom: 2px solid #0B697E;
	}
	#main .price .notes {
		font-size: 1.2rem;
		text-align: left;
		letter-spacing: 0.048rem;
	}
	#main .step {
		padding: 6rem 0 5.4rem;
	}
	#main .step .bgBox {
		padding: 5rem 2rem 4rem;
		border-radius: 0.8rem;
	}
	#main .step .headLine02 img {
		margin-top: 1.5rem;
		width: 16.2rem;
	}
	#main .stepList {
		padding-top: 3.1rem;
	}
	#main .stepList:before {
		left: -3rem;
		top: -7rem;
		width: 5.4rem;
		height: 9.4rem;
	}
	#main .stepList li {
		display: block;
	}
	#main .stepList li:not(:last-child) {
		margin-bottom: 3.1rem;
	}
	#main .stepList li:not(:last-child):after {
		display: none;
	}
	#main .stepList .txtBox {
		padding: 0 0 2rem;
		display: block;
	}
	#main .stepList .txtBox01 {
		padding-top: 0;
	}
	#main .stepList .txtBox h3 {
		margin: 0 0 1.1rem -0.8rem;
		display: flex;
		align-items: center;
		font-size: 2rem;
	}
	#main .stepList .txtBox h3 .num {
		position: static;
		margin: 0 1.2rem 0 0;
		padding-top: 1rem;
		transform: translateY(0);
		width: 6.2rem;
		min-height: 5.6rem;
		font-size: 1.6rem;
		background-image: url(../img/index/step_num_bg_sp.webp);
	}
	#main .stepList .txtBox h3 .num .large {
		font-size: 2.8rem;
	}
	#main .stepList .txtBox p {
		line-height: 1.7;
		letter-spacing: 0.14rem;
	}
	#main .stepList .phoBox {
		width: auto;
	}
	#main .qaTtl {
		margin: 0 2rem 3.8rem 0;
		font-size: 2.4rem;
	}
	#main .qaTtl .en {
		margin-bottom: 1.9rem;
		font-size: 6rem;
	}
	#main .qaTtl .sml {
		margin: 0 0.6rem;
		font-size: 3rem;
	}
	#main .qaList:before {
		right: 1.2rem;
		top: -7.5rem;
		width: 6rem;
		height: 8.5rem;
	}
	#main .qaList li:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .qaList .ttl {
		padding: 1.3rem 2rem;
		font-size: 1.6rem;
		background: linear-gradient(90deg, #50DAE9 20%, #3A9BC6 100%);
	}
	#main .qaList .ttl:before {
		margin-right: 1.3rem;
		width: 3rem;
		height: 3rem;
		padding: 0 0.1rem 0.5rem 0;
		font-size: 1.8rem;
	}
	#main .qaList .txt {
		padding: 1rem 0;
		letter-spacing: 0.14rem;
		line-height: 1.7;
	}
	#main {
		margin-bottom: 4.5rem;
	}
}