@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.mv{
	background:url(../img/top/mv-bg.jpg) no-repeat center center;
	background-size:cover;
	padding:20px 0 0 0;
}

.mv .box{
	position:relative;
}

.mv .img{
	text-align:right;
	margin:0 -140px 0 0;
	position:relative;
	z-index:2;
}

.mv h2{
	position:absolute;
	left:-50px;
	bottom:-30px;
}

.tel-area{
	padding:60px 0;
	background:#71BF24;
}

.tel-area .box{
	display:flex;
	align-items:end;
	justify-content:space-between;
}

.tel-area .box .txt{
	order:2;
}

.trouble{
	padding:150px 0 120px 0;
}

.trouble .box{
	position:relative;
}

.trouble .mascot{
	position:absolute;
	left:40px;
	top:70px;
	z-index:2;
}

.trouble .img01{
	position:absolute;
	right:-285px;
	top:-80px;
}

.trouble .img02{
	position:absolute;
	left:-400px;
	top:100px;
}

.trouble .txt-box{
	background:#F9FCF2;
	padding:60px 0;
	position:relative;
	text-align:center;
}

.trouble h2{
	font-size:52px;
	line-height:1.6;
	font-weight:600;
	color:#55B206;
	position:absolute;
	top:-45px;
	left:20px;
}

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

.trouble .txt-box ul li{
	line-height:1.6;
	font-weight:600;
	font-size:25px;
	padding:0 0 10px 45px;
	background:url(../img/top/trouble-ico.png) no-repeat left 8px;
	text-align:left;
}

.trouble .arrow{
	position:absolute;
	right:0;
	left:0;
	margin:0 auto;
	bottom:-90px;
}

.trouble h3{
	font-size:45px;
	line-height:1.6;
	font-weight:600;
	text-align:center;
	padding:100px 0 60px 0;
}

.trouble h3 span{
	font-size:62px;
	color:#EB441D;
	font-weight:900;
	background:linear-gradient(transparent 70%, #FFF364 70%);
}

.trouble h3 em{
	font-size:52px;
	color:#55B206;
	font-weight:900;
}

.huki{
	position:relative;
	width:780px;
	margin:0 auto;
	border: 4px solid #000000;
	border-bottom:7px solid #000000;
	border-radius: 5px;
	background-color: #ffffff;
	text-align:center;
	font-size:35px;
	line-height:1.6;
	font-weight:700;
	padding:15px 20px;
	box-sizing:border-box;
}

.huki::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 35px 40px 0 0;
	border-color: #000000 transparent transparent;
	translate: -50% 100%;
	transform: skew(-25deg);
	transform-origin: top;
}

.huki::after {
	content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 20px 29px 0 0;
    border-color: #ffffff transparent transparent;
    translate: calc(-50% - 0.5px) 100%;
    transform: skew(-25deg);
    transform-origin: top;
}

.huki img{
	padding:0 20px 0 0;
	margin:0 0 -17px 0;
}

.trouble .txt{
	font-size:27px;
	font-weight:500;
	line-height:1.6;
	text-align:center;
	padding:60px 0;
}

.trouble .txt span{
	font-size:18px;
	display:block;
	padding:10px 0 0 0;
}

.trouble .tsubo{
	display:flex;
	justify-content:space-between;
}

.trouble .tsubo li{
	width:218px;
	text-align:center;
}

.trouble .tsubo li h5{
	font-size:22px;
	font-weight:600;
	color:#fff;
	display:inline-block;
	background:#71BF24;
	padding:3px 20px;
	border-radius:5px;
	line-height:1.6;
	position:relative;
	bottom:-20px;
	z-index:2;
}

.trouble .tsubo li dl{
	position: relative;
	width:180px;
	margin:-20px auto 0;
	border-radius: 5px;
	background: #F7F6F0;
	padding:15px;
	display:flex;
	align-items:center;
}

.trouble .tsubo li dl::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 7.5px 12px 7.5px;
	border-color: transparent transparent #F7F6F0;
	translate: -50% -100%;
}

.trouble .tsubo li dl dt{
	font-size:22px;
	padding:3px 10px 3px 0;
	border-right:1px solid #707070;
}

.trouble .tsubo li dl dd{
	font-size:27px;
	font-weight:600;
	padding:0 0 0 10px;
}

.trouble .tsubo li dl dd span{
	font-size:24px;
}

.reason{
	background:#F9FCF2;
	padding:0 0 80px 0;
}

.reason .huki{
	position:relative;
	top:-30px;
}

.reason ul{
	padding:60px 0 0 0;
}

.reason ul li{
	position:relative;
	display:flex;
	justify-content:flex-end;
	margin:0 0 100px 0;
}

.reason ul li:nth-child(even){
	justify-content:flex-start;
}

