/* 開いたメニューは先頭・末尾も含めて同じ行高に揃える。 */
@media(max-width:1100px) {
  body .onux-mobile-nav:not([hidden]) { padding:0; }
  body .onux-mobile-nav > a { box-sizing:border-box; min-height:44px; margin:0; padding:8px 0; line-height:1.8; gap:12px; border-bottom:1px solid var(--onux-line); }
  body .onux-mobile-nav > a:last-child { border-bottom:1px solid transparent; }
}
/* 4テーマと運営者紹介。既存のカード寸法は維持する。 */
.onux-operator-note { margin: 0 0 36px; padding: 14px 0; color: #6b6860; font-size: 13px; line-height: 1.9; border-block: 1px solid #d8d3c9; }
.onux-operator-note a, .onux-v9-lab-grid a { color: #0759da; text-decoration: underline; text-underline-offset: 4px; }
.onux-v9-theme.is-small p { position: relative; z-index: 2; margin: 10px 0 18px; font-size: 12px; line-height: 1.8; }
.onux-v9-theme.is-small > svg { width: 56px; margin: auto auto 12px; }
.onux-v9-lab-grid a { display: inline-block; margin-top: 10px; padding-block: 6px; font-size: 13px; }
.onux-desktop-nav { gap: clamp(12px, 1.5vw, 24px); font-size: 13px; }
@media(max-width:1100px) { .onux-desktop-nav { display:none; } .onux-menu-button { display:grid; } }
@media(max-width:600px) { .onux-operator-note { margin-bottom:24px; font-size:12px; } .onux-v9-theme.is-small { min-height:300px; } }
.onux-v9-featured-thumb img { object-fit:contain; }

/* 投資クラスタは画像枠と下線を共通座標で表示する。 */
:is(.entry-card-thumb,.onux-v9-featured-thumb,.eye-catch):has(img[src*="1nux-invest-"][src*="-green"]) {
  position:relative; isolation:isolate; overflow:hidden;
}
.entry-card-thumb:has(img[src*="1nux-invest-"][src*="-green"]) {
  aspect-ratio:16 / 9;
}
.entry-card-thumb:has(img[src*="1nux-invest-"][src*="-green"]) img {
  display:block; width:100%; height:100%; object-fit:cover;
}
:is(.entry-card-thumb,.onux-v9-featured-thumb,.eye-catch):has(img[src*="1nux-invest-"][src*="-green"])::before {
  content:""; position:absolute; z-index:1; left:0; right:0; bottom:0; height:12%; background:#fff; pointer-events:none;
}
:is(.entry-card-thumb,.onux-v9-featured-thumb,.eye-catch):has(img[src*="1nux-invest-"][src*="-green"])::after {
  content:""; position:absolute; z-index:2; left:3.75%; right:3.75%; bottom:6.6%; height:1px; background:#28734f; pointer-events:none;
}
body.category-money-works .list .entry-card-wrap:not(:first-child) {
  border-top:1px solid transparent;
}


/* タッチ端末では押している間だけ浮かせ、残留するhover/focusでは動かさない。 */
@media (hover:none) and (pointer:coarse) {
  body :is(.onux-card,.onux-v9-theme,.onux-v9-featured-card,.onux-v9-latest-card,.onux-archive-card,.entry-card-wrap,.related-entry-card-wrap):is(:hover,:focus-within,:active) {
    transform:none;
    transition-property:color,background-color,border-color,box-shadow;
  }
  body :is(.onux-card,.onux-v9-theme):not(:active) {
    box-shadow:none;
  }
  body :is(.onux-v9-featured-card,.onux-v9-latest-card,.onux-archive-card):not(:active) {
    border-color:var(--onux-line); box-shadow:none;
  }
  body :is(.onux-card,.onux-v9-theme):active {
    transform:translateY(-3px);
  }
  body :is(.onux-v9-featured-card,.onux-v9-latest-card,.onux-archive-card):active {
    transform:translateY(-2px);
  }
  body.onux-standard-page .entry-card-wrap:not(:active) .entry-card-title {
    color:var(--onux-ink);
  }
}


/* マウスを外した後はクリック由来のfocusが残っても浮かせない。 */
@media (hover:hover) {
  body :is(.onux-card,.onux-v9-theme,.onux-v9-featured-card,.onux-v9-latest-card,.onux-archive-card,.entry-card-wrap,.related-entry-card-wrap):not(:hover):not(:active) {
    transform:none;
  }
  body :is(.onux-card,.onux-v9-theme):not(:hover):not(:active) {
    box-shadow:none;
  }
  body :is(.onux-v9-featured-card,.onux-v9-latest-card,.onux-archive-card):not(:hover):not(:active) {
    border-color:var(--onux-line); box-shadow:none;
  }
  body.onux-standard-page .entry-card-wrap:not(:hover):not(:active):not(:has(:focus-visible)) .entry-card-title {
    color:var(--onux-ink);
  }
}

.onux-v9-theme:has(.onux-life-device) { border-color:#bcb8af; }
.onux-life-leaf { display:none; }
.onux-life-device { transform-origin:0 0; transform-box:view-box; transform:matrix(1.2,0,0,1.2,3.2,-10); }
.onux-v9-theme.is-green { background:#28734f; color:#fff; border-color:#28734f; }
.onux-v9-theme.is-green h3, .onux-v9-theme.is-green p, .onux-v9-theme.is-green a, .onux-v9-theme.is-green svg { color:inherit; }
.onux-v9-theme.is-green .onux-eyebrow::after { background:currentColor; }
/* 共通ヘッダーを使い、Cocoonの旧モバイルメニューとの重複を防ぐ。 */
body.onux-standard-page #navi-menu-input + .navi-menu-content,
body.onux-standard-page .mobile-menu-buttons .navi-menu-button,
body.onux-standard-page #navi-menu-content { display:none !important; }
@media(min-width:835px) and (max-width:1100px) {
  .onux-menu-button { display:grid !important; }
  .onux-mobile-nav:not([hidden]) { display:block !important; }
}
@media(max-width:600px) {
  .onux-v9-featured-card > a { height:auto; }
  .onux-v9-featured-body { overflow:visible; }
  .onux-v9-featured-card h3, .onux-v9-featured-card p { display:block; overflow:visible; }
  /* コピーの意図した2行を保ち、320px幅でも横にはみ出さない。 */
  .onux-v9-hero-copy h1 { font-size:clamp(24px,8.2vw,46px); }
  .onux-v9-hero-copy h1 .onux-hero-line { white-space:nowrap; }
  .onux-v9-section-head.is-inline { flex-wrap:wrap; gap:12px 16px; }
  .onux-v9-section-head > a { max-width:none; white-space:nowrap; flex-shrink:0; }
  /* スマホではラベルを残し、カード全体をコンパクトなリンクにする。 */
  .onux-v9-theme, .onux-v9-theme.is-small { display:grid; grid-template-columns:minmax(0,1fr) 44px; column-gap:12px; align-content:center; min-height:138px; padding:10px 34px 10px 18px; }
  .onux-v9-theme .onux-eyebrow { grid-column:1 / -1; grid-row:1; margin-bottom:4px; font-size:10px; line-height:1.4; }
  .onux-v9-theme .onux-eyebrow::after { margin-top:4px; }
  .onux-v9-theme h3, .onux-v9-theme.is-small h3 { grid-column:1; grid-row:2; align-self:center; max-width:100%; margin:0; font-size:23px; line-height:1.35; }
  .onux-v9-theme p, .onux-v9-theme.is-small p { grid-column:1; grid-row:3; max-width:100%; margin:6px 0 0; font-size:12px; line-height:1.65; }
  .onux-v9-theme > svg, .onux-v9-theme.is-small > svg { grid-column:2; grid-row:2; align-self:center; justify-self:center; position:static; transform:none; width:44px; margin:0; }
  .onux-v9-theme > a { grid-column:2; grid-row:3; align-self:start; justify-self:end; z-index:2; font-size:0; line-height:0; margin:27.7px -16px 0 0; padding:0; }
  .onux-v9-theme > a > span { display:none; }
  .onux-v9-theme > a::before { content:"→"; position:static; font-size:16px; line-height:16px; }


}
