@charset "UTF-8";
@import url("/css_config.css");

/*====================
  Common
====================*/
html {
  font-size: 16px;
}

body {
  background-color: var(--color-bg-base);
  font-family: var(--font-base-family);
  font-weight: 500;
  font-size: 1rem;
  color: var(--color-text-base);
  letter-spacing: 1px;
  margin-top: var(--header-height);
  overflow-x: hidden;
}

a {
  &:hover {
    opacity: 0.8;
    transition: all 0.3s;

    @media (max-width: 800px) {
      opacity: 1;
      text-decoration: none;
    }
  }
}

/** フォームリセット **/
input,
button,
textarea,
submit {
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/** コンテンツ共通 **/
.wave {
  position: relative;
  z-index: 0;
  overflow-x: hidden;

  .wave_inner {
    background-color: var(--color-bg-wave);
  }
}
.wave-top {
  position: relative;
  z-index: -1;
  margin-bottom: -2px;
}
.wave-bottom {
  position: relative;
  z-index: -1;
  margin-top: -2px;
}
.page-contents {
  padding-inline: 1rem;
  max-width: calc(var(--layout-content-width) + (1rem * 2));
  margin-inline: auto;
}

.content-bg-white {
  background-color: #fff;
  padding: 45px 20px;
  border-radius: 20px;

  @media screen and (max-width: 1080px) {
    &.page-contents {
      width: calc(100% - 2rem);
    }
  }
}

/** アイコン **/
.icon-movie {
  position: relative;

  &::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22100%22%20height%3D%22100%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_1582_3260)%22%3E%0A%3Crect%20x%3D%2228.9062%22%20y%3D%2228.9062%22%20width%3D%2245.1172%22%20height%3D%2245.3125%22%20fill%3D%22white%22%2F%3E%0A%3Cpath%20d%3D%22M50%200C22.3877%200%200%2022.3877%200%2050C0%2077.6121%2022.3877%20100%2050%20100C77.6121%20100%20100%2077.6121%20100%2050C100%2022.3877%2077.6121%200%2050%200ZM68.5668%2050.566L40.4418%2067.3521C40.2404%2067.4744%2039.984%2067.4805%2039.7766%2067.3582C39.5752%2067.2422%2039.4471%2067.0258%2039.4471%2066.7846V49.9982V33.2119C39.4471%2032.974%2039.5752%2032.7543%2039.7766%2032.6381C39.984%2032.5191%2040.2404%2032.5252%2040.4418%2032.6441L68.5668%2049.4336C68.7682%2049.548%2068.8873%2049.7691%2068.8873%2049.998C68.8873%2050.2318%2068.7684%2050.4486%2068.5668%2050.566Z%22%20fill%3D%22%23C4302B%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_1582_3260%22%3E%0A%3Crect%20width%3D%22100%22%20height%3D%22100%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    z-index: 1;

    @media screen and (max-width: 600px) {
      width: 30px;
      height: 30px;
    }
  }
}

/** タイトル **/
.page-title {
  margin-bottom: 32px;
  margin-inline: auto;
  width: fit-content;
  text-align: center;

  @media screen and (max-width: 500px) {
    margin-bottom: 20px;
  }

  .page-title_eg {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 13px;
    position: relative;

    @media screen and (max-width: 500px) {
      font-size: 2.5rem;
    }
  }
  .title-icon-mountain {
    padding-inline: 30px;
    &::before,
    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2216%22%20viewBox%3D%220%200%2018%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.24015%201.32956L11.5914%206.83599C11.8431%206.64493%2012.1376%206.51266%2012.4464%206.45388C12.7551%206.39509%2013.0734%206.40489%2013.3774%206.48817C13.6814%206.57145%2013.9664%206.72332%2014.2039%206.92907C14.4461%207.13973%2014.6361%207.39937%2014.7691%207.69331L17.0681%2012.7588C17.7331%2014.2236%2016.7499%2015.9921%2015.1396%2015.9921H2.1389C0.533399%2015.9921%20-0.449851%2014.2334%200.205649%2012.7686L5.35465%201.29037C6.13365%20-0.448758%208.48965%20-0.424264%209.24015%201.32956Z%22%20fill%3D%22%236AA968%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 17px;
      height: 16px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
    }
    &::before {
      left: 0;
    }
    &::after {
      right: 0;
    }
  }
  .title-icon-cloud {
    padding-inline: 30px;
    &::before,
    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2214%22%20viewBox%3D%220%200%2018%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M13.281%2013.1635C14.5017%2013.1635%2015.542%2012.7324%2016.4065%2011.8702C17.271%2011.008%2017.7033%209.94978%2017.7033%208.70055C17.7033%207.63258%2017.3897%206.67728%2016.758%205.83956C16.1262%205.00184%2015.3045%204.46785%2014.2832%204.2376C13.946%202.97857%2013.2763%201.95468%2012.274%201.17085C11.267%200.387018%2010.127%200%208.854%200C7.2865%200%205.9565%200.558481%204.85925%201.67544C3.76675%202.79241%203.2205%204.15432%203.2205%205.75628C2.29425%205.86405%201.5295%206.27557%200.91675%206.98102C0.30875%207.68647%200%208.51439%200%209.45989C0%2010.4887%200.351501%2011.3607%201.0545%2012.0808C1.7575%2012.801%202.6125%2013.1586%203.6195%2013.1586H13.2715L13.281%2013.1635Z%22%20fill%3D%22%23DAB63B%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 17px;
      height: 13px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
    }
    &::before {
      left: 0;
    }
    &::after {
      right: 0;
    }
  }
  .title-icon-water {
    padding-inline: 28px;
    &::before,
    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.77825%200C6.77825%200%2013.566%203.49786%2013.566%208.99939C13.566%2010.8561%2012.8488%2012.6344%2011.5805%2013.9473C10.3075%2015.2603%208.58325%2015.9951%206.783%2015.9951C4.98275%2015.9951%203.2585%2015.2554%201.9855%2013.9473C0.712503%2012.6344%202.49358e-06%2010.8561%202.49358e-06%208.99939C-0.00474751%203.49786%206.77825%200%206.77825%200Z%22%20fill%3D%22%2350A9B5%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 14px;
      height: 16px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
    }
    &::before {
      left: 0;
    }
    &::after {
      right: 0;
    }
  }
  .page-title_text {
    font-weight: 500;
    font-size: 1rem;
  }
}

/** カテゴリ別配色 **/
.cate-info {
  background-color: #ffefcf;
}

/** リンクボタン **/
.link-btn {
  max-width: 298px;
  margin-inline: auto;
  .link-btn_link {
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 18px;
    padding: 12px 0;
    border-radius: 50px;
    line-height: 1.4;
    position: relative;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.15));

    @media screen and (max-width: 800px) {
      font-size: 16px;
    }

    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M5.25%201.5L12.75%209L5.25%2016.5%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 18px;
      height: 18px;
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
    }
  }
}

/** リンク設定 **/
@media screen and (min-width: 801px) {
  .pc-nolink,
  a[href^="tel:"] {
    cursor: default !important;
    pointer-events: none !important;
    &:hover {
      opacity: 1 !important;
    }

    &:not(.icon-tell) {
      &::after,
      &::before {
        display: none !important;
      }
    }
  }
}

/** ページトップ **/
#gototop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;

  @media screen and (max-width: 500px) {
    right: 10px;
    bottom: 10px;
  }
}

#gototop img {
  display: block;
  width: 60px;
}

/** タブ切り替え **/
.tab-panel {
  display: none;
  &.is-active {
    display: block;
  }
}

/** スライド矢印設定 **/
.slide-arrow {
  cursor: pointer;
  position: absolute;
  top: 50%;
  height: 34px;
  width: 34px;
}
.prev-arrow {
  left: -46px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2034%2034%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%2217%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M20.2502%2025.5001L11.7502%2017.0001L20.2502%208.50006%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
}
.next-arrow {
  right: -46px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2234%22%20height%3D%2234%22%20viewBox%3D%220%200%2034%2034%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%2217%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M13.7498%208.50006L22.2498%2017.0001L13.7498%2025.5001%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
}

/** PC・スマホ表示切り分け **/
@media screen and (min-width: 601px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 600px) {
  .pc-only {
    display: none !important;
  }
}

