/* reset.css — プレースホルダー（ルールなし）。
   お手持ちの reset.css に差し替えてください。差し替え後は表示の比較確認を推奨します。 */

/* ==========================================================================
   Responsive — 共通コンポーネント（SiteHeader / SiteFooter / Breadcrumb）
   --------------------------------------------------------------------------
   - 各ページCSSに同一内容で書き出されている共通コンポーネントのSP対応を、
     全ページで読み込まれる本ファイルに1か所で集約しています。
   - 各ページCSSは本ファイルより後に読み込まれるため、セレクタの先頭に
     `html` を付けて詳細度を1段上げ、メディアクエリ内でのみ上書きします。
   - Breakpoint（既存ルールに準拠）
       1100px 以下 : タブレット（ハンバーガーメニューに切替）
        900px 以下 : SP
        480px 以下 : 小型SP
   - PC（1101px 以上）の表示には一切影響しません（ボタン非表示のみ）。
   ========================================================================== */

/* ハンバーガーボタン・ヘッダーの採用情報ボタン：PCでは非表示 */
.site-header__menu-button,
.site-header__sp-recruit {
  display: none;
}

@media screen and (max-width: 1100px) {
  /* 1文字ずつ表示する見出し（.jp-reveal）：
     reset.css の min-width:0 により文字が縮んで重なるため、縮小を止めて折り返しを許可 */
  html .jp-reveal {
    flex-wrap: wrap;
  }
  html .jp-reveal__char {
    flex-shrink: 0;
  }

  /* ---------- Header：ナビが収まらなくなるためハンバーガー＋ドロワーに切替 ---------- */
  html .site-header__menu-button {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    margin-left: auto;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    color: #16325a;
    cursor: pointer;
  }
  html .site-header__menu-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.25s ease;
  }
  html.is-sp-nav-open .site-header__menu-bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  html.is-sp-nav-open .site-header__menu-bar:nth-child(2) {
    opacity: 0;
  }
  html.is-sp-nav-open .site-header__menu-bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  /* グローバルナビ → ドロワー
     ※ .site-header は backdrop-filter を持つため fixed 子要素の基準がヘッダーになる。
       top:100% + 明示的な高さで画面下端まで広げる */
  html .site-header-nav {
    position: fixed;
    top: 100%;
    left: 0;
    right: 0;
    /* 画面下端まで確実に覆うため高さは100vhとし、ヘッダー分を下余白で補う */
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 24px 124px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #ffffff;
    border-top: 1px solid rgba(40, 80, 150, 0.1);
    font-size: 16px;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0.3s;
  }
  html.is-sp-nav-open .site-header-nav {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  html.is-sp-nav-open body {
    overflow: hidden; /* ドロワー表示中の背面スクロール防止 */
  }

  html .site-header-nav > .header-link,
  html .site-header-nav .header-item > .header-link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 56px;
    padding: 8px 4px;
    border-bottom: 1px solid rgba(40, 80, 150, 0.12);
    font-weight: 700;
  }
  html .site-header-nav .header-item {
    display: block;
    width: 100%;
  }
  html .site-header-nav .header-item > .header-link {
    border-bottom: 0;
  }
  html .site-header-nav .header-item {
    border-bottom: 1px solid rgba(40, 80, 150, 0.12);
  }

  /* ホームアイコン：テキストを添えてタップ対象を明確化 */
  html .site-header-nav__header-link {
    justify-content: flex-start;
    gap: 10px;
    height: auto;
  }
  html .site-header-nav__header-link::after {
    content: "トップページ";
  }

  /* hover 前提のドロップダウン → SPでは常時展開（下層リンクへ到達可能に） */
  html .header-dropdown,
  html .header-item:hover .header-dropdown,
  html .header-item:focus-within .header-dropdown {
    position: static;
    min-width: 0;
    padding: 0 0 12px 12px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: inherit;
    pointer-events: auto;
    transform: none;
    transition: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  html .header-dropdown::before {
    display: none;
  }
  html .header-dropdown a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 6px 12px;
    font-size: 14.5px;
    white-space: normal;
    border-radius: 8px;
  }
  html .header-dropdown a:hover {
    padding-left: 12px;
  }

  html .site-header-nav__header-cta {
    justify-content: center;
    align-self: center;
    width: 100%;
    max-width: 360px;
    min-height: 52px;
    margin-top: 28px;
    padding: 14px 28px;
    font-size: 16px;
  }

  /* パンくず：固定の左120pxをコンテンツ余白に合わせる */
  html .breadcrumb-nav {
    left: 40px;
    right: 40px;
  }

  /* フッター：5カラム → 3カラム */
  html .site-footer-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px 32px;
  }
}

