@charset "utf-8";
body{min-width: 1200px;}
/* ------------------------------------------------------------------------------------------------- header */
header{position: fixed; min-width: 1200px; width: 100%; height: auto; z-index: 900;}
header .list{margin: 0 0 0 auto; padding: 47px 43px;justify-content: flex-end; }

header .white_btn{ border: none; width: 207px; height: auto; display: block; border-radius: 100px;font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; text-align: center; line-height: 125%; transition: 0.5s; position: relative;}

header .white_btn.materials{background: #fff; padding: 13px 0 14px 31px;}
header .white_btn.materials:after,
header .white_btn.materials:before{content: ""; display: block; background: url(../images/common/header_icn_1.svg) no-repeat center center; background-size: 100%; width: 22px; height: 22px; position: absolute; left: 27%; top: 50%; transform: translateY(-50%);transition: 0.5s;}
header .white_btn.tel{background: #fff; padding: 13px 0 14px 21px;}
header .white_btn.tel:after,
header .white_btn.tel:before{content: ""; display: block; background: url(../images/common/header_icn_2.svg) no-repeat center center; background-size: 100%; width: 21px; height: 21px; position: absolute; left: 17% ; top: 50%; transform: translateY(-50%);transition: 0.5s;}
header .white_btn:last-child{margin: 0 0 0 15px;}


header .white_btn.tel:after{opacity: 0;background: url(../images/common/header_icn_2_2.png) no-repeat center center; background-size: 100%;}
header .white_btn.materials:after{opacity: 0;background: url(../images/common/header_icn_1_2.png) no-repeat center center; background-size: 100%;}


header .white_btn.thumb-hover{ transition: 0.5s; color: #fff;background: #000;}
header .white_btn.thumb-hover.materials:before,
header .white_btn.thumb-hover.tel:before{opacity: 0;transition: 0.5s;}
header .white_btn.thumb-hover.tel:after,
header .white_btn.thumb-hover.materials:after{opacity: 1;transition: 0.5s;}
/* ------------------------------------------------------------------------------------------------- footer */
footer{ padding: 85px 0; background: #000; color: #fff; }
.f-inner{ padding: 0 3%; }

footer .flex{ display: flex; align-items: center; justify-content: space-between; max-width: 1236px;}
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','NotoSansJP',sans-serif;font-weight: 500;  }

/* ----------------------------- #contact ------------------------------- */
#contact{ padding: 100px 0; background: #F4F4F4; }
#contact .gradation-ttl{font-size: 150px;}
#contact .ja-ttl{font-size: 34px; bottom: -5px;}
#contact .form-box{ width: 780px; margin: 40px auto 0; padding: 60px 100px; background: #fff; }
#contact .title_tt{text-align: center; font-size: 20px; line-height: 170%;font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif; font-weight: 400;  padding: 30px 0 0;}
#contact .contact_01{text-align: center; display: block; margin: 30px auto 0;}
.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','NotoSansJP',sans-serif;font-weight: 700;line-height: 36px;}
.caution{ padding: 0 0 50px; font-size: 14px; line-height: 150%; text-align: center; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }

.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; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }
.top_btn a:hover{ color: #fff; background: #000; }

#thanks{ padding: 200px 0 80px; background: #F4F4F4; }
#thanks .en-ttl {font-size: 150px;}
#thanks .box { width: 755px; background: #fff; padding: 70px 50px 90px; margin:65px auto 0; }
#thanks small{ display: block; padding: 0 0 60px; font-size: 16px; line-height: 200%; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }
#thanks .contact-ttl{ font-size: 34px; bottom: 0px; padding: 0px;}
#thanks .caution{ padding: 0 0 40px; font-size: 26px; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 700;}

/* error */
.alert{ padding: 0 0 20px; }
.alert span{ display: block; font-size: 14px; padding: 20px 0; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }

/* confirm */
#confirm,
#error { padding: 200px 0 100px; 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; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }
#confirm th{ width: 27%;  }
#confirm td{ width: 73%; }

.btns{ display: flex; align-items: center; justify-content: center; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 700;}
.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; }
.form-box table,
.form-box tbody,
.form-box tr,
.form-box th,
.form-box td{ display: block; width: 100%; text-align: left; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 500; }
.form-box input{ width: 100%; padding: 10px; background: #F3F5F7; border-radius: 7px; border: none; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }

.form-box .required{ color: #fff; margin-left: 10px; padding: 2px 10px; background: #BA0000; text-align: center; font-family: 'Noto-Sans-JP','NotoSansJP',sans-serif;font-weight: 400; }
.form-box .submit{ position: relative; }
.form-box .submit:after{ position: absolute; content: ""; top: 40%; right: 20px; translate: 0 -50%; width: 10px; height: 10px; border-top: 1px solid #fff; border-right: 1px solid #fff; rotate: 45deg; }
.form-box .submit-btn{ width: 100%; height: 65px; color: #fff; background: #000; text-align: center; border: 1px solid #000; border-radius: 50px !important; font-size: 15px; }
.form-box .submit-btn:hover{ color: #000; background: #fff; }
.form-box .textarea{ width: 100%; height: 230px; background: #F3F5F7; border-radius: 7px; border: none; padding: 10px; }


@media only screen and (min-width:769px) and ( max-width:1600px)  {
	/* ------------------------------------------------------------------------------------------------- footer */
	footer .company{ width: auto; }
	
	footer .links{ width: 820px; }
	footer .links .contact{ width: 230px; }
	footer .links .download{ width: 260px; }
	footer .links .tel{ width: 290px; }
	
}
/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width: 768px) {
	body{min-width: 100%;}
	/* ------------------------------------------------------------------------------------------------- header */
	header{position: fixed; min-width: 100%; width: 100%; margin: 0 auto;}
	header .list{padding: 12px 15px; flex-direction: row;}
	
	header .white_btn{ width: auto; font-size: 11px; }
	
	header .white_btn.materials{ padding: 7px 0 7px 25px; width: 88px; height: auto;}
	header .white_btn.tel{ padding: 7px 0 7px 20px; width:116px; height: auto;}
	header .white_btn.materials:after,
	header .white_btn.materials:before{ width: 13px; height: 13px; left: 14%;}
	header .white_btn.tel:after,
	header .white_btn.tel:before{width:12px; height: 12px; left: 15%;}
	header .white_btn:last-child{margin: 0 0 0 10px;}
	
	/* ------------------------------------------------------------------------------------------------- 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','NotoSansJP',sans-serif;font-weight: 500;  }
	
	
	/* ------------------------------------------------------------------------------------------------- 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: 80px 0 50px; }
	#contact .form-box{ width: 100%; padding: 30px 20px;  margin: 20px auto 0; }
	#contact .gradation-ttl{font-size: 70px;}
	#contact .ja-ttl{font-size: 18px; bottom: -0px;}
	#contact .title_tt{font-size: 14px; padding: 15px 0 0;}
	#contact .contact_01{margin: 15px auto 0; width: 90%; height: auto;}

	#confirm .box,
	#error .box,
	#thanks .box { width: 100%; padding: 30px 5% 40px; margin:0 auto; }
	.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 */
	#confirm,
	#error,
	#thanks{ padding: 100px 0; }
	#thanks .box{ margin: 50px auto 0;}
	#thanks .en-ttl {font-size: 60px;}
	#thanks .contact-ttl{bottom: -15px; 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%;}





}
