@charset "UTF-8";
/* オリジナルスタイルの定義
***************************************************************/

:root {
  --swl-fz--root: clamp(14px, 10px + 0.4167vw, 16px) !important; /* ルートフォントをリキッドに */
  --font-family-en: 'Barlow Condensed', sans-serif;
  --font-family-ja: 'Noto Sans JP', sans-serif;
  --color_text: #0a1422; /* ネイビーブラック */
  --color_main: #eac006; /* 濃黄 */
  --color_pale-blue: #f0f4fa; /* 淡い青 */
  --color_pale-gray: #ededed; /* 淡いグレー */
  --color_notes-blue: #0f007d; /* 備考テキストに使う青 */
  --color_gradient-navy: linear-gradient(180deg, #102342 0%, #0a182d 100%); /* ネイビーグラデーション */
}

body {
  text-align: justify;
  letter-spacing: 0.05em;
  font-family: var(--font-family-ja);
  font-weight: 500;
}

p {
  text-align: justify;
  letter-spacing: 0.05em;
  font-family: var(--font-family-ja);
  font-weight: 500;
}

/* フルワイドブロックの余計なネガティブマージンを削除
***************************************************************/
.swell-block-fullWide + .swell-block-fullWide {
  margin-top: 0 !important;
}

/* SWELLのデフォルトの「l-content」の余計な下マージンを削除
***************************************************************/
.home .l-content {
  margin: 0 auto;
}

.l-content:has(.swell-block-fullWide) {
  padding: 0;
}

.l-content {
  margin: 0 auto;
}

/* SWELLのデフォルトのフッター直前ウィジェットの余計なマージンを削除
***************************************************************/
.w-beforeFooter {
  margin: 0 auto;
  overflow: hidden;
}

/* SWELLのデフォルトのパンくずの背景色を消す
***************************************************************/
.-body-solid .p-breadcrumb.-bg-on {
  box-shadow: none;
}
.p-breadcrumb.-bg-on {
  background: transparent !important;
}

/* SWELLのデフォルトのスクロールヒントが隠れてしまうのを調整
***************************************************************/
.c-scrollHint {
  margin-right: 0.5rem;
}

/* デバイス制限
***************************************************************/
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

/* ローディングアニメーション
***************************************************************/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100%;
  background-color: #fff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2s forwards;
}

.loading img {
  opacity: 0;
  animation: logo_fade 2s 0.2s forwards;
  width: 300px; /* ロゴのサイズを指定（パソコン） */
}

@media screen and (max-width: 959px) {
  .loading img {
    width: 200px; /* ロゴのサイズを指定（スマホ） */
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}

/* スクロール監視アニメーション
***************************************************************/
/*下からふわっふわっと（Stagger）アニメーション */
.stagger-item {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;

  .js-stagger-group.is-in-view & {
    opacity: 1;
    transform: translateY(0);
  }
}

/*下からふわっとアニメーション */
.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 1s,
    transform 1s;

  &.is-in-view {
    opacity: 1;
    transform: translateY(0);
  }
}
/* テキストアンダーライン
***************************************************************/
.u-text-under {
	border-bottom:1px solid var(--color_main);
	display:inline;
}
/* セクションタイトルコンポーネント
***************************************************************/
.c-section-head {
  margin-bottom: calc(40 / 16 * 1rem); /*基本の40px*/
}

/*セクション英字タイトル*/
.c-section-head__en {
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1.6;
  font-size: 1rem;
  text-transform: uppercase;
}

/*セクション英字タイトル（バー装飾あり）*/
.c-section-head__en.c-section-head__en--deco {
  display: inline-flex;
  gap: 0.75rem;
  position: relative;
  align-items: center;
  justify-content: center;
  color: var(--color_main);

  &::before {
    content: '';
    position: relative;
    width: calc(36 / 16 * 1rem);
    height: 1px;
    background-color: currentColor;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* h2見出し 48px */
.c-section-head__ja {
  font-weight: 700;
  font-size: calc(28 / 14 * 1rem) !important;
  line-height: 1.6 !important;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem) !important;
  }
}

/* h2見出し 40px*/
.c-section-head__ja--small {
  font-weight: 700;
  font-size: calc(24 / 14 * 1rem) !important;
  line-height: 1.6 !important;

  @media (min-width: 960px) {
    font-size: calc(40 / 16 * 1rem) !important;
  }
}

/* h3見出し */
.c-section-subhead {
  margin-bottom: 0; /*基本0px*/
}

/*セクション英字タイトル（h3用装飾なしタイプ）*/
.c-section-subhead__en {
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1.6;
  font-size: 0.875rem;
  text-transform: uppercase;
}

/* h3見出し 32px*/
.c-section-subhead__ja {
  font-weight: 700;
  font-size: calc(20 / 14 * 1rem) !important;
  line-height: 1.6 !important;

  @media (min-width: 960px) {
    font-size: calc(32 / 16 * 1rem) !important;
  }
}

/* h3見出し 40px*/
.c-section-subhead__ja--large {
  font-weight: 700;
  font-size: calc(24 / 14 * 1rem) !important;
  line-height: 1.6 !important;

  @media (min-width: 960px) {
    font-size: calc(40 / 16 * 1rem) !important;
  }
}

/* ボタンレイアウト（共通）
***************************************************************/
.c-original-button .swell-block-button__link {
  padding: calc(14 / 16 * 1rem) calc(40 / 16 * 1rem);
  line-height: 1.6;
  min-width: calc(220 / 16 * 1rem);
  font-weight: 700;
  background: var(--the-btn-bg);
  color: #fff;
}

/*　黄色ボタン（SWELL上は「green_」の場合のみテキストを黒に　*/
.c-original-button.green_ .swell-block-button__link {
  color: var(--color_text);
}

.c-original-button .swell-block-button__link svg {
  transition: transform 0.3s ease;
}
.c-original-button .swell-block-button__link:hover {
  svg {
    transform: translateX(0.5rem);
  }
}

.c-original-button.c-original-button--tall .swell-block-button__link {
  padding: calc(29 / 16 * 1rem) calc(40 / 16 * 1rem);
}

/* ヘッダーナビ
***************************************************************/

.c-gnav > .menu-item > a .ttl {
  display: block;
  font-size: 13px;

  @media (min-width: 1200px) {
    font-size: 1rem;
  }
}

