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

/************************************
** 子テーマ用のスタイルを書く
************************************/

/************************************
Common
************************************/
:root {
  --min_w1: 320;
  --max_w1: 750;
  --container-width: 750;
  --color-primary: #a4c3b2;
}

@media screen and (min-width: 1024px) {
  :root {
    --min_w1: 1024;
    --max_w1: 1430;
    --container-width: 1920;
  }
}

/* 表示切替用 */
.sp-only {
  display: none;
}

.pc-only {
  display: block;
}

/************************************
Header
************************************/
.logo-image {
  padding-block: var(--sz-40) var(--sz-20);
}

.header-site-logo-image {
  width: var(--sz-82);
}

/* グローバルナビ */
#navi .navi-in a {
  font-size: var(--sz-20);
}

#navi .navi-in a:hover {
  background-color: #a4c3b2;
  color: #fff;
}

/************************************
Footer
************************************/
.footer {
  font-size: var(--sz-17);
  padding-block: var(--sz-55);
}

.footer-in {
  max-width: 1420px;
  width: 100%;
}

.footer-widgets {
  margin: 0;
  padding-block: var(--sz-30);
  border-bottom: 1px solid hsl(0deg 0% 100% / 30%);
}

.footer-left,
.footer-center,
.footer-right {
  padding: 0;
}

.footer-center {}

.footer-left img {
  background-color: #fff;
  width: var(--sz-84);
}

.footer .widget-footer-left {
  margin-bottom: var(--sz-15);

  &:last-child {
    margin-bottom: 0;
  }
}

.footer .widget_nav_menu {
  text-align: right;
  margin-bottom: 0;
}

.footer-title {
  font-size: var(--sz-20);
}

.footer .menu {
  font-size: var(--sz-17);

  a {
    padding: 0.2em 0;
    width: fit-content;
    margin-left: auto;
  }
}

#footer a:not(.sns-button):hover {
  color: var(--color-primary);
}

.footer-bottom {
  font-size: var(--sz-18);
  padding: 0;
  margin-top: var(--sz-30);
}

.navi-footer-in>.menu-footer li {
  border: none;
}

.navi-footer-in>.menu-footer li:last-child {
  border: none;
}

.navi-footer-in a {
  font-size: var(--sz-18);
}

/************************************
TOPページ用スタイル
************************************/

/* 余白調整 */
:where(.home) .content {
  margin-top: 0;
}

:where(.home) .main {
  padding: 0;
}

:where(.home) .entry-content {
  margin-block: 0;
}

:where(.home).body .article {
  margin-bottom: 0;
}

/* ボタン */
:where(.home) {
  .wp-block-button__link {
    color: #fff;
    background-color: #a4c3b2;
    border-radius: 0.5em;

    &:hover {
      color: #fff;
    }
  }
}

/* 見出し */
:where(.home) .article :is(h1, h2, h3, h4, h5, 6) {
  border: none;
  background-color: transparent;
}

/* Concept */
.concept {
  padding-block: var(--sz-70);

  .concept__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding-block: 0;
    margin-bottom: var(--sz-26);
  }

  .concept__lead {
    font-size: var(--sz-20);
    margin-bottom: var(--sz-56);
    line-height: 1.5;
  }

  .concept__video {
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    overflow: hidden;
    margin-bottom: var(--sz-76);

    .video-container {
      max-width: 1330px;
      margin: 0;

      .video {
        margin: 0;
      }
    }
  }

  .concept__list {
    max-width: 1430px;
    margin: 0 auto;
    gap: var(--sz-30);
  }

  .column-3 .concept__item {
    width: calc((100% - 2 * var(--sz-30)) / 3);
    background-color: #fff;
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    padding: var(--sz-45);
  }

  .concept__item-iocn {
    width: var(--sz-32);
    margin-bottom: var(--sz-40);
  }

  .concept__item-heading {
    color: var(--color-primary);
    font-size: var(--sz-24);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-24);
  }

  .concept__item-desc {
    font-size: var(--sz-20);
    line-height: 1.5;
  }
}

