:root{--navy:#061a38;--navy2:#0b2b59;--lime:#b7e52b;--lime2:#d2f56b;--ink:#10213a;--muted:#637287;--line:#dce4ec;--soft:#f4f7fa;--white:#fff;--blue:#2563eb;--green:#16834a;--amber:#a85a00;--red:#c93131;--shadow:0 22px 70px rgba(6,26,56,.12);--r:18px;--rs:10px;--content:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:14px/1.65 Inter,"Noto Sans JP","Yu Gothic UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.hidden{display:none!important}.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}
:focus-visible{outline:3px solid rgba(37,99,235,.34);outline-offset:3px}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--content))/2));position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,228,236,.85)}.brand{font-size:23px;font-weight:900;letter-spacing:-.055em;text-decoration:none}.brand i{font-style:normal;color:#7da600}.phase{font-size:10px;background:var(--navy);color:#fff;padding:5px 8px;border-radius:5px;margin-left:10px;letter-spacing:.06em}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav button,.desktop-nav a{border:0;background:none;text-decoration:none;font-weight:750;font-size:12px;cursor:pointer;padding:8px 0}.header-actions{display:flex;align-items:center;gap:8px}.btn{border:1px solid transparent;border-radius:9px;padding:12px 17px;font-weight:850;cursor:pointer;background:var(--lime);color:var(--ink);transition:180ms cubic-bezier(.2,.8,.2,1)}.btn:hover{transform:translateY(-1px);background:var(--lime2)}.btn.dark{background:var(--navy);color:#fff}.btn.dark:hover{background:var(--navy2)}.btn.ghost{background:#fff;border-color:#b8c4d1}.btn.text{background:transparent;padding-inline:8px}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.mobile-menu{display:none}
.routebar{position:fixed;right:18px;bottom:18px;z-index:60;width:min(330px,calc(100vw - 36px));background:rgba(6,26,56,.96);color:#fff;border:1px solid #29466b;border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.routebar summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:12px;font-weight:850;display:flex;justify-content:space-between}.routebar summary:after{content:"画面を選択";font-weight:500;color:#b9c7d9}.route-list{max-height:55vh;overflow:auto;padding:5px 8px 10px}.route-list button{width:100%;border:0;background:transparent;color:#ced9e7;text-align:left;padding:9px 10px;border-radius:7px;font-size:11px;cursor:pointer}.route-list button:hover,.route-list button.active{background:#173b68;color:#fff}.route-list b{display:block;color:var(--lime);padding:10px;font-size:10px;letter-spacing:.08em}
.screen{min-height:calc(100vh - 72px)}.wrap{max-width:var(--content);padding:0 24px;margin:auto}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#638500}.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:520px;height:520px;right:-110px;top:-250px;border-radius:50%;background:var(--lime);filter:blur(115px);opacity:.13}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.07fr .93fr;gap:72px;align-items:center;position:relative;z-index:1}.hero h1{font-size:clamp(46px,6.2vw,78px);line-height:1.02;letter-spacing:-.065em;margin:16px 0 24px}.hero p{font-size:16px;color:#c6d3e3;max-width:650px;margin:0 0 30px}.hero-actions{display:flex;gap:10px;align-items:center}.hero-note{font-size:11px;color:#aebfd3;margin-top:20px}.flow-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px;backdrop-filter:blur(14px)}.balance-label{font-size:11px;color:#b9c8da}.balance{font-size:42px;font-weight:900;letter-spacing:-.04em;margin:4px 0 25px}.flow-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}.flow-step .num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--navy);font-size:11px;font-weight:900}.flow-step small{color:#b9c8da}.flow-step strong:last-child{color:var(--lime)}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;background:#fff;transform:translateY(-25px);position:relative;z-index:2;box-shadow:0 12px 42px rgba(6,26,56,.08)}.trust{padding:22px;border-right:1px solid var(--line)}.trust:last-child{border:0}.trust b{display:block;font-size:13px}.trust small{color:var(--muted)}
.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head h2,.content-hero h1{font-size:clamp(32px,4vw,50px);line-height:1.12;letter-spacing:-.045em;margin:7px 0}.section-head p{max-width:600px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:27px}.card h3{font-size:18px;margin:12px 0 7px}.card p{color:var(--muted);font-size:12px;margin:0}.card .meta{display:inline-flex;background:#edf3fa;color:#496079;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:850}.card.feature{border-color:#a8c82f;box-shadow:0 14px 36px rgba(100,140,0,.09)}.card ul{padding-left:18px;color:var(--muted);font-size:12px}.inline-link{border:0;background:none;padding:0;color:#194f9e;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cta{background:linear-gradient(115deg,var(--navy),#0c376f);color:#fff;border-radius:26px;padding:55px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.cta h2{font-size:34px;letter-spacing:-.04em;margin:0 0 7px}.cta p{margin:0;color:#bdcbe0}.site-footer{background:#04142d;color:#afbed1;padding:55px 0 90px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}.footer-grid h3{color:#fff;font-size:12px}.footer-grid a,.footer-grid button{display:block;border:0;background:none;color:#afbed1;text-decoration:none;padding:5px 0;font-size:11px;cursor:pointer}
.content-hero{padding:72px 0 50px;background:linear-gradient(180deg,#f4f7fa,#fff)}.content-hero p{color:var(--muted);font-size:16px;max-width:690px}.content-grid{display:grid;grid-template-columns:250px 1fr;gap:56px;padding:48px 0 90px}.side-nav{position:sticky;top:98px;height:max-content;border:1px solid var(--line);border-radius:12px;padding:10px}.side-nav button,.side-nav a{display:block;width:100%;border:0;background:none;text-align:left;padding:11px 12px;border-radius:7px;font-weight:700;color:var(--muted);cursor:pointer;text-decoration:none}.side-nav button.active,.side-nav button:hover,.side-nav a.active,.side-nav a:hover{background:var(--soft);color:var(--ink)}.article h2{font-size:28px;letter-spacing:-.03em;margin:0 0 14px}.article h3{margin-top:34px}.article p,.article li{color:var(--muted)}.steps{counter-reset:step;display:grid;gap:12px}.step{counter-increment:step;border:1px solid var(--line);border-radius:12px;padding:22px 22px 22px 70px;position:relative}.step:before{content:counter(step);position:absolute;left:21px;top:20px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}.step h3{margin:0}.compare{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}.compare th,.compare td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}.compare th{background:#f6f8fa;font-size:11px;color:var(--muted)}.compare td{font-size:12px}.compare tr:last-child td{border:0}.status-good{color:var(--green);font-weight:850}.search{display:flex;gap:8px;margin:26px 0}.search input,.search select{flex:1;border:1px solid #aebaca;border-radius:9px;padding:13px 14px;background:#fff}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:17px 2px}.faq summary{cursor:pointer;font-weight:800}.faq p{font-size:12px}.status-card{border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px}.dot{width:10px;height:10px;background:var(--green);border-radius:50%;display:inline-block;margin-right:8px}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:40px}
.auth-screen{background:var(--soft);min-height:calc(100vh - 72px);padding:58px 20px 90px}.auth-wrap{width:min(100%,500px);margin:auto}.auth-logo{text-align:center;margin-bottom:26px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 18px 60px rgba(6,26,56,.08)}.progress{display:flex;gap:6px;margin-bottom:26px}.progress span{height:4px;flex:1;background:#e0e6ed;border-radius:3px}.progress span.on{background:var(--lime)}.auth-card h1{font-size:28px;letter-spacing:-.04em;margin:0 0 8px}.auth-card>.lead{color:var(--muted);margin:0 0 26px}.field{display:block;margin:0 0 17px}.field>span{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #aebaca;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink)}.field small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.field.error input{border-color:var(--red)}.error-text{color:var(--red)!important}.check{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--muted);margin:15px 0}.check input{margin-top:4px}.auth-foot{text-align:center;font-size:11px;color:var(--muted);margin-top:18px}.alert{border-left:4px solid var(--blue);background:#eef4ff;padding:12px 14px;border-radius:7px;font-size:11px;margin:14px 0}.alert.error{border-color:var(--red);background:#fff0f0}.code-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:22px 0}.code-row input{text-align:center;font-size:22px;font-weight:850;width:100%;min-width:0;padding:11px 0;border:1px solid #aebaca;border-radius:8px}.success-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:var(--green);font-size:31px;font-weight:900;margin:0 auto 20px}.center{text-align:center}.split{display:flex;justify-content:space-between;gap:10px;align-items:center}.divider{display:flex;align-items:center;gap:12px;color:#8996a7;font-size:10px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}
@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:70px 24px 90px}.flow-card{max-width:600px}.trust-strip{grid-template-columns:1fr 1fr}.trust:nth-child(2){border-right:0}.trust:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.side-nav{position:static;display:flex;overflow:auto}.side-nav button{white-space:nowrap;width:auto}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:64px}.phase{display:none}.header-actions .btn.text{display:none}.hero-grid{padding:56px 20px 76px;gap:40px}.hero h1{font-size:44px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.flow-card{padding:20px}.balance{font-size:34px}.trust-strip{grid-template-columns:1fr;margin-inline:8px}.trust{border-right:0;border-bottom:1px solid var(--line)}.section{padding:58px 0}.section-head{display:block}.section-head p{margin-top:10px}.cards{grid-template-columns:1fr}.cta{padding:32px 24px;grid-template-columns:1fr}.cta .btn{width:100%}.footer-grid{grid-template-columns:1fr 1fr}.content-hero{padding:48px 0 30px}.content-grid{padding-top:30px}.wrap{padding:0 18px}.compare{display:block;overflow:auto;white-space:nowrap}.auth-screen{padding:28px 14px 80px}.auth-card{padding:25px 20px}.routebar{right:10px;bottom:10px;width:calc(100vw - 20px)}.code-row{gap:5px}.site-footer{padding-bottom:130px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* EC-CUBE 2 layout adapter: keep the standard Smarty inheritance and neutralize legacy chrome. */
.frame_outer,#container,#main_content,#main_column{width:100%;max-width:none;margin:0;padding:0;background:transparent}
#container{min-height:0}
#main_column.colnum1{width:100%}
.gb-skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--lime);color:var(--ink);padding:11px 15px;border-radius:8px;font-weight:850}
.gb-skip-link:focus{top:12px}
.site-header .brand,.site-footer .brand{color:inherit}
.gb-hero-eyebrow{color:var(--lime)}
.gb-hero-secondary{background:transparent;color:#fff;border-color:#69809d}
.site-footer p{max-width:310px;font-size:11px}
.gb-copyright{border-top:1px solid #18304f;margin-top:38px;padding-top:22px;font-size:11px}
.gb-button-link{display:block;text-align:center;text-decoration:none}
.gb-code-input{text-align:center;font-size:24px!important;font-weight:850;letter-spacing:.35em}
.gb-link-button{border:0;background:transparent;padding:0}
.gb-phone-row{display:grid!important;grid-template-columns:115px 1fr;gap:8px;margin:0!important}
.gb-phone-row select,.gb-phone-row input{width:100%}
.gb-masked-destination{font-size:12px;color:var(--muted);margin:-2px 0 16px}
#container:has(.auth-screen) #leftcolumn,
#container:has(.auth-screen) #rightcolumn,
#container:has(.auth-screen) #topcolumn,
#container:has(.auth-screen) #bottomcolumn{display:none}
#container:has(.auth-screen),
#container:has(.auth-screen) #main_content,
#container:has(.auth-screen) #main_column{width:100%;max-width:none;margin:0}
body:has(.auth-screen) .site-footer{display:none}
@media(max-width:900px){
  .site-header{position:sticky}
  .site-header .desktop-nav[data-open="true"]{display:flex;position:absolute;left:0;right:0;top:100%;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(6,26,56,.1);flex-direction:column;align-items:stretch;gap:4px}
  .site-header .desktop-nav[data-open="true"] a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:420px){.gb-phone-row{grid-template-columns:105px 1fr}}
