/* TONARI: supplied navy reference. Two type sizes across the interface. */
:root{--ink:#f5f9fb;--text:#e1edf1;--muted:#b8ced7;--bg:#112e3a;--sage:#173b48;--line:#3c5865;--lime:#b3e5f0;--accent:#b3e5f0;--type-small:16px;--type-large:32px;color-scheme:dark}
body{background:var(--bg);color:var(--text);font-size:var(--type-small);line-height:1.85;-webkit-font-smoothing:antialiased}
body *,body *:before,body *:after{font-size:var(--type-small)!important}
h1,h2,h1 *,h2 *,.plan-price,.plan-price>.amount,.brand,.brand>span{font-size:var(--type-large)!important}
h1,h2,h3,p,ul,li{overflow-wrap:anywhere}h1,h2,h3{color:var(--ink);font-weight:600;letter-spacing:0;line-height:1.6}
h2{margin-bottom:24px}h3{font-weight:700}h2 br{display:none}.eyebrow{font-weight:400;letter-spacing:.08em;color:var(--accent);margin-bottom:24px}.eyebrow:before{display:none}.small,.muted,.small.muted{color:var(--muted)}
header{background:var(--bg);border-bottom:1px solid var(--line);color:var(--ink);backdrop-filter:none}.header-inner{min-height:96px;gap:28px}header .brand{color:#fff;letter-spacing:.08em;gap:12px}.brand small{font-size:var(--type-small)!important;letter-spacing:.15em;font-weight:400}.brand svg{flex-shrink:0}header nav{gap:24px}header nav a{padding:12px 0;color:#f5f9fb;font-weight:400}header nav a:hover{color:var(--accent)}
.header-contact{background:#f5f9fb;color:#112e3a;border:1px solid #f5f9fb;padding:12px 18px;min-height:52px;gap:20px;border-radius:2px;align-items:center;box-shadow:none}.header-contact span{display:block;width:auto;height:auto;background:none;color:inherit}.header-contact:hover{background:var(--accent);border-color:var(--accent)}
.hero{background:var(--bg);color:var(--text);overflow:hidden}.hero:before,.hero:after{display:none}.hero-grid{grid-template-columns:1fr 1fr;gap:64px;min-height:0;padding-top:76px;padding-bottom:60px}.hero-copy{padding:0}.hero .eyebrow{color:var(--accent);display:block;letter-spacing:.08em;white-space:normal}.hero .eyebrow:before{display:none}.hero h1{color:#fff;font-weight:600;line-height:1.6;letter-spacing:.025em;margin:26px 0}.outline-word{color:inherit;-webkit-text-stroke:0}.outline-word:after{display:none}.headline-second{padding:0}.hero-lead{color:var(--text);line-height:2;border:0;padding:0;letter-spacing:0}.hero .actions{margin-top:32px;gap:12px;align-items:stretch;flex-direction:column;max-width:440px}.hero-note{color:var(--muted);border:0;margin:24px 0 0;padding:0;letter-spacing:0;display:block}
.hero-gallery{position:relative;min-width:0;height:auto;transform:none;margin:0;isolation:auto}.hero-gallery:before,.hero-gallery:after,.collection-stamp{display:none}.hero-sample{position:relative;left:auto;top:auto;width:100%;height:330px;transform:none;border:1px solid var(--line);border-radius:2px;box-shadow:none;overflow:hidden}.hero-sample .mini-content{min-height:290px}.hero-sample .mini-copy{padding:75px 0 12px 24px}.hero-sample .mini-art svg{height:230px}.hero-sample .mini-nav{height:40px;padding:0 20px}.sample-caption{position:static;display:block;margin:16px 0 0;color:var(--muted);letter-spacing:0}.sample-caption span:last-child{display:block;margin-top:4px}.mini-thumbnails{display:none}.hero-bottom{border-top:1px solid var(--line);padding-block:22px;color:var(--accent);font-weight:400;letter-spacing:.05em}.steps-bar{border-color:var(--line);padding-block:27px}.steps-bar a{font-weight:400;line-height:1.7}.steps-bar a span{color:var(--accent);margin-right:14px;font-family:inherit}.steps-bar a:hover{color:var(--accent)}
.button{min-height:54px;min-width:0;border-radius:2px;font-weight:600;padding:14px 20px;gap:20px;box-shadow:none;transition:background .15s,border-color .15s,color .15s;line-height:1.6;letter-spacing:0}.button>span{width:20px;height:auto;flex-shrink:0;display:block;line-height:1.6}.button:hover,.button:active{transform:none;box-shadow:none}.button:hover>span{transform:none}.button:active{filter:brightness(.92)}.dark,.hero .cream{background:#f5f9fb;border-color:#f5f9fb;color:#112e3a}.dark:hover,.hero .cream:hover{background:#b3e5f0;border-color:#b3e5f0}.outline,.hero .outline,.pale{background:transparent;color:#f5f9fb;border:1px solid #829eaa;box-shadow:none}.outline:hover,.hero .outline:hover,.pale:hover{background:#214653;border-color:#b3e5f0}.button:disabled{opacity:.5}.button:disabled:hover{background:inherit;filter:none}.quiet{background:transparent;color:#f5f9fb;min-height:48px;padding:8px;border:0;border-radius:2px;text-underline-offset:6px}.quiet:hover{background:#214653}.text-link{color:#f5f9fb;border-color:#829eaa;min-height:48px;font-weight:400;line-height:1.7}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link span{transform:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b3e5f0!important;outline-offset:4px!important}
.section{padding-block:80px}.section-head{gap:56px;margin-bottom:40px}.section-head h2{font-size:var(--type-large)!important}.section-head>p,.service-card p,.flow p,.gallery-section .small{color:var(--text)}.service-grid{gap:28px}.service-card{background:transparent;border:1px solid var(--line);border-radius:2px;box-shadow:none;padding:32px}.service-index{color:var(--accent);letter-spacing:.05em}.service-card h3{margin-top:32px}.service-card p{line-height:1.9}.page-diagram{display:none}.tags{gap:10px;margin:20px 0}.tags li{padding:0;border:0;border-radius:0;background:none;color:var(--muted)}.tags li+li:before{content:'/';margin-right:10px;color:#829eaa}.flow{gap:28px;margin-top:44px}.flow article{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;box-shadow:none}.flow article>span{color:var(--accent);letter-spacing:.04em}.flow h3{margin:14px 0 10px}
.gallery-section{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-tools{border-color:var(--line);padding-top:24px;align-items:center}.gallery-tools label{display:block;margin-bottom:8px}.gallery-tools select{background:#173b48;color:#f5f9fb;border:1px solid #829eaa;border-radius:2px;min-height:50px;padding:10px 35px 10px 13px}.gallery-tools .text-link{color:var(--accent)}.gallery{gap:40px 28px}.design-card{background:transparent;border:0;border-radius:0;box-shadow:none;transition:none}.design-card:hover{transform:none;box-shadow:none}.gallery-visual{border:0;border-radius:2px;padding:16px 16px 0}.browser-head{border-radius:2px 2px 0 0}.gallery-visual:after{content:'詳細を見る ↗';background:#112e3a;color:#f5f9fb;border-radius:2px;min-height:36px;padding:7px 12px;font-weight:400;letter-spacing:0}.gallery-visual:hover:after{background:#214653}.gallery-screen{height:260px}.gallery-screen .mini-site{min-height:260px}.gallery-screen .mini-content{min-height:220px}.card-info{padding:23px 0 20px;border-bottom:1px solid var(--line)}.card-info .eyebrow{display:none}.card-info h3{color:#fff;margin-top:0;margin-bottom:12px}.card-info p{line-height:1.8;margin:9px 0}.recommend-for{background:none;color:var(--muted);padding:0;margin:14px 0!important;border-radius:0}.card-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.card-actions button{background:transparent;color:#f5f9fb;border:1px solid #829eaa;min-height:48px;padding:10px 14px;border-radius:2px;font-weight:400;line-height:1.6}.card-actions button:hover{background:#214653;color:var(--accent);border-color:var(--accent)}
/* Sample artwork is illustrative; retain its five design palettes, with legible single-size labels. */
.mini-site{color-scheme:light}.mini-site *{font-size:var(--type-small)!important}.mini-site .mini-nav b{font-weight:600}.mini-site .mini-nav small,.mini-site .mini-eyebrow,.mini-site .mini-copy p,.mini-site .mini-foot,.mini-site .mini-cta{display:none}.mini-site h4{font-weight:600!important;letter-spacing:0!important;line-height:1.8!important}.mini-site .mini-copy{padding-left:18px;padding-top:45px}.mini-site .mini-nav{padding-inline:15px}.mini-site .mini-art svg{max-width:100%}
.diagnosis-layout{gap:56px}.diagnosis-layout>div>p{color:var(--text)}.quiz-shell{background:#173b48;color:var(--text);border:1px solid var(--line);border-radius:2px;box-shadow:none;padding:30px}.quiz-shell h3,.quiz-shell legend{color:#f5f9fb;line-height:1.7;font-weight:600}.quiz-top{font-weight:400;letter-spacing:.04em;color:var(--accent)}progress{height:3px;border-radius:0;background:#3c5865;margin:17px 0 28px}progress::-webkit-progress-bar{background:#3c5865;border-radius:0}progress::-webkit-progress-value{background:#b3e5f0;border-radius:0}progress::-moz-progress-bar{background:#b3e5f0}.quiz-options{gap:12px}.quiz-option{border:1px solid #688691;background:transparent;border-radius:2px;padding:14px 16px;min-height:60px;color:#f5f9fb}.quiz-option:hover{background:#214653;border-color:#b3e5f0}.quiz-option:has(input:checked){background:#254d5a;border-color:#b3e5f0;box-shadow:none}.quiz-option input{accent-color:#b3e5f0;width:18px;height:18px}.quiz-controls{align-items:center;flex-wrap:wrap}.quiz-controls .button{min-width:120px}.result-type{color:var(--accent)}.result-preview{border-radius:2px}.result-reasons{line-height:1.9}.result-plan{background:#214653;border:1px solid #688691;border-radius:2px;color:#f5f9fb;padding:20px;line-height:1.9}.result-plan b{font-weight:700;margin-block:8px}.result-alternatives{gap:10px}.result-alternatives button{background:transparent;color:var(--accent);border:1px solid #829eaa;border-radius:2px;min-height:48px;padding:10px 14px}.result-alternatives button:hover{background:#214653}.quiz-shell details{margin-top:20px;border-color:#688691}.quiz-shell details summary{color:#f5f9fb}.quiz-shell details p,.quiz-shell details ol{color:var(--text);line-height:1.9}.quiz-shell .actions{align-items:stretch}
.pricing-section{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text)}.pricing-section .section-head h2{color:#fff}.pricing-section .eyebrow{color:var(--accent)}.pricing-section .section-head>p{color:var(--text)}.pricing-controls{gap:18px;align-items:start}.segmented{background:transparent;border:1px solid #829eaa;border-radius:2px;gap:0;padding:3px}.segmented button{color:#f5f9fb;border-radius:1px;min-height:48px;min-width:130px;padding:12px 18px;line-height:1.6;font-weight:400}.segmented button:hover{background:#214653}.segmented button[aria-pressed=true]{background:#f5f9fb;color:#112e3a;box-shadow:none}.pricing-context{color:var(--text);line-height:1.9}.plans{gap:24px}.plan-card{background:#173b48;border:1px solid var(--line);border-radius:2px;box-shadow:none;padding:30px 24px;color:var(--text)}.plan-card.selected{border-color:#b3e5f0;box-shadow:0 0 0 1px #b3e5f0}.plan-tier{color:var(--accent);letter-spacing:0}.plan-card h3{color:white;font-weight:600}.plan-price{font-weight:600;letter-spacing:-.02em;color:#fff;white-space:normal;line-height:1.6}.plan-price small{font-size:var(--type-small)!important;letter-spacing:0}.plan-detail{color:var(--text);line-height:1.9;min-height:0;margin-block:16px 24px}.plan-card ul{border-color:var(--line);margin-top:0;padding-top:24px}.plan-card li{line-height:1.8;margin-bottom:13px;padding-left:23px}.plan-card li:before{color:var(--accent);font-weight:400}.plan-card .button{padding:14px 16px;gap:12px;line-height:1.7;min-height:54px}.conditions{border-color:var(--line);padding-top:30px}.conditions h3{color:#fff}.conditions-grid{gap:26px}.conditions-grid b{color:var(--accent);font-weight:400}.conditions-grid p{color:var(--text);line-height:1.9}
.faq-section details{background:transparent;border-color:var(--line);padding:0;border-radius:0}.faq-section details[open]{background:none}.faq-section summary{color:#f5f9fb;line-height:1.9;padding-block:24px;font-weight:400}.faq-section summary:after{color:var(--accent)}.faq-section details p{color:var(--text);line-height:1.9}summary:after{line-height:1.9}
.contact-section{background:var(--bg);border-top:1px solid var(--line)}.contact-grid{gap:64px}.contact-grid>div{background:transparent;border-radius:0;padding:0;color:var(--text)}.contact-grid>div h2{color:#fff;font-weight:600}.contact-grid>div p{line-height:1.9}.contact-grid>div .light{color:var(--accent)}.contact-selection{border-color:var(--line);color:#f5f9fb;padding-block:23px}.contact-pending{background:none;padding:0;color:var(--accent)}.contact-pending span{color:var(--text)}.contact-grid form{padding-top:0}.contact-grid form>h3{color:#fff}.contact-grid input,.contact-grid textarea{background:#173b48;color:white;border:1px solid #829eaa;border-radius:2px;min-height:50px;padding:12px 14px;line-height:1.7}.contact-grid input::placeholder,.contact-grid textarea::placeholder{color:#a8c0cb;opacity:1}.contact-grid input[readonly]{background:#173b48;color:#d8eaf0}.contact-grid input:focus,.contact-grid textarea:focus{border-color:#b3e5f0}.required{color:var(--accent)}#draft-result{border-color:var(--line)}.contact-grid .button{min-height:54px}.contact-grid .small{color:var(--muted)}
footer{background:var(--bg);border-top:1px solid var(--line);padding-top:48px;color:white}.footer-top .brand{font-weight:600;letter-spacing:.08em}.footer-top .brand small{font-size:var(--type-small)!important}.footer-top>div{flex-wrap:wrap;gap:18px}.footer-top a:hover{color:var(--accent)}.footer-bottom{border-color:var(--line);color:var(--accent);letter-spacing:.04em;line-height:1.9;gap:20px}.toast{background:#f5f9fb;color:#112e3a;border:1px solid #b3e5f0;border-radius:2px;box-shadow:none;line-height:1.8}
dialog{background:#173b48;color:var(--text);border:1px solid #829eaa;border-radius:2px;box-shadow:none}dialog::backdrop{background:#061a24d9}.dialog-top{background:var(--bg);color:var(--accent);border-bottom:1px solid var(--line);letter-spacing:.05em}.dialog-top button{color:white;background:none;border:1px solid #829eaa;border-radius:2px;width:44px;height:44px}.dialog-top button:hover{background:#214653}#detail-sample{border-radius:0}.detail-copy{padding:30px}.detail-copy h2{font-size:var(--type-large)!important;color:#fff}.detail-copy .eyebrow{color:var(--accent)}.detail-copy p{color:var(--text);line-height:1.9}.detail-copy .small{color:var(--muted)}.detail-copy .actions{align-items:stretch}.detail-copy .button{white-space:normal}
@media(max-width:1050px){.hero-grid{gap:36px}.hero .actions{flex-direction:column;align-items:stretch}.header-inner{gap:20px}header nav{gap:14px}.header-contact{gap:12px;padding-inline:14px}.diagnosis-layout{gap:32px}.plan-card{padding:26px 20px}.contact-grid{gap:36px}.contact-grid>div{padding:0}.hero-sample{height:305px}.hero-sample .mini-content{min-height:265px}}
@media(max-width:740px){.container{width:calc(100% - 40px)}html{scroll-padding-top:124px}.header-inner{min-height:76px;gap:10px}.header-inner .brand,.header-inner .brand *{font-size:var(--type-small)!important}.header-inner .brand{gap:8px;letter-spacing:.06em}.header-inner .brand svg{width:27px}.header-contact{font-weight:400;padding:10px 12px;gap:8px;min-height:48px;line-height:1.6}.header-contact span{width:auto;height:auto}header nav{top:100%;padding:8px 12px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:14px;backdrop-filter:none}header nav a{padding:4px 0;white-space:nowrap;letter-spacing:0}.hero-grid{grid-template-columns:1fr;min-height:0;gap:32px;padding-top:88px;padding-bottom:30px}.hero h1{font-size:var(--type-large)!important;line-height:1.6;letter-spacing:0;margin-block:24px}.hero .eyebrow{letter-spacing:.04em;line-height:1.8;white-space:normal}.hero .actions{margin-top:26px;gap:12px;flex-direction:column;align-items:stretch}.hero .button{width:100%;min-height:54px;padding:14px 18px;line-height:1.7;gap:12px}.hero-note{line-height:1.9}.hero-gallery{height:auto;margin:0}.hero-sample{height:255px;left:auto;top:auto;width:100%;transform:none;border-width:1px;border-radius:2px}.hero-sample .mini-content{min-height:215px}.hero-sample .mini-art svg{height:170px}.hero-sample .mini-nav{height:40px}.sample-caption{position:static;display:block}.hero-bottom{line-height:1.8;gap:20px;align-items:start}.hero-bottom>a{max-width:45%;text-align:right}.hero-bottom>span{max-width:45%}.steps-bar{grid-template-columns:1fr;gap:14px;padding-block:26px}.steps-bar a{display:flex;flex-direction:row;align-items:baseline;gap:15px;line-height:1.8}.steps-bar a span{margin:0;min-width:24px}.section{padding-block:60px}.section-head{margin-bottom:30px}.section-head h2{font-size:var(--type-large)!important;letter-spacing:0}.section-head>p{margin-top:20px;line-height:1.9}.service-card{padding:25px 22px}.service-card h3{margin-top:24px}.service-grid{gap:24px}.flow{grid-template-columns:1fr;gap:20px}.flow article{padding:23px 0}.gallery-tools{align-items:stretch;gap:14px}.gallery-tools label{display:block;margin-bottom:9px}.gallery-tools select{width:100%;min-height:50px}.gallery{grid-template-columns:1fr;gap:32px}.gallery-visual{padding:12px 12px 0}.gallery-screen{height:230px}.gallery-screen .mini-site{min-height:230px}.gallery-screen .mini-content{min-height:190px}.mini-site .mini-nav b{white-space:normal;line-height:1.4}.mini-site .mini-copy{padding:40px 0 12px 14px}.mini-site .mini-art svg{height:160px}.card-info{padding:23px 0}.card-info h3{margin:0 0 14px}.card-actions{gap:12px;align-items:stretch;flex-direction:column}.card-actions button{width:100%;text-align:left;min-height:50px}.diagnosis-layout{grid-template-columns:1fr;gap:30px}.quiz-shell{padding:24px 18px}.quiz-top{align-items:start;gap:12px;letter-spacing:0}.quiz-top>span{max-width:65%}.quiz-option{padding:14px 12px;min-height:64px;line-height:1.8}.quiz-controls{gap:12px;align-items:stretch}.quiz-controls .button{min-width:0;flex:1;justify-content:center;white-space:normal}.quiz-controls .quiet{padding-inline:4px}.quiz-shell legend{line-height:1.8}.result-plan{padding:17px}.result-alternatives{flex-direction:column;align-items:stretch}.result-alternatives button{text-align:left;min-height:50px}.quiz-shell .actions{flex-direction:column}.quiz-shell .actions .button{width:100%}.pricing-controls{flex-direction:column;gap:15px}.segmented{width:100%}.segmented button{min-width:0;flex:1;padding:12px 8px;min-height:50px}.pricing-context{margin-bottom:26px}.plans{grid-template-columns:1fr;gap:26px}.plan-card{padding:28px 22px}.plan-card h3{margin:12px 0 18px}.plan-card .button{padding:14px;gap:10px;min-height:54px}.plan-detail{margin-bottom:24px}.plan-card ul{margin-bottom:24px}.conditions-grid{grid-template-columns:1fr;gap:18px}.conditions-grid p{margin:0}.conditions h3{margin-bottom:14px}.faq-section summary{line-height:1.9;padding:24px 34px 24px 0}.faq-section summary:after{right:4px;top:23px}.faq-section details p{padding:0 0 24px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-grid>div{padding:0}.contact-grid>div h2{font-size:var(--type-large)!important}.contact-pending{margin-bottom:0}.contact-grid input,.contact-grid textarea,.contact-grid input[readonly]{font-size:var(--type-small)!important}.contact-grid label{line-height:1.8}.contact-grid .actions{flex-direction:column;align-items:stretch}.contact-grid .actions .button{width:100%}.contact-grid input{min-height:52px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{gap:32px;align-items:start}.footer-top>div{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px}.footer-top>div a{line-height:1.8}.footer-bottom{flex-direction:column;gap:10px;margin-top:32px}.dialog-top{letter-spacing:0;padding:12px 16px;gap:15px}#detail-sample{margin:12px 12px 0;height:250px}.detail-copy{padding:24px 18px}.detail-copy h2{font-size:var(--type-large)!important}.detail-copy .actions{flex-direction:column}.detail-copy .button{width:100%;line-height:1.8}}
@media(max-width:360px){header nav{gap:10px}.header-contact{padding-inline:10px}.header-inner .brand{gap:6px}.header-inner .brand svg{width:25px}.header-inner{gap:8px}.hero h1{font-size:var(--type-large)!important}.hero-sample{height:235px}.hero-sample .mini-content{min-height:195px}.hero-sample .mini-art svg{height:140px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
