@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.btn a{
	display:block;
}

.img{
	line-height:0;
}

.txt{
	font-size: clamp(12px, 2.8vw, 15px);
}

.txt02{
	font-size: clamp(13px, 3vw, 16px);
}

.mv{
	padding:20px;
	text-align:center;
}

.mv h1{
	width:70%;
	min-width:280px;
	margin:0 auto;
}

.trouble{
	padding:60px 30px 20px 30px;
	text-align:center;
}

.trouble .box{
	border-radius: 40px;
	background: #64748b;
	color:#fff;
	padding:80px 25px 40px 25px;
	position:relative;
}

.trouble .box h2{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-50px;
	max-width:227px;
}

.trouble .box ul:after {
    content: "";
    display: block;
    clear: both;
}

.trouble .box ul li{
	display:inline-block;
	border-radius: 40px;
	background: #fff;
	position:relative;
	color:#64748B;
	padding:5px 20px;
	text-align:left;
	margin:15px 0 0 0;
}

.trouble .box ul li:after{
	content:"";
	width:35px;
	height:21px;
	background:url(../img/top/huki.png) no-repeat;
	position:absolute;
	right:0;
	bottom:-16px;
}

.trouble .box ul li:nth-child(odd) {
    float: right;
}

.trouble .box ul li:nth-child(even) {
    float: left;
}

.trouble .box ul li:nth-child(even):after{
	left:0;
	transform: scale(-1, 1);
}

.trouble .box ul li .txt-box{
	display:flex;
	align-items:center;
}

.trouble .box ul li .ico{
	width:68px;
	margin:0 10px 0 0;
}

.trouble .box ul li:nth-child(even) .ico{
	margin:0 0 0 10px;
	order:2;
}

.trouble .box ul li:nth-child(4) .ico{
	width:40px;
}

.trouble .box ul li:nth-child(5) .ico{
	width:55px;
}

.trouble .f-txt{
	font-size: clamp(13px, 2.8vw, 16px);
	padding:10px 0 0 0;
}

.type{
	padding:40px 30px;
	text-align:center;
}

.type h2{
	max-width:390px;
	margin:0 auto 50px;
}

.type .box{
	border-radius: 104px 104px 24px 24px;
	border: 2.5px solid #30a2c5;
	position:relative;
	padding:50px 20px 0 20px;
}

.type .box .ico{
	width:140px;
	margin:0 auto;
	position:absolute;
	top:-80px;
	left:0;
	right:0;
}

.type .box h3{
	font-size: 24px;
	font-weight:700;
	color:#30A2C5;
	padding:0 0 10px 0;
}

.type .box .box-in{
	padding:20px 0 0 0;
}

.type .box .box-in h4{
	font-size: 20px;
	font-weight:700;
	color:#fff;
	border-radius: 8px;
	background: #37bbd3;
	padding:5px 20px;
	position:relative;
	display:inline-block;
}

