@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.2
*/

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

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

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	  /* トップページ：装飾円による文字重なりを防止（2026-09） */
  .rn-hero > * {
    position: relative;
    z-index: 1;
  }
  .rn-hero::after {
    right: -145px;
    top: -110px;
    z-index: 0;
    opacity: .55;
    pointer-events: none;
  }
}

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


/* ==================================================
   RAKU NAVI Phase 1: 基本デザイン（2026-09）
   配色・本文・見出し・表・CTA・お問い合わせ
   ================================================== */
:root {
  --raku-bg: #FAF8F3;
  --raku-surface: #FFFFFF;
  --raku-text: #1F2923;
  --raku-muted: #5F675F;
  --raku-green: #2F5D50;
  --raku-brown: #8A6A4A;
  --raku-border: #E8E2D8;
}

body {
  background: var(--raku-bg);
  color: var(--raku-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

.header-container,
#header-container,
.navi {
  background: var(--raku-surface);
}

.header-container {
  border-bottom: 1px solid var(--raku-border);
}

.site-name-text {
  color: var(--raku-text);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .08em;
}

.tagline {
  color: var(--raku-muted);
}

.navi-in > ul > li > a {
  color: var(--raku-text);
  font-weight: 600;
}

.navi-in > ul > li > a:hover {
  background: var(--raku-bg);
  color: var(--raku-green);
}

.main,
.sidebar {
  background: var(--raku-surface);
  border: 1px solid var(--raku-border);
  box-shadow: none;
}

.article .entry-content {
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
  color: var(--raku-text);
  font-size: 17.5px;
  line-height: 1.9;
}

.entry-title {
  color: var(--raku-text);
  line-height: 1.45;
}

.entry-content h2 {
  margin-top: 3.2em;
  margin-bottom: 1.25em;
  padding: 0 0 .55em;
  border: 0;
  border-bottom: 2px solid var(--raku-green);
  background: transparent;
  color: var(--raku-text);
  line-height: 1.5;
}

.entry-content h3 {
  margin-top: 2.3em;
  margin-bottom: 1em;
  padding: .1em 0 .1em .8em;
  border: 0;
  border-left: 3px solid var(--raku-brown);
  background: transparent;
  color: var(--raku-text);
  line-height: 1.55;
}

.entry-content a {
  color: var(--raku-green);
  text-decoration-color: rgba(47, 93, 80, .45);
  text-underline-offset: .18em;
}

.breadcrumb,
.date-tags,
.entry-categories-tags {
  color: var(--raku-muted);
}

.entry-content .wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.entry-content table {
  border-color: var(--raku-border);
}

.entry-content table th {
  background: var(--raku-bg);
  color: var(--raku-text);
  font-weight: 700;
}

.entry-content table th,
.entry-content table td {
  padding: .75em .85em;
  border-color: var(--raku-border);
}

.entry-content .wp-block-button__link,
.entry-content a.raku-cta-button {
  min-height: 48px;
  padding: .8em 1.4em;
  border-radius: 7px;
  background: var(--raku-green) !important;
  color: #fff !important;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: none;
}

.entry-content .wp-block-button__link:hover,
.entry-content a.raku-cta-button:hover {
  background: #24493f !important;
  color: #fff !important;
}

/* お問い合わせページ */
body.page-id-297 .sns-share,
body.page-id-297 .sns-share-message,
body.page-id-297 .author-info,
body.page-id-297 .date-tags,
body.page-id-297 .ad-area,
body.page-id-297 .pager-post-navi {
  display: none;
}

body.page-id-297 .entry-title {
  margin-bottom: 1.2em;
}

.raku-contact-form {
  max-width: 640px;
  margin: 2.4em auto 0;
  padding: 28px;
  border: 1px solid var(--raku-border);
  border-radius: 8px;
  background: var(--raku-surface);
}

.raku-contact-form label {
  display: block;
  margin-bottom: 1.35em;
  color: var(--raku-text);
  font-weight: 700;
}

.raku-contact-form input[type="text"],
.raku-contact-form input[type="email"],
.raku-contact-form textarea {
  width: 100%;
  margin-top: .45em;
  padding: 11px 13px;
  border: 1px solid #d5d0c7;
  border-radius: 7px;
  background: #fff;
  color: var(--raku-text);
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
}

.raku-contact-form input[type="text"],
.raku-contact-form input[type="email"] {
  min-height: 48px;
}

.raku-contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

.raku-contact-form input:focus,
.raku-contact-form textarea:focus {
  border-color: var(--raku-green);
  outline: 2px solid rgba(47, 93, 80, .18);
  outline-offset: 1px;
}

.raku-required,
.raku-optional {
  display: inline-block;
  margin-left: .4em;
  padding: .1em .45em;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.5;
  vertical-align: .1em;
}

.raku-required {
  background: var(--raku-green);
  color: #fff;
}

.raku-optional {
  background: var(--raku-border);
  color: var(--raku-muted);
}

.raku-privacy-consent {
  margin: .3em 0 1.4em;
  font-size: 15px;
}

.raku-contact-form .wpcf7-submit {
  width: 100%;
  min-height: 50px;
  padding: .8em 1.2em;
  border: 0;
  border-radius: 7px;
  background: var(--raku-green);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.raku-contact-form .wpcf7-submit:hover {
  background: #24493f;
}

.raku-contact-form .wpcf7-submit:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.wpcf7 form .wpcf7-response-output {
  margin: 1.4em 0 0;
  padding: .8em 1em;
  border-radius: 6px;
}

/* スマートフォン */
@media screen and (max-width: 834px) {
  .main {
    padding-right: 20px;
    padding-left: 20px;
  }

  .article .entry-content {
    max-width: none;
    font-size: 17px;
    line-height: 1.9;
  }

  .entry-title {
    font-size: clamp(1.55rem, 6vw, 2rem);
  }

  .entry-content h2 {
    margin-top: 2.7em;
    font-size: 1.35em;
  }

  .entry-content h3 {
    font-size: 1.16em;
  }

  .entry-content .wp-block-table table {
    min-width: 620px;
  }
}

@media screen and (max-width: 480px) {
  .main {
    padding-right: 17px;
    padding-left: 17px;
  }

  .raku-contact-form {
    margin-top: 1.8em;
    padding: 20px 16px;
  }
}
@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.2
*/

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

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

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

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