/* サブメニューアイコン */
.menu-item-has-children {
  i {
    display: inline-block;
    color: var(--color_main);
    transition: transform 0.3s ease;
    transform-origin: center;

    @media (max-width: 959px) {
      display: none; /*ドロワー内では表示しない*/
    }
  }
}

@media (any-hover: hover) {
  .menu-item-has-children:hover > a i {
    transform: rotate(180deg);
  }
}

/* ヘッダーナビ（inner幅・高さカスタム）
***************************************************************/
.l-header__inner.l-container,
.l-fixHeader__inner.l-container {
  max-width: 100%;
  padding-right: 0; /*右側はボタンべたづけ*/
}

/* ヘッダーロゴ
***************************************************************/
@media (min-width: 960px) {
  .-series .l-header__logo {
    padding: 2px 0;
  }

  .l-fixHeader__logo {
    padding: 2px 0;
  }
}

@media (min-width: 960px) {
  .-series .c-headLogo {
    margin-right: 0;
  }
}

@media not all and (min-width: 960px) {
  .l-header__inner .c-catchphrase {
    display: block;
  }
}

.l-header__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.-series .l-header__logo .c-catchphrase {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 1220px) {
  .-series .l-header__logo .c-catchphrase {
    font-size: 1.1rem;
    padding: 2px 0;
  }
}

/* ヘッダーCTA＆ドロワーCTA
***************************************************************/
.c-header-cta {
  gap: 1em;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.c-header-cta__tel {
  white-space: nowrap;
  color: var(--color_text);
  font-family: var(--font-family-en);
  font-size: 2rem;
  font-weight: 600;
  transition: opacity 0.3s ease;
  white-space: nowrap;

  @media (min-width: 960px) {
    font-size: 1.4rem;
  }

  @media (min-width: 1300px) {
    font-size: 1.75rem;
  }

  /*telアイコン*/
  span {
    font-size: 1.5rem;

    @media (min-width: 960px) {
      font-size: 1.2rem;
    }

    @media (min-width: 1300px) {
      font-size: 1.5rem;
    }
  }
}

.c-header-cta__tel span.swl-inline-icon:after {
  top: 50%;
  transform: translateY(-50%);
}

.c-header-cta__contact .swell-block-button__link {
  height: 77px;
  white-space: nowrap;

  span {
    font-size: 12px;

    @media (min-width: 1200px) {
      font-size: 1rem;
    }
  }
}

.c-widget__title.-spmenu {
  background: #e5e5e5;
  color: var(--color_text);
}

.c-submenuToggleBtn:after {
  border: none;
}

/* 共通フッターCTA
***************************************************************/

.c-cta__intro {
  margin-bottom: calc(56 / 16 * 1rem);
}

.swell-block-column.c-cta__box {
  border: 1px solid var(--color_main);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 1.5rem;

  @media (min-width: 960px) {
    padding: calc(36 / 16 * 1rem);
  }
}

.c-cta__tel {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem);
  }

  .swl-inline-icon {
    font-size: 0.875em;
    transition: transform 0.3s ease;
    transform-origin: center;
    color: var(--color_main);
  }

  &:hover {
    .swl-inline-icon {
      transform: scale(1.2);
    }
  }
}

/* 大きい電話番号バージョン(問い合わせページ冒頭) */
.c-cta__tel.c-cta__tel--large {
  font-size: 2.5rem;

  @media (min-width: 960px) {
    font-size: calc(50 / 16 * 1rem);
  }
}

.c-cta__link .swell-block-button__link {
  color: var(--color_text);
  font-size: calc(20 / 14 * 1rem);
  font-weight: 700;

  @media (min-width: 960px) {
    font-size: calc(28 / 16 * 1rem);
  }

  &:hover {
    svg {
      transform: scale(1.2);
    }
  }

  svg {
    transition: transform 0.3s ease;
  }
}

/* フッター
***************************************************************/
.l-footer {
  background: var(--color_gradient-navy);
  padding-top: 4rem;
  color: #fff;

  @media (min-width: 960px) {
    padding-top: calc(80 / 16 * 1rem);
  }
}

/* SWELLデフォルトの不要なフッターウィジェットボックスの余白を削除*/
.w-footer__box {
  padding: 0;
}

/*ここから自作フッタークラス*/
.p-footer__info {
  margin-bottom: calc(40 / 16 * 1rem);

  @media (min-width: 960px) {
    margin-bottom: calc(56 / 16 * 1rem);
  }
}

.p-footer__info a:hover {
  opacity: 0.7;
}
.p-footer__info-container {
  display: flex;
  flex-direction: column;
  gap: calc(40 / 16 * 1rem);

  @media (min-width: 960px) {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: calc(64 / 16 * 1rem);
  }
}

.p-footer__info-brand {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;

  @media (min-width: 960px) {
    flex-shrink: 0;
    width: calc(428 / 16 * 1rem);
  }
}

.p-footer__info-logo-row {
  display: flex;
  align-items: center;
  gap: calc(10 / 16 * 1rem);
}

.p-footer__info-logo {
  display: block;
  flex-shrink: 0;
  width: calc(182 / 16 * 1rem);
  transition: opacity 0.3s ease;

  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

.p-footer__info-name {
  font-size: calc(20 / 16 * 1rem);
  font-weight: 700;
  line-height: 1;
}

.p-footer__info-address-wrap {
  display: flex;
  flex-direction: column;
  gap: calc(16 / 16 * 1rem);

  @media (min-width: 768px) {
    flex-direction: row;
    gap: calc(8 / 16 * 1rem);
  }
}

.p-footer__info-address {
  flex: 1;
  min-width: 0;
}

.p-footer__info-address-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
}

.p-footer__info-address-text {
  font-size: calc(14 / 16 * 1rem);
  font-weight: 400;
  line-height: 1.8;
}

.p-footer__info-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(24 / 16 * 1rem) calc(16 / 16 * 1rem);

  @media (min-width: 768px) {
    flex-grow: 1;
    display: flex;
    gap: calc(16 / 16 * 1rem);
    width: 100%;
    justify-content: space-between;
  }
}

