/* システムフォントで、外部通信なしでも同じ画面を表示する。 */
:root{--ink:#163d48;--muted:#55717a;--accent:#126977;--paper:#fcfcf7;--edge:#dbe5df;--depth:0;--glow:0}*{box-sizing:border-box}body{margin:0;background:#0c5365;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.75;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #da9a39}.ocean,.shade,#lights{position:fixed;inset:0;pointer-events:none}.ocean{background:linear-gradient(165deg,#86c7c5,#237b94 48%,#052e50);background-image:url("ocean-clear.webp");background-size:cover;background-position:center calc(10% + var(--depth)*16%);transition:background-position 1.8s ease,filter 1.8s ease;filter:brightness(calc(1 - var(--depth)*.075))}.shade{background:linear-gradient(180deg,rgba(2,29,45,.1),rgba(0,24,42,calc(.1 + var(--depth)*.085)));transition:background 1.8s}#lights{opacity:var(--glow);background-image:radial-gradient(circle at 8% 73%,#8deddf 0,transparent 3px),radial-gradient(circle at 85% 36%,#a0e8ef 0,transparent 5px),radial-gradient(circle at 93% 84%,#c4e9cb 0,transparent 3px),radial-gradient(circle at 32% 90%,#a5f5e3 0,transparent 4px);transition:opacity 1s;animation:glimmer 5s ease-in-out infinite alternate}@keyframes glimmer{to{filter:brightness(1.6);transform:translateY(-6px)}}body.paused *,body.paused *:before,body.paused *:after{animation:none!important;transition:none!important}.site-header,main,footer{position:relative;z-index:1}.site-header{max-width:1300px;padding:30px 44px 16px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:inherit;font-size:25px;font-weight:600;letter-spacing:.02em}.brand-mark{font-size:43px;font-family:serif;font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:.15em;opacity:.8;font-weight:400}.header-actions{display:flex;align-items:center;gap:16px}.draft-label{font-size:13px}.quiet{border:1px solid #ffffff70;background:#ffffff12;border-radius:24px;color:white;padding:7px 15px;font-size:14px}main{max-width:1200px;margin:25px auto 0;padding:0 35px}.journey-label{display:flex;justify-content:space-between;gap:16px;color:#e5f6ef;font-size:13px;letter-spacing:.07em;margin-bottom:18px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}.workspace{background:var(--paper);border-radius:22px;padding:38px 42px;box-shadow:0 18px 70px #0022362b;min-height:610px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Noto Serif JP',serif;font-weight:500;line-height:1.5;letter-spacing:.03em}h1{font-size:34px;margin-bottom:14px}h2{font-size:29px;margin:20px 0 12px}h3{font-size:17px;line-height:1.6;margin:25px 0 12px}.intro{color:var(--muted);font-size:15px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);margin-bottom:16px}.entry-grid{display:grid;gap:15px;margin-top:30px}.entry{background:#fff;border:1px solid #cdded9;text-align:left;border-radius:14px;padding:24px;position:relative}.entry:hover{border-color:var(--accent);background:#f2f9f5}.entry .num{position:absolute;right:23px;top:18px;font-family:serif;font-size:40px;color:#d5e5dd}.entry strong{display:block;font-size:20px;margin-bottom:5px}.entry span:last-child{color:var(--muted);font-size:14px;display:block;padding-right:25px}.text-button{background:none;border:0;color:var(--accent);text-decoration:underline;font-size:14px;padding:12px 0}.footnote{font-size:13px;color:var(--muted)}.stepper{display:flex;gap:8px;padding:0;list-style:none;margin:0 0 25px}.stepper li{flex:1;font-size:12px;color:var(--muted);border-top:3px solid #dde6df;padding-top:7px}.stepper li.active{border-color:var(--accent);color:var(--accent);font-weight:700}.stepper li.done{border-color:#75a79e}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:block;position:relative;background:white;border:1px solid #d7e3dd;border-radius:12px;padding:17px;text-align:left}.choice:has(input:checked){border-color:var(--accent);background:#edf6f2;box-shadow:0 0 0 1px var(--accent)}.choice input{position:absolute;top:18px;right:15px;accent-color:var(--accent);width:17px;height:17px}.choice strong{display:block;padding-right:22px;font-size:16px}.choice .detail{display:block;font-size:13px;color:var(--muted);margin:7px 0}.choice .price{font-size:15px;color:var(--accent);font-weight:600}.plan-map{display:flex;gap:4px;margin:13px 0}.plan-map i{display:block;background:#e4ede6;border:1px solid #c6d8cf;width:24px;height:30px;border-radius:3px}.choice.selected-budget{border-style:dashed}.option-list{display:grid;gap:9px}.option-list .choice{padding:13px 17px}.option-list .detail{margin:3px 22px 0 0}.option-list .price{display:block;margin-top:4px}.options-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field{display:block;margin:16px 0;color:var(--ink);font-size:14px}.field input,.field select,.field textarea{display:block;width:100%;background:white;border:1px solid #ccdcd5;border-radius:8px;padding:11px 13px;margin-top:7px;color:var(--ink)}.field textarea{min-height:88px;resize:vertical}.quantity{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:15px;margin:12px 0;font-size:14px}.quantity select{padding:8px;border:1px solid #ccdcd5;border-radius:8px;background:white;color:var(--ink)}.notice{background:#edf4ef;border-left:3px solid #76a197;padding:14px 16px;font-size:13px;color:#375b63;margin:18px 0}.notice.warning{background:#fff5e5;border-color:#d59f49;color:#74532b}.nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--edge)}.primary,.secondary{border-radius:9px;padding:11px 23px;font-weight:500;font-size:15px}.primary{background:var(--accent);border:1px solid var(--accent);color:white}.primary:hover{background:#0b5260}.secondary{background:transparent;border:1px solid #b7cfc5;color:var(--ink)}.primary:disabled{opacity:.45;cursor:not-allowed}.budget-buttons{display:flex;flex-wrap:wrap;gap:9px}.budget-buttons button{border:1px solid #ccdcd5;background:white;color:var(--ink);padding:9px 16px;border-radius:8px}.budget-buttons button.selected{background:#edf6f2;border-color:var(--accent)}aside{background:rgba(252,252,247,.96);border-radius:18px;padding:24px;position:sticky;top:25px;box-shadow:0 15px 60px #00223620}.summary-head{font-size:13px;color:var(--muted);letter-spacing:.08em}.total{font-family:serif;font-size:38px;line-height:1.4;color:var(--ink);margin:8px 0 0;white-space:nowrap}.total small{font-family:'Noto Sans JP',sans-serif;font-size:13px}.summary-plan{font-size:14px;border-bottom:1px solid var(--edge);padding-bottom:15px;margin:8px 0 12px}.line{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:10px 0}.line span:first-child{max-width:65%}.line span:last-child{white-space:nowrap}.summary-note{font-size:12px;color:var(--muted);border-top:1px solid var(--edge);padding-top:14px;margin-top:15px}.pending{font-size:12px;color:#765b31;background:#f8eedc;padding:10px;border-radius:7px;margin:12px 0}.result-table{width:100%;border-collapse:collapse;font-size:14px}.result-table td{border-bottom:1px solid var(--edge);padding:12px 0}.result-table td:last-child{text-align:right;white-space:nowrap}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.requirements{font-size:13px;line-height:1.9;color:var(--muted);padding-left:20px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:13px;padding:5px 11px;background:#edf4ef;border-radius:20px}.result-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.result-heading .total{font-size:35px}.mobile-total{display:none}footer{max-width:1200px;padding:23px 35px 30px;margin:auto;display:flex;justify-content:space-between;color:#dfefea;font-size:12px;gap:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.print-only{display:none}details{margin-top:18px;font-size:13px;color:var(--muted)}summary{cursor:pointer;color:var(--accent)}.divider{height:1px;background:var(--edge);margin:25px 0}.budget-remaining{font-size:13px;color:var(--accent);margin:12px 0}.stage-caption{font-size:13px;color:var(--muted)}
@media(max-width:850px){.site-header{padding:22px 22px 10px}.layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.workspace{padding:28px}main{padding:0 22px}.total{font-size:31px}.brand{font-size:21px}.draft-label{display:none}}
@media(max-width:650px){.site-header{padding:18px 18px 8px;gap:8px}.brand{font-size:20px}.brand small{font-size:8px}.brand-mark{font-size:32px}.quiet{font-size:12px;padding:6px 10px}main{padding:0 14px;margin-top:18px}.journey-label{font-size:11px;letter-spacing:0}.journey-label span:last-child{display:none}.layout{display:block}.workspace{padding:25px 20px;min-height:0;border-radius:17px}aside{position:relative;top:auto;margin-top:18px;padding:22px}.cards{grid-template-columns:1fr}.options-two{grid-template-columns:1fr 1fr}.choice{padding:14px}.choice input{top:15px}h1{font-size:28px}h2{font-size:25px}.intro{font-size:14px}.entry{padding:21px}.entry strong{font-size:18px}.stepper li{font-size:11px}.nav{margin-top:24px}.primary,.secondary{padding:10px 17px;font-size:14px}footer{padding:22px 20px 110px;display:block}footer span{display:block}.mobile-total{position:fixed;z-index:5;bottom:0;left:0;right:0;background:#fcfcf7;border-top:1px solid #c9ded3;box-shadow:0 -5px 30px #001d3720;padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-total strong{font-size:21px;display:block;line-height:1.3}.mobile-total small{font-size:11px}.mobile-total button{border:1px solid #b7cfc5;background:white;border-radius:8px;padding:8px 12px;color:var(--ink);font-size:13px}.result-heading{display:block}.result-heading .total{font-size:32px}.result-table{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* 海の中で操作する、水泡のインターフェース。 */
:root{--ink:#f0f9f5;--muted:#d0e4e4;--accent:#b4f0dd;--edge:#c2ebe528}
.shade{background:linear-gradient(180deg,rgba(2,29,45,.3),rgba(0,24,42,calc(.22 + var(--depth)*.07)))}
.layout{grid-template-columns:minmax(0,1fr) 285px;gap:44px}.workspace{background:none;box-shadow:none;border-radius:0;padding:22px 12px 32px;min-height:620px;color:var(--ink)}
h1,h2{color:#fff;text-shadow:0 2px 20px #00293c80}h1{font-size:36px}h2{font-size:30px}.eyebrow,.stage-caption{color:#d1f5ea}.intro{color:#e0f0ee}.question-count{font-size:12px;letter-spacing:.08em;color:#c7e8e4;margin:12px 0 15px}.workspace h3{color:#f4faf5;font-size:20px;margin-top:20px}
.entry-grid{grid-template-columns:1fr 1fr;gap:25px}.entry{border-radius:46% 49% 45% 48%;min-height:220px;text-align:center;padding:35px 24px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 28% 17%,#ecffff40,transparent 45%),linear-gradient(140deg,#a4e3e021,#052f5266);border:1px solid #e4ffff83;box-shadow:inset 0 2px 9px #ffffff30,inset 0 -8px 20px #011e333b,0 16px 35px #012d3940;color:white;backdrop-filter:blur(6px);transition:transform .4s,background .4s,box-shadow .4s}.entry .num{position:static;font-size:28px;color:#d5f4ef85;margin-bottom:7px}.entry strong{font-size:19px}.entry span:last-child{padding:0;color:#e0f1ed;font-size:14px}.entry:hover{background:radial-gradient(ellipse at 28% 17%,#ecffff66,transparent 45%),#13526455;border-color:#f1fffb;transform:translateY(-6px);box-shadow:inset 0 3px 14px #ffffff40,0 20px 50px #6acbb732}
.cards{gap:18px}.choice{border-radius:54px 65px 58px 62px;min-height:102px;padding:25px 28px 22px;text-align:center;background:radial-gradient(ellipse at 28% 12%,#edffff34,transparent 52%),linear-gradient(135deg,#7acac724,#06354f8c);border:1px solid #b8e9e473;box-shadow:inset 0 2px 7px #ffffff25,inset 0 -5px 15px #00263d33,0 8px 24px #00273535;color:white;backdrop-filter:blur(8px);transition:transform .3s,background .3s,border-color .3s,box-shadow .3s}.choice:hover{transform:translateY(-3px);border-color:#e7fff9;box-shadow:inset 0 2px 9px #ffffff40,0 10px 30px #7addc530}.choice:has(input:checked){background:radial-gradient(ellipse at 25% 10%,#e9fff64d,transparent 50%),linear-gradient(135deg,#63bbae50,#0c515981);border-color:#c9ffee;box-shadow:inset 0 2px 10px #ffffff45,0 0 25px #9fead83b}.choice input{right:23px;top:23px;accent-color:#bdedda}.choice strong{color:#fff;padding:0 15px;font-size:16px}.choice .detail{color:#deefed;font-size:14px}.choice .price{color:#d0f8df}.plan-map{justify-content:center}.plan-map i{background:#d5f7ea30;border-color:#d0eee77a}.option-list{gap:15px}.option-list .choice{padding:24px 30px 20px;min-height:95px}.option-list .detail{margin:4px 15px 0}.options-two{gap:14px}.options-two .choice{padding:23px 24px;min-height:88px}.options-two .choice strong{font-size:15px}.options-two .choice input{top:14px;right:17px;width:15px;height:15px}.text-button{color:#d2f8e9}.footnote,.requirements,.field,.quantity{color:#d7ebea}.field input,.field select,.field textarea,.quantity select{background:#04344990;color:#f0f8f5;border-color:#b1dcd966;border-radius:18px;backdrop-filter:blur(8px)}.field input::placeholder,.field textarea::placeholder{color:#c0d4d5}.field select option,.quantity select option{background:#123e4c;color:white}
.notice{background:#05334763;border:1px solid #d2f4e43a;border-left:1px solid #d2f4e43a;border-radius:22px;color:#dfefeb;backdrop-filter:blur(8px)}.notice.warning{background:#413e3185;border:1px solid #f2d29866;color:#fff0ce}.nav{border-color:#a2d8d338}.primary{background:#c1ead8;border-color:#c1ead8;color:#123e43;border-radius:28px;padding:12px 26px}.primary:hover{background:#e0f4e7}.secondary{color:#e5f5ec;background:#073b4c60;border-color:#b1dbd370;border-radius:28px}.budget-buttons button{background:#0a435766;color:#e8f7ef;border-color:#c1e9dc70;border-radius:40px}.budget-buttons button.selected{background:#a5dfc947;border-color:#d6ffee}
aside{background:linear-gradient(145deg,#0d465dc4,#032a43b0);color:#eaf7ef;border:1px solid #c5e7e246;border-radius:35px;padding:27px 23px;box-shadow:inset 0 2px 10px #ffffff0d,0 20px 55px #00263c35;backdrop-filter:blur(16px)}.summary-head,.summary-note{color:#c9dfdf}.summary-plan,.total{color:#f0faf2}.pending{background:#5c553e75;color:#fff2d7;border:1px solid #d7be8345;border-radius:16px}.budget-remaining{color:#bdebd7}.chip{background:#9ed5c227;color:#e6f4eb;border:1px solid #c7efdc35}.result-table td{border-color:#bcdfd53a}.result-heading .total{color:white}details,summary{color:#d0efdf}.divider{background:#b6ded533}.mobile-total{background:#073449ed;color:white;border-color:#c8e9df44;backdrop-filter:blur(14px)}.mobile-total button{background:#bddfcf;color:#133e44;border:0;border-radius:22px}
.workspace.enter-flow{animation:bubble-arrival .65s cubic-bezier(.2,.7,.2,1) both}@keyframes bubble-arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr) 245px;gap:24px}.workspace{padding:15px 0}.entry-grid{gap:15px}.entry{min-height:220px;padding:24px 17px}.entry strong{font-size:16px}}
@media(max-width:650px){.layout{display:block}.workspace{padding:13px 7px 25px;min-height:0}.entry-grid{grid-template-columns:1fr 1fr;gap:12px}.entry{min-height:200px;padding:25px 14px}.entry strong{font-size:16px}.entry span:last-child{font-size:12px}.entry .num{font-size:24px}h1{font-size:29px}h2{font-size:26px}.cards{grid-template-columns:1fr 1fr;gap:12px}.cards .choice{padding:23px 14px;border-radius:45px}.cards .choice strong{font-size:15px}.cards .choice .detail{font-size:12px}.cards .choice input{top:12px;right:13px;width:15px;height:15px}.cards .choice .price{font-size:14px}.choice{border-radius:40px}.stepper li{font-size:10px;letter-spacing:-.03em}.option-list .choice{padding:25px 22px 20px}.summary-note{font-size:12px}aside{margin-top:0;border-radius:28px}.workspace h3{font-size:18px}.choice .detail{font-size:14px}}
@media(prefers-reduced-motion:reduce){.workspace.enter-flow{animation:none}}
/* 光へ浮上する画面。金額はすべて税込でそろえる。 */
:root{--ascent:0;--ocean-y:100%}
.ocean{inset:-2%;background-image:url('ocean-clear.webp');background-size:max(104vw,130vh) auto;background-position:center var(--ocean-y);filter:brightness(calc(.78 + var(--ascent)*.22));transition:background-position 2.4s cubic-bezier(.2,.55,.25,1),filter 2.4s;animation:water-drift 16s ease-in-out infinite alternate;will-change:transform}
@keyframes water-drift{from{transform:scale(1.01) translateX(-.4%)}to{transform:scale(1.025) translateX(.4%)}}
.shade{background:linear-gradient(90deg,rgba(0,19,34,.37),rgba(0,24,37,.12) 65%,rgba(0,24,37,.24));transition:opacity 2s}
#water-motion{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.75}
.brand{padding:5px 13px;background:#fff;border-radius:9px;box-shadow:0 5px 24px #001d3933}.brand img{display:block;width:235px;height:auto;max-width:100%}
.site-header{padding-top:24px}.journey-label{justify-content:flex-start;font-size:13px;opacity:.85;margin-top:10px;margin-bottom:10px}.layout{gap:50px}.workspace{padding-top:20px}h1,h2{font-family:'Noto Sans JP',sans-serif;font-weight:500;letter-spacing:.02em;line-height:1.65}h1{font-size:33px}h2{font-size:29px}.intro{font-size:15px;line-height:1.9;max-width:520px;color:#e9f6f4;text-shadow:0 1px 8px #001e39}.question-count{color:#d1efec;font-size:12px;margin:15px 0 20px}
.stepper{gap:9px;align-items:center;margin:0 0 23px}.stepper li{flex:initial;border:0;padding:5px 9px;font-size:12px;color:#deeeecb3;white-space:nowrap}.stepper li.active{border:0;background:#c8f7e31a;color:#f0fffa;border-radius:20px;font-weight:500}.stepper li.done{border:0;color:#c5e9de}.stepper li:not(:last-child):after{content:'·';padding-left:14px;color:#d5efec60}
.entry-grid{gap:28px;margin:35px 0 15px}.entry{border-radius:50%;min-height:245px;padding:38px 27px;background:radial-gradient(ellipse at 29% 13%,#f2ffff52,transparent 41%),radial-gradient(ellipse at 52% 78%,#aee2df12,transparent 55%),#083c56c2;border:1px solid #c3eee5b3;box-shadow:inset 0 3px 12px #ffffff29,inset 0 -13px 24px #00223d50,0 15px 38px #001c3f4d}.entry strong{font-size:20px;line-height:1.65}.entry span:last-child{font-size:14px;line-height:1.85;color:#f1f9f6;margin-top:9px}.entry:hover{background:radial-gradient(ellipse at 29% 13%,#f2ffff65,transparent 45%),#0d4f66e0}.entry:active{transform:scale(.975)}
.cards,.option-list,.options-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.choice,.option-list .choice,.options-two .choice,.cards .choice{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:185px;padding:30px 24px 25px;border-radius:45% 48% 46% 49%;background:radial-gradient(ellipse at 27% 12%,#edffff49,transparent 43%),linear-gradient(155deg,#074a65e8,#082b47e8);border:1px solid #bfece3a1;box-shadow:inset 0 2px 9px #ffffff27,inset 0 -10px 21px #001b3540,0 12px 25px #001d3729;backdrop-filter:blur(5px)}
.choice strong,.options-two .choice strong,.cards .choice strong{font-size:17px;font-weight:600;line-height:1.75;color:#fff;padding:0 10px;text-shadow:0 1px 4px #001a33}.choice .detail,.option-list .detail,.cards .choice .detail{font-size:14px;line-height:1.8;color:#eaf6f2;margin:8px 0 0}.choice .price,.cards .choice .price{font-size:16px;font-weight:600;line-height:1.6;color:#d4f8df;margin-top:10px}.choice input,.cards .choice input,.options-two .choice input{top:18px;right:24px;width:18px;height:18px}.choice:has(input:checked){background:radial-gradient(ellipse at 27% 12%,#f6fffa58,transparent 45%),linear-gradient(145deg,#236b75ef,#104557ef);border:2px solid #dbfff0;box-shadow:inset 0 3px 12px #ffffff35,0 0 23px #8fddc42e}.choice:has(input:checked):after{content:'選択中';font-size:11px;color:#e3fff3;position:absolute;bottom:10px;left:0;right:0;text-align:center;letter-spacing:.1em}.choice:active{transform:scale(.98)}.option-list>.choice:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 10px)}.option-list>.quantity{grid-column:1/-1;width:100%}.plan-map{margin:10px 0 0}.plan-map i{width:18px;height:23px}.quantity{margin:20px 0}.field{margin:24px 0}.field input,.field select,.field textarea,.quantity select{background:#06364beb;border-color:#c4e5dd88;color:#fff}.notice{background:#06344acf;border-color:#d0ebe64a;border-radius:18px;padding:15px 18px;line-height:1.85;color:#eff8f4}.notice.warning{background:#51422bed;color:#fff4dc}.footnote{font-size:13px;line-height:1.85}.nav{padding-top:22px;margin-top:27px;border:0}.primary,.secondary{min-height:47px;padding-left:28px;padding-right:28px}.primary{font-weight:600}.text-button{line-height:1.9}
aside{background:#042e46e3;border:1px solid #cce8df45;border-radius:24px;box-shadow:0 16px 44px #00182c33;backdrop-filter:blur(9px)}.summary-head{font-size:13px;letter-spacing:0}.summary-plan{font-size:13px;line-height:1.7}.line{font-size:13px;line-height:1.75}.included-tax{opacity:.75;font-size:12px}.result-table .included-tax td{font-size:12px;border-bottom:0}.summary-note{font-size:12px;line-height:1.9}.total{font-family:'Noto Sans JP',sans-serif;font-size:33px;font-weight:500;letter-spacing:-.04em}.result-heading .total{font-size:36px}.budget-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.budget-buttons button{min-height:100px;border-radius:45%;font-size:20px;background:#084259e8;color:#f8fff9;border:1px solid #cfefe4a8;box-shadow:inset 0 3px 10px #ffffff21}.budget-buttons button.selected{background:#286c74;border:2px solid #e0fff0}
@media(max-width:850px){.layout{gap:25px}.brand img{width:210px}.entry{min-height:220px;padding:28px 20px}.entry strong{font-size:18px}.choice,.option-list .choice,.options-two .choice,.cards .choice{min-height:195px;padding:32px 17px 26px}.choice strong,.options-two .choice strong,.cards .choice strong{font-size:16px}.stepper{gap:1px}.stepper li{padding:4px 5px}.stepper li:not(:last-child):after{padding-left:5px}}
@media(max-width:650px){.site-header{padding:17px 17px 7px}.brand{padding:4px 9px}.brand img{width:185px}.header-actions{gap:0}.journey-label{margin-left:7px;font-size:12px}.journey-label span:last-child{display:block}.workspace{padding-top:11px}.entry-grid{gap:14px}.entry{min-height:210px;padding:28px 17px}.entry strong{font-size:17px}.entry span:last-child{font-size:13px}h1{font-size:27px}h2{font-size:24px}.intro{font-size:14px}.cards,.option-list,.options-two{gap:13px}.choice,.option-list .choice,.options-two .choice,.cards .choice{min-height:175px;padding:33px 14px 27px;border-radius:42% 45% 43% 46%}.choice strong,.options-two .choice strong,.cards .choice strong{font-size:15px;line-height:1.8;padding:0}.choice .detail,.option-list .detail,.cards .choice .detail{font-size:13px}.choice .price,.cards .choice .price{font-size:14px}.choice input,.cards .choice input,.options-two .choice input{width:16px;height:16px;top:14px;right:20px}.option-list>.choice:last-child:nth-child(odd){width:calc(50% - 7px)}.stepper{justify-content:space-between}.stepper li{padding:4px 3px;font-size:10px}.stepper li:not(:last-child):after{content:none}.mobile-total{background:#042c42f5}.total{font-size:32px}}
@media(max-width:370px){.brand img{width:157px}.quiet{font-size:11px}.entry-grid,.cards,.option-list,.options-two{grid-template-columns:1fr}.entry{max-width:265px;width:100%;justify-self:center}.option-list>.choice:last-child:nth-child(odd){width:100%;grid-column:auto}.choice{max-width:290px;width:100%;justify-self:center}}
@media print{.ocean,.shade,#water-motion,.site-header,.journey-label,footer,aside,.mobile-total,.nav,.result-actions,.text-button,.stepper{display:none!important}:root{--ink:#111;--muted:#444;--edge:#ddd;--accent:#222}body{background:white;color:#111}main{margin:0;max-width:none;padding:0}.layout{display:block}.workspace{box-shadow:none;padding:15px;border-radius:0;color:#111}.workspace h2,.workspace h3,.total,.result-heading .total,.requirements,.footnote,.summary-head{color:#111;text-shadow:none}.print-only{display:block}.notice,.notice.warning,.chip{background:none;color:#111;backdrop-filter:none;border-color:#ddd}.result-table tr{break-inside:avoid}.result-table td{border-color:#ddd}.stage-caption{color:#444}}
/* 選択肢は読みやすいカードに統一。海の演出は背景だけで表現。 */
.entry-grid{gap:18px}.entry{border-radius:14px;min-height:154px;text-align:left;align-items:flex-start;padding:25px 26px;background:#f0f8f7;border:1px solid #d6e8e5;box-shadow:0 8px 25px #001b3526;backdrop-filter:none;color:#133f4b}.entry strong{color:#133f4b;font-size:20px;line-height:1.6}.entry span:last-child{color:#45666e;font-size:14px;line-height:1.85;margin-top:10px}.entry:hover{transform:none;background:#fff;border-color:#94c9c0;box-shadow:0 8px 25px #001b3526}.entry:active{transform:none;background:#e4f1ed}
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.option-list{grid-template-columns:1fr;gap:12px}.options-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.choice,.option-list .choice,.options-two .choice,.cards .choice{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:0;padding:21px 23px 21px 54px;border-radius:12px;text-align:left;background:#eff7f6;border:1px solid #d0e4df;box-shadow:0 4px 15px #001c3420;backdrop-filter:none;color:#143f4a;transition:background .2s,border-color .2s}
.choice strong,.options-two .choice strong,.cards .choice strong{width:100%;padding:0;font-size:17px;font-weight:600;line-height:1.7;text-shadow:none;color:#153f49;overflow-wrap:anywhere}.choice .detail,.option-list .detail,.cards .choice .detail{font-size:14px;line-height:1.9;color:#46656c;margin:7px 0 0}.choice .price,.cards .choice .price{font-size:15px;color:#1b675d;margin-top:9px;font-weight:600}.choice input,.cards .choice input,.options-two .choice input{left:20px;right:auto;top:25px;width:18px;height:18px;accent-color:#226e65}
.choice:hover{transform:none;background:#fff;border-color:#78b8ab;box-shadow:0 4px 15px #001c3420}.choice:active{transform:none}.choice:has(input:checked){background:#e1f0e9;border:1px solid #7ab2a1;box-shadow:inset 3px 0 0 #2b7b6b,0 4px 15px #001c3420}.choice:has(input:checked):after{position:static;display:inline-block;align-self:flex-start;margin-top:10px;padding:2px 9px;border-radius:5px;background:#cce5d9;color:#225b4c;font-size:11px;letter-spacing:.04em;line-height:1.6}.option-list>.choice:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:100%}.option-list>.quantity{grid-column:auto}.options-two .choice{justify-content:center;min-height:73px}.options-two .choice input{top:26px}.cards .choice{min-height:175px}.plan-map{justify-content:flex-start}.plan-map i{background:#d4e6df;border-color:#a9c9bb}.budget-buttons{gap:12px}.budget-buttons button{min-height:68px;border-radius:12px;background:#eff7f6;color:#153f49;border:1px solid #d0e4df;box-shadow:0 4px 15px #001c3420;font-size:19px}.budget-buttons button.selected{background:#e1f0e9;border:1px solid #7ab2a1;box-shadow:inset 3px 0 0 #2b7b6b}.budget-buttons button:hover{background:#fff}
@media(max-width:850px){.entry{padding:22px;min-height:164px}.entry strong{font-size:18px}.choice,.option-list .choice,.options-two .choice,.cards .choice{padding:19px 19px 19px 50px}.choice strong,.options-two .choice strong,.cards .choice strong{font-size:16px}.choice input,.cards .choice input,.options-two .choice input{left:18px;top:24px}}
@media(max-width:650px){.entry-grid,.cards,.options-two{grid-template-columns:1fr;gap:12px}.entry{max-width:none;width:100%;min-height:0;padding:22px 24px;justify-self:stretch}.entry strong{font-size:19px}.entry span:last-child{font-size:14px}.choice,.option-list .choice,.options-two .choice,.cards .choice{max-width:none;width:100%;min-height:0;border-radius:11px;padding:20px 21px 20px 51px;justify-self:stretch}.choice strong,.options-two .choice strong,.cards .choice strong{font-size:16px;line-height:1.8}.choice .detail,.option-list .detail,.cards .choice .detail{font-size:14px}.choice .price,.cards .choice .price{font-size:15px}.choice input,.cards .choice input,.options-two .choice input{left:18px;right:auto;top:25px;width:18px;height:18px}.option-list>.choice:last-child:nth-child(odd){width:100%}.budget-buttons button{font-size:18px}}

/* 2026-10-09：カードと質問の読みやすさを調整。 */
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
main{margin-top:32px}.layout{grid-template-columns:minmax(0,1fr) 310px;gap:48px}
.workspace{padding:12px 0 32px;min-height:560px}
h1{font-size:clamp(28px,3vw,38px);line-height:1.55;margin-bottom:20px}
h2{font-size:clamp(24px,2.5vw,30px);line-height:1.55;margin:20px 0 14px}
.intro{line-height:1.9;max-width:36em;margin-bottom:20px}
.question-count{margin:12px 0 18px;color:#e0f1ef}
.entry-grid{margin-top:28px;gap:14px}.entry{padding:24px;min-height:150px}
.entry strong{font-size:19px}.entry span:last-child{margin-top:8px}
.cards .choice{padding:19px 20px 19px 49px;min-height:0}
.choice,.option-list .choice,.options-two .choice{cursor:pointer}
.choice strong,.cards .choice strong,.options-two .choice strong{font-size:16px;line-height:1.65}
.choice .detail,.option-list .detail,.cards .choice .detail{line-height:1.75;margin-top:6px}
.choice input,.cards .choice input,.options-two .choice input{left:17px;top:23px}
.plan-map{display:none}
.choice:has(input:checked):after{content:none}
.choice:has(input:focus-visible){outline:3px solid #e6bd6a;outline-offset:4px}
.choice .price{margin-top:10px;font-variant-numeric:tabular-nums}
aside{border-radius:18px;padding:24px;scroll-margin-bottom:120px}
.total{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin:12px 0}
.line span:first-child{max-width:none;overflow-wrap:anywhere}
.summary-note{color:#dfedec}.included-tax{opacity:1;color:#c8dedc}
.field input,.field select,.field textarea{border-radius:10px}
.nav{margin-top:24px;padding-top:20px;border-top:1px solid #bbddd53d}
.primary,.secondary{border-radius:10px;min-height:48px}
.text-button{text-align:left;text-underline-offset:4px}
.workspace.enter-flow{animation:question-arrival .22s ease-out both}
@keyframes question-arrival{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.shade{background:linear-gradient(90deg,rgba(0,19,34,.55),rgba(0,24,37,.32) 65%,rgba(0,24,37,.4))}
@media(max-width:950px){.layout{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.entry-grid,.cards{grid-template-columns:1fr}.entry{min-height:0}.workspace{min-height:0}}
@media(max-width:650px){
 main{margin-top:22px;padding:0 20px;padding-bottom:100px}
 .site-header{padding:18px 20px 8px}.brand img{width:170px}
 .layout{display:block}.workspace{padding:12px 0 28px}
 .journey-label{margin-left:0;font-size:11px}
 .entry-grid{margin-top:24px}.entry{padding:20px}
 .entry strong{font-size:18px}.entry span:last-child{line-height:1.75}
 .stepper{gap:2px;margin-bottom:18px}.stepper li{font-size:11px;padding:5px 4px}
 .choice,.cards .choice,.option-list .choice,.options-two .choice{padding:18px 18px 18px 48px}
 .choice input,.cards .choice input,.options-two .choice input{left:16px;top:22px}
 .nav{gap:12px}.nav .primary{flex:1}.nav .secondary{padding-left:20px;padding-right:20px}
 aside{margin-top:12px}.mobile-total{padding:10px 20px calc(10px + env(safe-area-inset-bottom))}
 footer{padding:0 20px calc(100px + env(safe-area-inset-bottom));font-size:11px}
 .result-actions{display:grid;grid-template-columns:1fr}.result-heading .total{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.workspace.enter-flow{animation:none}}
@media print{main{padding:0}.workspace{padding:15px}.included-tax{color:#444}}
/* フェーズを直接選び、予算と希望を組み合わせる。 */
.phase-nav .stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:24px}
.phase-nav .stepper li{padding:0;background:none;border-radius:0;min-width:0}
.phase-nav .stepper li:after{content:none}
.phase-nav button{width:100%;min-height:42px;padding:7px 5px;border:1px solid #cee8e638;border-radius:9px;background:#07364b80;color:#dcecea;font-size:12px;transition:background .18s,border-color .18s}
.phase-nav button:hover{background:#225769;border-color:#c5e4dc}
.phase-nav button[aria-current]{background:#d5ebe2;color:#183e44;border-color:#d5ebe2;font-weight:700;box-shadow:0 3px 12px #001a3020}
.phase-nav .done button{border-bottom:2px solid #86bfb1}
.choice:has(input:checked){background:#d3e9df;border-color:#458d7a;box-shadow:inset 4px 0 0 #246a59,0 4px 15px #001c3420}
.choice:has(input:checked) strong{color:#103e36}
.choice input,.cards .choice input,.options-two .choice input{width:20px;height:20px;accent-color:#246a59}
.budget-buttons button.selected{background:#cde5d8;border:2px solid #458d7a;box-shadow:inset 0 -3px 0 #458d7a;font-weight:700}
.one-step-entry{width:100%;margin-top:28px;border-color:#a5d0bd;background:#e1efe8}
.one-step-entry .entry-label{font-size:12px;letter-spacing:.06em;color:#386758;margin-bottom:8px}
.one-step-entry .entry-price{font-size:24px;font-weight:600;color:#1c5c4e;margin-top:12px}
.budget-overview{margin-top:24px;padding-top:22px;border-top:1px solid #cee8e63b}
.budget-overview h4{font-size:19px;line-height:1.6;margin:0 0 12px}
.budget-status{padding:12px 14px;border-radius:9px;background:#07364bcc;color:#e5f5eb;font-size:14px;font-variant-numeric:tabular-nums}
.budget-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.budget-option{display:grid;gap:5px;align-content:start;position:relative;padding:16px;text-align:left;border:1px solid #d0e4df;border-radius:10px;background:#eff7f6;color:#24454d;font-size:14px;line-height:1.65}
.budget-option .option-title{font-weight:600}.option-price{color:#246a59;font-weight:600}.option-status{font-size:11px;color:#516d73}
.budget-option:hover:not(:disabled){background:#fff;border-color:#78b8ab}
.budget-option.is-selected{background:#d3e9df;border-color:#458d7a;box-shadow:inset 4px 0 0 #246a59}
.budget-option.is-selected .option-status{color:#1b5c49;font-weight:600}
.budget-option:disabled{background:#d5dfdf;color:#5a6e72;border-style:dashed;cursor:not-allowed;box-shadow:none}
.budget-option:disabled .option-price{color:#5a6e72}
.color-palette{border:0;padding:0;margin:24px 0;color:#eaf5f1;min-width:0}
.color-palette legend{font-size:16px;margin-bottom:14px}
.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.color-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;position:relative;padding:14px 8px;cursor:pointer;border:1px solid #bbdcd75c;border-radius:10px;background:#09374cba;text-align:center;font-size:12px;line-height:1.65}
.color-choice input{position:absolute;opacity:0;width:1px;height:1px}
.swatch{width:34px;height:34px;border-radius:50%;background:var(--swatch);border:1px solid #ffffff7a;position:relative;box-shadow:0 2px 8px #001b3430}
.color-choice:has(input:checked){background:#d3e9df;border-color:#91c3ad;color:#173e35;box-shadow:inset 0 -3px 0 #458d7a}
.color-choice:has(input:checked) .swatch:after{content:'✓';position:absolute;right:-5px;bottom:-4px;width:19px;height:19px;border-radius:50%;background:#246a59;color:#fff;font-size:12px;line-height:19px;box-shadow:0 0 0 2px #d3e9df}
.color-choice:has(input:focus-visible){outline:3px solid #e6bd6a;outline-offset:4px}
.color-choice:hover{border-color:#ccece0}
@media(max-width:650px){.phase-nav .stepper{gap:4px}.phase-nav button{font-size:11px;padding:7px 2px;min-height:42px}.one-step-entry{padding:20px}.budget-option-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-label{line-height:1.8;letter-spacing:0}.color-choice{min-height:99px}}
@media print{.phase-nav{display:none}.budget-overview{display:none}}
.cards:has(>.choice:only-child){grid-template-columns:1fr}
/* 選択は色面を変えず、明るい輪郭と穏やかな光で示す。 */
.choice:has(input:checked),.budget-option.is-selected{background:#eff7f6;border-color:#7fd6e4;box-shadow:0 0 0 2px #b1f1fb,0 0 18px #a4e5ef70}
.choice:has(input:checked) strong{color:#153f49}
.budget-buttons button.selected{background:#eff7f6;color:#153f49;border:1px solid #7fd6e4;box-shadow:0 0 0 2px #b1f1fb,0 0 18px #a4e5ef70}
.color-choice:has(input:checked){background:#09374cba;color:#f2faf8;border-color:#b1f1fb;box-shadow:0 0 0 1px #b1f1fb,0 0 14px #9ddfea60}
.color-choice:has(input:checked) .swatch:after{background:#e8faff;color:#16434e;box-shadow:0 0 0 2px #16434e}
.color-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.swatch-outline{background:transparent;display:grid;place-items:center;color:#e3f7f2;font-size:24px}
.color-selection{color:#d9ecea;font-size:13px;margin:12px 0 0;font-variant-numeric:tabular-nums}
.custom-color{display:flex;align-items:center;gap:14px;margin-top:18px;font-size:14px;flex-wrap:wrap}
.custom-color input{width:58px;height:42px;padding:3px;border:1px solid #b1dcdf;border-radius:8px;background:#0d4052;cursor:pointer}
.flow-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px;font-size:11px;color:#d0e4e3}
.flow-top .text-button{padding:6px 0;font-size:13px}
.restart-area{margin-top:28px;padding-top:18px;border-top:1px solid #b8dcd538;font-size:12px;color:#d0e3e3}
.restart-area p{margin-bottom:0}.restart-area .text-button{font-size:12px}
.next-steps{margin-top:26px}.next-steps ol{padding-left:22px;font-size:14px;line-height:1.9;color:#e2f0ec}.next-steps li{margin:9px 0}
.ocean{filter:brightness(calc(.78 + var(--ascent)*.31)) saturate(.88) hue-rotate(12deg)}
.ocean:after{content:'';position:absolute;inset:0;background:#32bddc;mix-blend-mode:color;opacity:calc(var(--ascent)*.48)}
@media(max-width:650px){.color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.color-choice{font-size:11px;padding:13px 5px;min-height:90px}.flow-top{align-items:flex-start}.flow-top span{max-width:140px;text-align:right}.next-steps ol{font-size:13px}}
@media print{.flow-top,.restart-area{display:none}.next-steps ol{color:#222}}
#reset-dialog{width:min(480px,calc(100% - 40px));border:1px solid #9ccbd2;border-radius:16px;background:#0c354a;color:#e9f4f1;padding:28px;box-shadow:0 24px 80px #001b3466}
#reset-dialog::backdrop{background:#001925a8;backdrop-filter:blur(4px)}
#reset-dialog h2{font-size:23px;margin:0 0 14px}#reset-dialog p{font-size:14px;line-height:1.9}.dialog-actions{display:grid;gap:12px;margin-top:24px}
@media print{#reset-dialog{display:none}}
.phase-nav button[aria-current]{background:#07364b80;color:#f1faf8;border-color:#b1f1fb;box-shadow:0 0 0 1px #b1f1fb,0 0 12px #9ddfea50}
.one-step-entry{background:#eff7f6}
@media print{
 .screen-only,.save-section{display:none!important}
 .next-steps{break-before:page;page-break-before:always;margin-top:0}
 .next-steps h3,.next-steps p{break-after:avoid}
 .next-steps li{break-inside:avoid}
 body[data-print-section="next"] .workspace> :not(.next-steps){display:none!important}
 body[data-print-section="next"] .next-steps{break-before:auto;page-break-before:auto}
}
.consultation-id{font-size:12px;color:#d6ebe8;overflow-wrap:anywhere;margin:0 0 18px}
@media print{
 @page{size:A4;margin:16mm}
 html,body,main,.layout,.workspace{height:auto!important;min-height:0!important}
 main,.workspace{margin:0!important;padding:0!important}
 .workspace{animation:none!important;transform:none!important}
 .consultation-id{color:#444}
}
#print-preview{color:#183d48;position:relative;z-index:10}
body.preview-only{background:#edf4f3;color:#183d48;height:auto;min-height:0}
body.preview-only> :not(#print-preview){display:none!important}
.print-preview-content{max-width:760px;margin:32px auto;padding:32px;background:white;line-height:1.8}
.print-preview-content h1{font-family:inherit;color:#183d48;text-shadow:none;font-size:25px;margin:20px 0 12px}
.print-preview-content p,.print-preview-content li{font-size:14px}.print-preview-content .brand-line{font-size:14px}.print-preview-content .id{font-size:12px;overflow-wrap:anywhere;color:#536b72}
.print-preview-content ol{padding-left:22px}.print-preview-content li{margin:12px 0;break-inside:avoid}.preview-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}.preview-actions p{flex-basis:100%}
.preview-actions .secondary{color:#183d48;border-color:#9cb6bd;background:white}
@media(max-width:650px){.print-preview-content{margin:0;padding:24px}}
@media print{
 body.preview-only #print-preview,body.preview-only .print-preview-content{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:white;box-shadow:none;transform:none;break-before:auto;break-after:auto}
 .print-preview-content h1{break-after:avoid}.preview-actions{display:none!important}
}

/* 相談中も公式サイトへ移動できる導線。 */
.official-return{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid #d5e9fa70;border-radius:24px;background:#041d3540;color:#f4faff;text-decoration:none;font-size:13px;line-height:1.5}.official-return:hover{background:#b9dfff18;border-color:#e2f2ff}.header-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:650px){.site-header{flex-wrap:wrap}.header-actions{width:100%;justify-content:space-between;gap:10px}.official-return{font-size:12px;padding:8px 12px}.header-actions .draft-label{font-size:11px}}