.reason ul li .mascot{
	position:absolute;
	left:380px;
	bottom:-10px;
	z-index:4;
}

.reason ul li:nth-child(even) .mascot{
	left:550px;
}

.reason ul li .img{
	position:absolute;
	left:-60px;
	top:0;
	z-index:2;
}

.reason ul li:nth-child(even) .img{
	right:-60px;
	left:auto;
	top:10px;
}

.reason ul li .txt-box{
	background:#fff;
	position:relative;
	padding:20px 40px 20px 80px;
	width:580px;
	box-sizing:border-box;
}

.reason ul li h3{
	position:absolute;
	left:-15px;
	top:-20px;
	z-index:3;
}

.reason ul li h4{
	font-size:34px;
	line-height:1.6;
	font-weight:600;
}

.reason ul li .txt{
	font-size:21px;
	line-height:1.8;
	font-weight:500;
	padding:15px 0 0 0;
}

.knowing{
	padding:0 0 120px 0;
}

.knowing .box{
	position:relative;
}

.knowing .mascot{
	position:absolute;
	top:10px;
	left:20px;
	z-index:3;
}

.knowing .huki{
	position:relative;
	top:-30px;
	font-size:27px;
}

.knowing .huki span{
	display:inline-block;
	position:relative;
	font-size:62px;
	font-weight:900;
	color:#70BF23;
}

.knowing .huki span:after{
	display:block;
	content:"";
	width:4px;
	height:60px;
	background:#70BF23;
	position:absolute;
	left:-30px;
	bottom:0;
	transform: rotate(-45deg);
}

.knowing .huki span:before{
	display:block;
	content:"";
	width:4px;
	height:60px;
	background:#70BF23;
	position:absolute;
	right:-30px;
	bottom:0;
	transform: rotate(45deg);
}

.knowing .huki em{
	color:#EB441D;
	font-weight:600;
	font-size:30px;
	border-bottom:double #EB441D;
}

.knowing h3{
	font-weight:600;
	font-size:36px;
	line-height:1.6;
	padding:40px 0 60px 0;
	text-align:center;
}

