/* /about/ 当店について 専用スタイル */
/* ===== Oiran HUB (プラン選択ページ) ===== */
.ph,.hubcta{padding:0}
.ph{position:relative;min-height:64vh;display:flex;flex-direction:column;padding-top:112px;overflow:hidden}
.ph-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;transform:scale(1.04)}
.ph-scrim{position:absolute;inset:0;background:linear-gradient(to top,var(--void-2) 2%,rgba(20,10,32,.12) 42%,rgba(20,10,32,.42))}
.ph-body{position:relative;z-index:2;max-width:1120px;width:100%;margin:auto auto 0;padding:30px 40px 62px}
.ph .crumbs{position:relative;z-index:2;max-width:1120px;width:100%;margin:0 auto;padding:0 40px}
.ph .crumbs ol{list-style:none;display:flex;gap:8px;padding:0;margin:0;font-size:.76rem;font-weight:700;text-shadow:0 1px 10px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.5)}
.ph .crumbs li{color:rgba(255,255,255,.8)}
.ph .crumbs li:not(:last-child)::after{content:"›";margin-left:8px;color:rgba(255,255,255,.55)}
.ph .crumbs a{color:rgba(255,255,255,.94)}
.ph .crumbs a:hover{color:#fff}
.ph-title{font-family:var(--min);font-weight:800;color:#fff;font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:.12em;margin:10px 0 18px;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.ph-tag{color:#fff;font-family:var(--min);font-weight:500;font-size:clamp(1.05rem,1.9vw,1.35rem);letter-spacing:.06em;line-height:1.8;margin-bottom:26px;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.ph-cta{display:flex;gap:14px;flex-wrap:wrap}
.hubintro{background:var(--void)}
.hubintro-in{max-width:780px;margin:0 auto;text-align:center}
.hubintro-in .eng{display:block;margin-bottom:16px}
.hubintro p{font-size:.85rem;color:var(--soft-2);line-height:2.2;margin:0 auto 16px}
.choose{background:linear-gradient(135deg,#C21038 0%,#E01560 44%,#6A2CB0 100%);position:relative;overflow:hidden}
.choose::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(120px);opacity:.28;background:var(--magenta);top:-160px;right:-120px;pointer-events:none}
.choose::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(120px);opacity:.42;background:var(--cyan);bottom:-150px;left:-110px;pointer-events:none}
.choose .mw{position:relative;z-index:1}
.hcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}
.hcard{background:rgba(20,8,24,.32);border:1px solid rgba(255,255,255,.16);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.hcard-img{display:block;position:relative;aspect-ratio:16/10;overflow:hidden}
.hcard-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}
.hcard:hover .hcard-img img{transform:scale(1.05)}
.hcard-tag{position:absolute;top:14px;left:14px;background:var(--hot);color:#fff;font-size:.66rem;letter-spacing:.08em;padding:6px 12px;border-radius:20px}
.hcard-b{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.hcard-b h3{font-family:var(--min);font-weight:700;color:#fff;font-size:1.3rem;letter-spacing:.06em;margin-bottom:10px}
.hcard-b>p{color:var(--soft-2);line-height:1.9;font-size:.86rem;margin-bottom:16px}
.hcard-price{font-family:var(--cor);font-size:1.7rem;color:#fff;font-weight:600;margin:auto 0 16px}
.hcard-price .from{font-family:var(--jp);font-size:.66rem;letter-spacing:.14em;color:var(--pink);margin-right:8px;vertical-align:middle}
.hcard-price small{font-size:.58rem;color:var(--soft-2);margin-left:6px}
.book.full{display:block;text-align:center;width:100%}
.book.sm{padding:11px 20px;font-size:.72rem}
.cmp-wrap{margin-top:40px;overflow-x:auto;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(20,8,24,.3)}
.cmp{width:100%;border-collapse:collapse;min-width:520px}
.cmp th,.cmp td{padding:15px 18px;text-align:center;border-bottom:1px solid rgba(198,168,222,.12)}
.cmp thead th{font-family:var(--min);color:#fff;font-size:1rem;font-weight:600;background:rgba(255,255,255,.03)}
.cmp thead th:first-child{width:130px}
.cmp .cmp-cap{font-family:var(--cor);font-style:italic;color:var(--pink);font-size:.9rem;font-weight:400}
.cmp tbody th{text-align:left;color:var(--pink);font-size:.76rem;letter-spacing:.04em;white-space:nowrap;font-weight:500}
.cmp tbody td{color:var(--soft);font-size:.86rem;line-height:1.7}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:none}
.cmp .cmp-cta td{padding-top:20px;padding-bottom:22px}
.choose-note{margin-top:26px;font-size:.74rem;color:rgba(255,255,255,.82);line-height:1.95;text-align:center}
.choose-note a{color:#FFE3A6;text-decoration:underline}
.choose .head .eng{color:#FFD24A}
.choose .head .disp-s{color:#FFFFFF}
.choose .h-r{color:rgba(255,255,255,.92)}
.links{background:linear-gradient(140deg,#0E1A40 0%,#16306C 58%,#1E3E86 100%);position:relative;overflow:hidden}
.links::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:.34;background:var(--gold);top:-160px;right:-120px;pointer-events:none}
.links .mw{position:relative;z-index:1}
.link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
.link-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(198,168,222,.14);transition:.4s;min-height:100%}
.link-card:hover{transform:translateY(-5px);border-color:rgba(255,98,166,.6);box-shadow:0 14px 34px rgba(232,32,144,.28)}
.lc-img{display:block;aspect-ratio:16/10;overflow:hidden}
.lc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.link-card:hover .lc-img img{transform:scale(1.05)}
.lc-t{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;font-family:var(--min);color:#fff;font-size:.92rem}
.lc-t em{font-family:var(--cor);font-style:italic;color:var(--pink);transition:transform .3s}
.link-card:hover .lc-t em{transform:translateX(4px)}
.link-card.simple{justify-content:center;align-items:center;text-align:center;background:linear-gradient(140deg,#16306C,#1E3E86);border-color:rgba(120,170,240,.3)}
.link-card.simple .lc-t{padding:34px 18px}
.hubcta{position:relative;text-align:center;background:#2A1150 url('../img/flower-shizuku.jpg') center/cover}
.hubcta::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(106,44,176,.74) 0%,rgba(232,32,144,.6) 40%,rgba(47,182,230,.56) 68%,rgba(245,133,42,.66) 100%)}
.hubcta .mw{position:relative;z-index:1;padding:96px 40px}
.hubcta .eng{color:rgba(255,255,255,.9)}
.hubcta h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.7;letter-spacing:.06em;margin:14px 0 12px;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.hubcta p{color:rgba(255,255,255,.92);font-size:.82rem;margin-bottom:28px;letter-spacing:.04em}
.hubcta .book{background:#fff;color:#8A1E5A}
@media(max-width:900px){
  .ph{min-height:56vh;padding-top:92px}.ph .crumbs{padding:0 24px}.ph-body{padding:22px 24px 46px}
  .hcard-grid{grid-template-columns:1fr;gap:22px}
  .link-grid{grid-template-columns:1fr 1fr}
  .hubcta .mw{padding:74px 24px}
}
/* Movie (動画) */
.ovid{background:var(--void-2);position:relative;overflow:hidden}
.ovid::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(120px);opacity:.32;background:var(--magenta);top:-160px;left:-120px;pointer-events:none}
.ovid .mw{position:relative;z-index:1}
.ovid-lead{text-align:center;color:var(--soft-2);max-width:700px;margin:0 auto 34px;line-height:2}
.ovid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ovid-fr{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 16px 40px rgba(0,0,0,.4)}
.ovid-fr iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ovid-fr.lite{border:0;padding:0;cursor:pointer;background-size:cover;background-position:center;display:block}
.ovid-fr.lite::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,10,32,.15),rgba(20,10,32,.45));transition:.3s}
.ovid-fr.lite:hover::after{background:linear-gradient(rgba(20,10,32,.05),rgba(20,10,32,.3))}
.ovid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(232,32,144,.9);z-index:2;transition:.3s}
.ovid-play::before{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.ovid-fr.lite:hover .ovid-play{transform:translate(-50%,-50%) scale(1.08);background:#E82090}
.ovid-fr.playing::after,.ovid-fr.playing .ovid-play{display:none}
@media(max-width:900px){.ovid-grid{grid-template-columns:1fr}}
/* ===== About page ===== */
.acraft{background:var(--void-2);padding:100px 0;position:relative;overflow:hidden}
.acraft::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(120px);opacity:.22;background:var(--magenta);bottom:-160px;left:-120px;pointer-events:none}
.acraft>.mw{position:relative;z-index:1}
.acraft-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:26px}
.acraft-item{background:rgba(255,255,255,.04);border:1px solid rgba(198,168,222,.16);border-radius:14px;padding:28px 30px}
.acraft-item h3{font-family:var(--min);font-weight:600;color:#fff;font-size:1.15rem;letter-spacing:.04em;margin-bottom:12px}
.acraft-item p{color:var(--soft);font-size:.9rem;line-height:1.95}
.agroup{background:linear-gradient(135deg,#C21038 0%,#E01560 44%,#6A2CB0 100%);padding:100px 0}
body .agroup .head .eng{color:#FFD24A!important}body .agroup .head .disp-s{color:#FFFFFF!important}.agroup .h-r{color:rgba(255,255,255,.92)}
.agroup-lead{color:rgba(255,255,255,.94);font-size:.95rem;line-height:2;max-width:820px;margin:6px 0 30px}
.store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.store{background:rgba(18,6,22,.32);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:26px 28px}
.store-area{font-size:.74rem;letter-spacing:.08em;color:#FFD24A}
.store h3{font-family:var(--min);font-weight:700;color:#fff;font-size:1.25rem;letter-spacing:.04em;margin:6px 0 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.store-cur{font-family:var(--jp);font-size:.64rem;font-weight:400;color:#3A0A1E;background:#FFD24A;padding:3px 10px;border-radius:20px}
.store p{color:rgba(255,255,255,.9);font-size:.86rem;line-height:1.9}
.store a{display:inline-block;margin-top:12px;color:#FFE3A6;font-size:.82rem;text-decoration:underline}
.agroup-cta{margin-top:32px;text-align:center}
.acsr{background:linear-gradient(140deg,#0E1A40 0%,#16306C 58%,#1E3E86 100%);padding:100px 0}
body .acsr .head .eng{color:#1EC8DE!important}body .acsr .head .disp-s{color:#8FD8EE!important}
.acsr-lead{color:var(--soft);font-size:.95rem;line-height:2;max-width:820px;margin:6px auto 26px;text-align:center}
.csr-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:780px;margin:0 auto}
.csr-chips span{font-size:.82rem;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(120,170,240,.4);border-radius:24px;padding:10px 20px}
.acsr-cta{margin-top:30px;text-align:center}
.ghost.dark{border-color:#fff;color:#fff}.ghost.dark:hover{background:rgba(255,255,255,.14)}
.astance{background:var(--void);padding:100px 0;position:relative;overflow:hidden}
.astance::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:.2;background:var(--violet);top:-150px;right:-120px;pointer-events:none}
.astance-in{position:relative;z-index:1;max-width:760px;margin:0 auto;text-align:center}
.astance-in .eng{display:block;font-family:var(--cor);font-style:italic;color:var(--pink);font-size:1.1rem;margin-bottom:8px}
.astance-in h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:.04em;margin-bottom:22px}
.astance-in p{color:var(--soft);font-size:.92rem;line-height:2.1}
/* Our Stance は複数段落構成。段落間の余白と、冒頭の宣言文の強調。 */
.astance-in p + p{margin-top:1.5em}
.astance-in .astance-lead{color:#fff;font-family:var(--min);font-size:clamp(1rem,2.2vw,1.15rem);line-height:2}
.astance-in strong{color:var(--pink);font-weight:700}
/* /about/#stance で直接リンクされるため、固定ヘッダー分のオフセットを確保 */
.astance{scroll-margin-top:90px}
.ainfo{background:var(--void-2);padding:100px 0}
.ainfo-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:26px;align-items:start}
.ainfo-dl{margin:0}
.ainfo-dl>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(198,168,222,.14)}
.ainfo-dl dt{color:var(--pink);font-size:.82rem;font-family:var(--min);letter-spacing:.04em}
.ainfo-dl dd{margin:0;color:var(--soft);font-size:.88rem;line-height:1.7}
.ainfo-note{font-size:.72rem;color:var(--mut);line-height:1.7}
.ainfo-map{border-radius:14px;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(198,168,222,.16)}
.ainfo-map iframe{width:100%;height:100%;border:0;filter:grayscale(.15)}
.agroup-cta .ghost{display:inline-flex;align-items:center;gap:8px;padding:15px 36px;border:1.5px solid rgba(255,255,255,.85);border-radius:40px;color:#fff;font-size:.82rem;letter-spacing:.06em;text-decoration:none;transition:.3s;background:transparent}
.agroup-cta .ghost:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff}
@media(max-width:900px){.acraft-grid,.store-grid,.ainfo-grid{grid-template-columns:1fr}}
/* about: hero直下の.story光源を下へ（境目対策） */
body .story::before{top:auto!important;right:auto!important;bottom:-150px;left:-120px}


/* === 色とりどり（about内スコープ）============================================
   ・色味はほぼ全面グラデ構成が理想（Shohei）。放射の丸い光源は複数入れると煩いので使わない。
   ・変化はグラデの「角度」と「色の振り分け」でつける（直線グラデのみ）。
   ・締める/暗くする箇所は 黒・茶・えんじ を使わず紫系で（テーマ死守）。
   ・HERO直下の story は無着色（HERO画像のグラデと干渉させない）。
   ・見出しの色は inc/enqueue.php（各セクションで映える色。大見出しh2のみ白）。
   ・home共有の .story/.why には波及しない。
   並び: story(無着色) / why=シアン / acraft=暖色 / agroup=マゼンタ赤(既存) /
         acsr=青(既存) / astance=マゼンタ / ainfo=ティール */
.why::before,.acraft::before,
.why::after,.acraft::after,
.ainfo::before,.ainfo::after{display:none!important}

/* why … シアン */
.why{background:linear-gradient(150deg,#0C5F82 0%,#1596B4 46%,#345FCC 100%)}
.why .h-r{color:rgba(255,255,255,.9)}
.why-item p{color:rgba(255,255,255,.92)}
.why-item .wic{border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.1)}

/* acraft … 暖色（朱赤→橙→ピンク）。カードは紫寄りの暗パネル（近黒・えんじにしない） */
.acraft{background:linear-gradient(120deg,#F0432A 0%,#F5852A 42%,#FF62A6 100%)}
.acraft .h-r{color:rgba(255,255,255,.92)}
.acraft-item{background:rgba(38,18,71,.72);border:1px solid rgba(255,255,255,.22)}
.acraft-item p{color:var(--soft)}

/* astance … 光源セクション（サイト共通の作法：紫ベース＋“単一”の発光）。締めは紫で統一 */
.astance{background:var(--panel)}
.astance::before{content:"";position:absolute;width:660px;height:660px;border-radius:50%;filter:blur(130px);opacity:.5;background:var(--magenta);top:-180px;right:-150px;mix-blend-mode:screen;pointer-events:none;z-index:0}
.astance-in p{color:rgba(255,255,255,.95)}

/* ainfo … ティール〜ブルー（情報が読める彩度） */
.ainfo{position:relative;overflow:hidden;background:linear-gradient(135deg,#0C5E7E 0%,#12809E 48%,#2A4FB0 100%)}
.ainfo-dl dt{color:#FFE08A}
.ainfo-dl dd{color:rgba(255,255,255,.94)}
.ainfo-dl>div{border-bottom-color:rgba(255,255,255,.22)}
.ainfo-note{color:rgba(255,255,255,.72)}

/* ===== お客様の声 リンクバンド（story直後） ===== */
.voiceband{position:relative;overflow:hidden;text-align:center}
.vb-bg{position:absolute;inset:0;background-size:cover;background-position:center 28%;z-index:0;transform:scale(1.03)}
.vb-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(106,44,176,.78),rgba(232,32,144,.62) 52%,rgba(194,16,56,.6)),linear-gradient(0deg,rgba(20,8,34,.5),rgba(20,8,34,.22))}
.vb-in{position:relative;z-index:2;padding:82px 40px}
.voiceband .eng{display:block;font-family:var(--cor);font-style:italic;color:#FFD24A;letter-spacing:.14em;font-size:.84rem;margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.voiceband h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:.1em;margin:0 0 14px;text-shadow:0 3px 20px rgba(0,0,0,.45)}
.voiceband p{color:rgba(255,255,255,.95);font-size:.9rem;line-height:2;max-width:640px;margin:0 auto 30px;letter-spacing:.03em;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.vb-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 42px;background:#fff;color:#8A1E5A;border-radius:40px;font-family:var(--jp);font-size:.86rem;font-weight:600;letter-spacing:.08em;text-decoration:none;transition:transform .3s,box-shadow .3s}
.vb-btn::after{content:"\2192";transition:transform .3s}
.vb-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.36)}
.vb-btn:hover::after{transform:translateX(4px)}
@media(max-width:640px){.vb-in{padding:60px 24px}}

/* --- Our Stance：リンク --- */
.astance-link{margin-top:30px!important}
.astance-link a{display:inline-block;color:var(--pink);font-size:.78rem;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid rgba(232,32,144,.4);padding-bottom:4px;transition:.3s}
.astance-link a:hover{color:#fff;border-color:#fff}

/* --- 社会貢献チップ：スマホは2列グリッドで階段状の改行を解消 --- */
@media(max-width:560px){
  .csr-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:400px}
  .csr-chips span{display:flex;align-items:center;justify-content:center;text-align:center;
                  padding:12px 10px;font-size:.8rem;line-height:1.35;min-height:52px}
  /* 5個の最後の1つ（奇数余り）は2カラム分に広げて中央に置く */
  .csr-chips span:last-child:nth-child(odd){grid-column:1 / -1;max-width:60%;margin:0 auto}
}
