/* ==========================================================================
   訪問介護なな（仮） 追加スタイル
   theme.json（色・フォント・スペーシング）で表現しきれない装飾のみ。
   ========================================================================== */

/* --- Placeholder Image（画像差し替え前提の配置枠） --- */
.ph-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  background: repeating-linear-gradient(
    45deg,
    var(--wp--preset--color--placeholder),
    var(--wp--preset--color--placeholder) 10px,
    #e6e6e6 10px,
    #e6e6e6 20px
  );
  border-radius: 16px;
  color: #8e8e8e;
  font-size: 12px;
  text-align: center;
}

.ph-image p {
  background: rgba(255, 255, 255, 0.85);
  padding: 4px 10px;
  border-radius: 999px;
  margin: 0;
}


/* --- 全体の段落・セクション余白を圧縮 --- */
.wp-site-blocks > * {
  margin-block-start: 8px;
}

.wp-block-group,
.wp-block-columns,
.wp-block-buttons,
.wp-block-query {
  gap: 12px;
}

.wp-block-heading {
  margin-top: 0;
  margin-bottom: 10px;
}

p {
  margin-top: 0;
  margin-bottom: 10px;
}

body,
.wp-site-blocks {
  background-color: #ffffff;
}

.hero,
.about,
.service,
.recruit,
.news {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* --- Hero：アップロード済みメイン画像＋花装飾 --- */
.hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background-color: var(--wp--preset--color--primary-light);
  background:
    url('/wp-content/uploads/2026/07/flower-tulip.png') max(18px, calc((100vw - 1080px) / 2)) 140px / clamp(56px, 8vw, 100px) auto no-repeat,
    url('/wp-content/uploads/2026/07/flower-cosmos.png') min(calc(100vw - 80px), calc((100vw + 1080px) / 2 - 110px)) 142px / clamp(58px, 8vw, 106px) auto no-repeat,
    url('/wp-content/uploads/2026/07/flower-blue-small.png') 12% calc(100% - 28px) / clamp(50px, 7vw, 86px) auto no-repeat,
    url('/wp-content/uploads/2026/07/flower-daisy.png') 88% calc(100% - 42px) / clamp(44px, 6vw, 74px) auto no-repeat,
    url('/wp-content/uploads/2026/07/flower-pansy.png') max(46px, calc((100vw - 940px) / 2)) 46% / clamp(40px, 5vw, 68px) auto no-repeat,
    url('/wp-content/uploads/2026/07/flower-yellow-small.png') min(calc(100vw - 70px), calc((100vw + 940px) / 2 - 60px)) 52% / clamp(38px, 5vw, 64px) auto no-repeat,
    linear-gradient(180deg, rgba(227, 246, 244, 0.98) 0%, rgba(227, 246, 244, 0.76) 30%, rgba(227, 246, 244, 0.08) 62%, rgba(227, 246, 244, 0) 100%),
    url('/wp-content/uploads/2026/07/トップ画像.png') center bottom / min(1180px, 108vw) auto no-repeat;
  background-color: #ffffff;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 24%;
  background: linear-gradient(180deg, rgba(227, 246, 244, 0) 0%, #ffffff 86%);
  pointer-events: none;
}

.hero-copy {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 18px 22px 18px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(127, 205, 196, 0.24);
  border-radius: 28px;
  box-shadow: 0 18px 48px rgba(79, 168, 162, 0.12);
  margin: 4px 20px 0;
  backdrop-filter: blur(3px);
}

.flower-deco {
  display: none;
  position: absolute;
  z-index: 1;
  width: 120px;
  height: auto;
  margin: 0 !important;
  pointer-events: none;
  filter: drop-shadow(0 10px 18px rgba(74, 64, 56, 0.08));
}

.flower-deco img {
  display: block;
  width: 100%;
  height: auto;
}

.flower-deco--hero-left {
  left: max(18px, calc((100vw - 1080px) / 2));
  top: 140px;
  width: clamp(96px, 13vw, 170px);
  transform: rotate(-8deg);
}

.flower-deco--hero-right {
  right: max(12px, calc((100vw - 1080px) / 2));
  top: 142px;
  width: clamp(98px, 14vw, 180px);
  transform: rotate(7deg);
}

.flower-deco--hero-bottom {
  left: 12%;
  bottom: 28px;
  width: clamp(86px, 11vw, 142px);
  transform: rotate(5deg);
}



/* --- 全幅セクション補強（エディターのalignfullが落ちても表示を全幅にする） --- */
.about,
.service,
.recruit,
.news {
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(20px, calc((100vw - 1120px) / 2));
  padding-right: max(20px, calc((100vw - 1120px) / 2));
  box-sizing: border-box;
}

.hero {
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* --- お花パーツ散りばめ --- */
.about::before,
.service::before,
.service::after,
.recruit::before,
.recruit::after,
.news::before,
.news::after {
  content: "";
  position: absolute;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  opacity: 0.34;
  filter: drop-shadow(0 10px 18px rgba(74, 64, 56, 0.07));
}

.about::before {
  right: max(-16px, calc((100vw - 1120px) / 2 - 40px));
  top: 54px;
  width: clamp(48px, 6vw, 84px);
  aspect-ratio: 260 / 430;
  background-image: url('/wp-content/uploads/2026/07/flower-rose.png');
  transform: rotate(7deg);
}

.about::after {
  display: none;
}

.service,
.recruit,
.news {
  position: relative;
  overflow: hidden;
}

.service > *,
.recruit > *,
.news > * {
  position: relative;
  z-index: 1;
}

.service::before {
  left: max(-18px, calc((100vw - 1120px) / 2 - 44px));
  top: 92px;
  width: clamp(44px, 6vw, 78px);
  aspect-ratio: 210 / 410;
  background-image: url('/wp-content/uploads/2026/07/flower-lavender.png');
  transform: rotate(-4deg);
}

.service::after {
  right: max(-18px, calc((100vw - 1120px) / 2 - 46px));
  bottom: 24px;
  width: clamp(48px, 6vw, 84px);
  aspect-ratio: 270 / 320;
  background-image: url('/wp-content/uploads/2026/07/flower-poppy.png');
  transform: rotate(8deg);
}

.recruit::before {
  left: max(-18px, calc((100vw - 980px) / 2 - 46px));
  bottom: 20px;
  width: clamp(46px, 6vw, 80px);
  aspect-ratio: 270 / 325;
  background-image: url('/wp-content/uploads/2026/07/flower-pink-small.png');
  transform: rotate(-7deg);
}

.recruit::after {
  right: max(-16px, calc((100vw - 980px) / 2 - 42px));
  top: 60px;
  width: clamp(44px, 5vw, 74px);
  aspect-ratio: 250 / 320;
  background-image: url('/wp-content/uploads/2026/07/flower-sunflower.png');
  transform: rotate(9deg);
}

.news::before {
  left: max(-16px, calc((100vw - 900px) / 2 - 42px));
  top: 70px;
  width: clamp(40px, 5vw, 68px);
  aspect-ratio: 240 / 300;
  background-image: url('/wp-content/uploads/2026/07/flower-daisy.png');
  transform: rotate(-8deg);
}

.news::after {
  right: max(-14px, calc((100vw - 900px) / 2 - 40px));
  bottom: 40px;
  width: clamp(42px, 5vw, 70px);
  aspect-ratio: 200 / 285;
  background-image: url('/wp-content/uploads/2026/07/flower-yellow-small.png');
  transform: rotate(6deg);
}

/* --- About：背景画像＋読みやすい本文面 --- */
.about {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  display: flex;
  align-items: center;
  background: url('/wp-content/uploads/2026/07/背景画像.png') center center / cover no-repeat;
}

.about::before {
  display: none;
}

.about-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
  opacity: 1;
  pointer-events: none;
}

.about > .wp-block-columns {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  margin-left: auto !important;
  margin-right: auto !important;
}

.about > .wp-block-columns > .wp-block-column:first-child {
  flex-basis: min(720px, 100%) !important;
  max-width: 720px;
  padding: 18px 22px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(1px);
}

.about > .wp-block-columns > .wp-block-column:last-child,
.about-circle-img {
  display: none !important;
}

.about::after {
  display: none;
}

.about__content {
  position: relative;
  z-index: 1;
  margin-left: max(24px, calc((100vw - 1120px) / 2)) !important;
  margin-right: auto !important;
  max-width: 720px !important;
}

.about__content p {
  line-height: 1.75;
}

/* --- Hero eyebrow バッジ --- */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary-dark) !important;
  padding: 6px 18px;
  border-radius: 999px;
  margin-bottom: 16px;
}

