/* =========================================================
   Awaji Islanders テーマ
   主役は水色（sky）、文字と締めは紺（navy）、押してほしい所だけオレンジ。
   クラス名はデザインシステムと同じく ai- で始まります。
   ========================================================= */

:root{
  --sky:#5CC8F0; --sky-band:#82D6F5; --pale:#E8F7FD; --line:#CDE8F5;
  --navy:#0B1F3A; --ink-soft:#244766; --white:#FFFFFF;
  --orange:#FF8A1F; --orange-deep:#DC6200; --orange-text:#B54E00; --ng:#E5484D;
  --event-sun:#FFC24A; --event-cream:#FFF4E8; --event-orange:#E8730A;
  --f-display:Anton, Impact, "Arial Narrow", sans-serif;
  --f-head:"Dela Gothic One","Hiragino Sans","Yu Gothic",sans-serif;
  --f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --r-sm:4px; --r-md:8px; --r-pill:999px;
  --shadow-step:0 8px 0 rgba(11,31,58,.12);
  --shadow-photo:0 14px 26px rgba(11,31,58,.28);
  --shadow-panel:0 22px 50px rgba(11,31,58,.35);
  --shadow-float:0 6px 18px rgba(11,31,58,.3);
  --wrap:1240px; --gutter:clamp(16px,4vw,48px); --sec-y:clamp(64px,9vw,104px);
  --tap:52px; --hover:150ms; --reveal:700ms;
  --admin-top:var(--wp-admin--admin-bar--height,0px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(90px + var(--admin-top))}
body{margin:0;background:var(--sky);color:var(--navy);font-family:var(--f-body);font-weight:500;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
:where(a):focus-visible,:where(button):focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ai-on-navy :focus-visible,.ai-footer :focus-visible,.ai-drawer :focus-visible{outline-color:var(--sky)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- 文字の部品 ---------- */
.ai-en,.ai-sh-en{font-family:var(--f-display)!important;font-weight:400!important;text-transform:uppercase;letter-spacing:0}
.ai-sh-en{font-size:clamp(48px,7vw,104px)!important;line-height:.9!important;margin:0!important;color:var(--navy)}
.ai-sh-en.is-small{font-size:clamp(36px,4.6vw,64px)!important}
.ai-sh-en.is-sky{color:var(--sky)}
.ai-sh-sub{font-family:var(--f-head)!important;font-weight:400;font-size:clamp(16px,1.6vw,24px)!important;line-height:1.4!important;margin:6px 0 0!important}
.ai-lead{color:var(--ink-soft);font-size:15px;line-height:1.8;max-width:44em}
* + .ai-sh-sub{margin-top:6px!important}
.ai-sh-en + .ai-lead,.ai-sh-sub + .ai-lead{margin-top:10px!important}
.ai-label{display:inline-block;font:400 15px/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.ai-num{font-family:var(--f-display);font-variant-numeric:tabular-nums}
.ai-orange-text{color:var(--orange-text)}
.ai-small{font-size:13px!important;color:var(--ink-soft)}
.has-text-align-right{text-align:right}

/* ---------- ボタン（ブロックの「スタイル」で選ぶ） ---------- */
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);border-radius:var(--r-pill);font-family:var(--f-head);font-weight:400;text-decoration:none;transition:background var(--hover),color var(--hover),box-shadow var(--hover)}
.wp-block-button.is-style-main .wp-block-button__link,.wp-block-button:not([class*="is-style-"]) .wp-block-button__link{background:var(--orange);color:var(--navy)}
.wp-block-button.is-style-main .wp-block-button__link::after{content:"\2192";font-family:var(--f-display);transition:transform var(--hover)}
.wp-block-button.is-style-main .wp-block-button__link:hover{background:#FF9A3D}
.wp-block-button.is-style-main .wp-block-button__link:hover::after{transform:translateX(4px)}
.wp-block-button.is-style-dark .wp-block-button__link{background:var(--navy);color:var(--white)}
.wp-block-button.is-style-dark .wp-block-button__link::after{content:"\2192";font-family:var(--f-display)}
.wp-block-button.is-style-dark .wp-block-button__link:hover{background:var(--ink-soft)}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 3px var(--navy)}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:var(--navy);color:var(--white)}
.ai-on-navy .wp-block-button.is-style-ghost .wp-block-button__link{color:var(--white);box-shadow:inset 0 0 0 3px var(--white)}
.wp-block-button.is-style-en .wp-block-button__link,.wp-block-button.ai-btn-en .wp-block-button__link{font-family:var(--f-display);letter-spacing:.04em;font-size:20px}
.wp-block-buttons.ai-center{justify-content:center}
.ai-cta-end{margin-top:clamp(36px,5vw,56px)!important}
.ai-cta-end .wp-block-button__link{min-width:min(100%,360px)}

/* ---------- ヘッダー ---------- */
.ai-header{position:sticky;top:var(--admin-top);z-index:50;background:var(--sky);transition:background .3s,box-shadow .3s}
.ai-header.is-scrolled{box-shadow:0 2px 0 rgba(11,31,58,.08)}
body.home .ai-header,body.page-template-page-event .ai-header{position:fixed;left:0;right:0;background:transparent}
body.home .ai-header.is-scrolled{background:var(--sky)}
body.page-template-page-event .ai-header.is-scrolled{background:var(--orange)}
.ai-hdr{display:flex;align-items:center;gap:14px;max-width:1600px;margin:0 auto;padding:clamp(10px,1.4vw,18px) var(--gutter)}
.ai-brand{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none;margin-right:auto;min-width:0}
.ai-brand svg{height:clamp(44px,4.6vw,66px);width:auto;display:block;flex:none}
.ai-brand span{font:400 clamp(18px,1.9vw,28px)/1 var(--f-display);letter-spacing:.02em;white-space:nowrap}
.ai-gnav{display:flex;gap:clamp(14px,1.7vw,28px);margin-right:clamp(6px,1.2vw,18px)}
.ai-gnav a{color:var(--navy);text-decoration:none;font:400 clamp(15px,1.2vw,18px) var(--f-display);letter-spacing:.04em;padding:6px 0;background:linear-gradient(var(--orange),var(--orange)) 0 100%/0 3px no-repeat;transition:background-size .25s}
.ai-gnav a:hover,.ai-gnav a[aria-current]{background-size:100% 3px}
.ai-trial{background:var(--orange);color:var(--navy);text-decoration:none;font:400 clamp(14px,1.2vw,17px) var(--f-head);padding:12px 22px;border-radius:var(--r-pill);white-space:nowrap}
.ai-trial:hover{background:#FF9A3D}
.ai-menu-btn{display:none;appearance:none;border:0;background:none;align-items:center;gap:10px;cursor:pointer;color:var(--navy);font:400 17px var(--f-display);letter-spacing:.04em;padding:10px 4px;min-height:44px}
.ai-menu-btn i{display:block;width:28px;height:3px;background:currentColor;box-shadow:0 9px 0 currentColor,0 -9px 0 currentColor}
@media (max-width:1240px){.ai-gnav{display:none}.ai-menu-btn{display:flex}}
@media (max-width:700px){.ai-trial{display:none}.ai-brand span{font-size:20px}}

.ai-drawer{position:fixed;inset:0;z-index:100;background:var(--navy);color:var(--white);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:80px 28px 40px;overflow:auto}
.ai-drawer[hidden]{display:none}
.ai-drawer a{color:var(--white);text-decoration:none;font:400 clamp(36px,7vw,64px)/1.1 var(--f-display);display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;padding:6px 0}
.ai-drawer a small{font:400 14px var(--f-head);color:var(--sky)}
.ai-drawer a:hover{color:var(--orange)}
.ai-drawer .ai-drawer-trial{margin-top:20px;align-self:flex-start;background:var(--orange);color:var(--navy);font:400 18px var(--f-head);padding:14px 26px;border-radius:var(--r-pill)}
.ai-drawer-close{position:absolute;top:calc(20px + var(--admin-top));right:24px;appearance:none;border:0;background:none;color:var(--white);font:400 18px var(--f-display);letter-spacing:.06em;cursor:pointer;padding:10px}

/* スマホの画面下に固定する申込ボタン */
.ai-bar{display:none}
@media (max-width:700px){
  .ai-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 14px rgba(11,31,58,.12);transition:transform .3s}
  .ai-bar a{display:block;text-align:center;background:var(--orange);color:var(--navy);text-decoration:none;font:400 17px var(--f-head);padding:15px;border-radius:var(--r-pill)}
  .ai-bar.is-hidden{transform:translateY(110%)}
  body{padding-bottom:84px}
}

/* ---------- フッター ---------- */
.ai-footer{background:var(--navy);color:var(--white);padding:clamp(48px,7vw,88px) var(--gutter) 28px}
.ai-ft{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px}
.ai-ft-brand{display:flex;align-items:center;gap:16px;color:var(--white);text-decoration:none}
.ai-ft-brand svg{height:88px;width:auto}
.ai-ft-brand b{font:400 clamp(28px,3.4vw,44px)/.95 var(--f-display);font-weight:400}
.ai-ft-brand small{display:block;font:400 14px var(--f-display);letter-spacing:.14em;color:var(--sky);margin-top:6px}
.ai-ft .ai-ft-copy{color:var(--white);font:400 clamp(20px,2.4vw,28px)/1.4 var(--f-head);margin:24px 0 6px}
.ai-ft p{margin:0;font-size:14px;line-height:1.8;color:#C9D6E5}
.ai-ft-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;align-content:start}
.ai-ft-nav a{color:var(--white);text-decoration:none;font:400 20px/1.2 var(--f-display);letter-spacing:.04em;padding:8px 0;display:flex;flex-direction:column}
.ai-ft-nav a small{font:400 12px var(--f-head);color:var(--sky);margin-top:2px}
.ai-ft-nav a:hover{color:var(--orange)}
.ai-ft-ig{display:inline-flex;margin-top:18px;color:var(--white);text-decoration:none;font:400 18px var(--f-display);letter-spacing:.04em;padding:12px 24px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 3px var(--white)}
.ai-ft-ig:hover{background:var(--white);color:var(--navy)}
.ai-ft-bottom{max-width:var(--wrap);margin:48px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font:400 13px var(--f-display);letter-spacing:.12em;color:#9FB3C8}
@media (max-width:760px){.ai-ft{grid-template-columns:1fr}}

/* ---------- セクションの共通 ---------- */
.ai-main{margin:0}
.wp-site-blocks > *{margin-block:0!important}
.ai-sec-sky + .ai-sec-sky,.ai-sec-white + .ai-sec-white{padding-top:0}
.ai-main > .wp-block-post-content > *{margin-block:0}
.ai-sec{position:relative;overflow-x:clip;padding:var(--sec-y) var(--gutter);margin:0!important;max-width:none!important}
.ai-sec > *{max-width:var(--wrap);margin-left:auto!important;margin-right:auto!important}
.ai-sec-sky{background:var(--sky)}
.ai-sec-band{background:var(--sky-band)}
.ai-sec-white{background:var(--white)}
.ai-sec-pale{background:var(--pale)}
.ai-sec-navy{background:var(--navy);color:var(--white)}
.ai-sec-navy .ai-sh-en,.ai-sec-navy .ai-sh-sub{color:var(--white)}
.ai-slant-top{clip-path:polygon(0 clamp(24px,4vw,64px),100% 0,100% 100%,0 100%);margin-top:calc(-1 * clamp(24px,4vw,64px))!important;padding-top:calc(var(--sec-y) + clamp(24px,4vw,64px))}
.ai-block-gap > * + *{margin-top:clamp(48px,6vw,80px)!important}
.ai-grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.ai-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.ai-grid-2 > *,.ai-grid-3 > *{margin:0!important}
.ai-grid-2:has(> .ai-form-wrap){align-items:start}
@media (max-width:900px){.ai-grid-3{grid-template-columns:1fr}}
@media (max-width:760px){.ai-grid-2{grid-template-columns:1fr}}

/* 白いカード（グループのスタイル「白いカード」） */
.is-style-card,.ai-card{background:var(--white);border-radius:var(--r-md);padding:clamp(20px,2.4vw,28px)!important;box-shadow:var(--shadow-step)}
.is-style-card > *,.ai-card > *{margin-block:0}
.is-style-card > * + *,.ai-card > * + *{margin-top:10px!important}
.ai-card h3{font-size:20px;line-height:1.45;margin:0}
.ai-card p{font-size:15px;line-height:1.75;color:var(--ink-soft)}

/* スクロールで下から現れる */
.ai-js .ai-reveal{opacity:0;transform:translateY(28px);transition:opacity var(--reveal) ease,transform var(--reveal) cubic-bezier(.16,1,.3,1)}
.ai-js .ai-reveal.is-in{opacity:1;transform:none}

/* ---------- オープニング（水色） ---------- */
.ai-intro{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--sky);transition:background-color .7s ease}
.ai-intro.leave{background-color:rgba(92,200,240,0)}
.ai-intro svg{width:min(64vw,560px);height:auto;overflow:visible;transform-origin:0 0}
.ai-intro-skip{position:absolute;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));appearance:none;border:0;background:none;color:var(--navy);font:700 15px var(--f-body);cursor:pointer;padding:12px}
html.ai-opening .ai-header .ai-brand svg{visibility:hidden}
html.ai-opening:not(.ai-go) .ai-header .ai-brand span,html.ai-opening:not(.ai-go) .ai-header .ai-gnav,html.ai-opening:not(.ai-go) .ai-header .ai-menu-btn,html.ai-opening:not(.ai-go) .ai-header .ai-trial,html.ai-opening:not(.ai-go) .ai-hero-scroll{opacity:0}
.ai-header .ai-brand span,.ai-header .ai-gnav,.ai-header .ai-menu-btn,.ai-header .ai-trial,.ai-hero-scroll{transition:opacity .5s ease .5s}
html.ai-opening:not(.ai-go) .ai-hero .ai-w1{transform:translateX(-14%);opacity:0}
html.ai-opening:not(.ai-go) .ai-hero .ai-w2{transform:translateX(14%);opacity:0}
html.ai-opening:not(.ai-go) .ai-hero .ai-fig{transform:translateY(8%);opacity:0}
html.ai-opening:not(.ai-go) .ai-hero .ai-hero-copy > *{transform:translateY(20px);opacity:0}
html.ai-opening:not(.ai-go) .ai-hero::before{transform:translateX(-30%);opacity:0}
.ai-hero .ai-w1,.ai-hero .ai-w2,.ai-hero .ai-fig,.ai-hero .ai-hero-copy > *,.ai-hero::before{transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .6s ease}
html.ai-go .ai-hero .ai-w2{transition-delay:.12s}
html.ai-go .ai-hero .ai-fig{transition-delay:.3s;transition-duration:1.1s}
html.ai-go .ai-hero .ai-hero-copy > :nth-child(1){transition-delay:.55s}
html.ai-go .ai-hero .ai-hero-copy > :nth-child(2){transition-delay:.68s}
html.ai-go .ai-hero .ai-hero-copy > :nth-child(3){transition-delay:.8s}

