/* 480: Small SP 上書き。768の後で読み込み、小SPが大SPを上書き */
/* responsive isolation foundation */
/* moved from style.css:L317 [480] 599->480 */
@media (max-width: 480px) {

#footer-in {
  padding: 0.5em 1em;
}

  #navi-footer-in {
    flex-wrap: wrap;
    gap: 0.3em 1em;
  }

}

/* moved from style.css:L584 [480] 480->480 */
@media (max-width: 480px) {

  .page-navi-bar {
    gap: 0.5rem;
    padding: 0.7rem 0.8rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .page-navi-bar .wp-block-group__inner-container {
    flex-wrap: nowrap;
    gap: 0.5rem;
  }
  .page-navi-bar a {
    font-size: 0.875rem;
    padding: 0.4rem 0.7rem;
    min-height: 38px;
  }
  .page-navi-bar a:not(:last-child)::after {
    margin-left: calc(0.5rem / 2); /* モバイル gap(0.5rem) の中央 */
    width: 4px;
    height: 4px;
    border-top-width: 1.5px;
    border-right-width: 1.5px;
  }

}

/* moved from style.css:L1031 [480] 480->480 */
@media (max-width: 480px) {

  .blog-section-desc-label {
    font-size: 0.875rem;
  }
  .blog-section-desc-body {
    font-size: 0.875rem;
  }

}

/* moved from style.css:L1336 [480] 420->480 — plan 1788259573121/1788260721630: 480は640に委譲（is-keep/compactは640で完結）。grid 1frは640の 1fr !important + grid-column:1/-1 !important に委譲、641-768へ漏れないようmax-width:480に厳密スコープ */
@media (max-width: 480px) {

  .blog-pagination-wrapper.has-pagination {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .blog-pagination {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.2em;
  }
  /* Phase1 — unify count hidden ≤768 (was display:block on 480, now none) — delegated to 640 is-keep logic above */
  .blog-pagination-count {
    display: none !important;
  }

}

/* moved from style.css:L1575 [480] 480->480 */
/* Phase6 (1788220801056) G: desktop 1.20rem(19.2px) → 768 1.15rem → 480 1.05rem の段階を維持。値は触らない */
@media (max-width: 480px) {

  .blog-card-title {
    font-size: 1.05rem;
  }

}

/* Phase6 (1788221641205) G: desktop 0.95remは style.css:1466-1495 が正。!important 有無で勝敗が変わるため削除しない */
/* moved from style.css:L1614 [480] 480->480 */
@media (max-width: 480px) {

  .entry-content .creation-sub-desc,
  .entry-content .creation-knowledge-desc,
  .entry-content .creation-game-card p,
  .top-creation-card-desc,
  .creation-knowledge-desc,
  .creation-activity-desc,
  .creation-motion-card .creation-sub-desc,
  .blog-card-excerpt,
  .mapping-description-box p,
  .creation-knowledge-subtitle {
    font-size: 0.875rem;
  }
  .platform-card-desc {
    font-size: 0.875rem !important;
  }

}

/* Phase6 (1788221641205) G: desktop 0.95remは style.css:1466-1495 が正。!important 有無で勝敗が変わるため削除しない */
/* moved from style.css:L1657 [480] 480->480 */
@media (max-width: 480px) {

  .creation-sub-cta a,
  .creation-knowledge-cta a,
  .creation-activity-cta a,
  .page-id-9 .creation-card-view-all,
  .page-id-9 .creation-view-all,
  .blog-card-excerpt,
  .blog-pagination a,
  .blog-pagination span,
  .creation-sub-cta-inline a {
    font-size: 0.875rem;
  }

}

/* moved from style.css:L1695 [480] 480->480 */
@media (max-width: 480px) {

  .entry-content h3 {
    font-size: 1.15rem;
  }
  .entry-content .creation-sub-title,
  .creation-knowledge-title,
  .top-creation-card-title,
  .creation-game-card-title,
  .page-id-9 .creation-game-card .creation-game-card-title {
    font-size: 1rem;
  }
  /* .blog-card-title は 1.05rem を維持（直上の 480px ブロックで個別指定）。H3(18.4px) > title(16.8px) > desc(14px) を担保 */

}

/* moved from style.css:L1865 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-13 .page-navi-bar,
  .page-id-9 .page-navi-bar,
  .page-id-11 .page-navi-bar,
  .page-id-30 .page-navi-bar {
    padding: 0.7rem 0.8rem;
    gap: 0.5rem;
  }
  .page-id-13 .page-navi-bar a,
  .page-id-9 .page-navi-bar a,
  .page-id-11 .page-navi-bar a,
  .page-id-30 .page-navi-bar a {
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
    min-height: 38px;
  }

}

/* moved from style.css:L2256 [480] 480->480 */
@media (max-width: 480px) {

  #section-it .creation-sub-title,
  #section-3d .creation-sub-title {
    font-size: 1rem;
  }

}

/* moved from style.css:L3797 [480] 480->480 */
@media (max-width: 480px) {

  body.single .sns-share.ss-bottom .sns-share-buttons .share-button {
    min-width: 140px;
  }

}

/* moved from style.css:L3943 [480] 480->480 */
@media (max-width: 480px) {

  body.single .rect-vertical-card-3 .related-entry-card-wrap {
    width: 100% !important;
  }
  body.single #related-entries {
    padding: 1em;
    margin-bottom: 1.5em;
  }

}

/* moved from style.css:L4959 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-13 .profile-image::before {
    padding: 5px;
  }
  .page-id-13 .profile-image::after {
    inset: 5px;
  }

}

/* moved from style.css:L5053 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 #section-it .creation-placeholder-link::before,
  .page-id-9 #section-3d .creation-placeholder-link::before,
  .page-id-9 #section-motion .creation-placeholder-link::before,
  .page-id-9 #section-knowledge .creation-placeholder-link::before,
  .page-id-9 #section-activity .creation-activity-media-link::before {
    padding: 5px;
  }
  .page-id-9 #section-it .creation-placeholder-link::after,
  .page-id-9 #section-3d .creation-placeholder-link::after,
  .page-id-9 #section-motion .creation-placeholder-link::after,
  .page-id-9 #section-knowledge .creation-placeholder-link::after,
  .page-id-9 #section-activity .creation-activity-media-link::after {
    inset: 5px;
  }

}

/* moved from style.css:L5137 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 .creation-game-card .creation-placeholder-primary::before {
    padding: 3.33px;
  }
  .page-id-9 .creation-game-card .creation-placeholder-primary::after {
    inset: 3.33px;
  }

}

/* moved from style.css:L5169 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 .creation-game-card .creation-game-card-status {
    top: 10px;
    left: -32px;
    width: 110px;
    padding: 3px 0;
    font-size: 12px;
  }

}

/* moved from style.css:L5278 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 .creation-game-card {
    padding: 1.5rem;
  }
  .page-id-9 .creation-game-desc-block {
    min-height: 5.9em;
  }
  .page-id-9 .creation-game-catch {
    font-size: 0.88em;
  }
  .page-id-9 .creation-game-genre {
    font-size: 0.81em;
  }
  .page-id-9 .creation-game-link {
    font-size: 0.84em;
  }

}

/* moved from style.css:L5956 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 #section-view .creation-placeholder-link::before,
  .page-id-9 #section-read .creation-placeholder-link::before {
    padding: 5px;
  }
  .page-id-9 #section-view .creation-placeholder-link::after,
  .page-id-9 #section-read .creation-placeholder-link::after {
    inset: 5px;
  }

}

/* moved from style.css:L6648 [480] 480->480 */
@media (max-width: 480px) {

  .entry-content .creation-sub-desc,
  .entry-content .creation-knowledge-desc,
  .entry-content .creation-game-card p,
  .top-creation-card-desc,
  .creation-knowledge-desc,
  .creation-activity-desc,
  .creation-motion-card .creation-sub-desc,
  .blog-card-excerpt,
  .mapping-description-box p,
  .creation-knowledge-subtitle,
  .creation-sub-desc,
  .creation-knowledge-desc,
  .creation-activity-desc {
    font-size: 0.875rem;
  }
  .platform-card-desc,
  .page-id-9 .platform-card-desc {
    font-size: 0.875rem !important;
  }
  .creation-sub-cta a,
  .creation-knowledge-cta a,
  .creation-activity-cta a,
  .page-id-9 .creation-card-view-all,
  .page-id-9 .creation-view-all,
  .blog-card-excerpt,
  .blog-pagination a,
  .blog-pagination span,
  .creation-sub-cta-inline a,
  .creation-game-card p,
  .mapping-description-box p {
    font-size: 0.875rem;
  }

}

