@charset "utf-8"; 
.btns{display: flex; align-items: center; justify-content: center; margin: 80px auto 0;}

.btns a.back_btn,
.btns button{width: 379px; position: relative; }
.btns button span{display: block; border-radius: 1000px; background: #FFAA55; text-align: center; color: #fff; font-size: 20px; padding: 25px 0; line-height: 100%; position: relative; z-index: 10; top: -7px;}
.btns button:before{content: ""; display: block; width: 100%; border-radius: 1000px; height: 70px; background: #DB842D; z-index: 10; position: absolute;bottom: 0px;}

.btns a.back_btn span{display: block; border-radius: 1000px; background: #D0D0D0; text-align: center; color: #fff; font-size: 20px; padding: 25px 0; line-height: 100%; position: relative; z-index: 10; top: -7px;}
.btns a.back_btn:before{content: ""; display: block; width: 100%; border-radius: 1000px; height: 70px; background: #A0A0A0; z-index: 10; position: absolute;bottom: 0px;}

h3{text-align: center; font-size: 40px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 500; font-style: normal; line-height: 160%;}

.contact_tt{text-align: center; font-size: 16px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 400; font-style: normal; line-height: 160%;}

 .frm_box{width: 736px; margin: 0 auto;}
/* -------------------------------------------- #contact -------------------------------------------- */
#contact{padding: 79px 0 0;}
#contact .frm_box{padding: 58px 0 136px;}
#contact .frm_box form .box{padding: 74px 0 0;}
#contact .frm_box form .box .form_box{width: 100%;}
#contact .frm_box form .box .form_box:not(:last-child){padding: 0 0 37px;}
#contact .frm_box form .box .form_box label{display: flex; align-items: center; width: 100%; height: auto;margin: 0 0 17px;}
#contact .frm_box form .box .form_box label span{font-size: 16px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 400; font-style: normal; line-height: 100%; padding: 0 0 1px;}
#contact .frm_box form .box .form_box label img{display: block; margin: 0 0 0 13px;}
#contact .frm_box form .box .form_box input{width: 100%; height: auto;font-family: "source-han-sans-japanese", sans-serif; font-weight: 300; font-style: normal; line-height: 160%; border: 1px solid #C9C9C9; border-radius: 5px; padding: 19px 20px;}
#contact .frm_box form .box .form_box textarea{width: 100%; height: 259px; font-size: 16px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 400; font-style: normal; line-height: 160%; resize: none; border: 1px solid #C9C9C9; border-radius: 5px; padding: 19px 20px;margin: 0;}


/* -------------------------------------------- #eroor -------------------------------------------- */
#eroor{padding: 79px 0 0;}
#eroor .frm_box{width: 800px; text-align: center; padding: 0 0 136px;}
#eroor .frm_box .contact_tt{padding: 50px 0 0;}
#eroor .frm_box .alert{padding: 50px 0 0;    color: #D80000;}
#eroor .frm_box .alert span{display: block; text-align: center; line-height: 160%; font-size: 16px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 400; font-style: normal; line-height: 160%; }
#eroor .frm_box .alert span:not(:last-child){padding: 0 0 20px;} 

/* -------------------------------------------- #confirm -------------------------------------------- */
#confirm{padding: 79px 0 0;}
#confirm .frm_box .contact_tt{padding: 50px 0 0;}
#confirm .frm_box form{padding: 50px 0 0;}
#confirm .frm_box{width: 800px; text-align: center; padding: 0 0 136px;}
#confirm .frm_box table{border-collapse: collapse; border-spacing: 0;}
#confirm .frm_box table th{border-bottom: 1px solid #262626; width: 30%; text-align: left; font-size: 18px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 500; font-style: normal; line-height: 160%; padding: 20px 0; vertical-align: top; }
#confirm .frm_box table td{border-bottom: 1px solid #262626; width: 70%; text-align: left; font-size: 16px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 500; font-style: normal; line-height: 180%; padding: 20px 0; vertical-align: top; }
#confirm .frm_box .btns .back_btn{margin: 0 4% 0 0;}

/* -------------------------------------------- #thanks -------------------------------------------- */
#thanks{padding: 79px 0 0;}
#thanks .frm_box{width: 800px; text-align: center; padding: 0 0 136px;}
#thanks .frm_box .caution{ font-size: 24px; font-family: "source-han-sans-japanese", sans-serif; font-weight: 700; font-style: normal; line-height: 160%;padding: 50px 0 30px;}
#thanks .frm_box small{font-size: 16px; line-height: 200%; font-family: "source-han-sans-japanese", sans-serif; font-weight: 400; font-style: normal; }
#thanks .frm_box .btns a.view_btn span{ position: relative; display: flex; align-items: center; justify-content: center; width: 350px; margin: 0 auto; padding: 18px; font-size: 20px; line-height: 1.5; text-align: center; color: #262626; border-radius: 100px; background: #fff; border: 1px solid #3766B1; }
#thanks .frm_box .btns a.view_btn span:before{ transform: skew(-45deg) translate(0,-50%); position: absolute; content: ""; left: 20px; top: 50%; width: 30px; height: 10px; border-left: 1px solid #3766B1; border-bottom: 1px solid #3766B1; }

#confirm .frm_box table tr td span{overflow-wrap: anywhere;}

	/* Any container can become busy */
.is-busy {
	position: relative;
	min-height: 200px; /* change if you want */
}

/* Optional: dim + disable all children while busy */
.is-busy > * {
	opacity: 0.35;
	pointer-events: none;
	user-select: none;
}

/* Spinner overlay (centered) */
.is-busy::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 42px;
	height: 42px;
	transform: translate(-50%, -50%);
	border: 4px solid rgba(0,0,0,0.15);
	border-top-color: rgba(0,0,0,0.75);
	border-radius: 50%;
	animation: isBusySpin 0.9s linear infinite;
	z-index: 10;
}

/* Optional: white overlay behind spinner */
.is-busy::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0.6);
	z-index: 9;
}

/* Spin animation */
@keyframes isBusySpin {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}


#confirm .frm_box table {width: 100%;}

.nebs-mypage-inquiry-form .inner-address-label{margin-bottom: 0px !important; margin-left: 5px !important;}
.nebs-mypage-inquiry-form .outer-address-box{padding-bottom: 0px !important;}
.nebs-mypage-inquiry-form .inner-address-box{padding-bottom: 10px !important;}
.nebs-mypage-inquiry-form .inner-address-box .postal-code{width: 50% !important;}
@media (max-width: 767px) {
	.nebs-mypage-inquiry-form .inner-address-box .postal-code{width: 100% !important;}
}

form button[type="submit"].is-disabled {
	pointer-events: none;   /* blocks click */
	opacity: 0.5;           /* disabled look */
	cursor: not-allowed;    /* disabled cursor */
}


@media only screen and (max-width:640px){
	.btns{margin: 40px auto 0;}
	.btns a.back_btn,
	.btns button{width: 100%; position: relative; }
	.btns button span{font-size: 20px; padding: 20px 0 19px;top: -7px;}
	.btns button:before{height: 59px; }
	
	.btns a.back_btn span{font-size: 20px; padding: 20px 0 19px;top: -7px;}
	.btns a.back_btn:before{height: 59px; }
	
	
	h3{font-size: 30px;}
	
	.contact_tt{font-size: 14px;}
	
	
	#contact{padding: 54px 0 0;}
	#contact .frm_box{padding: 29px 0 68px; width: 100%; margin: 0 auto;}
	#contact .frm_box form .box{padding: 37px 0 0;}
	#contact .frm_box form .box .form_box{width: 100%;}
	#contact .frm_box form .box .form_box:not(:last-child){padding: 0 0 30px;}
	#contact .frm_box form .box .form_box label{ margin: 0 0 13px;}
	#contact .frm_box form .box .form_box label img{ margin: 0 0 0 13px;}
	#contact .frm_box form .box .form_box input{ padding: 12px 19px;}
	#contact .frm_box form .box .form_box textarea{height: 200px; font-size: 16px; padding: 12px 19px ;margin: 0;}
	
	
	/* -------------------------------------------- #eroor -------------------------------------------- */
	#eroor{padding: 54px 0 0;}
	#eroor .frm_box{width: 100%; padding: 0 0 68px;}
	#eroor .frm_box .contact_tt{padding:25px 0 0;}
	#eroor .frm_box .alert{padding: 25px 0 0;}
	#eroor .frm_box .alert span{font-size: 14px; }
	#eroor .frm_box .alert span:not(:last-child){padding: 0 0 10px;}
	
	
	/* -------------------------------------------- #confirm -------------------------------------------- */
	#confirm{padding: 54px 0 0;}
	#confirm .frm_box .contact_tt{padding: 25px 0 0;}
	#confirm .frm_box form{padding: 25px 0 0;}
	#confirm .frm_box{width: 100%; padding: 0 0 68px;}
	#confirm .frm_box table th{width: 130px; font-size: 13px; padding: 10px 0; }
	#confirm .frm_box table td{font-size: 13px; padding: 10px 0; width: calc(100% - 130px);}


	
	#confirm .frm_box .btns a.back_btn,
	#confirm .frm_box .btns button{width: 49%; }
	#confirm .frm_box .btns .back_btn{margin: 0 3% 0 0;}
	#confirm .frm_box .btns button span{font-size: 16px; padding: 20px 0 19px;top: -7px;}
	#confirm .frm_box .btns button:before{height:55px; }
	#confirm .frm_box .btns a.back_btn span{font-size: 16px; padding: 20px 0 19px;top: -7px;}
	#confirm .frm_box .btns a.back_btn:before{height: 55px; }
	
	
	/* -------------------------------------------- #thanks -------------------------------------------- */
	#thanks{padding: 54px 0 0;}
	#thanks .frm_box{width: 100%; padding: 0 0 68px;}
	#thanks .frm_box .caution{ font-size: 18px; padding:35px 0 20px;}
	#thanks .frm_box small{font-size: 13px;}
	#thanks .frm_box .btns a.view_btn span{ padding: 17px; font-size: 15px; }
	

}