/* Profile */
.profile {
  padding-block: var(--sz-80);

  .profile__row {
    max-width: 1430px;
    gap: var(--sz-60);
  }

  .profile__col {
    width: calc((100% - var(--sz-60)) / 2);
  }

  .column-right {
    width: calc((100% - var(--sz-60)) / 2);
    background: url(../../../wp-content/themes/cocoon-child-master/assets/images/pc/pic-tea.png) no-repeat bottom right / var(--sz-280);
  }

  .profile__image {
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    overflow: hidden;

    img {
      width: 100%;
    }
  }

  .profile__heading {
    font-size: var(--sz-43);
    font-weight: bold;
    margin-bottom: var(--sz-20);
    padding: 0;
  }

  .profile__desc {
    font-size: var(--sz-20);
    line-height: 1.5;

    p {
      margin-bottom: 1.5em;
    }
  }
}

/* Events */
.events {
  background-image: linear-gradient(180deg, #ffffff, #fafafb);
  padding-block: var(--sz-80);

  .events__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .events__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-60);
  }

  .events__row {
    max-width: 1430px;
    gap: var(--sz-40);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .events__item {
    width: 100%;
    background-color: #fff;
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    padding: 0 var(--sz-30) var(--sz-30);
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
    overflow: hidden;
  }

  .events__item-image {
    margin: calc(-1 * var(--sz-30));
    margin-bottom: var(--sz-30);

    img {
      width: 100%;
    }
  }

  .events__item-heading {
    color: var(--color-primary);
    font-size: var(--sz-25);
    font-weight: bold;
    margin-bottom: var(--sz-20);
    padding: 0;
  }

  .events__item-desc {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-20);
  }

  .events__btn .wp-element-button {
    font-size: var(--sz-20);
    padding: 0.5em 1em;
  }
}

/* Products */
.products {
  padding-block: var(--sz-80);
  position: relative;

  &::before {
    content: "";
    background: url(../../../wp-content/themes/cocoon-child-master/assets/images/pc/pic-leaf1.png) no-repeat top left / contain;
    aspect-ratio: 215 / 145;
    width: var(--sz-215);
    position: absolute;
    top: var(--sz-40);
    left: calc(50% + var(--sz-250));
  }

  .products__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .products__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-60);
  }

  .products__list {
    max-width: 1430px;
    gap: var(--sz-30);
    margin-bottom: var(--sz-50);
  }

  .products__item {
    background-color: #fff;
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    overflow: hidden;
    width: calc((100% - 3 * var(--sz-30)) / 4);
  }

  .products__item-image {
    margin-bottom: 0;

    img {
      width: 100%;
    }
  }

  .products__item-btn {
    padding: var(--sz-25);

    .wp-block-button {
      width: 100%;
    }

    .wp-element-button {
      font-size: var(--sz-20);
      padding: 0.5em 1em;
      background-color: #D4D1AE;
    }
  }

  .products__btn {
    padding: var(--sz-25);

    .wp-block-button {
      width: var(--sz-232);
    }

    .wp-element-button {
      font-size: var(--sz-20);
      padding: 0.5em 1em;
    }
  }
}

/* Goods */
.goods {
  padding-block: var(--sz-80);
  position: relative;

  &::before {
    content: "";
    background: url(../../../wp-content/themes/cocoon-child-master/assets/images/pc/pic-leaf2.png) no-repeat top left / contain;
    aspect-ratio: 210 / 116;
    width: var(--sz-210);
    position: absolute;
    top: var(--sz-90);
    right: calc(50% + var(--sz-390));
  }

  .goods__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .goods__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-60);
  }

  .goods__list {
    max-width: 1430px;
    gap: var(--sz-30);
    margin-bottom: var(--sz-50);
  }

  .goods__item {
    background-color: #fff;
    box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
    border-radius: var(--sz-20);
    overflow: hidden;
    width: calc((100% - 3 * var(--sz-30)) / 4);
  }

  .goods__item-image {
    margin-bottom: 0;

    img {
      width: 100%;
    }
  }

  .goods__item-btn {
    padding: var(--sz-25);

    .wp-block-button {
      width: 100%;
    }

    .wp-element-button {
      font-size: var(--sz-20);
      padding: 0.5em 1em;
      background-color: #D4D1AE;
    }
  }

  .goods__btn {
    padding: var(--sz-25);

    .wp-block-button {
      width: var(--sz-232);
    }

    .wp-element-button {
      font-size: var(--sz-20);
      padding: 0.5em 1em;
    }
  }
}

