@charset "utf-8";

/* HOME
-------------------------------------------------------------------*/
.home .mv{
	position:relative;
	text-align:center;
}

.home .mv .bg{
	height:460px;
	background:url(../img/top/mv-bg.png) no-repeat center center;
	background-size:cover;
}

.home .mv .img{
	height:600px;
	background:url(../img/top/mv-img.jpg) no-repeat top center;
	background-size:cover;
}

.home .mv .box{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:120px;
}

.home .mv .box .box-in{
	position:relative;
}

.home .mv .box .box-in .ico{
	position:absolute;
	z-index:2;
	left:-20px;
	top:-90px;
}

.home .mv .box .box-in .txt{
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:-40px;
}

.main{
	padding:40px;
}

.main .box{
	background:#fff;
	padding:70px 20px;
	text-align:center;
}

.main .box h2{
	line-height:1.6em;
	font-size:40px;
	font-weight:500;
}

.main .box h2 span {
    background: linear-gradient(transparent 70%, rgba(252, 220, 63, 0.8) 70%);
}

.main .box ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:70px 0 0 0;
}

.main .box ul li{
	border-radius: 10px;
	background: #edf1f4;
	width:235px;
	padding:10px 0 20px 0;
	margin:0 0 20px 0;
}

.main .box ul li h3{
	padding:10px 0 0 0;
	font-size:20px;
	line-height:1.2em;
	color:#3377B1;
	font-weight:500;
}

.main .box ul li:nth-child(2) h3{
	padding:0;
}

.main .box .txt{
	font-size:26px;
	line-height:1.6em;
	font-weight:500;
	padding:40px 0 0 0;
}

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

.huki{
	position: relative;
	display: inline-block;
	border-top:2px solid #9ABFDD;
	border-bottom:2px solid #9ABFDD;
	padding:20px 0;
	font-size:20px;
	color:#3377B1;
	font-weight:500;
}

.huki:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 20px 20px 0 0;
	border-color: #9ABFDD transparent transparent;
	translate: -50% 100%;
}

.huki:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 15.2px 15.2px 0 0;
	border-color: #EAF4FC transparent transparent;
	translate: calc(-50% - 0.4px) 100%;
}

.feature h2{
	padding:50px 0 0 0;
	font-size:40px;
	font-weight:500;
	line-height:1.4em;
}

.feature ul.ico{
	display:flex;
	justify-content:center;
	padding:50px 0 0 0;
	margin:0 0 -25px 0;
}

.feature ul.ico li{
	border-radius: 25px;
	background: #5e99c9;
	color:#fff;
	font-size:20px;
	font-weight:500;
	margin:0 3px;
	padding:10px 20px;
}

.feature .box-in{
	border-radius: 10px;
	background: #fff;
	padding:80px 20px;
}

.feature .box-in h3{
	font-size:34px;
	font-weight:500;
	line-height:1.2em;
	display:inline-block;
	position:relative;
}

.feature .box-in h3:before{
    display: block;
    content: "";
    width: 2px;
    height: 35px;
    background: #5E99C9;
    position: absolute;
    right: -30px;
    bottom:-10px;
    transform: rotate(40deg);
}

.feature .box-in h3:after {
    display: block;
    content: "";
    width: 2px;
    height: 35px;
    background: #5E99C9;
    position: absolute;
    left: -30px;
    bottom:-10px;
    transform: rotate(-40deg);
}

.feature .trouble{
	width:680px;
	margin:60px auto 0;
}

.feature .trouble li{
	position:relative;
	margin:0 0 25px 0;
}

.feature .trouble li .img{
	position:absolute;
	right:0;
	top:-10px;
}

.feature .trouble li:nth-child(even) .img{
	right:auto;
	left:0;
}

.feature .trouble li .txt{
	height:100px;
	border-radius:80px;
	background:#EDF1F4;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:22px;
	line-height:1.4em;
	color:#3377B1;
	padding:0 120px 0 0;
}

.feature .trouble li:nth-child(even) .txt{
	padding:0 0 0 120px;
}

.feature .f-txt{
	font-size:26px;
	line-height:1.6em;
	padding:40px 0 0 0;
}

.merit{
	padding:80px 20px;
	background:#fff;
}

