/* 事業を説明してから図、事業、ロゴ、成果へ進む順序を保ちます。 */
.hero{background:#fff}.hero:before{background:none}.hero-layout{display:block;padding-block:64px 0}.hero-copy{display:flex;justify-content:space-between;align-items:center;gap:48px;margin-bottom:60px}.hero h1{font-size:clamp(64px,7.5vw,108px);margin:0;line-height:1.15;letter-spacing:-.06em}.hero h1 span{display:block;white-space:nowrap}.hero-subcopy{font-size:20px;line-height:2.1;margin:0;letter-spacing:.015em;color:var(--ink)}
.ecosystem{width:100%;max-width:none;height:560px;border-radius:24px;background:#103d43;box-shadow:0 24px 60px #103d4314;position:relative;isolation:isolate}.ecosystem:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 45% 38%,#1d646b,transparent 65%)}.connections{overflow:visible;z-index:0}.ecosystem .channel,.ecosystem .line-node,.ecosystem .outcome,.ecosystem .feedback-node{box-shadow:0 6px 20px #00272d1a;background:#fff;border:1px solid #d6e8e8;border-radius:12px;z-index:1;box-sizing:border-box}
.ecosystem .channel{left:4%;width:30%;padding:20px}.ecosystem .channel-social{top:32px;height:98px}.ecosystem .channel h2{font-size:14px;margin:0 0 16px}.ecosystem .social-platforms{display:flex;justify-content:space-between;gap:12px}.ecosystem .platform img{width:28px;height:28px;object-fit:contain}.ecosystem .platform img.youtube-mark{width:40px;height:28px}.ecosystem .channel-ads{top:170px;height:120px}.ad-platforms{display:flex;justify-content:space-between;gap:8px}.ad-platform{display:flex;flex-direction:column;align-items:center;gap:6px}.ad-platform img{height:26px;width:34px;object-fit:contain}.ad-platform span{font-size:12px!important;white-space:nowrap}.ecosystem .channel-web{top:330px;height:70px;display:flex;flex-direction:row;justify-content:center;gap:14px}.ecosystem .channel-web h2{margin:0;font-size:14px}
.ecosystem .line-node{left:43%;top:180px;width:20%;height:154px;padding:16px 8px;display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center}.ecosystem .line-node img{width:64px;height:64px;object-fit:contain}.ecosystem .line-node strong{font-size:14px;text-align:center;line-height:1.5;white-space:normal}.ecosystem .line-node span{font-size:12px}.ecosystem .outcome{width:12%;height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:12px 4px}.ecosystem .outcome strong{font-size:14px;white-space:nowrap}.ecosystem #node-purchase{left:70%;top:150px!important}.ecosystem #node-repeat{left:84%;top:320px!important}.ecosystem .feedback-node{left:43%;top:456px;width:53%;height:70px;display:flex;align-items:center;gap:18px;padding:12px 20px}.ecosystem .feedback-node strong{font-size:16px}.ecosystem .feedback-node span{font-size:14px}.connection-base{stroke:#89c5cd;stroke-width:1.6;opacity:1;stroke-dasharray:none}.connection-base.connection-feedback{stroke:#89c5cd;stroke-width:1.6;stroke-dasharray:none;opacity:1}.connection-particle{stroke:#d7fbf1;stroke-width:3;stroke-dasharray:12 180;animation:diagram-flow 5s linear infinite}.connection-feedback-particle{stroke:#9fd2ff;animation-duration:7s}@keyframes diagram-flow{to{stroke-dashoffset:-192}}
.client-strip{border-top:0;border-bottom:0;padding-block:20px 50px}.client-set{height:62px;gap:70px;padding-inline:35px}.client-set img{max-height:48px;max-width:200px;width:auto;object-fit:contain}.client-set .client-kirsche{max-width:240px}.client-set .client-square{max-height:62px;max-width:105px}.client-set .client-logo-symbol{max-height:54px}.client-set .client-dark-logo{max-height:38px;max-width:180px;padding:8px 12px;border-radius:8px;background:#103d43;box-sizing:content-box}.cases-section{padding-top:64px}.business-section{padding-bottom:60px}
.contact-grid{grid-template-columns:.55fr 1fr}.contact-intro{display:block}.inquiry-panel .contact-button{display:flex;width:100%;justify-content:center;gap:30px}.inquiry-panel .email-button{display:flex;width:max-content;margin:22px auto 0;border:0;border-radius:0;padding:8px 0;background:transparent;color:var(--ink);border-bottom:1px solid var(--line);font-size:14px}.inquiry-panel .email-button:hover{border-color:var(--ink)}
.fc-section{padding-top:0}.fc-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding-top:60px}.fc-layout h2{font-size:30px;margin-bottom:24px}.fc-layout p{font-size:16px;color:var(--muted)}.fc-video{display:block;border-radius:12px;overflow:hidden;background:var(--ink);position:relative}.fc-video img{width:100%;aspect-ratio:16/9;object-fit:cover}.fc-video .play-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--ink);font-size:24px;padding-left:4px;box-shadow:0 4px 25px #0004}.fc-video:hover .play-mark{background:var(--pale)}.fc-video-caption{font-size:14px;margin-top:14px}
.case-chart{margin:26px 0 0;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.chart-column{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.chart-number{font-size:14px;color:var(--muted)}.chart-track{height:88px;width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-fill{width:68%;height:var(--bar);background:#bad4d7;border-radius:5px 5px 0 0;transform-origin:bottom;transform:scaleY(1)}.chart-column:last-child .chart-fill{background:var(--teal)}.chart-label{font-size:12px;color:var(--muted)}.chart-animate .chart-fill{animation:chart-grow 1.25s cubic-bezier(.2,.65,.3,1) both}.chart-animate .chart-column:last-child .chart-fill{animation-delay:.15s}@keyframes chart-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1100px){.hero-subcopy{font-size:18px}.ecosystem .channel{width:33%}.ecosystem .line-node{left:45%;width:21%}.ecosystem .feedback-node{left:45%;width:51%}.ecosystem .channel{padding-inline:16px}.ecosystem .outcome strong{font-size:12px}}
@media(max-width:700px){.hero-layout{padding-top:36px}.hero-copy{display:block;margin-bottom:36px}.hero h1{font-size:64px;margin-bottom:26px}.hero-subcopy{font-size:16px;line-height:1.9}.ecosystem{height:808px;border-radius:16px}.ecosystem .channel{left:10%;width:84%;padding:18px 14px}.ecosystem .channel-social{top:28px;height:108px}.ecosystem .channel-ads{top:184px;height:122px}.ecosystem .channel-web{top:352px;height:72px}.ecosystem .channel h2{font-size:14px;margin-bottom:16px}.ecosystem .channel-web h2{margin:0;font-size:14px}.ad-platforms{gap:6px}.ad-platform span{font-size:12px!important}.ecosystem .social-platforms{gap:12px}.ecosystem .line-node{left:10%;top:485px;width:30%;height:152px;padding:10px 3px}.ecosystem .line-node strong{font-size:12px}.ecosystem .line-node span{font-size:12px;white-space:nowrap}.ecosystem .line-node img{width:56px;height:56px}.ecosystem .outcome{width:23%;height:90px}.ecosystem #node-purchase{left:47%;top:516px!important}.ecosystem #node-repeat{left:75%;top:516px!important}.ecosystem .outcome strong{font-size:12px}.ecosystem .feedback-node{left:10%;top:715px;width:84%;height:66px;padding:10px;gap:10px}.ecosystem .feedback-node strong{font-size:12px}.ecosystem .feedback-node span{font-size:12px}.ecosystem .feedback-node .icon{width:22px}.client-strip{padding-block:0 30px}.client-set{gap:40px;padding-inline:20px}.client-set img{max-width:160px;max-height:40px}.client-set .client-kirsche{max-width:190px}.client-set .client-logo-symbol{max-height:46px}.client-set .client-dark-logo{max-height:32px;max-width:145px;padding:7px 10px}.cases-section{padding-top:42px}.contact-grid,.fc-layout{grid-template-columns:1fr;gap:30px}.fc-layout{padding-top:40px}.fc-layout h2{font-size:26px}.fc-section{padding-top:0}.case-chart{gap:18px}.business-section{padding-bottom:40px}}
@media(max-width:360px){.hero h1{font-size:56px}.ecosystem .social-platforms{gap:9px}.ecosystem .platform img{width:24px;height:24px}.ecosystem .platform img.youtube-mark{width:33px;height:24px}.ecosystem .line-node span{font-size:10px}.ecosystem .outcome strong{font-size:10px}.ad-platform span{font-size:10px!important}}
.fc-video{width:100%;height:auto;aspect-ratio:16/9;border:0}.ad-platform img[src*="line-yahoo"]{width:72px}.ad-platform img[src*="meta"]{width:54px}.ecosystem .line-node{height:174px}.compact-metric b{font-size:52px}.compact-metric{gap:4px;font-size:20px}.compact-metric .prior-count{font-size:20px}.chart-caption{font-size:12px;color:var(--muted);margin:12px 0 0}.outcome-case .case-chart{margin-top:auto;padding-top:24px}.outcome-case h3{margin-bottom:24px}.outcome-case .case-foot{margin:0 0 24px}.outcome-case .case-chart{min-height:146px}
@media(max-width:700px){.compact-metric b{font-size:40px}.compact-metric .prior-count,.compact-metric .prior-count>span,.compact-metric{font-size:18px}.outcome-case h3{margin-bottom:20px}}
@media(max-width:360px){.ecosystem .line-node span,.ecosystem .outcome strong,.ad-platform span{font-size:12px!important}.ecosystem .line-node span{white-space:normal;text-align:center}.ad-platform img[src*="line-yahoo"]{width:60px}}
.case-chart{position:relative}.chart-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.chart-arrow path{fill:none;stroke:var(--teal);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.chart-animate .chart-arrow path:not(.arrow-tip){stroke-dasharray:1;animation:chart-line 1.35s var(--ease) both}.chart-animate .arrow-tip{animation:chart-tip 1.35s var(--ease) both}@keyframes chart-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes chart-tip{0%,65%{opacity:0}to{opacity:1}}
.ecosystem{border-radius:12px}.chart-fill{border-radius:6px 6px 0 0}
.ad-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ad-platform{min-width:0}.ad-platform img{max-width:100%}.ad-platform span{white-space:normal;text-align:center;line-height:1.4}.chart-column:nth-child(2) .chart-fill{background:var(--teal)}.chart-animate .chart-column:nth-child(2) .chart-fill{animation-delay:.15s}
.ecosystem .channel-ads{height:148px}.hero-copy{display:block;margin-bottom:40px}.hero h1{font-size:clamp(56px,7.2vw,92px)}.hero h1 span{display:inline}.hero-subcopy{margin-top:24px}.hero-subcopy br:first-child{display:none}
@media(max-width:700px){.hero h1{font-size:64px}.hero h1 span{display:block}.hero-subcopy{font-size:16px}.header{height:104px;display:grid;grid-template-columns:1fr auto;grid-template-rows:56px 48px;gap:0 16px}.main-nav{grid-column:1/-1;grid-row:2;margin:0;overflow:visible;mask-image:none;justify-content:space-between;gap:12px}.main-nav a{padding-block:10px}.header-contact{grid-column:2;grid-row:1}.hero-layout{padding-top:28px}}
@media(max-width:360px){.hero h1{font-size:56px}.main-nav{gap:8px}}
.ecosystem .line-node strong .line-account-name{font:inherit;display:inline}
@media(max-width:700px){.hero-subcopy br:first-child{display:initial}.ecosystem .line-node strong .line-account-name{display:block}}
@media(prefers-reduced-motion:reduce){.connection-particle,.chart-animate .chart-fill,.chart-animate .chart-arrow path{animation:none!important}.chart-fill{transform:none}.chart-arrow path{stroke-dashoffset:0}}