/* News */
.news {
  background-color: #fff;
  padding-block: var(--sz-80);

  .news__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .news__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-30);
  }

  .news__box {
    max-width: 1100px;
    margin-bottom: var(--sz-65);
  }

  .info-list {
    padding: 0;
  }

  .is-style-divider-line .info-list-item,
  .is-style-divider-line .info-list-item:last-child {
    border-bottom-style: solid;
  }

  .info-list-item {
    padding-block: var(--sz-30);
    font-size: var(--sz-20);
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: baseline;
    gap: var(--sz-20);
  }

  .info-list-item-content {
    margin-bottom: 0;
  }

  .info-list-item-content-link {
    color: var(--color-primary);
    font-size: inherit;
  }

  .info-list-item-meta {
    font-size: inherit;
    opacity: unset;
    line-height: normal;
  }

  .info-list-item-date {
    font-size: var(--sz-16);
    margin-right: var(--sz-20);
  }

  .info-list-item-categorys .entry-category {
    font-size: inherit;
    color: #fff;
    --bg: var(--color-primary);
    background-color: var(--bg);
    border-radius: 100vh;
    border: none;
    height: auto;
    line-height: normal;
    padding: 0.1em 0.5em 0.3em;
    width: 6em;
    text-align: center;

    &.cat-label-4,
    &.cat-label-6 {
      --bg: #d4d2ac;
    }
  }

  .news__btn {
    padding: var(--sz-25);

    .wp-block-button {
      width: var(--sz-232);
    }

    .wp-element-button {
      font-size: var(--sz-20);
      padding: 0.5em 1em;
    }
  }
}

/* Schedule */
.schedule {
  background-color: #fff;
  padding-block: var(--sz-80);

  .schedule__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .schedule__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-60);
  }

  .schedule__calendar {
    max-width: 1430px;

    iframe {
      box-shadow: 0px var(--sz-8) var(--sz-18) #0400001f;
      border-radius: var(--sz-20);
      border: none !important;
      width: 100%;
      aspect-ratio: 1422 / 762;
    }
  }
}

