@charset "utf-8";

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

.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;
}

.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 .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;
}

@media screen and (max-width: 800px) {
.home .mv{
	height:auto;
	background:none;
}

.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;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	text-align:center;
	position:relative;
	z-index:3;
	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/contac-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;
}

@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/contac-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]{
	appearance: none;
}

.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;
}

.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;
}

.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;
}

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

.thanks-area h1{
	font-size:14px;
	padding:20px 0 40px 0;
}

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

}