.taap-page,.taap-page *{box-sizing:border-box}.taap-page{position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;background:#0e1018;color:#f7f2e8;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;overflow:hidden}.taap-page h1,.taap-page h2,.taap-page h3,.taap-page p,.taap-page figure{margin-top:0}.taap-shell{width:min(1180px,calc(100% - 64px));margin:0 auto}.taap-hero{line-height:0;background:#0b0d14}.taap-hero-img{display:block;width:100%;height:auto;margin:0 auto}.taap-intro{padding:76px 0 64px;text-align:center}.taap-kicker{font-size:12px;letter-spacing:.22em;color:#c8a55a;font-weight:700;margin-bottom:16px}.taap-intro h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,5.4vw,72px);line-height:1.2;font-weight:500;letter-spacing:.02em;margin-bottom:28px}.taap-lead{max-width:800px;margin:0 auto;font-size:18px;line-height:2;color:#d9d4ca}.taap-feature{padding:28px 0 92px}.taap-feature-head{display:flex;gap:22px;align-items:flex-end;border-top:1px solid rgba(200,165,90,.35);padding-top:28px}.taap-number{font-family:Georgia,serif;font-size:62px;line-height:.9;color:#c8a55a}.taap-feature h2,.taap-how h2,.taap-maker h2,.taap-research h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,52px);line-height:1.25;font-weight:500;margin-bottom:0}.taap-copy{font-size:17px;line-height:2;color:#d7d1c7;max-width:900px;margin:28px 0 34px}.taap-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.taap-gallery figure{background:#151923;border:1px solid rgba(255,255,255,.08);overflow:hidden}.taap-gallery img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#fff}.taap-gallery figcaption{padding:18px 20px 20px;color:#c8a55a;font-size:11px;letter-spacing:.18em;line-height:1.7}.taap-gallery figcaption strong{font-size:17px;letter-spacing:.04em;color:#f7f2e8;font-weight:600}.taap-how{padding:88px 0;border-top:1px solid rgba(255,255,255,.08)}.taap-how h2{max-width:800px;margin-bottom:36px}.taap-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.taap-steps>div{background:#151923;padding:28px 24px;min-height:205px;border:1px solid rgba(255,255,255,.07)}.taap-steps span{color:#c8a55a;font-family:Georgia,serif;font-size:28px}.taap-steps h3{font-size:18px;margin:26px 0 12px}.taap-steps p{font-size:14px;line-height:1.8;color:#bfb9af;margin-bottom:0}.taap-maker{background:#eee7dc;color:#1a1b1e;padding:88px 0}.taap-maker .taap-kicker{color:#8d6a2f}.taap-maker h2{margin-bottom:10px}.taap-maker-intro{font-size:16px;color:#5d5a55;margin-bottom:32px}.taap-maker-frame{background:#fff;border-radius:18px;padding:22px;box-shadow:0 18px 50px rgba(31,26,18,.12);overflow:hidden}.taap-maker-missing{padding:36px;text-align:center}.taap-maker-missing strong{font-size:22px}.taap-maker-missing p{line-height:1.8;color:#666}.taap-admin-note{font-size:12px}.taap-research{padding:86px 0 96px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end}.taap-research p{max-width:760px;color:#c9c3b9;line-height:1.9;margin:20px 0 0}.taap-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:1px solid #c8a55a;color:#f7f2e8!important;text-decoration:none!important;letter-spacing:.04em;white-space:nowrap;transition:.2s}.taap-btn:hover{background:#c8a55a;color:#111!important}.taap-pc{display:inline}
@media(max-width:760px){.taap-page{left:50%;width:100vw;max-width:100vw;margin-left:-50vw}.taap-shell{width:calc(100% - 28px)}.taap-intro{padding:42px 0 40px}.taap-intro h1{font-size:36px}.taap-pc{display:none}.taap-lead{font-size:15px;line-height:1.9}.taap-feature{padding:12px 0 60px}.taap-feature-head{align-items:center;gap:14px}.taap-number{font-size:44px}.taap-feature h2,.taap-how h2,.taap-maker h2,.taap-research h2{font-size:30px}.taap-copy{font-size:15px;line-height:1.9}.taap-gallery{grid-template-columns:1fr;gap:14px}.taap-gallery img{aspect-ratio:auto;object-fit:contain}.taap-how{padding:56px 0}.taap-steps{grid-template-columns:1fr 1fr;gap:10px}.taap-steps>div{padding:20px 16px;min-height:178px}.taap-maker{padding:56px 0}.taap-maker-frame{padding:8px;border-radius:12px}.taap-research{padding:56px 0 64px;grid-template-columns:1fr;gap:28px}.taap-btn{width:100%}}
@media(max-width:430px){.taap-steps{grid-template-columns:1fr}.taap-steps>div{min-height:0}.taap-gallery figcaption{padding:14px 16px 16px}.taap-maker-missing{padding:24px 14px}}


/* v1.0.1: ティザー画像内の ENTER を含む画像全体をリンク化 */
.taap-hero-link{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  line-height:0;
  cursor:pointer;
  text-decoration:none !important;
}
.taap-hero-link:focus-visible{
  outline:3px solid #d8b06a;
  outline-offset:-3px;
}
html{
  scroll-behavior:smooth;
}
#prompt-maker{
  scroll-margin-top:80px;
}