.knowing h3 span{
    font-size: 42px;
    color: #EB441D;
    font-weight: 700;
    background: linear-gradient(transparent 70%, #FFF364 70%);
}

.knowing .box-in{
	display:flex;
	justify-content:space-between;
}

.knowing .box-in .txt02{
	font-size:21px;
	line-height:1.8;
	font-weight:500;
	width:490px;
}

.sell{
	padding:120px 0 180px 0;
	background:#FAFCF2;
}

.sell .mascot01{
	position:absolute;
	top:85px;
	right:-100px;
}

.sell .mascot02{
	position:absolute;
	bottom:-210px;
	left:-100px;
}

.sell ul li{
	display:flex;
	align-items:center;
	padding:60px 0 0 0;
}

.sell ul li .img{
	min-width:420px;
}

.sell ul li:nth-child(even) .img{
	order:2;
}

.sell ul li .txt-box{
	padding:0 0 0 60px;
}

.sell ul li:nth-child(even) .txt-box{
	padding:0 60px 0 0;
}

.sell ul li h3{
	border-radius:30px;
	padding:3px 30px 5px 30px;
	background:#71BF24;
	color:#fff;
	font-size:24px;
	font-weight:900;
	display:inline-block;
}

.sell ul li h3 span{
	font-size:42px;
	font-family: "Noto Sans", sans-serif;
	padding:0 0 5px 20px;
	line-height:1;
	position:relative;
	bottom:-3px;
}

.sell ul li h4{
	font-size:36px;
	font-weight:700;
	line-height:1.6;
	color:#55B206;
	padding:10px 0 20px 0;
}

.sell ul li .txt{
	font-size:21px;
	line-height:1.8;
}

.company{
	padding:80px 0;
}

.company .box-in{
	margin:50px 0 0 50px;
	width:450px;
}

.company .box-in dl{
	padding:30px 0;
	border-bottom:1px solid #C7CFD5;
	display:flex;
	font-size:21px;
}

.company .box-in dl dt{
	min-width:120px;
	text-align:right;
	line-height:1.6;
}

.company .box-in dl dd{
	line-height:1.6;
	padding:0 0 0 80px;
}

.company .mascot{
	position:absolute;
	bottom:-110px;
	right:-70px;
}


@media screen and (max-width: 800px) {
.mv{
	background:none;
	padding:0;
}

.mv .box{
	position:relative;
}

.mv .img{
	margin:0;
	position:absolute;
	bottom:-8%;
	left:0;
	right:0;
}

.mv h2{
	position:static;
	line-height:0;
}

.tel-area{
	padding:20px 30px;
}

.m-tel-area{
	padding:14% 30px 20px 30px;
}

.tel-area .box{
	display:block;
}

.tel-area .box .tel{
	padding:20px 0 0 0;
}

.trouble{
	padding:60px 20px;
}

.trouble .mascot{
	position:static;
	width:75px;
	margin:0 auto -30px;
}

.trouble .img-box{
	display:flex;
	justify-content:space-between;
	margin:-30px -10% 0 -10%;
}

.trouble .img01{
	position:static;
	width:35%;
}

.trouble .img02{
	position:static;
	width:35%;
}

.trouble .txt-box{
	padding:40px 20px;
	z-index:-1;
}

.trouble h2{
	font-size:30px;
	position:static;
	line-height:1.4;
	padding:0 0 20px 0;
}

.trouble .txt-box ul li{
	font-size:18px;
	padding:0 0 10px 25px;
	background:url(../img/top/sp/trouble-ico.png) no-repeat left 7px;
	background-size:18px;
}

.trouble .arrow{
	width:60px;
	bottom:-70px;
}

.trouble h3{
	font-size:22px;
	padding:30px 0 60px 0;
}

.trouble h3 span{
	font-size:30px;
}

.trouble h3 em{
	font-size:28px;
	display:block;
}

.huki{
	width:100%;
	border: 3px solid #000000;
	border-bottom:6px solid #000000;
	font-size:24px;
	padding:15px 10px;
}

.huki img{
	padding:0;
	display:block;
	width:240px;
	margin:0 auto;
}

.trouble .txt{
	font-size:20px;
	text-align:center;
	padding:40px 0;
}

.trouble .txt span{
	font-size:14px;
	padding:10px 0 0 0;
}

.trouble .tsubo{
	justify-content:center;
	flex-wrap:wrap;
}

.trouble .tsubo li{
	width:200px;
	margin:10px;
}

@media screen and (max-width: 500px) {
.trouble .tsubo{
	justify-content:space-between;
}
.trouble .tsubo li{
	width:48%;
	margin:0 0 2% 0;
}
}

.trouble .tsubo li h5{
	font-size:16px;
	bottom:-15px;
}

.trouble .tsubo li dl{
	width:90%;
	margin:-15px auto 0;
	padding: 10px;
	box-sizing:border-box;
	justify-content:center;
}

.trouble .tsubo li dl dt{
	font-size:13px;
	padding:3px 10px 3px 0;
	border-right:1px solid #707070;
}

.trouble .tsubo li dl dd{
	font-size:17px;
	font-weight:600;
	padding:0 0 0 10px;
}

.trouble .tsubo li dl dd span{
	font-size:16px;
}

.reason{
	padding:20px 20px 120px 20px;
}

.reason .huki{
	position:relative;
	top:-30px;
}

.reason ul{
	padding:40px 0 0 0;
}

.reason ul li{
	margin:0 0 60px 0;
	display:block;
}

.reason ul li .mascot{
	right:0;
	left:auto;
	bottom:auto;
	top:60px;
}

.reason ul li:nth-child(even) .mascot{
	left:auto;
	top:auto;
	bottom:-120px;
}

.reason ul li .img{
	position:static;
	margin:0 0 0 -20px;
}

.reason ul li .img img{
	width:90%;
}

.reason ul li:nth-child(even) .img{
	margin:0 -20px 0 0;
	text-align:right;
}

.reason ul li .txt-box{
	padding:60px 20px 20px 20px;
	width:100%;
	box-sizing:border-box;
}

.reason ul li h3{
	width:100px;
	left:-10px;
	top:-20px;
}

.reason ul li h4{
	font-size:24px;
	position:relative;
	z-index:5;
}

.reason ul li .txt{
	font-size:16px;
	padding:15px 0 0 0;
}

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

.knowing .mascot{
	display:none;
}

.knowing .huki{
	top:-20px;
	font-size:18px;
}

.knowing .huki span{
	font-size:28px;
}

.knowing .huki span:after{
	width:3px;
	height:30px;
	left:-20px;
}

.knowing .huki span:before{
	width:3px;
	height:30px;
	right:-20px;
}

.knowing .huki em{
	font-size:20px;
}

.knowing h3{
	font-size:24px;
	padding:30px 0;
}

.knowing h3 span{
    font-size: 30px;
}

.knowing .box-in{
	display:block;
}

.knowing .box-in .txt02{
	font-size:16px;
	padding:20px 0 0 0;
	width:100%;
}

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

.sell .mascot01{
	position:static;
	width:110px;
	margin:0 auto -20px;
}

.sell .mascot02{
	position:static;
	width:110px;
	margin:20px 0 -20px 0;
}

.sell ul li{
	display:block;
	padding:40px 0 0 0;
	text-align:center;
}

.sell ul li .img{
	min-width:inherit;
	max-width:280px;
	width:100%;
	margin:0 auto;
	text-align:center;
}

.sell ul li .txt-box{
	padding:0;
}

.sell ul li:nth-child(even) .txt-box{
	padding:0;
}

.sell ul li h3{
	padding:3px 20px 5px 20px;
	font-size:16px;
	position:relative;
	top:-20px;
}

.sell ul li h3 span{
	font-size:30px;
	padding:0 0 5px 10px;
	bottom:-3px;
}

.sell ul li h4{
	font-size:24px;
	padding:0 0 10px 0;
}

.sell ul li .txt{
	font-size:16px;
	text-align:left;
	display:inline-block;
}

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

.company .box-in{
	margin:40px auto 0;
	width:100%;
	box-sizing:border-box;
	padding:0 10px;
}

.company .box-in dl{
	padding:20px 0;
	font-size:16px;
}

.company .box-in dl dt{
	min-width:80px;
}

.company .box-in dl dd{
	padding:0 0 0 40px;
}

.company .mascot{
	position:static;
	width:100%;
	display:flex;
	justify-content:flex-end;
	padding:20px 0;
}

.company .mascot img{
	width:250px;
	margin:0;
}
}

/* CONTACT
-------------------------------------------------------------------*/
.contact{
	padding:80px 0 0 0;
}

.contact .form-box{
	max-width:780px;
	margin:60px auto 0;
}

.contact .form{
	max-width:780px;
	margin:0 auto;
}

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

.form dl dt{
	padding:0 0 10px 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size:21px;
}

.form dl dt span{
	color:#E21E1E;
}

.form dl dd{
	width:100%;
}

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

.form textarea{
	height:180px;
}

.form .wpcf7-list-item > label{
	display:inline-block;
	margin:0 0 0 30px;
	font-weight:500;
}

.form .wpcf7-list-item.first > label{
	margin:0;
}

.wpcf7-response-output{
	max-width:700px;
	margin:30px auto 0 !important;
	text-align:center;
}

.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 40px;
    font-size: 21px;
    line-height: 1.6;
    cursor: pointer;
}

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

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

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

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