/* Contact */
.contact {
  background-image: linear-gradient(180deg, #f9f9fb, #ffffff);
  padding-block: var(--sz-80) 0;

  .contact__heading {
    font-size: var(--sz-44);
    font-weight: bold;
    padding: 0;
    margin-bottom: var(--sz-16);
  }

  .contact__lead {
    font-size: var(--sz-20);
    line-height: 1.5;
    margin-bottom: var(--sz-60);
  }

  .contact__form {
    background-color: #fff;
    max-width: 1100px;
    border-radius: var(--sz-20);
    padding: var(--sz-60) var(--sz-60) 0;
  }

  .wpcf7-form {
    font-size: var(--sz-17);
  }

  .form__row {
    margin-bottom: var(--sz-30);
  }

  .form-label {
    font-weight: 500;
    margin-bottom: var(--sz-8);
    display: block;
  }

  .form-label>small {
    margin-left: 0.5em;
    color: #ec1a18;
  }

  .wpcf7-text,
  .wpcf7-textarea {
    border: 1px solid #d1d5db;
    border-radius: var(--sz-18);
    padding: 1em 1em;
  }

  .wpcf7-list-item {}

  .wpcf7-list-item.first {
    margin-left: 0;
  }

  & input[type="submit"] {
    margin-top: var(--sz-45);
    font-size: var(--sz-20);
    width: var(--sz-162);
    display: block;
    margin-inline: auto;
    color: #fff;
    background-color: #a4c3b2;
    border-radius: 0.5em;
    padding: 0.5em 1em;

    &:hover {
      color: #fff;
    }
  }
}

/* Social */
.social {
  background-color: #ffffff;
  padding-block: var(--sz-80);

  .social__list {
    gap: var(--sz-40);
  }

  .social__item {
    filter: drop-shadow(0px var(--sz-8) var(--sz-18) #0400001f);
    border-radius: var(--sz-20);
    border-radius: var(--sz-20);
    overflow: hidden;

    a {
      display: block;
    }
  }
}

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


  /* 表示切替用 */
  .sp-only {
    display: block;
  }

  .pc-only {
    display: none;
  }


  /************************************
Header
************************************/
  /* モバイルヘッダーレイアウト */
  .mobile-header-menu-buttons {
    box-shadow: none;
    flex-direction: row-reverse;
  }

  /* 検索アイコン */
  .search-menu-button.menu-button {
    display: none;
  }

  /* ロゴ */
  .logo-menu-button.menu-button {
    width: auto;
    justify-content: flex-start;
    padding: var(--sz-16) var(--sz-44);
  }

  .logo-menu-button img {
    max-height: var(--sz-75);
  }

  /* ハンバーガーメニュー */
  .navi-menu-button.menu-button {
    width: var(--sz-100);
  }

  .mobile-menu-buttons .menu-icon {
    font-size: var(--sz-60);
    color: var(--color-primary);
  }

  .mobile-menu-buttons .menu-caption {
    position: relative;
    opacity: 1;
    font-size: 0;
  }

  .mobile-menu-buttons .menu-caption::before {
    content: "MENU";
    font-size: var(--sz-20);
    font-weight: 500;
    font-family: serif;
    color: var(--color-primary);
  }

  .menu-close-button {
    color: var(--color-primary);
  }

  .menu-drawer a {
    padding: 10px;
    border-bottom: 2px solid var(--color-primary);
  }

  .menu-drawer a:hover {
    background-color: var(--color-primary);
    color: #fff;
  }

  /* PCヘッダー非表示 */
  #header-container {
    display: none;
  }

  /************************************
Footer
************************************/
  /* レイアウト */
  .footer-mobile {
    padding-inline: var(--sz-40);
  }

  .footer .widget_nav_menu+.widget_nav_menu {
    margin-top: var(--sz-60);
  }

  .navi-footer-in>.menu-footer {
    flex-direction: column;
  }

  /* フォントサイズ */
  .footer {
    font-size: var(--sz-34);
  }

  .footer-title {
    font-size: var(--sz-40);
  }

  /* ロゴ */
  .footer-mobile .widget_media_image img {
    width: var(--sz-168);
    background-color: #fff;
  }

  /* メニュー */
  .footer .widget_nav_menu {
    text-align: left;
  }

  .footer .menu {
    font-size: inherit;

  }

  .footer .menu a {
    width: auto;
  }

  .navi-footer-in>.menu-footer li.menu-item {
    width: auto;
    text-align: left;
  }

  /* SNS */
  .widget-footer-mobile .instagram {
    background: url(https://nonohana-2019.com/wp/wp-content/uploads/2025/11/icon-instagram.png) no-repeat top left / contain;
    aspect-ratio: 1;
    width: var(--sz-102);
    font-size:
      0;
  }

  /* 下部 */
  .footer-bottom {
    font-size: inherit;
    padding-inline: var(--sz-40);
  }

  .footer-bottom-content {
    border-top: 1px solid #ffffff57;
    padding-block: var(--sz-50);
  }

  .navi-footer-in a {
    font-size: inherit;
  }


  /************************************
TOPページ用スタイル
************************************/
  /* 余白調整 */
  .home .main {
    padding: 0;
  }

  /* Concept */
  .concept {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .concept__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-68);
    }

    .concept__lead {
      font-size: var(--sz-40);
      margin-bottom: var(--sz-48);
    }

    .concept__video {
      margin-bottom: var(--sz-120);
    }

    .concept__list {
      gap: var(--sz-80);
    }

    .column-3 .concept__item {
      width: 100%;
      padding: var(--sz-60) var(--sz-30) var(--sz-50);
    }

    .concept__item-iocn {
      width: var(--sz-58);
      margin-bottom: var(--sz-28);
    }

    .concept__item-heading {
      font-size: var(--sz-48);
      margin-bottom: var(--sz-36);
    }

    .concept__item-desc {
      font-size: var(--sz-40);
    }
  }

  /* Profile */
  .profile {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .profile__row {
      gap: var(--sz-80);
      flex-direction: column-reverse;
    }

    .column-left {
      background: url(../../../wp-content/themes/cocoon-child-master/assets/images/pc/pic-tea.png) no-repeat bottom right / var(--sz-406);
      padding-bottom: var(--sz-260);
    }

    .column-right {
      background: unset;
    }

    .profile__heading {
      font-size: var(--sz-76);
      text-align: center;
      margin-bottom: var(--sz-80);
    }

    .profile__desc {
      font-size: var(--sz-40);
    }
  }

  /* Events */
  .events {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .events__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-46);
    }

    .events__lead {
      font-size: var(--sz-40);
      margin-bottom: var(--sz-70);
    }

    .events__row {
      gap: var(--sz-76);
      grid-template-columns: 1fr;
    }

    .events__item-image {
      margin-bottom: var(--sz-40);
    }

    .events__item-heading {
      font-size: var(--sz-44);
      margin-bottom: var(--sz-26);
    }

    .events__item-desc {
      font-size: var(--sz-36);
      margin-bottom: var(--sz-34);
    }

    .events__item .wp-block-button {
      width: 100%;

    }

    .events__btn .wp-element-button {
      font-size: var(--sz-40);
    }
  }

  /* Produts */
  .products {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    &::before {
      top: var(--sz-330);
      left: unset;
      right: var(--sz-46);
    }

    .products__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-54);
    }

    .products__lead {
      font-size: var(--sz-36);
      margin-bottom: var(--sz-160);
    }

    .products__list {
      gap: var(--sz-78);
      margin-bottom: var(--sz-78);
    }

    .products__item-btn {
      padding: var(--sz-40);

      .wp-element-button {
        font-size: var(--sz-40);
      }
    }

    .products__btn {
      padding: 0;

      .wp-block-button {
        width: 100%;
      }

      .wp-element-button {
        font-size: var(--sz-40);
      }
    }
  }

  /* Goods */
  .goods {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    &::before {
      width: var(--sz-268);
      top: var(--sz-440);
      left: unset;
      right: var(--sz-46);
    }

    .goods__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-74);
    }

    .goods__lead {
      font-size: var(--sz-36);
      margin-bottom: var(--sz-160);
    }

    .goods__list {
      gap: var(--sz-78);
      margin-bottom: var(--sz-78);
    }

    .goods__item-btn {
      padding: var(--sz-40);

      .wp-element-button {
        font-size: var(--sz-40);
      }
    }

    .goods__btn {
      padding: 0;

      .wp-block-button {
        width: 100%;
      }

      .wp-element-button {
        font-size: var(--sz-40);
      }
    }
  }

  /* News */
  .news {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .news__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-60);
    }

    .news__lead {
      font-size: var(--sz-40);
    }

    .news__box {
      margin-bottom: var(--sz-78);
    }

    .info-list-item {
      flex-wrap: wrap;
      flex-direction: column-reverse;
      padding-block: var(--sz-60);
      font-size: var(--sz-36);
      gap: var(--sz-24);
    }

    .info-list-item-content {
      width: 100%;
    }

    .info-list-item-content-link {}

    .info-list-item-date {
      font-size: inherit;
      margin-right: var(--sz-40);
    }

    .info-list-item-meta {}

    .news__btn {
      padding: 0;

      .wp-block-button {
        width: 100%;
      }

      .wp-element-button {
        font-size: var(--sz-40);
      }
    }
  }

  /* Schedule */
  .schedule {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .schedule__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-52);
    }

    .schedule__lead {
      font-size: var(--sz-40);
      margin-bottom: var(--sz-80);
    }
  }

  /* Contact */
  .contact {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .contact__heading {
      font-size: var(--sz-76);
      margin-bottom: var(--sz-52);
    }

    .contact__lead {
      font-size: var(--sz-40);
    }

    .contact__form {
      padding: var(--sz-60) var(--sz-40) 0;
    }

    .wpcf7-form {
      font-size: var(--sz-34);
    }

    .form__row {
      margin-bottom: var(--sz-24);
    }

    .form-label {}

    .wpcf7-text,
    .wpcf7-textarea {}

    .wpcf7-radio {
      display: flex;
      flex-direction: column;

      .wpcf7-list-item {
        margin-left: 0;
      }
    }

    & input[type="submit"] {
      width: 100%;
      font-size: var(--sz-40);
    }
  }

  /* Social */
  .social {
    padding-block: var(--sz-90);
    padding-inline: var(--sz-40);

    .social__list {
      flex-direction: column;
      gap: var(--sz-80);
    }

    .social__item {
      img {
        width: 100%;
      }
    }
  }
}

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

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