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

/* ruiboros custom start */
:root {
  --ruiboros-paper: #f7f5f0;
  --ruiboros-ink: #24221f;
  --ruiboros-muted: #716c63;
  --ruiboros-line: #d8d0c2;
  --ruiboros-accent: #9e3d2f;
}

body,
#container,
.header-container,
.main,
.sidebar,
.footer {
  background: var(--ruiboros-paper);
  color: var(--ruiboros-ink);
}

body {
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, sans-serif;
  line-height: 1.85;
}

.site-name-text,
.entry-content h1,
.entry-content h2,
.article h1,
.article h2 {
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.site-name-text {
  font-size: 22px;
}

.navi,
.navi-in > ul,
.footer-bottom {
  background: transparent;
}

.navi-in a,
.footer a {
  color: var(--ruiboros-muted);
}

.navi-in a:hover,
.footer a:hover {
  color: var(--ruiboros-accent);
  background: transparent;
}

.home.page .entry-title,
.home.page .date-tags,
.page .date-tags {
  display: none;
}

.content-in {
  max-width: 1040px;
  margin: 0 auto;
}

.main {
  border: 0;
  padding-top: 34px;
}

.entry-content > .wp-block-image:first-child {
  margin-top: 0;
  margin-bottom: 42px;
}

.entry-content > .wp-block-image:first-child img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  filter: saturate(.78) contrast(.94) brightness(1.03);
}

.entry-content h1 {
  margin-top: 0;
  font-size: clamp(40px, 7vw, 78px);
  line-height: 1.2;
}

.entry-content h2 {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.3;
}

.entry-content p {
  color: var(--ruiboros-muted);
}

.wp-block-column {
  border-top: 1px solid var(--ruiboros-line);
  padding-top: 20px;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--ruiboros-ink);
  color: var(--ruiboros-ink);
  border-radius: 0;
  background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: var(--ruiboros-paper);
  background: var(--ruiboros-ink);
}

.affiliate-disclosure {
  margin-top: 42px;
  padding-top: 16px;
  border-top: 1px solid var(--ruiboros-line);
  font-size: 13px;
}

@media screen and (max-width: 834px) {
  .main {
    padding: 24px 14px 0;
  }

  .entry-content h1 {
    font-size: clamp(38px, 13vw, 56px);
  }
}
/* ruiboros custom end */

/* ruiboros quiet Cocoon overrides */
.sns-share,
.sns-follow,
.sns-share-buttons,
.sns-follow-buttons,
.toc,
.sidebar,
.breadcrumb,
.article-footer,
.author-info,
.related-entry-heading,
.related-entry-content,
.related-list,
.pager-post-navi {
  display: none !important;
}

.content-in {
  display: block;
}

.main {
  width: 100% !important;
  max-width: 1040px;
  margin: 0 auto;
}

.entry-content h2,
.article h2 {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.wp-block-columns {
  gap: 28px;
}

.wp-block-column {
  background: transparent !important;
}

.footer-bottom-logo,
.logo-footer {
  font-family: Georgia, "Times New Roman", serif;
}

/* ruiboros final polish */
.mobile-menu-buttons,
.mobile-footer-menu-buttons,
.mobile-menu-buttons .menu-button,
.mobile-footer-menu-buttons .menu-button {
  display: none !important;
}

.entry-content h1 {
  max-width: 820px;
}

.ruiboros-hero {
  margin-bottom: 66px;
}

.ruiboros-lead {
  max-width: 780px;
  font-size: 18px;
}

.ruiboros-section {
  margin-top: 74px;
}

.ruiboros-section h2 {
  margin-bottom: 26px;
}

.ruiboros-featured-post {
  align-items: center !important;
  border-top: 1px solid var(--ruiboros-line);
  border-bottom: 1px solid var(--ruiboros-line);
  padding: 28px 0;
}

.ruiboros-featured-post .wp-block-column,
.ruiboros-topic-grid .wp-block-column {
  border-top: 0;
}

.ruiboros-featured-post figure {
  margin: 0;
}

.ruiboros-featured-post img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ruiboros-kicker {
  margin-bottom: 6px;
  color: var(--ruiboros-accent) !important;
  font-size: 13px;
}

.ruiboros-latest-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid var(--ruiboros-line);
  list-style: none !important;
}

.entry-content .ruiboros-latest-cards li {
  display: flex;
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 22px !important;
  border-bottom: 1px solid var(--ruiboros-line);
  flex-direction: column;
}

.ruiboros-latest-cards .wp-block-latest-posts__featured-image {
  float: none !important;
  margin: 0 0 16px !important;
}

.ruiboros-latest-cards .wp-block-latest-posts__featured-image a,
.ruiboros-latest-cards .wp-block-latest-posts__featured-image img {
  display: block;
  width: 100%;
}

.ruiboros-latest-cards .wp-block-latest-posts__featured-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.entry-content .ruiboros-latest-cards .wp-block-latest-posts__post-title {
  color: var(--ruiboros-ink) !important;
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.55;
  text-decoration: none;
}

.entry-content .ruiboros-latest-cards .wp-block-latest-posts__post-title:hover {
  color: var(--ruiboros-accent) !important;
}

