@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-warm: #fff9ed;
  --fuku-warm-line: #ecd9b7;
  --fuku-warm-ink: #6b4b16;
  --fuku-white: #ffffff;
  --fuku-shadow: 0 10px 28px rgba(34, 80, 55, .08);
}

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

.header-container {
  background: #f8fbf9;
  box-shadow: 0 12px 30px rgba(34, 80, 55, .10);
}

#header {
  position: relative;
  overflow: hidden;
  min-height: 196px;
  background-position: left center !important;
  background-size: cover !important;
  isolation: isolate;
}

#header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .03) 0%, rgba(255, 255, 255, .18) 38%, rgba(248, 252, 250, .76) 100%),
    radial-gradient(circle at 18% 42%, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, 0) 42%);
  pointer-events: none;
}

#header::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 0;
  height: 1px;
  background: rgba(47, 107, 74, .16);
}

#header .header-in {
  position: relative;
  z-index: 1;
  min-height: 196px;
  padding: 34px 22px 38px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.logo-header {
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0;
  text-align: center;
}

.logo-header a,
.logo-text a,
.logo-text {
  color: #173328 !important;
  text-decoration: none;
}

.logo-header a.site-name,
.logo-header .site-name-text-link {
  display: inline-block;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #173328 !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
}

.logo-header a.site-name::before,
.logo-header .site-name-text-link::before {
  content: "法人胡蝶蘭の教科書";
  display: inline-block;
  color: #173328;
  font-size: clamp(1.46rem, 6vw, 2.28rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: .01em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
}

.tagline {
  margin: 0 0 14px !important;
  color: rgba(31, 59, 45, .84) !important;
  font-size: clamp(.82rem, 3.4vw, .98rem) !important;
  line-height: 1.55 !important;
  letter-spacing: 0;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .86);
}

#navi,
.navi {
  background: linear-gradient(90deg, #286342 0%, #347852 52%, #286342 100%) !important;
  box-shadow: 0 8px 18px rgba(22, 72, 45, .12);
}

.navi-in > ul > li > a {
  min-height: 46px;
  letter-spacing: 0;
  transition: background-color .18s ease, color .18s ease;
}

.navi-in > ul > li > a:hover {
  background: rgba(255, 255, 255, .10);
}

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

.article-header {
  margin-bottom: 2.4em;
  padding-bottom: .6em;
}

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

.article-header .date-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin: 1.1em 0 1.25em;
  color: #6c7e72;
  font-size: .88em;
  line-height: 1.5;
}

.article-header .post-date,
.article-header .post-update {
  display: inline-flex;
  align-items: center;
  gap: .35em;
}

.article-header .fa {
  color: #7d9788;
}

.eye-catch-wrap,
.eye-catch {
  border-radius: 14px;
}

.eye-catch-image,
.article-header .eye-catch img {
  border-radius: 14px !important;
  box-shadow: 0 14px 34px rgba(35, 62, 45, .10) !important;
}

.eye-catch .cat-label,
.eye-catch-wrap .cat-label {
  top: 12px;
  left: 12px;
  padding: 4px 11px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  background: rgba(48, 103, 72, .88);
  box-shadow: 0 6px 16px rgba(35, 62, 45, .14);
  color: #fff;
  font-size: .76em;
  font-weight: 700;
  line-height: 1.35;
}

.date-tags {
  color: var(--fuku-muted);
  letter-spacing: 0;
}

.cat-label {
  border-radius: 999px;
  padding: .32em .72em;
  font-weight: 700;
  letter-spacing: 0;
}

.eye-catch-wrap {
  margin-top: 1.8em;
  margin-bottom: 2em;
}

.eye-catch-wrap img {
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(34, 80, 55, .12);
}

.article-header .sns-share.ss-top {
  display: none !important;
}

.article-header .pr-label {
  margin: .9em 0 0;
  padding: .65em .9em;
  border: 1px solid #e4ece7;
  border-radius: 8px;
  background: #fbfdfc;
  color: #697a70;
  font-size: .86em;
  line-height: 1.5;
  text-align: center;
}

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

.entry-content p {
  line-height: 1.95;
  margin-bottom: 1.65em;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: auto-phrase;
}

.entry-content li {
  line-height: 1.85;
  margin-bottom: .45em;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: auto-phrase;
}

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