/* --- セクションラベル --- */
.section-label {
  color: var(--wp--preset--color--primary-dark) !important;
  margin-bottom: 8px;
}

/* --- Service カード --- */
.service-card {
  background: #ffffff;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 32px;
  padding: 14px 18px 18px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-card__photo {
  margin: 0 0 6px;
}

.service-card__photo img {
  width: 100%;
  height: auto;
  border-radius: 20px;
  display: block;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(79, 168, 162, 0.12);
}

.service-card__badge {
  display: inline-block;
  align-self: flex-start;
  color: var(--wp--preset--color--flower-pink) !important;
  background: var(--wp--preset--color--flower-pink-light);
  padding: 4px 14px;
  border-radius: 999px;
  margin-bottom: 4px;
}



/* --- Recruit：マスコットアイコン --- */
.recruit__mascot {
  display: none;
  width: 72px;
  height: auto;
  margin: 0 auto 16px;
}

.recruit {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.recruit__panel {
  padding: 18px 20px !important;
}

.recruit__panel h2 {
  line-height: 1.45;
  margin-bottom: 14px !important;
}

.recruit__panel h2 br {
  display: none;
}

.recruit__panel h2 br:first-of-type {
  display: block;
}

.recruit__panel > * {
  margin-block-start: 10px !important;
}

.recruit__panel > :first-child {
  margin-block-start: 0 !important;
}

/* --- Recruit テーブル --- */
.recruit__table {
  margin-top: 8px;
  margin-bottom: 0;
}

.recruit__table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--wp--preset--color--border) !important;
}

.recruit__table td {
  border: 1px solid var(--wp--preset--color--border) !important;
  padding: 8px 8px;
  vertical-align: top;
}

.recruit__table td:first-child {
  font-family: var(--wp--preset--font-family--accent);
  font-weight: 700;
  color: var(--wp--preset--color--primary-dark);
  background: rgba(227, 246, 244, 0.45);
  font-size: 14px;
  width: 160px;
  white-space: nowrap;
  text-align: center;
}