.p-footer__info-nav-col {
  display: flex;
  flex-direction: column;
  gap: calc(12 / 16 * 1rem);

  @media (min-width: 960px) {
    flex-shrink: 0;
    min-width: 20%;
  }
}

.l-footer .p-footer__info-nav-head {
  font-size: calc(16 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--color_main);
  transition: opacity 0.3s ease;
}

.p-footer__info-nav-list,
.p-footer__info-nav-accent {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-footer__info-nav-list {
  display: flex;
  flex-direction: column;
  gap: calc(4 / 16 * 1rem);

  a {
    display: inline-block;
    font-size: calc(14 / 16 * 1rem);
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s ease;

    @media (any-hover: hover) {
      &:hover {
        opacity: 0.7;
      }
    }
  }
}

.p-footer__info-nav-col--accent {
  grid-column: 1 / -1;

  @media (min-width: 960px) {
    grid-column: auto;
  }
}

.p-footer__info-nav-accent {
  display: flex;
  flex-direction: column;
  gap: calc(12 / 16 * 1rem);

  a {
    display: inline-block;
    font-size: calc(16 / 16 * 1rem);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--color_main);
    text-decoration: none;
    transition: opacity 0.3s ease;

    @media (any-hover: hover) {
      &:hover {
        opacity: 0.7;
      }
    }
  }
}

.copyright {
  font-family: var(--font-family-en);
  font-size: 0.875rem;
  font-weight: 500;
}

/* 共通固定ページヒーロー
***************************************************************/
.p-page-hero {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-columns: minmax(12rem, 38%) 1fr;

  @media (min-width: 960px) {
    grid-template-columns: minmax(280px, 38%) 1fr;
  }
}

.p-page-hero__contents {
  padding-inline: 1rem;
  background: var(--color_gradient-navy);
  color: #fff;
  display: grid;
  place-content: center;
}
.p-page-hero__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0rem;

  @media (min-width: 960px) {
    gap: 0.3rem;
  }
}

.p-page-hero__label {
  display: inline-flex;
  align-items: center;
  gap: 0.875em;
  font-family: var(--font-family-en);
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color_main);
  letter-spacing: 0.05em;

  @media (min-width: 960px) {
    font-size: 1rem;
  }
}

.p-page-hero__label::before {
  content: '';
  flex-shrink: 0;
  width: 2.25rem;
  height: 1px;
  background-color: currentColor;
}

.p-page-hero__title {
  margin: 0;
  font-size: clamp(1.5rem, 0.686rem + 2.314vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-page-hero__image {
  position: relative;
  height: 200px;

  @media (min-width: 960px) {
    height: 342px;
  }
}

.p-page-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* TOPページ（ファーストビュー）
***************************************************************/
.p-fv {
  background: url(../img/bg_fv--sp.webp) no-repeat top center / cover;
  padding: calc(300 / 14 * 1rem) 4vw calc(60 / 14 * 1rem) 4vw !important;
  position: relative;

  &::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(360deg, #102341 0%, #102341 5%, rgba(16, 35, 65, 0.7) 29%, rgba(0, 36.52, 96.12, 0.1) 55%, rgba(0, 36.52, 96.12, 0) 100%);
  }

  @media (min-width: 768px) {
    background: url(../img/bg_fv--pc.webp) no-repeat top left / cover;
    padding: calc(165 / 16 * 1rem) calc(49 / 16 * 1rem) calc(122 / 16 * 1rem) calc(49 / 16 * 1rem) !important;

    &::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(307deg, #102341 0%, rgba(16, 35, 65, 0.7) 34%, rgba(0, 36.52, 96.12, 0.2) 66%, rgba(0, 36.52, 96.12, 0) 100%);
    }
  }

  @media (min-width: 1600px) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 47vw;
    background: url(../img/bg_fv--pc.webp) no-repeat center left / cover;
  }
}

.p-fv .swell-block-fullWide__inner {
  width: 1300px;
  max-width: 100%;
  margin-inline: auto;
}

.p-fv__inner {
  @media (min-width: 768px) {
    width: fit-content;
    margin-left: auto;
  }
}

.p-fv__title {
  font-size: 2.57rem !important;
  font-weight: 700;
  color: #fff;
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);

  @media (min-width: 768px) {
    font-size: calc(62 / 16 * 1rem) !important;
    line-height: 1.4;
  }
}

.p-fv__label {
  font-size: 0.875rem;
  font-family: var(--font-family-en);
  width: fit-content;
  padding: 0.25rem 1.5rem;
  display: inline-flex;
  gap: 1em;
  align-items: center;
  justify-content: flex-start;
  background: var(--color_main);
}

.p-fv__label::before {
  content: '';
  width: 3rem;
  height: 1px;
  background-color: currentColor;
  top: 50%;
  transform: translateY(-50%);
}

.p-fv__authority {
  gap: 0;
}

.p-fv__authority-card {
  min-width: 84px;
  flex-shrink: 0;
  padding: calc(20 / 14 * 1rem) calc(10 / 14 * 1rem);
  background: rgba(255, 255, 255, 0.18);

  @media (min-width: 768px) {
    min-width: 128px;
    padding: calc(28 / 16 * 1rem) calc(20 / 16 * 1rem);
  }
}

.p-fv__authority-card:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.p-fv__authority-card .is-row__inner-container {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;

  @media (min-width: 768px) {
    gap: 0.5rem;
  }
}

.p-fv__authority-head {
  gap: 3px;
  align-items: flex-end;

  @media (min-width: 768px) {
    gap: 5px;
  }
}

.p-fv__authority-head-num {
  font-size: calc(24 / 14 * 1rem);
  line-height: 1;
  font-family: var(--font-family-en);

  @media (min-width: 768px) {
    font-size: calc(52 / 16 * 1rem);
    font-weight: 600;
  }
}

.p-fv__authority-head-unit {
  font-size: calc(12 / 14 * 1rem);
  line-height: 1.4;
  font-family: var(--font-family-en);

  @media (min-width: 768px) {
    font-size: calc(22 / 16 * 1rem);
  }
}

.p-fv__authority-desc {
  font-size: calc(10 / 14 * 1rem);
  font-feature-settings: 'palt' 1;
  color: #fff;

  @media (min-width: 768px) {
    font-size: calc(14 / 16 * 1rem);
  }
}

