.contact_page_hero{position:relative;height:50vh;min-height:340px;display:flex;align-items:center;justify-content:center}.contact_hero_overlay{position:relative;z-index:2;text-align:center}.contact_page_hero .catchcopy{font-size:36px;letter-spacing:.22em;margin-bottom:12px}.contact_hero_sub{font-size:12px;color:#f3efe6;letter-spacing:.25em;text-shadow:0 1px 12px rgba(0,0,0,.4)}.contact_main_section{padding:100px 40px;max-width:1200px;margin:0 auto}.contact_main_inner{gap:60px;align-items:flex-start}.contact_form_col{flex:1;min-width:0}.contact_side_col{width:360px;flex-shrink:0}.contact_form_lead{font-size:14px;color:#6e6a62;line-height:1.9;margin-bottom:40px}.contact_honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}.form_group{margin-bottom:28px}.form_label{display:block;font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;margin-bottom:8px;color:#2b2a27}.form_req{font-size:10px;font-weight:700;color:#f3efe6;background:#2b2a27;padding:2px 8px;margin-left:8px;letter-spacing:.04em;vertical-align:middle}.form_input,.form_select,.form_textarea{width:100%;font-family:'Noto Sans JP',sans-serif;font-size:14px;color:#2b2a27;background:#ffffff;border:1px solid #d8d2c5;padding:14px 16px;outline:none;transition:border-color .3s;appearance:none;-webkit-appearance:none}.form_input:focus,.form_select:focus,.form_textarea:focus{border-color:#2b2a27}.form_input.input_error,.form_select.input_error,.form_textarea.input_error{border-color:#8b4513}.form_select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232b2a27' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.form_textarea{resize:vertical;min-height:140px;line-height:1.8}.form_error{font-size:12px;color:#8b4513;margin-top:6px;min-height:18px;font-family:'Noto Sans JP',sans-serif}.form_agree{margin-bottom:36px}.form_checkbox_label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.form_checkbox{width:18px;height:18px;border:1px solid #d8d2c5;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:#2b2a27}.form_checkbox_text{font-size:13px;color:#6e6a62;line-height:1.6}.form_checkbox_text a{border-bottom:1px solid #d8d2c5;transition:border-color .3s}.form_checkbox_text a:hover{border-color:#2b2a27;opacity:1}.form_submit{cursor:pointer;font-family:'Noto Sans JP',sans-serif;width:100%;text-align:center;padding:16px 36px;font-size:14px}.form_submit:disabled{opacity:.4;cursor:not-allowed}.cart_preview_title,.contact_info_heading{font-family:'Noto Sans JP',sans-serif;font-size:16px;font-weight:400;letter-spacing:.18em;margin-bottom:24px}.cart_preview_title span,.contact_info_heading span{display:block;font-size:11px;letter-spacing:.12em;color:#6e6a62;margin-top:6px}.contact_cart_preview{border:1px solid #d8d2c5;padding:28px 24px;margin-bottom:32px;background:#ffffff}.cart_preview_empty{font-size:13px;color:#6e6a62;text-align:center;padding:20px 0}.cart_preview_item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #d8d2c5;align-items:center}.cart_preview_item:last-child{border-bottom:none}.cart_preview_thumb{width:56px;height:56px;flex-shrink:0;border:1px solid #d8d2c5;overflow:hidden;background:#ffffff}.cart_preview_thumb img{width:100%;height:100%;object-fit:contain;padding:3px}.cart_preview_details{flex:1;min-width:0}.cart_preview_item_name{font-family:'Noto Serif JP',serif;font-size:12px;font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px}.cart_preview_item_meta{font-size:11px;color:#6e6a62}.cart_preview_total{justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid #d8d2c5;margin-top:8px}.cart_preview_total_label{font-size:12px;color:#6e6a62}.cart_preview_total_price{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:700}.contact_info_box{border:1px solid #d8d2c5;padding:28px 24px;background:#f3efe6}.contact_info_dl{font-size:12px;line-height:2.2}.contact_info_dl dt{font-weight:700;letter-spacing:.18em;color:#6e6a62;margin-top:10px}.contact_info_dl dt:first-child{margin-top:0}.contact_info_dl dd{font-size:13px}.contact_info_dl dd a{color:#2b2a27}.contact_thankyou_overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .35s,visibility .35s}.contact_thankyou_overlay.active{visibility:visible;opacity:1}.contact_thankyou_modal{background:#f3efe6;padding:56px 48px;max-width:480px;width:90%;text-align:center;position:relative;transform:translateY(20px);transition:transform .4s}.contact_thankyou_overlay.active .contact_thankyou_modal{transform:translateY(0)}.thankyou_close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#2b2a27;cursor:pointer}.thankyou_icon{font-size:48px;color:#2b2a27;margin-bottom:24px}.thankyou_heading{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:700;letter-spacing:.06em;margin-bottom:16px}.thankyou_text{font-size:14px;color:#6e6a62;line-height:1.8;margin-bottom:32px}.thankyou_btn{display:inline-block}@media screen and(max-width:1023px){.contact_main_inner{flex-direction:column}.contact_side_col{width:100%}}@media screen and(max-width:768px){.contact_page_hero{height:40vh;min-height:260px}.contact_page_hero .catchcopy{font-size:26px}.contact_main_section{padding:64px 20px}.contact_main_inner{gap:40px}.contact_thankyou_modal{padding:40px 28px}}@media screen and(max-width:480px){.contact_page_hero .catchcopy{font-size:22px}.cart_preview_thumb{width:44px;height:44px}}