.recruit__jobs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 14px;
  margin: 0;
  padding-left: 1.2em;
}

.recruit__jobs li {
  margin: 0;
}

/* --- News --- */
.news-item {
  padding: 8px 0;
  border-bottom: 1px solid var(--wp--preset--color--border);
  align-items: baseline !important;
}

.news-item__date {
  color: var(--wp--preset--color--primary-dark) !important;
  flex-shrink: 0;
  width: 90px;
}

.news-item__title a {
  text-decoration: none;
}

/* --- Site Header（中身をコンテンツ幅1120pxに内寄せ） --- */
.site-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: rgba(227, 246, 244, 0.96) !important;
  background-color: var(--wp--preset--color--primary-light) !important;
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding-left: max(24px, calc((100vw - 1120px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1120px) / 2)) !important;
}

.site-header.has-bg-background-color {
  background-color: var(--wp--preset--color--primary-light) !important;
}

/* --- Site Footer：横並び＋控えめな背景画像 --- */
.site-footer {
  position: relative;
  overflow: hidden;
  background-color: #ffffff !important;
  padding-left: max(24px, calc((100vw - 1120px) / 2)) !important;
  padding-right: max(24px, calc((100vw - 1120px) / 2)) !important;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/wp-content/uploads/2026/07/背景画像.png') center 58% / cover no-repeat;
  opacity: 0.24;
  z-index: 0;
  pointer-events: none;
}

.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.66);
  z-index: 1;
  pointer-events: none;
}

.site-footer__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  opacity: 0.24;
  z-index: 0;
  pointer-events: none;
}

.site-footer .wp-block-columns {
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(20px, 4vw, 56px) !important;
  width: 100%;
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-footer .wp-block-column {
  flex-basis: auto !important;
  flex-grow: 0 !important;
}

.site-footer .wp-block-column:first-child {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 36px);
}

.site-footer .wp-block-column:first-child > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.site-footer .wp-block-column:first-child p {
  font-size: 12px !important;
  line-height: 1.8 !important;
  margin: 0;
  white-space: nowrap;
}

.site-footer .wp-block-column:last-child {
  margin-left: auto;
}

.site-footer .wp-block-column:last-child p {
  margin: 0;
  white-space: nowrap;
}

.site-footer .wp-block-columns ~ * {
  position: relative;
  z-index: 2;
}

.site-footer .wp-block-buttons {
  display: none !important;
}

@media (max-width: 781px) {
  .site-footer .wp-block-columns,
  .site-footer .wp-block-column:first-child {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
  }

  .site-footer .wp-block-column:first-child {
    gap: 10px;
  }

  .site-footer .wp-block-column:first-child p,
  .site-footer .wp-block-column:last-child p {
    white-space: normal;
  }

  .site-footer .wp-block-column:last-child {
    margin-left: 0;
  }
}

/* --- Fade-in animation（main.jsが対象要素にfade-inクラスを付与） --- */
.fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {
  .hero {
    min-height: 500px;
    background-size:
      68px auto,
      72px auto,
      58px auto,
      52px auto,
      0 0,
      0 0,
      auto,
      min(980px, 118vw) auto;
  }

  .hero h1 {
    font-size: clamp(24px, 3.6vw, 30px) !important;
  }

  .about {
    min-height: 500px;
  }

  .about > .wp-block-columns > .wp-block-column:first-child {
    max-width: 660px;
  }

  .recruit__table td:first-child {
    width: 132px;
  }
}

@media (max-width: 768px) {
  .service .is-layout-grid {
    grid-template-columns: 1fr !important;
  }

  .recruit__table td:first-child {
    white-space: normal;
    width: auto;
    display: block;
    border-bottom: 0 !important;
    padding-bottom: 0;
    text-align: left;
  }

  .recruit__table td:nth-child(2) {
    display: block;
  }

  .recruit__jobs {
    grid-template-columns: 1fr;
  }

  .recruit__panel {
    padding: 16px !important;
  }

  .recruit__panel h2 {
    font-size: clamp(18px, 5vw, 20px) !important;
    line-height: 1.45;
  }

  .news-item {
    flex-direction: column;
    gap: 4px;
  }

  .hero {
    min-height: 480px;
    background-size:
      48px auto,
      52px auto,
      0 0,
      42px auto,
      0 0,
      0 0,
      auto,
      min(760px, 132vw) auto;
    background-position:
      -8px 142px,
      calc(100% - 46px) 132px,
      0 0,
      calc(100% - 24px) calc(100% - 36px),
      0 0,
      0 0,
      0 0,
      center bottom;
  }

  /* PC向けの固定<br>を無効化し、自然な折り返しに任せる */
  .hero h1 br,
  .recruit__panel h2 br {
    display: none;
  }

  .recruit__panel h2 br:first-of-type {
    display: block;
  }

  .hero-copy {
    margin: 4px 16px;
    padding: 18px 18px 18px;
  }

  .about {
    min-height: auto;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .about::after {
    background: rgba(255, 255, 255, 0.84);
  }

  .about__content {
    margin-left: auto !important;
    max-width: 100% !important;
  }

  .flower-deco--hero-left {
    left: -8px;
    top: 132px;
    width: 86px;
  }

  .flower-deco--hero-right {
    right: -10px;
    top: 120px;
    width: 92px;
  }

  .flower-deco--hero-bottom {
    display: none;
  }

  .about::before,
  .service::before,
  .service::after,
  .recruit::before,
  .recruit::after,
  .news::before,
  .news::after {
    opacity: 0.2;
    width: 40px;
  }
}

/* ==========================================================================
   Browser review adjustments 2026-07-28
   フロントページに寄せられた表示修正。
   ========================================================================== */

/* 1: メイン画像の上に重ねていた白いベールを外す */
.hero::before {
  display: none;
}

/* 2: ファーストビューのコピー枠を上へ移動 */
.hero {
  padding-top: clamp(24px, 3vw, 36px) !important;
}

.hero-copy {
  margin-top: 0 !important;
}

/* 3: ヒーロー内のお問い合わせだけをパステルピンクにする */
.hero-copy .wp-block-button:first-child .wp-block-button__link {
  background-color: var(--nana-pink) !important;
  border-color: var(--nana-pink) !important;
  color: var(--nana-text) !important;
  box-shadow: 0 14px 30px rgba(248, 207, 200, 0.28);
}

.hero-copy .wp-block-button:first-child .wp-block-button__link:hover {
  background-color: #f3bdb4 !important;
  border-color: #f3bdb4 !important;
  color: var(--nana-text) !important;
}

/* 4: お知らせタイトルを日付よりわずかに大きくする */
.news-item__date {
  font-size: 15px !important;
}

.news-item__title,
.news-item__title a {
  font-size: 17px !important;
  line-height: 1.55 !important;
}

/* 5: 採用パネルのメイン見出しを一段小さくする */
.recruit__panel h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.5;
}

