:root{--brand-900:#0a3357;--brand-edge:#072742;--brand-700:#0f4c81;--brand-500:#1a6fb5;--brand-200:#cfe0ef;--brand-100:#eef5fb;--go-light:#17833f;--go-dark:#0f6b33;--go-edge:#0a4d24;--ink:#1a1a1a;--ink-muted:#5a5f66;--line:#e2e5e9;--bg:#fff;--bg-soft:#f7f9fb;--maxw:720px;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.9;overflow-x:hidden}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}h1{letter-spacing:.01em;margin:0 0 1.2em;font-size:1.75rem;line-height:1.5}h2{background:var(--brand-700);color:#fff;border-radius:4px;margin:3em 0 1em;padding:.6em .8em;font-size:1.35rem;line-height:1.6}h3{border-left:5px solid var(--brand-500);margin:2.4em 0 .8em;padding-left:.6em;font-size:1.12rem;line-height:1.6}h4{margin:2em 0 .6em;font-size:1rem}p{margin:0 0 1.2em}a{color:var(--brand-700);text-underline-offset:3px}a:hover{color:var(--brand-500)}strong{font-weight:700}ul,ol{margin:0 0 1.4em;padding-left:1.4em}li{margin-bottom:.4em}img{max-width:100%;height:auto;margin:1.4em auto;display:block}hr{border:0;border-top:1px solid var(--line);margin:3em 0}blockquote{border-left:4px solid var(--brand-200);color:var(--ink-muted);margin:1.6em 0;padding:.2em 1.2em}.table-scroll{margin:1.6em 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.94rem}th,td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.7em .8em}th{background:var(--bg-soft);white-space:nowrap;font-weight:700}.box{background:var(--brand-100);border:1px solid var(--brand-200);border-radius:6px;margin:1.8em 0;padding:1.2em 1.4em}.box>:first-child{margin-top:0}.box>:last-child{margin-bottom:0}.box strong:first-child{color:var(--brand-900)}.box ul,.box ol{margin-bottom:0}.cta{text-align:center;margin:2.4em 0 2.6em}.cta-button{background:linear-gradient(180deg, var(--brand-700) 0%, var(--brand-900) 100%);color:#fff;letter-spacing:.02em;text-align:center;cursor:pointer;box-shadow:0 4px 0 var(--brand-edge), 0 6px 16px #07274238;border:0;border-radius:8px;padding:1.05em 2.4em;font-family:inherit;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-block}.cta-button:hover{color:#fff;filter:brightness(1.12)}.cta-button:active{box-shadow:0 0 0 var(--brand-edge), 0 2px 6px #0727422e;transform:translateY(4px)}.cta-button:focus-visible{outline:3px solid var(--brand-500);outline-offset:3px}.hero+hr{display:none}.hero{border-bottom:1px solid var(--brand-200);background:linear-gradient(#e4eff9 0%,#f6fafd 100%);margin:-1px calc(50% - 50vw) 2em;padding:3.2em 0 2.8em}.hero>*{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.hero h1{letter-spacing:-.01em;color:var(--brand-900);margin-bottom:.35em;font-size:2.4rem;line-height:1.4}.hero h2{color:var(--ink);background:0 0;margin:0 auto 1.4em;padding-top:0;padding-bottom:0;font-size:1.3rem;line-height:1.6}.hero p{margin-bottom:1em}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:1.8em auto 1.6em;display:grid}.stat{border:1px solid var(--brand-200);text-align:center;background:#fff;border-radius:8px;padding:1.1em 1em}.stat-label{color:var(--ink-muted);border-bottom:1px solid var(--line);margin-bottom:.7em;padding-bottom:.6em;font-size:.8rem;display:block}.stat-value{flex-direction:column;align-items:center;gap:.1em;display:flex}.stat-value .was{color:var(--ink-muted);font-size:.88rem}.stat-value .arrow{color:var(--brand-500);font-size:.9rem;font-weight:700;line-height:1.2}.stat-value b{color:var(--brand-700);letter-spacing:-.01em;font-size:1.55rem;line-height:1.3}.cta-row{flex-wrap:wrap;gap:14px;margin:1.8em auto 2.2em;display:flex}.cta-row .cta-button{margin:0}.cta-row:has(>.cta-button+.cta-button)>.cta-button{text-align:center;flex:1 1 0;min-width:0}@media (width<=700px){.hero{padding:2.2em 0 2em}.hero h1{font-size:1.75rem}.hero h2{font-size:1.1rem}.stats{grid-template-columns:1fr;gap:10px}.stat{text-align:left;justify-content:space-between;align-items:center;padding:.85em 1.1em;display:flex}.stat-label{border-bottom:0;margin-bottom:0;padding-bottom:0}.stat-value{flex-direction:row;align-items:baseline;gap:.4em}.stat-value .arrow{font-size:1rem}.stat-value b{font-size:1.25rem}.cta-row{flex-direction:column}.cta-row .cta-button{text-align:center}}h1+h2,h1+p+h2{color:var(--ink);background:0 0;margin:-.6em 0 1.4em;padding:0;font-size:1.25rem;line-height:1.6}p br+*{margin-top:0}.service-cards{grid-template-columns:repeat(2,1fr);gap:16px;margin:1.8em 0 0;display:grid}.service-card{border:1px solid var(--brand-200);background:#fff;border-radius:10px;flex-direction:column;padding:1.4em 1.5em 1.2em;display:flex}.service-card.featured{background:var(--brand-100);grid-column:1/-1}.service-card h3{color:var(--brand-900);border-left:0;margin:0 0 .7em;padding-left:0;font-size:1.18rem}.service-card.featured h3{font-size:1.35rem}.service-card p{margin-bottom:.8em;font-size:.95rem}.service-card ul{margin-bottom:1em;font-size:.92rem}.service-card li{margin-bottom:.25em}.service-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1em;padding-top:.9em;display:flex;margin:auto 0 0!important}.service-card.featured .service-foot{border-top-color:var(--brand-200)}.service-foot .price{color:var(--brand-700);font-size:1.05rem;font-weight:700}.service-link{white-space:nowrap;font-size:.9rem;font-weight:700;text-decoration:none}.service-link:after{content:" →"}@media (width<=640px){.service-cards{grid-template-columns:1fr}.service-card.featured{grid-column:auto}}figure{margin:2em 0}figure img{border:1px solid var(--line);border-radius:6px;margin:0 auto}figcaption{color:var(--ink-muted);text-align:center;margin-top:.7em;font-size:.84rem;line-height:1.7}figure.wide{margin-left:calc(-1 * (100vw - var(--maxw)) / 6);margin-right:calc(-1 * (100vw - var(--maxw)) / 6)}@media (width<=900px){figure.wide{margin-left:0;margin-right:0}}.eyecatch-fig{margin-top:0;margin-bottom:2.2em}.grid{gap:1em;margin:1.8em 0;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid figure{margin:0}.grid figure img{border-radius:4px;width:100%}.grid figcaption{text-align:left;margin-top:.5em;font-size:.76rem}@media (width<=700px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=460px){.grid-3,.grid-2{grid-template-columns:1fr}}.portrait{max-width:480px;margin:2em auto}.portrait img{border-radius:8px;width:100%}.cta-button.contact{background:linear-gradient(180deg, var(--go-light) 0%, var(--go-dark) 100%);min-width:340px;box-shadow:0 4px 0 var(--go-edge), 0 6px 16px #0a4d2442;padding:1.05em 3.4em;font-size:1.1rem}.cta-button.contact:active{box-shadow:0 0 0 var(--go-edge), 0 2px 6px #0a4d2433}.cta-row:has(>.contact:only-child){justify-content:center;margin:2.2em auto}@media (width<=700px){.cta-button.contact{width:100%;min-width:0;padding:1em 1.4em;font-size:1.05rem}}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;max-width:1000px;height:62px;display:flex}.logo{color:var(--brand-700);letter-spacing:.02em;font-size:1.1rem;font-weight:700;text-decoration:none}.nav{gap:1.1em;font-size:.9rem;display:flex}.nav a{color:var(--ink);text-decoration:none}.nav a:hover{color:var(--brand-700)}.site-footer{background:var(--bg-soft);border-top:1px solid var(--line);margin-top:5em;padding:2.4em 0;font-size:.88rem}.site-footer .wrap{max-width:1000px}.site-footer .nav{flex-wrap:wrap;gap:.8em 1.4em;margin-bottom:1.2em}.copyright{color:var(--ink-muted)}.author-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;grid-template-columns:96px 1fr;align-items:start;gap:1.2em;margin:2em 0;padding:1.3em 1.5em;display:grid}.author-face{object-fit:cover;border:3px solid #fff;border-radius:50%;width:96px;height:96px;margin:0;box-shadow:0 1px 4px #0000001f}.author-name{color:var(--ink);flex-wrap:wrap;align-items:center;gap:.6em;margin:0 0 .7em;font-size:1.12rem;font-weight:700;display:flex}.author-role{background:var(--brand-700);color:#fff;letter-spacing:.04em;border-radius:3px;padding:.25em .7em;font-size:.72rem;font-weight:700}.author-facts{margin:0 0 .8em;padding-left:1.2em;font-size:.9rem}.author-facts li{margin-bottom:.3em}.author-more{font-size:.86rem;margin:0!important}.author-more a{font-weight:700;text-decoration:none}.author-more a:after{content:" →"}@media (width<=560px){.author-card{grid-template-columns:68px 1fr;gap:1em;padding:1.1em 1.2em}.author-face{width:68px;height:68px}.author-name{font-size:1rem}}.eyecatch{border-radius:8px;width:100%;height:auto;margin:0 0 1.6em}.post-list{padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;gap:1.2em;margin:0;padding:1.6em 0;display:grid}.post-thumb{display:block}.post-thumb img{border-radius:6px;width:100%;height:auto;display:block}.post-body a{font-size:1.05rem;font-weight:700;line-height:1.6;text-decoration:none}.post-list p{color:var(--ink-muted);margin:.5em 0 .6em;font-size:.9rem}.post-date{color:var(--ink-muted);font-size:.84rem}@media (width<=560px){.post-list li{grid-template-columns:1fr;gap:.8em}}.draft-badge{color:#fff;vertical-align:middle;background:#b4232a;border-radius:3px;margin-left:.6em;padding:.15em .6em;font-size:.72rem;display:inline-block}@media (width<=640px){body{font-size:15.5px}h1{font-size:1.5rem}h2{font-size:1.2rem}.nav{display:none}}.contact-form{margin:1.6em 0 2em}.contact-form label{color:#1a1a1a;margin:1.1em 0 .35em;font-size:.95rem;font-weight:700;display:block}.contact-form .req{color:#fff;vertical-align:middle;background:#b4232a;border-radius:3px;margin-left:.6em;padding:.1em .5em;font-size:.68rem;font-weight:700;display:inline-block}.contact-form input,.contact-form select,.contact-form textarea{box-sizing:border-box;width:100%;font:inherit;color:#1a1a1a;background:#fff;border:1px solid #c4ccd4;border-radius:5px;padding:.65em .75em;font-size:1rem}.contact-form textarea{resize:vertical;line-height:1.7}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--brand-700);outline-offset:1px;border-color:var(--brand-700)}.contact-form button[disabled]{opacity:.55;cursor:not-allowed}.contact-form .form-note{margin:1.2em 0 0;font-size:.9rem}.contact-form .hp{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status{min-height:1.5em;margin:.2em 0 0;font-size:.95rem}.form-status.ok{color:var(--go-dark);font-weight:700}.form-status.ng{color:#b4232a;font-weight:700}