.merit .box h2{
	line-height:1.6em;
	font-size:34px;
	font-weight:500;
	text-align:center;
}

.merit .box h2 span {
    background: linear-gradient(transparent 70%, rgba(252, 220, 63, 0.8) 70%);
}

.merit .box ul{
	padding:70px 0 0 0;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	max-width:1020px;
	margin:0 auto;
}

.merit .box ul li{
	width:320px;
	border-radius: 10px;
	background: #edf1f4;
	box-sizing:border-box;
	padding:13px 40px 30px 40px;
	position:relative;
	margin:0 10px 20px 10px;
}

.merit .box ul li h3{
	font-family: "Roboto", sans-serif;
	font-weight:700;
	font-size:150px;
	line-height:1em;
	text-align:center;
	padding:0 0 0 50px;
	color:#fff;
	display:inline-block;
	position:relative;
}

.merit .box ul li h3:after{
	content:"";
	width:105px;
	height:108px;
	background:url(../img/top/merit-ico01.png) no-repeat center center;
	background-size:contain;
	position:absolute;
	right:-90px;
	top:20px;
}

.merit .box ul li:nth-child(2) h3:after{
	width:99px;
	height:110px;
	background:url(../img/top/merit-ico02.png) no-repeat center center;
	background-size:contain;
	right:-80px;
	top:20px;
}

.merit .box ul li:nth-child(3) h3:after{
	width:106px;
	height:111px;
	background:url(../img/top/merit-ico03.png) no-repeat center center;
	background-size:contain;
	right:-80px;
	top:20px;
}

.merit .box ul li:nth-child(4) h3:after{
	width:92px;
	height:92px;
	background:url(../img/top/merit-ico04.png) no-repeat center center;
	background-size:contain;
	right:-70px;
	top:30px;
}

.merit .box ul li:nth-child(5) h3:after{
	width:88px;
	height:88px;
	background:url(../img/top/merit-ico05.png) no-repeat center center;
	background-size:contain;
	right:-70px;
	top:30px;
}

.merit .box ul li h4{
	font-size:20px;
	text-align:center;
	font-weight:500;
	line-height:1.4em;
	padding:5px 0 15px 0;
	font-weight:600;
	color:#3377B1;
}

.about{
	padding:80px 20px;
}

.about h2{
	text-align:center;
	font-size:40px;
	line-height:1.4em;
	font-weight:500;
}

.about .m-txt{
	line-height:1.6em;
	font-size:26px;
	text-align:center;
	padding:40px 0 60px 0;
}

.about .m-txt span{
    background: linear-gradient(transparent 70%, rgba(252, 220, 63, 0.8) 70%);
}

.about .box{
	border-radius: 10px;
	background: #fff;
	padding:0 0 80px 0;
}

.about .box .box-in{
	max-width:720px;
	margin:0 auto;
	text-align:center;
}

.about .box .box-in .txt-box{
	display:flex;
	align-items:flex-end;
	text-align:left;
}

.about .box .box-in .txt-box .ico{
	min-width:230px;
	width:230px;
	margin:-20px 0 0 0;
}

.about .box .box-in .txt-box .txt{
	font-size:20px;
	line-height:1.6em;
	color:#3377B1;
}

.about .box .box-in .ico-box{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:60px 0 40px 0;
}

.about .box .box-in .ico-box li{
	width:234px;
	box-sizing:border-box;
	padding:20px;
	border-radius: 10px;
	background: #edf1f4;
	margin:0 0 10px 0;
}

.about .box .box-in .ico-box li .ico{
	padding:0 0 10px 0;
}

.about .box .box-in .ico-box li dl dt{
	font-size:20px;
	font-weight:600;
	color:#3377B1;
	line-height:1.4em;
	padding:0 0 10px 0;
}

.about .box .box-in .ico-box li dl dd{
	line-height:1.8em;
	padding:0 10px;
	text-align:left;
}

.about .huki{
	margin:0 0 30px 0;
}

.about .huki:after {
    border-color: #fff transparent transparent;
}

.about .huki-box ul li{
	margin:30px 0 0 0;
	border:1px solid #9ABFDD;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius: 10px;
	padding:20px 0;
}

.about .huki-box ul li .ico{
	width:130px;
}

.about .huki-box ul li .txt{
	font-size:26px;
	color:#3377B1;
	line-height:1.4em;
	text-align:left;
}