.marker-under {
  background: linear-gradient(transparent 68%, rgba(255, 232, 96, .54) 0) !important;
  padding: 0 .03em;
  font-weight: 680;
}

.article .entry-content h2,
.article .entry-content h2.wp-block-heading {
  margin-top: 4em;
  margin-bottom: 1.35em;
  padding: 18px 22px 18px 24px;
  color: #214936;
  background: linear-gradient(90deg, #edf8f2 0%, #f8fcfa 72%, #fff 100%) !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), 0 10px 24px rgba(34, 80, 55, .05);
  line-height: 1.55;
  letter-spacing: 0;
  scroll-margin-top: 90px;
}

.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;
  scroll-margin-top: 90px;
}

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

.entry-title,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.blogcard-title,
.entry-card-title,
.related-entry-card-title,
.faq-question-content {
  text-wrap: pretty;
  line-break: strict;
  word-break: auto-phrase;
}

.entry-content .reader-action-note,
.entry-content .toc-guidance-note {
  max-width: 720px;
  margin: 2.2em auto 1.45em;
  padding: 14px 18px;
  border: 1px solid #d6ebe2;
  border-radius: 12px;
  background: #f3faf8;
  color: #20382d;
  box-shadow: 0 6px 18px rgba(34, 80, 55, .05);
  font-size: 1.02em;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0;
  text-wrap: balance;
  line-break: strict;
  word-break: auto-phrase;
}

.entry-content .reader-action-note .marker-under,
.entry-content .toc-guidance-note .marker-under {
  background: linear-gradient(transparent 68%, rgba(255, 231, 86, .55) 0);
}

.entry-content > .wp-block-embed,
.entry-content > .video-container {
  max-width: 820px;
  margin: 2.2em auto 3em;
}

.entry-content .wp-block-embed-youtube,
.entry-content .video-container {
  padding: 10px;
  border: 1px solid #dfe9e2;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcf9 100%) !important;
  box-shadow: 0 10px 28px rgba(34, 80, 55, .09);
}

.entry-content .wp-block-embed-youtube .wp-block-embed__wrapper,
.entry-content .video-container {
  border-radius: 12px;
  overflow: hidden;
  background: #f8fcf9 !important;
}

.entry-content .wp-block-embed-youtube .wp-block-embed__wrapper {
  padding: 0 !important;
}

.entry-content .wp-block-embed-youtube .video-container {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px;
  background: transparent !important;
  box-shadow: none !important;
}

.entry-content .wp-block-embed-youtube .video {
  margin: 0 !important;
  border-radius: 12px;
}

.entry-content .wp-block-embed iframe,
.entry-content .video-container iframe {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 12px;
}

.entry-content p.has-text-align-center:has(+ .wp-block-embed-youtube) {
  max-width: 720px;
  margin: 2.3em auto 1.15em;
  padding: 13px 18px;
  border: 1px solid #d6ebe2;
  border-radius: 12px;
  background: #f3faf8;
  box-shadow: 0 6px 18px rgba(34, 80, 55, .05);
  font-weight: 700;
  line-height: 1.65;
  text-wrap: balance;
}

.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;
}

.article .toc::before {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fuku-green-2), #d8b25f);
}

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

.toc-content {
  max-height: 560px;
  overflow-y: auto;
  padding-right: 8px;
  scrollbar-color: #b7d4c3 #f1f7f3;
}

.toc a {
  color: #315e47;
  text-decoration: none;
  border-radius: 6px;
  transition: background-color .16s ease, color .16s ease;
}

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

.wp-block-table {
  overflow-x: auto;
  margin: 2.5em 0;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
}

.entry-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--fuku-line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--fuku-white);
  font-size: .96em;
  box-shadow: 0 10px 26px rgba(34, 80, 55, .06);
}

.entry-content table th,
.entry-content table td {
  padding: 14px 16px;
  border-color: #dfeae4;
  vertical-align: top;
  line-height: 1.72;
}

.entry-content table th {
  background: linear-gradient(180deg, #edf8f2 0%, #e8f3ed 100%);
  color: #214936;
  font-weight: 700;
  text-align: center;
}

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

.entry-content table tbody tr:hover td {
  background: #f6fbf8;
}

.entry-content table tbody td:first-child {
  color: #284b38;
  font-weight: 700;
  background: rgba(237, 248, 242, .54);
}

.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;
}