.p-fv__authority-desc--en {
  font-family: var(--font-family-en);
  text-transform: uppercase;
  font-size: calc(12 / 14 * 1rem);

  @media (min-width: 768px) {
    font-size: calc(14 / 16 * 1rem);
  }
}

/* TOPページ（NEWS）
***************************************************************/

.p-topNews {
  background: var(--color_gradient-navy);
}

.p-topNews__inner {
  margin-bottom: 0;
}

.p-topNews__inner > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;

  @media (min-width: 768px) {
    flex-direction: row;
    gap: 3rem;
  }
}

.p-topNews__contents {
  flex-grow: 1;

  @media (min-width: 768px) {
    margin-bottom: 0;
  }
}

.p-topNews__contents > .wp-block-group__inner-container {
  @media (min-width: 768px) {
    display: flex;
    align-items: flex-end;
    gap: 3rem;
  }
}

.p-topNews__title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  font-family: var(--font-family-en);
  letter-spacing: 0.05em;
  min-width: 6rem;
  text-transform: uppercase;
}

.p-topNews__subtitle {
  font-size: 0.875rem;
  margin-top: 0.5rem !important;
}

/* 投稿リストのカスタム */
.p-topNews__posts {
  color: #fff;
  margin-bottom: 0;
  flex-grow: 1;

  .p-postList.-type-simple {
    border-top: none;
  }
}

/* 投稿リストのアイコンを消す（時間とカテゴリー） */
.p-topNews__posts .c-postTimes__posted:before {
  display: none;
}

.p-topNews__posts .icon-folder:before {
  display: none;
}

/* 投稿リストのメタ情報とタイトルのレイアウト調整 */
.p-topNews__posts .p-postList__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;

  @media (min-width: 960px) {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 2rem;
    align-items: center;
  }
}

/* 投稿リストのメタデータのカスタム */
.p-topNews__posts .p-postList__meta {
  font-size: 12px;
  font-weight: 500;
  align-items: center;
  gap: 1rem;
  margin: 0;

  @media (min-width: 960px) {
    gap: 2rem;
    flex-shrink: 0;
  }
}

/* 投稿リストのカテゴリーのボーダーを追加 */
.p-topNews__posts .p-postList__cat {
  border: 1px solid #fff;
  padding: 7px 12px;
  min-width: 80px;
}

.p-topNews__posts .u-thin {
  opacity: 1;
}

.p-topNews__posts .c-postTimes__posted {
  font-family: var(--font-family-en);
  font-size: 14px;
}

.p-topNews__posts .p-postList__title {
  font-size: 1rem;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

/* 投稿リストのボタンのカスタム */
.p-topNews__link {
  text-align: right;
  margin-bottom: 0 !important;
  margin-block-start: 2rem;
  flex-shrink: 0;
}

.p-topNews__link.is-style-btn_line a {
  color: #fff;
  border-color: #fff;
  padding: 0.5rem 1.5rem;
  font-size: 14px;
  white-space: nowrap;
}

.p-topNews__link.is-style-btn_line a:hover {
  color: var(--color_text) !important;
  background-color: var(--color_main);
  border-color: var(--color_main);

  svg {
    transform: translateX(0.5rem);
  }
}

.p-topNews__link svg {
  transition: transform 0.3s ease;
}

/* TOPページ（About Us）
***************************************************************/
.p-topAbout__inner > .wp-block-group__inner-container {
  @media (min-width: 960px) {
    display: flex;
    gap: calc(70 / 16 * 1rem);
  }
}

.p-topAbout__contents {
  @media (min-width: 960px) {
    width: 55%;
    flex-shrink: 0;
  }
}

.p-topAbout__body {
  margin-block-end: 2.5rem;

  @media (min-width: 960px) {
    margin-block-end: calc(56 / 16 * 1rem);
  }
}

.p-topAbout__img {
  margin-block-end: 2.5rem;
  margin-inline-start: 1.7rem;
  margin-right: calc(-50vw + 50%) !important;

  @media (min-width: 960px) {
    margin-inline-start: auto;
    flex-grow: 1;
  }

  img {
    box-shadow: -1.7rem 1.7rem 0px var(--color_pale-blue);
    max-height: 30rem;
    aspect-ratio: 4 / 3;
    object-fit: cover;

    @media (min-width: 960px) {
      box-shadow: -3rem 3rem 0px var(--color_pale-blue);
      max-height: calc(600 / 16 * 1rem);
      aspect-ratio: auto;
    }
  }
}

/* TOPページ（事業内容）
***************************************************************/
.p-topBusiness.sp-py-60,
.p-topBusiness.sp-py-80 {
  padding-bottom: 0 !important;
}

.p-topBusiness__intro {
  padding-inline: var(--swl-pad_container);
  text-align: left;

  @media (min-width: 960px) {
    margin-block-end: calc(40 / 16 * 1rem);
    text-align: center;
  }
}

/*フルワイドブロック全体をクリック領域に*/
.p-topBusiness__transport-link {
  transition: all 0.3s ease;
  margin-block-end: 0 !important;
}

@media (min-width: 960px) {
  .p-topBusiness__transport-link :hover {
    .p-topBusiness__button > .swell-block-button__link {
      color: var(--color_text) !important;
      background-color: var(--color_main);
      border: 1px solid var(--color_main);

      svg {
        transform: translateX(0.5rem);
      }
    }
  }
}

.p-topBusiness__button > .swell-block-button__link {
  color: var(--color_main) !important;
  border: 1px solid var(--color_main);
  background-color: transparent;
  transition: all 0.3s ease;
  margin-block-end: 0 !important;
}

/* .p-topBusiness__button > .swell-block-button__link :hover {
  color: var(--color_text) !important;
}

.p-topBusiness__transport .is-style-btn_line a:hover {
  color: var(--color_text) !important;
} */

.p-topBusiness__transport {
  position: relative;
  overflow: hidden;
}

.p-topBusiness__transport::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit; /* 親の背景画像をそのままコピー */
  background-color: inherit; /* オーバーレイ色も一緒にコピー */
  background-position: inherit;
  background-size: cover;
  z-index: 0;
  transition: transform 0.5s ease;
}

@media (min-width: 960px) {
  .p-topBusiness__transport-link:hover .p-topBusiness__transport::after {
    transform: scale(1.05);
  }
}

