@charset "UTF-8";

:root {
  --col_Background: #f5f2ec;
  --ff-serif: "shippori-mincho", serif;
}

.page-goods {
}

.ctop-lead {
  width: 720px;
  margin: 44px auto 0;
  border: 1px solid #8f8f8f;
  border-width: 0 1px;
  padding: 16px;
  text-align: center;
  word-break: keep-all;
  font-family: unset;
  color: var(--cl-br, #433d37);
}

.ctop-osonae-lead {
  margin: 56px auto;
  text-align: center;
  word-break: keep-all;
  line-height: 1.6;
  font-family: unset;
  font-size: 2.3rem;
}

.ctop-notice {
  width: 100%;
  margin: 16px auto 0;
  line-height: 2;
  text-align: center;
  font-size: 1.2rem;
  color: #666666;
}

.block-header-left-btns,
.footer-sitemap {
  display: none !important;
}

.block-header {
  &.DownMove {
    box-shadow: 0 2px 2px rgb(0 0 0 /4%);
  }
}

.osonae-notice {
  display: flex;
  height: 32px;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  background: rgb(0 0 0 /4%);
}

.pane-topic-path {
  display: none;

  &.tp-osonae {
    display: block;
  }

  .page-event:has(.block-event-page--header-img) & {
    display: none;
  }
}

.block-event-page {
  position: relative;
  z-index: 0;

  .block-event-page--header-img {
    margin: 0;
    min-height: 501.5px;

    img {
      display: block;
    }
  }
}

/*---- コンテンツ ----*/
.osonae-content {
    position: relative;
    z-index: 0;
}
.osonae-block {
  border-radius: 20px;
  margin: 32px auto 32px;
  padding: 36px;
  background: #ffffff;
  width: var(--wrapperW);
  text-align: center;

  .about-wrapper:has(&) {
    margin: -72px calc((var(--wrapperW) - 100cqw) /2) 0;
    padding: 72px 0 0;
    background-color: transparent;
    background-image: url("/img/usr/@brands/osonae/ctop/about-bg01.webp"), url("/img/usr/@brands/osonae/ctop/about-bg02.webp");
    background-repeat: no-repeat;
    background-position: right calc(((100cqw - (var(--wrapperW))) /2) - 56px) top 0, left calc(((100cqw - var(--wrapperW)) /2) - 115px) bottom 100px;
    background-size: 182px auto, 214px auto;
    width: 100cqw;
    z-index: 0;
  }

  &.about {
    position:sticky;
    z-index: -1;
  }

  h2 {
    display: inline-block;
    flex-direction: column;
    margin: 0 auto 48px;
    padding: 0;
    font-weight: 600;
    font-size: 2.4rem;
    color: #41366a;

    &::after {
      content: "";
      display: block;
      margin: 0 -8px;
      height: 5px;
      background: #c8b97e;
    }
  }

  ul {
    display: flex;
    padding: 0 16px;
    gap: 40px;

    li {
      width: calc((100% - 80px) /3);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      gap: 16px;

      h3 {
        order: 10;
        flex-grow: 0;
        margin: 20px 0 0;
        letter-spacing: 0.1em;
        margin-right: -0.1em;
        font-weight: 600;
        font-size: 2.8rem;
        color: #41366a;
      }

      p {
        order: 20;
        flex-grow: 1;
        line-height: 1.8;

        em {
          font-weight: 600;
          font-style: normal;
          word-break: keep-all;
          word-break: break-all;
          line-break: anywhere;
        }
      }

      img {
        flex-grow: 0;
        order: 0;
        max-width: 300px;
        object-fit: contain;
        object-position: 50% 100%;
        max-height: 480px;
      }
    }
  }

  &.points {
    padding-bottom: 88px;

    ul {
      li {
        justify-content: space-between;

        * {
          order: unset;
        }

        h3 {
          box-sizing: border-box;
          border-top: 1px solid #c8b97e;
          width: 100%;
          letter-spacing: 0.1em;

          span {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            margin: -30px auto 28px;
            border: 1px solid #c8b97e;
            border-radius: 60px;
            width: 60px;
            line-height: 29px;
            aspect-ratio: 1 / 1;
            overflow: hidden;

            small {
              position:relative;
              top: 4px;
              font-size: 1.35rem;
              color: #c8b97e;
              letter-spacing: 0.05em;
            }

            em {
              height: 50%;
              letter-spacing: 0;
              font-size: 2.4rem;
              color: #ffffff;
              background: #c8b97e;
              box-shadow: inset  0 0 20px 20px #c8b97e;
            }
          }
        }

        p {
          flex-grow: 1;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-self: center;
          line-height: 1.6;
          font-family: var(--ff-serif);
          font-weight: 600;
          font-size: 2.2rem;

          small {
            margin: 12px 0 0;
            font-family: var(--ff-sans_serif);
            font-weight: normal;
            font-size: 1.4rem;
            color: #666666;
          }
        }

        img {
          aspect-ratio: unset;
          max-width: 290px;

          li:nth-child(2) & {
            max-width: 355px;
          }
        }
      }
    }
  }

  &.product-detail {
    padding: 24px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 24px;

    > * {
      width: calc((100% - 24px) /2);
    }

    .detail {
      display: flex;
      flex-direction: column;
      width: 500px;

      h2 {
        display: block;
        text-align: left;
        width: 100%;
        letter-spacing: 0.05em;

        &:after {
          display: none;
        }
      }

      dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        text-align: left;
        gap: 4px;
        font-size: 1.8rem;

      }
        dt {
          width: 9em;
        }

        dd {
          width: calc(100% - 10em);
        }
      }
    }

    figure {
      border-radius: 6px;
      aspect-ratio: 5.5 /3.6;
      overflow: hidden;

      img {
        position:relative;
        top: -24px;
        display: block;
        scale: 128%;
      }
    }
  }

  footer.pane-footer {
    .footer-content {
      .block-footer-links {
        .block-footer-contact {
          width: 100%;
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          align-content: flex-start;
          gap: 0 24px;
          overflow: hidden;

          h2 {
            width: 100%;
            height: 32px;
            flex-grow: 0;
          }

          .tel {
            flex-grow: 1;
          }

          .tel,
          .web {
            margin: 0 !important;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            height: calc(100% - 56px);
          }
        }
      }
    }
  }

/*---- 商品詳細 ----*/
.pane-goods-left-side {
  .block-goods-comment1 {
    order: 5;
    margin-top: 24px;
  }
  .block-goods-comment3 {
    order: 0;
    margin-top: 20px;
  }
}
