@charset "UTF-8";

/* 全ページ共通。PC用のレイアウトは base/style/k-style.css と共有する。 */
@media print {
  @page {
    size: A4 portrait;
    margin: 10mm;
  }

  html {
    width: auto;
    min-width: 0;
    overflow: visible !important;
    scroll-behavior: auto !important;
  }

  body {
    /* PC幅1366pxをA4の印刷可能幅190mm（約718px）に収める。 */
    width: 1366px !important;
    min-width: 1366px !important;
    margin: 0 !important;
    padding: 0 !important;
    zoom: 0.525;
    overflow: visible !important;
  }

  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    animation: none !important;
    transition: none !important;
  }

  .wrapper {
    overflow: visible !important;
    padding: 0 !important;
  }

  /* 追従ヘッダー・目次は元の場所で一度だけ印刷する。 */
  header,
  #fixnav,
  .index-stiky,
  .medical-page-layout .index-stiky {
    position: static !important;
    transform: none !important;
  }

  /* 紙面に重なる操作用UIは除外。診療時間・連絡先はヘッダーとフッターに残す。 */
  .openbtn,
  #g-nav,
  .pc-subnav,
  .sp-fixed-footer,
  .spfooternav__w,
  .index-pc-quick-actions,
  .index-pc-hours-panel,
  #side-buttons-wrapper,
  #side-panel,
  #page-top,
  #go_top,
  .fixed-logo,
  .progress-bar {
    display: none !important;
  }

  /* 印刷用紙のviewport幅に左右されないよう、PC幅1366px相当の値に固定。 */
  .pc-nav .pc-nav-main { gap: 23.22px; }
  .index-pc-header-contact { gap: 54.64px; }
  .index-pc-header-hours { font-size: 14.343px; }
  .index-pc-header-tel { font-size: 33.467px; }
  .top-medical-menu-card__label { font-size: 19px; }

  /* フェードイン前の本文も印刷する（画像切替部分には適用しない）。 */
  .box,
  .fadeUp,
  .delayScroll > *,
  [data-sr-id],
  .doctor-content-section {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .doctor-content-section,
  .content-after-doctor {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    height: auto !important;
  }

  /* Swiperは印刷開始時の1枚だけ。非表示スライドの横幅・transformを持ち込まない。 */
  .swiper {
    overflow: hidden !important;
    break-inside: avoid;
  }

  .swiper-wrapper {
    display: block !important;
    height: auto !important;
    transform: none !important;
  }

  .swiper .swiper-slide {
    display: none !important;
  }

  .swiper[data-print-slider] .swiper-slide[data-print-current],
  .swiper:not([data-print-slider]) .swiper-slide-active,
  .swiper:not([data-print-slider]):not(.swiper-initialized) .swiper-slide:first-child {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* 特長紹介は印刷時だけ全項目を縦に並べ、各項目の写真と説明を一緒に印刷する。 */
  .feature_w {
    background-attachment: scroll !important;
    padding: 60px 0;
    break-inside: auto;
  }

  #sticky-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .story-container,
  .story-viewport,
  .story-stage {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
  }

  .story-stage {
    display: block !important;
    counter-reset: chapter;
  }

  .story-chapter {
    display: flex !important;
    position: relative !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .story-chapter + .story-chapter {
    margin-top: 60px;
  }

  /* 大きな本文全体を改ページ禁止にせず、写真・表・見出しの途中切れを抑える。 */
  header,
  .main-visual,
  .toprecruit__banner,
  .top-medical-menu-card,
  .medical-disease-item,
  .medical-step-list > li,
  .about-standards-block,
  .footer_main,
  .footer_bottom,
  figure,
  img,
  svg,
  iframe,
  table,
  tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .titlewrap01,
  .about-section-heading,
  .doctortitle01,
  .medical-disease-name {
    break-after: avoid;
    page-break-after: avoid;
  }

  p { orphans: 3; widows: 3; }

  .schedule-table-wrapper,
  .page-link-scroll {
    overflow: visible !important;
  }

  .alink {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