/*付随する３サービスカード*/
.p-topBusiness__card-wrap {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0;
  margin-block-end: 0 !important;
}

.p-topBusiness__card {
  min-height: min(32vw, 300px);
  overflow: hidden;
  padding: 1em 0.5em;
}

.p-topBusiness__card .wp-block-cover__image-background {
  transition: transform 0.5s ease;
}

@media (min-width: 960px) {
  .p-topBusiness__card-link:hover .wp-block-cover__image-background {
    transform: scale(1.1);
  }
}

.p-topBusiness__card-title {
  gap: 0rem;
  margin-block-end: 0 !important;
}

.p-topBusiness__card-title .c-section-head__en {
  font-size: 10px;

  @media (min-width: 960px) {
    font-size: 14px;
  }
}

/* TOPページ（保有車両）
***************************************************************/

.p-topFleet__card {
  background-color: #f5f6f8;
  border-bottom: calc(5 / 16 * 1rem) var(--color_main) solid;
  box-shadow: 0px 7px 30px rgba(0, 0, 0, 0.25);
}

.p-topFleet__card:hover .p-topFleet__img img {
  transform: scale(1.1);
}

.p-topFleet__card:hover .p-topFleet__card-body .swell-block-button__link svg {
  transform: translateX(0.5rem);
}

.p-topFleet__card-body {
  padding: calc(24 / 16 * 1rem);
  gap: 1rem;
}

.p-topFleet__card-body .swell-block-button__link {
  background: var(--color_main);
}

.p-topFleet__img {
  overflow: hidden;
}

.p-topFleet__img img {
  transition: transform 0.5s ease;
}

/* TOPページ（営業所・拠点）
***************************************************************/
.p-topLocation__item-body {
  gap: 0;
}

.p-topLocation__item-body .wp-block-media-text__media {
  aspect-ratio: 550 / 300;
  overflow: hidden;
}

.p-topLocation__item-body .wp-block-media-text__media img {
  object-fit: cover;
  transition: transform 0.5s ease;
}

.p-topLocation__item:hover .p-topLocation__item-body .wp-block-media-text__media img {
  transform: scale(1.1);
}

.p-topLocation__item:hover .p-topLocation__item-body .swell-block-button__link svg {
  transform: translateX(0.5rem);
}

.p-topLocation__item-body .wp-block-media-text__content {
  padding: 2rem 1rem;

  @media (min-width: 960px) {
    padding: calc(30 / 16 * 1rem) calc(50 / 16 * 1rem);
  }
}

/* TOPページ（採用情報）
***************************************************************/
.p-topRecruit__container {
  gap: 3em;

  @media (min-width: 960px) {
    gap: 1em;
  }

  img {
    box-shadow: -1.2rem 1.2rem 0px var(--color_pale-blue);
    aspect-ratio: 4 / 3;
    object-fit: cover;

    @media (min-width: 960px) {
      box-shadow: -2rem 2rem 0px var(--color_pale-blue);
      aspect-ratio: auto;
    }
  }
}

/* 下層・お知らせ一覧ページ(home.php）
***************************************************************/
.p-homeContent {
  padding-bottom: 7rem;
}
.p-homeContent .p-postList__title {
  font-size: 1.3rem !important;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/*下部のカテゴリータグを出力させない*/
.p-articleMetas {
  display: none;
}

/* 下層・会社案内ページ
***************************************************************/
/*代表ご挨拶セクション*/
.p-greeting__intro {
  font-size: 1.3rem;
  @media (min-width: 960px) {
    font-size: 1.5rem;
  }
}

.p-greeting__img,
.p-profile__history-img {
  aspect-ratio: 1100 / 460;
  img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    box-shadow: 1.5rem 1.5rem 0px var(--color_pale-blue);

    @media (min-width: 960px) {
      box-shadow: 2rem 2rem 0px var(--color_pale-blue);
    }
  }
}

/*事業概要*/
.p-profile__container {
  padding-block: calc(60 / 16 * 1rem);
  padding-inline: 1rem;
}

.p-profile__table {
  max-width: 900px;
  margin-inline: auto;

  th,
  td {
    padding: 1rem;
    background: transparent;
    border: none;
    @media (min-width: 768px) {
      padding: 1.5rem;
    }
  }

  th {
    border-bottom: 1px solid var(--color_main);
    font-size: 1.1rem;
    vertical-align: middle;
  }

  td {
    border-bottom: 1px solid var(--color_pale-gray);
  }
}

/*沿革*/
.p-profile__history {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 0.5rem;
  padding-block: 3rem 2rem;
  border-top: 3px solid var(--color_main);

  @media (min-width: 540px) {
    padding-inline: 1rem;
  }
}

.p-profile__history.is-style-crease::before {
  border-color: var(--color_content_bg) var(--color_content_bg) var(--color_main) #fff;
  top: -4px;
  right: -1px;
}

.p-profile__history-table {
  th,
  td {
    background: transparent;
    border: none;
  }

  td {
    padding: 0.6rem 0rem 0.6rem 0.6rem;
    @media (min-width: 768px) {
      padding: 1.2rem;
    }
  }

  th {
    width: 41% !important;
    padding: 0.6rem 0.6rem 0.6rem 0;

    @media (min-width: 540px) {
      width: 35% !important;
    }

    @media (min-width: 768px) {
      padding: 1.2rem;
      width: 30% !important;
    }

    @media (min-width: 1200px) {
      width: 27% !important;
    }
  }
}

/* 下層・事業内容ページ
***************************************************************/
/*6つの強み（strength）*/
.p-strength__inner {
  width: 1300px;
  max-width: calc(1300 / 1400 * 100%);
  margin-inline: auto;
  padding-block: calc(60 / 16 * 1rem);
  position: relative;
  z-index: 1;
  transform: translateY(-3.5rem);

  @media (min-width: 960px) {
    transform: translateY(-6.4rem);
  }
}

.p-strength__inner > .wp-block-group__inner-container {
  max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
  margin-inline: auto;
}

.p-strength__card-img {
  margin-block-end: 0;
  border-bottom: calc(5 / 16 * 1rem) var(--color_main) solid;
}

.p-strength__card-body {
  padding: 1.5rem 1rem;
}

