:root{--mf-ink:#173d36;--mf-green:#2f6b54;--mf-green-dark:#214f40;--mf-line:#cfddd6;--mf-soft:#f4f8f5;--mf-white:#fff;--mf-error:#a5221b;--mf-gold:#b68a43}
*{box-sizing:border-box}
.muku-form-page{color:var(--mf-ink);background:#f7f5ee;overflow-x:hidden}
.muku-form-page input,.muku-form-page select,.muku-form-page textarea,.muku-form-page button{font:inherit}
.form-hero{position:relative;overflow:hidden;padding:clamp(42px,7vw,88px) 0 clamp(54px,8vw,100px);background:linear-gradient(135deg,#f8f5ed 0%,#edf5ef 58%,#e2eee6 100%)}
.theme-survey .form-hero{background:linear-gradient(135deg,#fffaf0 0%,#f4f7eb 55%,#e6f1e8 100%)}
.theme-preconsult .form-hero{background:linear-gradient(135deg,#f8f5ed 0%,#eef6f7 55%,#e1eef2 100%)}
.form-hero:before,.form-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.form-hero:before{width:360px;height:360px;right:-130px;top:-170px;background:rgba(255,255,255,.55)}
.form-hero:after{width:260px;height:260px;left:-120px;bottom:-170px;border:1px solid rgba(47,107,84,.16)}
.form-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:40px;align-items:center;z-index:1}
.form-hero h1{margin:13px 0 16px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(2.15rem,5vw,4rem);line-height:1.25;letter-spacing:.04em;color:#173d36}
.form-hero p{max-width:730px;margin:0;font-size:clamp(1rem,1.7vw,1.16rem);line-height:2;color:#46655d}
.form-eyebrow{display:flex!important;align-items:center;gap:12px;color:var(--mf-green)!important;font-size:.9rem!important;font-weight:700;letter-spacing:.12em}
.form-eyebrow:before{content:"";width:38px;height:1px;background:#dc7047}
.muku-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:.85rem;color:#648078}
.muku-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.form-hero__mark{position:relative;width:158px;height:158px;border-radius:50%;background:rgba(255,255,255,.58);border:1px solid rgba(47,107,84,.18);box-shadow:0 22px 60px rgba(30,72,59,.12)}
.form-hero__mark span{position:absolute;display:block;width:58px;height:96px;border:2px solid rgba(47,107,84,.35);border-radius:100% 0 100% 0;transform:rotate(45deg)}
.form-hero__mark span:nth-child(1){left:48px;top:28px}
.form-hero__mark span:nth-child(2){left:24px;top:48px;transform:rotate(2deg) scale(.7)}
.form-hero__mark span:nth-child(3){right:20px;top:54px;transform:rotate(88deg) scale(.65)}
.form-section{position:relative;padding:0 18px 120px;background:linear-gradient(180deg,#f7f5ee 0%,#f5f7f3 100%)}
.theme-survey .form-section{background:linear-gradient(180deg,#faf7ef 0%,#f4f8f3 100%)}
.theme-preconsult .form-section{background:linear-gradient(180deg,#f5f7f4 0%,#f2f7f8 100%)}
.form-shell{position:relative;width:min(860px,100%);margin:0 auto;transform:translateY(-32px)}
.form-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 18px 22px;padding:0;list-style:none;background:#fff;border:1px solid var(--mf-line);border-radius:18px;box-shadow:0 14px 38px rgba(35,70,58,.08);overflow:hidden}
.form-progress li{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:68px;color:#779087;font-weight:700}
.form-progress li+li{border-left:1px solid #e1eae5}
.form-progress span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2ef;color:#6f887f;font-size:.85rem}
.form-progress .is-current{color:var(--mf-green-dark);background:#f1f7f3}
.form-progress .is-current span,.form-progress .is-done span{color:#fff;background:var(--mf-green)}
.form-progress .is-done{color:#55746a}
.form-card{padding:clamp(24px,5vw,54px);background:rgba(255,255,255,.97);border:1px solid rgba(185,205,195,.8);border-radius:28px;box-shadow:0 24px 70px rgba(31,67,55,.11)}
.muku-alert{margin:0 0 28px;padding:18px 20px;border-radius:14px;line-height:1.7}
.muku-alert strong{display:block;margin-bottom:2px}
.muku-alert p{margin:0}
.muku-alert--error{color:#7e1b16;background:#fff2f0;border:1px solid #e9aaa5}
.muku-alert--info{color:#285d4b;background:#eff7f2;border:1px solid #bfd7c9}
.draft-tools{margin:0 0 34px;padding:18px 20px;background:#f7faf8;border:1px solid #dce7e1;border-radius:16px}
.draft-tools p{margin:0;color:#49665e;line-height:1.6}
.draft-tools>div{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.draft-tools button{appearance:none;padding:9px 12px;color:#365d50;background:#fff;border:1px solid #bdd0c6;border-radius:9px;font-size:.86rem;cursor:pointer}
.draft-tools button:hover,.draft-tools button:focus-visible{background:#edf5f0;border-color:#6d9a87}
.draft-status{min-height:1.5em;margin-top:8px!important;font-size:.82rem}
.muku-form{display:grid;gap:26px}
.muku-field{display:grid;gap:9px}
.muku-label{display:block;color:#244a3f;font-weight:700;line-height:1.5}
.muku-required,.muku-optional{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:.7rem;vertical-align:2px}
.muku-required{color:#fff;background:#a63b31}
.muku-optional{color:#5d766e;background:#edf2ef}
.muku-field input[type=text],.muku-field input[type=email],.muku-field input[type=tel],.muku-field input[type=date],.muku-field select,.muku-field textarea{width:100%;min-height:54px;padding:13px 15px;color:#173d36;background:#fff;border:1px solid #b9ccc2;border-radius:12px;outline:none;box-shadow:0 1px 2px rgba(33,79,64,.05);transition:border-color .16s,box-shadow .16s,background .16s}
.muku-field textarea{min-height:150px;resize:vertical;line-height:1.75}
.muku-field input:focus,.muku-field select:focus,.muku-field textarea:focus{border-color:#3e8067;box-shadow:0 0 0 4px rgba(47,107,84,.12)}
.muku-field.has-error input,.muku-field.has-error select,.muku-field.has-error textarea{border-color:#bb4b42;background:#fffafa}
.muku-input-row{display:flex;gap:10px;align-items:stretch}
.muku-input-row.has-postal-button input{max-width:280px}
.postal-button{flex:0 0 auto;padding:0 17px;color:#fff;background:#507a69;border:0;border-radius:11px;font-weight:700;cursor:pointer}
.postal-button:hover,.postal-button:focus-visible{background:#315f4d}
.muku-help{margin:0;color:#687f77;font-size:.84rem;line-height:1.6}
.muku-error{margin:0;color:var(--mf-error);font-size:.88rem;font-weight:700}
.muku-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.muku-choice{position:relative;display:block;cursor:pointer}
.muku-choice input{position:absolute;opacity:0;pointer-events:none}
.muku-choice span{display:flex;align-items:center;min-height:54px;padding:12px 15px 12px 46px;background:#fff;border:1px solid #bfd0c7;border-radius:12px;line-height:1.5;transition:.16s}
.muku-choice span:before{content:"";position:absolute;left:16px;width:19px;height:19px;border:2px solid #93aa9f;border-radius:50%;background:#fff}
.muku-choice input:checked+span{color:#1f543f;background:#edf7f1;border-color:#4b8a6f;font-weight:700;box-shadow:0 0 0 3px rgba(47,107,84,.08)}
.muku-choice input:checked+span:after{content:"";position:absolute;left:21px;width:9px;height:9px;background:#37775e;border-radius:50%}
.muku-choice input:focus-visible+span{box-shadow:0 0 0 4px rgba(47,107,84,.15)}
.muku-consent{display:flex;gap:12px;align-items:flex-start;padding:17px;background:#f7faf8;border:1px solid #d4e0da;border-radius:13px;cursor:pointer;line-height:1.75}
.muku-consent input{flex:0 0 auto;width:22px;height:22px;margin-top:3px;accent-color:var(--mf-green)}
.muku-consent a{color:#225e49;text-decoration:underline;text-underline-offset:3px}
.muku-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.muku-form-actions,.confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:13px;margin-top:12px}
.muku-submit,.muku-secondary,.muku-back-link{display:flex;align-items:center;justify-content:center;min-height:58px;padding:13px 20px;border-radius:13px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.muku-submit{color:#fff;background:linear-gradient(135deg,#347459,#255c46);border:1px solid #255c46;box-shadow:0 10px 22px rgba(36,91,70,.2)}
.muku-submit:hover,.muku-submit:focus-visible{background:#214f3d;transform:translateY(-1px)}
.muku-submit:disabled{opacity:.65;cursor:wait;transform:none}
.muku-secondary,.muku-back-link{color:#315d4f;background:#fff;border:1px solid #b9ccc2}
.muku-secondary:hover,.muku-back-link:hover{background:#f1f7f3}
.confirm-list{margin:0;display:grid;border-top:1px solid #d8e3dd}
.confirm-list>div{display:grid;grid-template-columns:230px minmax(0,1fr);border-bottom:1px solid #d8e3dd}
.confirm-list dt,.confirm-list dd{margin:0;padding:18px 16px;line-height:1.8;overflow-wrap:anywhere}
.confirm-list dt{color:#3c6155;background:#f3f7f4;font-weight:700}
.confirm-list dd{white-space:normal}
.not-entered{color:#8a9b95}
.complete-panel{text-align:center;padding:12px 0 8px}
.complete-check{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 22px;color:#fff;background:#39785f;border-radius:50%;font-size:2.2rem;box-shadow:0 14px 35px rgba(47,107,84,.25)}
.complete-panel h2{margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:500;color:#1d4c3e}
.complete-panel p{margin:10px auto;max-width:650px;line-height:1.85;color:#4e6b62}
.reply-warning{padding:13px;color:#7e3f18!important;background:#fff8eb;border:1px solid #e6ca96;border-radius:10px}
.urgent-note{margin-top:24px!important;font-weight:700;color:#2e584b!important}
.muku-phone-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(430px,100%);min-height:76px;margin:14px auto;color:#fff;background:#2e694f;border-radius:14px;font-size:1.42rem;font-weight:700;text-decoration:none;box-shadow:0 12px 30px rgba(36,91,70,.18)}
.muku-phone-button small{margin-top:2px;font-size:.77rem;font-weight:500}
.muku-back-link.is-large{width:min(430px,100%);margin:12px auto}
.form-contact-note{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px;align-items:center;margin-top:24px;padding:24px 27px;color:#34584d;background:rgba(255,255,255,.76);border:1px solid #d2dfd8;border-radius:20px}
.form-contact-note strong{display:block;margin-bottom:7px;font-size:1.05rem}
.form-contact-note p{margin:0;line-height:1.75;font-size:.92rem}
.form-contact-note>a{display:flex;flex-direction:column;align-items:center;padding:12px;color:#285b47;background:#fff;border:1px solid #aebfb7;border-radius:12px;font-size:1.25rem;font-weight:700;text-decoration:none}
.form-contact-note small{font-size:.72rem;font-weight:500}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){
  .form-hero{padding:30px 0 70px}.form-hero__inner{display:block}.form-hero__mark{display:none}.muku-breadcrumb{margin-bottom:22px}.form-hero h1{font-size:2.25rem}.form-hero p{font-size:.98rem;line-height:1.85}
  .form-section{padding:0 12px 110px}.form-shell{transform:translateY(-28px)}.form-progress{margin:0 4px 14px;border-radius:14px}.form-progress li{min-height:58px;gap:5px;font-size:.82rem}.form-progress span{width:25px;height:25px;font-size:.74rem}
  .form-card{padding:24px 17px;border-radius:20px}.draft-tools{padding:15px}.draft-tools>div{display:grid;grid-template-columns:1fr 1fr}.draft-tools button:last-of-type{grid-column:1/-1}
  .muku-form{gap:23px}.muku-input-row.has-postal-button{display:grid;grid-template-columns:minmax(0,1fr) auto}.muku-input-row.has-postal-button input{max-width:none}.postal-button{padding:0 12px;font-size:.86rem}
  .muku-choices{grid-template-columns:1fr}.muku-form-actions,.confirm-actions{grid-template-columns:1fr}.muku-submit{order:1}.muku-back-link,.muku-secondary{order:2}
  .confirm-list>div{display:block}.confirm-list dt{padding:12px 13px}.confirm-list dd{padding:14px 13px 20px}.form-contact-note{grid-template-columns:1fr;padding:20px}.form-contact-note>a{width:100%}
}
@media(max-width:390px){.form-progress li{font-size:.76rem}.form-progress span{display:none}.muku-input-row.has-postal-button{grid-template-columns:1fr}.postal-button{min-height:48px}.draft-tools>div{grid-template-columns:1fr}.draft-tools button:last-of-type{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