.contact .check{
	padding:50px 0 50px 0;
	text-align:center;
	font-size:21px;
}

.conbtn{
	text-align:center;
}

.conbtn input[type=submit] {
	height: 70px;
    line-height: 68px;
    width: 320px;
    color: #fff;
    text-align: center;
    font-size: 21px;
    font-weight: 500;
    box-sizing: border-box;
    display: block;
    position: relative;
	font-family: "Noto Sans JP", sans-serif;
	border:1px solid #71BF24;
	background:#71BF24;
	cursor:pointer;
	border-radius:10px;
	transition: all 0.3s;
	margin:0 auto;
}

.conbtn input[type=submit]:hover {
    color: #000000;
	background:#fff;
}

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

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

.contact .form-box{
	max-width:inherit;
	margin:40px auto 0;
}

.contact .form{
	max-width:100%;
}

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

.form dl dt{
	font-size:16px;
	padding:0 0 5px 0;
}

.form .wpcf7-list-item > label{
	margin:0 0 0 30px;
}

.check input[type="checkbox"]+span {
	padding:0 0 0 30px;
    font-size: 16px;
}

.check input[type="checkbox"]+span::before {
    width: 20px;
    top: 2px;
    left: 0;
}

.check input[type="checkbox"]+span::after {
    width: 14px;
    left: 3px;
	top:4px;
    background: url(../img/common/check-solid.svg) no-repeat center center;
    background-size: contain;
}

.contact .check{
	padding:40px 0 30px 0;
	font-size:16px;
}


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

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:120px 0;
	text-align:center;
}

.thanks_area h1{
	font-size:28px;
	line-height:1.6em;
	font-weight:700;
	padding:50px 0;
	width:720px;
	border-bottom:1px solid #121B3A;
	margin:0 auto;
}

.thanks_area .txt{
	line-height:2;
	padding:50px 0;
	font-weight:500;
}

.m-btn a{
	height: 70px;
    line-height: 68px;
    width: 320px;
    color: #fff;
    text-align: center;
    font-size: 21px;
    font-weight: 500;
    box-sizing: border-box;
    display: block;
    position: relative;
	border:1px solid #71BF24;
	background:#71BF24;
	border-radius:10px;
	transition: all 0.3s;
	margin:0 auto;
}

.m-btn a:hover {
    color: #000000;
	background:#fff;
}

@media screen and (max-width: 800px) {
.thanks_area{
	padding:60px 20px;
	text-align:left;
}

.thanks_area h1{
	font-size:20px;
	padding:30px 0;
	box-sizing:border-box;
	width:100%;
	text-align:center;
}

.thanks_area .txt{
	padding:30px 0 40px 0;
}

.m-btn a{
	height: 50px;
    line-height: 48px;
    width: 300px;
    font-size: 16px;
}
}