:root{--teal:#1d9e75;--teal-deep:#157a5b;--teal-dark:#0f5f47;--teal-pale:#eaf5f0;--ink:#1f2e36;--ink-soft:#5b6b74;--line:#e4e9ec;--paper:#ffffff;--bg-soft:#f4f7f8;--placeholder-bg:#fff7dd}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-noto),"Hiragino Sans","Yu Gothic",sans-serif;font-size:16.5px;line-height:1.95;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;letter-spacing:.02em}.serif{font-family:var(--font-serif),"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:700;letter-spacing:.04em}img{max-width:100%;display:block}.container{max-width:1120px;margin:0 auto;padding:0 28px}.container-narrow{max-width:680px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px 30px 28px;box-shadow:0 8px 28px rgba(31,46,54,.05)}.chip{display:inline-block;background:var(--teal-dark);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.06em;padding:4px 14px;border-radius:6px;margin-bottom:16px}.tbd{background:var(--placeholder-bg);border:1px dashed #d8b94a;border-radius:4px;padding:0 5px}.site-header{padding:18px 0;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;gap:16px}.brand,.header-inner{display:flex;align-items:center}.brand img{height:54px;width:auto}.logo{font-family:var(--font-serif),serif;font-size:27px;font-weight:700;letter-spacing:.02em;color:var(--ink)}.logo-kana{font-size:10.5px;letter-spacing:.42em;color:var(--ink-soft);margin-top:2px}.header-tagline{font-size:13.5px;color:var(--ink-soft);letter-spacing:.08em}.hero{background:linear-gradient(160deg,#f7fafb,#eef4f4 55%,#eaf3f0);padding:64px 0 72px}.hero-grid{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:56px;align-items:center}.hero-eyebrow{display:inline-block;color:var(--teal-deep);background:var(--paper);border:1px solid #cfe5db;font-size:13px;font-weight:700;letter-spacing:.08em;padding:6px 16px;border-radius:999px;margin-bottom:24px}.hero h1{font-size:44px;line-height:1.55;margin-bottom:24px}.hero h1 em{font-style:normal;color:var(--teal-deep)}.hero-lead{color:var(--ink-soft);max-width:34em;margin-bottom:30px}.hero-features{list-style:none;display:grid;gap:14px;margin-bottom:34px}.hero-features li{display:flex;align-items:flex-start;gap:13px}.feature-icon{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--teal-deep);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(31,46,54,.06)}.hero-features strong{display:block;font-size:15.5px;line-height:1.6}.hero-features span:not(.feature-icon){display:block;font-size:13.5px;color:var(--ink-soft);line-height:1.7}.hero-visual{position:relative}.hero-photo{border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(31,46,54,.16)}.hero-photo img{width:100%;height:auto;object-fit:cover}.tools-card{position:absolute;right:-14px;bottom:-22px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:14px;padding:14px 22px;box-shadow:0 10px 30px rgba(31,46,54,.12)}.tools-label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--ink-soft);text-align:center;margin-bottom:4px}.tools-label:after,.tools-label:before{content:"—";color:var(--line);margin:0 8px}.tools-names{font-size:14.5px;font-weight:700;color:var(--ink);text-align:center}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 44px;background:var(--teal-deep);color:#ffffff;font-size:16.5px;font-weight:700;border-radius:999px;text-decoration:none;letter-spacing:.08em;box-shadow:0 10px 24px rgba(21,122,91,.28);transition:transform .15s ease,box-shadow .15s ease}.cta-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(21,122,91,.34)}.cta-button-light{background:#ffffff;color:var(--teal-dark);box-shadow:0 10px 24px rgba(9,55,41,.25)}.flow-strip{padding:44px 0;border-bottom:1px solid var(--line)}.flow{list-style:none;justify-content:space-between}.flow,.flow>li:not(.flow-arrow){display:flex;align-items:center;gap:10px}.flow>li:not(.flow-arrow){flex-direction:column;min-width:120px}.flow-icon{width:64px;height:64px;border-radius:50%;background:var(--bg-soft);color:var(--ink-soft);display:flex;align-items:center;justify-content:center}.flow-icon-strong{background:var(--teal-deep);color:#fff;box-shadow:0 8px 20px rgba(21,122,91,.3)}.flow-label{font-size:13.5px;font-weight:700;letter-spacing:.04em}.flow-arrow{flex:1 1;height:0;border-top:2px dashed #c3d2d0;position:relative;top:-14px}.trouble{padding:80px 0}.section-heading.center{text-align:center}.trouble-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin:34px auto 0}.trouble-list li{display:flex;align-items:flex-start;gap:13px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:18px 22px;font-size:15px;line-height:1.85}.trouble-list .check{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--teal-pale);color:var(--teal-deep);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;transform:translateY(3px)}.trouble-note{text-align:center;margin-top:30px;font-size:15.5px;line-height:2}.principles-section{padding:88px 0}.container-mid{max-width:840px}.principles{display:grid;gap:0;margin-top:14px}.principle{display:flex;gap:26px;padding:32px 4px;border-bottom:1px solid var(--line)}.fade:first-child .principle{border-top:1px solid var(--line)}.principle-num{flex-shrink:0;font-size:30px;color:var(--teal-deep);line-height:1;padding-top:4px;letter-spacing:.02em}.principle h3{font-size:17.5px;margin-bottom:8px}.principle p{font-size:14.5px;color:var(--ink-soft);line-height:1.95}.partner{padding:88px 0;background:var(--bg-soft)}.partner-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}.partner-text h2{font-size:25px;line-height:1.85;margin-bottom:22px}.partner-text p{color:var(--ink-soft)}.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px 22px 20px;box-shadow:0 6px 20px rgba(31,46,54,.05)}.service-icon{display:inline-flex;width:46px;height:46px;border-radius:12px;background:var(--teal-pale);color:var(--teal-deep);align-items:center;justify-content:center;margin-bottom:14px}.service-card h3{font-size:16.5px;margin-bottom:6px}.service-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.8}.works{padding:88px 0;background:var(--bg-soft)}.works-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}.about-card h3,.work-card h3{font-size:19px;margin-bottom:10px}.about-card>p,.work-card p{font-size:14.5px;color:var(--ink-soft);line-height:1.9}.shot{margin-top:22px;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(31,46,54,.07)}.shot-bar{display:flex;gap:6px;padding:8px 10px;background:var(--bg-soft);border-bottom:1px solid var(--line)}.shot-bar span{width:9px;height:9px;border-radius:50%;background:#d3dde1}.shot-body{padding:12px 14px 14px;display:grid;gap:8px}.shot-row{height:14px;border-radius:4px;background:var(--bg-soft)}.shot-head{background:var(--teal-pale);width:60%}.about-head{gap:16px;margin-bottom:16px}.about-head,.avatar{display:flex;align-items:center}.avatar{flex-shrink:0;width:62px;height:62px;border-radius:50%;background:var(--teal-pale);color:var(--teal-dark);font-weight:700;font-size:17px;justify-content:center;letter-spacing:.05em}.about-role{font-size:13.5px;color:var(--ink-soft)}.about-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.about-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink);background:var(--bg-soft);border-radius:999px;padding:7px 15px}.about-chip svg{color:var(--teal-deep)}.cta-band{background:linear-gradient(120deg,var(--teal-dark),var(--teal-deep));color:#fff;padding:34px 0}.cta-band-inner{justify-content:space-between;gap:28px}.cta-band-inner,.cta-band-text{display:flex;align-items:center}.cta-band-text{gap:18px}.cta-band-icon{flex-shrink:0;width:52px;height:52px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}.cta-band-text strong{display:block;font-size:18px;letter-spacing:.03em}.cta-band-text span:not(.cta-band-icon){display:block;font-size:13.5px;opacity:.9}.contact{padding:88px 0 96px}.section-heading{font-size:27px;margin-bottom:22px}.contact-note{background:var(--teal-pale);border-radius:12px;padding:18px 24px;margin-bottom:34px;font-size:15px;line-height:1.9}.contact-form{display:grid;gap:22px}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.field input,.field textarea{width:100%;font-family:inherit;font-size:16px;line-height:1.8;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal)}.field textarea{min-height:160px;resize:vertical}.contact-form .cta-button{margin-top:6px;justify-self:start;border:none;cursor:pointer}.site-footer{border-top:1px solid var(--line);padding:30px 0 38px;text-align:center;color:var(--ink-soft);font-size:13px}.fade{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.fade.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:44px}.hero-visual{max-width:560px}.partner-grid{gap:36px}.partner-grid,.works-grid{grid-template-columns:1fr}.flow{flex-wrap:wrap;justify-content:center;gap:18px}.flow-arrow{display:none}}@media (max-width:600px){body{font-size:16px}.header-tagline{display:none}.hero{padding:44px 0 64px}.hero h1{font-size:30px}.hero-lead{font-size:14.5px}.cta-button{width:100%}.service-cards{grid-template-columns:1fr}.contact,.partner,.principles-section,.trouble,.works{padding:64px 0}.trouble-list{grid-template-columns:1fr}.principle{gap:16px;padding:26px 0}.principle-num{font-size:24px}.brand img{height:44px}.tools-card{position:static;margin-top:14px}.cta-band-inner{flex-direction:column;align-items:stretch;text-align:left}}.v4{font-size:17px;line-height:1.9}.v4 .contact{padding:120px 0}.v4 .hero{padding:96px 0 110px}.v4 .hero-inner{max-width:780px}.v4 .hero h1{font-size:52px;line-height:1.5;letter-spacing:-.01em;margin-bottom:26px}.v4 .hero-tagline{font-size:19px;font-weight:700;color:var(--teal-dark);margin-bottom:10px}.v4 .hero-lead{font-size:17.5px;color:var(--ink-soft);margin-bottom:40px}.v4 .biz{padding:110px 0}.v4 .biz-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}.v4 .biz-card{padding:44px 40px}.v4 .biz-label{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--teal-deep);margin-bottom:12px}.v4 .biz-art{display:flex;justify-content:center;margin-bottom:26px}.v4 .biz-art svg{width:100%;max-width:300px;height:auto}.v4 .biz-card h2{font-size:27px;line-height:1.6;margin-bottom:18px}.v4 .biz-card p{color:var(--ink)}.v4 .biz-card .biz-note{margin-top:14px;color:var(--ink-soft);font-size:15px}.v4 .track{background:var(--bg-soft);padding:96px 0}.v4 .track-list{list-style:none;max-width:680px;margin:32px auto 0}.v4 .track-list li{display:flex;align-items:baseline;gap:18px;padding:18px 4px;border-bottom:1px solid #d5dde1}.v4 .track-list li:first-child{border-top:1px solid #d5dde1}.v4 .track-genre{flex-shrink:0;width:6.5em;font-size:13px;font-weight:700;color:var(--teal-deep)}.v4 .track-name{font-weight:600}.v4 .aboutmini{padding:110px 0}.v4 .aboutmini-inner{max-width:680px}.v4 .aboutmini p{margin-bottom:14px}.v4 .aboutmini .strong-line{font-weight:700}.v4 .reassure-line{color:var(--ink-soft);font-size:15px;margin-bottom:36px}.v4 .header-cta{background:var(--teal-deep);color:#fff;font-size:13px;font-weight:700;padding:9px 20px;border-radius:999px;text-decoration:none;white-space:nowrap}.v4 .header-cta:hover{opacity:.85}@media (max-width:820px){.v4 .biz-cards{grid-template-columns:1fr;gap:20px}}@media (max-width:600px){.v4{font-size:16px}.v4 .hero{padding:56px 0 72px}.v4 .hero h1{font-size:31px}.v4 .hero-tagline{font-size:16.5px}.v4 .biz{padding:72px 0}.v4 .biz-card{padding:30px 24px}.v4 .biz-card h2{font-size:22px}.v4 .aboutmini,.v4 .contact,.v4 .track{padding:72px 0}.v4 .track-list li{flex-direction:column;gap:2px}.v4 .track-genre{width:auto}}