/* =====================================================
   SWIT / FIXED PAGE CSS
===================================================== */


/* =====================================================
   FIXED PAGE / LAYOUT RESET
===================================================== */

/*
 * 固定ページではページ本文の開始位置を
 * Header直下からCSS側で管理する。
 *
 * トップページはtop.css側で管理するため除外する。
 */
body.page:not(.home) #content.l-content {
  padding-top: 0 !important;
}


body.page:not(.home) .l-mainContent {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


body.page:not(.home) .l-mainContent__inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


body.page:not(.home)
.l-mainContent__inner
> .post_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* =====================================================
   FIXED PAGE / HEADING RESET
===================================================== */

/*
 * 固定ページでは独自見出しクラスを使用する。
 * SWELL標準の見出し装飾は、明示したクラスだけ解除する。
 */
.post_content h1.site-page-title,
.post_content h2.site-section-title,
.post_content h3.site-sub-title {
  position: relative;

  margin-top: 0;
  margin-bottom: 0;

  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  color: var(--site-heading);

  font-weight: 700;

  box-shadow: none !important;
}


.post_content h1.site-page-title::before,
.post_content h1.site-page-title::after,
.post_content h2.site-section-title::before,
.post_content h2.site-section-title::after,
.post_content h3.site-sub-title::before,
.post_content h3.site-sub-title::after {
  display: none !important;

  content: none !important;
}


/* -----------------------------------------------------
   PAGE TITLE
----------------------------------------------------- */

.post_content h1.site-page-title {
  font-size: clamp(42px, 4.2vw, 56px) !important;

  line-height: 1.35 !important;
  letter-spacing: -.035em !important;
}


/* -----------------------------------------------------
   SECTION TITLE
----------------------------------------------------- */

.post_content h2.site-section-title {
  font-size: clamp(36px, 3.4vw, 44px) !important;

  line-height: 1.4 !important;
  letter-spacing: -.03em !important;
}


/* -----------------------------------------------------
   SUB TITLE
----------------------------------------------------- */

.post_content h3.site-sub-title {
  font-size: 24px !important;

  line-height: 1.55 !important;
  letter-spacing: -.015em !important;
}


/* =====================================================
   RESPONSIVE / <= 767px
===================================================== */

@media (max-width: 767px) {

  .post_content h1.site-page-title {
    font-size: clamp(34px, 9vw, 42px) !important;

    line-height: 1.4 !important;
  }


  .post_content h2.site-section-title {
    font-size: clamp(30px, 8vw, 34px) !important;

    line-height: 1.45 !important;
  }


  .post_content h3.site-sub-title {
    font-size: 22px !important;

    line-height: 1.55 !important;
  }

}
