@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/*
 * 電キャリパス 共通読み物UI v1.0
 * Scope: body.dcp-reading-layout
 * Target: SEO記事 / 信頼系固定ページ
 * Excluded by body-class logic: front page / career-check
 *
 * Cocoon本体は変更しない。
 */

:root {
  --dcp-primary: #153b5b;
  --dcp-accent: #2b7fff;
  --dcp-text: #1f2937;
  --dcp-muted: #667085;
  --dcp-border: #dfe6ee;
  --dcp-soft: #f7f9fc;
  --dcp-soft-blue: #f4f8ff;
  --dcp-reading-width: 800px;
}

/* ===== Reading shell ===== */

body.dcp-reading-layout .article {
  color: var(--dcp-text);
}

body.dcp-reading-layout .entry-title,
body.dcp-reading-layout .date-tags,
body.dcp-reading-layout .entry-content,
body.dcp-reading-layout .entry-categories-tags {
  width: min(100%, var(--dcp-reading-width));
  margin-left: auto;
  margin-right: auto;
}

body.dcp-reading-layout .entry-title {
  margin-top: 28px;
  margin-bottom: 18px;
  padding: 0;
  color: var(--dcp-primary);
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0.01em;
}

body.dcp-reading-layout .date-tags {
  color: var(--dcp-muted);
  font-size: 0.875rem;
}

body.dcp-reading-layout .entry-content {
  margin-top: 32px;
  margin-bottom: 64px;
  color: var(--dcp-text);
  font-size: 17px;
  line-height: 1.95;
}

/* ===== Paragraphs / lists / links ===== */

body.dcp-reading-layout .entry-content > p {
  margin-top: 0;
  margin-bottom: 1.55em;
}

body.dcp-reading-layout .entry-content > ul,
body.dcp-reading-layout .entry-content > ol {
  margin-top: 0;
  margin-bottom: 1.7em;
  padding-left: 1.55em;
}

body.dcp-reading-layout .entry-content li + li {
  margin-top: 0.42em;
}

body.dcp-reading-layout .entry-content a {
  color: var(--dcp-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

body.dcp-reading-layout .entry-content a:hover {
  text-decoration-thickness: 2px;
}

/* ===== Cocoon heading reset + 電キャリパス typography ===== */

body.dcp-reading-layout .entry-content > h2,
body.dcp-reading-layout .entry-content > h3,
body.dcp-reading-layout .entry-content > h4 {
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dcp-reading-layout .entry-content > h2 {
  margin: 2.7em 0 1em;
  padding: 0 0 0.52em !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dcp-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dcp-primary) !important;
  font-size: clamp(1.45rem, 2.3vw, 1.75rem);
  font-weight: 700;
  line-height: 1.45;
}

body.dcp-reading-layout .entry-content > h3 {
  margin: 2.15em 0 0.85em;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dcp-primary) !important;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  font-weight: 700;
  line-height: 1.5;
}

body.dcp-reading-layout .entry-content > h4 {
  margin: 1.85em 0 0.7em;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dcp-text) !important;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.55;
}

body.dcp-reading-layout .entry-content > h2::before,
body.dcp-reading-layout .entry-content > h2::after,
body.dcp-reading-layout .entry-content > h3::before,
body.dcp-reading-layout .entry-content > h3::after,
body.dcp-reading-layout .entry-content > h4::before,
body.dcp-reading-layout .entry-content > h4::after {
  content: none !important;
  display: none !important;
}

/* ===== TOC ===== */