.p-strength__card-head {
  gap: 1rem;
}

.p-strength__card-num {
  line-height: 1;
  font-family: var(--font-family-en);
}

.post_content .p-strength__card-title {
  font-size: calc(22 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/*3つのワンストップサービス（Service）*/
.p-service {
}

.p-service .c-section-head__ja {
  font-size: calc(26 / 14 * 1rem) !important;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem) !important;
  }
}

.p-service__container .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;

  @media (min-width: 960px) {
    gap: 3.5rem;
  }
}

.p-service__item.has-media-on-the-right {
  img {
    box-shadow: -1.5rem 1.5rem 0px var(--color_pale-gray);
    aspect-ratio: 587 / 450;
    object-fit: cover;

    @media (min-width: 960px) {
      box-shadow: -2rem 2rem 0px var(--color_pale-gray);
    }
  }
}

.p-service__item {
  img {
    box-shadow: 1.5rem 1.5rem 0px var(--color_pale-gray);
    aspect-ratio: 587 / 450;
    object-fit: cover;

    @media (min-width: 960px) {
      box-shadow: 2rem 2rem 0px var(--color_pale-gray);
    }
  }
}

.p-service__item {
  gap: 1rem;

  @media (min-width: 960px) {
    gap: calc(72 / 16 * 1rem);
  }
}

.p-service__item-head {
  align-items: flex-end;
  gap: 1rem;

  @media (min-width: 960px) {
    align-items: center;
    gap: 2rem;
  }
}

.p-service__item-num {
  font-family: var(--font-family-en);
  line-height: 1;
  position: relative;
  width: fit-content;

  &::before {
    content: '';
    position: absolute;
    top: calc(100% + 0.05em);
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--color_main);
  }
}

.post_content .p-service__item-subtitle {
  font-size: calc(22 / 14 * 1rem);
  margin: 2rem 0 1.5rem 0;

  @media (min-width: 960px) {
    font-size: calc(32 / 16 * 1rem);
  }
}

/* 下層・車両一覧ページ
***************************************************************/
.p-fleet__sections {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.p-fleet__section {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-block: calc(60 / 16 * 1rem);
  box-sizing: border-box;

  @media (min-width: 960px) {
    padding-block: calc(120 / 16 * 1rem);
  }
}

.post_content.p-fleet__intro {
  margin-bottom: calc(40 / 16 * 1rem);

  @media (min-width: 960px) {
    margin-bottom: calc(60 / 16 * 1rem);
  }
}

.p-fleet__menu-link :hover {
  .wp-block-cover__image-background {
    transform: scale(1.1);
  }
}

.p-fleet__menu-button.wp-block-cover {
  min-height: auto;
}

.p-fleet__menu-button {
  .wp-block-cover__image-background {
    overflow: hidden;
    transition: transform 0.5s ease;
    object-position: left 78%;

    @media (min-width: 960px) {
      object-position: left bottom;
    }
  }
}

.p-fleet__section--trailer {
  background: var(--color_pale-gray);
}

.p-fleet__section--truck {
  background: #fff;
}

.p-fleet__section-inner {
  width: 100%;
  max-width: calc(1100px + var(--swl-pad_container, 16px) * 2);
  margin-inline: auto;
  padding-inline: var(--swl-pad_container, 16px);
}

.p-fleet__section-head {
  display: flex;
  align-items: stretch;
  gap: calc(18 / 14 * 1rem);
  margin-bottom: calc(40 / 16 * 1rem);

  @media (min-width: 960px) {
    gap: calc(24 / 16 * 1rem);
    margin-bottom: calc(56 / 16 * 1rem);
  }
}

.p-fleet__section-accent {
  flex-shrink: 0;
  width: 1rem;
  min-height: calc(80 / 16 * 1rem);
  background: var(--color_main);

  @media (min-width: 960px) {
    min-height: calc(128 / 16 * 1rem);
  }
}

.p-fleet__section-head-body {
  display: flex;
  flex-direction: column;
  gap: calc(16 / 16 * 1rem);
  flex: 1;
  min-width: 0;
}

.p-fleet__section-label {
  margin: 0;
  font-family: var(--font-family-en);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color_main);
}

.p-fleet__section-title {
  margin: 0;
  font-size: calc(28 / 14 * 1rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem);
  }
}

.p-fleet__section-line {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color_text);
  margin-top: calc(32 / 16 * 1rem);
}

.p-fleet__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(24 / 16 * 1rem);

  @media (min-width: 600px) {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(20 / 16 * 1rem);
  }

  @media (min-width: 960px) {
    gap: calc(40 / 16 * 1rem);
  }
}

.p-fleet__card {
  background-color: #f5f6f8;
  border-bottom: calc(5 / 16 * 1rem) var(--color_main) solid;
  box-shadow: 0 7px 30px rgba(0, 0, 0, 0.25);
}

.p-fleet__card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.p-fleet__card-img {
  aspect-ratio: 530 / 375;
  background: var(--color_pale-gray);
  overflow: hidden;
}

.p-fleet__card-img-el {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.p-fleet__card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: calc(24 / 16 * 1rem);
  padding: calc(24 / 16 * 1rem);
}

