@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.r-f-btn{
	position:fixed;
	z-index:10;
	right:20px;
	bottom:20px;
	width:150px;
	z-index:50;
}

.works{
	padding:170px 20px;
	background:#231F20;
	color:#fff;
}

.works .box{
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.works .box::after{
	content:"";
	height:40px;
    width: calc(100% + 40px);
    background: linear-gradient(#231F20, #231F20) left / 70px 100% no-repeat, linear-gradient(#231F20, #231F20) right / 70px 100% no-repeat;
	position:absolute;
	left:-20px;
	top:-170px;
}

.works h2{
	font-size:32px;
	line-height:1.6;
	padding:0 0 30px 0;
	font-weight:600;
	position:relative;
	text-align:center;
}

.works h2:after{
	content:"";
	width:134px;
	height:135px;
	margin:0 auto;
	background:url(../img/top/works-tit-ico.png) no-repeat center center;
	position:absolute;
	left:0;
	right:0;
	top:-150px;
}

.works .col1{
	background:#FFBA15 !important;
}
.works .col2{
	background:#4ECDF4 !important;
}
.works .col3{
	background:#FF88A0 !important;
}
.works .col4{
	background:#7FCB7C !important;
}

.works .tag-list{
	text-align:center;
	padding:0 0 5px 0;
}

.works .tag-list > li{
	display:inline-block;
	padding:10px 15px;
	border-radius:4px;
	color:#000000;
	margin:5px;
}

.works-slider-wrapper {
	position: relative;
	padding: 20px 0;
}

.works-slider {
	width: 100%;
	overflow: hidden;
}

.works-slider .txt-box{
	padding:0 20px;
}

.works-slider .tag1{
	margin-top:-15px;
}

.works-slider .tag1 > li{
	display:inline-block;
	padding:5px 10px;
	border-radius:4px;
	background:#FFF0E4;
	color:#000000;
	margin:0 5px 5px 0;
	font-size:12px;
}

.works-slider h3{
	font-size:16px;
	padding:5px 0 0 0;
}

.works-slider .url a{
	font-size:12px;
	color:#AAAAAA;
	display:inline-block;
	text-decoration:underline;
}

.works-slider h4{
	font-size:11px;
	color:#AAAAAA;
	padding:5px 0;
}

.works-slider .tag2 > li{
	font-size:10px;
	border-radius:30px;
	display:inline-block;
	background:rgba(248,248,248,0.17);
	margin:0 5px 5px 0;
	padding:5px 10px;
}

.works-slider-wrapper .swiper-button-prev,
.works-slider-wrapper .swiper-button-next {
	position: absolute;
	width: 64px;
	height: 64px;
	margin: 0;
	z-index: 10;
	cursor: pointer;
	transform: translateY(-50%);
}

.works-slider-wrapper .swiper-button-prev::after,
.works-slider-wrapper .swiper-button-next::after {
	content: "";
	width: 64px;
	height: 64px;
	background: url(../img/top/slide-arrow.png) no-repeat center center;
	background-size: contain;
	display: block;
}

.works-slider-wrapper .swiper-button-prev::after {
	transform: rotate(180deg);
}

.works-slider-wrapper .swiper-button-prev {
	left: -32px;
}
.works-slider-wrapper .swiper-button-next {
	right: -32px;
}
@media screen and (max-width: 800px) {
.r-f-btn{
	bottom:120px;
	width:80px;
}	
	
.works{
	padding:140px 40px 40px 40px;
}

.works .box{
	max-width:inherit;
}
	
.works .box::after{
	display:none;
}

.works h2{
	font-size:24px;
}

.works h2:after{
	width:84px;
	height:85px;
	background:url(../img/top/works-tit-ico.png) no-repeat center center;
	background-size:contain;
	top:-100px;
}

.works-slider .txt-box{
	padding:0 10px;
}


.works-slider-wrapper .swiper-button-prev,
.works-slider-wrapper .swiper-button-next {
	width: 40px;
	height: 40px;
}

.works-slider-wrapper .swiper-button-prev::after,
.works-slider-wrapper .swiper-button-next::after {
	width: 40px;
	height: 40px;
}

.works-slider-wrapper .swiper-button-prev {
	left: -20px;
}
.works-slider-wrapper .swiper-button-next {
	right: -20px;
}
}

.home .mv{
	position:relative;
	height:100vh;
	background:url(../img/top/mv-bg.webp) no-repeat top center;
	background-size:cover;
	z-index:100;
}

.home .mv .discount-ico{
	position:absolute;
	top:145px;
	right:130px;
}

.home .mv .discount-ico{
	animation: float 3s ease-in-out infinite alternate;
}

@keyframes float {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}

.home .mv .logo{
	position:absolute;
	left:30px;
	top:30px;
}

.home .mv h1{
	position:absolute;
	bottom:18%;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}

.smooth{
	padding:140px 20px;
	background:url(../img/top/smooth-bg.jpg);
	position:relative;
}

.smooth:after,
.smooth:before{
	content:"";
	width:130px;
	height:65px;
	background:#fff;
	position:absolute;
	bottom:0;
}

.smooth:after{
	left:0;
}

.smooth:before{
	right:0;
}

.smooth .box .txt{
	color:#fff;
	font-size:20px;
	line-height:2;
	padding:10px 0 0 360px;
}

.problem{
	padding:40px 20px 130px 20px;
}

.problem .box{
	padding:60px 20px;
	background:#FCF34B;
}

.problem .box .bg01 li{
	width:20px;
	height:20px;
	background:#fff;
	position:absolute;
}

.problem .box .bg01 li:nth-child(1){
	left:0;
	top:0;
}

.problem .box .bg01 li:nth-child(2){
	right:0;
	top:0;
}

.problem .box .bg01 li:nth-child(3){
	right:0;
	bottom:0;
}

.problem .box .bg01 li:nth-child(4){
	left:0;
	bottom:0;
}

.problem .box .bg02{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	width:350px;
	top:-70px;
	text-align:center;
}

.problem .box .bg02 li{
	width:130px;
	height:20px;
	background:#FCF34B;
	margin: 0 auto;
}

.problem .box .bg02 li:nth-child(2){
	width:220px;
}

.problem .box .bg02 li:nth-child(3){
	width:260px;
}

.problem .box .bg02 li:nth-child(4){
	width:300px;
	height:10px;
	position:relative;
}

.problem .box .bg02 li:nth-child(4):after{
	content:"";
	width:20px;
	height:20px;
	background:#fff;
	position:absolute;
	left:-20px;
	bottom:-10px;
}

.problem .box .bg02 li:nth-child(4):before{
	content:"";
	width:20px;
	height:20px;
	background:#fff;
	position:absolute;
	right:-20px;
	bottom:-10px;
}

.problem .box .bg03{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	width:340px;
	bottom:-160px;
}

.problem .box .bg03 li{
	width:100%;
	height:65px;
	background:#FCF34B;
	margin: 0 auto;
	position:relative;
}

.problem .box .bg03 li:nth-child(1):after{
	content:"";
	width:20px;
	height:20px;
	background:#fff;
	position:absolute;
	left:-20px;
	top:0;
}

.problem .box .bg03 li:nth-child(1):before{
	content:"";
	width:20px;
	height:20px;
	background:#fff;
	position:absolute;
	right:-20px;
	top:0;
}

.problem .box .bg03 li:nth-child(2){
	width:300px;
	height:50px;
}

.problem .box .bg03 li:nth-child(3){
	width:260px;
	height:20px;
}

.problem .box .bg03 li:nth-child(4){
	width:220px;
	height:20px;
}

.problem .box .bg03 li:nth-child(5){
	width:180px;
	height:20px;
}

.problem .box h2{
	text-align:center;
}

.problem .box .box-in{
	max-width:850px;
	margin:30px auto 0;
}

.problem .box .box-in > li{
	padding:40px 65px 20px 65px;
	background:url(../img/top/problem-bg.png) repeat-x top center;
}

.problem .box .box-in > li:last-child{
	padding:40px 65px;
	background:url(../img/top/problem-bg.png) repeat-x top center,url(../img/top/problem-bg.png) repeat-x bottom center;
}

.problem .box .box-in > li span{
	font-size:20px;
	font-weight:600;
	line-height:1.6;
	padding:0 0 0 50px;
	background:url(../img/top/problem-ico.png) no-repeat left top;
}

.problem .txt-box{
	text-align:center;
	margin-top:-50px;
	position:relative;
	z-index:2;
}

.problem .txt-box .txt{
	font-size:20px;
	line-height:1.8;
	padding:10px 0 0 0;
}

.problem .txt-box .txt span{
	color:#F520E7;
}

.strength{
	padding:0 20px;
	max-width:1200px;
	margin:0 auto;
	background:#F8F0EA;
	position:relative;
	margin-bottom:-40px;
}

.strength .border{
	position:absolute;
}

.strength .border span{
	position:relative;
	width:50px;
	height:130px;
	background:#fff;
	display:block;
}

.strength .border span:after{
	content:"";
	width:20px;
	height:20px;
	position:absolute;
	right:-20px;
	background:#fff;
}

.strength .border03 span:after,
.strength .border04 span:after{
	background:#231F20;
}

.strength .border01{
	left:0;
	top:0;
}

.strength .border02{
	right:0;
	top:0;
	transform: scale(-1, 1);
}

.strength .border03{
	left:0;
	bottom:0;
	transform: scale(1, -1);
}

.strength .border04{
	right:0;
	bottom:0;
	transform: scale(-1, -1);
}

.strength .box{
	padding:90px 20px 100px 20px;
	position:relative;
	text-align:center;
}

.strength .box .ico{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-80px;
	width:113px;
	animation: buru 1s linear infinite;
	scale: 1;
}

@keyframes buru{
 0%{transform:translateX(0)}
 7%{transform:translateX(-10px)}
 14%{transform:translateX(10px)}
 20%{transform:translateX(-10px)}
 32%{transform:translateX(10px)}
 40%{transform:translateX(0px)}
}

.strength .box h2{
	display:inline-block;
	position:relative;
	font-size:32px;
	line-height:1.6;
	font-weight:700;
	margin:0 0 70px 0;
}

.strength .box h2:after{
	content:"";
	width:94px;
	height:32px;
	background:url(../img/top/strength-ico02.png) no-repeat left top;
	position:absolute;
	left:-140px;
	top:11px;
}

.strength .box h2:before{
	content:"";
	width:94px;
	height:32px;
	background:url(../img/top/strength-ico02.png) no-repeat left top;
	position:absolute;
	right:-140px;
	top:11px;
	transform: scale(-1, 1);
}

.strength .box dl{
	margin:0 0 40px 0;
	position:relative;
	background:#fff;
	border:7px solid #000;
}

.strength .box dl:after,
.strength .box dl:before{
	content:"";
	width:7px;
	height:7px;
	background:#F8F0EA;
	position:absolute;
	top:-7px;
	z-index:2;
}

.strength .box dl:after{
	left:-7px;
}

.strength .box dl:before{
	right:-7px;
}

.strength .box dl dt{
	position:relative;
	background:#FD8DDE;
	padding:20px;
	font-size:20px;
	line-height:1.6;
	font-weight:700;
}

.accordion-title{
	cursor:pointer;
}

.accordion-title:before{
	position: absolute;
	content: "";
	top:50%;
	right:30px;
	width:22px;
	height:22px;
	background:url(../img/top/arrow-off.png) no-repeat center center;
	margin:-11px 0 0 0;
	z-index:9;
	transition: all 0.3s;
}

.accordion-title.open:before {
	background:url(../img/top/arrow-on.png) no-repeat center center;
}

.accordion-title:after{
	position: absolute;
	content: "";
	top:-40px;
	left:15px;
	width:58px;
	height:76px;
	background:url(../img/top/strength-ico03.png) no-repeat center center;
	z-index:9;
	transition: all 0.3s;
}

.accordion-text{
	display: none;
}

.strength .box dl dd{
	position:relative;
	background:#fff;
	padding:30px;
	font-size:15px;
	line-height:1.6;
	text-align:left;
	border-top:7px solid #000;
}

.strength .b-box{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.strength .b-box dl{
	width:48%;
}

.tool{
	padding:100px 20px 0 20px;
	text-align:center;
}

.tool .box{
	background-color: #fff;
	background-image: linear-gradient(45deg, #F6F6F6 25%, transparent 25%, transparent 75%, #F6F6F6 75%),
                    linear-gradient(45deg, #F6F6F6 25%, transparent 25%, transparent 75%, #F6F6F6 75%);
	background-size: 24px 24px;
	background-position: 0 0, 12px 12px;
	padding:0 20px 100px 20px;
}

.tool .box h2{
	font-size:32px;
	line-height:1.6;
	padding:100px 0 0 0;
	font-weight:600;
	position:relative;
	top:-30px;
}

.tool .box h2:after{
	content:"";
	width:48px;
	height:80px;
	background:url(../img/top/tool-tit-ico.png) no-repeat center center;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
}

.tool .box ul li{
	width:190px;
	display:inline-block;
	padding:10px 0 0 0;
}

.tool .box ul li h3{
	font-size:15px;
	padding:5px 0 0 0;
}

.service{
	padding:80px 20px 0 20px;
	text-align:center;
}

.service h2{
	font-size:32px;
	line-height:1.6;
	padding:100px 0 30px 0;
	font-weight:600;
	position:relative;
}

.service h2:after{
	content:"";
	width:65px;
	height:81px;
	background:url(../img/top/service-tit-ico.png) no-repeat center center;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
}

.service .box ul li{
	width:160px;
	display:inline-block;
	padding:10px 0 0 0;
}

.service .box ul li h3{
	font-size:15px;
	padding:5px 0 0 0;
}

.service .box .ico-bg{
	width:640px;
	height:20px;
	background:url(../img/top/service-ico.png) repeat-x center left;
	margin:60px auto 0;
}

.flow{
	padding:100px 0;
	text-align:center;
}

.flow .box{
	position:relative;
}

.flow h2{
	display:inline-block;
	font-size:32px;
	line-height:1.6;
	font-weight:700;
	padding:50px 150px 40px 40px;
	background:url(../img/top/flow-tit-ico.png) no-repeat center center;
}

.flow ul{
	display:flex;
	flex-wrap:wrap;
	text-align:left;
}

.flow ul li{
	width:200px;
	padding:40px 0 0 0;
	position:relative;
}

.flow ul li:nth-child(2){
	margin:0 200px;
}

.flow ul li:nth-child(2):after{
	content:"";
	width:77px;
	height:22px;
	background:url(../img/top/flow-arrow.png) no-repeat center center;
	position:absolute;
	left:-130px;
	top:110px;
}

.flow ul li:nth-child(2):before{
	content:"";
	width:77px;
	height:22px;
	background:url(../img/top/flow-arrow.png) no-repeat center center;
	position:absolute;
	right:-130px;
	top:110px;
}

.flow ul li:nth-child(5){
	margin:0 0 0 200px;
}

.flow ul li:nth-child(5):after{
	content:"";
	width:77px;
	height:22px;
	background:url(../img/top/flow-arrow.png) no-repeat center center;
	position:absolute;
	left:-130px;
	top:110px;
}

.flow ul li dl dt{
	font-size:20px;
	line-height:1.6;
	padding:10px 0;
	font-weight:700;
	display:inline-block;
	position:relative;
}

.flow ul li:nth-child(5) dl dt:after{
	content:"";
	background:url(../img/top/flow-ico.png) no-repeat center center;
	width:16px;
	height:23px;
	position:absolute;
	right:-25px;
	top:13px;
}

.flow ul li dl dd{
	font-size:15px;
	line-height:1.6;
}

.flow .box .img{
	position:absolute;
	bottom:-100px;
	right:-50px;
}

.member{
	padding:120px 20px 80px 20px;
	text-align:center;
	position:relative;
}

.member:after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
    width: 640px;
    height: 20px;
    background: url(../img/top/service-ico.png) repeat-x center left;
}

.member .box h2{
	font-size:32px;
	line-height:1.6;
	padding:130px 0 0 0;
	font-weight:600;
	position:relative;
}

.member .box h2:after{
	content:"";
	width:229px;
	height:120px;
	background:url(../img/top/member-tit-ico.png) no-repeat center center;
	background-size:contain;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
}

.member .box ul{
	display:flex;
	justify-content:center;
	padding:50px 0 0 0;
}

.member .box ul > li{
	background:url(../img/top/member-bg.jpg) no-repeat bottom center #FFF2E6;
	background-size:contain;
	box-sizing:border-box;
	width:200px;
	position:relative;
	padding:0 20px 40px 20px;
	margin:24px;
}

.member .box ul > li .img{
	position:relative;
	top:-16px;
	width:120px;
	margin:0 auto;
}

.member .box ul > li h3{
	font-size:20px;
	font-weight:700;
	color:#3BC0E8;
}

.member .box ul > li:nth-child(3) h3,
.member .box ul > li:nth-child(4) h4{
	color:#F88E7B;
}

.member .box ul > li .tag{
	padding:10px 0;
	display:flex;
	align-items:center;
	justify-content:center;
}

.member .box ul > li .tag span{
	font-size:12px;
	color:#fff;
	display:inline-block;
	padding:5px 10px;
	border-radius:20px;
	background:#4357BA;
}

.member .box ul > li:last-child .tag span{
	background:#009F9D;
}

.member .box ul > li .tag em{
	font-size:13px;
	color:#4357BA;
	padding:0 0 0 10px;
}

.member .box ul > li .tag .txt{
	line-height:1.6;
	font-size:15px;
}

.faq{
	padding:0 20px 80px 20px;
	text-align:center;
}

.faq .box{
	position:relative;
	background:rgba(129,212,250,0.24);
	padding:80px 20px;
}

.faq .box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: 
    linear-gradient(#fff, #fff) left / 40px 100% no-repeat,
    linear-gradient(#fff, #fff) right / 40px 100% no-repeat;
}

.faq .box::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: 
    linear-gradient(#fff, #fff) left / 40px 100% no-repeat,
    linear-gradient(#fff, #fff) right / 40px 100% no-repeat;
}

.faq .box h2{
	font-size:32px;
	line-height:1.6;
	font-weight:600;
	position:relative;
}

.faq .box h2:after{
	content:"";
	width:65px;
	height:65px;
	background:url(../img/top/faq-tit-ico.png) no-repeat center center;
	background-size:contain;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-110px;
}

.faq .box-in{
	max-width:840px;
	margin:0 auto;
}

.faq .box-in dl{
	padding:50px 50px 65px 50px;
	position:relative;
}

.faq .box-in dl:before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
    width: 100%;
    height: 14px;
    background: url(../img/top/faq-ico.png) repeat-x center left;
}

.faq .box-in dl dt{
	color:#3B98E8;
	font-size:20px;
	font-weight:700;
}

.faq .box-in dl dd{
	line-height:1.8;
	font-size:15px;
	padding:20px 0 0 0;
	text-align:left;
}

.reservation{
	padding:0 20px 100px 20px;
	text-align:center;
}

.reservation ul{
	display:flex;
	justify-content:center;
	padding:0 0 70px 0;
}

.reservation ul li{
	padding:0 10px;
}

.reservation ul li a{
	display:block;
	width:400px;
	padding:30px 0;
	background:#FFD56F;
	font-size:27px;
	font-weight:700;
	border-radius:4px;
	position:relative;
}

.reservation ul li:nth-child(2) a{
	background:#7CCBBC;
}

.reservation ul li a:after{
	content:"";
    background: url(../img/top/reservation-tit-ico.png) no-repeat center center / 100%;
	width:34px;
	height:37px;
	position:absolute;
	left:0;
	right:0;
	top:-17px;
	margin:0 auto;
}

.reservation ul li:nth-child(2) a:after{
    background: url(../img/top/contact-tit-ico.png) no-repeat center center / 100%;
	width:33px;
	height:31px;
	position:absolute;
	top:-15px;
}

.reservation ul li a:before{
	content:"";
    background: url(../img/top/reservation-arrow.png) no-repeat center center / 100%;
	width:21px;
	height:12px;
	position:absolute;
	left:0;
	right:0;
	bottom:10px;
	margin:0 auto;
}

.reservation .box-in{
	border:10px solid #FA7425;
	padding:40px 20px 0 20px;
	background:#FFD56F;
	position:relative;
}

.reservation .box-in::before {
	content: "";
	position: absolute;
	width: calc(100% + 20px);
	top: -10px;
	left: -10px;
	height: 20px;
	background: 
    linear-gradient(#fff, #fff) left / 20px 100% no-repeat,
    linear-gradient(#fff, #fff) right / 20px 100% no-repeat;
	z-index:10;
}

.reservation .box-in::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: -10px;
	width: calc(100% + 20px);
	height: 20px;
	background: 
    linear-gradient(#fff, #fff) left / 20px 100% no-repeat,
    linear-gradient(#fff, #fff) right / 20px 100% no-repeat;
}

.reservation .box-in h2{
	font-size:32px;
	line-height:1.6;
	font-weight:600;
	position:relative;
}

.reservation .box-in h2:after{
	content:"";
	width:79px;
	height:90px;
	background:url(../img/top/reservation-tit-ico.png) no-repeat center center / 100%;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-100px;
}

.reservation .box-in .txt{
	font-size:20px;
	line-height:1.8;
	padding:10px 0;
}

.reservation .box-in .txt span{
	color:#F520E7;
}

.reservation .box-in dl{
	width:600px;
	margin:0 auto;
	padding:0 0 120px 0;
	position:relative;
}

.reservation .box-in dl dt{
	width:415px;
	padding:35px 0 35px 40px;
	box-sizing:border-box;
	text-align:left;
	background:url(../img/top/reservation-huki.png) no-repeat center center / 100%;
	font-size:17px;
}

.reservation .box-in dl dt span{
	color:#F520E7;
}

.reservation .box-in dl dd{
	position:absolute;
	width:257px;
	bottom:40px;
	right:30px;
	z-index:1;
}

.reservation .box-in .btn{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:-50px;
	z-index:2;
}

.reservation .box-in .btn a{
	display:flex;
	justify-content:center;
	align-items:center;
	height:100px;
	width:560px;
	margin:0 auto;
	font-size:24px;
	font-weight:700;
	color:#fff;
	background:#DF1CD3;
	position:relative;
}

.reservation .box-in .btn a:hover{
	background:#4357BA;
}

.reservation .box-in .btn a span:after{
	content:"ご予約可能な日程を見る";
}

.reservation .box-in .btn a:hover span:after{
	content:"面談予約カレンダーを見る";
}

.reservation .box-in .btn a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: 
    linear-gradient(#FFD56F, #FFD56F) left / 20px 100% no-repeat,
    linear-gradient(#FFD56F, #FFD56F) right / 20px 100% no-repeat;
}

.reservation .box-in .btn a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: 
    linear-gradient(#fff, #fff) left / 20px 100% no-repeat,
    linear-gradient(#fff, #fff) right / 20px 100% no-repeat;
}

@media screen and (max-width: 800px) {
.home .mv{
	height:auto;
	background:none;
}
	
.home .mv .discount-ico{
	left:30px;
	top:13%;
	right:auto;
	width:35%;
}

.home .mv .bg{
	line-height:0;
}

.home .mv .logo{
	width:60px;
	left:20px;
	top:20px;
}

.home .mv h1{
	top:5%;
	bottom:auto;
	left:auto;
	right:7%;
	margin:0;
	width:55%;
}


.smooth{
	padding:40px 20px;
	background:url(../img/top/smooth-bg.jpg);
}

.smooth:after,
.smooth:before{
	width:40px;
	height:40px;
}

.smooth .box h2{
	max-width:380px;
	margin:0 auto;
}

.smooth .box .txt{
	font-size: clamp(10px, 3.5vw, 16px);
	line-height:2;
	padding:10px 0 30px 0;
	text-align:center;
}

.problem{
	padding:40px 20px 130px 20px;
}

.problem .box{
	padding:0 20px 60px 20px;
}

.problem .box .bg01{
	display:none;
}

.problem .box .bg02{
	width:260px;
	top:-70px;
}

.problem .box .bg02 li:nth-child(2){
	width:180px;
}

.problem .box .bg02 li:nth-child(3){
	width:220px;
}

.problem .box .bg02 li:nth-child(4){
	width:260px;
}

.problem .box .bg02 li:nth-child(4):after,
.problem .box .bg02 li:nth-child(4):before{
	display:none;
}

.problem .box .bg03{
	bottom:-120px;
}

.problem .box .bg03 li:nth-child(1):after,
.problem .box .bg03 li:nth-child(1):before{
	display:none;
}

.problem .box .bg03 li:nth-child(2) {
    display: none;
}

.problem .box h2{
	max-width:350px;
	margin:0 auto;
}

.problem .box .box-in{
	max-width:inherit;
	margin:30px auto 0;
}

.problem .box .box-in > li{
	padding:25px 20px 10px 20px;
}

.problem .box .box-in > li:last-child{
	padding:30px 20px;
}

.problem .box .box-in > li span{
	font-size:16px;
	padding:0 0 0 35px;
	background:url(../img/top/sp/problem-ico.png) no-repeat left 1px;
	background-size:24px;
	display:block;
}

.problem .txt-box h3{
	max-width:310px;
	margin:0 auto;
}

.problem .txt-box .txt{
	font-size:16px;
	text-align:left;
	padding:15px 0 0 0;
}

.strength{
	padding:0 20px;
	max-width:inherit;
	background:none;
}

.strength .border{
	position:absolute;
}

.strength .border span{
	width:240px;
	height:20px;
	background:#F8F0EA;
	margin:0 auto;
}

.strength .border span:after{
	display:none;
}

.strength .border01{
	right:0;
	top:-40px;
}

.strength .border02{
	left:0;
	top:-20px;
	transform:none;
}

.strength .border02 span,
.strength .border03 span{
	width:280px;
}

.strength .border03{
	left:0;
	right:0;
	bottom:-20px;
	transform:none;
}

.strength .border04{
	right:0;
	left:0;
	bottom:-40px;
	transform:none;
}

.strength .border04 span{
	width:240px;
}

.strength .box{
	padding:40px 20px 60px 20px;
	background:#F8F0EA;
}

.strength .box .ico{
	width:68px;
	top:-80px;
}

.strength .box h2{
	font-size:24px;
	margin:0 0 70px 0;
}

.strength .box h2:after{
	width:45px;
	height:24px;
	background:url(../img/top/sp/strength-ico02.png) no-repeat left top;
	background-size:45px;
	left:-60px;
	top:9px;
}

.strength .box h2:before{
	width:45px;
	height:24px;
	background:url(../img/top/sp/strength-ico02.png) no-repeat left top;
	background-size:45px;
	right:-60px;
	top:9px;
}

.strength .box dl{
	margin:0 0 60px 0;
}

.strength .box dl dt{
	padding:40px 20px;
	font-size:18px;
	text-align:left;
}

.accordion-title{
	cursor:pointer;
}

.accordion-title:before{
	top:10px;
	right:10px;
	width:18px;
	height:18px;
	background:url(../img/top/sp/arrow-off.png) no-repeat center center;
	background-size:18px;
	margin:0;
}

.accordion-title.open:before {
	background:url(../img/top/sp/arrow-on.png) no-repeat center center;
	background-size:18px;
}

.accordion-title:after{
	top:-50px;
	left:0;
	right:0;
	margin:0 auto;
	width:50px;
	height:70px;
	background:url(../img/top/sp/strength-ico03.png) no-repeat center center;
	background-size:50px;
}

.strength .box dl dd{
	padding:20px;
	font-size:14px;
}

.strength .b-box{
	display:block;
	margin:-30px 0 0 0;
}

.strength .b-box dl{
	width:100%;
	margin:0 0 30px 0;
}

.strength .b-box dl dt{
	padding:30px 20px;
}

.tool{
	padding:100px 20px 0 20px;
}

.tool .box {
    padding: 0 10px 60px 10px;
}

.tool .box h2{
	font-size:24px;
	padding:100px 0 0 0;
}

.tool .box h2:after{
	background:url(../img/top/sp/tool-tit-ico.png) no-repeat center center;
	background-size:48px;
}

.tool .box ul li{
	width:130px;
	padding:20px 0 0 0;
}

.tool .box ul li h3{
	font-size:14px;
	padding:5px 0 0 0;
}

.service{
	padding:60px 20px 0 20px;
}

.service h2{
	font-size:24px;
	padding:90px 0 30px 0;
}

.service h2:after{
	width:56px;
	height:70px;
	background:url(../img/top/sp/service-tit-ico.png) no-repeat center center;
	background-size:56px;
}

.service .box ul li{
	width:130px;
	padding:20px 0 0 0;
}

.service .box ul li h3{
	font-size:14px;
	padding:5px 0 0 0;
}

.service .box .ico-bg{
	width:100%;
	margin:40px auto 0;
	background: url(../img/top/sp/service-ico.png) repeat-x center left;
	background-size:25px;
}

.flow{
	padding:60px 20px 45px 20px;
}

.flow h2{
	font-size:24px;
	padding:45px 100px 40px 40px;
	background:url(../img/top/sp/flow-tit-ico.png) no-repeat center center;
	background-size:224px;
}

.flow ul{
	display:block;
}

.flow ul li{
	width:100%;
	padding:0 0 40px 0;
	margin:0 0 30px 0;
	text-align:center;
	background:url(../img/top/sp/flow-arrow.png) no-repeat center bottom;
	background-size:20px;
}

.flow ul li:nth-child(2){
	margin:0 0 30px 0;
}

.flow ul li:nth-child(2):after,
.flow ul li:nth-child(2):before,
.flow ul li:nth-child(5):after{
	display:none;
}

.flow ul li:nth-child(5){
	margin:0;
}

.flow ul li:last-child{
	background:none;
	margin:0;
}

.flow ul li dl dt{
	font-size:18px;
	line-height:1.6;
	padding:10px 0;
}

.flow ul li:nth-child(5) dl dt:after{
	content:"";
	background:url(../img/top/flow-ico.png) no-repeat center center;
	width:16px;
	height:23px;
	position:absolute;
	right:-25px;
	top:13px;
}

.flow ul li dl dd{
	font-size:14px;
}

.flow .box .img{
	position:static;
	max-width:240px;
	margin:0 auto;
}
	
.member{
	padding:60px 20px;
}

.member:after{
	background: url(../img/top/sp/service-ico.png) repeat-x center left;
	background-size:25px;
    width: 90%;
}

.member .box h2{
	font-size:24px;
	padding:80px 0 0 0;
}

.member .box h2:after{
	width:179px;
	height:77px;
}

.member .box ul{
	flex-wrap:wrap;
	padding:40px 0 0 0;
}

.member .box ul > li{
	width:100%;
	max-width:200px;
	padding:0 15px 30px 15px;
	margin:0 5px 25px 5px;
}
	
@media screen and (max-width: 480px) {
.member .box ul{
	justify-content:space-between;
}	
	
.member .box ul > li{
	width:49%;
	margin:0 0 25px 0;
}
}
	
@media screen and (max-width: 330px) {
.member .box ul{
	display:block;
}
.member .box ul > li{
	width:200px;
	margin:0 auto 25px;
}
}

.member .box ul > li .img{
	top:-14px;
	width:100px;
}

.member .box ul > li h3{
	font-size:18px;
}

.member .box ul > li .tag{
	display:block;
}

.member .box ul > li .tag em{
	display:block;
	padding:5px 0 0 0;
}

.faq{
	padding:0 20px 60px 20px;
}

.faq .box{
	padding:60px 20px;
}

.faq .box h2{
	font-size:24px;
}

.faq .box h2:after{
	width:60px;
	height:60px;
	top:-90px;
	background:url(../img/top/sp/faq-tit-ico.png) no-repeat center center / 100%;
}

.faq .box-in{
	max-width:inherit;
}

.faq .box-in dl{
	padding:35px 0 55px 0;
}

.faq .box-in dl:before{
    height: 13px;
    background: url(../img/top/sp/faq-ico.png) repeat-x center left;
	background-size:23px;
}
	
.faq .box-in dl:last-child:before{
	display:none;
}

.faq .box-in dl dt{
	font-size:18px;
}

.faq .box-in dl dd{
	font-size:14px;
	padding:15px 0 0 0;
}

.reservation{
	padding:0 20px 140px 20px;
}

.reservation ul{
	display:block;
	padding:0 0 50px 0;
}

.reservation ul li{
	padding:0 0 25px 0;
}

.reservation ul li a{
	width:100%;
	padding:30px 0;
	font-size:22px;
}

.reservation .box-in{
	border:4px solid #FA7425;
	padding:40px 20px 0 20px;
}

.reservation .box-in::before {
	display:none;
}

.reservation .box-in::after {
	display:none;
}

.reservation .box-in h2{
	font-size:24px;
}

.reservation .box-in h2:after{
	content:"";
	width:55px;
	height:63px;
	top:-80px;
}

.reservation .box-in .txt{
	font-size:18px;
	text-align:left;
}

.reservation .box-in dl{
	width:100%;
	padding:0 0 70px 0;
}

.reservation .box-in dl dt{
	width:260px;
	padding:20px;
	background:#fff;
	font-size:14px;
	border-radius:20px;
}

.reservation .box-in dl dd{
	width:140px;
	bottom:34px;
	right:10px;
}

.reservation .box-in .btn{
	bottom:-40px;
	padding:0 10px;
}

.reservation .box-in .btn a{
	height:80px;
	width:100%;
	font-size:20px;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	text-align:center;
	position:relative;
	z-index:70;
	padding:50px 0 0 0;
}

.contact:after,
.contact:before{
	content:"";
	max-width:1100px;
	height:170px;
	background:#7CCBBC;
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:0 auto;
	z-index:-1;
}

.contact:after{
	top:auto;
	bottom:-130px;
}

.contact h2{
	display:inline-block;
	font-size:32px;
	line-height:1.6;
	font-weight:700;
	padding:0 50px;
	background:url(../img/top/contact-ico01.png) no-repeat left 13px,url(../img/top/contact-ico01.png) no-repeat right 13px;
	position:relative;
}

.contact h2:after{
	content:"";
	width:79px;
	height:74px;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-80px;
	background:url(../img/top/contact-tit-ico.png) no-repeat center center;
}

.contact .txt{
	font-size:15px;
	line-height:1.6;
	padding:20px 0 0 0;
}

.contact .box-in{
	background:#7CCBBC;
	text-align:left;
	padding:30px 0 0 0;
}

.contact .box-in .form{
	width:560px;
	margin:0 auto;
}

.contact .box-in .form dl{
	padding:0 0 20px 0;
}

.contact .box-in .form dl dt{
	font-size:20px;
	line-height:1.4;
	margin:0 0 5px 0;
	position:relative;
	display:inline-block;
}

.contact .box-in .form dl dt.hissu:after{
	content:"";
	width:12px;
	height:12px;
	background:url(../img/common/hissu-ico.png) no-repeat center center;
	position:absolute;
	right:-18px;
	top:50%;
	transform: translateY(-50%);
	display:inline-block;
}

.contact .privacy{
	width:560px;
	height:240px;
	margin:20px auto 40px;
	box-sizing:border-box;
	padding:20px 30px;
	overflow:auto;
	font-size:12px;
	border:1px solid #000;
	border-radius:2px;
}

.contact .privacy h3{
	font-weight:500;
	line-height:1.6;
	font-size:12px;
}

.contact .privacy p{
	line-height:1.6;
}

.form input, .form textarea {
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
	padding: 15px;
	font-family: "Noto Sans JP", sans-serif;
	background: #fff;
	box-sizing:border-box;
	border: 2px dotted #000;
}

.form input[type=date]{
	border-radius:8px;
	background: #F8F0EA;
	border: none;
}

.check .wpcf7-list-item-label {
	position: relative;
	cursor: pointer;
}

.check input[type=checkbox] {
	display: none;
}

.check input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	padding-left: 35px;
	font-size: 18px;
	line-height: 1.4;
	cursor: pointer;
}

.check input[type=checkbox] + span::before {
	content: "";
	position: absolute;
	width: 25px;
	aspect-ratio: 1/1;
	top: 0;
	left: 0;
	background: #fff;
	border-radius:3px;
}

.check input[type=checkbox] + span::after {
	content: "";
	position: absolute;
	width: 15px;
	aspect-ratio: 1/1;
	top: 5px;
	left: 5px;
	background: url(../img/common/check-solid.svg) no-repeat center center;
	background-size: contain;
	opacity: 0;
	transition: 0.3s;
}

.check input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 5px 25px 5px 0;
}

.contact p.check {
	padding: 0 0 50px 0;
	text-align:center;
}

.conbtn{
	text-align:center;
}

.conbtn > div,
.conbtn > div > span{
	position:relative;
	display:inline-block;
}

.conbtn > div:after,
.conbtn > div:before,
.conbtn > div > span:before,
.conbtn > div > span:after{
	content:"";
	width:20px;
	height:20px;
	background:#7CCBBC;
	position:absolute;
	z-index:2;
}

.conbtn > div:after{
	left:0;
	top:0;
}
.conbtn > div:before{
	right:0;
	top:0;
}
.conbtn > div > span:before{
	left:0;
	bottom:0;
}
.conbtn > div > span:after{
	right:0;
	bottom:0;
}

.conbtn input[type=submit] {
	height: 100px;
	line-height: 100px;
	width: 560px;
	color: #fff;
	font-size: 24px;
	font-weight: 600;
	display: block;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	border: none;
	background: #EB591A;
	cursor: pointer;
	margin:0 auto;
}

.wpcf7-spinner{
	display:none !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	max-width:560px;
	margin:30px auto 0;
	border-color:#EB591A;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
	padding:5px 0 0 0;
	font-weight:600;
}

.wpcf7 input[type="date"] {
	position: relative;
}

.wpcf7 input[type="date"]::-webkit-calendar-picker-indicator {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

@media screen and (max-width: 800px) {
.contact{
	padding:0 20px 60px 20px;
	background:#7CCBBC;
}

.contact:after{
	max-width:280px;
	height:45px;
	top:-45px;
}

.contact h2{
	font-size:24px;
	padding:0 40px;
	background:url(../img/top/sp/contact-ico01.png) no-repeat left 6px,url(../img/top/sp/contact-ico01.png) no-repeat right 6px;
	background-size:29px,29px;
}

.contact h2:after{
	width:58px;
	height:55px;
	top:-70px;
	background:url(../img/top/sp/contact-tit-ico.png) no-repeat center center;
	background-size:58px;
}

.contact .txt{
	font-size:14px;
	padding:20px 0 0 0;
}

.contact .box-in{
	background:none;
	padding:20px 0 0 0;
}

.contact .box-in .form{
	width:100%;
}

.contact .box-in .form dl dt{
	font-size:16px;
}
	
.contact .box-in .form dl dt.hissu:after{
	width:10px;
	height:10px;
	background:url(../img/common/sp/hissu-ico.png) no-repeat center center;
	background-size:contain;
}

.contact .privacy{
	width:100%;
	height:240px;
	margin:20px auto 30px;
	padding:20px 30px;
}

.form input, .form textarea {
	padding:10px;
}
	
.form input[type=date]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 48px;
	line-height: 48px;
	min-height: 48px;
	display: block;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	color: #333333;
}
	
.wpcf7 input[type="date"]::-webkit-datetime-edit,
.wpcf7 input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.wpcf7 input[type="date"]::-webkit-datetime-edit-text,
.wpcf7 input[type="date"]::-webkit-datetime-edit-month-field,
.wpcf7 input[type="date"]::-webkit-datetime-edit-day-field,
.wpcf7 input[type="date"]::-webkit-datetime-edit-year-field {
	color: #333333;
	padding: 0;
	line-height: normal;
}

.check input[type=checkbox] + span {
	font-size: 16px;
	padding-left: 30px;
}
	
.check input[type=checkbox] + span::before {
	width: 20px;
	top: 2px;
}

.check input[type=checkbox] + span::after {
	width: 15px;
	top: 5px;
	left: 3px;
}

.wpcf7-list-item {
	margin: 5px 0;
	display:block;
}

.contact p.check {
	padding: 0 0 30px 0;
}

.conbtn input[type=submit] {
	height: 80px;
	line-height: 80px;
	width: 300px;
	font-size: 18px;
}

.wpcf7-spinner{
	display:none !important;
}
}

/* CONTACT/NOTFOUND
-------------------------------------------------------------------*/
.thanks-area{
	text-align:center;
	padding:120px 20px;
	background:#F8F0EA;
}

.thanks-area h1{
	font-weight:500;
	line-height:1.8;
	font-size:15px;
	padding:30px 0 60px 0;
}

.thanks-area .btn{
	padding:0 0 30px 0;
}

.m-btn a,
.m-btn a > span{
	position:relative;
	display:block;
}

.m-btn a:after,
.m-btn a:before,
.m-btn a > span:before,
.m-btn a > span:after{
	content:"";
	width:10px;
	height:10px;
	background:#F8F0EA;
	position:absolute;
	z-index:2;
}

.thanks-area .btn a:after,
.thanks-area .btn a:before,
.thanks-area .btn a > span:before,
.thanks-area .btn a > span:after{
	width:20px;
	height:20px;
}

.m-btn a:after{
	left:0;
	top:0;
}
.m-btn a:before{
	right:0;
	top:0;
}
.m-btn a > span:before{
	left:0;
	bottom:0;
}
.m-btn a > span:after{
	right:0;
	bottom:0;
}

.m-btn a{
	height: 70px;
	line-height: 70px;
	width: 240px;
	color: #fff;
	font-weight: 600;
	display: block;
	position: relative;
	background: #4357BA;
	margin:0 auto;
}

.thanks-area .btn a{
	height: 80px;
	line-height: 80px;
	width: 460px;
	background: #F520E7;
	font-size:20px;
}

@media screen and (max-width: 800px) {
.thanks-area{
	padding:80px 20px;
}

.thanks-area h1{
	font-size:14px;
	padding:20px 0 40px 0;
}
	
.thanks-area .btn a:after,
.thanks-area .btn a:before,
.thanks-area .btn a > span:before,
.thanks-area .btn a > span:after{
	width:15px;
	height:15px;
}

.m-btn a{
	height: 60px;
	line-height: 60px;
	width: 220px;
}

.thanks-area .btn a{
	height: 70px;
	line-height: 70px;
	width: 280px;
	font-size:16px;
}

}