.entry-content ul.has-background,
.entry-content ol.has-background,
.entry-content .wp-block-list.has-background,
.entry-content .wp-block-group.has-background {
  margin: 1.8em 0;
  padding: 1.15em 1.35em 1.15em 2em;
  border: 1px solid #dfeee6;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .05);
}

.entry-content ul.has-background li,
.entry-content ol.has-background li,
.entry-content .wp-block-list.has-background li {
  margin: .45em 0;
  line-height: 1.78;
}

.entry-content .blank-box,
.entry-content .primary-box,
.entry-content .practical-check-box,
.entry-content .primary-practical-note,
.entry-content .wp-block-cocoon-blocks-tabbox,
.entry-content .wp-block-cocoon-blocks-icon-box,
.entry-content .wp-block-cocoon-blocks-info-box,
.entry-content .wp-block-cocoon-blocks-memo-box,
.entry-content .wp-block-cocoon-blocks-blank-box {
  margin: 1.85em 0;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .045);
}

.entry-content .faq-wrap {
  border: 1px solid #dcebe3 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 26px rgba(34, 80, 55, .065);
  overflow: hidden;
  background: #fffdf7 !important;
  margin: 1.85em 0;
}

.entry-content .faq-question {
  background: linear-gradient(180deg, #f7fbf8 0%, #eef7f1 100%);
}

.entry-content .faq-question,
.entry-content .faq-answer {
  gap: 13px;
  padding: 16px 18px;
}

.entry-content .faq-answer {
  border-top: 1px solid #e9f2ed;
  background: rgba(255, 255, 255, .7);
}

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

.entry-content .faq-answer-content {
  color: #3c4a41;
  line-height: 1.78;
}

.entry-content .faq-question-label,
.entry-content .faq-answer-label {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(34, 80, 55, .10);
  color: #fff !important;
  font-weight: 700;
  line-height: 1;
}

.entry-content .faq-question-label {
  background: #2f6b4a;
}

.entry-content .faq-answer-label {
  background: #6f8c78;
}

.wp-block-cocoon-blocks-blogcard,
.entry-content .blogcard-wrap {
  max-width: 720px !important;
  margin: 2.35em auto !important;
}

.entry-content .wp-block-cocoon-blocks-blogcard .blogcard-wrap,
.entry-content .blogcard-wrap {
  border: 1px solid #dfe9e2 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(34, 80, 55, .08) !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-content {
  padding-top: 2px;
}

.blogcard-thumbnail img,
.blogcard-thumb-image {
  border-radius: 10px;
  object-fit: cover;
}

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

.blogcard-footer {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #edf3ef;
}

.blogcard-domain,
.blogcard-date {
  color: #4c7c61;
}

.entry-content figure.wp-block-image {
  max-width: 880px;
  margin: 2.45em auto;
}

.entry-content figure.wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(34, 80, 55, .10);
}

.entry-content figure.wp-block-image[class*="infographic"],
.entry-content figure.wp-block-image:has(img[src*="infographic"]),
.entry-content figure.wp-block-image:has(img[data-src*="infographic"]) {
  max-width: 900px;
  margin: 3em auto;
  padding: 12px;
  border: 1px solid #dfe9e2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(34, 80, 55, .08);
}

.entry-content figure.wp-block-image[class*="infographic"] img,
.entry-content figure.wp-block-image:has(img[src*="infographic"]) img,
.entry-content figure.wp-block-image:has(img[data-src*="infographic"]) img {
  border-radius: 11px;
  box-shadow: none;
}

.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 !important;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06);
  overflow: hidden;
  margin-bottom: 24px;
}

