@charset "UTF-8";
/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * .skd-heading / --light / --white / --hero  - セクション見出し（グラデ英字＋藍色和文）
 * .skd-section / --lg / --md / --sm / --pt0 / --pb0   - clamp可変のセクション上下余白
 * .skd-container-1100 / -1000 / -820                   - デザイン固有のコンテナ幅
 * .skd-lead / .skd-body / .skd-note / .skd-sentence    - 本文テキスト（15px / lh2.1）
 * .skd-lead--wide / .skd-body--wide / .skd-mb-44       - 本文の行長・44px余白（utility不足分）
 * .skd-btn / --white / --solid / --pdf                 - 直角・自動幅のリンクボタン
 * .skd-arrow-link                                      - テキスト＋ピンク丸矢印リンク
 * .skd-header / __mail / .skd-nav-toggle               - 透過→スクロールで濃紺のヘッダー
 * .skd-page-hero / __overlay / __content               - 下層ヒーロー（渦潮写真＋藍色グラデ）
 * .skd-cta / __inner / __lead / __sakura               - お問い合わせCTA（桜吹雪あしらい）
 * .skd-footer / __overlay / __inner / __nav / __bottom - フッター（写真＋3層グラデ）
 * .skd-mv / __slider / __copy / __sub                  - メインビュー
 * .skd-news / __head / __list                          - お知らせ一覧（CMS差し替え前提）
 * .skd-biz / __media / __num / __word / __img / __body - トップ事業紹介（数字＋英字あしらい）
 * .skd-bg-lined                                        - 縦罫線＋写真の背景
 * .skd-notch / __bg / __overlay / __inner              - 上下を左右段違いにカットしたセクション
 * .skd-philosophy / __mark / __word                    - 企業理念
 * .skd-vertical-title / __bar / __en / __label         - 縦書きPhilosophy見出し
 * .skd-calendar / __body                              - 営業カレンダー
 * .skd-works-head / .skd-works-grid                    - トップの施工写真グリッド
 * .skd-works-stack / -head                            - 施工実績ページ上部の写真2枚重ね
 * .skd-works-list / __row / __year / __items / __item  - 工事実績一覧（年度バッジ＋破線リスト）
 * .skd-recruit / __box / __media / __img / __word / __brand - トップ求人（白箱＋写真＋巨大英字＋社名透かし）
 * .skd-dl / __row / __dt / __dd / __foot               - dt/dd定義リスト表（募集要項・会社概要）
 * .skd-access-head / __en / __line / __ja              - 「Access Map／アクセスマップ」小見出し
 * .skd-embed-map                                       - Google Map埋め込み（高さ指定）
 * .skd-history / __row / __year / __text               - 沿革（年号バッジ＋内容）
 * .skd-msg / __title / __sign                          - 代表者挨拶
 * .skd-msg-section / __deco                            - 代表者挨拶の背景右上の桜吹雪
 * .skd-people-card / __title / __text / .skd-card-grid - 求める人物像カード
 * .skd-split / __text / __media / .skd-clip-photo      - 事業内容ページの2カラム＋斜めカット写真
 * .skd-anchor                                          - アンカーリンクの着地位置（固定ヘッダー分の余白）
 * .skd-spec / __label / __text                        - 取扱区分の2カラムボックス（grid-2と併用）
 * .skd-tag-list / __item                               - 施工先のタグ
 * .skd-form / __label / __name / __req / __submit      - お問い合わせフォーム
 * .skd-thanks__btn                                     - 送信完了ページのボタン配置
 * .form-pattern-1 / .submit-btn / span.required        - フォームCMS出力の上書き（!important）
 *
 * ======================================
 * 共通SCSSに不足していたもの
 * ======================================
 *
 * ■ 値の粒度不足
 *   - セクション余白が 120px / 60px の2段階のみ。デザインは clamp(56px,7vw,96px) の
 *     可変値で画面幅に応じて連続的に変わる → .skd-section 系を追加
 *   - font-size utility に 15px（1.5rem）がなく（fz-14 と fz-16 の間）、
 *     デザインの本文サイズを再現できない → .skd-body / .skd-lead / .skd-note を追加
 *   - line-height utility が 2 まで。デザイン本文は 2.1 → .skd-body で実数指定
 *   - コンテナ幅が 1200 / 1500 / 900 の3種。デザインは 1200 / 1100 / 1000 / 820 を
 *     ページの情報量で使い分けている → .skd-container-* を追加
 *
 * ■ 指定方向不足
 *   - 「白ボックスの右下から写真だけをはみ出させて重ねる」配置（トップ求人）が
 *     offset-* / column2--overlap では組めない → .skd-recruit__img を追加
 *   - 縦書き見出しの上に白い縦バーを継ぎ足してセクション外へ抜く構造（会社概要 Philosophy）が
 *     heading-vertical にない → .skd-vertical-title を追加
 *
 * ■ 状態不足
 *   - ヘッダーが「初期＝半透明すりガラス／スクロール後＝濃紺」の2状態を持つ。
 *     header-sticky は「透過→白背景」のみ → .skd-header.is-scrolled を追加
 *
 * ■ 構造不足
 *   - セクション見出しが「グラデーション英字（Poppins 600・大）＋小さい藍色和文」の組み。
 *     heading-big--gradient は base→sub の2色固定で、かつ和文が英字より大きい
 *     → .skd-heading を追加
 *   - dt/dd の2列定義リスト（dtだけ濃い罫線／ddは薄い罫線）に相当する component が
 *     table 系にしか無い → .skd-dl を追加
 *   - テキスト＋右側の丸矢印リンクが btn-circle-arrow（丸が左・白ピル・影付き）と逆構成
 *     → .skd-arrow-link を追加（丸は共通の .btn__circle を流用）
 *
 * ■ 装飾パターン不足
 *   - セクションの上下辺を左右段違いにカットする clip-path 装飾がない → .skd-notch
 *   - 写真の上に 25% 間隔の 1px 縦罫線を重ねる背景がない
 *     （bg-stripe--vertical は 25%幅の帯で 1px 罫線ではない）→ .skd-bg-lined
 *   - 写真の左上・右下の角を斜めに落とす clip-path 装飾がない → .skd-clip-photo
 *   - 巨大な英字・数字を写真の外側に半透明で置くあしらいがない
 *     （card-bnr__num は写真の内側前提）→ .skd-biz__num / .skd-biz__word
 *
 */