.m-tit{
	text-align:center;
	font-size:40px;
	font-weight:500;
	line-height:1em;
}

.m-tit span{
	display:inline-block;
	position:relative;
	font-family: "Roboto", sans-serif;
	color:#5E99C9;
	font-size:18px;
}

.m-tit span:after,
.m-tit span:before{
	content:"";
	height:2px;
	width:10px;
	background:#9abfdd;
	position:absolute;
	right:-25px;
	top:50%;
	margin:-1px 0 0 0;
}

.m-tit span:before{
	right:auto;
	left:-25px;
}

.flow{
	padding:80px 20px;
	background:#fff;
	text-align:center;
}

.flow .m-txt{
	font-size:26px;
	line-height:1.6em;
	padding:40px 0 60px 0;
}

.flow ul{
	display:flex;
	justify-content:space-between;
}

.flow ul li{
	width:220px;
	border-radius: 10px;
	background: #edf1f4;
	position:relative;
	box-sizing:border-box;
	padding:20px 10px 30px 10px;
}

.flow ul li:before,
.flow ul li:after {
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	right: -30px;
	width: 20px;
	height: 4px;
	border-radius: 9999px;
	background-color: #9ABFDD;
	transform-origin: calc(100% - 2px) 50%;
}

.flow ul li:before {
	transform: rotate(45deg);
}

.flow ul li:after {
	transform: rotate(-45deg);
}

.flow ul li:last-child:before,
.flow ul li:last-child:after {
	display:none;
}

.flow ul li dl dt{
	color:#fff;
	font-size:100px;
	font-weight:600;
	font-family: "Roboto", sans-serif;
	line-height:1em;
	text-align:left;
	padding:0 0 0 30px;
}

.flow ul li dl dd{
	color:#3377B1;
	font-size:26px;
	line-height:1.3em;
	padding:80px 0 0 0;
}

.flow ul li:nth-child(3) dl dd{
	padding:95px 0 0 0;
}

.flow ul li .ico{
	position:absolute;
	top:55px;
	right:25px;
}

.faq{
	padding:80px 20px;
}

.faq .box{
	border-radius: 10px;
	background: #fff;
	padding:80px 20px;
}

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

.faq .box .box-in dl{
	padding:0 0 30px 0;
	border-bottom:2px dashed #9ABFDD;
}

.faq .box .box-in dl:last-child{
	border-bottom:none;
	padding:0;
}

.faq .box .box-in dl dt{
	padding:30px 0 30px 80px;
	position:relative;
	font-size:26px;
	color:#3377B1;
	line-height:1.6em;
}

.faq .box .box-in dl dt:after{
	content:"Q";
	font-size:80px;
	color:#9ABFDD;
	position:absolute;
	left:5px;
	top:50%;
    transform: translateY(-50%);
	line-height:1em;
	font-family: "Roboto", sans-serif;
	font-weight:400;
}

.faq .box .box-in dl dd{
	padding:0 0 0 80px;
	line-height:1.8em;
}

.solution{
	padding:80px 20px;
	background:url(../img/top/solution-bg.png) no-repeat center center;
	background-size:cover;
	text-align:center;
}

.solution h2{
	font-size:40px;
	font-weight:500;
	line-height:1.4em;
	color:#fff;
	padding:0 0 80px 0;
}

.solution ul{
	display:flex;
	justify-content:space-between;
}

.solution ul li{
	width:240px;
}

.solution ul li .ico{
	margin:0 0 -50px 0;
	line-height:0;
	position:relative;
	z-index:2;
}

.solution ul li .txt{
	font-size:20px;
	line-height:1.4em;
	color:#3377B1;
	border-radius: 10px;
	background: #fff;
	position:relative;
	padding:60px 0 20px 0;
	font-weight:600;
}

.solution ul li .txt:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -13px;
	border: 13px solid transparent;
	border-top: 15px solid #fff;
}

.solution ul li .img{
	padding:40px 0 0 0;
}

.solution .box-in{
	border-radius:10px;
	border:1px solid #fff;
	margin:50px 0 0 0;
	padding:100px 90px 50px 90px;
	display:flex;
	align-items:center;
}

