/*
 * OFFICE MINE JOURNAL / stage 3
 * Dynamic cards and journal-category single posts only.
 */

/* Existing card design: make the complete card a single accessible link. */
.omv2-journal-card-link {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  color: inherit !important;
  text-decoration: none !important;
}

.omv2-journal-article-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(16, 169, 181, .12), rgba(255, 255, 255, .18)),
    #eef2f2;
  color: #7e8d94;
}

.omv2-journal-article-placeholder b {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", Georgia, serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .18em;
}

.omv2-journal-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 42px 24px;
  border: 1px solid rgba(21, 34, 49, .15);
  color: #718087;
  font-size: 13px;
  line-height: 1.9;
  text-align: center;
}

/* Category-scoped single post. No sidebar, canonical, or SEO settings are changed. */
.omv2-journal-single {
  --omv2-journal-cyan: #10a9b5;
  --omv2-journal-ink: #172027;
  --omv2-journal-muted: #718087;
  --omv2-journal-line: rgba(21, 34, 49, .16);
  overflow-x: clip;
  background: #fff;
  color: var(--omv2-journal-ink);
}

.omv2-journal-single .l-mainContent__inner,
.omv2-journal-single article.post,
.omv2-journal-single article.type-post {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

.omv2-journal-single .p-articleHead {
  margin-bottom: 0;
  padding: 74px 0 0;
  border: 0;
}

.omv2-journal-single .entry-header {
  margin-bottom: 36px;
  padding: 74px 0 30px;
  border-bottom: 1px solid var(--omv2-journal-line);
}

.omv2-journal-single .c-postTitle,
.omv2-journal-single .c-postTitle__ttl,
.omv2-journal-single .entry-title,
.omv2-journal-single .post-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--omv2-journal-ink) !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", Georgia, serif !important;
  font-size: clamp(30px, 3.4vw, 46px) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .015em !important;
  text-wrap: balance;
}

.omv2-journal-single .c-postTitle::before,
.omv2-journal-single .c-postTitle::after,
.omv2-journal-single .c-postTitle__ttl::before,
.omv2-journal-single .c-postTitle__ttl::after,
.omv2-journal-single .entry-title::before,
.omv2-journal-single .entry-title::after {
  display: none !important;
  content: none !important;
}

.omv2-journal-single .c-postTitle__date {
  display: none !important;
}

.omv2-journal-single .p-articleMetas,
.omv2-journal-single .entry-meta,
.omv2-journal-single .post-meta {
  margin-top: 18px !important;
  color: var(--omv2-journal-muted) !important;
  font-size: 11px !important;
  letter-spacing: .06em;
}

.omv2-journal-single .p-articleMetas.-top {
  margin: 18px 0 36px !important;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--omv2-journal-line);
}

.omv2-journal-single .p-articleMetas a,
.omv2-journal-single .entry-meta a,
.omv2-journal-single .post-meta a {
  color: var(--omv2-journal-muted) !important;
}

.omv2-journal-single .p-articleMetas .c-categoryList__link,
.omv2-journal-single .cat-links a {
  border: 0 !important;
  background: transparent !important;
  color: var(--omv2-journal-cyan) !important;
  box-shadow: none !important;
}

/* SWELL's duplicate thumbnail is hidden; the same WP featured image is placed below the title via the_content. */
.omv2-journal-single .p-articleThumb,
.omv2-journal-single .entry-header .post-thumbnail {
  display: none !important;
}

/* JOURNALでは記事末尾を専用導線で締め、SWELLの重複カテゴリ・共有・著者欄は表示しない。 */
.omv2-journal-single .p-articleFoot,
.omv2-journal-single .c-shareBtns.-bottom,
.omv2-journal-single .c-shareBtns.-fix,
.omv2-journal-single .l-articleBottom {
  display: none !important;
}

.omv2-journal-single .post_content,
.omv2-journal-single .entry-content {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
}

.omv2-journal-entry-featured {
  display: grid;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 58px !important;
  place-items: center;
  overflow: hidden;
  background: #f3f5f5;
}

.omv2-journal-entry-featured img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: contain;
}

