*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101110;color:#eee;font-family:"Noto Sans JP",sans-serif;font-weight:300}.contact-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:28px 38px}.contact-header>a:first-child{color:#fff;text-decoration:none;font:10px "Cinzel",serif;letter-spacing:.24em}.contact-close{position:relative;width:42px;height:42px;border-radius:50%;background:#fff;mix-blend-mode:difference}.contact-close i{position:absolute;top:20px;left:8px;width:26px;height:1px;background:#000}.contact-close i:first-child{transform:rotate(45deg)}.contact-close i:last-child{transform:rotate(-45deg)}.contact-hero{min-height:72vh;padding:18vh 8vw 10vh;background:radial-gradient(circle at 78% 30%,rgba(255,255,255,.055),transparent 34%)}.contact-hero>p,.form-panel header small,.confirmation header small{font:9px "Cinzel",serif;letter-spacing:.26em}.contact-hero h1{margin:38px 0;font:300 clamp(33px,4vw,62px)/1.65 "Noto Serif JP",serif;letter-spacing:.08em}.contact-hero>span{color:#aaa;font-size:13px;line-height:2.2;letter-spacing:.05em}.contact-shell{padding:0 8vw 150px}.inquiry-tabs{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:auto}.inquiry-tabs button{position:relative;padding:30px 34px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#aaa;text-align:left;cursor:pointer}.inquiry-tabs button+button{border-left:0}.inquiry-tabs button::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:#fff;transition:right .55s}.inquiry-tabs button.active{background:#eee;color:#111}.inquiry-tabs button.active::after{right:0}.inquiry-tabs small{display:block;margin-bottom:12px;font:9px "Cinzel",serif;letter-spacing:.18em}.inquiry-tabs strong{font:300 14px "Noto Serif JP",serif;letter-spacing:.08em}form,.confirmation{max-width:1000px;margin:110px auto 0}.form-panel>header,.confirmation>header{margin-bottom:70px}.form-panel h2,.confirmation h2{margin:18px 0 0;font:300 clamp(26px,3vw,40px) "Noto Serif JP",serif;letter-spacing:.08em}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 5vw}.field-grid .wide{grid-column:1/3}label>span,legend{display:block;margin-bottom:14px;color:#ddd;font:300 12px "Noto Sans JP",sans-serif;letter-spacing:.08em}label b{margin-left:10px;color:#c6a895;font-size:9px;font-weight:300}label em,legend em{margin-left:10px;color:#777;font-size:9px;font-style:normal}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #555;border-radius:0;outline:0;background:transparent;color:#eee;font:300 15px/1.8 "Noto Sans JP",sans-serif;transition:border-color .3s}input{height:48px}textarea{padding:15px 0;resize:vertical}input:focus,textarea:focus{border-color:#eee}fieldset{margin:75px 0 0;padding:0;border:0}.choice-list{display:flex;flex-wrap:wrap;gap:10px}.choice-list input{position:absolute;opacity:0;pointer-events:none}.choice-list span{display:block;margin:0;padding:12px 18px;border:1px solid #444;color:#aaa;cursor:pointer;transition:.3s}.choice-list input:checked+span{border-color:#eee;background:#eee;color:#111}.textarea-field{display:block;margin-top:75px}.textarea-field>small{display:block;margin:-4px 0 12px;color:#777;font-size:11px;line-height:1.9}.optional-interview{margin-top:100px;padding-top:38px;border-top:1px solid #333}.optional-interview header{display:flex;justify-content:space-between;color:#888}.optional-interview header small{font:9px "Cinzel",serif;letter-spacing:.2em}.optional-interview header span{font-size:10px}.optional-interview .textarea-field{margin-top:58px}.details-toggle{margin-top:70px;padding:12px 0;border:0;border-bottom:1px solid #777;background:none;color:#ddd;font:300 12px "Noto Sans JP",sans-serif;cursor:pointer}.details-toggle span{display:inline-block;margin-right:10px;transition:transform .35s}.details-toggle[aria-expanded=true] span{transform:rotate(45deg)}.details-panel{padding-top:10px}.general-tabs{display:flex;gap:8px;margin-bottom:75px}.general-tabs button{padding:13px 20px;border:1px solid #444;background:none;color:#888;cursor:pointer}.general-tabs button.active{border-color:#eee;background:#eee;color:#111}.confirm-button,.send-button{display:flex;justify-content:space-between;width:min(430px,100%);margin:100px auto 0;padding:22px 0;border:0;border-bottom:1px solid #aaa;background:none;color:#eee;font:300 13px "Noto Sans JP",sans-serif;cursor:pointer}.confirm-button i,.send-button i{font-style:normal}.form-error{min-height:24px;margin-top:35px;color:#c99383;font-size:12px;text-align:center}.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.confirmation-list{margin:0}.confirmation-list div{display:grid;grid-template-columns:220px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid #292929}.confirmation-list dt{color:#777;font-size:11px}.confirmation-list dd{margin:0;white-space:pre-wrap;font-size:13px;line-height:2}.delivery-note{margin-top:35px;color:#777;font-size:11px;text-align:center}.confirmation-actions{display:flex;align-items:flex-end;gap:50px}.edit-button{padding:15px 0;border:0;border-bottom:1px solid #555;background:none;color:#888;cursor:pointer}.confirmation-actions .send-button{margin-top:70px}footer{display:flex;justify-content:space-between;padding:34px 4vw;border-top:1px solid #292929;color:#777;font:8px "Cinzel",serif;letter-spacing:.16em}footer a{color:#999;text-decoration:none}[hidden]{display:none!important}
@media(max-width:700px){.contact-header{padding:20px 18px}.contact-hero{min-height:65svh;padding:16vh 24px 9vh}.contact-hero h1{font-size:29px}.contact-hero>span br{display:none}.contact-shell{padding:0 24px 100px}.inquiry-tabs button{padding:22px 16px}.inquiry-tabs strong{font-size:12px;line-height:1.7}.inquiry-tabs small{font-size:7px}.field-grid{grid-template-columns:1fr;gap:45px}.field-grid .wide{grid-column:1}.form-panel h2{font-size:27px}.choice-list span{padding:10px 13px;font-size:11px}.general-tabs{display:grid;grid-template-columns:1fr 1fr}.confirmation-list div{display:block}.confirmation-list dt{margin-bottom:10px}.confirmation-actions{display:block}.edit-button{display:block;margin:45px auto 0}.confirmation-actions .send-button{margin-top:45px}footer{display:block;padding:28px 24px}footer a{display:block;margin-top:18px}}