.sidebar .widget h2,
.sidebar .widget h3,
.sidebar .widget-title {
  display: block;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #dfeee5;
  background: linear-gradient(90deg, #edf8f1 0%, #f8fcf9 100%) !important;
  letter-spacing: 0;
  color: #2e6a49 !important;
  font-size: 1rem !important;
  line-height: 1.45;
}

.sidebar .wp-block-search,
.sidebar .wp-block-latest-posts__list,
.sidebar .wp-block-categories-list {
  margin: 16px !important;
}

.sidebar .widget_search .wp-block-search {
  margin: 0 !important;
}

.sidebar .wp-block-search__label {
  display: block;
  margin: 0 0 16px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #dfeee5;
  background: linear-gradient(90deg, #edf8f1 0%, #f8fcf9 100%) !important;
  color: #2e6a49 !important;
  font-size: 1rem !important;
  font-weight: 700;
  line-height: 1.45;
}

.sidebar .wp-block-search__inside-wrapper {
  margin: 0 16px 16px;
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.sidebar .wp-block-latest-posts__list,
.sidebar .wp-block-categories-list {
  padding-left: 0;
  list-style: none;
}

.sidebar a {
  color: #2b6247;
  text-decoration: none;
  font-weight: 650;
  line-height: 1.6;
}

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

.sidebar .wp-block-latest-posts__list li,
.sidebar .wp-block-archives-list li,
.sidebar .wp-block-categories-list li {
  padding: .68em 0;
  border-bottom: 1px solid #edf3ef;
}

.sidebar .wp-block-latest-posts__list li:last-child,
.sidebar .wp-block-archives-list li:last-child,
.sidebar .wp-block-categories-list li:last-child {
  border-bottom: 0;
}

/* Keep the sidebar focused on discovery, not old blog metadata. */
.sidebar #block-4,
.sidebar #block-5 {
  display: none;
}

.wp-block-search__input {
  border: 1px solid #dfe9e2;
  border-radius: 8px;
}

.wp-block-search__button,
.search-submit {
  border-radius: 8px;
  background: #234936;
  color: #fff !important;
  transition: background-color .18s ease, transform .18s ease;
}

.wp-block-search__button .fa,
.search-submit .fa,
.wp-block-search__button svg,
.search-submit svg {
  color: #fff !important;
  fill: currentColor;
}

.wp-block-search__button:hover,
.search-submit:hover {
  background: #2f6b4a;
  transform: translateY(-1px);
}

.search-box.input-box {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 1.2em 0 2.2em;
}

.search-box.input-box .search-edit {
  flex: 1 1 auto;
  min-width: 0;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #dcebe2;
  border-radius: 10px;
  background: #fff;
}

.search-box.input-box .search-submit {
  position: static !important;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
}

.archive-title,
.list-title {
  border-left: 5px solid #7fc391;
  border-radius: 10px;
  background: #f3faf5;
  color: #2e6a49;
  box-shadow: inset 0 0 0 1px #e1efe6;
}

.article-footer {
  margin-top: 4em;
  padding-top: 2em;
  border-top: 1px solid var(--fuku-line);
}

.sns-share.ss-top {
  display: none;
}

.sns-share,
.sns-follow {
  margin: 2em 0;
}

.sns-share-message,
.sns-follow-message {
  color: var(--fuku-muted);
  letter-spacing: 0;
}

.sns-buttons {
  gap: 10px;
}

.sns-button {
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(34, 80, 55, .08);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.sns-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(34, 80, 55, .14);
  opacity: .94;
}

.pr-label {
  border-radius: 999px;
  background: #eef6f1;
  color: #5b6f63;
  border: 1px solid var(--fuku-line);
  font-size: .82em;
  letter-spacing: 0;
}

.wp-block-cocoon-blocks-info-box,
.primary-box,
.practical-check-box,
.primary-practical-note {
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06);
}

.entry-content .kumasaki-contextual-affiliate,
.entry-content .kumasaki-early-affiliate {
  max-width: 760px;
  margin: 2.8em auto;
  padding: 22px 24px;
  border: 1px solid var(--fuku-warm-line);
  border-left: 5px solid #d5a54b;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(255, 249, 237, .98) 100%),
    radial-gradient(circle at 96% 0%, rgba(216, 168, 79, .12) 0%, rgba(216, 168, 79, 0) 38%);
  box-shadow: 0 14px 34px rgba(118, 87, 28, .09);
}

.entry-content .kumasaki-contextual-affiliate p,
.entry-content .kumasaki-early-affiliate p {
  margin-bottom: 1.1em;
  color: #344338;
  line-height: 1.85;
}

.entry-content .kumasaki-contextual-affiliate p.has-text-align-center,
.entry-content .kumasaki-early-affiliate p.has-text-align-center {
  margin: 1.35em auto 1em;
  color: #263d31;
  font-size: 1.03em;
}

.article .entry-content .kumasaki-revenue-cta {
  max-width: 760px;
  margin: 3em auto .9em;
  padding: 15px 18px;
  border: 1px solid var(--fuku-warm-line);
  border-radius: 12px;
  background: linear-gradient(180deg, #fffdf8 0%, var(--fuku-warm) 100%);
  color: var(--fuku-warm-ink);
  box-shadow: 0 6px 18px rgba(118, 87, 28, .07);
  text-align: center;
  text-wrap: balance;
  font-weight: 700;
}

.article .entry-content .kumasaki-revenue-cta + p {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}

.article .entry-content .kumasaki-revenue-cta + p + p.has-text-align-center {
  max-width: 760px;
  margin: 1.1em auto .9em;
  color: #2d4b39;
}

.article .entry-content a[href*="a8.net"][rel="nofollow"] {
  display: block;
  max-width: 560px;
  margin: 1.2em auto 2.4em;
  padding: 11px;
  border: 1px solid #e6d4ad;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff 0%, #fffdf7 100%);
  box-shadow: 0 10px 26px rgba(118, 87, 28, .09);
  text-align: center;
}

.article .entry-content a[href*="a8.net"][rel="nofollow"] img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 10px;
}

.author-info {
  margin: 2.6em 0;
  padding: 22px 24px;
  border: 1px solid var(--fuku-line);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, #f8fbf9 100%);
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06);
}