/* ===== v1.0.3 CENTER FIX =====
 * 専用ページでは 100vw + left:50% + -50vw を使わず、
 * WordPress の本文領域に対して素直に 100% で中央配置する。
 */
.taap-page{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  transform:none !important;
  overflow-x:hidden !important;
}

.taap-page > section,
.taap-page .taap-shell{
  margin-left:auto !important;
  margin-right:auto !important;
  transform:none !important;
}

.taap-hero,
.taap-hero-link,
.taap-hero-img{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  transform:none !important;
}

/* Gutenberg / テーマ側のショートコード余白を抑える */
.wp-block-shortcode:has(.taap-page),
.entry-content:has(.taap-page),
.post-content:has(.taap-page){
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 埋め込みメーカーが横へ逃げないようにする */
.taap-maker-frame,
.taap-maker-frame > *,
.taap-maker-frame form{
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:760px){
  .taap-page{
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  .taap-shell{
    width:calc(100% - 28px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .taap-maker-frame{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
}


/* v1.0.4: ENTER はメーカー本体ではなく、第一弾の紹介位置へ */
#character-feature{
  scroll-margin-top:80px;
}


/* ===== v1.0.5 presentation-only + text visibility ===== */

/* WordPressテーマの見出し色に負けないよう、暗いエリアは明色で固定 */
.taap-page,
.taap-page .taap-intro,
.taap-page .taap-feature,
.taap-page .taap-how,
.taap-page .taap-research{
  color:#f7f2e8 !important;
}

.taap-page .taap-intro h1,
.taap-page .taap-feature h2,
.taap-page .taap-how h2,
.taap-page .taap-how h3,
.taap-page .taap-research h2{
  color:#f7f2e8 !important;
}

.taap-page .taap-lead,
.taap-page .taap-copy,
.taap-page .taap-how p,
.taap-page .taap-research p{
  color:#d9d4ca !important;
}

.taap-page .taap-kicker,
.taap-page .taap-number{
  color:#c8a55a !important;
}

/* ベージュのCTA部分だけは濃い文字 */
.taap-page .taap-maker{
  color:#1a1b1e !important;
}
.taap-page .taap-maker h2{
  color:#1a1b1e !important;
}
.taap-page .taap-maker .taap-kicker{
  color:#8d6a2f !important;
}
.taap-page .taap-maker-intro{
  color:#5d5a55 !important;
}

/* 実物フォームは埋め込まず、静止プレビューだけ */
.taap-maker-preview{
  width:100%;
  margin:28px auto 26px;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(31,26,18,.12);
}
.taap-maker-preview img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}

/* 人物設定画メーカー専用ページへ飛ぶアイコン型CTA */
.taap-maker-launch{
  display:flex;
  align-items:center;
  gap:22px;
  width:min(760px,100%);
  margin:0 auto;
  padding:18px 24px;
  border:1px solid rgba(141,106,47,.35);
  border-radius:18px;
  background:#fffaf1;
  color:#1b1b1b !important;
  text-decoration:none !important;
  box-shadow:0 14px 36px rgba(31,26,18,.10);
  transition:transform .18s ease, box-shadow .18s ease;
}
.taap-maker-launch:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(31,26,18,.16);
}
.taap-maker-icon{
  flex:0 0 92px;
  width:92px;
  height:92px;
  border-radius:50%;
  overflow:hidden;
  background:#eee7dc;
  border:1px solid rgba(141,106,47,.2);
}
.taap-maker-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}
.taap-maker-launch-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.taap-maker-launch-text small{
  font-size:11px;
  letter-spacing:.18em;
  color:#8d6a2f;
  font-weight:700;
}
.taap-maker-launch-text strong{
  margin-top:5px;
  font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(20px,2.5vw,30px);
  line-height:1.35;
  color:#1a1b1e;
}
.taap-maker-launch-text em{
  margin-top:7px;
  font-style:normal;
  color:#6f675d;
  font-size:14px;
}

@media(max-width:760px){
  .taap-maker-preview{
    border-radius:12px;
  }
  .taap-maker-launch{
    gap:14px;
    padding:14px;
    border-radius:14px;
  }
  .taap-maker-icon{
    flex-basis:72px;
    width:72px;
    height:72px;
  }
  .taap-maker-launch-text strong{
    font-size:20px;
  }
}


/* v1.0.6: 人物設定画プロンプトメーカー説明用 3枚画像 */
.taap-maker-explain-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px auto 26px}
.taap-explain-card{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(31,26,18,.12)}
.taap-explain-card img{display:block;width:100%;height:auto;background:#f8f6f1}
.taap-explain-card figcaption{display:block;padding:16px 18px 18px}
.taap-explain-card figcaption small{display:block;margin-bottom:7px;font-size:11px;letter-spacing:.18em;color:#8d6a2f;font-weight:700}
.taap-explain-card figcaption strong{display:block;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;line-height:1.35;color:#1a1b1e}
.taap-explain-card figcaption span{display:block;margin-top:8px;font-size:14px;line-height:1.8;color:#5d5a55}
@media(max-width:980px){.taap-maker-explain-gallery{grid-template-columns:1fr;gap:14px}.taap-explain-card{border-radius:14px}}


/* v1.0.7: 「頭の中のキャラクターを、言葉にして描く。」に額縁風フレームを追加 */
.taap-intro{
  position:relative;
  margin:42px auto 24px;
  padding:88px 52px 76px;
  background:
    radial-gradient(circle at 50% 0%, rgba(200,165,90,.12), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(200,165,90,.08), transparent 26%),
    linear-gradient(180deg,#111828 0%,#0d1320 100%);
  border:1px solid rgba(198,160,84,.34);
  box-shadow:
    0 24px 60px rgba(0,0,0,.38),
    inset 0 0 0 1px rgba(255,255,255,.03),
    inset 0 14px 32px rgba(255,255,255,.02);
  overflow:visible;
}
.taap-intro::before{
  content:'';
  position:absolute;
  inset:16px;
  border:1px solid rgba(214,180,106,.7);
  pointer-events:none;
}
.taap-intro::after{
  content:'✦';
  position:absolute;
  top:-18px;
  left:50%;
  transform:translateX(-50%);
  min-width:76px;
  text-align:center;
  padding:6px 12px;
  font-size:20px;
  line-height:1;
  letter-spacing:.25em;
  color:#d8b06a;
  background:#0e1018;
  border-left:1px solid rgba(214,180,106,.55);
  border-right:1px solid rgba(214,180,106,.55);
  box-shadow:0 0 0 6px #0e1018;
}
.taap-intro .taap-kicker{
  position:relative;
  display:inline-block;
  padding:0 18px 18px;
  margin-bottom:26px;
}
.taap-intro .taap-kicker::before,
.taap-intro .taap-kicker::after{
  content:'';
  position:absolute;
  top:50%;
  width:42px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,165,90,.8), transparent);
}
.taap-intro .taap-kicker::before{ right:100%; margin-right:6px; }
.taap-intro .taap-kicker::after{ left:100%; margin-left:6px; }
.taap-intro h1{
  position:relative;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}
.taap-intro h1::before,
.taap-intro h1::after{
  content:'';
  position:absolute;
  top:50%;
  width:84px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,165,90,.55), transparent);
}
.taap-intro h1::before{ right:100%; margin-right:18px; }
.taap-intro h1::after{ left:100%; margin-left:18px; }
.taap-intro .taap-lead{
  position:relative;
  max-width:860px;
}
.taap-intro .taap-lead::before,
.taap-intro .taap-lead::after{
  content:'◆';
  position:absolute;
  bottom:-42px;
  color:rgba(214,180,106,.78);
  font-size:14px;
}
.taap-intro .taap-lead::before{ left:calc(50% - 62px); }
.taap-intro .taap-lead::after{ right:calc(50% - 62px); }
.taap-intro .taap-corner{
  display:none;
}
@media(max-width:760px){
  .taap-intro{
    margin:20px auto 10px;
    padding:56px 18px 48px;
  }
  .taap-intro::before{ inset:10px; }
  .taap-intro::after{
    top:-14px;
    min-width:58px;
    padding:5px 8px;
    font-size:16px;
    box-shadow:0 0 0 4px #0e1018;
  }
  .taap-intro .taap-kicker{
    padding:0 8px 12px;
    margin-bottom:18px;
  }
  .taap-intro .taap-kicker::before,
  .taap-intro .taap-kicker::after,
  .taap-intro h1::before,
  .taap-intro h1::after{
    display:none;
  }
  .taap-intro .taap-lead::before,
  .taap-intro .taap-lead::after{
    bottom:-28px;
  }
  .taap-intro .taap-lead::before{ left:calc(50% - 40px); }
  .taap-intro .taap-lead::after{ right:calc(50% - 40px); }
}


/* v1.0.8: 下部ボタンの文字色を強制して読みやすくする */
.taap-page .taap-btn,
.taap-page a.taap-btn,
.taap-page .taap-research .taap-btn{
  color:#f7f2e8 !important;
  background:rgba(8,10,18,.42);
  border:1px solid #c8a55a;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.taap-page .taap-btn:visited,
.taap-page a.taap-btn:visited,
.taap-page .taap-research .taap-btn:visited,
.taap-page .taap-btn span,
.taap-page .taap-btn strong{
  color:#f7f2e8 !important;
}
.taap-page .taap-btn:hover,
.taap-page a.taap-btn:hover,
.taap-page .taap-research .taap-btn:hover,
.taap-page .taap-btn:focus-visible{
  background:#c8a55a;
  color:#111 !important;
}
.taap-page .taap-btn:hover span,
.taap-page .taap-btn:hover strong,
.taap-page .taap-btn:focus-visible span,
.taap-page .taap-btn:focus-visible strong{
  color:#111 !important;
}