html,body{max-width:100%;overflow-x:clip}.contact-header{right:auto;justify-content:flex-start}.contact-header>a:first-child{font:inherit;letter-spacing:0}.contact-close{flex:0 0 auto}body.embed .contact-header{display:none}.contact-shell,.inquiry-tabs,form,.confirmation{min-width:0}.field-grid>*{min-width:0}.form-panel{transform-origin:top center}.form-panel.panel-enter{animation:panel-enter .62s cubic-bezier(.16,1,.3,1)}.form-panel.panel-leave{animation:panel-leave .3s ease both}.general-tabs+input~*{transform-origin:top}.details-panel{overflow:hidden}.details-panel.is-opening{animation:details-in .58s cubic-bezier(.16,1,.3,1)}.choice-list span{position:relative;overflow:hidden}.choice-list span::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.08);transform:translateX(-105%);transition:transform .45s}.choice-list label:hover span::after{transform:translateX(0)}.inquiry-tabs button{overflow:hidden;transition:background .5s,color .5s,transform .35s}.inquiry-tabs button:hover{transform:translateY(-2px)}.general-tabs button{transition:background .4s,color .4s,border-color .4s,transform .3s}.general-tabs button:hover{transform:translateY(-2px)}.confirm-button,.send-button{transition:color .35s,border-color .35s,transform .35s}.confirm-button:hover,.send-button:hover{transform:translateX(5px);border-color:#fff}.confirmation.confirm-enter{animation:panel-enter .7s cubic-bezier(.16,1,.3,1)}.send-status{margin-top:35px;text-align:center;color:#aaa;font-size:12px;line-height:2}.send-status.success{color:#d8e3d5}@keyframes panel-enter{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes panel-leave{to{opacity:0;transform:translateY(-12px)}}@keyframes details-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}

html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}.contact-progress{position:fixed;z-index:20;top:50%;right:30px;display:flex;flex-direction:column;align-items:center;gap:15px;transform:translateY(-50%);color:#777;pointer-events:none}.contact-progress>span{font:8px "Cinzel",serif;letter-spacing:.22em;writing-mode:vertical-rl}.contact-progress>div{position:relative;width:1px;height:150px;background:rgba(255,255,255,.16);overflow:hidden}.contact-progress>div i{position:absolute;top:0;left:0;width:1px;height:100%;background:#eee;transform:scaleY(0);transform-origin:top;will-change:transform;box-shadow:0 0 8px rgba(255,255,255,.55)}.contact-progress>b{min-width:24px;font:300 8px "Cinzel",serif;letter-spacing:.12em;text-align:center;color:#aaa}.contact-progress>b::after{content:"%"}.contact-progress.complete>div i{box-shadow:0 0 12px #fff}
@media(max-width:700px){.contact-progress{right:10px;gap:10px}.contact-progress>span{display:none}.contact-progress>div{height:96px}.contact-progress>b{font-size:7px}}

.contact-progress{right:28px;gap:0}.contact-progress>span,.contact-progress>b{display:none}.contact-progress>div{height:170px;overflow:visible}.contact-progress>div i{box-shadow:0 0 6px #fff,0 0 18px rgba(210,225,255,.7)}@media(max-width:700px){.contact-progress{right:10px}.contact-progress>div{height:100px}}

/* Mobile contact containment and clearer tabs */
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{position:relative}
  main,.contact-hero,.contact-shell,.inquiry-tabs,form,.form-panel,.confirmation,footer{width:100%;max-width:100%;min-width:0}
  .contact-shell{overflow:hidden}
  .inquiry-tabs{grid-template-columns:1fr;gap:8px}
  .inquiry-tabs button,.general-tabs button{width:100%;max-width:100%;min-width:0}
  .inquiry-tabs button+button{border-left:1px solid rgba(255,255,255,.18)}
  .inquiry-tabs button{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;gap:14px;min-height:78px;padding:18px 20px}
  .inquiry-tabs small{margin:0;font-size:7px;line-height:1.7;overflow-wrap:anywhere}
  .inquiry-tabs strong{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
  .inquiry-tabs button.active{box-shadow:inset 3px 0 0 #fff}
  .inquiry-tabs button::after{top:auto;right:auto;width:3px;height:0;transition:height .5s}
  .inquiry-tabs button.active::after{right:auto;height:100%}
  .general-tabs{grid-template-columns:1fr;gap:8px}
  .general-tabs button{min-height:52px;padding:14px 16px;text-align:left}
  .field-grid,.choice-list,.optional-interview,.details-panel{max-width:100%;min-width:0}
  input,textarea{min-width:0;max-width:100%}
  .choice-list{gap:8px}
  .choice-list label{max-width:100%;min-width:0}
  .choice-list span{max-width:100%;overflow-wrap:anywhere}
  .contact-hero h1,.contact-hero>span,.form-panel h2,.confirmation h2{overflow-wrap:anywhere}
  footer a{max-width:100%;overflow-wrap:anywhere}
}
