@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#203249;--muted:#667889;--cream:#fffaf3;--paper:#fff;--teal:#168c83;--teal2:#e7f6f1;--orange:#ff943d;--border:#e3e9ea;--shadow:0 12px 36px rgba(30,58,66,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.85 'Noto Sans JP',system-ui,sans-serif;color:var(--ink);background:#fbfdfc}a{color:#08786f;text-underline-offset:3px}img{max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.small{font-size:.83rem}.muted{color:var(--muted)}.notice{background:#eaf5f2;color:#365f5d;font-size:12px;padding:7px 0}.notice .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between}.top{background:white;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{color:var(--ink);display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:900;font-size:17px;line-height:1.4}.logo{background:#e8f7f2;border-radius:14px;width:46px;height:46px;display:grid;place-items:center;font-size:27px}.navlinks{display:flex;align-items:center;gap:21px}.navlinks a{font-size:13px;text-decoration:none;color:#344658;font-weight:700}.navlinks a:hover{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:13px;padding:14px 22px;background:var(--teal);color:#fff!important;text-decoration:none;font-weight:800;line-height:1.55;box-shadow:0 5px 14px rgba(22,140,131,.15);transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(22,140,131,.22)}.button.orange{background:var(--orange);color:#263748!important;box-shadow:0 6px 18px rgba(255,148,61,.18)}.button.light{background:white;color:var(--teal)!important;border:1px solid #c8e2dc;box-shadow:none}.button.mini{padding:9px 14px;font-size:13px}.menu-toggle{display:none;cursor:pointer;border:1px solid var(--border);background:white;border-radius:8px;padding:8px 11px;font-size:22px}.hero{background:radial-gradient(circle at 82% 18%,#def4e8 0,transparent 33%),linear-gradient(140deg,#f2fbf8,#fffaf1);padding:75px 0 78px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px}.eyebrow{display:inline-flex;gap:8px;align-items:center;border-radius:100px;background:#e4f5ec;color:#277968;padding:6px 14px;font-size:13px;font-weight:800}.hero h1{font-size:clamp(34px,4.25vw,58px);line-height:1.42;letter-spacing:-.04em;margin:22px 0}.hero h1 em{color:var(--teal);font-style:normal}.hero p{font-size:17px;color:#536879;max-width:570px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.art{position:relative;min-height:405px;display:grid;place-items:center}.art-bg{width:390px;height:360px;border-radius:43% 57% 60% 40%;background:#c6ebdd;transform:rotate(-12deg);position:absolute}.art-card{z-index:2;background:#fff;box-shadow:0 20px 45px rgba(31,73,79,.13);border-radius:25px;padding:34px;width:310px;transform:rotate(3deg)}.art-card .line{height:13px;background:#e2efed;margin:15px 0;border-radius:12px}.art-card .line.short{width:60%}.art-card .pencil{font-size:69px;text-align:center}.art-float{position:absolute;z-index:3;background:#fff;border-radius:14px;padding:13px 19px;box-shadow:var(--shadow);font-weight:800;font-size:14px}.art-float.first{left:0;top:54px;transform:rotate(-8deg)}.art-float.second{right:0;bottom:48px;transform:rotate(7deg)}section{padding:68px 0}.section-head{margin-bottom:29px}.section-head h2{font-size:clamp(25px,3vw,34px);line-height:1.5;margin:8px 0}.section-head p{color:var(--muted);margin:0}.kicker{color:var(--teal);font-weight:900;font-size:12px;letter-spacing:.11em}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.card{background:white;border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.card h3{font-size:18px;margin:10px 0}.card p{color:#627486;font-size:14px;margin:0}.card .ico{font-size:35px}.card a.more{font-weight:800;font-size:14px;display:inline-block;margin-top:20px}.tint{background:#f1f9f7}.important{border-left:5px solid var(--orange);background:#fff9ee;border-radius:0 12px 12px 0;padding:20px 23px;margin:24px 0}.important strong{display:block;margin-bottom:5px}.important p{margin:0}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{border:1px solid var(--border);background:white;border-radius:21px;padding:26px;position:relative}.price-card.featured{border:2px solid var(--teal);box-shadow:var(--shadow)}.pill{font-size:11px;font-weight:800;color:#077a72;background:#dff4ed;padding:4px 10px;border-radius:40px;display:inline-block}.price-card h3{margin:14px 0 8px}.yen{font-weight:900;font-size:32px;letter-spacing:-.04em}.yen span{font-size:13px;font-weight:500}.price-card p{font-size:13px;color:var(--muted)}.price-card .button{width:100%;margin-top:9px}.checks{list-style:none;padding:0;margin:18px 0}.checks li{padding:4px 0 4px 25px;position:relative}.checks li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:900}.cta-panel{background:#dff2eb;border-radius:24px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-panel h2{font-size:25px;margin:0 0 8px}.cta-panel p{margin:0;color:#4c6b68}.footer{background:#20394a;color:#e1eced;padding:50px 0 25px}.footlinks{display:flex;gap:15px 23px;flex-wrap:wrap;margin:22px 0}.footlinks a{color:#d7edef;text-decoration:none;font-size:13px}.footer p{font-size:12px;color:#c3d2d7}.articlehero{background:linear-gradient(135deg,#eef9f5,#fffaf2);padding:65px 0 54px}.articlehero h1{font-size:clamp(29px,4vw,44px);line-height:1.5;max-width:880px;margin:12px 0}.articlehero p{max-width:790px;color:#5c7081}.breadcrumbs{font-size:12px;color:#6e7d88;padding:16px 0}.breadcrumbs a{color:#537b77}.article-layout{display:grid;grid-template-columns:minmax(0,730px) 260px;gap:45px;align-items:start}.prose{font-size:15px;line-height:2}.prose h2{font-size:25px;border-bottom:2px solid #d9eee7;padding:0 0 12px;line-height:1.5;margin:50px 0 19px}.prose h3{font-size:19px;margin:28px 0 9px}.prose p{margin:16px 0}.prose ul,.prose ol{padding-left:25px}.prose li{padding:3px 0}.prose .important{line-height:1.8}.table-scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;background:white;font-size:14px;min-width:520px}th,td{padding:13px 14px;border:1px solid #dfe9e7;text-align:left;vertical-align:top}th{background:#e9f6f1;font-weight:800}.aside{position:sticky;top:110px;background:white;border:1px solid var(--border);border-radius:18px;padding:23px;font-size:14px}.aside ul{list-style:none;padding:0;margin:10px 0}.aside li{border-bottom:1px solid #edf0ef;padding:9px 0}.aside a{text-decoration:none;font-weight:700}.aside .button{width:100%;margin-top:17px}.sources{background:#f6f8f8;border-radius:13px;padding:18px;margin-top:28px;font-size:13px;overflow-wrap:anywhere}.sources a{display:block}.author{border:1px solid var(--border);border-radius:17px;background:#fff;padding:22px;margin-top:35px}.author h3{margin:0}.faq details{background:#fff;border:1px solid var(--border);border-radius:13px;padding:15px 20px;margin:10px 0}.faq summary{cursor:pointer;font-weight:800}.faq p{margin:10px 0 0;font-size:14px;color:#566c7b}.updated{font-size:12px;color:#667b81}.related{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.related a{display:block;text-decoration:none;background:white;padding:20px;border:1px solid var(--border);border-radius:12px;font-weight:800}.related a:hover{background:#f1faf6}.adlabel{font-size:11px;letter-spacing:.05em;display:inline-block;border:1px solid #bccfce;color:#527371;border-radius:5px;padding:1px 7px}.hero-stat{margin-top:18px;font-size:12px;color:#6e7f88} .site-note{font-size:12px;color:#6a7e80}.steps{counter-reset:item;list-style:none;padding:0}.steps li{counter-increment:item;position:relative;padding:0 0 22px 55px}.steps li:before{content:counter(item);position:absolute;left:0;top:0;background:#dff3eb;color:#11786f;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:900}.steps b{display:block} .desktop-only{display:block}@media(max-width:900px){.article-layout{grid-template-columns:1fr}.aside{position:static}.navlinks{gap:12px}.navlinks a{font-size:12px}.grid{grid-template-columns:repeat(2,1fr)}.hero-grid{gap:20px}.art{transform:scale(.8);margin:-30px}}@media(max-width:700px){.wrap{width:min(100% - 32px,1120px)}.nav{min-height:66px}.brand{font-size:14px}.logo{width:41px;height:41px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:65px;left:0;right:0;background:white;padding:15px 25px 25px;flex-direction:column;align-items:stretch;box-shadow:0 15px 25px rgba(0,0,0,.08)}.navlinks.is-open{display:flex}.navlinks a{font-size:15px}.hero{padding:45px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:35px}.hero p{font-size:15px}.art{min-height:265px;transform:scale(.66);margin:-65px 0}.grid,.pricing,.related{grid-template-columns:1fr}section{padding:49px 0}.cta-panel{padding:26px;display:block}.cta-panel .button{margin-top:18px}.articlehero{padding:40px 0}.articlehero h1{font-size:29px}.prose h2{font-size:22px}.prose{font-size:14px}.desktop-only{display:none}.notice .wrap{display:block}.notice{font-size:10px}.price-card{padding:21px}}
/* Operator identity */
.operator-profile{display:flex;align-items:center;gap:20px;padding:24px;background:#f2faf8;border:1px solid #d5e9e5;border-radius:18px;margin:12px 0 28px}
.operator-profile h2{margin:4px 0 10px!important;border:0!important;padding:0!important}
.operator-logo{height:110px;width:110px;flex-shrink:0;background:#fff;border-radius:18px;display:grid;place-items:center;font-size:36px;border:1px solid #dce9e5}
.operator-table{width:100%;border-collapse:collapse;margin:18px 0 30px;table-layout:fixed;overflow-wrap:anywhere}
.operator-table th,.operator-table td{border-bottom:1px solid #e2e8e7;text-align:left;padding:13px 12px;vertical-align:top}
.operator-table th{width:32%;background:#f7faf9}
@media(max-width:600px){.operator-profile{align-items:flex-start;gap:12px;padding:16px}.operator-logo{width:72px;height:72px;font-size:26px}.operator-table th{width:34%}}

.operator-logo{overflow:hidden;padding:6px}.operator-logo img{width:100%;height:100%;object-fit:contain;border-radius:12px;display:block}
