/* =========================
   カード全体
========================= */
.card-link {
  margin-bottom: 16px;
}

/* カード本体 */
.card-wrap {
  display: flex;
  height: 160px; /* ←ゆとり持たせる */
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: 0.3s;
}

.card-wrap:hover {
  transform: trans
		

/* PLAMAX ヴェルビン：Jetpack画像CDN回避 */
.hoss-model-magazine .photo-bg { display:block; width:100%; background-repeat:no-repeat; background-position:center; background-size:contain; background-color:#e1e4de; }
.hoss-model-magazine .hero-stage .photo-bg { height:min(720px,64vw); aspect-ratio:auto !important; background-size:cover; background-position:center 12%; }
@media (max-width:760px) { .hoss-model-magazine .hero-stage .photo-bg { height:72vw; background-position:center 10%; } }
lateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* PLAMAX ヴェルビン制作記：模型雑誌風レイアウト */
.hoss-model-magazine * { box-sizing: border-box; }
.hoss-model-magazine a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.hoss-model-magazine img { display: block; max-width: 100%; }
.hoss-model-magazine .site-brand { display: flex; align-items: baseline; gap: 13px; text-decoration: none; }
.hoss-model-magazine .site-brand__name { display: block; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.18rem; letter-spacing: .08em; }
.hoss-model-magazine .site-brand__tagline { display: block; color: #aeb3ad; font-size: .66rem; font-weight: 700; letter-spacing: .08em; }
.hoss-model-magazine .site-nav { display: flex; gap: 0; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.hoss-model-magazine .site-nav a { padding: 8px 16px; border-left: 1px solid #4b4f4b; text-decoration: none; }
.hoss-model-magazine .site-nav a:hover { background: var(--red); }
.hoss-model-magazine .article-shell { width: min(1080px, 100%); margin: 0 auto; overflow: hidden; background: var(--paper); border: 1px solid #aeb2aa; box-shadow: 0 24px 70px rgba(22, 28, 23, .18); }
.hoss-model-magazine .article-header { position: relative; width: min(900px, calc(100% - 64px)); margin: 0 auto; padding: 46px 0 38px; }
.hoss-model-magazine .article-header::after { content: ""; position: absolute; right: 0; bottom: 0; width: 43%; border-bottom: 10px solid var(--green); }
.hoss-model-magazine .issue-bar { margin-bottom: 26px; display: grid; grid-template-columns: 1fr auto auto; border-top: 2px solid var(--black); border-bottom: 1px solid var(--black); font-family: "Arial Narrow", Arial, sans-serif; font-size: .62rem; font-weight: 900; letter-spacing: .18em; }
.hoss-model-magazine .issue-bar span { padding: 5px 8px; }
.hoss-model-magazine .issue-bar span + span { border-left: 1px solid var(--black); }
.hoss-model-magazine .issue-bar span:nth-child(2) { background: var(--red); color: #fff; }
.hoss-model-magazine .article-kicker { margin: 0 0 13px; color: var(--green); font-family: "Arial Narrow", Arial, sans-serif; font-size: .77rem; font-weight: 900; letter-spacing: .14em; }
.hoss-model-magazine .article-kicker span { margin-right: 12px; padding: 4px 7px; background: var(--green); color: #fff; }
.hoss-model-magazine h1, .hoss-model-magazine h2, .hoss-model-magazine h3 { font-family: "Yu Mincho", "Hiragino Mincho ProN", Georgia, serif; }
.hoss-model-magazine h1 { max-width: 860px; margin: 0; font-size: clamp(2.25rem, 4.6vw, 3.5rem); font-weight: 900; line-height: 1.25; letter-spacing: -.04em; }
.hoss-model-magazine .article-deck { max-width: 690px; margin: 22px 0 0; padding-left: 18px; border-left: 5px solid var(--red); color: #444943; font-size: 1rem; font-weight: 600; line-height: 1.85; }
.hoss-model-magazine .article-meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--muted); font-size: .7rem; font-weight: 700; }

.hoss-model-magazine .hero-stage { position: relative; margin: 0 30px; border-top: 7px solid var(--black); border-bottom: 14px solid var(--black); background: var(--black); }
.hoss-model-magazine .hero-stage .article-photo { margin: 0; }
.hoss-model-magazine .hero-stage .article-photo img {
  width: 100%;
  height: min(720px, 64vw);
  object-fit: cover;
  object-position: center 12%;
}
.hoss-model-magazine .hero-stage .article-photo figcaption { position: absolute; right: 20px; bottom: 17px; max-width: 430px; padding: 8px 11px; background: rgba(10, 12, 10, .84); color: white; text-align: left; }
.hoss-model-magazine .hero-stamp { position: absolute; left: 18px; top: 18px; width: 114px; padding: 9px 10px 8px; border: 3px solid white; background: var(--red); color: #fff; line-height: 1; transform: rotate(-2deg); box-shadow: 5px 5px 0 rgba(0,0,0,.5); }
.hoss-model-magazine .hero-stamp span, .hoss-model-magazine .hero-stamp small { display: block; font-family: "Arial Narrow", Arial, sans-serif; font-size: .58rem; font-weight: 900; letter-spacing: .16em; }
.hoss-model-magazine .hero-stamp strong { display: block; margin: 2px 0; font-family: Impact, sans-serif; font-size: 3rem; font-weight: 400; }
.hoss-model-magazine .hero-vertical { position: absolute; top: 20px; right: 16px; margin: 0; padding: 9px 4px; background: var(--yellow); color: var(--black); font-size: .6rem; font-weight: 900; letter-spacing: .16em; line-height: 1; writing-mode: vertical-rl; }

.hoss-model-magazine .article-photo { position: relative; margin: 0; }
.hoss-model-magazine .article-photo img { width: 100%; background: #e1e4de; }
.hoss-model-magazine .article-photo figcaption { margin: 0; padding: 9px 12px 0 34px; color: #515650; font-size: .7rem; font-weight: 600; line-height: 1.65; text-align: left; }
.hoss-model-magazine .article-photo figcaption::before { content: "▲"; margin-right: 6px; color: var(--red); font-size: .56rem; }
.hoss-model-magazine .photo-index { position: absolute; z-index: 2; top: -12px; left: 12px; padding: 3px 9px 2px; background: var(--black); color: #fff; font-family: "Arial Narrow", Arial, sans-serif; font-size: .63rem; font-weight: 900; letter-spacing: .09em; box-shadow: 3px 3px 0 var(--red); }

.hoss-model-magazine .article-body { width: min(720px, calc(100% - 64px)); margin: 0 auto; padding: 54px 0 84px; }
.hoss-model-magazine .article-body p { margin: 0 0 1.48em; }
.hoss-model-magazine .lead { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 1.16rem; font-weight: 800; line-height: 2; }
.hoss-model-magazine .lead::first-letter { float: left; margin: .08em .12em 0 0; color: var(--red); font-family: Impact, sans-serif; font-size: 4.1rem; line-height: .8; }
.hoss-model-magazine .spec-strip { margin: 32px 0 18px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 4px solid var(--black); border-bottom: 1px solid var(--black); }
.hoss-model-magazine .spec-strip div { min-width: 0; padding: 10px 13px 11px; }
.hoss-model-magazine .spec-strip div + div { border-left: 1px solid #989d96; }
.hoss-model-magazine .spec-strip span, .hoss-model-magazine .spec-strip strong { display: block; }
.hoss-model-magazine .spec-strip span { color: var(--red); font-family: "Arial Narrow", Arial, sans-serif; font-size: .58rem; font-weight: 900; letter-spacing: .14em; }
.hoss-model-magazine .spec-strip strong { margin-top: 2px; font-size: .73rem; line-height: 1.45; }

.hoss-model-magazine .toc { position: relative; margin: 35px 0 26px; padding: 25px 28px 22px 94px; border: 1px solid #9da39b; background: var(--green-soft); }
.hoss-model-magazine .toc::before { content: "CONTENTS"; position: absolute; inset: 0 auto 0 0; width: 68px; display: grid; place-items: center; background: var(--green); color: #fff; font-family: "Arial Narrow", Arial, sans-serif; font-size: .62rem; font-weight: 900; letter-spacing: .16em; writing-mode: vertical-rl; }
.hoss-model-magazine .toc > p { margin: 0 0 8px; font-size: .7rem; font-weight: 900; letter-spacing: .13em; color: var(--green-dark); }
.hoss-model-magazine .toc ol { margin: 0; padding-left: 1.25rem; }
.hoss-model-magazine .toc li { margin: 2px 0; font-size: .85rem; font-weight: 700; }

.hoss-model-magazine .article-section { position: relative; padding-top: 72px; scroll-margin-top: 24px; }
.hoss-model-magazine .article-section::before { content: attr(data-step); position: absolute; top: 71px; left: -123px; width: 93px; padding: 12px 0 7px; border-top: 7px solid var(--red); color: var(--black); font-family: Impact, Haettenschweiler, sans-serif; font-size: 3.15rem; line-height: 1; text-align: right; }
.hoss-model-magazine .section-heading { margin: 0 0 26px; border-top: 5px solid var(--black); border-bottom: 1px solid var(--black); }
.hoss-model-magazine .section-heading > span { display: inline-block; padding: 5px 9px 3px; background: var(--black); color: white; font-size: .62rem; font-weight: 900; letter-spacing: .17em; }
.hoss-model-magazine .article-section h2 { margin: 0; padding: 14px 0 17px; font-size: clamp(1.55rem, 3.5vw, 2.15rem); font-weight: 900; line-height: 1.42; letter-spacing: -.025em; }
.hoss-model-magazine .article-section h3 { margin: 45px 0 19px; padding: 8px 12px; border-left: 8px solid var(--red); border-top: 1px solid var(--black); border-bottom: 1px solid var(--black); font-size: 1.23rem; font-weight: 900; line-height: 1.55; }
.hoss-model-magazine .article-body .article-photo { margin: 31px 0 44px; }
.hoss-model-magazine .article-body .photo-wide { width: calc(100% + 160px); margin-left: -80px; }
.hoss-model-magazine .article-body .photo-offset-left { width: calc(100% + 68px); margin-left: -68px; margin-right: 0; }
.hoss-model-magazine .article-body .photo-offset-right { width: calc(100% + 68px); margin-left: 0; margin-right: -68px; }
.hoss-model-magazine .article-body .photo-detail { width: min(72%, 520px); }
.hoss-model-magazine .article-body .photo-detail.photo-offset-right { margin-left: auto; }
.hoss-model-magazine .before-photo { border-top: 9px solid var(--red); }
.hoss-model-magazine .after-photo { border-top: 9px solid var(--green); }

.hoss-model-magazine .note-box, .hoss-model-magazine .caution-box { position: relative; margin: 37px 0 42px; padding: 24px 26px 19px 92px; border: 1px solid #7d837c; background: #eef0eb; box-shadow: 7px 7px 0 #cbd1ca; }
.hoss-model-magazine .note-box::before, .hoss-model-magazine .caution-box::before { content: "CHECK"; position: absolute; inset: 0 auto 0 0; width: 66px; padding-top: 18px; background: var(--green); color: white; font-family: Impact, sans-serif; font-size: .82rem; letter-spacing: .14em; text-align: center; writing-mode: vertical-rl; }
.hoss-model-magazine .caution-box { background: #f4ecd3; box-shadow: 7px 7px 0 #d8c897; }
.hoss-model-magazine .caution-box::before { content: "CAUTION"; background: var(--red); }
.hoss-model-magazine .note-box__title, .hoss-model-magazine .caution-box__title { margin: 0 0 8px !important; font-weight: 900; }
.hoss-model-magazine .note-box ul { margin: 0; padding-left: 1.25rem; }
.hoss-model-magazine .note-box li { margin: 2px 0; font-size: .88rem; }
.hoss-model-magazine .caution-box p:last-child { margin-bottom: 0; }

.hoss-model-magazine .tools-section::before { font-size: 1.65rem; }
.hoss-model-magazine .table-wrap { overflow-x: auto; border-top: 5px solid var(--black); }
.hoss-model-magazine table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.hoss-model-magazine th, .hoss-model-magazine td { padding: 12px 14px; border: 1px solid #aeb3ac; text-align: left; vertical-align: top; }
.hoss-model-magazine th { background: var(--green-dark); color: white; font-size: .7rem; font-weight: 900; letter-spacing: .05em; }
.hoss-model-magazine tbody tr:nth-child(even) { background: #e6ebe5; }

.hoss-model-magazine .summary-card { width: calc(100% + 160px); margin: 78px 0 0 -80px; padding: 40px 52px 27px; border-top: 12px solid var(--red); background: var(--black); color: #f7f8f5; box-shadow: 14px 14px 0 var(--green); }
.hoss-model-magazine .summary-card::before { display: none; }
.hoss-model-magazine .summary-card h2 { padding-top: 8px; color: white; }
.hoss-model-magazine .summary-card__eyebrow { margin: 0 0 6px !important; color: var(--yellow); font-size: .68rem; font-weight: 900; letter-spacing: .16em; }

@media (max-width: 960px) {
  .hoss-model-magazine .article-section::before { left: -88px; width: 68px; font-size: 2.4rem; }
  .hoss-model-magazine .article-body .photo-wide { width: calc(100% + 80px); margin-left: -40px; }
  .hoss-model-magazine .article-body .photo-offset-left { width: calc(100% + 34px); margin-left: -34px; }
  .hoss-model-magazine .article-body .photo-offset-right { width: calc(100% + 34px); margin-right: -34px; }
  .hoss-model-magazine .summary-card { width: calc(100% + 80px); margin-left: -40px; }
}

@media (max-width: 760px) {
  .hoss-model-magazine .site-brand__tagline, .hoss-model-magazine .site-nav { display: none; }
  .hoss-model-magazine .article-shell { border-left: 0; border-right: 0; box-shadow: none; }
  .hoss-model-magazine .article-header { width: calc(100% - 36px); padding: 30px 0 27px; }
  .hoss-model-magazine .issue-bar { grid-template-columns: 1fr auto; }
  .hoss-model-magazine .issue-bar span:last-child { display: none; }
  .hoss-model-magazine h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .hoss-model-magazine .article-deck { font-size: .91rem; }
  .hoss-model-magazine .hero-stage { margin: 0; border-top-width: 5px; }
  .hoss-model-magazine .hero-stage .article-photo img { height: 72vw; object-position: center 10%; }
  .hoss-model-magazine .hero-stage .article-photo figcaption { position: static; max-width: none; padding: 9px 18px; background: var(--black); }
  .hoss-model-magazine .hero-stamp { left: 12px; top: 12px; width: 90px; }
  .hoss-model-magazine .hero-stamp strong { font-size: 2.25rem; }
  .hoss-model-magazine .hero-vertical { right: 9px; top: 12px; }
  .hoss-model-magazine .article-body { width: calc(100% - 36px); padding: 38px 0 60px; }
  .hoss-model-magazine .lead { font-size: 1.04rem; }
  .hoss-model-magazine .spec-strip { grid-template-columns: 1fr; }
  .hoss-model-magazine .spec-strip div + div { border-left: 0; border-top: 1px solid #a4a9a2; }
  .hoss-model-magazine .toc { padding: 21px 19px 18px 72px; }
  .hoss-model-magazine .toc::before { width: 54px; }
  .hoss-model-magazine .article-section { padding-top: 57px; }
  .hoss-model-magazine .article-section::before { position: static; display: inline-block; width: auto; margin-bottom: -5px; padding: 5px 10px 3px; border-top: 0; background: var(--red); color: white; font-family: "Arial Narrow", Arial, sans-serif; font-size: .68rem; letter-spacing: .12em; }
  .hoss-model-magazine .section-heading { margin-bottom: 22px; }
  .hoss-model-magazine .article-body .photo-wide,
  .hoss-model-magazine .article-body .photo-offset-left,
  .hoss-model-magazine .article-body .photo-offset-right,
  .hoss-model-magazine .article-body .photo-detail { width: calc(100% + 36px); margin-left: -18px; margin-right: -18px; }
  .hoss-model-magazine .article-photo figcaption { padding-left: 18px; padding-right: 18px; }
  .hoss-model-magazine .photo-index { left: 18px; }
  .hoss-model-magazine .note-box, .hoss-model-magazine .caution-box { padding: 65px 20px 18px; box-shadow: 5px 5px 0 #cbd1ca; }
  .hoss-model-magazine .note-box::before, .hoss-model-magazine .caution-box::before { inset: 0 0 auto 0; width: auto; height: 44px; padding: 8px 14px; text-align: left; writing-mode: horizontal-tb; }
  .hoss-model-magazine .summary-card { width: calc(100% + 36px); margin: 66px -18px 0; padding: 34px 20px 22px; box-shadow: none; }
}

@media print {
  .hoss-model-magazine .article-shell { border: 0; box-shadow: none; }
}


/* WordPress / Rebalance用の表示幅調整 */
.hoss-model-magazine {
  --ink:#171917; --muted:#666a64; --line:#cbcfc7; --paper:#f7f6f0;
  --ground:#dfe1dc; --green:#0d5048; --green-dark:#073b36;
  --green-soft:#dce7e2; --red:#cf382e; --yellow:#e7bc32; --black:#111311;
  margin: 2rem 0 4rem;
  color: var(--ink);
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.86;
}
.hoss-model-magazine .article-shell {
  width: min(1080px, calc(100vw - 32px));
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}
.hoss-model-magazine .article-photo img { height: auto; }
.hoss-model-magazine .site-header,
.hoss-model-magazine .site-footer { display: none; }
@media (max-width:760px) {
  .hoss-model-magazine .article-shell { width: 100vw; }
}


/* =========================
   画像
========================= */
.card-image {
  width: 40%;
  height: 100%;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================
   テキストエリア
========================= */
.card-content {
  width: 60%;
  height: 100%;
  padding: 14px;
  color: #fff;
  box-sizing: border-box;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
}

/* タイトル */
.card-title {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
  font-weight: bold;
}

/* 説明 */
.card-desc {
  font-size: 13px;
  margin: 0;
  opacity: 0.95;
}

/* メタ */
.card-meta {
  font-size: 12px;
  opacity: 0.9;
}

/* ボタン */
.card-button {
  margin-top: auto;
  display: inline-block;
  padding: 6px 10px;
  background: #ffffff;
  color: #0f6b6b;
  border-radius: 6px;
  font-size: 12px;
  font-weight: bold;
  width: fit-content;
}

/* =========================
   カテゴリカラー
========================= */
.card-seisaku .card-content {
  background: #27ae60;
}

.card-tool .card-content {
  background: #1e73be;
}

.card-other .card-content {
  background: #555;
}

/* =========================
   スマホ対応
========================= */
@media (max-width: 768px) {
  .card-wrap {
    flex-direction: column;
    height: auto;
  }

  .card-image,
  .card-content {
    width: 100%;
  }
}







/* =================================
   投稿ページ本文
================================= */

.single .entry-content {

    width: 100% !important;

    max-width: 900px !important;

    margin: 0 auto !important;

    padding: 0 30px !important;

    font-size: 18px !important;

    line-height: 2.2 !important;

    box-sizing: border-box !important;
}


/* =================================
   段落
================================= */

.single .entry-content p {

    max-width: none !important;

    width: 100% !important;
}


/* =================================
   見出し
================================= */

.single .entry-content h2,
.single .entry-content h3 {

    max-width: none !important;
}


/* =================================
   タイトル
================================= */

.single .entry-title {

    max-width: 900px !important;

    margin: 0 auto 30px !important;

    padding: 0 30px !important;

    font-size: 36px !important;

    line-height: 1.5 !important;
}