@charset "UTF-8";
/* ==================================================================
   紫福院さんちのサイトビルダー — デザインテーマ（24）
   .sf-site.sf-theme-{id} の中だけに効きます。テーマ未指定のサイトには影響しません。
   各テーマは色だけでなく、カード・ボタン・見出し・ヒーロー構図・
   画像がないときの絵（.sf-art）・区切り・動きまで作り分けています。
   ================================================================== */

/* ---------- 全テーマ共通の仕上げ ---------- */
.sf-theme{-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}
.sf-theme h1,.sf-theme h2{font-family:var(--sf-font-head,var(--sf-font))}
.sf-theme .sf-btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,color .25s}
.sf-theme .sf-btn span[aria-hidden]{display:inline-block;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.sf-theme .sf-btn:hover span[aria-hidden]{transform:translate(3px,-3px)}
.sf-theme .sf-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background .35s}
.sf-theme .sf-art>span{display:none}
.sf-theme .sf-visual>img,.sf-theme .sf-grid figure img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.sf-theme .sf-grid figure:hover img{transform:scale(1.04)}}
.sf-theme .sf-grid figure{overflow:hidden}

/* ==================================================================
   1. ベント（Bento）— Apple 的な大小タイル
   ================================================================== */
.sf-theme-bento{--t-tile:#ffffff;--t-soft:#e8e8ed}
.sf-theme-bento .sf-header-floating .sf-header-inner{background:#ffffffcc;backdrop-filter:blur(18px) saturate(180%);border:0;box-shadow:0 1px 0 #0000000d,0 8px 30px #0000000f}
.sf-theme-bento h1{font-weight:800;letter-spacing:-.01em;font-size:clamp(44px,6.4vw,96px);line-height:1.2}
.sf-theme-bento h2{font-weight:800;letter-spacing:-.01em}
.sf-theme-bento .sf-eyebrow{color:var(--sf-accent);letter-spacing:.06em;font-size:13px;text-transform:none}
.sf-theme-bento .sf-btn{border-radius:99px;background:#1d1d1f;padding:15px 26px}
.sf-theme-bento .sf-btn:hover{transform:scale(1.03);box-shadow:none}
.sf-theme-bento .sf-btn-outline{background:transparent;color:var(--sf-accent)!important;border:0;padding-inline:8px}
.sf-theme-bento .sf-tone-soft,.sf-theme-bento .sf-tone-plain{background:var(--sf-bg)}
.sf-theme-bento .sf-card{background:var(--t-tile);border:0;border-radius:var(--sf-radius);box-shadow:0 2px 6px #0000000a;padding:34px 32px}
.sf-theme-bento .sf-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 22px 50px -20px #00000033}
.sf-theme-bento .sf-number{border:0;padding:0;margin-bottom:26px;font:800 13px/1 var(--sf-font);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--sf-accent) 12%,#fff);color:var(--sf-accent)}
.sf-theme-bento .sf-grid{gap:18px}
.sf-theme-bento .sf-v-bento .sf-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(190px,auto)}
.sf-theme-bento .sf-v-bento .sf-card:first-child{grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,#1d1d1f,#3a3a44);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.sf-theme-bento .sf-v-bento .sf-card:first-child h3{font-size:32px;letter-spacing:-.01em}
.sf-theme-bento .sf-v-bento .sf-card:first-child .sf-number{background:#ffffff1f;color:#fff}
.sf-theme-bento .sf-v-bento .sf-card:nth-child(2){grid-column:span 2;background:color-mix(in srgb,var(--sf-accent) 10%,#fff)}
.sf-theme-bento .sf-hero{padding-bottom:40px}
.sf-theme-bento .sf-hero .sf-lead{font-size:19px;opacity:.7;margin-inline:auto}
.sf-theme-bento .sf-art{aspect-ratio:16/7;background:none;border-radius:0;display:grid;place-items:stretch;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;overflow:visible}
.sf-theme-bento .sf-art i{position:static;transform:none;width:auto;height:auto;border:0;border-radius:var(--sf-radius);box-shadow:0 2px 6px #0000000a}
.sf-theme-bento .sf-art i:nth-child(1){grid-row:span 2;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--sf-accent) 55%,#fff),transparent 55%),linear-gradient(135deg,var(--sf-accent),var(--sf-accent2))}
.sf-theme-bento .sf-art i:nth-child(2){background:#fff;background-image:radial-gradient(circle at 50% 50%,#1d1d1f 0 18%,transparent 19%)}
.sf-theme-bento .sf-art i:nth-child(3){grid-column:span 2;background:linear-gradient(90deg,#fff 0 60%,color-mix(in srgb,var(--sf-accent2) 25%,#fff) 60%)}
.sf-theme-bento .sf-art::after{content:"";grid-column:3;grid-row:1;border-radius:var(--sf-radius);background:#1d1d1f}
.sf-theme-bento .sf-mosaic-grid{gap:18px;grid-auto-rows:170px}
.sf-theme-bento .sf-tile{background:#fff;border-radius:var(--sf-radius);box-shadow:0 2px 6px #0000000a}
.sf-theme-bento .sf-tile:not(:has(img)) .sf-tile-body{color:var(--sf-ink)}
.sf-theme-bento .sf-tile-art{background:#fff!important;color:var(--sf-ink)}
.sf-theme-bento .sf-tile-art .sf-tile-body{color:var(--sf-ink)!important}
.sf-theme-bento .sf-tile-art::before{background:none}
.sf-theme-bento .sf-tile-1.sf-tile-art{background:linear-gradient(150deg,var(--sf-accent),var(--sf-accent2))!important}
.sf-theme-bento .sf-tile-1.sf-tile-art .sf-tile-body{color:#fff!important}
.sf-theme-bento .sf-tile-1 h3{font-size:34px;letter-spacing:-.01em}
.sf-theme-bento .sf-tile-4.sf-tile-art{background:#1d1d1f!important}.sf-theme-bento .sf-tile-4.sf-tile-art .sf-tile-body{color:#fff!important}
.sf-theme-bento .sf-stat{background:#fff;border-radius:var(--sf-radius);padding:36px 20px}
.sf-theme-bento .sf-stat strong{font-size:clamp(40px,4.5vw,64px);opacity:1;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-bento .sf-logos .sf-stat{background:none;padding:10px}
.sf-theme-bento .sf-logos .sf-stat strong{font-size:16px;background:none;color:var(--sf-ink);opacity:.35;letter-spacing:.12em}
.sf-theme-bento .sf-faq-item{background:#fff;border:0;border-radius:18px;padding:22px 26px;margin-bottom:10px}
.sf-theme-bento .sf-form input:not([type=checkbox]),.sf-theme-bento .sf-form textarea{background:#fff;border:0;border-radius:14px;box-shadow:inset 0 0 0 1px #0000001a}
.sf-theme-bento .sf-contact .sf-wrap{background:#fff;border-radius:36px;padding:clamp(28px,5vw,64px)}
.sf-theme-bento .sf-footer{background:var(--sf-bg);border-top:1px solid #0000000f}

/* ==================================================================
   2. リキッドグラス — オーロラの上の、光を屈折するガラス
   ================================================================== */
.sf-theme-liquid{--t-glass:linear-gradient(135deg,#ffffff24,#ffffff08 45%,#ffffff12);--t-edge:#ffffff38;
 background:radial-gradient(60% 50% at 15% 10%,color-mix(in srgb,var(--sf-accent) 45%,transparent),transparent 70%),radial-gradient(50% 45% at 90% 30%,color-mix(in srgb,var(--sf-accent2) 35%,transparent),transparent 70%),radial-gradient(70% 60% at 50% 100%,#3b1d6e80,transparent 70%),var(--sf-bg);background-attachment:fixed}
.sf-theme-liquid .sf-section,.sf-theme-liquid .sf-tone-plain,.sf-theme-liquid .sf-tone-soft,.sf-theme-liquid .sf-header,.sf-theme-liquid .sf-footer{background:transparent}
.sf-theme-liquid .sf-header-floating .sf-header-inner{background:var(--t-glass);border:1px solid var(--t-edge);backdrop-filter:blur(22px) saturate(170%);box-shadow:inset 0 1px 0 #ffffff55,inset 0 -1px 0 #00000026,0 18px 40px -18px #000000a0}
.sf-theme-liquid h1{font-weight:600;letter-spacing:-.01em;font-size:clamp(46px,7vw,110px);line-height:1.2;background:linear-gradient(180deg,#fff 30%,#ffffffa0);-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-liquid h2{font-weight:600;letter-spacing:-.01em}
.sf-theme-liquid .sf-eyebrow{color:color-mix(in srgb,var(--sf-accent2) 80%,#fff);letter-spacing:.3em}
.sf-theme-liquid .sf-btn{border-radius:99px;background:var(--t-glass);border:1px solid var(--t-edge);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 #ffffff66,inset 0 -8px 16px #ffffff0d,0 10px 30px -10px #000000b0;color:#fff!important}
.sf-theme-liquid .sf-btn:not(.sf-btn-outline){background:linear-gradient(135deg,color-mix(in srgb,var(--sf-accent) 70%,#fff 10%),color-mix(in srgb,var(--sf-accent2) 60%,#000 10%));border-color:#ffffff55}
.sf-theme-liquid .sf-btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff80,0 16px 40px -12px color-mix(in srgb,var(--sf-accent) 60%,transparent)}
.sf-theme-liquid .sf-card,.sf-theme-liquid .sf-faq-item,.sf-theme-liquid .sf-stat,.sf-theme-liquid div.sf-map{position:relative;background:var(--t-glass);border:1px solid var(--t-edge);border-radius:var(--sf-radius);backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #00000033,0 24px 60px -30px #000000c0;overflow:hidden}
.sf-theme-liquid .sf-card::before{content:"";position:absolute;inset:-40% -10% auto;height:80%;background:radial-gradient(closest-side,#ffffff26,transparent);transform:rotate(-12deg);pointer-events:none}
.sf-theme-liquid .sf-card:hover{transform:translateY(-6px);border-color:#ffffff66}
.sf-theme-liquid .sf-faq-item{padding:20px 26px;margin-bottom:12px}
.sf-theme-liquid .sf-number{color:#fff;border-color:#ffffff55}
.sf-theme-liquid .sf-videohero h1{font-size:clamp(52px,8.5vw,140px)}
.sf-theme-liquid .sf-bg-overlay{background:radial-gradient(60% 60% at 50% 40%,transparent,#0a0c18d0),linear-gradient(180deg,#0a0c1880,#0a0c18)}
.sf-theme-liquid .sf-videohero .sf-bgmedia:not(:has(video,iframe,img))::before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 200deg at 50% 50%,var(--sf-accent),var(--sf-accent2),#b56cff,var(--sf-accent));filter:blur(90px);opacity:.55;animation:t-spin 24s linear infinite}
@keyframes t-spin{to{transform:rotate(1turn)}}
.sf-theme-liquid .sf-art{background:none;aspect-ratio:1/1;isolation:isolate}
.sf-theme-liquid .sf-art i{border:1px solid #ffffff55;background:linear-gradient(135deg,#ffffff38,#ffffff08);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 #ffffff80,0 30px 60px -20px #000000b0;border-radius:50%}
.sf-theme-liquid .sf-art::before{content:"";position:absolute;inset:18%;border-radius:50%;background:conic-gradient(var(--sf-accent),var(--sf-accent2),#b56cff,var(--sf-accent));filter:blur(30px);z-index:-1}
.sf-theme-liquid .sf-form input:not([type=checkbox]),.sf-theme-liquid .sf-form textarea{background:#ffffff0f;border:1px solid #ffffff2e;color:#fff;border-radius:14px}
.sf-theme-liquid .sf-contact .sf-wrap{background:var(--t-glass);border:1px solid var(--t-edge);border-radius:36px;padding:clamp(28px,5vw,64px);backdrop-filter:blur(18px)}
.sf-theme-liquid .sf-footer{border-top:1px solid #ffffff1a}
@media (prefers-reduced-transparency:reduce){.sf-theme-liquid .sf-card,.sf-theme-liquid .sf-btn{backdrop-filter:none;background:#1b1e33}}

/* ==================================================================
   3. オーロラ — ゆらめくグラデーションとグラデーション文字
   ================================================================== */
.sf-theme-aurora{position:relative}
.sf-theme-aurora::before{content:"";position:fixed;inset:-10%;z-index:0;pointer-events:none;background:radial-gradient(40% 35% at 20% 15%,color-mix(in srgb,var(--sf-accent) 30%,transparent),transparent 70%),radial-gradient(35% 30% at 85% 10%,color-mix(in srgb,var(--sf-accent2) 30%,transparent),transparent 70%),radial-gradient(40% 40% at 60% 90%,#5ee6ff26,transparent 70%);filter:blur(10px);animation:t-drift 22s ease-in-out infinite alternate}
@keyframes t-drift{to{transform:translate3d(-4%,3%,0) scale(1.08)}}
.sf-theme-aurora>*:not(.sf-skip):not(.sf-header){position:relative;z-index:1}
.sf-theme-aurora .sf-tone-plain,.sf-theme-aurora .sf-tone-soft,.sf-theme-aurora .sf-header,.sf-theme-aurora .sf-footer{background:transparent}
.sf-theme-aurora .sf-header-floating .sf-header-inner{background:#ffffffb3;backdrop-filter:blur(16px);border-color:#ffffffcc;box-shadow:0 10px 30px -18px #3b2a8a40}
.sf-theme-aurora h1,.sf-theme-aurora h2{background:linear-gradient(100deg,var(--sf-ink) 20%,var(--sf-accent) 55%,var(--sf-accent2) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;letter-spacing:-.01em}
.sf-theme-aurora h1{font-size:clamp(46px,7vw,112px);line-height:1.2}
.sf-theme-aurora .sf-hero .sf-lead{font-size:19px;margin-inline:auto}
.sf-theme-aurora .sf-eyebrow{display:inline-block;padding:7px 14px;border-radius:99px;background:#ffffffb3;border:1px solid color-mix(in srgb,var(--sf-accent) 25%,transparent);color:var(--sf-accent);letter-spacing:.14em}
.sf-theme-aurora .sf-btn{border-radius:99px;background:linear-gradient(100deg,var(--sf-accent),var(--sf-accent2));box-shadow:0 12px 30px -12px color-mix(in srgb,var(--sf-accent) 70%,transparent)}
.sf-theme-aurora .sf-btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--sf-accent2) 70%,transparent)}
.sf-theme-aurora .sf-btn-outline{background:#ffffffb3;color:var(--sf-ink)!important;border-color:#fff;box-shadow:none}
.sf-theme-aurora .sf-card{background:#ffffffa6;border:1px solid #ffffff;backdrop-filter:blur(12px);border-radius:var(--sf-radius);box-shadow:0 20px 50px -30px #3b2a8a59}
.sf-theme-aurora .sf-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -28px #3b2a8a80}
.sf-theme-aurora .sf-number{border:0;padding:0;font-weight:700;font-size:28px;background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:20px}
.sf-theme-aurora .sf-art{aspect-ratio:16/8;background:#ffffff80;border:1px solid #fff;overflow:hidden}
.sf-theme-aurora .sf-art i{border:0;filter:blur(36px);background:var(--sf-accent);opacity:.8;border-radius:50%}
.sf-theme-aurora .sf-art i:nth-child(2){background:var(--sf-accent2)}.sf-theme-aurora .sf-art i:nth-child(3){background:#5ee6ff;width:40%;height:60%}
.sf-theme-aurora .sf-tone-gradient{background:linear-gradient(120deg,var(--sf-accent),var(--sf-accent2));border-radius:40px;margin-inline:clamp(12px,3vw,40px)}
.sf-theme-aurora .sf-tone-gradient h2{background:none;color:#fff;-webkit-text-fill-color:#fff}
.sf-theme-aurora .sf-faq-item{background:#ffffffa6;border:1px solid #fff;border-radius:18px;padding:20px 24px;margin-bottom:10px}
.sf-theme-aurora .sf-form input:not([type=checkbox]),.sf-theme-aurora .sf-form textarea{background:#ffffffcc;border-color:#fff;border-radius:14px}

/* ==================================================================
   4. キネティック — 画面いっぱいの極太タイポ
   ================================================================== */
.sf-theme-kinetic{--t-acid:var(--sf-accent2)}
.sf-theme-kinetic .sf-header{border-bottom:2px solid var(--sf-ink)}
.sf-theme-kinetic .sf-brand{font-family:var(--sf-font-head);font-size:26px;letter-spacing:0;text-transform:uppercase}
.sf-theme-kinetic .sf-header nav a:not(.sf-btn){text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:1}
.sf-theme-kinetic h1{font-size:clamp(64px,13.5vw,240px);line-height:1.2;letter-spacing:-.01em;font-weight:400;text-transform:uppercase;margin-bottom:34px}
.sf-theme-kinetic h2{font-size:clamp(40px,7vw,112px);line-height:1.2;letter-spacing:-.01em;font-weight:400;text-transform:uppercase}
.sf-theme-kinetic .sf-hero .sf-split-grid{display:block}
.sf-theme-kinetic .sf-hero .sf-copy{display:grid;grid-template-columns:1fr minmax(0,420px);column-gap:60px;align-items:end}
.sf-theme-kinetic .sf-hero h1,.sf-theme-kinetic .sf-hero .sf-eyebrow{grid-column:1/-1}
.sf-theme-kinetic .sf-hero .sf-lead{grid-column:2;font-size:18px;opacity:.85}
.sf-theme-kinetic .sf-hero .sf-actions{grid-column:1;grid-row:3;margin:0 0 34px}
.sf-theme-kinetic .sf-hero .sf-visual{margin-top:40px}
.sf-theme-kinetic .sf-eyebrow{color:var(--sf-ink);background:var(--t-acid);display:inline-block;padding:6px 10px;letter-spacing:.16em}
.sf-theme-kinetic .sf-btn{border-radius:0;background:var(--sf-ink);padding:20px 30px;font-size:15px;text-transform:uppercase;letter-spacing:.06em}
.sf-theme-kinetic .sf-btn:hover{background:var(--t-acid);color:var(--sf-ink)!important;transform:none}
.sf-theme-kinetic .sf-btn-outline{background:transparent;color:var(--sf-ink)!important;border:2px solid var(--sf-ink)}
.sf-theme-kinetic .sf-art{aspect-ratio:21/8;border-radius:0;background:var(--sf-ink)}
.sf-theme-kinetic .sf-art i{border:0;box-shadow:none;border-radius:50%;background:var(--t-acid)}
.sf-theme-kinetic .sf-art i:nth-child(1){width:34%;height:auto;aspect-ratio:1;left:8%;top:14%;transform:none}
.sf-theme-kinetic .sf-art i:nth-child(2){width:18%;height:auto;aspect-ratio:1;left:58%;top:44%;background:transparent;border:3px solid var(--t-acid);transform:none}
.sf-theme-kinetic .sf-art i:nth-child(3){display:none}
.sf-theme-kinetic .sf-marquee{background:var(--t-acid);color:var(--sf-ink);border-block:2px solid var(--sf-ink)}
.sf-theme-kinetic .sf-marquee i{font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase;font-size:clamp(40px,8vw,130px)}
.sf-theme-kinetic .sf-marquee-section,.sf-theme-kinetic .sf-marquee{padding-block:6px}
.sf-theme-kinetic .sf-section.sf-marquee{padding:0}
.sf-theme-kinetic .sf-v-list .sf-card{border-bottom:2px solid var(--sf-ink);padding:40px 0;grid-template-columns:120px 1fr 1.2fr}
.sf-theme-kinetic .sf-v-list .sf-card .sf-number{border:0;font:400 64px/1 var(--sf-font-head);margin:0;color:var(--sf-ink)}
.sf-theme-kinetic .sf-v-list .sf-card h3{font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.4vw,52px)}
@media (hover:hover){.sf-theme-kinetic .sf-v-list .sf-card:hover{background:var(--t-acid);padding-inline:20px}}
.sf-theme-kinetic .sf-bigquote p{font-family:var(--sf-font-head);text-transform:uppercase;font-size:clamp(36px,6vw,96px);line-height:1;letter-spacing:-.01em}
.sf-theme-kinetic .sf-bigquote p::before,.sf-theme-kinetic .sf-bigquote p::after{content:none}
.sf-theme-kinetic .sf-tile{border-radius:0;border:2px solid var(--sf-ink);background:var(--sf-bg)}
.sf-theme-kinetic .sf-tile-art{background:var(--sf-bg)!important;color:var(--sf-ink)}
.sf-theme-kinetic .sf-tile-art .sf-tile-body{color:var(--sf-ink)!important}
.sf-theme-kinetic .sf-tile-art::before{background:none}
.sf-theme-kinetic .sf-tile:hover{background:var(--t-acid)!important}
.sf-theme-kinetic .sf-tile h3{font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase;font-size:28px}
.sf-theme-kinetic .sf-tone-ink{background:var(--sf-ink)}
.sf-theme-kinetic .sf-tone-ink .sf-btn{background:var(--t-acid);color:var(--sf-ink)!important}
.sf-theme-kinetic .sf-tone-ink .sf-eyebrow{color:var(--sf-ink)}
.sf-theme-kinetic .sf-form input:not([type=checkbox]),.sf-theme-kinetic .sf-form textarea{border-radius:0;border:0;border-bottom:2px solid currentColor;background:transparent;color:inherit;padding-inline:0}
@supports (animation-timeline:view()){
 .sf-theme-kinetic:not(.sf-no-motion) .sf-hero h1{animation:t-kin-grow linear both;animation-timeline:view();animation-range:exit 0% exit 90%}
 @keyframes t-kin-grow{to{letter-spacing:.06em;opacity:.15}}
}

/* ==================================================================
   5. ネオブルータル — 太い線、ずらした影、ビビッド
   ================================================================== */
.sf-theme-brutal{--t-line:3px solid var(--sf-ink);--t-shadow:6px 6px 0 var(--sf-ink);--t-y:#ffe14d;--t-p:#ff5ca8;--t-c:#5ee6ff;--t-g:#9bf05a}
.sf-theme-brutal .sf-header{border-bottom:var(--t-line);background:var(--t-y)}
.sf-theme-brutal .sf-brand{font-family:var(--sf-font-head);text-transform:uppercase;font-size:24px;letter-spacing:.02em}
.sf-theme-brutal h1{font-weight:400;text-transform:uppercase;font-size:clamp(52px,8vw,128px);line-height:1.2;letter-spacing:-.01em}
.sf-theme-brutal h2{font-weight:400;text-transform:uppercase;font-size:clamp(34px,5vw,72px);line-height:1.2}
.sf-theme-brutal h1 br+*,.sf-theme-brutal h1{text-shadow:none}
.sf-theme-brutal .sf-eyebrow{display:inline-block;background:var(--sf-ink);color:#fff;padding:6px 12px;letter-spacing:.12em;transform:rotate(-2deg)}
.sf-theme-brutal .sf-btn{border:var(--t-line);border-radius:var(--sf-radius);background:var(--t-p);color:var(--sf-ink)!important;box-shadow:var(--t-shadow);font-weight:800}
.sf-theme-brutal .sf-btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--sf-ink)}
.sf-theme-brutal .sf-btn:active{transform:translate(6px,6px);box-shadow:none}
.sf-theme-brutal .sf-btn-outline{background:#fff}
.sf-theme-brutal .sf-card,.sf-theme-brutal .sf-faq-item,.sf-theme-brutal div.sf-map,.sf-theme-brutal .sf-video-launch{border:var(--t-line);border-radius:var(--sf-radius);box-shadow:var(--t-shadow);background:#fff}
.sf-theme-brutal .sf-card:nth-child(4n+1){background:var(--t-y)}.sf-theme-brutal .sf-card:nth-child(4n+2){background:var(--t-c)}.sf-theme-brutal .sf-card:nth-child(4n+3){background:var(--t-g)}.sf-theme-brutal .sf-card:nth-child(4n+4){background:var(--t-p)}
.sf-theme-brutal .sf-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--sf-ink)}
.sf-theme-brutal .sf-number{border:var(--t-line);border-radius:99px;padding:6px 12px;background:#fff;color:var(--sf-ink);font-weight:800;margin-bottom:22px}
.sf-theme-brutal .sf-faq-item{padding:18px 22px;margin-bottom:14px}
.sf-theme-brutal .sf-art{border:var(--t-line);box-shadow:var(--t-shadow);background:var(--t-c);border-radius:var(--sf-radius);overflow:hidden}
.sf-theme-brutal .sf-art i{border:var(--t-line);box-shadow:none;border-radius:50%;background:var(--t-y)}
.sf-theme-brutal .sf-art i:nth-child(1){width:60%;height:auto;aspect-ratio:1;left:-8%;top:auto;bottom:-12%;transform:none;background:var(--t-p)}
.sf-theme-brutal .sf-art i:nth-child(2){width:40%;height:auto;aspect-ratio:1;left:52%;top:8%;transform:none;border-radius:var(--sf-radius);rotate:12deg}
.sf-theme-brutal .sf-art i:nth-child(3){width:22%;height:auto;aspect-ratio:1;left:66%;top:62%;background:var(--t-g)}
.sf-theme-brutal .sf-art>span{display:block;left:auto;right:6%;bottom:6%;background:#fff;color:var(--sf-ink);border:var(--t-line);padding:6px 10px;font-weight:800;letter-spacing:.1em}
.sf-theme-brutal .sf-marquee{background:var(--sf-ink);color:var(--t-y);border-block:var(--t-line)}
.sf-theme-brutal .sf-section.sf-marquee{padding:14px 0}
.sf-theme-brutal .sf-marquee i{font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase}
.sf-theme-brutal .sf-tone-accent{background:var(--t-y);color:var(--sf-ink);border-top:var(--t-line)}
.sf-theme-brutal .sf-tone-accent .sf-btn{background:var(--t-p);color:var(--sf-ink)!important}
.sf-theme-brutal .sf-tone-accent .sf-eyebrow{opacity:1;color:#fff}
.sf-theme-brutal .sf-form input:not([type=checkbox]),.sf-theme-brutal .sf-form textarea{border:var(--t-line);border-radius:10px;background:#fff;box-shadow:4px 4px 0 var(--sf-ink)}
.sf-theme-brutal .sf-footer{background:var(--sf-ink);color:#fff;border-top:var(--t-line)}
.sf-theme-brutal .sf-pricing .sf-meta{font-family:var(--sf-font-head);font-size:34px!important}

/* ==================================================================
   6. レトロフューチャー — ネオンと地平線のグリッド
   ================================================================== */
.sf-theme-retro{--t-mag:var(--sf-accent);--t-cy:var(--sf-accent2)}
.sf-theme-retro .sf-header{background:#0d0a1fcc;backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb,var(--t-mag) 50%,transparent)}
.sf-theme-retro .sf-brand{font-family:var(--sf-font-head);text-transform:uppercase;letter-spacing:.12em;color:var(--t-cy);text-shadow:0 0 12px var(--t-cy)}
.sf-theme-retro h1,.sf-theme-retro h2{font-weight:400;text-transform:uppercase;background:linear-gradient(180deg,#fff 0%,#ffd6fb 40%,var(--t-mag) 55%,#6b1e8f 56%,var(--t-cy) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--t-mag) 55%,transparent))}
.sf-theme-retro h1{font-size:clamp(52px,9vw,150px);line-height:1.2;letter-spacing:.01em}
.sf-theme-retro h2{letter-spacing:.02em}
.sf-theme-retro h3{color:var(--t-cy);letter-spacing:.04em}
.sf-theme-retro .sf-eyebrow{color:var(--t-cy);letter-spacing:.4em;text-shadow:0 0 10px var(--t-cy)}
.sf-theme-retro .sf-hero{overflow:hidden;background:linear-gradient(180deg,#0d0a1f 0%,#2a0f4d 55%,#ff3df233 70%,#0d0a1f 71%)}
.sf-theme-retro .sf-hero::after{content:"";position:absolute;left:-50%;right:-50%;bottom:0;height:42%;background-image:linear-gradient(var(--t-mag) 2px,transparent 2px),linear-gradient(90deg,var(--t-mag) 2px,transparent 2px);background-size:80px 40px;transform:perspective(420px) rotateX(62deg);transform-origin:bottom;opacity:.55;mask-image:linear-gradient(transparent,#000 60%);z-index:-1;animation:t-grid 1.6s linear infinite}
@keyframes t-grid{to{background-position:0 40px}}
.sf-theme-retro .sf-hero .sf-visual{display:none}
.sf-theme-retro .sf-hero::before{content:"";position:absolute;left:50%;top:18%;width:min(440px,60vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:linear-gradient(180deg,#ffd35c,var(--t-mag) 70%);-webkit-mask:repeating-linear-gradient(180deg,#000 0 14px,transparent 14px 20px) bottom/100% 45% no-repeat,linear-gradient(#000,#000) top/100% 56% no-repeat;mask:repeating-linear-gradient(180deg,#000 0 14px,transparent 14px 20px) bottom/100% 45% no-repeat,linear-gradient(#000,#000) top/100% 56% no-repeat;z-index:-1;opacity:.9;filter:drop-shadow(0 0 40px var(--t-mag))}
.sf-theme-retro .sf-btn{border-radius:4px;background:transparent;border:2px solid var(--t-mag);color:#fff!important;box-shadow:0 0 16px color-mix(in srgb,var(--t-mag) 60%,transparent),inset 0 0 12px color-mix(in srgb,var(--t-mag) 40%,transparent);text-transform:uppercase;letter-spacing:.12em}
.sf-theme-retro .sf-btn:hover{background:var(--t-mag);box-shadow:0 0 30px var(--t-mag)}
.sf-theme-retro .sf-btn-outline{border-color:var(--t-cy);box-shadow:0 0 16px color-mix(in srgb,var(--t-cy) 50%,transparent)}
.sf-theme-retro .sf-card,.sf-theme-retro .sf-faq-item,.sf-theme-retro .sf-stat{background:#15102e;border:1px solid color-mix(in srgb,var(--t-cy) 45%,transparent);border-radius:var(--sf-radius);box-shadow:0 0 0 1px #0d0a1f,0 0 24px color-mix(in srgb,var(--t-cy) 15%,transparent)}
.sf-theme-retro .sf-card:hover{border-color:var(--t-mag);box-shadow:0 0 30px color-mix(in srgb,var(--t-mag) 40%,transparent);transform:translateY(-4px)}
.sf-theme-retro .sf-number{color:var(--t-mag);border-color:var(--t-mag);text-shadow:0 0 8px var(--t-mag)}
.sf-theme-retro .sf-stat strong{font-family:var(--sf-font-head);font-size:52px;opacity:1;color:var(--t-cy);text-shadow:0 0 16px var(--t-cy)}
.sf-theme-retro .sf-faq-item{padding:18px 22px;margin-bottom:10px}
.sf-theme-retro .sf-marquee{border-block:1px solid var(--t-mag);background:#15102e}
.sf-theme-retro .sf-marquee i{color:transparent;-webkit-text-stroke:1.5px var(--t-cy);font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase}
.sf-theme-retro .sf-video-card .sf-video-launch{background:repeating-linear-gradient(0deg,#ffffff08 0 2px,transparent 2px 4px),linear-gradient(135deg,#2a0f4d,#0d0a1f);border:1px solid var(--t-cy)}
.sf-theme-retro .sf-site::after,.sf-theme-retro.sf-grain::after{background:repeating-linear-gradient(0deg,#0000 0 2px,#00000055 2px 3px);opacity:.25}
.sf-theme-retro .sf-form input:not([type=checkbox]),.sf-theme-retro .sf-form textarea{background:#15102e;border:1px solid var(--t-cy);color:#fff;border-radius:4px}
.sf-theme-retro .sf-footer{background:#08061a;border-top:1px solid var(--t-mag)}

/* ==================================================================
   7. ドーパミン — ビビッドな色面を重ねる
   ================================================================== */
.sf-theme-dopamine{--t-1:#ff5fa2;--t-2:#ff9f1c;--t-3:#2ec4b6;--t-4:#7b5cff;--t-5:#ffd23f}
.sf-theme-dopamine .sf-header-floating .sf-header-inner{background:#fff;border:0;box-shadow:0 10px 0 -4px var(--t-1)}
.sf-theme-dopamine h1{font-weight:800;font-size:clamp(46px,7vw,108px);line-height:1.2;letter-spacing:-.01em}
.sf-theme-dopamine h2{font-weight:800;letter-spacing:-.01em}
.sf-theme-dopamine .sf-eyebrow{display:inline-block;background:var(--t-5);color:var(--sf-ink);padding:8px 16px;border-radius:99px;transform:rotate(-3deg);letter-spacing:.08em;box-shadow:0 4px 0 var(--sf-ink)}
.sf-theme-dopamine .sf-hero h1{text-shadow:4px 4px 0 var(--t-5)}
.sf-theme-dopamine .sf-btn{border-radius:99px;background:var(--t-4);box-shadow:0 6px 0 color-mix(in srgb,var(--t-4) 60%,#000);font-weight:800}
.sf-theme-dopamine .sf-btn:hover{transform:translateY(3px);box-shadow:0 3px 0 color-mix(in srgb,var(--t-4) 60%,#000)}
.sf-theme-dopamine .sf-btn-outline{background:#fff;color:var(--sf-ink)!important;border:2px solid var(--sf-ink);box-shadow:0 6px 0 var(--sf-ink)}
.sf-theme-dopamine main>.sf-section:nth-of-type(4n+2){background:var(--t-1);color:#fff}
.sf-theme-dopamine main>.sf-section:nth-of-type(4n+3){background:var(--t-3);color:#08302c}
.sf-theme-dopamine main>.sf-section:nth-of-type(4n+4){background:var(--t-2);color:#2a1500}
.sf-theme-dopamine main>.sf-section:nth-of-type(4n+2) .sf-eyebrow,.sf-theme-dopamine main>.sf-section:nth-of-type(4n+4) .sf-eyebrow{background:#fff}
.sf-theme-dopamine .sf-card{background:#fff;color:var(--sf-ink);border:0;border-radius:var(--sf-radius);box-shadow:0 12px 0 -2px color-mix(in srgb,var(--sf-ink) 85%,transparent)}
.sf-theme-dopamine .sf-card:nth-child(3n+1){rotate:-1.2deg}.sf-theme-dopamine .sf-card:nth-child(3n+3){rotate:1.2deg}
.sf-theme-dopamine .sf-card:hover{rotate:0deg;transform:translateY(-6px) scale(1.02)}
.sf-theme-dopamine .sf-number{border:0;padding:0;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--t-5);color:var(--sf-ink);font-weight:800;font-size:18px;margin-bottom:22px}
.sf-theme-dopamine .sf-art{background:var(--t-4);border-radius:48% 52% 44% 56%/52% 44% 56% 48%;overflow:hidden}
.sf-theme-dopamine .sf-art i{border:0;box-shadow:none;border-radius:50%}
.sf-theme-dopamine .sf-art i:nth-child(1){background:var(--t-1);width:70%;height:auto;aspect-ratio:1;left:-10%;top:40%;transform:none}
.sf-theme-dopamine .sf-art i:nth-child(2){background:var(--t-5);width:44%;height:auto;aspect-ratio:1;left:50%;top:8%;transform:none}
.sf-theme-dopamine .sf-art i:nth-child(3){background:var(--t-3);width:30%;height:30%;left:58%;top:62%;border-radius:30%}
.sf-theme-dopamine .sf-tile{border-radius:var(--sf-radius)}
.sf-theme-dopamine .sf-tile-art:nth-child(4n+1){background:var(--t-4)!important}.sf-theme-dopamine .sf-tile-art:nth-child(4n+2){background:var(--t-5)!important;color:var(--sf-ink)}.sf-theme-dopamine .sf-tile-art:nth-child(4n+3){background:var(--t-3)!important}.sf-theme-dopamine .sf-tile-art:nth-child(4n+4){background:var(--t-1)!important}
.sf-theme-dopamine .sf-tile-art:nth-child(4n+2) .sf-tile-body{color:var(--sf-ink)!important}
.sf-theme-dopamine .sf-tone-accent{background:var(--t-4)!important;color:#fff}
.sf-theme-dopamine .sf-faq-item{background:#fff;border:0;border-radius:20px;padding:18px 24px;margin-bottom:10px;color:var(--sf-ink)}
.sf-theme-dopamine .sf-form input:not([type=checkbox]),.sf-theme-dopamine .sf-form textarea{border:2px solid var(--sf-ink);border-radius:18px;background:#fff}
.sf-theme-dopamine .sf-footer{background:var(--sf-ink);color:#fff}

/* ==================================================================
   8. ダークプロダクト — 黒地、細線、スポットライト
   ================================================================== */
.sf-theme-dark{--t-line:#ffffff14}
.sf-theme-dark .sf-hero{background:radial-gradient(50% 60% at 50% 0%,color-mix(in srgb,var(--sf-accent) 35%,transparent),transparent 70%),var(--sf-bg)}
.sf-theme-dark .sf-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--t-line) 1px,transparent 1px),linear-gradient(90deg,var(--t-line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(60% 60% at 50% 30%,#000,transparent);z-index:-1}
.sf-theme-dark .sf-header-floating .sf-header-inner{background:#0c0d11cc;border-color:var(--t-line);backdrop-filter:blur(14px)}
.sf-theme-dark h1,.sf-theme-dark h2{font-weight:600;letter-spacing:-.01em;background:linear-gradient(180deg,#fff,#ffffff99);-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-dark h1{font-size:clamp(46px,7vw,104px);line-height:1.2}
.sf-theme-dark .sf-hero .sf-lead{font-size:19px;margin-inline:auto;opacity:.6}
.sf-theme-dark .sf-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--t-line);padding:6px 14px;border-radius:99px;color:#e8e9ee;background:#ffffff08;letter-spacing:.06em;text-transform:none;font-weight:500}
.sf-theme-dark .sf-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sf-accent2);box-shadow:0 0 10px var(--sf-accent2)}
.sf-theme-dark .sf-btn{background:#fff;color:#08090c!important;border-radius:10px;font-weight:600}
.sf-theme-dark .sf-btn:hover{box-shadow:0 0 0 4px #ffffff26;transform:none}
.sf-theme-dark .sf-btn-outline{background:#ffffff08;color:#fff!important;border:1px solid var(--t-line)}
.sf-theme-dark .sf-card,.sf-theme-dark .sf-faq-item,.sf-theme-dark .sf-stat{--mx:50%;--my:0%;position:relative;background:radial-gradient(400px circle at var(--mx) var(--my),#ffffff10,transparent 40%),#0e1015;border:1px solid var(--t-line);border-radius:var(--sf-radius)}
.sf-theme-dark .sf-card::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(300px circle at var(--mx) var(--my),var(--sf-accent),transparent 45%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.sf-theme-dark .sf-card:hover::after{opacity:1}
.sf-theme-dark .sf-number{border:0;padding:0;color:var(--sf-accent2);font-family:var(--sf-font-head);margin-bottom:22px}
.sf-theme-dark .sf-v-bento .sf-grid{grid-template-columns:repeat(3,1fr)}
.sf-theme-dark .sf-v-bento .sf-card:first-child{grid-column:span 2;min-height:260px;background:radial-gradient(400px circle at var(--mx) var(--my),#ffffff10,transparent 40%),linear-gradient(135deg,color-mix(in srgb,var(--sf-accent) 22%,#0e1015),#0e1015 60%)}
.sf-theme-dark .sf-art{aspect-ratio:16/8;background:#0e1015;border:1px solid var(--t-line);border-radius:var(--sf-radius);overflow:hidden}
.sf-theme-dark .sf-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--t-line) 1px,transparent 1px),linear-gradient(90deg,var(--t-line) 1px,transparent 1px);background-size:32px 32px}
.sf-theme-dark .sf-art i{border:1px solid var(--t-line);background:#15171e;box-shadow:0 20px 40px #0008;border-radius:12px}
.sf-theme-dark .sf-art i:nth-child(1){width:56%;height:60%;left:8%;top:20%;transform:none}
.sf-theme-dark .sf-art i:nth-child(2){width:36%;height:44%;left:56%;top:12%;transform:none;background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));border:0}
.sf-theme-dark .sf-art i:nth-child(3){width:30%;height:26%;left:60%;top:62%;transform:none;border-radius:12px}
.sf-theme-dark .sf-stat strong{font-size:48px;opacity:1;font-weight:600;letter-spacing:-.04em;color:#fff}
.sf-theme-dark .sf-logos .sf-stat{background:none;border:0}
.sf-theme-dark .sf-logos .sf-stat strong{font-size:15px;opacity:.35;letter-spacing:.14em}
.sf-theme-dark .sf-faq-item{padding:18px 22px;margin-bottom:8px}
.sf-theme-dark .sf-form input:not([type=checkbox]),.sf-theme-dark .sf-form textarea{background:#0e1015;border:1px solid var(--t-line);color:#fff;border-radius:10px}
.sf-theme-dark .sf-tone-plain,.sf-theme-dark .sf-tone-soft{background:var(--sf-bg)}
.sf-theme-dark .sf-section+.sf-section{border-top:1px solid #ffffff0a}
.sf-theme-dark .sf-footer{background:#050608;border-top:1px solid var(--t-line)}

/* ==================================================================
   9. コラージュ — 紙、写真、マスキングテープ
   ================================================================== */
.sf-theme-collage .sf-header{background:transparent;border-bottom:1px dashed #2b252055}
.sf-theme-collage .sf-brand{font-family:var(--sf-font-head);font-size:24px}
.sf-theme-collage h1{font-weight:700;font-size:clamp(42px,6vw,88px);line-height:1.2}
.sf-theme-collage h2{font-weight:700;display:inline;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--sf-accent) 45%,transparent) 62%,color-mix(in srgb,var(--sf-accent) 45%,transparent) 90%,transparent 90%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sf-theme-collage h2+*{margin-top:26px}
.sf-theme-collage .sf-eyebrow{display:inline-block;background:#fff3b0;color:var(--sf-ink);padding:5px 14px;transform:rotate(-2deg);box-shadow:0 2px 4px #0002;letter-spacing:.1em}
.sf-theme-collage .sf-btn{border-radius:2px;background:var(--sf-accent);box-shadow:3px 3px 0 var(--sf-ink)}
.sf-theme-collage .sf-btn:hover{transform:rotate(-1deg) translateY(-2px)}
.sf-theme-collage .sf-btn-outline{background:#fff;color:var(--sf-ink)!important;border:1px solid var(--sf-ink)}
.sf-theme-collage .sf-visual,.sf-theme-collage .sf-grid figure,.sf-theme-collage .sf-card{position:relative;background:#fffdf8;padding:12px 12px 22px;box-shadow:0 1px 2px #0002,0 14px 30px -12px #0005;border:0;border-radius:var(--sf-radius)}
.sf-theme-collage .sf-card{padding:30px}
.sf-theme-collage .sf-visual{rotate:2deg}
.sf-theme-collage .sf-grid>*:nth-child(odd){rotate:-1.5deg}.sf-theme-collage .sf-grid>*:nth-child(even){rotate:1.5deg}
.sf-theme-collage .sf-grid>*:hover{rotate:0deg;transform:scale(1.02);z-index:2}
.sf-theme-collage .sf-visual::before,.sf-theme-collage .sf-grid>*::before{content:"";position:absolute;top:-12px;left:50%;width:110px;height:26px;transform:translateX(-50%) rotate(-3deg);background:#f7e3a1cc;box-shadow:0 1px 2px #0002;z-index:2;-webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0)}
.sf-theme-collage .sf-grid>*:nth-child(3n+2)::before{background:#b8dcd2cc;rotate:4deg}
.sf-theme-collage .sf-art{border-radius:0;background:linear-gradient(160deg,#d9c7a8,#b89c73)}
.sf-theme-collage .sf-art i{border:0;box-shadow:none;background:#fffdf8;border-radius:0}
.sf-theme-collage .sf-art i:nth-child(1){width:48%;height:56%;left:10%;top:12%;transform:rotate(-6deg);background:linear-gradient(#e05a3a,#e05a3a) center/70% 70% no-repeat,#fffdf8}
.sf-theme-collage .sf-art i:nth-child(2){width:40%;height:44%;left:50%;top:40%;transform:rotate(8deg);background:linear-gradient(#3a7d6b,#3a7d6b) center/72% 70% no-repeat,#fffdf8}
.sf-theme-collage .sf-art i:nth-child(3){width:26%;height:auto;aspect-ratio:1;left:62%;top:8%;border-radius:50%;background:#f2c14e;transform:none}
.sf-theme-collage .sf-grid figure .sf-art{aspect-ratio:4/3}
.sf-theme-collage .sf-number{border:0;font-family:var(--sf-font-head);font-size:34px;color:var(--sf-accent);padding:0;margin-bottom:12px}
.sf-theme-collage .sf-quote{color:var(--sf-accent2)}
.sf-theme-collage .sf-form input:not([type=checkbox]),.sf-theme-collage .sf-form textarea{background:#fffdf8;border:0;border-bottom:2px solid var(--sf-ink);border-radius:0}
.sf-theme-collage .sf-footer{background:#2b2520;color:#efe6d6}

/* ==================================================================
   10. エディトリアル — 雑誌の組版
   ================================================================== */
.sf-theme-editorial{counter-reset:t-sec}
.sf-theme-editorial .sf-header{border-bottom:1px solid var(--sf-ink)}
.sf-theme-editorial .sf-brand{font-family:var(--sf-font-head);font-size:28px;font-style:italic;letter-spacing:-.02em}
.sf-theme-editorial h1{font-weight:400;font-size:clamp(48px,7.5vw,124px);line-height:1.2;letter-spacing:-.01em}
.sf-theme-editorial h2{font-weight:400;font-size:clamp(34px,4.6vw,68px);letter-spacing:-.01em;line-height:1.2}
.sf-theme-editorial main>.sf-section:not(.sf-hero){counter-increment:t-sec;border-top:1px solid var(--sf-ink)}
.sf-theme-editorial main>.sf-section:not(.sf-hero) .sf-eyebrow::before{content:counter(t-sec,decimal-leading-zero) "　";font-family:var(--sf-font-head);font-size:18px;color:var(--sf-accent);letter-spacing:0}
.sf-theme-editorial .sf-eyebrow{color:var(--sf-ink);letter-spacing:.24em}
.sf-theme-editorial .sf-hero .sf-split-grid{grid-template-columns:1.4fr 1fr;align-items:end}
.sf-theme-editorial .sf-hero .sf-lead::first-letter,.sf-theme-editorial .sf-split .sf-lead::first-letter{float:left;font-family:var(--sf-font-head);font-size:4.2em;line-height:.8;margin:6px 10px 0 0;color:var(--sf-accent)}
.sf-theme-editorial .sf-lead{opacity:.85;font-size:17px}
.sf-theme-editorial .sf-btn{border-radius:0;background:var(--sf-ink);letter-spacing:.1em}
.sf-theme-editorial .sf-btn-outline{background:transparent;color:var(--sf-ink)!important;border:0;border-bottom:1px solid var(--sf-ink);padding-inline:0}
.sf-theme-editorial .sf-art{border-radius:0;aspect-ratio:3/4;background:linear-gradient(180deg,#d7d2c8,#a8a296);filter:grayscale(1)}
.sf-theme-editorial .sf-art i{border:0;box-shadow:none;background:#ffffff40}
.sf-theme-editorial .sf-art::after{content:"PHOTOGRAPH";position:absolute;bottom:14px;left:16px;font:11px/1 var(--sf-font);letter-spacing:.3em;color:#fff}
.sf-theme-editorial .sf-visual>img{filter:grayscale(.2)}
.sf-theme-editorial .sf-bigquote p{font-family:var(--sf-font-head);font-style:italic;font-weight:400}
.sf-theme-editorial .sf-card h3{font-family:var(--sf-font-head);font-weight:400;font-size:26px}
.sf-theme-editorial .sf-v-magazine .sf-card{padding-top:26px}
.sf-theme-editorial .sf-number{border:0;font-family:var(--sf-font-head);font-size:48px;color:var(--sf-accent);padding:0;margin-bottom:16px;font-style:italic}
.sf-theme-editorial .sf-v-zigzag .sf-card{border-bottom:1px solid #1414142a}
.sf-theme-editorial .sf-faq-item summary{font-family:var(--sf-font-head);font-size:20px}
.sf-theme-editorial .sf-form input:not([type=checkbox]),.sf-theme-editorial .sf-form textarea{border:0;border-bottom:1px solid var(--sf-ink);border-radius:0;background:transparent}
.sf-theme-editorial .sf-footer{border-top:3px double var(--sf-ink)}

/* ==================================================================
   11. スイス — 厳密なグリッドと赤
   ================================================================== */
.sf-theme-swiss{--t-red:var(--sf-accent)}
.sf-theme-swiss .sf-header{border-bottom:2px solid var(--sf-ink)}
.sf-theme-swiss .sf-brand{font-weight:900;letter-spacing:-.04em;text-transform:none;font-size:22px}
.sf-theme-swiss .sf-brand::before{content:"";display:inline-block;width:14px;height:14px;background:var(--t-red);margin-right:10px}
.sf-theme-swiss h1{font-weight:900;font-size:clamp(50px,8vw,132px);line-height:1.2;letter-spacing:-.01em}
.sf-theme-swiss h2{font-weight:900;letter-spacing:-.01em;font-size:clamp(34px,5vw,72px);line-height:1.2}
.sf-theme-swiss .sf-eyebrow{color:var(--t-red);letter-spacing:0;font-size:14px;font-weight:900}
.sf-theme-swiss .sf-eyebrow::before{content:"■ "}
.sf-theme-swiss .sf-hero .sf-split-grid{grid-template-columns:repeat(12,1fr);gap:20px}
.sf-theme-swiss .sf-hero .sf-copy{grid-column:1/9}
.sf-theme-swiss .sf-hero .sf-visual{grid-column:9/13}
.sf-theme-swiss .sf-btn{border-radius:0;background:var(--t-red);font-weight:900}
.sf-theme-swiss .sf-btn-outline{background:transparent;color:var(--sf-ink)!important;border:2px solid var(--sf-ink)}
.sf-theme-swiss .sf-art{border-radius:0;background:#f2f2f2;aspect-ratio:3/4}
.sf-theme-swiss .sf-art i{border:0;box-shadow:none;border-radius:0}
.sf-theme-swiss .sf-art i:nth-child(1){width:70%;height:auto;aspect-ratio:1;left:30%;top:0;transform:none;background:var(--t-red)}
.sf-theme-swiss .sf-art i:nth-child(2){width:48%;height:auto;aspect-ratio:1;left:6%;top:48%;transform:none;border-radius:50%;background:var(--sf-ink)}
.sf-theme-swiss .sf-art i:nth-child(3){width:100%;height:4px;left:0;top:44%;transform:none;background:var(--sf-ink)}
.sf-theme-swiss main>.sf-section:not(.sf-hero){border-top:2px solid var(--sf-ink)}
.sf-theme-swiss .sf-v-magazine .sf-grid{border-top:0}
.sf-theme-swiss .sf-card h3{font-weight:900;letter-spacing:-.01em;font-size:24px}
.sf-theme-swiss .sf-number{border:0;padding:0;font-size:56px;font-weight:900;color:var(--t-red);letter-spacing:-.05em;margin-bottom:10px}
.sf-theme-swiss .sf-v-list .sf-card{border-bottom:1px solid var(--sf-ink);grid-template-columns:80px 1fr 1.4fr}
.sf-theme-swiss .sf-stat{border-left:2px solid var(--sf-ink);text-align:left;padding-left:20px}
.sf-theme-swiss .sf-stat strong{font-size:72px;font-weight:900;letter-spacing:-.06em;opacity:1;color:var(--t-red)}
.sf-theme-swiss .sf-form input:not([type=checkbox]),.sf-theme-swiss .sf-form textarea{border-radius:0;border:2px solid var(--sf-ink)}
.sf-theme-swiss .sf-footer{border-top:8px solid var(--t-red)}

/* ==================================================================
   12. モノクローム — 余白と白黒
   ================================================================== */
.sf-theme-mono .sf-header{padding:40px 0}
.sf-theme-mono .sf-brand{font-weight:400;letter-spacing:.3em;font-size:14px;text-transform:uppercase}
.sf-theme-mono .sf-header nav a{font-size:12px;letter-spacing:.14em}
.sf-theme-mono h1{font-weight:300;font-size:clamp(40px,5.6vw,84px);line-height:1.3;letter-spacing:-.01em}
.sf-theme-mono h2{font-weight:300;font-size:clamp(28px,3.4vw,46px);letter-spacing:-.01em}
.sf-theme-mono h3{font-weight:500;font-size:18px}
.sf-theme-mono .sf-eyebrow{color:#9a9a9a;letter-spacing:.3em;font-weight:400}
.sf-theme-mono .sf-btn{border-radius:0;background:transparent;color:var(--sf-ink)!important;border:0;border-bottom:1px solid var(--sf-ink);padding:6px 0;gap:14px;font-weight:400;letter-spacing:.1em}
.sf-theme-mono .sf-btn:hover{box-shadow:none;transform:none;letter-spacing:.14em}
.sf-theme-mono .sf-btn-outline{border-bottom-color:#bbb;color:#777!important}
.sf-theme-mono .sf-hero .sf-split-grid{grid-template-columns:1fr 1fr;gap:90px}
.sf-theme-mono .sf-art{border-radius:0;background:#f3f3f3;aspect-ratio:4/5}
.sf-theme-mono .sf-art i{border:0;box-shadow:none;background:none}
.sf-theme-mono .sf-art i:nth-child(1){width:1px;height:70%;left:50%;top:15%;transform:none;background:#111}
.sf-theme-mono .sf-art i:nth-child(2){width:70%;height:1px;left:15%;top:50%;transform:none;background:#111}
.sf-theme-mono .sf-art i:nth-child(3){display:none}
.sf-theme-mono .sf-visual>img,.sf-theme-mono figure img{filter:grayscale(1);border-radius:0}
.sf-theme-mono figure:hover img{filter:grayscale(0)}
.sf-theme-mono .sf-card{background:none;border:0;border-top:1px solid #111;border-radius:0}
.sf-theme-mono .sf-number{border:0;padding:0;color:#9a9a9a;font-weight:300}
.sf-theme-mono .sf-v-list .sf-card img{filter:grayscale(1)}
.sf-theme-mono .sf-form input:not([type=checkbox]),.sf-theme-mono .sf-form textarea{border:0;border-bottom:1px solid #111;border-radius:0}
.sf-theme-mono .sf-footer{border-top:1px solid #111}

/* ==================================================================
   13. ラグジュアリー — 黒とシャンパンゴールド
   ================================================================== */
.sf-theme-luxe{--t-gold:var(--sf-accent)}
.sf-theme-luxe .sf-header{background:transparent;border-bottom:1px solid #c8a96a33}
.sf-theme-luxe .sf-brand{font-family:var(--sf-font-head);letter-spacing:.35em;text-transform:uppercase;font-weight:400;font-size:18px}
.sf-theme-luxe .sf-header nav a{letter-spacing:.2em;font-size:11px;text-transform:uppercase}
.sf-theme-luxe h1,.sf-theme-luxe h2{font-weight:400;letter-spacing:.02em}
.sf-theme-luxe h1{font-size:clamp(42px,6vw,96px);line-height:1.2}
.sf-theme-luxe h2{font-size:clamp(30px,3.8vw,56px)}
.sf-theme-luxe .sf-eyebrow{color:var(--t-gold);letter-spacing:.5em;font-weight:400}
.sf-theme-luxe .sf-eyebrow::after{content:"";display:block;width:48px;height:1px;background:var(--t-gold);margin-top:18px}
.sf-theme-luxe .sf-al-center .sf-eyebrow::after{margin-inline:auto}
.sf-theme-luxe .sf-btn{border-radius:0;background:transparent;border:1px solid var(--t-gold);color:var(--t-gold)!important;letter-spacing:.25em;font-weight:400;padding:18px 34px}
.sf-theme-luxe .sf-btn:hover{background:var(--t-gold);color:#0c0b09!important;box-shadow:none}
.sf-theme-luxe .sf-btn-outline{border-color:#efe9dc55;color:#efe9dc!important}
.sf-theme-luxe .sf-card{background:transparent;border:0;border-top:1px solid #c8a96a55;border-radius:0}
.sf-theme-luxe .sf-number{border:0;font-family:var(--sf-font-head);font-style:italic;color:var(--t-gold);font-size:30px;padding:0}
.sf-theme-luxe .sf-visual{position:relative}
.sf-theme-luxe .sf-visual::after,.sf-theme-luxe .sf-v-overlay .sf-card::before{content:"";position:absolute;inset:14px;border:1px solid #c8a96a88;pointer-events:none;z-index:1}
.sf-theme-luxe .sf-art{border-radius:0;background:radial-gradient(60% 50% at 50% 40%,#2a241a,#0c0b09);aspect-ratio:3/4}
.sf-theme-luxe .sf-art i{border:1px solid #c8a96a66;box-shadow:none;background:none;border-radius:50%}
.sf-theme-luxe .sf-art i:nth-child(1){width:56%;height:auto;aspect-ratio:1;left:22%;top:22%;transform:none}
.sf-theme-luxe .sf-art i:nth-child(2){width:40%;height:auto;aspect-ratio:1;left:30%;top:30%;transform:none;border-color:#c8a96a33}
.sf-theme-luxe .sf-art i:nth-child(3){display:none}
.sf-theme-luxe .sf-bigquote p{font-family:var(--sf-font-head);font-style:italic;color:var(--t-gold);font-weight:400}
.sf-theme-luxe .sf-videohero .sf-bgmedia:not(:has(video,iframe,img))::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 50% at 50% 50%,#3a3020,#0c0b09)}
.sf-theme-luxe .sf-form input:not([type=checkbox]),.sf-theme-luxe .sf-form textarea{background:transparent;border:0;border-bottom:1px solid #c8a96a66;border-radius:0;color:#efe9dc}
.sf-theme-luxe .sf-footer{border-top:1px solid #c8a96a33;text-align:center}

/* ==================================================================
   14. シネマ — シネスコの帯とフィルム
   ================================================================== */
.sf-theme-cinema .sf-header{background:transparent;position:absolute;left:0;right:0;z-index:10}
.sf-theme-cinema .sf-header.sf-sticky{position:sticky}
.sf-theme-cinema .sf-brand{letter-spacing:.4em;text-transform:uppercase;font-size:14px;font-weight:500}
.sf-theme-cinema h1{font-weight:300;font-size:clamp(46px,7vw,112px);line-height:1.2;letter-spacing:.02em;text-transform:uppercase}
.sf-theme-cinema h2{font-weight:300;letter-spacing:.04em;text-transform:uppercase}
.sf-theme-cinema .sf-eyebrow{color:var(--sf-accent);letter-spacing:.5em;font-weight:500}
.sf-theme-cinema .sf-videohero::before,.sf-theme-cinema .sf-videohero::after{content:"";position:absolute;left:0;right:0;height:9vh;background:#050505;z-index:2}
.sf-theme-cinema .sf-videohero::before{top:0}.sf-theme-cinema .sf-videohero::after{bottom:0}
.sf-theme-cinema .sf-videohero .sf-bgmedia:not(:has(video,iframe,img))::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 30% 50%,#3a2c18,#050505 70%)}
.sf-theme-cinema .sf-videohero .sf-wrap{position:relative;z-index:3}
.sf-theme-cinema .sf-scroll-cue{z-index:3;bottom:12vh}
.sf-theme-cinema .sf-btn{border-radius:0;background:var(--sf-accent);color:#050505!important;letter-spacing:.2em;text-transform:uppercase;font-size:12px}
.sf-theme-cinema .sf-btn-outline{background:transparent;color:#f2efe8!important;border-color:#f2efe855}
.sf-theme-cinema .sf-card{background:transparent;border:0;border-left:1px solid #ffffff22;border-radius:0}
.sf-theme-cinema .sf-art{border-radius:0;aspect-ratio:2.39/1;background:linear-gradient(120deg,#1b1610,#050505);box-shadow:inset 0 0 0 1px #ffffff14}
.sf-theme-cinema .sf-art i{border:0;box-shadow:none;background:none}
.sf-theme-cinema .sf-art::before,.sf-theme-cinema .sf-art::after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,#050505 0 14px,#2a2a2a 14px 24px)}
.sf-theme-cinema .sf-art::before{top:0}.sf-theme-cinema .sf-art::after{bottom:0}
.sf-theme-cinema .sf-art i:nth-child(1){width:auto;height:auto;inset:30% 40%;border:1px solid #d9a44188;border-radius:50%;transform:none}
.sf-theme-cinema .sf-marquee{border-block:1px solid #ffffff1f}
.sf-theme-cinema .sf-marquee i{font-weight:300;letter-spacing:.1em;text-transform:uppercase}
.sf-theme-cinema .sf-video-card .sf-video-launch{border-radius:0;background:linear-gradient(120deg,#1b1610,#050505)}
.sf-theme-cinema .sf-v-overlay .sf-card{border:0;border-radius:0}
.sf-theme-cinema .sf-bigquote p{font-weight:300;letter-spacing:.02em}
.sf-theme-cinema .sf-form input:not([type=checkbox]),.sf-theme-cinema .sf-form textarea{background:transparent;border:0;border-bottom:1px solid #ffffff44;border-radius:0;color:#f2efe8}
.sf-theme-cinema .sf-footer{background:#050505;border-top:1px solid #ffffff14}

/* ---------- 共通補正（全テーマ） ---------- */
.sf-theme .sf-tone-soft{background:color-mix(in srgb,var(--sf-ink) 4%,var(--sf-bg))}
.sf-theme .sf-videohero,.sf-theme .sf-videohero.sf-tone-dark{background:color-mix(in srgb,var(--sf-bg) 70%,#000);color:#fff}
.sf-theme .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(70% 60% at 25% 30%,color-mix(in srgb,var(--sf-accent) 45%,transparent),transparent 70%),radial-gradient(60% 60% at 85% 80%,color-mix(in srgb,var(--sf-accent2,var(--sf-accent)) 35%,transparent),transparent 70%),color-mix(in srgb,var(--sf-bg) 70%,#000)}
.sf-theme .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)) .sf-bg-overlay{opacity:.25!important}
.sf-theme .sf-v-list.sf-timeline .sf-card,.sf-theme .sf-v-list.sf-services .sf-card,.sf-theme .sf-v-list.sf-features .sf-card{grid-template-columns:minmax(60px,110px) minmax(0,1fr) minmax(0,1.4fr);column-gap:32px}
.sf-theme .sf-v-list .sf-card>.sf-number{grid-row:1/span 3;align-self:start}
.sf-theme .sf-v-list .sf-card>h3{grid-column:2;grid-row:1/span 3;align-self:start}
.sf-theme .sf-v-list .sf-card>p{grid-column:3}
.sf-theme .sf-timeline.sf-v-list .sf-grid{border-left:0;margin-left:0}
@media(max-width:767px){.sf-theme .sf-v-list .sf-card{grid-template-columns:1fr!important}.sf-theme .sf-v-list .sf-card>*{grid-column:auto!important;grid-row:auto!important}}
/* レトロ：太陽を地平線へ */
.sf-theme-retro .sf-hero{align-items:flex-start;padding-top:10vh}
.sf-theme-retro .sf-hero::before{top:auto;bottom:24%;width:min(360px,50vw);opacity:.85}
/* テーマ背景を持つ全画面ビジュアル */
.sf-theme-luxe .sf-videohero{background:#0c0b09}
.sf-theme-cinema .sf-videohero{background:#050505}
.sf-theme-liquid .sf-videohero{background:transparent}
.sf-theme-liquid .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:none}

/* ==================================================================
   15. 和モダン — 縦書き、朱、余白
   ================================================================== */
.sf-theme-wa{--t-shu:var(--sf-accent)}
.sf-theme-wa .sf-header{background:transparent;border-bottom:1px solid #2222221a}
.sf-theme-wa .sf-brand{font-family:var(--sf-font-head);letter-spacing:.3em;font-weight:500}
.sf-theme-wa .sf-brand::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--t-shu);margin-right:12px;vertical-align:middle}
.sf-theme-wa h1,.sf-theme-wa h2{font-weight:500;letter-spacing:.14em}
.sf-theme-wa .sf-eyebrow{color:var(--t-shu);letter-spacing:.4em;font-weight:500}
.sf-theme-wa .sf-hero .sf-split-grid{grid-template-columns:1fr 1fr;gap:6vw;align-items:stretch}
.sf-theme-wa .sf-hero .sf-copy{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:1fr auto;column-gap:clamp(20px,3vw,48px);align-items:start;min-height:min(78vh,720px)}
.sf-theme-wa .sf-hero .sf-eyebrow{grid-column:3;grid-row:1;writing-mode:vertical-rl;margin:0!important;border-right:1px solid var(--t-shu);padding-right:10px}
.sf-theme-wa .sf-hero h1{grid-column:2;grid-row:1;writing-mode:vertical-rl;text-orientation:mixed;font-size:clamp(38px,4.6vw,72px);line-height:1.7;letter-spacing:.18em;margin:0;max-height:min(70vh,640px)}
.sf-theme-wa .sf-hero .sf-lead{grid-column:1;grid-row:1;writing-mode:vertical-rl;justify-self:end;font-size:15px;line-height:2.2;letter-spacing:.12em;max-height:22em;margin:40px 0 0}
.sf-theme-wa .sf-hero .sf-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end}
.sf-theme-wa .sf-btn{border-radius:0;background:var(--sf-ink);letter-spacing:.24em;font-weight:500}
.sf-theme-wa .sf-btn:hover{background:var(--t-shu)}
.sf-theme-wa .sf-btn-outline{background:transparent;color:var(--sf-ink)!important;border:1px solid var(--sf-ink)}
.sf-theme-wa .sf-art{border-radius:0;aspect-ratio:auto;height:100%;min-height:420px;background:linear-gradient(90deg,#0000 calc(100% - 1px),#2222221f 0) 0 0/25% 100%,linear-gradient(#0000 calc(100% - 1px),#2222221f 0) 0 0/100% 20%,#efe8d8}
.sf-theme-wa .sf-art i{border:0;box-shadow:none;background:none}
.sf-theme-wa .sf-art i:nth-child(1){width:44%;height:auto;aspect-ratio:1;left:28%;top:22%;transform:none;border-radius:50%;background:var(--t-shu);opacity:.92}
.sf-theme-wa .sf-art i:nth-child(2){width:100%;height:14%;left:0;top:auto;bottom:0;transform:none;background:linear-gradient(#0000,#22222214)}
.sf-theme-wa .sf-art i:nth-child(3){display:none}
@media (min-width:1280px){
 .sf-theme-wa main>.sf-section:not(.sf-hero)>.sf-wrap{position:relative}
 .sf-theme-wa main>.sf-section:not(.sf-hero) .sf-wrap>.sf-eyebrow{position:absolute;left:-56px;top:6px;writing-mode:vertical-rl;margin:0!important}
}
.sf-theme-wa .sf-card{background:none;border:0;border-top:2px solid var(--t-shu);border-radius:0;padding:28px 4px}
.sf-theme-wa .sf-number{border:0;padding:0;font-family:var(--sf-font-head);color:var(--t-shu);font-size:14px;letter-spacing:.3em;margin-bottom:16px}
.sf-theme-wa .sf-text h2{font-size:clamp(28px,3.4vw,48px)}
.sf-theme-wa .sf-grid figure .sf-art{min-height:0;aspect-ratio:3/4}
.sf-theme-wa div.sf-map{border-radius:0;background:transparent;border:1px solid #2222222a}
.sf-theme-wa .sf-form input:not([type=checkbox]),.sf-theme-wa .sf-form textarea{border-radius:0;background:#fffdf8;border:1px solid #22222233}
.sf-theme-wa .sf-footer{background:#222;color:#f7f3ea}
@media(max-width:767px){.sf-theme-wa .sf-hero .sf-copy{min-height:0;grid-template-columns:1fr auto auto}.sf-theme-wa .sf-hero h1{max-height:none;font-size:34px}.sf-theme-wa .sf-hero .sf-lead{max-height:16em}}

/* ==================================================================
   16. 墨 — 筆文字と墨のにじみ
   ================================================================== */
.sf-theme-sumi .sf-header{background:transparent}
.sf-theme-sumi .sf-brand{font-family:var(--sf-font-head);font-size:26px;letter-spacing:.1em}
.sf-theme-sumi h1{font-weight:400;font-size:clamp(56px,9vw,150px);line-height:1.2;letter-spacing:.04em}
.sf-theme-sumi h2{font-weight:400;font-size:clamp(34px,4.6vw,70px);letter-spacing:.06em}
.sf-theme-sumi .sf-eyebrow{color:#6d6d6d;letter-spacing:.5em}
.sf-theme-sumi .sf-hero .sf-split-grid{grid-template-columns:1.3fr 1fr}
.sf-theme-sumi .sf-btn{border-radius:0;background:#111;letter-spacing:.2em}
.sf-theme-sumi .sf-btn-outline{background:transparent;color:#111!important;border:1px solid #111}
.sf-theme-sumi .sf-art{border-radius:0;background:none;aspect-ratio:1}
.sf-theme-sumi .sf-art i{box-shadow:none;background:none}
.sf-theme-sumi .sf-art i:nth-child(1){width:80%;height:80%;left:10%;top:10%;border:0;border-radius:50%;transform:rotate(-20deg);background:conic-gradient(from 30deg,#111 0 78%,#1110 88%);-webkit-mask:radial-gradient(closest-side,#0000 76%,#000 78% 92%,#0000 97%);mask:radial-gradient(closest-side,#0000 76%,#000 78% 92%,#0000 97%);filter:url(#none) blur(.6px)}
.sf-theme-sumi .sf-art i:nth-child(2){width:26%;height:auto;aspect-ratio:1;left:66%;top:6%;border:0;transform:none;border-radius:50%;background:radial-gradient(circle,#111 0 40%,#11111180 55%,transparent 70%)}
.sf-theme-sumi .sf-art i:nth-child(3){width:10%;height:auto;aspect-ratio:1;left:78%;top:30%;border:0;border-radius:50%;background:#111;opacity:.7}
.sf-theme-sumi .sf-bigquote p{font-family:var(--sf-font-head);font-size:clamp(34px,5vw,80px);line-height:1.5}
.sf-theme-sumi .sf-bigquote p::before,.sf-theme-sumi .sf-bigquote p::after{content:none}
.sf-theme-sumi .sf-card{background:none;border:0;border-left:1px solid #111;border-radius:0;padding:10px 26px}
.sf-theme-sumi .sf-v-list .sf-card{border-left:0}
.sf-theme-sumi .sf-grid figure .sf-art{aspect-ratio:4/3;background:#ecebe6}
.sf-theme-sumi .sf-faq-item summary{font-family:var(--sf-font-head);font-size:20px}
.sf-theme-sumi .sf-form input:not([type=checkbox]),.sf-theme-sumi .sf-form textarea{border-radius:0;border:0;border-bottom:1px solid #111;background:transparent}
.sf-theme-sumi .sf-footer{background:#111;color:#f6f4ef}

/* ==================================================================
   17. 京町家 — 深緑と金、格子と暖簾
   ================================================================== */
.sf-theme-kyoto{--t-green:var(--sf-accent);--t-gold:var(--sf-accent2)}
.sf-theme-kyoto .sf-header{background:var(--t-green);color:#f3ede0;border-bottom:1px solid var(--t-gold)}
.sf-theme-kyoto .sf-brand{letter-spacing:.3em;font-weight:500}
.sf-theme-kyoto h1,.sf-theme-kyoto h2{font-weight:500;letter-spacing:.12em}
.sf-theme-kyoto .sf-tone-ink{background:var(--t-green);color:#f3ede0}
.sf-theme-kyoto .sf-tone-ink::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,#b8973d14 0 1px,transparent 1px 28px);pointer-events:none;z-index:-1}
.sf-theme-kyoto .sf-eyebrow{display:inline-block;background:var(--t-green);color:#f3ede0;padding:8px 18px 10px;letter-spacing:.3em;border-bottom:3px solid var(--t-gold);position:relative}
.sf-theme-kyoto .sf-eyebrow::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#f3ede055}
.sf-theme-kyoto .sf-tone-ink .sf-eyebrow{background:var(--t-gold);color:var(--t-green)}
.sf-theme-kyoto .sf-btn{border-radius:2px;background:var(--t-gold);color:#1c2a22!important;letter-spacing:.2em}
.sf-theme-kyoto .sf-btn-outline{background:transparent;color:inherit!important;border:1px solid currentColor}
.sf-theme-kyoto .sf-card,.sf-theme-kyoto div.sf-map{background:#fbf8f1;border:1px solid var(--t-gold);outline:1px solid var(--t-gold);outline-offset:-7px;border-radius:2px}
.sf-theme-kyoto .sf-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px #1f3b2d80}
.sf-theme-kyoto .sf-number{border-color:var(--t-gold);color:var(--t-green)}
.sf-theme-kyoto .sf-art{border-radius:2px;background:linear-gradient(90deg,#1f3b2d 0 6px,transparent 6px) 0 0/34px 100%,linear-gradient(#1f3b2d 0 6px,transparent 6px) 0 0/100% 34px,#d9c9a3;box-shadow:inset 0 0 0 8px var(--t-green),0 0 0 1px var(--t-gold)}
.sf-theme-kyoto .sf-art i{border:0;box-shadow:none;background:none}
.sf-theme-kyoto .sf-art i:nth-child(1){width:40%;height:auto;aspect-ratio:1;left:30%;top:30%;border-radius:50%;background:radial-gradient(circle,#fff8e0,#f3dc9c 60%,transparent 62%);transform:none}
.sf-theme-kyoto .sf-art i:nth-child(n+2){display:none}
.sf-theme-kyoto .sf-tone-accent{background:var(--t-green);color:#f3ede0}
.sf-theme-kyoto .sf-tone-soft{background:#ebe3d1}
.sf-theme-kyoto .sf-form input:not([type=checkbox]),.sf-theme-kyoto .sf-form textarea{border-radius:2px;background:#fbf8f1;border:1px solid #b8973d88}
.sf-theme-kyoto .sf-footer{background:var(--t-green);color:#f3ede0;border-top:3px solid var(--t-gold)}

/* ==================================================================
   18. 藍 — 藍色と青海波と金
   ================================================================== */
.sf-theme-ai{--t-gold:var(--sf-accent)}
.sf-theme-ai .sf-header{background:transparent;border-bottom:1px solid #c9a55a33}
.sf-theme-ai .sf-brand{letter-spacing:.3em;font-weight:500}
.sf-theme-ai h1,.sf-theme-ai h2{font-weight:500;letter-spacing:.12em}
.sf-theme-ai h1{font-size:clamp(42px,6vw,92px)}
.sf-theme-ai .sf-eyebrow{color:var(--t-gold);letter-spacing:.4em}
.sf-theme-ai .sf-eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:var(--t-gold);vertical-align:middle;margin-right:12px}
.sf-theme-ai .sf-videohero{background:#0b1a31}
.sf-theme-ai .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(circle at 50% 100%,transparent 24%,#5b8cc855 25% 26%,transparent 27% 36%,#5b8cc855 37% 38%,transparent 39% 48%,#5b8cc855 49% 50%,transparent 51%) 0 0/120px 60px,radial-gradient(70% 70% at 70% 30%,#1f3f73,#0b1a31)}
.sf-theme-ai .sf-btn{border-radius:2px;background:var(--t-gold);color:#0f2340!important;letter-spacing:.2em}
.sf-theme-ai .sf-btn-outline{background:transparent;color:#e9eef6!important;border:1px solid #e9eef655}
.sf-theme-ai .sf-tone-plain,.sf-theme-ai .sf-tone-soft{background:transparent}
.sf-theme-ai .sf-card{background:#0b1a31cc;border:1px solid #e9eef626;border-radius:2px}
.sf-theme-ai .sf-v-minimal .sf-card{background:none;border:0;border-top:1px solid var(--t-gold)}
.sf-theme-ai .sf-number{color:var(--t-gold);border-color:var(--t-gold)}
.sf-theme-ai .sf-art{border-radius:2px;background:radial-gradient(circle at 50% 100%,transparent 24%,#e9eef633 25% 26%,transparent 27% 36%,#e9eef633 37% 38%,transparent 39% 48%,#e9eef633 49% 50%,transparent 51%) 0 0/80px 40px,linear-gradient(160deg,#1f3f73,#0b1a31);box-shadow:inset 0 0 0 1px #c9a55a55}
.sf-theme-ai .sf-art i{display:none}
.sf-theme-ai .sf-form input:not([type=checkbox]),.sf-theme-ai .sf-form textarea{background:#0b1a31;border:1px solid #e9eef633;color:#e9eef6;border-radius:2px}
.sf-theme-ai .sf-footer{background:#081427;border-top:1px solid #c9a55a33}

/* ==================================================================
   19. 桜 — 舞う花びら
   ================================================================== */
.sf-theme-sakura{--t-petal:#f3c3cf}
.sf-theme-sakura .sf-header-floating .sf-header-inner{background:#fffffff0;border-color:#f3c3cf}
.sf-theme-sakura h1,.sf-theme-sakura h2{font-weight:500;letter-spacing:.08em}
.sf-theme-sakura h1{font-size:clamp(42px,6vw,90px)}
.sf-theme-sakura .sf-eyebrow{color:var(--sf-accent);letter-spacing:.3em}
.sf-theme-sakura .sf-eyebrow::before{content:"❀ ";letter-spacing:0}
.sf-theme-sakura .sf-hero{overflow:hidden;background:linear-gradient(180deg,#ffe9ee,var(--sf-bg))}
.sf-theme-sakura .sf-hero::before{content:"";position:absolute;inset:-20% 0 0;z-index:0;pointer-events:none;
 background-image:radial-gradient(ellipse 9px 6px at 10% 10%,var(--t-petal) 95%,transparent),radial-gradient(ellipse 7px 5px at 30% 40%,#f7d3db 95%,transparent),radial-gradient(ellipse 10px 6px at 55% 20%,var(--t-petal) 95%,transparent),radial-gradient(ellipse 6px 4px at 75% 60%,#eeb1c1 95%,transparent),radial-gradient(ellipse 8px 5px at 90% 30%,#f7d3db 95%,transparent),radial-gradient(ellipse 7px 5px at 45% 80%,var(--t-petal) 95%,transparent);
 background-size:420px 420px;animation:t-petal 18s linear infinite}
@keyframes t-petal{to{background-position:160px 420px,-120px 420px,80px 420px,-60px 420px,140px 420px,-30px 420px}}
.sf-theme-sakura .sf-hero>.sf-wrap{position:relative;z-index:1}
.sf-theme-sakura .sf-btn{border-radius:99px;background:var(--sf-accent);box-shadow:0 10px 24px -10px var(--sf-accent)}
.sf-theme-sakura .sf-btn-outline{background:#fff;color:var(--sf-accent)!important;border-color:var(--t-petal);box-shadow:none}
.sf-theme-sakura .sf-card{background:#fff;border:1px solid #f3c3cf66;border-radius:var(--sf-radius);box-shadow:0 16px 40px -24px #d96f8a66}
.sf-theme-sakura .sf-card:hover{transform:translateY(-4px)}
.sf-theme-sakura .sf-number{border:0;padding:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffe9ee;color:var(--sf-accent)}
.sf-theme-sakura .sf-art{background:radial-gradient(circle at 70% 30%,#fff 0 8%,transparent 9%),linear-gradient(160deg,#ffd9e2,#f3aabd);border-radius:50% 50% var(--sf-radius) var(--sf-radius)}
.sf-theme-sakura .sf-art i{border:0;box-shadow:none;background:#fff;opacity:.85;border-radius:60% 0 60% 0}
.sf-theme-sakura .sf-art i:nth-child(1){width:22%;height:14%;left:20%;top:52%;transform:rotate(-20deg)}
.sf-theme-sakura .sf-art i:nth-child(2){width:16%;height:10%;left:54%;top:66%;transform:rotate(30deg)}
.sf-theme-sakura .sf-art i:nth-child(3){width:12%;height:8%;left:38%;top:30%;transform:rotate(10deg)}
.sf-theme-sakura .sf-tone-soft{background:#ffeef2}
.sf-theme-sakura .sf-form input:not([type=checkbox]),.sf-theme-sakura .sf-form textarea{border-radius:14px;border-color:#f3c3cf;background:#fff}
.sf-theme-sakura .sf-footer{background:#fff0f3}

/* ==================================================================
   20. 祭 — 朱・金・黒、提灯
   ================================================================== */
.sf-theme-matsuri{--t-red:var(--sf-accent);--t-gold:var(--sf-accent2)}
.sf-theme-matsuri .sf-header{background:#0c0707;border-bottom:4px solid var(--t-red)}
.sf-theme-matsuri .sf-brand{font-family:var(--sf-font-head);letter-spacing:.06em;color:var(--t-gold)}
.sf-theme-matsuri h1{font-weight:900;font-size:clamp(52px,8.5vw,140px);line-height:1.2;color:#fff;-webkit-text-stroke:0;text-shadow:5px 5px 0 var(--t-red),10px 10px 0 #00000080}
.sf-theme-matsuri h2{font-weight:900;letter-spacing:.04em}
.sf-theme-matsuri h2::after{content:"";display:block;width:64px;height:6px;margin-top:16px;background:repeating-linear-gradient(90deg,var(--t-red) 0 16px,var(--t-gold) 16px 32px)}
.sf-theme-matsuri .sf-al-center h2::after{margin-inline:auto}
.sf-theme-matsuri .sf-eyebrow{display:inline-block;color:#0c0707;background:var(--t-gold);padding:6px 16px;border-radius:99px;letter-spacing:.2em}
.sf-theme-matsuri .sf-videohero{background:#140d0d}
.sf-theme-matsuri .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(circle at 15% 25%,#ffb13b 0 3%,#d7261e 3.2% 7%,transparent 7.5%),radial-gradient(circle at 85% 22%,#ffb13b 0 2.6%,#d7261e 2.8% 6%,transparent 6.4%),radial-gradient(circle at 70% 70%,#ffb13b 0 2%,#d7261e 2.2% 4.6%,transparent 5%),radial-gradient(60% 60% at 50% 50%,#4a1510,#140d0d 70%)}
.sf-theme-matsuri .sf-btn{border-radius:0;background:var(--t-red);border:2px solid var(--t-gold);font-weight:900;letter-spacing:.1em;box-shadow:4px 4px 0 var(--t-gold)}
.sf-theme-matsuri .sf-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--t-gold)}
.sf-theme-matsuri .sf-btn-outline{background:#0c0707;color:var(--t-gold)!important}
.sf-theme-matsuri .sf-card{background:#1f1212;border:0;border-top:6px solid var(--t-red);border-radius:0;position:relative}
.sf-theme-matsuri .sf-card::after{content:"";position:absolute;right:18px;top:-6px;width:26px;height:38px;border-radius:40%;background:radial-gradient(circle at 50% 40%,#ffd86b,var(--t-red) 70%);box-shadow:0 0 18px #ff8a3d88}
.sf-theme-matsuri .sf-number{color:var(--t-gold);border-color:var(--t-gold)}
.sf-theme-matsuri .sf-tone-accent{background:var(--t-red)!important;color:#fff}
.sf-theme-matsuri .sf-stat strong{font-family:var(--sf-font-head);font-size:64px;opacity:1;color:var(--t-gold);text-shadow:3px 3px 0 #0c0707}
.sf-theme-matsuri .sf-marquee i{font-family:var(--sf-font-head);color:var(--t-gold)}
.sf-theme-matsuri .sf-marquee b{color:#fff}
.sf-theme-matsuri .sf-art{border-radius:40%;background:radial-gradient(circle at 50% 40%,#ffd86b,var(--t-red) 65%);box-shadow:0 0 60px #ff8a3d66;aspect-ratio:3/4}
.sf-theme-matsuri .sf-art i{border:0;box-shadow:none;background:#0c0707;border-radius:0;transform:none}
.sf-theme-matsuri .sf-art i:nth-child(1){width:60%;height:5%;left:20%;top:0}.sf-theme-matsuri .sf-art i:nth-child(2){width:60%;height:5%;left:20%;top:95%}
.sf-theme-matsuri .sf-art i:nth-child(3){width:100%;height:1px;left:0;top:50%;background:#0c070740}
.sf-theme-matsuri .sf-video-card .sf-video-launch{background:linear-gradient(135deg,#4a1510,#140d0d);border:2px solid var(--t-red)}
.sf-theme-matsuri .sf-faq-item{border-color:#d7261e66}
.sf-theme-matsuri .sf-form input:not([type=checkbox]),.sf-theme-matsuri .sf-form textarea{background:#1f1212;border:2px solid #d7261e88;color:#fff;border-radius:0}
.sf-theme-matsuri .sf-footer{background:#0c0707;border-top:4px solid var(--t-gold)}
.sf-theme-sumi h1{font-size:clamp(48px,7vw,120px)}
.sf-theme-matsuri .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(circle at 7% 16%,#ffb13b 0 2.6%,#d7261e 2.8% 6%,transparent 6.4%),radial-gradient(circle at 93% 14%,#ffb13b 0 2.4%,#d7261e 2.6% 5.4%,transparent 5.8%),radial-gradient(circle at 88% 82%,#ffb13b 0 2%,#d7261e 2.2% 4.6%,transparent 5%),radial-gradient(circle at 10% 86%,#ffb13b 0 1.6%,#d7261e 1.8% 3.8%,transparent 4.2%),radial-gradient(60% 60% at 50% 50%,#4a1510,#140d0d 70%)}

/* ==================================================================
   21. コーポレート — 紺と青、整然と
   ================================================================== */
.sf-theme-corporate{--t-navy:var(--sf-accent2)}
.sf-theme-corporate .sf-header{background:#fff;border-bottom:1px solid #13233a14;box-shadow:0 1px 0 #13233a0a}
.sf-theme-corporate .sf-brand{color:var(--t-navy);font-weight:800;letter-spacing:.02em}
.sf-theme-corporate .sf-header nav a:not(.sf-btn){font-weight:600}
.sf-theme-corporate h1{font-weight:800;font-size:clamp(40px,5.4vw,76px);line-height:1.25;color:var(--t-navy)}
.sf-theme-corporate h2{font-weight:800;color:var(--t-navy)}
.sf-theme-corporate .sf-tone-ink h2,.sf-theme-corporate .sf-tone-accent h2{color:#fff}
.sf-theme-corporate .sf-eyebrow{color:var(--sf-accent);letter-spacing:.16em;font-weight:800}
.sf-theme-corporate .sf-eyebrow::after{content:"";display:block;width:36px;height:3px;background:var(--sf-accent);margin-top:12px;border-radius:2px}
.sf-theme-corporate .sf-al-center .sf-eyebrow::after{margin-inline:auto}
.sf-theme-corporate .sf-hero{background:linear-gradient(115deg,#fff 55%,#eef4fd 55%)}
.sf-theme-corporate .sf-btn{border-radius:8px;background:var(--sf-accent);font-weight:700}
.sf-theme-corporate .sf-btn:hover{background:var(--t-navy);transform:translateY(-1px)}
.sf-theme-corporate .sf-btn-outline{background:#fff;color:var(--t-navy)!important;border:1px solid #13233a33}
.sf-theme-corporate .sf-card{background:#fff;border:1px solid #13233a14;border-radius:var(--sf-radius);box-shadow:0 10px 30px -22px #0b2e5966}
.sf-theme-corporate .sf-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--sf-accent) 40%,transparent)}
.sf-theme-corporate .sf-number{border:0;padding:0;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sf-accent),var(--t-navy));color:#fff;font-weight:800}
.sf-theme-corporate .sf-tone-ink{background:var(--t-navy)}
.sf-theme-corporate .sf-tone-accent{background:var(--sf-accent)}
.sf-theme-corporate .sf-stat strong{font-size:56px;opacity:1;font-weight:800;color:#fff}
.sf-theme-corporate .sf-art{border-radius:var(--sf-radius);background:linear-gradient(135deg,var(--sf-accent),var(--t-navy));aspect-ratio:5/4}
.sf-theme-corporate .sf-art i{border:0;box-shadow:none;border-radius:12px;background:#ffffff1f}
.sf-theme-corporate .sf-art i:nth-child(1){width:50%;height:40%;left:10%;top:14%;transform:none;background:#fff}
.sf-theme-corporate .sf-art i:nth-child(2){width:34%;height:52%;left:56%;top:26%;transform:none}
.sf-theme-corporate .sf-art i:nth-child(3){width:40%;height:24%;left:14%;top:62%;border-radius:12px;background:#ffffff33}
.sf-theme-corporate .sf-v-list .sf-card{border:0;border-bottom:1px solid #13233a1a;border-radius:0;box-shadow:none}
.sf-theme-corporate .sf-form input:not([type=checkbox]),.sf-theme-corporate .sf-form textarea{border-radius:8px;background:#fff}
.sf-theme-corporate .sf-footer{background:var(--t-navy);color:#fff}

/* ==================================================================
   22. やさしい — 大きめの文字、まるい形
   ================================================================== */
.sf-theme-gentle{font-size:17px}
.sf-theme-gentle .sf-header-floating .sf-header-inner{background:#fff;border:0;box-shadow:0 8px 24px -16px #3a8f8566}
.sf-theme-gentle .sf-brand{color:var(--sf-accent)}
.sf-theme-gentle h1{font-weight:700;font-size:clamp(38px,5vw,72px);line-height:1.35}
.sf-theme-gentle h2{font-weight:700}
.sf-theme-gentle .sf-lead,.sf-theme-gentle p{font-size:17px;opacity:.9}
.sf-theme-gentle .sf-eyebrow{display:inline-block;background:color-mix(in srgb,var(--sf-accent) 14%,#fff);color:var(--sf-accent);padding:7px 16px;border-radius:99px;letter-spacing:.1em}
.sf-theme-gentle .sf-btn{border-radius:99px;background:var(--sf-accent);padding:18px 30px;font-size:16px}
.sf-theme-gentle .sf-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px var(--sf-accent)}
.sf-theme-gentle .sf-btn-outline{background:#fff;color:var(--sf-accent)!important;border:2px solid color-mix(in srgb,var(--sf-accent) 30%,#fff)}
.sf-theme-gentle .sf-card,.sf-theme-gentle .sf-faq-item,.sf-theme-gentle div.sf-map{background:#fff;border:0;border-radius:var(--sf-radius);box-shadow:0 14px 40px -28px #2d3b3980}
.sf-theme-gentle .sf-faq-item{padding:22px 26px;margin-bottom:12px}
.sf-theme-gentle .sf-number{border:0;padding:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--sf-accent2) 30%,#fff);color:#8a5a1d;font-weight:700;font-size:18px}
.sf-theme-gentle .sf-tone-soft{background:color-mix(in srgb,var(--sf-accent) 7%,var(--sf-bg))}
.sf-theme-gentle .sf-art{border-radius:44% 56% 50% 50%/48% 44% 56% 52%;background:linear-gradient(160deg,color-mix(in srgb,var(--sf-accent) 30%,#fff),var(--sf-accent));aspect-ratio:1}
.sf-theme-gentle .sf-art i{border:0;box-shadow:none;border-radius:50%;background:#fff}
.sf-theme-gentle .sf-art i:nth-child(1){width:34%;height:auto;aspect-ratio:1;left:18%;top:22%;transform:none;opacity:.9}
.sf-theme-gentle .sf-art i:nth-child(2){width:22%;height:auto;aspect-ratio:1;left:58%;top:50%;transform:none;background:var(--sf-accent2)}
.sf-theme-gentle .sf-art i:nth-child(3){width:12%;height:12%;left:64%;top:20%;opacity:.7}
.sf-theme-gentle .sf-form input:not([type=checkbox]),.sf-theme-gentle .sf-form textarea{border-radius:16px;background:#fff;font-size:17px;padding:16px}
.sf-theme-gentle .sf-footer{background:#fff}

/* ==================================================================
   23. ナチュラル — アーチの窓と土の色
   ================================================================== */
.sf-theme-organic .sf-header-floating .sf-header-inner{background:#f3efe6e6;border-color:#2e33241f}
.sf-theme-organic h1,.sf-theme-organic h2{font-weight:600;letter-spacing:.02em}
.sf-theme-organic h1{font-size:clamp(42px,6vw,92px);line-height:1.2}
.sf-theme-organic .sf-eyebrow{color:var(--sf-accent2);letter-spacing:.28em}
.sf-theme-organic .sf-btn{border-radius:99px;background:var(--sf-accent)}
.sf-theme-organic .sf-btn-outline{background:transparent;color:var(--sf-ink)!important;border:1px solid #2e332455}
.sf-theme-organic .sf-visual>img,.sf-theme-organic .sf-art{border-radius:999px 999px var(--sf-radius) var(--sf-radius);aspect-ratio:3/4}
.sf-theme-organic .sf-grid figure img,.sf-theme-organic .sf-grid figure .sf-art{border-radius:999px 999px 12px 12px;aspect-ratio:3/4}
.sf-theme-organic .sf-art{background:linear-gradient(180deg,#e8b787 0 30%,#cf8a5a 30% 31%,#8fa06a 31%,#5d6b3a)}
.sf-theme-organic .sf-art i{border:0;box-shadow:none;background:none}
.sf-theme-organic .sf-art i:nth-child(1){width:30%;height:auto;aspect-ratio:1;left:35%;top:10%;transform:none;border-radius:50%;background:#f6e3b8}
.sf-theme-organic .sf-art i:nth-child(2){width:140%;height:50%;left:-20%;top:52%;transform:none;border-radius:50%;background:#4d5a2e}
.sf-theme-organic .sf-art i:nth-child(3){width:120%;height:40%;left:-40%;top:70%;transform:none;border-radius:50%;background:#3d4824}
.sf-theme-organic .sf-card{background:#faf7f0;border:0;border-radius:var(--sf-radius)}
.sf-theme-organic .sf-number{border-color:var(--sf-accent2);color:var(--sf-accent2)}
.sf-theme-organic .sf-tone-soft{background:#e8e1d2}
.sf-theme-organic .sf-form input:not([type=checkbox]),.sf-theme-organic .sf-form textarea{border-radius:16px;background:#faf7f0}
.sf-theme-organic .sf-footer{background:#2e3324;color:#f3efe6}

/* ==================================================================
   24. ポップ — 原色、太い輪郭、弾む動き
   ================================================================== */
.sf-theme-pop{--t-y:#ffd60a;--t-line:3px solid var(--sf-ink)}
.sf-theme-pop .sf-header-floating .sf-header-inner{background:#fff;border:var(--t-line)}
.sf-theme-pop .sf-brand{font-weight:800;color:var(--sf-accent)}
.sf-theme-pop h1{font-weight:800;font-size:clamp(44px,6.5vw,100px);line-height:1.2}
.sf-theme-pop h2{font-weight:800}
.sf-theme-pop .sf-hero h1{color:var(--sf-accent)}
.sf-theme-pop .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:6px 16px;border-radius:99px;letter-spacing:.1em;border:var(--t-line)}
.sf-theme-pop .sf-hero{background:var(--t-y)}
.sf-theme-pop .sf-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;background:radial-gradient(circle at 20px -8px,transparent 24px,var(--sf-bg) 25px) 0 0/40px 40px repeat-x}
.sf-theme-pop .sf-btn{border-radius:99px;background:var(--sf-accent);border:var(--t-line);box-shadow:0 5px 0 var(--sf-ink);font-weight:800}
.sf-theme-pop .sf-btn:hover{animation:t-bounce .5s}
@keyframes t-bounce{30%{transform:translateY(-6px) scale(1.04)}60%{transform:translateY(0) scale(.98)}}
.sf-theme-pop .sf-btn-outline{background:#fff;color:var(--sf-ink)!important}
.sf-theme-pop .sf-card,.sf-theme-pop .sf-faq-item{background:#fff;border:var(--t-line);border-radius:var(--sf-radius);box-shadow:0 8px 0 var(--sf-ink)}
.sf-theme-pop .sf-card:hover{transform:translateY(-6px) rotate(-1deg)}
.sf-theme-pop .sf-card:nth-child(3n+1){border-color:var(--sf-accent);box-shadow:0 8px 0 var(--sf-accent)}
.sf-theme-pop .sf-card:nth-child(3n+2){border-color:var(--sf-accent2);box-shadow:0 8px 0 var(--sf-accent2)}
.sf-theme-pop .sf-faq-item{padding:18px 24px;margin-bottom:16px}
.sf-theme-pop .sf-number{border:var(--t-line);padding:0;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--t-y);color:var(--sf-ink);font-weight:800}
.sf-theme-pop .sf-art{border:var(--t-line);background:var(--sf-accent);border-radius:var(--sf-radius);aspect-ratio:1}
.sf-theme-pop .sf-art i{border:var(--t-line);box-shadow:none}
.sf-theme-pop .sf-art i:nth-child(1){width:56%;height:auto;aspect-ratio:1;left:8%;top:34%;border-radius:50%;background:var(--t-y);transform:none}
.sf-theme-pop .sf-art i:nth-child(2){width:36%;height:auto;aspect-ratio:1;left:56%;top:10%;border-radius:0;background:var(--sf-accent2);transform:rotate(14deg)}
.sf-theme-pop .sf-art i:nth-child(3){width:0;height:0;left:62%;top:58%;border:0;border-left:48px solid transparent;border-right:48px solid transparent;border-bottom:80px solid #fff;background:none;border-radius:0}
.sf-theme-pop .sf-tile{border:var(--t-line);border-radius:var(--sf-radius)}
.sf-theme-pop .sf-tile-art:nth-child(3n+1){background:var(--sf-accent)!important}.sf-theme-pop .sf-tile-art:nth-child(3n+2){background:var(--sf-accent2)!important}.sf-theme-pop .sf-tile-art:nth-child(3n){background:var(--t-y)!important}
.sf-theme-pop .sf-tile-art:nth-child(3n) .sf-tile-body{color:var(--sf-ink)!important}
.sf-theme-pop .sf-tone-soft{background:#e8f0ff}
.sf-theme-pop .sf-form input:not([type=checkbox]),.sf-theme-pop .sf-form textarea{border:var(--t-line);border-radius:16px;background:#fff}
.sf-theme-pop .sf-footer{background:var(--sf-accent);color:#fff;border-top:var(--t-line)}
.sf-theme-matsuri h1{font-size:clamp(48px,7.4vw,124px)}

/* ==================================================================
   スマホ（767px以下）— テーマで指定した段組みを1列に戻す
   ================================================================== */
@media (max-width:767px){
 .sf-theme .sf-hero .sf-split-grid{grid-template-columns:1fr!important;gap:32px}
 .sf-theme .sf-hero .sf-copy,.sf-theme .sf-hero .sf-visual{grid-column:auto!important}
 .sf-theme .sf-v-bento .sf-grid,.sf-theme .sf-v-magazine .sf-grid{grid-template-columns:1fr!important}
 .sf-theme .sf-v-bento .sf-card{grid-column:auto!important;grid-row:auto!important;min-height:0}
 .sf-theme .sf-v-magazine .sf-card{border-right:0!important;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
 .sf-theme .sf-grid{grid-template-columns:1fr}
 .sf-theme .sf-stats .sf-grid,.sf-theme .sf-logos .sf-grid{grid-template-columns:repeat(2,1fr)}
 .sf-theme-kinetic .sf-hero .sf-copy{display:block}
 .sf-theme-kinetic .sf-hero .sf-actions{margin:24px 0}
 .sf-theme-kinetic h1{font-size:clamp(48px,15vw,90px)}
 .sf-theme-retro .sf-hero::before{bottom:16%;width:62vw;opacity:.55}
 .sf-theme-sumi h1,.sf-theme-editorial h1,.sf-theme-swiss h1{font-size:clamp(40px,11vw,64px)}
 .sf-theme-matsuri h1{font-size:clamp(40px,11vw,64px)}
 .sf-theme-bento .sf-art{aspect-ratio:4/3}
 .sf-theme-dopamine .sf-card{rotate:0deg!important}
 .sf-theme-wa .sf-hero .sf-copy{min-height:0}
 .sf-theme-wa .sf-art{min-height:260px}
}
/* 日本語の見出しは詰めすぎると行が重なるため、行間の下限を確保 */
.sf-theme-kinetic h1{line-height:1.2}.sf-theme-kinetic h2{line-height:1.2}
.sf-theme-brutal h1{line-height:1.2}.sf-theme-brutal h2{line-height:1.2}
.sf-theme-retro h1{line-height:1.2}
@media (max-width:767px){
 .sf-theme-luxe .sf-brand,.sf-theme-sumi .sf-brand,.sf-theme-cinema .sf-brand,.sf-theme-mono .sf-brand,.sf-theme-wa .sf-brand{letter-spacing:.08em}
 .sf-theme-retro .sf-hero::before{opacity:.35}
}
.sf-theme-kinetic .sf-hero .sf-copy{text-align:left}
.sf-theme-kinetic .sf-hero .sf-eyebrow{justify-self:start}
.sf-theme-kinetic .sf-hero .sf-lead{margin-inline:0}
.sf-theme-retro .sf-hero::before{bottom:12%;width:min(300px,40vw)}

/* ##################################################################
   エンタメ・奇抜（3.4）— 動き続ける14テーマ
   背景の常時アニメーションは .sf-site::before / ::after（画面に固定）を使う。
   セクションは透明にして、下の動く層が見えるようにする。
   ################################################################## */
:is(.sf-theme-blockbuster,.sf-theme-anime,.sf-theme-manga,.sf-theme-cyber,.sf-theme-y2k,.sf-theme-arcade,.sf-theme-idol,.sf-theme-horror,.sf-theme-psyche,.sf-theme-flux,.sf-theme-space,.sf-theme-sports,.sf-theme-fantasy,.sf-theme-noir){background:var(--sf-bg);overflow-x:clip}
:is(.sf-theme-blockbuster,.sf-theme-anime,.sf-theme-manga,.sf-theme-cyber,.sf-theme-y2k,.sf-theme-arcade,.sf-theme-idol,.sf-theme-horror,.sf-theme-psyche,.sf-theme-flux,.sf-theme-space,.sf-theme-sports,.sf-theme-fantasy,.sf-theme-noir) .sf-tone-plain{background:transparent}
:is(.sf-theme-blockbuster,.sf-theme-anime,.sf-theme-manga,.sf-theme-cyber,.sf-theme-y2k,.sf-theme-arcade,.sf-theme-idol,.sf-theme-horror,.sf-theme-psyche,.sf-theme-flux,.sf-theme-space,.sf-theme-sports,.sf-theme-fantasy,.sf-theme-noir)::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}
:is(.sf-theme-blockbuster,.sf-theme-anime,.sf-theme-manga,.sf-theme-cyber,.sf-theme-y2k,.sf-theme-arcade,.sf-theme-idol,.sf-theme-horror,.sf-theme-psyche,.sf-theme-flux,.sf-theme-space,.sf-theme-sports,.sf-theme-fantasy,.sf-theme-noir)>*:not(.sf-skip):not(.sf-header){position:relative;z-index:1}
@keyframes w-spin{to{transform:rotate(1turn)}}
@keyframes w-spin-rev{to{transform:rotate(-1turn)}}
@keyframes w-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes w-shine{to{background-position:200% 0}}
@keyframes w-rise{from{background-position:0 0,0 0,0 0}to{background-position:0 -600px,0 -900px,0 -1200px}}
@keyframes w-fall{from{background-position:0 0,0 0}to{background-position:0 800px,0 1400px}}
@keyframes w-blink{50%{opacity:0}}
@keyframes w-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes w-hue{to{filter:hue-rotate(360deg)}}
@keyframes w-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,-3%,0) scale(1.1)}100%{transform:translate3d(0,0,0) scale(1)}}

/* ---------- 1. ブロックバスター（映画公式サイト） ---------- */
.sf-theme-blockbuster::before{background:radial-gradient(60% 45% at 50% 0%,color-mix(in srgb,var(--sf-accent2) 18%,transparent),transparent 70%)}
.sf-theme-blockbuster.sf-grain::after{opacity:.09;animation:w-grain .6s steps(3) infinite}
@keyframes w-grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}}
.sf-theme-blockbuster .sf-header{background:linear-gradient(#07080bee,#07080b00);border:0}
.sf-theme-blockbuster .sf-brand{font-family:var(--sf-font-head);letter-spacing:.3em;text-transform:uppercase;font-size:18px}
.sf-theme-blockbuster h1,.sf-theme-blockbuster h2{font-family:var(--sf-font-head);text-transform:uppercase;font-weight:400;letter-spacing:.02em;line-height:1.2}
.sf-theme-blockbuster h1{font-weight:900;font-synthesis:none;font-size:clamp(56px,11vw,190px);background:linear-gradient(100deg,#8a8a8a 0%,#fff 20%,#d6d6d6 38%,#fff 46%,#7a7a7a 60%,#fff 80%,#a8a8a8 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 7s linear infinite;text-shadow:none;filter:drop-shadow(0 6px 30px #000)}
.sf-theme-blockbuster h2{font-size:clamp(38px,5.5vw,84px)}
.sf-theme-blockbuster .sf-eyebrow{display:inline-block;border:1px solid var(--sf-accent);color:var(--sf-accent);padding:6px 14px;letter-spacing:.4em;font-size:12px;text-transform:uppercase}
.sf-theme-blockbuster .sf-videohero{background:#000;overflow:hidden}
.sf-theme-blockbuster .sf-videohero::before{content:"";position:absolute;inset:0;border-block:clamp(26px,7vh,70px) solid #000;z-index:2;pointer-events:none}
.sf-theme-blockbuster .sf-videohero::after{content:"";position:absolute;left:-30%;right:-30%;top:46%;height:3px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--sf-accent2) 80%,#fff) 45%,#fff 50%,color-mix(in srgb,var(--sf-accent2) 80%,#fff) 55%,transparent);filter:blur(1.5px);box-shadow:0 0 30px 6px color-mix(in srgb,var(--sf-accent2) 60%,transparent);opacity:.8;z-index:1;animation:w-flare 9s ease-in-out infinite;mix-blend-mode:screen;pointer-events:none}
@keyframes w-flare{0%,100%{transform:translateX(-35%) scaleX(.6);opacity:0}20%{opacity:.9}50%{transform:translateX(30%) scaleX(1);opacity:.7}70%{opacity:0}}
.sf-theme-blockbuster .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(50% 60% at 70% 45%,color-mix(in srgb,var(--sf-accent) 40%,#000),#000 70%)}
.sf-theme-blockbuster .sf-videohero .sf-wrap{z-index:3;position:relative}
.sf-theme-blockbuster .sf-videohero .sf-bgmedia>video,.sf-theme-blockbuster .sf-videohero .sf-bgmedia>img{animation:w-kenburns 24s ease-in-out infinite alternate}
@keyframes w-kenburns{to{transform:scale(1.12) translate(-2%,-1%)}}
.sf-theme-blockbuster .sf-btn{border-radius:0;background:var(--sf-accent);color:#07080b!important;letter-spacing:.24em;text-transform:uppercase;font-weight:700;box-shadow:0 0 0 0 var(--sf-accent);animation:w-ring 2.6s ease-out infinite}
@keyframes w-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sf-accent) 60%,transparent)}100%{box-shadow:0 0 0 18px transparent}}
.sf-theme-blockbuster .sf-btn-outline{background:transparent;color:#fff!important;border:1px solid #fff6;animation:none}
.sf-theme-blockbuster .sf-art{aspect-ratio:2/3;border-radius:0;background:linear-gradient(180deg,#0b0c10 0%,color-mix(in srgb,var(--sf-accent) 45%,#0b0c10) 70%,#0b0c10);box-shadow:0 30px 60px #000c}
.sf-theme-blockbuster .sf-art i{display:none}
.sf-theme-blockbuster .sf-art span{position:absolute;bottom:12%;left:0;right:0;text-align:center;font-family:var(--sf-font-head);letter-spacing:.3em;font-size:clamp(14px,2vw,22px);color:#fff}
.sf-theme-blockbuster .sf-card{background:transparent;border:0;border-top:1px solid #ffffff26;border-radius:0;transition:transform .5s}
.sf-theme-blockbuster .sf-card:hover{transform:translateY(-6px)}
.sf-theme-blockbuster .sf-card img,.sf-theme-blockbuster .sf-grid figure img{aspect-ratio:2/3;object-fit:cover;filter:saturate(.8) contrast(1.1);transition:transform .8s}
.sf-theme-blockbuster .sf-grid figure:hover img{transform:scale(1.05)}
.sf-theme-blockbuster .sf-marquee{border-block:1px solid #ffffff22;padding-block:18px}
.sf-theme-blockbuster .sf-marquee i{font-family:var(--sf-font-head);text-transform:uppercase;font-size:clamp(40px,7vw,110px);color:transparent;-webkit-text-stroke:1px #ffffffaa;font-style:normal}
.sf-theme-blockbuster .sf-marquee b{color:var(--sf-accent)}
.sf-theme-blockbuster .sf-stat strong{font-family:var(--sf-font-head);font-size:clamp(48px,6vw,96px);color:var(--sf-accent);font-weight:400}
.sf-theme-blockbuster .sf-stat p{letter-spacing:.3em;text-transform:uppercase;font-size:12px}
.sf-theme-blockbuster .sf-video-card .sf-video-launch{border-radius:0;background:linear-gradient(135deg,#1a1c22,#000)}
.sf-theme-blockbuster .sf-tone-soft,.sf-theme-blockbuster .sf-tone-dark{background:#0d0e13}
.sf-theme-blockbuster .sf-footer{background:#000;text-align:center;border-top:1px solid #ffffff14}
.sf-theme-blockbuster .sf-footer h2{font-family:var(--sf-font-head);letter-spacing:.35em}
.sf-theme-blockbuster .sf-footer-bottom small{display:block;font-family:var(--sf-font-head);font-stretch:condensed;letter-spacing:.35em;text-transform:uppercase;opacity:.5}
.sf-theme-blockbuster .sf-form input:not([type=checkbox]),.sf-theme-blockbuster .sf-form textarea{background:#ffffff08;border:0;border-bottom:1px solid #ffffff44;border-radius:0;color:#fff}

/* ---------- 2. アニメ（作品公式サイト） ---------- */
.sf-theme-anime::before{background:radial-gradient(circle,var(--sf-accent2) 0 1.5px,transparent 2px) 0 0/34px 34px,radial-gradient(circle,var(--sf-accent) 0 1.5px,transparent 2px) 17px 17px/34px 34px;opacity:.18;animation:w-anime-bg 20s linear infinite}
@keyframes w-anime-bg{to{background-position:340px 340px,357px 357px}}
.sf-theme-anime::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 12% 20%,#fff 0 2px,transparent 3px),radial-gradient(circle at 78% 12%,#fff 0 3px,transparent 4px),radial-gradient(circle at 60% 70%,#fff 0 2px,transparent 3px),radial-gradient(circle at 25% 85%,#fff 0 3px,transparent 4px),radial-gradient(circle at 90% 60%,#fff 0 2px,transparent 3px);filter:drop-shadow(0 0 4px var(--sf-accent2));animation:w-twinkle 3.2s ease-in-out infinite}
@keyframes w-twinkle{0%,100%{opacity:.2}50%{opacity:1}}
.sf-theme-anime .sf-header-floating .sf-header-inner{background:#fff;border:3px solid var(--sf-ink);box-shadow:5px 5px 0 var(--sf-accent);border-radius:999px}
.sf-theme-anime .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-anime h1,.sf-theme-anime h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-anime h1{font-size:clamp(40px,6.2vw,100px);line-height:1.2;color:#fff;-webkit-text-stroke:0;text-shadow:3px 3px 0 var(--sf-ink),-3px 3px 0 var(--sf-ink),3px -3px 0 var(--sf-ink),-3px -3px 0 var(--sf-ink),0 4px 0 var(--sf-ink),4px 0 0 var(--sf-ink),9px 9px 0 var(--sf-accent);transform:rotate(-3deg);transform-origin:left}
.sf-theme-anime h2{font-size:clamp(32px,4.4vw,64px);color:var(--sf-ink);text-shadow:4px 4px 0 var(--sf-accent2)}
.sf-theme-anime .sf-eyebrow{display:inline-block;background:var(--sf-accent);color:#fff;padding:6px 16px;border-radius:999px;font-weight:800;letter-spacing:.2em;transform:rotate(-4deg);box-shadow:3px 3px 0 var(--sf-ink)}
.sf-theme-anime .sf-hero,.sf-theme-anime .sf-videohero{overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--sf-accent2) 35%,#fff),#fff 55%,color-mix(in srgb,var(--sf-accent) 25%,#fff))}
.sf-theme-anime .sf-hero::before,.sf-theme-anime .sf-videohero::before{content:"";position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--sf-accent2) 30%,transparent) 0 3deg,transparent 3deg 12deg);-webkit-mask:radial-gradient(circle,transparent 12%,#000 45%);mask:radial-gradient(circle,transparent 12%,#000 45%);animation:w-spin 90s linear infinite;z-index:-1;pointer-events:none}
.sf-theme-anime .sf-videohero::before{z-index:1;opacity:.6}
.sf-theme-anime .sf-videohero .sf-wrap{position:relative;z-index:2}
.sf-theme-anime .sf-hero .sf-visual{animation:w-bob 4s ease-in-out infinite}
.sf-theme-anime .sf-hero .sf-visual img,.sf-theme-anime .sf-hero .sf-art{border:4px solid var(--sf-ink);border-radius:28px 28px 28px 4px;box-shadow:12px 12px 0 var(--sf-accent)}
.sf-theme-anime .sf-art{background:radial-gradient(circle at 30% 30%,#fff 0 8%,transparent 9%),linear-gradient(135deg,var(--sf-accent2),var(--sf-accent))}
.sf-theme-anime .sf-art i{border:3px solid #fff;background:#ffffff33}
.sf-theme-anime .sf-art span{font-family:var(--sf-font-head);color:#fff;text-shadow:2px 2px 0 var(--sf-ink)}
.sf-theme-anime .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:999px;background:var(--sf-accent);color:#fff!important;border:3px solid var(--sf-ink);box-shadow:5px 5px 0 var(--sf-ink);transition:transform .2s,box-shadow .2s}
.sf-theme-anime .sf-btn:hover{transform:translate(-2px,-2px) rotate(-2deg);box-shadow:8px 8px 0 var(--sf-ink)}
.sf-theme-anime .sf-btn-outline{background:#fff;color:var(--sf-ink)!important}
.sf-theme-anime .sf-card,.sf-theme-anime .sf-faq-item,.sf-theme-anime .sf-stat,.sf-theme-anime .sf-grid figure{background:#fff;border:3px solid var(--sf-ink);border-radius:22px;box-shadow:7px 7px 0 var(--sf-accent2);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.sf-theme-anime .sf-card:nth-child(even),.sf-theme-anime .sf-grid figure:nth-child(even){box-shadow:7px 7px 0 var(--sf-accent)}
.sf-theme-anime .sf-card:hover,.sf-theme-anime .sf-grid figure:hover{transform:translateY(-8px) rotate(-1.5deg)}
.sf-theme-anime .sf-grid figure{overflow:hidden;padding:0}
.sf-theme-anime .sf-grid figure figcaption{padding:14px 18px}
.sf-theme-anime .sf-team .sf-card img{aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:3px solid var(--sf-ink)}
.sf-theme-anime .sf-number{font-family:var(--sf-font-head);background:var(--sf-accent2);color:#fff;border:3px solid var(--sf-ink);border-radius:50%}
.sf-theme-anime .sf-marquee{background:var(--sf-ink);transform:rotate(-2deg) scale(1.03);padding-block:14px}
.sf-theme-anime .sf-marquee i{font-family:var(--sf-font-head);color:#fff;font-style:normal}
.sf-theme-anime .sf-marquee b{color:var(--sf-accent2)}
.sf-theme-anime .sf-tone-soft{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--sf-accent) 9%,#fff) 0 16px,#fff 16px 32px)}
.sf-theme-anime .sf-tone-accent{background:var(--sf-accent);color:#fff}
.sf-theme-anime .sf-video-card .sf-video-launch{border:3px solid var(--sf-ink);border-radius:18px;background:linear-gradient(135deg,var(--sf-accent2),var(--sf-accent))}
.sf-theme-anime .sf-footer{background:var(--sf-ink);color:#fff;border-top:6px solid var(--sf-accent)}
.sf-theme-anime .sf-form input:not([type=checkbox]),.sf-theme-anime .sf-form textarea{border:3px solid var(--sf-ink);border-radius:14px;background:#fff}

/* ---------- 3. マンガ（コミック） ---------- */
.sf-theme-manga::before{background:radial-gradient(circle,#000 0 1.2px,transparent 1.6px) 0 0/9px 9px;opacity:.07}
.sf-theme-manga .sf-header{background:#fff;border-bottom:4px solid #000}
.sf-theme-manga .sf-brand{font-family:var(--sf-font-head);font-size:22px}
.sf-theme-manga h1,.sf-theme-manga h2,.sf-theme-manga h3{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-manga h1{font-size:clamp(48px,8.5vw,140px);line-height:1.2;letter-spacing:-.01em}
.sf-theme-manga h2{font-size:clamp(34px,4.6vw,70px)}
.sf-theme-manga .sf-eyebrow{display:inline-block;font-family:var(--sf-font-head);font-size:clamp(26px,3.4vw,46px);color:var(--sf-accent);letter-spacing:.05em;-webkit-text-stroke:2px #000;paint-order:stroke fill;transform:rotate(-8deg) skewX(-8deg);animation:w-don 2.4s ease-in-out infinite}
@keyframes w-don{0%,100%{transform:rotate(-8deg) skewX(-8deg) scale(1)}8%{transform:rotate(-8deg) skewX(-8deg) scale(1.18)}16%{transform:rotate(-8deg) skewX(-8deg) scale(1)}}
.sf-theme-manga .sf-hero,.sf-theme-manga .sf-videohero{overflow:hidden;border-bottom:5px solid #000}
.sf-theme-manga .sf-hero::before{content:"";position:absolute;left:50%;top:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;background:repeating-conic-gradient(#000 0 .6deg,transparent .6deg 4deg);-webkit-mask:radial-gradient(circle,transparent 18%,#000 55%);mask:radial-gradient(circle,transparent 18%,#000 55%);opacity:.9;z-index:-1;animation:w-focus .5s steps(2) infinite}
@keyframes w-focus{50%{transform:rotate(1.4deg) scale(1.02)}}
.sf-theme-manga .sf-hero .sf-visual img,.sf-theme-manga .sf-hero .sf-art,.sf-theme-manga .sf-split .sf-visual img,.sf-theme-manga .sf-split .sf-art{border:5px solid #000;border-radius:0;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);filter:grayscale(1) contrast(1.3)}
.sf-theme-manga .sf-art{background:radial-gradient(circle,#000 0 1.4px,transparent 1.8px) 0 0/8px 8px,#fff}
.sf-theme-manga .sf-art i{border:3px solid #000;background:#fff}
.sf-theme-manga .sf-art span{font-family:var(--sf-font-head);background:#fff;padding:4px 10px;border:3px solid #000}
.sf-theme-manga .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:0;background:var(--sf-accent);color:#fff!important;border:4px solid #000;box-shadow:6px 6px 0 #000;transform:skewX(-8deg)}
.sf-theme-manga .sf-btn:hover{animation:w-shake .35s linear infinite}
@keyframes w-shake{25%{transform:skewX(-8deg) translate(2px,-1px)}50%{transform:skewX(-8deg) translate(-2px,1px)}75%{transform:skewX(-8deg) translate(1px,2px)}}
.sf-theme-manga .sf-btn-outline{background:#fff;color:#000!important}
.sf-theme-manga .sf-card,.sf-theme-manga .sf-stat,.sf-theme-manga .sf-grid figure{background:#fff;border:4px solid #000;border-radius:0;box-shadow:none}
.sf-theme-manga .sf-grid>*:nth-child(3n+1){transform:rotate(-1deg)}.sf-theme-manga .sf-grid>*:nth-child(3n+2){transform:rotate(.8deg) translateY(10px)}
.sf-theme-manga .sf-testimonials .sf-card{border-radius:48% 52% 46% 54%/40% 42% 58% 60%;padding:34px 30px}
.sf-theme-manga .sf-testimonials .sf-card::after{content:"";position:absolute;left:22%;bottom:-26px;width:34px;height:34px;background:#fff;border-right:4px solid #000;border-bottom:4px solid #000;transform:skew(35deg) rotate(20deg)}
.sf-theme-manga .sf-card{position:relative}
.sf-theme-manga .sf-number{font-family:var(--sf-font-head);background:#000;color:#fff;border-radius:0}
.sf-theme-manga .sf-faq-item{border:4px solid #000;background:#fff;padding:16px 20px;margin-bottom:12px}
.sf-theme-manga .sf-marquee{background:#000;transform:skewY(-2deg);padding-block:12px}
.sf-theme-manga .sf-marquee i{font-family:var(--sf-font-head);color:#fff;font-style:normal;font-size:clamp(34px,5vw,70px)}
.sf-theme-manga .sf-marquee b{color:var(--sf-accent)}
.sf-theme-manga .sf-tone-soft{background:radial-gradient(circle,#0000001f 0 1.4px,transparent 1.8px) 0 0/8px 8px,#fff}
.sf-theme-manga .sf-tone-ink,.sf-theme-manga .sf-tone-dark{background:#000;color:#fff}
.sf-theme-manga .sf-bigquote p{font-family:var(--sf-font-head);background:#fff;border:4px solid #000;border-radius:50%;padding:60px 50px}
.sf-theme-manga .sf-footer{background:#000;color:#fff}
.sf-theme-manga .sf-form input:not([type=checkbox]),.sf-theme-manga .sf-form textarea{border:3px solid #000;border-radius:0}

/* ---------- 4. サイバーパンク ---------- */
.sf-theme-cyber::before{background:repeating-linear-gradient(0deg,#ffffff07 0 1px,transparent 1px 4px),linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--sf-accent) 14%,transparent));animation:w-scan 8s linear infinite}
@keyframes w-scan{to{background-position:0 400px,0 0}}
.sf-theme-cyber::after{content:"";position:fixed;left:0;right:0;height:120px;top:-120px;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--sf-accent2) 12%,transparent),transparent);animation:w-sweep 6s linear infinite}
@keyframes w-sweep{to{transform:translateY(calc(100vh + 240px))}}
.sf-theme-cyber .sf-header{background:#05050ccc;backdrop-filter:blur(8px);border-bottom:1px solid var(--sf-accent2)}
.sf-theme-cyber .sf-brand{font-family:var(--sf-font-head);font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--sf-accent2);text-shadow:0 0 12px var(--sf-accent2)}
.sf-theme-cyber h1,.sf-theme-cyber h2{font-family:var(--sf-font-head);font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.sf-theme-cyber h1{font-size:clamp(46px,8vw,132px);line-height:1.2;position:relative;text-shadow:3px 0 var(--sf-accent),-3px 0 var(--sf-accent2);animation:w-glitch 4s steps(1) infinite}
@keyframes w-glitch{0%,86%,100%{text-shadow:3px 0 var(--sf-accent),-3px 0 var(--sf-accent2);clip-path:none;transform:none}88%{text-shadow:-6px 0 var(--sf-accent),6px 0 var(--sf-accent2);clip-path:inset(20% 0 55% 0);transform:translateX(6px)}90%{clip-path:inset(60% 0 10% 0);transform:translateX(-8px)}92%{clip-path:inset(5% 0 80% 0);transform:translateX(4px)}94%{clip-path:none;transform:none}}
.sf-theme-cyber h2{font-size:clamp(30px,4.4vw,64px);color:var(--sf-accent2);text-shadow:0 0 22px color-mix(in srgb,var(--sf-accent2) 60%,transparent)}
.sf-theme-cyber h3{color:var(--sf-accent2)}
.sf-theme-cyber .sf-eyebrow{font-family:var(--sf-font-head);color:var(--sf-accent);letter-spacing:.3em;text-transform:uppercase}
.sf-theme-cyber .sf-eyebrow::before{content:"// "}
.sf-theme-cyber .sf-eyebrow::after{content:"_";animation:w-blink 1s steps(1) infinite;margin-left:4px}
.sf-theme-cyber .sf-hero,.sf-theme-cyber .sf-videohero{overflow:hidden}
.sf-theme-cyber .sf-hero::after{content:"";position:absolute;left:-50%;right:-50%;bottom:0;height:45%;background-image:linear-gradient(var(--sf-accent2) 1px,transparent 1px),linear-gradient(90deg,var(--sf-accent2) 1px,transparent 1px);background-size:60px 30px;transform:perspective(380px) rotateX(64deg);transform-origin:bottom;opacity:.35;-webkit-mask:linear-gradient(transparent,#000 70%);mask:linear-gradient(transparent,#000 70%);z-index:-1;animation:w-grid 1.2s linear infinite}
@keyframes w-grid{to{background-position:0 30px}}
.sf-theme-cyber .sf-btn{font-family:var(--sf-font-head);border-radius:0;background:var(--sf-accent);color:#05050c!important;text-transform:uppercase;letter-spacing:.14em;font-weight:700;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 0 24px var(--sf-accent)}
.sf-theme-cyber .sf-btn:hover{animation:w-flicker .5s steps(2) 2}
@keyframes w-flicker{50%{opacity:.55}}
.sf-theme-cyber .sf-btn-outline{background:transparent;color:var(--sf-accent2)!important;outline:1px solid var(--sf-accent2);outline-offset:-1px}
.sf-theme-cyber .sf-card,.sf-theme-cyber .sf-stat,.sf-theme-cyber .sf-faq-item,.sf-theme-cyber .sf-grid figure{background:linear-gradient(135deg,#0e0e1d,#07070f);border:1px solid color-mix(in srgb,var(--sf-accent2) 50%,transparent);border-radius:0;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));transition:border-color .3s,transform .3s}
.sf-theme-cyber .sf-card:hover{border-color:var(--sf-accent);transform:translateY(-4px)}
.sf-theme-cyber .sf-number{font-family:var(--sf-font-head);color:var(--sf-accent);border-color:var(--sf-accent);border-radius:0}
.sf-theme-cyber .sf-stat strong{font-family:var(--sf-font-head);color:var(--sf-accent2);text-shadow:0 0 16px var(--sf-accent2);font-size:clamp(40px,5vw,72px)}
.sf-theme-cyber .sf-art{background:repeating-linear-gradient(0deg,#ffffff0a 0 2px,transparent 2px 5px),linear-gradient(135deg,color-mix(in srgb,var(--sf-accent) 50%,#05050c),#05050c 60%,color-mix(in srgb,var(--sf-accent2) 40%,#05050c));border-radius:0;clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,10% 100%,0 90%)}
.sf-theme-cyber .sf-art i{border:1px solid var(--sf-accent2);background:none;border-radius:0}
.sf-theme-cyber .sf-art span{font-family:var(--sf-font-head);color:var(--sf-accent2);letter-spacing:.3em}
.sf-theme-cyber .sf-marquee{background:var(--sf-accent);color:#05050c;padding-block:10px}
.sf-theme-cyber .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;font-weight:900;text-transform:uppercase}
.sf-theme-cyber .sf-tone-soft{background:#0b0b18cc}
.sf-theme-cyber .sf-video-card .sf-video-launch{border-radius:0;border:1px solid var(--sf-accent2)}
.sf-theme-cyber .sf-footer{background:#030308;border-top:1px solid var(--sf-accent)}
.sf-theme-cyber .sf-form input:not([type=checkbox]),.sf-theme-cyber .sf-form textarea{background:#0b0b18;border:1px solid var(--sf-accent2);border-radius:0;color:#e6f7ff}

/* ---------- 5. Y2K（デスクトップ風） ---------- */
.sf-theme-y2k::before{background:linear-gradient(180deg,#fdf0ff 0%,#dfe8ff 55%,#fdf0ff 100%)}
.sf-theme-y2k::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 110%,#ffffffcc 0 18px,transparent 20px),radial-gradient(circle at 70% 110%,#ffffffaa 0 30px,transparent 32px),radial-gradient(circle at 45% 110%,#ffffffbb 0 12px,transparent 14px);background-size:100% 700px,100% 1000px,100% 520px;animation:w-rise 16s linear infinite;opacity:.8}
.sf-theme-y2k .sf-header{background:linear-gradient(180deg,#fff,#e8e6f4);border-bottom:2px solid #9d98c4;box-shadow:inset 0 -1px #fff}
.sf-theme-y2k .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-y2k h1,.sf-theme-y2k h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-y2k h1{font-size:clamp(46px,8vw,124px);line-height:1.2;background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2),#3aa0ff,var(--sf-accent),var(--sf-accent2)) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 6s linear infinite;filter:drop-shadow(3px 3px 0 #fff) drop-shadow(5px 5px 0 #1b144622)}
.sf-theme-y2k h2{font-size:clamp(30px,4vw,58px);color:var(--sf-accent)}
.sf-theme-y2k .sf-eyebrow{font-family:var(--sf-font-head);background:var(--sf-accent2);color:#fff;display:inline-block;padding:4px 12px;border-radius:4px;letter-spacing:.1em}
.sf-theme-y2k .sf-hero .sf-visual{animation:w-bob 5s ease-in-out infinite}
.sf-theme-y2k .sf-card,.sf-theme-y2k .sf-stat,.sf-theme-y2k .sf-faq-item,.sf-theme-y2k .sf-grid figure,.sf-theme-y2k .sf-hero .sf-visual>*,.sf-theme-y2k .sf-split .sf-visual>*{position:relative;background:#f4f3fb;border:2px solid;border-color:#fff #6f6a99 #6f6a99 #fff;border-radius:6px;box-shadow:4px 4px 0 #6f6a9955;padding-top:38px}
.sf-theme-y2k .sf-card::before,.sf-theme-y2k .sf-stat::before,.sf-theme-y2k .sf-grid figure::before,.sf-theme-y2k .sf-hero .sf-visual>*::before,.sf-theme-y2k .sf-split .sf-visual>*::before{content:"● ● ●";position:absolute;left:0;right:0;top:0;height:26px;padding:0 10px;font-size:9px;line-height:26px;letter-spacing:3px;color:#fff;text-align:right;background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2));border-radius:4px 4px 0 0;z-index:2}
.sf-theme-y2k .sf-hero .sf-visual>img,.sf-theme-y2k .sf-split .sf-visual>img{padding:30px 6px 6px;background:#f4f3fb}
.sf-theme-y2k .sf-card:hover{transform:translateY(-4px) rotate(-.6deg);transition:transform .25s}
.sf-theme-y2k .sf-art{background:conic-gradient(from 0deg,#ffd1f4,#c9d7ff,#d1fff4,#fff5c9,#ffd1f4);border-radius:6px}
.sf-theme-y2k .sf-art i{border:2px solid #fff;background:radial-gradient(circle at 30% 30%,#fff,#ffffff33 60%);animation:w-bob 3s ease-in-out infinite}
.sf-theme-y2k .sf-art i:nth-child(2){animation-delay:-1s}.sf-theme-y2k .sf-art i:nth-child(3){animation-delay:-2s}
.sf-theme-y2k .sf-art span{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-y2k .sf-btn{font-family:var(--sf-font-head);border-radius:6px;background:linear-gradient(180deg,#fff,#dcd8f2);color:var(--sf-ink)!important;border:2px solid;border-color:#fff #6f6a99 #6f6a99 #fff;box-shadow:3px 3px 0 #6f6a9955}
.sf-theme-y2k .sf-btn:not(.sf-btn-outline){background:linear-gradient(180deg,color-mix(in srgb,var(--sf-accent) 60%,#fff),var(--sf-accent));color:#fff!important}
.sf-theme-y2k .sf-btn:active{border-color:#6f6a99 #fff #fff #6f6a99}
.sf-theme-y2k .sf-marquee{background:#000080;color:#fff;border-block:2px solid #fff}
.sf-theme-y2k .sf-marquee i{font-family:var(--sf-font-head);font-style:normal}
.sf-theme-y2k .sf-marquee b{color:#ffe600}
.sf-theme-y2k .sf-tone-soft{background:#ffffff88}
.sf-theme-y2k .sf-number{font-family:var(--sf-font-head);border-radius:4px}
.sf-theme-y2k .sf-footer{background:#c9c6e3;border-top:2px solid #fff;color:var(--sf-ink)}
.sf-theme-y2k .sf-form input:not([type=checkbox]),.sf-theme-y2k .sf-form textarea{background:#fff;border:2px solid;border-color:#6f6a99 #fff #fff #6f6a99;border-radius:0}

/* ---------- 6. アーケード（8ビット） ---------- */
.sf-theme-arcade::before{background:radial-gradient(circle,#fff 0 1px,transparent 1.5px) 0 0/90px 90px,radial-gradient(circle,#ffffffaa 0 1px,transparent 1.5px) 30px 45px/60px 60px;animation:w-fall 18s linear infinite}
.sf-theme-arcade::after{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000040 2px 4px);mix-blend-mode:multiply}
.sf-theme-arcade{--px:4px}
.sf-theme-arcade .sf-header{background:#0b0b1e;border-bottom:var(--px) solid var(--sf-accent)}
.sf-theme-arcade .sf-brand,.sf-theme-arcade h1,.sf-theme-arcade h2,.sf-theme-arcade h3,.sf-theme-arcade .sf-eyebrow,.sf-theme-arcade .sf-btn,.sf-theme-arcade .sf-stat strong,.sf-theme-arcade .sf-marquee i{font-family:var(--sf-font-head);font-weight:400;letter-spacing:.04em}
.sf-theme-arcade .sf-brand{color:var(--sf-accent)}
.sf-theme-arcade h1{font-size:clamp(44px,7.5vw,120px);line-height:1.2;color:var(--sf-accent);text-shadow:var(--px) var(--px) 0 #e8246c,calc(var(--px)*2) calc(var(--px)*2) 0 #000}
.sf-theme-arcade h2{font-size:clamp(28px,3.8vw,54px);color:var(--sf-accent2);text-shadow:var(--px) var(--px) 0 #000}
.sf-theme-arcade .sf-eyebrow{color:#fff;animation:w-blink 1.1s steps(1) infinite}
.sf-theme-arcade .sf-eyebrow::before{content:"▶ "}
.sf-theme-arcade .sf-btn,.sf-theme-arcade .sf-card,.sf-theme-arcade .sf-stat,.sf-theme-arcade .sf-faq-item,.sf-theme-arcade .sf-grid figure,.sf-theme-arcade .sf-art,.sf-theme-arcade .sf-visual img{border-radius:0;border:0;box-shadow:0 calc(var(--px)*-1) 0 0 #fff,0 var(--px) 0 0 #fff,calc(var(--px)*-1) 0 0 0 #fff,var(--px) 0 0 0 #fff,var(--px) var(--px) 0 var(--px) #000}
.sf-theme-arcade .sf-card,.sf-theme-arcade .sf-stat,.sf-theme-arcade .sf-faq-item,.sf-theme-arcade .sf-grid figure{background:#16163a;margin:var(--px)}
.sf-theme-arcade .sf-card:hover{animation:w-hop .5s steps(3)}
@keyframes w-hop{50%{transform:translateY(-12px)}}
.sf-theme-arcade .sf-btn{background:var(--sf-accent);color:#0b0b1e!important;margin:var(--px)}
.sf-theme-arcade .sf-btn:active{transform:translate(var(--px),var(--px))}
.sf-theme-arcade .sf-btn-outline{background:#0b0b1e;color:#fff!important}
.sf-theme-arcade .sf-art{background:linear-gradient(#5b2bd8 0 40%,#e8246c 40% 55%,#ffcc00 55% 62%,#0b0b1e 62%);image-rendering:pixelated}
.sf-theme-arcade .sf-art i{display:none}
.sf-theme-arcade .sf-art span{font-family:var(--sf-font-head);color:#fff;font-size:clamp(14px,1.8vw,22px);animation:w-blink 1.2s steps(1) infinite;position:absolute;bottom:14%}
.sf-theme-arcade .sf-art::before{content:"";position:absolute;width:24px;height:24px;top:30%;left:20%;background:#fff;box-shadow:24px 0 #fff,48px 0 #fff,0 24px #fff,72px 24px #fff,24px 48px #ffcc00,48px 48px #ffcc00;animation:w-invader 1.6s steps(2) infinite alternate}
@keyframes w-invader{to{transform:translateX(120%)}}
.sf-theme-arcade .sf-stat strong{color:var(--sf-accent);font-size:clamp(34px,4.4vw,60px)}
.sf-theme-arcade .sf-stat strong::before{content:"SCORE ";font-size:.35em;color:#fff;display:block}
.sf-theme-arcade .sf-number{font-family:var(--sf-font-head);background:var(--sf-accent2);color:#0b0b1e;border:0;border-radius:0;width:auto;min-width:2.6em;padding:2px 8px;text-align:center}
.sf-theme-arcade .sf-marquee{background:#e8246c;padding-block:10px}
.sf-theme-arcade .sf-marquee i{font-style:normal;color:#fff}
.sf-theme-arcade .sf-tone-soft,.sf-theme-arcade .sf-tone-dark{background:#11112a}
.sf-theme-arcade .sf-footer{background:#05050f;border-top:var(--px) solid var(--sf-accent)}
.sf-theme-arcade .sf-form input:not([type=checkbox]),.sf-theme-arcade .sf-form textarea{background:#16163a;border:var(--px) solid #fff;border-radius:0;color:#fff}

/* ---------- 7. アイドル・ライブ ---------- */
.sf-theme-idol::before{background:conic-gradient(from 160deg at 18% -10%,transparent 0 10deg,color-mix(in srgb,var(--sf-accent) 35%,transparent) 14deg,transparent 22deg),conic-gradient(from 170deg at 82% -10%,transparent 0 12deg,color-mix(in srgb,var(--sf-accent2) 35%,transparent) 16deg,transparent 24deg);animation:w-spot 7s ease-in-out infinite alternate}
@keyframes w-spot{0%{transform:skewX(-8deg)}100%{transform:skewX(8deg)}}
.sf-theme-idol::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 10% 100%,var(--sf-accent) 0 4px,transparent 5px),radial-gradient(circle at 35% 100%,#fff 0 3px,transparent 4px),radial-gradient(circle at 60% 100%,var(--sf-accent2) 0 5px,transparent 6px),radial-gradient(circle at 85% 100%,#ffd76b 0 3px,transparent 4px);background-size:100% 520px,100% 760px,100% 640px,100% 900px;animation:w-rise2 11s linear infinite;opacity:.7;filter:drop-shadow(0 0 6px #fff)}
@keyframes w-rise2{to{background-position:0 -520px,0 -760px,0 -640px,0 -900px}}
.sf-theme-idol .sf-header-floating .sf-header-inner{background:#1d0f33cc;border:1px solid #ffffff2a;backdrop-filter:blur(12px);border-radius:999px}
.sf-theme-idol .sf-brand{font-family:var(--sf-font-head);background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-idol h1,.sf-theme-idol h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-idol h1{font-size:clamp(46px,8vw,128px);line-height:1.2;background:linear-gradient(100deg,#fff 0%,var(--sf-accent) 20%,#fff 35%,var(--sf-accent2) 55%,#fff 70%,#ffd76b 85%,#fff 100%) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 4s linear infinite;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--sf-accent) 70%,transparent))}
.sf-theme-idol h2{font-size:clamp(30px,4.2vw,60px);color:#fff;text-shadow:0 0 18px var(--sf-accent)}
.sf-theme-idol h3{color:#ffd76b}
.sf-theme-idol .sf-eyebrow{color:#ffd76b;letter-spacing:.3em}
.sf-theme-idol .sf-eyebrow::before{content:"♡ "}
.sf-theme-idol .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:999px;background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2));color:#fff!important;border:0;animation:w-glow 2s ease-in-out infinite}
@keyframes w-glow{0%,100%{box-shadow:0 0 12px color-mix(in srgb,var(--sf-accent) 70%,transparent)}50%{box-shadow:0 0 32px var(--sf-accent),0 0 60px color-mix(in srgb,var(--sf-accent2) 50%,transparent)}}
.sf-theme-idol .sf-btn-outline{background:transparent;border:2px solid #fff;animation:none}
.sf-theme-idol .sf-card,.sf-theme-idol .sf-stat,.sf-theme-idol .sf-faq-item,.sf-theme-idol .sf-grid figure{background:linear-gradient(#1d0f33e6,#1d0f33e6) padding-box,linear-gradient(135deg,var(--sf-accent),var(--sf-accent2),#ffd76b) border-box;border:2px solid transparent;border-radius:24px;transition:transform .3s}
.sf-theme-idol .sf-card:hover,.sf-theme-idol .sf-grid figure:hover{transform:translateY(-6px) scale(1.02)}
.sf-theme-idol .sf-grid figure{overflow:hidden}
.sf-theme-idol .sf-team .sf-card img{border-radius:50%;aspect-ratio:1;object-fit:cover;border:3px solid var(--sf-accent)}
.sf-theme-idol .sf-hero .sf-visual img,.sf-theme-idol .sf-hero .sf-art{border-radius:200px 200px 24px 24px;box-shadow:0 0 60px color-mix(in srgb,var(--sf-accent) 50%,transparent)}
.sf-theme-idol .sf-art{background:radial-gradient(circle at 50% 30%,#fff5 0 10%,transparent 11%),linear-gradient(160deg,var(--sf-accent2),var(--sf-accent) 60%,#ffd76b)}
.sf-theme-idol .sf-art i{border:1px solid #fff8;background:#ffffff22;animation:w-pulse 2.4s ease-in-out infinite}
.sf-theme-idol .sf-art span{font-family:var(--sf-font-head);color:#fff}
.sf-theme-idol .sf-number{background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));color:#fff;border:0}
.sf-theme-idol .sf-stat strong{color:#ffd76b;text-shadow:0 0 16px #ffd76b88}
.sf-theme-idol .sf-marquee{background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2));padding-block:12px}
.sf-theme-idol .sf-marquee i{font-family:var(--sf-font-head);color:#fff;font-style:normal}
.sf-theme-idol .sf-marquee b{color:#ffd76b}
.sf-theme-idol .sf-tone-soft{background:#ffffff08}
.sf-theme-idol .sf-footer{background:#0d0619;border-top:1px solid #ffffff1a}
.sf-theme-idol .sf-form input:not([type=checkbox]),.sf-theme-idol .sf-form textarea{background:#ffffff0d;border:1px solid #ffffff33;border-radius:16px;color:#fff}

/* ---------- 8. ホラー ---------- */
.sf-theme-horror::before{background:radial-gradient(ellipse at 50% 40%,transparent 30%,#000 90%),radial-gradient(60% 40% at 20% 80%,#ffffff0a,transparent 70%),radial-gradient(50% 35% at 80% 70%,#ffffff08,transparent 70%);animation:w-flick 7s linear infinite}
@keyframes w-flick{0%,41%,44%,100%{opacity:1}42%{opacity:.55}43%{opacity:.9}}
.sf-theme-horror::after{content:"";position:fixed;left:0;right:0;height:3px;top:-5px;z-index:40;pointer-events:none;background:#ffffff26;box-shadow:0 0 12px #ffffff33;animation:w-track 9s linear infinite}
@keyframes w-track{0%,60%{transform:translateY(0);opacity:0}61%{opacity:1}100%{transform:translateY(105vh);opacity:.6}}
.sf-theme-horror .sf-header{background:linear-gradient(#000,#0000);border:0}
.sf-theme-horror .sf-brand{font-family:var(--sf-font-head);letter-spacing:.4em;color:var(--sf-accent)}
.sf-theme-horror h1,.sf-theme-horror h2{font-family:var(--sf-font-head);font-weight:700}
.sf-theme-horror h1{font-size:clamp(50px,9vw,150px);line-height:1.2;color:#e9dcd6;letter-spacing:.06em;text-shadow:0 0 1px #000,0 0 30px color-mix(in srgb,var(--sf-accent) 60%,transparent);animation:w-jitter 6s steps(1) infinite}
@keyframes w-jitter{0%,93%,100%{transform:none;color:#e9dcd6}94%{transform:translate(-3px,1px) skewX(4deg);color:var(--sf-accent)}95%{transform:translate(3px,-1px)}96%{transform:none}}
.sf-theme-horror h2{font-size:clamp(32px,4.6vw,68px);color:var(--sf-accent);letter-spacing:.06em}
.sf-theme-horror .sf-eyebrow{color:#8f8a86;letter-spacing:.6em}
.sf-theme-horror .sf-videohero .sf-bgmedia:not(:has(video,iframe,img)){background:radial-gradient(40% 50% at 50% 60%,#3a0008,#000 75%)}
.sf-theme-horror .sf-videohero .sf-bgmedia>video,.sf-theme-horror .sf-videohero .sf-bgmedia>img{filter:grayscale(.7) contrast(1.2) brightness(.8)}
.sf-theme-horror .sf-btn{border-radius:0;background:transparent;border:1px solid var(--sf-accent);color:#fff!important;letter-spacing:.3em;transition:background .6s}
.sf-theme-horror .sf-btn:hover{background:var(--sf-accent);box-shadow:0 0 40px var(--sf-accent)}
.sf-theme-horror .sf-card,.sf-theme-horror .sf-stat,.sf-theme-horror .sf-faq-item{background:#0f0a0b;border:0;border-bottom:2px solid var(--sf-accent);border-radius:0}
.sf-theme-horror .sf-card img,.sf-theme-horror figure img,.sf-theme-horror .sf-visual img{filter:grayscale(1) contrast(1.25) brightness(.85);transition:filter 1.2s}
.sf-theme-horror .sf-card:hover img,.sf-theme-horror figure:hover img{filter:grayscale(0) sepia(.4) hue-rotate(-30deg) contrast(1.3)}
.sf-theme-horror .sf-art{border-radius:0;background:radial-gradient(circle at 50% 35%,#5a0010,#000 70%)}
.sf-theme-horror .sf-art i{display:none}
.sf-theme-horror .sf-art span{color:#8f8a86;letter-spacing:.5em;animation:w-flick 5s linear infinite}
.sf-theme-horror .sf-marquee{border-block:1px solid #3a0008}
.sf-theme-horror .sf-marquee i{font-family:var(--sf-font-head);color:var(--sf-accent);font-style:normal;opacity:.85}
.sf-theme-horror .sf-tone-soft,.sf-theme-horror .sf-tone-dark{background:#0d0708}
.sf-theme-horror .sf-number{color:var(--sf-accent);border-color:var(--sf-accent);border-radius:0}
.sf-theme-horror .sf-footer{background:#000}
.sf-theme-horror .sf-form input:not([type=checkbox]),.sf-theme-horror .sf-form textarea{background:#0f0a0b;border:0;border-bottom:1px solid var(--sf-accent);border-radius:0;color:#e9dcd6}

/* ---------- 9. サイケデリック ---------- */
.sf-theme-psyche::before{inset:-50%;background:conic-gradient(from 0deg,var(--sf-accent),#ffd23f,var(--sf-accent2),#7b2cff,var(--sf-accent));opacity:.2;filter:blur(40px);animation:w-spin 30s linear infinite}
.sf-theme-psyche .sf-header-floating .sf-header-inner{background:#fff;border:3px solid var(--sf-ink);border-radius:999px}
.sf-theme-psyche h1,.sf-theme-psyche h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-psyche h1{font-size:clamp(50px,9vw,150px);line-height:1.2;background:linear-gradient(90deg,var(--sf-accent),#ffd23f,var(--sf-accent2),#7b2cff,var(--sf-accent)) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 5s linear infinite;-webkit-text-stroke:2px var(--sf-ink)}
.sf-theme-psyche h2{font-size:clamp(34px,5vw,74px);color:var(--sf-ink);animation:w-wave 4s ease-in-out infinite}
@keyframes w-wave{0%,100%{transform:skewX(0)}50%{transform:skewX(-6deg)}}
.sf-theme-psyche .sf-eyebrow{color:var(--sf-accent);letter-spacing:.3em;font-weight:800}
.sf-theme-psyche .sf-hero,.sf-theme-psyche .sf-videohero{overflow:hidden}
.sf-theme-psyche .sf-hero::before,.sf-theme-psyche .sf-hero::after{content:"";position:absolute;width:42vmax;height:42vmax;z-index:-1;animation:w-blob 12s ease-in-out infinite,w-hue 14s linear infinite;background:linear-gradient(135deg,var(--sf-accent),#ffd23f)}
.sf-theme-psyche .sf-hero::before{top:-12vmax;right:-8vmax}
.sf-theme-psyche .sf-hero::after{bottom:-18vmax;left:-10vmax;background:linear-gradient(135deg,var(--sf-accent2),#7b2cff);animation-delay:-6s,-3s}
@keyframes w-blob{0%,100%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transform:rotate(0)}33%{border-radius:70% 30% 46% 54%/30% 29% 71% 70%;transform:rotate(60deg)}66%{border-radius:28% 72% 44% 56%/49% 40% 60% 51%;transform:rotate(-40deg)}}
.sf-theme-psyche .sf-card,.sf-theme-psyche .sf-stat{background:#fff;border:3px solid var(--sf-ink);animation:w-blob 14s ease-in-out infinite}
.sf-theme-psyche .sf-grid figure{background:#fff;border:3px solid var(--sf-ink);border-radius:32px;overflow:hidden;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.sf-theme-psyche .sf-grid figure:hover{transform:rotate(-2deg) scale(1.03)}
.sf-theme-psyche .sf-grid figure figcaption{padding:12px 16px}
.sf-theme-psyche .sf-grid figure .sf-art{border-radius:0;aspect-ratio:4/3;width:100%}
.sf-theme-psyche .sf-card{padding:34px 30px}
.sf-theme-psyche .sf-grid>*:nth-child(2){animation-delay:-4s}.sf-theme-psyche .sf-grid>*:nth-child(3){animation-delay:-8s}
.sf-theme-psyche .sf-card,.sf-theme-psyche .sf-stat{animation-name:w-blob-soft}
@keyframes w-blob-soft{0%,100%{border-radius:42% 58% 50% 50%/30% 34% 66% 70%}50%{border-radius:58% 42% 40% 60%/40% 60% 40% 60%}}
.sf-theme-psyche .sf-art{aspect-ratio:1;width:min(100%,440px);margin-inline:auto;background:repeating-radial-gradient(circle at 50% 50%,var(--sf-accent) 0 14px,#ffd23f 14px 28px,var(--sf-accent2) 28px 42px,#7b2cff 42px 56px);animation:w-hue 8s linear infinite;border-radius:50%}
.sf-theme-psyche .sf-art i{display:none}
.sf-theme-psyche .sf-art span{background:#fff;padding:6px 12px;border-radius:999px;color:var(--sf-ink)}
.sf-theme-psyche .sf-btn{border-radius:999px;background:var(--sf-ink);color:#fff!important;border:3px solid var(--sf-ink);animation:w-pulse 1.8s ease-in-out infinite}
.sf-theme-psyche .sf-btn-outline{background:#fff;color:var(--sf-ink)!important;animation:none}
.sf-theme-psyche .sf-marquee{background:var(--sf-ink);padding-block:14px}
.sf-theme-psyche .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;background:linear-gradient(90deg,var(--sf-accent),#ffd23f,var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-psyche .sf-tone-soft{background:#ffffff99}
.sf-theme-psyche .sf-number{background:var(--sf-accent);color:#fff;border:0}
.sf-theme-psyche .sf-footer{background:var(--sf-ink);color:#fff}

/* ---------- 10. フラックス（ずっと動く） ---------- */
.sf-theme-flux::before{background:radial-gradient(30% 30% at 20% 30%,color-mix(in srgb,var(--sf-accent) 45%,transparent),transparent 70%),radial-gradient(28% 28% at 80% 20%,color-mix(in srgb,var(--sf-accent2) 45%,transparent),transparent 70%),radial-gradient(35% 35% at 60% 85%,color-mix(in srgb,#ff6fb1 35%,transparent),transparent 70%);filter:blur(30px);animation:w-drift 16s ease-in-out infinite}
.sf-theme-flux .sf-header-floating .sf-header-inner{background:#ffffffb3;backdrop-filter:blur(16px);border:1px solid #ffffff;border-radius:999px}
.sf-theme-flux h1{font-size:clamp(46px,8vw,132px);line-height:1.2;letter-spacing:-.01em;background:linear-gradient(90deg,var(--sf-ink),var(--sf-accent),var(--sf-accent2),var(--sf-ink)) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 6s ease-in-out infinite alternate}
.sf-theme-flux h2{font-size:clamp(32px,4.6vw,66px);letter-spacing:-.01em}
.sf-theme-flux .sf-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 14px;box-shadow:0 6px 20px #0000000f}
.sf-theme-flux .sf-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sf-accent2);animation:w-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 4px color-mix(in srgb,var(--sf-accent2) 25%,transparent)}
.sf-theme-flux .sf-card,.sf-theme-flux .sf-stat,.sf-theme-flux .sf-grid figure,.sf-theme-flux .sf-faq-item{background:#ffffffcc;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:var(--sf-radius);box-shadow:0 20px 50px #1b1a3014;animation:w-bob 5s ease-in-out infinite}
.sf-theme-flux .sf-grid>*:nth-child(2){animation-delay:-1.2s}.sf-theme-flux .sf-grid>*:nth-child(3){animation-delay:-2.4s}.sf-theme-flux .sf-grid>*:nth-child(4){animation-delay:-3.6s}
.sf-theme-flux .sf-faq-item{animation:none}
.sf-theme-flux :is(.sf-tone-dark,.sf-tone-ink) :is(.sf-stat,.sf-card){background:#ffffff12;border-color:#ffffff26;color:#fff;box-shadow:none}
.sf-theme-flux .sf-hero .sf-visual{animation:w-bob 6s ease-in-out infinite}
.sf-theme-flux .sf-art{background:conic-gradient(from 0deg,var(--sf-accent),var(--sf-accent2),#ff6fb1,var(--sf-accent));animation:w-hue 10s linear infinite}
.sf-theme-flux .sf-art i{animation:w-spin 14s linear infinite}
.sf-theme-flux .sf-art i:nth-child(2){animation:w-spin-rev 20s linear infinite}
.sf-theme-flux .sf-btn{position:relative;border-radius:999px;background:var(--sf-ink);color:#fff!important;border:0;isolation:isolate;overflow:hidden}
.sf-theme-flux .sf-btn::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(var(--sf-accent),var(--sf-accent2),#ff6fb1,var(--sf-accent));animation:w-spin 3s linear infinite}
.sf-theme-flux .sf-btn::after{content:"";position:absolute;inset:2px;border-radius:inherit;background:var(--sf-ink);z-index:-1}
.sf-theme-flux .sf-btn-outline::after{background:#fff}
.sf-theme-flux .sf-btn-outline{color:var(--sf-ink)!important}
.sf-theme-flux .sf-marquee i{font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,var(--sf-accent),var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-flux .sf-marquee-track{animation-duration:18s}
.sf-theme-flux .sf-tone-soft{background:#ffffff66}
.sf-theme-flux .sf-number{background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));color:#fff;border:0}
.sf-theme-flux .sf-footer{background:#ffffffaa;backdrop-filter:blur(20px)}

/* ---------- 11. スペース（宇宙・SF） ---------- */
.sf-theme-space::before{background:radial-gradient(circle,#fff 0 1px,transparent 1.4px) 0 0/120px 120px,radial-gradient(circle,#cfe0ff 0 1.2px,transparent 1.6px) 40px 70px/170px 170px,radial-gradient(circle,#fff 0 .8px,transparent 1.2px) 90px 20px/70px 70px;animation:w-stars 120s linear infinite}
@keyframes w-stars{to{background-position:-1200px 0,-850px 170px,-700px 0}}
.sf-theme-space::after{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(35% 30% at 25% 30%,color-mix(in srgb,var(--sf-accent) 22%,transparent),transparent 70%),radial-gradient(30% 25% at 75% 70%,color-mix(in srgb,var(--sf-accent2) 18%,transparent),transparent 70%);animation:w-drift 30s ease-in-out infinite}
.sf-theme-space .sf-header-floating .sf-header-inner{background:#0b0e22aa;border:1px solid #ffffff1f;backdrop-filter:blur(12px)}
.sf-theme-space .sf-brand{font-family:var(--sf-font-head);letter-spacing:.3em;text-transform:uppercase}
.sf-theme-space h1,.sf-theme-space h2{font-family:var(--sf-font-head);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.sf-theme-space h1{font-size:clamp(40px,7vw,112px);line-height:1.2;text-shadow:0 0 40px color-mix(in srgb,var(--sf-accent) 60%,transparent)}
.sf-theme-space h2{font-size:clamp(28px,3.8vw,54px)}
.sf-theme-space .sf-eyebrow{color:var(--sf-accent2);letter-spacing:.5em}
.sf-theme-space .sf-hero{overflow:hidden}
.sf-theme-space .sf-hero .sf-visual{position:relative}
.sf-theme-space .sf-hero .sf-visual::before{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid #ffffff33;transform:rotateX(72deg);animation:w-orbit 10s linear infinite;z-index:2;pointer-events:none}
.sf-theme-space .sf-hero .sf-visual::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--sf-accent2);box-shadow:0 0 20px var(--sf-accent2);top:50%;left:50%;offset-path:ellipse(46% 12% at 50% 50%);animation:w-moon 10s linear infinite;z-index:3}
@keyframes w-orbit{to{transform:rotateX(72deg) rotate(1turn)}}
@keyframes w-moon{to{offset-distance:100%}}
.sf-theme-space .sf-art{border-radius:50%;aspect-ratio:1;background:radial-gradient(circle at 32% 30%,#fff9,transparent 18%),radial-gradient(circle at 40% 38%,var(--sf-accent),#101838 70%);box-shadow:inset -30px -30px 60px #000a,0 0 80px color-mix(in srgb,var(--sf-accent) 45%,transparent)}
.sf-theme-space .sf-art i{display:none}
.sf-theme-space .sf-art span{font-family:var(--sf-font-head);color:#fff;letter-spacing:.3em;font-size:12px}
.sf-theme-space .sf-btn{font-family:var(--sf-font-head);border-radius:999px;background:transparent;border:1px solid var(--sf-accent);color:#fff!important;letter-spacing:.2em;text-transform:uppercase;box-shadow:inset 0 0 20px color-mix(in srgb,var(--sf-accent) 35%,transparent),0 0 20px color-mix(in srgb,var(--sf-accent) 35%,transparent)}
.sf-theme-space .sf-btn:hover{background:var(--sf-accent);color:#03040c!important}
.sf-theme-space .sf-card,.sf-theme-space .sf-stat,.sf-theme-space .sf-faq-item,.sf-theme-space .sf-grid figure{background:#0b0e22b3;border:1px solid #ffffff1c;border-radius:var(--sf-radius);backdrop-filter:blur(10px)}
.sf-theme-space .sf-stat strong{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-space .sf-marquee i{font-family:var(--sf-font-head);text-transform:uppercase;letter-spacing:.2em;color:transparent;-webkit-text-stroke:1px #ffffff88}
.sf-theme-space .sf-tone-soft,.sf-theme-space .sf-tone-dark{background:#060818aa}
.sf-theme-space .sf-number{font-family:var(--sf-font-head);border-color:var(--sf-accent);color:var(--sf-accent)}
.sf-theme-space .sf-footer{background:#02030acc;border-top:1px solid #ffffff14}
.sf-theme-space .sf-form input:not([type=checkbox]),.sf-theme-space .sf-form textarea{background:#0b0e22;border:1px solid #ffffff2a;color:#fff}

/* ---------- 12. スポーツ・eスポーツ ---------- */
.sf-theme-sports::before{background:repeating-linear-gradient(115deg,transparent 0 80px,#ffffff06 80px 82px);animation:w-speed 2.5s linear infinite}
@keyframes w-speed{to{background-position:-196px 0}}
.sf-theme-sports .sf-header{background:#0c0d10;border-bottom:4px solid var(--sf-accent)}
.sf-theme-sports .sf-brand{font-family:var(--sf-font-head);font-style:italic;text-transform:uppercase;font-size:24px;letter-spacing:.02em}
.sf-theme-sports h1,.sf-theme-sports h2{font-family:var(--sf-font-head);font-weight:400;text-transform:uppercase;font-style:italic;letter-spacing:-.01em;line-height:1.2}
.sf-theme-sports h1{font-size:clamp(60px,12vw,200px);transform:skewX(-6deg)}
.sf-theme-sports h1::first-line{color:var(--sf-accent)}
.sf-theme-sports h2{font-size:clamp(40px,6vw,96px)}
.sf-theme-sports .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:4px 14px;transform:skewX(-14deg);font-weight:800;letter-spacing:.2em}
.sf-theme-sports .sf-hero,.sf-theme-sports .sf-videohero{overflow:hidden}
.sf-theme-sports .sf-hero::before{content:"";position:absolute;inset:-10% -30%;background:repeating-linear-gradient(115deg,transparent 0 90px,color-mix(in srgb,var(--sf-accent) 9%,transparent) 90px 110px);z-index:-1;animation:w-speed2 1.4s linear infinite}
@keyframes w-speed2{to{transform:translateX(-218px)}}
.sf-theme-sports h1,.sf-theme-sports h2{font-family:"Anton","Dela Gothic One",var(--sf-font-head);font-weight:400}
.sf-theme-sports .sf-hero .sf-visual img,.sf-theme-sports .sf-hero .sf-art,.sf-theme-sports .sf-split .sf-visual img{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border-radius:0}
.sf-theme-sports .sf-art{background:linear-gradient(115deg,#2a2d36 0 38%,var(--sf-accent) 38% 47%,#2a2d36 47% 55%,var(--sf-accent2) 55% 59%,#1a1c22 59%);box-shadow:inset 0 0 0 2px #ffffff14}
.sf-theme-sports .sf-art i{display:none}
.sf-theme-sports .sf-art span{font-family:var(--sf-font-head);font-style:italic;font-size:clamp(20px,3vw,40px);color:#fff}
.sf-theme-sports .sf-btn{font-family:var(--sf-font-head);font-weight:400;font-style:italic;text-transform:uppercase;font-size:18px;letter-spacing:.04em;border-radius:0;background:var(--sf-accent);color:#0c0d10!important;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:transform .2s}
.sf-theme-sports .sf-btn:hover{transform:translateX(6px)}
.sf-theme-sports .sf-btn-outline{background:#fff;color:#0c0d10!important}
.sf-theme-sports .sf-card,.sf-theme-sports .sf-grid figure{background:#16181d;border:0;border-left:6px solid var(--sf-accent);border-radius:0;transform:skewX(-4deg);transition:transform .25s,background .25s}
.sf-theme-sports .sf-card>*,.sf-theme-sports .sf-grid figure>*{transform:skewX(4deg)}
.sf-theme-sports .sf-card:hover{background:#1f2229;transform:skewX(-4deg) translateY(-6px)}
.sf-theme-sports .sf-number{font-family:var(--sf-font-head);font-style:italic;font-size:48px;background:none;border:0;color:var(--sf-accent);width:auto;height:auto}
.sf-theme-sports .sf-stat{background:#000;border:2px solid #2a2d35;border-radius:0}
.sf-theme-sports .sf-stat strong{font-family:"Roboto Mono",ui-monospace,monospace;font-size:clamp(44px,5vw,76px);color:var(--sf-accent);text-shadow:0 0 12px color-mix(in srgb,var(--sf-accent) 70%,transparent);letter-spacing:.04em}
.sf-theme-sports .sf-marquee{background:var(--sf-accent);transform:rotate(-2deg) scale(1.04);padding-block:8px}
.sf-theme-sports .sf-marquee i{font-family:var(--sf-font-head);font-style:italic;color:#0c0d10;text-transform:uppercase}
.sf-theme-sports .sf-marquee b{color:var(--sf-accent2)}
.sf-theme-sports .sf-marquee-track{animation-duration:12s}
.sf-theme-sports .sf-tone-soft,.sf-theme-sports .sf-tone-dark{background:#121317}
.sf-theme-sports .sf-footer{background:#000;border-top:4px solid var(--sf-accent)}
.sf-theme-sports .sf-form input:not([type=checkbox]),.sf-theme-sports .sf-form textarea{background:#16181d;border:0;border-bottom:3px solid var(--sf-accent);border-radius:0;color:#fff}

/* ---------- 13. ファンタジー（RPG） ---------- */
.sf-theme-fantasy::before{background:radial-gradient(circle,#ffe7a8 0 1.5px,transparent 2.5px) 0 0/140px 140px,radial-gradient(circle,#bfe8ff 0 1px,transparent 2px) 60px 80px/200px 200px,radial-gradient(circle,#fff 0 1.2px,transparent 2px) 100px 30px/90px 90px;animation:w-float 26s linear infinite;filter:drop-shadow(0 0 3px #ffe7a8)}
@keyframes w-float{to{background-position:40px -1400px,-60px -2000px,20px -900px}}
.sf-theme-fantasy::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(70% 50% at 50% 110%,color-mix(in srgb,var(--sf-accent2) 18%,transparent),transparent 70%),radial-gradient(ellipse at 50% 50%,transparent 50%,#05061099 100%)}
.sf-theme-fantasy .sf-header{background:linear-gradient(#0f1024,#0f102400);border:0}
.sf-theme-fantasy .sf-brand{font-family:var(--sf-font-head);letter-spacing:.25em;color:var(--sf-accent)}
.sf-theme-fantasy h1,.sf-theme-fantasy h2{font-family:var(--sf-font-head);font-weight:700;letter-spacing:.08em}
.sf-theme-fantasy h1{font-size:clamp(44px,7.4vw,118px);line-height:1.2;background:linear-gradient(180deg,#fff6d8 0%,var(--sf-accent) 55%,#9a6a1f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 20px #0008) drop-shadow(0 0 30px color-mix(in srgb,var(--sf-accent) 40%,transparent))}
.sf-theme-fantasy h2{font-size:clamp(30px,4.2vw,60px);color:var(--sf-accent)}
.sf-theme-fantasy h2::after{content:"❖";display:block;font-size:.4em;color:var(--sf-accent2);margin-top:.3em;letter-spacing:1em}
.sf-theme-fantasy .sf-eyebrow{color:var(--sf-accent2);letter-spacing:.5em}
.sf-theme-fantasy .sf-hero,.sf-theme-fantasy .sf-videohero{overflow:hidden}
.sf-theme-fantasy .sf-hero::before,.sf-theme-fantasy .sf-videohero::before{content:"";position:absolute;left:50%;top:50%;width:min(900px,120vw);aspect-ratio:1;margin:calc(min(900px,120vw)/-2) 0 0 calc(min(900px,120vw)/-2);border-radius:50%;border:2px solid color-mix(in srgb,var(--sf-accent) 45%,transparent);background:radial-gradient(circle,transparent 58%,color-mix(in srgb,var(--sf-accent) 35%,transparent) 58.3%,transparent 58.8%,transparent 70%,color-mix(in srgb,var(--sf-accent2) 35%,transparent) 70.3%,transparent 71%),repeating-conic-gradient(color-mix(in srgb,var(--sf-accent) 40%,transparent) 0 1deg,transparent 1deg 15deg);-webkit-mask:radial-gradient(circle,transparent 45%,#000 46%);mask:radial-gradient(circle,transparent 45%,#000 46%);animation:w-spin 60s linear infinite;z-index:-1;opacity:.7;pointer-events:none}
.sf-theme-fantasy .sf-videohero::before{z-index:1}
.sf-theme-fantasy .sf-videohero .sf-wrap{position:relative;z-index:2}
.sf-theme-fantasy .sf-btn{position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,#f3d58a,var(--sf-accent) 50%,#a4742a);color:#1a1206!important;border:1px solid #fff3c4;letter-spacing:.2em;font-weight:700;box-shadow:0 0 20px color-mix(in srgb,var(--sf-accent) 40%,transparent)}
.sf-theme-fantasy .sf-btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,#fff9,transparent);animation:w-sweep-x 3.5s ease-in-out infinite}
@keyframes w-sweep-x{0%,60%{left:-60%}100%{left:130%}}
.sf-theme-fantasy .sf-btn-outline{background:transparent;color:var(--sf-accent)!important;border:1px solid var(--sf-accent)}
.sf-theme-fantasy .sf-card,.sf-theme-fantasy .sf-stat,.sf-theme-fantasy .sf-faq-item,.sf-theme-fantasy .sf-grid figure{position:relative;background:linear-gradient(180deg,#1a1c3a,#12132b);border:1px solid color-mix(in srgb,var(--sf-accent) 55%,transparent);border-radius:4px;box-shadow:inset 0 0 0 4px #12132b,inset 0 0 0 5px color-mix(in srgb,var(--sf-accent) 30%,transparent),0 20px 40px #0006}
.sf-theme-fantasy .sf-card:hover{box-shadow:inset 0 0 0 4px #12132b,inset 0 0 0 5px var(--sf-accent),0 0 40px color-mix(in srgb,var(--sf-accent) 35%,transparent);transform:translateY(-4px);transition:.3s}
.sf-theme-fantasy .sf-number{background:none;border:1px solid var(--sf-accent);color:var(--sf-accent);transform:rotate(45deg);border-radius:2px}
.sf-theme-fantasy .sf-number{display:inline-grid;place-items:center}
.sf-theme-fantasy .sf-art{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--sf-accent2) 50%,transparent),transparent 45%),linear-gradient(180deg,#1a1c3a,#0f1024);border:1px solid color-mix(in srgb,var(--sf-accent) 50%,transparent);border-radius:200px 200px 6px 6px}
.sf-theme-fantasy .sf-art i{border-color:color-mix(in srgb,var(--sf-accent) 50%,transparent);background:none;animation:w-bob 4s ease-in-out infinite}
.sf-theme-fantasy .sf-art span{color:var(--sf-accent);letter-spacing:.4em;font-size:12px}
.sf-theme-fantasy .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:var(--sf-accent)}
.sf-theme-fantasy .sf-marquee{border-block:1px solid color-mix(in srgb,var(--sf-accent) 35%,transparent)}
.sf-theme-fantasy .sf-tone-soft,.sf-theme-fantasy .sf-tone-dark{background:#0b0c1ecc}
.sf-theme-fantasy .sf-footer{background:#08091a;border-top:1px solid color-mix(in srgb,var(--sf-accent) 35%,transparent)}
.sf-theme-fantasy .sf-form input:not([type=checkbox]),.sf-theme-fantasy .sf-form textarea{background:#12132b;border:1px solid color-mix(in srgb,var(--sf-accent) 45%,transparent);border-radius:4px;color:#f3ead3}

/* ---------- 14. ノワール ---------- */
.sf-theme-noir::before{background:repeating-linear-gradient(115deg,#0000 0 70px,#00000080 70px 110px);-webkit-mask:linear-gradient(90deg,transparent 0%,#000 30%,#000 70%,transparent 100%);mask:linear-gradient(90deg,transparent 0%,#000 30%,#000 70%,transparent 100%);animation:w-blinds 22s ease-in-out infinite alternate;opacity:.9}
@keyframes w-blinds{0%{transform:translateX(-20%)}100%{transform:translateX(20%)}}
.sf-theme-noir .sf-header{background:transparent;border:0}
.sf-theme-noir .sf-brand{font-family:var(--sf-font-head);font-style:italic;letter-spacing:.1em}
.sf-theme-noir h1,.sf-theme-noir h2{font-family:var(--sf-font-head);font-weight:400;font-style:italic}
.sf-theme-noir h1{font-size:clamp(50px,8.5vw,140px);line-height:1.2;letter-spacing:-.01em;text-shadow:0 20px 60px #000}
.sf-theme-noir h2{font-size:clamp(34px,4.6vw,68px)}
.sf-theme-noir .sf-eyebrow{color:var(--sf-accent2);letter-spacing:.5em;font-family:"Roboto Mono",ui-monospace,monospace}
.sf-theme-noir .sf-lead{font-family:"Roboto Mono",ui-monospace,monospace;font-size:14px;line-height:2}
.sf-theme-noir img,.sf-theme-noir video{filter:grayscale(1) contrast(1.3)}
.sf-theme-noir .sf-btn{border-radius:0;background:none;border:0;border-bottom:1px solid currentColor;padding-inline:0;color:#eee!important;letter-spacing:.3em;font-family:"Roboto Mono",ui-monospace,monospace;text-transform:uppercase;font-size:12px}
.sf-theme-noir .sf-btn:hover{color:var(--sf-accent2)!important}
.sf-theme-noir .sf-card,.sf-theme-noir .sf-stat,.sf-theme-noir .sf-faq-item{background:#141414cc;border:0;border-top:1px solid #333;border-radius:0}
.sf-theme-noir .sf-art{border-radius:0;background:linear-gradient(180deg,#2a2a2a,#050505);filter:contrast(1.2)}
.sf-theme-noir .sf-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,#0000 0 14px,#000c 14px 22px);animation:w-blinds-v 10s ease-in-out infinite alternate}
@keyframes w-blinds-v{to{transform:translateY(22px)}}
.sf-theme-noir .sf-art i{display:none}
.sf-theme-noir .sf-art span{font-family:var(--sf-font-head);font-style:italic;color:#aaa}
.sf-theme-noir .sf-marquee i{font-family:var(--sf-font-head);font-style:italic;color:transparent;-webkit-text-stroke:1px #888}
.sf-theme-noir .sf-marquee b{color:var(--sf-accent2)}
.sf-theme-noir .sf-bigquote p{font-family:var(--sf-font-head);font-style:italic}
.sf-theme-noir .sf-bigquote p::before{content:"“";color:var(--sf-accent2)}
.sf-theme-noir .sf-tone-soft,.sf-theme-noir .sf-tone-dark{background:#0a0a0acc}
.sf-theme-noir .sf-number{border-radius:0;border-color:#555;color:#aaa}
.sf-theme-noir .sf-footer{background:#050505}
.sf-theme-noir .sf-form input:not([type=checkbox]),.sf-theme-noir .sf-form textarea{background:transparent;border:0;border-bottom:1px solid #555;border-radius:0;color:#eee}

/* ---------- 共通：スマホ ---------- */
@media (max-width:760px){
 .sf-theme-anime h1,.sf-theme-manga h1,.sf-theme-cyber h1,.sf-theme-y2k h1,.sf-theme-idol h1,.sf-theme-psyche h1,.sf-theme-flux h1,.sf-theme-horror h1,.sf-theme-fantasy h1,.sf-theme-noir h1{font-size:clamp(36px,11vw,60px)}
 .sf-theme-blockbuster h1,.sf-theme-sports h1{font-size:clamp(38px,12vw,62px)}
 .sf-theme-arcade h1,.sf-theme-space h1{font-size:clamp(30px,9vw,50px)}
 .sf-theme-anime h1{text-shadow:2px 2px 0 var(--sf-ink),-2px 2px 0 var(--sf-ink),2px -2px 0 var(--sf-ink),-2px -2px 0 var(--sf-ink),6px 6px 0 var(--sf-accent)}
 .sf-theme-manga .sf-grid>*,.sf-theme-sports .sf-card,.sf-theme-sports .sf-grid figure{transform:none}
 .sf-theme-sports .sf-card>*,.sf-theme-sports .sf-grid figure>*{transform:none}
 .sf-theme-blockbuster .sf-videohero::before{border-block-width:20px}
}
/* 2カラムのヒーローでは、題字を列の幅に収まる大きさにする（全画面ヒーローは大きいまま） */
:is(.sf-theme-blockbuster,.sf-theme-anime,.sf-theme-manga,.sf-theme-cyber,.sf-theme-y2k,.sf-theme-arcade,.sf-theme-idol,.sf-theme-horror,.sf-theme-psyche,.sf-theme-flux,.sf-theme-space,.sf-theme-sports,.sf-theme-fantasy,.sf-theme-noir) .sf-hero:not(.sf-v-center):not(.sf-v-stacked):not(.sf-v-minimal) h1{font-size:clamp(36px,5.6vw,92px)}
:is(.sf-theme-sports,.sf-theme-blockbuster) .sf-hero:not(.sf-v-center):not(.sf-v-stacked):not(.sf-v-minimal) h1{font-size:clamp(40px,6.4vw,108px)}
:is(.sf-theme-arcade,.sf-theme-space) .sf-hero:not(.sf-v-center):not(.sf-v-stacked):not(.sf-v-minimal) h1{font-size:clamp(32px,4.8vw,78px)}

/* ##################################################################
   ポップ・遊べる（3.5）— 明るくて、触ると楽しい10テーマ
   ################################################################## */
:is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper){background:var(--sf-bg);overflow-x:clip}
:is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper) .sf-tone-plain{background:transparent}
:is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper)::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}
:is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper)>*:not(.sf-skip):not(.sf-header){position:relative;z-index:1}
@keyframes p-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes p-wobble{0%,100%{rotate:-2deg}50%{rotate:2deg}}
@keyframes p-slide{to{background-position:200px 0}}

/* ---------- 1. キャンディ ---------- */
.sf-theme-candy::before{background:radial-gradient(circle,#ffc2dc 0 9px,transparent 10px) 0 0/90px 90px,radial-gradient(circle,#b8f1ea 0 7px,transparent 8px) 45px 45px/90px 90px;opacity:.55;animation:p-dots 30s linear infinite}
@keyframes p-dots{to{background-position:180px 90px,225px 135px}}
.sf-theme-candy .sf-header-floating .sf-header-inner{background:#fff;border-radius:999px;box-shadow:0 8px 0 #ffd6e7,0 16px 40px #ff5c9d22}
.sf-theme-candy .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-candy h1,.sf-theme-candy h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-candy h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:var(--sf-accent);text-shadow:4px 4px 0 #fff,8px 8px 0 var(--sf-accent2)}
.sf-theme-candy h2{font-size:clamp(30px,4vw,58px);color:var(--sf-ink)}
.sf-theme-candy h2::after{content:"";display:block;width:90px;height:12px;margin-top:14px;border-radius:99px;background:repeating-linear-gradient(-45deg,var(--sf-accent) 0 8px,#fff 8px 14px,var(--sf-accent2) 14px 22px,#fff 22px 28px);animation:p-slide 4s linear infinite}
.sf-al-center .sf-theme-candy h2::after,.sf-theme-candy .sf-al-center h2::after{margin-inline:auto}
.sf-theme-candy .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:6px 16px;border-radius:999px;font-weight:800;letter-spacing:.15em;animation:p-wobble 3s ease-in-out infinite}
.sf-theme-candy .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:999px;border:0;color:#fff!important;background:linear-gradient(180deg,color-mix(in srgb,var(--sf-accent) 70%,#fff),var(--sf-accent));box-shadow:inset 0 3px 0 #ffffff88,inset 0 -5px 0 #0000001a,0 7px 0 color-mix(in srgb,var(--sf-accent) 70%,#000);position:relative}
.sf-theme-candy .sf-btn:active{translate:0 5px;box-shadow:inset 0 3px 0 #ffffff88,0 2px 0 color-mix(in srgb,var(--sf-accent) 70%,#000)}
.sf-theme-candy .sf-btn-outline{background:#fff;color:var(--sf-accent)!important;box-shadow:inset 0 0 0 3px var(--sf-accent),0 7px 0 #ffd6e7}
.sf-theme-candy .sf-card,.sf-theme-candy .sf-stat,.sf-theme-candy .sf-faq-item,.sf-theme-candy .sf-grid figure{background:#fff;border:3px solid #ffd6e7;border-radius:28px;box-shadow:0 10px 0 #ffd6e7}
.sf-theme-candy .sf-grid>*:nth-child(3n+2){border-color:#c6f3ee;box-shadow:0 10px 0 #c6f3ee}.sf-theme-candy .sf-grid>*:nth-child(3n){border-color:#fff0b3;box-shadow:0 10px 0 #fff0b3}
.sf-theme-candy .sf-card:hover{translate:0 -6px;transition:translate .3s cubic-bezier(.34,1.56,.64,1)}
.sf-theme-candy .sf-number{font-family:var(--sf-font-head);background:var(--sf-accent);color:#fff;border:0;border-radius:50%}
.sf-theme-candy .sf-art{background:radial-gradient(circle at 30% 30%,#fff 0 6%,transparent 7%),repeating-linear-gradient(-45deg,var(--sf-accent) 0 26px,#fff 26px 40px,var(--sf-accent2) 40px 66px,#fff 66px 80px);border-radius:48% 52% 40% 60%/50% 45% 55% 50%;animation:p-float 5s ease-in-out infinite,p-slide 16s linear infinite}
.sf-theme-candy .sf-art i{display:none}
.sf-theme-candy .sf-art span{background:#fff;color:var(--sf-accent);font-family:var(--sf-font-head);padding:6px 16px;border-radius:999px}
.sf-theme-candy .sf-marquee{background:var(--sf-accent);padding-block:14px;border-block:6px dotted #fff}
.sf-theme-candy .sf-marquee i{font-family:var(--sf-font-head);color:#fff;font-style:normal}
.sf-theme-candy .sf-tone-soft{background:#fff0f6}
.sf-theme-candy .sf-footer{background:var(--sf-accent);color:#fff}
.sf-theme-candy .sf-form input:not([type=checkbox]),.sf-theme-candy .sf-form textarea{border:3px solid #ffd6e7;border-radius:18px;background:#fff}

/* ---------- 2. ソーダ ---------- */
.sf-theme-soda::before{background:radial-gradient(circle,#ffffffcc 0 3px,transparent 4px) 0 0/70px 110px,radial-gradient(circle,#ffffff99 0 2px,transparent 3px) 30px 50px/50px 90px,linear-gradient(180deg,#e9f8ff 0%,#c8ecff 60%,#a6e1ff 100%);animation:p-fizz 9s linear infinite}
@keyframes p-fizz{to{background-position:0 -880px,30px -720px,0 0}}
.sf-theme-soda .sf-header-floating .sf-header-inner{background:#ffffffb8;backdrop-filter:blur(14px);border:2px solid #fff;border-radius:999px}
.sf-theme-soda .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-soda h1,.sf-theme-soda h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-soda h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:var(--sf-ink);text-shadow:0 5px 0 #fff,0 10px 0 var(--sf-accent2)}
.sf-theme-soda h2{font-size:clamp(30px,4vw,58px);color:var(--sf-accent)}
.sf-theme-soda .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:var(--sf-ink);border-radius:999px;padding:6px 16px;font-weight:800;letter-spacing:.2em}
.sf-theme-soda .sf-hero,.sf-theme-soda .sf-videohero{overflow:hidden}
.sf-theme-soda .sf-hero::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:70px;z-index:-1;background:radial-gradient(circle at 50% 0,transparent 34px,#ffffff 35px) 0 0/80px 70px repeat-x;animation:p-wave 6s linear infinite}
@keyframes p-wave{to{background-position:160px 0}}
.sf-theme-soda .sf-btn{font-family:var(--sf-font-head);border-radius:999px;border:0;background:linear-gradient(180deg,#5fd0ff,var(--sf-accent));color:#fff!important;box-shadow:inset 0 3px 0 #ffffff99,0 10px 24px -6px color-mix(in srgb,var(--sf-accent) 70%,transparent)}
.sf-theme-soda .sf-btn-outline{background:#fff;color:var(--sf-accent)!important}
.sf-theme-soda .sf-card,.sf-theme-soda .sf-stat,.sf-theme-soda .sf-faq-item,.sf-theme-soda .sf-grid figure{background:#ffffffc4;backdrop-filter:blur(12px);border:2px solid #fff;border-radius:30px;box-shadow:0 20px 40px -18px #1ea7ff55}
.sf-theme-soda .sf-card:nth-child(odd){animation:p-float 6s ease-in-out infinite}.sf-theme-soda .sf-card:nth-child(even){animation:p-float 6s ease-in-out -3s infinite}
.sf-theme-soda .sf-number{background:var(--sf-accent2);color:var(--sf-ink);border:0;border-radius:50%}
.sf-theme-soda .sf-art{border-radius:50% 50% 46% 54%/60% 60% 40% 40%;background:radial-gradient(circle at 30% 25%,#fff 0 8%,transparent 9%),radial-gradient(circle at 70% 70%,#ffffff66 0 12%,transparent 13%),linear-gradient(180deg,#8fe0ff,var(--sf-accent) 70%);animation:p-float 5s ease-in-out infinite}
.sf-theme-soda .sf-art i{border:2px solid #ffffffaa;background:radial-gradient(circle at 30% 30%,#fff9,#fff1 60%);border-radius:50%}
.sf-theme-soda .sf-art span{color:#fff;font-family:var(--sf-font-head)}
.sf-theme-soda .sf-marquee{background:var(--sf-accent2);padding-block:12px}
.sf-theme-soda .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:var(--sf-ink)}
.sf-theme-soda .sf-tone-soft{background:#ffffff80}
.sf-theme-soda .sf-footer{background:var(--sf-ink);color:#fff}
.sf-theme-soda .sf-form input:not([type=checkbox]),.sf-theme-soda .sf-form textarea{border:2px solid #fff;border-radius:18px;background:#ffffffd9}

/* ---------- 3. ステッカー ---------- */
.sf-theme-sticker::before{background:radial-gradient(circle at 20% 30%,#0000000a 0 1px,transparent 2px) 0 0/6px 6px}
.sf-theme-sticker .sf-header{background:#fff8e7;border-bottom:3px dashed #1c1c1c33}
.sf-theme-sticker .sf-brand{font-family:var(--sf-font-head);background:var(--sf-accent);color:#fff;padding:4px 14px;border-radius:12px;box-shadow:0 0 0 4px #fff,0 6px 14px #0003;rotate:-3deg}
.sf-theme-sticker h1,.sf-theme-sticker h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-sticker h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:var(--sf-ink)}
.sf-theme-sticker h2{font-size:clamp(30px,4vw,58px)}
.sf-theme-sticker .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:6px 16px;border-radius:10px;box-shadow:0 0 0 4px #fff,0 8px 16px #0002;rotate:-4deg;font-weight:800;letter-spacing:.12em}
.sf-theme-sticker .sf-card,.sf-theme-sticker .sf-stat,.sf-theme-sticker .sf-grid figure,.sf-theme-sticker .sf-app-card{position:relative;background:#fff;border:0;border-radius:22px;box-shadow:0 0 0 6px #fff,0 0 0 7px #0000000f,0 14px 24px -8px #0004;transition:rotate .3s,translate .3s}
.sf-theme-sticker .sf-grid>*:nth-child(4n+1){rotate:-2.5deg}.sf-theme-sticker .sf-grid>*:nth-child(4n+2){rotate:1.8deg}.sf-theme-sticker .sf-grid>*:nth-child(4n+3){rotate:-1deg}.sf-theme-sticker .sf-grid>*:nth-child(4n){rotate:2.4deg}
.sf-theme-sticker .sf-card:hover{rotate:0deg;translate:0 -8px}
.sf-theme-sticker .sf-card::after{content:"";position:absolute;right:0;bottom:0;width:34px;height:34px;border-radius:0 0 22px 0;background:linear-gradient(135deg,transparent 50%,#e9e2d0 50%,#fff 75%);box-shadow:-3px -3px 6px #0000001a;transition:width .3s,height .3s}
.sf-theme-sticker .sf-card:hover::after{width:52px;height:52px}
.sf-theme-sticker .sf-card:nth-child(3n+1) .sf-number{background:var(--sf-accent)}.sf-theme-sticker .sf-card:nth-child(3n+2) .sf-number{background:var(--sf-accent2)}.sf-theme-sticker .sf-card:nth-child(3n) .sf-number{background:#ffb400}
.sf-theme-sticker .sf-number{color:#fff;border:0;box-shadow:0 0 0 4px #fff;border-radius:50%}
.sf-theme-sticker .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:999px;background:var(--sf-accent);color:#fff!important;border:0;box-shadow:0 0 0 5px #fff,0 10px 18px -4px #0005}
.sf-theme-sticker .sf-btn-outline{background:#fff;color:var(--sf-ink)!important;box-shadow:0 0 0 3px var(--sf-ink),0 0 0 7px #fff,0 10px 18px -4px #0004}
.sf-theme-sticker .sf-art{border-radius:30px;background:#ffe27a;box-shadow:0 0 0 8px #fff,0 20px 30px -10px #0005;rotate:3deg}
.sf-theme-sticker .sf-art i{border-radius:50%;border:0;box-shadow:0 0 0 6px #fff,0 8px 14px #0003}
.sf-theme-sticker .sf-art i:nth-child(1){background:var(--sf-accent);width:40%;height:40%;left:12%;top:14%;rotate:0deg}
.sf-theme-sticker .sf-art i:nth-child(2){background:var(--sf-accent2);width:34%;height:34%;left:52%;top:46%;border-radius:22%}
.sf-theme-sticker .sf-art i:nth-child(3){background:#fff;width:20%;height:20%;left:24%;top:62%}
.sf-theme-sticker .sf-art span{background:#fff;color:var(--sf-ink);padding:4px 12px;border-radius:10px;font-family:var(--sf-font-head);rotate:-4deg}
.sf-theme-sticker .sf-marquee{background:var(--sf-ink);padding-block:14px}
.sf-theme-sticker .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;background:#fff;color:var(--sf-ink);padding:0 .3em;border-radius:.2em}
.sf-theme-sticker .sf-marquee b{color:var(--sf-accent)}
.sf-theme-sticker .sf-tone-soft{background:#fff3cf}
.sf-theme-sticker .sf-footer{background:var(--sf-ink);color:#fff}
.sf-theme-sticker .sf-form input:not([type=checkbox]),.sf-theme-sticker .sf-form textarea{border:0;border-radius:14px;background:#fff;box-shadow:0 0 0 4px #fff,0 0 0 5px #0001,0 6px 12px -6px #0003}

/* ---------- 4. ゆめかわ ---------- */
.sf-theme-yumekawa::before{background:radial-gradient(45% 40% at 20% 20%,#ffc6ef,transparent 70%),radial-gradient(40% 40% at 85% 25%,#c6e8ff,transparent 70%),radial-gradient(45% 45% at 60% 90%,#e5d1ff,transparent 70%),radial-gradient(35% 35% at 10% 85%,#d1ffef,transparent 70%);animation:w-drift 18s ease-in-out infinite;inset:-10%}
.sf-theme-yumekawa::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 25%,#fff 0 2px,transparent 3px),radial-gradient(circle at 75% 15%,#fff 0 3px,transparent 4px),radial-gradient(circle at 55% 65%,#fff 0 2px,transparent 3px),radial-gradient(circle at 30% 80%,#fff 0 3px,transparent 4px),radial-gradient(circle at 90% 70%,#fff 0 2px,transparent 3px);filter:drop-shadow(0 0 6px #ff8fd8);animation:w-twinkle 2.6s ease-in-out infinite}
.sf-theme-yumekawa .sf-header-floating .sf-header-inner{background:#ffffffb0;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:999px}
.sf-theme-yumekawa .sf-brand{font-family:var(--sf-font-head);background:linear-gradient(90deg,var(--sf-accent),#b58cff,var(--sf-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-theme-yumekawa h1,.sf-theme-yumekawa h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-yumekawa h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:#fff;text-shadow:0 0 0 transparent,3px 3px 0 var(--sf-accent),6px 6px 0 #b58cff,9px 9px 0 var(--sf-accent2);-webkit-text-stroke:1.5px var(--sf-ink)}
.sf-theme-yumekawa h2{font-size:clamp(30px,4vw,58px);color:var(--sf-ink)}
.sf-theme-yumekawa h2::before{content:"☆ ";color:var(--sf-accent)}
.sf-theme-yumekawa .sf-eyebrow{display:inline-block;background:linear-gradient(90deg,var(--sf-accent),#b58cff,var(--sf-accent2));color:#fff;border-radius:999px;padding:6px 16px;letter-spacing:.2em;font-weight:700}
.sf-theme-yumekawa .sf-card,.sf-theme-yumekawa .sf-stat,.sf-theme-yumekawa .sf-faq-item,.sf-theme-yumekawa .sf-grid figure{position:relative;overflow:hidden;background:#ffffffcc;border:2px solid #fff;border-radius:26px;box-shadow:0 20px 40px -20px #b58cff66;isolation:isolate}
.sf-theme-yumekawa .sf-card::before,.sf-theme-yumekawa .sf-grid figure::before{content:"";position:absolute;inset:0;z-index:-1;background:conic-gradient(from calc(var(--gx,50%)*3.6deg) at var(--gx,50%) var(--gy,50%),#ffc6ef,#c6e8ff,#d1ffef,#fff6c6,#e5d1ff,#ffc6ef);opacity:.55;transition:opacity .3s}
.sf-theme-yumekawa .sf-card:hover::before{opacity:.9}
.sf-theme-yumekawa .sf-number{background:linear-gradient(135deg,var(--sf-accent),var(--sf-accent2));color:#fff;border:0;border-radius:50%}
.sf-theme-yumekawa .sf-btn{font-family:var(--sf-font-head);border-radius:999px;border:0;color:#fff!important;background:linear-gradient(90deg,var(--sf-accent),#b58cff,var(--sf-accent2)) 0 0/200% 100%;animation:w-shine 4s linear infinite;box-shadow:0 10px 24px -8px #b58cff}
.sf-theme-yumekawa .sf-btn-outline{background:#fff;color:#b58cff!important;animation:none}
.sf-theme-yumekawa .sf-art{border-radius:50% 50% 44% 56%/55% 50% 50% 45%;background:conic-gradient(from 0deg,#ffc6ef,#c6e8ff,#d1ffef,#fff6c6,#e5d1ff,#ffc6ef);animation:w-spin 20s linear infinite}
.sf-theme-yumekawa .sf-art i{border:2px solid #fff;background:#ffffff55;animation:w-spin-rev 20s linear infinite}
.sf-theme-yumekawa .sf-art span{color:#b58cff;background:#fff;border-radius:99px;padding:4px 12px}
.sf-theme-yumekawa .sf-marquee{background:linear-gradient(90deg,#ffc6ef,#c6e8ff,#e5d1ff);padding-block:12px}
.sf-theme-yumekawa .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff;-webkit-text-stroke:1.5px var(--sf-ink);paint-order:stroke fill}
.sf-theme-yumekawa .sf-tone-soft{background:#ffffff70}
.sf-theme-yumekawa .sf-footer{background:linear-gradient(90deg,#ffc6ef,#c6e8ff,#e5d1ff);color:var(--sf-ink)}

/* ---------- 5. トイ（おもちゃ箱） ---------- */
.sf-theme-toy{--t-y:#ffcc00;--t-g:#19b35a}
.sf-theme-toy::before{background:linear-gradient(90deg,#1d2b530a 1px,transparent 1px) 0 0/40px 40px,linear-gradient(0deg,#1d2b530a 1px,transparent 1px) 0 0/40px 40px}
.sf-theme-toy .sf-header{background:#fff;border-bottom:6px solid var(--sf-ink)}
.sf-theme-toy .sf-brand{font-family:var(--sf-font-head);font-size:22px}
.sf-theme-toy h1,.sf-theme-toy h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-toy h1{font-size:clamp(44px,7vw,116px);line-height:1.2;color:var(--sf-ink)}
.sf-theme-toy h2{font-size:clamp(30px,4.2vw,60px)}
.sf-theme-toy .sf-ch:nth-child(4n+1){color:var(--sf-accent)}.sf-theme-toy .sf-ch:nth-child(4n+2){color:var(--sf-accent2)}.sf-theme-toy .sf-ch:nth-child(4n+3){color:var(--t-y);-webkit-text-stroke:2px var(--sf-ink);paint-order:stroke fill}.sf-theme-toy .sf-ch:nth-child(4n){color:var(--t-g)}
.sf-theme-toy .sf-eyebrow{display:inline-block;background:var(--t-y);color:var(--sf-ink);border:3px solid var(--sf-ink);border-radius:12px;padding:4px 14px;font-weight:900;letter-spacing:.14em;box-shadow:0 5px 0 var(--sf-ink)}
.sf-theme-toy .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:16px;background:var(--sf-accent);color:#fff!important;border:3px solid var(--sf-ink);box-shadow:0 8px 0 var(--sf-ink);transition:translate .08s,box-shadow .08s}
.sf-theme-toy .sf-btn:active{translate:0 6px;box-shadow:0 2px 0 var(--sf-ink)}
.sf-theme-toy .sf-btn-outline{background:#fff;color:var(--sf-ink)!important}
.sf-theme-toy .sf-card,.sf-theme-toy .sf-stat,.sf-theme-toy .sf-grid figure{position:relative;background:#fff;border:3px solid var(--sf-ink);border-radius:18px;box-shadow:0 8px 0 var(--sf-ink);margin-top:14px}
.sf-theme-toy .sf-card::before,.sf-theme-toy .sf-stat::before{content:"";position:absolute;left:18px;top:-16px;width:70px;height:14px;background:radial-gradient(circle at 12px 8px,var(--c,var(--sf-accent)) 0 9px,transparent 10px) 0 0/35px 16px repeat-x;filter:drop-shadow(0 -2px 0 var(--sf-ink)) drop-shadow(2px 0 0 var(--sf-ink)) drop-shadow(-2px 0 0 var(--sf-ink))}
.sf-theme-toy .sf-grid>*:nth-child(4n+1){--c:var(--sf-accent)}.sf-theme-toy .sf-grid>*:nth-child(4n+2){--c:var(--sf-accent2)}.sf-theme-toy .sf-grid>*:nth-child(4n+3){--c:var(--t-y)}.sf-theme-toy .sf-grid>*:nth-child(4n){--c:var(--t-g)}
.sf-theme-toy .sf-card:hover{animation:sf-jelly .7s cubic-bezier(.3,.7,.4,1)}
.sf-theme-toy .sf-number{font-family:var(--sf-font-head);background:var(--c,var(--sf-accent));color:#fff;border:3px solid var(--sf-ink);border-radius:12px}
.sf-theme-toy .sf-art{background:#8fd3ff;border:4px solid var(--sf-ink);border-radius:24px;box-shadow:0 10px 0 var(--sf-ink)}
.sf-theme-toy .sf-art i{border:4px solid var(--sf-ink);border-radius:16px;box-shadow:none;rotate:0deg}
.sf-theme-toy .sf-art i:nth-child(1){background:var(--sf-accent);width:36%;height:30%;left:10%;top:52%;transform:none;animation:p-float 3s ease-in-out infinite}
.sf-theme-toy .sf-art i:nth-child(2){background:var(--t-y);width:30%;height:30%;left:52%;top:20%;transform:none;border-radius:50%;animation:p-float 3s ease-in-out -1s infinite}
.sf-theme-toy .sf-art i:nth-child(3){background:var(--t-g);width:24%;height:24%;left:58%;top:60%;transform:none;border-radius:6px;animation:p-float 3s ease-in-out -2s infinite}
.sf-theme-toy .sf-art span{display:none}
.sf-theme-toy .sf-marquee{background:var(--t-y);border-block:4px solid var(--sf-ink);padding-block:12px}
.sf-theme-toy .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:var(--sf-ink)}
.sf-theme-toy .sf-marquee b{color:var(--sf-accent)}
.sf-theme-toy .sf-tone-soft{background:#eaf6ff}
.sf-theme-toy .sf-footer{background:var(--sf-ink);color:#fff;border-top:6px solid var(--t-y)}
.sf-theme-toy .sf-form input:not([type=checkbox]),.sf-theme-toy .sf-form textarea{border:3px solid var(--sf-ink);border-radius:12px;background:#fff}

/* ---------- 6. フルーツ ---------- */
.sf-theme-fruits::before{background:radial-gradient(circle at 0 0,transparent 0,transparent 0)}
.sf-theme-fruits .sf-hero,.sf-theme-fruits .sf-videohero{overflow:hidden}
.sf-theme-fruits .sf-hero::before,.sf-theme-fruits .sf-hero::after{content:"";position:absolute;z-index:-1;width:clamp(180px,26vw,380px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 7%,transparent 7.5%),repeating-conic-gradient(var(--c1) 0 26deg,#fff 26deg 30deg),radial-gradient(circle,transparent 0 60%,#fff 60% 66%,var(--c2) 66%);-webkit-mask:radial-gradient(circle,#000 70.5%,transparent 71%);mask:radial-gradient(circle,#000 70.5%,transparent 71%);animation:w-spin 40s linear infinite;opacity:.9}
.sf-theme-fruits .sf-hero::before{--c1:#ffb74d;--c2:var(--sf-accent);right:-6vw;top:-8vw;translate:calc(var(--mx,0)*-30px) calc(var(--my,0)*-30px)}
.sf-theme-fruits .sf-hero::after{--c1:#b5e67a;--c2:var(--sf-accent2);left:-8vw;bottom:-10vw;animation-direction:reverse;translate:calc(var(--mx,0)*40px) calc(var(--my,0)*40px)}
.sf-theme-fruits .sf-header-floating .sf-header-inner{background:#fff;border-radius:999px;box-shadow:0 10px 30px #ff7a0022}
.sf-theme-fruits .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-fruits h1,.sf-theme-fruits h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-fruits h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:var(--sf-ink)}
.sf-theme-fruits h1::first-line{color:var(--sf-accent)}
.sf-theme-fruits h2{font-size:clamp(30px,4vw,58px)}
.sf-theme-fruits .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:6px 16px;border-radius:999px 999px 999px 4px;font-weight:800;letter-spacing:.15em}
.sf-theme-fruits .sf-btn{font-family:var(--sf-font-head);border-radius:999px;border:0;background:var(--sf-accent);color:#fff!important;box-shadow:0 10px 24px -6px color-mix(in srgb,var(--sf-accent) 70%,transparent)}
.sf-theme-fruits .sf-btn:hover{background:var(--sf-accent2)}
.sf-theme-fruits .sf-btn-outline{background:#fff;color:var(--sf-accent)!important}
.sf-theme-fruits .sf-card,.sf-theme-fruits .sf-stat,.sf-theme-fruits .sf-faq-item,.sf-theme-fruits .sf-grid figure{background:#fff;border:0;border-radius:36px 36px 36px 10px;box-shadow:0 24px 50px -24px #ff7a0066}
.sf-theme-fruits .sf-grid>*:nth-child(3n+1) .sf-number{background:var(--sf-accent)}.sf-theme-fruits .sf-grid>*:nth-child(3n+2) .sf-number{background:var(--sf-accent2)}.sf-theme-fruits .sf-grid>*:nth-child(3n) .sf-number{background:#ff4f7b}
.sf-theme-fruits .sf-number{color:#fff;border:0;border-radius:50% 50% 50% 8px}
.sf-theme-fruits .sf-art{border-radius:50%;aspect-ratio:1;background:radial-gradient(circle,#fff 0 6%,transparent 6.5%),repeating-conic-gradient(#ffb74d 0 26deg,#fff 26deg 30deg);box-shadow:0 0 0 14px #fff,0 0 0 28px var(--sf-accent),0 30px 60px -20px #0004;animation:w-spin 30s linear infinite}
.sf-theme-fruits .sf-art i,.sf-theme-fruits .sf-art span{display:none}
.sf-theme-fruits .sf-marquee{background:var(--sf-accent2);padding-block:12px}
.sf-theme-fruits .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff}
.sf-theme-fruits .sf-tone-soft{background:#fff1dd}
.sf-theme-fruits .sf-footer{background:var(--sf-accent);color:#fff}
.sf-theme-fruits .sf-form input:not([type=checkbox]),.sf-theme-fruits .sf-form textarea{border:0;border-radius:18px;background:#fff;box-shadow:0 8px 20px -10px #ff7a0055}

/* ---------- 7. コミックポップ（アメコミ） ---------- */
.sf-theme-comicpop{--t-y:#ffe400}
.sf-theme-comicpop::before{background:radial-gradient(circle,#08d9d633 0 3px,transparent 3.5px) 0 0/14px 14px}
.sf-theme-comicpop .sf-header{background:var(--t-y);border-bottom:4px solid #111}
.sf-theme-comicpop .sf-brand{font-family:var(--sf-font-head);color:#111;font-size:22px;-webkit-text-stroke:0}
.sf-theme-comicpop h1,.sf-theme-comicpop h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-comicpop h1{font-size:clamp(44px,7vw,116px);line-height:1.2;color:#fff;-webkit-text-stroke:3px #111;paint-order:stroke fill;text-shadow:6px 6px 0 var(--sf-accent)}
.sf-theme-comicpop h2{font-size:clamp(30px,4.2vw,62px);color:#111;text-shadow:4px 4px 0 var(--t-y)}
.sf-theme-comicpop .sf-eyebrow{position:relative;display:inline-block;font-family:var(--sf-font-head);color:#111;padding:14px 22px;isolation:isolate;letter-spacing:.06em}
.sf-theme-comicpop .sf-eyebrow::before{content:"";position:absolute;inset:-6px -10px;z-index:-1;background:var(--t-y);clip-path:polygon(50% 0,58% 20%,78% 6%,74% 28%,98% 26%,82% 44%,100% 58%,78% 64%,88% 88%,64% 76%,56% 100%,46% 78%,24% 96%,28% 70%,2% 74%,18% 54%,0 36%,24% 32%,16% 8%,40% 22%);animation:p-wobble 1.6s ease-in-out infinite;filter:drop-shadow(3px 3px 0 #111)}
.sf-theme-comicpop .sf-hero,.sf-theme-comicpop .sf-videohero{overflow:hidden;background:radial-gradient(circle,#ff2e6330 0 3px,transparent 3.5px) 0 0/12px 12px,#fff}
.sf-theme-comicpop .sf-hero::before{content:"";position:absolute;left:50%;top:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;background:repeating-conic-gradient(#ffe40055 0 6deg,transparent 6deg 12deg);z-index:-1;animation:w-spin 60s linear infinite}
.sf-theme-comicpop .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:12px;background:var(--sf-accent);color:#fff!important;border:3px solid #111;box-shadow:5px 5px 0 #111;transition:translate .1s,box-shadow .1s}
.sf-theme-comicpop .sf-btn:hover{translate:-2px -2px;box-shadow:8px 8px 0 #111}
.sf-theme-comicpop .sf-btn-outline{background:var(--t-y);color:#111!important}
.sf-theme-comicpop .sf-card,.sf-theme-comicpop .sf-stat,.sf-theme-comicpop .sf-faq-item,.sf-theme-comicpop .sf-grid figure{background:#fff;border:4px solid #111;border-radius:4px;box-shadow:8px 8px 0 #111}
.sf-theme-comicpop .sf-grid>*:nth-child(3n+2){background:radial-gradient(circle,#08d9d633 0 2.5px,transparent 3px) 0 0/10px 10px,#fff}
.sf-theme-comicpop .sf-testimonials .sf-card{border-radius:40px}
.sf-theme-comicpop .sf-number{font-family:var(--sf-font-head);background:var(--t-y);color:#111;border:3px solid #111;border-radius:50%}
.sf-theme-comicpop .sf-stat strong{font-family:var(--sf-font-head);color:var(--sf-accent);-webkit-text-stroke:2px #111;paint-order:stroke fill;font-size:clamp(40px,5vw,72px)}
.sf-theme-comicpop .sf-art{background:radial-gradient(circle,#111 0 2px,transparent 2.5px) 0 0/10px 10px,var(--sf-accent2);border:5px solid #111;border-radius:6px;box-shadow:10px 10px 0 #111}
.sf-theme-comicpop .sf-art i{border:4px solid #111;background:var(--t-y);border-radius:50%}
.sf-theme-comicpop .sf-art i:nth-child(2){background:var(--sf-accent)}
.sf-theme-comicpop .sf-art span{font-family:var(--sf-font-head);background:#fff;border:3px solid #111;padding:6px 14px;border-radius:30px;color:#111}
.sf-theme-comicpop .sf-marquee{background:var(--sf-accent);border-block:4px solid #111;padding-block:12px}
.sf-theme-comicpop .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff;-webkit-text-stroke:2px #111;paint-order:stroke fill}
.sf-theme-comicpop .sf-marquee b{color:var(--t-y)}
.sf-theme-comicpop .sf-tone-soft{background:radial-gradient(circle,#ffe40066 0 3px,transparent 3.5px) 0 0/14px 14px,#fffbe0}
.sf-theme-comicpop .sf-footer{background:#111;color:#fff;border-top:6px solid var(--t-y)}
.sf-theme-comicpop .sf-form input:not([type=checkbox]),.sf-theme-comicpop .sf-form textarea{border:3px solid #111;border-radius:6px;background:#fff}

/* ---------- 8. レインボー ---------- */
.sf-theme-rainbow{--rb:linear-gradient(90deg,#ff4d4d,#ff9f1c,#ffd23f,#3ad29f,#2ec4ff,#6c63ff,#ff5ca8,#ff4d4d)}
.sf-theme-rainbow::before{inset:auto 0 0 0;height:10px;background:var(--rb) 0 0/200% 100%;animation:w-shine 4s linear infinite;z-index:5}
.sf-theme-rainbow .sf-header{background:#fff;border-bottom:0;box-shadow:0 6px 0 -1px #fff}
.sf-theme-rainbow .sf-header::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:var(--rb) 0 0/200% 100%;animation:w-shine 4s linear infinite}
.sf-theme-rainbow .sf-brand{font-family:var(--sf-font-head);background:var(--rb) 0 0/200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:w-shine 4s linear infinite}
.sf-theme-rainbow h1,.sf-theme-rainbow h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-rainbow h1{font-size:clamp(44px,7vw,116px);line-height:1.2;color:var(--sf-ink)}
.sf-theme-rainbow h1 .sf-ch:nth-child(7n+1){color:#ff4d4d}.sf-theme-rainbow h1 .sf-ch:nth-child(7n+2){color:#ff9f1c}.sf-theme-rainbow h1 .sf-ch:nth-child(7n+3){color:#f2b800}.sf-theme-rainbow h1 .sf-ch:nth-child(7n+4){color:#1fb784}.sf-theme-rainbow h1 .sf-ch:nth-child(7n+5){color:#1aa3e6}.sf-theme-rainbow h1 .sf-ch:nth-child(7n+6){color:#6c63ff}.sf-theme-rainbow h1 .sf-ch:nth-child(7n){color:#ff5ca8}
.sf-theme-rainbow h2{font-size:clamp(30px,4.2vw,60px)}
.sf-theme-rainbow h2::after{content:"";display:block;width:120px;height:8px;margin-top:12px;border-radius:9px;background:var(--rb) 0 0/200% 100%;animation:w-shine 3s linear infinite}
.sf-theme-rainbow .sf-al-center h2::after{margin-inline:auto}
.sf-theme-rainbow .sf-eyebrow{display:inline-block;color:#fff;background:var(--rb) 0 0/200% 100%;animation:w-shine 5s linear infinite;border-radius:999px;padding:6px 16px;font-weight:800;letter-spacing:.2em}
.sf-theme-rainbow .sf-btn{position:relative;border-radius:999px;background:var(--sf-ink);color:#fff!important;border:0;isolation:isolate;overflow:hidden}
.sf-theme-rainbow .sf-btn::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(#ff4d4d,#ff9f1c,#ffd23f,#3ad29f,#2ec4ff,#6c63ff,#ff5ca8,#ff4d4d);animation:w-spin 2.5s linear infinite}
.sf-theme-rainbow .sf-btn::after{content:"";position:absolute;inset:3px;border-radius:inherit;background:var(--sf-ink);z-index:-1;transition:opacity .3s}
.sf-theme-rainbow .sf-btn:hover::after{opacity:0}
.sf-theme-rainbow .sf-btn-outline::after{background:#fff}.sf-theme-rainbow .sf-btn-outline{color:var(--sf-ink)!important}
.sf-theme-rainbow .sf-card,.sf-theme-rainbow .sf-stat,.sf-theme-rainbow .sf-faq-item,.sf-theme-rainbow .sf-grid figure{background:linear-gradient(#fff,#fff) padding-box,var(--rb) border-box;background-size:auto,200% 100%;border:3px solid transparent;border-radius:24px;animation:w-shine 6s linear infinite}
.sf-theme-rainbow .sf-grid>*:nth-child(7n+1) .sf-number{background:#ff4d4d}.sf-theme-rainbow .sf-grid>*:nth-child(7n+2) .sf-number{background:#ff9f1c}.sf-theme-rainbow .sf-grid>*:nth-child(7n+3) .sf-number{background:#3ad29f}
.sf-theme-rainbow .sf-number{color:#fff;border:0;border-radius:50%;background:#6c63ff}
.sf-theme-rainbow .sf-art{background:radial-gradient(circle at 50% 110%,#fff 0 22%,#ff4d4d 22% 30%,#ff9f1c 30% 38%,#ffd23f 38% 46%,#3ad29f 46% 54%,#2ec4ff 54% 62%,#6c63ff 62% 70%,#e9f6ff 70%);border-radius:28px}
.sf-theme-rainbow .sf-art i{background:#fff;border:0;border-radius:50%;box-shadow:24px 6px 0 -4px #fff,-24px 8px 0 -6px #fff;width:28%;height:14%;top:18%;left:14%;transform:none;animation:p-cloud 8s ease-in-out infinite alternate}
.sf-theme-rainbow .sf-art i:nth-child(2){top:34%;left:58%;width:22%;height:11%;animation-delay:-4s}
@keyframes p-cloud{to{translate:30px 0}}
.sf-theme-rainbow .sf-art i:nth-child(3),.sf-theme-rainbow .sf-art span{display:none}
.sf-theme-rainbow .sf-marquee{background:var(--rb) 0 0/200% 100%;animation:w-shine 6s linear infinite;padding-block:12px}
.sf-theme-rainbow .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff;text-shadow:0 2px 0 #0003}
.sf-theme-rainbow .sf-tone-soft{background:#f6f8ff}
.sf-theme-rainbow .sf-footer{background:var(--sf-ink);color:#fff}

/* ---------- 9. プレイグラウンド ---------- */
.sf-theme-playground::before{background:radial-gradient(circle,#20203a14 0 1.5px,transparent 2px) 0 0/24px 24px}
.sf-theme-playground .sf-header-floating .sf-header-inner{background:#fff;border:2px solid var(--sf-ink);border-radius:18px;box-shadow:5px 5px 0 var(--sf-ink)}
.sf-theme-playground .sf-brand{font-family:var(--sf-font-head)}
.sf-theme-playground h1,.sf-theme-playground h2{font-family:var(--sf-font-head);font-weight:400}
.sf-theme-playground h1{font-size:clamp(44px,7vw,116px);line-height:1.2;color:var(--sf-ink)}
.sf-theme-playground h2{font-size:clamp(30px,4.2vw,60px)}
.sf-theme-playground .sf-eyebrow{display:inline-flex;gap:8px;align-items:center;background:#fff;border:2px solid var(--sf-ink);border-radius:999px;padding:6px 14px;font-weight:800;letter-spacing:.12em}
.sf-theme-playground .sf-eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sf-accent2);animation:w-pulse 1s ease-in-out infinite}
.sf-theme-playground .sf-hero,.sf-theme-playground .sf-videohero{min-height:min(88vh,900px);display:flex;align-items:center}

.sf-theme-playground .sf-hero .sf-visual{visibility:hidden}
.sf-theme-playground .sf-hero .sf-copy::after{content:"↗ 図形をつかんで投げてみて！ ダブルクリックでジャンプ";display:inline-block;margin-top:18px;font-size:12px;font-weight:700;background:var(--sf-ink);color:#fff;padding:6px 12px;border-radius:999px;animation:p-float 2.4s ease-in-out infinite}
.sf-theme-playground .sf-toy{border:3px solid var(--sf-ink)}
.sf-theme-playground .sf-toy-star,.sf-theme-playground .sf-toy-tri,.sf-theme-playground .sf-toy-flower{border:0}
.sf-theme-playground .sf-btn{font-family:var(--sf-font-head);font-weight:400;border-radius:14px;background:var(--sf-accent);color:#fff!important;border:2px solid var(--sf-ink);box-shadow:4px 4px 0 var(--sf-ink)}
.sf-theme-playground .sf-btn-outline{background:#fff;color:var(--sf-ink)!important}
.sf-theme-playground .sf-card,.sf-theme-playground .sf-stat,.sf-theme-playground .sf-faq-item,.sf-theme-playground .sf-grid figure{background:#fff;border:2px solid var(--sf-ink);border-radius:20px;box-shadow:6px 6px 0 var(--sf-ink)}
.sf-theme-playground .sf-grid>*:nth-child(4n+1){background:#ffe3f0}.sf-theme-playground .sf-grid>*:nth-child(4n+2){background:#e4ddff}.sf-theme-playground .sf-grid>*:nth-child(4n+3){background:#dff7ea}.sf-theme-playground .sf-grid>*:nth-child(4n){background:#fff4cc}
.sf-theme-playground .sf-number{background:var(--sf-ink);color:#fff;border:0;border-radius:10px}
.sf-theme-playground .sf-marquee{background:var(--sf-ink);padding-block:12px}
.sf-theme-playground .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff}
.sf-theme-playground .sf-marquee b{color:var(--sf-accent2)}
.sf-theme-playground .sf-tone-soft{background:#efeaff}
.sf-theme-playground .sf-footer{background:var(--sf-ink);color:#fff}
.sf-theme-playground .sf-form input:not([type=checkbox]),.sf-theme-playground .sf-form textarea{border:2px solid var(--sf-ink);border-radius:12px;background:#fff}

/* ---------- 10. ペーパークラフト ---------- */
.sf-theme-paper::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.06'/%3E%3C/svg%3E")}
.sf-theme-paper .sf-header{background:#fffaf2;box-shadow:0 4px 0 #e8dcc9}
.sf-theme-paper .sf-brand{font-family:var(--sf-font-head);color:var(--sf-accent)}
.sf-theme-paper h1,.sf-theme-paper h2{font-family:var(--sf-font-head);font-weight:700}
.sf-theme-paper h1{font-size:clamp(42px,6.6vw,108px);line-height:1.2;color:var(--sf-ink);text-shadow:3px 3px 0 #fffaf2,5px 5px 0 #e8dcc9}
.sf-theme-paper h2{font-size:clamp(30px,4vw,58px);display:inline-block;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--sf-accent) 35%,transparent) 62% 88%,transparent 88%)}
.sf-theme-paper .sf-eyebrow{display:inline-block;background:var(--sf-accent2);color:#fff;padding:6px 16px;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);font-weight:800;letter-spacing:.15em}
.sf-theme-paper .sf-hero,.sf-theme-paper .sf-videohero{overflow:hidden}
.sf-theme-paper .sf-hero::before,.sf-theme-paper .sf-hero::after{content:"";position:absolute;left:-10%;right:-10%;z-index:-1;pointer-events:none}
.sf-theme-paper .sf-hero::before{bottom:0;height:46%;background:radial-gradient(120% 100% at 30% 100%,color-mix(in srgb,var(--sf-accent2) 55%,#fff) 60%,transparent 61%),radial-gradient(90% 80% at 85% 100%,color-mix(in srgb,var(--sf-accent2) 35%,#fff) 60%,transparent 61%);filter:drop-shadow(0 -6px 0 #0000000d);translate:calc(var(--mx,0)*-24px) 0;transition:translate .3s}
.sf-theme-paper .sf-hero::after{bottom:0;height:26%;background:radial-gradient(100% 100% at 60% 100%,color-mix(in srgb,var(--sf-accent) 45%,#fff) 60%,transparent 61%);filter:drop-shadow(0 -6px 0 #0000000f);translate:calc(var(--mx,0)*36px) 0;transition:translate .3s}
.sf-theme-paper .sf-btn{border-radius:10px;background:var(--sf-accent);color:#fff!important;border:0;box-shadow:0 4px 0 color-mix(in srgb,var(--sf-accent) 65%,#000),0 10px 20px -8px #0004}
.sf-theme-paper .sf-btn-outline{background:#fffaf2;color:var(--sf-ink)!important;box-shadow:0 4px 0 #d8ccb9}
.sf-theme-paper .sf-card,.sf-theme-paper .sf-stat,.sf-theme-paper .sf-faq-item,.sf-theme-paper .sf-grid figure{background:#fffaf2;border:0;border-radius:6px;box-shadow:0 2px 0 #fff inset,4px 4px 0 #e8dcc9,8px 8px 0 color-mix(in srgb,var(--sf-accent2) 30%,#e8dcc9),0 20px 30px -18px #0005}
.sf-theme-paper .sf-card{clip-path:polygon(0 2%,4% 0,50% 1.5%,96% 0,100% 3%,99% 50%,100% 97%,95% 100%,50% 98.5%,4% 100%,0 97%,1% 50%)}
.sf-theme-paper .sf-number{background:var(--sf-accent);color:#fff;border:0;border-radius:6px}
.sf-theme-paper .sf-art{background:linear-gradient(180deg,#bfe6f0 0 55%,transparent 55%),radial-gradient(90% 60% at 30% 100%,color-mix(in srgb,var(--sf-accent2) 60%,#fff) 60%,transparent 61%),radial-gradient(80% 50% at 80% 100%,color-mix(in srgb,var(--sf-accent) 50%,#fff) 60%,transparent 61%),#f3e7d3;border-radius:10px;box-shadow:6px 6px 0 #e8dcc9}
.sf-theme-paper .sf-art i{background:#fff;border:0;border-radius:50%;box-shadow:0 4px 0 #0000000f;width:18%;height:18%;top:14%;left:62%;transform:none;animation:p-float 4s ease-in-out infinite}
.sf-theme-paper .sf-art i:nth-child(2){background:#ffd970;width:14%;height:14%;left:18%;top:12%}
.sf-theme-paper .sf-art i:nth-child(3),.sf-theme-paper .sf-art span{display:none}
.sf-theme-paper .sf-marquee{background:var(--sf-accent2);padding-block:12px;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%)}
.sf-theme-paper .sf-marquee i{font-family:var(--sf-font-head);font-style:normal;color:#fff}
.sf-theme-paper .sf-tone-soft{background:#f3e7d3}
.sf-theme-paper .sf-footer{background:var(--sf-ink);color:#fffaf2}
.sf-theme-paper .sf-form input:not([type=checkbox]),.sf-theme-paper .sf-form textarea{border:0;border-radius:8px;background:#fffaf2;box-shadow:inset 0 2px 0 #e8dcc9}

@media (max-width:760px){
 :is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper) h1{font-size:clamp(34px,10vw,54px)}
 .sf-theme-sticker .sf-grid>*{rotate:0deg!important}
 .sf-theme-playground .sf-hero .sf-copy::after{content:"↗ 図形をつかんで投げてみて！"}
}

:is(.sf-theme-candy,.sf-theme-soda,.sf-theme-sticker,.sf-theme-yumekawa,.sf-theme-toy,.sf-theme-fruits,.sf-theme-comicpop,.sf-theme-rainbow,.sf-theme-playground,.sf-theme-paper) .sf-hero:not(.sf-v-center):not(.sf-v-stacked):not(.sf-v-minimal) h1{font-size:clamp(36px,5.4vw,90px)}
.sf-theme-playground .sf-number,.sf-theme-toy .sf-number,.sf-theme-paper .sf-number{width:auto;height:auto;min-width:2.4em;padding:4px 10px;display:inline-grid;place-items:center}

/* 3.8 作品カードの文字が枠にくっつかないように */
:is(.sf-theme-arcade,.sf-theme-candy,.sf-theme-comicpop,.sf-theme-cyber,.sf-theme-fantasy,.sf-theme-flux,.sf-theme-fruits,.sf-theme-idol,.sf-theme-manga,.sf-theme-paper,.sf-theme-playground,.sf-theme-rainbow,.sf-theme-soda,.sf-theme-space,.sf-theme-sports,.sf-theme-sticker,.sf-theme-toy,.sf-theme-y2k,.sf-theme-yumekawa) .sf-grid>figure>figcaption{padding:14px 18px 18px}
/* 3.8 丸い番号バッジの中で数字がつぶれないように */
.sf-theme-anime .sf-number,.sf-theme-comicpop .sf-number{display:inline-grid;place-items:center;width:2.8em;height:2.8em;padding:0;line-height:1}
.sf-theme-fantasy .sf-number{width:2.6em;height:2.6em;padding:0}
.sf-theme-fantasy .sf-number>*,.sf-theme-fantasy .sf-number{text-align:center}
.sf-theme-soda .sf-number,.sf-theme-rainbow .sf-number,.sf-theme-idol .sf-number{display:inline-grid;place-items:center;min-width:2.6em;height:2.6em;padding:0 .7em;border-radius:999px;line-height:1}
.sf-theme-organic .sf-v-minimal .sf-card{padding:26px 28px}
@media(max-width:700px){.sf-theme-comicpop h1{-webkit-text-stroke-width:2px;text-shadow:4px 4px 0 var(--sf-accent)}}
.sf-site .sf-map.sf-map-live{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}
