/* トップ本文。承認済みヒーロー/共通ナビの寸法やセレクターを上書きしない。 */
.home-content{--home-wash:#f5f6f8;--home-line:#e2e5ea;--home-soft-blue:#eef2fa;--home-action-blue:var(--blue)}
.home-shell{width:calc(100% - var(--gutter)*2);max-width:1400px;margin-inline:auto}
.home-section{padding-block:112px}
.home-content h2{font-size:clamp(28px,2.3vw,34px);font-weight:600;line-height:1.55;font-feature-settings:"palt"}
.home-content h3{font-weight:600;line-height:1.6}
.home-content h2,.home-content h3{text-wrap:balance}
.home-kicker{font-size:14px;font-weight:500;color:#647087;margin-bottom:10px}
.home-kicker.home-kicker-english{font-family:"Anton",sans-serif;font-size:16px;font-weight:400;letter-spacing:.04em;color:#aaa}
.home-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:64px;margin-bottom:48px}
.home-heading.home-heading-centered{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;text-align:center}
@media(min-width:901px){
 .home-heading-centered :is(h2,.home-heading-aside){white-space:nowrap}
 .home-heading-centered br{display:none}
}
.home-heading-aside{font-size:16px;line-height:1.95;color:#535e6e}
.home-heading-aside .home-link{margin-top:22px}
.home-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.home-link svg{width:19px;height:19px;flex-shrink:0;transition:transform .3s}
.home-link:hover{color:var(--blue)}
.home-link:hover svg{transform:translateY(-2px)}
.home-note{font-size:13px;line-height:1.9;color:#687487}
.home-mobile-break{display:none}
.home-demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.home-demo-grid .demo-card{background:none;padding:0;border:0;border-radius:0;box-shadow:none;text-align:left;min-width:0}
.home-demo-grid .demo-image{height:auto;aspect-ratio:1.35;background:#f5f6f8;overflow:hidden;display:block;border:1px solid #e7e9ef;border-radius:12px;transition:box-shadow .3s,transform .3s}
.home-demo-grid .demo-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}
.home-demo-grid .demo-card:hover .demo-image{transform:translateY(-5px);box-shadow:0 16px 26px -18px #293e514d}
.home-demo-grid .demo-card:hover .demo-image img{transform:scale(1.02)}
.home-demo-grid .demo-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 1px 0}
.home-demo-grid .demo-caption strong{font-size:16px;font-weight:600}
.home-demo-grid .demo-caption>span{font-size:14px;color:#677183}
.home-demos .home-note{margin-top:26px}
.home-demos-actions{display:flex;justify-content:center;margin-top:40px}
.mini-browser-bar{height:28px;display:flex;align-items:center;gap:4px;padding:0 10px;background:#fff;border-bottom:1px solid #eef0f3}
.mini-browser-bar i{width:4px;height:4px;border:1px solid #c5cad2;border-radius:50%}
.mini-browser-bar span{margin-inline:auto;color:#7d8591;font-size:10px;padding-right:20px}
.home-features{padding-top:24px}
.home-feature-layout{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:72px}
.home-feature-list{margin:38px 0 18px}
.home-feature-list>div{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--home-line)}
.home-feature-list>div>svg{flex-shrink:0;width:23px;height:23px;margin-top:6px;color:var(--blue)}
.home-feature-list h3{font-size:18px;margin-bottom:8px}
.home-feature-list p{font-size:16px;line-height:1.95;color:#596373}
.home-feature-visual{position:relative;height:640px;border-radius:20px;background:var(--home-wash);overflow:hidden;padding:50px 32px}
.feature-desktop{width:93%;height:520px;overflow:hidden;border:1px solid #e0e5ec;border-radius:8px;background:#fff;box-shadow:0 20px 40px -26px #1d2e554d}
.feature-desktop>img{width:100%;height:auto}
.feature-phone{position:absolute;right:22px;bottom:-24px;width:32%;height:390px;border:6px solid #fff;border-radius:22px;box-shadow:0 16px 45px -16px #1b2d5366;overflow:hidden;background:#fff}
.feature-phone img{width:100%;height:auto}
.home-editor{background:var(--home-wash)}
.home-editor-stage{position:relative;padding:36px 36px 66px;background:#e7ecf4;border:1px solid #e0e6ef;border-radius:20px;overflow:hidden}
.editor-screen{display:block;background:#fff;border:1px solid #d5dce6;border-radius:9px;overflow:hidden;box-shadow:0 18px 35px -25px #25385670}
.editor-screen>img{width:100%;height:auto}
.home-editor-stage figcaption{position:absolute;bottom:20px;left:36px;right:36px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#6b778a}
.home-decisions{--home-line:#ffffff26;--blue:#a9c1ff;background:#181818;color:#f7f7f7}
.home-decisions-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:100px}
.home-pricing{padding-right:50px;border-right:1px solid var(--home-line)}
.home-price{display:flex;align-items:baseline;margin-top:30px;white-space:nowrap;line-height:1}
.home-price-period{margin-right:14px;font-size:14px;font-weight:500;color:#bdbdbd}
.home-price strong{font-size:72px;font-weight:500;letter-spacing:-.045em;line-height:1.1}
.home-price-unit{margin-left:8px;font-size:22px;font-weight:500}
.home-price small{margin-left:4px;font-size:13px;font-weight:400;line-height:1.5;color:#bdbdbd}
.home-pricing-description{margin:16px 0 25px;font-size:16px;line-height:1.95;color:#596373}
.home-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:13px 24px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff25,0 4px 6px #1b1e2410}
.home-button svg{width:22px;height:22px}
/* 本文の主要CTAにも同じ線画を使用。セクション固有の色・枠線は維持する。 */
.home-content .cta-motif-link{gap:12px}
.home-content .cta-motif-link .cta-motif{width:38px;height:32px;flex:0 0 38px;transform:none}
.cta-motif .motif-detail{transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s}
.motif-creator .motif-workspace{opacity:.65;transform:rotate(-5deg)}
.motif-creator .motif-tool{transform:rotate(0)}
.motif-company .motif-building{opacity:.65}
.motif-company .motif-person{transform:translateY(1px)}
.motif-features .motif-piece-a,.motif-features .motif-piece-d{opacity:.65}
.cta-motif-link:is(:hover,:focus-visible) .motif-workspace{opacity:.8;transform:rotate(-8deg)}
.cta-motif-link:is(:hover,:focus-visible) .motif-tool{transform:translate(1px,-2px) rotate(8deg)}
.cta-motif-link:is(:hover,:focus-visible) .motif-building{opacity:.8;transform:translateY(-1px)}
.cta-motif-link:is(:hover,:focus-visible) .motif-person{transform:translate(-1px,-2px)}
.cta-motif-link:is(:hover,:focus-visible) .motif-piece-a{transform:translate(-1px,-1px);opacity:.9}
.cta-motif-link:is(:hover,:focus-visible) .motif-piece-b{transform:translate(1px,-2px) rotate(8deg)}
.cta-motif-link:is(:hover,:focus-visible) .motif-piece-c{transform:translate(-1px,1px) rotate(-6deg)}
.cta-motif-link:is(:hover,:focus-visible) .motif-piece-d{transform:translate(1px,1px);opacity:.9}
.home-button-dark{background:var(--ink);color:#fff}
.home-button-dark:hover{background:#343b47;transform:translateY(-2px)}
.home-button-blue{background:var(--blue);color:#fff}
.home-button-blue:hover{background:var(--blue-hover);transform:translateY(-2px)}
.home-pricing .home-note{margin-top:22px}
.home-faq-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.home-faq-heading h2{font-size:26px}
.home-faq-heading .home-link{color:#677183;font-weight:500}
.home-faq details{border-top:1px solid var(--home-line)}
.home-faq details:last-child{border-bottom:1px solid var(--home-line)}
.home-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:23px 0;font-size:15px;font-weight:500;transition:color .3s}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq summary:hover{color:var(--blue)}
.home-faq summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.home-faq summary>span{flex-shrink:0;width:12px;height:12px;position:relative}
.home-faq summary>span::before,.home-faq summary>span::after{content:"";position:absolute;left:0;top:5px;width:12px;height:1px;background:currentColor;transition:transform .3s}
.home-faq summary>span::after{transform:rotate(90deg)}
.home-faq details[open] summary>span::after{transform:rotate(0)}
.home-faq details>div{padding:0 24px 24px 0;color:#596373;font-size:14px;line-height:1.95}
.home-faq details>div a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;text-decoration:underline;text-underline-offset:5px}
.home-decisions .home-kicker,.home-decisions .home-note,.home-decisions .home-pricing-description,.home-decisions .home-faq-heading .home-link,.home-decisions .home-faq details>div{color:#bdbdbd}
.home-decisions .home-link:hover,.home-decisions .home-faq details>div a:hover{color:var(--blue)}
.home-decisions .home-button-dark{background:#f7f7f7;color:#181818;box-shadow:none}
.home-decisions .home-button-dark:is(:hover,:focus-visible){background:var(--home-action-blue);color:#fff}
.home-closing{position:relative;isolation:isolate;background:#20201e;color:#fff;overflow:hidden}
.home-closing-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.home-closing::before{content:"";position:absolute;inset:0;z-index:-1;background:rgb(0 0 0 / .56)}
.home-closing-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:64px;align-items:center;max-width:1000px;padding-block:112px}
.home-closing h2{font-size:clamp(28px,2.3vw,34px);line-height:1.55;margin-bottom:20px;text-wrap:pretty}
.home-closing h2 span{display:inline-block}
.home-closing-copy p{font-size:16px;line-height:1.8;text-wrap:pretty}
.home-closing .home-closing-link{min-height:64px;padding:17px 28px;font-size:16px;white-space:nowrap;transition:background .3s,transform .3s,box-shadow .3s}
.home-closing-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(min-width:1700px){.home-section{padding-block:128px}.home-features{padding-top:24px}}
@media(max-width:1099px){
 .home-section{padding-block:80px}.home-heading{gap:40px}.home-demo-grid{gap:20px}.home-demo-grid .demo-caption{display:block}.home-demo-grid .demo-caption>span{display:block;margin-top:4px}
 .home-features{padding-top:0}.home-feature-layout{gap:40px;grid-template-columns:1fr 1fr}.home-feature-visual{height:540px;padding:40px 22px}.feature-phone{width:37%;right:12px;height:290px}.feature-desktop{height:450px}
 .home-decisions-grid{gap:48px;grid-template-columns:.9fr 1.2fr}.home-pricing{padding-right:30px}.home-price strong{font-size:54px}.home-price-period{margin-right:10px;font-size:12px}.home-price-unit{margin-left:6px;font-size:20px}.home-price small{margin-left:2px;font-size:12px}.home-button{padding:12px 18px;font-size:13px}
 .home-closing-inner{gap:40px;padding-block:96px}.home-editor-stage{padding:28px 28px 66px}.home-editor-stage figcaption{left:28px;right:28px}
}
@media(max-width:767px){
 .home-kicker.home-kicker-english{font-size:14px}
 .home-demos-actions{margin-top:32px}
 .home-content .cta-motif-link{gap:10px}.home-content .cta-motif-link .cta-motif{width:32px;height:26px;flex-basis:32px}
 .home-section{padding-block:64px}.home-content h2{font-size:28px}.home-kicker{font-size:12px}.home-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.home-heading-aside{font-size:15px}.home-heading-aside .home-link{margin-top:14px}
 .home-demo-grid{grid-template-columns:1fr;gap:32px}.home-demo-grid .demo-image{aspect-ratio:1.5}.home-demo-grid .demo-caption{display:flex;padding-top:15px}.home-demo-grid .demo-caption>span{margin:0;font-size:12px}.home-note{font-size:12px}.home-demos .home-note{margin-top:24px}
 .home-feature-layout{grid-template-columns:1fr;gap:36px}.home-features{padding-top:0}.home-feature-list{margin-top:24px}.home-feature-list p{font-size:14px}.home-feature-list h3{font-size:17px}.home-feature-list>div{gap:14px;padding:20px 0}.home-feature-visual{height:470px;padding:30px 25px}.feature-phone{width:32%;height:320px;right:20px}.feature-desktop{width:87%;height:415px}
 .home-editor-stage{padding:22px 18px 66px;overflow:visible}.home-editor-stage figcaption{left:18px;right:18px;bottom:12px;font-size:11px;align-items:center}.home-editor .home-heading-aside br{display:none}
 .home-decisions-grid{grid-template-columns:1fr;gap:100px}.home-pricing{padding-right:0;border:0;text-align:center}.home-price{justify-content:center}.home-price strong{font-size:64px}.home-price-period{margin-right:12px;font-size:14px}.home-button{font-size:14px;min-height:54px;padding-inline:22px}.home-faq-heading h2{font-size:23px}.home-faq summary{font-size:14px;gap:18px;padding:22px 0}.home-faq details>div{font-size:14px;padding-right:0}.home-faq .home-link{font-size:12px}
 .home-closing-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:32px;padding-block:80px}.home-closing h2{margin-bottom:16px}.home-closing-copy p{font-size:14px;line-height:1.85}.home-closing .home-closing-link{min-height:58px;padding:15px 22px;font-size:14px}.home-closing-photo{object-position:62% center}
}
@media(max-width:479px){
 .home-content .audience-panel-link.cta-motif-link{padding-inline:14px}
 .home-content h2{font-size:clamp(24px,7.2vw,28px)}.home-mobile-break{display:block}
 .home-demo-grid .demo-caption strong{font-size:15px}.home-feature-visual{height:390px;padding:24px 18px}.feature-phone{height:270px;right:10px;width:35%;border-width:4px;border-radius:15px}.feature-desktop{height:350px}.home-editor-stage{padding:14px 12px 84px;border-radius:12px}.home-editor-stage figcaption{left:12px;right:12px;display:block;font-size:11px}.mini-browser-bar span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.home-content *{transition:none!important}}

.home-editor-stage figcaption a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
