/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * .dg-header / .dg-nav / .dg-header__*   - 固定白ヘッダー（ロゴ左・ナビ中央・電話+CTA右）
 * .dg-mv / .dg-mv__*                     - トップメインビジュアル（写真＋グラデ＋キャッチ）
 * .dg-page-hero / __inner / __title      - 下層ページヒーロー（背景写真＋白タイトル）
 * .dg-btn / --white / --lg / --submit    - でいご印刷ボタン（角なしレッド＋矢印スライド）
 * .dg-btn-outline                        - 枠線ボタン（一覧へ戻る）
 * .dg-arrowlink                          - 赤下線＋矢印のテキストリンク
 * .dg-inner / --narrow / --form          - 中央寄せ内側ラッパー（max1180/860/760）
 * .dg-p104 / -p96 / -p80 / -pb96 / -pb104 / -pt0 - セクション上下余白
 * .dg-h2 / --lg / --greet                - 見出し（Zen Kaku 900）
 * .dg-head-center / --sm                 - 中央見出しブロック
 * .dg-sec-head                           - 見出し＋一覧リンクの横並びヘッダー
 * .dg-label / __bar / __text             - 赤縦バー＋赤テキストの小見出し
 * .dg-prose / .dg-sign / .dg-lead        - 本文テキスト
 * .dg-2col / --wideleft                  - 2カラム（画像＋テキスト）
 * .dg-img / --380 / --400 / --420        - カバー画像（高さ指定）
 * .dg-svc-grid / .dg-svc-card / __*       - 事業案内 写真カード（オーバーレイ＋番号）
 * .dg-svc3 / __item / __*                 - 業務案内 3列カード
 * .dg-svc-no                             - 業務案内 大番号
 * .dg-strength / __*                     - 強み（バッジ＋チェックリスト）
 * .dg-flow6 / __*                        - トップ 6ステップ横並びフロー
 * .dg-timeline / .dg-tl__*               - ご利用の流れ 縦タイムライン
 * .dg-faq / __*                          - よくある質問 Q&A
 * .dg-history / __*                      - 沿革
 * .dg-table / th / td                    - 会社概要・採用テーブル
 * .dg-map                               - 地図埋め込み
 * .dg-news-list / .dg-newsbox / .dg-news-row / __* - お知らせ一覧行
 * .dg-recruit / __*                      - トップ 採用情報 分割帯
 * .dg-form / __* / .dg-req / .dg-opt / .dg-note / .dg-sent - お問い合わせフォーム
 * .dg-article / __*                      - お知らせ詳細
 * .dg-footer / __*                       - 赤フッター
 *
 * ======================================
 * 共通SCSSに不足していたもの
 * ======================================
 *
 * ・構造不足：写真の上にグラデ＋番号＋タイトルが載る2:1可変の事業バナー（card-bnrは想定列・比率が異なる）
 * ・構造不足：左赤帯／右写真を画面端まで割る採用分割帯（footer-cta等では再現不可）
 * ・装飾パターン不足：左に-24pxはみ出す赤いラベルバッジ（強み画像）
 * ・値の粒度不足：余白104/96/80px・画像高さ380/420px・見出しclamp値が共通utilityの刻みに無い
 * ・配色：claude-design-output 固有の細かな配色（#FFDAC4/#FFF8F3/#FAF6F2/#EFE7E0 等）はsite側で指定
 */

/* アンカー遷移時、固定ヘッダーの下に隠れないようオフセットを確保 */
html{scroll-padding-top:90px;}

