:root{--paper:#f6f2e9;--ink:#273b32;--green:#24483e;--muted:#626c62;--line:#dddccd;--cream:#ebe5d6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95}a{color:var(--green)}a:focus-visible,summary:focus-visible{outline:3px solid #b58045;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.65}h1{font-size:clamp(36px,4.6vw,62px);letter-spacing:.045em;margin-bottom:30px}h2{font-size:clamp(27px,3.2vw,39px);max-width:830px;margin-bottom:42px;letter-spacing:.025em}h3{font-size:23px;margin-bottom:22px}h4{font-size:15px;line-height:1.8;margin-bottom:16px}p{margin-bottom:17px}strong{font-weight:700}ul{padding-left:23px;margin:20px 0 30px}li{margin-bottom:10px}section{scroll-margin-top:30px}.site-header{max-width:1220px;margin:auto;padding:26px 36px;border-bottom:1px solid var(--line)}.site-header a{font-weight:700;font-size:19px;letter-spacing:.08em;text-decoration:none}.hero{padding:72px 36px 88px}.hero-inner{max-width:1148px;margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:center}.hero-copy>p{font-size:17px}.hero-copy h3{font-family:inherit;font-size:19px;margin:0}.hero-copy h3+p{margin-top:18px}.hero-facts{border-left:2px solid #b2bdac;padding:4px 0 4px 20px;line-height:2;margin:28px 0!important;font-size:15px!important}.price-line strong{font-size:35px;letter-spacing:.02em}.fine-print{font-size:13px!important;color:var(--muted);line-height:1.8;margin-top:12px}.cta{display:flex;align-items:center;justify-content:center;max-width:460px;width:100%;padding:20px 24px;margin:30px 0 0;background:var(--green);color:white;text-decoration:none;font-size:17px;font-weight:700;border-radius:4px;box-shadow:0 6px 0 #19362e;transition:background .15s,transform .15s}.cta:hover{background:#315c4c;transform:translateY(-1px)}.illustration{border-radius:50% 50% 8px 8px;background:var(--cream);overflow:hidden;display:grid;place-items:center;aspect-ratio:1/1.12}.illustration svg{width:100%;height:auto;display:block}.hero-art{box-shadow:18px 18px 0 #e5e9df;border:1px solid #d7d6c6}.section{padding:88px 36px;border-top:1px solid var(--line)}.section-inner{max-width:1060px;margin:auto}.section:nth-of-type(even){background:#fffdf8}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.text-card{border-top:3px solid #a9bba9;padding:29px 24px;background:#fffdf8;border-radius:3px;box-shadow:0 1px 0 var(--line)}.text-card h3{font-size:23px}.text-card p{font-size:15px}.text-card p:last-child{margin-bottom:0}.narrative{display:grid;grid-template-columns:minmax(0,620px) minmax(240px,1fr);gap:70px;align-items:start}.prose{max-width:640px}.narrative-art{position:sticky;top:40px;aspect-ratio:1/1;background:#e9e4d8;border-radius:5px;max-height:360px;margin-top:40px}.story p{margin-bottom:13px}.story strong{color:#173f30}.case-grid{display:grid;align-items:start;grid-template-columns:repeat(2,1fr);gap:28px}.case-card{padding:36px 32px;background:#fffdf8;border:1px solid var(--line);border-radius:5px}.case-card>p{font-size:15px;margin-bottom:14px}.case-card h3{font-size:24px}.client-review{background:#edf1e8;border-left:3px solid #849e84;padding:24px;margin-top:27px}.client-review h4{font-size:13px;color:#58694f;letter-spacing:.03em}.client-review p{font-size:15px;line-height:1.9}.client-review p:last-child{margin-bottom:0}.consultation .card-grid{grid-template-columns:repeat(2,1fr)}.consultation .text-card:last-child{grid-column:1/-1;padding:38px 42px}.soft-green{background:#e7eee4!important}.soft-green .section-inner{max-width:760px}.soft-green p{margin-bottom:13px}.section:not(.story):not(.audience):not(.cases):not(.consultation):not(.faq) .section-inner>p{max-width:730px}.section-inner>h3{margin-top:36px}.flow-arrow{font-size:22px;color:#7e927b;margin:15px 0}.pricing .section-inner{max-width:810px;background:#fffdf8;padding:54px 58px;border:1px solid #c4d0c0;border-radius:5px;box-shadow:12px 12px 0 #e2e8db}.pricing{background:#edf0e6!important}.pricing h3{font-size:36px;color:var(--green);margin-top:0}.pricing .cta{max-width:100%}.faq .section-inner{max-width:880px}details{border-top:1px solid #cdd5c8;padding:0}details:last-child{border-bottom:1px solid #cdd5c8}summary{cursor:pointer;list-style:none;display:flex;gap:25px;justify-content:space-between;align-items:center;padding:25px 0}summary::-webkit-details-marker{display:none}summary h3{font-family:inherit;font-size:18px;margin:0;font-weight:700}summary span{font-size:21px;font-weight:400;color:#7d9279}details[open] summary span{transform:rotate(45deg)}.faq-answer{padding:0 26px 26px 0;max-width:750px}.faq-answer p{margin-bottom:12px}.site-footer{background:#24483e;color:#f6f2e9;padding:55px 36px}.site-footer h3{font-family:inherit;font-size:21px}.site-footer p{font-size:14px}.footer-link{display:inline-block;color:#f6f2e9;font-size:13px;margin:20px 22px 0 0;text-underline-offset:5px}.section:last-of-type{background:#e7eee4}.section:last-of-type .narrative-art{background:#e2e8da}@media(max-width:900px){.hero-inner{gap:35px;grid-template-columns:1.1fr .9fr}.card-grid{grid-template-columns:1fr}.text-card{padding:30px}.narrative{gap:30px;grid-template-columns:1fr .65fr}.case-card{padding:27px 23px}.case-grid{gap:18px}}@media(max-width:640px){body{font-size:16px;line-height:1.95}.site-header{padding:22px 24px}.site-header a{font-size:17px}.hero{padding:42px 24px 54px}.hero-inner{display:flex;flex-direction:column;gap:42px;align-items:stretch}.hero-copy>p{font-size:16px}h1{font-size:37px;line-height:1.55;margin-bottom:27px;letter-spacing:.025em}h2{font-size:28px;line-height:1.6;margin-bottom:30px;overflow-wrap:anywhere}h3{font-size:21px}.hero-copy h3{font-size:17px}.hero-art{width:88%;max-width:340px;align-self:center;aspect-ratio:1/1;box-shadow:12px 12px 0 #e5e9df}.section{padding:52px 24px}.case-grid,.consultation .card-grid{grid-template-columns:1fr}.case-card{padding:29px 24px}.case-card h3{font-size:23px}.consultation .text-card:last-child{padding:30px 24px}.client-review{padding:20px 18px}.narrative{display:flex;flex-direction:column;gap:25px}.narrative-art{position:static;margin:12px 0 0;width:100%;max-height:260px;aspect-ratio:1.4/1}.prose{width:100%}.cta{font-size:16px;padding:18px 12px}.pricing .section-inner{padding:32px 24px;box-shadow:7px 7px 0 #e2e8db}.pricing{padding:50px 18px}.pricing h3{font-size:29px}.pricing h2{font-size:27px}.fine-print{font-size:12px!important}.faq-answer{padding-right:0}summary h3{font-size:16px}.site-footer{padding:42px 24px}.footer-link{display:block;margin:17px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}
/* 見出しの語句を変えず、極端に短い最終行を避ける。 */
h1,h2,h3{text-wrap:balance}
.case-card{display:flex;flex-direction:column}
.case-card>.client-review{margin-top:27px}
.case-card>p:last-of-type{margin-bottom:28px}

/* 最終文字組み：文章は保持し、見出しと本文の幅を分ける。 */
.site-header{text-align:center;max-width:1320px;padding:28px 36px}
.hero{padding:62px 36px 100px}.hero-inner{max-width:1240px}
.hero-copy{text-align:center}.hero-copy h1{font-size:var(--heading-size);letter-spacing:.02em;line-height:1.5;max-width:none}
.hero-copy>p{margin-left:auto;margin-right:auto}.hero-copy>p:nth-of-type(1){margin-bottom:8px}
.hero-copy h3{font-size:22px;line-height:1.7}.hero-copy h3:first-of-type{margin-top:34px}
.hero-facts{border:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px auto!important;max-width:960px}
.fact-item{display:flex;align-items:center;justify-content:center;background:#eeeee3;border-top:1px solid #b6c6b2;border-bottom:1px solid #b6c6b2;padding:16px 12px;font-size:15px;line-height:1.8}
.hero-facts strong{font-weight:600}.hero-facts .number-emphasis{font-size:23px;white-space:nowrap}
.price-line{line-height:2}.price-line strong{font-size:24px}.price-line .number-emphasis{font-size:54px;font-family:"Yu Mincho",serif;line-height:1.4}
.hero-copy .fine-print{font-size:14px!important;max-width:720px}.cta{margin:32px auto 0;box-shadow:0 3px 0 #19362e;border-radius:3px}
.layout-centered .hero-inner{display:flex;flex-direction:column;gap:48px}.layout-centered .hero-copy{width:100%}.layout-centered .hero-art{width:430px;aspect-ratio:1.45/1;box-shadow:10px 10px 0 #e5e9df;border-radius:180px 180px 5px 5px}
.layout-centered .hero-art svg{width:88%}.layout-split .hero-inner{grid-template-columns:1.45fr .65fr;gap:45px}.layout-split .hero-facts{grid-template-columns:repeat(2,1fr)}.layout-split .hero-copy h1{font-size:38px}
.section{padding:108px 36px}.section-inner{max-width:1240px}
.section-inner>h2{max-width:none;text-align:center;font-size:var(--heading-size);line-height:1.6;margin:0 auto 52px;letter-spacing:0}
.heading-phrase{display:inline}.section-inner>p,.section-inner>ul,.section-inner>h3{max-width:730px;margin-left:auto!important;margin-right:auto!important}
.section-inner>p,.section-inner>ul{text-align:left}.section-inner>h3{text-align:center}
.section-inner>p:has(>strong:only-child){font-size:20px;line-height:1.9;margin-top:25px;margin-bottom:25px}
.number-emphasis{white-space:nowrap;font-size:1.16em}.story .number-emphasis{font-size:1.45em}
.narrative{max-width:1040px;margin:auto;grid-template-columns:minmax(0,660px) minmax(240px,1fr);gap:60px}.prose{max-width:660px}
.card-grid,.case-grid{max-width:1100px;margin:auto}.text-card,.case-card{text-align:left}.text-card h3,.case-card h3{text-align:left}
.case-card{padding:38px 34px}.client-review{margin-top:30px;border-left:3px solid #869e80;background:#edf1e8}.client-review h4{font-size:14px}
.soft-green .section-inner{max-width:1240px}.soft-green{padding-top:120px;padding-bottom:120px}

.section-inner>h4{max-width:730px;margin-left:auto;margin-right:auto}#section-15 .prose>h3{text-align:center;font-size:27px;margin-top:38px}
.pricing .section-inner{max-width:1240px;padding:62px 46px}.pricing .section-inner>h3{font-size:40px}.pricing .section-inner>h3 .number-emphasis{font-size:52px}.pricing .cta{max-width:460px}.pricing .section-inner>p:first-of-type{text-align:center}
.faq .section-inner{max-width:1240px}.faq details{max-width:820px;margin:auto}.faq h3{text-align:left}.site-footer{text-align:center}.site-footer .section-inner{max-width:1000px}
@media(min-width:1100px){.section-inner>h2,.layout-centered h1{white-space:nowrap}}
@media(max-width:1099px){.section-inner>h2{font-size:30px;max-width:920px}.hero-facts{grid-template-columns:repeat(2,1fr)}.heading-phrase{display:inline-block}.layout-split .hero-inner{display:flex;flex-direction:column}.layout-split .hero-art{width:380px;max-width:100%;align-self:center}}
@media(max-width:640px){.site-header{padding:23px 20px}.hero{padding:38px 22px 64px}.hero-copy h1{font-size:32px!important;line-height:1.6;margin-bottom:24px}.hero-copy h3{font-size:18px}.hero-facts{gap:9px;margin:26px auto!important}.fact-item{padding:13px 7px;font-size:13px}.hero-facts .number-emphasis{font-size:21px}.price-line .number-emphasis{font-size:44px}.price-line strong{font-size:21px}.hero-copy .fine-print{font-size:12px!important}.layout-centered .hero-inner{gap:35px}.layout-centered .hero-art{width:88%;max-width:340px;aspect-ratio:1.25/1}.section{padding:66px 22px}.section-inner>h2{font-size:25px;line-height:1.7;margin-bottom:34px;overflow-wrap:normal}.heading-phrase{display:inline-block;max-width:100%}.section-inner>p:has(>strong:only-child){font-size:18px}.narrative{gap:28px}.story .number-emphasis{font-size:1.3em}.case-card{padding:30px 24px}.client-review{padding:22px 18px}.soft-green{padding-top:76px;padding-bottom:76px}#section-8 h2,#section-3 h2{font-size:22px}#section-8 .section-inner>h3{font-size:36px;margin-bottom:30px}.pricing{padding:64px 16px}.pricing .section-inner{padding:37px 22px}.pricing .section-inner>h3{font-size:29px}.pricing .section-inner>h3 .number-emphasis{font-size:40px}.cta{max-width:460px;line-height:1.6}.site-footer{text-align:center}}
@media(min-width:1100px) and (max-width:1279px){.section-inner>h2{font-size:29px}}
@media(max-width:640px){.section-inner>h2 .heading-phrase{display:inline}#section-7 h2{font-size:21px}.hero-copy h1 .heading-phrase{display:inline-block}}
@media(max-width:640px){#section-7 h2 .heading-phrase{display:inline-block}#section-9 h2,#section-10 h2{font-size:22px}}

/* 見出し改行の修正。指定行の文字は変更せず表示だけ切り替える。 */
.section-inner>h2.wrap-heading{max-width:none;font-size:clamp(24px,calc((100vw - 105px)/var(--heading-chars)),34px);letter-spacing:0;line-height:1.6;white-space:nowrap}
.hero-copy h1.wrap-heading{font-size:clamp(32px,4vw,48px);white-space:nowrap}
.heading-line{display:inline;white-space:inherit}.wrap-heading{text-wrap:initial}
@media(max-width:899px){.section-inner>h2.wrap-heading{font-size:28px;white-space:normal}.heading-line{display:block;white-space:nowrap}}
@media(max-width:640px){.section-inner>h2.wrap-heading{width:calc(100% + 28px);max-width:none;margin-left:-14px;margin-right:-14px;font-size:min(25px,calc((100vw - 36px)/var(--longest-line)));line-height:1.7;letter-spacing:0;white-space:normal}.hero-copy h1.wrap-heading{font-size:32px!important;white-space:normal}.heading-line{white-space:nowrap}.pricing .section-inner>h2.wrap-heading{width:100%;margin-left:0;margin-right:0;font-size:24px}}
@media(max-width:640px){.section-inner>h2.wrap-heading{font-size:min(25px,calc((100vw - 36px)/var(--longest-line)))!important}.pricing .section-inner>h2.wrap-heading{font-size:24px!important}}

/* 見出し改行の修正。指定行の文字は変更せず表示だけ切り替える。 */
.section-inner>h2.wrap-heading{max-width:none;font-size:clamp(24px,calc((100vw - 105px)/var(--heading-chars)),34px);letter-spacing:0;line-height:1.6;white-space:nowrap}
.hero-copy h1.wrap-heading{font-size:clamp(32px,4vw,48px);white-space:nowrap}
.heading-line{display:inline;white-space:nowrap}.wrap-heading{text-wrap:initial}.mobile-heading-break{display:none}
@media(max-width:899px){.section-inner>h2.wrap-heading{font-size:28px;white-space:normal}.heading-line{display:inline;white-space:nowrap}.mobile-heading-break{display:block}}
@media(max-width:640px){.section-inner>h2.wrap-heading{width:calc(100% + 28px);max-width:none;margin-left:-14px;margin-right:-14px;font-size:min(25px,calc((100vw - 36px)/var(--longest-line)));line-height:1.7;letter-spacing:0;white-space:normal}.hero-copy h1.wrap-heading{font-size:32px!important;white-space:normal}.heading-line{white-space:nowrap}.pricing .section-inner>h2.wrap-heading{width:100%;margin-left:0;margin-right:0;font-size:24px}}

@media(max-width:640px){.section-inner>h2.wrap-heading{font-size:min(25px,calc((100vw - 36px)/var(--longest-line)))!important}.pricing .section-inner>h2.wrap-heading{font-size:24px!important}}

.opening-title{white-space:nowrap;letter-spacing:0}@media(max-width:640px){.text-card h3.opening-title{font-size:min(21px,calc((100vw - 108px)/16));line-height:1.7}}

.invitation-fixed{display:block;line-height:1.9;font-size:min(15px,calc((100vw - 116px)/16))}.invitation-fixed>span{white-space:nowrap}@media(min-width:641px){.invitation-fixed{font-size:15px}}

.user-fixed-lines{display:block;text-wrap:initial;line-height:1.9}.user-fixed-lines>span{white-space:nowrap}.user-centered{text-align:center!important}.case-card h3.user-centered{text-align:center!important}strong.user-fixed-lines{font-size:16px}.planned-price>span:nth-of-type(2){font-size:27px}
.pricing h2.wrap-heading{width:max-content!important;text-align:left!important;margin-left:auto!important;margin-right:auto!important}.pricing .mobile-heading-break{display:block!important}.site-footer p{text-align:center}
@media(max-width:640px){.text-card h3.user-fixed-lines,.case-card h3.user-fixed-lines{font-size:min(23px,calc((100vw - 110px)/var(--user-line-chars)))}strong.user-fixed-lines{font-size:min(16px,calc((100vw - 64px)/var(--user-line-chars)))}#section-15 h3.user-fixed-lines{font-size:25px}.pricing h2.wrap-heading{font-size:24px!important}}

/* 採用書体：メイリオ */
h1,h2,h3{font-family:Meiryo,sans-serif!important;font-weight:700!important}