/*====================
  ヘッダー
====================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-bg-base);
  z-index: 900;
  padding-inline: 160px;

  @media screen and (max-width: 1400px) {
    padding-left: 30px;
  }

  @media screen and (max-width: 1080px) {
    padding-inline: 0;
    height: 67px;
  }
}
.header_inner {
  justify-content: center;
  display: flex;
  align-items: center;
  column-gap: 51px;

  @media screen and (max-width: 1080px) {
    display: block;
    width: 100%;
    position: relative;
    z-index: 900;
  }

  .logo {
    width: 279px;
    margin-bottom: 0;

    @media screen and (max-width: 1080px) {
      width: 240px;
      margin-bottom: 0;
      height: 67px;
      display: flex;
      align-items: center;
    }
    @media screen and (max-width: 500px) {
      width: 170px;
    }
  }
}
.header_nav {
  .header_nav_list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 22px;
    margin-bottom: 0;

    @media screen and (max-width: 1080px) {
      padding: 70px 40px 40px;
      height: 100%;
      display: block;
      overflow-y: auto;
    }

    .nav-item {
      position: relative;
      padding-block: 10px;

      @media screen and (max-width: 1080px) {
        width: 100%;
        padding-block: 0;
      }

      a {
        &::after {
          display: none;
        }
      }

      > a,
      > .nav-title {
        display: block;
        color: var(--color-text-base);
        font-weight: 500;
        position: relative;
        padding-right: 18px;

        &:hover {
          text-decoration: none;
          color: var(--color-green);
          opacity: 1;
        }

        @media screen and (max-width: 1080px) {
          padding: 15px 10px;
          font-size: 18px;
          border-bottom: 1px dashed #6aa968;
        }

        &::after {
          content: "";
          background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M13%205L8%2011L3%205%22%20stroke%3D%22%234CAC49%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
          background-size: 100%;
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          width: 16px;
          height: 16px;
        }
      }

      .megamenu {
        position: absolute;
        top: 45px;
        left: -5px;
        z-index: 10;
        padding: 20px;
        opacity: 0;
        transition: opacity 0.3s;
        visibility: hidden;
        width: fit-content;
        white-space: nowrap;
        background: #fff;
        border-radius: 8px;

        @media screen and (max-width: 1080px) {
          position: relative;
          top: auto;
          left: auto;
          width: 100%;
          border-radius: 0;
          background-color: transparent;
          padding-left: 30px;
          padding-right: 20px;
          opacity: 1;
          visibility: unset;
        }
      }

      .megamenu_list {
        a {
          display: block;
          color: var(--color-text-base);
          padding-bottom: 15px;
          font-weight: 500;
          position: relative;
          font-size: 15px;

          &:hover {
            text-decoration: none;
            opacity: 1;
            color: var(--color-green);
          }

          @media screen and (max-width: 1080px) {
            font-size: 16px;
            padding-bottom: 20px;
          }
        }

        li:last-child {
          a {
            padding-bottom: 0;
          }
        }
      }

      @media screen and (min-width: 1081px) {
        &.has-mega:hover {
          > a,
          > .nav-title {
            color: var(--color-green);
          }
          .megamenu {
            opacity: 1;
            visibility: visible;
          }
        }
      }
    }
  }

  @media screen and (max-width: 600px) {
    .sns-navi {
      display: flex;
      padding: 0 40px 60px;
      gap: 20px;
      margin-bottom: 0;
      justify-content: center;
    }
  }
}

.header-contact {
  position: absolute;
  top: 0;
  right: 0;
  width: 150px;
  height: 150px;
  aspect-ratio: 150 / 150;

  @media screen and (max-width: 1400px) {
    width: 130px;
    height: 130px;
  }

  @media (max-width: 1080px) {
    width: 80px;
    height: 67px;
    top: 0;
    right: 75px;
    z-index: 910;
  }

  a {
    width: 100%;
    height: 100%;
    background-color: var(--color-green);
    border-radius: 0 0 0 var(--radius-base);
    color: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;

    &:hover {
      color: #fff;
      text-decoration: none;
    }

    @media screen and (max-width: 1400px) {
      font-size: 16px;
    }

    @media (max-width: 1080px) {
      font-size: 12px;
      border-radius: 0;
      padding-bottom: 5px;
    }

    .icon-mail {
      display: flex;
      flex-direction: column;
      align-items: center;
      row-gap: 4px;
      transform: translateX(5px);

      @media (max-width: 1080px) {
        row-gap: 0;
        transform: translateX(0px);
      }

      &::before {
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.69333%2031.6667C6.92556%2031.6667%206.285%2031.41%205.77167%2030.8967C5.25833%2030.3833%205.00111%2029.7422%205%2028.9733V11.0267C5%2010.2589%205.25722%209.61834%205.77167%209.105C6.28611%208.59167%206.92611%208.33445%207.69167%208.33334H32.3083C33.075%208.33334%2033.715%208.59056%2034.2283%209.105C34.7417%209.61945%2034.9989%2010.26%2035%2011.0267V28.975C35%2029.7417%2034.7428%2030.3822%2034.2283%2030.8967C33.7139%2031.4111%2033.0739%2031.6678%2032.3083%2031.6667H7.69333ZM33.3333%2011.475L20.7467%2019.715C20.6289%2019.7761%2020.51%2019.8278%2020.39%2019.87C20.2689%2019.9111%2020.1389%2019.9317%2020%2019.9317C19.8611%2019.9317%2019.7311%2019.9111%2019.61%2019.87C19.4889%2019.8289%2019.37%2019.7772%2019.2533%2019.715L6.66667%2011.4733V28.9733C6.66667%2029.2733%206.76278%2029.5194%206.955%2029.7117C7.14722%2029.9039%207.39333%2030%207.69333%2030H32.3083C32.6072%2030%2032.8528%2029.9039%2033.045%2029.7117C33.2372%2029.5194%2033.3333%2029.2733%2033.3333%2028.9733V11.475ZM20%2018.3333L32.82%2010H7.18L20%2018.3333ZM6.66667%2011.8267V10.475V10.5317V10V10.5333V10.4467V11.8267Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100%;
        width: 40px;
        height: 40px;
        display: block;

        @media (max-width: 1080px) {
          width: 30px;
          height: 30px;
        }
      }
    }
  }
}

/** ハンバーガーメニュー **/
.hamburger {
  display: none;
}
@media (max-width: 1080px) {
  .hamburger {
    display: block;
    position: relative;
    width: 50px;
    height: 54px;
    cursor: pointer;
    background: none;
    position: absolute;
    right: 10px;
    top: 5px;
    background: #4fa9b6;
    border-radius: 6px;
    z-index: 999;

    span {
      position: absolute;
      left: 0;
      right: 0;
      margin-inline: auto;
      width: 70%;
      height: 4px;
      background-color: #fff;
      border-radius: 4px;
    }

    &:focus {
      outline: none;
    }
  }

  .btn-trigger,
  .btn-trigger span {
    transition: all 0.5s;
    box-sizing: border-box;
  }
  .btn-trigger span:nth-of-type(1) {
    top: 15px;
  }
  .btn-trigger span:nth-of-type(2) {
    top: 25px;
  }
  .btn-trigger span:nth-of-type(3) {
    bottom: 15px;
  }

  .hamburger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
  }

  .header_nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: #f4f3e8;
    transform: translateX(100%);
    transition: transform 0.3s;
  }

  .header_nav.is-open {
    transform: translateX(0);
  }

  .has-mega .megamenu {
    display: none;
  }
}

/*====================
  パンくず
====================*/
.page-contents {
  &.breadcrumbs {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  .breadcrumbs_list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    font-size: 14px;
    margin-left: 0;

    li {
      list-style-type: none;
      position: relative;

      &:not(:last-child)::after {
        content: ">";
        margin-left: 10px;
      }

      a {
        color: var(--color-green);

        &:hover {
          text-decoration: none;
        }
      }
    }
  }
}

