/* 768: Tablet/SP 共通上書き。768→480の順で後勝ち */
/* responsive isolation foundation */
/* moved from style.css:L225 [768] 834->768 */
@media (max-width: 768px) {

  body:not(.home) .header .header-in {
    min-height: 110px;
  }

  body.home .header .header-in {
    min-height: 120px;
  }

  .header-site-title {
    font-size: 1.4em;
  }

  .header-site-tagline {
    font-size: 0.8em;
  }

}

/* moved from style.css:L445 [768] 768->768 */
@media (max-width: 768px) {

  .creation-three-column {
    flex-direction: column;
    gap: 1em;
  }
  .creation-three-column > .wp-block-column {
    flex: 1 1 100%;
  }

}
/* plan 1788263980637 — Proposal A: ID:13 tablet compact 3-col (641-768: row keep, overridden at <=640 to column) */
@media (max-width: 768px) {
  .page-id-13 .creation-three-column {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
  }
  .page-id-13 .creation-three-column > .wp-block-column {
    flex: 1 1 calc(33.333% - 0.67rem) !important;
    max-width: calc(33.333% - 0.67rem) !important;
  }
}

/* moved from style.css:L977 [768] 768->768 */
@media (max-width: 768px) {

  .blog-filter-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .blog-filter-search {
    margin-left: 0;
    width: 100%;
  }
  .blog-page .blog-search-input {
    width: 100%;
  }

}

/* moved from style.css:L1022 [768] 768->768 */
@media (max-width: 768px) {

  .blog-section-desc-label {
    font-size: 0.9rem;
  }
  .blog-section-desc-body {
    font-size: 0.9rem;
  }

}

/* moved from style.css:L1326 [768] 768->768 — plan 1788259573121: tablet center fix (641-768) keep 3col centered — 1788260721630: add compact hide + grid-column 2 explicit — 1788261299039: H1 fix: count hidden must not affect grid (641 narrow); use balanced minmax(0,1fr) — 1788317427431: class-based + visibility hidden */
@media (min-width: 641px) and (max-width: 768px) {

  .blog-pagination-wrapper.has-pagination {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  }
  .blog-pagination {
    grid-column: 2 !important;
    justify-self: center !important;
  }
  .blog-pagination-count {
    visibility: hidden !important;
    min-width: 0 !important;
    pointer-events: none !important;
    display: block !important;
    /* keep 1fr occupied but invisible; override any display:none from earlier */
  }
  .blog-pagination-compact {
    display: none !important;
  }

}
@media (max-width: 640px) {
  .blog-pagination-count {
    display: none !important;
  }
}

/* 1788317427431: class-based display toggle (JS adds is-mobile/is-tablet) — inline !important廃止 */
.blog-pagination-wrapper.is-mobile.has-pagination {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
}
.blog-pagination-wrapper.is-mobile .blog-pagination {
  display: none !important;
}
.blog-pagination-wrapper.is-mobile .blog-pagination-compact {
  display: flex !important;
  grid-column: 1 / -1 !important;
  justify-self: center !important;
}
.blog-pagination-wrapper.is-tablet.has-pagination {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
}
.blog-pagination-wrapper.is-tablet .blog-pagination {
  display: flex !important;
  grid-column: 2 !important;
  justify-self: center !important;
}
.blog-pagination-wrapper.is-tablet .blog-pagination-compact {
  display: none !important;
}
.blog-pagination-wrapper.is-tablet .blog-pagination-count {
  visibility: hidden !important;
  min-width: 0 !important;
  pointer-events: none !important;
  display: block !important;
}
.blog-pagination-wrapper:not(.is-mobile):not(.is-tablet) .blog-pagination-compact {
  display: none !important;
}
.blog-pagination-wrapper:not(.is-mobile):not(.is-tablet) .blog-pagination {
  display: flex !important;
}
/* hidden section の pagination はモバイル(≤640)のみ非表示（H8対策） — Desktopでは hidden 属性が残存しても CSSで display:block されるため隠さない */
@media (max-width: 640px) {
  .blog-section[hidden] .blog-pagination-wrapper,
  .blog-section[hidden] .blog-pagination,
  .blog-section[hidden] .blog-pagination-compact,
  [hidden] .blog-pagination-compact {
    display: none !important;
  }
}

/* plan 1788184818804: deduped — blog-list/card 1列/2列切替は R2 (max-width:768 2col + max-width:640 1col) に統合。重複排除のため旧768 1colブロックは削除 */

/* moved from style.css:L1570 [768] 768->768 */
@media (max-width: 768px) {

  .blog-card-title {
    font-size: 1.15rem;
  }

}

/* 2026-08-31 rework 1788183871933: 上限定のためSPでは非表示 — 幅不足でレイアウト崩れ回避 */
@media (max-width: 768px) {

  .blog-card-top .top-card-aff--iconOnly {
    display: none !important;
  }

}

/* Phase6 (1788221641205) G: desktop 0.95remは style.css:1466-1495 が正。!important 有無で勝敗が変わるため削除しない */
/* moved from style.css:L1597 [768] 768->768 */
@media (max-width: 768px) {

  .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.9rem;
  }
  .platform-card-desc {
    font-size: 0.9rem !important;
  }

}

/* Phase6 (1788221641205) G: desktop 0.95remは style.css:1466-1495 が正。!important 有無で勝敗が変わるため削除しない */
/* moved from style.css:L1644 [768] 768->768 */
@media (max-width: 768px) {

  .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.9rem;
  }

}

/* moved from style.css:L1772 [768] 768->768 */
@media (max-width: 768px) {

  .creation-game-work .creation-two-column {
    flex-direction: column;
  }

  .creation-game-work .creation-column-image,
  .creation-game-work .creation-column-detail {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  .creation-game-work .creation-column-image img {
    max-height: 200px;
  }

}

/* moved from style.css:L1833 [768] 768->768 */
@media (max-width: 768px) {

  .contact-columns {
    flex-direction: column;
    gap: 1em;
  }

}

/* moved from style.css:L1945 [768] 768->768 */
@media (max-width: 768px) {

  .mapping-description-box {
    max-width: 100%;
    margin: 1em 0;
    padding: 1em;
  }

}

/* moved from style.css:L2002 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-13 .creation-three-column .creation-two-column {
    flex-direction: column;
  }

}

/* moved from style.css:L2009 [768] 768->768 */
@media (max-width: 768px) {

  html,
  body {
    overflow-x: hidden;
}

}

/* moved from style.css:L2042 [768] 768->768 */
@media (max-width: 768px) {

  .profile-inline {
    flex-direction: column;
    align-items: flex-start;
  }

}
/* plan 1788263980637 — Proposal A: ID:13 tablet profile-inline keep row at 768 (overridden at 640) */
@media (max-width: 768px) {
  .page-id-13 .creation-three-column .profile-inline {
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.7em !important;
  }
  .page-id-13 .creation-three-column .profile-image {
    width: 80px !important;
    flex: 0 0 80px !important;
  }
}

/* moved from style.css:L2064 [768] 768->768 */
@media (max-width: 768px) {

  .creation-primary-grid,
  .creation-knowledge-grid {
    grid-template-columns: 1fr;
  }

}

/* moved from style.css:L2173 [768] 768->768 */
@media (max-width: 768px) {

  .creation-sub-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

}

/* moved from style.css:L2249 [768] 768->768 */
@media (max-width: 768px) {

  #section-it .creation-sub-title,
  #section-3d .creation-sub-title {
    font-size: 1.05rem;
    padding: 0.45em 0.8em;
  }

}

/* moved from style.css:L2360 [768] 768->768 */
@media (max-width: 768px) {

  .creation-knowledge-grid {
    grid-template-columns: 1fr;
  }

}

/* fix: platforms 1-col mobile centered <768 (plan 1788237690171) */
@media (max-width: 767px) {

  .page-id-9 .platforms-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    justify-items: center !important;
  }
  /* 2026-09-03 plan 1788428842274: SP縦1列・中央寄せ維持。カード内はPC同様の中央2段＋nowrap解除で390px溢れ防止 */
  /* min-height/paddingは後段のcompact指定（max-width:768px・64px）が勝つためここでは触らない */
  .page-id-9 .creation-platforms-wrapper .platform-card {
    width: 100% !important;
    max-width: 380px !important;
    margin-inline: auto !important;
    justify-content: center !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .page-id-9 .platform-card-desc {
    white-space: normal !important;
    font-size: 0.85rem !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

}

/* moved from style.css:L2790 [768] 768->768 */
@media (max-width: 768px) {

  .creation-motion-card {
    flex-direction: column;
    gap: 1rem;
  }

  .creation-motion-card .creation-placeholder-primary {
    width: 100%;
    flex: none;
  }

  .creation-motion-block .creation-sub-grid {
    grid-template-columns: 1fr;
  }
  .creation-knowledge-block .creation-sub-card {
    grid-template-columns: 1fr;
  }

}

/* moved from style.css:L2867 [768] 768->768 */
@media (max-width: 768px) {

.creation-activity-inner {
  gap: 1rem;
  flex-direction: column;
}

  .creation-activity-media-link {
    width: 100%;
    flex: none;
  }

.creation-activity-media {
  aspect-ratio: 16 / 9;
  width: 100%;
  flex: none;
}

}

/* moved from style.css:L2979 [768] 768->768 */
@media (max-width: 768px) {

  .creation-activity-title-row {
    flex-wrap: wrap;
  }
  .creation-activity-btn {
    font-size: 0.8em;
    padding: 0.35em 0.7em;
  }

}

/* moved from style.css:L3040 [768] 768->768 */
@media (max-width: 768px) {

  .creation-knowledge-block .creation-sub-card .creation-external-icon {
    width: 22px;
    height: 22px;
    top: 6px;
    right: 6px;
    font-size: 0.7em;
  }

}

/* moved from style.css:L3103 [768] 768->768 */
@media (max-width: 768px) {

  .creation-knowledge-card .creation-placeholder-heading {
    font-size: 0.95rem;
    padding: 0.45em 0.8em;
  }

}

/* moved from style.css:L3201 [768] 768->768 */
@media (max-width: 768px) {

  #section-it .creation-sub-card:hover .creation-arrow,
  #section-3d .creation-sub-card:hover .creation-arrow {
    transform: translateX(3px);
  }
  #section-it .creation-sub-cta a,
  #section-3d .creation-sub-cta a {
    min-height: 30px;
    line-height: 30px;
  }
  #section-it .creation-sub-cta a:hover,
  #section-3d .creation-sub-cta a:hover {
    padding: 0 0.8em;
  }

}

/* moved from style.css:L3298 [768] 1024->768 */
@media (max-width: 1024px) and (min-width: 769px) {

  .page-id-9 .entry-content {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

}

/* moved from style.css:L3318 [768] 1024->768 */
@media (max-width: 1024px) and (min-width: 769px) {

  .page-id-9 .entry-content > .page-navi-bar {
    margin-bottom: 12px !important;
  }

}

/* moved from style.css:L3325 [768] 768->768 */
@media (max-width: 768px) {


  .page-id-9 .creation-split-layout {
    flex-direction: column;
    gap: 1rem;
  }

  /* ナビバー→見出し間: モバイル gap(16px) + margin-bottom(16px) = 32px */
  .page-id-9 .entry-content > .page-navi-bar {
    margin-bottom: 16px !important;
  }

}

/* moved from style.css:L3402 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 .creation-placeholder-overlay {
    padding: 0 !important;
  }
  .page-id-9 .creation-overlay-title {
    font-size: 0.95em;
  }
  .page-id-9 .creation-knowledge-wrapper,
  .page-id-9 .creation-platforms-wrapper {
    padding: 1rem;
  }

}

/* moved from style.css:L3493 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 .creation-platforms-wrapper .platform-card {
    min-height: 64px !important;
    padding: 0.9em 1em !important;
  }

}

/* moved from style.css:L4066 [768] 768->768 */
@media (max-width: 768px) {

  .go-to-top {
    right: 16px;
    bottom: 16px;
  }

}

/* moved from style.css:L4121 [768] 768->768 — plan 1788263980637: compact at 768, 100% moved to 640 */
@media (max-width: 768px) {

  .page-id-13 .creation-three-column .creation-column-item {
    flex: 1 1 calc(33.333% - 0.67rem) !important;
    max-width: calc(33.333% - 0.67rem) !important;
    flex-basis: auto !important;
    padding: 1rem !important;
  }

}

/* moved from style.css:L4188 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-13 .wp-block-buttons {
    flex-wrap: wrap;
  }

}

/* moved from style.css:L4258 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-13 .operator-profile-inline {
    gap: 1em;
    margin: 0.5em auto 0.7em auto;
  }
  .page-id-13 .operator-profile-image {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
  }

}

/* moved from style.css:L4325 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 .creation-it-block .creation-sub-grid,
  .page-id-9 .creation-3d-block .creation-sub-grid {
    grid-template-columns: 1fr;
  }

}

/* moved from style.css:L4509 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 .creation-card-view-all {
    align-self: flex-end;
  }
  .page-id-9 .creation-game-card .creation-game-card-title {
    padding: 0.5em 0.8em !important;
    overflow-wrap: break-word;
    word-break: break-word;
  }

}

/* moved from style.css:L4543 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 #section-motion .creation-placeholder-link {
    flex: 0 0 auto;
    width: 100%;
  }

}

/* moved from style.css:L4634 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 #section-knowledge .creation-knowledge-wrapper {
    margin: 0 !important;
    padding: 0 !important;
  }

}

/* moved from style.css:L4651 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-13 .creation-column-item::before {
    margin: -1.5rem -1.5rem 0.6rem -1.5rem !important;
    height: 4px !important;
  }

}

/* moved from style.css:L4739 [768] 768->768 */
@media (max-width: 768px) {

  body.page-id-9 #section-activity .creation-activity-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }
  body.page-id-9 #section-activity .creation-activity-media-link {
    flex: 0 0 auto !important;
    width: 100% !important;
  }
  body.page-id-9 #section-activity .creation-activity-text {
    min-height: auto !important;
  }

}

/* moved from style.css:L4782 [768] 768->768 */
@media (max-width: 768px) {

  /* モバイルも 16/9 を維持 */
  body.page-id-9 #section-knowledge .creation-knowledge-card .creation-placeholder-link,
  body.page-id-9 #section-knowledge .creation-knowledge-card .creation-placeholder-knowledge,
  body.page-id-9 #section-knowledge .creation-knowledge-card .creation-placeholder-materials,
  body.page-id-9 #section-knowledge .creation-knowledge-card .creation-placeholder-writing {
    aspect-ratio: 16 / 9 !important;
  }

}

/* moved from style.css:L4833 [768] 768->768 */
@media (max-width: 768px) {

  body.page-id-9 #section-knowledge {
    padding: 0.75rem !important;
    gap: 0.375rem !important;
  }
  body.page-id-9 #section-knowledge .creation-sub-grid {
    gap: 0.5rem !important; /* モバイルは 0.75rem -> 0.5rem */
  }
  body.page-id-9 #section-knowledge .creation-knowledge-card {
    padding: 0.625rem !important; /* モバイルはさらに 0.75rem -> 0.625rem で高密度化 */
  }

}

/* moved from style.css:L5264 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 .creation-game-desc-block {
    gap: 0.32em;
  }
  .page-id-9 .creation-game-catch {
    font-size: 0.9em;
  }
  .page-id-9 .creation-game-genre {
    font-size: 0.83em;
  }
  .page-id-9 .creation-game-link {
    font-size: 0.86em;
  }

}

/* moved from style.css:L5324 [768] 768->768 — plan 1788263980637: 768 compact flex 1 1 auto + center, 640 column flex-start is in 640 block */
@media (max-width: 768px) {

  .page-id-13 .creation-three-column .creation-column-item .profile-inline {
    flex: 1 1 auto !important;
    align-items: center !important;
  }

}

/* moved from style.css:L5405 [768] 960->768 */
@media (min-width: 769px) and (max-width: 960px) {

  .page-id-13 .creation-three-column {
    gap: 1rem !important;
  }
  .page-id-13 .creation-three-column .creation-column-item {
    padding: 1rem !important;
  }
  .page-id-13 .creation-three-column .profile-inline {
    gap: 0.7em !important;
  }

}

/* moved from style.css:L5418 [768] 768->768 — plan 1788263980637: 768 compact 1rem, 1.25rem moved to 640 */
@media (max-width: 768px) {

  .page-id-13 .creation-three-column .creation-column-item {
    padding: 1rem !important;
  }
}

/* moved from style.css:L5453 [768] 960->768 */
@media (min-width: 769px) and (max-width: 960px) {

  .page-id-13 .creation-three-column .creation-column-item::before {
    margin: -1rem -1rem 0.6rem -1rem !important;
  }

}

/* moved from style.css:L5458 [768] 768->768 — plan 1788263980637: 768 compact ::before -1rem, -1.25rem moved to 640 */
@media (max-width: 768px) {

  .page-id-13 .creation-two-column .creation-column-item::before {
    margin: -1.5rem -1.5rem 0.6rem -1.5rem !important;
  }
  .page-id-13 .creation-three-column .creation-column-item::before {
    margin: -1rem -1rem 0.6rem -1rem !important;
  }

}

/* moved from style.css:L5507 [768] 768->768 */
@media (max-width: 768px) {

  body.page-id-9 .article {
    margin-bottom: 0.25rem !important;
  }
  body.page-id-9 #breadcrumb.breadcrumb-page.pbp-main-bottom {
    margin-top: 8px !important;
  }
body.page-id-9 .entry-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem !important; /* 1rem → 1.5rem（+8px 補正） */
  padding-bottom: 0 !important;
}
  body.page-id-9 .creation-game-wrapper {
    margin-bottom: 0 !important;
  }

}