/* ============================ Top bar（黒帯：上部の連絡先・営業時間） ============================ */
.dg-topbar{background:#1a1a1a;color:#fff;}
.dg-topbar__inner{max-width:1280px;margin:0 auto;padding:8px 32px;display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;}
.dg-topbar__lead{margin:0;font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;}
.dg-topbar__contact{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.dg-topbar__hours{font-size:11.5px;color:rgba(255,255,255,.72);letter-spacing:.02em;}

/* ============================ Header ============================ */
.dg-header{position:sticky;top:0;z-index:50;background:#FEFEFE;border-bottom:1px solid #ECE7E2;}
.dg-header__inner{max-width:1280px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.dg-logo{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:23px;letter-spacing:.04em;color:#1a1a1a;text-decoration:none;flex:none;}
.dg-logo:hover{opacity:1;}
.dg-nav{display:flex;align-items:center;gap:26px;flex:1;justify-content:center;flex-wrap:wrap;}
.dg-nav__link{font-size:15px;font-weight:700;color:#1a1a1a;text-decoration:none;padding:16px 2px;letter-spacing:.04em;border-bottom:3px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s;}
.dg-nav__link:hover{color:#E7370E;opacity:1;}
.dg-nav__link.is-active{color:#E7370E;border-bottom-color:#E7370E;}
.dg-header__right{display:flex;align-items:center;gap:18px;flex:none;}
.dg-header__tel{text-align:right;line-height:1.25;}
.dg-header__tel-num{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:20px;color:#E7370E;letter-spacing:.02em;white-space:nowrap;text-decoration:none;display:block;}
.dg-header__tel-num i{margin-right:6px;font-size:.82em;}
.dg-header__tel-num:hover{opacity:.8;}
.dg-header__tel-fax{font-size:10.5px;color:#8a8580;}
.dg-header__cta{background:#E7370E;color:#fff;font-weight:700;font-size:13.5px;padding:13px 22px;text-decoration:none;letter-spacing:.06em;white-space:nowrap;transition:background .25s;}
.dg-header__cta:hover{background:#C62E0A;opacity:1;}
.dg-spnav-tel{color:#fff;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:22px;text-decoration:none;}
.dg-spnav-tel i{margin-right:8px;font-size:.85em;}

/* ============================ Main visual ============================ */
/* CMSスライダーを邪魔しない最小限のラッパー。高さ・レイアウトは #main_slider（CMS）が自分で持つ。
   min-height は CMS の --swiper-wrapper-height(98vh) と一致させ、読込前後で高さが変わらない（ガタつき防止）ようにする。
   ※CMS側の高さ設定を変更した場合はこの 98vh も合わせること */
.dg-mv{position:relative;background:#161413;min-height:98vh;}
#slideshow{position:relative;width:100%;min-height:98vh;}
/* 以下は「HTMLでキャッチを重ねる」場合のみ使うレイヤー（既定はindex.php側でコメントアウト） */
.dg-mv__overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(95deg,rgba(20,16,15,.5) 0%,rgba(20,16,15,.18) 45%,rgba(20,16,15,0) 100%);}
.dg-mv__inner{position:absolute;inset:0;z-index:3;max-width:1180px;margin:0 auto;padding:0 32px;display:flex;flex-direction:column;justify-content:center;pointer-events:none;}
.dg-mv__inner a{pointer-events:auto;}
.dg-mv__img{width:100%;height:100%;object-fit:cover;display:block;}
.dg-mv__eyebrow{color:#fff;font-size:19px;font-weight:700;letter-spacing:.22em;margin:0 0 22px;align-self:flex-start;background:#E7370E;padding:8px 18px;}
.dg-mv__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;color:#fff;font-size:clamp(34px,5.4vw,62px);line-height:1.42;margin:0;letter-spacing:.04em;text-shadow:0 2px 24px rgba(0,0,0,.3);}
.dg-mv__lead{color:#fff;font-size:clamp(15px,1.6vw,18px);margin:30px 0 0;max-width:540px;line-height:1.95;opacity:.92;}

/* ============================ Page hero (下層) ============================ */
.dg-page-hero{padding:88px 0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.dg-page-hero__inner{max-width:1180px;margin:0 auto;padding:0 32px;}
.dg-page-hero__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(30px,4vw,46px);margin:0;letter-spacing:.04em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.3);}

/* ============================ Layout helpers ============================ */
.dg-inner{max-width:1180px;margin:0 auto;padding:0 32px;}
.dg-inner--narrow{/* max-width:860px; */}
.dg-inner--form{max-width:900px;}
.dg-inner--mid{max-width:980px;}
.dg-p104{padding:104px 0;}
.dg-p96{padding:96px 0;}
.dg-p80{padding:80px 0;}
.dg-pt0{padding-top:0;}
.dg-pb96{padding:0 0 96px;}
.dg-pb104{padding:0 0 104px;}
.dg-mb96{margin-bottom:96px;}
.dg-mt96{margin-top:96px;}

/* ============================ Headings & text ============================ */
.dg-h2{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(26px,3.2vw,34px);margin:0;letter-spacing:.02em;line-height:1.45;}
.dg-h2--lg{font-size:clamp(28px,3.6vw,42px);margin-bottom:30px;}
.dg-h2--mblg{margin-bottom:40px;}
.spbr{display:none;}
.dg-h2--greet{font-size:clamp(24px,3vw,34px);line-height:1.5;margin:0 0 28px;}
.dg-head-center{text-align:center;margin-bottom:56px;}
.dg-head-center--sm{margin-bottom:18px;}
.dg-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap;}
.dg-sec-head--flow{margin-bottom:46px;}
.dg-label{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.dg-label--mb34{margin-bottom:34px;}
.dg-label__bar{display:inline-block;width:3px;height:22px;background:#E7370E;}
.dg-label__text{color:#E7370E;font-weight:700;font-size:20px;letter-spacing:.08em;}
.dg-prose p{font-size:15.5px;color:#4a453f;line-height:1.95;margin:0 0 18px;}
.dg-prose p:last-child{margin-bottom:0;}
.dg-sign{font-size:14px;color:#8a8580;margin:28px 0 0;}
.dg-lead{font-size:17px;color:#3a352f;margin:0 0 48px;line-height:2;}

/* ============================ Buttons ============================ */
.dg-btn{display:inline-flex;align-items:center;gap:10px;background:#E7370E;color:#fff;font-weight:700;font-size:15px;padding:16px 38px;text-decoration:none;letter-spacing:.06em;border:none;cursor:pointer;font-family:inherit;transition:background .25s;}
.dg-btn .ar{display:inline-block;transition:transform .3s ease;}
.dg-btn:hover{background:#C62E0A;opacity:1;}
.dg-btn:hover .ar{transform:translateX(6px);}
.dg-btn--white{background:#fff;color:#E7370E;}
.dg-btn--white:hover{background:#fff;}
.dg-btn--lg{padding:18px 48px;}
.dg-btn--submit{padding:18px 64px;letter-spacing:.1em;font-size:16px;margin-top:8px;align-self:center;justify-content:center;}
.dg-btn-center{text-align:center;margin-top:48px;}
.dg-btn-outline{display:inline-block;border:1px solid #1a1a1a;color:#1a1a1a;font-weight:700;font-size:14px;padding:14px 40px;text-decoration:none;letter-spacing:.06em;transition:background .25s,color .25s;}
.dg-btn-outline:hover{background:#1a1a1a;color:#fff;opacity:1;}
.dg-arrowlink{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:#1a1a1a;text-decoration:none;border-bottom:2px solid #E7370E;padding-bottom:3px;}
.dg-arrowlink .ar{color:#E7370E;display:inline-block;transition:transform .3s ease;}
.dg-arrowlink:hover{opacity:1;}
.dg-arrowlink:hover .ar{transform:translateX(6px);}

/* ============================ 2-column (image + text) ============================ */
.dg-2col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.dg-2col--wideleft{grid-template-columns:1.05fr .95fr;gap:72px;}
.dg-img{width:100%;object-fit:cover;display:block;}
.dg-img--380{height:380px;}
.dg-img--400{height:400px;}
.dg-img--420{height:420px;}
/* 導入セクション 右下の背景写真（薄く配置） */
.dg-intro{position:relative;overflow:hidden;}
.dg-intro>.dg-inner{position:relative;z-index:1;}
.dg-intro::after{content:"";position:absolute;left:0;bottom:0;width:min(42%,460px);height:66%;background:url('https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28320/deigobk.png') no-repeat right bottom;background-size:contain;opacity:.3;pointer-events:none;z-index:0;transform:scaleX(-1);-webkit-mask-image:linear-gradient(to left,#000 50%,transparent 100%);mask-image:linear-gradient(to left,#000 50%,transparent 100%);}

/* ============================ 事業案内 写真カード（トップ） ============================ */
.dg-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.dg-svc-card{display:block;position:relative;height:320px;overflow:hidden;text-decoration:none;}
.dg-svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.dg-svc-card:hover img{transform:scale(1.07);}
.dg-svc-card:hover{opacity:1;}
/* 画像右下の角あしらい（三角形の背景・ベースカラー） */
.dg-svc-card::after{content:"";position:absolute;right:0;bottom:0;width:120px;height:120px;background:rgba(231,55,14,.4);clip-path:polygon(100% 0,0 100%,100% 100%);pointer-events:none;z-index:2;}
.dg-svc-card__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,15,.78),rgba(20,16,15,.05) 62%);pointer-events:none;}
.dg-svc-card__body{position:absolute;left:0;bottom:0;padding:30px;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.dg-svc-card__no{color:#FF9A52;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:28px;letter-spacing:.04em;line-height:1;flex:none;}
.dg-svc-card__title{color:#fff;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:21px;margin:0;letter-spacing:.02em;text-shadow:0 1px 14px rgba(0,0,0,.35);}

/* ============================ 業務案内 3列カード ============================ */
.dg-svc-no{display:block;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:26px;color:#E7370E;margin-bottom:8px;}
.dg-svc3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.dg-svc3__item{background:#fff;border:1px solid #EAE3DC;}
.dg-svc3__item img{width:100%;height:240px;object-fit:cover;display:block;}
.dg-svc3__body{padding:20px 32px 25px;}
.dg-svc3__no{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:24px;color:#E7370E;}
.dg-svc3__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:21px;margin:8px 0 14px;letter-spacing:.02em;}
.dg-svc3__text{font-size:14.5px;color:#6a655f;margin:0;}
/* 使用機器：最新デジタル機（K/L）＝全幅の横並びショーケース。画像と説明を左右に、説明は上下中央で揃え余白を出さない */
.dg-feat{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.dg-feat__row{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid #EAE3DC;overflow:hidden;}
.dg-feat__img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;}
.dg-feat__body{padding:20px 24px;display:flex;flex-direction:column;justify-content:center;}
.dg-feat__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:18px;margin:0;letter-spacing:.01em;line-height:1.45;}
.dg-feat__model{font-size:12.5px;font-weight:700;color:#E7370E;margin:8px 0 10px;letter-spacing:.01em;}
.dg-feat__text{font-size:13px;color:#6a655f;margin:0;line-height:1.85;}
/* 使用機器：区分見出し（最新デジタル印刷機／主要設備一覧） */
.dg-machines__cat{display:flex;align-items:center;gap:10px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:18px;color:#2a2622;margin:0 0 18px;letter-spacing:.03em;}
.dg-machines__cat::before{content:"";width:11px;height:11px;background:#E7370E;flex:none;}
.dg-machines__cat--mt{margin-top:52px;}
/* 使用機器：主要設備一覧グリッド（A〜P 全16台） */
.dg-machines{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.dg-machine{background:#fff;border:1px solid #EAE3DC;}
.dg-machine__img{width:100%;height:150px;object-fit:cover;display:block;}
.dg-machine__body{padding:12px 14px 14px;}
.dg-machine__type{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:14.5px;color:#2a2622;margin:0;line-height:1.5;}
.dg-machine__model{font-size:12.5px;color:#8a847d;margin:4px 0 0;line-height:1.5;}
/* 選ばれる理由：番号を廃し、中央に円形アイコン */
.dg-svc3--reason .dg-svc3__body{text-align:center;padding-top:34px;padding-bottom:34px;}
.dg-reason__icon{display:flex;align-items:center;justify-content:center;width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:#E7370E;color:#fff;font-size:30px;transition:transform .35s ease;}
.dg-svc3--reason .dg-svc3__item:hover .dg-reason__icon{transform:scale(1.15);}
.dg-svc3--reason .dg-svc3__text{text-align:left;}
/* タイトルと本文の間の切り取り線（ミシン目風の破線） */
.dg-reason__cut{height:2px;margin:2px 0 16px;background-image:repeating-linear-gradient(to right,#C7BBAE 0,#C7BBAE 9px,transparent 9px,transparent 15px);}

/* ============================ 強み（service） ============================ */
.dg-strength{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.dg-strength__imgwrap{position:relative;}
.dg-strength__badge{position:absolute;top:24px;left:-24px;background:#E7370E;color:#fff;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:20px;letter-spacing:.04em;padding:16px 28px;box-shadow:0 8px 24px rgba(231,55,14,.28);}
.dg-strength__list{display:flex;flex-direction:column;gap:36px;}
.dg-strength__item:not(:first-child){padding-top:34px;border-top:1px dotted #C9C2BA;}
.dg-strength__head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.dg-strength__icon{flex:none;width:30px;height:30px;background:#FFDAC4;display:flex;align-items:center;justify-content:center;}
.dg-strength__icon i{font-size:16px;color:#E7370E;}
.dg-strength__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:20px;margin:0;letter-spacing:.02em;}
.dg-strength__text{font-size:14.5px;color:#6a655f;margin:0;line-height:1.95;}
/* PC（2カラム時）：強みの画像をコンテンツの高さに合わせて伸縮 */
@media (min-width:901px){
  .dg-strength{align-items:stretch;}
  .dg-strength__imgwrap{height:100%;}
  .dg-strength__imgwrap .dg-img{height:100%;}
}

/* ============================ 採用情報 導入の画像あしらい ============================ */
.dg-mb0{margin-bottom:0;}
.dg-recruit-figure{position:relative;}
.dg-recruit-figure .dg-img{position:relative;z-index:1;}
.dg-recruit-figure::before{content:"";position:absolute;left:-20px;bottom:-20px;width:60%;height:66%;background:#FFDAC4;z-index:0;}
.dg-recruit-figure::after{content:"";position:absolute;right:0;bottom:0;width:110px;height:110px;background:rgba(231,55,14,.4);clip-path:polygon(100% 0,0 100%,100% 100%);z-index:2;pointer-events:none;}

/* ============================ 新聞折込チラシ（トップ） ============================ */
.dg-flyer-sec{background-color:#fff;background-image:linear-gradient(rgba(199,187,174,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(199,187,174,.1) 1px,transparent 1px);background-size:26px 26px;}
.dg-flyer__note{text-align:center;font-size:14px;color:#8a8580;margin:0 0 40px;}
.dg-flyer{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:1100px;margin:0 auto;}
.dg-flyer__item{position:relative;display:block;border:1px solid #EAE3DC;background:#fff;overflow:hidden;cursor:zoom-in;}
.dg-flyer__item img{width:100%;height:auto;display:block;transition:transform .5s ease;}
.dg-flyer__item:hover{opacity:1;}
.dg-flyer__item:hover img{transform:scale(1.03);}
.dg-flyer__cap{position:absolute;left:0;bottom:0;background:#E7370E;color:#fff;font-size:13px;font-weight:700;padding:6px 16px;letter-spacing:.08em;}

/* ============================ ライトボックス（拡大表示） ============================ */
.dg-lb{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(20,16,14,.9);padding:56px 20px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;}
.dg-lb.is-open{opacity:1;visibility:visible;}
.dg-lb__img{max-width:min(1100px,92vw);max-height:82vh;width:auto;height:auto;display:block;box-shadow:0 10px 40px rgba(0,0,0,.5);background:#fff;}
.dg-lb__cap{margin-top:16px;color:#fff;font-size:14px;letter-spacing:.06em;font-weight:700;}
.dg-lb__btn{position:absolute;top:0;bottom:0;width:64px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;opacity:.8;}
.dg-lb__btn:hover{opacity:1;}
.dg-lb__prev{left:0;}
.dg-lb__next{right:0;}
.dg-lb__close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer;opacity:.85;}
.dg-lb__close:hover{opacity:1;}
@media(max-width:600px){
  .dg-lb{padding:48px 8px;}
  .dg-lb__btn{width:44px;font-size:26px;}
  .dg-lb__img{max-height:74vh;}
}

/* ============================ トップ 6ステップフロー ============================ */
.dg-flow6{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.dg-flow6__line{position:absolute;top:30px;left:8%;right:8%;height:2px;background:#E0DAD3;z-index:0;}
.dg-flow6__item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.dg-flow6__circle{width:60px;height:60px;border-radius:50%;background:#E7370E;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:22px;border:5px solid #F4F2EF;}
.dg-flow6__label{font-size:14.5px;margin-top:16px;line-height:1.7;color:#1a1a1a;font-weight:500;}

/* ============================ ご利用の流れ 縦タイムライン ============================ */
.dg-timeline{position:relative;}
.dg-tl__item{position:relative;display:grid;grid-template-columns:76px 1fr;column-gap:28px;padding-bottom:44px;}
.dg-tl__item:last-child{padding-bottom:0;}
/* 工程をつなぐ縦の連結線（アイコンの下〜次のアイコンの上） */
.dg-tl__item:not(:last-child)::before{content:"";position:absolute;left:37px;top:76px;bottom:0;width:2px;background:#EAD9CC;}
.dg-tl__marker{position:relative;z-index:1;display:flex;justify-content:center;}
.dg-tl__icon{width:76px;height:76px;border-radius:50%;background:#FFDAC4;display:flex;align-items:center;justify-content:center;flex:none;}
.dg-tl__icon i{font-size:30px;color:#E7370E;}
.dg-tl__body{background:#F6F4F1;padding:22px 28px;}
.dg-tl__no{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;color:#E7370E;font-size:20px;letter-spacing:.08em;margin-right:12px;}
.dg-tl__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:700;font-size:21px;margin:0;letter-spacing:.02em;}
.dg-tl__desc{font-size:15px;color:#6a655f;margin:8px 0 0;line-height:1.95;}
.dg-tl__desc .sub{color:#8a8580;font-size:13.5px;}

/* ============================ よくある質問 ============================ */
.dg-faq{border-top:1px solid #EAE3DC;}
.dg-faq__item{border-bottom:1px solid #EAE3DC;padding:30px 4px;}
.dg-faq__q{display:flex;gap:18px;margin-bottom:14px;}
.dg-faq__q-mark{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;color:#E7370E;font-size:22px;flex:none;}
.dg-faq__q-text{font-size:17px;font-weight:700;color:#1a1a1a;padding-top:2px;}
.dg-faq__a{display:flex;gap:18px;}
.dg-faq__a-mark{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;color:#c9c4bf;font-size:22px;flex:none;}
.dg-faq__a-text{font-size:15px;color:#5a554f;padding-top:3px;}
.dg-faq__link{color:#E7370E;font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.dg-faq__link:hover{color:#C62E0A;opacity:1;}

/* ============================ 沿革 & テーブル ============================ */
.dg-history{border-top:1px solid #EAE3DC;}
.dg-history__row{display:flex;gap:40px;padding:24px 8px;border-bottom:1px solid #EAE3DC;flex-wrap:wrap;}
.dg-history__year{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:18px;color:#1a1a1a;min-width:90px;}
.dg-history__text{font-size:15.5px;color:#3a352f;}
.dg-table{width:100%;border-collapse:collapse;font-size:15px;}
.dg-table tr{border-bottom:1px solid #EAE3DC;}
.dg-table tr:first-child{border-top:1px solid #EAE3DC;}
.dg-table th{text-align:left;padding:20px 24px;background:#FAF6F2;font-weight:700;vertical-align:top;width:220px;}
.dg-table--recruit th{width:180px;}
.dg-table td{padding:20px 24px;color:#3a352f;}
.dg-map{width:100%;height:420px;border:1px solid #EAE3DC;display:block;}

/* ============================ お知らせ一覧 ============================ */
.dg-news-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:56px;align-items:start;}
.dg-news-layout__head{display:flex;flex-direction:column;align-items:flex-start;}
.dg-news-layout__link{margin-top:22px;}
#cms-blog-entry-list-1-area{display:block;}
.dg-newsbox{max-height:210px;overflow-y:auto;}
.dg-newsbox .dg-news-row{padding:20px 6px;border-bottom:1px dotted #C9C2BA;}
.dg-newsbox::-webkit-scrollbar{width:6px;}
.dg-newsbox::-webkit-scrollbar-track{background:transparent;}
.dg-newsbox::-webkit-scrollbar-thumb{background:#C9C2BA;border-radius:3px;}
.dg-news-list{border-top:1px solid #EAE3DC;}
.dg-news-list .dg-news-row{padding:26px 8px;border-bottom:1px solid #EAE3DC;}
.dg-news-row{display:flex;align-items:center;gap:28px;text-decoration:none;flex-wrap:wrap;transition:background .2s;}
.dg-news-row:hover{opacity:1;background:rgba(231,55,14,.025);}
.dg-news-row__date{font-size:13px;color:#8a8580;font-weight:500;min-width:88px;letter-spacing:.04em;}
.dg-news-list .dg-news-row__date{min-width:92px;}
.dg-news-row__title{font-size:15.5px;color:#1a1a1a;font-weight:500;flex:1;}
.dg-news-list .dg-news-row__title{font-size:16px;}
.dg-news-row__arrow{color:#E7370E;font-weight:700;}
/* お知らせ一覧 ページャ（CMS出力 .pages を中央寄せ＆ボタン体裁に） */
.dg-news-list .pages{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:40px;flex-wrap:wrap;}
.dg-news-list .pages a{display:inline-flex;align-items:center;padding:11px 22px;border:1px solid #1a1a1a;color:#1a1a1a;font-size:14px;font-weight:700;text-decoration:none;letter-spacing:.04em;transition:background .25s,color .25s;}
.dg-news-list .pages a:hover{background:#1a1a1a;color:#fff;opacity:1;}
.dg-newsbox .pages{display:none;}

/* ============================ 月別アーカイブ（サイドバー） ============================ */
.dg-archive__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:18px;color:#1a1a1a;letter-spacing:.04em;padding-bottom:12px;margin-bottom:6px;border-bottom:2px solid #E7370E;}
#cms-blog-entry-month-1-area{display:block;}
.dg-archive__list a{display:block;padding:11px 4px;font-size:14px;color:#3a352f;text-decoration:none;border-bottom:1px dotted #C9C2BA;transition:color .2s;}
.dg-archive__list a:hover{color:#E7370E;opacity:1;}
.dg-archive__list li:last-child a{border-bottom:none;}

/* ============================ トップ 採用情報 帯 ============================ */
.dg-recruit{background:#E7370E;color:#fff;}
.dg-recruit__grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.dg-recruit__text{padding:104px 56px 104px max(32px, calc((100vw - 1180px) / 2));display:flex;flex-direction:column;justify-content:center;}
.dg-recruit__eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:26px;}
.dg-recruit__eyebrow .line{width:42px;height:1px;background:rgba(255,255,255,.7);}
.dg-recruit__eyebrow .txt{font-size:13px;font-weight:700;letter-spacing:.18em;color:#FFDAC4;}
.dg-recruit__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(30px,3.6vw,46px);margin:0 0 24px;letter-spacing:.02em;line-height:1.32;}
.dg-recruit__desc{font-size:15.5px;color:rgba(255,255,255,.92);margin:0 0 40px;max-width:460px;line-height:2;}
.dg-recruit__cta{align-self:flex-start;}
.dg-recruit__img{width:100%;height:100%;min-height:560px;object-fit:cover;display:block;}

/* ============================ お問い合わせフォーム ============================ */
.dg-form__tel-note{text-align:center;font-size:14px;color:#8a8580;margin:0 0 14px;}
.dg-note{text-align:center;font-size:12.5px;background:#FFF8F3;border:1px solid #F0DFD2;padding:10px 16px;margin:0 0 40px;color:#9a6a4e;}
.dg-sent{background:#FFF8F3;border:1px solid #E7370E;padding:28px;text-align:center;color:#1a1a1a;font-size:15px;}
.dg-form{display:flex;flex-direction:column;gap:22px;}
.dg-form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.dg-form label{display:block;}
.dg-form__label{display:block;font-size:13.5px;font-weight:700;margin-bottom:8px;}
.dg-req{color:#E7370E;}
.dg-opt{color:#8a8580;font-weight:500;}
.dg-form input,.dg-form textarea{width:100%;padding:14px 16px;border:1px solid #D8D0C8;background:#fff;font-size:15px;outline:none;font-family:inherit;}
.dg-form textarea{resize:vertical;}
.dg-form input:focus,.dg-form textarea:focus{border-color:#E7370E;}
/* お問い合わせフォームCMS：ラジオボタンの間隔を少し広げる（約2px） */
#cms-contact-1-1-area input[type="radio"]{margin:2px;}

/* ============================ お知らせ詳細 ============================ */
.dg-article__meta{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap;}
.dg-article__date{font-size:13px;color:#8a8580;font-weight:500;letter-spacing:.04em;}
.dg-article__cat{font-size:12px;font-weight:700;color:#E7370E;letter-spacing:.06em;}
.dg-article__cat:empty{display:none;}
.dg-article__pager{margin-bottom:24px;}
.dg-article__pager:empty{display:none;}
.dg-article__title{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:25px;line-height:1.5;margin:0 0 36px;padding-bottom:20px;border-bottom:2px solid #1a1a1a;letter-spacing:.02em;}
.dg-article__body{font-size:16px;color:#3a352f;line-height:2.1;}
.dg-article__body p{margin:0 0 22px;}
.dg-article__back{margin-top:56px;text-align:center;}

/* ============================ Footer ============================ */
.dg-footer{background:#E7370E;color:#fff;}
.dg-footer__inner{max-width:1180px;margin:0 auto;padding:72px 32px 40px;display:grid;grid-template-columns:1.2fr 0.78fr 1.32fr;gap:48px;}
.dg-footer__name{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:23px;letter-spacing:.04em;margin-bottom:24px;}
.dg-footer__addr{font-size:13.5px;color:rgba(255,255,255,.88);line-height:1.9;margin:0 0 18px;}
.dg-footer__tel{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:21px;color:#fff;}
.dg-footer__fax{font-size:13px;color:rgba(255,255,255,.8);margin-top:4px;}
.dg-footer__hours{font-size:12.5px;color:rgba(255,255,255,.8);margin-top:14px;line-height:1.8;}
.dg-footer__nav{display:flex;flex-direction:column;gap:13px;}
.dg-footer__nav a{font-size:13.5px;color:rgba(255,255,255,.92);text-decoration:none;transition:opacity .2s;}
.dg-footer__nav a:hover{opacity:.7;}
.dg-footer__access-label{font-size:13px;font-weight:700;color:#FFDAC4;letter-spacing:.12em;margin-bottom:18px;}
.dg-footer__map iframe{width:100%;height:160px;border:0;display:block;}
.dg-footer__bottom{border-top:1px solid rgba(255,255,255,.22);}
.dg-footer__copy{max-width:1180px;margin:0 auto;padding:20px 32px;font-size:12px;color:rgba(255,255,255,.75);letter-spacing:.04em;}

/* ============================ スクロール演出（トップページ） ============================ */
.js .dg-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);}
.js .dg-reveal.is-visible{opacity:1;transform:none;}
.dg-reveal--d1{transition-delay:.1s;}
.dg-reveal--d2{transition-delay:.2s;}
.dg-reveal--d3{transition-delay:.3s;}
@media (prefers-reduced-motion:reduce){.js .dg-reveal{opacity:1;transform:none;transition:none;}}

/* ============================ Responsive ============================ */
@media (max-width:1100px){
  .dg-nav,.dg-header__right{display:none;}
  .dg-header__inner{padding:12px 18px;}
  /* ハンバーガー表示時はフッターナビを隠す（ナビはメニュー側で提供） */
  .dg-footer__nav{display:none;}
  .dg-footer__inner{grid-template-columns:1.2fr 1.32fr;}
}
@media (max-width:900px){
  .dg-2col,.dg-2col--wideleft,.dg-strength,.dg-recruit__grid{grid-template-columns:1fr;}
  .dg-news-layout{grid-template-columns:1fr;gap:28px;}
  .dg-2col,.dg-2col--wideleft{gap:36px;}
  .dg-strength{gap:40px;}
  .dg-svc3{grid-template-columns:1fr;}
  .dg-machines{grid-template-columns:repeat(3,1fr);}
  /* 最新デジタル機カード：モバイルは1カラム＋カード内も縦積み */
  .dg-feat{grid-template-columns:1fr;}
  .dg-feat__row{grid-template-columns:1fr;}
  .dg-feat__img{height:220px;min-height:0;}
  .dg-feat__body{padding:26px 24px;}
  .dg-recruit__text{padding:64px 28px;}
  .dg-recruit__img{min-height:320px;}
  /* ご利用の流れ：タブレットは3カラム＋横の連結線 */
  .dg-flow6{grid-template-columns:repeat(3,1fr);column-gap:20px;row-gap:40px;}
  .dg-flow6__line{display:none;}
  .dg-flow6__item::before{content:"";position:absolute;top:30px;left:50%;width:calc(100% + 20px);height:2px;background:#E0DAD3;z-index:0;}
  .dg-flow6__item:nth-child(3n+1)::before{display:none;}
  .dg-flow6__circle{position:relative;z-index:1;}
  .dg-form__row{grid-template-columns:1fr;}
  .dg-footer__inner{grid-template-columns:1fr;gap:36px;}
}
@media (max-width:640px){
  .dg-inner{padding:0 20px;}
  html{scroll-padding-top:70px;}
  .pcbr{display:none;}
  .spbr{display:inline;}
  .dg-machines{grid-template-columns:repeat(2,1fr);gap:8px;}
  .dg-machine__img{height:120px;}
  .dg-machine__type{font-size:13.5px;}
  .dg-machine__body{padding:12px 10px 14px;}
  .dg-feat__body{padding:20px 15px;}
  .dg-machines__cat--mt{margin-top:40px;}
  /* 黒帯：スマホは中央寄せ＋営業時間を折り返し表示 */
  .dg-topbar__inner{padding:8px 18px;gap:3px 14px;justify-content:center;text-align:center;}
  .dg-topbar__lead{width:100%;font-size:12px;}
  .dg-topbar__hours{width:100%;font-size:11px;line-height:1.6;}
  .dg-intro::after{opacity:.16;width:64%;}
  /* メインビュー：スマホで文字サイズを調整 */
  .dg-mv__eyebrow{font-size:14px;padding:6px 14px;letter-spacing:.16em;margin-bottom:18px;}
  .dg-mv__title{font-size:28px;}
  .dg-mv__lead{font-size:14px;margin-top:20px;line-height:1.85;}
  .dg-p104{padding:64px 0;}
  .dg-p96{padding:60px 0;}
  .dg-p80{padding:54px 0;}
  .dg-pb96{padding:0 0 60px;}
  .dg-pb104{padding:0 0 64px;}
  .dg-mb96{margin-bottom:60px;}
  .dg-mt96{margin-top:60px;}
  .dg-page-hero{padding:56px 0;}
  .dg-img--380,.dg-img--400,.dg-img--420{height:260px;}
  .dg-recruit-figure{margin-top:22px;}
  .dg-recruit-figure::before{left:-10px;bottom:-10px;}
  .dg-recruit-figure::after{width:84px;height:84px;}
  .dg-svc-grid{grid-template-columns:1fr;gap:16px;}
  .dg-svc-card{height:200px;}
  .dg-flyer{grid-template-columns:1fr;gap:20px;}
  .dg-flyer__note{margin-bottom:28px;}
  .dg-svc3__item img{height:220px;}
  /* ご利用の流れ（トップ）：スマホは1カラム＋縦の連結線（タブレット3カラムを上書き） */
  .dg-flow6{grid-template-columns:1fr;column-gap:0;row-gap:0;}
  .dg-flow6__item{flex-direction:row;align-items:center;text-align:left;gap:24px;padding:16px 0;}
  .dg-flow6__item::before{top:0;bottom:0;left:29px;width:2px;height:auto;}
  .dg-flow6__item:nth-child(3n+1)::before{display:block;}
  .dg-flow6__item:first-child::before{top:50%;}
  .dg-flow6__item:last-child::before{bottom:50%;}
  .dg-flow6__label{margin-top:0;text-align:left;line-height:1.6;}
  .dg-flow6__label br{display:none;}
  /* ご利用の流れページ：スマホはアイコンを小さく、連結線も追従 */
  .dg-tl__item{grid-template-columns:60px 1fr;column-gap:16px;padding-bottom:32px;}
  .dg-tl__item:not(:last-child)::before{left:29px;top:60px;}
  .dg-tl__icon{width:60px;height:60px;}
  .dg-tl__icon i{font-size:24px;}
  .dg-tl__body{padding:16px 18px;}
  .dg-tl__no{font-size:17px;margin-right:8px;}
  .dg-tl__title{font-size:18px;}
  .dg-tl__desc{font-size:13.5px;margin-top:6px;}
  .dg-table th{display:block;width:auto;padding:13px 16px 2px;}
  .dg-table td{display:block;padding:5px 16px 14px;}
  .dg-h2--greet{margin-bottom:16px;}
  .dg-history__row{gap:10px;}
  .dg-label--mb34{margin-bottom:22px;}
  .dg-sign{margin-top:20px;}
  .dg-map{height:300px;}
  /* お知らせ行：スマホは日付→タイトルの縦1カラム */
  .dg-news-row{flex-direction:column;align-items:flex-start;gap:5px;}
  .dg-news-row__date{min-width:0;}
  .dg-news-row__arrow{display:none;}
  .dg-newsbox{max-height:220px;}
  .dg-newsbox .dg-news-row{padding:15px 4px;}
  .dg-news-list .dg-news-row{padding:18px 6px;}
  .dg-btn--submit{padding:16px 40px;}
  .dg-article__title{font-size:21px;padding-bottom:20px;margin-bottom:28px;}
  .dg-note{text-align:center;font-size:12px;}
}