/*====================
  フッター
====================*/
.footer {
  background-color: var(--color-green);
  margin-top: 62px;
  padding-top: 60px;
  padding-inline: 1rem;

  a {
    color: #fff;
  }

  .contact-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 14px;
    margin-top: 40px;

    @media screen and (max-width: 800px) {
      margin-top: 20px;
      flex-direction: column;
      row-gap: 20px;
      align-items: center;
    }

    .contact-btn {
      display: flex;
      justify-content: space-between;
      column-gap: 10px;
      align-items: center;
      width: fit-content;
      padding: 12px 20px;
      position: relative;
      color: #fff;
      border-radius: 100px;

      @media screen and (max-width: 800px) {
        justify-content: flex-start;
        max-width: 210px;
        width: 100%;
      }
    }

    .icon-tell::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M20%2010C20%208.68678%2019.7413%207.38642%2019.2388%206.17316C18.7362%204.95991%2017.9997%203.85752%2017.0711%202.92893C16.1425%202.00035%2015.0401%201.26375%2013.8268%200.761205C12.6136%200.258658%2011.3132%200%2010%200V2C11.5822%201.99996%2013.1288%202.46908%2014.4444%203.34803C15.76%204.22698%2016.7854%205.47629%2017.391%206.938C17.7931%207.90877%2018.0001%208.94924%2018%2010H20ZM0%208V3C0%202.73478%200.105357%202.48043%200.292893%202.29289C0.480429%202.10536%200.734783%202%201%202H6C6.26522%202%206.51957%202.10536%206.70711%202.29289C6.89464%202.48043%207%202.73478%207%203V7C7%207.26522%206.89464%207.51957%206.70711%207.70711C6.51957%207.89464%206.26522%208%206%208H4C4%2010.1217%204.84285%2012.1566%206.34314%2013.6569C7.84343%2015.1571%209.87827%2016%2012%2016V14C12%2013.7348%2012.1054%2013.4804%2012.2929%2013.2929C12.4804%2013.1054%2012.7348%2013%2013%2013H17C17.2652%2013%2017.5196%2013.1054%2017.7071%2013.2929C17.8946%2013.4804%2018%2013.7348%2018%2014V19C18%2019.2652%2017.8946%2019.5196%2017.7071%2019.7071C17.5196%2019.8946%2017.2652%2020%2017%2020H12C5.373%2020%200%2014.627%200%208Z%22%20fill%3D%22white%22%2F%3E%0A%3Cpath%20d%3D%22M15.543%207.704C15.8446%208.4319%2015.9999%209.21208%2016%2010H14.2C14.2%208.88609%2013.7575%207.8178%2012.9698%207.03015C12.1822%206.2425%2011.1139%205.8%2010%205.8V4C11.1867%204.00006%2012.3466%204.352%2013.3333%205.0113C14.3199%205.6706%2015.0889%206.60767%2015.543%207.704Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 20px;
      height: 20px;
      display: block;
    }
    .icon-mail::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M4%2020C3.45%2020%202.97933%2019.8043%202.588%2019.413C2.19667%2019.0217%202.00067%2018.5507%202%2018V6C2%205.45%202.196%204.97933%202.588%204.588C2.98%204.19667%203.45067%204.00067%204%204H20C20.55%204%2021.021%204.196%2021.413%204.588C21.805%204.98%2022.0007%205.45067%2022%206V18C22%2018.55%2021.8043%2019.021%2021.413%2019.413C21.0217%2019.805%2020.5507%2020.0007%2020%2020H4ZM12%2013L20%208V6L12%2011L4%206V8L12%2013Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 24px;
      height: 24px;
      display: block;
    }
  }

  .compyright {
    margin: 0;
    padding: 12px 1rem 15px;
    border-top: 1px solid #fff;
    text-align: center;
    color: #fff;

    @media screen and (max-width: 800px) {
      margin-top: 30px;
    }

    small {
      font-size: 12px;
      font-weight: 400;
    }
  }
}

.page-main + footer {
  margin-top: 0;
}

.footer_header {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 30px;

  @media screen and (max-width: 800px) {
    row-gap: 20px;
  }

  .catchcopy {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    color: #fff;

    @media screen and (max-width: 800px) {
      font-size: 36px;
    }

    @media screen and (max-width: 500px) {
      font-size: 30px;
    }
  }

  .sns-links {
    display: flex;
    justify-content: center;
    flex-direction: row;
    column-gap: 14px;
  }
}

.footer-logo {
  display: block;
  width: fit-content;
  margin-inline: auto;
}

