@charset "utf-8";
/* ============================================================
  印刷スタイル
============================================================ */
@media print {
  /* 非表示：ナビ・装飾・操作UI */
  .site-header,
  .site-footer,
  .drawer,
  .drawer-overlay,
  .toggle,
  .privacy-back-nav,
  .skip-link,
  .content-hero__label,
  .news-filter,
  .splide-controls,
  .splide__arrows,
  .splide__pagination {
    display: none !important;
  }
  /* スクロール出現：未表示のまま印刷されないのを防ぐ */
  [data-reveal] {
    opacity: 1 !important;
    translate: none !important;
    transform: none !important;
  }
  /* お知らせ：フィルターで隠した項目も印刷 */
  .news__list li.is-hidden {
    display: list-item !important;
  }
  /* Splide：ループ用の複製スライドは印刷しない（詳細度をトップ用ルールより上げる） */
  .splide .splide__slide--clone,
  .splide__slide.splide__slide--clone {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  /* グラフ：アニメーション待ちでも表示（幅・色は事業案内ブロックでも指定） */
  .works-pie__donut {
    opacity: 1 !important;
    transform: none !important;
  }
  /* ============================================================
   トップページ（index.html）— スクロール演出の解除・コンパクト化
  ============================================================ */
  .top .global_wrap {
    min-height: auto !important;
  }
  .top .mv {
    position: static !important;
    overflow: visible !important;
    min-height: auto !important;
    padding-block-end: 0.5rem !important;
  }
  .top .mv__inner {
    padding-block: 1rem !important;
  }
  .top .mv-loops,
  .top .mv__scroll-indicator {
    display: none !important;
  }
  /* パララックス用の 100svh 余白を削除 */
  .top .company-image {
    margin-block-start: 0 !important;
    box-shadow: none !important;
  }
  .top .section {
    padding-block: 1.25rem !important;
  }
  /* 事業カード：2列のコンパクト一覧（全幅×7枚展開をやめる） */
  .top .services__splide {
    visibility: visible !important;
  }
  .top .services__splide,
  .top .services__splide .splide__track,
  .top .services__splide .splide__list {
    overflow: visible !important;
    height: auto !important;
    visibility: visible !important;
    transform: none !important;
  }
  .top .services__splide .splide__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
  .top .services__splide .splide__slide:not(.splide__slide--clone) {
    display: block !important;
    position: static !important;
    width: auto !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .top .services__splide .splide__slide--clone {
    display: none !important;
  }
  .top .service-card {
    aspect-ratio: unset !important;
    display: grid !important;
    grid-template-columns: 4.5rem 1fr !important;
    align-items: start !important;
    gap: 0.5rem !important;
    padding: 0.5rem !important;
    border: 1px solid #666 !important;
    border-radius: 0.25rem !important;
    break-inside: avoid;
  }
  .top .service-card::after {
    display: none !important;
  }
  .top .service-card__figure {
    position: static !important;
    width: 4.5rem !important;
    height: 4.5rem !important;
    margin: 0 !important;
  }
  .top .service-card__figure img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0.25rem !important;
  }
  .top .service-card__content {
    position: static !important;
    padding: 0 !important;
    background: none !important;
    color: #000 !important;
  }
  .top .service-card__title,
  .top .service-card__title a,
  .top .service-card__body,
  .top .service-card__tag {
    color: #000 !important;
  }
  .top .service-card__body {
    font-size: 0.7rem !important;
    line-height: 1.4 !important;
  }
  .company-access__map {
    overflow: visible !important;
  }
  /* ============================================================
   事業案内（service.html）
  ============================================================ */
  .service-section {
    padding-block: 1.25rem !important;
    break-inside: avoid;
  }
  .service-section__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .service-section__title,
  .service-section__lead,
  .service-section__body,
  .service-section__list-item,
  .works-section__heading,
  .works-chart__label {
    color: #000 !important;
  }
  .service-section:nth-child(even of .service-section) {
    background-color: #f5f5f5 !important;
  }
  .works-section {
    overflow: visible !important;
    padding-block: 1.5rem !important;
  }
  .works-section .section-deco-label {
    display: none !important;
  }
  .works-overview__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
  }
  .works-chart__track {
    background-color: #f0f0f0 !important;
    overflow: visible !important;
  }
  .works-chart__bar {
    width: var(--_bar-width, 0) !important;
    background-color: #0e388c !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .works-pie__donut {
    opacity: 1 !important;
    transform: none !important;
    background: conic-gradient(
        from 0deg at 50% 50%,
        #0e388c 0deg 252deg,
        #ffb300 252deg 352.8deg,
        #ccd6e8 352.8deg 360deg
      )
      !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .works-pie__donut::after {
    background-color: #fff !important;
  }
  .works-pie__swatch--1 {
    background-color: #0e388c !important;
  }
  .works-pie__swatch--3 {
    background-color: #ffb300 !important;
  }
  .works-pie__swatch--4 {
    background-color: #ccd6e8 !important;
  }
  .works-chart__pct,
  .works-stat__value {
    color: #0e388c !important;
  }
  /* 印刷用リセット（グラフ・背景色を壊さない） */
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }
  body {
    background: #fff !important;
    color: #000 !important;
  }
  /* コンテナの余白を印刷用に調整 */
  .container,
  .container__content {
    max-width: none;
    padding-inline: 0;
  }
  /* ページヒーロー：タイトルのみシンプルに */
  .page-hero {
    padding-block: 1.5rem 1rem;
    border-block-end: 2px solid #000;
    margin-block-end: 1.5rem;
  }
  .content-hero__heading {
    font-size: 1.5rem;
  }
  /* セクション区切り */
  .privacy-policy-section {
    padding-block: 0;
  }
  .privacy__data-list {
    gap: 1.5rem;
  }
  .privacy__data-item {
    padding-block-start: 1.5rem;
    border-block-start-color: #999;
    break-inside: avoid;
  }
  .privacy__data-item:first-child {
    padding-block-start: 0;
    border-block-start: none;
  }
  /* 見出し */
  .privacy__data-heading {
    font-size: 1rem;
    margin-block-end: 0.75rem;
  }
  .privacy__data-sub {
    margin-block-start: 1rem;
  }
  .privacy__data-sub + .privacy__data-sub {
    margin-block-start: 1rem;
    padding-block-start: 1rem;
    border-block-start-color: #ccc;
  }
  /* テーブル */
  .margin-training {
    break-inside: avoid;
  }
  .margin-training__table {
    width: 100%;
    font-size: 0.8rem;
  }
  .margin-training__table th {
    background: #eee !important;
    white-space: normal;
  }
  .margin-training__table th,
  .margin-training__table td {
    border: 1px solid #666 !important;
    padding: 0.4rem 0.6rem;
  }
  /* 統計カード（margin.html） */
  .margin-stats {
    gap: 0.75rem;
  }
  .margin-stat {
    border: 1px solid #999 !important;
    padding: 0.75rem 1rem;
    break-inside: avoid;
  }
  .margin-stat__value {
    font-size: 2rem;
  }
  .margin-stat--large .margin-stat__value {
    font-size: 2.5rem;
  }
  .margin-item {
    break-inside: avoid;
  }
  /* 注記・署名 */
  .privacy__meta {
    padding-block-start: 1rem;
  }
  .note-block p,
  .note-block li {
    font-size: 0.8rem;
  }
  /* リンクのURL非表示 */
  a[href]::after {
    content: none !important;
  }
}