/* ==========================================================================
   共通：コンテナ・セクション余白
   ========================================================================== */
.container,
.container-wide,
.container-narrow,
.skd-container-1100,
.skd-container-1000,
.skd-container-820 {
  padding-left: 24px;
  padding-right: 24px;
}
.skd-container-1100 { max-width: 1100px; margin: 0 auto; }
.skd-container-1000 { max-width: 1000px; margin: 0 auto; }
.skd-container-820  { max-width: 820px;  margin: 0 auto; }

.skd-section     { padding: clamp(56px, 7vw, 96px) 0; }
.skd-section--lg { padding: clamp(60px, 8vw, 110px) 0; }
.skd-section--md { padding: clamp(48px, 6vw, 90px) 0; }
.skd-section--sm { padding: clamp(44px, 5vw, 72px) 0; }
.skd-section--pt0 { padding-top: 0; }
.skd-section--pb0 { padding-bottom: 0; }

/* ==========================================================================
   共通：本文テキスト
   ========================================================================== */
.skd-lead {
  font-size: 1.5rem;
  line-height: 2;
  color: #52606D;
}
.skd-lead--wide { max-width: 44em; }
/* デザイン実数値の余白（utility に 44px 刻みがないため） */
.skd-mb-44 { margin-bottom: 44px; }
.skd-body {
  font-size: 1.5rem;
  line-height: 2.1;
  color: #3E4C59;
}
.skd-body--wide  { max-width: 34em; }
.skd-body--white { color: rgba(255, 255, 255, 0.9); }
.skd-note {
  font-size: 1.3rem;
  line-height: 1.9;
  color: #7B8794;
}
.skd-note--white { color: rgba(255, 255, 255, 0.8); }
.skd-sentence > * + * { margin-top: 20px; }

/* ==========================================================================
   共通：見出し（グラデ英字 ＋ 藍色和文）
   ========================================================================== */