.footer_contents {
  margin-top: 40px;
  max-width: 784px;
  margin-inline: auto;
  display: flex;
  column-gap: 30px;

  @media screen and (max-width: 800px) {
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
    max-width: 450px;
    margin-top: 20px;
  }

  .g-map {
    width: 52%;

    @media screen and (max-width: 800px) {
      width: 100%;
    }

    iframe {
      width: 100%;
      height: auto;
      aspect-ratio: 406 / 302;
    }
  }
  .access-info {
    flex: 1;
    color: #fff;

    .company-name {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 15px;
      line-height: 1.4;

      @media screen and (max-width: 800px) {
        font-size: 28px;
      }

      > span {
        font-size: 15px;
        font-weight: 500;
        display: block;
      }

      > .company-name-small {
        font-size: 14px;
      }
    }

    .access-info_text {
      &:not(:last-of-type) {
        margin-bottom: 5px;
      }
      .title {
        font-size: 20px;
        font-weight: 700;
        position: relative;
        padding-left: 30px;
        &::before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
        }

        &.access {
          &::before {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M13.0007%202.1665C8.22216%202.1665%204.33407%206.05459%204.33407%2010.8278C4.30266%2017.8098%2012.6714%2023.5992%2013.0007%2023.8332C13.0007%2023.8332%2021.6988%2017.8098%2021.6674%2010.8332C21.6674%206.05459%2017.7793%202.1665%2013.0007%202.1665ZM13.0007%2015.1665C10.6066%2015.1665%208.66741%2013.2273%208.66741%2010.8332C8.66741%208.439%2010.6066%206.49984%2013.0007%206.49984C15.3949%206.49984%2017.3341%208.439%2017.3341%2010.8332C17.3341%2013.2273%2015.3949%2015.1665%2013.0007%2015.1665Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E");
            background-repeat: no-repeat;
            background-size: 100%;
            width: 26px;
            height: 26px;
          }
        }
        &.business-days {
          &::before {
            background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_825_1551)%22%3E%0A%3Cpath%20d%3D%22M6.8763%209.625H5.95964C5.71652%209.625%205.48336%209.72158%205.31145%209.89349C5.13955%2010.0654%205.04297%2010.2986%205.04297%2010.5417C5.04297%2010.7848%205.13955%2011.0179%205.31145%2011.1898C5.48336%2011.3618%205.71652%2011.4583%205.95964%2011.4583H6.8763C7.11942%2011.4583%207.35257%2011.3618%207.52448%2011.1898C7.69639%2011.0179%207.79297%2010.7848%207.79297%2010.5417C7.79297%2010.2986%207.69639%2010.0654%207.52448%209.89349C7.35257%209.72158%207.11942%209.625%206.8763%209.625ZM11.4596%209.625H10.543C10.2999%209.625%2010.0667%209.72158%209.89479%209.89349C9.72288%2010.0654%209.6263%2010.2986%209.6263%2010.5417C9.6263%2010.7848%209.72288%2011.0179%209.89479%2011.1898C10.0667%2011.3618%2010.2999%2011.4583%2010.543%2011.4583H11.4596C11.7028%2011.4583%2011.9359%2011.3618%2012.1078%2011.1898C12.2797%2011.0179%2012.3763%2010.7848%2012.3763%2010.5417C12.3763%2010.2986%2012.2797%2010.0654%2012.1078%209.89349C11.9359%209.72158%2011.7028%209.625%2011.4596%209.625ZM16.043%209.625H15.1263C14.8832%209.625%2014.65%209.72158%2014.4781%209.89349C14.3062%2010.0654%2014.2096%2010.2986%2014.2096%2010.5417C14.2096%2010.7848%2014.3062%2011.0179%2014.4781%2011.1898C14.65%2011.3618%2014.8832%2011.4583%2015.1263%2011.4583H16.043C16.2861%2011.4583%2016.5192%2011.3618%2016.6912%2011.1898C16.8631%2011.0179%2016.9596%2010.7848%2016.9596%2010.5417C16.9596%2010.2986%2016.8631%2010.0654%2016.6912%209.89349C16.5192%209.72158%2016.2861%209.625%2016.043%209.625ZM6.8763%2013.2917H5.95964C5.71652%2013.2917%205.48336%2013.3882%205.31145%2013.5602C5.13955%2013.7321%205.04297%2013.9652%205.04297%2014.2083C5.04297%2014.4514%205.13955%2014.6846%205.31145%2014.8565C5.48336%2015.0284%205.71652%2015.125%205.95964%2015.125H6.8763C7.11942%2015.125%207.35257%2015.0284%207.52448%2014.8565C7.69639%2014.6846%207.79297%2014.4514%207.79297%2014.2083C7.79297%2013.9652%207.69639%2013.7321%207.52448%2013.5602C7.35257%2013.3882%207.11942%2013.2917%206.8763%2013.2917ZM11.4596%2013.2917H10.543C10.2999%2013.2917%2010.0667%2013.3882%209.89479%2013.5602C9.72288%2013.7321%209.6263%2013.9652%209.6263%2014.2083C9.6263%2014.4514%209.72288%2014.6846%209.89479%2014.8565C10.0667%2015.0284%2010.2999%2015.125%2010.543%2015.125H11.4596C11.7028%2015.125%2011.9359%2015.0284%2012.1078%2014.8565C12.2797%2014.6846%2012.3763%2014.4514%2012.3763%2014.2083C12.3763%2013.9652%2012.2797%2013.7321%2012.1078%2013.5602C11.9359%2013.3882%2011.7028%2013.2917%2011.4596%2013.2917ZM16.043%2013.2917H15.1263C14.8832%2013.2917%2014.65%2013.3882%2014.4781%2013.5602C14.3062%2013.7321%2014.2096%2013.9652%2014.2096%2014.2083C14.2096%2014.4514%2014.3062%2014.6846%2014.4781%2014.8565C14.65%2015.0284%2014.8832%2015.125%2015.1263%2015.125H16.043C16.2861%2015.125%2016.5192%2015.0284%2016.6912%2014.8565C16.8631%2014.6846%2016.9596%2014.4514%2016.9596%2014.2083C16.9596%2013.9652%2016.8631%2013.7321%2016.6912%2013.5602C16.5192%2013.3882%2016.2861%2013.2917%2016.043%2013.2917ZM6.8763%2016.9583H5.95964C5.71652%2016.9583%205.48336%2017.0549%205.31145%2017.2268C5.13955%2017.3987%205.04297%2017.6319%205.04297%2017.875C5.04297%2018.1181%205.13955%2018.3513%205.31145%2018.5232C5.48336%2018.6951%205.71652%2018.7917%205.95964%2018.7917H6.8763C7.11942%2018.7917%207.35257%2018.6951%207.52448%2018.5232C7.69639%2018.3513%207.79297%2018.1181%207.79297%2017.875C7.79297%2017.6319%207.69639%2017.3987%207.52448%2017.2268C7.35257%2017.0549%207.11942%2016.9583%206.8763%2016.9583ZM11.4596%2016.9583H10.543C10.2999%2016.9583%2010.0667%2017.0549%209.89479%2017.2268C9.72288%2017.3987%209.6263%2017.6319%209.6263%2017.875C9.6263%2018.1181%209.72288%2018.3513%209.89479%2018.5232C10.0667%2018.6951%2010.2999%2018.7917%2010.543%2018.7917H11.4596C11.7028%2018.7917%2011.9359%2018.6951%2012.1078%2018.5232C12.2797%2018.3513%2012.3763%2018.1181%2012.3763%2017.875C12.3763%2017.6319%2012.2797%2017.3987%2012.1078%2017.2268C11.9359%2017.0549%2011.7028%2016.9583%2011.4596%2016.9583ZM16.043%2016.9583H15.1263C14.8832%2016.9583%2014.65%2017.0549%2014.4781%2017.2268C14.3062%2017.3987%2014.2096%2017.6319%2014.2096%2017.875C14.2096%2018.1181%2014.3062%2018.3513%2014.4781%2018.5232C14.65%2018.6951%2014.8832%2018.7917%2015.1263%2018.7917H16.043C16.2861%2018.7917%2016.5192%2018.6951%2016.6912%2018.5232C16.8631%2018.3513%2016.9596%2018.1181%2016.9596%2017.875C16.9596%2017.6319%2016.8631%2017.3987%2016.6912%2017.2268C16.5192%2017.0549%2016.2861%2016.9583%2016.043%2016.9583Z%22%20fill%3D%22white%22%2F%3E%0A%3Cpath%20d%3D%22M19.707%202.75H17.1862C17.1254%202.75%2017.0671%202.72586%2017.0242%202.68288C16.9812%202.6399%2016.957%202.58161%2016.957%202.52083V0.916667C16.957%200.673552%2016.8605%200.440394%2016.6885%200.268485C16.5166%200.0965771%2016.2835%200%2016.0404%200C15.7972%200%2015.5641%200.0965771%2015.3922%200.268485C15.2203%200.440394%2015.1237%200.673552%2015.1237%200.916667V5.27083C15.1237%205.45317%2015.0513%205.62804%2014.9223%205.75697C14.7934%205.8859%2014.6185%205.95833%2014.4362%205.95833C14.2539%205.95833%2014.079%205.8859%2013.9501%205.75697C13.8211%205.62804%2013.7487%205.45317%2013.7487%205.27083V3.20833C13.7487%203.08678%2013.7004%202.9702%2013.6145%202.88424C13.5285%202.79829%2013.4119%202.75%2013.2904%202.75H7.5612C7.50042%202.75%207.44213%202.72586%207.39915%202.68288C7.35618%202.6399%207.33203%202.58161%207.33203%202.52083V0.916667C7.33203%200.673552%207.23545%200.440394%207.06355%200.268485C6.89164%200.0965771%206.65848%200%206.41536%200C6.17225%200%205.93909%200.0965771%205.76718%200.268485C5.59528%200.440394%205.4987%200.673552%205.4987%200.916667V5.27083C5.4987%205.45317%205.42627%205.62804%205.29733%205.75697C5.1684%205.8859%204.99353%205.95833%204.8112%205.95833C4.62886%205.95833%204.45399%205.8859%204.32506%205.75697C4.19613%205.62804%204.1237%205.45317%204.1237%205.27083V3.20833C4.1237%203.08678%204.07541%202.9702%203.98946%202.88424C3.9035%202.79829%203.78692%202.75%203.66536%202.75H2.29036C1.80413%202.75%201.33782%202.94315%200.994002%203.28697C0.650185%203.63079%200.457031%204.0971%200.457031%204.58333V20.1667C0.457031%2020.6529%200.650185%2021.1192%200.994002%2021.463C1.33782%2021.8068%201.80413%2022%202.29036%2022H19.707C20.1933%2022%2020.6596%2021.8068%2021.0034%2021.463C21.3472%2021.1192%2021.5404%2020.6529%2021.5404%2020.1667V4.58333C21.5404%204.0971%2021.3472%203.63079%2021.0034%203.28697C20.6596%202.94315%2020.1933%202.75%2019.707%202.75ZM19.707%2019.7083C19.707%2019.8299%2019.6587%2019.9465%2019.5728%2020.0324C19.4868%2020.1184%2019.3703%2020.1667%2019.2487%2020.1667H2.7487C2.62714%2020.1667%202.51056%2020.1184%202.42461%2020.0324C2.33865%2019.9465%202.29036%2019.8299%202.29036%2019.7083V8.70833C2.29036%208.58678%202.33865%208.4702%202.42461%208.38424C2.51056%208.29829%202.62714%208.25%202.7487%208.25H19.2487C19.3703%208.25%2019.4868%208.29829%2019.5728%208.38424C19.6587%208.4702%2019.707%208.58678%2019.707%208.70833V19.7083Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_825_1551%22%3E%0A%3Crect%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
            background-repeat: no-repeat;
            background-size: 100%;
            width: 22px;
            height: 22px;
          }
        }
      }
      > p {
        margin-top: 5px;
        margin-bottom: 0;
        font-weight: 400;
        letter-spacing: 0.02em;
        font-size: 15px;
      }
    }
  }
}

.footer-nav {
  margin-top: 50px;
  margin-bottom: 51px;
  max-width: 1060px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  @media screen and (max-width: 800px) {
    display: none;
  }

  .footer-nav_list {
    margin-bottom: 0;
    font-weight: 400;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    width: calc((100% - 90px) / 4);
    font-size: 15px;

    a {
      &:hover {
        color: #fff;
        text-decoration: none;
      }
    }

    .child {
      padding-left: 1.2em;
      position: relative;

      &::before {
        content: "";
        background: #fff;
        height: 2px;
        width: 10px;
        position: absolute;
        left: 0;
        top: 10px;
      }
    }

    .parent {
      font-weight: 700;
      color: #fff;
    }
  }
}