/* moved from style.css:L5966 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-9 #section-view .creation-view-inner,
  .page-id-9 #section-read .creation-read-inner {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .page-id-9 #section-view .creation-motion-card,
  .page-id-9 #section-read .creation-motion-card,
  .page-id-9 #section-view .creation-knowledge-card,
  .page-id-9 #section-read .creation-knowledge-card {
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 0.625rem !important;
  }
  .page-id-9 #section-view .creation-motion-card .creation-placeholder-link,
  .page-id-9 #section-read .creation-motion-card .creation-placeholder-link,
  .page-id-9 #section-view .creation-knowledge-card .creation-placeholder-link,
  .page-id-9 #section-read .creation-knowledge-card .creation-placeholder-link {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .page-id-9 #section-view .creation-motion-card .creation-motion-text,
  .page-id-9 #section-read .creation-motion-card .creation-motion-text,
  .page-id-9 #section-view .creation-knowledge-card .creation-knowledge-text,
  .page-id-9 #section-view .creation-knowledge-card .creation-motion-text,
  .page-id-9 #section-read .creation-knowledge-card .creation-knowledge-text,
  .page-id-9 #section-read .creation-knowledge-card .creation-motion-text {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

}

/* moved from style.css:L6614 [768] 768->768 */
@media (max-width: 768px) {

  .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.9rem;
  }
  .platform-card-desc,
  .page-id-9 .platform-card-desc {
    font-size: 0.9rem !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.9rem;
  }

}

/* moved from character-katsudo.css:L195 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .creation-katsudo-grid {
    grid-template-columns: 1fr;
  }
  .page-id-11 .creation-katsudo-panel {
    grid-template-columns: 1fr;
  }

}

/* moved from character-mapping.css:L87 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .character-placeholder-mapping {
    --mapping-ratio: 640 / 392;
    flex: none;
  }

}

/* moved from character-mapping.css:L152 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .creation-two-column > .character-mapping-media,
  .page-id-11 .creation-two-column > .character-mapping-text {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }

  .page-id-11 .character-mapping-text {
    align-items: stretch;
  }

}

/* moved from character-mapping.css:L234 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .character-mapping-media h3,
  .page-id-11 .character-mapping-text h3 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0.5em 0.8em !important;
  }

}

/* moved from character-mapping.css:L362 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .mapping-timeline-item {
    gap: 1.25rem;
  }

  .page-id-11 .mapping-timeline::before {
    left: calc(4.875rem - 1px);
  }

  .page-id-11 .mapping-timeline-item::before {
    left: calc(4.875rem - 5px);
    top: calc(0.78em - 5px);
  }

  .page-id-11 .mapping-timeline-date {
    flex: 0 0 4.25rem;
    max-width: 4.25rem;
    min-width: 4.25rem;
    font-size: 0.8em;
  }

  .page-id-11 .mapping-timeline-content {
    font-size: 0.92em;
  }

}

/* moved from character-mapping.css:L621 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .mapping-node-label {
    font-size: 15px;
  }
  .page-id-11 .mapping-layer-label {
    font-size: 13px;
  }
  .page-id-11 .mapping-arrow {
    stroke-width: 1.4;
  }
  .page-id-11 .mapping-arrow--central {
    stroke-width: 1.8;
  }

}

/* moved from character-navi.css:L34 [768] 768->768 — plan 1788581424643: 実測510pxに置換 (first-overflow 500 +10。511px以上は1行に収まるため2段化不要) */
@media (max-width: 510px) {

  .page-id-11 .page-navi-bar {
    flex-wrap: wrap;
    gap: 8px;
  }

}

/* moved from character-soniria.css:L198 [768] 768->768 */
@media (max-width: 768px) {

   .page-id-11 .creation-two-column > .character-soniria-media,
   .page-id-11 .creation-two-column > .character-soniria-text {
     flex: 0 0 100% !important;
     max-width: 100% !important;
     min-width: 0;
   }
   .page-id-11 .character-soniria-media {
     align-items: flex-start;
     height: auto;
   }
   .page-id-11 .character-soniria-likes {
     grid-template-columns: 1fr;
   }
 
}

/* moved from character-soniria.css:L228 [768] 768->768 */
/* plan 1788588779809: hero-title中央＋境界wrapのみ（途中改行事故の解消・481-768は1行中央） */
@media (max-width: 768px) {

  .page-id-11 .character-soniria-hero-title {
    white-space: normal;
    text-align: center;
    text-wrap: none;
    letter-spacing: -0.01em;
    padding: 0.5em 0.6em;
    overflow-wrap: break-word;
    word-break: keep-all;
    line-break: strict;
  }
  .page-id-11 .character-soniria-hero-phrase {
    display: inline-block;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
  }
  .page-id-11 .character-soniria-hero-sep {
    display: inline-block;
    width: 1px;
    height: 1em;
    vertical-align: middle;
    margin: 0 0.5em;
    background: linear-gradient(180deg, var(--color-fuji-mid, #7369A0) 0%, var(--color-sky, #8ED1E0) 100%);
    border-radius: 1px;
  }

}
/* plan 1788588779809: 481-768は100%幅を活かし1行中央（実測fit: 481で14px・600で18px・768でPC同等19.8px） */
@media (min-width: 481px) and (max-width: 768px) {
  .page-id-11 .character-soniria-hero-title {
    text-align: center;
    white-space: normal;
    text-wrap: none;
    font-size: clamp(0.78em, calc(-0.12em + 3.36vw), 1.1em);
    letter-spacing: -0.02em;
    padding: 0.5em 0.4em;
  }
  .page-id-11 .character-soniria-hero-sep {
    margin: 0 0.4em;
  }
}

/* moved from character-soniria.css:L274 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .character-placeholder-soniria {
    flex: none;
    height: auto;
    aspect-ratio: 16 / 9;
    background:
      linear-gradient(90deg, rgba(79,169,198,0.80) 0%, rgba(79,169,198,0) 16%, rgba(125,115,180,0) 84%, rgba(125,115,180,0.80) 100%),
      linear-gradient(rgba(255,255,255,0.20), rgba(255,255,255,0.20)),
      linear-gradient(135deg, #8ED1E0 0%, #BBB7DA 50%, #F3FAFD 100%);
  }
  .page-id-11 .character-soniria-img {
    aspect-ratio: 16 / 9;
    height: auto;
  }

}

/* moved from character-worldview.css:L152 [768] 768->768 */
@media (max-width: 768px) {

   .page-id-11 .creation-two-column > .character-worldview-media,
   .page-id-11 .creation-two-column > .character-worldview-text {
     flex: 0 0 100% !important;
     max-width: 100% !important;
     min-width: 0;
   }

   .page-id-11 .character-worldview-media {
     align-items: flex-start;
     height: auto;
   }
}

/* moved from character-worldview.css:L152 [768] 1024->768 */
@media (max-width: 1024px) {

   .page-id-11 .character-concept-lead h3 {
     font-size: 1.3em;
   }
 
}

/* moved from character-worldview.css:L187 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .character-placeholder-worldview {
    aspect-ratio: 16 / 9;
    flex: none;
    height: auto;
  }
  .page-id-11 .character-worldview-img {
    aspect-ratio: 16 / 9;
    height: auto;
  }

}

/* moved from character-yogo.css:L49 [768] 768->768 */
@media (max-width: 768px) {

  .page-id-11 .character-yogo-cards {
    grid-template-columns: 1fr;
  }

}

/* moved from front-page-inline.css:L156 [768] 768->768 */
@media (max-width: 768px) {

  .top-page .top-content {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
  .top-page .top-content-left,
  .top-page .top-content-right {
    padding: 0;
  }
  .top-page .top-soniria-worldview-frame {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .top-page .top-cards-activity-frame {
    grid-template-columns: 1fr;
    gap: 1.25em 0;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }

}

/* moved from front-page-inline.css:L238 [768] 768->768 */
@media (max-width: 768px) {

  .top-page .top-hero,
  .top-page .top-quicklinks {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-right: -16px;
  }

}

/* moved from global-navi-gradient.css:L13 [768] 1256->768 */
@media (max-width: 1256px) {

  #navi,
  #footer {
    background: var(--color-fuji-mid, #7369A0) !important;
    background-image: none !important;
  }

}

/* moved from page-policy.css:L38 [768] 1200->768 */
@media (max-width: 1200px) {

  .page-id-3141 .entry-content {
    padding-left: 1em;
    padding-right: 1em;
  }

}

/* moved from section-activity.css:L131 [768] 768->768 — SPもPCと同様1行ellipsis */
@media (max-width: 768px) {

  .top-activity-item {
    flex-wrap: nowrap;
    gap: 0.5em;
  }
  
  .top-activity-source {
    font-size: 0.8em;
  }
  
  .top-activity-date {
    font-size: 0.75em;
  }
  
  .top-activity-text {
    font-size: 0.9em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
  }

}

/* moved from section-blog.css:L155 [768] 768->768 */
@media (max-width: 768px) {

  .top-blog {
    padding: 1.5em 1em;
  }

  .top-blog-grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }

  .top-blog-card {
    padding: 1.2em;
  }

  .top-blog-card-icon {
    font-size: 1.5em;
  }

}

/* moved from section-cards.css:L101 [768] 768->768 — plan 1788234785602: 32→29px + グラデ + フルハイト + border廃止 — plan 1788232372710 帯29px + 垂直中央 + 右padding 0 */
@media (max-width: 768px) {

  .top-cards-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.8em;
  }
  
  .top-card {
    position: relative;
    padding: 0.8em 0 0.8em 1em;
    gap: 0.6em;
    grid-template-columns: 1fr 29px;
    column-gap: 0;
    align-content: center;
    overflow: hidden;
  }

  .top-card-head { padding-right: 0.6em; }
  .top-card-desc { padding-right: 0.6em; }

  .top-card-icon {
    font-size: 1.5em;
  }

  .top-card .top-card-aff--iconOnly{
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    width: 29px; min-width: 29px; max-width: 29px;
    /* 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;
    margin: 0;
    display: flex; align-items: center; justify-content: center; padding: 0;
  }

}
/* moved from section-cards.css:TB-head [768] 縦積み再構 — PC縦積みをタブレットで微調整 — 正: activity 高に追従 + Grid案A対応 — ヘッダ中央 + 説明中央 — plan 1788234785602: 32→29px + グラデ + 3px inset + border廃止 — plan 1788232372710 帯29px + 垂直中央 — plan 1788234295409: breathing 0.6em */
@media (max-width: 768px) {
  .top-cards-grid { gap: 0.7em; grid-auto-rows: 1fr; }
  .top-card { padding: 0.8em 0 0.8em 0.9em; gap: 0.3em; min-height: 64px; column-gap: 0; row-gap: 0.3em; grid-template-columns: 1fr 29px; align-content: center; place-content: center; overflow: hidden; position: relative; }
  .top-card-head { justify-content: center; padding-right: 0.6em; }
  .top-card-icon { font-size: clamp(1.15rem, 3.2vw, 1.4rem); flex-basis: clamp(26px, 7vw, 32px); width: clamp(26px, 7vw, 32px); height: clamp(26px, 7vw, 32px); }
  .top-card-title { font-size: 0.95em; }
  .top-card-desc  { font-size: 0.80em; -webkit-line-clamp: 2; min-height: calc(0.80em * 1.4 * 2); padding-right: 0.6em; text-align: center; }
  .top-card .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 29px; min-width: 29px; max-width: 29px; 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; }
}
/* moved from section-cards.css:TB-compact [1024->768 exception] 769-1024 中間帯頑健化（本計画例外） */
/* 1024->768 exception: 中間帯頑健化（本計画） — 正: activity 高に追従 — 下端同期強化 + ヘッダ中央 — Grid案A対応 — plan 1788232372710 帯29px + 垂直中央 */
@media (min-width: 769px) and (max-width: 1024px) {
  .top-page .top-content-left,
  .top-page .top-content-right { height: 100%; min-height: 0; } /* gridセルstretchを孫まで伝播 */
  .top-page .top-cards { height: 100%; min-height: 0; display: flex; flex-direction: column; }
  .top-page .top-cards-grid { flex: 1; min-height: 0; gap: 0.8em; grid-auto-rows: 1fr; } /* 0.7->0.8に同期 */
  .top-card { position: relative; padding: 0.75em 0 0.75em 0.9em; gap: 0.32em; min-height: 64px; height: auto; column-gap: 0; row-gap: 0.32em; grid-template-columns: 1fr 29px; align-content: center; place-content: center; overflow: hidden; }
  .top-card-head { justify-content: center; padding-right: 0.6em; }
  .top-card-icon { font-size: clamp(1.2rem, 1.8vw, 1.5rem); flex-basis: clamp(28px, 3vw, 34px); width: clamp(28px, 3vw, 34px); height: clamp(28px, 3vw, 34px); }
  .top-card-desc  { font-size: 0.78em; line-height: 1.4; -webkit-line-clamp: 2; min-height: calc(0.78em * 1.4 * 2); padding-right: 0.6em; text-align: center; }
  .top-page .top-activity { height: auto; min-height: 0; display: block; }
  .top-page .top-activity-list { flex: none; gap: 0.8em; margin-bottom: 0; }
  .top-card .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 29px; min-width: 29px; max-width: 29px; 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; }
}
/* === top-cards responsive optimize plan 1788260415453 — 641-1024: full-width 4-col (PC>1024不変) === */
@media (min-width: 641px) and (max-width: 1024px) {
  .top-page .top-cards-activity-frame{ grid-template-columns:1fr !important; gap:1.2em !important; }
  .top-page .top-cards-grid{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:0.65em !important; grid-auto-rows:1fr !important; }
  .top-card{ min-height:58px !important; padding:0.7em 0 0.7em 0.9em !important; }
  .top-card-desc{ 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-cards responsive optimize plan 1788260415453 — ≤640: 2-col (480後勝ち前提) === */
@media (max-width: 640px) {
  .top-cards-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0.6em !important; }
  .top-card{ min-height:58px !important; }
  .top-card-desc{ 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; }
}

/* fix: platforms 3-col tablet incl. 768 (plan 1788237690171) */
/* scope: .page-id-9 only — 768-1024 equal 1fr, nowrap 1-line, tight gap/padding for 768 overflow fix */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-9 .platforms-grid {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0.65rem !important;
  }
  .page-id-9 .creation-platforms-wrapper .platform-card {
    padding: 0.85em 0.9em !important;
    gap: 0.45em !important;
  }
  .page-id-9 .platform-card-name {
    font-size: 0.92em !important;
  }
  .page-id-9 .platform-card-desc {
    white-space: normal !important;
    font-size: 0.85rem !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}

/* 2026-09-03 plan 1788428842274: タブレット3列は中央2段のまま（nowrap解除で行溢れ防止。詰めpadding/gapは維持） */

/* moved from section-creation.css:L101 [768] 768->768 */
@media (max-width: 768px) {

  .top-creation-card-desc {
    font-size: 0.9rem;
  }

}

/* moved from section-creation.css:L124 [768] 768->768 */
@media (max-width: 768px) {

  .top-creation-grid {
    grid-template-columns: 1fr;
  }

  .top-creation-card {
    padding: 1.2rem;
    min-height: auto;
  }

}

/* moved from section-hero.css:L28 [768] 768->768 */
/* plan 1788441962562 §3.3: 768はY下端への弱い寄せ（上限alpha 0.10）。黒暗幕禁止・淡藤tint維持 */
/* plan 1788520819413 §2.1: 下面フルブリード藤スクリムへ差し替え（Xマスク・中央パッチ禁止、上限alpha 0.17、Y分離で顔クリア） */
/* plan 1788521050675 §2.2: タイトル/サブ重なり可読性のみ強化（藤系幕＋影、黒禁止・上限0.28・透明域38〜45%で顔クリア・サイズ/配置不変） */
@media (max-width: 768px) {

  .top-hero::before {
    background: linear-gradient(180deg, transparent 42%, rgba(95,86,142,0.10) 68%, rgba(95,86,142,0.24) 100%);
  }

}

/* moved from section-hero.css:L94 [768] 768->768 */
@media (max-width: 768px) {

  .top-hero.loaded .top-hero-slice { animation-duration: 0.65s; }

}

/* moved from section-hero.css:L154 [768] 768->768 */
@media (max-width: 768px) {

  /* モバイル版: 移動量・回転を縮小した同構造（easing・duration・delayはPCルールを継承） */
  @keyframes heroCharacterRevealMobile {
    0% {
      opacity: 0;
      transform: translateX(26px) scale(1.02) rotate(-1.2deg);
      filter: blur(0.8px) brightness(0.99);
      animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    }
    55% {
      transform: translateX(-5px) scale(1) rotate(0.3deg);
      animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
    }
    100% {
      opacity: 1;
      transform: translateX(0) scale(1) rotate(0deg);
      filter: blur(0) brightness(1);
    }
  }

  .top-hero .top-hero-overlay {
    transform: translateX(26px) scale(1.02) rotate(-1.2deg);
    filter: blur(0.8px) brightness(0.99);
    transform-origin: 100% 100%;
  }

  .top-hero.loaded .top-hero-overlay {
    animation-name: heroCharacterRevealMobile;
  }

}

/* moved from section-hero.css:L228 [768] 768->768 */
/* plan 1788441962562 §3.1: タブレットはPC系譜維持＋X左半分へ。Y中央維持・display:block維持・フォント不変 */
/* plan 1788520819413 §2.1: 下中央化＋高さ維持（80vh/min500px維持、align:flex-end・justify:center）。従来X左を後勝ちリセット */
@media (max-width: 768px) {

  .top-hero {
    align-items: flex-end;
    justify-content: center;
  }

  .top-hero-content {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    /* 2026-09-05 Y縦リズム: 下pad 4rem(64px)→3.5rem(56px)へ（底重心の緩和・スクロールcueとの衝突回避維持。PC不変） */
    padding: 1.5rem 1.5rem 3.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

}

/* moved from section-hero.css:L373 [768] 768->768 */
/* plan 1788520819413 §2.1: 下中央・rowボタン・nowrapタイトル・下面フルブリード藤スクリム・キャラY上端（高さ80vh/min500px維持） */
/* plan 1788521050675 §2.2: タイトル/サブのみ藤系shadow強化（色#fff・サイズ/改行/配置不変、黒系禁止） */
/* plan 1788524900000 §2.1-2.2: ヒーローすりガラス帯（タイトルY以下・全幅一律・SP/タブレットのみ・::after下端46%・顔クリア） */
@media (max-width: 768px) {

  .top-hero {
    height: 88vh;
    min-height: 550px;
    aspect-ratio: auto;
    align-items: flex-end;
    justify-content: center;
  }

  /* すりガラス帯: タイトルY以下を左端〜右端一律に均しつつ透かす（裏完全隠し・黒/白ベタ・枠線・カード化禁止）。z-index 3はキャラoverlay(3)と同値だが::afterが後に描画されるためキャラ上・コンテンツ(4)下。顔(Y上端側)は透明域でクリア維持 */
  /* 2026-09-04 微調整: 文字より上は透過グラデで絞る（上端42%化＋上部0-18%完全透明＋68pxマスクフェードで上の広がりを削減しつつタイトル位置で実質がかかる） */
  /* 2026-09-04 タブレット専用微調整: タイトル上の不要な帯を残さない（39%化で帯上端≒タイトル上18px・上部0-12%完全透明＋32pxマスクで上へグラデーション消失・硬線なし。モバイル480は42%維持） */
  /* 2026-09-04 タブレット専用追補: タイトル上をさらに最小化（37.5%化で帯上端≒タイトル上9px・上部0-10%透明＋28pxマスクで上へだんだん消失・タイトル自体の下地は維持。モバイル480は42%維持） */
  /* plan 1788527100000 §2.1-2.2: タブレットのみ帯上端をタイトル上ぎりぎりへ（37%化で帯上端≒タイトル上6px・上部0-8%透明＋24pxマスクで上へグラデ消失・硬線なし。モバイル480は42%維持） */
  /* plan 1788574877460 §D1-D2: タブレットのみ帯15%縮小（37%→31.45%）＋境界フェード強化（mask 24px→48px・背景透明域0-8%→0-16%/中間36%→45%。モバイル480・PC不変） */
  /* 2026-09-05 タブレットのみ文字拡大に追従し帯をY方向へ1.5%拡大（31.45%→32.95%・上へ1.5%広げる。モバイル480・PC不変） */
  .top-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 32.95%;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(95,86,142,0) 0%, rgba(95,86,142,0) 16%, rgba(95,86,142,0.20) 45%, 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 48px);
    mask-image: linear-gradient(180deg, transparent 0, black 48px);
  }

  /* キャラ窓：contain維持（cover禁止）＋X右維持・Y上端側へ（right 20%=Y20%上寄せ起点、10〜30%で目視調整可）。中央・左寄せ化しない。plan:1788575641263 overlayラッパーではなくimg側にtranslateXでXシフト（WAAPI競合回避）。2026-09-05 タブレットは-5%左へ（-10%から5%右戻し） */
  .top-hero-overlay-img {
    object-fit: contain;
    object-position: right 20%;
    transform: translateX(-5%);
  }

  .top-hero-title {
    font-size: 2.2em;
    white-space: nowrap;
    /* 2026-09-05 画像上白文字の可読性強化（MDN複数shadow前→後・映像字幕ベストプラクティス: 緊密コア+中間ソフト+広域アンビエントの4層。純黒ではなく藤系濃紺で黒禁止則に適合。PC不変。2026-09-05 濃すぎ指摘でalpha軽減） */
    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.5em≒20px維持（PC継承を明示・8px grid適合。PC不変） */
    margin-bottom: 0.5em;
  }

  .top-hero-subtitle {
    font-size: 1.15em;
    text-align: center;
    text-wrap: balance;
    /* 2026-09-05 同上・サブは一段淡く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(41px)→1.4em(≒29px)へ締め（近接性: 関連テキスト群—CTAを結合。PC 2em不変） */
    margin-bottom: 1.4em;
  }

  .top-hero-buttons {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
  }

  .top-hero-btn {
    flex: 0 1 200px;
    min-width: 0;
    width: auto;
    max-width: 220px;
    min-height: 44px;
    white-space: nowrap;
    padding: 0.85em 1em;
    font-size: 1rem;
    text-align: center;
  }

  /* scroll誘導：ボタン下中央化との重なり回避で下げ＋小型化。非表示化しない */
  .top-hero-scroll {
    bottom: 0.9rem;
  }

  .top-hero-scroll-icon {
    font-size: 1.2em;
  }

}

/* moved from section-hero.css:L572 [768] 768->768 */
@media (max-width: 768px) {

  .top-hero .top-hero-title,
  .top-hero .top-hero-subtitle,
  .top-hero .top-hero-buttons {
    transform: translateX(12px) rotate(-0.5deg) scale(0.96);
  }

}

/* moved from section-hero.css:L625 [768] 768->768 */
@media (max-width:768px) {

  /* 2026-09-05 コンパス縮小＋左寄せ（cover centerでは縦長boxで左右が大きくcropされ情報の薄い中央〜右空域のみ表示＋巨大化。キャラ寸法に合わせscale縮小・左情報部をobject-positionで選択・ガラス帯blurで消える下端を避け中央へanchor。img側transformはreveal animation(ラッパー側)のため競合なし。PC不変。※後段blockのopacity:0.54がカスケード後勝ちで優先） */
  .top-hero-compass-img{ opacity:0.62; object-position:20% 50%; transform:scale(0.80); transform-origin:25% 50%;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 100%);
    mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 100%); }

}