.author-name {
  color: #244d3a;
  font-weight: 700;
  letter-spacing: 0;
}

.author-link a {
  color: #2b6247;
  text-decoration: none;
}

.author-link a:hover {
  text-decoration: underline;
}

.under-entry-content {
  margin-top: 3em;
}

.related-entries {
  margin-top: 3.6em;
}

.related-entry-heading {
  margin-bottom: 1.3em;
  color: #244d3a;
  letter-spacing: 0;
}

.related-entry-main-heading {
  border-left: 5px solid var(--fuku-green-2);
  padding-left: .8em;
}

.related-entry-card-wrap {
  border: 1px solid #dfe9e2 !important;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(34, 80, 55, .06);
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}

.related-entry-card-wrap:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(34, 80, 55, .11);
}

.related-entry-card-title {
  color: #244d3a;
  line-height: 1.55;
}

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

.pager-post-navi {
  margin: 3.4em 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pager-post-navi a {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  gap: 8px 13px;
  align-items: center;
  min-height: 118px;
  padding: 14px 15px !important;
  border: 1px solid #dfe9e2 !important;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(34, 80, 55, .06);
  transition: transform .18s ease, box-shadow .18s ease;
  text-decoration: none;
}

.pager-post-navi a:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(34, 80, 55, .11);
}

.prev-post-title,
.next-post-title {
  grid-column: 2;
  grid-row: 2;
  color: #244d3a;
  line-height: 1.55;
  font-weight: 700;
}

.pager-post-navi a::before {
  grid-column: 1 / -1;
  grid-row: 1;
  width: fit-content;
  padding: .18em .68em;
  border-radius: 999px;
  background: #eef7f2;
  color: #40755a;
  font-size: .82em;
  font-weight: 700;
  letter-spacing: 0;
}

.pager-post-navi .prev-post::before {
  content: "前の記事";
}

.pager-post-navi .next-post::before {
  content: "次の記事";
}

.pager-post-navi .card-thumb {
  grid-column: 1;
  grid-row: 2;
  width: 96px !important;
  height: 64px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 8px;
  background: #edf5f0;
}

.pager-post-navi .card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 8px;
}

.pager-post-navi .iconfont {
  display: none;
}

.breadcrumb {
  color: var(--fuku-muted);
  letter-spacing: 0;
}