/*====================
  トップページ
====================*/
.main-visual {
  display: grid;
  grid-template-columns: 1fr 82px;
  direction: rtl;
  align-items: flex-end;

  @media screen and (max-width: 600px) {
    grid-template-columns: 1fr;
    align-items: normal;
    direction: unset;
  }
}

.main-visual_content {
  padding-right: 82px;
  position: relative;

  @media screen and (max-width: 1080px) {
    padding-right: 20px;
  }

  @media screen and (max-width: 600px) {
    padding-inline: 10px;
  }
}

.main-visual_title {
  position: absolute;
  left: 91px;
  bottom: 84px;

  @media screen and (max-width: 1080px) {
    left: 70px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }

  @media screen and (max-width: 500px) {
    left: 20px;
    top: 20px;
    transform: translateY(0);
  }

  img {
    width: 9vw;
    max-width: 168px;

    @media screen and (max-width: 1080px) {
      width: 100%;
      max-width: 100px;
    }
  }
}

.main-visual_image {
  video {
    border-radius: var(--radius-base);
    width: 100%;
    height: calc(100vh - 67px);
    object-fit: cover;

    @media screen and (max-width: 1080px) {
      height: 470px;
      object-fit: cover;
    }
    @media screen and (max-width: 600px) {
      height: 450px;
    }
  }
}

.main-visual_bnr {
  position: absolute;
  right: 58px;
  bottom: -30px;

  @media screen and (max-width: 1080px) {
    right: 10px;
    max-width: 200px;
  }
  @media screen and (max-width: 800px) {
    max-width: 160px;
  }

  @media screen and (max-width: 500px) {
    max-width: 130px;
  }
}

.main-visual_side {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 57px;

  @media screen and (max-width: 600px) {
    display: none;
  }
}

.sns-links {
  display: flex;
  flex-direction: column;
  row-gap: 15px;

  a {
    &::after {
      display: none !important;
    }
  }
}

.scroll-dot {
  animation: scrollDotMove 1.8s ease-in-out infinite;
}

@keyframes scrollDotMove {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    transform: translateY(90px);
    opacity: 1;
  }
  100% {
    transform: translateY(110px);
    opacity: 0;
  }
}

.bnr-block {
  max-width: calc(450px + 92px);
  margin-inline: auto;
  margin-top: 60px;
  margin-bottom: 16px;

  @media screen and (max-width: 600px) {
    margin-bottom: 40px;
  }
}
.bnr-lists {
  max-width: 450px;
  margin-inline: auto;

  @media screen and (max-width: 800px) {
    padding-inline: 55px;
    max-width: 100%;

    .prev-arrow {
      left: 5px;
    }

    .next-arrow {
      right: 5px;
    }
  }

  @media screen and (max-width: 500px) {
    padding-inline: 1rem;

    .prev-arrow,
    .next-arrow {
      top: auto;
      bottom: -40px;
      z-index: 100;
      height: 30px;
      width: 30px;
    }

    .prev-arrow {
      left: auto;
      right: 55px;
    }

    .next-arrow {
      right: 1rem;
    }
  }
}

.event-lists {
  display: grid;
  grid-template-columns: repeat(3, 300px);
  column-gap: 28px;
  justify-content: center;
  margin-bottom: 40px;

  @media screen and (max-width: 1080px) {
    grid-template-columns: repeat(3, 1fr);
  }

  @media screen and (max-width: 800px) {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-inline: auto;
    row-gap: 50px;
  }

  .event-item_thumbnail {
    @media screen and (max-width: 800px) {
      text-align: center;
    }
    img {
      aspect-ratio: 300 / 200;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }

  .event-item {
    display: flex;
    flex-direction: column;
    row-gap: 15px;
    position: relative;
    padding-bottom: 60px;

    .event-item_link {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin-inline: auto;
    }
  }
  .event-item_title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    min-height: 60px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;

    @media screen and (max-width: 800px) {
      font-size: 18px;
    }
  }
  .event-item_info {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 15px 10px;
    align-items: flex-start;
    font-size: 14px;

    @media screen and (max-width: 1080px) {
      grid-template-columns: 1fr;
      row-gap: 10px;
    }

    dt {
      padding: 5px;
      background-color: #ffefcf;
      font-weight: 500;
      text-align: center;
    }
    dd {
      font-weight: 400;
      height: 100%;

      @media screen and (max-width: 1080px) {
        margin-bottom: 10px;

        &:last-of-type {
          margin-bottom: 0;
        }
      }
      &:not(:has(> span)) {
        display: flex;
        align-items: center;
      }
      span {
        display: block;
      }
    }
  }
}

.event-archive {
  .event-lists {
    gap: 60px;
  }
}

.event-item_link,
.item-link-btn,
.menu-link a {
  display: block;
  border: 1px solid var(--color-green);
  border-radius: 50px;
  text-align: center;
  font-size: 16px;
  padding: 13px 32px;
  color: var(--color-green);
  position: relative;
  transition: all 0.3s;
  &::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M5.25%201.5L12.75%209L5.25%2016.5%22%20stroke%3D%22%234CAC49%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
    background-size: 100%;
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s;
  }

  &:hover {
    opacity: 1;
    text-decoration: none;
    background-color: var(--color-green);
    color: #fff;
    &::after {
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M5.25%201.5L12.75%209L5.25%2016.5%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100%;
      background-repeat: no-repeat;
    }
  }
}

.news-block {
  margin-bottom: 50px;

  @media screen and (max-width: 500px) {
    margin-bottom: 20px;
  }
}

.news-lists {
  max-width: 980px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  margin-bottom: 24px;

  @media screen and (max-width: 800px) {
    row-gap: 0;
  }

  .news-item {
    display: flex;
    align-items: center;
    column-gap: 20px;
    position: relative;
    padding-inline: 28px;
    padding-block: 20px;
    border-bottom: 1px dashed #b1b1b1;

    @media screen and (max-width: 800px) {
      flex-wrap: wrap;
      row-gap: 5px;
      padding-inline: 0;
    }

    .date {
      width: 80px;
      font-weight: 400;
    }

    .news-item_cate {
      width: 120px;
      padding: 3px 5px;
      text-align: center;
      color: var(--color-text-base);
    }

    .news-item_title {
      color: var(--color-text-base);
      flex: 1;
      min-width: 0;
      line-height: 1.5;
      position: relative;
      padding-right: 40px;
      min-height: 37px;
      display: flex;
      align-items: center;

      @media screen and (max-width: 800px) {
        width: 100%;
        flex: auto;
        min-height: 25px;
      }

      &::after {
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2237%22%20height%3D%2237%22%20viewBox%3D%220%200%2037%2037%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2218.4358%22%20cy%3D%2218.4358%22%20r%3D%2218.4358%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M15.2461%209.21777L24.464%2018.4357L15.2461%2027.6535%22%20stroke%3D%22white%22%20stroke-width%3D%221.3%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100%;
        background-repeat: no-repeat;
        width: 37px;
        height: 37px;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);

        @media screen and (max-width: 800px) {
          width: 25px;
          height: 25px;
        }
      }
    }
  }
}

.menu_contents {
  display: grid;
  grid-template-columns: 183px 1fr;
  --layout-content-width: 1130px;

  @media screen and (max-width: 1080px) {
    display: flex;
    flex-direction: column;
  }
  @media screen and (max-width: 800px) {
    row-gap: 10px;
  }
}

.menu-tabs {
  display: flex;
  flex-direction: column;
  row-gap: 20px;

  @media screen and (max-width: 1080px) {
    flex-direction: row;
    column-gap: 10px;
  }

  @media screen and (max-width: 800px) {
    flex-wrap: wrap;
    gap: 10px;
  }

  .tab-btn {
    background-color: #fff;
    border-left: 8px solid #c2de66;
    padding: 6px;
    color: #9b9b9b;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s;

    @media screen and (max-width: 1080px) {
      width: calc(100% / 4);
    }
    @media screen and (max-width: 800px) {
      width: calc((100% - 20px) / 2);
    }

    &.is-active,
    &:hover {
      color: var(--color-text-base);
      background-color: #abd76d;
      border-color: #4cac49;
    }

    &:focus {
      outline: none;
    }
  }

  .tab-name,
  .tab-eg-name {
    display: block;
  }

  .tab-name {
    font-size: 20px;
    font-weight: 500;

    @media screen and (max-width: 800px) {
      font-size: 18px;
    }
  }

  .tab-eg-name {
    font-size: 16px;

    @media screen and (max-width: 800px) {
      font-size: 14px;
    }
  }
}