/* moved from style.css:L7061 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-9 #section-it .creation-category-header .creation-primary-desc,
  .page-id-9 #section-3d .creation-category-header .creation-primary-desc,
  .page-id-9 #section-view .creation-category-header .creation-primary-desc,
  .page-id-9 #section-read .creation-category-header .creation-primary-desc,
  .page-id-9 #section-platforms .creation-category-header .creation-primary-desc {
    padding-left: calc(0.78rem + 7px) !important;
    padding-right: calc(0.78rem + 1px) !important;
  }

}

/* moved from character-katsudo.css:L140 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .creation-katsudo-card-image::before { padding: 4px; }
  .page-id-11 .creation-katsudo-card-image::after { inset: 4px; }

}

/* moved from character-mapping.css:L93 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .character-placeholder-mapping {
    --mapping-ratio: 640 / 392;
  }

}

/* moved from character-mapping.css:L389 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .mapping-timeline-content {
    overflow-wrap: anywhere;
  }

}

/* moved from character-mapping.css:L442 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .character-placeholder-mapping::before {
    padding: 5px;
  }
  .page-id-11 .character-placeholder-mapping::after {
    inset: 5px;
  }

}

/* moved from character-mapping.css:L543 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .mapping-hint {
    right: 7px;
    bottom: 7px;
    /* font-balance 1788579499092 R8: base 13pxに追従 */
    font-size: 13px;
    padding: 4px 7px;
  }

}

/* moved from character-mapping.css:L636 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .mapping-node-label {
    font-size: 14px;
  }
  .page-id-11 .mapping-layer-label {
    font-size: 12px;
  }

}

/* moved from character-soniria.css:L286 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .character-placeholder-soniria::before {
    padding: 5px;
  }
  .page-id-11 .character-placeholder-soniria::after {
    inset: 5px;
  }

}

/* moved from character-worldview.css:L199 [480] 480->480 */
@media (max-width: 480px) {

  .page-id-11 .character-placeholder-worldview::before {
    padding: 5px;
  }
  .page-id-11 .character-placeholder-worldview::after {
    inset: 5px;
  }

}

/* moved from section-cards.css:L117 [480] 480->480 — plan 1788234785602: 32→26px + グラデ + フルハイト + border廃止 — plan 1788232372710 1列でも帯26px + 垂直中央を維持 — plan 1788234295409: breathing 0.6em — plan 1788260415453: 1fr→2-col + short text */
@media (max-width: 480px) {

  .top-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.6em !important;
  }

  .top-card{
    position: relative;
    grid-template-columns: 1fr 26px;
    column-gap: 0;
    row-gap: 0.35em;
    padding: 0.75em 0 0.75em 0.9em !important;
    min-height: 58px !important;
    align-content: center;
    place-content: center;
    overflow: hidden;
  }

  .top-card-head { padding-right: 0.6em; }
  .top-card-desc { padding-right: 0.6em; font-size:0.78em !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; display:block !important; -webkit-line-clamp:1 !important; -webkit-box-orient:horizontal !important; min-height:calc(0.78em * 1.4) !important; }
  .top-card-desc .desc-long{ display:none !important; }
  .top-card-desc .desc-short{ display:inline !important; }

  .top-card .top-card-aff--iconOnly{
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    width: 26px; min-width: 26px; max-width: 26px;
    /* plan 1788423003233: 完全tint一致・濃くしない + 3px inset白縁 */
    background: linear-gradient(to right, rgba(239,248,245,0) 0, var(--color-bg-jade, #EFF8F5) 8px);
    border-left: none;
    border-radius: 0 5px 5px 0;
    display: flex; align-items: center; justify-content: center;
    padding: 0; margin: 0;
  }

}
@media (max-width: 360px) {
  .top-cards-grid{ grid-template-columns:1fr !important; }
}

/* moved from section-creation.css:L106 [480] 480->480 */
@media (max-width: 480px) {

  .top-creation-card-desc {
    font-size: 0.875rem;
  }

}

/* moved from section-creation.css:L135 [480] 480->480 */
@media (max-width: 480px) {

  .top-creation-card {
    padding: 1rem;
  }

}

/* moved from section-creation.css:L197 [480] 480->480 */
@media (max-width: 480px) {

  .top-creation-card-image--with-frame::before { padding: 4px; }
  .top-creation-card-image--with-frame::after { inset: 4px; }

}

/* moved from section-hero.css:L409 [480] 480->480 */
/* plan 1788441962562 §3.2+§3.3+§3.4: モバイルはY分離（文字=Y下端側・キャラ窓=Y上端側）＋Y下端tint。768のX左上書きを本ブロックで後勝ちリセット。新規390ブロック追加禁止 */
/* plan 1788520819413 §2.2: 下padding増・rowボタン・2段許容サブ（70vh/min400・flex-end/center・contain/right 18%・scrim維持） */
/* plan 1788521050675 §2.3: タイトル/サブのみ藤系幕＋影で可読性改善（色#fff・サイズ/改行/配置不変、黒禁止・上限0.28・新規390追加禁止） */
/* plan 1788524900000 §2.1-2.2: ヒーローすりガラス帯（768同値・色相差ゼロ・::after下端46%・顔クリア・新規390追加禁止） */
@media (max-width: 480px) {

  .top-hero {
    height: 84vh;
    min-height: 480px;
    aspect-ratio: auto;
    align-items: flex-end;
    justify-content: center;
  }

  /* すりガラス帯: 768同値（色相差ゼロ）。タイトルY以下を左端〜右端一律に均しつつ透かす（裏完全隠し・黒/白ベタ・枠線・カード化禁止） */
  /* 2026-09-04 微調整: 文字より上は透過グラデで絞る（768同値・42%＋上部18%透明＋68pxマスク） */
  .top-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 42%;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(95,86,142,0) 0%, rgba(95,86,142,0) 18%, rgba(95,86,142,0.20) 42%, rgba(74,67,111,0.30) 100%);
    backdrop-filter: blur(10px) saturate(1.08) brightness(1.03);
    -webkit-backdrop-filter: blur(10px) saturate(1.08) brightness(1.03);
    -webkit-mask-image: linear-gradient(180deg, transparent 0, black 68px);
    mask-image: linear-gradient(180deg, transparent 0, black 68px);
  }

  /* Y下端限定藤tint（上限alpha 0.28厳守。黒暗幕・全面一様・パネル・中央パッチ禁止。z-index/pointer-events/radiusはPC継承） */
  .top-hero::before {
    background: linear-gradient(180deg, transparent 40%, rgba(95,86,142,0.10) 66%, rgba(95,86,142,0.26) 100%);
  }

  /* キャラ窓：contain維持（cover禁止）＋X右側・Y上端側へ。768末尾crop（object-view-box 50% + !important）に勝つため !important。plan:1788575641263 img側translateX(5%)で768の-5%を上書き（overlayラッパー不変） */
  .top-hero-overlay-img {
    object-fit: contain;
    object-position: right 18% !important;
    transform: translateX(5%) scale(1.06);
    transform-origin: 50% 0%;
  }

  .top-hero-title {
    /* plan 1788596360505: モバイルH1適正化 1.7em(27.2px)→1.9em(30.4px)。比1.70→1.90でタブレット系譜(1.91)に接近・ブランド差4.8→8.0pxで階層復元。候補1.85/1.9/2.0比較で2.0は重く1.85は弱いため中庸の最適値（最大値選定禁止）。360-390で1行余裕(実幅182-192px/内容328-358px)・帯42%/影/margin不変 */
    font-size: 1.9em;
    white-space: nowrap;
    /* 2026-09-05 768同値の4層シャドウで上書き（カスケード後勝ち・PC不変。濃すぎ指摘で軽減版） */
    text-shadow: 0 1px 2px rgba(30,27,52,0.45), 0 2px 8px rgba(30,27,52,0.28), 0 4px 18px rgba(46,42,78,0.22), 0 0 28px rgba(46,42,78,0.18);
    /* 2026-09-05 Y縦リズム: T-S 0.45em(≒12px・8px grid適合。PC 0.5em不変） */
    margin-bottom: 0.45em;
  }

  .top-hero-subtitle {
    font-size: 1em;
    text-align: center;
    text-wrap: balance;
    /* 2026-09-05 768同値の3層シャドウで上書き（PC不変。サブは特に軽減） */
    text-shadow: 0 1px 2px rgba(30,27,52,0.38), 0 2px 8px rgba(30,27,52,0.22), 0 0 20px rgba(46,42,78,0.20);
    /* 2026-09-05 Y縦リズム: S-B 2em(32px)→1.5em(24px)へ締め（CTA結合・モバイル圧縮0.75x。PC不変） */
    margin-bottom: 1.5em;
  }

  .top-hero-content {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    margin-left: 0;
    margin-right: 0;
    /* 2026-09-05 Y縦リズム: 下pad 4rem(64px)→3rem(48px)へ（底重心の緩和・cue余白維持。PC不変） */
    padding: 1rem 1rem 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .top-hero-buttons {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
  }

  .top-hero-btn {
    flex: 0 1 150px;
    min-width: 0;
    width: auto;
    max-width: 100%;
    min-height: 44px;
    padding: 0.85em 1em;
    font-size: 0.95rem;
    white-space: nowrap;
    text-align: center;
  }

  /* scroll誘導：content Y下端化との干渉回避で下げ＋小型化。非表示化しない */
  .top-hero-scroll {
    bottom: 0.9rem;
  }

  .top-hero-scroll-icon {
    font-size: 1.2em;
  }

}