.omv2-journal-entry-content {
  width: min(760px, 100%);
  margin: 0 auto;
  color: #29343a;
  font-size: 16px;
  line-height: 2.05;
  letter-spacing: .015em;
}

.omv2-journal-entry-content p {
  margin: 0 0 1.75em;
}

.omv2-journal-entry-content h2,
.omv2-journal-entry-content h3 {
  clear: both;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--omv2-journal-ink) !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", Georgia, serif !important;
  letter-spacing: .025em !important;
}

.omv2-journal-entry-content h2::before,
.omv2-journal-entry-content h2::after,
.omv2-journal-entry-content h3::before,
.omv2-journal-entry-content h3::after {
  display: none !important;
  content: none !important;
}

.omv2-journal-entry-content h2 {
  margin: 3.2em 0 1.35em !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--omv2-journal-line) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}

.omv2-journal-entry-content h2::after {
  display: block !important;
  width: 34px;
  height: 2px;
  margin-top: 14px;
  background: var(--omv2-journal-cyan);
  content: "" !important;
}

.omv2-journal-entry-content h3 {
  margin: 2.5em 0 1.1em !important;
  padding: 0 0 0 14px !important;
  border-left: 2px solid rgba(16, 169, 181, .72) !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
}

.omv2-journal-entry-content a {
  color: #118f9b;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.omv2-journal-entry-content blockquote {
  margin: 2.4em 0;
  padding: 22px 26px;
  border: 0;
  border-left: 2px solid rgba(16, 169, 181, .65);
  background: #f5fafb;
  color: #4d5b62;
}

.omv2-journal-entry-content ul,
.omv2-journal-entry-content ol {
  margin-bottom: 1.75em;
}

.omv2-journal-entry-content img {
  height: auto;
}

.omv2-journal-entry-footer {
  width: min(760px, 100%);
  margin: 76px auto 0;
  padding-top: 26px;
  border-top: 1px solid var(--omv2-journal-line);
}

.omv2-journal-back {
  display: inline-flex;
  align-items: center;
  padding: 7px 0;
  border-bottom: 1px solid rgba(16, 169, 181, .55);
  color: #118f9b !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-decoration: none !important;
}

.omv2-journal-entry-social {
  width: 100vw;
  max-width: none;
  margin: 86px 0 0 calc(50% - 50vw);
  overflow: hidden;
}

.omv2-journal-entry-social .omv2-social {
  border-top: 1px solid rgba(21, 34, 49, .08);
}

@media (hover: hover) and (pointer: fine) {
  .omv2-journal-back:hover {
    opacity: .7;
  }
}

@media (max-width: 680px) {
  .omv2-journal-single .p-articleHead,
  .omv2-journal-single .entry-header {
    padding-top: 48px;
  }

  .omv2-journal-single .p-articleHead {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .omv2-journal-single .entry-header {
    margin-bottom: 26px;
    padding-bottom: 22px;
  }

  .omv2-journal-single .c-postTitle,
  .omv2-journal-single .c-postTitle__ttl,
  .omv2-journal-single .entry-title,
  .omv2-journal-single .post-title {
    font-size: 28px !important;
    line-height: 1.55 !important;
  }

  .omv2-journal-single .p-articleMetas,
  .omv2-journal-single .entry-meta,
  .omv2-journal-single .post-meta {
    margin-top: 13px !important;
    font-size: 10px !important;
  }

  .omv2-journal-single .p-articleMetas.-top {
    margin: 13px 0 26px !important;
    padding-bottom: 21px;
  }

  .omv2-journal-entry-featured {
    margin-bottom: 38px !important;
  }

  .omv2-journal-entry-content {
    font-size: 15px;
    line-height: 2;
  }

  .omv2-journal-entry-content h2 {
    margin-top: 2.8em !important;
    padding-bottom: 11px !important;
    font-size: 22px !important;
  }

  .omv2-journal-entry-content h3 {
    margin-top: 2.3em !important;
    font-size: 18px !important;
  }

  .omv2-journal-entry-content blockquote {
    padding: 18px 17px;
  }

  .omv2-journal-entry-footer {
    margin-top: 58px;
    padding-top: 21px;
  }

  .omv2-journal-entry-social {
    margin-top: 64px;
  }
}