.solution .box-in h3{
	font-size:34px;
	line-height:1.3em;
	text-align:left;
	color:#fff;
	font-weight:500;
	padding:0 80px 0 0;
}

.solution .box-in ul{
	width:495px;
}

.company{
	padding:80px 20px;
}

.company .box{
	padding:80px 20px;
	background:#fff;
	border-radius:10px;
}

.company .box .box-in{
	padding:60px 0 0 0;
	width:600px;
	margin:0 auto;
}

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

.company .box .box-in dl.f-b{
	border-bottom:1px solid #9ABFDD;
	margin:0 0 30px 0;
}

.company .box .box-in dl dt{
	color:#3377B1;
	line-height:1.4em;
	padding:0 0 10px 0;
}

.company .box .box-in dl dd{
	line-height:1.8em;
}

.company .box .box-in .map iframe{
	width:100%;
	height:340px;
}

.contact{
	padding:80px 20px;
	background:#fff;
}

.contact .box{
	width:760px;
	margin:0 auto;
}

.contact .box ul.link-box{
	display:flex;
	justify-content:space-between;
	text-align:center;
	padding:50px 0;
}

.contact .box ul.link-box li{
	border-radius: 10px;
	background: #edf1f4;
	height:200px;
	display:flex;
	justify-content:center;
	align-items:center;
	width:370px;
}

.contact .box ul.link-box li:nth-child(1) dl{
	display:flex;
	justify-content:center;
	align-items:center;
}

.contact .box ul.link-box li:nth-child(1) dl dd{
	font-size:26px;
	font-weight:600;
	color:#3FC755;
	padding:0 0 0 25px;
}

.contact .box ul.link-box li:nth-child(2) dl dt{
	color:#3377B1;
	font-size:20px;
	font-weight:600;
	display:inline-block;
	padding:20px 0 20px 40px;
	background:url(../img/top/contact-ico02.png) no-repeat left center;
}