/* ---------- 1. ヒーロー ---------- */
.ai-hero{position:relative;container-type:inline-size;width:100%;aspect-ratio:16/10;max-height:none;overflow:hidden;background:var(--sky);margin:0!important;padding:0!important}
.ai-hero::before{content:"";position:absolute;inset:0;background:var(--sky-band);clip-path:polygon(67.5% 0,78.75% 0,53.75% 100%,42.5% 100%)}
.ai-hero::after{content:"";position:absolute;inset:76% 0 0 0;background:linear-gradient(rgba(92,200,240,0),var(--sky) 72%);pointer-events:none;z-index:1}
.ai-hero > *{margin:0!important}
.ai-hero .ai-w1,.ai-hero .ai-w2{position:absolute;left:-1.9cqw;font:400 20.6cqw/.82 var(--f-display)!important;white-space:nowrap;text-transform:uppercase;letter-spacing:0}
.ai-hero .ai-w1{top:14.5%;color:var(--navy)}
.ai-hero .ai-w2{top:45.5%;color:var(--white)}
.ai-hero .ai-fig{position:absolute;left:42.25%;top:11%;height:93%;width:auto;pointer-events:none}
.ai-hero .ai-fig img{height:100%;width:auto;max-width:none;border-radius:0}
.ai-hero-copy{position:absolute!important;left:3.75cqw;top:76.5%;z-index:2;display:flex;flex-direction:column;gap:1.4cqw}
.ai-hero-copy > *{margin:0!important}
.ai-hero-copy h1{font:400 2.75cqw/1.2 var(--f-head)!important;margin:0}
.ai-hero-copy .wp-block-buttons{gap:1.25cqw}
.ai-hero-copy .wp-block-button__link{font-size:max(15px,1.65cqw)!important;padding:1.1cqw 2.6cqw!important;min-height:0}
.ai-hero-copy .is-style-ghost .wp-block-button__link{font-family:var(--f-display);letter-spacing:.04em}
.ai-hero-meta{font:400 max(13px,1.25cqw) var(--f-head)!important}
.ai-hero-scroll{position:absolute;right:3.75cqw;bottom:4%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--navy);text-decoration:none;font:400 max(12px,1.05cqw) var(--f-display);letter-spacing:.2em}
.ai-hero-scroll span{writing-mode:vertical-rl}
.ai-hero-scroll i{display:block;width:2px;height:6cqw;background:rgba(11,31,58,.25);position:relative;overflow:hidden}
.ai-hero-scroll i::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--navy);animation:ai-drip 1.8s cubic-bezier(.6,0,.4,1) infinite}
@keyframes ai-drip{to{top:100%}}
@media (max-width:700px){
  .ai-hero{aspect-ratio:750/1380}
  .ai-hero::before{clip-path:polygon(62.7% 0,80% 0,40% 100%,22.7% 100%)}
  .ai-hero::after{inset:72% 0 0 0}
  .ai-hero .ai-w1,.ai-hero .ai-w2{font-size:33.3cqw!important;left:-.8cqw;white-space:normal;width:min-content}
  .ai-hero .ai-w1{top:9.5%}.ai-hero .ai-w2{top:46.5%}
  .ai-hero .ai-fig{left:31.7%;top:3.6%;height:83.3%}
  .ai-hero-copy{left:0;right:0;top:86%;align-items:center;text-align:center;gap:2.4cqw}
  .ai-hero-copy h1{font-size:5.3cqw!important}
  .ai-hero-copy .wp-block-buttons{display:none}
  .ai-hero-meta{font-size:3.2cqw!important}
  .ai-hero-scroll{right:4cqw;bottom:auto;top:58%;font-size:2.6cqw}
  .ai-hero-scroll i{height:12cqw}
}

