/* 086: 記事カテゴリーだけに適用。共通ヘッダー・パンくず・業者一覧は変更しない。 */
.sch{--sch-navy:#0f2540;--sch-blue:#125a85;--sch-teal:#16747b;--sch-ink:#334155;--sch-muted:#5f6f84;--sch-line:#d5e2e9;--sch-pale:#f1f6f9;--sch-edge:clamp(20px,4vw,48px);display:block;width:100%;min-width:0;background:#fff;color:var(--sch-ink);font:400 16px/1.9 "Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-break:strict;font-variant-numeric:tabular-nums;text-align:left}
.sch *,.sch *::before,.sch *::after{box-sizing:border-box}
.sch :where(h1,h2,h3,p,ul,ol,figure){margin:0;padding:0}
.sch :where(ul,ol){list-style:none}
.sch :where(a){color:var(--sch-blue);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.sch :where(a):focus-visible{outline:3px solid var(--sch-teal);outline-offset:5px}
.sch :where([id]){scroll-margin-top:120px}
.sch :where(h1,h2,h3,.sch-post__title,.sch-next__name){word-break:normal!important;line-break:strict;text-wrap:wrap}
.sch .sch-phrase{display:inline-block;white-space:nowrap;vertical-align:baseline}
.sch .sch-wrap{width:min(1200px,100% - var(--sch-edge)*2);margin-inline:auto;min-width:0}
.sch .sch-hero{background:var(--sch-pale);border-bottom:1px solid var(--sch-line)}
.sch .sch-hero__in{display:grid;grid-template-columns:minmax(0,760px) minmax(150px,1fr);gap:48px 72px;align-items:end;padding-block:40px 48px}
.sch .sch-hero__copy{min-width:0}
.sch .sch-index-link{display:inline-block;font-size:14px;font-weight:500;line-height:1.8;margin-bottom:20px}
.sch h1{color:var(--sch-navy);font-size:clamp(29px,3vw,42px);font-weight:700;line-height:1.5;letter-spacing:0}
.sch .sch-hero__lead{font-size:16px;font-weight:400;line-height:1.9;margin-top:20px}
.sch .sch-local-nav ul{border-top:1px solid var(--sch-line)}
.sch .sch-local-nav li{border-bottom:1px solid var(--sch-line)}
.sch .sch-local-nav a{display:block;padding:13px 0;color:var(--sch-navy);font-size:14px;font-weight:500;line-height:1.7;text-decoration:none}
.sch .sch-section{padding-block:56px 64px}
.sch .sch-featured{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:36px 72px;align-items:start}
.sch .sch-heading{position:relative;color:var(--sch-navy);font-size:clamp(24px,2.25vw,30px);font-weight:700;line-height:1.55;letter-spacing:0;padding-bottom:15px;border-bottom:2px solid var(--sch-line)}
.sch .sch-heading::after{position:absolute;content:"";left:0;bottom:-2px;width:56px;height:2px;background:#12bdc0}
.sch .sch-section-intro p{font-size:15px;line-height:1.9;margin-top:18px}
.sch .sch-reading-list{border-top:1px solid var(--sch-line);counter-reset:sch-reading}
.sch .sch-reading{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px 16px;padding-block:23px;border-bottom:1px solid var(--sch-line);align-items:start}
.sch .sch-reading__number{font-size:24px;font-weight:500;line-height:1.65;color:var(--sch-teal)}
.sch .sch-reading__body{min-width:0}
.sch .sch-reading h3{font-size:20px;line-height:1.75;font-weight:600;color:var(--sch-navy)}
.sch .sch-reading h3 a{color:inherit;text-decoration:none}
.sch .sch-reading p{font-size:15px;font-weight:400;line-height:1.85;margin-top:8px}
.sch .sch-all{border-block:1px solid var(--sch-line)}
.sch .sch-heading-row{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:baseline}
.sch .sch-heading-row .sch-heading{flex:0 1 auto}
.sch .sch-count{color:var(--sch-muted);font-size:14px;line-height:1.8;font-weight:500}
.sch .sch-post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin-top:28px}
.sch .sch-post{min-width:0;padding-block:20px;border-bottom:1px solid var(--sch-line)}
.sch .sch-post>a{display:block;color:var(--sch-navy);text-decoration:none}
.sch .sch-post--image>a{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center}
.sch .sch-post__image{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--sch-line);background:#fff}
.sch .sch-post__image img{display:block;width:100%;height:100%;object-fit:contain}
.sch .sch-post__body{display:block;min-width:0}
.sch .sch-post__date{display:block;color:var(--sch-muted);font-size:13px;font-weight:500;line-height:1.7}
.sch .sch-post__title{display:block;font-size:17px;line-height:1.8;font-weight:600;margin-top:5px;color:var(--sch-navy)}
.sch .sch-post__body>.sch-post__title:first-child{margin-top:0}
.sch .sch-empty{margin-top:24px;font-size:15px;line-height:1.9}
.sch .sch-pagination{margin-top:32px;display:flex;justify-content:center}
.sch .sch-pagination :where(ul){display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.sch .sch-pagination :where(.page-numbers){display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:7px 12px;border:1px solid var(--sch-line);border-radius:2px;color:var(--sch-navy);font-size:14px;font-weight:500;text-decoration:none}
.sch .sch-pagination ul.page-numbers{display:flex;border:0;padding:0}
.sch .sch-pagination :where(.current){background:var(--sch-navy);border-color:var(--sch-navy);color:#fff}
.sch .sch-pagination :where(.dots){border-color:transparent}
.sch .sch-next-list{margin-top:24px;border-top:1px solid var(--sch-line)}
.sch .sch-next-list>li{border-bottom:1px solid var(--sch-line)}
.sch .sch-next__link{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:8px 72px;align-items:baseline;padding-block:20px;text-decoration:none}
.sch .sch-next__name{font-size:19px;font-weight:600;line-height:1.75;color:var(--sch-blue)}
.sch .sch-next__description{font-size:15px;font-weight:400;line-height:1.85;color:var(--sch-ink)}
/* Link cues apply to the title; the date, number and summary remain ordinary text. */
.sch .sch-reading__link {
  color: var(--sch-ink);
  text-decoration: none;
}
.sch .sch-index-link,
.sch .sch-local-nav a,
.sch .sch-reading .sch-reading__title,
.sch .sch-post__title,
.sch .sch-next__name {
  color: var(--sch-link-ink, var(--sch-blue));
  text-decoration-line: underline;
  text-decoration-color: var(--sch-link-line, #7797a9);
  text-decoration-thickness: var(--sch-link-weight, 1px);
  text-underline-offset: .2em;
  text-decoration-skip-ink: none;
}
/* Underlines propagate into inline boxes. Keep the protected words and their break hints. */
.sch a x-nw.sch-phrase {
  display: inline;
  white-space: nowrap;
}
.sch a:is(:focus-visible, :active) {
  --sch-link-ink: #104c52;
  --sch-link-line: currentColor;
  --sch-link-weight: 2px;
  background-color: #e6f3f4;
}
.sch a:focus-visible {
  outline: 3px solid var(--sch-teal);
  outline-offset: 2px;
}
.sch .sch-pagination a:is(:focus-visible, :active) {
  color: #104c52;
  border-color: var(--sch-teal);
  text-decoration: underline 2px;
  text-underline-offset: .2em;
}
@media(max-width:1023px){.sch .sch-hero__in{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:32px 40px}.sch .sch-local-nav ul{display:flex;flex-wrap:wrap;gap:0 28px;border-top:0}.sch .sch-local-nav li{border-block:1px solid var(--sch-line)}.sch .sch-local-nav a{padding-block:11px}.sch .sch-featured{grid-template-columns:minmax(0,1fr);gap:26px}.sch .sch-section-intro p{margin-top:15px}.sch .sch-post-list{grid-template-columns:minmax(0,1fr)}.sch .sch-next__link{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:8px 32px}}
@media(max-width:767px){.sch{font-size:15.6px}.sch .sch-hero__in{padding-block:24px 32px;gap:24px}.sch .sch-index-link{margin-bottom:16px}.sch h1{font-size:clamp(26px,7.2vw,32px);line-height:1.5}.sch .sch-hero__lead{font-size:15.6px;line-height:1.9;margin-top:16px}.sch .sch-local-nav ul{gap:0 20px}.sch .sch-local-nav a{font-size:13.5px}.sch .sch-section{padding-block:40px 44px}.sch .sch-heading{font-size:24px}.sch .sch-reading{grid-template-columns:24px minmax(0,1fr);gap:10px 12px;padding-block:20px}.sch .sch-reading__number{font-size:22px}.sch .sch-reading h3{font-size:18px;line-height:1.75}.sch .sch-reading p{font-size:14.5px;line-height:1.9}.sch .sch-post-list{margin-top:16px}.sch .sch-post{padding-block:18px}.sch .sch-post--image>a{grid-template-columns:84px minmax(0,1fr);gap:14px}.sch .sch-post__title{font-size:16px;line-height:1.85}.sch .sch-next__link{grid-template-columns:minmax(0,1fr);gap:7px;padding-block:18px}.sch .sch-next__name{font-size:18px}.sch .sch-next__description{font-size:14.5px;line-height:1.9}}
@media(max-width:370px){.sch .sch-post--image>a{grid-template-columns:68px minmax(0,1fr);gap:12px}.sch .sch-local-nav ul{gap:0 15px}}
@media(max-width:319px){.sch .sch-post--image>a{display:block}.sch .sch-post__image{width:96px;margin-bottom:10px}.sch .sch-reading{grid-template-columns:20px minmax(0,1fr);gap:10px}.sch .sch-local-nav ul{display:block}.sch .sch-local-nav li+li{border-top:0}.sch h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){.sch *,.sch *::before,.sch *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 「まず読む記事」では番号、記事のアイキャッチ、読む理由を1つのリンクにまとめる。 */
.sch .sch-reading {
  display: block;
  padding: 0;
}
.sch .sch-reading__link {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-areas: "rank copy";
  gap: 10px 16px;
  align-items: center;
  padding: 22px 0;
  color: var(--sch-ink);
  text-decoration: none;
}
.sch .sch-reading__link--image {
  grid-template-columns: 28px clamp(100px, 9vw, 144px) minmax(0, 1fr);
  grid-template-areas: "rank image copy";
}
.sch .sch-reading__number { grid-area: rank; }
.sch .sch-reading__body { grid-area: copy; }
.sch .sch-reading__image {
  grid-area: image;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--sch-line);
  background: #fff;
}
.sch .sch-reading__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 767px) {
  .sch .sch-reading__link {
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 10px;
    padding: 17px 0;
  }
  .sch .sch-reading__link--image {
    grid-template-columns: 20px clamp(64px, 16vw, 96px) minmax(0, 1fr);
  }
}
@media (max-width: 359px) {
  .sch .sch-reading__link--image {
    grid-template-columns: 20px minmax(0, 1fr);
    grid-template-areas: "rank image" "copy copy";
  }
  .sch .sch-reading__image { width: 100px; }
}

@media (hover: hover) and (pointer: fine) {
  .sch a:hover {
    --sch-link-ink: #104c52;
    --sch-link-line: currentColor;
    --sch-link-weight: 2px;
    background-color: #e6f3f4;
  }
  .sch .sch-pagination a:hover {
    color: #104c52;
    border-color: var(--sch-teal);
    text-decoration: underline 2px;
    text-underline-offset: .2em;
  }
}