.contact .box ul li:nth-child(2) dl dd a{
	color:#3377B1;
	font-size:36px;
	font-weight:600;
	display:inline-block;
	font-family: "Roboto", sans-serif;
	margin:5px 0 0 0;
}
@media screen and (max-width: 800px) {
.home .mv{
	position:relative;
	text-align:center;
	background:url(../img/top/mv-bg.png) no-repeat center center;
	background-size:cover;
}

.home .mv .bg{
	display:none;
}

.home .mv .img{
	height:300px;
	background:url(../img/top/sp/mv-img.jpg) no-repeat top center;
	background-size:cover;
}

.home .mv .box{
	position:static;
	padding:65px 20px 0 20px;
}

.home .mv .box .box-in .ico{
	left:0;
	top:-5%;
	width:40%;
}

.home .mv .box .box-in .txt{
	position:static;
	margin:0 auto;
	padding:0 20px;
	margin:-10% 0 -40px 0;
}

.main{
	padding:40px 20px;
}

.main .box{
	padding:40px 20px;
	border-radius:10px;
}

.main .box h2{
	line-height:1.6em;
	font-size:28px;
}

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

.main .box ul li{
	width:49%;
	padding:15px 0 20px 0;
	margin:0 0 2% 0;
}

.main .box ul li .ico{
	width:100px;
	margin:0 auto;
}

.main .box ul li h3{
	padding:10px 0 0 0;
	font-size: clamp(12px, 4vw, 16px);
}

.main .box ul li:nth-child(1) h3{
	padding:25px 0 0 0;
}

.main .box ul li:nth-child(2) h3{
	padding:10px 0 0 0;
}

.main .box .txt{
	font-size:20px;
	padding:30px 0 0 0;
}

.feature{
	padding:0 20px 40px 20px;
}

.huki{
	font-size:18px;
	line-height:1.6em;
	width:80%;
	margin:0 auto;
}

.feature h2{
	padding:30px 0 0 0;
	font-size:28px;
}

.feature ul.ico{
	flex-wrap:wrap;
	padding:30px 0 0 0;
	margin:0 0 30px 0;
}

.feature ul.ico li{
	border-radius: 40px;
	font-size:16px;
	margin:0 3px 6px 3px;
	padding:10px 20px;
}

.feature .box-in{
	padding:40px 20px;
}

.feature .box-in h3{
	font-size:20px;
	line-height:1.4em;
}

.feature .box-in h3:before{
    height: 25px;
    right: -20px;
}

.feature .box-in h3:after {
    height: 25px;
    left: -20px;
}

.feature .trouble{
	width:100%;
	margin:30px auto 0;
}

.feature .trouble li{
	margin:0 0 20px 0;
}

.feature .trouble li .img{
	transform: translateY(-50%);
	top:50%;
	width:120px;
}

.feature .trouble li:nth-child(even) .img{
	right:auto;
	left:0;
}

.feature .trouble li .txt{
	height:auto;
	border-radius:10px;
	display:block;
	font-size: 18px;
	line-height:1.4em;
	padding:20px 65px 20px 20px;
	margin:0 70px 0 0;
	text-align:left;
	
}

.feature .trouble li:nth-child(even) .txt{
	padding:20px 20px 20px 65px;
	margin:0 0 0 70px;
}

.feature .f-txt{
	font-size: clamp(14px, 5vw, 20px);
	line-height:1.6em;
	padding:20px 0 0 0;
}

.merit{
	padding:40px 20px;
}

.merit .box h2{
	font-size:28px;
}

.merit .box ul{
	padding:40px 0 0 0;
	display:block;
}

.merit .box ul li{
	width:100%;
	padding:13px 20px 30px 20px;
	margin:0 0 20px 0;
	text-align:left;
}

.merit .box ul li .tit-box{
	display:flex;
	align-items:center;
}

.merit .box ul li h3{
	font-size:100px;
	padding:0;
	min-width:120px;
	width:120px;
	text-align:left;
}

.merit .box ul li h3:after{
	width:70px;
	height:72px;
	background:url(../img/top/sp/merit-ico01.png) no-repeat center center;
	background-size:contain;
	right:20px;
	top:0;
}

.merit .box ul li:nth-child(2) h3:after{
	width:66px;
	height:74px;
	background:url(../img/top/sp/merit-ico02.png) no-repeat center center;
	background-size:contain;
	right:20px;
	top:0;
}

.merit .box ul li:nth-child(3) h3:after{
	width:72px;
	height:75px;
	background:url(../img/top/sp/merit-ico03.png) no-repeat center center;
	background-size:contain;
	right:20px;
	top:10px;
}

.merit .box ul li:nth-child(4) h3:after{
	width:62px;
	height:62px;
	background:url(../img/top/sp/merit-ico04.png) no-repeat center center;
	background-size:contain;
	right:20px;
	top:15px;
}

.merit .box ul li:nth-child(5) h3:after{
	width:60px;
	height:60px;
	background:url(../img/top/sp/merit-ico05.png) no-repeat center center;
	background-size:contain;
	right:20px;
	top:15px;
}

.merit .box ul li h4{
	font-size:18px;
	text-align:left;
	padding:0;
}

.about{
	padding:40px 20px;
}

.about h2{
	font-size:28px;
}

.about .m-txt{
	line-height:1.5em;
	font-size:20px;
	padding:30px 0;
}

.about .box{
	padding:0 20px 40px 20px;
}

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

.about .box .box-in .txt-box{
	display:block;
}

.about .box .box-in .txt-box .ico{
	min-width:inherit;
	width:160px;
	margin:0 auto;
	position:relative;
	top:-20px;
}

.about .box .box-in .txt-box .txt{
	font-size:18px;
}

.about .box .box-in .ico-box{
	padding:30px 0;
	display:block;
}

.about .box .box-in .ico-box li{
	width:100%;
	margin:0 0 20px 0;
}

.about .box .box-in .ico-box li .ico{
	padding:0 0 10px 0;
	width:100px;
	margin:0 auto;
}

.about .box .box-in .ico-box li dl dt{
	font-size:18px;
	padding:0 0 10px 0;
}

.about .box .box-in .ico-box li dl dd{
	line-height:1.8em;
	padding:0;
}

.about .huki{
	margin:0 0 10px 0;
}

.about .huki-box ul li{
	margin:20px 0 0 0;
	padding:20px;
}

.about .huki-box ul li .ico{
	width:65px;
	min-width:65px;
	padding:0 20px 0 0;
}

.about .huki-box ul li .txt{
	font-size: clamp(14px, 4.5vw, 20px);
}

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

.m-tit span{
	font-size:16px;
}

.flow{
	padding:40px 20px;
}

.flow .m-txt{
	font-size:18px;
	padding:20px 0 40px 0;
}

.flow ul{
	display:block;
}

.flow ul li{
	width:100%;
	padding:20px;
	margin:0 0 40px 0;
	text-align:left;
}

.flow ul li:before,
.flow ul li:after {
	top: auto;
	left: calc(50% - 2px);
	right: auto;
	bottom:-27px;
	width: 4px;
	height: 20px;
	transform-origin: 50% calc(100% - 2px);
}

.flow ul li dl{
	display:flex;
	align-items:center;
}

.flow ul li dl dt{
	padding:0;
	min-width:120px;
	width:120px;
}

.flow ul li dl dd{
	font-size:20px;
	padding:0;
	font-weight:600;
}

.flow ul li:nth-child(3) dl dd{
	padding:0;
	line-height:1.8em;
}

.flow ul li .ico{
	width:65px;
	right:auto;
	left:60px;
    top: 50%;
    transform: translateY(-50%);
}

.faq{
	padding:40px 20px;
}

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

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

.faq .box .box-in dl{
	padding:0 0 20px 0;
	border-bottom:2px dashed #9ABFDD;
}

.faq .box .box-in dl dt{
	padding:20px 0 20px 50px;
	font-size:18px;
}

.faq .box .box-in dl dt:after{
	font-size:50px;
	left:0;
}

.faq .box .box-in dl dd{
	padding:0;
}

.solution{
	padding:40px 20px;
}

.solution h2{
	font-size:28px;
	padding:0 0 40px 0;
}

.solution ul{
	flex-wrap:wrap;
}

.solution ul li{
	width:49%;
	margin:0 0 20px 0;
}

.solution ul li .ico{
	margin:0 auto -50px;
	width:100px;
}

.solution ul li .txt{
	font-size: clamp(12px, 4vw, 18px);
	padding:60px 0 20px 0;
}

.solution ul li .img{
	padding:30px 0 0 0;
	width:120px;
	margin:0 auto;
}

.solution .box-in{
	margin:10px 0 0 0;
	padding:40px 20px 20px 20px;
	display:block;
}

.solution .box-in h3{
	font-size:20px;
	line-height:1.4em;
	text-align:center;
	padding:0 0 30px 0;
}

.solution .box-in ul{
	width:100%;
}

.company{
	padding:40px 20px;
}

.company .box{
	padding:40px 20px;
}

.company .box .box-in{
	padding:20px 0 0 0;
	width:100%;
}

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

.company .box .box-in dl.f-b{
	margin:0 0 30px 0;
}

.company .box .box-in dl dt{
	padding:0 0 5px 0;
}

.company .box .box-in .map iframe{
	width:100%;
	height:180px;
}

.contact{
	padding:40px 20px;
}

.contact .box{
	width:100%;
}

.contact .box ul.link-box{
	display:block;
	padding:30px 0;
}

.contact .box ul.link-box li{
	height:auto;
	display:block;
	width:100%;
	margin:0 0 10px 0;
	padding:40px 20px;
}

.contact .box ul.link-box li:nth-child(1) dl dt{
	width:60px;
}

.contact .box ul.link-box li:nth-child(1) dl dd{
	font-size:22px;
	padding:0 0 0 20px;
}

.contact .box ul.link-box li:nth-child(2) dl dt{
	font-size:20px;
	padding:10px 0 10px 40px;
	background:url(../img/top/sp/contact-ico02.png) no-repeat left center;
	background-size:25px;
}

.contact .box ul.link-box li:nth-child(2) dl dd{
	padding:15px 0 0 0;
}

.contact .box ul.link-box li:nth-child(2) dl dd a{
	font-size:32px;
}
}