.menu-lists {
  background-color: #fffffb;
  border-radius: 4px;
  padding: 50px;
  flex-direction: column;
  row-gap: 50px;

  @media screen and (max-width: 1080px) {
    width: 100%;
  }

  @media screen and (max-width: 800px) {
    padding: 40px;
    row-gap: 30px;
  }

  @media screen and (max-width: 500px) {
    padding: 30px;
  }

  &.is-active {
    display: flex;
  }
}

.menu-list_item {
  display: flex;
  column-gap: 30px;
  justify-content: space-between;

  @media screen and (max-width: 1080px) {
    flex-direction: column;
    row-gap: 30px;
    margin-inline: auto;
    width: 100%;
  }

  .item-content {
    flex: 1;

    .menu-type {
      font-weight: 700;
      color: var(--color-green);
      letter-spacing: 0.02em;
      position: relative;
      margin-bottom: 0;
      &::before {
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2216%22%20viewBox%3D%220%200%2012%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1%201L10.982%207.66667L1%2014.3333V1Z%22%20fill%3D%22%234CAC49%22%20stroke%3D%22%234CAC49%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100%;
        background-repeat: no-repeat;
        width: 10px;
        height: 13px;
        display: inline-block;
        margin-right: 7px;
        transform: translateY(calc((1lh - 1.5em) / 2));
        background-position: center;
      }
    }
    .menu-title {
      font-size: 1.75rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      margin-bottom: 0;

      @media screen and (max-width: 800px) {
        font-size: 22px;
      }
    }
    .menu-excerpt {
      margin-top: 5px;
      line-height: 1.6;
      letter-spacing: -0.02em;
      margin-bottom: 0;
    }

    .menu-link {
      max-width: 285px;
      width: 100%;
      margin-top: 20px;

      @media screen and (max-width: 500px) {
        margin-inline: auto;
      }
    }
  }
  .menu-posts {
    max-width: 328px;
    width: 100%;

    @media screen and (max-width: 1080px) {
      max-width: 700px;
      margin-inline: auto;
    }

    @media screen and (max-width: 800px) {
      max-width: 400px;
    }

    > .post-item {
      max-width: 256px;
      margin-inline: auto;

      @media screen and (max-width: 1080px) {
        max-width: 350px;
      }
    }

    .menu-post_list {
      max-width: 256px;
      width: 100%;
      margin-inline: auto;

      @media screen and (max-width: 1080px) {
        max-width: 100%;
      }

      @media screen and (max-width: 800px) {
        padding-inline: 30px;
      }

      a {
        color: var(--color-text-base);

        &:hover {
          text-decoration: none;
          color: var(--color-text-base);
        }
      }

      .slick-dots {
        left: 0;
      }

      .slide-arrow {
        width: 28px;
        height: 28px;
        transform: translateY(-110%);
      }

      .prev-arrow {
        left: -35px;

        @media screen and (max-width: 800px) {
          left: 0;
        }
      }

      .next-arrow {
        right: -35px;

        @media screen and (max-width: 800px) {
          right: 0;
        }
      }
    }

    .post-title {
      font-size: 14px;
      font-weight: 400;
      text-align: center;
      margin-top: 5px;

      @media screen and (max-width: 500px) {
        text-align: left;

        br {
          display: none;
        }
      }
    }

    .post-thumbnail {
      img {
        aspect-ratio: 256 / 180;
        width: 100%;
        height: auto;
        object-fit: contain;

        @media screen and (max-width: 1080px) {
          aspect-ratio: 326 / 194;
        }
      }

      .icon-movie {
        &::before {
          right: 10px;
          width: 30px;
          height: 30px;
        }
      }
    }
  }
}

.blog-lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 35px;
  margin-bottom: 60px;

  @media screen and (max-width: 800px) {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 35px;
  }

  @media screen and (max-width: 500px) {
    grid-template-columns: 1fr;
    max-width: 380px;
    margin-bottom: 40px;
  }

  .blog-list_item {
    background-color: #fff;
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.05);

    a {
      display: block;
      padding: 20px;
      position: relative;

      &::after {
        content: "";
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M10.75%206.5L17.25%2013L10.75%2019.5%22%20stroke%3D%22white%22%20stroke-width%3D%221.3%22%2F%3E%0A%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-size: 100%;
        width: 26px;
        height: 26px;
        position: absolute;
        right: 20px;
        bottom: 20px;
      }

      &:hover {
        text-decoration: none;
      }

      .thumbnail {
        display: block;

        img {
          width: auto;
          height: auto;
          aspect-ratio: 300 / 200;
          object-fit: cover;
        }
      }

      .title {
        margin-top: 22px;
        font-size: 18px;
        font-weight: 500;
        color: var(--color-text-base);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2;
      }

      .date {
        color: #a6a6a6;
        display: block;
        font-weight: 400;
        margin-top: 10px;
      }
    }
  }
}

/*====================
  下層ページ
====================*/
.page-main {
  background: url(/images/common/bg-decoration.svg) left top repeat-y;
  background-size: 100% auto;
  padding-bottom: 15px;

  @media screen and (max-width: 800px) {
    background: url(/images/common/bg-decoration_sp.svg) left top repeat-y;
    background-size: 100% auto;
  }

  .page-contents {
    margin-top: 76px;

    @media screen and (max-width: 800px) {
      margin-top: 56px;
    }

    &.breadcrumbs {
      margin-top: 100px;

      @media screen and (max-width: 800px) {
        margin-top: 80px;
      }
    }
  }
}
.page-main_title {
  padding-top: 53px;

  @media screen and (max-width: 800px) {
    padding-top: 1rem;
    padding-inline: 1rem;
  }

  .sub-title {
    max-width: 450px;
    width: fit-content;
    margin-inline: auto;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    padding-block: 8px;
    border-bottom: 2px solid #4fa9b6;
    margin-bottom: 16px;

    @media screen and (max-width: 800px) {
      font-size: min(5.5vw, 20px);
      margin-bottom: 8px;
    }
  }
  .title-text {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin: 0;
    row-gap: 16px;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.02em;

    @media screen and (max-width: 800px) {
      font-size: min(6vw, 24px);
      row-gap: 8px;
    }

    &::after {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2260%22%20height%3D%2216%22%20viewBox%3D%220%200%2060%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_976_1691)%22%3E%0A%3Cpath%20d%3D%22M36.6206%2016C37.9056%2016%2039.0006%2015.5689%2039.9106%2014.7067C40.8206%2013.8444%2041.2756%2012.7863%2041.2756%2011.537C41.2756%2010.4691%2040.9456%209.51377%2040.2806%208.67605C39.6156%207.83832%2038.7506%207.30434%2037.6756%207.07409C37.3206%205.81505%2036.6156%204.79117%2035.5606%204.00734C34.5006%203.2235%2033.3006%202.83649%2031.9606%202.83649C30.3106%202.83649%2028.9106%203.39497%2027.7556%204.51193C26.6056%205.62889%2026.0306%206.9908%2026.0306%208.59276C25.0556%208.70054%2024.2506%209.11205%2023.6056%209.8175C22.9656%2010.523%2022.6406%2011.3509%2022.6406%2012.2964C22.6406%2013.3252%2023.0106%2014.1972%2023.7506%2014.9173C24.4906%2015.6375%2025.3906%2015.9951%2026.4506%2015.9951H36.6106L36.6206%2016Z%22%20fill%3D%22%23DAB63B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M52.8557%200C52.8557%200%2060.0007%203.49786%2060.0007%208.99939C60.0007%2010.8561%2059.2457%2012.6344%2057.9107%2013.9473C56.5707%2015.2603%2054.7557%2015.9951%2052.8607%2015.9951C50.9657%2015.9951%2049.1507%2015.2554%2047.8107%2013.9473C46.4707%2012.6344%2045.7207%2010.8561%2045.7207%208.99939C45.7157%203.49786%2052.8557%200%2052.8557%200Z%22%20fill%3D%22%2350A9B5%22%2F%3E%0A%3Cpath%20d%3D%22M9.72452%201.33249L12.1995%206.83892C12.4645%206.64786%2012.7745%206.51559%2013.0995%206.45681C13.4245%206.39802%2013.7595%206.40782%2014.0795%206.4911C14.3995%206.57438%2014.6995%206.72625%2014.9495%206.932C15.2045%207.14266%2015.4045%207.4023%2015.5445%207.69624L17.9645%2012.7618C18.6645%2014.2266%2017.6295%2015.9951%2015.9345%2015.9951H2.24952C0.559519%2015.9951%20-0.475481%2014.2364%200.214519%2012.7716L5.63452%201.2933C6.45452%20-0.445829%208.93452%20-0.421334%209.72452%201.33249Z%22%20fill%3D%22%236AA968%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_976_1691%22%3E%0A%3Crect%20width%3D%2260%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-size: 100%;
      width: 60px;
      height: 16px;
      display: block;
    }

    &:has(> br) {
      text-align: center;
    }
  }
  .page-target {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    padding-inline: 1rem;
    max-width: calc(800px + 2rem);
    margin-inline: auto;
    align-items: center;
    margin-top: 24px;

    @media screen and (max-width: 800px) {
      margin-top: 18px;
      padding-inline: 0;
    }

    @media screen and (max-width: 500px) {
      gap: 10px;
      justify-content: flex-start;
      max-width: 350px;

      &:not(:has(.page-target_item:nth-of-type(2))) {
        justify-content: center;
      }
    }

    &:not(:has(.page-target_item, .page_note)) {
      display: none;
    }

    .page-target_item {
      border: 1px solid #3993ae;
      border-radius: 100px;
      font-weight: 600;
      font-size: 17px;
      color: #3993ae;
      padding: 6px 20px;
      width: fit-content;
      text-align: center;

      @media screen and (max-width: 800px) {
        font-size: 14px;
      }

      @media screen and (max-width: 500px) {
        font-size: 13px;
        width: calc((100% - 10px) / 2);
      }
    }

    .page_note {
      color: #3993ae;
      font-size: 14px;
      line-height: 1.6;
      font-weight: 600;
      letter-spacing: 0.02em;
    }

    &:has(.page-target_item:nth-child(3)) .page_note {
      text-align: center;
      width: 100%;
    }
  }
}

