/* =====================================================
   SWIT / JOURNAL PAGE CSS
===================================================== */


/* =====================================================
   JOURNAL HERO
===================================================== */

.post_content
.swell-block-fullWide.journal-hero {
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  background-color: var(--site-white);
}


.post_content
.swell-block-fullWide.journal-hero
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.journal-hero__inner {
  width: 100%;

  margin: 0 !important;
  padding: 80px 0 104px !important;
}


.journal-hero__inner
> .wp-block-group__inner-container {
  width: 100%;
  max-width: 840px !important;

  margin: 0 !important;
  padding: 0 !important;
}


.post_content
.journal-hero
h1.site-page-title.journal-hero__title {
  max-width: 760px;

  color: var(--site-heading) !important;

  font-size: clamp(44px, 4.4vw, 60px) !important;
  font-weight: 700 !important;

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

  text-wrap: balance;
}


.journal-hero__lead {
  max-width: 700px;

  margin-top: 32px !important;
  margin-bottom: 0 !important;

  color: var(--site-body);

  font-size: 16px;
  line-height: 2;
}


/* =====================================================
   JOURNAL CATEGORIES
===================================================== */

.post_content
.swell-block-fullWide.journal-categories {
  padding-top: var(--site-section-space) !important;
  padding-bottom: var(--site-section-space) !important;

  background-color: var(--site-surface);
}


.post_content
.swell-block-fullWide.journal-categories
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.journal-categories__inner,
.journal-categories__header,
.journal-categories__grid,
.journal-latest__inner,
.journal-latest__header,
.journal-latest__posts {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;
}


.journal-categories__inner
> .wp-block-group__inner-container,
.journal-categories__header
> .wp-block-group__inner-container,
.journal-latest__inner
> .wp-block-group__inner-container,
.journal-latest__header
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.post_content
.journal-categories
:is(h3, h4) {
  position: relative;

  margin-bottom: 0 !important;
  padding: 0 !important;

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

  background: transparent !important;

  color: var(--site-heading);

  box-shadow: none !important;
}


.post_content
.journal-categories
:is(h3, h4)::before,
.post_content
.journal-categories
:is(h3, h4)::after {
  display: none !important;

  content: none !important;
}


.journal-categories__header,
.journal-latest__header {
  max-width: 840px;
}


.journal-categories__lead,
.journal-latest__lead {
  max-width: 740px;

  margin-top: 28px !important;
  margin-bottom: 0 !important;

  color: var(--site-body);

  font-size: 16px;
  line-height: 2;
}


.journal-categories__grid {
  margin-top: 56px !important;
}


.journal-categories__grid
> .wp-block-group__inner-container {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border-top: 1px solid var(--site-border);
}


.journal-categories__item {
  width: 100%;
  height: 100%;

  margin: 0 !important;
  padding: 0 !important;

  border-bottom: 1px solid var(--site-border);
}


.journal-categories__item:nth-child(even) {
  border-left: 1px solid var(--site-border);
}


.journal-categories__item
> .wp-block-group__inner-container {
  width: 100%;
  max-width: none !important;
  height: 100%;

  margin: 0 !important;
  padding: 34px 36px 38px;
}


.journal-categories__keyword {
  margin: 0 !important;

  color: var(--site-primary);

  font-size: 11px;
  font-weight: 600;

  line-height: 1;
  letter-spacing: .1em;
}


.post_content
.journal-categories
.journal-categories__item-title {
  margin-top: 18px !important;

  font-size: 21px !important;
  font-weight: 700;

  line-height: 1.55 !important;
}


.journal-categories__item-text {
  margin-top: 14px !important;
  margin-bottom: 0 !important;

  color: var(--site-body);

  font-size: 14px;
  line-height: 1.9;
}


/* =====================================================
   JOURNAL LATEST
===================================================== */

.post_content
.swell-block-fullWide.journal-latest {
  padding-top: var(--site-section-space) !important;
  padding-bottom: var(--site-section-space) !important;

  background-color: var(--site-white);
}


.post_content
.swell-block-fullWide.journal-latest
> .swell-block-fullWide__inner {
  width: 100%;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.journal-latest__posts {
  margin-top: 56px !important;
}


/*
 * SWELLの投稿リストをjournal-latest__posts内に置く想定。
 * 投稿カードそのものはSWELL標準を活かし、
 * 外側の余白だけページ側で管理する。
 */
.journal-latest__posts
:is(.p-postList, .c-postThumb, .p-postListWrap) {
  margin-top: 0 !important;
}


/* =====================================================
   RESPONSIVE / <= 959px
===================================================== */

@media (max-width: 959px) {

  .journal-hero__inner {
    padding-top: 64px !important;
    padding-bottom: 80px !important;
  }


  .post_content
  .swell-block-fullWide.journal-categories,
  .post_content
  .swell-block-fullWide.journal-latest {
    padding-top: var(--site-section-space-tablet) !important;
    padding-bottom: var(--site-section-space-tablet) !important;
  }


  .journal-categories__grid,
  .journal-latest__posts {
    margin-top: 48px !important;
  }

}


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

@media (max-width: 767px) {

  .journal-hero__inner {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
  }


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

    line-height: 1.4 !important;
  }


  .journal-hero__lead,
  .journal-categories__lead,
  .journal-latest__lead {
    margin-top: 24px !important;

    font-size: 15px;
    line-height: 1.95;
  }


  .post_content
  .swell-block-fullWide.journal-categories,
  .post_content
  .swell-block-fullWide.journal-latest {
    padding-top: var(--site-section-space-mobile) !important;
    padding-bottom: var(--site-section-space-mobile) !important;
  }


  .journal-categories__grid,
  .journal-latest__posts {
    margin-top: 40px !important;
  }


  .journal-categories__grid
  > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }


  .journal-categories__item:nth-child(even) {
    border-left: 0;
  }


  .journal-categories__item
  > .wp-block-group__inner-container {
    padding: 28px 0;
  }


  .post_content
  .journal-categories
  .journal-categories__item-title {
    font-size: 19px !important;
  }

}
