.jc-mobile-archive-heading,
.jc-mobile-archive-brand,
.jc-mobile-archive-header-art,
.jc-mobile-archive-menu-close-art {
  display: none;
}

.jc-mobile-archive-menu-button {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
}

@media screen and (max-width: 899px) {
  body.jc-route-mobile-inner {
    --jc-sub-pink: #d6515d;
    --jc-sub-blue: #5c8fc6;
    --jc-sub-ink: #5f4a50;
    --jc-sub-line: #f5ccd0;
    --jc-sub-soft: #fff7f8;
    --jc-sub-blue-soft: #f3f8fc;
    --jc-sub-shadow: 0 5px 14px rgba(110, 91, 97, 0.1);
    overflow-x: hidden;
    color: var(--jc-sub-ink);
    background: #fffaf8;
  }

  body.jc-route-mobile-inner .frame {
    width: 100%;
    max-width: none;
    padding-bottom: 0;
    background: #fffaf8 url("../images/top_haikei3.png") center top / 390px auto repeat-y;
    overflow-x: clip;
  }

  /* The mobile subpage header is the same artwork and control as the home menu. */
  body.jc-route-mobile-inner header.jc-theme-header,
  body.jc-route-mobile-inner header.jc-news-mobile-archive-header {
    position: relative;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: min(42.0513vw, 180px);
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    transform: none;
  }

  body.jc-route-mobile-inner header > img:first-child,
  body.jc-route-mobile-inner .jc-theme-brand .jc-theme-wordmark {
    display: none;
  }

  body.jc-route-mobile-inner .jc-mobile-archive-brand,
  body.jc-route-mobile-inner .jc-theme-brand:has(.jc-mobile-archive-header-art) {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    line-height: 0;
  }

  body.jc-route-mobile-inner .jc-mobile-archive-header-art {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
  }

  body.jc-route-mobile-inner header .hmb {
    appearance: none;
    position: absolute;
    top: 18px;
    right: 12px;
    left: auto;
    z-index: 3;
    display: flex;
    visibility: visible;
    opacity: 1;
    align-items: center;
    justify-content: center;
    width: 58px;
    min-width: 58px;
    height: 58px;
    min-height: 58px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    transform: none;
    pointer-events: auto;
  }

  body.jc-route-mobile-inner header .hmb img {
    display: block;
    width: 48px;
    max-width: 48px;
    height: 48px;
    object-fit: contain;
  }

  body.jc-route-mobile-inner .hmb_cvr > .jc-overlay-logo,
  body.jc-route-mobile-inner .hmb_cvr > img:first-child {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    line-height: 0;
  }

  body.jc-route-mobile-inner .hmb_cvr .jc-menu-close {
    appearance: none;
    position: absolute;
    top: 18px;
    right: 12px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    min-width: 130px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .hmb_cvr .jc-menu-close-symbol {
    display: none;
  }

  body.jc-route-mobile-inner .hmb_cvr .jc-mobile-archive-menu-close-art,
  body.jc-route-mobile-inner .hmb_cvr .jc-menu-close > img {
    display: block;
    width: 130px;
    max-width: 130px;
    height: 40px;
    object-fit: contain;
  }

  body.jc-route-mobile-inner .jc-theme-shell,
  body.jc-route-mobile-inner .jc-theme-main,
  body.jc-route-mobile-inner main {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding-top: 0;
    background: transparent;
    overflow: visible;
  }

  body.jc-route-mobile-inner main.jc-mobile-archive,
  body.jc-route-mobile-inner main.jc-mobile-subpage {
    background-color: transparent;
    background-image: none;
  }

  body.jc-route-mobile-inner main.jc-mobile-archive > .t_hero,
  body.jc-route-mobile-inner main.jc-mobile-archive > .p_hero,
  body.jc-route-mobile-inner .jc-desktop-side,
  body.jc-route-mobile-inner .jc-bottom-nav,
  body.jc-route-mobile-inner .f_scl,
  body.jc-route-mobile-inner main.jc-mobile-archive > article > .jc-pc-menu {
    display: none;
  }

  /* Shared compact title band. */
  body.jc-route-mobile-inner .jc-mobile-archive-heading,
  body.jc-route-mobile-inner main:not(.jc-mobile-archive) > .p_hero.jc-section-heading {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 152px;
    margin: 0;
    padding: 12px 6px 18px;
    box-sizing: border-box;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }

  body.jc-route-mobile-inner .jc-section-heading::after {
    display: none;
  }

  body.jc-route-mobile-inner .jc-section-heading__inner {
    display: grid;
    justify-items: center;
    gap: 3px;
    width: 100%;
    max-width: 390px;
  }

  body.jc-route-mobile-inner .jc-section-heading h1,
  body.jc-route-mobile-inner .jc-section-heading .ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--jc-sub-ink);
    font-size: 30px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
    text-align: center;
  }

  body.jc-route-mobile-inner .jc-section-heading h1 img,
  body.jc-route-mobile-inner .jc-section-heading .ttl img {
    display: block;
    width: 347.5px;
    max-width: calc(100vw - 12px);
    max-height: none;
    height: auto;
    object-fit: contain;
  }

  body.jc-route-mobile-inner .jc-section-heading--image h1,
  body.jc-route-mobile-inner .jc-section-heading--image .ttl,
  body.jc-route-mobile-inner .jc-section-heading--text h1,
  body.jc-route-mobile-inner .jc-section-heading--text .ttl {
    min-height: 80px;
  }

  body.jc-route-mobile-inner .jc-section-heading--image h1 img,
  body.jc-route-mobile-inner .jc-section-heading--image .ttl img {
    width: auto;
    max-width: calc(100vw - 24px);
    max-height: 80px;
  }

  body.jc-route-mobile-inner .jc-section-heading__support {
    margin: 0;
    color: #786368;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }

  body.jc-route-mobile-inner .jc-section-heading__dots {
    display: block;
    width: 100vw;
    max-width: 390px;
    position: relative;
    left: -6px;
    transform: none;
    height: auto;
    aspect-ratio: 695 / 40;
    background: url("../images/top_background_kazari1.png") center / 111.916% auto no-repeat;
  }

  body.jc-route-mobile-inner .jc-section-heading .pankuzu,
  body.jc-route-mobile-inner .jc-section-heading > nav {
    display: none;
  }

  body.jc-route-mobile-inner main > article {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
  }

  body.jc-route-mobile-inner main > article > section {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 16px 12px 34px;
    box-sizing: border-box;
    background: transparent;
  }

  body.jc-route-mobile-inner main > article > section > .ctr,
  body.jc-route-mobile-inner .n_s1 > .ctr,
  body.jc-route-mobile-inner .o_s3 > .ctr,
  body.jc-route-mobile-inner .wallpaper_page > .ctr,
  body.jc-route-mobile-inner .jc-news-list > .ctr {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  body.jc-route-mobile-inner main.jc-news-template-page .jc-news-list > h1 {
    display: none;
  }

  /* ContentCard: all archive cards share one visual contract. */
  body.jc-route-mobile-inner .n_s1 .row,
  body.jc-route-mobile-inner .o_s3 .row,
  body.jc-route-mobile-inner .wallpaper_page .row,
  body.jc-route-mobile-inner .jc-news-list .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body.jc-route-mobile-inner .jc-content-card,
  body.jc-route-mobile-inner .jc-news-list a.col {
    position: relative;
    display: block;
    float: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0 0 9px;
    box-sizing: border-box;
    color: var(--jc-sub-ink);
    text-decoration: none;
    border: 1px solid var(--jc-sub-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--jc-sub-shadow);
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  }

  body.jc-route-mobile-inner .o_s3 .jc-content-card {
    padding: 0;
  }

  body.jc-route-mobile-inner .o_s3 .jc-content-card > a {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
  }

  body.jc-route-mobile-inner .jc-content-card:hover,
  body.jc-route-mobile-inner .jc-content-card:focus-visible,
  body.jc-route-mobile-inner .jc-content-card:has(> a:focus-visible),
  body.jc-route-mobile-inner .jc-news-list a.col:hover,
  body.jc-route-mobile-inner .jc-news-list a.col:focus-visible {
    border-color: #eaaeb5;
    box-shadow: 0 8px 18px rgba(110, 91, 97, 0.14);
    transform: translateY(-1px);
    outline: 3px solid var(--jc-sub-pink);
    outline-offset: 2px;
  }

  body.jc-route-mobile-inner .jc-content-card .thmb,
  body.jc-route-mobile-inner .jc-news-list a.col .thmb {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    border-radius: 7px 7px 0 0;
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
  }

  body.jc-route-mobile-inner .jc-news-section .jc-content-card .thmb,
  body.jc-route-mobile-inner .jc-news-list a.col .thmb,
  body.jc-route-mobile-inner .o_s3 .jc-content-card .thmb {
    aspect-ratio: 3 / 2;
  }

  body.jc-route-mobile-inner .jc-diary-section .jc-content-card .thmb {
    aspect-ratio: 4 / 5;
  }

  body.jc-route-mobile-inner .jc-content-card .cate,
  body.jc-route-mobile-inner .jc-news-list a.col .cate,
  body.jc-route-mobile-inner .jc-content-card .jc-video-platform {
    display: inline-flex;
    visibility: visible;
    opacity: 1;
    align-items: center;
    width: auto;
    max-width: calc(100% - 16px);
    height: 22px;
    min-height: 22px;
    margin: 7px 8px 2px;
    padding: 0 8px;
    box-sizing: border-box;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    border-radius: 999px;
    background: var(--jc-sub-pink);
  }

  body.jc-route-mobile-inner .jc-diary-section .jc-content-card .cate,
  body.jc-route-mobile-inner .jc-video-page .jc-video-platform {
    background: var(--jc-sub-blue);
  }

  body.jc-route-mobile-inner .jc-content-card .time,
  body.jc-route-mobile-inner .jc-news-list a.col .time,
  body.jc-route-mobile-inner .jc-content-card .jc-video-date {
    display: block;
    visibility: visible;
    opacity: 1;
    width: auto;
    margin: 7px 8px 2px 0;
    color: #80686d;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;
    text-align: left;
  }

  body.jc-route-mobile-inner .jc-content-card .time,
  body.jc-route-mobile-inner .jc-news-list a.col .time {
    float: right;
  }

  body.jc-route-mobile-inner .jc-content-card .ttl,
  body.jc-route-mobile-inner .jc-news-list a.col .ttl {
    display: -webkit-box;
    clear: both;
    visibility: visible;
    opacity: 1;
    width: auto;
    min-height: calc(1.45em * 2);
    max-height: calc(1.45em * 2);
    margin: 3px 8px 0;
    color: var(--jc-sub-ink);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: 0;
    text-align: center;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-pack: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.jc-route-mobile-inner .o_s3 .jc-content-card .ttl {
    margin-bottom: 9px;
  }

  /* Video keeps its 3:4 layered animation without exposing unrelated media. */
  body.jc-route-mobile-inner .jc-video-page .jc-video-thumb {
    position: relative;
    aspect-ratio: 3 / 4;
    background: #fff;
    border-bottom: 1px solid var(--jc-sub-line);
  }

  body.jc-route-mobile-inner .jc-video-page .jc-video-thumb-layer,
  body.jc-route-mobile-inner .jc-video-detail-thumb .jc-video-thumb-layer {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  body.jc-route-mobile-inner .jc-video-page .jc-video-thumb-matte,
  body.jc-route-mobile-inner .jc-video-detail-thumb .jc-video-thumb-matte {
    background: #fff;
  }

  /* Wallpaper assets stay vertical and each card keeps the whole image visible. */
  body.jc-route-mobile-inner .wallpaper_page .jc-content-card {
    padding-bottom: 8px;
  }

  body.jc-route-mobile-inner .wallpaper_page .jc-wallpaper-card {
    display: block;
    width: 100%;
    height: auto;
    color: inherit;
    text-decoration: none;
  }

  body.jc-route-mobile-inner .wallpaper_page .jc-wallpaper-card img {
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16;
    object-fit: contain;
    background: #fff;
  }

  body.jc-route-mobile-inner .wallpaper_page .jc-wallpaper-card .ttl {
    display: -webkit-box;
    min-height: calc(1.45em * 2);
    max-height: calc(1.45em * 2);
    margin: 7px 8px 0;
    color: var(--jc-sub-ink);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.45;
    text-align: center;
    overflow: hidden;
    -webkit-box-pack: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  /* Pagination and progressive loading use the red/blue pill language from home. */
  body.jc-route-mobile-inner .pagen {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 24px auto 0;
    padding: 0;
    list-style: none;
  }

  body.jc-route-mobile-inner .pagen li {
    margin: 0;
    padding: 0;
  }

  body.jc-route-mobile-inner .pagen .jc-page-btn,
  body.jc-route-mobile-inner .story_back_btn,
  body.jc-route-mobile-inner .jc-video-link,
  body.jc-route-mobile-inner .wallpaper_download_btn,
  body.jc-route-mobile-inner .jc-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    box-sizing: border-box;
    color: var(--jc-sub-pink);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.3;
    text-decoration: none;
    border: 2px solid #efaab2;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(110, 91, 97, 0.08);
  }

  body.jc-route-mobile-inner .pagen li:nth-child(even) .jc-page-btn,
  body.jc-route-mobile-inner .jc-prev-next .jc_prev,
  body.jc-route-mobile-inner .jc_prev_next .jc_prev {
    color: var(--jc-sub-blue);
    border-color: #a8c8e7;
  }

  body.jc-route-mobile-inner .jc-page-btn:focus-visible,
  body.jc-route-mobile-inner .story_back_btn:focus-visible,
  body.jc-route-mobile-inner .jc-video-link:focus-visible,
  body.jc-route-mobile-inner .wallpaper_download_btn:focus-visible,
  body.jc-route-mobile-inner .jc-back-button:focus-visible {
    outline: 3px solid var(--jc-sub-pink);
    outline-offset: 3px;
  }

  body.jc-route-mobile-inner .story_back_btn {
    display: flex !important;
    width: max-content !important;
    margin: 14px auto 0 !important;
  }

  body.jc-route-mobile-inner .story_back_btn img {
    display: none;
  }

  body.jc-route-mobile-inner .jc-infinite-controls {
    display: none;
    min-height: 0;
    margin: 0;
  }

  body.jc-route-mobile-inner .jc-infinite-controls:has(.jc-infinite-sentinel:not([hidden])),
  body.jc-route-mobile-inner .jc-infinite-controls:has(.jc-infinite-more:not([hidden])) {
    display: grid;
    place-items: center;
    min-height: 58px;
    margin: 12px 0 0;
  }

  body.jc-route-mobile-inner .jc-infinite-sentinel:not([hidden]) {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 44px;
    height: auto;
    margin: 0;
  }

  body.jc-route-mobile-inner .jc-infinite-sentinel span {
    width: 28px;
    height: 28px;
    border-width: 3px;
  }

  /* ArticleSurface */
  body.jc-route-mobile-inner .single,
  body.jc-route-mobile-inner .single .ctr {
    text-align: left;
  }

  body.jc-route-mobile-inner .jc-article-surface,
  body.jc-route-mobile-inner .jc-story-single > .jc-article-surface {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    color: var(--jc-sub-ink);
    border: 1px solid var(--jc-sub-line);
    border-radius: 8px;
    background: #fffdfc;
    box-shadow: var(--jc-sub-shadow);
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-surface {
    padding: 20px;
    border: 1px solid rgba(240, 191, 197, .72);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(110, 91, 97, .12);
    overflow: hidden;
  }

  body.jc-route-mobile-inner .jc-article-header {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 16px;
    background: transparent;
    border-bottom: 1px solid var(--jc-sub-line);
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-header {
    padding: 0 0 18px;
    border: 0;
    border-bottom: 1px solid var(--jc-sub-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-detail-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
  }

  body.jc-route-mobile-inner .jc-detail-meta .cate {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin: 0;
    padding: 2px 9px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.3;
    border-radius: 999px;
    background: var(--jc-sub-pink);
  }

  body.jc-route-mobile-inner .jc-detail-date,
  body.jc-route-mobile-inner .jc-detail-meta .jc-video-date {
    margin: 0;
    color: #80686d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
  }

  body.jc-route-mobile-inner .jc-article-header h1,
  body.jc-route-mobile-inner .jc-story-single .jc-article-header h1,
  body.jc-route-mobile-inner .wallpaper_single .jc-article-header h1,
  body.jc-route-mobile-inner .jc-video-single .jc-article-header h1 {
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--jc-sub-ink);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: 0;
    text-align: left;
    overflow-wrap: anywhere;
  }

  body.jc-route-mobile-inner .jc-article-body {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    color: var(--jc-sub-ink);
    font-size: 14px;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body {
    margin-top: 0;
    padding-top: 20px;
  }

  body.jc-route-mobile-inner .jc-article-body p,
  body.jc-route-mobile-inner .jc-article-body li {
    line-height: 1.75;
  }

  body.jc-route-mobile-inner .jc-article-body img,
  body.jc-route-mobile-inner .jc-story-single .jc-article-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-article-body > img:first-child {
    margin-top: 0;
  }

  body.jc-route-mobile-inner .jc-detail-inner > .thumbnails,
  body.jc-route-mobile-inner .jc-article-body > .thumbnails {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 16px;
    border-radius: 0;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > :is(p, .single_body, .txt, blockquote, dl),
  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > :is(h3, h4, h5) {
    box-sizing: border-box;
    padding-right: 0;
    padding-left: 0;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > :is(p, .single_body, .txt, blockquote, dl, ul, ol) {
    margin-top: 0;
    margin-bottom: 20px;
    padding-top: 0;
    padding-bottom: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > :is(ul, ol) {
    box-sizing: border-box;
    padding-right: 0;
    padding-left: 20px;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > h2 {
    margin: 24px -20px 14px;
    padding: 9px 20px;
    color: var(--jc-sub-ink);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.5;
    background: rgba(255, 232, 236, 0.72);
    border: 0;
    border-top: 1px solid #f0ccd2;
    border-bottom: 1px solid #f0ccd2;
    border-radius: 0;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > h2 + :is(p, ul, ol) {
    margin-top: 0;
    border: 0;
    border-radius: 0;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-body > .bg {
    margin: 24px 0 0;
    padding: 20px 0 0;
    background: transparent;
    border-top: 1px solid #f0ccd2;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-related-content {
    display: grid !important;
    gap: 10px;
    width: auto;
    max-width: 620px;
    margin: 22px 16px 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--jc-sub-line);
  }

  body.jc-route-mobile-inner .jc-related-content h2 {
    margin: 0;
    color: var(--jc-sub-ink);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.4;
  }

  body.jc-route-mobile-inner .jc-related-content .story_news_card {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-height: 72px;
    margin: 0;
    padding: 8px;
    box-sizing: border-box;
    color: var(--jc-sub-ink);
    text-decoration: none;
    border: 1px solid var(--jc-sub-line);
    border-radius: 7px;
    background: var(--jc-sub-soft);
  }

  body.jc-route-mobile-inner .jc-related-content .story_news_thumb,
  body.jc-route-mobile-inner .jc-related-content .story_news_thumb img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
  }

  body.jc-route-mobile-inner .jc_prev_next {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 680px;
    margin: 18px auto 0;
    padding: 0;
    transform: none;
  }

  body.jc-route-mobile-inner .jc_prev_next a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    padding: 0 14px;
    color: var(--jc-sub-ink);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    border-radius: 999px;
    background: #edf2f5;
  }

  body.jc-route-mobile-inner main.jc-detail-template-page > article > .jc-detail-back-panel {
    margin: 12px 0 0 !important;
    padding: 0 16px 20px !important;
    box-sizing: border-box !important;
  }

  body.jc-route-mobile-inner main.jc-detail-template-page > article > .jc-detail-back-panel .story_back_btn {
    margin: 0 auto !important;
  }

  /* Video detail separates media, copy and external action. */
  body.jc-route-mobile-inner .jc-video-media {
    width: 100%;
    margin: 0 auto 16px;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 7px;
    background: var(--jc-sub-blue-soft);
  }

  body.jc-route-mobile-inner .jc-video-detail-thumb {
    position: relative;
    width: min(100%, 280px);
    aspect-ratio: 3 / 4;
    margin: 0 auto;
    border: 1px solid var(--jc-sub-line);
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
  }

  body.jc-route-mobile-inner .jc-video-actions {
    margin: 18px 0 !important;
    text-align: center;
  }

  body.jc-route-mobile-inner .jc-video-related-list {
    display: grid;
    gap: 8px;
  }

  body.jc-route-mobile-inner .jc-video-related-thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
  }

  body.jc-route-mobile-inner .jc-video-related .story_news_title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  body.jc-route-mobile-inner .jc-video-link {
    color: #fff;
    background: var(--jc-sub-pink);
  }

  /* One wallpaper asset, one clearly associated action. */
  body.jc-route-mobile-inner .jc-wallpaper-asset {
    display: grid;
    justify-items: center;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 12px;
    box-sizing: border-box;
    border-radius: 7px;
    background: var(--jc-sub-blue-soft);
  }

  body.jc-route-mobile-inner .jc-wallpaper-asset p {
    width: 100%;
    margin: 0;
  }

  body.jc-route-mobile-inner .jc-wallpaper-asset .thumbnails {
    display: block;
    width: min(100%, 300px);
    height: auto;
    margin: 0 auto;
    border-radius: 6px;
  }

  body.jc-route-mobile-inner .wallpaper_download_btn {
    color: #fff;
    background: var(--jc-sub-pink);
  }

  /* Contact form: intro and form share one continuous reading surface. */
  body.jc-route-mobile-inner .c_s3 > .ctr {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 6px;
    background: rgba(255, 253, 252, 0.84);
  }

  body.jc-route-mobile-inner .c_s3 .drow,
  body.jc-route-mobile-inner .c_s3 .drow2 {
    display: none;
  }

  body.jc-route-mobile-inner .jc-consent-row .jc-check-label {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 56px;
    cursor: pointer;
  }

  body.jc-route-mobile-inner .jc-contact-intro,
  body.jc-route-mobile-inner .c_s3 .inr {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-contact-intro {
    display: grid;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--jc-sub-line);
  }

  body.jc-route-mobile-inner .jc-contact-intro .imgbox {
    width: 100%;
    margin: 0;
  }

  body.jc-route-mobile-inner .jc-contact-intro .imgbox img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-contact-guidance {
    box-sizing: border-box;
    padding: 0 18px;
    border-radius: 0;
    background: transparent;
  }

  body.jc-route-mobile-inner .jc-contact-guidance .txt {
    margin: 0;
    font-size: 12px;
    line-height: 1.8;
  }

  body.jc-route-mobile-inner .c_s3 .inr > .info {
    margin: 20px 0;
  }

  body.jc-route-mobile-inner .jc-form-field {
    display: grid;
    gap: 7px;
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.jc-route-mobile-inner .jc-form-field label,
  body.jc-route-mobile-inner .jc-field-label {
    margin: 0;
    color: var(--jc-sub-ink);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.5;
  }

  body.jc-route-mobile-inner .jc-form-field input[type="text"],
  body.jc-route-mobile-inner .jc-form-field input[type="email"],
  body.jc-route-mobile-inner .jc-form-field input[type="tel"],
  body.jc-route-mobile-inner .jc-form-field textarea {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    box-sizing: border-box;
    color: #3f3035;
    font-size: 16px;
    line-height: 1.5;
    border: 1px solid #edaab2;
    border-radius: 6px;
    background: #fff;
  }

  body.jc-route-mobile-inner .jc-form-field textarea {
    min-height: 150px;
    resize: vertical;
    border-color: #edaab2 !important;
  }

  body.jc-route-mobile-inner .jc-form-field .textareaDiv,
  body.jc-route-mobile-inner .jc-form-field .policy,
  body.jc-route-mobile-inner .jc-form-field .formcheckPrivacy {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body.jc-route-mobile-inner .jc-form-field > .policy {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.jc-route-mobile-inner .jc-form-field:has(.policy) {
    padding: 12px 0;
    border-top: 1px solid var(--jc-sub-line);
    border-bottom: 1px solid var(--jc-sub-line);
    background: transparent;
  }

  body.jc-route-mobile-inner .jc-check-label {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 6px;
    box-sizing: border-box;
    cursor: pointer;
  }

  body.jc-route-mobile-inner .jc-check-label input[type="checkbox"] {
    flex: 0 0 26px;
    width: 26px;
    min-width: 26px;
    height: 26px;
    margin: 0;
    accent-color: var(--jc-sub-pink);
  }

  body.jc-route-mobile-inner .c_s3 .check {
    margin: 20px 0;
    padding: 14px 0;
    font-size: 12px;
    line-height: 1.8;
    border-top: 1px solid var(--jc-sub-line);
    border-bottom: 1px solid var(--jc-sub-line);
    border-radius: 0;
    background: transparent;
  }

  body.jc-route-mobile-inner .c_s3 .smtbox,
  body.jc-route-mobile-inner .jc-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 16px 0 0;
  }

  body.jc-route-mobile-inner .c_s3 .smtbox input[type="submit"],
  body.jc-route-mobile-inner .c_s3 .smtbox button {
    min-width: 176px;
    min-height: 46px;
    padding: 0 22px;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    border: 0;
    border-radius: 999px;
    background: var(--jc-sub-pink);
    box-shadow: 0 5px 12px rgba(110, 91, 97, 0.13);
  }

  /* Lower pages use the exact home promo and official-account footer sections. */
  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .t_s5,
  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .t_s7 {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
  }

  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .bg_white {
    position: static;
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
  }

  body.jc-route-mobile-inner footer.p_f > a,
  body.jc-route-mobile-inner footer.p_f .jc-footer-contact,
  body.jc-route-mobile-inner footer.p_f .shr,
  body.jc-route-mobile-inner footer.p_f .jc-global-copy--legacy {
    display: none !important;
  }

  body.jc-route-mobile-inner footer.p_f .jc-global-copy--mobile {
    display: block !important;
  }

  /* Narrow bridge for legacy declarations that were shipped with !important. */
  body.jc-route-mobile-inner header.jc-theme-header,
  body.jc-route-mobile-inner header.jc-news-mobile-archive-header {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: min(42.0513vw, 180px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.jc-route-mobile-inner .jc-mobile-archive-brand,
  body.jc-route-mobile-inner .jc-theme-brand:has(.jc-mobile-archive-header-art) {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    line-height: 0 !important;
  }

  body.jc-route-mobile-inner .jc-mobile-archive-header-art {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }

  body.jc-route-mobile-inner .jc-mobile-archive-heading,
  body.jc-route-mobile-inner main:not(.jc-mobile-archive) > .p_hero.jc-section-heading {
    height: auto !important;
    min-height: 152px !important;
    padding: 12px 6px 18px !important;
    background: transparent !important;
  }

  body.jc-route-mobile-inner .jc-section-heading h1 img,
  body.jc-route-mobile-inner .jc-section-heading .ttl img {
    width: 347.5px !important;
    max-width: calc(100vw - 12px) !important;
    max-height: none !important;
    height: auto !important;
  }

  body.jc-route-mobile-inner .jc-section-heading--image h1 img,
  body.jc-route-mobile-inner .jc-section-heading--image .ttl img {
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    max-height: 80px !important;
  }

  body.jc-route-mobile-inner .jc-section-heading--image h1,
  body.jc-route-mobile-inner .jc-section-heading--image .ttl,
  body.jc-route-mobile-inner .jc-section-heading--text h1,
  body.jc-route-mobile-inner .jc-section-heading--text .ttl {
    min-height: 80px !important;
  }

  body.jc-route-mobile-inner .jc-section-heading h1 span,
  body.jc-route-mobile-inner .jc-section-heading .ttl span {
    font-size: 30px !important;
  }

  body.jc-route-mobile-inner main > article > section {
    margin: 0 !important;
    padding: 16px 12px 34px !important;
  }

  body.jc-route-mobile-inner .n_s1 .row,
  body.jc-route-mobile-inner .n_s1 .row[data-jc-infinite-list],
  body.jc-route-mobile-inner .o_s3 .row,
  body.jc-route-mobile-inner .o_s3 .row[data-jc-infinite-list],
  body.jc-route-mobile-inner .wallpaper_page .row,
  body.jc-route-mobile-inner .wallpaper_page .row[data-jc-infinite-list],
  body.jc-route-mobile-inner .jc-news-list .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.jc-route-mobile-inner .frame {
    background: #fffaf8 url("../images/top_haikei3.png") center top / 390px auto repeat-y !important;
  }

  body.jc-route-mobile-inner main.jc-mobile-detail > article > section {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.jc-route-mobile-inner .o_s3 .row,
  body.jc-route-mobile-inner .o_s3 .row[data-jc-infinite-list] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.jc-route-mobile-inner .o_s3 .jc-content-card,
  body.jc-route-mobile-inner .o_s3 .row[data-jc-infinite-list] .jc-content-card {
    width: 100% !important;
    max-width: none !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  body.jc-route-mobile-inner .c_s3 > .ctr {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(240, 191, 197, .72) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(110, 91, 97, .12) !important;
    overflow: hidden !important;
  }

  body.jc-route-mobile-inner .c_s3 .inr {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-surface {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(240, 191, 197, .72) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(110, 91, 97, .12) !important;
    overflow: hidden !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-header {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    box-sizing: border-box !important;
    line-height: normal !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #f0ccd2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-detail-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.jc-route-mobile-inner .wallpaper_single .jc-detail-meta {
    justify-content: center !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-detail-meta .cate {
    min-height: 22px !important;
    margin: 0 !important;
    padding: 2px 9px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-detail-date,
  body.jc-route-mobile-inner .jc-mobile-detail .jc-detail-meta .jc-video-date {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body.jc-route-mobile-inner .jc-mobile-detail .jc-article-header h1 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 22px !important;
    line-height: 1.42 !important;
    text-align: left !important;
  }

  html body.jc-route-mobile-inner .frame footer.p_f {
    position: relative !important;
    z-index: 4 !important;
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.jc-route-mobile-inner main.jc-mobile-archive,
  body.jc-route-mobile-inner main.jc-mobile-subpage {
    background-color: transparent !important;
    background-image: none !important;
  }

  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .bg_white {
    background: transparent !important;
  }

  html body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .t_s7 {
    background-color: transparent !important;
    background-image: url("../images/menu_background1.png") !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: 100% auto !important;
  }

  html body.jc-route-mobile-inner {
    background: #fffaf8 url("../images/top_haikei3.png") center top / 390px auto repeat !important;
  }

  html body.jc-route-mobile-inner .frame {
    background: transparent !important;
  }
}

@media screen and (min-width: 900px) {
  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .t_s5,
  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .bg_white,
  body.jc-route-mobile-inner .frame :is(main, .jc-theme-main) > .t_s7 {
    display: none !important;
  }

  body.jc-route-mobile-inner footer.p_f .jc-global-copy--mobile {
    display: none !important;
  }
}

@media screen and (max-width: 370px) {
  body.jc-route-mobile-inner main:not(.jc-mobile-detail) > article > section {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  body.jc-route-mobile-inner .n_s1 .row,
  body.jc-route-mobile-inner .o_s3 .row,
  body.jc-route-mobile-inner .wallpaper_page .row,
  body.jc-route-mobile-inner .jc-news-list .row {
    gap: 12px !important;
  }

  body.jc-route-mobile-inner .jc-contact-intro,
  body.jc-route-mobile-inner .c_s3 .inr {
    padding: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jc-route-mobile-inner .jc-content-card,
  body.jc-route-mobile-inner .jc-news-list a.col {
    transition: none;
  }
}