/** サイトマップ **/
.sitemap {
  display: flex;
  flex-direction: column;
  row-gap: 50px;
  max-width: 850px;
  margin-inline: auto !important;
  justify-content: center;
  background: #fff;
  padding: 40px;
  border-radius: 20px;

  @media screen and (max-width: 800px) {
    row-gap: 30px;
    padding: 30px;
  }

  > li {
    list-style-type: none !important;
  }
}
.sitemap-pages a {
  padding: 15px 10px;
  display: block;
  border-bottom: 1px dashed #a3a3a3;
  color: var(--color-text-base);
  font-weight: 500;
  position: relative;

  &:hover {
    color: var(--color-green);
    text-decoration: none;
  }

  &::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M7.91797%202.26245L19.2311%2013.5756L7.91797%2024.8887%22%20stroke%3D%22%234CAC49%22%20stroke-width%3D%222%22%2F%3E%0A%3C%2Fsvg%3E");
    background-size: 100%;
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

.sitemap-folder {
  > .sitemap-folderTitle {
    display: block;
    font-size: 18px;
    font-weight: 700;
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 5px;
    border-left: 10px solid #3993ae;
    background: #ceedef;
  }
}

/* 記事詳細 */
.page-main {
  .single-contents {
    background-color: #fff;
    padding: 50px;
    border-radius: 20px;
    margin-top: 80px;
    max-width: calc(900px + (1rem * 2));
    width: calc(100% - (1rem * 2));

    @media screen and (max-width: 600px) {
      padding: 30px 20px;
    }

    .thumbnail {
      margin-inline: auto;
      width: fit-content;
      margin-bottom: 60px;
    }
  }
}

.single-header {
  margin-bottom: 40px;

  .thumbnail {
    max-width: 400px;
  }
}

.single-header .title {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 15px;
  color: var(--color-green);

  @media screen and (max-width: 600px) {
    font-size: 24px;
  }
}

.single-ecogoods-contents {
  .single-header {
    .thumbnail {
      max-width: 550px;
    }
  }
}

.single-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
}

.entry__category {
  color: var(--color-green);
}
.single-body {
  margin-top: 60px !important;
  > *,
  div > * {
    margin-top: 30px;
    &:first-child {
      margin-top: 0;
    }
  }

  .ecogoods-gallery_item {
    margin-top: 0;
  }

  .event-meta {
    margin-top: 60px;
  }

  h2,
  h3 {
    &:not([class]) {
      line-height: 1.8;
    }
  }

  h2:not([class]) {
    font-size: 22px;
    font-weight: 700;
    margin-top: 80px;

    &:first-child {
      margin-top: 0;
    }
  }
  h3:not([class]) {
    font-size: 20px;
    font-weight: 700;
    margin-top: 40px;
  }
  h4:not([class]) {
    font-size: 18px;
    font-weight: 700;
  }

  p {
    line-height: 1.8;
    margin-bottom: 0;

    @media screen and (max-width: 600px) {
      text-align: left !important;
    }
  }

  iframe {
    max-width: 100%;
  }
}

.event-meta_table {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  align-items: flex-start;
  word-break: break-all;

  @media screen and (max-width: 600px) {
    grid-template-columns: 1fr;
    row-gap: 10px;

    dd {
      margin-bottom: 30px;

      &:last-of-type {
        margin-bottom: 0;
      }
    }
  }

  dt {
    background: #ffefcf;
    padding: 5px;
    text-align: center;
    font-weight: 500;
  }
}

.meta-map {
  .gmap {
    iframe {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;

      @media screen and (max-width: 600px) {
        aspect-ratio: 4 / 3;
      }
    }
  }
}

.page-contents-white {
  background-color: #fff;
  border-radius: 20px;
  padding: 60px 40px;

  @media screen and (max-width: 800px) {
    padding: 40px 20px;
  }
}

.blog-archive {
  .blog-list_item {
    box-shadow: none;

    a {
      padding: 0;

      &::after {
        bottom: 0;
      }
    }
  }
}

.single-ecogoods-contents,
.single-shimaeco-contents,
.single-publication-contents {
  .title {
    margin-bottom: 60px;
  }

  .ecogoods-meta {
    margin-bottom: 60px;
    word-break: break-all;
  }
}

.ecogoods-gallery {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.ecogoods-gallery_item {
  width: calc((100% - 40px) / 3);
  border-radius: 6px;
}

.ecogoods-gallery_item img {
  width: auto;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
}

.lum-lightbox.lum-open {
  z-index: 999;
}
.luminous {
  display: block;
  position: relative;

  &::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2228%22%20cy%3D%2228%22%20r%3D%2227%22%20fill%3D%22white%22%20stroke%3D%22%234CAC49%22%20stroke-width%3D%222%22%2F%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_1548_3243)%22%3E%0A%3Cpath%20d%3D%22M32.512%2030.1046C35.5706%2025.892%2035.2039%2019.9481%2031.4085%2016.1521C27.2052%2011.9493%2020.3654%2011.9493%2016.1627%2016.1521C11.9588%2020.3559%2011.9588%2027.1946%2016.1627%2031.3984C19.9581%2035.1938%2025.902%2035.5606%2030.1141%2032.5026L30.9474%2033.3348L33.3448%2030.9374L32.512%2030.1046ZM29.3181%2029.3086C26.2628%2032.3634%2021.3084%2032.3639%2018.2525%2029.3086C15.1967%2026.2528%2015.1967%2021.2979%2018.2525%2018.2426C21.3084%2015.1872%2026.2628%2015.1872%2029.3181%2018.2426C32.3739%2021.2979%2032.3739%2026.2528%2029.3181%2029.3086Z%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M19.4052%2019.9854C17.8186%2022.0238%2017.687%2024.828%2019.0093%2026.994C19.1348%2027.1985%2019.4024%2027.2638%2019.6074%2027.1382C19.8119%2027.0127%2019.8766%2026.7451%2019.7517%2026.5406V26.5411C18.6157%2024.6837%2018.7292%2022.266%2020.0905%2020.5194C20.2385%2020.3302%2020.2045%2020.0566%2020.0148%2019.9097C19.8257%2019.7618%2019.5521%2019.7957%2019.4052%2019.9854Z%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3Cpath%20d%3D%22M42.385%2038.6988L34.2898%2031.4675L31.4785%2034.2789L38.7092%2042.3746C39.4444%2043.3258%2040.7684%2043.186%2041.958%2041.9964C43.1471%2040.8073%2043.3368%2039.4339%2042.385%2038.6988Z%22%20fill%3D%22%234CAC49%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_1548_3243%22%3E%0A%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22white%22%20transform%3D%22translate(13%2013)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 25px;
    height: 25px;
    z-index: 1;
  }
}

