:root{--ink:#243e35;--muted:#596b61;--green:#215540;--wash:#f2f6f1;--line:#dce5dc;--paper:#fff;--accent:#ad663d;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.9;scroll-behavior:smooth;scroll-padding-top:30px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba7538;outline-offset:5px}img{max-width:100%;height:auto;display:block}svg{width:24px;height:24px}p{margin:0 0 1em}h1,h2,h3{line-height:1.6;margin:0;font-weight:600;overflow-wrap:anywhere}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,3.3vw,3rem);letter-spacing:.035em}h2{font-size:clamp(1.5rem,2.4vw,2rem)}h3{font-size:1.25rem}em{font-style:normal;color:var(--green)}[hidden]{display:none!important}.wrap{max-width:1152px;margin-inline:auto;width:calc(100% - 96px)}.section{padding-block:65px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.15em;color:var(--green);margin-bottom:14px}.skip{position:absolute;top:-100px;left:10px;z-index:10;background:#fff;padding:12px}.skip:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{max-width:1344px;margin:auto;padding:24px 48px;display:flex;align-items:center;gap:24px}.brand{font-family:"Yu Mincho",serif;font-size:1.7rem;letter-spacing:.16em;line-height:1.4;white-space:nowrap}.brand span{display:block;font-family:Meiryo,sans-serif;font-size:.75rem;letter-spacing:.03em;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:.875rem}.desktop-nav a{padding:10px 0;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--green);text-decoration:underline;text-underline-offset:8px}.header-contact,.button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:5px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 24px;line-height:1.6;font-weight:600;transition:background .15s}.header-contact{font-size:.875rem;padding:12px 22px}.button:hover,.header-contact:hover{background:#153e2e}.button.secondary{background:#fff;color:var(--green)}.button.secondary:hover{background:var(--wash)}.button span{font-size:1.2rem}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);padding:10px 12px;font-size:.875rem;border-radius:4px}.mobile-nav{padding:12px 24px 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--wash)}.mobile-nav a{padding:12px 8px;font-size:.875rem;border-bottom:1px solid var(--line)}.home-hero{background:var(--wash);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding-block:48px}.hero-copy{font-size:1rem;line-height:2;margin:22px 0}.text-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--green);padding-block:5px;color:var(--green);font-weight:600;font-size:.875rem}.text-link:hover{color:#111}.hero-aside{padding:32px;border-left:1px solid var(--line)}.hero-aside p{font-family:"Yu Mincho",serif;font-size:1.8rem}.hero-aside span{color:var(--muted)}.home-art{margin:0}.home-art img{mix-blend-mode:multiply;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:50% 50% 8px 8px}.home-art figcaption{font-size:.75rem;letter-spacing:.1em;color:var(--muted);text-align:center;margin-top:15px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading p:last-child{font-size:.875rem;color:var(--muted);margin:0}.section-heading .eyebrow{margin-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;padding:26px 30px 0;transition:background .15s,border-color .15s}.service-card:hover{background:var(--wash);border-color:var(--green)}.card-top{display:flex;align-items:center;gap:12px}.service-icon{border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--wash);color:var(--green)}.audience{font-size:.8125rem;color:var(--muted)}.service-no{font-size:1.5rem;font-family:Georgia,serif;color:var(--muted);margin-left:auto}.service-card h3{font-size:1.5rem;margin:16px 0 10px}.service-card>p{color:var(--muted);margin-bottom:22px;max-width:26em}.card-foot{margin-top:auto;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-size:.9375rem;font-weight:600;color:var(--green)}.card-foot>span:last-child{font-size:1.5rem;font-weight:400}.promise{padding:12px 0 65px}.promise>div{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.promise p:last-child{color:var(--muted);margin:0}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:40px;background:var(--wash);border-radius:9px;margin-bottom:70px}.contact-intro>p:last-child{color:var(--muted);margin-top:20px;margin-bottom:0}.contact-actions{display:flex;flex-direction:column;justify-content:center;gap:17px;text-align:center}.contact-actions .button{justify-content:center}.phone{font-size:1.8rem;font-family:Georgia,serif;line-height:1.5;letter-spacing:.025em}.phone span{font-family:Meiryo,sans-serif;font-size:.8125rem;display:block;color:var(--muted);letter-spacing:0}.mail{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.footer{border-top:1px solid var(--line);padding:35px 0 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 22px;font-size:.8125rem}.footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-meta{font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px;margin:28px 0 0}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;color:var(--muted);padding:22px 0}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.detail-hero{background:var(--wash);padding:45px 0 48px}.detail-hero h1{margin:10px 0 18px}.detail-hero .lead{color:var(--muted);max-width:40em;margin-bottom:25px}.hero-label{display:inline-block;border-left:3px solid var(--green);padding-left:12px;font-size:.9375rem;color:var(--green)}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.detail-hero .hero-grid{padding-block:0;grid-template-columns:1.4fr 1fr}.jump-nav{display:flex;flex-wrap:wrap;gap:12px 25px;padding-block:20px;border-bottom:1px solid var(--line);font-size:.875rem}.jump-nav a{padding:5px 0;color:var(--muted)}.jump-nav a:hover{color:var(--green);text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1.8fr;gap:55px}.section-lead{color:var(--muted);margin-top:18px;max-width:45em}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.feature{border-top:2px solid var(--green);padding-top:22px}.feature .count{font-family:Georgia,serif;font-size:1.25rem;color:var(--accent);display:block;margin-bottom:13px}.feature h3{margin-bottom:13px}.feature p{color:var(--muted);margin-bottom:0}.wash{background:var(--wash)}.check-list{list-style:none;margin:0;padding:0}.check-list li{padding:17px 0 17px 30px;border-bottom:1px solid var(--line);position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--green)}.steps{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.steps li{border-top:1px solid var(--line);padding-top:20px}.steps .step-number{font-family:Georgia,serif;color:var(--accent);font-size:1.7rem;display:block;margin-bottom:10px}.steps h3{margin-bottom:12px}.steps p{color:var(--muted);margin-bottom:0}.notice{border-left:3px solid var(--green);background:var(--wash);padding:23px 28px;margin:30px 0 0}.notice p:last-child{margin-bottom:0}.notice h3{margin-bottom:10px}.info-list{margin:0}.info-list>div{display:grid;grid-template-columns:120px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:19px 0}.info-list dt{font-weight:600}.info-list dd{margin:0;color:var(--muted)}.faq{margin-top:28px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';font-weight:400;color:var(--green);flex-shrink:0}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 25px 22px 0;color:var(--muted);margin:0}.related{padding-top:0}.related h2{margin-bottom:25px}.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.compact .service-card{padding:22px 22px 0}.compact h3{font-size:1.125rem}.compact .service-card>p{font-size:.875rem}.compact .service-no{display:none}.compact .audience{font-size:.75rem}.compact .card-foot{font-size:.8125rem}.compact .service-icon{width:30px;height:30px}.compact .service-icon svg{width:18px;height:18px}.editorial{font-family:"Yu Mincho",serif}.wide-note{background:var(--green);color:white;border-radius:8px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px}.wide-note p{margin:8px 0 0;color:#e3eee6}.wide-note .button{border-color:white;flex-shrink:0}.flyer{margin:32px 0 0;max-width:780px}.flyer img{border:1px solid var(--line);width:100%;height:auto}.flyer figcaption{font-size:.8125rem;color:var(--muted);margin-top:12px}.empty{min-height:45vh}.empty h1{margin-bottom:25px}.empty .button{margin-top:20px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.choice{border:1px solid var(--line);border-radius:8px;padding:30px;display:flex;flex-direction:column}.choice h3{font-size:1.4rem;margin-bottom:16px}.choice>p:not(.eyebrow){color:var(--muted)}.choice .button{margin-top:auto;font-size:.9375rem}.small-note{font-size:.8125rem;color:var(--muted);margin:18px 0 0}.criteria,.web-principles{background:white;border:1px solid var(--line);border-radius:9px;padding:28px;margin:0}.criteria ul{padding:0;margin:0;list-style:none}.criteria li{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.criteria li span,.web-principles div>span{color:var(--accent);font-family:Georgia,serif;font-size:1.25rem}.criteria>p:last-child{font-size:.8125rem;color:var(--muted);margin:18px 0 0}.web-principles>div{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.web-principles>div:last-child{border-bottom:0}.web-principles h3{font-family:"Yu Mincho",serif;font-size:1.3rem}.top-space{margin-top:28px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.price-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.primary-plan{border:2px solid var(--green)}.plan-label{font-size:.875rem;color:var(--muted);margin-bottom:10px}.price-card h3{font-size:1.5rem}.price-card .price{font-family:Georgia,serif;font-size:3.25rem;line-height:1.3;margin:22px 0}.price-unit{font-family:Meiryo,sans-serif;font-size:1rem;margin-inline:5px}.price-card .check-list{margin-bottom:26px}.price-card .check-list li{font-size:.9375rem;padding-block:11px}.price-card .button{margin-top:auto;justify-content:center}.options-heading{margin-top:38px;margin-bottom:20px}.options{background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 28px}.options article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:26px 0}.options article+article{border-top:1px solid var(--line)}.options h3{margin-bottom:12px}.options p{margin-bottom:0;color:var(--muted)}.options strong{white-space:nowrap;font-family:Georgia,serif;font-size:2rem;color:var(--green)}.options strong span{font-size:.875rem;font-family:Meiryo,sans-serif}.price-examples{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.price-examples dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 0}.price-examples dt{font-size:.875rem;color:var(--muted)}.price-examples dd{font-family:Georgia,serif;font-size:1.7rem;margin:5px 0 0}.business-info{margin:28px 0 0;color:var(--muted);font-size:.8125rem}.business-info span{display:inline-block;margin-right:18px}.business-info p{margin:4px 0}.no-js-nav{display:flex;flex-wrap:wrap;gap:8px 20px;padding:14px 24px;font-size:.875rem;background:var(--wash)}
@media(max-width:640px){.choice-grid,.pricing-grid{grid-template-columns:1fr}.choice,.price-card{padding:24px}.choice h3{font-size:1.25rem}.choice .button{font-size:.875rem;gap:15px}.criteria,.web-principles{padding:22px}.criteria li{padding:11px 0}.price-card .price{font-size:3rem}.options{padding:0 20px}.options article{grid-template-columns:1fr;gap:18px}.options strong{font-size:1.8rem}.price-examples dl{grid-template-columns:1fr;gap:15px}.price-examples dl>div{display:flex;justify-content:space-between;gap:15px;align-items:center}.price-examples dd{margin:0;font-size:1.45rem}.business-info span{display:block;margin:3px 0}}
@media(min-width:941px){.mobile-nav{display:none!important}}
@media(max-width:1100px){.header-inner{gap:18px;padding-inline:32px}.desktop-nav{gap:15px;font-size:.8125rem}.brand{font-size:1.5rem}.wrap{width:calc(100% - 64px)}.service-card h3{font-size:1.3rem}.compact{grid-template-columns:1fr}.compact .service-card{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.compact .card-top{grid-column:1/-1}.compact .card-foot{grid-column:2;grid-row:2/4;align-self:center;border-top:0}.compact .service-card>p{margin-bottom:20px}}
@media(max-width:940px){.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle:not([hidden]){display:block}.header-inner{padding-block:19px}.hero-grid{gap:20px}h1{font-size:2.2rem}.contact{gap:30px;padding:32px}.split{gap:30px;grid-template-columns:1fr 1.5fr}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header-inner{padding:16px 20px;gap:10px}.brand{font-size:1.35rem;letter-spacing:.12em}.brand span{font-size:.625rem}.header-contact{padding:10px 12px;font-size:.8125rem}.menu-toggle{padding:10px 8px;font-size:.75rem}.hero-grid{grid-template-columns:1fr;padding-block:30px;gap:18px}h1{font-size:1.875rem;letter-spacing:0}.hero-copy{margin:17px 0;font-size:.9375rem}.home-art{display:none}.hero-aside{display:none}.home-hero .eyebrow{margin-bottom:12px}.section{padding-block:40px}.section-heading{display:block;margin-bottom:20px}.section-heading p:last-child{margin-top:8px;font-size:.8125rem}h2{font-size:1.4rem}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:20px 21px 0}.service-card h3{font-size:1.25rem}.service-card>p{margin-bottom:17px;font-size:1rem}.card-foot{padding-block:13px;font-size:.875rem}.audience{font-size:.75rem}.service-icon{width:34px;height:34px}.service-icon svg{width:20px;height:20px}.promise{padding-block:0 40px}.promise>div{grid-template-columns:1fr;gap:18px}.promise p:last-child br{display:none}.contact{grid-template-columns:1fr;padding:25px;gap:28px;margin-bottom:40px}.contact-intro>p:last-child{font-size:.9375rem}.footer-top{display:block}.footer nav{justify-content:flex-start;margin-top:25px;gap:12px 20px}.footer-meta{display:block}.footer-meta span{display:block;margin-top:12px}.breadcrumb{padding-block:17px;font-size:.75rem}.detail-hero{padding-block:28px 32px}.detail-hero .hero-grid{grid-template-columns:1fr}.detail-hero h1{font-size:1.875rem}.detail-hero .lead{font-size:1rem}.hero-buttons{flex-direction:column}.hero-buttons .button{width:100%;justify-content:center}.hero-label{font-size:.875rem}.jump-nav{gap:8px 18px;font-size:.8125rem;padding-block:14px}.split{grid-template-columns:1fr;gap:24px}.feature-grid,.steps{grid-template-columns:1fr;gap:25px}.feature{padding-top:18px}.steps .step-number{font-size:1.5rem}.notice{padding:20px}.info-list>div{grid-template-columns:1fr;gap:5px;padding-block:15px}.wide-note{display:block;padding:24px}.wide-note .button{margin-top:20px;width:100%;justify-content:center}.compact .service-card{display:flex}.compact .card-foot{border-top:1px solid var(--line);align-self:auto}.compact .service-card>p{font-size:.9375rem}.related{padding-top:0}.faq summary{font-size:.9375rem}.detail-hero .home-art{display:block;max-width:310px;margin:0 auto}.detail-hero .home-art figcaption{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.footer,.jump-nav,.contact,.related{display:none}.wrap{width:100%}.section{padding-block:20px}a{color:#000}.home-hero,.detail-hero{background:#fff}}