/* FORM
-------------------------------------------------------------------*/
.form-box{
	border-radius: 10px;
	background: #edf1f4;
	padding:60px 20px;
}

.form{
	width:600px;
	margin:0 auto;
}

.form .txt{
	color:#3377B1;
	padding:0 0 50px 0;
	line-height:1.4em;
}

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

.form dl dt{
	padding:10px 0 0 0;
	min-width:200px;
	width:200px;
	box-sizing:border-box;
	color:#3377B1;
}

.form dl dd{
	width:100%;
}

.form input, .form textarea{
    width: 100%;
    font-size: 16px;
    line-height: 1.6;
    padding: 20px;
	background:#fff;
    box-sizing: border-box;
	font-family: "Zen Kaku Gothic New", sans-serif;
	border:none;
}

.form textarea{
	height:300px;
}

.form .wpcf7-radio {
    display: block;
    padding:0;
}

.form .wpcf7-radio>* {
    display:inline-block;
	margin:0;
}

.form .wpcf7-radio input[type="radio"] {
    display: none;
}

.form .wpcf7-radio .wpcf7-list-item-label {
    position: relative;
    padding-left: 30px;
    line-height: 1.5;
    cursor: pointer;
}

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

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

.form .wpcf7-radio .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    width: 20px;
	height:20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border-radius: 50%;
	background:#fff;
}