@media screen and (max-width: 900px) {
  /* ---------- Header（SPサイズ：高さ84px → 64px） ---------- */
  html .site-header {
    height: 64px;
    padding: 0 12px 0 16px;
    gap: 12px;
  }
  html .site-header__link {
    gap: 8px;
  }
  html .site-header__logo-image {
    height: 44px;
  }
  html .site-header__logo-japanese-header-image {
    height: 18px;
    margin-top: 5px;
  }

  html .site-header-nav {
    padding-bottom: 104px;
  }

  /* ---------- Breadcrumb ---------- */
  html .breadcrumb-nav {
    left: 20px;
    right: 20px;
    top: 76px;
    font-size: 12px;
  }
  html .breadcrumb-nav__list,
  html .breadcrumb-nav__item {
    gap: 6px;
  }

  /* ---------- Footer ---------- */
  html .site-footer-contact {
    padding: 120px 20px 0;
  }
  html .site-footer-contact--no-contact {
    padding-top: 80px;
  }
  html .site-footer-contact__decor--rounded {
    width: 520px;
    height: 520px;
  }
  html .site-footer-contact__decor--bordered {
    width: 360px;
    height: 360px;
  }
  html .site-footer-contact__content--center {
    margin-bottom: 80px;
  }
  html .site-footer-contact__contact-ghost {
    top: -0.61em; /* PC（-72px / 118px）と同じ比率で見出しに重ねる */
    font-size: clamp(48px, 13vw, 88px);
  }
  html .site-footer-contact__contact-japanese {
    font-size: clamp(32px, 8.4vw, 46px);
    white-space: nowrap;
  }
  html .site-footer-contact__row {
    top: -1.2cm;
    margin-bottom: 40px;
  }
  html .site-footer-contact__contact-button {
    gap: 14px;
    padding: 14px 16px 14px 28px;
    font-size: 16px;
    letter-spacing: 0.1em;
  }
  html .site-footer-contact__card {
    padding: 44px 24px 40px;
    border-radius: 20px 20px 0 0;
  }
  html .site-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 24px;
  }
  html .footer-head {
    margin-bottom: 12px;
  }
  html .site-footer-nav__footer-link {
    padding: 9px 0;
  }
  html .site-footer-nav__footer-head {
    margin-top: 28px;
  }
  html .site-footer-contact__content--tinted {
    padding: 20px 20px 32px;
  }
  html .site-footer-contact__inner--flex {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }
  html .site-footer-contact__image {
    position: static;
    transform: none;
    height: 48px;
  }
}

@media screen and (max-width: 480px) {
  html .site-footer-contact__card {
    padding: 36px 20px 32px;
  }
  html .site-footer-nav {
    gap: 32px 16px;
  }
  html .site-footer-contact__contact-button {
    font-size: 15px;
    letter-spacing: 0.06em;
  }
}

/* ==========================================================================
   ヘッダー（タブレット・SP）：採用情報ボタン／採用情報ボタンの文字を中央揃え
   ========================================================================== */
