.function-page{width:100%;background:#ffffff;color:var(--color-text-primary);line-break:strict;text-wrap:wrap}.function-page,.function-page h2,.function-page h3{overflow-wrap:normal;word-break:normal}.function-page__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--content-padding-desktop);width:100%}.function-page .page-kv__hero{padding:48px 0 40px}.function-page .page-kv__container{display:flex;flex-direction:column;align-items:center;text-align:center}.function-page .page-kv__title{text-align:center}.function-page .page-kv__description{text-align:center;max-width:40em}.function-page__lead{width:100%;max-width:36em;margin:16px auto 0;font-size:15px;line-height:1.85;color:var(--color-text-primary);text-align:center}.function-page__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.function-page__cta,.function-page__ctas{align-items:center;justify-content:center}.function-page__cta{display:inline-flex;min-height:48px;padding:0 24px;border-radius:var(--radius-full);font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:opacity var(--transition-fast),transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.function-page__cta--primary{background:var(--plainer-gradient);color:#ffffff;border:none}.function-page__cta--primary:focus-visible,.function-page__cta--primary:hover{background:var(--plainer-gradient-hover);transform:translateY(-1px);outline:none}.function-page__cta--secondary{background:#ffffff;color:var(--color-text-heading);border:1px solid rgba(67,94,239,.35)}.function-page__cta--secondary:focus-visible,.function-page__cta--secondary:hover{border-color:var(--plainer-primary);box-shadow:0 6px 16px rgba(67,94,239,.12);outline:none}.function-page__toc{padding:32px 0 8px}.function-page__toc-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.function-page__toc-item{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;min-width:0;max-width:100%;min-height:168px;padding:24px;border:1px solid rgba(67,94,239,.22);border-radius:var(--radius-xl);background:#ffffff;box-shadow:0 4px 16px rgba(19,17,88,.06);color:var(--color-text-heading);text-decoration:none;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.function-page__toc-item:focus-visible,.function-page__toc-item:hover{border-color:var(--plainer-primary);box-shadow:0 10px 24px rgba(67,94,239,.18);transform:translateY(-3px);outline:none}.function-page__toc-item:focus-visible .function-page__toc-cta,.function-page__toc-item:hover .function-page__toc-cta{background:var(--plainer-gradient-hover);transform:translateY(1px)}.function-page__toc-copy{min-width:0}.function-page__toc-num{display:block;margin-bottom:6px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--plainer-primary)}.function-page__toc-title{display:block;font-size:18px;font-weight:700;line-height:1.6;color:var(--color-text-heading)}.function-page__toc-desc{display:block;margin-top:8px;font-size:12px;font-weight:400;line-height:1.7;color:var(--color-text-secondary)}.function-page__toc-cta{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;gap:6px;min-height:44px;padding:0 20px;border:none;border-radius:var(--radius-full);background:var(--plainer-gradient);color:#ffffff;font-size:14px;font-weight:700;line-height:1;pointer-events:none;transition:background var(--transition-fast),transform var(--transition-fast)}.function-page__toc-tag{white-space:nowrap}.function-page__toc-tag:not(:last-child):after{content:"／"}.function-page__band{padding:80px 0;scroll-margin-top:96px}.function-page__band--muted{background:var(--color-bg-muted)}.function-page__cat-head{display:flex;align-items:flex-start;gap:24px;margin-bottom:40px}.function-page__cat-num{flex-shrink:0;font-family:var(--font-display);font-size:clamp(56px,8vw,88px);font-weight:800;line-height:1;letter-spacing:-.04em;color:rgba(67,94,239,.12);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;word-break:normal;overflow-wrap:normal}.function-page__cat-copy{padding-top:8px;min-width:0}.function-page__caption{display:inline-block;margin-bottom:8px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--plainer-primary)}.function-page__title{margin:0;font-size:28px;font-weight:700;line-height:1.6;color:var(--color-text-heading)}.function-page__cat-desc{margin:8px 0 0;max-width:100%;font-size:14px;line-height:1.6;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.function-page__grid{display:grid;gap:24px;align-items:stretch}.function-page__grid,.function-page__grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.function-card{display:flex;flex-direction:column;align-items:stretch;height:100%;min-width:0;overflow:hidden;background:#ffffff;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:0 2px 8px rgba(0,0,0,.06);text-decoration:none;color:inherit;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.function-card:focus-visible,.function-card:hover{border-color:var(--plainer-primary);box-shadow:0 10px 24px rgba(67,94,239,.14);transform:translateY(-3px);outline:none}.function-card:focus-visible .function-card__cta,.function-card:hover .function-card__cta{background:var(--plainer-gradient-hover)}.function-card__visual{position:relative;display:block;overflow:hidden;padding:0;aspect-ratio:16/9;background:var(--color-bg-light-blue)}.function-scene-card .function-card__visual{background:#ffffff}.function-visual{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .35s ease-out}.function-card__visual .function-visual{position:absolute;inset:0}.function-scene-card .function-visual{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.function-card:focus-visible .function-visual,.function-card:hover .function-visual{transform:scale(1.04)}.function-card__body{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;padding:20px 24px 24px}.function-card__title{margin:0;flex-shrink:0;font-size:16px;font-weight:700;line-height:1.6;color:var(--color-text-heading)}.function-card__desc{display:-webkit-box;margin:0;min-height:calc(1.7em * 2);overflow:hidden;font-size:14px;line-height:1.7;color:var(--color-text-secondary);-webkit-box-orient:vertical;-webkit-line-clamp:2}.function-card__cta{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;flex-shrink:0;gap:6px;min-height:40px;margin-top:auto;padding:0 16px;border-radius:var(--radius-full);background:var(--plainer-gradient);color:#ffffff;font-size:13px;font-weight:700;line-height:1;pointer-events:none;transition:background var(--transition-fast)}.function-scene-card__desc{margin:0;font-size:14px;line-height:1.7;color:var(--color-text-secondary)}.function-page__more{display:flex;justify-content:center;margin-top:40px}.function-page__section-head{text-align:center;margin-bottom:40px}.function-detail__about{padding:72px 0;background:linear-gradient(180deg,#eef0ff,#ffffff)}.function-detail__about-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.function-detail__about-copy h2{margin:0 0 20px;max-width:18em;font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.5;color:var(--color-text-heading)}.function-detail__about-body p{margin:0 0 16px;font-size:15px;line-height:1.9;color:var(--color-text-primary)}.function-detail__about-body p:last-child{margin-bottom:0}.function-detail__about .function-page__ctas{justify-content:flex-start;margin-top:28px}.function-detail__about-visual{min-width:0;overflow:hidden;padding:0;background:#ffffff;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:0 12px 40px rgba(19,17,88,.08)}.function-detail__about-visual .function-visual{aspect-ratio:16/9}.function-detail__points{padding:80px 0}.function-detail__point-list{display:flex;flex-direction:column;gap:72px}.function-detail__point{display:flex;align-items:center;gap:48px}.function-detail__point-copy{flex:1;min-width:0}.function-detail__point-num{display:block;font-family:var(--font-display);font-size:clamp(64px,8vw,96px);font-weight:800;line-height:.88;letter-spacing:-.06em;color:rgba(67,94,239,.12);-webkit-user-select:none;-moz-user-select:none;user-select:none}.function-detail__point-copy h3{margin:8px 0 0;font-size:clamp(15px,1.4vw,18px);font-weight:700;line-height:1.5;color:var(--color-text-heading);text-wrap:balance}.function-detail__point-accent{display:block;width:48px;height:3px;margin:16px 0 20px;border-radius:var(--radius-full);background:var(--plainer-gradient)}.function-detail__point-copy p{margin:0;font-size:15px;line-height:1.95;color:var(--color-text-primary)}.function-detail__point-copy .function-detail__point-note{margin-top:12px;font-size:13px;line-height:1.8;color:var(--color-text-secondary)}.function-detail__point-visual{flex:1;min-width:0;overflow:hidden;padding:0;background:var(--color-bg-light-blue);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:0 8px 24px rgba(19,17,88,.06)}.function-detail__point-visual .function-visual{aspect-ratio:16/9}.function-detail__point-visual .function-visual--diagram{aspect-ratio:1640/1000;-o-object-fit:contain;object-fit:contain;background:#ffffff}.function-page__cases{padding:72px 0 48px}.function-page__scenes{padding:72px 0 80px;background:var(--color-bg-light-blue)}.function-page__related{padding:72px 0 48px}@media screen and (max-width:1023px){.function-page .page-kv__hero{padding:56px 0 40px}.function-page__container{padding:0 var(--content-padding-tablet)}.function-detail__about,.function-detail__points,.function-page__band,.function-page__scenes{padding:56px 0}.function-page__cases,.function-page__related{padding:56px 0 40px}.function-page__title{font-size:22px}.function-page__lead{font-size:14px}.function-page__grid,.function-page__grid--three,.function-page__toc-list{grid-template-columns:repeat(2,minmax(0,1fr))}.function-detail__about-inner{grid-template-columns:1fr}.function-page__cat-head{gap:16px}.function-detail__point{flex-direction:column;gap:24px}.function-detail__about-visual,.function-detail__point-visual{width:100%}.function-detail__point-copy h3{white-space:normal}}@media screen and (max-width:767px){.function-page__container{padding:0 var(--content-padding-mobile)}.function-page{overflow-x:clip}.function-page h2,.function-page h3{word-break:keep-all;overflow-wrap:anywhere}.function-page .page-kv__description,.function-page__lead{font-size:13px;line-height:1.8}.function-page__cat-desc{white-space:normal}.function-page__caption,.function-page__toc-num{font-size:11px}.function-page__title{font-size:20px}.function-page__cat-head{gap:12px;margin-bottom:24px}.function-page__cat-num{font-size:36px;line-height:1;letter-spacing:0}.function-page__cat-copy{padding-top:2px}.function-page__toc-list{grid-template-columns:1fr}.function-page__toc-item{min-height:0;padding:20px;gap:14px}.function-page__toc-title{font-size:16px}.function-page__cta{min-height:44px;padding:0 20px;font-size:13px}.function-card__body{padding:16px 20px 20px}.function-card__title{font-size:15px}.function-page__grid,.function-page__grid--three{grid-template-columns:1fr;gap:16px}.function-detail__about-copy h2{font-size:20px;max-width:none}.function-detail__about-body p,.function-detail__point-copy p{font-size:13px}.function-detail__point-copy h3{font-size:16px;white-space:normal}}.function-page .cta-section{min-height:0;padding:40px 16px}@media screen and (min-width:768px){.function-page .cta-section{min-height:0;padding:48px 60px}}@media screen and (min-width:1024px){.function-page .cta-section{min-height:0;padding:56px 120px}}.function-zoom__trigger{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.function-zoom__trigger .function-visual{transition:opacity var(--transition-fast)}.function-zoom__hint{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(19,17,88,.72);color:#ffffff;transition:background var(--transition-fast),transform var(--transition-fast)}.function-zoom__trigger:focus-visible .function-zoom__hint,.function-zoom__trigger:hover .function-zoom__hint{background:var(--plainer-primary);transform:scale(1.08)}.function-zoom__trigger:focus-visible{outline:2px solid var(--plainer-primary);outline-offset:4px}.function-zoom__overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:56px 24px 24px;background:rgba(10,12,40,.78);cursor:zoom-out;animation:function-zoom-fade .2s ease-out}.function-zoom__image{width:auto;height:auto;max-width:min(1400px,100%);max-height:100%;border-radius:12px;background:#ffffff;box-shadow:0 20px 60px rgba(0,0,0,.35);cursor:default}.function-zoom__close{position:fixed;top:14px;right:18px;z-index:1;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#ffffff;font-size:30px;line-height:1;cursor:pointer;transition:background var(--transition-fast)}.function-zoom__close:focus-visible,.function-zoom__close:hover{background:rgba(255,255,255,.3);outline:none}@keyframes function-zoom-fade{0%{opacity:0}to{opacity:1}}@media (max-width:767px){.function-zoom__overlay{justify-content:flex-start;overflow:auto;padding:64px 16px 24px}.function-zoom__image{width:200vw;max-width:none;max-height:none;flex-shrink:0}}.function-detail__point-title{white-space:pre-line}@media (max-width:1023px){.function-detail__point-title{white-space:normal}}