/* moved from section-index.css:L101 [480] 480->480 */
@media (max-width: 480px) {

  .top-section-index {
    gap: 8px;
    padding: 8px 10px 10px;
  }

}

/* moved from section-quicklinks.css:L58 [480] 480->480 */
@media (max-width: 480px) {

  .top-quicklinks {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
    padding: 0.6rem 0.8rem;
  }

  .top-quicklinks-item {
    font-size: 0.8em;
    padding: 0.5em 0.8em;
  }

}

/* moved from section-soniria.css:L231 [480] 480->480 */
@media (max-width: 480px) {

  .top-soniria-worldview-frame {
    padding: 1rem;
  }

  .top-soniria-image::before {
    padding: 5px;
  }

  .top-soniria-image::after {
    inset: 5px;
  }

}

/* moved from section-worldview.css:L90 [480] 480->480 */
@media (max-width: 480px) {

  .top-worldview-image::before {
    padding: 5px;
  }

  .top-worldview-image::after {
    inset: 5px;
  }

}

/* moved from id41_remaining.css:L147 [480] 769->480 */
@media (max-width: 480px) {

  .appeal-content {
    margin-top: 10px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 10px;
  }
  .appeal-title {
    font-size: 14px;
    padding-left: 0;
    padding-right: 0;
    margin-left: -15px;
    margin-right: -15px;
  }
  #appeal-in {
    padding: 5px 5%;
    margin-bottom: -20px;
  }

}

/* moved from id41_remaining.css:L222 [480] 560->480 */
@media (max-width: 480px) {

  .new-entry-card-thumb {
    margin: 0 8px 0 0;
    width: 192px !important;
    height: 108px;
  }
  .new-entry-card-snippet {
    display: none;
  }

}

/* single記事詳細: 左右余白＝行長適正化（PC不変・plan 1788582323929） */
/* 狙い: 幅390で本文幅326→310px・約20→19字/行（viewport比83.6%→79.5%）。カード内16→24px(1.5rem)は記事系デファクト16-24px帯の上限・8pxグリッド適合・旧page-single側(1em)に後勝ち。viewport側.wrap 1rem維持・box-sizing維持で820px内。極小例外より前・タイトル上/パンくずmarginは今回不変 */
@media (max-width: 480px) {
  body.single #main .article-header,
  body.single #main .entry-content,
  body.single #main .article-footer,
  body.single #main #breadcrumb {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box !important;
  }
  body.single #related-entries {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box !important;
  }
}