@media screen and (max-width: 1100px) {
  /* ハンバーガーの左に採用情報ボタン */
  html .site-header__sp-recruit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 96px;
    height: 40px;
    margin-left: auto;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(120deg, #4d9bef, #1d55b0);
    box-shadow: 0 10px 22px -12px rgba(29, 85, 176, 0.6);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  html .site-header__sp-recruit:hover {
    color: #ffffff;
  }
  html .site-header__menu-button {
    margin-left: 4px;
  }
  /* ドロワー内の採用情報ボタン：矢印を右端に固定し、文字をボタン中央に */
  html .site-header-nav__header-cta {
    position: relative;
    justify-content: center;
    text-align: center;
  }
  html .site-header-nav__header-cta .site-header-nav__label {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 900px) {
  /* 黒文字の「株式会社サクシード」ロゴは非表示（SPはシンボルロゴのみ） */
  html .site-header__logo-japanese-header-image {
    display: none;
  }
  html .site-header__sp-recruit {
    height: 38px;
    min-width: 92px;
    padding: 0 16px;
    font-size: 13.5px;
  }
}

/* ==========================================================================
   ヘッダーの採用情報ボタン（タブレット・SP）：PCの採用情報ボタンと同じ光沢＋パルス演出
   ========================================================================== */
@media screen and (max-width: 1100px) {
  html .site-header__sp-recruit {
    position: relative;
    overflow: hidden;
    animation: spRecruitPulse 2.6s ease-out infinite;
  }
  html .site-header__sp-recruit::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 40%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: skewX(-16deg);
    animation: spRecruitSheen 3.4s ease-in-out infinite;
    pointer-events: none;
  }
}
@keyframes spRecruitSheen {
  0% { left: -60%; }
  45% { left: 130%; }
  100% { left: 130%; }
}
@keyframes spRecruitPulse {
  0%, 100% { box-shadow: 0 10px 22px -12px rgba(29, 85, 176, 0.6), 0 0 0 0 rgba(90, 160, 240, 0.5); }
  50% { box-shadow: 0 10px 22px -12px rgba(29, 85, 176, 0.6), 0 0 0 10px rgba(90, 160, 240, 0); }
}
@media (prefers-reduced-motion: reduce) {
  html .site-header__sp-recruit,
  html .site-header__sp-recruit::after {
    animation: none;
  }
}

/* ==========================================================================
   フッターナビ：アコーディオン（タブレット・SP：1100px以下。開閉は common.js）
   ========================================================================== */
@media screen and (max-width: 1100px) {
  html .site-footer-nav {
    display: block;
  }
  html .footer-column {
    display: flex;
    flex-direction: column;
  }
  html .footer-head,
  html .site-footer-nav__footer-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    margin: 0;
    padding: 14px 40px 14px 0;
    border-bottom: 1px solid rgba(22, 50, 90, 0.12);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
  }
  html .site-footer-nav > .footer-column:first-child > .footer-head:first-child {
    border-top: 1px solid rgba(22, 50, 90, 0.12);
  }
  /* 開閉アイコン（＋ → －） */
  html .footer-head::before,
  html .footer-head::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 14px;
    height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: #1d55b0;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  html .footer-head::after {
    transform: rotate(90deg);
  }
  html .footer-head[data-acc="open"]::after {
    transform: rotate(0deg);
    opacity: 0;
  }
  html .footer-head:focus-visible {
    outline: 2px solid #4d9bef;
    outline-offset: 2px;
  }
  /* リンク（開いている見出しのみ表示） */
  html .site-footer-nav__footer-link {
    padding: 11px 0 11px 16px;
  }
  html .site-footer-nav__footer-link:first-of-type,
  html .footer-head + .site-footer-nav__footer-link {
    margin-top: 6px;
  }
  html .site-footer-nav__footer-link.is-acc-last {
    margin-bottom: 10px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(22, 50, 90, 0.12);
  }
  html .site-footer-nav__footer-link.is-acc-hidden {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  /* アコーディオン下〜コピーライトの余白を詰める（区切り線はアコーディオンの最終線で兼用） */
  html .site-footer-contact__card {
    padding-top: 8px;
    padding-bottom: 0;
  }
  /* カード上端の余白と最上部の線を削除 */
  html .site-footer-nav > .footer-column:first-child > .footer-head:first-child {
    border-top: 0;
  }
  html .site-footer-contact__content--tinted {
    padding-top: 0;
  }
  html .site-footer-contact__inner--flex {
    border-top: 0;
    padding-top: 20px;
  }
}

/* ==========================================================================
   読み込み中の部品の仮表示（グレーの枠・光るアニメーション）を出さない
   ========================================================================== */