/* 6: 募集職種を1項目1行にし、表内の文字サイズを統一する */
.recruit__table {
  overflow-x: auto;
}

.recruit__table table {
  min-width: 720px;
}

.recruit__table td,
.recruit__table td:first-child {
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.recruit__jobs {
  grid-template-columns: repeat(2, minmax(max-content, 1fr));
  gap: 4px 10px;
}

.recruit__jobs li {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .hero {
    padding-top: 32px !important;
  }
}

/* ==========================================================================
   Design polish 2026-07-08
   優しさは残しつつ、信頼感・可読性・CTA導線を強化。
   ========================================================================== */
:root {
  --nana-green: #6fcbc3;
  --nana-green-hover: #55b8af;
  --nana-pale-green: #e5f7f4;
  --nana-text: #3f3a36;
  --nana-text-soft: #6f6760;
  --nana-border: #e8ded2;
  --nana-pink: #f8cfc8;
  --nana-shadow: 0 18px 48px rgba(72, 139, 133, 0.14);
  --nana-shadow-strong: 0 24px 64px rgba(72, 139, 133, 0.2);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--nana-text);
  font-family: "Zen Maru Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif;
}

p,
li,
td {
  color: var(--nana-text);
  line-height: 1.9;
}

.has-text-soft-color,
.has-text-soft-color p {
  color: var(--nana-text-soft) !important;
}

.wp-block-heading {
  color: var(--nana-text);
  font-weight: 700;
  text-wrap: balance;
}

.hero,
.about,
.service,
.recruit,
.news {
  padding-top: clamp(64px, 8vw, 96px) !important;
  padding-bottom: clamp(72px, 9vw, 108px) !important;
}

.about,
.service,
.recruit,
.news {
  padding-left: max(20px, calc((100vw - 1120px) / 2));
  padding-right: max(20px, calc((100vw - 1120px) / 2));
}

.service::before,
.service::after,
.recruit::before,
.recruit::after,
.news::before,
.news::after {
  opacity: 0.22;
}

.wp-block-button__link {
  transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.wp-block-button__link:hover {
  transform: translateY(-1px);
}

.wp-block-button__link:active {
  transform: translateY(0);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--nana-green) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(85, 184, 175, 0.22);
  padding: 14px 30px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--nana-green-hover) !important;
  box-shadow: 0 18px 36px rgba(85, 184, 175, 0.28);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 2px solid rgba(63, 58, 54, 0.74) !important;
  color: var(--nana-text) !important;
  padding: 12px 28px;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #ffffff !important;
  border-color: var(--nana-green-hover) !important;
  color: var(--nana-green-hover) !important;
}

/* First view */
.hero {
  min-height: clamp(620px, 78vh, 760px);
  align-items: flex-start;
  padding-top: clamp(72px, 9vw, 104px) !important;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.5) 44%, rgba(255, 255, 255, 0.78) 100%);
  pointer-events: none;
}

.hero::after {
  z-index: 1;
}

.hero-copy {
  max-width: 720px !important;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 5vw, 56px);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 34px;
  box-shadow: var(--nana-shadow-strong);
  backdrop-filter: blur(5px);
}

.hero-copy h1 {
  font-size: clamp(32px, 4vw, 44px) !important;
  line-height: 1.34;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 18px;
}

.hero-copy p:not(.hero-eyebrow) {
  max-width: 590px;
  margin-left: auto;
  margin-right: auto;
  color: var(--nana-text-soft) !important;
  font-size: clamp(15px, 1.3vw, 16px) !important;
  line-height: 1.95;
}

.hero-copy .wp-block-buttons {
  gap: 14px;
  margin-top: 22px;
}

.hero-copy .wp-block-button:first-child .wp-block-button__link {
  background-color: var(--nana-green) !important;
  border-color: var(--nana-green) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(85, 184, 175, 0.22);
}

