:root{--bg:#fffbf2;--bg-2:#fff4e0;--surface:#fff;--ink:#253048;--ink-2:#4f5a73;--ink-3:#737d93;--line:#efe4cf;--blue:#2f6bde;--blue-d:#2356b8;--blue-l:#e3edff;--yellow:#ffc53d;--yellow-l:#fff0c2;--coral:#ff8a6b;--coral-d:#c9502f;--coral-l:#ffe6de;--mint:#3fbf9b;--mint-d:#1f7f64;--mint-l:#dcf5ec;--radius:22px;--shadow:0 2px 0 #2530480f, 0 12px 32px -18px #25304840;--font:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font);letter-spacing:.02em;margin:0;font-size:17px;font-weight:500;line-height:1.85;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--blue-d)}h1,h2,h3,h4{letter-spacing:.03em;text-wrap:balance;margin:0;font-weight:700;line-height:1.45}p{margin:0}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}.wrap{width:min(1120px,100% - 32px);margin-inline:auto}.narrow{width:min(760px,100% - 32px);margin-inline:auto}.illust{width:100%;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:var(--surface);border-radius:10px;padding:8px 14px;top:12px;left:16px}.btn{border:2.5px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-2px)}.btn:active{box-shadow:0 2px 0 var(--ink);transform:translateY(2px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{color:#fff;background:var(--blue-d)}.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover{color:var(--ink)}.btn-white{background:var(--surface);color:var(--ink)}.btn-white:hover{color:var(--ink)}.btn-sm{box-shadow:0 3px 0 var(--ink);padding:8px 18px;font-size:15px}.btn-lg{padding:16px 30px;font-size:17px}.pill{border-radius:999px;padding:2px 12px;font-size:13px;font-weight:700;line-height:1.7;display:inline-block}.pill-blue{background:var(--blue-l);color:var(--blue-d)}.pill-coral{background:var(--coral-l);color:var(--coral-d)}.pill-mint{background:var(--mint-l);color:var(--mint-d)}.pill-yellow{background:var(--yellow-l);color:#7a5600}.pill-ghost{border:1.5px solid var(--line);color:var(--ink-2);background:0 0}.eyebrow{color:var(--blue-d);letter-spacing:.08em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--yellow);border-radius:4px;width:22px;height:4px}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1.5px solid var(--line);background:#fffbf2eb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:70px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand-text{flex-direction:column;line-height:1.3;display:flex}.brand-name{font-size:17px;font-weight:700}.brand-sub{color:var(--ink-3);font-size:12px}.nav-desktop{align-items:center;gap:22px;display:flex}.nav-desktop a:not(.btn){color:var(--ink);font-size:15px;font-weight:700;text-decoration:none}.nav-desktop a:not(.btn):hover{color:var(--blue)}.nav-mobile{display:none;position:relative}.nav-mobile summary{cursor:pointer;border:2px solid var(--ink);background:var(--surface);border-radius:14px;place-items:center;width:46px;height:46px;list-style:none;display:grid}.nav-mobile summary::-webkit-details-marker{display:none}.burger{gap:5px;display:grid}.burger i{background:var(--ink);border-radius:2px;width:20px;height:2.5px;display:block}.nav-mobile-panel{background:var(--surface);border:2px solid var(--ink);width:min(300px,100vw - 32px);box-shadow:var(--shadow);border-radius:18px;gap:4px;padding:12px;display:grid;position:absolute;top:56px;right:0}.nav-mobile-panel a:not(.btn){color:var(--ink);border-radius:10px;padding:10px 12px;font-weight:700;text-decoration:none}.nav-mobile-panel a:not(.btn):hover{background:var(--bg-2)}.nav-mobile-panel .btn{margin-top:6px}@media (max-width:900px){.nav-desktop{display:none}.nav-mobile{display:block}.brand-name{font-size:15px}.brand-sub{font-size:11px}}.hero{padding:56px 0 72px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:32px;display:grid}.hero h1{letter-spacing:.02em;margin:14px 0 20px;font-size:clamp(40px,6.2vw,68px);line-height:1.2}.hero h1 .mark{background:linear-gradient(transparent 62%, var(--yellow) 62%, var(--yellow) 92%, transparent 92%);padding:0 2px}.hero-lead{color:var(--ink-2);max-width:34em;font-size:clamp(17px,1.9vw,19px)}.hero-lead strong{color:var(--ink)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-chips{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.hero-chips li{list-style:none}.hero-chips{padding:0}.chip{background:var(--surface);border:1.5px solid var(--line);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:14px;display:inline-flex}.chip:before{content:"";background:var(--mint);border-radius:50%;width:8px;height:8px}.hero-deco{z-index:-1;border-radius:50%;position:absolute}@media (max-width:860px){.hero{padding:28px 0 48px}.hero-grid{grid-template-columns:1fr}.hero-illust{order:-1;max-width:520px;margin-inline:auto}}.section{padding:80px 0}.section-tint{background:var(--bg-2)}.section-mint{background:var(--mint-l)}.section-head{text-align:center;margin-bottom:40px}.section-head h2{margin-top:8px;font-size:clamp(26px,3.6vw,36px)}.section-head p{color:var(--ink-2);margin-top:12px}.wave-top{width:100%;height:40px;margin-bottom:-1px;display:block}@media (max-width:700px){.section{padding:56px 0}}.grid{gap:22px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:960px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);flex-direction:column;display:flex;overflow:hidden}.card-link{color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}.card-link:hover{color:var(--ink);box-shadow:0 8px 0 var(--ink);transform:translateY(-3px)}.card-illust{background:var(--bg-2);border-bottom:2px solid var(--ink);padding:10px 18px 4px}.card-illust svg{max-height:160px;margin-inline:auto}.card-body{flex-direction:column;flex:1;gap:8px;padding:18px 20px 22px;display:flex}.card-body h3{font-size:18px}.card-more{color:var(--blue-d);margin-top:auto;font-size:14px;font-weight:700}.card-meta{color:var(--ink-3);margin-top:auto;font-size:14px}.card-tags{flex-wrap:wrap;gap:6px;display:flex}.promise{background:var(--surface);border-radius:var(--radius);border:1.5px solid var(--line);align-items:flex-start;gap:16px;padding:22px;display:flex}.promise svg{flex-shrink:0}.promise h3{margin-bottom:6px;font-size:18px}.promise p{color:var(--ink-2);font-size:15.5px}.price-card{gap:10px;padding:26px 24px 28px;position:relative}.price-card.featured{background:var(--blue-l)}.price-card .price{color:var(--blue-d);font-size:34px;font-weight:700;line-height:1.2}.price-card .price small{color:var(--ink-3);margin-left:6px;font-size:14px;font-weight:500}.price-card h3{font-size:22px}.price-card .work{color:var(--ink-2);font-size:14px}.check-list{border-top:1.5px dashed var(--line);gap:6px;margin:8px 0 0;padding:14px 0 0;list-style:none;display:grid}.check-list li{gap:10px;font-size:15.5px;line-height:1.6;display:flex}.check-list li:before{content:"";background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.2l3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;border-radius:50%;flex-shrink:0;width:20px;height:20px;margin-top:2px}.monthly{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px;display:grid}.monthly-item{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:18px 20px}.monthly-item .m-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.monthly-item .m-name{font-size:17px;font-weight:700}.monthly-item .m-price{color:var(--coral-d);font-weight:700}.monthly-item p{color:var(--ink-2);margin-top:6px;font-size:15px}.note{color:var(--ink-3);margin-top:14px;font-size:14px}@media (max-width:860px){.monthly{grid-template-columns:1fr}}.cost{background:var(--surface);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:28px;grid-template-columns:280px 1fr;align-items:center;gap:36px;padding:28px 36px;display:grid}.cost h2{margin-bottom:14px;font-size:clamp(22px,3vw,28px)}.cost-steps{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 14px;display:flex}.cost-step{background:var(--yellow-l);text-align:center;border-radius:14px;padding:8px 14px;line-height:1.4}.cost-step b{font-size:22px;display:block}.cost-step span{color:var(--ink-2);font-size:13px}.cost-step.accent{background:var(--mint-l)}.cost-arrow{color:var(--ink-3);font-weight:700}@media (max-width:760px){.cost{grid-template-columns:1fr;padding:24px 20px}.cost svg{max-width:220px;margin-inline:auto}}.steps{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.steps li{text-align:center;counter-increment:step;position:relative}.steps li svg{margin-inline:auto}.steps li h3{margin-top:10px;font-size:17px}.steps li h3:before{content:counter(step);background:var(--ink);color:#fff;vertical-align:2px;border-radius:50%;place-items:center;width:26px;height:26px;margin-right:6px;font-size:14px;display:inline-grid}.steps li p{color:var(--ink-2);margin-top:6px;font-size:14.5px;line-height:1.7}@media (max-width:960px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}}@media (max-width:520px){.steps{grid-template-columns:1fr}}.faq-list{gap:12px;display:grid}.faq-item{background:var(--surface);border:2px solid var(--ink);border-radius:18px;overflow:hidden}.faq-item summary{cursor:pointer;align-items:flex-start;gap:12px;padding:16px 52px 16px 20px;font-weight:700;list-style:none;display:flex;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"Q";background:var(--blue);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;margin-top:1px;font-size:15px;display:grid}.faq-item summary:after{content:"+";color:var(--ink-3);font-size:26px;font-weight:500;position:absolute;top:12px;right:20px}.faq-item[open] summary:after{content:"−"}.faq-answer{color:var(--ink-2);gap:10px;padding:0 20px 18px 60px;display:grid}.faq-group{margin:36px 0 14px;font-size:20px}.faq-group:first-child{margin-top:0}.cta-band{background:var(--blue);color:#fff;padding:64px 0;position:relative;overflow:hidden}.cta-inner{grid-template-columns:1.3fr 1fr;align-items:center;gap:32px;display:grid}.cta-band h2{font-size:clamp(24px,3.4vw,34px)}.cta-band p{color:#eaf1ff;margin-top:14px}.cta-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px;display:flex}.cta-tel{color:#fff;font-size:18px;font-weight:700}.cta-tel:hover{color:var(--yellow)}.cta-illust{width:100%;max-width:360px;margin-inline:auto}@media (max-width:760px){.cta-inner{grid-template-columns:1fr}.cta-illust{order:-1;max-width:260px}}.page-hero{background:var(--bg-2);border-bottom:1.5px solid var(--line);padding:36px 0 44px}.page-hero-grid{grid-template-columns:1.4fr 1fr;align-items:center;gap:28px;display:grid}.page-hero h1{margin:10px 0 14px;font-size:clamp(28px,4.2vw,42px)}.page-hero .lead{color:var(--ink-2);font-size:17.5px}.page-hero .illust-box{width:100%;max-width:340px;margin-inline:auto}@media (max-width:760px){.page-hero-grid{grid-template-columns:1fr}.page-hero .illust-box{order:-1;max-width:200px}}.crumbs ol{color:var(--ink-3);flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;font-size:13.5px;list-style:none;display:flex}.crumbs li+li:before{content:"›";margin-right:6px}.crumbs a{color:var(--ink-3)}.prose h2{align-items:center;gap:10px;margin:48px 0 16px;font-size:clamp(22px,3vw,26px);display:flex}.prose h2:before{content:"";background:var(--yellow);border-radius:6px;flex-shrink:0;width:12px;height:28px}.prose p+p{margin-top:14px}.prose ul.dots{gap:6px;margin:0;padding-left:1.3em;display:grid}.prose ul.dots li::marker{color:var(--coral)}.info-table{border-collapse:separate;border-spacing:0;background:var(--surface);border:2px solid var(--ink);border-radius:18px;width:100%;font-size:16px;overflow:hidden}.info-table th,.info-table td{text-align:left;border-bottom:1.5px solid var(--line);vertical-align:top;padding:14px 18px}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:0}.info-table th{background:var(--bg-2);width:32%;font-weight:700}@media (max-width:560px){.info-table th,.info-table td{width:100%;display:block}.info-table th{border-bottom:0;padding-bottom:4px}}.point-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.point{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:18px 20px}.point h3{margin-bottom:6px;font-size:17px}.point p{color:var(--ink-2);font-size:15px}@media (max-width:760px){.point-grid{grid-template-columns:1fr}}.meta-line{color:var(--ink-3);flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:14px;display:flex}.stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.type-card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);padding:22px 24px}.type-card h3{margin:8px 0 10px;font-size:20px}@media (max-width:760px){.type-grid{grid-template-columns:1fr}}.form{background:var(--surface);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:24px;gap:20px;padding:28px;display:grid}.field{gap:6px;display:grid}.field label,.field legend{font-size:15.5px;font-weight:700}.req{background:var(--coral);color:#fff;vertical-align:2px;border-radius:6px;margin-left:8px;padding:0 7px;font-size:12px;display:inline-block}.opt{background:var(--shade,#eef1f7);color:var(--ink-3);vertical-align:2px;border-radius:6px;margin-left:8px;padding:0 7px;font-size:12px;display:inline-block}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:2px solid #d9cfbc;border-radius:14px;width:100%;padding:11px 14px;font-size:16px}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-l);outline:none}.field .hint{color:var(--ink-3);font-size:13.5px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:620px){.field-row{grid-template-columns:1fr}.form{padding:20px}}.agree{align-items:flex-start;gap:10px;font-size:15px;display:flex}.agree input{width:20px;height:20px;accent-color:var(--blue);margin-top:4px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-side{align-content:start;gap:16px;display:grid}.contact-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:32px;display:grid}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}.side-card{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:20px}.side-card h2{margin-bottom:8px;font-size:17px}.side-card p,.side-card li{color:var(--ink-2);font-size:15px}.big-tel{color:var(--ink);font-size:24px;font-weight:700;text-decoration:none}.site-footer{background:var(--ink);color:#d8deea;padding:56px 0 24px;font-size:15px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{color:var(--yellow)}.footer-grid{grid-template-columns:1.3fr 1fr;gap:32px;display:grid}.footer-logo{color:#fff;align-items:center;gap:12px;display:flex}.footer-logo .brand-sub{color:#aab3c5}.footer-addr{margin-top:16px;line-height:1.8}.footer-area{color:#aab3c5;margin-top:10px;font-size:13.5px}.footer-nav{grid-template-columns:1fr 1fr;gap:20px;display:grid}.footer-nav>div{align-content:start;gap:8px;display:grid}.footer-head{color:var(--yellow);letter-spacing:.08em;font-size:14px;font-weight:700}.footer-copy{color:#aab3c5;border-top:1px solid #ffffff1f;margin-top:40px;padding-top:18px;font-size:13px}@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card-link{transition:none}}.card-body>.pill,.price-card>.pill,.type-card>.pill,.page-hero .pill{place-self:flex-start start}.has-doodles{position:relative;overflow:hidden}.has-doodles>.wrap,.has-doodles>.narrow{z-index:1;position:relative}.doodles{pointer-events:none;position:absolute;inset:0}.doodle{width:46px;height:50px;position:absolute}.d-tl{top:28px;left:max(16px,50% - 600px)}.d-tr{top:40px;right:max(16px,50% - 590px)}.d-bl{bottom:32px;left:max(16px,50% - 580px)}.d-br{bottom:36px;right:max(16px,50% - 600px)}@media (max-width:620px){.doodle{width:32px;height:36px}.d-tl,.d-tr{top:12px}}.before-after{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;display:grid}.before-after.compact{max-width:900px;margin:40px auto 0}.ba-panel{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);gap:8px;margin:0;padding:16px 20px 22px;display:grid}.ba-panel p{color:var(--ink-2);font-size:15.5px}.ba-panel svg{max-width:360px;margin-inline:auto}.ba-arrow svg{display:block}@media (max-width:760px){.before-after{grid-template-columns:1fr}.ba-arrow{justify-self:center;transform:rotate(90deg)}}.price-card{gap:0;padding:0}.plan-illust{background:var(--bg-2);border-bottom:2px solid var(--ink);padding:12px 24px 6px}.price-card.featured .plan-illust{background:#d4e3ff}.plan-illust svg{max-height:120px;margin-inline:auto}.price-body{flex-direction:column;gap:10px;padding:20px 24px 26px;display:flex}.price-body>.pill{align-self:flex-start}.plan-name{font-size:22px}.monthly-item{align-items:flex-start;gap:14px;display:flex}.monthly-item>svg{flex-shrink:0}.monthly-item>div{flex:1}.type-card svg.illust{max-width:280px;margin:0 auto 12px}.faq-group{align-items:center;gap:12px;display:flex}.side-illust svg{max-width:220px;margin:0 auto 8px}.about-types{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.about-types figure{background:var(--surface);border:1.5px solid var(--line);text-align:center;border-radius:18px;margin:0;padding:14px}.about-types figcaption{color:var(--ink-2);margin-top:6px;font-size:14.5px}@media (max-width:560px){.about-types{grid-template-columns:1fr}}.site-footer{padding-top:0}.landscape{background:var(--bg);width:100%;height:110px;margin-bottom:44px;display:block}.profile-card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);gap:12px;padding:24px 26px 26px;display:grid}.profile-card h3{margin-top:8px;font-size:17px}.profile-head{align-items:center;gap:16px;display:flex}.profile-avatar svg{border:2px solid var(--ink);background:#fff0c2;border-radius:50%;display:block;overflow:hidden}.profile-title{color:var(--ink-3);font-size:14px}.profile-name{letter-spacing:.1em;font-size:26px;font-weight:700;line-height:1.3}.profile-kana{color:var(--ink-3);letter-spacing:.1em;font-size:13px}

.approach{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.approach li{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 5px 0 var(--ink);padding:26px 24px}
.approach svg{display:block;margin-bottom:12px}
.approach-num{color:var(--blue-d);letter-spacing:.08em;font-size:14px;font-weight:700}
.approach h3{margin:6px 0 8px;font-size:21px}
.approach p{color:var(--ink-2);font-size:15.5px}
.approach-note{text-align:center;color:var(--ink-2);margin-top:30px}
@media (max-width:860px){.approach{grid-template-columns:1fr}}
.nw{display:inline-block}