html .sc-placeholder,
html.sc-dc-streaming .sc-placeholder {
  background: transparent !important;
  border-color: transparent !important;
}
html .sc-placeholder::before,
html.sc-dc-streaming .sc-placeholder::before {
  display: none !important;
}

/* ハッシュ付きURLで開いたとき：目的の位置へ移動するまで本体を隠す（移動後にふわっと表示。JSは common.js） */
html.is-hash-landing main,
html.is-hash-landing #contact {
  opacity: 0;
}
html main {
  transition: opacity 0.25s ease;
}

/* フッターのコピーライト：「Copyright (C) Succeed Co.,Ltd.」「All Rights Reserved.」の区切りでのみ改行 */
html .site-footer-contact__copy-phrase {
  display: inline-block;
}

/* IR各ページ（SP：900px以下）：Adobe Acrobat Reader ボタンを中央に配置 */
@media screen and (max-width: 900px) {
  html .doc-list__card .doc-list__button {
    align-self: center;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Adobeボタン案内文：PCは「左のボタン」、SP（900px以下・ボタンが上に来る）は「上のボタン」 */
html .doc-list__dir-sp { display: none; }
@media screen and (max-width: 900px) {
  html .doc-list__dir-pc { display: none; }
  html .doc-list__dir-sp { display: inline; }
}
/* Adobeボタン案内文（SP）：中央揃え */
@media screen and (max-width: 900px) {
  html .doc-list__card .doc-list__text {
    text-align: center;
  }
}

/* ハンバーガーボタン（1100px以下）：背景色を付けてヘッダー上でボタンと分かるように */
@media screen and (max-width: 1100px) {
  html .site-header__menu-button {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(29, 85, 176, 0.16);
    box-shadow: 0 6px 16px -8px rgba(22, 50, 90, 0.35);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: background 0.25s ease, border-color 0.25s ease;
  }
  html .site-header__menu-button[aria-expanded="true"] {
    background: #eaf1fc;
    border-color: rgba(29, 85, 176, 0.3);
  }
}

/* ==========================================================================
   ハンバーガーメニュー（1100px以下）：大項目のアイコン＋アコーディオン（開閉は common.js）
   ========================================================================== */
@media screen and (max-width: 1100px) {
  /* 大項目の左にアイコン（トップページは元のホームアイコンを使用） */
  html .site-header-nav > .header-link,
  html .site-header-nav .header-item > .header-link {
    gap: 12px;
  }
  html .site-header-nav__header-link svg {
    width: 22px;
    height: 22px;
    color: #1d55b0;
    flex: none;
  }
  html .site-header-nav .header-link[href="/about/"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5.5L12 3l8 2.5V21'/%3E%3Cpath d='M4 21h16'/%3E%3Cpath d='M9 21v-4h6v4'/%3E%3Cpath d='M8 8h2M14 8h2M8 12h2M14 12h2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5.5L12 3l8 2.5V21'/%3E%3Cpath d='M4 21h16'/%3E%3Cpath d='M9 21v-4h6v4'/%3E%3Cpath d='M8 8h2M14 8h2M8 12h2M14 12h2'/%3E%3C/svg%3E");
  }
  html .site-header-nav .header-link[href="/business/"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3Cpath d='M3 13h18'/%3E%3C/svg%3E");
  }
  html .site-header-nav .header-link[href="/ir/"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V4'/%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M8 16v-4M12 16V8M16 16v-6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V4'/%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M8 16v-4M12 16V8M16 16v-6'/%3E%3C/svg%3E");
  }
  html .site-header-nav .header-link[href="/news/"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 8h10M7 12h10M7 16h6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 8h10M7 12h10M7 16h6'/%3E%3C/svg%3E");
  }
  html .site-header-nav .header-link[href="/contact/"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
  }
  html .site-header-nav .header-link[href="/about/"]::before,
  html .site-header-nav .header-link[href="/business/"]::before,
  html .site-header-nav .header-link[href="/ir/"]::before,
  html .site-header-nav .header-link[href="/news/"]::before,
  html .site-header-nav .header-link[href="/contact/"]::before {
    content: "";
    flex: none;
    width: 22px;
    height: 22px;
    background-color: #1d55b0;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  /* アコーディオン：親リンクの右端に ＋／－ ボタン */
  html .site-header-nav .header-item.is-acc {
    position: relative;
  }
  html .site-header-nav .header-item.is-acc > .header-link {
    padding-right: 56px;
  }
  html .site-header-nav__acc-toggle {
    position: absolute;
    top: 6px;
    right: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  html .site-header-nav__acc-toggle span,
  html .site-header-nav__acc-toggle::before {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 -7px;
    border-radius: 2px;
    background: #1d55b0;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  html .site-header-nav__acc-toggle::before {
    content: "";
  }
  html .site-header-nav__acc-toggle span {
    display: block;
    transform: rotate(90deg);
  }
  html .site-header-nav .header-item.is-acc-open .site-header-nav__acc-toggle span {
    transform: rotate(0deg);
    opacity: 0;
  }
  html .site-header-nav__acc-toggle:focus-visible {
    outline: 2px solid #4d9bef;
    outline-offset: -2px;
  }
  /* 閉じているときは子メニューを隠す */
  html .site-header-nav .header-item.is-acc:not(.is-acc-open) > .header-dropdown {
    display: none;
  }
}
/* PCでは開閉ボタンを使わない */
@media screen and (min-width: 1101px) {
  html .site-header-nav__acc-toggle {
    display: none;
  }
}
/* ハンバーガー内の開閉ボタン：丸いボタンの見た目に（背景・枠線・影） */
@media screen and (max-width: 1100px) {
  html .site-header-nav__acc-toggle {
    top: 10px;
    right: 2px;
    width: 36px;
    height: 36px;
    background: #eef4fd;
    border: 1px solid rgba(29, 85, 176, 0.22);
    box-shadow: 0 4px 10px -6px rgba(22, 50, 90, 0.45);
    transition: background 0.25s ease, border-color 0.25s ease;
  }
  html .site-header-nav__acc-toggle::after {
    content: "";
    position: absolute;
    inset: -4px;   /* タップ範囲を44pxに広げる */
  }
  html .site-header-nav__acc-toggle span,
  html .site-header-nav__acc-toggle::before {
    width: 12px;
    margin-left: -6px;
  }
  html .site-header-nav .header-item.is-acc-open .site-header-nav__acc-toggle {
    background: #1d55b0;
    border-color: #1d55b0;
  }
  html .site-header-nav .header-item.is-acc-open .site-header-nav__acc-toggle::before {
    background: #ffffff;
  }
}

/* ==========================================================================
   SEO：1文字ずつ表示する見出し（.jp-reveal）を「1つの語」として読ませる
   - inline-flex だと各文字が独立したブロックとして扱われ、見出しテキストが
     「事／業／紹／介」のように分断されて読み取られる（innerText 等）。
   - 文字は inline-block のまま、外枠だけ inline-block にすることで、見た目・アニメーションは
     そのままに「事業紹介」という連続したテキストとして扱われるようにする。
   - SPで ::after＋order による強制改行を使っている見出しは、各ページのCSSで inline-flex に戻している。
   ========================================================================== */
html .jp-reveal {
  display: inline-block !important;
  vertical-align: top;
}

/* フッターの見出し（サクシードについて／IR情報／ニュース／教育サービス／人材サービス）をリンク化。
   見た目は見出しのまま、PCではマウスオーバーでリンク色に。1100px以下はアコーディオンの開閉ボタンとして動作（common.js） */
html .footer-head__link {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}
@media (hover: hover) and (min-width: 1101px) {
  html .footer-head__link:hover {
    color: #1d55b0;
  }
}

/* フッターの見出し（PC：1101px以上）：下のリンクより一段大きく、下線とアクセントで「見出し」と分かるデザインに */
@media screen and (min-width: 1101px) {
  html #contact .footer-head {
    position: relative;
    margin: 0 0 16px;
    padding-bottom: 12px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.4;
    color: #0e357e;
    border-bottom: 1px solid rgba(22, 50, 90, 0.14);
  }
  html #contact .footer-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 28px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, #1aa3c8, #1d55b0);
  }
  html #contact .site-footer-nav__footer-head {
    margin-top: 36px;
  }
}