.hero-copy .wp-block-button:nth-child(2) .wp-block-button__link {
  background: rgba(255, 255, 255, 0.84) !important;
  border: 2px solid rgba(63, 58, 54, 0.72) !important;
  color: var(--nana-text) !important;
  box-shadow: none;
}

/* Header */
.site-header {
  min-height: 72px;
  background: rgba(255, 255, 255, 0.92) !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 10px 30px rgba(72, 139, 133, 0.12);
  border-bottom: 1px solid rgba(232, 222, 210, 0.9);
}

.site-header .custom-logo,
.site-header .wp-block-site-logo img {
  width: clamp(160px, 15vw, 190px) !important;
  max-width: 190px;
  height: auto;
}

.site-header .wp-block-navigation-item__content {
  color: var(--nana-text) !important;
  font-size: 14px;
  font-weight: 700;
}

.site-header .wp-block-navigation-item__content:hover {
  color: var(--nana-green-hover) !important;
}

.site-header .wp-block-button__link {
  padding: 14px 28px;
  min-height: 50px;
}

/* About */
.about > .wp-block-columns > .wp-block-column:first-child {
  max-width: 720px;
  padding: clamp(34px, 5vw, 56px);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 30px;
  box-shadow: var(--nana-shadow);
}

.about h2::before {
  content: "ABOUT US";
  display: block;
  margin-bottom: 8px;
  color: var(--nana-green-hover);
  font-family: "Zen Maru Gothic", "Hiragino Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.about h2 {
  margin-bottom: 24px;
  font-size: clamp(26px, 3vw, 34px) !important;
}

.about p {
  max-width: 64ch;
  font-size: 15.5px;
  line-height: 1.95;
}

.about p[style*="font-weight:600"] {
  display: inline-block;
  color: var(--nana-text);
  background: var(--nana-pale-green);
  border-radius: 999px;
  padding: 6px 16px;
  margin-bottom: 16px;
}

.about p[style*="font-weight:700"] {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--nana-border);
}

/* Service */
.service > .wp-block-group:first-child,
.news > .wp-block-heading,
.recruit__section-title {
  margin-bottom: clamp(32px, 5vw, 52px) !important;
}

.service h2,
.news h2,
.recruit__section-title {
  font-size: clamp(26px, 3vw, 34px) !important;
}

.service .alignwide {
  max-width: 1080px;
}

.service-card {
  border-radius: 24px;
  padding: 18px 20px 28px;
  border: 1px solid rgba(232, 222, 210, 0.95);
  box-shadow: 0 10px 30px rgba(72, 139, 133, 0.08);
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--nana-shadow-strong);
}

.service-card h3 {
  font-size: clamp(20px, 2vw, 22px) !important;
  margin-top: 8px;
  margin-bottom: 10px;
}

.service-card p:not(.service-card__badge) {
  color: var(--nana-text-soft) !important;
  font-size: 15px !important;
  line-height: 1.85;
}

.service-card__badge {
  color: var(--nana-green-hover) !important;
  background: var(--nana-pale-green);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.service-card__points {
  display: grid;
  gap: 7px;
  margin: 16px 0 0;
  padding: 14px 16px;
  list-style: none;
  border-radius: 16px;
  background: rgba(229, 247, 244, 0.62);
}

.service-card__points li {
  position: relative;
  padding-left: 1.1em;
  color: var(--nana-text);
  font-size: 14px;
  line-height: 1.7;
}

.service-card__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--nana-green);
}

/* News */
.news {
  max-width: none;
}