.skd-heading .heading__en {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(3.4rem, 4.3vw, 6rem);
  line-height: 1.1;
  letter-spacing: 0.02em;
  background-image: linear-gradient(96deg, #EE5F9C 0%, #F9AECB 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  /* line-height:1.1 だと g/y/p のディセンダーが行ボックスからはみ出し、
     background-clip:text の塗り範囲（padding-box）外になって見切れる。
     padding で塗り範囲を下に広げ、同量の負 margin でレイアウト位置は元に戻す。 */
  padding-bottom: 0.14em;
  margin-bottom: -0.14em;
}
.skd-heading .heading__ja {
  font-size: clamp(1.6rem, 1.5vw, 1.9rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #1B3A63;
  margin-top: 6px;
}
/* 英字を持たない和文のみの見出し（事業内容：販売部・工事部）。
   英字が無い分だけ見出しが弱くなるため、和文側を大きくして見出しの強さを保つ */
.skd-heading--ja-only .heading__ja {
  font-size: clamp(2.2rem, 2.6vw, 3.2rem);
  margin-top: 0;
}
.skd-heading--light .heading__en {
  background-image: linear-gradient(96deg, #FBC5DB 0%, #F58FB6 100%);
}
.skd-heading--white .heading__ja { color: #fff; }
.skd-heading--hero .heading__en { font-size: clamp(3.8rem, 5vw, 6.8rem); }
/* 下層ヒーローは濃紺の暗幕上に載るため、和文は白（藍色だと背景と同化する） */
.skd-heading--hero .heading__ja {
  font-size: clamp(1.6rem, 1.6vw, 2rem);
  color: #fff;
}

/* ==========================================================================
   共通：ボタン
   ========================================================================== */
.skd-btn.btn {
  width: auto;
  max-width: none;
  border-width: 1px;
  border-radius: 0;
  padding: 14px 30px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.skd-btn--white.btn {
  background: transparent;
  border-color: #fff;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 17px 44px;
}
.skd-btn--white.btn:hover {
  background: #fff;
  color: #1B3A63;
}
.skd-btn--solid.btn {
  background: #1B3A63;
  border-color: #1B3A63;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 18px 44px;
}
.skd-btn--solid.btn:hover {
  background: #0065A3;
  border-color: #0065A3;
  color: #fff;
}
.skd-btn--pdf.btn {
  background: #fff;
  border-color: #fff;
  color: #1B3A63;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 16px 30px;
  gap: 12px;
}
.skd-btn--pdf.btn:hover {
  background: #F58FB6;
  border-color: #F58FB6;
  color: #1B3A63;
}

/* テキスト ＋ 右側のピンク丸矢印 */
.skd-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1B3A63;
  text-decoration: none;
}
.skd-arrow-link:hover { opacity: 1; color: #1B3A63; }
.skd-arrow-link .btn__circle {
  background: #F58FB6;
  font-size: 1.6rem;
  transition: transform 0.25s ease;
}
.skd-arrow-link:hover .btn__circle { transform: scale(1.18); }

/* ==========================================================================
   ヘッダー
   ========================================================================== */
.skd-header.header-bar {
  background: linear-gradient(180deg, rgba(18, 41, 74, 0.62) 0%, rgba(18, 41, 74, 0.34) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  backdrop-filter: blur(12px) saturate(130%);
  box-shadow: none;
  transition: background 0.3s ease;
}
.skd-header.header-bar.is-scrolled {
  background: linear-gradient(180deg, rgba(18, 41, 74, 0.94) 0%, rgba(27, 58, 99, 0.88) 100%);
  border-bottom-color: rgba(255, 255, 255, 0.16);
}
.skd-header .header__inner {
  max-width: 100%;
  height: auto;
  padding: 14px clamp(16px, 2.5vw, 40px);
  gap: clamp(16px, 3vw, 40px);
}
.skd-header .header__logo img {
  height: 45px;
  filter: drop-shadow(0 1px 4px rgba(18, 41, 74, 0.55));
}
.skd-header .header__nav {
  margin: 0 0 0 auto;
  justify-content: flex-end;
  align-items: flex-end;
  gap: clamp(14px, 2.2vw, 34px);
  flex-wrap: wrap;
}
.skd-header .header__nav-item a {
  padding: 0 0 4px;
  gap: 3px;
  align-items: flex-start;
  border-bottom: 2px solid transparent;
}
.skd-header .header__nav-item a::after { display: none; }
.skd-header .header__nav-item a:hover { border-bottom-color: rgba(245, 143, 182, 0.6); }
.skd-header .header__nav-item--current a { border-bottom-color: #F58FB6; }
.skd-header .header__nav-en {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: #FBC5DB;
  text-transform: uppercase;
}
.skd-header .header__nav-ja {
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  margin-top: 0;
  white-space: nowrap;
}
.skd-header .header__right { height: auto; }
.skd-header__mail {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
}
.skd-header__mail:hover {
  background: #fff;
  color: #1B3A63;
  opacity: 1;
}
.skd-header__mail--sp {
  justify-content: center;
  width: 100%;
  padding: 14px 18px;
  font-size: 1.4rem;
}

.skd-nav-toggle {
  background: rgba(18, 41, 74, 0.82);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.24);
}
.skd-nav-toggle .nav-toggle__line { background: #fff; }
.sp-nav__link::after {
  font-family: "Font Awesome 6 Free";
  margin-left: 10px;
}
.sp-nav__en { font-size: 1.5rem; }

/* ==========================================================================
   下層ページヒーロー
   ========================================================================== */
.skd-page-hero { background: #12294A; }
.skd-page-hero__overlay {
  background: linear-gradient(90deg, rgba(18, 41, 74, 0.72) 0%, rgba(18, 41, 74, 0.5) 55%, rgba(18, 41, 74, 0.28) 100%);
}
.skd-page-hero__content {
  padding-top: calc(clamp(56px, 7vw, 92px) + 74px);
  padding-bottom: clamp(56px, 7vw, 92px);
}

/* ==========================================================================
   お問い合わせCTA
   ========================================================================== */
.skd-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(56px, 7vw, 96px) 0;
  background: #12294A;
}
.skd-cta::before {
  background: linear-gradient(115deg, #12294A 0%, #1B3A63 46%, #0065A3 100%);
}
.skd-cta__sakura {
  position: absolute;
  height: auto;
  pointer-events: none;
  z-index: 0;
}
.skd-cta__sakura--tl { top: 0; left: 0; width: clamp(240px, 32vw, 480px); }
.skd-cta__sakura--br { right: 0; bottom: 0; width: clamp(200px, 26vw, 380px); }
.skd-cta__inner {
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
}
.skd-cta__inner .heading__ja { margin-top: 8px; }
.skd-cta__lead {
  margin: 18px 0 32px;
  font-size: 1.5rem;
  line-height: 2;
  color: rgba(255, 255, 255, 0.9);
}

/* ==========================================================================
   フッター
   ========================================================================== */
.skd-footer {
  position: relative;
  overflow: hidden;
  background: #1B3A63;
  padding: clamp(48px, 6vw, 72px) 0 0;
}
.skd-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28637/footer-bg.jpg);
  background-size: cover;
  background-position: center;
  pointer-events: none;
}
.skd-footer__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(18, 41, 74, 0.68) 0%, rgba(18, 41, 74, 0.55) 38%, rgba(18, 41, 74, 0.28) 66%, rgba(18, 41, 74, 0.12) 100%),
    linear-gradient(180deg, rgba(27, 58, 99, 0.6) 0%, rgba(0, 101, 163, 0.46) 55%, rgba(27, 58, 99, 0.6) 100%);
}
.skd-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  gap: clamp(28px, 5vw, 72px);
  padding: 0 24px clamp(36px, 4vw, 56px);
}
.skd-footer .footer-body__left  { width: 52%; }
.skd-footer .footer-body__right { width: 44%; }
.skd-footer__logo { margin-bottom: 22px; }
.skd-footer .skd-footer__logo img { height: 36px; filter: none; }
.skd-footer .skd-footer__info {
  font-size: 1.4rem;
  line-height: 1.9;
  color: #fff;
  text-shadow: 0 1px 6px rgba(18, 41, 74, 0.6);
  margin-bottom: 30px;
}
.skd-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px clamp(12px, 2vw, 28px);
  max-width: 460px;
}
.skd-footer__nav .footer-body__nav-item a {
  font-size: 1.4rem;
  color: #fff;
  text-shadow: 0 1px 6px rgba(18, 41, 74, 0.6);
}
.skd-footer__nav .footer-body__nav-item a:hover { color: #F58FB6; opacity: 1; }
.skd-footer__map {
  height: 220px;
  margin-top: 0;
  border-radius: 0;
}
.skd-footer__bottom {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 24px 26px;
  background: transparent;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  text-align: left;
}
.skd-footer__copyright {
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  color: #fff;
  text-shadow: 0 1px 6px rgba(18, 41, 74, 0.6);
}

/* ==========================================================================
   メインビュー（TOP）
   ========================================================================== */
.skd-mv {
  position: relative;
  height: 100vh;
  min-height: 460px;
  background: #12294A;
  overflow: hidden;
}
.skd-mv__slider {
  position: absolute;
  inset: 0;
  height: 100%;
}
.skd-mv__slider .swiper-slide,
.skd-mv__slider .main_slider__inner { height: 100%; }
.skd-mv__slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.skd-mv__body {
  position: relative;
  z-index: 2;
  height: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.skd-mv__copy {
  font-size: clamp(3rem, 4.6vw, 6.2rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #fff;
  text-shadow: 0 0 18px rgba(18, 41, 74, 0.55), 0 0 46px rgba(18, 41, 74, 0.35), 0 2px 4px rgba(18, 41, 74, 0.4);
  animation: skd-mvfade 1.1s 0.1s ease both, skd-mvglow 4.5s 1.2s ease-in-out infinite;
}
.skd-mv__sub {
  margin-top: 28px;
  padding: 7px 18px;
  background: rgba(255, 255, 255, 0.9);
  animation: skd-mvfade 0.9s 0.45s ease both;
}
.skd-mv__sub span {
  font-family: "Poppins", sans-serif;
  font-size: clamp(1.1rem, 1.1vw, 1.4rem);
  font-weight: 600;
  letter-spacing: 0.18em;
  background-image: linear-gradient(96deg, #E5498D 0%, #F58FB6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@keyframes skd-mvfade {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}
@keyframes skd-mvglow {
  0%, 100% { text-shadow: 0 0 18px rgba(18, 41, 74, 0.55), 0 0 46px rgba(18, 41, 74, 0.35), 0 2px 4px rgba(18, 41, 74, 0.4); }
  50%      { text-shadow: 0 0 26px rgba(18, 41, 74, 0.7), 0 0 72px rgba(245, 143, 182, 0.45), 0 2px 4px rgba(18, 41, 74, 0.45); }
}

/* ==========================================================================
   お知らせ（TOP）
   ========================================================================== */
.skd-news {
  display: flex;
  gap: clamp(28px, 5vw, 72px);
  flex-wrap: wrap;
}
.skd-news__head { flex: 0 0 auto; min-width: 200px; }
.skd-news__list {
  flex: 1 1 460px;
  min-width: 0;
  /* 4件目以降はスクロールで見せる（1件の高さ = 上下padding40 + 本文27 + 罫線1） */
  --skd-news-row: 68px;
  max-height: calc(var(--skd-news-row) * 3);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid #E2E7EE;
  scrollbar-width: thin;
  scrollbar-color: rgba(27, 58, 99, 0.35) #EDF1F5;
}
.skd-news__list::-webkit-scrollbar { width: 6px; }
.skd-news__list::-webkit-scrollbar-track { background: #EDF1F5; }
.skd-news__list::-webkit-scrollbar-thumb { background: rgba(27, 58, 99, 0.35); }
.skd-news__list::-webkit-scrollbar-thumb:hover { background: rgba(27, 58, 99, 0.6); }
.skd-news .blog-list { border-top: none; }
.skd-news .blog-list__item { border-bottom-color: #E2E7EE; }
.skd-news .blog-list__row {
  display: flex;
  align-items: baseline;
  gap: clamp(12px, 2vw, 28px);
  padding: 20px 4px;
  flex-wrap: wrap;
}
.skd-news .blog-list__date {
  font-family: "Poppins", sans-serif;
  font-size: 1.3rem;
  color: #7B8794;
  flex: 0 0 auto;
  white-space: nowrap;
}
.skd-news .blog-list__title {
  flex: 1 1 240px;
  min-width: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  color: #1F2933;
}

/* ==========================================================================
   背景装飾
   ========================================================================== */
.skd-bg-lined {
  background-image:
    repeating-linear-gradient(90deg, transparent, transparent 25%, rgba(51, 51, 51, 0.1) 25%, rgba(51, 51, 51, 0.1) calc(25% + 1px)),
    url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28637/body.jpg);
  background-size: auto, cover;
  background-position: center, center;
  background-repeat: repeat, no-repeat;
  overflow: hidden;
}
.skd-notch {
  position: relative;
  overflow: hidden;
  background: #1B3A63;
  clip-path: polygon(0 0, 50% 0, 50% 7%, 100% 7%, 100% 100%, 50% 100%, 50% 93%, 0 93%);
}
.skd-notch__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  pointer-events: none;
}
.skd-notch__bg--exterior { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28637/exterior.jpg); }
.skd-notch__bg--02 { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28637/bg-02.jpg); }
.skd-notch__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(18, 41, 74, 0.9) 0%, rgba(27, 58, 99, 0.82) 50%, rgba(0, 101, 163, 0.68) 100%);
}
.skd-notch__overlay--soft {
  background: linear-gradient(100deg, rgba(18, 41, 74, 0.9) 0%, rgba(27, 58, 99, 0.8) 45%, rgba(0, 101, 163, 0.62) 100%);
}
.skd-notch__inner {
  position: relative;
  z-index: 1;
  padding-top: clamp(84px, 10vw, 150px);
  padding-bottom: clamp(84px, 10vw, 150px);
  color: #fff;
}
.skd-notch-wrap { background: linear-gradient(180deg, #F4F6F9 0%, #F4F6F9 50%, #FFFFFF 50%, #FFFFFF 100%); }

.skd-clip-photo {
  width: 100%;
  height: clamp(240px, 30vw, 380px);
  object-fit: cover;
  display: block;
  clip-path: polygon(9% 0, 100% 0, 100% 82%, 91% 100%, 0 100%, 0 18%);
}

/* ==========================================================================
   TOP：事業紹介
   ========================================================================== */
.skd-biz {
  display: flex;
  gap: clamp(24px, 3vw, 48px);
  flex-wrap: wrap;
  align-items: center;
}
.skd-biz--reverse { flex-wrap: wrap-reverse; }
.skd-biz + .skd-biz { margin-top: clamp(32px, 4vw, 56px); }
.skd-biz__media {
  flex: 1 1 480px;
  min-width: 0;
  position: relative;
  padding: clamp(28px, 3.5vw, 52px) 0 clamp(28px, 3.5vw, 56px);
}
.skd-biz__img {
  position: relative;
  height: clamp(280px, 38vw, 520px);
}
.skd-biz__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.skd-biz__img--indent-r { margin-right: clamp(0px, 4vw, 80px); }
.skd-biz__img--indent-l { margin-left: clamp(0px, 4vw, 80px); }
.skd-biz__num {
  position: absolute;
  z-index: 2;
  top: clamp(20px, 3vw, 50px);
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: clamp(5.6rem, 7vw, 10.4rem);
  line-height: 1;
  color: rgba(120, 140, 164, 0.85);
  pointer-events: none;
}
.skd-biz__num--right { right: clamp(12px, 3vw, 60px); }
.skd-biz__num--left  { left: clamp(12px, 3vw, 60px); }
.skd-biz__word {
  position: absolute;
  bottom: 16px;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: clamp(4.6rem, 7vw, 10.8rem);
  line-height: 1;
  letter-spacing: 0.02em;
  color: rgba(120, 140, 164, 0.6);
  white-space: nowrap;
  pointer-events: none;
}
.skd-biz__word--left  { left: clamp(-8px, -1vw, 0px); }
.skd-biz__word--right { right: clamp(-8px, -1vw, 0px); }
.skd-biz__body {
  flex: 1 1 380px;
  min-width: 0;
  padding: 0 clamp(24px, 4vw, 64px);
}
.skd-biz__body .heading__ja { margin-bottom: 24px; }

/* ==========================================================================
   企業理念
   ========================================================================== */
.skd-philosophy {
  display: flex;
  gap: clamp(32px, 5vw, 80px);
  flex-wrap: wrap;
  align-items: center;
}
.skd-philosophy__mark {
  flex: 0 0 auto;
  width: clamp(120px, 16vw, 200px);
}
.skd-philosophy__mark img { width: 100%; height: auto; display: block; }
.skd-philosophy__body { flex: 1 1 420px; min-width: 0; }
.skd-philosophy__word {
  font-size: clamp(2rem, 2.2vw, 2.6rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #1B3A63;
}
.skd-philosophy__word--white {
  color: #fff;
  font-size: clamp(2.2rem, 2.4vw, 3rem);
  letter-spacing: 0.12em;
}

/* 縦書き Philosophy 見出し（会社概要） */
.skd-philosophy-detail {
  display: flex;
  gap: clamp(28px, 6vw, 90px);
  flex-wrap: wrap;
  align-items: flex-start;
}
.skd-philosophy-detail__body {
  flex: 1 1 420px;
  min-width: 0;
  padding-top: clamp(8px, 3vw, 44px);
}
/* 企業理念：実物の書の写真 */
.skd-philosophy-sho {
  display: flex;
  gap: clamp(16px, 2.5vw, 32px);
  flex-wrap: wrap;
  margin-top: clamp(28px, 4vw, 44px);
}
.skd-philosophy-sho__item {
  /* スマホ幅でも2点を横並びで見せる（折り返しで1点だけ大きく残らないよう basis を抑える） */
  flex: 1 1 140px;
  max-width: 260px;
  margin: 0;
}
.skd-philosophy-sho__item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
  box-shadow: 0 10px 40px rgba(27, 58, 99, 0.14);
}
.skd-vertical-title {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.skd-vertical-title__label {
  writing-mode: vertical-rl;
  font-size: clamp(1.3rem, 1.3vw, 1.6rem);
  font-weight: 700;
  letter-spacing: 0.34em;
  color: #fff;
  margin-top: 8px;
}
.skd-vertical-title__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: calc(-1 * clamp(84px, 10vw, 150px));
}
.skd-vertical-title__bar {
  width: 3px;
  height: clamp(84px, 10vw, 150px);
  background: #fff;
}
.skd-vertical-title__en {
  writing-mode: vertical-rl;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: clamp(4rem, 5.4vw, 7.6rem);
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}

/* ==========================================================================
   営業カレンダー
   ========================================================================== */
.skd-calendar {
  display: flex;
  gap: clamp(32px, 5vw, 72px);
  flex-wrap: wrap;
}
.skd-calendar__body { flex: 1 1 300px; min-width: 0; }

/* ==========================================================================
   施工実績
   ========================================================================== */
.skd-works-head {
  display: flex;
  gap: clamp(20px, 4vw, 56px);
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}
.skd-works-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.skd-works-grid__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
/* 施工写真の重ね並べ（施工実績ページ上部） */
.skd-works-stack {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.skd-works-stack img {
  width: 52%;
  height: clamp(160px, 22vw, 340px);
  object-fit: cover;
  display: block;
}
.skd-works-stack img + img {
  margin-left: -4%;
  margin-top: clamp(30px, 5vw, 80px);
}
.skd-works-stack-head { margin-top: clamp(36px, 5vw, 72px); }
.skd-works-stack-head .heading__ja { margin-bottom: 0; }

/* 工事実績一覧（年度バッジ ＋ 破線区切りの2列リスト） */
.skd-works-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: clamp(32px, 4vw, 56px);
}
.skd-works-list__row {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  box-shadow: 0 6px 24px rgba(27, 58, 99, 0.08);
}
.skd-works-list__year {
  flex: 0 0 clamp(110px, 18vw, 230px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 12px;
  background: #1B3A63;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.skd-works-list__items {
  flex: 1 1 320px;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 0 clamp(24px, 4vw, 56px);
  padding: clamp(14px, 2vw, 26px) clamp(16px, 2.5vw, 34px);
}
.skd-works-list__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 16px 0;
  border-bottom: 1px dashed #C9D4E0;
  font-size: 1.5rem;
  line-height: 1.8;
  color: #3E4C59;
}
.skd-works-list__mark {
  flex: 0 0 auto;
  font-size: 1.1rem;
  line-height: 2.4;
  color: #1B3A63;
}
.skd-works-list__note { margin-top: 24px; }
/* ==========================================================================
   TOP：求人
   ========================================================================== */
.skd-recruit {
  position: relative;
  padding: clamp(48px, 7vw, 100px) 0 clamp(90px, 17vw, 280px);
}
/* 背景左下の社名（薄い太字の透かし・横に流れる）
   共通の .parallax-text（無限横スクロール）を使い、見た目だけ上書きする。
   帯の中で overflow:hidden されるため、写真がCTAへはみ出す演出は残る。 */
.skd-recruit__brand {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(16px, 3vw, 44px);
  z-index: 0;
}
.skd-recruit__brand .parallax-text__inner {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(7.2rem, 10.8vw, 16.8rem);
  line-height: 1;
  letter-spacing: 0.01em;
  color: rgba(120, 140, 164, 0.3);
  opacity: 1;
  animation-duration: 36s;
}
@media (prefers-reduced-motion: reduce) {
  .skd-recruit__brand .parallax-text__inner { animation: none; }
}
.skd-recruit__box {
  position: relative;
  background: #fff;
  box-shadow: 0 10px 40px rgba(27, 58, 99, 0.14);
  margin-left: clamp(16px, 10vw, 200px);
  margin-right: clamp(16px, 4vw, 64px);
  padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 80px);
  /* 写真の左端から常に24px手前でテキストを止める
     （写真幅 ＋ 24px − ボックス右マージン ＝ 確保すべき右padding） */
  padding-right: calc(min(52vw, 780px) + 24px - clamp(16px, 4vw, 64px));
  min-height: clamp(280px, 34vw, 420px);
}
.skd-recruit__box .heading__ja { margin-bottom: 30px; }
.skd-recruit__media {
  position: absolute;
  right: 0;
  top: clamp(110px, 13vw, 200px);
  width: min(52vw, 780px);
}
.skd-recruit__img {
  display: block;
  width: 100%;
  height: clamp(300px, 44vw, 620px);
  object-fit: cover;
  box-shadow: 0 12px 40px rgba(27, 58, 99, 0.18);
}
/* 事業内容の Service01 / Service02 と同じ巨大英字のあしらい */
.skd-recruit__word {
  position: absolute;
  right: clamp(-8px, -1vw, 0px);
  top: -0.34em;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: clamp(4.6rem, 7vw, 10.8rem);
  line-height: 1;
  letter-spacing: 0.02em;
  color: rgba(120, 140, 164, 0.6);
  white-space: nowrap;
  pointer-events: none;
}

/* ==========================================================================
   dt/dd 定義リスト表（募集要項・会社概要）
   ========================================================================== */
.skd-dl {
  background: #fff;
  box-shadow: 0 6px 24px rgba(27, 58, 99, 0.1);
  padding: clamp(20px, 3vw, 44px);
}
.skd-dl__row {
  display: flex;
  flex-wrap: wrap;
}
.skd-dl__dt {
  flex: 0 0 clamp(110px, 16vw, 200px);
  padding: 22px 12px 22px 4px;
  border-bottom: 1px solid #1B3A63;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
  color: #1B3A63;
}
.skd-dl__dd {
  flex: 1 1 300px;
  min-width: 0;
  padding: 22px 4px 22px clamp(12px, 2vw, 28px);
  border-bottom: 1px solid #E2E7EE;
  font-size: 1.5rem;
  line-height: 2;
  color: #3E4C59;
}
.skd-dl__foot { padding: clamp(28px, 4vw, 48px) 4px 4px; }

.skd-access-head {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.skd-access-head__en {
  font-family: "Poppins", sans-serif;
  font-size: clamp(1.7rem, 1.8vw, 2.1rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #0065A3;
}
.skd-access-head__line {
  width: 28px;
  height: 1px;
  background: #C9D4E0;
}
.skd-access-head__ja {
  font-size: clamp(1.5rem, 1.5vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1B3A63;
}
.skd-embed-map { border-radius: 0; }
.skd-embed-map iframe {
  display: block;
  border: 0;
  width: 100%;
  height: 380px;
}

/* ==========================================================================
   沿革
   ========================================================================== */
.skd-history {
  background: #fff;
  padding: clamp(20px, 3vw, 40px);
  box-shadow: 0 6px 24px rgba(27, 58, 99, 0.1);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skd-history__row {
  display: flex;
  gap: clamp(16px, 2.5vw, 32px);
  flex-wrap: wrap;
  align-items: stretch;
  border-bottom: 1px solid #EDF1F5;
  padding-bottom: 8px;
}
.skd-history__year {
  flex: 0 0 clamp(140px, 18vw, 230px);
  padding: 20px 12px;
  background: #1B3A63;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.skd-history__text {
  flex: 1 1 280px;
  min-width: 0;
  padding: 20px 0;
  font-size: 1.5rem;
  line-height: 1.9;
  color: #3E4C59;
  display: flex;
  align-items: center;
}

/* ==========================================================================
   代表者挨拶
   ========================================================================== */
/* 背景右上に桜吹雪のあしらい */
.skd-msg-section {
  position: relative;
  overflow: hidden;
}
.skd-msg-section__deco {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(300px, 46vw, 680px);
  height: auto;
  opacity: 0.5;
  pointer-events: none;
  z-index: 0;
}
.skd-msg-section > .skd-container-1000 {
  position: relative;
  z-index: 1;
}

.skd-msg {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.skd-msg__title {
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.8;
  color: #1B3A63;
  margin-bottom: 16px;
}
.skd-msg__sign {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1B3A63;
  text-align: right;
}

/* ==========================================================================
   カード（求める人物像）
   ========================================================================== */
.skd-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.skd-people-card {
  background: #fff;
  padding: 28px;
  box-shadow: 0 6px 24px rgba(27, 58, 99, 0.1);
}
.skd-people-card__title {
  font-size: 1.7rem;
  font-weight: 700;
  color: #1B3A63;
  margin-bottom: 10px;
}
.skd-people-card__text {
  font-size: 1.4rem;
  line-height: 2;
  color: #3E4C59;
}

/* ==========================================================================
   事業内容ページ：2カラム
   ========================================================================== */
.skd-split {
  display: flex;
  gap: clamp(28px, 5vw, 72px);
  flex-wrap: wrap;
}
.skd-split--reverse { flex-wrap: wrap-reverse; }
/* アンカーリンクの着地位置。固定ヘッダー（約78px）に隠れないよう余白を取る */
.skd-anchor { scroll-margin-top: 110px; }
.skd-split + .skd-split { margin-top: clamp(56px, 7vw, 96px); }
.skd-split__text  { flex: 1 1 380px; min-width: 0; }
.skd-split__media { flex: 1 1 340px; min-width: 0; }
.skd-split__text .heading__ja { margin-bottom: 26px; }

/* 取扱区分（造作材 / 住宅機器）の2カラム。grid-2 と組み合わせて使う */
.skd-spec {
  background: #fff;
  border: 1px solid #C9D4E0;
  padding: 20px 22px;
}
.skd-spec__label {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1B3A63;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid #E2E7EE;
}
.skd-spec__text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #3E4C59;
}

.skd-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.skd-tag-list__item {
  padding: 8px 18px;
  border: 1px solid #C9D4E0;
  background: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #1B3A63;
}

/* ==========================================================================
   フォーム
   ========================================================================== */
.skd-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.skd-form__label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skd-form__name {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1B3A63;
}
.skd-form__req { color: #C2185B; }
.skd-form .form-input {
  background: #fff;
  border: 1px solid #C9D4E0;
  border-radius: 0;
  padding: 14px 16px;
  font-size: 1.5rem;
  color: #1F2933;
}
.skd-form .form-input:focus { border-color: #1B3A63; }
.skd-form textarea.form-input { resize: vertical; }
.skd-form__submit {
  align-self: flex-start;
  font-family: inherit;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: #1B3A63;
  color: #fff;
  border: 1px solid #1B3A63;
  border-radius: 0;
  padding: 18px 48px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.skd-form__submit:hover {
  background: #0065A3;
  border-color: #0065A3;
}

/* ==========================================================================
   送信完了ページ
   ========================================================================== */
.skd-thanks__btn {
  margin-top: 40px;
  text-align: center;
}

/* ==========================================================================
   CMSフォーム（出力HTMLの上書き）
   --------------------------------------------------------------------------
   フォームCMSが出力するHTML（.form-pattern-1 / .submit-btn / span.required）は
   編集できず、CMS側のCSSが後から読み込まれるため、ここだけ !important で上書きする。
   （通常の実装では !important は使わない。CMS出力の上書き専用）
   ========================================================================== */

/* 送信ボタン：サイト共通のボタンデザイン（直角・濃紺ベタ）＋中央配置 */
.form-pattern-1 .submit-btn,
button.submit-btn,
input.submit-btn {
  display: block !important;
  width: auto !important;
  min-width: 280px !important;
  max-width: 100% !important;
  margin: 40px auto 0 !important;
  padding: 18px 48px !important;
  background: #1B3A63 !important;
  border: 1px solid #1B3A63 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-shadow: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
.form-pattern-1 .submit-btn:hover,
button.submit-btn:hover,
input.submit-btn:hover {
  background: #0065A3 !important;
  border-color: #0065A3 !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* 必須マーク：赤いバッジ → サイトの色（#C2185B）の「＊」に変更 */
.form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before {
  content: '＊' !important;
  display: inline !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 0 4px !important;
  color: #C2185B !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

/* ==========================================================================
   レスポンシブ調整
   ========================================================================== */
@media (max-width: 1100px) {
  .skd-page-hero__content { padding-top: calc(clamp(56px, 7vw, 92px) + 64px); }
  /* この幅では写真を抑えて文章の行長を確保する */
  .skd-recruit__box {
    margin-left: clamp(16px, 6vw, 80px);
    padding-right: calc(min(46vw, 520px) + 20px - clamp(16px, 4vw, 64px));
  }
  .skd-recruit__media { width: min(46vw, 520px); }
}
@media (max-width: 896px) {
  .skd-recruit__box {
    margin-left: 0;
    margin-right: 0;
    min-height: 0;
    padding-right: clamp(24px, 5vw, 80px);
  }
  .skd-recruit__media {
    position: static;
    width: 100%;
    margin-top: -40px;
  }
  .skd-recruit__img { height: clamp(220px, 46vw, 380px); }
  /* 縦積み時は白ボックスに被らないよう写真の下端に寄せる */
  .skd-recruit__word {
    top: auto;
    bottom: -0.06em;
    font-size: clamp(3.4rem, 11vw, 7.2rem);
  }
  .skd-recruit { padding-bottom: clamp(48px, 7vw, 90px); }
  /* 縦積み時は写真と重なるため非表示（あしらいは JOIN US 側で担保） */
  .skd-recruit__brand { display: none; }
  .skd-footer .footer-body__left,
  .skd-footer .footer-body__right { width: 100%; }
  .skd-vertical-title__stack { margin-top: 0; }
  .skd-vertical-title__bar { display: none; }
  .skd-notch { clip-path: none; }
  /* 縦積み時は「見出し → 写真 → 説明文」の順に揃える。
     見出しはテキスト列の中にあるため、__text を display:contents で透過させて
     見出し・写真・本文を同じ並び（flex アイテム）に載せ、order で並べ替える。 */
  .skd-split {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .skd-split__text { display: contents; }
  .skd-split__text > .skd-heading { order: 1; }
  /* 縦並びでは flex-basis:340px が「高さ」として効いてしまい、
     写真（240px）の下に余分な空白が出るため flex を解除して写真の高さに合わせる */
  .skd-split__media {
    order: 2;
    flex: none;
  }
  .skd-split__text > *:not(.skd-heading) { order: 3; }
  .skd-split__text .heading__ja { margin-bottom: 0; }
}
@media (max-width: 639px) {
  .skd-mv { height: 88vh; }
  /* SPは日付とタイトルが折り返して1件が高くなるため、3件分の高さを取り直す */
  .skd-news__list { --skd-news-row: 98px; }
  .skd-dl__dt {
    flex-basis: 100%;
    border-bottom: none;
    padding-bottom: 0;
  }
  .skd-dl__dd {
    flex-basis: 100%;
    padding-top: 8px;
    padding-left: 4px;
  }
  .skd-history__year { flex-basis: 100%; }
  /* SPはハンバーガーメニューで導線を確保しているためフッターナビは省く */
  .skd-footer__nav { display: none; }
  .skd-embed-map iframe { height: 260px; }
  /* 桜のあしらいは文字と重なるため薄くする */
  .skd-cta__sakura { opacity: 0.4; }
  .skd-msg-section__deco { opacity: 0.25; }
  /* 企業理念：「案じて事を託さるる人となれ」が折り返さず2行で収まるサイズ
     （トップ／会社概要の両方。会社概要は見出し扱いのため上限をやや大きく） */
  .skd-philosophy__body .skd-philosophy__word {
    font-size: clamp(1.5rem, 4.8vw, 2rem);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .skd-philosophy-detail__body .skd-philosophy__word {
    font-size: clamp(1.5rem, 4.8vw, 2.2rem);
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  /* Philosophy の縦書きを横書きに（英字が上・和文が下の通常の見出し組み） */
  .skd-vertical-title {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 4px;
  }
  .skd-vertical-title__stack { align-items: flex-start; }
  .skd-vertical-title__label {
    writing-mode: horizontal-tb;
    letter-spacing: 0.1em;
    margin-top: 0;
  }
  .skd-vertical-title__en { writing-mode: horizontal-tb; }
}