.form .wpcf7-radio .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    width: 10px;
	height:10px;
    top: 50%;
	left: 5px;
    transform: translateY(-50%);
    background: #041d2b;
    border-radius: 50%;
    opacity: 0;
    transition: .3s;
}

.form .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    opacity: 1;
}

.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:3px 0 0 40px;
    font-size: 16px;
    line-height: 1.4em;
    cursor: pointer;
}

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

.check input[type="checkbox"]+span::after {
    content: "";
    position: absolute;
    width: 20px;
    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: .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;
}

.conbtn{
	text-align:center;
}

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

.conbtn input[type=submit] {
	height: 80px;
    line-height: 76px;
    width: 250px;
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    box-sizing: border-box;
    display: block;
    position: relative;
	font-family: "Zen Kaku Gothic New", sans-serif;
	border:2px solid #3377B1;
	background:#3377B1;
	cursor:pointer;
	border-radius:5px;
	letter-spacing:0.1em;
	transition: all 0.3s;
}

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

.contact .privacy{
	max-width:600px;
	margin:20px auto 0;
}

.contact .privacy-box{
	padding:40px 40px 20px 40px;
	background:#fff;
	height:300px;
	box-sizing:border-box;
	overflow:auto;
	border-radius:5px;
}

.contact .privacy h3{
	padding:0 0 20px 0;
	line-height:1.4em;
	font-weight:500;
	color:#3377B1;
}

.contact .privacy h4{
	padding:0 0 15px 0;
	line-height:1.4em;
	font-weight:500;
	color:#3377B1;
}

.contact .privacy p{
	font-size:15px;
	line-height:1.8em;
	padding:0 0 20px 0;
}

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

.contact .privacy ol{
	font-size:15px;
	list-style-type: decimal;
}

.contact .privacy ul li{
	font-size:14px;
	line-height:1.8em;
	padding-left:1em;
	text-indent:-1em;
}

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

@media screen and (max-width: 800px) {
.form-box{
	padding:40px 20px;
}

.form{
	width:100%;
}

.form .txt{
	padding:0 0 30px 0;
}

.form dl{
	display:block;
}

.form dl dt{
	padding:0 0 5px 0;
	min-width:inherit;
	width:100%;
}

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

.form textarea{
	height:280px;
}

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

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

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

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

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

.contact .privacy{
	max-width:inherit;
}

.contact .privacy-box{
	padding:30px 20px 10px 20px;
	height:280px;
}

.contact .privacy h3{
	font-size:15px;
}

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

.contact .privacy p{
	font-size:14px;
}

.contact .privacy ol{
	font-size:13px;
}

.contact .privacy ul li{
	font-size:13px;
}
}

/* THANKS/404
-------------------------------------------------------------------*/
.thanks_area{
	padding:200px 0 160px 0;
	text-align:center;
	background:#fff;
}

.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:2em;
	padding:50px 0;
	font-weight:500;
}

.m-btn a {
	height: 80px;
    line-height: 76px;
    width: 250px;
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    box-sizing: border-box;
    display: block;
	border:2px solid #3377B1;
	background:#3377B1;
	cursor:pointer;
	border-radius:5px;
	letter-spacing:0.1em;
	transition: all 0.3s;
	margin:0 auto;
}

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

@media screen and (max-width: 800px) {
.thanks_area{
	padding:120px 20px 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: 70px;
    line-height: 66px;
    width: 250px;
    font-size: 18px;
}

}