body.dcp-reading-layout .article .toc {
  margin: 36px auto 44px;
  padding: 20px 22px;
  border: 1px solid var(--dcp-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

body.dcp-reading-layout .article .toc-title {
  color: var(--dcp-primary);
  font-size: 1rem;
  font-weight: 700;
}

body.dcp-reading-layout .article .toc-content {
  color: var(--dcp-text);
}

body.dcp-reading-layout .article .toc a {
  color: var(--dcp-text);
}

body.dcp-reading-layout .article .toc a:hover {
  color: var(--dcp-accent);
}

/* ===== Tables ===== */

body.dcp-reading-layout .entry-content .wp-block-table {
  margin: 2em 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.dcp-reading-layout .entry-content table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border: 1px solid var(--dcp-border);
  font-size: 0.94em;
  line-height: 1.65;
}

body.dcp-reading-layout .entry-content th,
body.dcp-reading-layout .entry-content td {
  padding: 0.78em 0.9em;
  border: 1px solid var(--dcp-border);
  vertical-align: top;
}

body.dcp-reading-layout .entry-content th {
  background: var(--dcp-soft);
  color: var(--dcp-primary);
  font-weight: 700;
}

body.dcp-reading-layout .entry-content tr:nth-child(even) td {
  background: #fbfcfe;
}

/* ===== Quote / note ===== */

body.dcp-reading-layout .entry-content > blockquote {
  margin: 2em 0;
  padding: 1.1em 1.25em;
  border: 1px solid var(--dcp-border);
  border-left: 3px solid var(--dcp-primary);
  border-radius: 8px;
  background: var(--dcp-soft);
  color: var(--dcp-text);
  box-shadow: none;
}

/* Gutenberg Groupに「dcp-note」を付与した場合だけ使う補助ボックス */
body.dcp-reading-layout .entry-content .dcp-note {
  margin: 2em 0;
  padding: 18px 20px;
  border: 1px solid var(--dcp-border);
  border-radius: 10px;
  background: var(--dcp-soft-blue);
}

body.dcp-reading-layout .entry-content .dcp-note > :first-child {
  margin-top: 0;
}

body.dcp-reading-layout .entry-content .dcp-note > :last-child {
  margin-bottom: 0;
}

/* ===== CTA ===== */

body.dcp-reading-layout .entry-content .wp-block-button__link {
  min-height: 48px;
  padding: 0.8em 1.3em;
  border: 1px solid var(--dcp-accent);
  border-radius: 9px;
  background: var(--dcp-accent);
  color: #fff;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: none;
  transition: filter 0.18s ease, transform 0.18s ease;
}

body.dcp-reading-layout .entry-content .wp-block-button__link:hover {
  color: #fff;
  filter: brightness(0.94);
  transform: translateY(-1px);
}

/* ===== Focus ===== */

body.dcp-reading-layout a:focus-visible,
body.dcp-reading-layout button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--dcp-accent) 28%, transparent);
  outline-offset: 3px;
}

/* ===== Mobile ===== */

@media (max-width: 834px) {
  body.dcp-reading-layout .entry-title,
  body.dcp-reading-layout .date-tags,
  body.dcp-reading-layout .entry-content,
  body.dcp-reading-layout .entry-categories-tags {
    width: auto;
    margin-left: 18px;
    margin-right: 18px;
  }

  body.dcp-reading-layout .entry-title {
    margin-top: 20px;
    font-size: clamp(1.65rem, 7vw, 1.9rem);
  }

  body.dcp-reading-layout .entry-content {
    margin-top: 26px;
    margin-bottom: 48px;
    font-size: 16px;
    line-height: 1.9;
  }

  body.dcp-reading-layout .entry-content > h2 {
    margin-top: 2.35em;
    font-size: 1.42rem;
  }

  body.dcp-reading-layout .entry-content > h3 {
    margin-top: 1.95em;
    font-size: 1.22rem;
  }

  body.dcp-reading-layout .article .toc {
    margin-top: 28px;
    margin-bottom: 36px;
    padding: 17px 18px;
  }

  body.dcp-reading-layout .entry-content th,
  body.dcp-reading-layout .entry-content td {
    padding: 0.68em 0.72em;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dcp-reading-layout .entry-content .wp-block-button__link {
    transition: none;
  }
}