.ruiboros-latest-cards .wp-block-latest-posts__post-date {
  margin-top: 8px;
  color: var(--ruiboros-muted);
  font-size: 13px;
}

.ruiboros-latest-cards .wp-block-latest-posts__post-excerpt {
  margin: 13px 0 0;
  color: var(--ruiboros-muted);
  font-size: 15px;
  line-height: 1.8;
}

.entry-content h3,
.article h3 {
  margin-top: 0;
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
}

.entry-content h3 a {
  color: var(--ruiboros-ink);
  text-decoration: none;
}

.entry-content h3 a:hover {
  color: var(--ruiboros-accent);
}

.ruiboros-topic-grid {
  gap: 22px;
}

.ruiboros-topic-grid .wp-block-column {
  min-height: 150px;
  padding: 20px 0 0;
  border-top: 1px solid var(--ruiboros-line);
}

.ruiboros-topic-link {
  margin-top: 10px;
  font-size: 14px;
}

.ruiboros-topic-link a {
  color: var(--ruiboros-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ruiboros-note {
  padding-top: 24px;
  border-top: 1px solid var(--ruiboros-line);
}

.comment-area {
  margin-top: 64px;
  padding-top: 28px;
  border-top: 1px solid var(--ruiboros-line);
}

.comment-area a {
  color: var(--ruiboros-accent);
}

.comment-form {
  margin-top: 18px;
}

.comment-form label {
  color: var(--ruiboros-muted);
  font-size: 14px;
}

.comment-title,
.reply-title {
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  letter-spacing: 0;
}

.comment-body,
.st-comment-body {
  border-top: 1px solid var(--ruiboros-line);
  padding-top: 18px;
}

.reply a {
  display: inline-block;
  margin-top: 8px;
  color: var(--ruiboros-accent);
  font-size: 14px;
}

.comment-form-comment textarea,
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
  border: 1px solid var(--ruiboros-line);
  background: #fffdf8;
}

.form-submit .submit {
  border: 1px solid var(--ruiboros-ink);
  border-radius: 0;
  background: transparent;
  color: var(--ruiboros-ink);
}

.form-submit .submit:hover {
  background: var(--ruiboros-ink);
  color: var(--ruiboros-paper);
}

@media screen and (max-width: 834px) {
  .entry-content h1 {
    max-width: 360px;
  }

  .ruiboros-section {
    margin-top: 54px;
  }

  .ruiboros-featured-post {
    padding: 22px 0;
  }

  .ruiboros-latest-cards {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding-top: 22px !important;
  }
}

/* ruiboros-product-cards:start */
.rbi-product-card{display:grid;grid-template-columns:clamp(118px,25%,180px) minmax(0,1fr);gap:1.15rem;margin:1.65em 0;padding:1rem;border:1px solid #d9e2dc;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(42,65,52,.08);overflow:hidden}
.rbi-product-card__visual{display:grid;place-items:center;min-height:150px;border-radius:12px;background:linear-gradient(145deg,#eef6f0,#d9eadf);color:#587761}
.rbi-product-card--lavender .rbi-product-card__visual{background:linear-gradient(145deg,#f5f0f8,#e3d8eb);color:#76538a}
.rbi-product-card--tara .rbi-product-card__visual{background:linear-gradient(145deg,#f1f7ed,#dcebd3);color:#4e7445}
.rbi-product-card--net .rbi-product-card__visual{background:linear-gradient(145deg,#f0f4f3,#d8e3e0);color:#4d6e67}
.rbi-product-card__visual svg{display:block;width:min(90%,180px);height:auto}
.rbi-product-card__body{align-self:center;min-width:0}
.rbi-product-card__eyebrow{margin:0 0 .25em;color:#66736b;font-size:.78em;font-weight:700;letter-spacing:.08em}
.rbi-product-card__title{margin:0;color:#2f3d35;font-size:1.22em;font-weight:750;line-height:1.4}
.rbi-product-card__copy{margin:.55em 0 .85em;color:#4f5a54;font-size:.94em;line-height:1.7}
.rbi-product-card__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.rbi-product-card__button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.65em .85em;border-radius:10px;color:#fff!important;font-size:.9em;font-weight:700;line-height:1.35;text-align:center;text-decoration:none!important;transition:filter .18s ease,transform .18s ease}
.rbi-product-card__button:hover{filter:brightness(.96);transform:translateY(-1px)}
.rbi-product-card__button--rakuten{background:#bf0000}
.rbi-product-card__button--yahoo{background:#6f2948}
.rbi-product-card__note{margin:.65em 0 0;color:#747c77;font-size:.76em;line-height:1.55}
.rbi-product-card__pixel{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
@media(max-width:620px){.rbi-product-card{grid-template-columns:1fr;gap:.85rem;padding:.85rem}.rbi-product-card__visual{min-height:124px}.rbi-product-card__visual svg{width:min(62%,150px)}.rbi-product-card__buttons{grid-template-columns:1fr}.rbi-product-card__button{min-height:48px;font-size:.94em}}
/* ruiboros-product-cards:end */