.type .box .box-in h4:after{
	content:"";
	width:24px;
	height:38px;
	background:url(../img/top/type-ico01.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:-10px;
	top: 50%;
	transform: translateY(-50%);
}

.type .box .box-in ul{
	width:250px;
	text-align:left;
	display:inline-block;
	padding:10px 0 0 0;
}

.type .box .box-in ul li:before{
	content:"";
	display:inline-block;
	width:23px;
	height:23px;
	background:url(../img/top/type-ico02.png) no-repeat;
	background-size:contain;
	margin:0 10px 0 0;
}

.type .box .f-txt{
	margin:30px -20px 0 -20px;
	border-radius: 0px 0px 20px 20px;
	background: #30a2c5;
	color:#fff;
	padding:13px 0;
}

.operation{
	text-align:center;
	padding:0 30px;
}

.operation .ico{
	width:55%;
	margin:0 auto;
}

.operation h2{
	font-size: 20px;
	font-weight:700;
	padding:20px 0;
}

.operation h3{
	font-size: 24px;
	color:#2D7FF3;
	font-weight:700;
	padding:10px 0;
}

.operation ul{
	display:inline-block;
	text-align:left;
	padding:10px 0;
}

.operation ul li{
	padding:0 0 0 20px;
	position:relative;
	color:#37BBD3;
	font-size: 20px;
}

.operation ul li:before{
	content:"";
	width:15px;
	height:15px;
	background:#FF8352;
	border-radius:50%;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.btn-box .btn{
	max-width:80%;
	min-width:300px;
	margin:0 auto;
}

.btn-box .btn-txt{
	color:#F97316;
	margin:-20px 0 0 0;
}

.failure{
	padding:100px 20px 190px 20px;
	text-align:center;
}

.failure .box{
	padding:50px 20px 40px 20px;
	border-radius: 0px 0px 40px 40px;
	background: #64748b;
	color:#fff;
	position:relative;
}

.failure .box .ico{
	width:66px;
	left:25%;
	top:-40px;
	position:absolute;
}

.m-tit{
	font-size: 24px;
	font-weight:700;
	padding:30px 0 0 0;
	background:url(../img/top/failure-ico01.png) no-repeat top center;
	background-size:34px;
}

.failure .box ul{
	padding:20px 0 0 0;
}

.failure .box ul li span{
	margin:0 0 10px 0;
	color:#64748B;
	display:inline-block;
	border-radius: 8px;
	background: #fff;
	padding:8px 15px;
}

.failure .box .f-txt{
	font-size: 20px;
	padding:10px 0 0 0;
}

.forte{
	background:url(../img/top/forte-bg.jpg) no-repeat top center;
	background-size:cover;
	padding:0 30px 80px 30px;
	text-align:center;
}

.forte .ico{
	width:55%;
	margin:0 auto -90px;
	position:relative;
	top:-120px;
}

.forte .m-tit,
.use .m-tit{
	background:url(../img/top/forte-ico01.png) no-repeat top center;
	background-size:34px;
}

.forte .box-in{
	border-radius: 6px;
	background: #fff;
	border: 2px solid #2d7ff3;
	padding:0 20px 40px 20px;
	margin:110px 0 0 0;
}

.forte .box-in h3{
	height:145px;
	position:relative;
	margin-top:-100px;
}

.forte .box-in ul{
	display:inline-block;
	text-align:left;
}

.forte .box-in ul li{
	margin:10px 0 0 0;
	padding:0 0 0 22px;
	position:relative;
	font-size: 18px;
	color:#2D7FF3;
}

.forte .box-in ul li:after{
	content:"";
	width:15px;
	height:14px;
	background:url(../img/top/forte-ico03.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
	top:30%;
}

.use{
	padding:60px 30px;
	text-align:center;
}

.use .m-tit{
	padding:40px 0 40px 30%;
	text-align:left;
	display:inline-block;
	position:relative;
}

.use .m-tit:after{
	content:"";
	width:100%;
	height:100%;
	background:url(../img/top/use-ico.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
	top:0;
	z-index:-1;
}

.use .img-txt{
	padding:20px 0 10px 0;
}

.use .btn-box{
	padding:10px 0 0 0;
}

.case{
	padding:60px 30px 40px 30px;
	text-align:center;
	background:url(../img/top/case-bg01.jpg) no-repeat center 150px,url(../img/top/case-bg02.jpg) no-repeat center bottom;
	background-size:contain;
}

.case .box-in{
	padding:0 0 35px 0;
}

.case .box-in h3{
	font-size:40px;
	color:#37BBD3;
	line-height:1;
}

.case .box-in h3 span{
	font-size:20px;
	display:block;
}

.case .box-in .ico span{
	display:inline-block;
	border:1px solid #E3E3E3;
	padding:5px 20px;
	color:#37BBD3;
	font-size:15px;
	position:relative;
	margin:10px 0 0 0;
	border-radius:30px;
}

.case .box-in .ico span:after{
	content:"";
	width:23px;
	height:34px;
	background:url(../img/top/case-ico01.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:-10px;
	top: 50%;
	transform: translateY(-50%);
}

.case .box-in .ico span:before{
	content:"";
	background: #E3E3E3;
	height: calc(tan(60deg) * 9px / 2);
	width: 14px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:-5px;
}

.case .box-in h4{
	font-size: 20px;
	color:#fff;
	font-weight:700;
	border-radius: 10px;
	background: #37bbd3;
	padding:5px 20px;
	display:inline-block;
	bottom:-20px;
	position:relative;
}

.case .txt-box{
	border-radius: 6px;
	border: 2.2px solid #37bbd3;
	padding:40px 20px 20px 20px;
	background:#fff;
}

.case .txt-box dl{
	padding:0 0 10px 0;
}

.case .txt-box dl dt{
	border-radius: 18px 18px 0px 18px;
	background: #64748b;
	color:#fff;
	font-size:15px;
	padding:8px 15px;
	display:inline-block;
	margin:0 0 5px 0;
	position:relative;
}

.case .txt-box dl dt.gr{
	background: #30A2C5;
}

.case .txt-box dl dt.or{
	background: #FF8352;
}

.case .txt-box dl dt.or:after{
	content:"";
	width:32px;
	height:32px;
	background:url(../img/top/case-ico02.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:-27px;
	top: 50%;
	transform: translateY(-50%);
}

.case .txt-box ul{
	display:inline-block;
	text-align:left;
}

.case .txt-box ul li{
	padding:0 0 0 20px;
	position:relative;
	color:#37BBD3;
	font-size: 18px;
}

.case .txt-box ul li:before{
	content:"";
	width:15px;
	height:15px;
	background:#FF8352;
	border-radius:50%;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.orange{
	color:#F97316;
}

.faq{
	padding:60px 30px;
	text-align:center;
}

.faq .ico {
    width: 55%;
    margin: 0 auto 20px;
}

.faq .m-tit {
    background: url(../img/top/tit-ico.png) no-repeat top center;
    background-size: 34px;
}

.faq .box{
	max-width:400px;
	margin:0 auto;
	padding:20px 0 0 0;
}

.faq dl{
	border-top:1px dotted #3693FF;
	padding:30px 0;
}

.faq dl:last-child{
	border-bottom:1px dotted #3693FF;
}

.faq dl dt{
	display:inline-block;
	padding:0 0 0 35px;
	position:relative;
}

.faq dl dt:after{
	content:"";
	width:27px;
	height:31px;
	background:url(../img/top/faq-ico02.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.faq dl dd{
	padding:30px 0 0 0;
	position:relative;
}

.faq dl dd:after{
	content:"↓";
	position:absolute;
	color:#0F172A;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
}

@media screen and (max-width: 500px) {
.txt{
	font-size: 14px;
}

.txt02{
	font-size: 15px;
}

.trouble{
	padding:60px 20px 20px 20px;
}

.trouble .box{
	padding:80px 20px 40px 20px;
}

.trouble .box h2{
	top:-40px;
	max-width:200px;
}

.trouble .box ul li{
	border-radius: 20px;
	padding:5px 20px;
	text-align:center;
	margin:15px 0 0 0;
	display:inline-block;
	float:none !important;
}

.trouble .box ul li .txt-box{
	display:block;
}

.trouble .box ul li .ico{
	margin:0 auto;
}

.trouble .box ul li:nth-child(even) .ico{
	margin:0 auto;
}

.trouble .f-txt{
	font-size: 15px;
	padding:10px 0 0 0;
}

.type{
	padding:40px 20px;
}

.type .box{
	border-radius: 30px 30px 20px 20px;
	border: 2px solid #30a2c5;
	padding:50px 20px 0 20px;
}

.type .box .ico{
	width:120px;
	top:-60px;
}

.type .box h3{
	font-size: 20px;
}

.type .box .box-in{
	padding:20px 0 0 0;
}

.type .box .box-in h4{
	font-size: 16px;
}

.type .box .box-in h4:after{
	width:22px;
	height:36px;
}

.type .box .box-in ul li:before{
	width:20px;
	height:20px;
}

.type .box .f-txt{
	border-radius: 0px 0px 15px 15px;
	padding:10px 0;
}

.operation{
	padding:0 20px;
}

.operation .ico{
	width:200px;
}

.operation h2{
	font-size: 18px;
}

.operation h3{
	font-size: 20px;
}

.operation ul li{
	padding:0 0 0 20px;
	font-size: 16px;
}

.operation ul li:before{
	width:13px;
	height:13px;
}

.btn-box .btn{
	min-width:inherit;
	max-width:inherit;
}

.btn-box .btn-txt{
	margin:-10px 0 0 0;
	font-size:12px;
}

.failure{
	padding:80px 20px 150px 20px;
}

.failure .box{
	padding:50px 20px 40px 20px;
	border-radius: 0px 0px 30px 30px;
}

.failure .box .ico{
	width:66px;
	left:0;
	right:0;
	margin:0 auto;
	top:-50px;
}

.m-tit{
	font-size: 20px;
}

.failure .box .f-txt{
	font-size: 16px;
}

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

.forte .ico{
	width:200px;
	margin:0 auto -50px;
	position:relative;
	top:-80px;
}

.forte .box-in{
	margin:100px 0 0 0;
}

.forte .box-in h3{
	height:100px;
	margin-top:-70px;
}

.forte .box-in .txt02{
	text-align:left;
}

.forte .box-in ul li{
	margin:5px 0 0 0;
	padding:0 0 0 18px;
	font-size: 16px;
}

.forte .box-in ul li:after{
	width:13px;
	height:12px;
	top:6px;
}

.use{
	padding:60px 20px;
}

.use .m-tit{
	padding:30px 0;
	text-align:center;
}

.use .m-tit:after{
	width:260px;
	height:124px;
	left:-80px;
	top:-40px;
}

.case{
	padding:20px 20px 40px 20px;
	text-align:center;
	background:url(../img/top/case-bg01.jpg) no-repeat center 80px,url(../img/top/case-bg02.jpg) no-repeat center bottom;
	background-size:contain;
}

.case .box-in h3{
	font-size:34px;
}

.case .box-in h3 span{
	font-size:16px;
}

.case .box-in .ico span{
	font-size:14px;
}

.case .box-in .ico span:after{
	width:20px;
	height:30px;
	left:-8px;
}

.case .box-in h4{
	font-size: 16px;
	bottom:-19px;
}

.case .txt-box{
	border: 2px solid #37bbd3;
	padding:40px 20px 20px 20px;
}

.case .txt-box dl dt{
	font-size:14px;
}

.case .txt-box dl dt.or:after{
	width:30px;
	height:30px;
	left:-27px;
}

.case .txt-box ul li{
	padding:0 0 0 18px;
	font-size: 16px;
}

.case .txt-box ul li:before{
	width:12px;
	height:12px;
	top:13px;
}

.case .txt-box .seika{
	text-align:left;
}

.faq{
	padding:60px 20px;
}

.faq .ico {
    width: 200px;
}

.faq .box{
	max-width:400px;
	margin:0 auto;
	padding:20px 0 0 0;
}

.faq dl{
	border-top:1px dotted #3693FF;
	padding:30px 0;
}

.faq dl:last-child{
	border-bottom:1px dotted #3693FF;
}

.faq dl dt{
	display:inline-block;
	padding:0 0 0 35px;
	position:relative;
}

.faq dl dt:after{
	content:"";
	width:27px;
	height:31px;
	background:url(../img/top/faq-ico02.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.faq dl dd{
	padding:30px 0 0 0;
	position:relative;
}

.faq dl dd:after{
	content:"↓";
	position:absolute;
	color:#0F172A;
	left:0;
	right:0;
	margin:0 auto;
	top:0;
}
}

/* CONTACT
-------------------------------------------------------------------*/
#contact{
	padding:60px 30px;
	text-align:center;
}

#contact .box{
	border: 5px solid #37bbd3;
	border-radius: 24px;
	padding:45px 55px 0 55px;
	position:relative;
}

#contact .box .ico01{
	position:absolute;
	top:-20px;
	left:0;
	right:0;
	margin:0 auto;
	width:135px;
}

#contact .box .ico02{
	position:absolute;
	top:-87px;
	right:50px;
	width:115px;
}

#contact .box .min-txt li{
	display:inline-block;
	font-size:11px;
	background:#EAF3FE;
	border-radius:8px;
	margin:0 3px;
	padding:3px 10px;
}

#contact .box h2{
	font-size:27px;
	color:#37BBD3;
	padding:20px 0;
}

.form{
	text-align:left;
	padding:20px 0 0 0;
}

.form dl{
	padding:0 0 15px 0;
}

.form dl dt{
	font-size: 16px;
	line-height:1.4;
	display:inline-block;
	position:relative;
	margin:0 0 10px 0;
	padding:0 0 0 28px;
}

.form dl dt:before{
	content:"";
	width:20px;
	height:23px;
	background:url(../img/top/contact-ico03.png) no-repeat;
	background-size:contain;
	position:absolute;
	left:0;
	top: 50%;
	transform: translateY(-50%);
}

.form input, .form textarea {
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
	padding: 15px;
    font-family:"HigureGothic";
	box-sizing:border-box;
	border-radius: 8px;
	background: #e2f3f5;
	box-shadow: inset 0 3px 4px rgba(55,187,211,0.1);
	border:none;
}

.form textarea{
	height:160px;
}

.contact .privacy {
    margin: 20px auto;
	height:160px;
    box-sizing: border-box;
    padding: 10px;
    overflow: auto;
    font-size: 11px;
    border: 1px solid #E3E3E3;
    border-radius: 2px;
	background:#fff;
	max-width:320px;
	color:#64748B;
	text-align:left;
}

.contact .privacy h4{
    line-height: 1.6;
	padding:0 0 5px 0;
}

.contact .privacy p{
	padding:0 0 10px 0;
}

.check{
	text-align:center;
	padding:0 0 40px 0;
}

.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:0 0 0 28px;
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}

.check input[type=checkbox] + span::before {
	content: "";
	position: absolute;
	width: 18px;
	aspect-ratio: 1/1;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
	margin:0 auto;
	background: #fff;
	border-radius:3px;
	border: 1px solid #267482;
}

.check input[type=checkbox] + span::after {
	content: "";
	position: absolute;
	width: 10px;
	aspect-ratio: 1/1;
    top: 50%;
    transform: translateY(-50%);
	left: 4px;
	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;
}

.conbtn input[type=submit] ,
.m-btn a{
	line-height: 80px;
	height: 80px;
	width: 400px;
	color: #fff;
	font-size: 24px;
	display: block;
	position: relative;
    font-family:"HigureGothic";
	font-weight:500;
	border: none;
	cursor: pointer;
	margin:0 auto;
	border-radius: 40px;
	background: linear-gradient(#f97316 0%, #ea580c 100%);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.conbtn input[type=submit]{
	position:absolute;
	left:0;
	right:0;
	bottom:-40px;
}

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

.contact .f-box .ico{
	padding:60px 0 0 0;
	width:120px;
	margin:0 auto;
}

.contact .f-box .f-txt{
	font-size:14px;
}

@media screen and (max-width: 500px) {
#contact{
	padding:60px 20px;
}

#contact .box{
	border: 3px solid #37bbd3;
	border-radius: 20px;
	padding:30px 20px 0 20px;
}

#contact .box .ico01{
	top:-15px;
	width:100px;
}

#contact .box .ico02{
	top:-75px;
	left:0;
	width:100px;
}

#contact .box .min-txt li{
	margin:3px;
}

#contact .box h2{
	font-size:20px;
	padding:20px 0;
}

