.fv .container,
.fv .contact-btn{ position: unset; }
.fv .contact-btn{ max-width: 400px; margin: auto; width: 100%; }
.fv .contact-btn a{ width: 100%; border-radius: 100px; }

@media screen and (max-width: 991px){
	.voice-area .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.voice-area .inner{ max-width: 450px; margin: auto; }
}

@media screen and (min-width: 821px){
	.swiper_point .swiper-wrapper{ display: block; }


}
@media screen and (max-width: 1280px){
	.fv .operation{ width: 27%; }
}

@media screen and (max-width: 1020px) {
	#top .sec5 .absimage{ width: 33%;}
}

@media screen and (max-width: 820.98px) {

	.pc{ display: none!important; }
	.sp{ display: block!important; }

	footer .contact-btn a{ border-radius: 100px; padding: 19px 55px; }
	footer .contact-btn a span{ font-size: 1.7rem; }

	header{ height: 60px; }
	header .flex-box{ height: 60px; }
	header .left{  }
	header .right{  }
	header .font43{ font-size:3rem; }
	header .headerrightphonedet.font16{ font-size:1.2rem; }
	header .left img{ max-width: 100px; }
	header .flex-box{ padding: 0 15px;}
		
	footer { padding: 70px 0 120px; }
	footer #page-top{ right: 8px; bottom: 8px; margin: auto; }
	footer #page-top img{ width: 80%; }
	footer .container{ padding: 0 45px; }


	.fv .container{ padding: 0 15px; }
	.fv .container,
	.fv .contact-btn{ position: unset; }

	.fv .fvheaderbox{ width:80%; top:44%; }
	.fv .fv-img{ min-height: 100px; max-height:820px; object-fit: cover;  }
	/* .fv li{ margin:0 10px; } */
	.fv .headerbtn{ max-height: 60px; padding: 18px 10px; font-size: 17px;}

	#top section{ padding: 80px 0; }
	#top section h3{ margin-bottom: 40px; font-size: 3rem; }

	#top .sec2 .round{ margin: 0 auto; border-radius: 5px; max-width: 500px; max-height: 85px; width: 100%; font-size: 1.7rem; padding: 20px;}	
	#top .sec2 .font60:before{ display: none;}

	#top .sec3 .whitebox .meta{ font-size: 1.8rem; padding: 10px; }
	#top .sec3 .whitebox .font18{ font-size: 1.6rem; }
	#top .sec3 .whitebox .font26{ font-size: 2rem; }
	#top .sec3 .whitebox p{ min-height: 100px; }
	#top .sec3 .whitebox{ margin-top: 35px; }
	#top .sec3 .font19{ font-size: 1.6rem; margin-top: 0; }
	#top .sec3 h3.font29{ margin-bottom: 20px; }

	#top .sec4 .orangebox .font19{ font-size: 1.6rem; margin-top: 20px;  }
	#top .sec4 .orangebox h4{ margin-top: 10px; }
	#top .metatext.font26{ font-size: 1.8rem; }

	#top .sec5 .font21{ font-size: 1.8rem; text-align: center; }
	#top .sec5 .listboxbox{ font-size: 1.6rem; }
	#top .sec4 .orangebox .list1 li{ padding: 30px; }

	.sec01{ overflow: hidden; }
	.sec01 .swiper-box{ margin: 0 -50px; }
	.sec01 .step-box{ margin-top: 40px; }
	.sec01 .step-box .flex{ gap: 40px; }
	.sec01 .step-box dl{ width: calc( 100% / 2 - ( 20px) ); }
	.sec01 .step-box dl:nth-child(3) dd:after { content: ""; position: absolute; right: 50%; top: 35%; height: 1px; width: 100%; background: var(--border-color); z-index: -1; }
	.sec01 .step-box dl dd p { font-size: 1.4rem; }
	.sec01 .img-box{ width: 100%; margin: 0 auto 85px; max-width: 500px; }

	.search-area .sec-box:not(:last-child) { margin-bottom: 25px!important; }
	.search-area .tags{ cursor: pointer; margin: 0 -50px 55px; padding: 0 50px; /*overflow-x: scroll; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -ms-overflow-style: none; scrollbar-width: none;*/ }
	.search-area .tags::-webkit-scrollbar{ display: none; }
	.search-area .tag a{ word-break: keep-all; }
	.search-area p { font-size: 1.9rem; }

	.sec01 .text-box2{ padding: 50px 20px; }
	.sec01 .text-box2 h3 span{ font-size: 2rem; }
	.sec01 .text-box2 p { font-size: 1.5rem; }


	.plan-area .sec-box > p{ font-size: 1.6rem; }
	.plan-area .inner,
	.artist-area .inner .three-column li{ max-width: 450px; margin: auto; }

	.artist-area h3{ font-size: 2.1rem!important; }
	.artist-area h3 .en{ font-size: 2rem!important; }
	.artist-area h3 small{ font-size: 1.6rem; }
	.artist-area .inner .box1{ display: block; padding: 20px 20px 20px 70px; }
	.artist-area .inner .box1:before{ left: 22px; top: 0; right: auto; bottom: 0; margin: auto; }
	.artist-area .inner .box1:after{ left: 31px; top: -4px; right: auto; bottom: 0; margin: auto; }
	.artist-area .inner .box1 p{ text-align: left; }
	.artist-area .inner .box2{ margin: 0 -50px; border-left: 0; border-right: 0; border-radius: 0; padding: 35px 20px 50px; }
	.artist-area .inner .box2 p{ text-align: left; }
	.artist-area .inner .box2 h4 { font-size: 2.1rem; margin-top: -51px; margin-bottom: 28px; }


	.qa-area h3{ font-size: 3rem!important; }
	.qa-area h3 span{ font-size: 2.4rem!important; }

	.cta-area p { font-size: 2rem; }

	.btn-box.mt60 { margin-top: 40px; }

	.accordion dt { padding: 15px 50px 15px 20px; }
	.accordion dt:after,
	.accordion dt:before{ right: 20px; }

	footer .btn{ max-width: 500px; border-radius: 0; border: none; text-decoration: none; padding: 5px; width: 50%; text-align: center; background-color: var(--orange-color); display: flex; align-items: center; justify-content: center; }
	footer a.btn1 span{ 
		display: block;
	    font-size: 0.8rem;
    	color: #fff;
    	margin-top: 5px;}
	footer a.btn1{ 
		display: block; 
		font-family: var(--en-font);
		font-weight: bold;
		font-size: 2.1rem;
		padding: 15px 5px;
	}
	footer img.phone-icon{ max-width: 14px; height: 23px!important; }
	footer .btn1 .flex{ 
		align-items: center;
		justify-content: center;}
	footer .btn2{ background-color: #317FBD; font-size: 17px; font-weight: bold; }
	footer .btn img{ height:19px; }
    footer .btn-box{ display: flex!important; position: fixed; bottom: 0; left: 0; right: 0; z-index: 99; }
    footer #page-top{ right: 3px!important; bottom: 70px!important; }

	.sec04 .box .left p.name01{ margin-bottom: 0; margin-top: 35px; }
	
	#contact_form .button{ padding-top: 0;}
	
	
#top .sec2{ background-size:auto 100%; }	


#top .sec3{ background-size:auto 100%; }
#top .sec3 .listbox{ flex-wrap:wrap; margin-top: 55px; }
#top .sec3 li{ width:100%; margin-bottom:30px; }
#top .sec3 li:last-child{ margin-bottom:0; }
#top .sec3 .whitebox{ padding:30px 30px 30px 30px; }
#top .sec3 .whitebox .listbox1{ flex-wrap:wrap; }
#top .sec3 .whitebox .listinbox{ width:100%; }

#top .sec4 .list{ flex-wrap:wrap; }
#top .sec4 .list li{ width:100%; }
#top .sec4 .listli{ margin-bottom:100px; }
#top .sec4 .listli:after{ background: url(../images/top_sec4arrowdown.svg) no-repeat; width:77px; height:49px; top:unset; bottom:-70px; right: calc( 50% - 39px ); }
#top .sec4 .listli:nth-child(2){ margin-bottom:0; }
#top .sec4 .absbaloon{ right:-59px; top:-30px; }
#top .sec4 .absbaloon img{ width: 70%; }
#top .sec4 .listli:after{}
#top .sec4 .orangebox .textaround{ line-height:1.3em; padding: 15px; }
#top .sec4 .orangebox .textaround.font41{ font-size:1.7rem; }
#top .sec4 .orangebox .textroundin{ margin-top: 45px;}
#top .sec4 .orangebox{ padding:75px 25px 35px; }

#top .sec4 .orangebox .list1{ flex-wrap:wrap; }
#top .sec4 .orangebox .list1 li{ width:100%; margin-bottom:30px;  }
#top .sec4 .orangebox .list1 li:last-child{ margin-bottom:0; }
#top .sec4 .orangebox .textbottom{ margin-top:50px; line-height:1.3em; }
#top .sec4 .orangebox .textbottom.font41{ font-size:2.2rem; }
#top .sec4 .listin li{ height:auto; padding-top:25px; padding-bottom:25px; }
#top .sec4 .orangebox .imgbox img{ height: 65px; }
	
#top .sec5 .whitebox{ padding:80px 15px; }
#top .sec5 .absimage{ position:absolute; right: -15px; }
#top .sec5 h2.font65{ font-size:3.7rem; text-align: center; }
#top .sec5 .font43{ font-size:2rem; }
#top .sec5 .list{ flex-wrap: wrap; gap: 5px; margin-top: 45px; justify-content: center; }
#top .sec5 .box{ margin-top: 28px; }
#top .sec5 .list li{ width:49%; margin-bottom:30px; }
#top .sec5 .list li:last-child{ margin-bottom:0; }
#top .sec5 .font85{ font-size: 4.1rem; }
#top .sec5 .smallfont{ font-size: 1.8rem; }
#top .sec5 .list1{ flex-wrap:wrap; justify-content: center; }
#top .sec5 .list1 li{ width:50%; margin-bottom:30px; }
#top .sec5 .list1 li:last-child{ margin-bottom:0; }
#top .sec5 .metatext.font35{ font-size:2.3rem; }
#top .sec5 .font19{ font-size: 18px;}

#top .sec09{ padding: 80px 0 0; }
.sec09 #contact_form .formsubmit{ padding: 16px 75px; font-size: 1.7rem; }

#top .banner .bannerbox{ padding:30px 25px; flex-wrap:wrap; }
#top .banner .bannerboxleft{ width:100%; margin-bottom:20px; text-align:center; line-height:1.5em; }
#top .banner .bannerboxright{ width:100%; text-align:center; }
#top .banner .bannertext.font30{ font-size:4vw; text-align:center; line-height:1.3em; }
#top .banner .bannertext1.font46{ line-height:1.3em; font-size:6vw; text-align:center; line-height:1.3em; }
#top .banner .bannertext1{ margin-top:0; }
#top .banner .bannerimage{ margin-right:0; }
#top .banner .bannerphone.font37{ font-size:3.5rem; text-align:center; line-height:1em;}
#top .banner .bannertext2{ margin-top:20px; }
#top .banner .bannertext4{ margin-bottom:20px; }
#top .banner .bannerbtn{ max-width:800px; font-size:2rem; padding:15px; font-size: 1.7rem; }

.arrow:after{ right: 21px; top: 3px; width: 5px; height: 5px;}
}
@media screen and (max-width: 767px) {
	.fv .contact-btn{ padding: 0 15px; }

	.search-area .tags{ margin: 0 -15px 55px; padding: 0 15px; }
	.artist-area .inner .box2{ margin: 0 -15px; }

	.btn.cta-btn{ font-size: 1.6rem; }
	.btn.cta-btn:before { width: 17px; height: 17px; }

	#top .sec2 ul{ flex-wrap:wrap; }
	#top .sec2 li{ width:100%; text-align:center; }
	#top .sec2 li:not(:last-child){ margin-bottom:30px; }
}

@media screen and (max-width: 640px) {

	/* .fv .fvlist{ flex-wrap:wrap; } */
	/* .fv li{ margin:0 15px; width:calc( 25% - 30px ); } */
	
	#top h2.font52{ font-size:2.4rem; }
	#top .textbox.font28{ font-size:2rem; }
	#top .sec2 h2.font42{ font-size:2.4rem; }
	#top .sec2 .font56{ font-size:3.5rem; }
	#top .sec2 .metatext.font42{ font-size:2.4rem; line-height: 1.5em; }
	#top .sec2 .font60{ font-size:3.5rem; }
	#top .sec3 .subtext.font38{ font-size:2.4rem; }
	#top h2.font52{ font-size:2.4rem; }
	#top .sec3 h2{ margin-top: 25px;}
	#top .sec3 .font100{ font-size:8rem; padding: 0 5px; }
	#top .sec3 .listboxbox.font28{ font-size:2rem; }
	#top .sec3 h3.font29{ font-size:2.2rem; }
	#top .sec3 .whitebox .textbox.font29{ font-size:2.2rem; }	
	#top .sec3 .whitebox h2.font52{ font-size:2.2rem; }
	#top .sec3 .whitebox .font90{ font-size:5rem; }
	#top .sec4 .titlelist.font26{ font-size:2rem; }
	#top .sec4 h2.font54{ font-size:3.2rem; line-height:1.2em; }
	#top .sec4 h3.font32{ font-size:2.4rem; }
	#top .sec4 .listin li.font21{ padding-left:20px; padding-right:20px; font-size:1.6rem; }
	#top .sec4 h2.font35{ font-size:2.4rem; }
	#top .sec4 .orangebox .font100{ font-size:7rem; }
	#top .sec4 .orangebox .meta.font28{ font-size:1.9rem; }
	#top .sec4 .orangebox .meta{ margin-top: 25px; }
	#top .sec4 .orangebox h4.font35{ font-size:2.4rem; }
	#top .sec5 .absimage{ width: 43%;}
	
	
	
	
	
	#top section.sec2{ padding-top:70px; padding-bottom:80px; }
	#top section.sec3{ padding-top:70px; padding-bottom:150px; }
	#top section.sec4{ padding-top:80px; padding-bottom:80px; }
	#top section.sec5{ padding-top:30px; padding-bottom:145px;}
	#top .sec5 .metatext{ margin-top:60px; }
	#top .sec4 .orangebox .textaround{ padding:20px; }
	
	
	.scroll-infinity__item {
		width: calc(100vw / 4);
		max-height: 120px;
	}	
	.fv li {
		margin: 0 10px;
	}
	
	.sec09 #top2 .box{ display: block; }
	.sec09 #top2 .left{ width: 100%; }








	footer{ padding: 50px 0 100px; }
	footer nav ul li{ width: 100%; }
	footer .contact-btn{ max-width: 100%; }
	footer .box{ gap: 30px; }
}

@media screen and (max-width: 420px) {
	#top section{ padding: 60px 0; }
	#top section h3{ margin-bottom: 30px; }

	.fv h2 ul.flex{ padding: 0; gap: 10px; margin-top: 20px; }
	.fv h2 p span{ font-size: 3.5rem; margin-bottom: 15px; margin: 0 3px; }
	.fv h2 p{ font-size: 2rem; }
	.fv h2 ul li p{ margin-top: 5px; }

	.btn{ max-width: 100%!important; }


	.fv h2 ul li p{ margin-top: 15px; }
	.fv h2 img{ max-width: 280px; margin: auto; display: block; }

	footer .box.flex.f_jc-between{ display: inline-block; }
	footer .box .left{ margin-bottom: 10px; }
    footer .container{ padding: 0 15px 45px 15px; }

	.btn{ font-size:2rem; }
	
	header .font43{ font-size:2.5rem; font-weight:600; }	
	header .headerrightphonedet.font16{ font-size:1rem; margin-top: 3px; }
	header .headrightleft{ margin-right:3px; }
	header .headrightleft img{ width:19px; }
	.fv .fvheaderbox{ width:100%; }
	
} 

@media screen and (max-width: 376px) {
	
}