/* moved from section-hero.css:L635 [768] 768->768 */
@media (max-width: 768px) {

    .top-hero-compass-img { opacity: 0.54; }
  
}

/* moved from section-hero.css:L653 [768] 768->768 */
@media (max-width:768px) {

  @keyframes heroCompassRevealMobile{
    from{ opacity:0; transform:scale(1.04) rotate(-2.5deg); filter:blur(2px); }
    to  { opacity:0.62; transform:scale(1) rotate(0deg); filter:blur(0) brightness(1.06) contrast(1.14); }
  }
  .top-hero.loaded .top-hero-compass{ animation-name:heroCompassRevealMobile; animation-duration:0.60s; }

}

/* moved from section-hero.css:L700 [768] 768->768 */
@media (max-width: 768px) {

  .top-hero.waapi.loaded .top-hero-title,
  .top-hero.waapi.loaded .top-hero-subtitle,
  .top-hero.waapi.loaded .top-hero-buttons {
    transform: translateX(12px) rotate(-0.5deg) scale(0.96);
  }

}

/* moved from section-index.css:L87 [768] 768->768 */
/* plan 1788622559107:481-768のみ新様式。<=480は旧値フォールバックでモバイル差分ゼロを保証（responsive-480.css無改変）。背景不変 */
@media (max-width: 768px) {
  .top-page .top-section-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: normal;
    gap: 8px;
    padding: 8px 12px 10px;
  }
  .top-page .top-section-index .top-index-chip {
    width: 100%;
    flex: none;
    min-width: 0;
    max-width: none;
    min-height: 48px;
    padding: 10px 10px;
    font-size: 13px;
  }
}

/* plan 1788622559107: タブレット481-768は3x2維持・中央寄せ・自然幅（1fr引き伸ばし廃止）。grid repeat(3,auto)採用＝flex替代案（プラン許容）で4+2崩れを防止。容器padding現行維持 */
/* 2026-09-06: (1) 文字13→14pxへ底上げ（兄弟quicklinks約13.6-14px・PC15pxとの整合。実幅<min140のため3x2維持に影響なし）。(2) 行gap 12→8pxに圧縮し縦の冗長を解消（列gap12維持・padding不変） */
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-section-index {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: center;
    justify-items: stretch;
    align-items: stretch;
    gap: 8px 12px;
    padding: 8px 12px 10px;
  }
  .top-page .top-section-index .top-index-chip {
    width: auto;
    flex: 0 1 auto;
    min-width: 140px;
    max-width: 240px;
    min-height: 48px;
    padding: 10px 10px;
    font-size: 14px;
  }
}

/* plan 1788622559107: 狭めPC帯769-950は1行維持が絶対条件。gap縮小＋min緩和＋padding縮小＋13pxで収める。下限フロアMOBILE_MIN=105.3px実測→ceil106px（390px client・2026-09-06）を死守し、それを下回る縮小は禁止 */
@media (min-width: 769px) and (max-width: 950px) {
  .top-page .top-section-index {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    gap: 8px;
  }
  .top-page .top-section-index .top-index-chip {
    width: auto;
    flex: 0 1 auto;
    flex-shrink: 1;
    min-width: 106px;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-height: 48px;
    padding: 10px 12px;
    /* 2026-09-06: 13→14pxへ底上げ（タブレット14px・PC15pxとの整合。実幅<min106のため1行維持に影響なし） */
    font-size: 14px;
  }
}

/* moved from section-meta.css:L130 [768] 768->768 */
@media (max-width: 768px) {

  .top-meta {
    padding: 1.5em 1em;
  }

  .top-meta-grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }

  .top-meta-lead {
    width: 100%;
    margin-inline: auto;
  }

  .top-meta-item {
    padding: 1.2em;
  }

}

/* moved from section-quicklinks.css:L44 [768] 768->768 */
@media (max-width: 768px) {

  .top-quicklinks {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    padding: 0.8rem 1rem;
  }

  .top-quicklinks-item {
    text-align: center;
    padding: 0.6em 1em;
  }

}

/* moved from section-soniria.css:L209 [768] 768->768 */
@media (max-width: 768px) {

  .top-soniria-worldview-frame {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "soniria"
      "worldview"
      "about";
    gap: 1.5rem 0;
    padding: 1.25rem 1.5rem;
  }

  .top-soniria {
    padding: 1.2em 1.5em;
  }

  .top-soniria-worldview-about {
    margin-top: 0;
  }

}

/* moved from section-worldview.css:L83 [768] 768->768 */
@media (max-width: 768px) {

  .top-worldview {
    padding: 1.2em 1.5em;
  }

}

/* moved from id41_remaining.css:L34 [768] 768->768 */
@media (max-width: 768px) {

  /* fixed-gutter 2026-09-03: 左右対称統一 (PC不変・768内のみ)
     根本原因: style.css body.page #main width:100%!important が width:95%(no !important) を上書き + #main margin:2.5%残存で105%右溢れ (Tablet 19.2/-19.2, Mobile 9.8/-9.7) */
  body.page-id-3141 #main,
body.page-id-11 #main,
  body.page-id-13 #main,
  body.page-id-9 #main {
    width: 95% !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  body.page-id-9 #content, body.page-id-11 #content,
  body.page-id-13 #content, body.page-id-3141 #content,
  body.page-id-9 .entry-content, body.page-id-11 .entry-content,
  body.page-id-13 .entry-content, body.page-id-3141 .entry-content {
    box-sizing: border-box !important;
  }

}

/* moved from id41_remaining.css:L234 [768] 768->768 */
@media (max-width: 768px) {

  .header {
    margin: 0px;
  }
  #main {
    margin-left: 2.5%;
    margin-right: 2.5%;
  }
  .content {
    margin-top: 20px;
  }

}

/* moved from id41_remaining.css:L343 [768] 768->768 */
@media (max-width: 768px) {

  .top-content {
    flex-direction: column;
    gap: 1em;
  }

}

/* plan 1788187598526: ID:13 藤色3ボタン SP折返し + 運営者ラッパー幅調整 */
@media (max-width: 768px) {

  .page-id-13 .social-operator-buttons .wp-block-button__link,
  .page-id-13 .social-notion-buttons .wp-block-button__link {
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 45% !important;
  }

  .page-id-13 .operator-card-body {
    max-width: 100% !important;
  }

  .page-id-13 .operator-card-body .social-operator-buttons,
  .page-id-13 .operator-card-body .social-notion-buttons {
    flex-wrap: wrap;
  }

}

/* 768px以下縦積み時は縦中央をリセット */
@media (max-width: 768px) {
  .page-id-13 .creation-two-column > .wp-block-column:nth-child(1) .operator-profile-inline {
    flex: 0 0 auto !important;
    align-self: auto !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0.6em auto 0.8em auto !important;
    min-height: 0 !important;
  }
}

/* === blog responsive refresh: PC wrapper transparent === */
.blog-filter-scroll {
  display: contents;
}

/* === blog responsive refresh — Phase 1: nav bar + pagination overflow fix (B4/B5) === */
@media (max-width: 768px) {
  /* B5: 768でも横スクロールを付与（480のみだったのを768へ拡張） */
  .page-navi-bar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
  }
  .page-navi-bar::-webkit-scrollbar {
    display: none;
  }
  .page-navi-bar a {
    flex: 0 0 auto;
  }
}

/* === blog responsive refresh — Phase 3: filter toolbar scroll + 44px (B2/B3) === */
@media (max-width: 768px) {
  .blog-filter-scroll {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
    scroll-snap-type: x proximity;
  }
  .blog-filter-scroll::-webkit-scrollbar {
    display: none;
  }
  .blog-filter-year {
    flex-wrap: nowrap !important;
    gap: 0.4em;
  }
  .blog-filter-year .blog-filter-btn {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.45em 0.9em;
    font-size: 0.9rem;
  }
  .blog-filter-expand {
    display: none !important;
  }
  .blog-filter-extra {
    display: inline-flex !important;
    gap: 0.4em;
    flex-wrap: nowrap !important;
  }
  .blog-filter-search {
    width: 100% !important;
    margin-left: 0 !important;
  }
  .blog-page .blog-search-wrapper {
    width: 100%;
  }
  .blog-page .blog-search-input,
  .blog-page .blog-search-submit {
    height: 44px !important;
    min-height: 44px !important;
  }
  .blog-page .blog-search-input {
    width: 100% !important;
    max-width: none !important;
    font-size: 0.9rem;
  }
}