.form dl dt{
	font-size: 15px;
	padding:0 0 0 28px;
}

.form dl dt:before{
	width:18px;
	height:21px;
}

.form input, .form textarea {
	padding: 10px;
}
	
.check {
	padding: 0 0 20px 0;
}

.conbtn input[type=submit] ,
.m-btn a{
	line-height: 60px;
	height: 60px;
	width: 100%;
	font-size: 18px;
}
	

.conbtn input[type=submit]{
	bottom:-30px;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:60px 30px 100px 30px;
	text-align:center;
}

.thanks_area h1{
	font-size: 24px;
	line-height:1.6;
	padding:30px 0;
	border-bottom:1px solid #E8EBEC;
	margin:0 auto;
}

.thanks_area .txt{
	font-size: 16px;
	padding:50px 0;
	text-align:left;
}

.thanks_area .m-btn{
	padding:20px 0 0 0;
}

.thanks_area .m-btn a {
    font-size: 18px;
}

.thanks_area .m-btn02 a{
	background:#37BBD3;
}
@media screen and (max-width: 500px) {
.thanks_area{
	padding:60px 20px;
}

.thanks_area h1{
	font-size: 20px;
	padding:30px 0;
}

.thanks_area .txt{
	font-size: 14px;
	padding:30px 0;
}

.thanks_area .m-btn a{
	font-size:16px;
}	
	
.thanks_area .m-btn02 a{
	height:auto;
	line-height:1.6;
	padding:20px;
	border-radius:60px;
}
}