.p-fleet__card-title {
  margin: 0;
  font-size: calc(18 / 14 * 1rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;

  @media (min-width: 960px) {
    font-size: calc(28 / 16 * 1rem);
  }
}

.p-fleet__card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  gap: calc(10 / 16 * 1rem);
  margin-top: auto;
  min-width: calc(220 / 16 * 1rem);
  padding: calc(12 / 16 * 1rem) calc(40 / 16 * 1rem);
  background: var(--color_main);
  border: 1px solid var(--color_main);
  color: var(--color_text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.p-fleet__card-button-icon {
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

@media (any-hover: hover) {
  .p-fleet__card:hover .p-fleet__card-img-el {
    transform: scale(1.1);
  }

  .p-fleet__card:hover .p-fleet__card-button-icon {
    transform: translateX(0.35rem);
  }
}

/* 下層・保有車両（詳細ページ）
***************************************************************/
.single-fleet {
  background: var(--color_pale-gray);

  .l-content {
    margin: 0 auto 8em;
    padding-top: 0;
  }
}

.p-fleetSingle {
  position: relative;

  &::before {
    content: '';
    position: absolute;
    top: calc(500 / 14 * 1rem);
    left: 0;
    right: 0;
    bottom: -2rem;
    background: #ffffff;
    z-index: -1;
  }

  @media (min-width: 960px) {
    &::before {
      top: calc(700 / 16 * 1rem);
      width: 92%;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0;
    }
  }
}

.p-fleetSingle-hero {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-inline: var(--swl-pad_container, 16px);
  padding-block: calc(80 / 16 * 1rem) calc(56 / 16 * 1rem);
}

.p-fleetSingle-hero__inner {
  width: 100%;
  background: var(--color_gradient-navy);
  max-width: 1100px;
  margin-inline: auto;
  padding: calc(24 / 14 * 1rem) calc(14 / 14 * 1rem);
  color: #fff;
}

@media (min-width: 960px) {
	.p-fleetSingle-hero__inner {
		padding: calc(36 / 16 * 1rem) calc(50 / 16 * 1rem);
	}
  }

.p-fleetSingle-hero__title {
  margin-bottom: 1rem;
  font-size: calc(22 / 14 * 1rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #fff;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem);
	  letter-spacing: 0.05em;
  }
}

.p-fleetSingle-hero__type {
  display: inline-block;
  margin: 0;
  padding: calc(6 / 16 * 1rem) calc(20 / 16 * 1rem);
  border: 1px solid var(--color_main);
  color: var(--color_main);
  font-size: calc(14 / 14 * 1rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-fleetSingle-slider {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding-bottom: calc(40 / 16 * 1rem);
  position: relative;
  z-index: 1;

  @media (min-width: 960px) {
    padding-bottom: calc(56 / 16 * 1rem);
  }
}

.p-fleetSingle-slider__inner {
  width: 100%;
  max-width: calc(900px + var(--swl-pad_container, 16px) * 2);
  margin-inline: auto;
  padding-inline: var(--swl-pad_container, 16px);
}

.p-fleetSingle-slider__main {
  /* aspect-ratio: 4 / 3; */
  overflow: hidden;
}

.p-fleetSingle-slider__main-btn {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: zoom-in;
}

.p-fleetSingle-slider__main-img {
  display: block;
  width: 100%;
  max-height: 650px;
  object-fit: cover;
}

.p-fleetSingle-lightbox {
  --fleet-lightbox-offset-top: calc(var(--swl-headerH, var(--swl-fix_headerH, 72px)) + var(--swl-adminbarH, 0px) + calc(24 / 16 * 1rem));

  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: var(--fleet-lightbox-offset-top) calc(16 / 16 * 1rem) calc(32 / 16 * 1rem);
}

.p-fleetSingle-lightbox.is-open {
  display: block;
}

.p-fleetSingle-lightbox__overlay {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: rgba(10, 20, 34, 0.85);
}

.p-fleetSingle-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 1300px);
  margin-inline: auto;
}

.p-fleetSingle-lightbox__img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.p-fleetSingle-lightbox__close {
  position: fixed;
  top: calc(75 / 14 * 1rem);
  right: 1rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;

  @media (min-width: 960px) {
    top: calc(var(--swl-headerH, var(--swl-fix_headerH, 72px)) + var(--swl-adminbarH, 0px) + calc(40 / 16 * 1rem));
    right: 3rem;
    left: calc(50% + 41vw);
    width: calc(48 / 16 * 1rem);
    height: calc(48 / 16 * 1rem);
  }

  @media (min-width: 1600px) {
    right: auto;
    left: calc(50% + 41vw);
  }

  svg {
    width: 30px;
    height: 30px;

    @media (min-width: 960px) {
      width: 50px;
      height: 50px;
    }
  }
}

body.is-fleet-lightbox-open {
  overflow: hidden;
}

.p-fleetSingle-slider__controls {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: calc(12 / 16 * 1rem);
  margin-top: 1rem;

  @media (min-width: 960px) {
    gap: calc(24 / 16 * 1rem);
    margin-top: 1.5rem;
  }

  @media (min-width: 1300px) {
    margin-inline: -3rem;
  }
}

.p-fleetSingle-slider__thumbs {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  overflow-x: auto;
  padding-block: 2px;
}

.p-fleetSingle-slider__thumb {
  flex: 0 0 auto;
  width: auto;
  height: calc(100 / 14 * 1rem);
  padding: 0;
  border: 2px solid transparent;
  background: var(--color_pale-gray);
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.25s ease;

  @media (min-width: 600px) {
    height: calc(140 / 14 * 1rem);
  }

  @media (min-width: 960px) {
    height: calc(189 / 16 * 1rem);
    border-width: 3px;
  }
}

.p-fleetSingle-slider__thumb.is-active {
  border-color: var(--color_main);
}

.p-fleetSingle-slider__thumb-img {
  display: block;
  width: auto;
  height: 100%;
  object-fit: contain;
}

.p-fleetSingle-slider__nav {
  display: grid;
  place-items: center;
  width: calc(16 / 14 * 1rem);
  height: calc(16 / 14 * 1rem);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color_text);
  cursor: pointer;
  flex-shrink: 0;

  svg {
    width: 100%;
    height: 100%;
  }

  @media (min-width: 960px) {
    width: calc(24 / 16 * 1rem);
    height: calc(24 / 16 * 1rem);
  }
}

.p-fleetSingle-body {
  position: relative;
  z-index: 1;
}

.post_content .p-fleetSingle-body__title {
  font-weight: 700;
  font-size: calc(20 / 14 * 1rem) !important;
  line-height: 1.6 !important;
  position: relative;
  display: flex;
  gap: 1rem;
  margin-bottom: calc(24 / 16 * 1rem);

  &::before {
    content: '';
    display: block;
    height: auto !important;
    width: 0.5rem;
    background: var(--color_main);
    flex-shrink: 0;
    align-self: stretch;
    position: relative;
    top: 0;
    left: 0;
  }

  @media (min-width: 960px) {
    font-size: calc(32 / 16 * 1rem) !important;
  }
}

.post_content .p-fleetSingle-body__cta {
  padding-top: 3rem;
}

.p-fleetSingle__comments {
  font-size: 80%;
  color: var(--color_notes-blue);
  margin-top: 0.5rem;
}

.c-scrollHint.p-fleetSingle__scrollHint {
  margin-top: 0;
  margin-bottom: 0 !important;
}

/* 下層・事業所・拠点（本社・営業所／車両センター／機材センター）
***************************************************************/
.p-location__intro.is-style-kakko_box:after,
.p-location__intro.is-style-kakko_box:before {
  border-width: 2px;
}

.post_content .p-location__intro-title {
  font-size: 1.5rem;
  @media (min-width: 960px) {
    font-size: 2rem;
  }
}

/*各事業所大見出し*/
.p-location__section-head {
  padding-left: 2rem;
  padding-bottom: 1rem;
  position: relative;

  @media (min-width: 960px) {
    padding-left: 2.5rem;
    padding-bottom: 1.5rem;
  }

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1rem;
    height: 100%;
    background: var(--color_main);
  }

  &::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 2rem;
    width: calc(100% - 2rem);
    height: 1px;
    background: var(--color_gradient-navy);

    @media (min-width: 960px) {
      left: 2.5rem;
      width: calc(100% - 2.5rem);
    }
  }
}

