@charset "utf-8";
/* page-tayu.css — 太夫プラン（準備中）。深い紫＋金の古典的な配色。 */

.ty-narrow{max-width:760px}
.ty-head{margin-bottom:40px}
.ty-head .eng{color:var(--gold);display:block}
.ty-head .disp-s{color:rgba(255,255,255,.55)}
.ty-head h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.5rem,3vw,2.15rem);letter-spacing:.08em;margin:6px 0 0}

/* ===== HERO（画像なし・準備中） ===== */
.ty-hero{position:relative;overflow:hidden;text-align:center;padding:150px 24px 70px;background:linear-gradient(150deg,#2A1150 0%,#5A2596 52%,#9A3DA0 100%)}
.ty-hero::after{content:"";position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:520px;height:520px;border-radius:50%;filter:blur(130px);opacity:.32;background:var(--gold);pointer-events:none}
.ty-hero > *{position:relative;z-index:1}
.ty-soon-pill{display:inline-block;font-family:var(--jp);font-weight:700;font-size:.72rem;letter-spacing:.18em;color:var(--gold);border:1px solid rgba(220,178,90,.6);border-radius:30px;padding:7px 20px;margin-bottom:22px;background:rgba(38,18,71,.4)}
.ty-hero .eng{font-family:var(--cor);font-style:italic;font-size:1.15rem;letter-spacing:.14em;color:rgba(255,255,255,.85);display:block;margin-bottom:8px}
.ty-h1{font-family:var(--min);font-weight:800;color:#fff;font-size:clamp(2.3rem,6vw,4rem);letter-spacing:.16em;margin:0 0 18px;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.ty-hero-tag{color:#fff;font-family:var(--min);font-weight:500;font-size:clamp(.95rem,1.5vw,1.15rem);letter-spacing:.08em;line-height:1.9;margin:0 0 14px;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.ty-hero-note{color:rgba(255,255,255,.72);font-size:.78rem;letter-spacing:.04em;margin:0}

/* ===== 01 About（HERO直下：光源なし） ===== */
.ty-intro{background:linear-gradient(180deg,var(--void-2) 0%,var(--void) 100%);text-align:center}
.ty-intro .eng{color:var(--gold);margin-bottom:14px}
.ty-intro h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.45rem,2.8vw,2rem);letter-spacing:.07em;margin:0 auto 24px;max-width:20em;line-height:1.6}
.ty-intro p{color:var(--soft-2);font-size:.92rem;line-height:2.1;letter-spacing:.02em;margin:0 auto}
.ty-intro b{color:#fff}

/* ===== 02 島原 ===== */
.ty-shimabara{position:relative;overflow:hidden;background:linear-gradient(150deg,#3E1E68 0%,#6A2CB0 62%,#8A3A9E 100%)}
.ty-shimabara::after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(130px);opacity:.34;background:var(--gold);bottom:-180px;right:-130px;pointer-events:none}
.ty-shimabara .mw{position:relative;z-index:1}
.ty-two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ty-col p{color:var(--soft);font-size:.9rem;line-height:2.05;letter-spacing:.02em;margin:0}
.ty-col b{color:var(--gold);font-weight:700}
.ty-arts{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.ty-arts span{font-family:var(--min);font-size:.8rem;letter-spacing:.06em;color:#fff;border:1px solid rgba(220,178,90,.5);border-radius:30px;padding:6px 15px;background:rgba(38,18,71,.28)}

/* ===== 03 世界観 ===== */
.ty-world{position:relative;overflow:hidden;background:linear-gradient(155deg,#2A1150 0%,#5A2596 54%,#9A3DA0 100%)}
.ty-world::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(130px);opacity:.34;background:var(--magenta);bottom:-190px;left:-140px;pointer-events:none}
.ty-world .mw{position:relative;z-index:1}
.ty-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ty-card{position:relative;background:rgba(122,52,192,.24);border:1px solid rgba(220,178,90,.34);border-radius:14px;padding:34px 22px 26px;backdrop-filter:blur(2px)}
.ty-no{display:block;font-family:var(--min);font-weight:700;font-size:1.5rem;color:var(--gold);margin-bottom:12px;letter-spacing:.1em}
.ty-card h3{font-family:var(--min);font-weight:700;color:#fff;font-size:1.02rem;letter-spacing:.04em;line-height:1.6;margin:0 0 12px}
.ty-card p{color:var(--soft-2);font-size:.8rem;line-height:1.9;margin:0}
.ty-world-lead{text-align:center;margin:40px auto 0;max-width:32em;color:#fff;font-family:var(--min);font-size:1.02rem;letter-spacing:.05em;line-height:1.9}

/* ===== 04 こだわり ===== */
.ty-craft{position:relative;overflow:hidden;background:linear-gradient(150deg,#4A1E7A 0%,#7A34C0 58%,#A83E9C 100%)}
.ty-craft::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(130px);opacity:.28;background:var(--gold);bottom:-170px;right:-120px;pointer-events:none}
.ty-craft .mw{position:relative;z-index:1}
.ty-craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ty-craft-item{background:rgba(38,18,71,.32);border-top:2px solid var(--gold);border-radius:0 0 14px 14px;padding:26px 24px 28px}
.ty-craft-item h3{font-family:var(--min);font-weight:700;color:var(--gold);font-size:1.08rem;letter-spacing:.05em;margin:0 0 14px}
.ty-craft-item p{color:var(--soft);font-size:.84rem;line-height:1.95;margin:0}
.ty-disclaimer{margin:30px 0 0;padding:16px 20px;background:rgba(38,18,71,.4);border:1px solid rgba(255,255,255,.14);border-radius:12px;color:var(--soft-2);font-size:.78rem;line-height:1.85;letter-spacing:.02em}

/* ===== 05 こんな方に ===== */
.ty-rec{background:linear-gradient(160deg,#331858 0%,#5A2596 100%);text-align:center}
.ty-rec .ty-head{margin-bottom:30px}
.ty-rec-list{list-style:none;margin:0;padding:0;max-width:620px;margin:0 auto;text-align:left}
.ty-rec-list li{position:relative;padding:16px 16px 16px 44px;margin-bottom:12px;background:rgba(122,52,192,.2);border:1px solid rgba(220,178,90,.28);border-radius:12px;color:#fff;font-size:.9rem;line-height:1.7;letter-spacing:.02em}
.ty-rec-list li::before{content:"✦";position:absolute;left:18px;top:16px;color:var(--gold)}

/* ===== 06 Coming Soon ===== */
.ty-soon{text-align:center;background:linear-gradient(135deg,#4A1E7A 0%,#9A3DA0 55%,#C98A34 120%)}
.ty-soon .eng{color:#FFE3A6;margin-bottom:12px}
.ty-soon h2{font-family:var(--min);font-weight:700;color:#fff;font-size:clamp(1.4rem,2.8vw,2rem);letter-spacing:.06em;margin:0 0 16px}
.ty-soon p{color:rgba(255,255,255,.92);font-size:.88rem;line-height:2;letter-spacing:.02em;margin:0 auto 28px;max-width:36em}
.ty-soon-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
.ty-soon .book{background:#fff;color:#7A2E86}
.ty-link{color:#fff;text-decoration:none;font-size:.84rem;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px;transition:opacity .25s}
.ty-link:hover{opacity:.8}

/* ===== レスポンシブ ===== */
@media(max-width:900px){
  .ty-hero{padding:120px 20px 54px}
  .ty-two{grid-template-columns:1fr;gap:26px}
  .ty-cards{grid-template-columns:1fr 1fr;gap:14px}
  .ty-card{padding:26px 18px 22px}
  .ty-craft-grid{grid-template-columns:1fr;gap:16px}
}
@media(max-width:560px){
  .ty-cards{grid-template-columns:1fr}
  .ty-soon-cta{flex-direction:column}
}
