@charset "utf-8";

/* ------------------------------------------------------------------------------------------------- common */
body{ min-width: 1400px; margin: 80px auto 0; font-size: 14px; font-family: 'Noto-Sans-JP-Regular'; }
a:hover{ opacity: 0.8; }

.inner{ width: 1200px; margin: 0 auto; padding: 0 50px; box-sizing: content-box; }
.sp{ display: none; }

.nuro{ font-family: "neue-haas-grotesk-text", sans-serif; font-weight: 500; font-style: normal; }


/* ------------------------------------------------------------------------------------------------- header */
header{ z-index: 500; min-width: 1400px; display: flex; align-items: center; justify-content: space-between; position: fixed; top: 0; left: 0; right: 0; width: 100%; padding: 22px 3%; box-shadow: 0 10px 10px rgba(0,0,0,0.1); background: #fff; }
header .nav{ display: flex; align-items: center; }
header h1{ width: 120px; margin: 0 50px 0 0; }
header h1 svg{ width: 100%; }
header h1 path{ fill: #000; }
header nav{ display: flex; align-items: center; width: 600px; }
header nav a{ padding-right: 20px; }

header .contact{ display: flex; align-items: center; justify-content: flex-end; width: 590px; }
header .contact a{ display: block; padding-left: 20px; }
header .contact a img{ margin: 0 5px 0 0; }


/* ------------------------------------------------------------------------------------------------- footer */
footer{ padding: 85px 0; background: #000; color: #fff; }
.f-inner{ padding: 0 20% 0 3%; }

footer .flex{ display: flex; align-items: center; justify-content: space-between; }
footer .company{ width: 400px; }
footer .company figure{ width: 160px; }
footer .company figcaption{ padding: 25px 0 0; }
footer .company p{ padding: 20px 0 0; line-height: 200%; }

footer .links{ display: flex; align-items: center; justify-content: space-between; width: 850px; }
footer .links a{ display: flex; align-items: center; justify-content: center; height: 90px; border: 1px solid #fff; background: #fff; }
footer .links .contact{ width: 240px; }
footer .links .download{ width: 260px; }
footer .links .tel{ flex-direction: column; width: 320px; background: #000; color: #fff; font-family: "neue-haas-grotesk-text", sans-serif; font-weight: 500; font-style: normal; font-size: 30px; letter-spacing: 0.05em; }
footer .links .tel .phone small{ font-size: 18px; }
footer .links .tel .reception{ padding: 10px 0 0; font-size: 13px; text-align: center; font-family: 'Noto-Sans-JP-Medium'; }


/* ------------------------------------------------------------ contact */
#contact{ padding: 100px 0; background: #F4F4F4; }
#contact .form-box{ width: 780px; margin: 0 auto; padding: 60px 100px; background: #fff; }

.contact-form tr{ padding: 0 0 25px; }
.contact-form tr:last-of-type{ padding: 0; }
.contact-form th{ margin: 0 0 15px; font-size: 15px; }
.contact-form .required{ font-size: 12px; }

.contact-form .submit{ width: 380px; height: 85px; margin: 30px auto 0; text-align: center; }
.contact-form .submit:after{ top: 40%; width: 15px; height: 15px; }


/* thanks */
.contact-inner{ width: 1000px; margin: 0 auto; text-align: center; }
.contact-ttl{ padding: 0 0 40px; font-size: 24px; letter-spacing: 0.05em; text-align: center; font-family: 'Noto-Sans-JP-Bold'; line-height: 36px;}
.caution{ padding: 0 0 50px; font-size: 14px; line-height: 150%; text-align: center; }

.top_btn{ width: 250px; margin: 0 auto; }
.top_btn a{ display: block; width: 100%; height: 60px; padding: 21px 0 0; border: 1px solid #000; font-size: 15px; text-align: center; border-radius: 50px; }
.top_btn a:hover{ color: #fff; background: #000; }

#thanks{ padding: 100px 0 80px; background: #F4F4F4; }
#thanks .box { width: 755px; background: #fff; padding: 70px 50px 90px; margin: 0 auto; }
#thanks small{ display: block; padding: 0 0 60px; font-size: 16px; line-height: 200%; }
#thanks .contact-ttl{ padding: 0 0 65px; }
#thanks .caution{ padding: 0 0 40px; font-size: 26px; font-family: 'Noto-Sans-JP-Bold'; }

/* error */
.alert{ padding: 0 0 20px; }
.alert span{ display: block; font-size: 14px; padding: 20px 0; }


/* confirm */
#confirm,
#error { padding: 100px 0; background: #F4F4F4; }
#confirm .box,
#error .box { width: 755px; background: #fff; padding: 30px 75px 60px; margin: 0 auto; }
#confirm .top_btn{ margin: 0; }
#confirm table{ width: 100%; margin: 0 auto 50px; }
#confirm tr{ width: 100%; border-bottom: 1px solid #EAEAEA; }
#confirm tr:last-child { border-bottom: 0px;}
#confirm th,
#confirm td{ padding: 28px 0; line-height: 150%; text-align: left; }
#confirm th{ width: 27%;  }
#confirm td{ width: 73%; }

.btns{ display: flex; align-items: center; justify-content: center; font-family: 'Noto-Sans-JP-Bold'; }
.btns div{ margin: 0 20px; }

.forward_btn{ width: 250px; margin: 0 auto; }
.forward_btn input{ display: block; width: 100%; height: 60px; background: #000; font-size: 15px; color: #fff; text-align: center; border-radius: 50px; }
.forward_btn input:hover{ background: #fff; color: #000; border: 1px solid #000; }




/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width: 768px) {
	
/* ------------------------------------------------------------------------------------------------- common */
	body{ min-width: 100%; margin: 40px auto 0; }
	.inner{ width: 90%; padding: 0; }
	.pc{ display: none; }
	.sp{ display: block; }


/* ------------------------------------------------------------------------------------------------- header */
	header{ min-width: 100%; padding: 12px 3%; }
	header .nav{ width: 110px; }
	header h1{ width: 110px; margin: 0 20px 0 0; }
	header h1 svg{ width: 100%; height: auto; }
		
	header .links{ width: 250px; display: flex; align-items: center; justify-content: flex-end; }
	header nav{ transition: 0.8s; display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; padding: 150px 10%; background: #000; }
	header nav a{ display: block; padding: 0 0 30px; font-family: 'Noto-Sans-JP-Bold'; color: #fff!important; }
	header nav .logo{ padding: 0 0 50px; }
	header nav .tel{ width: 100%; margin: 20px 0 0; padding: 20px; border: 1px solid #fff; text-align: center; background: #fff; color: #000 !important; }
	
	header .contact{ width: 180px; justify-content: space-around; margin-right: 15px; }
	header .contact a{ display: flex; align-items: center; padding: 0; font-size: 10px; line-height: 100%; text-align: center; }
	header .contact a img{ width: 14px; height: auto; }
	header .contact .tel{ display: none; }
	

	.burger-btn{ position: relative; width: 20px; height: 20px; }
	.burger-btn span{ transition: 0.8s; position: absolute; width: 100%; height: 1px; background: #000; left: 0; }
	.burger-btn span:first-of-type{ top: 6px; }
	.burger-btn span:last-of-type{ top: 12px; }
	
	
	/* active */
	header nav.active{ transition: 0.8s; display: block; }
	
	.burger-btn.active{ transition: 0.8s; }
	.burger-btn.active span{ background: #fff; }
	.burger-btn.active span:first-of-type{ top: 10px; rotate: 20deg; }
	.burger-btn.active span:last-of-type{ top: 10px;  rotate: -20deg; }


/* ------------------------------------------------------------------------------------------------- footer */
	footer{ padding: 50px 0; }
	footer .flex{ display: block; }
	.f-inner{ padding: 0 5%; }

	footer .company{ width: 100%; }
	footer .company figcaption{ font-size: 13px; }
	footer .company p{ padding: 15px 0 0; font-size: 13px; }
	
	footer .links{ display: block; width: 100%; padding: 30px 0 0; }
	footer .links a{ height: 70px; margin: 0 0 15px; }
	footer .links .tel{ width: 100%; font-size: 20px; }
	footer .links .tel .phone small{ font-size: 13px; padding: 0 10px 0 0; }
    footer .links .tel .reception{ padding: 8px 0 0; font-size: 11px; }
    footer .links .contact,
    footer .links .download{ width: 100%; }


/* ------------------------------------------------------------ contact */
	#contact{ padding: 40px 0 50px; }
	#contact .form-box{ width: 100%; padding: 30px 20px;  }
	
	#confirm .box,
	#error .box,
	#thanks .box { width: 100%; padding: 30px 5% 40px; }
	.alert span{ font-size: 12px; padding: 10px 0; }

	
	.contact-form th{ font-size: 14px; }
	.contact-form .required{ font-size: 10px; }
	.contact-form .submit{ width: 80%; margin: 10px auto 0; }
	#confirm table{ width: 100%; }


/* thanks */
	#thanks{ padding: 80px 0; }
	#thanks .contact-ttl{ padding: 0 0 50px; font-size: 30px; }
    #thanks small{ padding: 0 0 20px; font-size: 13px; }
    #thanks .caution{ padding: 0 0 20px; font-size: 16px; }
 
	.contact-inner{ width: 90%; }
	.caution{ padding: 0 0 15px; font-size: 12px; }
	.top_btn{ width: 80%; }
	.top_btn a{ height: 50px; padding: 16px 0 0; font-size: 15px; }


/* confirm */
	#confirm .forward_btn{ width: 80%; margin-right: 0; }
	.forward_btn input{ height: 50px; font-size: 15px; }

	#confirm th,
	#confirm td{ padding: 15px 0; font-size: 13px; }
	#confirm th{ width: 35%;  }
	#confirm td{ width: 65%; }





}