/* ---------- 2. 入り口の4つのタイル ---------- */
.ai-gate{padding-top:clamp(28px,4vw,64px)}
.ai-gate-title{display:flex!important;flex-direction:column;gap:4px;font:400 clamp(22px,2.4vw,36px)/1.3 var(--f-head)!important;margin:0 0 clamp(16px,2vw,28px)!important}
.ai-gate > .ai-label{font-size:clamp(14px,1.2vw,18px)}
.ai-gate > .ai-label + .ai-gate-title{margin-top:4px!important}
.ai-tiles4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,20px)}
.ai-tiles4 > *{margin:0!important}
.ai-tile-link{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;background:var(--white);color:var(--navy);text-decoration:none;padding:clamp(18px,2vw,30px) clamp(16px,1.8vw,28px) clamp(52px,4.4vw,70px);border-radius:6px;box-shadow:0 6px 0 rgba(11,31,58,.18);transition:transform .2s,box-shadow .2s}
.ai-tile-link b{font:400 clamp(28px,3.4vw,56px)/1 var(--f-display)}
.ai-tile-link span{font:400 clamp(15px,1.3vw,20px) var(--f-head)}
.ai-tile-link em{font-style:normal;font-weight:700;font-size:clamp(12px,.95vw,15px);color:var(--ink-soft)}
.ai-tile-link i{position:absolute;right:clamp(14px,1.6vw,24px);bottom:clamp(12px,1.4vw,20px);font:normal 400 clamp(20px,2vw,28px) var(--f-display);width:clamp(38px,3.2vw,50px);height:clamp(38px,3.2vw,50px);border-radius:50%;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.ai-tile-link.is-hot{background:var(--orange)}
.ai-tile-link.is-hot em{color:var(--navy)}
.ai-tile-link:hover{transform:translateY(-4px);box-shadow:0 10px 0 rgba(11,31,58,.18)}
.ai-tile-link:hover i{transform:translateX(4px)}
.ai-tiles6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:700px){.ai-tiles4{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-tile-link{padding:16px 14px 56px}.ai-tile-link b{font-size:clamp(22px,7vw,32px)}}

/* ---------- 3. WHAT'S RUGBY? ---------- */
.ai-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(32px,4vw,48px)!important;max-width:none!important;margin-left:calc(-1 * var(--gutter))!important;margin-right:calc(-1 * var(--gutter))!important}
.ai-four > *{margin:0!important}
.ai-four-item{position:relative;padding:clamp(250px,27vw,340px) clamp(14px,2vw,30px) clamp(28px,3vw,44px) clamp(28px,4vw,62px)!important;margin-right:0!important;display:flex;flex-direction:column;gap:8px;min-width:0}
.ai-four-item:last-child{margin-right:0!important}
.ai-four-item::before{content:"";position:absolute;inset:0 -30% 0 0;background:var(--white);clip-path:polygon(23% 0,100% 0,77% 100%,0 100%);z-index:0}
.ai-four-item:nth-child(even)::before{background:#CDEFFB}
.ai-four-item > *{position:relative;z-index:2;margin:0!important}
.ai-four-item .ai-four-no{position:absolute!important;top:clamp(20px,2.4vw,34px);left:24%;font:400 clamp(24px,2.4vw,34px)/1 var(--f-display);color:var(--orange-deep);z-index:3}
.ai-four-item .ai-four-ph{position:absolute!important;z-index:1!important;top:clamp(16px,2vw,28px);left:6%;right:-6%;height:clamp(230px,25vw,320px);display:flex;justify-content:center;align-items:flex-end;pointer-events:none}
.ai-four-item .ai-four-ph img{height:100%!important;width:auto!important;max-width:100%;object-fit:contain;object-position:center bottom;border-radius:0}
.ai-four-item h3{font:400 clamp(44px,5.6vw,80px)/.9 var(--f-display)!important;text-transform:uppercase;padding-left:2%}
.ai-four-item .ai-four-sub{font:400 clamp(13px,1.1vw,16px)/1.5 var(--f-head)}
.ai-four-item .ai-four-body{font-size:14px;line-height:1.75;color:var(--ink-soft);max-width:15em}
@media (max-width:900px){
  .ai-four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}
  .ai-four-item{margin-right:0!important;padding:clamp(230px,52vw,300px) 18px 24px!important}
  .ai-four-item::before{clip-path:none;inset:0}
  .ai-four-item .ai-four-no{left:18px}
  .ai-four-item .ai-four-ph{left:0;right:0;height:clamp(210px,48vw,280px)}
}
@media (max-width:520px){.ai-four{grid-template-columns:1fr;margin-left:0!important;margin-right:0!important}.ai-four-item{padding-top:290px!important}.ai-four-item .ai-four-ph{height:270px}}