.breadcrumb a {
  color: #2b6247;
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

/* This site is an editorial guide, so hide the old blog-style comment form. */
.comment-area {
  display: none;
}

.footer-container {
  margin-top: 4em;
  border-top: 1px solid var(--fuku-line);
  background: linear-gradient(180deg, #f4faf7 0%, #e8f4ed 100%) !important;
  color: #244d3a !important;
}

.footer a {
  color: #244d3a !important;
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

.navi-footer-in a {
  letter-spacing: 0;
  line-height: 1.65;
}

.footer .site-name-text {
  border: 1px solid #d7e8de;
  border-radius: 999px;
  background: rgba(255, 255, 255, .82) !important;
  padding: .18em .75em;
  color: #20382d;
}

.footer-bottom-content {
  color: #365946;
}

.footer .copyright {
  color: #587063;
  font-size: .92em;
}

.page-top {
  display: none !important;
}

.go-to-top-button {
  border-radius: 999px;
  background: #3f7d59;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .18);
}

.mobile-footer-menu-buttons {
  background: rgba(255, 255, 255, .96) !important;
  border-top: 1px solid var(--fuku-line) !important;
  box-shadow: 0 -8px 22px rgba(34, 80, 55, .08) !important;
  backdrop-filter: blur(10px);
}

.mobile-menu-buttons .menu-button {
  color: #244d3a !important;
  border-left: 1px solid #e5f0ea;
}

.mobile-menu-buttons .menu-button-in,
.mobile-menu-buttons .menu-caption,
.mobile-menu-buttons .menu-button-caption {
  color: #244d3a !important;
}

.mobile-menu-buttons .menu-button:hover {
  background: #eef6f1;
}

.mobile-menu-buttons .menu-button:first-child {
  border-left: 0;
}

.mobile-menu-buttons .menu-icon,
.mobile-menu-buttons .fa {
  color: #2f6b4a !important;
}

/* Archive/front-page card layout */
.list.ect-entry-card {
  display: grid;
  gap: 18px;
}

.entry-card-wrap {
  border: 1px solid #dfe9e2 !important;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(34, 80, 55, .06);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  margin-bottom: 18px;
}

.entry-card-wrap:hover {
  transform: translateY(-2px);
  border-color: #c9dfd0 !important;
  box-shadow: 0 14px 32px rgba(34, 80, 55, .12);
}

.entry-card {
  background: transparent;
  gap: 18px;
  align-items: center;
}

.entry-card-thumb {
  overflow: hidden;
  border-radius: 10px;
  background: #edf5f0;
}

.entry-card-thumb-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .22s ease;
}

.entry-card-wrap:hover .entry-card-thumb-image {
  transform: scale(1.025);
}

.entry-card-content {
  padding-top: .25em;
  min-width: 0;
}

.entry-card-title {
  color: #223d2f;
  line-height: 1.55;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: .6em;
}

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

.entry-card-meta,
.entry-card-info {
  color: #728277;
  letter-spacing: 0;
}

.entry-category,
.cat-label {
  background: #3f7d59;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .35);
}

.entry-card-thumb .cat-label {
  display: none;
}

.archive-title,
.list-title {
  color: #223d2f;
  letter-spacing: 0;
  text-wrap: balance;
}

.pagination {
  margin: 3em 0;
}

.pagination a,
.pagination span,
.pagination-next-link {
  border-radius: 999px !important;
  border: 1px solid #dfe9e2 !important;
  background: #fff;
  color: #2b6247;
  box-shadow: 0 6px 16px rgba(34, 80, 55, .06);
}

.pagination a:hover,
.pagination-next-link:hover {
  background: #2f6b4a;
  color: #fff;
  text-decoration: none;
}

.pagination .current {
  background: #2f6b4a;
  color: #fff;
}

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

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

  .header-container {
    box-shadow: none;
  }

  #navi,
  .navi {
    box-shadow: 0 6px 14px rgba(22, 72, 45, .12);
  }

  .entry-content p {
    line-height: 1.86;
    margin-bottom: 1.45em;
  }

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

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

  .entry-content .reader-action-note,
  .entry-content .toc-guidance-note,
  .entry-content p.has-text-align-center:has(+ .wp-block-embed-youtube) {
    margin: 1.8em 0 1.05em;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: .98em;
    line-height: 1.58;
  }

  .entry-content > .wp-block-embed,
  .entry-content > .video-container {
    margin: 1.8em 0 2.35em;
  }

  .entry-content .wp-block-embed-youtube,
  .entry-content .video-container {
    padding: 7px;
    border-radius: 12px;
  }

  .entry-content .wp-block-embed-youtube .wp-block-embed__wrapper,
  .entry-content .wp-block-embed iframe,
  .entry-content .video-container,
  .entry-content .video-container iframe {
    border-radius: 9px;
  }

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

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

  .wp-block-table {
    margin: 2em 0;
  }

  .entry-content ul.has-background,
  .entry-content ol.has-background,
  .entry-content .wp-block-list.has-background,
  .entry-content .wp-block-group.has-background {
    margin: 1.65em 0;
    padding: 1em 1.05em 1em 1.65em;
    border-radius: 10px;
  }

  .entry-content .blank-box,
  .entry-content .primary-box,
  .entry-content .practical-check-box,
  .entry-content .primary-practical-note,
  .entry-content .wp-block-cocoon-blocks-tabbox,
  .entry-content .wp-block-cocoon-blocks-icon-box,
  .entry-content .wp-block-cocoon-blocks-info-box,
  .entry-content .wp-block-cocoon-blocks-memo-box,
  .entry-content .wp-block-cocoon-blocks-blank-box {
    margin: 1.65em 0;
    border-radius: 10px;
  }

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

  .blogcard-snippet {
    display: none;
  }

  .entry-content table {
    min-width: 640px;
    font-size: .92em;
  }

  .entry-content table th,
  .entry-content table td {
    padding: 11px 12px;
  }

  .faq-wrap {
    margin: 1.35em 0;
    border-radius: 10px;
  }

  .faq-question,
  .faq-answer {
    padding: 12px 13px;
  }

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

  .entry-content figure.wp-block-image[class*="infographic"],
  .entry-content figure.wp-block-image:has(img[src*="infographic"]),
  .entry-content figure.wp-block-image:has(img[data-src*="infographic"]) {
    margin: 2.25em 0;
    padding: 7px;
    border-radius: 12px;
  }

  .entry-content figure.wp-block-image img {
    border-radius: 9px;
  }

  .entry-content .kumasaki-contextual-affiliate,
  .entry-content .kumasaki-early-affiliate {
    margin: 2.25em 0;
    padding: 16px 15px;
    border-left-width: 4px;
    border-radius: 12px;
  }

  .article .entry-content .kumasaki-revenue-cta {
    margin: 2.35em 0 .8em;
    padding: 12px 13px;
    border-radius: 10px;
    line-height: 1.6;
  }

  .article .entry-content a[href*="a8.net"][rel="nofollow"] {
    max-width: min(100%, 340px);
    margin: 1em auto 2em;
    padding: 9px;
    border-radius: 12px;
  }

  .article-footer {
    margin-top: 3em;
  }

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

  .pager-post-navi {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 2.8em 0;
  }

  .pager-post-navi a {
    grid-template-columns: 86px minmax(0, 1fr);
    min-height: 104px;
    padding: 12px 13px !important;
    border-radius: 11px;
  }

  .pager-post-navi .card-thumb {
    width: 86px !important;
    height: 58px !important;
  }

  .prev-post-title,
  .next-post-title {
    font-size: .96em;
    line-height: 1.55;
  }

  .related-entry-card-wrap {
    border-radius: 10px;
  }

  .list.ect-entry-card {
    gap: 14px;
  }

  .entry-card-wrap {
    border-radius: 12px;
    margin-bottom: 14px;
  }

  .entry-card {
    gap: 14px;
  }

  .entry-card-thumb {
    flex: 0 0 36%;
    max-width: 36%;
  }

  .entry-card-content {
    padding-top: 0;
  }

  .entry-card-title {
    font-size: 1.02em;
    line-height: 1.55;
    margin-bottom: .5em;
  }

  .entry-card-snippet {
    line-height: 1.6;
  }

  .entry-card-meta,
  .entry-card-info {
    font-size: .82em;
  }

  .entry-card-thumb .cat-label {
    max-width: calc(100% - 12px);
    font-size: .7em;
  }

  .mobile-menu-buttons .menu-button {
    font-size: .78em;
  }

  .mobile-menu-buttons .menu-icon,
  .mobile-menu-buttons .fa {
    font-size: 1.28em;
  }

  .mobile-footer-menu-buttons {
    padding-bottom: env(safe-area-inset-bottom);
  }
}
/* === Professional readability layer 20260614 END === */
