*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

:root {
  --red:    #E60012;
  --blue:   #009DE4;
  --yellow: #FFE600;
  --navy:   #1A2744;
  --body:   #1F2937;
  --sub:    #4B5563;
  --border: #D9D9D9;
  --bg:     #F1F1F1;
  --white:  #FFFFFF;
}

html { scroll-behavior:smooth; }
body { font-family:'Noto Sans JP',sans-serif; color:var(--body); line-height:var(--lh-body); overflow-x:hidden; background:#fff; }

/* ── Hero ─────────────────────────────── */
.hero {
  margin-top:var(--header-height);
  background:#dfe3e8 url('../img/hero-poster-default.avif') center bottom / cover no-repeat;
  position:relative; overflow:hidden;
  padding:64px 40px 58px;
}
.hero::before {
  content:'';
  position:absolute; inset:0;
  background:none;
  z-index:1;
}
.hero-grid-bg { display:none; }
.hero-ticker { display:none; }
@keyframes tickerMove { 0%{background-position:0%} 100%{background-position:200%} }
.hero .hero-bg-media::after { background:transparent; }

.hero-inner {
  max-width:1200px; margin:0 auto;
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.breadcrumb { display:flex; gap:8px; margin-bottom:32px; }
.breadcrumb a { font-size:var(--font-caption); color:var(--sub); text-decoration:none; }
.breadcrumb span { font-size:var(--font-caption); color:var(--sub); }
.breadcrumb .cur { color:var(--red); }
.hero-en {
  font-family:'Outfit',sans-serif; font-size:var(--font-label); font-weight:var(--weight-bold);
  letter-spacing:.25em; color:var(--red);
  display:flex; align-items:center; gap:12px; margin-bottom:16px;
}
.hero-h1 {
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-size:clamp(2.45rem,4.2vw,3.5rem);
  font-weight:var(--weight-black); color:var(--navy);
  line-height:1.1; letter-spacing:var(--tracking-none); margin-bottom:24px;
}
.hero-h1 .yl { color:var(--red); }
.hero-desc { font-size:var(--font-lead); color:var(--body); line-height:1.95; max-width:480px; }

/* Stats（決定稿準拠：写真上の濃色ガラスパネル） */
.hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(15,26,48,0.86); border-radius:6px; overflow:hidden; box-shadow:0 12px 36px rgba(15,26,48,0.22); }
.stat-block {
  background:transparent;
  border:1px solid rgba(255,255,255,.07);
  padding:28px 32px;
  transition:background .3s;
}
.stat-block:hover { background:rgba(255,255,255,.05); }
.stat-block:first-child { border-radius:12px 0 0 0; }
.stat-block:nth-child(2) { border-radius:0 12px 0 0; }
.stat-block:nth-child(3) { border-radius:0 0 0 12px; }
.stat-block:last-child { border-radius:0 0 12px 0; }
.stat-num {
  font-family:'Outfit',sans-serif;
  font-size:2.75rem; font-weight:var(--weight-black); color:#fff; line-height:var(--lh-tight); margin-bottom:6px;
}
.stat-num em { font-style:normal; font-size:1.4rem; color:var(--yellow); }
.stat-label { font-size:var(--font-caption); color:rgba(255,255,255,.45); letter-spacing:.05em; }

/* ── Filter nav ───────────────────────── */
.filter-wrap {
  background:#fff; border-bottom:1px solid var(--border);
  position:sticky; top:var(--header-height); z-index:100;
  padding:0;
}
.filter-inner {
  max-width:1200px; margin:0 auto; padding:0 40px;
  display:flex; align-items:center; gap:0;
}
.filter-label {
  font-size:.72rem; font-weight:var(--weight-bold); letter-spacing:.12em;
  color:var(--sub); padding:16px 20px 16px 0;
  border-right:1px solid var(--border); margin-right:4px;
  white-space:nowrap;
}
.filter-btn {
  display:flex; align-items:center; gap:7px;
  padding:16px 20px; font-size:var(--font-ui-sm); font-weight:var(--weight-medium);
  color:var(--sub); background:none; border:none; cursor:pointer;
  white-space:nowrap; border-bottom:3px solid transparent;
  transition:all .2s; font-family:'Noto Sans JP',sans-serif;
}
.filter-btn:hover { color:var(--navy); }
.filter-btn.on { color:var(--red); font-weight:var(--weight-bold); border-bottom-color:var(--red); }
.filter-dot { width:8px; height:8px; border-radius:50%; }
.filter-count {
  font-family:'Outfit',sans-serif; font-size:.68rem; font-weight:var(--weight-bold);
  background:var(--bg); color:var(--sub);
  padding:2px 7px; border-radius:99px;
}
.filter-btn.on .filter-count { background:var(--red); color:#fff; }

/* ── Cases grid ───────────────────────── */
.cases-section { padding:98px 0 170px; }
.wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

.cases-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

/* Featured case (span 2) */
.case-card {
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  transition:transform .3s, box-shadow .3s;
  display:flex; flex-direction:column;
}
.case-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(0,0,0,.1); }
.case-card.featured {
  grid-column: span 2;
  flex-direction:row;
}
.cases-grid.is-filtered .case-card.featured {
  grid-column: span 1;
  flex-direction:column;
}

.case-thumb {
  aspect-ratio:1.52;
  display:flex; align-items:center; justify-content:center;
  font-size:3.5rem; position:relative; overflow:hidden; flex-shrink:0;
}
.case-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.case-card.featured .case-thumb {
  aspect-ratio:auto; width:360px; flex-shrink:0;
}
.cases-grid.is-filtered .case-card.featured .case-thumb {
  aspect-ratio:1.52;
  width:100%;
}
.case-thumb::after {
  content:none;
}
.ct-web  { background:linear-gradient(135deg,#f9f9f9,#e6e6e6); }
.ct-gov  { background:linear-gradient(135deg,#eff8ff,#bfe2f5); }
.ct-biz  { background:linear-gradient(135deg,#fff8be,#FFE600); }
.ct-ses  { background:linear-gradient(135deg,#1A2744,#111827); }
.cases-grid .case-card:nth-child(1) .case-thumb { background:url('../img/recruit-office.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(2) .case-thumb { background:url('../img/services-hero-code.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(3) .case-thumb { background:url('../img/mid-career.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(4) .case-thumb { background:url('../img/service-government.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(5) .case-thumb { background:url('../img/service-web-app.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(6) .case-thumb { background:url('../img/renewal.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(7) .case-thumb { background:url('../img/service-maintenance.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(8) .case-thumb { background:url('../img/office-workers.avif') center/cover no-repeat; }
.cases-grid .case-card:nth-child(9) .case-thumb { background:url('../img/blog-hero.avif') center/cover no-repeat; }

.case-body { padding:30px; flex:1; display:flex; flex-direction:column; }
.case-meta { display:flex; align-items:center; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.case-cat {
  font-size:.68rem; font-weight:var(--weight-bold); padding:3px 10px; border-radius:4px;
  letter-spacing:.06em; white-space:nowrap;
}
.cat-web { background:#FFF1F2; color:var(--red); }
.cat-gov { background:#EFF6FF; color:var(--blue); }
.cat-biz { background:var(--yellow); color:var(--navy); }
.cat-ses { background:var(--navy); color:#fff; }

.case-industry {
  font-size:.72rem; color:var(--sub); background:var(--bg);
  padding:3px 10px; border-radius:4px;
}
.case-card h3 {
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-size:var(--font-card-title-sm); font-weight:var(--weight-bold); color:var(--navy);
  line-height:1.45; margin-bottom:10px;
}
.case-card.featured h3 { font-size:1.3rem; }
.case-desc { font-size:.84rem; color:var(--sub); line-height:1.8; flex:1; margin-bottom:20px; }

.case-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.case-tag {
  font-size:var(--font-badge); color:var(--sub); background:var(--bg);
  border:1px solid var(--border); padding:3px 9px; border-radius:4px;
  font-family:'Outfit',sans-serif;
}

.case-result {
  border-top:1px solid var(--border); padding-top:16px;
  display:flex; gap:20px;
}
.result-item { }
.result-val {
  font-family:'Outfit',sans-serif; font-size:1.3rem; font-weight:var(--weight-black);
  color:var(--red); line-height:var(--lh-tight);
}
.result-lbl { font-size:.72rem; color:var(--sub); margin-top:2px; }

/* hidden cards */
.case-card.hidden { display:none; }

.no-cases {
  grid-column:1 / -1;
  text-align:center;
  color:var(--sub);
  font-size:var(--font-body);
  padding:64px 24px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
}

/* ── Pagination / load more ───────────── */
.load-more-wrap { text-align:center; margin-top:72px; }
.btn-load {
  display:inline-flex; align-items:center; gap:10px;
  border:2px solid var(--navy); color:var(--navy);
  font-weight:var(--weight-bold); font-size:.9rem; padding:14px 40px; border-radius:4px;
  background:none; cursor:pointer; font-family:'Noto Sans JP',sans-serif;
  transition:all .25s;
}
.btn-load:hover { background:var(--navy); color:#fff; }

/* ── Testimonials ─────────────────────── */
.testimonials { background:var(--bg); padding:112px 0 132px; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:64px; }
.testi-card {
  background:#fff; border:1px solid var(--border); border-radius:8px; padding:40px;
  min-height:320px;
  box-shadow:0 10px 30px rgba(15,26,48,.06);
  transition:transform .3s, box-shadow .3s;
  display:flex; flex-direction:column;
}
.testi-card:hover { transform:translateY(-4px); box-shadow:0 16px 44px rgba(15,26,48,.1); }
.testi-mark {
  font-family:'Outfit',sans-serif; font-size:4.5rem; color:var(--yellow);
  line-height:var(--lh-tight); margin-bottom:-8px;
}
.testi-text {
  font-size:var(--font-ui); color:var(--navy); line-height:1.8;
  font-weight:var(--weight-medium); margin-bottom:24px;
}
.testi-from {
  border-top:1px solid var(--border); padding-top:16px; margin-top:auto;
}
.testi-company { font-size:var(--font-caption); color:var(--sub); margin-bottom:3px; }
.testi-role { font-size:var(--font-ui-sm); font-weight:var(--weight-bold); color:var(--navy); }

/* ── Section title ────────────────────── */
.sec-en {
  font-family:'Outfit',sans-serif; font-size:var(--font-label); font-weight:var(--weight-bold);
  letter-spacing:.22em; text-transform:uppercase; color:var(--red);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.sec-en::before { content:''; display:block; width:28px; height:2px; background:var(--red); }
.sec-ttl {
  font-family:'Zen Kaku Gothic New',sans-serif;
  font-size:var(--font-section-title);
  font-weight:var(--weight-black); color:var(--navy); line-height:var(--lh-heading); letter-spacing:var(--tracking-none);
}
.sec-lead { font-size:.97rem; color:var(--sub); line-height:var(--lh-lead); max-width:600px; margin-top:16px; }

/* ── CTA ──────────────────────────────── */
.cta-section { background:var(--red); padding:148px 0; position:relative; overflow:hidden; }
.cta-section::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 100% at 100% 50%, rgba(255,255,255,.12) 0%,transparent 60%),
    radial-gradient(ellipse 50% 90% at 0% 50%, rgba(0,0,0,.06) 0%,transparent 55%);
}
.cta-inner { position:relative; z-index:1; text-align:center; }
.cta-inner h2 { font-family:'Zen Kaku Gothic New',sans-serif; font-size:clamp(1.8rem,4vw,3rem); font-weight:var(--weight-black); color:#fff; margin-bottom:16px; }
.cta-inner p { font-size:var(--font-lead); color:rgba(255,255,255,.65); margin-bottom:48px; }
.cta-btns { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
.btn-red { display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; font-weight:var(--weight-bold); font-size:.95rem; padding:18px 44px; border-radius:4px; text-decoration:none; transition:all .25s; box-shadow:0 4px 20px rgba(230,0,18,.3); }
.btn-red:hover { background:#c0000f; transform:translateY(-2px); }
/* 赤地バンド内は主ボタンを白塗りに（決定稿準拠） */
.cta-section .btn-red { background:#fff; color:var(--red); box-shadow:0 4px 20px rgba(0,0,0,.18); }
.cta-section .btn-red:hover { background:#f1f1f1; }
.btn-border { display:inline-flex; align-items:center; gap:10px; border:2px solid rgba(255,255,255,.35); color:#fff; font-weight:var(--weight-semibold); font-size:.9rem; padding:16px 36px; border-radius:4px; text-decoration:none; transition:all .25s; }
.btn-border:hover { border-color:#fff; background:rgba(255,255,255,.08); }

/* ── Footer ───────────────────────────── */
footer:not(.ast-footer) { background:var(--navy); padding:64px 0 0; border-top:1px solid rgba(255,255,255,.07); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.07); }
.footer-logo { font-family:'Outfit',sans-serif; font-size:1.4rem; font-weight:var(--weight-black); color:#fff; display:block; margin-bottom:14px; text-decoration:none; letter-spacing:.05em; }
.footer-brand p { font-size:var(--font-ui-sm); color:rgba(255,255,255,.38); line-height:1.8; max-width:240px; }
.footer-nav h4 { font-size:var(--font-label); font-weight:var(--weight-bold); letter-spacing:var(--tracking-label); color:rgba(255,255,255,.4); text-transform:uppercase; margin-bottom:14px; font-family:'Outfit',sans-serif; }
.footer-nav ul { list-style:none; }
.footer-nav li { margin-bottom:9px; }
.footer-nav a { font-size:var(--font-ui-sm); color:rgba(255,255,255,.46); text-decoration:none; transition:color .2s; }
.footer-nav a:hover { color:#fff; }
.footer-btm { padding:20px 0; display:flex; justify-content:space-between; align-items:center; }
.footer-btm p { font-size:.74rem; color:rgba(255,255,255,.24); }
.footer-btm-links { display:flex; gap:24px; }
.footer-btm-links a { font-size:.74rem; color:rgba(255,255,255,.28); text-decoration:none; }

/* ---- モバイル対応（追加） ---- */
@media (max-width: 768px) {
  .hero { margin-top: 0; min-height: 100svh; padding: calc(var(--header-height) + 72px) 20px 64px; }
  .hero-inner { grid-template-columns: 1fr !important; gap:36px; padding:0; }
  .hero-h1 { font-size: clamp(2.25rem, 9.2vw, 2.6rem); }
  .hero-stats { grid-template-columns: 1fr 1fr; }
  .stat-block { padding:22px 20px; }
  .stat-num { font-size:2.1rem; }
  .cases-section { padding:72px 0 96px; }
  .cases-grid, .testimonials-grid { grid-template-columns: 1fr !important; gap: 20px; }
  .case-card.featured { grid-column: auto !important; flex-direction: column !important; }
  .case-card.featured .case-thumb { aspect-ratio:1.52; width: 100% !important; }
  .case-body { padding:24px; }
  .testimonials { padding:80px 0 96px; }
  .testi-card { min-height:auto; padding:32px; }
  .cta-section { padding:94px 0; }
  .cta-inner h2 { font-size:1.65rem; line-height:1.35; }
  .filter-inner { overflow-x: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .wrap { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 900px) {
  .filter-wrap { overflow: hidden; }
  .filter-inner { max-width: 100%; overflow-x: auto; padding-left: 20px; padding-right: 20px; }
}

/* ===== ボタン幅トンマナ統一（主要ボタン300px固定／TOP中途・新卒エントリーは360維持） ===== */
.cta-btns { flex-wrap: wrap; }
.cta-btns a { width: 300px; box-sizing: border-box; justify-content: center; text-align: center; }

/* ===== 決定稿追補 0.5.7：実績カードと声セクションの圧縮を解消 ===== */
.page-template-page-achievements .hero { min-height: 635px; padding: 92px 40px 84px; }
.page-template-page-achievements .hero-inner { gap: 96px; }
.page-template-page-achievements .hero-h1 { font-size: clamp(2.55rem, 4.1vw, 3.75rem); }
.page-template-page-achievements .hero-desc { font-weight: var(--weight-semibold); color: #111827; }
.page-template-page-achievements .hero-stats { max-width: 590px; justify-self: end; }
.page-template-page-achievements .stat-block { padding: 38px 42px; min-height: 154px; }
.page-template-page-achievements .stat-num { font-size: 3.3rem; }
.page-template-page-achievements .cases-section { padding: 145px 0 240px; }
.page-template-page-achievements .cases-grid { gap: 34px 32px; }
.page-template-page-achievements .case-card { min-height: 610px; border-radius: 9px; }
.page-template-page-achievements .case-card.featured { min-height: 700px; }
.page-template-page-achievements .case-card.featured .case-thumb { width: 430px; }
.page-template-page-achievements .case-thumb { aspect-ratio: 1.18; }
.page-template-page-achievements .case-body { padding: 38px 34px 36px; }
.page-template-page-achievements .case-card h3 { font-size: 1.14rem; line-height: 1.52; }
.page-template-page-achievements .case-card.featured h3 { font-size: 1.42rem; }
.page-template-page-achievements .case-desc { font-size: .9rem; line-height: var(--lh-lead); margin-bottom: 26px; }
.page-template-page-achievements .case-result { padding-top: 22px; gap: 26px; }
.page-template-page-achievements .result-val { font-size: 1.55rem; }
.page-template-page-achievements .load-more-wrap { margin-top: 90px; }
.page-template-page-achievements .testimonials { padding: 150px 0 165px; }
.page-template-page-achievements .testimonials-grid { gap: 32px; margin-top: 76px; }
.page-template-page-achievements .testi-card { min-height: 390px; padding: 48px 42px; }
.page-template-page-achievements .testi-text { font-size: .98rem; line-height: 1.95; }
.page-template-page-achievements .cta-section { padding: 166px 0; }

/* ===== 決定稿追補 0.5.15：実績紹介のhero/cards/CTAを決定稿比率へ再補正 ===== */
@media (min-width: 769px) {
  .page-template-page-achievements {
    --achievements-filter-height: 55px;
  }

  .page-template-page-achievements .hero {
    height: calc(100vh - var(--header-height) - var(--achievements-filter-height));
    height: calc(100svh - var(--header-height) - var(--achievements-filter-height));
    min-height: calc(100vh - var(--header-height) - var(--achievements-filter-height));
    padding: 0;
  }

  .page-template-page-achievements .hero-inner {
    max-width: none;
    width: 100%;
    height: 100%;
    padding: 90px 68px;
    grid-template-columns: minmax(0, 1fr) 576px;
    gap: 80px;
    align-items: center;
  }

  .page-template-page-achievements .hero-inner > div:first-child {
    align-self: center;
  }

  .page-template-page-achievements .breadcrumb {
    margin-bottom: 20px;
  }

  .page-template-page-achievements .hero-en {
    margin-bottom: 10px;
  }

  .page-template-page-achievements .hero-stats {
    width: 576px;
    max-width: none;
    align-self: center;
    justify-self: end;
    margin-top: 0;
  }

  .page-template-page-achievements .stat-block {
    min-height: 200px;
    padding: 28px 54px;
  }

  .page-template-page-achievements .stat-num {
    font-size: 4rem;
  }

  .page-template-page-achievements .stat-num em {
    font-size: 1.85rem;
  }

  .page-template-page-achievements .filter-inner,
  .page-template-page-achievements .wrap {
    max-width: 1190px;
    padding-left: 0;
    padding-right: 0;
  }

  .page-template-page-achievements .filter-wrap {
    min-height: var(--achievements-filter-height);
  }

  .page-template-page-achievements .cases-section {
    padding-top: 132px;
    padding-bottom: 180px;
  }

  .page-template-page-achievements .cases-grid {
    gap: 34px 32px;
  }

  .page-template-page-achievements .case-card.featured .case-thumb {
    width: 350px;
  }

  .page-template-page-achievements .case-card.featured h3 {
    font-size: 1.32rem;
  }

  .page-template-page-achievements .cta-section {
    padding: 142px 0;
  }

  .page-template-page-achievements .cta-btns a {
    width: 384px;
    min-height: 67px;
  }

  .page-template-page-achievements .testimonials {
    padding-bottom: 149px;
  }
}

/* ===== 0.5.58：HERO文言位置をAbout基準へ統一 / stats削除後の1カラム化 ===== */
@media (min-width: 769px) {
  .page-template-page-achievements .hero-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    grid-template-columns: none;
    gap: 0;
    padding: 90px 68px;
  }

  .page-template-page-achievements .hero-inner > div:first-child {
    align-self: auto;
    max-width: 620px;
  }

  .page-template-page-achievements .breadcrumb { margin-bottom: 32px; }
  .page-template-page-achievements .hero-en { margin-bottom: 16px; }
  .page-template-page-achievements .hero-desc { max-width: 620px; }
  .page-template-page-achievements .hero-stats { display: none; }
}

@media (max-width: 768px) {
  .page-template-page-achievements .hero {
    margin-top: 0;
    height: auto;
    min-height: 0;
    padding: calc(var(--header-height) + 90px) 20px 50px;
    display: block;
  }

  .page-template-page-achievements .hero-inner {
    display: block;
    width: 100%;
    padding: 0;
    grid-template-columns: none !important;
    gap: 0;
  }

  .page-template-page-achievements .breadcrumb { margin-bottom: 18px; }
  .page-template-page-achievements .hero-en { margin-bottom: 16px; }
  .page-template-page-achievements .hero-stats { display: none; }
}

/* ===== 0.5.61：モバイルHEROをFILTER込み100svhへ統一 ===== */
@media (max-width: 768px) {
  .page-template-page-achievements {
    --achievements-filter-height: 55px;
  }

  .page-template-page-achievements .hero {
    height: calc(100vh - var(--achievements-filter-height));
    height: calc(100svh - var(--achievements-filter-height));
    min-height: calc(100vh - var(--achievements-filter-height));
    min-height: calc(100svh - var(--achievements-filter-height));
    display: flex;
    align-items: center;
    padding: calc(var(--header-height) + 42px) 20px 42px;
    background-color: #dfe3e8;
  }

  .page-template-page-achievements .hero::before {
    background: none;
  }

  .page-template-page-achievements .hero .hero-bg-media::after {
    background: transparent;
  }

  .page-template-page-achievements .filter-wrap {
    height: var(--achievements-filter-height);
    min-height: var(--achievements-filter-height);
  }

  .page-template-page-achievements .filter-inner {
    height: 100%;
    align-items: stretch;
  }

  .page-template-page-achievements .filter-label,
  .page-template-page-achievements .filter-btn {
    display: flex;
    align-items: center;
    height: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* HERO動画の白フェードを解除。共通の黒フェードは維持する。 */
.page-template-page-achievements .hero::before {
  background: none;
}
.page-template-page-achievements .hero .hero-bg-media::after {
  background: transparent;
}

/* 0.5.154: Mobile HERO typography and bottom alignment. */
@media (max-width: 768px) {
  .page-template-page-achievements .hero {
    align-items: flex-end !important;
    padding-bottom: 24px !important;
  }

  .page-template-page-achievements .hero-h1 {
    font-size: 26px !important;
  }
}