.p-location__section-subtitle {
  font-family: var(--font-family-en);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color_main);
}

.post_content .p-location__section-title {
  font-size: calc(28 / 14 * 1rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;

  @media (min-width: 960px) {
    font-size: calc(48 / 16 * 1rem);
  }
}

.p-location__gallery .swell-block-columns__inner {
  justify-content: space-between;
  gap: 1rem;
  @media (min-width: 960px) {
    gap: 0;
  }
}

.p-location__gallery.p-location__gallery--2column .c-scrollHint {
  @media (min-width: 600px) {
    display: none;
  }
}

.p-location__gallery .c-scrollHint {
  @media (min-width: 960px) {
    display: none;
  }
}

.p-location__table {
  th,
  td {
    padding: 1rem;
    background: transparent;
    border: none;
    @media (min-width: 768px) {
      padding: 1.5rem;
    }
  }

  th {
    border-bottom: 1px solid var(--color_main);
    min-width: 100px !important;

    @media (min-width: 960px) {
      min-width: 170px;
    }
  }

  td {
    border-bottom: 1px solid var(--color_pale-gray);
  }
}

.p-location__table.wp-block-table > table tr > th {
  width: 90px !important;

  @media (min-width: 600px) {
    width: 130px !important;
  }

  @media (min-width: 960px) {
    width: 170px !important;
  }
}

.p-location__map {
  iframe {
    aspect-ratio: 4 / 3;
  }
}

/* 下層・申請書・書類サポート
***************************************************************/
.p-support__intro.is-style-kakko_box:after,
.p-support__intro.is-style-kakko_box:before {
  border-width: 2px;
}

.p-support__card {
  /* border: 1px solid var(--color_main);
  display: grid;
  place-content: center;
  padding: 0.5rem 1rem !important;
  font-weight: 500;
  /*ブロックに直接CSSを書いています*/
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  font-weight: 600;
  font-size: 1.1rem;
  border-left: 3px solid var(--color_main);
}

/* 下層・採用情報ページ
***************************************************************/
.p-recruit__intro.is-style-kakko_box:after,
.p-recruit__intro.is-style-kakko_box:before {
  border-width: 2px;
}

.p-recruit__requirements-container.has-background {
  padding: 3rem 1.5rem;
}

.p-recruit__table {
  th,
  td {
    padding: 1rem;
    background: transparent;
    border: none;
    @media (min-width: 768px) {
      padding: 1.5rem;
    }
  }

  th {
    border-bottom: 1px solid var(--color_main);
    min-width: 100px !important;

    @media (min-width: 960px) {
      min-width: 170px;
    }
  }

  td {
    border-bottom: 1px solid var(--color_pale-gray);
  }
}

.p-recruit__table.wp-block-table > table tr > th {
  width: 90px !important;

  @media (min-width: 600px) {
    width: 130px !important;
  }

  @media (min-width: 960px) {
    width: 170px !important;
  }
}

.p-recruit__interview-container {
  gap: 2rem;

  @media (min-width: 600px) {
    gap: 3rem;
  }

  @media (min-width: 960px) {
    gap: 5rem;
  }
}

.p-recruit__interview-reverse > .swell-block-columns__inner {
  flex-direction: column-reverse !important;

  @media (min-width: 600px) {
    flex-direction: row !important;
  }
}

/* 下層・お問い合わせページ（フォーム）
***************************************************************/

.post_content .smf-progress-tracker {
  padding-left: 0;
}

.smf-item__label__text {
  position: relative;
}

/* 必須項目マーク */
.smf-item:has([data-validations~='required']) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -44px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border-radius: 2px;
  content: '＊必須';
  font-size: 12px;
  font-weight: 700;
  color: #de3a3a;
}

/* 任意マーク */
.smf-item:not(:has([data-validations~='required'])) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -44px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border-radius: 2px;
  content: '＊任意';
  font-size: 12px;
  font-weight: 700;
  color: var(--color_notes-blue);
}

.smf-action .smf-button-control__control {
  font-size: 1rem;
  background: var(--color_gradient-navy);
  color: #fff;
  border: none;
  transition: box-shadow 0.25s;
  display: inline-block;
  margin: 0;
  min-width: 25%;
  padding: 1em 2em;
  position: relative;
  text-decoration: none;
  width: auto;
  border-radius: 0;
}

.smf-action .smf-button-control__control:hover {
  border-color: inherit !important;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.1),
    0 12px 24px -12px rgba(0, 0, 0, 0.2);
}

/* SWELLのラジオボタンのスタイルをリセット */
.smf-radio-button-control input {
  padding: 0;
}
/* ラジオボタンのチェック時の色 */
.smf-form .smf-radio-button-control__control:checked {
  background-color: var(--color_main);
  border-color: var(--color_main);
}

/* ホバー時（フォーム） */
.smf-form .smf-text-control__control:hover,
.smf-form .smf-textarea-control__control:hover {
  --_border-color: var(--color_main);
}

/* フォーカス時（フォーム） */
.smf-form :is(.smf-textarea-control__control:active, .smf-textarea-control__control:focus, .smf-textarea-control__control:focus-within, .smf-textarea-control__control[aria-selected='true']) {
  --_border-color: var(--color_main);
}