/* 390: 極小例外 - 1ブロックのみ許可。他の390は480へ統合済 */
/* 390: 極小例外 - 集約 (2 blocks merged) */
@media (max-width: 390px) {
body.single #main .entry-content,
  body.single #main .article-header,
  body.single #main #breadcrumb,
  body.single #main .article-footer {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
  body.single .entry-content a {
    gap: .5rem;
  }
.page-id-11 .page-navi-bar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.5rem 0.8rem;
    font-size: 0.85rem;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* plan 1788272374972 — social 480 micro-adjust: profile-image 72→60px (1段階縮小) */
@media (max-width: 480px) {
  .page-id-13 .creation-three-column .profile-image {
    width: 60px !important;
    flex: 0 0 60px !important;
  }
}
/* === quicklinks horizontal scroll 1-row — 480後勝ち上書き plan 1788260267277 === */
@media (max-width: 480px) {
  .top-quicklinks{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x proximity;
    gap:0.4rem !important;
    padding:0.6rem 0.8rem !important;
    mask-image:linear-gradient(90deg,transparent 0,black 16px,black calc(100% - 16px),transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,black 16px,black calc(100% - 16px),transparent 100%);
  }
  .top-quicklinks::-webkit-scrollbar{ display:none; }
  .top-quicklinks-item{
    flex:0 0 auto !important;
    scroll-snap-align:start;
    min-height:44px !important;
    white-space:nowrap;
  }
}
/* === plan 1788269505689 — hero full-bleed retain at <=480 (duplicate for load-order win) === */
@media (max-width: 768px) {
  .top-page .top-hero {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 480px) {
  .top-page .top-hero {
    border-radius: 0 !important;
  }
}

/* plan 1788273929470 課題2-mobile: 帯幅26px追従 — plan 1788423003233: 完全tint一致・濃くしない + 3px inset白縁（幅のみ継承のため親で効くが明示） */
@media (max-width: 480px){
  .top-activity-item{ padding-right: 29px; }
  .top-activity-item .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 26px; min-width: 26px; max-width: 26px; background: linear-gradient(to right, rgba(243,250,253,0) 0, var(--color-bg-light, #F3FAFD) 8px); border-radius: 0 5px 5px 0; }
  .top-meta-item{ padding-right: 29px; }
  .top-meta-item .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 26px; min-width: 26px; max-width: 26px; background: linear-gradient(to right, rgba(246,243,251,0) 0, var(--color-bg-fuji, #F6F3FB) 8px); border-radius: 0 5px 5px 0; align-self: stretch; }
}

/* === plan 1788664390026: トップ「最近の活動」モバイルのみタイトル幅拡張 (<=480のみ・481+/PC/タブ不変) ===
   Task1: 矢印帯の撤去＋余白回収 — .top-page限定でactivityのみdisplay:none（meta/cards/blog-card-topは不変・sr-only/a11y維持）。
   Task2: バッジ＋日付の締め付け — gap 0.5em→0.4em、source/dateを可読下限(0.75em)内で圧縮、text側padding-right:0.6em→0で回収。
   Follow-up(2026-09-06): 白カード内側左右padding 1em(16px)→0.5em(8px)で計16px回収しタイトル+1全角字。
     外幅は不変（width:100%＋box-sizing:border-boxのためpadding縮小分は内容域に吸収・セクション/グリッド則不変）。
     白カード自体の横伸長なし。上下padding・border・radius・shadow・hover・focus-visible・2行化なし・font色分けは不変。
   詳細度 (0,2,0)+後勝ちで既存480帯(0,1,0)・768帯(0,1,0)・base(0,1,0)に勝つため !important 不要。タップ高さ維持。 */
@media (max-width: 480px){
  .top-page .top-activity-item{ gap: 0.4em; padding-left: 0.5em; padding-right: 0.5em; }
  .top-page .top-activity-item .top-card-aff--iconOnly{ display: none; }
  .top-page .top-activity-item .top-activity-source{ font-size: 0.78em; letter-spacing: -0.01em; white-space: nowrap; }
  .top-page .top-activity-item .top-activity-date{ font-size: 0.78em; min-width: 2.4em; letter-spacing: -0.01em; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .top-page .top-activity-item .top-activity-text{ padding-right: 0; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* === plan 1788524851013: 下部リンク集の480後勝ち打ち消し (既存.top-quicklinksルールは不変・PC不変) === */
@media (max-width: 480px) {
  /* 上部は非表示を維持 (768の後勝ち補強・詳細度で480のflex横スクロールに勝つ) */
  .top-page > .top-quicklinks {
    display: none !important;
  }
  /* 下部の横スクロール化を打ち消し flex中央寄せ維持 (768側の600分岐=flex 3列・最終行中央を継承) */
  .top-page .top-quicklinks--bottom {
    display: flex !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    flex-wrap: wrap !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    scroll-snap-type: none !important;
    justify-content: center !important;
  }
  /* 既存 .top-quicklinks-item{flex:0 0 auto!important} に後勝ちでボタン等幅を維持
     2026-09-06 gutter最適化: 600帯の column-gap 0.5rem に合わせ控除を 0.4rem→0.34rem に統一
     (3d=2cで3列ちょうど・gapは600帯の row 0.65rem/col 0.5rem を継承。ボタン寸法・PC不変) */
  .top-page .top-quicklinks--bottom .top-quicklinks-item {
    flex: 0 0 calc(33.333% - 0.34rem) !important;
    max-width: calc(33.333% - 0.34rem) !important;
    width: calc(33.333% - 0.34rem) !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
}
/* === plan 1788574647409: ヒーロー縦伸長（モバイル84vh/480px）・キャラ/コンパス上端固定 — 768後勝ち・PC不変 === */
@media (max-width: 480px) {
  .top-hero-overlay { top: 0 !important; bottom: auto !important; height: 70vh !important; min-height: 400px !important; }
  .top-hero-compass { top: 0 !important; bottom: auto !important; height: 70vh !important; min-height: 400px !important; }
}
/* 2026-09-05 コンパスさらに縮小＋左寄せ（768後勝ち・PC不変。キャラ寸法に合わせ円径≒335px・左情報部がキャラ周辺の透明域に覗く配置。レイヤー順は維持: 背景1 < コンパス2 < キャラ3。opacityはラッパーreveal0.62との積で実効0.33と薄すぎるため0.72へ＝実効≒0.45） */
@media (max-width: 480px) {
  .top-hero-compass-img {
    object-position: 18% 50%;
    transform: scale(0.62);
    transform-origin: 22% 48%;
    opacity: 0.72;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 100%);
    mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 100%);
  }
}
/* モバイルのみキャラY5%下げ（ヒーロー容器基準・キャラのみ・タブレット/PC不変） */
@media screen and (max-width:480px){
  .top-hero-overlay{ top:5% !important; }
}

/* === font-balance 1788579499092 Phase1 (小SP底上げ・480後勝ち) === */
/* R1-sp: 2列カード説明の底上げ (0.78→0.83em)。nowrap ellipsisのため行増なし */
@media (max-width: 640px) {
  .top-page .top-cards-grid .top-card-desc {
    font-size: 0.83em !important;
    min-height: calc(0.83em * 1.4) !important;
  }
}
/* R6-sp: 説明系の中間値0.925rem (480の0.875とPCの0.95の中点・複数行のためafterで行数検証) */
@media (max-width: 480px) {
  .entry-content .creation-sub-desc,
  .entry-content .creation-knowledge-desc,
  .entry-content .creation-game-card p,
  .top-creation-card-desc,
  .creation-knowledge-desc,
  .creation-activity-desc,
  .creation-motion-card .creation-sub-desc,
  .mapping-description-box p,
  .creation-knowledge-subtitle,
  .creation-sub-desc,
  .creation-activity-desc {
    font-size: 0.925rem;
  }
  .platform-card-desc,
  .page-id-9 .platform-card-desc {
    font-size: 0.925rem !important;
  }
}
/* R7: 小SPナビの底上げ (横スクロール帯が吸収・折返しなし) */
@media (max-width: 480px) {
  .page-navi-bar a {
    font-size: 0.925rem;
  }
  .page-id-13 .page-navi-bar a,
  .page-id-9 .page-navi-bar a,
  .page-id-11 .page-navi-bar a,
  .page-id-30 .page-navi-bar a {
    font-size: 0.925rem;
  }
}

/* === linebreak 1788579499092 Phase2 (480後勝ち追従・PC不変・追記のみ) === */
/* A2-480: timeline再掲anywhere (L361) を768同様break-wordへ (480後勝ちで768則に勝つため再宣言) */
@media (max-width: 480px) {
  .page-id-11 .mapping-timeline-content {
    overflow-wrap: break-word;
  }
}
/* A6-390: single容器anywhere (L736) →break-word (溢れ保護はbreak-wordが継承・PC/481+不変) */
@media (max-width: 390px) {
  body.single #main .entry-content,
  body.single #main .article-header,
  body.single #main #breadcrumb,
  body.single #main .article-footer {
    overflow-wrap: break-word;
  }
}

/* === plan 1788584675213: 下部リンク集 SpeakerDeck モバイル余白確保 (480末尾・768後勝ち・PC/タブ不変) ===
   3列帯(<=600px)の最長ラベル SpeakerDeck のみ内側を縮小し内容幅<ボタン幅にして左右2〜4px確保。
   flex-basis/width/max-width・gap・container padding・他ボタン・601px+ には触れない。font-size/padding のみ !important。 */
@media (max-width: 600px) {
  .top-page .top-quicklinks--bottom .top-quicklinks-item[href*="speakerdeck.com"] {
    font-size: 0.75em !important;
    padding-left: 0.3em !important;
    padding-right: 0.3em !important;
    letter-spacing: -0.01em !important;
    column-gap: 0.25em !important;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item[href*="speakerdeck.com"] i {
    width: 1em !important;
    min-width: 1em !important;
  }
}

/* === 2026-09-06: 下部リンク集 SpeakerDeck のFAアイコンのみモバイル非表示 (<=480・横幅超過対策) ===
   対象は --bottom の speakerdeck.com ボタンの <i> のみ。文言・他ボタン・481px+(タブレット/PC)は不変。
   詳細度(0,4,1)＋480後読みで768側 inline-block(0,3,1)に勝つ。600px帯の縮小則は維持（非表示時は無影響）。 */
@media (max-width: 480px) {
  .top-page .top-quicklinks--bottom .top-quicklinks-item[href*="speakerdeck.com"] i {
    display: none;
  }
}

/* Fix 1788585065093: footer mobile divider — 初めての方/サイト概要間のみ1本 (<=480 strict) */
/* T1実測: 順序 [初めての方→サイト概要(/social/)→サイトポリシー] のため href基準で後者li特定。
   li+li全体には付けない(D5)。既存 flex-wrap:wrap / gap:0.3em 1em は維持。 */
@media (max-width: 480px) {
  .navi-footer-in > .menu-footer li.menu-item:has(> a[href*="/social/"]) {
    border-left: 1px solid #ddd !important;
    padding-left: 0.5em !important;
  }
}

/* === plan 1788588779809: soniria hero-title モバイル2行確定 (<=480・480後勝ち・PC/タブ不変) ===
   手法: phraseをblock化＋nowrapで各1行＝合計2行。sepは水平装飾に変形（文字区切り禁止）。
   font/padding/letter-spacing/line-heightは390/360で後半15字が1行に収まる値。1行化の極端縮小は禁止。
   text-align:centerは768側を継承しここでも明示。 */
@media (max-width: 480px) {
  .page-id-11 .character-soniria-hero-title {
    text-align: center;
    white-space: normal;
    text-wrap: none;
    /* モバイル適正化: 説明文16pxとの逆転解消（360で16.5px・390で17.5px・480で17.6px上限）＋左右padding縮小で余白活用。PC/タブ不変 */
    font-size: clamp(0.95em, calc(0.3em + 3.25vw), 1.1em);
    letter-spacing: -0.02em;
    line-height: 1.6;
    padding: 0.6em 0.4em;
    overflow-wrap: break-word;
    word-break: keep-all;
  }
  .page-id-11 .character-soniria-hero-phrase {
    display: block;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .page-id-11 .character-soniria-hero-sep {
    display: block;
    width: 48px;
    height: 2px;
    margin: 0.45em auto;
    padding: 0;
    background: linear-gradient(90deg, var(--color-fuji-mid, #7369A0) 0%, var(--color-sky, #8ED1E0) 100%);
    border: 0;
    border-radius: 2px;
    vertical-align: baseline;
    position: relative;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .page-id-11 .character-soniria-hero-sep::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    transform: translate(-50%, -50%) rotate(45deg);
    background: var(--color-fuji-mid, #7369A0);
    border-radius: 1px;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* === plan 1788590243776: ID11 soniria/worldview モバイル縦積み詰め (<=480のみ・481+/PC不変) ===
   狙い: 外側縦gap 1.5em(24px)→10pxへ。内側パネルpadding 10pxと同値で白帯を細くし一塊化。
   除外: mapping/katsudo・フォント/色/padding・768/PCには触れない。 */
@media (max-width: 480px) {
  .page-id-11 .creation-two-column:has(> .character-soniria-media),
  .page-id-11 .creation-two-column:has(> .character-worldview-media) {
    gap: 10px;
  }
}

/* 創作紹介ゲーム mobile隙間詰め: 主な領域IT/3D縦積みgap:1remに統一 (タブレット/PC不変・<=480のみ) */
@media (max-width: 480px) {
  body.page-id-9 .creation-game-wrapper .creation-three-column {
    gap: 1rem !important;
  }
  body.page-id-9 .creation-game-wrapper .creation-three-column > .wp-block-column {
    margin-bottom: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
  }
}

/* plan soniria-role: mobile forced break at 読点 (<=480 only・サイズ不変) */
@media (max-width: 480px) {
  .top-page .top-soniria-role { font-size: inherit; white-space: normal; } /* タブレットのnowrapを解除。サイズは基底0.95em継承＝変更なし */
  .top-page .top-soniria-role-br { display: inline !important; }
}

/* plan 1788595413964: ヒーローブランド小SP (≤480px のみ・rev3で上へ8px・1.4em。タブレット不変) */
@media screen and (max-width: 480px) {
  .top-page .top-hero-brand {
    font-size: 1.4em;
    top: calc(8px + env(safe-area-inset-top, 0px));
  }
}
/* 創作紹介 白カード内余白統一: IT/3D 4枚+ゲーム3枚を観る/読む(0.625rem)に合わせる (<=480のみ・タブ/PC不変) */
@media (max-width: 480px) {
  body.page-id-9 #section-it .creation-sub-card,
  body.page-id-9 #section-3d .creation-sub-card,
  body.page-id-9 .creation-game-wrapper .creation-game-card {
    padding: 0.625rem !important;
  }
}

/* PC/タブレットではモバイル限定読点を非表示(原文どおり・免責・のみ表示) — 下の480ブロックでinline表示 */
body.page-id-13 .sp-show-mobile {
  display: none !important;
}
/* plan 1788611479579: site-overview mobile 390 line-break tune — <=480 only */
/* A: concept内外padding再配分(外1.5em 2em→1em 1em・内1.25em 1.75em→1em 1em)で本文幅202→260px・だんだん緩和。B/E:縦gap 1em→0.75rem・白カードpadding 1.25rem/1.5rem→0.75rem(12px下限)で間隔圧縮＋内容幅240→272px。C1/D1/E3/F3/G3は390px実測で確定(詳細はplan §5)。F※ぶら下げ・Gコロン右hanging・C/G句読点sp-punct隠し同梱。font-size/weight・768/PC不変・390例外追加なし */
@media (max-width: 480px) {
  /* A: tokikai概念 — 外グラデと白帯の二重paddingを縮小し本文幅確保 */
  body.page-id-13 .entry-content .concept-box {
    padding: 1em 1em !important;
  }
  body.page-id-13 .entry-content .concept-box .concept-box-inner {
    padding: 1em 1em !important;
  }
  /* B/E/F/G: 外ラッパーpadding 1rem→0.75rem(16→12px)で内容幅確保 */
  body.page-id-13 .social-team-wrapper,
  body.page-id-13 .social-operator-wrapper,
  body.page-id-13 .social-contact-wrapper,
  body.page-id-13 .social-policy-wrapper {
    padding: 0.75rem !important;
  }
  /* B/E: 縦積みgap 1em(16px)→0.75rem(12px)へ圧縮 */
  body.page-id-13 .social-team-wrapper .creation-three-column,
  body.page-id-13 .social-operator-wrapper .creation-two-column,
  body.page-id-13 .social-contact-wrapper .creation-two-column,
  body.page-id-13 .social-policy-wrapper .creation-two-column {
    gap: 0.75rem !important;
  }
  /* C: 体制3カードpadding 1.25rem(20px)→0.75rem(12px)で内容幅248→272px */
  body.page-id-13 .social-team-wrapper .creation-three-column .creation-column-item {
    padding: 0.75rem !important;
  }
  /* D/E/F/G: 運営/問合せ/ポリシー白カードpadding 1.5rem(24px)→0.75rem(12px)で内容幅240→272px・D1行/E3行/F3行を達成 */
  body.page-id-13 .social-operator-wrapper .creation-two-column .creation-column-item,
  body.page-id-13 .social-contact-wrapper .creation-two-column .creation-column-item,
  body.page-id-13 .social-policy-wrapper .creation-two-column .creation-column-item {
    padding: 0.75rem !important;
  }
  /* ::before上端グラデ帯の負marginを新padding(12px)に追従 — はみ出し/溢れ防止 */
  body.page-id-13 .social-team-wrapper .creation-three-column .creation-column-item::before,
  body.page-id-13 .social-operator-wrapper .creation-two-column .creation-column-item::before,
  body.page-id-13 .social-contact-wrapper .creation-two-column .creation-column-item::before,
  body.page-id-13 .social-policy-wrapper .creation-two-column .creation-column-item::before {
    margin: -0.75rem -0.75rem 0.6rem -0.75rem !important;
  }
  /* WPコア @media(max-width:781px) .wp-block-column{margin-bottom:1.8em} の打消し — flex gap(12px)のみでカード間隔を詰める。768/PC不変 */
  body.page-id-13 .social-team-wrapper .creation-three-column > .wp-block-column,
  body.page-id-13 .social-operator-wrapper .creation-two-column > .wp-block-column,
  body.page-id-13 .social-contact-wrapper .creation-two-column > .wp-block-column,
  body.page-id-13 .social-policy-wrapper .creation-two-column > .wp-block-column {
    margin-bottom: 0 !important;
  }
  /* F: ※ぶら下げ — ※より1字右から2行目開始 */
  body.page-id-13 .social-contact-wrapper .operator-card-body > p:nth-of-type(2) {
    padding-left: 1em !important;
    text-indent: -1em !important;
  }
  /* G: 小字4行 — モバイルのみコロン(strong末)で改行、説明は左端から1字下げ。PC/タブレット不変 */
  body.page-id-13 .social-policy-wrapper .operator-card-body div p strong {
    white-space: nowrap !important;
    display: block !important;
  }
  body.page-id-13 .social-policy-wrapper .operator-card-body div p .policy-desc {
    display: block !important;
    padding-left: 1em !important;
  }
  /* G2: 導入文 — モバイルのみ句点後で改行（PC/タブレットは768側ベース則で非表示のまま） */
  body.page-id-13 .policy-intro-br {
    display: inline !important;
  }
  /* G3: モバイル専用文言差し替え（ID11同一パターン・二重span+display切替・PC/タブレット不変） */
  body.page-id-13 .policy-w-pc {
    display: none !important;
  }
  body.page-id-13 .policy-w-sp {
    display: inline !important;
  }
  /* C/G/E: モバイル限定句読点隠し — PC/タブレットはspan内原文表示で不変 */
  body.page-id-13 .sp-punct {
    display: none !important;
  }
  /* E: 「芽吹く前の」を一体保持(mobileのみnowrap) — 2行目末に配置し3行目を「まだ形のない…」で開始 */
  body.page-id-13 .sp-keep {
    white-space: nowrap !important;
  }
  /* G: モバイル限定読点(著作権、プライバシー) — PC/タブレットでは非表示 */
  body.page-id-13 .sp-show-mobile {
    display: inline !important;
  }
}

/* === plan 1788623694267 C: トップ見出し7件 SP縮小（B03 SP変形） ===
   1.2emへ一段縮小・左揃え維持・中央化なし。em指定のため白域は自動追従するが、
   フェード域を詰めるため background-size のみPC比で縮小（5文字 9em→7.7em、⑦ 6.5em→5.6em）。
   padding/max-width/下線は不変。front-page-inline集約則への後勝ち。 */
@media (max-width: 480px) {
  .top-page .top-cards .top-cards-title,
  .top-page .top-activity .top-activity-title,
  .top-page .top-soniria-worldview-section-title,
  .top-page .top-creation .top-creation-title,
  .top-page .top-blog .top-blog-title,
  .top-page .top-meta .top-meta-section-title,
  .top-page .top-quicklinks-bottom-title {
    font-size: 1.2em;
    text-align: left;
    background-size: 7.7em 100%;
  }
  .top-page .top-quicklinks-bottom-title {
    background-size: 5.6em 100%;
  }
}

/* === plan 1788626020262: モバイル限定 トップ8カード幅揃え（<=480のみ・481+/PC不変） ===
   実測 (Playwright・fonts.ready後・2026-09-06): 390/480で基準 (.top-soniria/.top-worldview) 326/416px に対し
   対象8枚 (.top-creation-card/.top-blog-card/.top-meta-item) 286/376px ＝ delta 40px・左右対称20pxずつ。
   内訳: 対象はセクション外側 20px(1.25em)＋グリッド内側 16px(1em)＝片側36px、基準フレームは片側16px(1rem)。
   手法: セクション左右を基準同値 1rem・グリッド左右を 0 に寄せ、合計片側16pxで外枠一致 (40px拡大)。
   カード自体の width/margin・内側padding・font・色・border・影・hover・高さ・gap縦は不変。
   詳細度: セクション (0,2,0)＝front-page-inline末尾則と同点・768則(0,1,0)に勝ち、グリッド (0,3,0)＝同集約則と同点で
   いずれも本ファイル末尾(104)の後勝ちのため !important 不要。padding一括指定なし・負margin/100vwブリードなし。
   481px以上・360/390例外・他セクションには波及しない。 */
@media (max-width: 480px) {
  .top-page .top-creation,
  .top-page .top-blog,
  .top-page .top-meta {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .top-page .top-creation .top-creation-grid,
  .top-page .top-blog .top-blog-grid,
  .top-page .top-meta .top-meta-grid {
    padding-left: 0;
    padding-right: 0;
  }
}

/* === モバイル限定 ソニリア/世界観カード内側左右余白の縮小（<=480のみ・481+/PC不変） ===
   狙い: 白カード内の表示領域を創作3枚（.top-creation-card: 左右1rem=16px）並みに広げる。
   現状: 768継承で左右1.5em（390実測24px）のため創作より片側8px・合計16px狭い。
   手法: 上下padding（1.2em）・font・色・border・影・hover・高さ・gapは不変で左右longhandのみ1remへ。
   詳細度 (0,2,0) で768則 (0,1,0)・基底 (0,1,0) に勝ち、末尾(104)後勝ちのため !important 不要。
   外枠（フレーム/カード外形）・481px以上・360/390例外には波及しない。 */
@media (max-width: 480px) {
  .top-page .top-soniria,
  .top-page .top-worldview {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* === モバイル限定 ソニリア/世界観desc改行調整（<=480のみ・481+/PC不変） ===
   狙い: ソニリア「和菓子が好き」6字を次行単独に、世界観「活動と思索の総称」8字を次行単独にし（`目指す`は前行残し）、
   「目」1字残り等の変な切れ目を解消する。font/幅/paddingは不変で改行位置のみ確定させる。
   手法: 既存role-brと同一パターン（PHPにモバイル専用brを埋め込み、PC/タブでは非表示・480のみ表示）。
   基底則は本ファイル内のメディアクエリ外＝全幅に適用されるため、481px以上ではbrが消えて従来の自然改行に戻る。
   新規クラス専用のため他セクション・360/390例外への波及なし。 */
.top-page .top-soniria-desc-br,
.top-page .top-worldview-desc-br {
  display: none;
}
@media (max-width: 480px) {
  .top-page .top-soniria-desc-br,
  .top-page .top-worldview-desc-br {
    display: inline;
  }
}

/* === plan 1788772537666 §4.3: トップ「私と世界観」モバイル強制改行の条件付き化 (<=480のみ・481+/834/タブ不変) ===
   仕様: 収まる幅で無理やり強制改行することを禁止。収まれば1行、溢れる時だけ尾部直前で折れる (現位置と同じ切れ目)。
   手法: <=480の強制br2箇所 (top-soniria-desc-br/top-worldview-desc-br) を display:none のまま維持 (=強制改行を廃止)。
   代わりに尾部を nowrap単位化して自然改行に委ねる。font-size/letter-spacing/padding/width・481+・834・タブbr・
   text-wrap:balance/pretty・画像/フレーム不変。既存 display:inline則への後勝ち上書きのため !important＋本ファイル末尾側配置。
   ソニリア尾部は既存 span.nowrap-834 を <=480でも nowrap。世界観尾部は PHPで包んだ span.top-worldview-desc-keep のみ <=480で nowrap。 */
@media (max-width: 480px) {
  .top-page .top-soniria-desc-br,
  .top-page .top-worldview-desc-br {
    display: none !important;
  }
  .top-page .top-soniria-desc .nowrap-834 {
    white-space: nowrap !important;
  }
  .top-page .top-worldview-desc .top-worldview-desc-keep {
    white-space: nowrap !important;
  }
}

/* === plan 1788628163245: ID11 モバイル3箇所縦余白詰め (<=480のみ・481+/PC/print不変) ===
   狙い: 視覚余白を soniria/worldview 30px・mapping 44px → 約20pxに統一。
   内訳: 上パネル下padding 6px + 外gap 8px + 下パネル上padding 6px = 20px。
   手法: 外gap一括8px + longhand片側のみ上書き（左右・外側上下は10px維持でtint外形不変）。
   WPコア margin-bottom確認: 現行 block-library(782分岐)は flex-basis:100%のみで margin-bottom加算なし、
   Cocoon親も該当則なしのため margin-bottom:0 追加なし（差分最小・ID13前例の条件分岐で0側を選択）。 */
@media (max-width: 480px) {
  .page-id-11 .creation-two-column:has(> .character-soniria-media),
  .page-id-11 .creation-two-column:has(> .character-worldview-media) {
    gap: 8px;
  }
  /* 2026-09-06 調整: mapping（活動のつながり→活動の歩み）は別話題のため接合面を少し広げる。
     rect間 14px・内容側 whitespace 26px（上pb 6 + gap 14 + 下pt 6）。soniria/worldview は8px/20px維持。
     481+/PC/print不変。tint境界の判別下限6pxは上回る。 */
  .page-id-11 .creation-two-column:has(> .character-mapping-media) {
    gap: 14px;
  }
  .page-id-11 .creation-two-column > .character-soniria-media,
  .page-id-11 .creation-two-column > .character-worldview-media,
  .page-id-11 .creation-two-column > .character-mapping-media {
    padding-bottom: 6px !important;
  }
  .page-id-11 .creation-two-column > .character-soniria-text,
  .page-id-11 .creation-two-column > .character-worldview-text,
  .page-id-11 .creation-two-column > .character-mapping-text {
    padding-top: 6px !important;
  }
  /* 実測対応: inline注入 `@media(max-width:781px) .wp-block-column{margin-bottom:1.8em}` が
     <=480で media側に28.8pxとしてのしかかり rect間36.8pxになっていたため、gap一本化で打消し
     （ID13前例 responsive-480.css:1079-1085 と同手法・481+/PC/print不変）。 */
  .page-id-11 .creation-two-column > .character-soniria-media,
  .page-id-11 .creation-two-column > .character-worldview-media,
  .page-id-11 .creation-two-column > .character-mapping-media,
  .page-id-11 .creation-two-column > .character-soniria-text,
  .page-id-11 .creation-two-column > .character-worldview-text,
  .page-id-11 .creation-two-column > .character-mapping-text {
    margin-bottom: 0 !important;
  }
}

/* === 羅針盤の結晶体3行化（<=480のみ・481+/PC不変） ===
   実測 (Playwright・fonts.ready後): 390でcontent幅284.5px・text-wrap:prettyの均等割りにより4行化。
   目標3行の各行は15字・14字・15字（各240px以下）で内容域に収まるため、世界観カードと同一手法の
   モバイル専用brを「統合し、」直後と「四年の」直後に挿入し改行位置を確定させる。
   font/幅/padding/nowrap・他カード・481+/PCは不変（brは481+で非表示のためDOM位置の影響なし）。 */
.page-id-11 .character-yogo-br {
  display: none;
}
@media (max-width: 480px) {
  .page-id-11 .character-yogo-br {
    display: inline;
  }
}

/* === 技術と思索サブタイトル1行化（<=480のみ・481+/PC不変） ===
   実測 (Playwright・fonts.ready後): 390でcontent幅291.44pxに対しテキスト308.8px＝不足17.4pxで
   「試み」が2行目に折れる。480は1行・768/1280は余裕ありのため対象外。
   手法: この要素のみ左右paddingを 20.16px/1em → 4px/4px に詰め、約26.6px確保（slack約9px）。
   font-size/色/上下余白・見出しとの他要素・セクションpaddingは不変。
   詳細度 (0,3,0)＝front-page-inline集約則と同点・本ファイル末尾の後勝ちのため !important 不要。
   360では不足47.4pxのため2行残存（padding全消しでも不足・390優先。別途報告済み）。 */
@media (max-width: 480px) {
  .top-page .top-blog .top-blog-subtitle {
    padding-left: 4px;
    padding-right: 4px;
  }
}

/* === ID11 ソニリアhero 3行固定（<=480のみ・481+/PC不変） ===
   狙い: .character-soniria-hero-card 2枚目pを
     L1「IT開発・3D制作で形にし、」/ L2「知見発信・思索執筆で言葉にし、」/
     L3「共創交流で人と繋ぐ。和菓子が好き」に固定する。
   実測 (Playwright・Chromium・fonts.ready後・Noto Sans JP・16px):
   L3一体幅 256px に対し枠 247px(390)・232px(375)のため、白カード左右 24px→10px (+28)、
   グラデhero左右 10px→8px (+4) で確保。375で枠264px (余裕8px)、390で279px。
   360は最大250pxのためL3がwbr位置で2分されるフォールバック（溢れなし・従来と同等以下）。
   手法: PHPにモバイル専用brを2箇所埋め込み（既存 top-soniria-desc-br と同一パターン）。
   br要素はテキストノードを分割しないため BudouX のwbr集合は全幅で不変＝481+/PCは従来通り。
   L3内のwbrは残るが、枠に収まる幅では改行不要のため1行にまとまる。
   font-size・文言・上下・色・影は不変。 */
.page-id-11 .soniria-hero-mbr {
  display: none;
}
@media (max-width: 480px) {
  .page-id-11 .character-soniria-hero {
    padding-left: 8px;
    padding-right: 8px;
  }
  .page-id-11 .character-soniria-hero-card {
    padding-left: 10px;
    padding-right: 10px;
  }
  .page-id-11 .soniria-hero-mbr {
    display: inline;
  }
}

/* === ID11 モバイル専用文言差し替え(<=480のみ・481+/PC不変) ===
   手法: 既存 creation-design-desc-pc/sp と同一パターン(二重span+display切替)。
   - 発信カード (.creation-katsudo-card-desc): 「作品の紹介や活動の記録」→「作品紹介や活動記録」
   - マッピング説明 (.mapping-description-box): 「これらを連関させながら取り組んでいます」→「これらに取り組んでいます」
   font/幅/padding・他カード・481+/PC/printは不変。!important は design-desc切替則に準拠。 */
@media (max-width: 480px) {
  .page-id-11 .creation-katsudo-desc-pc,
  .page-id-11 .mapping-description-box .mapping-desc-pc {
    display: none !important;
  }
  .page-id-11 .creation-katsudo-desc-sp,
  .page-id-11 .mapping-description-box .mapping-desc-sp {
    display: inline !important;
  }
}

/* === ID11 活動の歩み 白カード左余白縮小(<=480のみ・481+/PC/print不変・plan:1788666829748) ===
   基底 character-mapping.css:393-397 padding:1rem 1rem 1rem 1.2rem の左だけを縮小。
   1.2rem(19.2px)→0.6rem(9.6px)で約9.6px回収しタイムライン全体を左寄せ、右説明文の折り返しを減らす。
   レール/ドットは ol 基準の絶対配置(responsive-768.css:889-911)のため崩れない。padding-left longhandのみ。
   --- 2026-09-06 follow-up(ユーザー指示: 日付開始位置を「活動の歩み」見出しの「活」左端まで左詰め) ---
   実測(390px・Chromium・fonts.ready後): カード左35.75 / 「活」左57.47 / 日付テキスト左72.34 → 差14.9px。
   padding-left削減だけ(最大9.6px)では届かないため、日付列 4.25rem(68px)→3.9rem(62.4px)へ縮小し残り5.3pxを回収。
   日付テキスト実幅42px(12.8px tabular)のため3.9rem内に十分収まる。右寄せ・font・色は不変。
   レール/ドットは ol 基準のまま中心軸だけ追従: 4.875rem(=68+10px)→4.525rem(=62.4+10px)。gap(1.25rem)・上下・右padding不変。
   --- 2026-09-06 follow-up2(ユーザー指示: 左右余白も調整し、あと2文字分を1行に収める) ---
   実測(390px): 内容幅215px・最長行「3周年記念、創作者紹介イベントを開催」単行257.4px → +42.4px必要。
   右側だけでは最大+22px(2字=29.4pxに届かず)のため左側も併用。内訳(合計+47.4px):
     白カード右 16→3px(+13) / 翡翠パネル左右 10→4px(+12・上下10維持・media/text両列で縁揃え)
     / item gap 1.25rem→0.75rem(+8) / 日付列 3.9rem→3.0rem(48px・+14.4・実幅42pxは収まる)
   レール/ドット中心追従: 4.525rem(=62.4+10)→3.375rem(=48+6)。gap・上下・font・色不変。
   トレードオフ: 日付テキストが「活」左端より約14.7px(約1字)左に出る(前回合わせの後退・2文字収容を優先)。
   基底の翡翠paddingは!importantのため左右longhandも!important(上下の480則・1236-1245行には触れない)。
   --- 2026-09-06 follow-up3(ユーザー指示: 文言短縮「イベントを開催」→「イベント開催」で1字解放し、モバイル余白を復元) ---
   最長行が約242.7px(+27.7pxで足りる)になったため、窮屈さを緩和しつつ1行維持。内訳(合計+34.4px・内容幅約249px):
     白カード右 16→8px(+8) / 翡翠パネル左右 10→6px(+8・上下10維持・media/text両列で縁揃え)
     / item gap 1.25rem→1rem(20→16px・+4・ドット両側3px確保) / 日付列 4.25rem→3.0rem(48px・+14.4・実幅42px)
   レール/ドット中心追従: 3.5rem(=48+8)。上下・font・色不変。日付開始は「活」より約14.7px左のまま。
   なおドット側が3.375remのまま残っていた不整合(レール3.5remに対し2pxずれ)をfollow-up4で3.875remに統一し解消。
   --- 2026-09-06 follow-up4(ユーザー指示: 文言短縮「記念、」→「・」で2字解放し、日付左/日付右/記号右/説明右の四方を快適化) ---
   最長行が約213.3px(基底215pxでもほぼ収まる水準)まで縮んだため、四方を復元しつつ1行維持。
   (中間値: 合計+13.5px・内容幅約225px → 「tokikai」行233.6pxに届かず。最終値は下記follow-up4b。)
     日付の左側: 白カード左 0→0.5rem(8px) + 日付列 3.0rem→3.25rem(52px・実幅42pxで左air10px)
     日付の右側/記号の右側: item gap 1rem→1.25rem(16→20px・基底値に復帰・ドット両側5px)
     説明欄の右側: 白カード右 8→12px / 翡翠パネル左右 6→8px(上下10維持・media/text両列で縁揃え)
   レール/ドット中心追従: 3.875rem(=52+10)。上下・font・色不変。日付開始は「活」より約2.7px左(ほぼ再整合)。
   --- 2026-09-06 follow-up4b(実測調整: 「tokikai」行が単行233.6pxを要求し225pxでは2行化したため+14px追加) ---
   日付の左側: 白カード左0.5rem維持・日付列 3.25rem→3.125rem(50px・実幅42pxで左air8px確保)
   日付の右側/記号の右側: gap 1.25rem維持(20px・ドット両側5pxのまま)
   説明欄の右側: 白カード右 12→6px / 翡翠パネル左右 8→5px(上下10維持・両列縁揃え)
   合計+27.5px・内容幅約239px・最長マージン約5px。レール/ドット中心 3.75rem(=50+10)。日付開始は「活」より約4.7px左。 */
@media (max-width: 480px) {
  .page-id-11 .mapping-timeline-card {
    padding-left: 0.5rem;
    padding-right: 6px;
  }
  .page-id-11 .creation-two-column > .character-mapping-media,
  .page-id-11 .creation-two-column > .character-mapping-text {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .page-id-11 .mapping-timeline-item {
    gap: 1.25rem;
  }
  .page-id-11 .mapping-timeline-date {
    flex: 0 0 3.125rem;
    max-width: 3.125rem;
    min-width: 3.125rem;
  }
  .page-id-11 .mapping-timeline::before {
    left: calc(3.75rem - 1px);
  }
  .page-id-11 .mapping-timeline-item::before {
    left: calc(3.75rem - 5px);
  }
}

/* === plan:1788667461986 mapping mobile enlarge (<=480のみ・481+/PC/print不変・手法S) ===
   目的: 390pxで「活動のつながり」図が小さく感じられるため、関係図全体を可能な限り大きくして視認性を上げる。
   手法S(全面拡大・上端基準): g.mapping-content を transform-box:fill-box・origin:50% 0% で scale(1.09)。
   選定根拠(390px・Chromium・fonts.ready後・実測):
     base: 層左右outer 19.54/inner 14.54・上outer 8.94/inner 3.94・hint clearance 2.96・overflow 0。
     s1.08+r420: inner 2.26・clearance 0.47(側面ほぼ目標だが上inner 7.46へ悪化・レターボックス起因)。
     s1.09+r424+translate(-8px): inner 0.74(+側面<=2達成・突き出しなし)・上inner 3.91(base並み)
       ・clearance 3.95(ヒント被りなし)・overflow 0。s1.10はinner -0.66で額縁内側を割るため不採用。
   比率補正: 拡大で下へ伸びる分を --mapping-ratio:640/392→640/424 で縦長化しヒント干渉を回避。
     (svgはmeetのため余白が上下に分散する分を translateY(-8px・user単位≒画面-4.4px) で上へ戻し、上端とヒントの両立)。
   JS干渉: character-mapping.js が gへinline translateYを付与するため transformのみ!importantで上書きし上端基準に固定。
     (transform-box/origin・ratio・fontはinlineと競合しないため!importantなし・後勝ちのみ。JS自体・mapping.php・基底・768は不変)。
   文字: 層 12→18px・ノード 14→18pxへ引き上げ(2026-09-06 follow-up: モバイルのみ層をノードと同サイズへ)。
     全BBox内収(例: 気づき tbw54.0/80・tbh27.7/36・overR-13 / 着想 tbw42.3/104)。
      有効表示はscale込みで層19.6/ノード19.6pxとなり、H3(17.5)との逆転はSVG対象外(41_visual_tokensはHTMLのみ)のため許容。
   不変: 額縁inset/border・翡翠パネル・白カード外形・hint(13px)・白ノード/矢印幾何・768/1280(層13/15・ノード15/17のまま)・print。 */
@media (max-width: 480px) {
  .page-id-11 .character-placeholder-mapping {
    --mapping-ratio: 640 / 424;
  }
  .page-id-11 .character-mapping-diagram g.mapping-content {
    transform-box: fill-box;
    transform-origin: 50% 0%;
    transform: scale(1.09) translateY(-8px) !important;
  }
  .page-id-11 .mapping-layer-label {
    font-size: 18px;
  }
  .page-id-11 .mapping-node-label {
    font-size: 18px;
  }
}

/* moved from css/page-single.css:454-469 [480] (plan 1788322173688) — T-01 responsive-tidy 1788672824824: PC層隔離・逐語移動・PC不変 */
@media (max-width: 480px) {
  body.single #main .article-header,
  body.single #main .entry-content,
  body.single #main .article-footer,
  body.single #main #breadcrumb,
  body.single #related-entries {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }
  /* 390では TOC の横スクロールを維持しつつ内側余白を微調整 */
  body.single #toc_container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* === サイトポリシー リード文カード モバイル行数調整 (2026-09-06・480末尾・タブレット/PC不変) ===
   実測390: 左右余白 1.25em→0.8em で8行→7行（行末最小余白7px・自然折返しのみ・br/word-break操作なし）。
   詳細度 (0,2,0)+ で `css/page-policy.css` 同一セレクタに後勝ち。縦余白・色・枠は不変。 */
@media (max-width: 480px) {
  .page-id-3141 .policy-lead {
    padding-left: 0.8em;
    padding-right: 0.8em;
  }
  /* モバイルのみ冒頭のブランド接頭辞を非表示（「時の行き交い（運営者：ソニリア）」から開始。正本・PC/タブ表示不変） */
  .page-id-3141 .policy-lead-brand {
    display: none;
  }
}

/* === サイトポリシー (ID:3141) モバイル2行化 (2026-09-06短縮改訂・480末尾・768後勝ち・PC/タブ不変) ===
   7件全4文字以下のためボタン余白・文字を圧縮し 390px で4+3の2行に収める。
   実測見積 (390・root16px): 4文字=66/3文字=54/AI学習=53 + gap6 → 1行目270 <= 内幅290.5。
   詳細度 (0,2,1)+ で480汎用 `.page-navi-bar a`(0,1,1)に勝つ。min-height・縦padding・色・hoverは不変。 */
@media (max-width: 480px) {
  .page-id-3141 .policy-navi {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .page-id-3141 .policy-navi .wp-block-group__inner-container {
    gap: 6px;
  }
  .page-id-3141 .policy-navi a {
    font-size: 0.75rem;
    padding: 0.4rem 0.5rem;
  }
}

/* === plan 1788743189866: 固定ページナビ自然3+2 (ID:9/11/13・<=480のみ・481+/PC/print不変) ===
   狙い: Part C (plan 1788711631174) の強制等分 flex:0 0 calc((100%-16px)/3) による全幅引き延ばしを撤去し、
   内容幅主義 (群内min-width＋中央寄せ) の自然wrap＋中央寄せで3+2に導く。
   下段2件は内容幅のまま中央コンパクト (stretched半分化なし・外枠中央＝justify-content:centerで保証)。
   手法: wrap＋center＋gap:8px (768 wrap則510/550/560と同値・高詳細度 body.page-id-* で汎用nowrapに勝つ)＋
   全対象aに flex:0 0 auto を明示 (stretch否定・内容幅宣言。width:100%・等分calc・flex:1は書かない)＋
   群内min-widthを601 gate起点で拡張 (box-sizing:border-box＋中央寄せ併記)。font/padding/min-height・シェブロン不変。
   詳細度はいずれも(0,2,1)以上で480汎用nowrap・768側wrap則に後勝ち (同ファイル末尾)。
   390例外 (ID:11の44px等) とは対象プロパティが異なり共存。/blog/・/policy/・グローバルナビに波及しない。
   ベースライン (Part C適用中・fonts.ready後): 360/390/480で3+2だが上段3幅が (inner幅-16)/3 と一致
   (例: 創作360 inner282.41→88.8×3・390 inner310.91→98.3×3・480 inner396.41→126.8×3＝引き延ばしの証拠)。
   除去直後の自然状態 (601 gate値＋gap8): 360/390は3+2・480は創作/世界観が4+1 (概要のみ3+2)・overflow0。
   幾何制約: 360内容282.4に対し480内容396.4 (差114)・4件目＋gapが約100-115のため、同一CSSで両端に
   大きな余裕を持たせることは不可 (総余裕＝L+g-114)。gap8のまま創作S80では整数解なし
   (L106は480で4+1・L107は360で2+2+1) のためS78 (-2・自然IT74/3D78.75に対し内容幅を維持) に微減し、
   創作/世界観L109 (+16)・概要L125 (+1・601 gate L124起点) とし、各幅で1px以上の余裕を確保:
   360第1行 創作/世界観281 (余裕1.4)・概要265 (余裕17.4)、480第1行4件398 (溢れ1.6で確実に折り返し)。
   側方余白の均衡 (2026-09-07目視監査): 601 gate帯は padding起点で S/L とも片側約10-12pxに揃うのが正本
   (policy-768はS68/M84で片側6.5px均一・blogは等幅・policy-390は自然幅で均一)。
   3+2を360と480の両方で単一CSSにより成立させるには L+g≧116 が必要で、L側の片側余白が
   S側より約6-7px広くなるのは幾何学的下限 (d＝L-S≧29.8・自然差17.5に対する超過の半分)。
   本値はその下限に最も近い整数 (創作/世界観L109・概要L125・いずれも余裕1.4px以上で丸め堅牢)。
   390は容器が大きく全て3+2。実測360/390/480×3頁すべて3+2・bar溢れ0・文書溢れ0・
   外枠中央一致 (flex centerのため左右外端の中点＝bar中心)・上段非等分 (幅がmin-width設計値と一致し
   (bar幅-2*gap)/3と一致しない) を確認。inner scrollWidthの+6-7はgap末尾加算の既知artifact
   (Part Cでも+6-7・bar/文書溢れ0・視覚のはみ出しなしのためE2Eはbounding rect＋文書溢れで判定)。 */
@media (max-width: 480px) {
  /* wrap＋中央＋横スクロール廃止＋gap:8px */
  body.page-id-9 .page-navi-bar .wp-block-group__inner-container {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    gap: 8px;
  }
  body.page-id-11 .page-navi-bar,
  body.page-id-13 .page-navi-bar {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    gap: 8px;
  }
  /* 内容幅宣言 (stretch否定) */
  body.page-id-9 .page-navi-bar a,
  body.page-id-11 .page-navi-bar a,
  body.page-id-13 .page-navi-bar a {
    flex: 0 0 auto;
  }
  /* 共通: 幅を付けた分は中央寄せ (601 gateと同値) */
  body.page-id-9 .page-navi-bar a[href^="#section-"],
  body.page-id-11 .page-navi-bar a[href^="#section-"],
  body.page-id-13 .page-navi-bar a[href^="#section-"] {
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }
  /* --- 創作紹介 (ID:9) 2段階 S78 / L109 (601 gate S80/L93起点の最小調整・群内統一維持) --- */
  body.page-id-9 .page-navi-bar a[href="#section-it"],
  body.page-id-9 .page-navi-bar a[href="#section-3d"],
  body.page-id-9 .page-navi-bar a[href="#section-game"] {
    min-width: 78px;
  }
  body.page-id-9 .page-navi-bar a[href="#section-view"],
  body.page-id-9 .page-navi-bar a[href="#section-read"] {
    min-width: 109px;
  }
  /* --- ソニリアと世界観 (ID:11) 2段階 S78 / L109 (601 gate S78/L93起点・S不変・L最小uplift) --- */
  body.page-id-11 .page-navi-bar a[href="#section-sekai"],
  body.page-id-11 .page-navi-bar a[href="#section-yogo"],
  body.page-id-11 .page-navi-bar a[href="#section-mapping"] {
    min-width: 78px;
  }
  body.page-id-11 .page-navi-bar a[href="#section-soniria"],
  body.page-id-11 .page-navi-bar a[href="#section-katsudo"] {
    min-width: 109px;
  }
  /* --- サイト概要 (ID:13) 3段階 S78 / M93 / L125 (601 gate S78/M93/L124起点・Lのみ+1) --- */
  body.page-id-13 .page-navi-bar a[href="#section-top"],
  body.page-id-13 .page-navi-bar a[href="#section-unneisha"] {
    min-width: 78px;
  }
  body.page-id-13 .page-navi-bar a[href="#section-seitai"],
  body.page-id-13 .page-navi-bar a[href="#section-policy"] {
    min-width: 93px;
  }
  body.page-id-13 .page-navi-bar a[href="#section-toiawase"] {
    min-width: 125px;
  }
}


