/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
:root { --white: #ffffff; --text-dark: #000; --text-light: #7a7a8a; --blue: #00b5e3; --sans: "Noto Sans JP", sans-serif; }

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body { font-family: var(--sans); color: var(--text-dark); overflow-x: hidden; }

.page-contact h3 { font-size: 20px; border-left: 6px solid #1E9A80; padding: 8px 0 8px 15px; margin: 0 0 15px; }
.page-contact table { width: 100%; border-collapse: collapse; line-height: 1.6em; font-size: 16px; }
@media (max-width: 480px) { .page-contact table { font-size: 15px; } }
.page-contact table th { display: block; text-align: left; padding: 5px 0 0; font-size: 16px; }
.page-contact table th .must { display: inline-block; color: #DE5313; font-size: 12px; }
.page-contact table td { display: block; padding: 5px 0 10px; }
.page-contact table td label { margin: 0 20px 0 0; }
.page-contact table td #date { width: 30%; border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 4.5px 5px; box-sizing: border-box; }
.page-contact table td #time { width: 30%; border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 7.5px 5px; box-sizing: border-box; }
.page-contact table td p { margin: 5px 0 0; font-size: 14px; color: #666; }
.page-contact table td p.email_txt { margin: 5px 0; font-weight: bold; color: #398839; }
.page-contact table td input[type="text"] { width: 100%; border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 8px 5px; box-sizing: border-box; }
.page-contact table td input[type="tel"] { width: 100%; border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 8px 5px; box-sizing: border-box; }
.page-contact table td input[type="email"] { width: 100%; border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 8px 5px; box-sizing: border-box; }
.page-contact table td input[type="radio"] { margin: 0 5px 0 0; }
.page-contact table td input#shield { width: 20%; }
.page-contact table td textarea { border: 1px solid #C8C8C8; border-radius: 2px; font-size: 16px; padding: 8px 5px; }
.page-contact table td span.shield_txt { color: #999; font-size: 14px; margin: 0 0 0 20px; }
.page-contact .show-step2, .page-contact .show-step3 { display: none; }
.page-contact.confirm .show-step1, .page-contact.confirm .show-step3, .page-contact.confirm span.must { display: none; }
.page-contact.confirm .show-step2 { display: block; }
.page-contact.confirm .del-area, .page-contact.confirm input#zipcode { display: none; }
.page-contact.confirm table td { padding-bottom: 20px; }
.page-contact.sent .show-step3 { display: block; }
.page-contact.sent .show-step3.sent-msg { display: block; margin: 3% auto; padding: 5%; text-align: center; }
.page-contact.sent .show-step3.sent-msg b { display: block; font-size: 1.2rem; margin-bottom: 15px; }
.page-contact.sent .show-step3.sent-msg p { line-height: 2; }
.page-contact.sent .step1-area { display: none; }
.page-contact td.error-td, .page-contact textarea.error-td, .page-contact input.error-td { background: #FCE6E7; }

.contact_txt01 { margin: 0 0 30px 0; font-size: 14px; line-height: 1.6em; }
@media (max-width: 480px) { .contact_txt01 { margin-bottom: 10px; } }

.infor_box { border: 1px solid #757676; border-radius: 2px; padding: 15px; overflow-y: scroll; height: 100px; }
.infor_box p { line-height: 1.6em; font-size: 14px; }

.infor_chk { text-align: center; background: #F0F6FC; padding: 15px; margin: 20px 0; }
.infor_chk span.must { display: inline-block; color: #DE5313; font-size: 12px; font-weight: bold; }

.contact_txt02 { text-align: center; line-height: 1.6em; font-size: 14px; }

.confirm_btn { margin: 30px 0; text-align: center; }
@media (max-width: 480px) { .confirm_btn { margin: 15px 0 0; } }
.confirm_btn input { width: 200px; height: 50px; border: 0px none; background: var(--blue); font-size: 18px; color: #fff; font-weight: bold; border-radius: 30px; cursor: pointer; transition: all .3s; margin: 0 10px; }
.confirm_btn input.return { background: #999; }
.confirm_btn input:hover { opacity: 0.7; }

.privacy_policy { margin: 0 0 100px; }
.privacy_policy p { font-size: 19px; line-height: 1.8em; margin: 0 0 40px; }
.privacy_policy ul { margin: 0 0 0 20px; }
.privacy_policy ul li { font-size: 19px; line-height: 1.8em; list-style: decimal; margin: 0 0 10px; }

.text-right { margin: 15px 0 0; text-align: right; }

.alert-danger { color: #DE5313; font-size: 14px; margin: 5px 0 0; }

#error_message { margin: 0 0 15px; font-size: 16px; }

#zipcode { width: 30%; display: inline-block; }

.btn_searchaddr { color: #fff; background: #2e3b40; border: 0px none; border-radius: 5px; font-size: 14px; width: 90px; height: 36px; cursor: pointer; }
.btn_searchaddr:focus { background: #3b494e; }

.addr_detail { margin: 10px 0 0; }

.thanks_message { margin: 40px 0 30px; text-align: center; font-size: 20px; }

textarea { width: 100%; height: 150px; }

#powered_by_me a { color: #007bff; }