.ai-pos-head{display:flex!important;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.ai-pos-head > *{margin:0!important}
.ai-pos-board{margin-top:clamp(20px,3vw,32px)!important}
.ai-pos-board > *{margin:0!important}
.ai-pos-group{font:400 clamp(24px,2.4vw,32px)/1 var(--f-display)!important;letter-spacing:.02em;margin:0 0 12px!important}
.ai-pos-cards + .ai-pos-group{margin-top:clamp(28px,3.4vw,44px)!important}
.ai-pos-toggle{display:flex;gap:10px;margin:18px 0 0!important;justify-content:flex-end}
.ai-pos-toggle button{appearance:none;cursor:pointer;min-width:132px;min-height:44px;padding:8px 22px;border-radius:var(--r-pill);border:0;box-shadow:inset 0 0 0 2px var(--navy);background:transparent;color:var(--navy);font:400 18px var(--f-display);letter-spacing:.04em}
.ai-pos-toggle button[aria-pressed="true"]{background:var(--navy);color:var(--white)}
.ai-pos-cards{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ai-pos-cards > *{margin:0!important}
.ai-js .ai-pos-cards[hidden]{display:none!important}
/* ポジションカード：表＝名前だけ／押すとその場で裏返って番号・二つ名・説明（大きさは変わらない） */
.ai-pos{display:grid!important;grid-template-areas:"card";min-height:300px;cursor:pointer;border-radius:2px}
.ai-pos > *{grid-area:card;margin:0!important}
.ai-pos:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ai-pos-front,.ai-pos-back{position:relative;display:flex!important;flex-direction:column;border-radius:2px;overflow:hidden;transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.ai-pos-front > *,.ai-pos-back > *{position:relative;margin:0!important}
.ai-pos-front{background:var(--white);justify-content:flex-end;padding:18px 14px 12px!important;gap:4px}
.ai-pos-front::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 46%,#E2F5FC 46%,#E2F5FC 70%,transparent 70%)}
.ai-pos:hover .ai-pos-front{box-shadow:0 8px 0 rgba(11,31,58,.14)}
.ai-pos .ai-pos-name{font:400 clamp(26px,2.5vw,36px)/.95 var(--f-display)!important;text-transform:uppercase;overflow-wrap:anywhere}
.ai-pos .ai-pos-kana{font:700 14px/1.4 var(--f-body);color:var(--ink-soft)}
.ai-pos-front .ai-flip{align-self:flex-start;padding:10px 0 0;margin-top:8px!important;border-top:1px solid var(--line);width:100%;text-align:right}
.ai-pos-back{background:var(--navy);color:var(--white);padding:16px 14px 12px!important;gap:2px}
.ai-pos-back .ai-pos-no{font:400 clamp(44px,4.4vw,60px)/1 var(--f-display);color:transparent;-webkit-text-stroke:2px var(--sky);letter-spacing:.02em}
.ai-pos-back .ai-pos-sub{position:absolute!important;top:16px;right:14px;font:400 16px var(--f-display);color:#9FB3C8}
.ai-pos-back .ai-pos-ruby{font:400 11px/1.3 var(--f-head);color:var(--orange);letter-spacing:.06em;margin-top:8px!important}
.ai-pos-back .ai-pos-nick{font:400 clamp(16px,1.5vw,19px)/1.35 var(--f-head);color:var(--white);white-space:nowrap}
.ai-pos-back .ai-pos-nick::after{content:"";display:block;width:30px;height:3px;background:var(--orange);margin-top:8px}
.ai-pos-back .ai-pos-desc{font:500 13px/1.75 var(--f-body);color:#E3ECF5;margin-top:10px!important}
.ai-pos-back .ai-flip{color:#9FB3C8;padding:10px 0 0;margin-top:auto!important;align-self:flex-end}
.ai-js .ai-pos-back{opacity:0;transform:rotateY(80deg);pointer-events:none;visibility:hidden}
.ai-js .ai-pos.is-flipped .ai-pos-back{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.ai-js .ai-pos.is-flipped .ai-pos-front{opacity:0;transform:rotateY(-80deg);visibility:hidden}
@media (max-width:900px){.ai-pos-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.ai-pos-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-pos{min-height:250px}.ai-pos-front,.ai-pos-back{padding-inline:12px!important}.ai-pos-back .ai-pos-desc{font-size:12.5px;line-height:1.7}}

.ai-watch{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
.ai-watch > *{margin:0!important}
.ai-video{background:var(--navy) repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px);color:var(--white);border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px!important;text-align:center}
.ai-video > *{margin:0!important}
.ai-video .wp-block-embed{width:100%}
.ai-video:has(.wp-block-embed){padding:0!important;display:block;aspect-ratio:auto}
.ai-video p{font-size:14px;color:#C9D6E5}
.ai-video .ai-play{width:90px;height:62px;border-radius:14px;background:var(--orange);display:flex;align-items:center;justify-content:center}
.ai-video .ai-play::after{content:"";border-left:26px solid var(--white);border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px}
@media (max-width:760px){.ai-watch{grid-template-columns:1fr}}
.ai-next{text-align:center;font:400 clamp(16px,1.6vw,20px) var(--f-head)!important;margin-top:clamp(40px,5vw,64px)!important}
.ai-next a{color:var(--navy);text-decoration:none}

/* ---------- 4. PLAY THE RULES ---------- */
.ai-rules-box{display:flex!important;flex-wrap:wrap;align-items:center;gap:20px 32px;background:var(--navy);color:var(--white);border-radius:var(--r-md);padding:clamp(28px,4vw,56px)!important;position:relative;overflow:hidden}
.ai-rules-box::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(92,200,240,.18) calc(10% - 2px) 10%);pointer-events:none}
.ai-rules-box > *{position:relative;margin:0!important}
.ai-rules-box .ai-sh-en{color:var(--white)}
.ai-rules-box .ai-sh-sub{color:var(--sky)}
.ai-rules-box p.ai-lead{color:#C9D6E5;flex:1 1 300px}
.ai-rules-chips{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}
.ai-rules-chips span{font:400 14px var(--f-display);letter-spacing:.08em;padding:6px 14px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 2px var(--sky);color:var(--sky)}
.ai-rules-chips span.is-ng{box-shadow:inset 0 0 0 2px var(--ng);color:#FF8F92}

/* ---------- 5. OUR MIND ---------- */
.ai-mind-top{padding-bottom:clamp(40px,5vw,72px)}
.ai-values{display:grid!important;gap:12px;margin-top:clamp(24px,3vw,36px)!important}
.ai-values > *{margin:0!important}
.ai-value{background:var(--white);display:grid!important;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:12px 24px;padding:clamp(18px,2.4vw,28px)!important;border-radius:2px}
.ai-value > *{margin:0!important}
.ai-value-name .ai-en{font-size:clamp(30px,3.2vw,44px);line-height:1;margin:0}
.ai-value-name p{margin:4px 0 0;font:400 15px var(--f-head);color:var(--orange-text)}
.ai-value-body > *{margin:0!important}
.ai-value-body h3{font:400 clamp(15px,1.4vw,19px)/1.5 var(--f-head)!important;margin-bottom:12px!important}
.ai-onoff{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}
.ai-onoff > *{margin:0!important}
.ai-onoff::before{content:"";grid-column:2;grid-row:1;width:0;height:0;border-left:13px solid var(--orange);border-top:8px solid transparent;border-bottom:8px solid transparent}
.ai-onoff > :first-child{grid-column:1;grid-row:1}
.ai-onoff > :last-child{grid-column:3;grid-row:1}
.ai-box{background:var(--pale);padding:12px 16px!important;border-radius:2px;height:100%}
.ai-box > *{margin:0!important}
.ai-box .ai-label{font-size:13px;letter-spacing:.04em;display:block;margin-bottom:2px!important}
.ai-box.is-off .ai-label{color:var(--orange-text)}
.ai-box p{font-size:13.5px;line-height:1.7}
@media (max-width:760px){.ai-value{grid-template-columns:1fr}.ai-onoff{grid-template-columns:1fr}.ai-onoff::before{grid-column:1;grid-row:2;justify-self:center;transform:rotate(90deg)}.ai-onoff > :last-child{grid-column:1;grid-row:3}}
.ai-values-foot{text-align:center;font:400 clamp(15px,1.5vw,19px)/1.5 var(--f-head)!important;margin-top:24px!important}
.ai-source{text-align:right;font-size:12px!important;color:var(--ink-soft)}

.ai-philo{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,22px);margin-top:clamp(24px,3vw,36px)!important}
.ai-philo > *{margin:0!important}
.ai-philo-card{position:relative;background:var(--white);padding:clamp(20px,2.4vw,30px)!important;overflow:hidden;border-radius:2px}
.ai-philo-card::before{content:"";position:absolute;top:0;right:0;width:30%;aspect-ratio:1;background:linear-gradient(45deg,transparent 50%,#D6F0FB 50%)}
.ai-philo-card > *{position:relative;margin:0!important}
.ai-philo-card .ai-en{font-size:clamp(26px,2.6vw,36px);line-height:1.05}
.ai-philo-card .ai-en + p{font:400 15px/1.5 var(--f-head);color:var(--navy);margin-top:14px!important}
.ai-philo-card p{font-size:14px;color:var(--ink-soft);line-height:1.75;margin-top:10px!important}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px!important}
.ai-chips span{font:700 12px/1.4 var(--f-body);padding:4px 10px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 2px var(--orange);color:var(--orange-text);background:var(--white)}
/* PHILOSOPHY：押すと裏返りながら大きく飛び出す */
.ai-philo-card .ai-philo-back{display:none!important}
.ai-js .ai-philo-card{cursor:pointer;display:flex!important;flex-direction:column;box-shadow:var(--shadow-step);transition:transform .2s,box-shadow .2s}
.ai-js .ai-philo-card:hover{transform:translateY(-4px);box-shadow:0 12px 0 rgba(11,31,58,.14)}
.ai-philo-card:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ai-philo-card.is-out{visibility:hidden}
.ai-philo-more{margin-top:auto!important;padding-top:16px!important}
.ai-philo-more span{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font:400 15px var(--f-display);letter-spacing:.06em;color:var(--navy)}
.ai-philo-more i{font-style:normal;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font:400 22px var(--f-display);transition:transform .2s,background .2s}
.ai-philo-card:hover .ai-philo-more i{background:var(--orange);color:var(--navy);transform:rotate(90deg)}
.ai-pop-stage{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;perspective:1600px}
.ai-pop-stage[hidden]{display:none!important}
.ai-pop-dim{position:absolute;inset:0;background:rgba(11,31,58,.72);opacity:0}
.ai-pop{position:relative;width:min(760px,100%);transform-style:preserve-3d;will-change:transform}
.ai-pop-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px}
.ai-pop-front{position:absolute;inset:0;background:var(--white);padding:clamp(22px,2.4vw,30px);overflow:hidden;color:var(--navy)}
.ai-pop-front > *{margin:0 0 10px!important}
.ai-pop-front .ai-en{font:400 clamp(26px,2.6vw,36px)/1.05 var(--f-display)!important}
.ai-pop-back{position:relative;transform:rotateY(180deg);background:var(--navy);color:var(--white);padding:clamp(28px,5vw,56px) clamp(22px,5vw,60px) clamp(28px,4vw,48px);max-height:calc(100vh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 80px rgba(11,31,58,.5),0 0 0 6px var(--white)}
.ai-pop-tag{display:inline-block;background:var(--event-sun);color:var(--navy);font:400 15px/1.2 var(--f-display);letter-spacing:.14em;padding:6px 14px 4px;transform:rotate(-3deg);box-shadow:0 4px 0 var(--orange);margin:0 0 18px}
.ai-pop-en{font:400 clamp(40px,6.4vw,76px)/.9 var(--f-display)!important;margin:0!important;color:var(--sky);text-wrap:balance;padding-right:44px}
.ai-pop-catch{font:400 clamp(20px,2.6vw,30px)/1.45 var(--f-head);margin:16px 0 22px;color:var(--white)}
.ai-pop-body{display:flex;flex-direction:column;gap:2px}
.ai-pop-body p{margin:0;font-size:clamp(15px,1.6vw,17px);line-height:1.95;font-weight:500;color:#E3ECF5}
.ai-pop-body p.is-last{margin-top:14px;font:400 clamp(17px,2vw,22px)/1.6 var(--f-head);color:var(--orange)}
.ai-pop-close{position:absolute;top:12px;right:12px;appearance:none;border:0;cursor:pointer;width:46px;height:46px;border-radius:50%;background:var(--white);color:var(--navy);font:700 30px/1 var(--f-body);display:flex;align-items:center;justify-content:center;z-index:2}
.ai-pop-close:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.ai-pop-burst{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,194,74,0) 30%,rgba(255,194,74,.55) 31%,rgba(255,194,74,0) 46%);opacity:0;transform:scale(.6)}
html.ai-pop-open,html.ai-pop-open body{overflow:hidden}
@media (max-width:900px){.ai-philo{grid-template-columns:1fr}}

.ai-culture .ai-culture-word{font:400 clamp(48px,6vw,88px)/.9 var(--f-display)!important;color:var(--sky);text-transform:uppercase;margin:0!important}
.ai-culture h3:not(.ai-sh-en){font:400 clamp(16px,1.5vw,20px)/1.4 var(--f-head)!important;margin:10px 0 0!important}
.ai-culture .ai-grid-2 p:not(.ai-culture-word){font-size:15px;color:var(--ink-soft);line-height:1.8}
.ai-2035{font:400 clamp(22px,2.4vw,30px)/1.45 var(--f-head)!important;color:var(--orange-deep);margin-top:16px!important}

/* ---------- 6. COACHES ---------- */
.ai-quals{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--white);margin-top:clamp(24px,3vw,36px)!important;border-radius:2px}
.ai-quals > *{margin:0!important;display:flex;align-items:center;gap:12px;padding:18px 20px;border-left:1px solid var(--line)}
.ai-quals > :first-child{border-left:0}
.ai-quals b{font:400 clamp(44px,4.4vw,60px)/1 var(--f-display)}
.ai-quals b small{font:400 15px var(--f-head);margin-left:4px}
.ai-quals span{font-size:13px;font-weight:700;line-height:1.6;color:var(--ink-soft)}
@media (max-width:520px){.ai-quals{grid-template-columns:1fr!important}}
@media (max-width:1000px){.ai-quals{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-quals > *{border-left:0;border-top:1px solid var(--line)}.ai-quals > :first-child,.ai-quals > :nth-child(2){border-top:0}}
.ai-coaches{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);margin-top:clamp(20px,2.4vw,32px)!important;--nick-size:12.5px}
.ai-coaches > *{margin:0!important}
@media (max-width:1100px){.ai-coaches{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;max-width:none!important;margin-left:calc(-1 * var(--gutter))!important;margin-right:calc(-1 * var(--gutter))!important;padding-inline:var(--gutter)}.ai-coaches > *{scroll-snap-align:start}}
.ai-coach{display:grid!important;grid-template-areas:"card";background:transparent}
.ai-coach > *{grid-area:card;margin:0!important}
.ai-coach-front,.ai-coach-back{display:flex!important;flex-direction:column;border-radius:2px;overflow:hidden;transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.ai-coach-front{background:var(--white)}
.ai-coach-back{background:var(--navy);color:var(--white);padding:18px 16px!important;gap:2px}
.ai-coach-back > *{margin:0!important}
.ai-js .ai-coach-back{opacity:0;transform:rotateY(80deg);pointer-events:none;visibility:hidden}
.ai-js .ai-coach.is-flipped .ai-coach-back{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.ai-js .ai-coach.is-flipped .ai-coach-front{opacity:0;transform:rotateY(-80deg);visibility:hidden}
.ai-coach-front > *{margin:0!important}
.ai-coach-front figure img{width:100%;aspect-ratio:3/3.6;object-fit:cover;object-position:50% 20%;border-radius:0;display:block}
.ai-coach-in{padding:12px 14px 4px!important;display:flex;flex-direction:column;gap:2px;flex:1}
.ai-coach-in > *{margin:0!important}
.ai-nick{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:34px;padding:6px 8px!important;border-radius:var(--r-md);background:var(--orange);color:var(--navy);font:400 var(--nick-size,13px)/1.2 var(--f-head)!important;text-align:center;white-space:nowrap;margin-bottom:10px!important}
.ai-coach-first{font:400 20px/1 var(--f-display)!important;color:var(--ink-soft);letter-spacing:.02em}
.ai-coach-last{font:400 clamp(28px,2.6vw,38px)/1.05 var(--f-display)!important;white-space:nowrap}
.ai-coach-kanji{font:700 14px/1.6 var(--f-body)!important;color:var(--ink-soft)}
.ai-roles{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px!important}
.ai-roles span{font:400 13px/1 var(--f-display);letter-spacing:.04em;padding:6px 10px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 2px var(--navy)}
.ai-roles span:first-child{background:var(--navy);color:var(--white)}
.ai-coach-word{font:700 14px/1.75 var(--f-body)!important;border-top:1px solid var(--line);padding-top:12px!important;margin-top:10px!important}
.ai-coach-back .ai-coach-last{color:var(--white);margin-bottom:10px!important}
.ai-coach-back h4{font:700 13px/1.4 var(--f-body)!important;color:var(--orange);margin-top:10px!important}
.ai-coach-back p{font-size:14px;line-height:1.65}
.ai-flip{display:block;color:var(--ink-soft);font:700 12px var(--f-body);align-self:flex-end;padding:10px 14px;margin-top:auto}
.ai-coach{cursor:pointer;border-radius:2px}
.ai-coach:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ai-coach:hover .ai-coach-front{box-shadow:0 8px 0 rgba(11,31,58,.14)}
.ai-coach-back .ai-flip{color:#9FB3C8;padding:10px 0 0}
.ai-coach-more{display:flex;justify-content:flex-end}

/* ---------- 7. SAFETY FIRST ---------- */
.ai-sec > .ai-parents-bar:first-child{margin:calc(-1 * var(--sec-y)) calc(-1 * var(--gutter)) var(--sec-y)!important;max-width:none!important}
.ai-parents-bar{background:var(--navy);color:var(--white);padding:12px var(--gutter)!important;margin:0!important;display:flex!important;justify-content:space-between;align-items:center;max-width:none!important}
.ai-parents-bar > *{margin:0!important}
.ai-parents-bar p{font:400 15px var(--f-head)}
.ai-parents-bar .ai-label{color:var(--sky)}
.ai-steps{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin-top:clamp(24px,3vw,40px)!important}
.ai-steps > *{margin:0!important}
.ai-step{background:var(--pale);padding:clamp(22px,2.6vw,32px)!important;position:relative}
.ai-step.is-up{background:var(--sky);padding-top:clamp(28px,3.6vw,48px)!important;padding-bottom:clamp(40px,5vw,64px)!important}
.ai-step > *{margin:0!important}
.ai-step .ai-label{color:var(--orange-text);font-size:18px}
.ai-step.is-up .ai-label{color:var(--navy)}
.ai-step .ai-en{font-size:clamp(38px,4.4vw,60px);line-height:1;margin:6px 0 8px!important}
.ai-step h4{font:400 18px var(--f-head)!important;margin-bottom:10px!important}
.ai-step p{font-size:15px;line-height:1.8}
.ai-rules5{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:clamp(24px,3vw,36px)!important}
.ai-rules5 > *{grid-column:span 2;margin:0!important}
.ai-rules5 > :nth-child(4){grid-column:2/span 2}
.ai-rule{background:var(--white);border:2px solid var(--line);padding:clamp(20px,2.4vw,28px)!important;position:relative;border-radius:2px}
.ai-rule > *{margin:0!important}
.ai-rule .ai-rule-no{position:absolute;top:16px;right:20px;font:400 40px/1 var(--f-display);color:#C4E7F7}
.ai-rule h3{font:400 18px/1.4 var(--f-head)!important;margin:28px 0 10px!important}
.ai-rule p{font-size:14.5px;color:var(--ink-soft);line-height:1.8}
@media (max-width:900px){.ai-rules5{grid-template-columns:1fr}.ai-rules5 > *,.ai-rules5 > :nth-child(4){grid-column:auto}.ai-steps{grid-template-columns:1fr}}

/* ---------- 8. JOIN US ---------- */
.ai-info3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(24px,3vw,36px)!important}
.ai-info3 > *{margin:0!important}
.ai-info{background:var(--pale);padding:clamp(20px,2.4vw,28px)!important;display:flex;flex-direction:column;gap:4px;border-radius:2px}
.ai-info > *{margin:0!important}
.ai-info.is-sky{background:var(--sky)}
.ai-info .ai-label{color:var(--orange-text);font-size:16px;letter-spacing:.04em}
.ai-info.is-sky .ai-label{color:var(--navy)}
.ai-info .ai-big{font:400 clamp(48px,5.6vw,80px)/1 var(--f-display);font-variant-numeric:tabular-nums;margin:6px 0!important}
.ai-info p{font-size:14px;font-weight:700;line-height:1.6}
@media (max-width:760px){.ai-info3{grid-template-columns:1fr}}
.ai-classes{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:clamp(20px,2.4vw,28px)!important}
.ai-classes > *{margin:0!important}
.ai-class{background:var(--pale);border-top:5px solid var(--navy);padding:16px 14px!important;display:flex;flex-direction:column;gap:2px;position:relative}
.ai-class:first-child{border-top-color:var(--sky)}
.ai-class > *{margin:0!important}
.ai-class .ai-en{font-size:clamp(30px,2.8vw,40px);line-height:1;color:var(--navy)}
.ai-class .ai-class-age{color:var(--navy)}
.ai-class .ai-class-age{font:400 12px var(--f-head)}
.ai-class .ai-class-n{font:400 34px/1 var(--f-display);color:var(--orange-deep);margin-top:14px!important}
.ai-class .ai-class-n::after{content:"人制";font:400 13px var(--f-head);margin-left:4px}
.ai-class h4{font:700 14px var(--f-body)!important;margin-top:14px!important}
.ai-class p{font-size:13px;color:var(--ink-soft);line-height:1.7}
.ai-class .ai-tag{align-self:flex-start;margin-top:auto!important;display:inline-block;font:400 12px/1.2 var(--f-display);letter-spacing:.04em;padding:5px 10px!important;border-radius:var(--r-pill);background:var(--navy);color:var(--white)}
.ai-class .ai-tag.is-no{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.ai-class h4 + p{margin-bottom:12px!important}
@media (max-width:1000px){.ai-classes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ai-classes{grid-template-columns:1fr}}
.ai-access{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,48px);align-items:center}
.ai-access > *{margin:0!important}
.ai-access h3{font:400 clamp(20px,2vw,26px)/1.4 var(--f-head)!important;margin:6px 0 6px!important}
.ai-pill-note{display:inline-block;background:var(--pale);border-radius:var(--r-pill);padding:6px 22px;font-size:13px;font-weight:700}
.ai-map{aspect-ratio:16/9;background:#DCEEF6 repeating-linear-gradient(115deg,transparent 0 40px,rgba(92,200,240,.35) 40px 44px);border-radius:2px;display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:20px!important;overflow:hidden}
.ai-map > *{margin:0!important}
.ai-map iframe{width:100%;height:100%;border:0}
.ai-map:has(iframe){padding:0!important}
.ai-map .ai-pin{width:34px;height:34px;background:var(--orange);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
@media (max-width:760px){.ai-access{grid-template-columns:1fr}}

/* SINCE 1984 */
.ai-history{display:grid!important;grid-template-columns:minmax(0,1.8fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:stretch;margin-top:clamp(28px,4vw,48px)!important}
.ai-history > *{margin:0!important}
.ai-chapter .ai-label{font-size:18px;letter-spacing:.02em}
.ai-chapter h3{font:400 16px var(--f-head)!important;margin:0 0 20px!important}
.ai-timeline{list-style:none;margin:0!important;padding:0!important;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ai-timeline::before{content:"";position:absolute;left:0;right:-24px;top:50%;border-top:3px solid var(--navy)}
.ai-timeline::after{content:"";position:absolute;right:-48px;top:calc(50% - 2px);width:44px;border-top:4px dotted var(--navy)}
.ai-timeline li{position:relative;height:230px;padding:0 4px}
.ai-timeline li::before{content:"";position:absolute;left:calc(50% - 7px);top:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:var(--navy)}
.ai-timeline li:last-child::before{background:var(--sky);box-shadow:inset 0 0 0 3px var(--navy)}
.ai-timeline li b,.ai-timeline li span{position:absolute;left:0;right:0;text-align:center}
.ai-timeline li b{font:400 clamp(20px,2vw,28px)/1 var(--f-display)}
.ai-timeline li span{font-size:12px;line-height:1.5;font-weight:700;padding:0 2px}
.ai-timeline li:nth-child(odd) b{bottom:calc(50% + 16px)}
.ai-timeline li:nth-child(odd) span{bottom:calc(50% + 50px)}
.ai-timeline li:nth-child(even) b{top:calc(50% + 16px)}
.ai-timeline li:nth-child(even) span{top:calc(50% + 50px)}
.ai-restart{background:var(--navy);color:var(--white);padding:clamp(22px,2.6vw,32px)!important;display:flex;flex-direction:column;gap:14px;border-radius:2px}
.ai-restart > *{margin:0!important}
.ai-restart .ai-en{font-size:clamp(40px,4vw,56px);line-height:1;color:var(--orange)}
.ai-restart .ai-restart-sub{font:400 22px var(--f-display);letter-spacing:.02em;margin-top:-8px!important}
.ai-restart dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 16px;align-items:baseline}
.ai-restart dt{font:400 30px/1 var(--f-display);color:var(--sky)}
.ai-restart dd{margin:0;font-size:14px;line-height:1.6;font-weight:700}
@media (max-width:900px){
  .ai-history{grid-template-columns:1fr}
  .ai-timeline{grid-template-columns:1fr;padding-left:28px!important}
  .ai-timeline::before{left:6px;right:auto;top:0;bottom:0;border-top:0;border-left:3px solid var(--navy)}
  .ai-timeline::after{display:none}
  .ai-timeline li{height:auto;display:flex;align-items:baseline;gap:14px;padding:8px 0}
  .ai-timeline li::before{left:-28px;top:16px}
  .ai-timeline li b,.ai-timeline li span,.ai-timeline li:nth-child(odd) b,.ai-timeline li:nth-child(odd) span,.ai-timeline li:nth-child(even) b,.ai-timeline li:nth-child(even) span{position:static;text-align:left}
  .ai-timeline li b{flex:none;width:64px}
}

/* ---------- 9. 中学生のみなさんへ ---------- */
.ai-jr-title{font:400 clamp(48px,8vw,120px)/1.12 var(--f-head)!important;margin:10px 0 0!important}
.ai-jr-title .ai-white,.ai-white{color:var(--white)}
.ai-jr-band{background:var(--navy);color:var(--white);clip-path:polygon(0 12%,100% 0,100% 88%,0 100%);padding:clamp(56px,7vw,96px) var(--gutter)!important;margin:clamp(24px,4vw,48px) calc(-1 * var(--gutter)) 0!important;max-width:none!important;display:flex!important;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.ai-jr-band > *{margin:0!important}
.ai-jr-band .ai-jr-l{font:400 clamp(18px,2.2vw,28px)/1.7 var(--f-head)!important}
.ai-jr-band .ai-jr-l mark,.ai-sky-text{background:none;color:var(--sky)}
.ai-jr-band .ai-jr-r{font:400 clamp(22px,3.2vw,44px)/1.4 var(--f-head)!important;text-align:right}
.ai-jr-band .ai-jr-r mark{background:none;color:var(--orange)}
.ai-eq{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:20px clamp(24px,5vw,80px);align-items:center;margin-top:clamp(40px,5vw,64px)!important}
.ai-eq > *{margin:0!important}
.ai-eq-list{display:grid;grid-template-columns:auto auto auto;gap:6px 18px;align-items:center;justify-content:start;font-size:clamp(15px,1.6vw,20px);font-weight:700}
.ai-eq-list > *{margin:0!important}
.ai-eq-list .ai-r{text-align:right}
.ai-eq-list .ai-k{font-family:var(--f-head);font-weight:400}
.ai-eq-list .ai-q{font:400 clamp(26px,2.6vw,34px) var(--f-head);color:var(--white)}
.ai-toukyu{text-align:center}
.ai-toukyu > *{margin:0!important}
.ai-toukyu .ai-tk{display:inline-block;font:400 clamp(80px,13vw,180px)/1 var(--f-head);color:var(--white);-webkit-text-stroke:0;transition:opacity .6s,transform .6s cubic-bezier(.16,1,.3,1)}
.ai-js .ai-toukyu:not(.is-in) .ai-tk{opacity:0;transform:scale(.7)}
.ai-toukyu p{font-size:12px;color:var(--ink-soft);margin-top:8px!important}
@media (max-width:760px){.ai-eq{grid-template-columns:1fr}}
.ai-msg{background:var(--white);text-align:center;padding:clamp(32px,4vw,56px) 20px!important;margin-top:clamp(40px,5vw,64px)!important;display:flex!important;flex-direction:column;gap:6px}
.ai-msg > *{margin:0!important}
.ai-msg p{font:400 clamp(16px,1.8vw,22px)/1.7 var(--f-head)!important}
.ai-msg .ai-msg-soft{font-size:clamp(14px,1.4vw,17px)!important;color:var(--ink-soft);margin-top:16px!important}
.ai-msg .ai-msg-go{font-size:clamp(28px,3.4vw,44px)!important;color:var(--orange-deep);margin-top:14px!important}
.ai-quote{padding:clamp(48px,6vw,80px) 0 0!important;display:flex!important;flex-direction:column;gap:12px}
.ai-quote > *{margin:0!important}
.ai-quote .ai-quote-text{font:400 clamp(22px,3vw,40px)/1.55 var(--f-head)!important}
.ai-quote .ai-quote-cite{font:700 13px/1.6 var(--f-body)!important;color:var(--ink-soft)}
.ai-quote .ai-quote-end{align-self:flex-end;font:400 clamp(28px,3.4vw,48px)/1.2 var(--f-head)!important;color:var(--white)}
.ai-parents{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.ai-parents > *{margin:0!important}
.ai-parents h3{font:400 clamp(24px,2.6vw,34px)/1.3 var(--f-head)!important;margin:4px 0 10px!important}
.ai-parents p{font-size:14.5px;color:var(--ink-soft);line-height:1.8}
.ai-parents .ai-label.ai-orange-text{color:var(--orange-text);font-size:15px}
.ai-vtl{list-style:none;margin:0!important;padding:0 0 0 30px!important;position:relative}
.ai-vtl::before{content:"";position:absolute;left:7px;top:10px;bottom:30px;border-left:3px solid var(--navy)}
.ai-vtl li{position:relative;padding-bottom:28px}
.ai-vtl li::before{content:"";position:absolute;left:-30px;top:7px;width:17px;height:17px;border-radius:50%;background:var(--navy)}
.ai-vtl li:last-child::before{background:var(--orange)}
.ai-vtl b{display:block;font:400 clamp(24px,2.4vw,32px)/1.1 var(--f-display)}
.ai-vtl span{font-size:13.5px;font-weight:700;line-height:1.6}
@media (max-width:760px){.ai-parents{grid-template-columns:1fr}}
.ai-qa-head{display:flex!important;align-items:baseline;gap:24px;flex-wrap:wrap}
.ai-qa-head > *{margin:0!important}
.ai-faq{display:block!important;columns:2;column-gap:14px;margin-top:24px!important}
.ai-faq > *{break-inside:avoid;margin:0 0 10px!important}
@media (max-width:760px){.ai-faq{columns:1}}
.ai-faq .wp-block-details,.wp-block-details.is-style-faq{background:var(--white);border-radius:2px;padding:0!important;counter-increment:ai-q}
.ai-faq{counter-reset:ai-q}
.ai-faq .wp-block-details summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px;font:400 15px/1.5 var(--f-head)}
.ai-faq .wp-block-details summary::-webkit-details-marker{display:none}
.ai-faq .wp-block-details summary::before{content:"Q" counter(ai-q);font:400 20px/1 var(--f-display);color:var(--orange-deep);min-width:2.2em}
.ai-faq .wp-block-details summary::after{content:"+";font:400 26px/1 var(--f-display);color:var(--navy);transition:transform var(--hover)}
.ai-faq .wp-block-details[open] summary::after{transform:rotate(45deg)}
.ai-faq .wp-block-details > :not(summary){margin:0 18px!important;padding:14px 0 18px 3em;border-top:1px solid var(--line);font-size:14.5px;line-height:1.8;color:var(--ink-soft);position:relative}
.ai-faq .wp-block-details > :not(summary)::before{content:"A";position:absolute;left:0;top:14px;font:400 20px/1 var(--f-display);color:var(--sky)}
.ai-letsgo{text-align:center;font:400 clamp(32px,4.4vw,60px)/1.2 var(--f-head)!important;color:var(--white);margin-top:clamp(48px,6vw,80px)!important}

/* ---------- 10. NEWS & EVENT ---------- */
.ai-event{position:relative;display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);background:var(--orange);color:var(--white);overflow:hidden;min-height:190px;margin-top:clamp(24px,3vw,36px)!important}
.ai-event::before{content:"";position:absolute;inset:0 38% 0 0;background:var(--navy);clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}
.ai-event > *{position:relative;z-index:1;margin:0!important;padding:24px 28px!important;display:flex;flex-direction:column;justify-content:center;gap:4px}
.ai-event > * > *{margin:0!important}
.ai-event .ai-event-kicker{font:400 16px/1 var(--f-display);letter-spacing:.06em;color:var(--sky)}
.ai-event .ai-event-name{font:400 clamp(26px,3.4vw,46px)/.98 var(--f-display)!important;text-transform:uppercase}
.ai-event .ai-event-desc{font:400 14px/1.5 var(--f-head)}
.ai-event .ai-event-when{font:700 14px/1.6 var(--f-body);color:var(--sky)}
.ai-event-r{align-items:flex-end;color:var(--navy);gap:16px!important}
.ai-event-r .ai-event-abbr{font:400 clamp(40px,5vw,60px)/1 var(--f-display)!important}
@media (max-width:640px){.ai-event{grid-template-columns:1fr}.ai-event::before{inset:0 0 34% 0;clip-path:polygon(0 0,100% 0,100% 82%,0 100%)}.ai-event-r{align-items:flex-start}}
.ai-filter{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:clamp(28px,3vw,40px)!important}
.ai-filter > *{margin:0!important}
.ai-filter a{display:inline-flex;align-items:center;min-height:36px;padding:4px 16px;border-radius:var(--r-pill);font:700 14px/1.4 var(--f-body);background:var(--white);color:var(--navy);text-decoration:none;box-shadow:inset 0 0 0 2px var(--white)}
.ai-filter a.is-on,.ai-filter a:hover{background:var(--navy);color:var(--white);box-shadow:none}
.ai-news .wp-block-post-template{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);list-style:none;padding:0;margin:16px 0 0}
.ai-news .wp-block-post-template > li{margin:0;background:var(--white);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-step);display:flex;flex-direction:column}
.ai-news .wp-block-post-featured-image{margin:0;aspect-ratio:4/3;background:var(--pale)}
.ai-news .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;border-radius:0}
.ai-news-body{padding:14px 16px 18px!important;display:flex;flex-direction:column;gap:6px}
.ai-news-body > *{margin:0!important}
.ai-news .wp-block-post-terms{font-size:12px;font-weight:700}
.ai-news .wp-block-post-terms a{color:var(--orange-text);text-decoration:none}
.ai-news .wp-block-post-title{font:400 16px/1.5 var(--f-head)!important}
.ai-news .wp-block-post-title a{color:var(--navy);text-decoration:none}
.ai-news .wp-block-post-title a:hover{text-decoration:underline}
.ai-date{font:400 14px/1 var(--f-display)!important;letter-spacing:.08em;color:var(--ink-soft)}
.ai-news .wp-block-query-no-results p{background:var(--white);padding:20px;border-radius:var(--r-md)}
@media (max-width:1000px){.ai-news .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ai-news .wp-block-post-template{grid-template-columns:1fr}}
.ai-ig-box{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--white);border-radius:var(--r-md);padding:clamp(20px,3vw,32px)!important}
.ai-ig-box > *{margin:0!important}
.ai-ig-box .ai-en{color:var(--navy);font-size:clamp(32px,3.6vw,48px);line-height:1}
.ai-ig-box p{font-size:14px;color:var(--ink-soft)}

/* ---------- 11. CONTACT ---------- */
.ai-purpose{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(24px,3vw,36px)!important}
.ai-purpose > *{margin:0!important}
.ai-purpose a{display:flex;flex-direction:column;gap:4px;height:100%;background:var(--white);color:var(--navy);text-decoration:none;padding:20px!important;border-radius:var(--r-md);box-shadow:var(--shadow-step);transition:transform .2s}
.ai-purpose a b{font:400 clamp(26px,2.6vw,36px)/1 var(--f-display)}
.ai-purpose a span{font:400 14px/1.5 var(--f-head)}
.ai-purpose a.is-hot{background:var(--orange)}
.ai-purpose a:hover{transform:translateY(-3px)}
@media (max-width:760px){.ai-purpose{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ai-form-wrap{background:var(--white);border-radius:var(--r-md);padding:clamp(22px,3vw,40px)!important}
.ai-form-wrap > *{margin-block:0!important}
.ai-form-wrap > * + *{margin-top:14px!important}
.ai-form-wrap h3{font:400 20px var(--f-head)!important}
.ai-form-note{background:var(--pale);border-radius:var(--r-md);padding:16px 18px!important;font-size:14px;color:var(--ink-soft)}
/* フォームの追加機能（Contact Form 7 など）で作った入力欄にも同じ見た目をかけます */
.ai-form-wrap input[type="text"],.ai-form-wrap input[type="email"],.ai-form-wrap input[type="tel"],.ai-form-wrap input[type="number"],.ai-form-wrap input[type="date"],.ai-form-wrap select,.ai-form-wrap textarea{width:100%;font:500 16px/1.5 var(--f-body);color:var(--navy);padding:12px 14px;border:2px solid var(--line);border-radius:var(--r-md);background:var(--white)}
.ai-form-wrap input:focus,.ai-form-wrap select:focus,.ai-form-wrap textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(255,138,31,.45)}
.ai-form-wrap label{font-weight:700;font-size:15px}
.ai-form-wrap input[type="submit"],.ai-form-wrap button[type="submit"]{appearance:none;border:0;cursor:pointer;width:100%;min-height:var(--tap);border-radius:var(--r-pill);background:var(--orange);color:var(--navy);font:400 17px var(--f-head);padding:14px 28px}
.ai-req{display:inline-block;font:700 11px/1 var(--f-body);padding:4px 7px;border-radius:var(--r-sm);background:var(--ng);color:var(--white);margin-left:6px;vertical-align:middle}
.ai-flow{list-style:none;margin:0!important;padding:0!important;display:grid;gap:10px;counter-reset:ai-f}
.ai-flow li{counter-increment:ai-f;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:var(--white);border-radius:var(--r-md);padding:14px 18px;font:400 15px/1.5 var(--f-head)}
.ai-flow li::before{content:"0" counter(ai-f);font:400 28px/1 var(--f-display);color:var(--orange-deep)}
.ai-flow li small{display:block;font:500 13px/1.6 var(--f-body);color:var(--ink-soft)}
.ai-bring{display:flex!important;flex-wrap:wrap;gap:8px}
.ai-bring > *{margin:0!important}
.ai-bring span{background:var(--white);border-radius:var(--r-pill);padding:8px 18px;font:400 15px var(--f-head)}
.ai-thanks{text-align:center}

/* ---------- 通常のページ・投稿 ---------- */
.ai-page-head{padding:clamp(48px,7vw,96px) var(--gutter) clamp(24px,3vw,40px)!important;margin:0!important}
.ai-page-head > *{max-width:var(--wrap);margin-left:auto!important;margin-right:auto!important}
.ai-page-head .wp-block-post-title,.ai-page-head .wp-block-query-title{font:400 clamp(28px,4vw,48px)/1.3 var(--f-head)!important;margin-top:8px!important}
.ai-article{background:var(--white);padding:clamp(32px,5vw,64px) var(--gutter)!important;margin:0!important}
.ai-article .wp-block-post-content > *{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.ai-article .wp-block-post-content > .alignwide{max-width:var(--wrap)}
.ai-article .wp-block-post-content > .alignfull{max-width:none}
.ai-article .wp-block-post-content h2{border-left:6px solid var(--orange);padding-left:14px;margin-top:2.2em}
.ai-article .wp-block-post-content h3{margin-top:1.8em}
.ai-article .wp-block-post-content a{color:var(--ink-soft)}
.ai-article .wp-block-post-featured-image{max-width:var(--wrap);margin:0 auto 32px!important}
.ai-article .wp-block-post-featured-image img{border-radius:var(--r-md)}
.ai-postnav{max-width:760px;margin:40px auto 0!important;display:flex!important;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:20px!important}
.ai-postnav a{color:var(--navy);font-weight:700}
.ai-archive{padding:0 var(--gutter) var(--sec-y)!important;margin:0!important}
.ai-archive > *{max-width:var(--wrap);margin-left:auto!important;margin-right:auto!important}
.wp-block-query-pagination{margin-top:32px!important;gap:10px;font:400 18px var(--f-display)}
.wp-block-query-pagination a{color:var(--navy)}
.ai-404{text-align:center;padding:var(--sec-y) var(--gutter)!important}
.ai-404 .ai-sh-en{font-size:clamp(80px,14vw,200px)!important}

/* ---------- 写真を散らす（ギャラリーのスタイル「写真を散らす」） ---------- */
.wp-block-gallery.is-style-scatter{display:flex!important;flex-wrap:wrap;justify-content:center;gap:0!important;padding:20px 0}
.wp-block-gallery.is-style-scatter > figure.wp-block-image{width:clamp(130px,19%,240px)!important;flex:none!important;margin:-1.5% -1%!important;background:var(--white);padding:7px!important;border-radius:var(--r-sm);box-shadow:var(--shadow-photo);transform:rotate(var(--tilt,0deg))}
.wp-block-gallery.is-style-scatter > figure.wp-block-image img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;height:auto!important}
.wp-block-gallery.is-style-scatter > figure:nth-child(4n+2){background:var(--sky)}
.wp-block-gallery.is-style-scatter > figure:nth-child(4n+3){background:var(--event-sun)}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+4){background:var(--navy)}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+1){--tilt:-9deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+2){--tilt:6deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+3){--tilt:-3deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+4){--tilt:12deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+5){--tilt:-13deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n+6){--tilt:4deg}
.wp-block-gallery.is-style-scatter > figure:nth-child(7n){--tilt:-6deg}
.wp-block-gallery.is-style-scatter figcaption{display:none}
/* 散らした写真を背景にして、パネルを上に浮かべる */
.ai-scatter-stage{position:relative;overflow:hidden;padding:clamp(80px,10vw,140px) var(--gutter)!important;margin:0!important}
.ai-scatter-stage > .wp-block-gallery.is-style-scatter{position:absolute!important;inset:-40px -60px;max-width:none!important;margin:0!important;align-content:flex-start;z-index:0;pointer-events:none}
.ai-scatter-stage > :not(.wp-block-gallery){position:relative;z-index:1;max-width:var(--wrap);margin-left:auto!important;margin-right:auto!important}
.ai-scatter-stage > * + :not(.wp-block-gallery){margin-top:clamp(80px,12vw,180px)!important}
.ai-scatter-stage > .wp-block-gallery + *{margin-top:0!important}

/* ---------- イベントページ（A.I.S.F.） ---------- */
body.page-template-page-event,.ai-event-page{background:var(--orange)}
.ai-event-page{margin:0!important;overflow-x:clip}
.ai-ev-hero{padding:clamp(120px,14vw,200px) var(--gutter) clamp(48px,6vw,80px)!important;margin:0!important;text-align:center}
.ai-ev-hero > *{margin:0 auto!important;max-width:var(--wrap)}
.ai-ev-hero .ai-label{background:var(--white);color:var(--navy);border-radius:var(--r-pill);padding:8px 18px;display:inline-block}
.ai-ev-title{font:400 clamp(64px,13vw,200px)/.86 var(--f-display)!important;color:var(--navy);margin-top:14px!important;text-transform:uppercase}
.ai-ev-title-sub{font:400 clamp(18px,2.2vw,30px)/1.4 var(--f-head)!important;color:var(--white);margin-top:14px!important}
.ai-ev-meta{display:flex!important;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px!important}
.ai-ev-meta > *{margin:0!important}
.ai-panel{position:relative;background:var(--event-cream);color:var(--navy);border-radius:10px;padding:clamp(26px,4vw,48px)!important;box-shadow:var(--shadow-panel),0 0 0 6px var(--navy)}
.ai-panel > *{margin-block:0!important}
.ai-panel > * + *{margin-top:14px!important}
.ai-panel.is-navy{background:var(--navy);color:var(--white);box-shadow:var(--shadow-panel),0 0 0 6px var(--white)}
.ai-panel.is-sky{background:var(--sky)}
.ai-panel.is-white{background:var(--white)}
.ai-sticker{position:absolute!important;top:-22px;left:28px;margin:0!important;display:inline-block;padding:8px 16px 6px!important;background:var(--event-sun);color:var(--navy);font:400 18px/1 var(--f-display)!important;letter-spacing:.12em;transform:rotate(-3deg);box-shadow:0 4px 0 var(--navy);text-transform:uppercase}
.ai-panel h2{font:400 clamp(40px,5vw,72px)/.9 var(--f-display)!important;text-transform:uppercase}
.ai-panel.is-navy h2{color:var(--event-sun)}
.ai-panel h3{font:400 clamp(18px,1.8vw,24px)/1.4 var(--f-head)!important}
.ai-panel .ai-division{font:400 15px var(--f-head);color:var(--event-orange)}
.ai-result{display:inline-block;padding:6px 18px 4px 22px!important;background:var(--orange);color:var(--navy);font:400 24px/1.1 var(--f-display)!important;letter-spacing:.06em;transform:skewX(-10deg);text-transform:uppercase}
.ai-panel .wp-block-image img{border-radius:var(--r-sm);width:100%;aspect-ratio:4/3;object-fit:cover}
.ai-event-page > .ai-panel{max-width:var(--wrap);margin:clamp(40px,6vw,80px) auto!important;width:calc(100% - 2 * var(--gutter))}
.ai-event-page > .ai-panel .wp-block-image img{aspect-ratio:16/9}
.ai-ev-thanks{background:var(--white);transform:rotate(-5deg);margin:clamp(24px,4vw,48px) -5vw!important;padding:20px var(--gutter)!important;max-width:none!important;text-align:center;box-shadow:var(--shadow-photo)}
.ai-ev-thanks > *{margin:0!important}
.ai-ev-thanks .ai-en{font-size:clamp(48px,8vw,120px);line-height:.9}
.ai-ev-next{background:var(--navy);color:var(--white);text-align:center;padding:var(--sec-y) var(--gutter)!important;margin:0!important}
.ai-ev-next > *{margin-left:auto!important;margin-right:auto!important}
.ai-ev-next .ai-sh-en{color:var(--white);font-size:clamp(56px,9vw,140px)!important}
.ai-ev-next .ai-ev-year{font:400 clamp(28px,3.6vw,48px) var(--f-display);color:var(--event-sun)}

/* ---------- 動きを減らす設定の人には動かさない ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ai-js .ai-reveal{opacity:1;transform:none}
  .ai-js .ai-toukyu .ai-tk{opacity:1;transform:none}
}

/* ---------- 編集画面の中での見え方 ---------- */
.editor-styles-wrapper .ai-reveal{opacity:1!important;transform:none!important}
.editor-styles-wrapper .ai-coach-back{opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto!important}
.editor-styles-wrapper .ai-coach{grid-template-areas:none;gap:8px}
.editor-styles-wrapper .ai-coach > *{grid-area:auto}
.editor-styles-wrapper .ai-pos-cards[hidden]{display:grid!important}
.editor-styles-wrapper .ai-pos{grid-template-areas:none;gap:8px}
.editor-styles-wrapper .ai-pos > *{grid-area:auto}
.editor-styles-wrapper .ai-pos-back{opacity:1!important;transform:none!important;visibility:visible!important}
.editor-styles-wrapper .ai-philo-card .ai-philo-back{display:block!important;background:var(--navy);color:var(--white);padding:16px!important;margin-top:16px!important}
.editor-styles-wrapper .ai-philo-card .ai-philo-back p{color:#E3ECF5}
.editor-styles-wrapper .ai-scatter-stage > .wp-block-gallery.is-style-scatter{position:relative!important;inset:auto;pointer-events:auto}
.editor-styles-wrapper .ai-hero{min-height:420px}

/* ---------- YouTube 動画（押したときに読み込む） ---------- */
.ai-yt{background:var(--navy) repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px);color:var(--white);border-radius:var(--r-md);overflow:hidden;margin:0!important}
.ai-yt-btn,.ai-yt iframe{display:block;position:relative;width:100%;aspect-ratio:16/9;border:0;padding:0;background:none;cursor:pointer}
.ai-yt.is-empty{position:relative;width:100%;aspect-ratio:16/9}
.ai-yt-btn img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;opacity:.85;transition:opacity var(--hover)}
.ai-yt-btn:hover img{opacity:1}
.ai-yt .ai-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:62px;border-radius:14px;background:var(--orange);display:flex;align-items:center;justify-content:center}
.ai-yt .ai-play::after{content:"";border-left:26px solid var(--white);border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px}
.ai-yt p{margin:0;padding:10px 16px;font-size:13px;color:#C9D6E5}
.ai-yt.is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:default}
.ai-yt.is-empty .ai-play{position:static;transform:none}

/* ---------- お問い合わせフォーム ---------- */
.ai-form{display:grid;gap:18px}
.ai-form > *{margin:0!important}
.ai-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ai-field{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}
.ai-field > label,.ai-field legend{font:700 15px/1.4 var(--f-body);display:flex;align-items:center;gap:8px;padding:0;margin-bottom:6px}
.ai-field small{font-size:13px;color:var(--ink-soft)}
.ai-field input::placeholder,.ai-field textarea::placeholder{color:#6B8299}
.ai-row2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px}
@media (max-width:520px){.ai-row2{grid-template-columns:1fr}}
.ai-type-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-type{position:relative;cursor:pointer}
.ai-type input{position:absolute;opacity:0;inset:0}
.ai-type span{display:flex;flex-direction:column;gap:2px;height:100%;padding:12px 14px;border-radius:var(--r-md);box-shadow:inset 0 0 0 2px var(--line);font:400 13px/1.4 var(--f-head);transition:box-shadow var(--hover),background var(--hover)}
.ai-type span b{font:400 22px/1 var(--f-display);font-weight:400}
.ai-type input:checked + span{background:var(--orange);box-shadow:none}
.ai-type input:focus-visible + span{outline:3px solid var(--navy);outline-offset:2px}
.ai-checks{gap:10px}
.ai-check{display:flex!important;align-items:flex-start;gap:10px;font:500 14px/1.6 var(--f-body)!important;cursor:pointer}
.ai-check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--navy)}
.ai-submit{appearance:none;border:0;cursor:pointer;width:100%;min-height:var(--tap);border-radius:var(--r-pill);background:var(--orange);color:var(--navy);font:400 18px var(--f-head);padding:16px 28px;transition:background var(--hover)}
.ai-submit:hover{background:#FF9A3D}
.ai-submit:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.ai-form-error{background:#FFF0F0;border-left:4px solid var(--ng);padding:12px 16px;border-radius:var(--r-sm);font-weight:700;font-size:14px;color:#8A1C20}
.ai-form.is-other .ai-kid{display:none}
.ai-thanks{text-align:left}
.ai-thanks .ai-sh-en{color:var(--orange-deep)}

/* ルール体験：トップページの中に置いたとき */
.ai-sec > .ai-ptr{margin-top:clamp(24px,3vw,36px)!important}
.ai-map{padding:0!important}

/* ---------- パンくず（いまどのページにいるか） ---------- */
.ai-main{position:relative}
.ai-crumb{max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:14px var(--gutter) 0}
.ai-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font:400 14px/1.4 var(--f-display);letter-spacing:.08em}
.ai-crumb li{display:flex;align-items:center;color:var(--navy)}
.ai-crumb li + li::before{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin:0 12px 0 8px;opacity:.6}
.ai-crumb a{color:var(--navy);text-decoration:none;padding:6px 0;background:linear-gradient(var(--orange),var(--orange)) 0 100%/0 2px no-repeat;transition:background-size .25s}
.ai-crumb a:hover{background-size:100% 2px}
.ai-crumb [aria-current]{color:var(--ink-soft)}
.ai-crumb + .wp-block-post-content > .ai-sec:first-child,.ai-crumb + * > .ai-sec:first-child{padding-top:clamp(36px,5vw,64px)}
/* イベントページ：写真の上に白で */
.ai-event-page > .ai-crumb,.ai-event-page .ai-crumb{position:absolute;left:0;right:0;top:clamp(78px,7vw,104px);z-index:6;padding-top:0}
.ai-event-page .ai-crumb li,.ai-event-page .ai-crumb a{color:var(--white);text-shadow:0 2px 6px rgba(11,31,58,.5)}
.ai-event-page .ai-crumb [aria-current]{color:var(--sun)}
@media (max-width:760px){.ai-event-page .ai-crumb{top:70px}}

/* ヘッダー：いま開いているページのメニューに下線 */
.ai-gnav a[aria-current="page"],.ai-gnav a.is-current{background-size:100% 3px}
.ai-drawer a.is-current{color:var(--orange)}

/* ---------- トップ：各ページへの入り口（EXPLORE） ---------- */
.ai-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:clamp(24px,3vw,36px)}
.ai-page-card{position:relative;display:flex;flex-direction:column;background:var(--white);color:var(--navy);text-decoration:none;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-step);transition:transform .2s,box-shadow .2s}
.ai-page-ph{display:none}
.ai-page-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ai-page-tx{display:flex;flex-direction:column;gap:4px;padding:16px 20px 58px}
.ai-page-tx b{font:400 clamp(30px,3vw,44px)/1 var(--f-display)}
.ai-page-tx span{font:400 15px/1.4 var(--f-head)}
.ai-page-tx em{font-style:normal;font-size:13.5px;font-weight:700;color:var(--ink-soft);line-height:1.6;margin-top:4px}
.ai-page-card i{position:absolute;right:16px;bottom:16px;width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font:normal 400 24px var(--f-display);transition:transform .2s,background .2s}
.ai-page-card:hover{transform:translateY(-4px);box-shadow:0 12px 0 rgba(11,31,58,.12)}
.ai-page-card:hover img{transform:scale(1.05)}
.ai-page-card:hover i{background:var(--orange);color:var(--navy);transform:translateX(4px)}
@media (max-width:900px){.ai-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ai-pages{grid-template-columns:1fr}.ai-page-ph{aspect-ratio:16/8}}
.ai-ig-box > .ai-ig-feed,.ai-ig-box > p:has(.ai-ig-feed){flex-basis:100%}
.ai-ig-feed #sb_instagram{padding:0!important}
.ai-ig-feed img{border-radius:var(--r-sm)}
.ai-ig-embeds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;width:100%}
.ai-ig-item{min-width:0}
.ai-ig-item .instagram-media{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;border-radius:var(--r-md)!important}
@media (max-width:900px){.ai-ig-embeds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ai-ig-embeds{grid-template-columns:1fr}}