.lum-gallery-button:focus {
  outline: none;
  border: none;
}

.ecogoods-list {
  display: flex;
  gap: 60px 30px;
  flex-wrap: wrap;

  .ecogoods-meta {
    font-size: 14px;
    word-break: break-all;
  }
}

.ecogoods-list_item {
  width: calc((100% - 60px) / 3);
  position: relative;
  padding-bottom: 65px;

  @media screen and (max-width: 1000px) {
    width: calc((100% - 30px) / 2);
  }

  @media screen and (max-width: 600px) {
    width: 100%;
    max-width: 450px;
    margin-inline: auto;
  }

  .thumbnail {
    margin-bottom: 20px;
    text-align: center;

    img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
    }
  }

  .goods-name {
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 700;
  }

  .ecogoods-meta {
    grid-template-columns: 80px 1fr;
    word-break: break-all;

    @media screen and (max-width: 1000px) {
      grid-template-columns: 1fr;
    }
  }

  .goods-item_link {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-inline: auto;
  }
}

.ecogoods-contents_read {
  margin-bottom: 80px !important;

  @media screen and (max-width: 600px) {
    margin-bottom: 60px !important;
  }
}

.ecogoods-contents {
  max-width: calc(1280px + (1rem * 2));

  .ecogoods-inner {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 40px 30px;
    align-items: flex-start;

    @media screen and (max-width: 1000px) {
      display: flex;
      flex-direction: column;

      .ecogoods-body {
        width: 100%;
        order: 2;
      }
    }
  }
}

.goods-list_sidebar {
  margin-top: 0 !important;
  position: sticky;
  top: 80px;
  right: 0;
  background: #fff;
  border-radius: 8px;

  @media screen and (max-width: 1584px) {
    top: 160px;
  }

  @media screen and (max-width: 1000px) {
    position: relative;
    top: auto;
    order: 1;
    width: 100%;
  }

  .sidebar-title {
    margin-bottom: 15px;
    padding: 10px 20px 10px;
    background: var(--color-green);
    border-radius: 8px 8px 0 0;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0;
  }

  .goods-ankerlinks {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    row-gap: 15px;
    padding: 20px;

    @media screen and (max-width: 1000px) {
      flex-direction: row;
      gap: 20px;
    }
    @media screen and (max-width: 450px) {
      flex-direction: column;
    }

    a {
      color: var(--color-text-base);
      border-bottom: 1px dashed var(--color-green);
      display: block;
      padding-bottom: 15px;

      &:hover {
        text-decoration: none;
      }

      @media screen and (max-width: 1000px) {
        border-bottom: none;
        padding-bottom: 0;
        position: relative;

        &::after {
          content: "";
          background-image: url(data:image/svg+xml,%3Csvg%20width%3D%2219%22%20height%3D%2211%22%20viewBox%3D%220%200%2019%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.7568%200.530396L9.1435%209.14373C5.77979%205.78001%203.89389%203.89411%200.530175%200.530394%22%20stroke%3D%22%23222222%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E);
          background-repeat: no-repeat;
          background-size: 100%;
          width: 14px;
          height: 8px;
          display: inline-block;
          margin-left: 15px;
          margin-top: -1px;
          vertical-align: middle;
        }
      }
    }
  }
}

/* ミライへ繋ぐコラム */
.columns-list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 30px;

  .columns-list_item {
    width: calc((100% - 60px) / 3);
    position: relative;
    padding-bottom: 75px;

    @media screen and (max-width: 1000px) {
      width: calc((100% - 30px) / 2);
    }

    @media screen and (max-width: 600px) {
      width: 100%;
      max-width: 450px;
      margin-inline: auto;
    }
  }

  .columns-item_thumbnail {
    margin-bottom: 10px;

    img {
      width: auto;
      height: auto;
      aspect-ratio: 300 / 200;
      object-fit: cover;
    }
  }

  .columns-sub-title {
    font-size: 15px;
    margin-bottom: 5px;
  }
  .columns-item_title {
    font-weight: 700;
    font-size: 18px;
  }

  .event-item_link {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 250px;
    margin-inline: auto;
    &::after {
      width: 14px;
      height: 14px;
    }
  }
}

.single-columns-contents {
  .single-meta {
    margin-bottom: 60px;
  }
}

.columns-sub-title {
  display: flex;
  gap: 5px 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  font-size: 18px;
  color: var(--color-green);

  .organization {
    padding-right: 10px;
    position: relative;

    &::after {
      content: "";
      background: var(--color-green);
      height: 20px;
      width: 1px;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
}

/* しまエコ */
.shimaeco-lists {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.shimaeco-list_item {
  width: calc((100% - 120px) / 4);

  @media screen and (max-width: 1000px) {
    width: calc((100% - 80px) / 3);
  }

  @media screen and (max-width: 600px) {
    width: calc((100% - 40px) / 2);
  }

  a {
    color: var(--color-text-base);

    &:hover {
      color: var(--color-text-base);
      text-decoration: none;
    }
  }

  .thumbnail {
    text-align: center;
    margin-bottom: 10px;

    img {
      width: 100%;
      height: auto;
      aspect-ratio: 480 / 680;
      object-fit: cover;
    }
  }

  .title {
    font-size: 16px;
    line-height: 1.8;
  }
}

/* その他の制作物 */
.other-lists {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.other-list_item {
  width: calc((100% - 120px) / 4);

  @media screen and (max-width: 1000px) {
    width: calc((100% - 80px) / 3);
  }

  @media screen and (max-width: 600px) {
    width: calc((100% - 40px) / 2);
  }

  a {
    color: var(--color-text-base);

    &:hover {
      color: var(--color-text-base);
      text-decoration: none;
    }
  }

  .thumbnail {
    text-align: center;
    margin-bottom: 10px;

    img {
      width: 100%;
      height: auto;
      aspect-ratio: 500 / 500;
      object-fit: cover;
    }
  }

  .title {
    font-size: 16px;
    line-height: 1.8;
  }
}

/* しまねfuture */
.shimane-future-lists {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;

  .shimane-future-list_item {
    width: calc((100% - 60px) / 3);

    @media screen and (max-width: 800px) {
      width: calc((100% - 30px) / 2);
    }

    @media screen and (max-width: 600px) {
      max-width: 450px;
      width: 100%;
      margin-inline: auto;
    }

    a {
      color: var(--color-text-base);

      &:hover {
        color: var(--color-text-base);
        text-decoration: none;
      }

      &::after {
        display: none;
      }
    }

    .thumbnail {
      margin-bottom: 5px;

      img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 400 / 224;
      }
    }

    .title {
      font-weight: 500;
      font-size: 16px;
    }
  }
}

/* 記事ページネーション */
.pagenation_navi:has(> li) {
  margin-top: 70px;
  padding-top: 20px;
  border-top: 1px solid #bbb;
  display: flex;
  justify-content: center;
  column-gap: 60px;

  li {
    list-style-type: none !important;
  }

  a {
    color: var(--color-text-base);
    font-size: 14px;
  }

  .pagenation_navi-next {
    position: relative;
    padding-right: 15px;

    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      width: 10px;
      height: 1px;
      border-radius: 9999px;
      background-color: var(--color-text-base);
      transform-origin: calc(100% - 1px) 50%;
    }

    &::before {
      transform: rotate(45deg);
    }

    &::after {
      transform: rotate(-45deg);
    }
  }

  .pagenation_navi-prev {
    position: relative;
    padding-left: 15px;

    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      width: 10px;
      height: 1px;
      border-radius: 9999px;
      background-color: var(--color-text-base);
      transform-origin: 1px 50%;
    }

    &::before {
      transform: rotate(45deg);
    }

    &::after {
      transform: rotate(-45deg);
    }
  }
}

.archive-read {
  p {
    line-height: 1.8;
    margin-bottom: 20px;

    &:last-child {
      margin-bottom: 0;
    }
  }
}
