@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){
  /*必要ならばここにコードを書く*/
}
/* トップページのSNSボタン・日付・投稿者名を非表示 */
.home.page .sns-share,
.home.page .sns-follow,
.home.page .date-tags,
.home.page .author-info {
  display: none;
}

/* トップページの背景と文字 */
body.home {
  background: #f5f3ee;
  color: #303832;
}

.home #main {
  background: #fffefa;
  border-radius: 12px;
}

.home .entry-content {
  line-height: 1.9;
}

/* 大きな灰色帯を、緑のライン付き見出しに */
.home .entry-content h2 {
  background: transparent;
  color: #244b40;
  border: none;
  border-bottom: 1px solid #d8dfd6;
  border-left: 4px solid #244b40;
  border-radius: 0;
  padding: 10px 16px;
  margin-top: 48px;
  margin-bottom: 24px;
  box-shadow: none;
  font-size: 24px;
  line-height: 1.5;
}

/* 本文中のリンク */
.home .entry-content a {
  color: #285c4d;
  text-underline-offset: 4px;
}

/* スマートフォン用 */
@media screen and (max-width: 600px) {
  .home .entry-content h2 {
    font-size: 20px;
    margin-top: 36px;
    padding: 8px 12px;
  }
}

/* トップページの記事カードの幅 */
.home .sb-home-cards {
  max-width: 420px;
  margin: 24px 0 36px;
}

.home .sb-home-cards img {
  border-radius: 10px;
}

/* メイン画像を横長に整える */
.home .entry-content img.sb-home-hero {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 2;
  object-fit: cover;
  object-position: center;
  border-radius: 12px;
}

/* 冒頭のキャッチフレーズ */
.home .entry-content h2:first-of-type {
  border: none;
  padding: 0;
  margin-top: 28px;
  margin-bottom: 20px;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.6;
}

/* スマートフォンでは写真の高さを確保 */
@media screen and (max-width: 600px) {
  .home .entry-content img.sb-home-hero {
    aspect-ratio: 16 / 9;
  }
}
.home .site-name-text {
  color: #244b40;
}
/* サイト名を整える */
.home .site-name-text {
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* メニューを整える */
.home #navi {
  background-color: #fffefa;
  border-bottom: 1px solid #d8dfd6;
}

.home #navi a {
  color: #244b40;
  font-weight: 600;
}

.home #navi a:hover {
  background-color: #edf1e9;
}
/* スマートフォンのトップページ */
@media screen and (max-width: 600px) {
  .home #main {
    padding-top: 20px;
  }

  .home .entry-content h2:first-of-type {
    font-size: 24px;
    line-height: 1.6;
    margin-top: 24px;
  }
}
/* カテゴリーページの配色 */
body.category {
  background: #f5f3ee;
  color: #303832;
}

.category #main {
  background: #fffefa;
  border-radius: 12px;
}

.category .site-name-text {
  color: #244b40;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.category #navi {
  background: #fffefa;
  border-bottom: 1px solid #d8dfd6;
}

.category #navi a {
  color: #244b40;
  font-weight: 600;
}

/* カテゴリー名と記事タイトル */
.category .archive-title {
  color: #244b40;
  font-size: 24px;
}

.category .entry-card-title {
  color: #244b40;
}

.category .entry-card-thumb img {
  border-radius: 8px;
}
/* 記事ページの基本配色 */
body.single-post {
  background: #f5f3ee;
  color: #303832;
}

.single-post #main {
  background: #fffefa;
  border-radius: 12px;
}

.single-post .site-name-text {
  color: #244b40;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.single-post #navi {
  background: #fffefa;
  border-bottom: 1px solid #d8dfd6;
}

.single-post #navi a {
  color: #244b40;
  font-weight: 600;
}

/* 記事タイトルと画像 */
.single-post .entry-title {
  color: #244b40;
  line-height: 1.6;
}

.single-post .eye-catch img {
  border-radius: 10px;
}

/* 本文の見出し */
.single-post .entry-content {
  line-height: 1.9;
}

.single-post .entry-content h2 {
  background: transparent;
  color: #244b40;
  border: none;
  border-left: 4px solid #244b40;
  border-bottom: 1px solid #d8dfd6;
  padding: 10px 16px;
  box-shadow: none;
  font-size: 24px;
}

@media screen and (max-width: 600px) {
  .single-post .entry-title {
    font-size: 24px;
  }

  .single-post .entry-content h2 {
    font-size: 20px;
  }
}
/* 記事・カテゴリーのサイドバー */
.single-post #sidebar,
.category #sidebar {
  background: #fffefa;
  border-radius: 12px;
}

.single-post #sidebar .wp-block-heading,
.category #sidebar .wp-block-heading {
  background: transparent;
  color: #244b40;
  border: none;
  border-bottom: 1px solid #d8dfd6;
  padding: 10px 0;
  box-shadow: none;
}
/* トップ以外の固定ページ */
body.page:not(.home) {
  background: #f5f3ee;
  color: #303832;
}

.page:not(.home) #main,
.page:not(.home) #sidebar {
  background: #fffefa;
  border-radius: 12px;
}

.page:not(.home) .site-name-text {
  color: #244b40;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.page:not(.home) #navi {
  background: #fffefa;
  border-bottom: 1px solid #d8dfd6;
}

.page:not(.home) #navi a {
  color: #244b40;
  font-weight: 600;
}

.page:not(.home) .entry-title {
  color: #244b40;
  line-height: 1.6;
}

.page:not(.home) .entry-content {
  line-height: 1.9;
}

.page:not(.home) .entry-content h2 {
  background: transparent;
  color: #244b40;
  border: none;
  border-left: 4px solid #244b40;
  border-bottom: 1px solid #d8dfd6;
  padding: 10px 16px;
  box-shadow: none;
  font-size: 24px;
}

.page:not(.home) #sidebar .wp-block-heading {
  background: transparent;
  color: #244b40;
  border: none;
  border-bottom: 1px solid #d8dfd6;
  padding: 10px 0;
  box-shadow: none;
}

@media screen and (max-width: 600px) {
  .page:not(.home) .entry-title {
    font-size: 24px;
  }

  .page:not(.home) .entry-content h2 {
    font-size: 20px;
  }
}
/* トップページのカテゴリー紹介を2列に */
.home .sb-home-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  margin-top: 48px;
}

.home .sb-home-section {
  min-width: 0;
}

.home .entry-content .sb-home-grid h2 {
  margin: 0 0 24px;
  padding: 10px 16px;
  font-size: 24px;
  line-height: 1.5;
  border-left: 4px solid #244b40;
  border-bottom: 1px solid #d8dfd6;
}

.home .sb-home-grid .sb-home-cards {
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
}

@media screen and (max-width: 767px) {
  .home .sb-home-grid {
    grid-template-columns: 1fr;
    gap: 36px;
    margin-top: 36px;
  }

  .home .entry-content .sb-home-grid h2 {
    font-size: 20px;
  }
}
