@charset "UTF-8";

/* ==========================================================================
   お知らせ詳細ページ 印刷用CSS
   読み込み: <link rel="stylesheet" href="/asset/css/print_news.css" media="print">
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 15mm 18mm;
}

@media print {
  /* ----------------------------------------------------------------------
     base
     画面用は html { font-size: 0.625vw } のため、用紙幅に依存しないよう固定する
     ---------------------------------------------------------------------- */
  html {
    width: auto;
    height: auto;
    font-size: 10px;
  }

  html,
  body {
    min-width: 0 !important;
    min-height: 0;
    background: #fff !important;
    overflow: visible !important;
  }

  body {
    color: #000;
    font-size: 10.5pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  main {
    display: block;
    width: auto;
  }

  /* ページ遷移アニメーション等で付与されるインラインスタイルを無効化 */
  #wrapper,
  #page,
  .js-page,
  #main,
  #contents {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
  }

  a {
    color: #000;
    text-decoration: none;
  }

  img {
    max-width: 100%;
  }

  /* ----------------------------------------------------------------------
     非表示要素
     ---------------------------------------------------------------------- */
  .p-background-noise,
  .l-header__main__fixed,
  .p-header > :not(.p-header__logo),
  .c-breadcrumb,
  .p-common-kv,
  .p-news-detail__back,
  .p-next-page-links,
  .l-footer {
    display: none !important;
  }

  /* ----------------------------------------------------------------------
     header（ロゴのみ表示）
     ---------------------------------------------------------------------- */
  .l-header__main {
    position: static !important;
    width: auto !important;
    transform: none !important;
  }

  .l-header__main .p-header {
    display: block;
    height: auto;
    padding: 0 0 4mm;
    margin-bottom: 8mm;
    border-bottom: 0.5pt solid #001df5;
  }

  .p-header__logo {
    display: inline-block;
  }

  .p-header__logo-inside {
    display: block;
    width: 32mm;
    height: auto;
  }

  /* ----------------------------------------------------------------------
     article
     ---------------------------------------------------------------------- */
  .l-common__sm {
    width: auto !important;
  }

  .p-news-detail {
    margin: 0 !important;
  }

  /* header */
  .p-news-detail__header {
    padding-bottom: 5mm;
    border-bottom: 0.5pt solid #ccc;
    break-after: avoid;
    page-break-after: avoid;
  }

  .p-news-detail__header-time {
    display: flex;
    gap: 4mm;
  }

  .p-news-detail__header-time .c-text__time,
  .p-news-detail__header-time .c-text__default {
    font-size: 9pt;
    line-height: 1.6;
    color: #444;
  }

  .p-news-detail__header-title {
    margin-top: 3mm;
    font-size: 18pt;
    line-height: 1.5;
    color: #000;
    text-align: center;
  }

  /* body */
  .p-news-detail__body {
    margin-top: 7mm;
  }

  .p-news-detail__body .c-text__sm-lh__lg-sp__lh__md {
    font-size: 10.5pt;
    line-height: 1.8;
    color: #000;
    orphans: 3;
    widows: 3;
  }

  .p-news-detail__body-lead {
    white-space: pre-line;
  }

  .p-news-detail__body-image {
    width: 75%;
    margin: 6mm auto 0;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .p-news-detail__body-image-inside {
    display: block;
    width: 100%;
    height: auto;
  }

  /* sections */
  .p-news-detail__body-sections {
    display: block;
    margin-top: 7mm;
  }

  .p-part__content.p-news-detail__body-section {
    padding: 5mm 7mm;
    margin-top: 4mm;
    background-color: #f1f5f6 !important;
    border: 0.5pt solid #dde3e5;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .p-news-detail__body-section:first-child {
    margin-top: 0;
  }

  .p-part__content__title {
    display: flex;
    align-items: center;
    gap: 3mm;
    margin-bottom: 2mm;
    break-after: avoid;
    page-break-after: avoid;
  }

  .p-part__content__title .c-decoration__circle {
    flex-shrink: 0;
    width: 3.5mm;
    height: 3.5mm;
    margin-top: 0;
    background-color: #001df5 !important;
  }

  .p-part__content__title-inside {
    font-size: 12pt;
    font-weight: 500;
    line-height: 1.5;
  }

  .p-news-detail__body-section-note {
    margin-top: 3mm;
  }

  /* list */
  .p-part__content-content-list {
    display: block;
    padding-top: 1mm;
  }

  .p-part__content-content-item {
    display: flex;
    gap: 3mm;
    padding-left: 1mm;
  }

  .p-part__content-content-item::before {
    flex-shrink: 0;
    width: 1.5mm;
    height: 1.5mm;
    margin-top: 2.9mm;
    background-color: #000 !important;
  }

  /* Google Map リンク：アイコンを消してURLを表示 */
  .p-news-detail__body-section-map-link {
    display: inline;
    height: auto;
    margin-left: 0;
  }

  .p-news-detail__body-section-map-link-icon {
    display: none;
  }

  .p-news-detail__body-section-map-link::after {
    content: "（地図：" attr(href) "）";
    display: block;
    font-size: 8.5pt;
    color: #444;
    word-break: break-all;
  }

  /* map */
  .p-news-detail__body-section-map {
    margin-top: 4mm;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .p-news-detail__body-section-map-inside {
    display: block;
    width: 100%;
    height: auto;
  }
}