.news__list {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.news-item {
  padding: 18px 0;
  border-bottom: 1px solid var(--nana-border);
}

.news-item__date {
  color: var(--nana-green-hover) !important;
  font-weight: 700;
}

.news-item__title a:hover {
  color: var(--nana-green-hover) !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news__more {
  margin-top: 22px;
}

/* Recruit */
.recruit {
  background-color: var(--nana-pale-green) !important;
}

.recruit__section-title {
  margin-bottom: 30px !important;
}

.recruit__panel {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 28px !important;
  padding: clamp(28px, 4vw, 44px) !important;
  box-shadow: var(--nana-shadow);
  border: 1px solid rgba(255, 255, 255, 0.84);
}

.recruit__panel h2 {
  font-size: clamp(22px, 2.6vw, 30px) !important;
  line-height: 1.55;
  margin-bottom: 16px !important;
}

.recruit__lead {
  max-width: 620px;
  margin: 0 auto 22px !important;
  color: var(--nana-text-soft) !important;
  font-size: 15.5px;
  line-height: 1.9;
}

.recruit__table table {
  border: 1px solid var(--nana-border) !important;
}

.recruit__table td {
  padding: 14px 16px;
  border-color: var(--nana-border) !important;
}

.recruit__table td:first-child {
  background: #eaf8f5;
  color: var(--nana-text);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

@media (max-width: 768px) {
  .hero,
  .about,
  .service,
  .recruit,
  .news {
    padding-top: 64px !important;
    padding-bottom: 76px !important;
  }

  .hero {
    min-height: 620px;
    align-items: flex-start;
    padding-top: 86px !important;
    background-size:
      42px auto,
      46px auto,
      0 0,
      0 0,
      0 0,
      0 0,
      auto,
      min(820px, 170vw) auto;
    background-position:
      -12px 150px,
      calc(100% - 36px) 142px,
      0 0,
      0 0,
      0 0,
      0 0,
      0 0,
      center bottom;
  }

  .hero-copy {
    width: calc(100% - 32px);
    margin: 0 auto;
    padding: 32px 24px;
    border-radius: 28px;
  }

  .hero-copy h1 {
    font-size: clamp(28px, 8vw, 32px) !important;
    line-height: 1.38;
  }

  .hero-copy .wp-block-buttons {
    flex-direction: column;
    align-items: center;
  }

  .hero-copy .wp-block-button,
  .hero-copy .wp-block-button__link {
    width: 100%;
    max-width: 280px;
  }

  .site-header {
    min-height: 66px;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .site-header .custom-logo,
  .site-header .wp-block-site-logo img {
    width: 148px !important;
  }

  .about > .wp-block-columns > .wp-block-column:first-child {
    padding: 30px 22px;
    border-radius: 24px;
  }

  .service .alignwide {
    gap: 28px !important;
  }

  .service-card {
    padding: 16px 18px 24px;
  }

  .recruit__table table,
  .recruit__table tbody,
  .recruit__table tr,
  .recruit__table td {
    display: block;
    width: 100% !important;
  }

  .recruit__table table {
    border: 0 !important;
  }

  .recruit__table tr {
    margin-bottom: 14px;
    border: 1px solid var(--nana-border);
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(72, 139, 133, 0.07);
  }

  .recruit__table td {
    border: 0 !important;
    padding: 12px 14px;
  }

  .recruit__table td:first-child {
    border-bottom: 1px solid var(--nana-border) !important;
    text-align: left;
  }

  .recruit__jobs {
    padding-left: 0;
    list-style: none;
  }
}

/* 最終表示調整。既存のdesign polishより後で適用する。 */
.hero::before {
  display: none;
}

.hero {
  padding-top: clamp(24px, 3vw, 36px) !important;
}

.hero-copy {
  margin-top: 0 !important;
}

.hero-copy .wp-block-button:first-child .wp-block-button__link {
  background-color: var(--nana-pink) !important;
  border-color: var(--nana-pink) !important;
  color: var(--nana-text) !important;
  box-shadow: 0 14px 30px rgba(248, 207, 200, 0.28);
}

.hero-copy .wp-block-button:first-child .wp-block-button__link:hover {
  background-color: #f3bdb4 !important;
  border-color: #f3bdb4 !important;
  color: var(--nana-text) !important;
}

.news-item__date {
  font-size: 15px !important;
}

.news-item__title,
.news-item__title a {
  font-size: 17px !important;
  line-height: 1.55 !important;
}

.recruit__panel h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.5;
}

.recruit__table td,
.recruit__table td:first-child {
  font-size: 12px !important;
  line-height: 1.7 !important;
}

@media (min-width: 769px) {
  .recruit__table {
    overflow-x: auto;
  }

  .recruit__table table {
    min-width: 720px;
  }

  .recruit__jobs {
    grid-template-columns: repeat(2, minmax(max-content, 1fr));
    gap: 4px 10px;
  }

  .recruit__jobs li {
    white-space: nowrap;
  }
}

@media (max-width: 768px) {
  .hero {
    padding-top: 32px !important;
  }

  .recruit__jobs {
    grid-template-columns: 1fr;
  }

  .recruit__jobs li {
    white-space: normal;
  }
}

/* Hero block hierarchy: copy and background are siblings in the parent stage. */
.hero-stage {
  position: relative;
  display: grid;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.hero-stage > .hero,
.hero-stage > .hero-copy {
  grid-area: 1 / 1;
}

.hero-stage > .hero {
  z-index: 0;
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.hero-stage > .hero-copy {
  z-index: 2;
  align-self: start;
  justify-self: center;
  width: min(720px, calc(100% - 40px));
  box-sizing: border-box;
  margin: clamp(24px, 3vw, 36px) auto 0 !important;
}

@media (max-width: 768px) {
  .hero-stage > .hero-copy {
    width: calc(100% - 32px);
    margin-top: 32px !important;
  }

  .hero-stage > .hero-copy h1 br {
    display: none;
  }
}

/* Front page section spacing: compact the three content sections. */
.service,
.news,
.recruit {
  padding-top: clamp(28px, 3vw, 36px) !important;
  padding-bottom: clamp(28px, 3vw, 36px) !important;
}

.service > .wp-block-group:first-child,
.news > .wp-block-heading,
.recruit__section-title {
  margin-bottom: clamp(18px, 2.2vw, 26px) !important;
}

/* Keep the desktop recruitment jobs on one line without horizontal overflow. */
@media (min-width: 769px) {
  .recruit__panel {
    max-width: 820px;
  }

  .recruit__table {
    overflow-x: visible;
  }

  .recruit__table table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .recruit__table td:first-child {
    width: 130px;
  }

  .recruit__jobs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 6px;
    padding-left: 1em;
  }
}

.recruit__table td:first-child {
  font-size: 13px !important;
}

/* Front page typography scale: optimized for Japanese readability. */
.hero-copy h1 {
  font-family: "Zen Maru Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", sans-serif !important;
  font-size: 39px !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.04em;
}

.about h2,
.service > .wp-block-group:first-child h2,
.news > h2,
.recruit__section-title {
  font-size: 29px !important;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
}

.service-card h3,
.recruit__panel h3 {
  font-size: 19px !important;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

main#wp--skip-link--target p:not(.service-card__badge):not(.hero-eyebrow) {
  font-size: 15px !important;
  line-height: 1.8 !important;
  letter-spacing: 0.02em;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .hero-copy h1 {
    font-size: 34px !important;
  }

  .about h2,
  .service > .wp-block-group:first-child h2,
  .news > h2,
  .recruit__section-title {
    font-size: 26px !important;
  }

  .service-card h3,
  .recruit__panel h3 {
    font-size: 18px !important;
  }
}

@media (max-width: 768px) {
  .hero-copy h1 {
    font-size: clamp(26px, 7.2vw, 29px) !important;
    line-height: 1.4;
    letter-spacing: 0.03em;
  }

  .about h2,
  .service > .wp-block-group:first-child h2,
  .news > h2,
  .recruit__section-title {
    font-size: 22px !important;
    line-height: 1.45;
    letter-spacing: 0.04em;
  }

  .service-card h3,
  .recruit__panel h3 {
    font-size: 17px !important;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
}

/* Let the About artwork show through while preserving text contrast. */
.about > .wp-block-columns > .wp-block-column:first-child {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: 0 16px 40px rgba(54, 89, 84, 0.14);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.about > .wp-block-columns > .wp-block-column:first-child p,
.about > .wp-block-columns > .wp-block-column:first-child h2 {
  color: #342f2b !important;
}

/* Sticky header and floating scrolled state. */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 1000;
}

body.admin-bar header.wp-block-template-part {
  top: 32px;
}

header.wp-block-template-part .site-header {
  position: relative !important;
  top: auto;
  width: 100%;
  box-sizing: border-box;
  transition:
    width 0.28s ease,
    transform 0.28s ease,
    border-radius 0.28s ease,
    background-color 0.28s ease,
    box-shadow 0.28s ease;
}

header.wp-block-template-part.is-scrolled .site-header {
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.82) !important;
  background-color: rgba(255, 255, 255, 0.82) !important;
  box-shadow: none;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

/* Scroll reveal for the front page. */
.fade-in {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.65s ease, transform 0.65s ease;
  will-change: opacity, transform;
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.site-footer .wp-block-column:first-child p {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

@media (max-width: 782px) {
  body.admin-bar header.wp-block-template-part {
    top: 46px;
  }

  header.wp-block-template-part.is-scrolled .site-header {
    width: 100%;
    transform: none;
    border-radius: 0;
  }
}

/* Keep the hero copy readable without the white card treatment. */
.hero-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media (max-width: 600px) {
  .site-header {
    gap: 8px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .site-header .custom-logo,
  .site-header .wp-block-site-logo img {
    width: 120px !important;
    max-width: 120px !important;
  }

  .site-header .wp-block-button__link {
    min-height: 44px;
    padding: 10px 14px !important;
    font-size: 13px;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  header.wp-block-template-part .site-header {
    transition: none;
  }

  .fade-in,
  .fade-in.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Final front-page alignment and typography refinements. */
header.wp-block-template-part:not(.is-scrolled) .site-header,
header.wp-block-template-part:not(.is-scrolled) .site-header.has-bg-background-color {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about > .wp-block-columns {
  justify-content: center;
}

.about > .wp-block-columns > .wp-block-column:first-child {
  margin-left: auto !important;
  margin-right: auto !important;
}

.about > .wp-block-columns > .wp-block-column:first-child > p:not(:first-of-type) {
  font-weight: 300 !important;
}

.service-card p:not(.service-card__badge) {
  font-weight: 300 !important;
}

.recruit__panel h3 {
  font-weight: 600 !important;
}

.recruit__lead,
.recruit__table td:not(:first-child),
.recruit__jobs li {
  font-weight: 300 !important;
}

.recruit__table td,
.recruit__table td:first-child {
  font-size: 13px !important;
}

@media (max-width: 768px) {
  .recruit__table {
    overflow-x: visible;
  }

  .recruit__table table {
    min-width: 0;
    table-layout: auto;
  }
}

/* The hero CTA buttons were intentionally removed from the front page. */
.hero-copy > .wp-block-buttons {
  display: none !important;
}

/* Header contact color and mobile-only floating CTA. */
.site-header > .wp-block-buttons .wp-block-button__link {
  background: var(--nana-pink) !important;
  background-color: var(--nana-pink) !important;
  border-color: var(--nana-pink) !important;
  color: var(--nana-text) !important;
  box-shadow: 0 12px 28px rgba(248, 207, 200, 0.34);
}

.site-header > .wp-block-buttons .wp-block-button__link:hover {
  background: #f3bdb4 !important;
  background-color: #f3bdb4 !important;
  border-color: #f3bdb4 !important;
  color: var(--nana-text) !important;
}

.mobile-contact-cta {
  display: none;
}

@media (max-width: 600px) {
  html,
  body,
  .wp-site-blocks {
    max-width: 100%;
    overflow-x: clip;
  }

  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }

  .site-header {
    min-width: 0;
    justify-content: space-between !important;
  }

  .site-header > .wp-block-site-logo {
    flex: 0 1 auto;
    min-width: 0;
  }

  .site-header > .wp-block-navigation {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    margin-left: auto !important;
    overflow: visible;
  }

  .site-header .wp-block-navigation__responsive-container-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 10px;
    box-sizing: border-box;
    overflow: visible;
  }

  .site-header > .wp-block-buttons {
    display: none !important;
  }

  .mobile-contact-cta {
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px 18px;
    border: 1px solid rgba(255, 255, 255, 0.84);
    border-radius: 999px;
    background: var(--nana-pink);
    color: var(--nana-text);
    box-shadow: 0 12px 30px rgba(92, 70, 66, 0.2);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .recruit__panel,
  .recruit__table,
  .recruit__table table,
  .recruit__table tbody,
  .recruit__table tr,
  .recruit__table td {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  .recruit__panel {
    overflow: hidden;
  }

  .recruit__table td,
  .recruit__jobs,
  .recruit__jobs li {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .hero-stage > .hero-copy {
    margin-top: 44px !important;
    padding: 18px 20px !important;
  }

  .hero-stage > .hero-copy h1 {
    margin-bottom: 10px !important;
    line-height: 1.32;
  }

  .hero-stage > .hero-copy p:not(.hero-eyebrow) {
    margin-top: 0 !important;
    line-height: 1.65 !important;
  }

  .about {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  .about > .wp-block-columns > .wp-block-column:first-child {
    padding: 22px 18px;
  }

  main#wp--skip-link--target .about p:not(.section-label) {
    font-size: 13px !important;
    line-height: 1.65 !important;
    letter-spacing: 0.01em;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }

  .about h2 {
    margin-bottom: 18px !important;
  }

  .about p[style*="font-weight:600"] {
    margin-bottom: 14px !important;
    padding: 5px 13px;
  }

  .about p[style*="font-weight:700"] {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding-top: 12px;
  }

  .mobile-contact-cta,
  .mobile-contact-cta:hover,
  .mobile-contact-cta:focus {
    color: #ffffff !important;
  }
}

/* Contact buttons: final overrides after the generic outline-button rules. */
.site-footer .wp-block-buttons {
  display: flex !important;
  justify-content: flex-end;
  margin: 0 !important;
}

.site-footer .wp-block-button.is-style-outline .wp-block-button__link,
.site-footer .wp-block-button.is-style-outline .wp-block-button__link:hover,
.site-footer .wp-block-button.is-style-outline .wp-block-button__link:focus {
  min-height: 50px;
  padding: 14px 28px;
  border-color: var(--nana-pink) !important;
  background: var(--nana-pink) !important;
  background-color: var(--nana-pink) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(248, 207, 200, 0.34);
  font-weight: 700;
  white-space: nowrap;
}

.site-header > .wp-block-buttons .wp-block-button__link,
.site-header > .wp-block-buttons .wp-block-button__link:hover,
.site-header > .wp-block-buttons .wp-block-button__link:focus,
.mobile-contact-cta,
.mobile-contact-cta:hover,
.mobile-contact-cta:focus {
  color: #ffffff !important;
}

@media (max-width: 781px) {
  .site-footer .wp-block-buttons {
    justify-content: center;
  }
}

/* Front-page line-height rhythm: compact while retaining Japanese readability. */
body.home main#wp--skip-link--target h1,
.editor-styles-wrapper h1 {
  line-height: 1.28 !important;
}

body.home main#wp--skip-link--target h2,
.editor-styles-wrapper h2 {
  line-height: 1.32 !important;
}

body.home main#wp--skip-link--target h3,
.editor-styles-wrapper h3 {
  line-height: 1.38 !important;
}

body.home main#wp--skip-link--target p:not(.service-card__badge):not(.hero-eyebrow),
.editor-styles-wrapper p:not(.service-card__badge):not(.hero-eyebrow) {
  line-height: 1.65 !important;
}

body.home main#wp--skip-link--target li,
body.home main#wp--skip-link--target td,
.editor-styles-wrapper li,
.editor-styles-wrapper td {
  line-height: 1.6 !important;
}

body.home .site-footer .wp-block-column:first-child p,
body.home .site-footer .wp-block-column:last-child p {
  line-height: 1.6 !important;
}

@media (max-width: 600px) {
  body.home main#wp--skip-link--target h1,
  .editor-styles-wrapper h1 {
    line-height: 1.24 !important;
  }

  body.home main#wp--skip-link--target h2,
  .editor-styles-wrapper h2 {
    line-height: 1.28 !important;
  }

  body.home main#wp--skip-link--target h3,
  .editor-styles-wrapper h3 {
    line-height: 1.32 !important;
  }

  body.home main#wp--skip-link--target p:not(.service-card__badge):not(.hero-eyebrow),
  .editor-styles-wrapper p:not(.service-card__badge):not(.hero-eyebrow) {
    line-height: 1.58 !important;
  }

  body.home main#wp--skip-link--target li,
  body.home main#wp--skip-link--target td,
  .editor-styles-wrapper li,
  .editor-styles-wrapper td {
    line-height: 1.55 !important;
  }

  body.home .site-footer .wp-block-column:first-child p,
  body.home .site-footer .wp-block-column:last-child p {
    line-height: 1.55 !important;
  }
}

/* Keep the news section usable on ultrawide displays. */
body.home section#news.news {
  width: 100vw !important;
  max-width: none !important;
}

body.home .news-item__title,
body.home .news-item__title a,
.editor-styles-wrapper .news-item__title,
.editor-styles-wrapper .news-item__title a {
  font-size: 15px !important;
}

body.home section#news .news__more .wp-block-button__link,
.editor-styles-wrapper section#news .news__more .wp-block-button__link {
  font-size: 15px !important;
}