/* === blog responsive refresh — Phase 4: focus/hover/motion === */
@media (max-width: 768px) {
  .blog-card:focus-visible {
    outline: 2px solid var(--color-fuji-deep, #5F568E);
    outline-offset: 2px;
  }
  .blog-filter-btn:focus-visible,
  .blog-search-input:focus-visible {
    outline: 2px solid var(--color-fuji-mid, #7369A0);
    outline-offset: 2px;
  }
}
/* plan 1788441452706: 白カードhover統一トークンA */
@media (hover: hover) {
  .blog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(31, 32, 65, 0.12);
    border-color: var(--color-border, #DCE6EE);
  }
  .blog-card:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(31, 32, 65, 0.10);
  }
}
@media (hover: none) {
  .blog-card:hover {
    transform: none;
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .blog-card,
  .blog-filter-btn {
    transition: none !important;
    transform: none !important;
  }
}

/* === blog responsive refresh — Phase 5: 641-1024 intermediate (B7) — deduped into R6 (641-1024) === */
/* gutter fix 2026-09-02: padding delegated to R1 (95% #main + 0 inner) — avoid double-gutter */
@media (min-width: 641px) and (max-width: 1024px) {
  .blog-page .blog-page-inner {
    padding: 0 !important;
  }
  .blog-list {
    gap: 1rem;
  }
  .blog-card-top {
    gap: 0.8em;
  }
}

/* === blog responsive redo R1: #main gutter fix (2026-09-02): 95% centered like page-creation, inner padding 0 to avoid double-gutter === */
@media (max-width: 768px) {
  body.blog-page #main,
  body.blog-page .main { margin-left: auto !important; margin-right: auto !important; width: 95% !important; max-width: 1160px !important; box-sizing: border-box !important; }
  body.blog-page #content,
  body.blog-page .content { margin-left: 0 !important; margin-right: 0 !important; }
  .blog-page .blog-page-inner { box-sizing: border-box; padding-left: 0 !important; padding-right: 0 !important; width: 100% !important; max-width: 1160px !important; }
  .blog-page-title { box-sizing: border-box; }
  .page-navi-bar {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; flex-wrap: nowrap;
    mask-image: linear-gradient(90deg, transparent 0, black 16px, black calc(100% - 16px), transparent 100%);
  }
  .page-navi-bar::-webkit-scrollbar{display:none}
  .page-navi-bar a{flex:0 0 auto}
}

/* === blog responsive redo R2: Tablet 2col maintain + row card (Q1+Q2) === */
@media (max-width: 768px) {
  .blog-list{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important; grid-auto-rows: auto !important;
    height: auto !important; min-height: 0 !important;
    gap: clamp(0.6rem, 1.8vw, 1.2rem) !important; align-items: start !important;
  }
  .blog-card{ height: auto !important; min-height: 0 !important; max-height: none !important; }
  .blog-card-bottom, .blog-card-excerpt{display:none !important}
  .blog-card-title{min-height:0 !important}
  .blog-card-top{
    flex-direction: row !important; align-items: center !important;
    gap: 0.8em !important; padding: 0.9em !important; padding-right: 1.6em !important;
  }
  .blog-card-thumb{
    flex: 0 0 30% !important; width: 30% !important; max-width: 30% !important;
    aspect-ratio: 16 / 9 !important; align-self: center !important;
  }
  .blog-card-title-area{ flex: 1 1 0% !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
  .blog-card-top .top-card-aff--iconOnly{display:none !important}
}
@media (max-width: 640px){
  .blog-list{ grid-template-columns: 1fr !important; gap: clamp(0.6rem,2.2vw,1rem) !important; }
  .blog-card-top{
    flex-direction: column !important; align-items: stretch !important;
    gap: 0.7em !important; padding: 0.8em !important;
  }
  .blog-card-thumb{
    flex: none !important; width: 100% !important; max-width: 100% !important;
    aspect-ratio: 16 / 9 !important; height: auto !important; max-height: none !important; overflow: hidden !important; display: block !important;
  }
  .blog-card-thumb img{ width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important; }
  .blog-card-title-area{ flex: none !important; width: 100% !important; max-width: 100% !important; }
}

/* === blog responsive redo R3: filter scroll mask + 44px + Q4 B 640 hide === */
@media (max-width: 768px){
  .blog-filter-scroll{
    display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; -ms-overflow-style: none; width: 100%;
    scroll-snap-type: x proximity;
    mask-image: linear-gradient(90deg, transparent 0, black 16px, black calc(100% - 16px), transparent 100%);
  }
  .blog-filter-scroll::-webkit-scrollbar{display:none}
  .blog-filter-year{ flex-wrap: nowrap !important; gap: 0.4em; }
  .blog-filter-year .blog-filter-btn{
    flex: 0 0 auto; scroll-snap-align: start;
    min-height: 44px !important; min-width: 44px !important;
    padding: 0.45em 0.9em; font-size: 0.9rem;
  }
  .blog-filter-expand{display:none !important}
  .blog-filter-extra{ display:inline-flex !important; gap:0.4em; flex-wrap: nowrap !important; }
  .blog-filter-search{ width: 100% !important; margin-left: 0 !important; }
  .blog-page .blog-search-wrapper{ width: 100%; }
  .blog-page .blog-search-input,
  .blog-page .blog-search-submit{ height:44px !important; min-height:44px !important; }
  .blog-page .blog-search-input{ width:100% !important; max-width:none !important; font-size:0.9rem; }
}
@media (max-width: 640px){
  .blog-filter-year{ display: none !important; }
}

/* === blog responsive redo R4: tab switching (Q3) — 640 threshold === */
@media (min-width: 641px){
  .blog-section[hidden]{ display: block !important; }
  .blog-section{ display: block !important; }
}
@media (max-width: 640px){
  .blog-section{ display: none !important; }
  .blog-section.is-active{ display: block !important; }
  .blog-section[hidden]{ display: none !important; }
  /* タブ方式時(≤640px)のみ活動記上・自由帳上の仕切り線を非表示 — PC(≥641px)不変 */
  .blog-page .blog-page-inner > hr.wp-block-separator{
    display: none !important;
  }
  .page-navi-bar [role="tab"][aria-selected="true"]{
    background-color: var(--color-fuji-mid, #7369A0); color:#fff; border-color: var(--color-fuji-mid);
  }
}

/* === blog responsive redo R4b: mobile tab visual (640 only) + reset (641+) === */
@media (max-width: 640px){
  .blog-page .page-navi-bar{
    border-bottom: 2px solid var(--color-border, #DCE6EE);
    gap: 0 !important;
    background: var(--color-bg-fuji, #F6F3FB);
    border-radius: 8px 8px 0 0;
    overflow-x: auto;
    padding-bottom: 0;
  }
  .blog-page .page-navi-bar a[role="tab"]{
    border-radius: 8px 8px 0 0 !important;
    border-bottom: none !important;
    background: #fff;
    opacity: 0.9;
    flex: 1 1 0;
    justify-content: center;
  }
  .blog-page .page-navi-bar a[role="tab"][aria-selected="true"]{
    background: var(--color-fuji-mid, #7369A0) !important;
    color: #fff !important;
    border-top: 2px solid var(--color-fuji-mid, #7369A0) !important;
    border-color: var(--color-fuji-mid, #7369A0) !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1;
  }
  .blog-page .page-navi-bar a:not(:last-child)::after{
    display: none !important;
  }
}
@media (min-width: 641px){
  .blog-page .page-navi-bar{
    border-bottom: none;
    gap: 0.65rem;
    border-radius: 8px;
  }
  .blog-page .page-navi-bar a[role="tab"]{
    border-radius: 8px !important;
    background: #fff;
    opacity: 1;
  }
  .blog-page .page-navi-bar a:not(:last-child)::after{
    display: block;
  }
}

/* === blog responsive redo R4c: pagination compact (640 only) — plan 1788260721630: center fix + ultra-compact select === */
@media (max-width: 640px){
  .blog-pagination-wrapper.has-pagination{
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .blog-pagination{
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    flex-wrap: nowrap !important;
    gap: 0.2em !important;
    overflow: visible !important;
    justify-content: center !important;
  }
  .blog-pagination a,
  .blog-pagination span{
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0.2em 0.5em !important;
    margin: 0 0.1em !important;
    font-size: 0.85rem !important;
    flex: 0 0 auto;
  }
  .blog-pagination .page-numbers.dots{
    min-width: 20px !important;
    padding: 0.2em 0.2em !important;
  }
  /* 1788260721630: mobile uses compact select; numeric pagination hidden (JS overrides for progressive enhancement fallback) */
  .blog-pagination-compact{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.4em !important;
    grid-column: 1 / -1 !important;
    justify-self: center !important;
  }
  .blog-pagination-compact a,
  .blog-pagination-compact span{
    min-width: 36px !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--color-border, #DCE6EE) !important;
    border-radius: 8px !important; /* site-standard 8px unify 2026-09-05 */
    text-decoration: none !important;
    color: var(--color-main, #333) !important;
    background: #fff !important;
    padding: 0.2em 0.5em !important;
    font-size: 0.85rem !important;
  }
  .blog-pagination-compact a:hover{
    background: var(--color-fuji-tint, #F6F3FB) !important;
  }
  .blog-pagination-compact span.disabled{
    background: #f5f5f5 !important;
    opacity: 0.5 !important;
    pointer-events: none !important;
  }
  .blog-pagination-compact-label{
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25em !important;
  }
  .blog-pagination-compact select.blog-pagination-select{
    min-width: 64px !important;
    min-height: 36px !important;
    height: 36px !important;
    border: 1px solid var(--color-border, #DCE6EE) !important;
    border-radius: 8px !important; /* site-standard 8px unify 2026-09-05 */
    background: #fff !important;
    color: var(--color-main, #333) !important;
    padding: 0 0.6em !important;
    font-size: 0.85rem !important;
  }
  .blog-pagination-compact-total{
    font-size: 0.85rem !important;
    color: var(--color-main, #333) !important;
    white-space: nowrap !important;
  }
}
/* JS disabled fallback: if JS not running, show numeric pagination even on mobile (progressive enhancement) — no-JS keeps .blog-pagination visible; JS will hide via inline !important */
.blog-pagination-compact{
  display: none;
}
@media (min-width: 641px) and (max-width: 768px){
  /* 1788260721630: tablet keeps 5 numbers; is-keep hide must apply up to 768 (not only 640) */
  .blog-pagination .page-numbers:not(.is-keep):not(.prev):not(.next){
    display: none !important;
  }
  .blog-pagination .page-numbers.dots:not(.is-keep){
    display: none !important;
  }
  /* 1788317427431: class-based counterpart */
  .blog-pagination-wrapper.is-tablet .blog-pagination .page-numbers:not(.is-keep):not(.prev):not(.next){
    display: none !important;
  }
  .blog-pagination-wrapper.is-tablet .blog-pagination .page-numbers.dots:not(.is-keep){
    display: none !important;
  }
}
@media (max-width: 640px){
  /* numeric is-keep still relevant for no-JS fallback (all numbers visible when JS disabled would skip is-keep) */
  .blog-pagination .page-numbers:not(.is-keep):not(.prev):not(.next){
    display: none !important;
  }
  .blog-pagination .page-numbers.dots:not(.is-keep){
    display: none !important;
  }
}
/* 1788317427431: is-mobile/is-tablet fallback outside media for JS class (covers resize) */
.blog-pagination-wrapper.is-tablet .blog-pagination .page-numbers:not(.is-keep):not(.prev):not(.next){
  display: none !important;
}
.blog-pagination-wrapper.is-tablet .blog-pagination .page-numbers.dots:not(.is-keep){
  display: none !important;
}
.blog-pagination-wrapper.is-mobile .blog-pagination .page-numbers:not(.is-keep):not(.prev):not(.next){
  display: none !important;
}
.blog-pagination-wrapper.is-mobile .blog-pagination .page-numbers.dots:not(.is-keep){
  display: none !important;
}

/* === blog responsive redo R5: focus for tabs (640 only) === */
@media (max-width: 640px) {
  .page-navi-bar [role="tab"]:focus-visible {
    outline: 2px solid var(--color-fuji-mid, #7369A0);
    outline-offset: 2px;
  }
}

/* === blog responsive redo R6: 641-1024 intermediate strengthen (was 769-1024) === */
/* gutter fix 2026-09-02: delegated to R1 — 0 to avoid double-gutter */
@media (min-width: 641px) and (max-width: 1024px){
  .blog-page .blog-page-inner{ padding: 0 !important; }
  .blog-list{ gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .blog-card-top{ gap: 0.8em; }
}

/* === top-page responsive overflow fix (plan 1788249687863) — PC不変: 768以下で負マージン完全リセット + 左右対称化 === */
@media (max-width: 768px) {
  html, body { overflow-x: clip !important; }
  /* html/body hiddenフォールバック（Safari <16等 clip非対応向け） */
  @supports not (overflow: clip) {
    html, body { overflow-x: hidden !important; }
  }
  .top-page .top-hero,
  .top-page .top-quicklinks { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; }
  .top-page .top-cards-activity-frame,
  .top-page .top-soniria-worldview-frame { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; }
  .top-page .top-content { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }
  .top-page #main,
  .top-page .main { width: 100% !important; margin-left: auto !important; margin-right: auto !important; max-width: 1160px !important; box-sizing: border-box !important; }
  .top-page #content,
  .top-page .content { margin-left: 0 !important; margin-right: 0 !important; }
  /* #mainの左右padding(16px)は維持しつつ、内側の.full要素はviewport端まで広げない — 左右対称を担保 */
  .top-page #main { padding-left: 16px !important; padding-right: 16px !important; }
  .top-page .top-creation-full,
  .top-page .top-blog-full { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
}

/* === quicklinks horizontal scroll 1-row — PC不変（max-width:768内のみ） plan 1788260267277 案A === */
@media (max-width: 768px) {
  .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.5rem !important;
    padding:0.6rem 1rem !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;
  }
  .top-quicklinks-item:focus-visible{
    outline:2px solid var(--color-fuji-mid, #7369A0);
    outline-offset:2px;
  }
}
/* タブレット横(769-1024)も横スクロール — PC1280影響なし */
@media (min-width: 769px) and (max-width: 1024px) {
  .top-page .top-quicklinks{ width:100% !important; margin-left:0 !important; margin-right:0 !important; max-width:100% !important; }
  .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.6rem !important;
    padding:0.6rem 1rem !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; }
}

/* === top-cards-activity gray gap fix — plan 1788261959998 案A+ gap詰め: tablet/mobileでグレーラッパー隙間を非表示・空隙ゼロ (PC不変) === */
@media (max-width: 768px) {
  .top-page .top-cards-activity-frame {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    box-shadow: none !important;
    border: none !important;
  }
  /* 子セクション間の空隙を意図的にゼロ化 — 各カード自体のpaddingで呼吸を確保 */
  .top-page .top-cards-activity-frame > .top-content-left,
  .top-page .top-cards-activity-frame > .top-content-right {
    margin: 0 !important;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .top-page .top-cards-activity-frame {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    box-shadow: none !important;
    border: none !important;
  }
  .top-page .top-cards-activity-frame > .top-content-left,
  .top-page .top-cards-activity-frame > .top-content-right {
    margin: 0 !important;
  }
}
/* === plan 1788263980637 — social / ID:13 — 640 threshold: 3-col & 2-col stack + vertical buttons (after 768, before 480) === */
/* Proposal A: 640以下 3カード 1列 + Proposal B: 640以下 2カラム 1列 + ボタン縦スタック */
@media (max-width: 640px) {
  /* A: 3-col -> 1-col */
  .page-id-13 .creation-three-column {
    flex-direction: column !important;
    gap: 1em !important;
  }
  .page-id-13 .creation-three-column > .wp-block-column,
  .page-id-13 .creation-three-column .creation-column-item {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding: 1.25rem !important;
  }
  .page-id-13 .creation-three-column .creation-column-item::before {
    margin: -1.25rem -1.25rem 0.6rem -1.25rem !important;
  }
  .page-id-13 .creation-three-column .profile-inline {
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.85em !important;
  }
  .page-id-13 .creation-three-column .profile-image {
    width: 84px !important;
    flex: 0 0 84px !important;
  }
  /* B: 2-col -> 1-col */
  .page-id-13 .creation-two-column {
    flex-direction: column !important;
    gap: 1em !important;
  }
  .page-id-13 .creation-two-column > .wp-block-column,
  .page-id-13 .creation-two-column .creation-column-item {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  .page-id-13 .operator-card-body {
    max-width: none !important;
    width: 100% !important;
  }
  .page-id-13 .operator-profile-inline {
    gap: 0.8em !important;
  }
  /* B: buttons vertical stack — overrides 768's flex:1 1 45% */
  .page-id-13 .social-operator-buttons,
  .page-id-13 .social-notion-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.6rem !important;
    flex-wrap: nowrap !important;
  }
  .page-id-13 .social-operator-buttons .wp-block-button__link,
  .page-id-13 .social-notion-buttons .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    max-width: 100% !important;
  }
}
/* 641-768: 2-col maintain compact (B) — gap縮小で余裕確保 */
@media (min-width: 641px) and (max-width: 768px) {
  .page-id-13 .creation-two-column {
    gap: 1rem !important;
  }
  .page-id-13 .creation-two-column .creation-column-item {
    padding: 1.25rem !important;
  }
  .page-id-13 .creation-two-column .creation-column-item::before {
    margin: -1.25rem -1.25rem 0.6rem -1.25rem !important;
  }
}
/* plan 1788264275663 — nagaya tablet tweak: 3 cards 80px + nagaya link below+nowrap (641-768 only) */
@media (min-width: 641px) and (max-width: 768px) {
  .page-id-13 .creation-three-column {
    align-items: stretch !important;
    align-content: stretch !important;
  }
  .page-id-13 .creation-three-column .creation-column-item {
    align-self: stretch !important;
    height: auto !important;
  }
  .page-id-13 .creation-three-column .profile-image {
    width: 80px !important;
    flex: 0 0 80px !important;
  }
  .page-id-13 .creation-three-column .creation-column-item:nth-child(3) .profile-inline {
    flex-wrap: wrap !important;
  }
  .page-id-13 .creation-three-column .creation-column-item:nth-child(3) .profile-text {
    display: contents !important;
  }
  .page-id-13 .creation-three-column .creation-column-item:nth-child(3) .profile-text > p:not(.nagaya-process-link) {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    align-self: center !important;
  }
  .page-id-13 .creation-three-column .creation-column-item:nth-child(3) .nagaya-process-link {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: right !important;
    margin: 0.35em 0 0 0 !important;
  }
  .page-id-13 .creation-three-column .creation-column-item:nth-child(3) .nagaya-process-link a {
    white-space: nowrap !important;
    display: inline-flex !important;
    max-width: 100% !important;
  }
}
/* === plan 1788268257442 fix — hero character SOURCE right 50% crop (overlay stays inset:0 100%) — tablet/mobile only, PC>=1025 untouched | character-only (.top-hero-overlay/.top-hero-overlay-img) === */
@media (min-width: 769px) and (max-width: 1024px) {
  .top-hero-overlay {
    inset: 0 !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
  .top-hero-overlay-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: right center !important;
    object-view-box: inset(0 0 0 50%) !important;
  }
  @supports not (object-view-box: inset(0 0 0 50%)) {
    .top-hero-overlay-img {
      clip-path: inset(0 0 0 50%) !important;
    }
  }
}
@media (max-width: 768px) {
  .top-hero-overlay {
    inset: 0 !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
  /* plan 1788520819413 §2.1: Y上端側へ（right 20%=Y20%起点、X右維持・中央/左寄せ化しない。contain・view-box維持） */
  .top-hero-overlay-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: right 20% !important;
    object-view-box: inset(0 0 0 50%) !important;
  }
  @supports not (object-view-box: inset(0 0 0 50%)) {
    .top-hero-overlay-img {
      clip-path: inset(0 0 0 50%) !important;
    }
  }
}
/* === plan 1788574647409: ヒーロー縦伸長（タブレット88vh/550px）・キャラ/コンパス上端固定 — PC不変・crop後勝ち === */
@media (max-width: 768px) {
  .top-hero-overlay { top: 0 !important; bottom: auto !important; height: 80vh !important; min-height: 500px !important; }
  .top-hero-compass { top: 0 !important; bottom: auto !important; height: 80vh !important; min-height: 500px !important; }
}
/* === plan 1788269505689 — hero mobile/tablet full-bleed (<=768) — 100vw bleed, keep quicklinks unchanged, radius 0 === */
@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;
  }
}

/* plan 1788273929470 課題2-tablet: 帯幅29px追従 — plan 1788423003233: 完全tint一致・濃くしない + 3px inset白縁 */
@media (max-width: 768px){
  .top-activity-item{ padding-right: 32px; }
  .top-activity-item .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 29px; min-width: 29px; max-width: 29px; 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: 32px; }
  .top-meta-item .top-card-aff--iconOnly{ position: absolute; top: 3px; right: 3px; bottom: 3px; width: 29px; min-width: 29px; max-width: 29px; 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; }
}

/* quicklinks chevron hide <=1024 — plan 1788442125387: グローバルナビ詰め(769-1024)開始に同期。PC(1025+)不変。display:noneでpill幅自動縮小 */
@media (max-width: 1024px) {
  .top-quicklinks-aff {
    display: none !important;
  }
}

/* === plan 1788524851013: トップ quicklinks レスポンシブ移設 (B案 複製+CSS切替) — 769px+不変、すべてmax-width:768/600内のみ === */
@media (max-width: 768px) {
  /* (a) 上部を消してヒーローを先頭に (>直下指定で下部navに波及させない) */
  .top-page > .top-quicklinks {
    display: none !important;
  }
  /* 残隙があればヒーロー上マージンのみゼロ化 (許可範囲) */
  .top-page .top-hero {
    margin-top: 0 !important;
  }
  /* ヒーロー上の隙間除去: 外側 main.main の margin-top:10px をトップページのみゼロ化 (769px+/他ページ不変) */
  body.front-top-page main.main {
    margin-top: 0 !important;
  }
  /* (b) 下部リンク集コンテナを表示 (.top-meta構造準拠・背景のみ翡翠で藤連続回避) */
  /* plan 1788623694267 D: タブレット幅一致 — 他見出し群（.top-meta/.top-blog: 1.5em 1em）と
     外枠左右端を一致させるため、従来 2em 1.5em → 1.5em 1em に寄せる。max-width:1115pxは不変。
     見出し自体のB03白は front-page-inline 集約則を継承（ここでは幅のみ担保）。 */
  .top-page .top-quicklinks-bottom {
    display: block !important;
    max-width: 1160px;
    margin: 0 auto;
    padding: 1.5em 1em;
    background: var(--color-bg-jade, #EFF8F5);
    border-radius: 15px;
    box-sizing: border-box !important;
  }
  /* 見出しは .top-meta-section-title と同一トークン */
  /* plan 1788623694267 rev1: 上下余白を集約則と同一の .25em均等に（従来 .5em/.3em） */
  .top-page .top-quicklinks-bottom-title {
    max-width: 1115px;
    margin: 0 auto 1rem;
    padding: 0.25em 0.8em;
    font-size: 1.4em;
    color: var(--color-main);
    border-bottom: 2px solid var(--color-sky);
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  /* (c) タブレット 601-768px: 4x2 — 既存grid2列/横スクロールより詳細度+後勝ちで上書き (既存ルール自体は不変)
     2026-09-06 gutter最適化: 実測h/v gap 8pxは48pxボタンに対して密集感があるため
     row 0.9rem / col 0.8rem に拡大 (frが吸収し溢れなし・ボタンfont/padding/min-height・外枠・PC不変)。
     !important必須: 汎用 .top-quicklinks の gap:0.5rem !important (旧横スクロール則・詳細度0,1,0) が
     後勝ちで当たるため、詳細度0,2,0+!importantで上書き。 */
  .top-page .top-quicklinks--bottom {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem 0.8rem !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    background: transparent;
    border: none;
    padding: 0;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    scroll-snap-type: none !important;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    min-width: 0;
  }
}
/* (d) モバイル ≦600px: 3+3+2・最終行2個は中央揃え・ボタン横幅1.1×1.05倍 (コンテナ余白縮小+gap縮小で3列維持) */
/* plan 1788623694267 D: SPでの見出し再ズレ防止 — 従来 0.25em では .top-meta/.top-blog（1em）と
   外枠が ±2px に入らないため 1em に寄せる。ボタン3列・gap・SpeakerDeck例外は不変。 */
@media (max-width: 600px) {
  .top-page .top-quicklinks-bottom {
    padding-left: 1em;
    padding-right: 1em;
  }
  /* 2026-09-06 gutter最適化: 実測gap 4.8pxは密集感があるため col 0.5rem / row 0.65rem に拡大。
     3列維持のため basis控除は 3d=2c の関係で 0.2rem→0.34rem に連動 (ボタン実幅の変化は約2pxのみ。
     font/padding/min-height・容器padding・外枠合わせ・PCは不変) */
  .top-page .top-quicklinks--bottom {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    row-gap: 0.65rem !important;
    column-gap: 0.5rem !important;
  }
  .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;
    font-size: 0.8em;
    padding: 0.5em 0.6em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0 !important;
  }
  /* ボタン内アイコンの横幅を統一 (ラベル開始位置を揃える。ボタン自体はflex-basisで等幅済み) */
  .top-page .top-quicklinks--bottom .top-quicklinks-item i {
    display: inline-block;
    width: 1.2em;
    min-width: 1.2em;
    text-align: center;
    flex-shrink: 0;
  }
}

/* === plan 1788581424643 + 1788660263725: モバイル ナビバー実測切替 (ID:9=550 / ID:13=560 / ID:11=510) ===
   実測 (Playwright・nowrap強制・document.fonts.ready待機・networkidle):
   - ID:9 (5項目・plan 1788660263725): vw=550 diff0 / vw=540 diff4 → first-overflow 540 → +10 → max-width:550px
   - ID:13 (5項目): vw=560 diff1 / vw=550 diff5 → first-overflow 550 → +10 → max-width:560px
   - ID:11 (5項目): vw=510 diff0 / vw=500 diff2 → first-overflow 500 → +10 → max-width:510px (上記ブロックで768から置換)
   詳細度 (0,2,0)+ で汎用 `.page-navi-bar`(0,1,0)・480汎用則に勝つ。style.css無改変・390ブロック不追加。横スクロールなし (収まる幅は1行・溢れる幅は2段)。 */

/* 課題1: サイト概要 (ID:13) 2段化 — ソニリア (ID:11) 流用: wrap・中央寄せ・横スクロール廃止・シェブロン維持 */
@media (max-width: 560px) {
  body.page-id-13 .page-navi-bar,
  .page-id-13 .page-navi-bar {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    gap: 8px;
  }
}

/* 課題2: 創作紹介 (ID:9) 5項目2段化 — ID:13流用: wrap・中央寄せ・横スクロール廃止・シェブロン維持 (plan 1788660263725・実測550px確定) */
@media (max-width: 550px) {
  body.page-id-9 .page-navi-bar,
  .page-id-9 .page-navi-bar {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    gap: 8px;
  }
  .page-id-9 .page-navi-bar .wp-block-group__inner-container {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    gap: 8px;
  }
}

/* === font-balance 1788579499092 Phase1 (SP/タブ底上げ・PC不変が原則) === */
/* R1-tab: top-card 2列時の説明が容器に対して極小 (0.78em=12.48px@360/14.04px@768)。nowrap ellipsisのため行増なし */
@media (min-width: 641px) and (max-width: 1024px) {
  .top-page .top-cards-grid .top-card-desc {
    font-size: 0.83em !important;
    min-height: calc(0.83em * 1.4) !important;
  }
}
/* R2: 活動日付だけ同列テキストより一段小さい不統一を是正 (PC不変) */
@media (max-width: 768px) {
  .top-activity-date {
    font-size: 0.85em;
  }
}
/* R3: カテゴリピルが日付・抜粋より一段小さい不統一を是正 (PC不変・単行ピル) */
@media (max-width: 768px) {
  .blog-card-category {
    font-size: 0.8rem;
  }
}
/* R4: SP/タブのブログ日付メタを底上げしPCとの乖離を縮小 (PC不変・単行flex) */
@media (max-width: 768px) {
  .blog-card-meta {
    font-size: 0.9em;
  }
}
/* R5(試験): 90%幅帯のタグライン極小の底上げ。1→2行化したら見送り (PC不変) */
@media (max-width: 768px) {
  .header-site-tagline {
    font-size: 0.85em;
  }
}
/* R6-tab: 説明系をPC基底(0.95rem)に統一 (PC不変・複数行のためafterで行数検証) */
@media (max-width: 768px) {
  .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 {
    font-size: 0.95rem;
  }
  .platform-card-desc,
  .page-id-9 .platform-card-desc {
    font-size: 0.95rem !important;
  }
}
/* R10: 記事日付メタの底上げ (PC不変) */
@media (max-width: 768px) {
  body.single .entry-date,
  body.single .post-date {
    font-size: 13px;
  }
}
/* R11: 記事カテゴリバッジの底上げ (PC不変・単行バッジ) */
@media (max-width: 768px) {
  body.single .cat-label {
    font-size: 13px !important;
  }
}
/* R13-bottom追従: 下部リンク集も基底0.85emに揃える (3列ellipsisのため行増なし) */
@media (max-width: 600px) {
  .top-page .top-quicklinks--bottom .top-quicklinks-item {
    font-size: 0.85em;
  }
}
/* === plan 1788580917893 Task3: 769-1024 trio外縁を創作/技術に一致 (PC>1024/<=768不変) === */
/* 計測(960px): .top-content pad 16px → trio(.top-cards/.top-activity/.top-soniria-worldview-frame)外縁が.top-creation/.top-blog外縁より左右16px内側。Plan C(769-1180: padding 0 16px + frames width:100%/margin:0)とgap fix(769-1024: frame transparent/padding:0/gap:0)の後勝ちで上書きするため末尾配置。内側1.25em呼吸・垂直gapは不変 */
@media (min-width: 769px) and (max-width: 1024px) {
  .top-page .top-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* top-gutter-sweep 769-1023px帯: 左右対称統一 (PC不変・既存ブロック内のみ) */
  /* 根本原因: mobile-nav.css:477-492 (.top-page #main, width:auto/margin:10px !important, 後勝ち) が front-page-inline の width:100% を上書き */
  body.top-page #main,
  body.top-page .main {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    padding-left: 29px !important;
    padding-right: 29px !important;
  }
}

/* single記事詳細: 左右余白＝行長適正化（PC不変・plan 1788582323929） */
/* 狙い: 768pxで本文幅696→680px・約40→39字/行（viewport比90.6%→88.5%）。カード内20→28px(1.75rem)は8pxグリッド適合・旧page-single @media(1rem)に後勝ち。viewport側.wrap 1rem維持・box-sizing維持で820px内。タイトル上/パンくずmarginは今回不変 */
@media (max-width: 768px) {
  body.single #main .article-header,
  body.single #main .entry-content,
  body.single #main .article-footer,
  body.single #main #breadcrumb {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
    box-sizing: border-box !important;
  }
  body.single #related-entries {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
    box-sizing: border-box !important;
  }
}

/* === linebreak 1788579499092 Phase2 (SP/タブ改行調整・PC不変・追記のみ) === */
/* A1: ID11 H2/H3 anywhere→break-word (style.css:844の正規化。balanceは継承維持) */
@media (max-width: 768px) {
  .page-id-11 .entry-content h2,
  .page-id-11 .entry-content h3 {
    overflow-wrap: break-word;
  }
}
/* A2: mapping説明box・timeline内容 anywhere→break-word+strict (T1実害なし・正規化) */
@media (max-width: 768px) {
  .page-id-11 .character-mapping-media .mapping-description-box,
  .page-id-11 .mapping-timeline-content {
    overflow-wrap: break-word;
    line-break: strict;
  }
}
/* A4: topカード説明 基底anywhere→break-word (SPはnowrapで無効・481-768のみ有効・PC不変) */
@media (max-width: 768px) {
  .top-page .top-cards-grid .top-card-desc {
    overflow-wrap: break-word;
  }
}
/* A5: 創作カテゴリ導入文 anywhere→break-word (style.css:3583の正規化・PC不変) */
@media (max-width: 768px) {
  .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 {
    overflow-wrap: break-word;
  }
}
/* A6b: 概要プロフィール文 anywhere→break-word (style.css:2251 !importantに追従・pretty/strict維持) */
@media (max-width: 768px) {
  .page-id-13 .creation-three-column .profile-text p {
    overflow-wrap: break-word !important;
  }
}
/* W: word-break:break-word(非標準・anywhere相当)→標準化 (T1実害なし・PC不変) */
@media (max-width: 768px) {
  .page-id-9 .platform-card-desc {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .page-id-9 .creation-game-card .creation-game-card-title {
    word-break: normal;
    overflow-wrap: break-word;
  }
  /* plan 1788588779809: hero-titleはkeep-all安全弁（phraseのnowrapが優先・mid-break防止） */
  .page-id-11 .character-soniria-hero-title {
    word-break: keep-all;
    overflow-wrap: break-word;
    line-break: strict;
  }
}
/* B10: 本文の禁則・約物・改行質 (pretty+strict+allow-end。auto-phraseは単独宣言の漸進改善=未対応は無視) */
@media (max-width: 768px) {
  .entry-content p,
  .entry-content li {
    text-wrap: pretty;
    line-break: strict;
    word-break: auto-phrase;
    overflow-wrap: break-word;
    hanging-punctuation: allow-end;
  }
}
/* B11: 本文見出しの禁則強化 (balanceは style.css:828 維持・PC不変) */
@media (max-width: 768px) {
  .entry-content h2,
  .entry-content h3 {
    line-break: strict;
  }
}

/* === plan 1788583064239: トップ上部quicklinks 769-1024 1行フィット (後勝ち上書き・既存2155-2173は不変) ===
   対象: .top-page > .top-quicklinks のみ (直下指定で下部--bottomに波及させない)。
   前提: chevron非表示(<=1024)維持で幅確保済み。FA読込後(document.fonts.ready)に
   769/800/850/900/960/1024で scrollWidth<=clientWidth+1・offsetTop一致(1行)・
   offsetHeight不変(縦維持)を満たすよう流体値を選定。
   plan 1788583475961 (2026-09-05 Playwright実測): Stage Bの850仮閾値を撤廃し
   アイコン表示のまま適合を確認。外幅一致・狭PC帯は本ファイル末尾の追記ブロックで対応。
   禁止: padding一括/padding-block/min-height/line-height/align-items変更。
   8項目(quicklinks.php: YouTube/X/note/BOOTH/Behance/cluster/SpeakerDeck/FANBOX)増減時は再計測。 */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Stage A (広い側: アイコン縮小維持): nowrap+中央寄せ+スクロール廃止+流体gap/左右padding */
  .top-page > .top-quicklinks {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: auto !important;
    scrollbar-width: auto !important;
    -ms-overflow-style: auto !important;
    scroll-snap-type: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    gap: clamp(0.3rem, 1vw, 0.6rem) !important;
    padding-inline: clamp(0.5rem, 2vw, 1rem) !important;
  }
  .top-page > .top-quicklinks::-webkit-scrollbar {
    display: none;
  }
  .top-page > .top-quicklinks .top-quicklinks-item {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    column-gap: 0.3em !important;
    padding-inline: clamp(0.6em, 1.5vw, 0.9em) !important;
    font-size: clamp(0.78em, 0.5em + 0.6vw, 0.85em) !important;
  }
  .top-page > .top-quicklinks .top-quicklinks-item i {
    font-size: 0.75em !important;
  }
  @supports not (overflow: clip) {
    .top-page > .top-quicklinks {
      overflow-x: hidden !important;
    }
  }
}
/* Stage B (狭い側 769-850: 最終詰め。plan 1788583475961 実測更新:
   2026-09-05 Playwright実測(document.fonts.ready+FA読込後)で 769-850 の全幅・
   全アイテム内部(scrollWidth<=clientWidth)適合かつ slack>=79pxを確認したため、
   前回のFA非表示(850机上仮値)は撤廃しアイコン表示のまま1行維持。
   FAフォールバック(sans-serif代替)でも1行維持を確認。font/padding/gap詰めは維持) */
@media (min-width: 769px) and (max-width: 850px) {
  .top-page > .top-quicklinks {
    gap: 0.3rem !important;
    padding-inline: 0.5rem !important;
  }
  .top-page > .top-quicklinks .top-quicklinks-item {
    font-size: 0.78em !important;
    padding-inline: 0.6em !important;
    column-gap: 0.3em !important;
    letter-spacing: -0.01em !important;
  }
}

/* === plan 1788583475961: 上部quicklinks 801-1024 外幅ヒーロー一致 (quicklinks側のみ・hero無改変) ===
   実測 (2026-09-05 Playwright, document.fonts.ready+FA読込後):
   801-1024でバー外幅がヒーローより58px狭い (heroは front-page-inline.css:205-210 の
   calc(100%+58px)/-29pxブリード継続、バーは既存2155-2156+Stage Aで100%/0固定のため)。
   769-800はmobile-nav.css:545-554(後勝ち)が両者を100%/0にリセット済みで一致のため対象外。
   本ブロックはヒーローと一字一句同値 (width/margin/box-sizing) をquicklinksだけに複写。
   padding-inline調整はborder-box内のため外幅一致に影響しない。
   heroが同帯域で既に同値・溢れなしのため新規横溢れなし (doc横溢れが修正前後で同一なのを実測確認)。
   対象: .top-page > .top-quicklinks のみ (下部--bottomは.top-pageの直下でないため非波及)。 */
@media (min-width: 801px) and (max-width: 1024px) {
  .top-page > .top-quicklinks {
    width: calc(100% + 58px) !important;
    margin-left: -29px !important;
    margin-right: -29px !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}

/* === plan 1788583475961: 狭PC帯 1025-1130 1行フィット (PCベースwrapの2段化を防止) ===
   実測 (2026-09-05 Playwright, document.fonts.ready+FA読込後):
   現行CSSでは 1025・1100・1110 でFANBOXが2段目に折り返し (offsetTop 16/74、bar高135px)、
   1120で自然1行に復帰。+10px丸め(広げる方向)で上限1130に確定。
   手法は前回準拠 (nowrap+縮小のみ。スクロール復活なし・ellipsisなし・縦不変)。
   上限側の値はPCベースに収束 (gap 0.8rem / item padding-inline 1.2em・font 0.85em /
   column-gap 0.4em / icon 0.9em) し、1131以降の見た目不変を実測確認 (高さ78px連続)。
   外幅はPC基則ブリードのまま変更なし (1025以上は両者一致を実測確認)。
   禁止: padding一括/padding-block/min-height/line-height/align-items変更。
   8項目増減・文言・FA変更時は再計測 (閾値ハードコードのため)。 */
@media (min-width: 1025px) and (max-width: 1130px) {
  .top-page > .top-quicklinks {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: auto !important;
    scrollbar-width: auto !important;
    -ms-overflow-style: auto !important;
    scroll-snap-type: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    gap: clamp(0.4rem, calc(0.4rem + 0.4rem * ((100vw - 1025px) / 105px)), 0.8rem) !important;
  }
  .top-page > .top-quicklinks::-webkit-scrollbar {
    display: none;
  }
  .top-page > .top-quicklinks .top-quicklinks-item {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    column-gap: clamp(0.3em, calc(0.3em + 0.1em * ((100vw - 1025px) / 105px)), 0.4em) !important;
    padding-inline: clamp(0.7em, calc(0.7em + 0.5em * ((100vw - 1025px) / 105px)), 1.2em) !important;
    font-size: clamp(0.8em, calc(0.8em + 0.05em * ((100vw - 1025px) / 105px)), 0.85em) !important;
  }
  .top-page > .top-quicklinks .top-quicklinks-item i {
    font-size: clamp(0.8em, calc(0.8em + 0.1em * ((100vw - 1025px) / 105px)), 0.9em) !important;
  }
  @supports not (overflow: clip) {
    .top-page > .top-quicklinks {
      overflow-x: hidden !important;
    }
  }
}

/* P3語彙改行（Plan 1788584911000-phrase-linebreak-fix・方式B Gate承認済み） */
/* BudouX実行時<wbr>＋keep-all併用（≤768のみ・PC不変）。break-word安全弁で溢れ0維持。style.cssのword-break:normal（0,2,0）に負けるためkeep-allのみ!important。 */
@media (max-width: 768px) {
  .entry-content p,
  .entry-content li,
  .mapping-description-box p,
  .mapping-timeline-content,
  .top-creation-card-desc,
  .creation-sub-desc,
  .creation-knowledge-desc,
  .creation-activity-desc,
  .blog-card-excerpt,
  .platform-card-desc,
  .entry-content .creation-concept,
  .concept-box-inner p {
    word-break: keep-all !important;
    overflow-wrap: break-word;
  }
  .entry-content h2,
  .entry-content h3,
  .blog-card-title,
  .top-hero-subtitle,
  .character-soniria-hero-title {
    word-break: keep-all !important;
    overflow-wrap: break-word;
  }
}

/* Plan 1788585291630: character tablet 2col + gap restore (481-768 only, PC/mobile unchanged) */
/* Task1: katsudo 2x2 (outer stays 1fr rows / inner back to 2col). Task2: likes 2col PC values. Task3: concept margin 1.5em restore. */
@media (min-width: 481px) and (max-width: 768px) {
  /* Task1: 上段=空色パネル2枚 / 下段=藤色パネル2枚 (外側縦積み維持・内側2列復元) */
  .page-id-11 .creation-katsudo-grid {
    grid-template-columns: 1fr;
  }
  .page-id-11 .creation-katsudo-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-id-11 .creation-katsudo-card {
    min-width: 0;
  }
  /* Task2: 好き・得意を同段2列化 (左=好き/右=得意・PC値維持 gap:1em/padding:1rem不変) */
  .page-id-11 .character-soniria-likes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1em;
  }
  .page-id-11 .character-likes-card {
    min-width: 0;
  }
  /* Task3: 世界観2カード隙間をPC/モバイル同値で明示復元
     実測根拠: cocoon-master style.css `screen and (min-width:600px) and (max-width:781px)` の
     `.article .wp-block-columns :nth-child(2n+1):nth-last-child(2){margin-bottom:0}` (0,4,0) が
     600-768で先勝ちし0,2,0では負けるため、後勝ち+同点の0,4,0セレクタで上書き。!important不使用 */
  .page-id-11 .creation-two-column .character-worldview-text .character-concept-card {
    margin-bottom: 1.5em;
  }
  .page-id-11 .creation-two-column .character-worldview-text .character-concept-card:last-child {
    margin-bottom: 0;
  }
}

/* P3語彙改行・詳細度追補（既存!importantに勝つため・PC不変・≤768のみ） */
@media (max-width: 768px) {
  body.page-id-9 .platform-card-desc {
    word-break: keep-all !important;
  }
  body.page-id-13 .creation-three-column .profile-text p {
    word-break: keep-all !important;
  }
}

/* === plan 1788585942212 — social responsive buttons/cards (Mobile/Tabletのみ・PC>=1025不変) ===
   T1: 問合せ中央 / T2: 4ボタン幅統一(縦積み中央) / T3: 体制等高(641-1024)。
   追加は本ファイル末尾のみ。style.css / PHP / responsive-480.css 不変。
   すべて body.page-id-13 付き+@media(max-width:1024px)内に隔離。font-size/padding/色/border不変。nowrap追加なし。 */
/* T1 — 問合せフォームボタン中央揃え (≤1024一括・480は継承) */
@media (max-width: 1024px) {
  body.page-id-13 .social-contact-wrapper .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  body.page-id-13 .social-contact-wrapper .operator-card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-inline: auto !important;
  }
  /* 説明文の可読性保持: ボタン中央化で狭まらないよう段落のみ全幅・左揃え維持 */
  body.page-id-13 .social-contact-wrapper .operator-card-body > p {
    width: 100% !important;
    align-self: stretch !important;
    text-align: left !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-button__link {
    margin-inline: auto !important;
    justify-content: center !important;
    text-align: center !important;
  }
  /* style.css:1093 `#section-toiawase` ID則(flex-start !important)への後勝ち上書き */
  body.page-id-13 .entry-content > h2#section-toiawase ~ .social-contact-wrapper .wp-block-buttons,
  body.page-id-13 .entry-content > h2#section-toiawase ~ .wp-block-buttons {
    justify-content: center !important;
    text-align: center !important;
    margin-inline: auto !important;
  }
}
/* plan 1788587962487: 旧T2縦積み(641-1024/≤640)＋旧T3(height:auto)は末尾新ルールへ移設のため削除。
   T1(問合せ中央 2922-2964)は維持。旧640縦化(2257-2270)・768残骸(1663-1681)は末尾が後勝ちで上書き。 */

/* Fix 1788585628651: footer tablet 1-line + PC dividers, 481-834 */
@media (min-width: 481px) and (max-width: 834px) {
  #footer-in { padding-left: 0.5em !important; padding-right: 0.5em !important; }
  #navi-footer-in { flex-wrap: nowrap !important; justify-content: center !important; gap: 0 1.2em !important; }
  .navi-footer-in > .menu-footer { flex-wrap: nowrap !important; justify-content: center !important; gap: 0 !important; white-space: nowrap !important; }
  .navi-footer-in > .menu-footer li.menu-item { width: auto !important; flex: 0 0 auto !important; margin: 0 !important; white-space: nowrap !important; }
  .navi-footer-in > .menu-footer li.menu-item a { white-space: nowrap !important; width: auto !important; padding: 0.3em 1em !important; }
  .navi-footer-in > .menu-footer li.menu-item { border-left: 1px solid #ddd !important; border-right: none !important; }
  .navi-footer-in > .menu-footer li.menu-item:last-child { border-right: 1px solid #ddd !important; }
}

/* === plan 1788587962487＋1788590000000 — サイト概要(/social/ ID:13) 運営者2ボタン横並び復元＋Notion単体幅一致＋問合せPC準拠コンパクト＋体制3カード等高 ===
   制約: PC(1025px以上)不変・style.css/PHP/responsive-480.css不変。すべて @media(max-width:1024px)以内＋body.page-id-13＋!important。
   T1(問合せ中央)は維持。本ブロックは旧T2縦積み(1788585942212/1788263980637提案B)・旧T3(height:auto)の置換。
   旧640縦化(2257-2270)・768残骸(1663-1681 flex:1 1 45%)・2284-2293 height:auto・T3旧3009-3022は本ブロックが後勝ちで上書き。
   font-size/letter-spacing/色/border不変・min-height固定なし・JSなし。
   1788590000000変更点: operator/notionのみ white-space:nowrap＋padding:0.85em 0.5em (F1/F2)。問合せはpadding宣言なし＝PC継承 (F3)。 */
/* T-F1＋T-F2 tablet — 641-1024: operator横2列＋notion行幅W=256px柱で一致（contactは不変） */
@media (min-width: 641px) and (max-width: 1024px) {
  /* T-F1: 運営者2ボタン横並び復元 (256px柱に2等分・縮小して2列死守・折返しなし) */
  body.page-id-13 .social-operator-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.6rem !important;
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-operator-buttons .wp-block-button__link {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.85em 0.5em !important;
  }
  /* T-F2: Notion単体＝operator各1個分＋問合せPC準拠コンパクト (plan 1788590000000: 旧結合則を分割) */
  body.page-id-13 .social-notion-buttons {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-notion-buttons .wp-block-button {
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
    display: flex !important;
    justify-content: center !important;
  }
  body.page-id-13 .social-notion-buttons .wp-block-button__link {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: calc(50% - 0.3rem) !important;
    max-width: calc(50% - 0.3rem) !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.85em 0.5em !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-button__link {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    margin-inline: auto !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-buttons,
  body.page-id-13 .social-contact-wrapper .wp-block-button {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-inline: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  /* T-F3: 体制3カード等高 (横3列＋不一致幅のみ是正・height:autoでstretchを活かす。height:100%はstretchを無効化するため禁止)
     根本原因: WPコア `@media(max-width:781px) .wp-block-column{margin-bottom:1.8em}` が縦積み前提で残り、
     最終子のみ:last-child則で0になるため、行内3カードのborder-boxが 288/288/331 に割れる(margin-boxは等しい)。
     641-781帯で行維持する本件では下マージンをゼロ化してborder-box一致させる。PC/≤640不変。 */
  body.page-id-13 .social-team-wrapper .creation-three-column {
    align-items: stretch !important;
    align-content: stretch !important;
  }
  body.page-id-13 .social-team-wrapper .creation-three-column > .wp-block-column,
  body.page-id-13 .social-team-wrapper .social-team-card {
    align-self: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-id-13 .social-team-wrapper .social-team-card .profile-inline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
}
/* T-F1＋T-F2 mobile — ≤640: 同一セレクタで柱のみ256pxに (両脇余白確保・実効は100%上限) */
@media (max-width: 640px) {
  body.page-id-13 .social-operator-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.6rem !important;
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-operator-buttons .wp-block-button__link {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.85em 0.5em !important;
  }
  body.page-id-13 .social-notion-buttons {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-notion-buttons .wp-block-button {
    width: 100% !important;
    max-width: 256px !important;
    margin-inline: auto !important;
    display: flex !important;
    justify-content: center !important;
  }
  body.page-id-13 .social-notion-buttons .wp-block-button__link {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: calc(50% - 0.3rem) !important;
    max-width: calc(50% - 0.3rem) !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 0.85em 0.5em !important;
    margin-inline: auto !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-button__link {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    margin-inline: auto !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.page-id-13 .social-contact-wrapper .wp-block-buttons,
  body.page-id-13 .social-contact-wrapper .wp-block-button {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-inline: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* その他情報 tablet 2-row: 1段目2枚横並び・2段目1枚中央 (PC/480不変・plan 1788588325842) */
/* 実測 (2026-09-05 Playwright・仮2列+fonts.ready): T_high=768 (769=3列/768=1列)・T_wrap=766 (766=desc全1行/765=自由帳・思索が2行化)。帯域766-768のみ2段、481-765は現行1列に明示フォールバック、480以下・769以上は本ブロック非波及で不変 */
@media (min-width: 766px) and (max-width: 768px) {
  .top-page .top-meta-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
  .top-page .top-meta-grid > .top-meta-item:nth-child(3) {
    grid-column: 1 / -1;
    width: calc(50% - 0.5em); /* gap:1emの半分を差し引き上段カードと同幅に */
    max-width: 100%;
    justify-self: center;
    box-sizing: border-box;
  }
  .top-page .top-meta-grid > .top-meta-item { min-width: 0; }
}
@media (min-width: 481px) and (max-width: 765px) {
  /* 明示フォールバック: 現行1列に戻す (既存768の1frと同値の再宣言・将来の上段ルール漏れ防止) */
  .top-page .top-meta-grid { grid-template-columns: 1fr; }
}

/* 創作と共創 tablet 2-row: 1段目2枚・2段目1枚中央 (PC/480不変・その他情報 plan 1788588325842 に準拠) */
@media (min-width: 766px) and (max-width: 768px) {
  .top-page .top-creation-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
  .top-page .top-creation-grid > .top-creation-card:nth-child(3) {
    grid-column: 1 / -1;
    width: calc(50% - 0.5em);
    max-width: 100%;
    justify-self: center;
    box-sizing: border-box;
  }
  .top-page .top-creation-grid > .top-creation-card { min-width: 0; }
}
@media (min-width: 481px) and (max-width: 765px) {
  .top-page .top-creation-grid { grid-template-columns: 1fr; }
}

/* 創作紹介ゲーム tablet 2-row: 1段目2枚・2段目1枚中央 (PC/480不変・トップ創作 plan 1788590613587 に準拠) */
@media (min-width: 766px) and (max-width: 768px) {
  body.page-id-9 .creation-game-wrapper .creation-three-column {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
  body.page-id-9 .creation-game-wrapper .creation-three-column > .wp-block-column {
    min-width: 0;
    max-width: none;
    margin-bottom: 0 !important;
  }
  body.page-id-9 .creation-game-wrapper .creation-three-column > .wp-block-column.creation-game-card:nth-child(3) {
    grid-column: 1 / -1;
    width: calc(50% - 0.5em);
    max-width: 100%;
    justify-self: center;
    box-sizing: border-box;
  }
}
@media (min-width: 481px) and (max-width: 765px) {
  /* 明示フォールバック: 現行縦1列に戻す (既存 max-width:768px の column と同値再宣言・将来の上段ルール漏れ防止) */
  body.page-id-9 .creation-game-wrapper .creation-three-column {
    display: flex;
    flex-direction: column;
  }
}

/* 観る/読む創作 tablet 2並列: 現行タブレットカードをそのまま縮小し左右横並び (PC/480不変・ゲーム2段帯域766-768に準拠) */
@media (min-width: 766px) and (max-width: 768px) {
  body.page-id-9 #section-view .creation-view-inner,
  body.page-id-9 #section-read .creation-read-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  body.page-id-9 #section-view .creation-motion-card,
  body.page-id-9 #section-read .creation-motion-card {
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 0.625rem !important;
    min-width: 0;
  }
  body.page-id-9 #section-view .creation-motion-card .creation-placeholder-link,
  body.page-id-9 #section-read .creation-motion-card .creation-placeholder-link {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
  /* 2並列時の「作品を見る」位置揃え: テキスト欄を残り高さで伸ばしCTAをカード下端に固定 (説明文の行数差によるズレ解消・PC/480不変) */
  body.page-id-9 #section-view .creation-motion-card .creation-motion-text,
  body.page-id-9 #section-read .creation-motion-card .creation-motion-text {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
  }
  body.page-id-9 #section-view .creation-motion-card .creation-card-view-all,
  body.page-id-9 #section-read .creation-motion-card .creation-card-view-all {
    margin-top: auto !important;
    padding-top: 0.5rem;
  }
}
@media (min-width: 481px) and (max-width: 765px) {
  /* 明示フォールバック: 現行縦1列に戻す (既存 max-width:768px の 1fr と同値再宣言・将来の上段ルール漏れ防止) */
  body.page-id-9 #section-view .creation-view-inner,
  body.page-id-9 #section-read .creation-read-inner {
    grid-template-columns: 1fr !important;
  }
}

/* plan soniria-role: tablet catchcopy boost 481-768 only (PC/mobile不変・1行保証の安全値) */
/* PC(769px+)でもbr非表示が必須のためベース則で担保（メディアクエリ外＝全幅デフォルト非表示→480側で上書き） */
.top-page .top-soniria-role-br { display: none !important; }
/* 2026-09-06 social policy導入文モバイル専用br — PC/タブレット不変（480側で表示） */
body.page-id-13 .policy-intro-br { display: none !important; }
/* 2026-09-06 social policyモバイル専用文言 — PC/タブレットはpc表示・sp非表示（480側で切替） */
body.page-id-13 .policy-w-sp { display: none; }
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-soniria-role {
    font-size: 1.05em; /* 仮値：481px実測で1行＋余白を確認し 1.05〜1.12em から安全側に確定。下限はdesc(0.95em)との階層差が付く値 */
    font-weight: 600; /* 現状維持を明示（変更なしでも可） */
    line-height: 1.6; /* 現状維持。行増なし設計のため変更禁止 */
    white-space: nowrap; /* 幅変動中の意図せぬ折返し抑止。溢れ時は ellipsis ではなく事前検証でサイズを下げる */
    overflow-wrap: normal;
    word-break: keep-all;
  }
  .top-page .top-soniria-role-br { display: none !important; } /* モバイル専用brをタブレットで確実に消す */
}

/* デザイン制作の説明文差し替え: タブレット/モバイルは2行収まり文言に切替 (PC不変・480以下にも継承) */
@media (max-width: 768px) {
  body.page-id-9 #section-view .creation-design-desc-pc {
    display: none !important;
  }
  body.page-id-9 #section-view .creation-design-desc-sp {
    display: inline !important;
  }
}

/* トップ「私と世界観」2画像のtablet 16:9化 (481-768のみ・PC/480不変)
   soniriaはID:11と同一画材(透過)のため端部tint上掛けも同一適用(中央16-84%はalpha 0でPCと同一描画)。
   worldview(sekaikan不透明)のため16:9クロップのみ(ID:11 worldviewと同一方針)。 */
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-soniria-img {
    aspect-ratio: 16 / 9;
  }
  .top-page .top-soniria-image {
    background:
      linear-gradient(90deg, rgba(79,169,198,0.80) 0%, rgba(79,169,198,0) 16%, rgba(125,115,180,0) 84%, rgba(125,115,180,0.80) 100%),
      linear-gradient(rgba(255,255,255,0.20), rgba(255,255,255,0.20)),
      linear-gradient(135deg, #8ED1E0 0%, #BBB7DA 50%, #F3FAFD 100%);
  }
  .top-page .top-worldview-img {
    aspect-ratio: 16 / 9;
  }
}

/* plan 1788595413964: ヒーロー左上 tokikai ブランド (タブレット/モバイル ≤768px のみ・PC不変)
   rev2: FAB(56px box・top:16px)と視覚対称にするため、ブランドも56px高flex中央揃え・left:24px内寄せ・1.6emへ拡大 */
.top-page .top-hero-brand { display: none; }
@media screen and (max-width: 768px) {
  .top-page .top-hero-brand {
    display: flex;
    align-items: center;
    height: 56px;
    position: absolute;
    top: calc(16px + env(safe-area-inset-top, 0px));
    left: calc(24px + env(safe-area-inset-left, 0px));
    z-index: 5;
    color: #fff;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(30,27,52,.55), 0 3px 14px rgba(30,27,52,.35), 0 0 26px rgba(46,42,78,.25);
    pointer-events: none;
    user-select: none;
  }
}

/* plan 1788596128458: /blog/ 年フィルター折りたたみ (641-768限定・PC/モバイル不変)
   Phase3(1754-)/R3(1912-)の max-width:768px 強制全表示(expand:none!important/extra:inline-flex!important)に
   後勝ちで上書きし、PC同様「すべて+直近3年+▸」に折りたたむ。769+/≤640に漏らさないよう
   @media 641-768 + .blog-page スコープ限定。page-blog.css/responsive-480.css/style.css不変。
   44px・nowrap1行・横スクロール維持。is-openクラス方式(JSのinlineと競合しにくい)。 */
@media (min-width: 641px) and (max-width: 768px) {
  .blog-page .blog-filter-scroll {
    display: block;
    overflow-x: auto;
    width: 100%;
  }
  .blog-page .blog-filter-year {
    flex-wrap: nowrap !important;
    gap: 0.4em;
  }
  .blog-page .blog-filter-year .blog-filter-btn {
    flex: 0 0 auto;
    scroll-snap-align: start;
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.45em 0.9em;
    font-size: 0.9rem;
  }
  .blog-page .blog-filter-expand {
    display: inline-flex !important;
  }
  /* JS inline display:none が !important に負けるため、タブレットの開閉は is-hidden クラスで上書き */
  .blog-page .blog-filter-expand.is-hidden {
    display: none !important;
  }
  .blog-page .blog-filter-extra {
    display: none !important;
    gap: 0.4em;
    flex-wrap: nowrap !important;
  }
  .blog-page .blog-filter-extra.is-open {
    display: inline-flex !important;
  }
  .blog-page .blog-filter-search {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* plan 1788598104313: blog navi hover whiteout fix — (0,4,1)で R4b background:#fff に勝つ。!importantなし */
/* メディアクエリ外=全幅共通で後勝ち。非ホバー時の白・radius・opacityは維持 */
.blog-page .page-navi-bar a[role="tab"]:hover {
  background-color: var(--color-fuji-mid, #7369A0);
  background-image: none;
  color: #ffffff;
  border-color: var(--color-fuji-mid, #7369A0);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  opacity: 1;
}
.blog-page .page-navi-bar a[role="tab"]:focus-visible {
  background-color: var(--color-fuji-mid, #7369A0);
  color: #ffffff;
  border-color: var(--color-fuji-mid, #7369A0);
  outline: 2px solid var(--color-fuji-mid, #7369A0);
  outline-offset: 2px;
  opacity: 1;
}
.blog-page .page-navi-bar a[role="tab"]:active {
  transform: translateY(0);
  box-shadow: 0 1px 4px rgba(31, 32, 65, 0.10);
}
/* 選択中タブのホバーも同値で維持（mobile !important選択色と競合させない） */
.blog-page .page-navi-bar a[role="tab"][aria-selected="true"]:hover {
  background-color: var(--color-fuji-mid, #7369A0);
  color: #ffffff;
  border-color: var(--color-fuji-mid, #7369A0);
}

/* plan 1788598104313 Task3: fixed navi active:hover — 紫背景時は白文字を維持（詳細度で active濃色に勝つ） */
.page-navi-bar a.is-active:hover,
.page-id-9 .page-navi-bar a.is-active:hover,
.page-id-11 .page-navi-bar a.is-active:hover,
.page-id-13 .page-navi-bar a.is-active:hover,
body.page .page-navi-bar a.is-active:hover {
  background-color: var(--color-fuji-mid, #7369A0);
  color: #ffffff;
  border-color: var(--color-fuji-mid, #7369A0);
}

/* plan 1788611755136: site-overview tablet 768 (641-768 only・PC/480不変) */
/* 概念4→3: 外1.5em 2em/内1.25em 1.75em→各1em 1emで本文幅+63px。体制: カード内のみ縦積み(3列row維持・画像80px維持)。D/E/F1: sp-punct-tab帯内非表示。F2: ※ぶら下げ。T-F3(margin-bottom:0)とは!important＋高詳細度で共存。font-size/overflow隠し/白カード12px未満なし */
@media (min-width: 641px) and (max-width: 768px) {
  /* タブレット限定非表示 (帯外は素のspan＝原文表示でPC/モバイル不変) */
  body.page-id-13 .sp-punct-tab {
    display: none !important;
  }
  /* 概念: 外グラデ＋白帯の二重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;
  }
  /* 体制3カード: 画像上・説明下の縦積み＋中央揃え (既存row !importantに後勝ち＋高詳細度で上書き。過程リンクのみ右下維持) */
  body.page-id-13 .social-team-wrapper .creation-three-column .profile-inline {
    flex-direction: column !important;
    align-items: center !important;
  }
  body.page-id-13 .social-team-wrapper .creation-three-column .profile-text {
    width: 100% !important;
    text-align: center !important;
  }
  body.page-id-13 .social-team-wrapper .creation-three-column .profile-text .nagaya-process-link {
    text-align: right !important;
  }
  /* 概念の手動<br>を帯内のみ無効化し自然改行で3行化 (帯外はspan inlineで<br>有効＝PC/モバイル不変) */
  body.page-id-13 .sp-br-tab {
    display: none !important;
  }
  /* 長屋3枚目のみの横並び特殊化(display:contents＋wrap)を縦積みに復元 */
  body.page-id-13 .social-team-wrapper .creation-three-column .creation-column-item:nth-child(3) .profile-text {
    display: block !important;
  }
  /* F2: ※ぶら下げ (2行目以降を※より1字右開始) */
  body.page-id-13 .social-contact-wrapper .operator-card-body > p:nth-of-type(2) {
    padding-left: 1em !important;
    text-indent: -1em !important;
  }
}

/* === plan 1788699419649 体制3カード改行位置調整 (641-768のみ・追記のみ・後勝ち) ===
   左: tokikai/世界観全域の活動、中: ゲーム制作/専任で活動で強制2行化。
   ベース非表示でPC/480/print不変、641-768のみinlineで<br>有効化。3枚目・font/色/border/padding/gap・JS不変。 */
body.page-id-13 .team-br-tab {
  display: none !important;
}
@media (min-width: 641px) and (max-width: 768px) {
  body.page-id-13 .team-br-tab {
    display: inline !important;
  }
}

/* === plan 1788619320962 QuickLinks8 C3'適用 (PC上部8x1＋下部TB/SP) ===
   追記のみ・後勝ち。既存2155-2887/R13/480スクロール則は不変。
   セレクタ分離厳守: 上部=.top-page > .top-quicklinks / 下部=.top-page .top-quicklinks--bottom。
   汎用.top-quicklinks/.top-quicklinks-itemでの底帯・ティック指定禁止。
   容器・見出し・chevron・FAサイズ・SpeakerDeck fit則・レイアウト(flex-basis/gap)は不変。 */

/* --- 下部C3 TB 601-768: 翡翠底帯+ティック (既存4x2 grid・container・i幅は継承) --- */
@media (min-width: 601px) and (max-width: 768px) {
  .top-page .top-quicklinks--bottom .top-quicklinks-item {
    position: relative;
    font-size: 14px;
    padding: 10px 12px;
    width: 100%;
    border-radius: 8px;
    font-weight: 500;
    min-height: 48px !important;
    background: #fff;
    color: #5F568E;
    border: 1px solid #DCE6EE;
    border-bottom: 3px solid rgba(43, 107, 88, 0.42);
    box-shadow: 0 6px 12px rgba(43, 107, 88, 0.075);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::before,
  .top-page .top-quicklinks--bottom .top-quicklinks-item::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 12px;
    border-radius: 1px;
    background: rgba(43, 107, 88, 0.42);
    pointer-events: none;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::before {
    left: 5px;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::after {
    right: 5px;
  }
}

/* --- 下部C3 SP <=600: 翡翠底帯+ティック (R13 0.85emより後勝ちで13px上書き。
   flex-basis/gap/center・container余白・i幅・SpeakerDeck例外は不変のため触らない) --- */
@media (max-width: 600px) {
  .top-page .top-quicklinks--bottom .top-quicklinks-item {
    position: relative;
    font-size: 13px;
    padding: 10px 10px;
    border-radius: 8px;
    font-weight: 500;
    min-height: 48px !important;
    background: #fff;
    color: #5F568E;
    border: 1px solid #DCE6EE;
    border-bottom: 3px solid rgba(43, 107, 88, 0.42);
    box-shadow: 0 6px 12px rgba(43, 107, 88, 0.075);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::before,
  .top-page .top-quicklinks--bottom .top-quicklinks-item::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 12px;
    border-radius: 1px;
    background: rgba(43, 107, 88, 0.42);
    pointer-events: none;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::before {
    left: 5px;
  }
  .top-page .top-quicklinks--bottom .top-quicklinks-item::after {
    right: 5px;
  }
}

/* --- hover/focus連動 (通常時より後に配置・既存#7369A0を上書き) ---
   2026-09-05 feedback: 濃すぎるため淡色化 (白文字AA維持: PC 4.62 / 翡翠 4.69。PC維持・翡翠のみ追加で一段階淡化)。
   hover時は底帯3pxを白化・左右ティックは白化維持。影は通常/hoverともalpha半減。
   ※白文字のままの淡色化はここが限界 (これ以上はAA 4.5割れ)。 */
/* PC上部: 空色系 (base #3F668C → hover #56789A。白文字比4.62でAA維持できる最淡側) */
.top-page > .top-quicklinks .top-quicklinks-item:hover {
  background: #56789A;
  border-color: #56789A;
  border-bottom-color: #fff;
  color: #fff;
  box-shadow: 0 8px 16px rgba(63, 102, 140, 0.125);
}
.top-page > .top-quicklinks .top-quicklinks-item:hover i,
.top-page > .top-quicklinks .top-quicklinks-item:hover .top-quicklinks-aff {
  color: inherit;
  opacity: 1;
}
.top-page > .top-quicklinks .top-quicklinks-item:focus-visible {
  outline: 2px solid #56789A;
  outline-offset: 2px;
}
.top-page > .top-quicklinks .top-quicklinks-item:active {
  transform: translateY(1px);
}
/* TB/SP下部: 翡翠系 (base #2B6B58 → hover #477E6E。白文字比4.69でAA維持) */
.top-page .top-quicklinks--bottom .top-quicklinks-item:hover {
  background: #477E6E;
  border-color: #477E6E;
  border-bottom-color: #fff;
  color: #fff;
  box-shadow: 0 8px 16px rgba(43, 107, 88, 0.125);
}
.top-page .top-quicklinks--bottom .top-quicklinks-item:hover i,
.top-page .top-quicklinks--bottom .top-quicklinks-item:hover .top-quicklinks-aff {
  color: inherit;
  opacity: 1;
}
.top-page .top-quicklinks--bottom .top-quicklinks-item:hover::before,
.top-page .top-quicklinks--bottom .top-quicklinks-item:hover::after {
  background: rgba(255, 255, 255, 0.6);
}
.top-page .top-quicklinks--bottom .top-quicklinks-item:focus-visible {
  outline: 2px solid #477E6E;
  outline-offset: 2px;
}
.top-page .top-quicklinks--bottom .top-quicklinks-item:active {
  transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
  .top-page > .top-quicklinks .top-quicklinks-item:active,
  .top-page .top-quicklinks--bottom .top-quicklinks-item:active {
    transform: none;
  }
}

/* plan 1788620028011: タイトル直下ナビ 下3px藤枠化の後勝ち上書き（style.css末尾と同値・responsive-768側の旧ホバー/選択中に勝つため再宣言。モバイルのブログ640タブは対象外）
   旧規定位: 1948-1951選択中・1954-1998ブログ640タブ・3453-3490ブログhover/active:hover。border-color一括指定は使わない。::after(シェブロン)不変。 */
.page-id-9 .page-navi-bar a:hover,
.page-id-11 .page-navi-bar a:hover,
.page-id-13 .page-navi-bar a:hover,
.blog-page .page-navi-bar a[role="tab"]:hover {
  background-color: #7D74A8;
  color: #ffffff;
  border-top: none;
  border-bottom: 3px solid #ffffff;
  border-left: 1px solid #7D74A8;
  border-right: 1px solid #7D74A8;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(125, 116, 168, 0.15);
  opacity: 1;
}
.page-id-9 .page-navi-bar a.is-active,
.page-id-11 .page-navi-bar a.is-active,
.page-id-13 .page-navi-bar a.is-active {
  background-color: #7D74A8;
  color: #ffffff;
  border-top: none !important;
  border-bottom: 3px solid #ffffff !important;
  border-left: 1px solid #7D74A8 !important;
  border-right: 1px solid #7D74A8 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(125, 116, 168, 0.15);
}
.page-id-9 .page-navi-bar a.is-active:hover,
.page-id-11 .page-navi-bar a.is-active:hover,
.page-id-13 .page-navi-bar a.is-active:hover {
  background-color: #7D74A8;
  color: #ffffff;
  border-top: none !important;
  border-bottom: 3px solid #ffffff !important;
  border-left: 1px solid #7D74A8 !important;
  border-right: 1px solid #7D74A8 !important;
}

/* plan 1788620028011: ブログ640px以下タブ型例外（上3pxのみ・下なし・上丸み維持・1954-1983の後勝ち）
   1971-1979 の border-top:2px藤mid !important / border-color !important に勝つため枠は個別指定＋!important（既存と同等のみ）。 */
@media (max-width: 640px) {
  .blog-page .page-navi-bar a[role="tab"] {
    border-top: 3px solid var(--color-fuji, #BBB7DA);
    border-bottom: none;
    border-left: 1px solid var(--color-border, #DCE6EE);
    border-right: 1px solid var(--color-border, #DCE6EE);
  }
  .blog-page .page-navi-bar a[role="tab"][aria-selected="true"] {
    background-color: #7D74A8 !important;
    color: #ffffff !important;
    border-top: 3px solid #ffffff !important;
    border-bottom: none !important;
    border-left: 1px solid #7D74A8 !important;
    border-right: 1px solid #7D74A8 !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1;
  }
  .blog-page .page-navi-bar a[role="tab"]:hover {
    background-color: #7D74A8;
    color: #ffffff;
    border-top: 3px solid #ffffff;
    border-bottom: none;
    border-left: 1px solid #7D74A8;
    border-right: 1px solid #7D74A8;
  }
}

/* plan 1788620028011: ブログ641px以上は下3pxのみに復帰（1984-1998リセットの後勝ち・明示のみで数値不変。選択中の着色はしない＝通常枠のみ） */
/* ========== plan 1788623694267 rev2: 7容器の左右余白（768px以下でのみ表示） ==========
   4-6容器は front-page-inline.css 末尾へ移設（本ファイル末尾則がブラウザへ届かない
   事象があったため・詳細はそちら）。ここには 1・2/4-6と同列化するための
   7容器左右 1em → 1.25em のみ残す（ボタン3列への影響は片側4px程度）。 */
@media (max-width: 768px) {
  .top-page .top-quicklinks-bottom {
    padding-left: 1.25em;
    padding-right: 1.25em;
  }
}

@media (min-width: 641px) {
  .blog-page .page-navi-bar a[role="tab"] {
    border-top: none;
    border-bottom: 3px solid var(--color-fuji, #BBB7DA);
    border-left: 1px solid var(--color-border, #DCE6EE);
    border-right: 1px solid var(--color-border, #DCE6EE);
  }
}

/* === plan 1788626518710: タブレット限定 トップ白カード横幅揃え（白カードのみ・見出し不変・481-768のみ・PC/480不変） ===
   実測 (Playwright・Chromium・fonts.ready後・ローカル環境のBASE_URL/):
   - 768/600/481で一致: activity行 left 38.5 vs 基準 56.5 ＝ -18.0/側、
     soniria/worldview left 40 vs 56.5 ＝ -16.5/側、rightも同量だけ広い（768: 729.5/728 vs blog 711.5）。
   - 内訳: 下部はセクション 22.5px＋グリッド 18px＝片側40.5px、上部は activity 22.5px・frame 24pxのみ。
   - 処方(候補B・見出し不変): .top-activity/.top-soniria-worldview-frame の padding には触れない。
     .top-activity-list に左右 18px、.top-soniria/.top-worldview に左右 16.5px の margin を付与し白カード外形のみ寄せる。
     タイトル (.top-activity-title/.top-soniria-worldview-section-title) は元の幅のまま。
   - 766-768帯の創作/メタ2列時は先頭カードが半幅のため right は full幅blog基準で評価（leftは3群一致）。
   - 詳細度 (0,2,0)/(0,3,0)＋本ファイル末尾(103)後勝ちのため !important 不要。margin一括・padding・上下・gap不変。
     frame(.top-cards-activity-frame)/.top-cards/.top-card・タイトル類不変。 */
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-activity .top-activity-list {
    margin-left: 18px;
    margin-right: 18px;
  }
  .top-page .top-soniria {
    margin-left: 16.5px;
    margin-right: 16.5px;
  }
  .top-page .top-worldview {
    margin-left: 16.5px;
    margin-right: 16.5px;
  }
}

/* === 世界観desc タブレット専用改行（481-768のみ表示・PC/480不変） ===
   基底では非表示（モバイル≤480・PCでは従来通り）。タブレット帯でのみ inline 表示し、
   「…交差させることで／新たな発見…」の指定位置で改行する。既存 .top-worldview-desc-br
   （480専用・「目指す」前）は不変のためモバイル表示は維持。文言自体はPHP側で置換。 */
.top-page .top-worldview-desc-br-tab {
  display: none;
}
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-worldview-desc-br-tab {
    display: inline;
  }
}

/* === ソニリアdesc タブレット専用改行（481-768のみ表示・PC/480不変） ===
   新規 .top-soniria-desc-br-tab を「和菓子が好き」直前（既存480専用brと同位置）に配置。
   基底none＋タブレット帯のみinline。既存 .top-soniria-desc-br（480側基底none・104後勝ちの
   ため768側の同詳細度では上書き不可）は不変のため、モバイル表示・PC自然改行は維持。 */
.top-page .top-soniria-desc-br-tab {
  display: none;
}
.top-page .top-soniria-desc-br-834 {
  display: none;
}
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-soniria-desc-br-tab {
    display: inline;
  }
}

/* === plan 1788627898979: タブレット限定 創作3枚＋その他情報3枚 desc全文1行化（481-768のみ・PC/480不変） ===
   実測 (Playwright・Chromium・DPR1・fonts.ready後・ローカル環境のBASE_URL/・viewport 768＝766-768の2列帯):
   - 創作desc 3件とも2行 (avail 278px / 真の1行幅 289px＝wbr除去cloneで計測 / 不足 11px)。
   - メタdesc 2件が2行 (avail 178px / nowrap実測 199px / 不足 21px)。残り1件は1行。
   - 600/481 (481-765の1列帯) は6件とも既に1行のため、ここでは幅を削らず2列帯の不足分だけ確保する。
   - 処方(外側→内側の最小量・左右対称・longhandのみ): セクション左右 22.5px→14px、
     グリッド左右 18px→12px (創作/メタ共通・片側合計 -14.5px＝1列あたり +14.5px)、
     創作カード左右 19.2px→16px (内容 +6.4px → 創作内容計 +20.9px ≧ +12px)、
     メタitem左 21.6px→14px (内容 +7.6px)＋.top-meta-right右 10.8px→6px (内容 +4.8px
     → メタ内容計 +26.9px ≧ +22px)。gap・grid-template-columns・3枚目calc(50%-0.5em)・
     シェブロン帯(padding-right:33px)・見出し/リード/上下/色/影/hover不変。font縮小・ellipsis・
     文言変更・br追加・1列化なし。3枚均等幅維持。
   - 詳細度: (0,2,0)+〜(0,4,0)で front-page-inline(102)・既存768則に末尾後勝ち。!important不要。
     min-width:481px付きのため後に読まれる responsive-480(104)・360/390例外へ漏れない。 */
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-creation {
    padding-left: 14px;
    padding-right: 14px;
  }
  .top-page .top-creation .top-creation-grid {
    padding-left: 12px;
    padding-right: 12px;
  }
  .top-page .top-creation .top-creation-grid > .top-creation-card {
    padding-left: 16px;
    padding-right: 16px;
  }
  .top-page .top-meta {
    padding-left: 14px;
    padding-right: 14px;
  }
  .top-page .top-meta .top-meta-grid {
    padding-left: 12px;
    padding-right: 12px;
  }
  .top-page .top-meta-item {
    padding-left: 14px;
  }
  .top-page .top-meta-right {
    padding-right: 6px;
  }
}

/* === 創作concept タブレット専用改行（481-768のみ表示・PC/480不変） ===
   page-creation.php 主な領域直下 .creation-concept の「——」後に配置した br を帯内のみ有効化。
   実測: 768px帯は L1「…どこに公開されているのか——」(486px・枠698pxに収まる)→L2「ソニリアの…紹介します」、
   600px帯は自然改行と同位置のため不変、481px帯はL1自体が枠(425px)に収まらずL1内自然折れ＋指定改行の3行
   （改行前も3行のため行数不増・「——」区切りは保証）。基底noneのためPC/モバイル・非JSは原文のまま。
   phrase-break.js(≤768でwbr挿入/復元)はbr要素自体に触れないため共存可。 */
.page-id-9 .creation-concept-br-tab {
  display: none;
}
@media (min-width: 481px) and (max-width: 768px) {
  .page-id-9 .creation-concept-br-tab {
    display: inline;
  }
}

/* === 創作concept keepユニットのダッシュ前折れ抑止（768px以下のみ・PC不変） ===
   .creation-concept-keep はwbrなし＋keep-allで基本一体だが、「——」(EM DASH)は
   keep-all下でも前側に改行機会が残り、480px帯で「——」だけ次行頭にぶら下がる実測あり。
   span内側の通常改行機会をnowrapで抑止し、収まらない場合はユニット全体で次行送りにする
   （span自体は通常inlineのため直前での折り返しは維持）。PC(769px+)には本則が当たらない。 */
@media (max-width: 768px) {
  .page-id-9 .creation-concept-keep {
    white-space: nowrap;
  }
}

/* plan 1788628779674追補: 創作紹介 481px以上で1.0rem化 (タブレット481-1024 + PC≥1025・≤480・print不変) */
@media (min-width: 481px) {
  .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,
  .page-id-9 #section-it .creation-sub-card .creation-sub-desc,
  .page-id-9 #section-3d .creation-sub-card .creation-sub-desc {
    font-size: 1.0rem;
  }
}

/* === plan 1788662640925 T4: 狭幅PC帯フォールバック (769-1130・末尾後勝ち・既存則不変) ===
   目的: T2の S/M/L min-width (1131px+隔離) が狭帯域で超過・2段化の原因にならないよう
   狭帯域では min-width:0 に戻し内容連動shrinkを許容。1行・hero超過なしを優先し不均一許容。
   既存の 769-1024 / 1025-1130 clamp則 (font/padding-inline/gap/column-gap) は残し、
   後勝ちで min-width のみ上書き。flex-wrap:nowrap / overflow-x:clip / white-space:nowrap /
   justify-content:center は維持。padding一括/min-height/line-height変更禁止を遵守。
   769-800の mobile-nav.css 100%/0則との競合なし (外幅は触らない)。 */
@media (min-width: 769px) and (max-width: 1130px) {
  .top-page > .top-quicklinks .top-quicklinks-item {
    min-width: 0 !important;
  }
}

/* === 2026-09-06 固定ページnavi横幅 S/M/L共通化 (601px以上のみ・600px以下は現状の内容連動に自動復帰) ===
   対象: ブログ(変更なし・元から等幅)/創作紹介(9)/ソニリアと世界観(11)/サイト概要(13)/サイトポリシー(3141・暫定)。
   方針: 第一に横幅統一を試み、1項目のために他が間延びする場合のみS/M/L段階化。
   手法は min-width (width固定なし・はみ出し防止) + 中央寄せ。font/padding/min-height/gap・文言・順序・href不変。
   T1実測 (1280・fonts.ready後・border-box・gap 10.4px):
   - 創作: IT74.1/3D78.8/観る91.6/読む91.6/ゲーム76.4 → 全体統一(93)では+19pxの間延びのため2段階 S80/L93。
     合計 3*80+2*93+4*10.4=467.6 <= 内幅504 (vw600実測) のため601px以上で1行保証。
   - 世界観: ソ91.6/世76.4/用76.4/活91.6/像76.4 → 2段階 S78/L93。合計 3*78+2*93+41.6=461.6。
   - 概要: tokikai76/メン91.6/営76.4/問122/ポ91.6 → 問合せのみ突出のため3段階 S78/M93/L124。
     合計 78*2+93*2+124+41.6=507.6 <= 内幅536 (vw600実測)。
    - ポリシー(7件・全4文字以下・2026-09-06短縮改訂): S68(著作権・AI学習)/M84(当サイト・使用素材・二次創作・リンク等・個人情報) の2段階。
      ボタン左右余白 0.9rem→0.6rem・gap 0.65rem→0.5rem 圧縮で合計 604px <= 内幅628 (Tablet 768実測) のためタブレット/PCは1行保証。
   - ブログ3タブは全幅で既に等幅のため対象外 (E2Eで固定のみ)。
   狭幅フォールバック: 601px未満には本則が当たらないため、2段化(550/560/510則)・横スクロール・
   内容連動幅の現状動作に自動復帰。タブレット/PCは1行、モバイルは2段を維持 (3段化なし)。 */
@media (min-width: 601px) {
  /* 共通: 幅を付けた分は中央寄せ (inline-flex既定startのままでは左寄りになる) */
  .page-id-9 .page-navi-bar a[href^="#section-"],
  .page-id-11 .page-navi-bar a[href^="#section-"],
  .page-id-13 .page-navi-bar a[href^="#section-"],
  nav.policy-navi a[href^="#policy-"] {
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }
  /* --- 創作紹介 (ID:9) 2段階 S80 / L93 --- */
  .page-id-9 .page-navi-bar a[href="#section-it"],
  .page-id-9 .page-navi-bar a[href="#section-3d"],
  .page-id-9 .page-navi-bar a[href="#section-game"] {
    min-width: 80px;
  }
  .page-id-9 .page-navi-bar a[href="#section-view"],
  .page-id-9 .page-navi-bar a[href="#section-read"] {
    min-width: 93px;
  }
  /* --- ソニリアと世界観 (ID:11) 2段階 S78 / L93 --- */
  .page-id-11 .page-navi-bar a[href="#section-sekai"],
  .page-id-11 .page-navi-bar a[href="#section-yogo"],
  .page-id-11 .page-navi-bar a[href="#section-mapping"] {
    min-width: 78px;
  }
  .page-id-11 .page-navi-bar a[href="#section-soniria"],
  .page-id-11 .page-navi-bar a[href="#section-katsudo"] {
    min-width: 93px;
  }
  /* --- サイト概要 (ID:13) 3段階 S78 / M93 / L124 --- */
  .page-id-13 .page-navi-bar a[href="#section-top"],
  .page-id-13 .page-navi-bar a[href="#section-unneisha"] {
    min-width: 78px;
  }
  .page-id-13 .page-navi-bar a[href="#section-seitai"],
  .page-id-13 .page-navi-bar a[href="#section-policy"] {
    min-width: 93px;
  }
  .page-id-13 .page-navi-bar a[href="#section-toiawase"] {
    min-width: 124px;
  }
  /* --- サイトポリシー (7件・全4文字以下・タブレット1行化) 2段階 S68 / M84 --- */
  nav.policy-navi a[href="#policy-02"],
  nav.policy-navi a[href="#policy-05"] {
    min-width: 68px;
  }
  nav.policy-navi a[href="#policy-01"],
  nav.policy-navi a[href="#policy-03"],
  nav.policy-navi a[href="#policy-04"],
  nav.policy-navi a[href="#policy-06"],
  nav.policy-navi a[href="#policy-07"] {
    min-width: 84px;
  }
  /* --- サイトポリシー ボタン余白圧縮 (601px以上・タブレット1行化) --- */
  nav.policy-navi a[href^="#policy-"] {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
  nav.policy-navi,
  nav.policy-navi .wp-block-group__inner-container {
    gap: 0.5rem;
  }
}

/* === plan 1788665754359: タブレット限定 ブログカード再配置（上段: サムネイル＋メタ / 下段: タイトル全幅2行） ===
   範囲: 641-768pxのみ隔離（640以下・769以上に影響ゼロ）。R2（1910-1931）より後勝ち＋body.blog-page付き詳細度で上書き。
   手法: CSSのみgrid化＋display:contentsで.title-area透過。home.php不変・DOM順序不変（読み上げ順維持・hover連動成立）。
   上段左右割合は現行通り（thumb列30%・gap按分）。font-size:1.15rem維持（157-159継承のため再定義は等値固定のみ）。
   min-height:2行のem計算は font-size:1.15rem前提（1.15rem*1.5*2）。フォント変更時は再計算が必要。
   .blog-card-bottomはdisplay:noneのまま（R2継承）・excerpt復活なし。chevron非表示・hover・focus・reduced-motion・printは既存継承。 */
@media (min-width: 641px) and (max-width: 768px) {
  body.blog-page .blog-list .blog-card .blog-card-top {
    display: grid !important;
    grid-template-columns: calc(30% - 0.4em) minmax(0, 1fr) !important;
    grid-template-areas: "thumb meta" "title title" !important;
    gap: 0.8em !important;
    row-gap: 0.6em !important;
    align-items: center !important;
    padding: 0.9em !important;
    padding-right: 1.6em !important;
  }
  body.blog-page .blog-card-thumb {
    grid-area: thumb !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    align-self: center !important;
    aspect-ratio: 16 / 9 !important;
  }
  body.blog-page .blog-card-title-area {
    display: contents !important;
  }
  body.blog-page .blog-card-meta {
    grid-area: meta !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.8em !important;
    min-width: 0 !important;
    font-size: 0.9em !important;
  }
  body.blog-page .blog-card-title {
    grid-area: title !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.5 !important;
    min-height: calc(1.15rem * 1.5 * 2) !important;
    margin: 0 !important;
    font-size: 1.15rem !important;
  }
}
/* 旧Safari等 display:contents非対応時のフォールバック: 現行R2表示に復帰（縦積み崩れ防止） */
@supports not (display: contents) {
  @media (min-width: 641px) and (max-width: 768px) {
    body.blog-page .blog-list .blog-card .blog-card-top {
      display: flex !important;
    }
    body.blog-page .blog-card-title-area {
      display: block !important;
    }
  }
}

/* === plan 1788665840152: ID11 soniria/worldview タブレット縦積み詰め (481-768のみ・<=480/>=769/print不変) ===
   狙い: 視覚余白を 約44-72px → 約20pxに統一（モバイル実績と同値）。
   内訳: 上パネル下padding 6px + 外gap 8px + 下パネル上padding 6px = 20px。
   手法: 外gap一括8px + longhand片側のみ（左右・外側上下は10px維持でtint外形不変）+ WPコアmargin打消し。
   除外: mapping/katsudo・フォント/色/padding外形・PC/printには触れない。 */
@media (min-width: 481px) and (max-width: 768px) {
  .page-id-11 .creation-two-column:has(> .character-soniria-media),
  .page-id-11 .creation-two-column:has(> .character-worldview-media) {
    gap: 8px;
  }
  .page-id-11 .creation-two-column > .character-soniria-media,
  .page-id-11 .creation-two-column > .character-worldview-media {
    padding-bottom: 6px !important;
  }
  .page-id-11 .creation-two-column > .character-soniria-text,
  .page-id-11 .creation-two-column > .character-worldview-text {
    padding-top: 6px !important;
  }
  /* WPコア @media(max-width:781px) .wp-block-column{margin-bottom:1.8em} の打消しでgap一本化
     （ID13前例・モバイル1788628163245と同手法。実測0なら残しても無害だが差分最小のため条件付きではなく一律0化） */
  .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-soniria-text,
  .page-id-11 .creation-two-column > .character-worldview-text {
    margin-bottom: 0 !important;
  }
}

/* moved from css/page-single.css:389-452 [768] (plan 1788322173688) — T-01 responsive-tidy 1788672824824: PC層隔離・逐語移動・PC不変 */
@media (max-width: 768px) {
  /* single: 768以下で wrap を viewport 追従 + カード内テキストに左右余白を確保（PC不変） */
  body.single .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }
  body.single .content,
  body.single .content-in {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  body.single #main,
  body.single .main {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  body.single #main .article {
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  body.single #main .article-header,
  body.single #main .entry-content,
  body.single #main .article-footer,
  body.single #main #breadcrumb {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
  }
  body.single #related-entries {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 1.2em 1rem 1em !important;
    box-sizing: border-box !important;
  }
  /* 画像/テーブル溢れの保険 */
  body.single .entry-content img,
  body.single .entry-content figure,
  body.single .entry-content table,
  body.single .entry-content pre {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.single .entry-content pre,
  body.single .entry-content figure.wp-block-table {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* content-in gap 競合保険（H4検出時は gap:0） */
  body.single .content-in {
    gap: 0 !important;
  }
}

/* moved from css/section-soniria.css:302-307 [768] — T-01 responsive-tidy 1788672824824: aff縦積み1.0em戻し・逐語移動・PC不変 */
@media screen and (max-width: 768px){
  .top-soniria .top-card-aff{
    /* 縦積みでは絶対Y比較は無意味なため元の 1.0em に戻す（右と同一トークン） */
    margin-top: 1.0em;
  }
}

/* === タブレット限定 創作/その他情報の見出し幅を技術/リンク集に一致 (481-768のみ・PC/480不変・見出しのみ) ===
   原因: plan 1788627898979で .top-creation/.top-meta の容器左右を22.5px→14pxに詰めたため
   見出し（width:100%）が .top-blog/.top-quicklinks-bottom より片側8.5pxずつ広くなった（実測768: 708 vs 691）。
   処方: 見出し自体に左右8.5pxのmarginを付与し外形のみ寄せる。width:autoで100%+marginの溢れを防止。
   容器・カード・grid・上下・色・subtitle・リード不変。技術（.top-blog-title）を正とする。 */
@media (min-width: 481px) and (max-width: 768px) {
  .top-page .top-creation .top-creation-title,
  .top-page .top-meta .top-meta-section-title {
    margin-left: 8.5px;
    margin-right: 8.5px;
    width: auto;
    max-width: 1115px;
  }
}
