@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){
  /*必要ならばここにコードを書く*/
}

/* === Professional readability layer 20260614 START === */
/* Professional readability layer for Cocoon articles */

:root {
  --fuku-ink: #20382d;
  --fuku-muted: #5b6f63;
  --fuku-green: #2f6b4a;
  --fuku-green-2: #5fa879;
  --fuku-line: #dfece4;
  --fuku-soft: #f7fbf8;
  --fuku-white: #ffffff;
  --fuku-shadow: 0 10px 28px rgba(34, 80, 55, .08);
}

body.public-page {
  background: #f6f9f6;
  color: var(--fuku-ink);
}

.article {
  border: 1px solid rgba(47, 107, 74, .10);
  border-radius: 14px;
  box-shadow: var(--fuku-shadow);
}

.article-header {
  margin-bottom: 2.2em;
}

.entry-title {
  color: var(--fuku-ink);
  line-height: 1.45;
  letter-spacing: 0;
}

.entry-content {
  color: #263b31;
}

.entry-content p {
  line-height: 1.95;
  margin-bottom: 1.65em;
}

.entry-content li {
  line-height: 1.85;
  margin-bottom: .45em;
}

.entry-content strong {
  color: #1f342b;
}

.marker-under {
  background: linear-gradient(transparent 62%, rgba(255, 231, 86, .72) 0);
  padding: 0 .03em;
  font-weight: 700;
}

.article .entry-content h2,
.article .entry-content h2.wp-block-heading {
  margin-top: 4em;
  margin-bottom: 1.35em;
  padding: 18px 22px;
  color: #214936;
  background: var(--fuku-soft) !important;
  border-left: 6px solid var(--fuku-green-2) !important;
  border-bottom: 1px solid var(--fuku-line) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 0 0 1px rgba(95, 168, 121, .10);
  line-height: 1.55;
  letter-spacing: 0;
}

.entry-content h3 {
  margin-top: 3em;
  margin-bottom: 1.15em;
  padding-bottom: .55em;
  color: #244d3a;
  border-bottom: 2px solid var(--fuku-line);
  line-height: 1.55;
  letter-spacing: 0;
}

.entry-content h4,
.entry-content h5,
.entry-content h6 {
  color: #2a5d42;
  line-height: 1.6;
  letter-spacing: 0;
}

.article .toc {
  background: var(--fuku-white);
  border: 1px solid var(--fuku-line) !important;
  border-top: 4px solid var(--fuku-green-2) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06) !important;
  padding: 22px 24px;
}

.toc-title {
  color: #2a5d42;
  font-weight: 700;
}

.toc-content {
  max-height: 560px;
  overflow-y: auto;
  padding-right: 8px;
}

.toc a {
  color: #315e47;
  text-decoration: none;
}

.toc a:hover {
  color: #1f6d45;
  text-decoration: underline;
}

.wp-block-table {
  overflow-x: auto;
  margin: 2.2em 0;
}

.entry-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--fuku-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--fuku-white);
  font-size: .96em;
}

.entry-content table th,
.entry-content table td {
  padding: 13px 15px;
  border-color: #e4eee8;
  vertical-align: top;
}

.entry-content table th {
  background: #eef8f2;
  color: #234b37;
  font-weight: 700;
}

.entry-content table tr:nth-child(even) td {
  background: #fbfdfb;
}

.blank-box,
.wp-block-cocoon-blocks-tabbox,
.wp-block-cocoon-blocks-icon-box,
.wp-block-cocoon-blocks-info-box,
.wp-block-cocoon-blocks-memo-box,
.wp-block-cocoon-blocks-blank-box {
  border-radius: 12px;
}

.faq-wrap {
  border: 1px solid #dcebe3;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(34, 80, 55, .06);
}

.faq-question-content {
  font-weight: 700;
  color: #244d3a;
}

.faq-question-label,
.faq-answer-label {
  border-radius: 999px;
  font-weight: 700;
}

.entry-content .blogcard-wrap {
  max-width: 720px !important;
  margin: 2.1em auto !important;
  border: 1px solid #dfe9e2 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .07) !important;
  overflow: hidden;
  transition: box-shadow .18s ease, transform .18s ease;
}

.entry-content .blogcard-wrap:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(34, 80, 55, .12);
}

.blogcard-title {
  color: #244d3a;
  line-height: 1.55;
  font-weight: 700;
}

.blogcard-snippet {
  color: var(--fuku-muted);
  line-height: 1.65;
}

.entry-content figure.wp-block-image {
  margin: 2.2em auto;
}

.entry-content figure.wp-block-image img {
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(34, 80, 55, .10);
}

.wp-caption-text,
.entry-content figcaption {
  color: var(--fuku-muted);
  font-size: .88em;
  line-height: 1.65;
  margin-top: .7em;
}

.sidebar .widget {
  border: 1px solid rgba(47, 107, 74, .12);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06);
  overflow: hidden;
}

.sidebar .widget h3 {
  letter-spacing: 0;
}

@media (max-width: 834px) {
  .article {
    border-radius: 0;
    box-shadow: none;
    border-left: 0;
    border-right: 0;
  }

  .entry-title {
    line-height: 1.5;
  }

  .entry-content p {
    line-height: 1.9;
    margin-bottom: 1.55em;
  }

  .entry-content h2 {
    margin-top: 3.2em;
    padding: 16px 17px;
    border-left-width: 5px;
  }

  .entry-content h3 {
    margin-top: 2.5em;
  }

  .toc {
    padding: 18px 17px;
    border-radius: 12px;
  }

  .toc-content {
    max-height: 52vh;
  }

  .blogcard-wrap {
    margin: 1.8em 0 !important;
  }

  .entry-content table {
    min-width: 640px;
  }
}
/* === Professional readability layer 20260614 END === */
