@charset "UTF-8";

/*---- parts ----*/
.mb100 {
  margin-bottom: 100px;
}

.bg_blue_ {
  background-color: #f6f9fe;
}

.txt_center_ {
  text-align: center;
}

.anchor_ {
  margin-top: -100px;
  padding-top: 100px;
}

/*----- page -----*/
.page_contents {
  overflow: hidden;
  width: 960px;
  margin: 0 auto;
  padding: 0 0 30px;
  line-height: 2;

  .page_contents_inner {
    margin-bottom: 40px;
  }

  p {
    padding: 0 10px;
    margin-bottom: 20px;
  }

  h1 {
    text-align: center;
    line-height: 1.4;
    padding: 0 0 24px;
    margin: 0 0 50px;
    position: relative;
    letter-spacing: 0.2em;
    font-size: 2.6rem;
    font-weight: normal;

    span {
      display: block;
      font-size: 1.3rem;
      line-height: 1.1;
      letter-spacing: 0.075em;
      padding-top: 5px;
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 2em;
      margin-left: -1em;
      height: 2px;
      background-color: var(--cl-heading, #444444);
    }
  }

  .h2,
  h2 {
    line-height: 1.4;
    padding-bottom: 12px;
    margin-bottom: 20px;
    position: relative;
    letter-spacing: 0.1em;
    font-size: 2.0rem;
    font-weight: 600;
    color: var(--cl-heading, #444444);
    border-bottom: 2px solid var(--cl-heading, #444444);
  }

  .h3,
  h3 {
    margin: 10px 0;
    background-color: var(--cl-heading, #444444);
    color: #ffffff;
    letter-spacing: 0.05em;
    font-family: var(--ff-serif);
    font-size: 1.8rem;
    padding: 10px;
  }

  .h4,
  h4 {
    font-weight: 600;
    font-size: 1.6rem;
    padding: 8px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--cl-heading, #444444);
  }

  .h5,
  h5 {
    margin-bottom: 10px;
    margin: 10px 0;
    padding: 6px 6px 6px 10px;
    font-weight: 600;
    font-size: 1.6rem;
    color: var(--cl-heading, #444444);
    background: var(--col_paleGray, #f5f5f6);
  }

  .page_box1 {
    text-align: center;
    padding: 20px;
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;

    span {
      font-size: 1.3rem;
    }
  }

  .page_box2 {
    background: var(--col_paleGray, #f5f5f6);
    padding: 20px;
  }

  .txt_l {
    font-weight: 600;
    font-size: 1.6rem;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
  }

  .txt_s {
    font-size: 1.2rem;
    color: #808080;
  }

  .page_button1 {
    margin: 0 auto 30px auto;
    width: 360px;
    display: block;
    font-size: 1.8rem;

    a& {
      text-decoration: none;
    }
  }

  .page_table {
    width: 100%;
    margin-bottom: 40px;
    background: #ffffff;
  }

  ul, ol {
    &.compact li {
      margin: 0 !important;
    }
  }

  dl {
    dt {
      margin: 10px 0 0 0;

      &:first-child {
        margin: 0;
      }
    }

    dd {
      padding: 0 0 0 10px;
    }

    &.compact {
      margin-bottom: 20px;

      dt {
        float: left;
        margin: 0 1em 0 0;

        &:has(+ &) {
          width: 100%;

          & ~ dt:has(+ dd) {
            margin-left: 10px;
          }
        }
      }

      dd {
        &::after {
          clear: both;
          display: block;
          content: "";
        }
      }
    }
  }

  /*---- プライバシーポリシー ----*/
  &.pp-content {

    .page_contents_inner {
      & > :is(ul, ol, dl) {
        padding: 0;

        & > li {
        }
      }

      h3, h4, h5, h6 {
        & ~ :not(&) {
          padding: 0 0 0 10px;
        }
      }

      li {
        margin: 0 0 20px;

        &:last-child {
          margin: 0;
        }

        &:not(:has(*)) {
          padding-left: 1em;
          text-indent: -1em;
        }

        h3, h4, h5, h6 {
          border: none;
          margin: 20px 0 0;
          padding: unset;
          color: unset;
          font-family: unset;
          font-weight: normal;
          font-size: unset;
          background-color: unset;
        }

        ul > & {
        }

        ol > & {
          margin: 0 0 8px;

          &:last-child {
            margin: 0;
          }
        }

        table {
          margin: 20px 0;
        }
      }
    }

    .page_contents_pmark {
      position: relative;

      .pmark {
        position: absolute;
        right: 0;
        top: 20px;
        width: 150px;
      }
    }
  }

  /*---- 特定商取引法に基づく表示 ----*/
  &.law-content {
    .page_table {
      th {
        width: 18em;
      }
    }
  }
}

/*---- 商品詳細 ----*/
.block-goodsdetail {
  margin-top: 40px;
  padding-bottom: 130px;
}

.block-goodsdetail-main {
  display: flex;
  justify-content: space-between;
}

.block-goodsdetail-main-img {
  width: 330px;
}

.block-goodsdetail-main-img-slider {
  display: flex;
  visibility: hidden;

  &.slick-initialized {
    display: block;
    visibility: visible;
  }

  .slick-prev {
    left: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
  }

  .slick-next {
    right: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJtMjAgMTUgMTAgMTAtMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
  }

  .slick-dots {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;

    li {
      &:not(:nth-child(5n)) {
        margin-right: 10px;
      }

      &:not(:nth-child(-n + 5)) {
        margin-top: 10px;
      }
    }

    button {
      width: 58px;
      height: 58px;
      margin: 0;
      padding: 0;
      border: none;
      background-color: transparent;
      cursor: pointer;
    }
  }

  .slick-arrow {
    position: absolute;
    top: 140px;
    width: 50px;
    height: 50px;
    border: none;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    cursor: pointer;
    z-index: 9;
  }
}

.block-goodsdetail-main-img-slider-item {
  flex-shrink: 0;
  width: 330px;

  img {
    display: block;
  }
}

.block-goodsdetail-main-detail {
  display: flex;
  flex-direction: column;
  width: 810px;
}

.block-goodsdetail-main-ttl {
  display: flex;
  align-items: center;
  padding: 0 9px;

  p {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 40px;
    padding: 0 22px;
    background: var(--col_Gold, #baa66d);
    color: #ffffff;
    color: #ffffff;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;

    &::before,
    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      width: 9px;
      height: 40px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjQwIj48cGF0aCBkPSJNMCAwaDl2NDBIMGw5LTE5LjY4N1oiIGZpbGw9IiNiMTliN2IiLz48L3N2Zz4=");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
    &::before {
      left: -9px;
    }
    &::after {
      right: -9px;
      transform: rotate(180deg);
    }
  }
}

.block-goodsdetail-main-off_name {
  display: flex;
  align-items: center;
  margin-top: 14px;
}

.block-goodsdetail-main-off {
  flex-shrink: 0;
  width: 150px;
  margin-right: 23px;
  letter-spacing: 0.04em;

  p {
    &:nth-child(1) {
      font-size: 1.2rem;
      font-weight: 600;
      text-align: center;
    }

    &:nth-child(2) {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100%;
      height: 32px;
      margin-top: 5px;
      background-color: #f2eee6;
      font-weight: 600;
      font-size: 1.8rem;
      color: var(--col_Gold, #baa66d);

      span {
        font-size: 1.4rem;
      }

      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: -7px;
        width: 0;
        height: 0;
        margin-top: -8px;
        border-style: solid;
        border-width: 8px 0 8px 14px;
        border-color: transparent transparent transparent #f2eee6;
      }
    }
  }
}

.block-goodsdetail-main-name {
  flex-shrink: 1;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;

  p.sub {
    font-size: 2.4rem;
  }
}

.block-goodsdetail-main-comment {
  margin-top: 20px;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.1em;
}

.block-goodsdetail-main-step {
  margin-top: auto;
}

.block-goodsdetail-main-step-ttl {
  margin-top: 22px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

.block-goodsdetail-main-step-flow {
  margin-top: 22px;

  ul {
    display: flex;
  }

  li + li {
    position: relative;
    margin-left: 30px;

    &::before {
      content: "";
      display: block;
      position: absolute;
      bottom: 25px;
      left: -21px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 0 10px 13px;
      border-color: transparent transparent transparent var(--col_Gold, #baa66d);
    }
  }

  a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 180px;
    text-decoration: none;
  }

  .list-step {
    position: relative;
    padding-bottom: 2px;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background: var(--col_Gold, #baa66d);
    }

    .list-content {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      margin-top: 10px;
      padding: 9px;
      border: 1px solid #dddee0;
    }

    .list-img {
      width: 50px;

      img {
        display: block;
      }
    }

    .list-detail {
      width: 100px;
      font-size: 1.4rem;
      font-weight: 600;
      line-height: 1.214;
      letter-spacing: 0.1em;
    }
  }
}

  .block-goodsdetail-select {
    margin-top: 80px;
  }

.block-goodsdetail-select-content + .block-goodsdetail-select-content {
  margin-top: 80px;
}

.block-goodsdetail-select-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;

  .step {
    position: relative;
    color: var(--col_Gold, #baa66d);
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: 0.04em;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 10px;
      right: -16px;
      width: 2px;
      height: 24px;
      background: var(--col_Gold, #baa66d);
      transform: rotate(33deg);
    }
  }

  h2 {
    display: flex;
    align-items: center;
    margin: 14px 0 0;
    padding: 0;
    background-color: transparent;
    font-weight: 600;
    letter-spacing: 0.1em;

    .txt {
      font-size: 2.4rem;
    }

    .bdr {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 30px;
      padding: 0 6px;
      margin-left: 16px;
      border: 1px solid #464748;
      font-size: 2rem;
    }
  }

  .anker {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  li + li {
    margin-left: 24px;
  }

  a {
    display: block;
    position: relative;
    padding-bottom: 2px;
    color: #bcbec1;
    font-size: 1.8rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.1em;
    transition: 0.2s;

    .is-current & {
      color: #464748;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: var(--col_Gold, #baa66d);
      }
    }

    &:hover {
      opacity: 60%;
    }
  }
}

.block-goodsdetail-select-annotation {
  margin-top: 10px;
  color: #d01414;
  font-size: 1.6rem;
  font-weight: 600;

  p {
    position: relative;
    padding-left: 1em;

    &::before {
      content: "※";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

.block-goodsdetail-select-list {
  margin-top: 40px;
  padding: 40px 10px 40px 40px;
  background-color: rgb(177 155 123 /10%);
}

.block-goodsdetail-select-list-body {
  max-height: 920px;
  overflow: auto;

  &::-webkit-scrollbar {
    width: 8px;
  }
  &::-webkit-scrollbar-track {
    background-color: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background-color: #d1cfc9;
  }

  > ul {
    display: flex;
    flex-wrap: wrap;

    &.list-1 > li,
    &.list-2 > li {
      width: 267px;
    }

    &.list-3 > li {
      width: 212px;
    }

    &.list-4 > li {
      width: 545px;
    }

    &.list-1 > li:not(:nth-child(4n)),
    &.list-2 > li:not(:nth-child(4n)),
    &.list-3 > li:not(:nth-child(5n)),
    &.list-4 > li:not(:nth-child(2n)) {
      margin-right: 10px;
    }

    &.list-1 > li:not(:nth-child(-n + 4)),
    &.list-2 > li:not(:nth-child(-n + 4)),
    &.list-3 > li:not(:nth-child(-n + 5)),
    &.list-4 > li:not(:nth-child(-n + 2)) {
      margin-top: 16px;
    }
  }

  .list-content {
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    line-height: 1.375;
    letter-spacing: 0.1em;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 2px solid var(--col_MypreBlue, #00467f);
      opacity: 0;
      transition: 0.15s;
    }

    &.is-selected::before {
      opacity: 100%;
    }

    > * {
      position: relative;
    }
  }

  .list-img img {
    display: block;
    width: 100%;
  }

  .list-name {
    margin-top: 16px;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
  }

  .list-price {
    margin-top: 7px;
    font-size: 1.6rem;
    text-align: center;

    .yen {
      font-weight: 600;
    }

    .tax {
      font-size: 1.1rem;
    }
  }

  .list-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    margin: 14px 0 0;
    padding: 0;
    border: none;
    background: var(--col_Gold, #baa66d);
    color: #ffffff;
    font-size: 1.5rem;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;

    &:hover {
      opacity: 70%;
    }
  }

  .list-view_catalog {
    margin-top: 10px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 35px;
      border: 1px solid var(--col_Gold, #baa66d);
      background-color: #ffffff;
      color: #464748;
      font-size: 1.4rem;
      text-align: center;
      text-decoration: none;
      letter-spacing: 0.1em;
      transition: 0.2s;

      &:hover {
        opacity: 70%;
      }
    }
  }

  .list-view_detail {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;

    button {
      margin: 0;
      padding: 0;
      border: none;
      background-color: transparent;
      font-size: 1.4rem;
      text-align: center;
      text-decoration: underline;
      letter-spacing: 0.1em;
      cursor: pointer;

      &:hover {
        text-decoration: none;
      }
    }
  }

  > ul.list-4 {
    .list-content {
      display: flex;
      align-items: center;
    }

    .list-img {
      width: 160px;
    }

    .list-detail {
      width: 295px;
      margin-left: 40px;
    }

    .list-name {
      margin-top: 0;
      text-align: left;
    }

    .list-price {
      margin-top: 12px;
      text-align: left;
    }

    .list-view_detail {
      justify-content: flex-end;
    }
  }
}

.block-goodsdetail-select-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;

  .block-goodsdetail-select-modal-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 /30%);
  }

  .block-goodsdetail-select-modal-body {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1000px;
    padding: 80px;
    background-color: #ffffff;
    transform: translate(-50%, -50%);
  }

  .block-goodsdetail-select-modal-close-btn {
    position: absolute;
    top: -50px;
    right: 0;
    width: 31px;
    height: 31px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMS40MTEiIGhlaWdodD0iMzEuMzM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTS43MDcgMzAuNjMgMzAuNjMuNzA4TS43ODguNzEzbDI5LjkxNiAyOS45MTUiLz48L3N2Zz4=");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
  }

  .block-goodsdetail-select-modal-slider {
    display: flex;
    overflow: hidden;

    &.slick-initialized {
      display: block;
      overflow: visible;
    }

    .slick-arrow {
      position: absolute;
      top: 50%;
      width: 50px;
      height: 50px;
      margin-top: -25px;
      border: none;
      background-color: transparent;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      color: transparent;
      cursor: pointer;
      z-index: 9;
    }

    .slick-prev {
      left: -70px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
    }

    .slick-next {
      right: -70px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJtMjAgMTUgMTAgMTAtMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
    }
  }

  .block-goodsdetail-select-modal-slider-item {
    flex-shrink: 0;
    width: 100%;
  }

  .block-goodsdetail-select-modal-slider-item-content {
    display: flex;
    justify-content: space-between;
    width: 100%;

    .item-img {
      width: 360px;

      img {
        display: block;
        width: 100%;
      }
    }

    .item-detail {
      width: 440px;
      letter-spacing: 0.1em;
    }

    .item-name {
      font-size: 2.4rem;
      font-weight: 600;
      line-height: 1.417;
    }

    .item-price {
      margin-top: 8px;
      font-size: 2.2rem;

      .yen {
        margin-right: 8px;
        font-size: 3rem;
        font-weight: 600;
      }

      .tax {
        font-size: 1.3rem;
      }
    }

    .item-comment {
      margin-top: 18px;
      font-size: 1.6rem;
      line-height: 1.625;
    }

    .item-desc {
      margin-top: 14px;

      dl {
        display: flex;
        padding: 14px 0;
        border-bottom: 1px solid #dddee0;
        font-size: 1.4rem;

        dt {
          width: 124px;
          padding-right: 14px;
        }

        dd {
          width: calc(100% - 124px);
        }
      }
    }
  }
}

.block-goodsdetail-select-selected {
  margin-top: 80px;
  padding-top: 40px;
  border-top: 2px solid var(--col_Gold, #baa66d);

  ul {
    display: flex;
    justify-content: center;
  }

  li {
    width: 265px;
    color: #d01414;
    letter-spacing: 0.1em;

    &.is-selected {
      color: #464748;
    }

    &  & {
      position: relative;
      margin-left: 40px;

      &::before {
        content: "";
        display: block;
        position: absolute;
        bottom: 40px;
        left: -26px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0 10px 13px;
        border-color: transparent transparent transparent var(--col_Gold, #baa66d);
      }
    }

    .list-not_selected {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 2px solid #d01414;
      color: #d01414;
      font-size: 1.4rem;
      font-weight: 400;
      text-align: center;
      text-decoration: none;
      line-height: 1.429;

      .is-selected & {
        display: none;
      }
    }
  }

  .list-header {
    font-size: 1.8rem;
    font-weight: 600;
  }

  .list-ttl {
    margin-top: 4px;
  }

  .list-goods {
    position: relative;
    width: 100%;
    height: 100px;
    margin-top: 12px;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      width: 100%;
      height: 100%;
      border: 1px solid #dddee0;
    }
  }

  .list-content {
    display: none;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 9px;
    color: #464748;
    text-decoration: none;

    li.is-selected & {
      display: flex;
    }
  }

  .list-img {
    width: 80px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-detail {
    width: 143px;
  }

  .list-name {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.333;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .list-price {
    margin-top: 8px;
    font-size: 1.6rem;

    .yen {
      font-weight: 600;
    }
  }
}

.block-goodsdetail-cart {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 2px solid var(--col_Gold, #baa66d);
}

.block-goodsdetail-cart-price {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 600;
  letter-spacing: 0.1em;

  .block-goodsdetail-cart-price.is-hide > * {
    transition: 0.15s;
    opacity: 0;
  }
}

.block-goodsdetail-cart-price-1,
.block-goodsdetail-cart-price-2 {
  display: flex;
  align-items: center;

  dl {
    display: flex;
    align-items: baseline;
  }
}

.block-goodsdetail-cart-price-1 {
  dl + dl {
    position: relative;
    margin-left: 43px;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: -33px;
      width: 0;
      height: 0;
      margin-top: -10px;
      border-style: solid;
      border-width: 10px 0 10px 13px;
      border-color: transparent transparent transparent var(--col_Gold, #baa66d);
    }
  }

  dt {
    font-size: 1.8rem;
  }

  dd {
    margin-left: 18px;
    font-size: 2.2rem;

    .yen {
      position: relative;
      margin-right: 8px;
      font-size: 3.4rem;
    }

    .tax {
      font-size: 1.3rem;
    }
  }
}

.block-goodsdetail-cart-price-2 {
  margin-left: 20px;

  .price-carryon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 155px;
    height: 60px;
    padding-left: 17px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTUiIGhlaWdodD0iNjAiPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0xNDEuNDE3IDU5SDFWMWgxNDAuNDM0bDEyLjQ3NyAyOC4wMTNMMTQxLjQxNyA1OVoiLz48cGF0aCBkPSJNMiAydjU2aDEzOC43NWwxMi4wNzItMjguOTc0TDE0MC43ODUgMkgyTTAgMGgxNDIuMDgzTDE1NSAyOWwtMTIuOTE3IDMxSDBWMFoiIGZpbGw9IiNiMTliN2IiLz48L2c+PC9zdmc+");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 1.5rem;
    line-height: 1.333;

    p:nth-child(2) {
      color: #d01414;
    }
  }

  .price-special {
    margin-left: 16px;

    dt {
      color: #d01414;
      font-size: 1.8rem;
    }

    dd {
      margin-left: 13px;
      font-size: 2.2rem;

      .yen {
        margin-right: 4px;
        font-size: 4rem;
      }

      .tax {
        font-size: 1.3rem;
      }
    }
  }

  .price-shippingfree {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding-left: 0.1em;
    border-radius: 4px;
    background-color: #d01414;
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1.148;
  }
}

.block-goodsdetail-cart-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  letter-spacing: 0.1em;

  .form-qty {
    display: flex;
    align-items: center;

    p {
      font-size: 1.6rem;
      font-weight: 600;
    }

    input[type="number"] {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: 100px;
      height: 56px;
      margin-left: 10px;
      padding: 0 20px;
      border: 1px solid #dddee0;
      font-size: 2rem;
      font-weight: normal;
      text-align: right;
      letter-spacing: 0.02em;
      -moz-appearance: textfield;

      .fo&::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
      }
    }
  }

  .form-btn {
    margin-left: 24px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 300px;
      height: 56px;
      background: var(--col_Gold, #baa66d);
      color: #ffffff;
      font-size: 1.8rem;
      font-weight: 600;
      text-decoration: none;
      transition: 0.2s;

      &.is-disable {
        background-color: #eae8e7;
        pointer-events: none;
      }

      &:hover {
        opacity: 70%;
      }
    }
  }
}

.block-goodsdetail-campaign {
  margin-top: 8px;
  color: #d01414;
  font-size: 2rem;
  font-weight: 600;
}

/*---- 引き出物の新定番 ----*/
.block-new_standard_gift {
  margin-top: 40px;
  padding-bottom: 90px;
}

.block-new_standard_gift-container {
  width: var(--wrapperW);
  margin: 0 auto;
}

.block-new_standard_gift-header {
  .balloon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 85px;
    margin: 0 auto;
    padding-bottom: 10px;
    background-image: url("/img/usr/new_standard_gift/ttl_bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    color: #ffffff;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
  }

  h1 {
    margin: 0;
    padding: 0;
    font-size: 3.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.1em;

    strong {
      font-size: 5rem;
      font-weight: 600;
    }
  }

  .mv {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;

    img {
      display: block;
    }
  }
}

.block-new_standard_gift-good_deal {
  position: relative;
  margin-top: 55px;
  padding: 55px 40px 40px;
  background-color: rgb(177 155 123 /10%);

  h2 {
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    text-align: center;
    letter-spacing: 0.1em;

    span {
      font-size: 3rem;
      font-weight: 600;
    }
  }
}

.block-new_standard_gift-good_deal-content {
  display: flex;
  justify-content: space-between;
}

.block-new_standard_gift-good_deal-content-item {
  position: relative;
  width: 510px;
  background-color: #ffffff;

  & + &::before {
    content: "";
    display: block;
    position: absolute;
    top: 122px;
    left: -51px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 0 20px 26px;
    border-color: transparent transparent transparent var(--col_Gold, #baa66d);
  }

  .item-ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    color: #ffffff;
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.1em;
  }

  &:nth-child(1) .item-ttl {
    background: var(--col_MypreBlue, #00467f);
  }

  &:nth-child(2) .item-ttl {
    background: var(--col_Gold, #baa66d);
  }

  .item-content {
    padding: 32px 0 24px;

    ul {
      display: flex;
      justify-content: center;

      li {
        width: 150px;

        & + & {
          position: relative;

          &::before {
            content: "";
            display: block;
            position: absolute;
            top: 18px;
            left: -12px;
            width: 24px;
            height: 24px;
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;

            li:nth-child(1) & {
              background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy41ODYiIGhlaWdodD0iMjMuNTg2Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9IiMxMTQyOTkiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMyI+PHBhdGggZD0iTTExLjc5MyAwdjIzLjU4Nk0wIDExLjc5M2gyMy41ODYiLz48L2c+PC9zdmc+");
            }
            li:nth-child(2) & {
              background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy41ODYiIGhlaWdodD0iMjMuNTg2Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9IiNCMTlCN0IiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMyI+PHBhdGggZD0iTTExLjc5MyAwdjIzLjU4Nk0wIDExLjc5M2gyMy41ODYiLz48L2c+PC9zdmc+");
            }
          }
        }
      }
    }

    .list-img {
      display: flex;
      align-items: center;
      justify-content: center;

      img {
        display: block;
      }
    }

    .list-price {
      margin-top: 8px;
      font-size: 1.2rem;
      text-align: center;
      letter-spacing: 0.04em;

      .yen {
        font-size: 1.8rem;
        font-weight: 600;
      }
    }

    .list-annotation {
      width: 136px;
      margin: 4px auto 0;
      padding-left: 1em;
      font-size: 1.2rem;
      font-weight: normal;
      letter-spacing: 0.04em;
      text-indent: -1em;

      strong {
        font-size: 1.5rem;
      }
    }

    .list-annotation_img {
      position: absolute;
      top: 12px;
      right: -80px;

      img {
        display: block;
        width: 100px;
        height: 100px;
        border-radius: 100px;
        box-shadow: 0 0 10px 0 rgb(0 0 0 /10%);
      }

      &::before {
        content: "";
        display: block;
        position: absolute;
        top: 92px;
        left: -2px;
        width: 57px;
        height: 65px;
        background-image: url("/img/usr/new_standard_gift/good_deal_arw.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }
    }
  }
}

.block-new_standard_gift-comment {
  margin-top: 80px;
  font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  line-height: 2.222;
  letter-spacing: 0.1em;

  .yellow_bdr {
    border-bottom: 3px solid #fff6a7;
    font-weight: 600;
  }
}

.block-new_standard_gift-series {
  margin-top: 80px;
}

.block-new_standard_gift-series-content {
  margin-top: 56px;

  ul {
    display: flex;
    flex-wrap: wrap;

    li {
      position: relative;
      width: 380px;

      &:not(:nth-child(3n)) {
        margin-right: 20px;
      }

      &:not(:nth-child(-n + 3)) {
        margin-top: 40px;
      }
    }
  }


  .list-ttl {
    display: flex;
    align-items: center;
    height: 100px;

    p {
      display: flex;
      align-items: center;
      height: 100px;

      li.list-yellow & {
        background-color: #faebca;
      }

      li.list-blue & {
        background-color: #caf0fa;
      }

      &:nth-child(1) {
        justify-content: center;
        width: 100px;
        font-size: 4rem;
        font-weight: 600;
        text-align: center;
        letter-spacing: 0.04em;
        box-shadow: 0 0 10px 0 rgb(0 0 0 /10%);
        z-index: 9;

        li.list-yellow & {
          color: #efb75f;
        }

        li.list-blue & {
          color: #74cae0;
        }
      }

      &:nth-child(2) {
        width: calc(100% - 100px);
        padding: 0 24px;
        font-size: 2.4rem;
        font-weight: 600;
        letter-spacing: 0.04em;
      }
    }
  }

  li .list-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 18px 38px;
    border: 2px solid #000000;
    border-top: none;

    li.list-yellow & {
      border-color: #faebca;
    }

    li.list-blue & {
      border-color: #caf0fa;
    }
  }

  .list-off {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: -2px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;

    p:nth-child(1) {
      font-size: 1.4rem;
    }

    p:nth-child(2) {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 180px;
      height: 32px;
      margin-top: 8px;
      font-size: 1.8rem;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: -9px;
        left: 50%;
        margin-left: -8px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 14px 8px 0 8px;
      }

      li.list-yellow & {
        background-color: #fcf4e4;
        color: #efb75f;

        &::after {
          border-color: #fcf4e4 transparent transparent transparent;
        }
      }

      li.list-blue & {
        background-color: #eaf8fb;
        color: #74cae0;

        &::after {
          border-color: #eaf8fb transparent transparent transparent;
        }
      }

      span {
        font-size: 1.4rem;
      }
    }
  }

  .list-name {
    margin: 18px -40px 0;
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.05;
    letter-spacing: 0.08em;

    strong {
      font-size: 4rem;
      font-weight: 600;
    }
  }

  .list-color {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    margin-top: 11px;
    padding: 0 5px;
    border: 1px solid #464748;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
  }

  .list-img {
    position: relative;
    margin-top: 24px;

    figure:nth-child(2) {
      position: absolute;
      top: 96px;
      left: -10px;
      width: 140px;
      height: 140px;
      border-radius: 140px;
      box-shadow: 0 3px 10px 0 rgb(0 0 0 /16%);

      img {
        width: 140px;
        height: 140px;
        border-radius: 140px;
      }
    }

    img {
      display: block;
    }
  }

  .list-comment {
    margin-top: 24px;
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: 0.04em;
  }

  .list-badge {
    position: absolute;
    top: -17px;
    left: 0;
    z-index: 9;

    img {
      display: block;
      height: 35px;
    }
  }
}

.block-new_standard_gift-happy {
  margin-top: 100px;
}

.block-new_standard_gift-happy-content {
  margin-top: 40px;

  ul {
    display: flex;
    flex-wrap: wrap;
  }

  li {
    width: 366px;

    &:not(:nth-child(3n)) {
      margin-right: 40px;
    }
  }

  .list-img img {
    display: block;
  }

  .list-detail {
    margin-top: 10px;
  }

  .list-step {
    font-size: 6rem;
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  .list-ttl {
    margin-top: 10px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  .list-comment {
    margin-top: 20px;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0.04em;
  }
}

.block-new_standard_gift-after_photo {
  margin-top: 100px;

  h2 {
    position: relative;
    margin: 0;
    padding: 72px 0 0;
    border: none;
    background-color: transparent;
    font-size: 3rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      width: 131px;
      height: 55px;
      margin-left: -65px;
      background-image: url("/img/usr/category/content_ttl.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
  }
}

.block-new_standard_gift-after_photo-comment {
  margin-top: 24px;
  font-size: 1.8rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-new_standard_gift-after_photo-slider {
  display: flex;
  width: 100%;
  margin-top: 30px;
  overflow: hidden;

  &.slick-initialized {
    display: block;
    overflow: visible;
  }

  .slick-arrow {
    display: block;
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    border: none;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    cursor: pointer;
    z-index: 9;
  }

  .slick-prev {
    left: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
  }

  .slick-next {
    right: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
    transform: rotate(180deg);
  }
}

.block-new_standard_gift-after_photo-slider-item {
  flex-shrink: 0;
  width: 300px;
  padding: 0 10px;

  img {
    display: block;
    width: 100%;
  }
}

/*---- 仏事 ----*/
.pane-topic-path:has(+ .pane-butsuji) {
  width: var(--wrapperW);
  margin: 0 auto;
  position: relative;
}
.pane-butsuji {
  h1 {
    margin-top: -40px;
  }
}
.block-butsuji {
  font-family: "Klee One", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", cursive;
}

.block-butsuji-container {
  width: var(--wrapperW);
  margin: 0 auto;
}

.block-butsuji-mv {
  min-width: var(--wrapperW);
  margin-top: 24px;
}

.block-butsuji-mv-slider {
  display: flex;
  overflow: hidden;

  *:focus {
    outline: none;
  }

  &.slick-initialized {
    display: block;
    overflow: visible;
  }
}

.block-butsuji-mv-slider-item {
  width: 900px;
  margin: 0 -12px;
  scale: 83.3%;
  transition: 0.2s;

  &.slick-current {
    scale: 100%;
  }

  a,
  img {
    display: block;
  }
}

.block-butsuji-mv-slider {
  .slick-arrow-wrapper {
    display: block;
    position: absolute;
    top: 205px;
    left: 0;
    width: 100%;
  }

  .slick-arrow-body {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto;
  }

  .slick-arrow {
    display: block;
    width: 50px;
    height: 50px;
    border: none;
    background-color: transparent;
    color: transparent;
    cursor: pointer;
    z-index: 9;
  }

  .slick-prev {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
  }

  .slick-next {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2ZmZiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
    transform: rotate(180deg);
  }

  .slick-dots-wrapper {
    width: var(--wrapperW);
    margin: 24px auto 0;

    .slick-dots {
      display: flex !important;
      align-items: center;
      justify-content: center;
    }

    li + li {
      margin-left: 20px;
    }

    button {
      display: block;
      position: relative;
      width: 8px;
      height: 8px;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 8px;
      background-color: #e0e2e5;
      color: transparent;
      cursor: pointer;
      transition: 0.15s;

      .slick-active & {
        background-color: #c79ad1;
      }
    }
  }
}

.block-butsuji-campaign_bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 80px;

  img {
    display: block;
    width: 680px;
  }
}

.block-butsuji-top-comment {
  margin-top: 56px;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

.block-butsuji-top-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 80px;

  .item-img {
    width: 600px;

    img {
      display: block;
    }
  }

  .item-txt {
    width: 580px;
    font-size: 3rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.667em;
    letter-spacing: 0.1em;
  }
}

.block-butsuji-h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #c79ad1;
  }

  > span {
    display: block;
    position: relative;
    padding: 0 40px;
    background: var(--col_Background, #ffffff);
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.1em;

    span {
      display: inline;
      font-size: 3rem;
      font-weight: 600;
      letter-spacing: 0.1em;
    }
  }
}

.block-butsuji-design_list {
  margin-top: 90px;
}

.block-butsuji-design_list-top-comment {
  margin-top: 50px;
  padding-left: 0.1em;
  font-size: 2.6rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.538em;
  letter-spacing: 0.1em;
}

.block-butsuji-design_list-top_imgs {
  display: flex;
  justify-content: center;
  margin-top: 40px;

  li + li {
    margin-left: 80px;
  }

  img {
    display: block;
  }
}

.block-butsuji-design_list-tab-1st {
  display: flex;
  margin-top: 80px;

  .tab-item {
    width: calc(100% /4);

    button {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 90px;
      border: none;
      background: #ffffff;
      color: #464748;
      font-size: 2rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.1em;
      cursor: pointer;
      transition: 0.15s;
    }

    &:nth-child(1) button,
    .block-butsuji-design_list-target-1st > .target-item:nth-child(1) {
      background-color: #e8edf7;
    }

    &:nth-child(2) button,
    .block-butsuji-design_list-target-1st > .target-item:nth-child(2) {
      background-color: #f7f5e6;
    }

    &:nth-child(3) button,
    .block-butsuji-design_list-target-1st > .target-item:nth-child(3) {
      background-color: #e6f7e6;
    }

    &:nth-child(4) button,
    .block-butsuji-design_list-target-1st > .target-item:nth-child(4) {
      background-color: #f8eeeb;
    }
  }
}

.block-butsuji-design_list-target-1st {
  > .target-item {
    display: none;
    padding: 40px 10px;

    &.is-active {
      display: block;
    }
  }

  .target-item-imgs {
    display: flex;
    justify-content: space-between;
    padding: 20px 30px 0;

    img {
      display: block;
      width: 356px;
    }
  }
}

.block-butsuji-design_list-tab-2nd {
  display: flex;
  justify-content: space-between;
  margin: 0 30px;
  padding: 20px 0;
  border-top: 1px solid #c79ad1;
  border-bottom: 1px solid #c79ad1;

  .tab-item {
    width: calc((100% - 20px) /3);

    button {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 60px;
      padding: 0;
      border: none;
      background: #ffffff;
      color: #464748;
      font-size: 2rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.1em;
      cursor: pointer;
      transition: 0.15s;

      &.btn-l {
        height: 110px;
      }

      p:nth-child(1) {
        font-size: 2.4rem;
      }

      p:nth-child(2) {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - 32px);
        height: 52px;
        margin-top: 7px;
        padding-top: 6px;
        border-top: 1px solid #c79ad1;
        font-size: 1.6rem;
        line-height: 1.333;

        .is-active & {
          border-color: #ffffff;
        }
      }

      .is-active & {
        background-color: #c79ad1;
        color: #ffffff;
      }
    }
  }
}

.block-butsuji-design_list-target-2nd {
  .target-item-body {
    height: 674px;
    margin: 40px 0 0 30px;
    overflow: auto;

    &::-webkit-scrollbar {
      width: 8px;
    }
    &::-webkit-scrollbar-track {
      background-color: transparent;
    }
    &::-webkit-scrollbar-thumb {
      background-color: #cfc9d1;
    }

    ul {
      display: flex;
      flex-wrap: wrap;
    }

    li {
      width: 260px;

      &:not(:nth-child(4n)) {
        margin-right: 20px;
      }
      &:not(:nth-child(-n + 4)) {
        margin-top: 20px;
      }

      button {
        display: block;
        padding: 10px 10px 16px;
        border: none;
        background: #ffffff;
        cursor: pointer;
        transition: 0.2s;

        &:hover {
          opacity: 70%;
        }
      }

      figure {
        display: flex;
        align-items: center;
        justify-content: center;
      }

      img {
        display: block;
        max-width: 100%;
        max-height: 100%;
      }

      p {
        margin-top: 14px;
        font-size: 1.6rem;
        font-family: "Lato", sans-serif;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.04em;
      }
    }
  }
}

.block-butsuji-design_list-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;

  &.is-visible {
    opacity: 100%;
    visibility: visible;
    z-index: 999;
  }
}

.block-butsuji-design_list-modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 /30%);
}

.block-butsuji-design_list-modal-inner {
  position: absolute;
  top: calc(50% + 20px);
  left: 50%;
  width: 766px;
  max-height: calc(100vh - 120px);
  padding: 20px 20px 20px 100px;
  background: #ffffff;
  transform: translate(-50%, -50%);
}

.block-butsuji-design_list-modal-close-btn {
  position: absolute;
  top: -50px;
  right: 0;
  width: 31px;
  height: 31px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMS40MTEiIGhlaWdodD0iMzEuMzM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTS43MDcgMzAuNjMgMzAuNjMuNzA4TS43ODguNzEzbDI5LjkxNiAyOS45MTUiLz48L3N2Zz4=");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}

.block-butsuji-design_list-modal-scroll {
  width: 100%;
  height: 100%;
  padding: 80px 0;
  overflow: auto;
  overscroll-behavior: contain;

  &::-webkit-scrollbar {
    width: 8px;
  }
  &::-webkit-scrollbar-track {
    background-color: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background-color: #d1cfc9;
  }
}

.block-butsuji-design_list-modal-body {
  width: 566px;

  .modal-img img {
    display: block;
    width: 100%;
  }

  .modal-name {
    margin-top: 36px;
    font-size: 2.4rem;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.1em;
  }
}

.block-butsuji-create-bnr {
  margin-top: 100px;

  .item-bnr {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .item-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 400px;
      height: 60px;
      background-color: #c79ad1;
      color: #ffffff;
      font-size: 2.2rem;
      font-weight: 600;
      text-align: center;
      text-decoration: none;

      &:hover {
        opacity: 70%;
      }
    }
  }
}

.block-butsuji-flow {
  margin-top: 90px;
}

.block-butsuji-flow-list {
  margin-top: 45px;

  ul {
    display: flex;
  }

  li {
    position: relative;
    width: 240px;

    &:not(:nth-child(4n)) {
      margin-right: 73px;

      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 122px;
        right: -47px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 0 25px 20px;
        border-color: transparent transparent transparent #dddee0;
      }
    }
  }

  .list-step {
    &.pc-only {
      display: block;
      position: relative;
      padding-top: 22px;
      font-size: 3.3rem;
      font-family: "Lato", sans-serif;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.04em;
      z-index: 9;
    }

    &::before {
      content: "STEP";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      text-align: center;
      color: #c79ad1;
      font-size: 1.6rem;
    }
  }

  .list-img {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: -23px;
    z-index: 1;

    img {
      display: block;
      width: 200px;
    }
  }

  .list-comment {
    margin-top: 26px;
    font-size: 1.8rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.667em;
    letter-spacing: 0.1em;
  }
}

.block-butsuji-select {
  margin-top: 83px;
}

.block-butsuji-select-item {
  margin-top: 50px;

  & + & {
    margin-top: 100px;
  }
}

.block-butsuji-select-item-desc {
  display: flex;
  justify-content: space-between;
  gap: 20px;

  .item-img {
    display: flex;
    justify-content: space-between;
    flex-shrink: 0;
    width: 380px;

    img {
      display: block;
      width: 380px;
    }
  }

  .item-ttl {
    display: flex;
    margin-top: -6px;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.667em;
    letter-spacing: 0.1em;
  }

  .item-comment {
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: 1.875em;
    letter-spacing: 0.1em;
  }
}

.block-butsuji-select-item-list {
  margin-top: 60px;
  padding: 32px;
  background-color: rgb(199 154 209 /10%);

  ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 10px;
  }

  li {
  --cl-br: var(--cl-br, #433d37);

    border-radius: 8px;
    width: calc((100% - 40px) /5);
    padding: 10px;
    text-align: center;
    font-family: var(--ff-serif);
    color: var(--cl-br, #433d37);
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 0 1px 1px #ad85b510;
  }

  .list-img {
    position: relative;
    overflow: hidden;
    margin: 0 0 10px;

    img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
    }
  }

  .list-name {
    font-feature-settings: "palt";
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.375;
    letter-spacing: 0.1em;
  }

  .list-price {
    margin: 4px 0 0 0;

    > span {
      display: block;
      font-size: 1.6rem;
      white-space: nowrap;
      line-height: 1.4;

      &:first-child {
        font-weight: 600;
        font-size: 1.4rem;
        letter-spacing: 0.05em;

        .yen {
          margin-right: 2px;
          font-size: 1.8rem;
        }
      }

      &:last-child {
        font-size: 1.2rem;
      }
    }

    P {
      &.sale-price {
        color: #d01414;
      }

      > span:nth-child(1) {
        font-size: 1.6rem;

        .yen {
          font-weight: 600;
        }
      }

      > span:nth-child(2) {
        font-size: 1.1rem;
      }

      &.default-price > span {
        &:nth-child(1) {
          font-size: 1.3rem;

          .yen {
            font-weight: 600;
          }
        }

        &:nth-child(2) {
          font-size: 1rem;
        }
      }
    }

    .sale-comment {
      margin-top: 2px;
      color: #d01414;
      font-size: 1.3rem;
      font-weight: 600;
      line-height: 1.2;
    }
  }

  .list-num {
    margin-top: 7px;
    font-size: 1.3rem;
  }

  .list-link-1,
  .list-link-2,
  .list-link-3 {
    margin-top: 8px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 32px;
      font-weight: normal;
      text-align: center;
      text-decoration: none;
      letter-spacing: 0.05em;
      transition: 0.3s;

      &:hover {
        opacity: 70%;
      }

      .list-link-1 & {
      --col_Background: var(--col_Background, #ffffff);
        border: 1px solid var(--col_Gold, #baa66d);
        background: var(--col_Background, #ffffff);
        line-height: 1;
        font-size: 1.3rem;
      }
      .list-link-3 & {
        border-radius: 5px;
        background: #ad85b5;
        font-weight: 600;
        color: #ffffff;
        padding: 0.5em 0;
        box-sizing: border-box;
        height: 40px;
        line-height: 1;
        width: 100%;
        display: flex;
        text-decoration: none;

        &::after {
          background-color: #ffffff;
        }
      }
    }
  }

  .list-link-3 {
    a {
      background: #ad85b5;
      color: #ffffff;
      padding: 0.5em 0;
      box-sizing: border-box;
      height: auto;
      width: 100%;
      display: block;
      text-decoration: none;
    }
  }

  .yen {
    font-family: var(--ff-sans_serif);
  }
}

/*---- サービス： ----*/
.top-sect_service {
  h2.block-butsuji-h2 {
    margin: 83px 0 50px;
  }
  .series_lineup_list {
    margin: 0 auto;
    display: flex;
    gap: 16px;
    flex-direction: row;
    flex-wrap: wrap;
    width: 766px;

    > li {
      display: block;
      width: 375px;

      img {
        width: 100%;
      }
    }
  }
}

/*---- 仏事詳細 ----*/
.block-category-list--topic,
.block-goods-list--filter,
.block-goods-list--display-style-items,
.block-goods-list--sort-order-items,
.block-goods-list--pager .pager-total {
  display: none;
}

.block-butsuji_detail {
  margin-top: 15px;
  font-family: "Klee One", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", cursive;
}

.block-butsuji_detail-top {
  display: flex;
  justify-content: space-between;

  .item-img {
    width: 480px;

    img {
      display: block;
      width: 100%;
    }
  }

  .item-detail {
    width: 620px;
  }

  .item-name {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.417;
    letter-spacing: 0.1em;

    span:nth-child(2) {
      margin-top: 5px;
      font-size: 2rem;
    }
  }

  .item-price {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    margin-top: 24px;
    font-family: "Lato", -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    &.sale-price {
      color: #d01414;
    }

    p {
      &:nth-child(1) {
        font-size: 2.2rem;
        font-weight: 700;
        letter-spacing: 0.04em;
      }

      &:nth-child(1) .yen {
        margin-right: 4px;
        font-size: 3rem;
      }

      &:nth-child(2) {
        margin-left: 4px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
      }

      .default-price &:nth-child(1) {
        font-size: 1.8rem;

        .yen {
          font-size: 2.4rem;
        }
      }

      .default-price &:nth-child(2) {
        font-size: 1.2rem;
      }
    }
  }

  .sale-comment {
    margin-top: 10px;
    color: #d01414;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: right;
    letter-spacing: 0.1em;

    & + .item-price {
      margin-top: -5px;
    }
  }
}

.block-butsuji_detail-select {
  margin-top: 90px;
}

.block-butsuji_detail-select-1st {
  margin-top: 34px;

  ul {
    display: flex;
    justify-content: space-between;
  }

  li {
    width: calc(100% /4);

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100%;
      height: 90px;
      background-color: #f9f5fb;
      color: #464748;
      font-size: 2rem;
      font-weight: 600;
      text-align: center;
      text-decoration: none;
      letter-spacing: 0.1em;
      transition: 0.2s;

      &:hover {
        opacity: 70%;
      }

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: -20px;
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -12px;
        border-style: solid;
        border-width: 20px 11.5px 0 11.5px;
        opacity: 0;
        transition: 0.2s;
      }
      &.is-active::after {
        opacity: 100%;
      }
    }

    &:nth-child(1) a {
      background-color: #e8edf7;
      &::after {
        border-color: #e8edf7 transparent transparent transparent;
      }
    }

    &:nth-child(2) a {
      background-color: #f7f5e6;
      &::after {
        border-color: #f7f5e6 transparent transparent transparent;
      }
    }

    &:nth-child(3) a {
      background-color: #e6f7e6;
      &::after {
        border-color: #e6f7e6 transparent transparent transparent;
      }
    }

    &:nth-child(4) a {
      background-color: #f8eeeb;
      &::after {
        border-color: #f8eeeb transparent transparent transparent;
      }
    }
  }
}

.block-butsuji_detail-select-2nd {
  width: 1100px;
  margin: 40px auto 0;
  padding: 19px 26px;
  border-top: 1px solid #c79ad1;
  border-bottom: 1px solid #c79ad1;
  background-color: #f9f5fb;

  ul {
    display: flex;
    justify-content: space-between;
  }

  li {
    width: calc((100% - 20px) /3);
  }

  a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    background: #ffffff;
    color: #464748;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.1em;
    transition: 0.2s;

    &.is-active {
      background-color: #c79ad1;
      color: #ffffff;
    }

    & a:hover {
      opacity: 70%;
    }
  }
}

/*---- 幸せの3品 ----*/
.block-shiawase_3 {
  margin-top: -15px;
  padding-bottom: 100px;

  h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    min-width: var(--wrapperW);

    img {
      display: block;
      width: 100%;
      max-width: 1440px;
      height: 500px;
      object-fit: cover;
    }
  }
}

.block-shiawase_3-container {
  width: var(--wrapperW);
  margin: 0 auto;
}

.block-shiawase_3-example {
  min-width: var(--wrapperW);
  padding: 80px 0;
  background-color: #f3ede7;
}

.block-shiawase_3-example-h2 {
  margin: 0;
  padding: 0;
  color: var(--cl-br, #433d37);
  font-size: 3.6rem;
  font-family: var(--ff-serif);
  font-weight: 600;
}

.block-shiawase_3-example-content {
  margin-top: 28px;
  border: 2px solid #c0946a;
  color: var(--cl-br, #433d37);
  font-family: var(--ff-serif);
}

.block-shiawase_3-example-content-ttl {
  display: flex;
  align-items: center;
  height: 98px;
  padding: 0 28px 0 22px;
  background-color: #c0946a;

  .ttl-main-brown {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 600;

    img {
      position: relative;
      top: 4px;
      margin-right: 11px;
    }
  }

  .ttl-main-white {
    margin-top: -7px;
    color: #ffffff;
    font-size: 3.8rem;
    font-weight: normal;
  }

  .ttl-price {
    margin-left: 38px;
    padding-top: 5px;
    font-weight: 600;

    p:nth-child(1) {
      font-size: 2rem;
      .yen {
        margin-left: 1px;
        font-size: 1.6rem;
      }

      .tax {
        margin-left: -3px;
        font-size: 1rem;
      }
    }

    p:nth-child(2) {
      margin-top: -12px;
      font-size: 5rem;

      .yen {
        margin-left: 4px;
        font-size: 2.6rem;
      }

      .tax {
        margin-left: -8px;
        font-size: 2rem;
      }
    }
  }

  .ttl-comment {
    margin-left: auto;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.571;
  }
}

.block-shiawase_3-example-content-list {
  padding: 65px 28px 28px;
}

.block-shiawase_3-example-content-list-items {
  display: flex;
  justify-content: space-between;
}

.block-shiawase_3-example-content-list-item {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 360px;
  padding: 74px 19px 22px;
  border: 1px solid #c0946a;
  background-color: #ffffff;

  .list-no {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -45px;
    left: 20px;
    width: 100px;
    height: 100px;
    padding-bottom: 8px;
    border-radius: 100px;
    background-color: #b47e50;
    color: #ffffff;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.1em;

    p:nth-child(1) {
      font-size: 3rem;

      span {
        margin-left: 1px;
        font-size: 1.4rem;
      }
    }

    p:nth-child(2) {
      font-size: 2rem;
    }
  }


  .list-ttl {
    font-size: 2.2rem;
    text-align: center;
  }

  .list-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
  }

  .list-detail-img {
    width: 170px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-detail-txt {
    width: 130px;
    font-weight: normal;
    letter-spacing: 0.04em;

    .ttl {
      font-size: 1.8rem;
      text-align: center;
      line-height: 1.333;
    }

    .comment {
      margin-top: 8px;
      font-size: 1.2rem;
      line-height: 1.5;
    }
  }

  .list-example {
    margin: 20px 0 18px;
  }

  .list-example-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 50px;
    margin: 0 auto;
    border-radius: 100%;
    background-color: #f7eee4;
    font-size: 1.8rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.04em;
  }

  .list-example-imgs {
    margin-top: 20px;

    ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    li {
      width: 152px;
    }

    li:not(:nth-child(-n + 2)) {
      margin-top: 16px;
    }

    img {
      display: block;
      width: auto;
      height: 100px;
      margin: 0 auto;
    }

    figcaption {
      height: 42px;
      margin-top: 8px;
      font-size: 1.3rem;
      font-weight: normal;
      text-align: center;
      line-height: 1.538;
    }

    img {
      display: block;
      width: 100%;
    }
  }

  .list-price {
    margin-top: auto;
    font-size: 5rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;

    .yen {
      margin-left: 5px;
      font-size: 2.5rem;
    }

    .system {
      font-size: 1.4rem;
    }
  }
}

.block-shiawase_3-example-free_service {
  display: flex;
  align-items: center;
  width: 100%;
  height: 120px;
  margin-top: 40px;
  padding-left: 74px;
  background-color: #ffffff;
  font-family: var(--ff-serif);
  font-weight: 600;
  letter-spacing: 0.1em;

  .item-1 {
    span {
      display: block;
      position: relative;
      font-size: 2rem;

      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        left: -1px;
        width: 84px;
        height: 1px;
        background: var(--col_Gold, #baa66d);
      }
      &::before {
        top: -14px;
        transform: rotate(14deg);
      }
      &::after {
        bottom: -14px;
        transform: rotate(-14deg);
      }
    }
  }

  .item-2 {
    display: flex;
    align-items: center;
    margin-left: 58px;

    img {
      display: block;
      width: 80px;
    }
  }

  .item-2-txt {
    margin-left: 30px;

    p:nth-child(1) {
      color: #464748;
      font-size: 2.4rem;
      font-weight: 600;

      span {
        font-size: 2rem;
      }
    }

    p:nth-child(2) {
      display: flex;
      align-items: center;
      color: var(--col_Gold, #baa66d);
      margin-top: 1px;
      font-size: 2rem;
      font-weight: 600;

      .detail-badge {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 65px;
        height: 22px;
        padding-top: 2px;
        margin-right: 10px;
        border: 1px solid var(--col_Gold, #baa66d);
        border-radius: 3px;
        font-size: 1.3rem;
        letter-spacing: 0.04em;
      }
    }
  }

  .item-3 {
    position: relative;
    margin-left: 88px;
    font-size: 2.4rem;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: -58px;
      width: 28px;
      height: 28px;
      margin-top: -14px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYjE5YjdiIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiPjxwYXRoIGQ9Ik0xNCAwdjI4TTAgMTRoMjgiLz48L2c+PC9zdmc+");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }

    p {
      position: relative;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #d01414;
      }
    }

    .price {
      margin: 0 5px 0 8px;
      color: var(--col_Gold, #baa66d);
      font-size: 3rem;

      .yen {
        margin-left: 2px;
        font-size: 2.2rem;
      }
    }
  }
}

.block-shiawase_3-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;

  a,
  button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 400px;
    height: 56px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: #b47e50;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: 0.2s;

    &:hover {
      opacity: 70%;
    }
  }

  a::after {
    content: "";
    display: inline-block;
    position: relative;
    width: 7px;
    height: 7px;
    margin: -3px 0 0 10px;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    transform: rotate(45deg);
  }

  a.link::after {
    content: none;
  }
}

.block-shiawase_3-happiness {
  margin-top: 100px;
}

.block-shiawase_3-happiness-list {
  margin-top: 50px;

  li {
    display: flex;
    align-items: center;
    justify-content: space-between;

    & + & {
      margin-top: 100px;
    }
  }

  .list-img {
    width: 660px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-detail {
    width: 420px;
    color: var(--cl-br, #433d37);
    font-family: var(--ff-serif);
  }

  .list-no {
    width: 152px;

    img {
      display: block;
    }
  }

  .list-ttl {
    margin-top: 34px;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.389;
  }

  .list-dialogue {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 70px;
    margin-top: 30px;
    padding: 14px 0;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.455;
    text-align: center;

    .li&::after {
      content: "";
      display: block;
      position: absolute;
      width: 21px;
      height: 32px;
    }

    &::before {
      top: 0;
      left: 0;
      border-top: 1px solid var(--cl-br, #433d37);
      border-left: 1px solid var(--cl-br, #433d37);
    }

    &::after {
      right: 0;
      bottom: 0;
      border-right: 1px solid var(--cl-br, #433d37);
      border-bottom: 1px solid var(--cl-br, #433d37);
    }
  }

  .list-comment {
    margin-top: 24px;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.875;

    p + p {
      margin-top: 2em;
    }
  }

  .list-annotation {
    margin-top: 10px;
    color: #d01414;
    font-size: 1.4rem;
  }

  .list-free_service {
    display: flex;
    align-items: center;
    margin-top: 20px;
    padding: 8px 18px;
    border: 2px solid var(--col_Gold, #baa66d);
  }

  .list-free_service-img {
    width: 80px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-free_service-detail {
    width: calc(100% - 80px);
    padding-left: 40px;

    p:nth-child(1) {
      color: #464748;
      font-size: 2.4rem;
      font-weight: 600;

      span {
        font-size: 2rem;
      }
    }

    p:nth-child(2) {
      display: flex;
      align-items: center;
      color: var(--col_Gold, #baa66d);
      margin-top: 1px;
      font-size: 2rem;
      font-weight: 600;

      .detail-badge {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 65px;
        height: 22px;
        padding-top: 2px;
        margin-right: 10px;
        border: 1px solid var(--col_Gold, #baa66d);
        border-radius: 3px;
        font-size: 1.3rem;
        letter-spacing: 0.04em;
      }
    }
  }

  & + .block-shiawase_3-btn {
    margin-top: 80px;
  }
}

.block-shiawase_3-story {
  margin-top: 80px;
  font-family: var(--ff-serif);
}

.block-shiawase_3-story-h2 {
  margin: 0;
  padding: 0;
  font-size: 3.6rem;
  font-weight: normal;
  text-align: center;
}

.block-shiawase_3-story-video {
  width: 900px;
  margin: 36px auto 0;
}

.block-shiawase_3-story-video-inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;

  iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
}

.block-shiawase_3-lineup {
  margin-top: 100px;

  & + .block-shiawase_3-btn {
    margin-top: 84px;
  }
}

.block-shiawase_3 .cl-rd {
  color: #d01414;
}

.block-shiawase_3-campaign {
  padding: 100px 0;
  color: var(--cl-br, #433d37);
  font-family: var(--ff-serif);

  h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0;
    padding: 0;
    color: #ae6d21;
    text-align: center;
    line-height: 1.32;

    span {
      position: relative;
      margin: 0;
      padding: 0;
      font-size: 5rem;
      font-weight: 600;

      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        width: 89px;
        height: 116px;
        background-image: url("/img/usr/shiawase_3/pc/campaign_ttl.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }
      &::before {
        left: -130px;
      }
      &::after {
        right: -130px;
        scale: -100%  100%;
      }
    }
  }
}

.block-shiawase_3-campaign-sub_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 500px;
  height: 40px;
  margin: 18px auto 0;
  border-radius: 40px;
  background-color: #ae6d21;
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
}

.block-shiawase_3-campaign-off {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 30px;
  font-weight: 600;
  line-height: 1.333;

  p:nth-child(1) {
    font-size: 3.4rem;
  }
  p:nth-child(2) {
    margin-left: 13px;
    font-size: 10rem;

    .percentage {
      font-size: 8rem;
    }

    .off {
      font-size: 7rem;
    }
  }
}

.block-shiawase_3-campaign-date {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;

  dl {
    display: flex;
    align-items: center;
    padding: 6px 30px;
    border-top: 2px solid var(--cl-br, #433d37);
    border-bottom: 2px solid var(--cl-br, #433d37);
    font-size: 2.4rem;
    font-weight: 600;
  }

  dd {
    display: flex;
    align-items: center;
    margin-left: 3px;

    p {
      display: flex;
      align-items: baseline;

      & + & {
        position: relative;
        margin-left: 47px;

        &::before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: -28px;
          margin-top: -5px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 5.5px 0 5.5px 12px;
          border-color: transparent transparent transparent var(--cl-br, #433d37);
        }
      }
    }

    .cl-rd {
      font-size: 3.1rem;
    }

    .day {
      display: inline-block;
      position: relative;
      top: -6px;
      width: 25px;
      height: 25px;
      margin-left: 5px;
      border-radius: 25px;
      background: var(--cl-br, #433d37);
      color: #ffffff;
      font-size: 1.4rem;
      text-align: center;
      line-height: 25px;
    }

    .hour {
      margin-left: 7px;
    }
  }
}

.block-shiawase_3-campaign-comment {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 44px;
  font-size: 2rem;
  font-weight: 600;

  p {
    position: relative;

    & + & {
      margin-left: 3em;
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: -7px;
      left: 0;
      width: 100%;
      height: 3px;
      background-color: #fff783;
    }
  }
}

.block-shiawase_3-example-campaign {
  width: 985px;
  margin: 60px auto;

  img {
    display: block;
    width: 100%;
  }
}

.block-shiawase_3-all_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 80px 0 140px;

  img {
    display: block;
    width: 363px;
  }
}

.lp-width {
  width: var(--wrapperW);
  margin: 0 auto;

  &.-bottom3 {
    margin-bottom: 3em;
  }
}

.lp-top-title {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  gap: 0em;
  color: var(--cl-br, #433d37);
  padding-bottom: 2em;
  padding-top: 1.5em;

  span {
    font-size: 3.2rem;
    font-family: "Sorts Mill Goudy", serif;
  }

  strong {
    font-size: 1.8rem;
    font-weight: normal;
  }
}

.series_lineup_list {
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  padding-bottom: 2em;

  .handyselect_lineup_item {
    width: calc(33.3333333333% - 1.5em);
  }
}

.lp-top_category_visual h2 {
  padding: 1em;
  text-align: center;
  font-size: 4.0rem;
  font-weight: 600;
}

.lp-top_category_tab {
  display: flex;
  gap: 0.75em;

  a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    width: 100%;
    border-top: 10px solid #000000;
    font-size: 2.2rem;
    font-weight: 600;
    color: var(--cl-br, #433d37);
    padding: 1em;
    padding-bottom: 0;

    h3 {
      position: relative;
      top: -0.9em;
    }
  }

  .lp-top_category_tab_1 {
    background: #e5e5e5;
    border-top-color: #606060;

    img {
      width: 112px;
    }
  }

  .lp-top_category_tab_2 {
    background: #fbede9;
    border-top-color: #cd6c7d;

    img {
      width: 121px;
    }
  }

  .lp-top_category_tab_3 {
    background: #fdf4e7;
    border-top-color: #946e25;

    img {
      width: 72px;
    }
  }
}

.lp-top_category {
  width: 100%;
  padding: 2em 0;

  &.-ladies {
    background: #fbede9;
  }

  &.-mens {
    background: #e5e5e5;
  }

  &.-all {
    background: #fdf4e7;
  }
}

.lp-top_category-anchor {
  display: flex;
  justify-content: center;
  padding: 2em 0;
  gap: 2em;

  a {
    width: 210px;

    &:hover {
      opacity: 70%;
    }
  }
}

.lp-top_category_h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding: 2em 0;

  span {
    font-size: 2.8rem;
    font-weight: 600;
  }

  img {
    width: 266px;
  }

  &.-ladies {
    color: #cd6c7d;
  }

  &.-mens {
    color: #606060;
  }

  &.-all {
    color: #946e26;
  }
}

.lp-top_course_detail {
  display: flex;
  padding: 2em 0;
  gap: 2em;

  .course_detail_visual {
    width: 600px;
  }

  .course_detail_items {
    width: 600px;
    display: flex;
    flex-flow: column;
    gap: 1em;
    justify-content: space-between;
    align-items: center;

    h3 {
      font-size: 2.4rem;
      font-weight: 600;
    }

    ul {
      display: flex;
      gap: 1em;
    }

    li {
      padding: 1em;
      text-align: center;

      img {
        margin-bottom: 1em;
      }

      p {
        height: 3em;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        font-size: 2.0rem;
        font-weight: 600;
      }
    }

    p {
      height: auto;
      padding: 0 2em;
      font-size: 1.2rem;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    }
  }
}

.lp-top_collection_title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  position: relative;
  margin-bottom: 2em;

  img {
    position: absolute;
    left: 60px;
    top: 0;
    width: 140px;
    height: auto;
  }

  h2 {
    font-size: 4.0rem;
    font-weight: 600;
  }
}

.lp-top_collection_slide {
  margin-bottom: 4em;
  background: #ffffff;

  .swiper {
    .swiper-wrapper {
      padding: 0;
    }

    .swiper-button-next {
      background: #fdf4e7;
      height: 100%;
      top: 22px;
    }

    .swiper-button-prev {
      background: #fdf4e7;
      height: 100%;
      top: 22px;
    }
  }
}

.series_lineup_list {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}

.series_lineup_item {
  padding: 1em;
  width: 33.3333333333%;

  &.-photo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2em;
  }

  &.-photo-col2 {
    width: 66.6666666667%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2em;

    img {
      width: 400px;
      height: auto;
    }
  }

  .series_lineup_item_detail {
    box-shadow: 0 3px 6px 1px #eeeeee;
    padding: 1em;
    margin-bottom: 1em;

    .-price {
      position: relative;
      top: -1em;
      display: flex;
      align-items: baseline;
      font-size: 2.0rem;
      justify-content: center;
      gap: 0.5em;

      span {
        font-size: 2.6rem;
      }

      strong {
        font-size: 4.0rem;
        font-weight: 600;
      }
    }

    p {
      position: relative;
      top: -1em;
      padding: 0 1em;
      text-align: right;
      font-size: 1.5rem;
    }

    h4 {
      text-align: center;
      display: flex;
      flex-flow: column;
      padding-top: 0.5em;

      img {
        height: 82px;
        width: 100%;
        object-fit: contain;
      }

      span {
        position: relative;
        top: -0.5em;
        font-size: 2.0rem;

        &.-ladies {
          color: #cd6c7d;
        }

        &.-mens {
          color: #606060;
        }

        &.-all {
          color: #946e26;
        }
      }
    }
  }

  .series_lineup_item_action {
    display: flex;
    flex-flow: column;
    gap: 1em;
    padding: 1em;

    a {
      transition: 0.5s;
      text-decoration: none;

      &:hover {
        text-decoration: none;
      }
    }

    .add_cart_box {
      position: relative;

      &::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 10px solid #ffffff;
        border-right: 0;
        display: block;
        content: "";
        position: absolute;
        right: 2em;
        top: 50%;
        margin-top: -7px;
        z-index: 2;
      }

      &::after {
        position: absolute;
        z-index: 1;
        top: 6px;
        left: 6px;
        border-radius: 100px;
        height: 60px;
        width: 100%;
        display: block;
        content: "";
        transition: 0.5s;
      }

      &:hover::after {
        top: 0;
        left: 0;
      }

      &.-ladies::after {
        background: #e1a8b1;
      }

      &.-mens::after {
        background: #b2b2b2;
      }

      &.-all::after {
        background: #b6975f;
      }
    }

    .add_cart {
      width: 100%;
      border: 1px solid #000000;
      border-radius: 100px;
      text-align: center;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.6rem;
      height: 60px;
      color: #ffffff;
      z-index: 3;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

      &::before,
      &::after {
        width: 16px;
        height: 2px;
        background: #ffffff;
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
      }

      &::before {
        top: -2px;
        right: 30px;
      }

      &::after {
        bottom: -2px;
        left: 30px;

        &.-ladies::after {
          background: #e1a8b1;
        }

        &.-mens::after {
          background: #b2b2b2;
        }

        &.-all::after {
          background: #b6975f;
        }
      }
    }

    .series_lineup_item_action .show_detail {
      width: 100%;
      border: 1px solid #dd95a1;
      border-radius: 100px;
      text-align: center;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.6rem;
      height: 60px;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;

      &::before,
      &::after {
        width: 16px;
        height: 2px;
        background: #ffffff;
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
      }

      &::before {
        top: -2px;
        right: 30px;
      }

      &::after {
        bottom: -2px;
        left: 30px;
      }

      &:hover {
        opacity: 70%;
      }

      &.-ladies {
        color: #e1a8b1;
        border: 2px solid #e1a8b1;
      }

      &.-mens {
        color: #606060;
        border: 2px solid #e5e5e5;
      }

      &.-all {
        color: #946e26;
        border: 2px solid #cebfa4;
      }
    }
  }
}

.lp-top_lineup_h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding: 2em 0;

  span {
    font-size: 2.8rem;
    font-weight: 600;
  }

  img {
    width: 202px;
  }

  &.-ladies {
    color: #cd6c7d;
  }

  &.-mens {
    color: #606060;
  }

  &.-all {
    color: #946e26;
  }
}

.lp-top_color_h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding: 2em 0;

  span {
    font-size: 2.8rem;
    font-weight: 600;
  }

  img {
    width: 202px;
  }

  &.-ladies {
    color: #cd6c7d;
  }

  &.-mens {
    color: #606060;
  }

  &.-all {
    color: #946e26;
  }
}

.lp-top_voice_h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  padding: 2em 0;

  span {
    font-size: 2.8rem;
    font-weight: 600;
  }

  img {
    width: 181px;
  }

  &.-ladies {
    color: #cd6c7d;
  }

  &.-mens {
    color: #606060;
  }

  &.-all {
    color: #946e26;
  }
}

.lp-top_color {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  padding-bottom: 3em;

  .lp-top_color_left {
    vertical-align: bottom;
    width: 800px;
  }

  .lp-top_color_right {
    width: 300px;

    p {
      padding-top: 1em;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
      font-size: 1.6rem;
    }
  }
}

.lp-top_thanks_title {
  font-family: "Klee One", cursive;
  padding: 1.5em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  color: #464748;

  span {
    font-weight: 600;
    font-size: 1.6rem;
  }

  strong {
    font-weight: 600;
    font-size: 2.4rem;
  }
}

.lp-top_thanks {
  width: 1000px;
  margin: 0 auto;
  padding: 4em 0;

  a {
    display: block;
    text-align: center;
    margin-top: 4em;

    &:hover {
      opacity: 70%;
    }

    img {
      width: 398px;
      height: auto;
    }
  }
}

.lp-top_thanksfaq {
  padding: 3em 0;
}

.lp-top-slide {
  padding-bottom: 20px;

  .swiper {
    max-width: var(--wrapperW);
    overflow: visible;

    a {
      display: block;
    }

    .swiper-pagination {
      .swiper-pagination-bullet {
        margin: 0 8px;
      }

      .swiper-pagination-bullet-active {
        background: var(--col_MypreBlue, #00467f);
      }
    }

    .swiper-button-prev {
      background: none;
      height: 100%;
      width: 50px;
      top: 0;
      left: -50px;

      &::after {
        font-size: 2.0rem;
        color: #444444;
      }
    }

    .swiper-button-next {
      background: none;
      height: 100%;
      width: 50px;
      top: 0;
      right: -50px;

      &::after {
        font-size: 2.0rem;
        color: #444444;
      }
    }
  }

  .swiper-slide {
    width: var(--wrapperW);

    img {
      width: 100%;
      height: auto;
    }
  }

  .swiper-wrapper {
    padding: 0 0;
    padding-bottom: 40px;
  }
}

.lp-top-news {
  background: #fffcef;
  padding: 3em 0;
  margin-top: 3em;

  .lp-top-news_box {
    max-width: 900px;
    margin: 0 auto;
  }

  h2 {
    font-size: 2.0rem;
    font-weight: 600;
    padding-bottom: 1em;
  }

  ul {
    display: flex;
    flex-flow: column;
    gap: 0.5em;

    li a {
      font-size: 1.6rem;
      display: flex;
      gap: 1.5em;
      letter-spacing: 1px;
    }
  }

  a {
    color: var(--cl-br, #433d37);

    span {
      white-space: nowrap;
    }
  }

  .lp-top-news_more {
    display: flex;
    justify-content: flex-end;
    padding-top: 1em;

    a {
      display: flex;
      align-items: center;
      gap: 0.5em;

      img {
        width: 16px;
        height: auto;
      }
    }
  }
}

.lp-top-category {
  padding: 3em 0;
}

.lp-top-category_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;

  a {
    width: calc(50% - 0.5em);
    display: block;

    &:hover {
      opacity: 70%;
    }

    img {
      width: 100%;
      height: auto;
    }
  }
}

.lp-top-brand {
  padding: 3em 0;
}

.lp-top-brand_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;

  a {
    width: calc(50% - 1em);
    display: block;

    .lp-top-brand_list-3 & {
      width: calc((100% - 4em) /3);
    }

    &:hover {
      opacity: 70%;
    }

    & img {
      width: 100%;
      height: auto;
    }
  }
}

.lp-top-service {
  padding: 3em 0 6em;
}

.lp-top-service_list {
  display: flex;
  justify-content: center;
  gap: 6em;

  .lp-top-service_list {
    .lp-top-service_item {
      max-width: 200px;
      text-align: center;
    }

    p {
      padding-top: 1em;
      letter-spacing: 0.1em;
      color: var(--cl-br, #433d37);
      font-size: 1.8rem;

      span {
        color: #bc0000;
      }
    }
  }
}

.lp-top-brand_list_modal a {
  background: #ffffff;
  padding: 1em;
}

.lp-top_category_voice {
  text-align: center;
  align-items: center;
  display: flex;
  justify-content: center;
  flex-flow: column;

  img {
    max-width: 680px;
  }
}

.lp-top_collection_slide .swiper {
  .lp-top_category.-mens & {
    .swiper-button-prev,
    .swiper-button-next {
      background: #e5e5e5;
    }
  }

  .lp-top_category.-ladies & {
    .swiper-button-prev,
    .swiper-button-next {
      background: #fbede9;
    }
  }
}

.block-top-free-1 {
  width: 100%;
}

/*---- 幸せの3品 ----*/
.block-shiawase_3_top-h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  margin: 25px 0 0;
  padding: 0;
  border-top: 1px solid var(--col_Gold, #baa66d);
  border-bottom: 1px solid var(--col_Gold, #baa66d);
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.04em;

  img {
    display: block;
    margin-left: 9px;
  }
}

.block-shiawase_3_top-flow {
  margin-top: 48px;

  ul {
    display: flex;
    justify-content: space-between;
  }

  li {
    width: calc((100% - 60px) /4);
  }

  .list-ttl {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .list-ttl-no {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 80px;
    height: 80px;
    margin-right: 20px;
    font-size: 3.6rem;
    font-weight: 600;
    letter-spacing: 0.04em;

    &::before,
    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      width: 80px;
      height: 80px;
      border-radius: 80px;
    }

    &::before {
      left: 10px;
      background-color: #fffcef;
    }

    &::after {
      left: 0;
      border: 1px solid var(--cl-br, #433d37);
    }

    span {
      position: relative;
    }
  }

  .list-ttl-txt {
    font-weight: 600;
    line-height: 1.333;
    letter-spacing: 0.04em;

    p:nth-child(1) {
      font-size: 2.4rem;

      span {
        font-size: 1.8rem;
      }
    }

    p:nth-child(2) {
      font-size: 4rem;
    }
  }

  .list-img {
    margin-top: 28px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-comment {
    margin-top: 20px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.714;
    letter-spacing: 0.1em;
  }

  .list-ttl-no {
    width: 60px;
    height: 60px;
    margin-right: 15px;
    font-size: 2.6rem;

    &::before,
    &::after {
      width: 60px;
      height: 60px;
      border-radius: 60px;
    }
    &::before {
      left: 7px;
    }
  }

  .list-ttl-txt {
    p:nth-child(1) {
      font-size: 1.8rem;

      span {
        font-size: 1.4rem;
      }
    }

    p:nth-child(2) {
      font-size: 2.9rem;
    }
  }

  .list-img {
    margin-top: 16px;
  }
}

.block-shiawase_3_top-series_line_up {
  margin-top: 100px;
}

.block-shiawase_3_top-series_line_up-item {
  position: relative;
  margin-top: 50px;
  padding: 80px 0;

  &.item-style {
    background-color: #bad6bc;
  }

  &.item-prism {
    background-color: #cabcd2;
  }

  &.item-olive {
    background-color: #e0daae;
  }

  & + & {
    margin-top: 40px;
  }

  &::before,
  &::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
  }
  &::before {
    top: 40px;
  }
  &::after {
    bottom: 40px;
  }

  .block-base-container {
    display: grid;
    grid-template-columns: 480px 660px;
    grid-template-rows: 107px 102px 401px 50px;
    grid-auto-columns: auto;
    gap: 0 40px;
    grid-auto-flow: row;
    grid-template-areas:
      "item-main-img item-ttl"
      "item-main-img item-comment"
      "item-main-img item-content"
      "item-main-img item-btn";
  }

  .item-main-img {
    grid-area: item-main-img;
  }

  .item-ttl {
    grid-area: item-ttl;
  }

  .item-comment {
    grid-area: item-comment;
  }

  .item-content {
    grid-area: item-content;
  }

  .item-btn {
    grid-area: item-btn;
  }

  .item-main-img img {
    display: block;
    width: 100%;
    box-shadow: 0 3px 6px 0 rgb(0 0 0 /16%);
  }

  .item-ttl {
    display: flex;
    justify-content: center;

    p:nth-child(1) {
      padding: 46px 20px 0 0;
      font-size: 3rem;
      font-weight: 600;
      letter-spacing: 0.04em;
    }

    p:nth-child(2) {
      display: flex;
      flex-direction: column;
      align-items: center;
      line-height: 1.333;

      .item-style & {
        color: #66a58e;
      }
      .item-prism & {
        color: #9b7c9a;
      }
      .item-olive & {
        color: #8b886d;
      }

      & .txt-ja {
        font-size: 2rem;
        font-weight: 600;
        letter-spacing: 0.1em;
      }

      & .txt-en {
        font-size: 6rem;
        font-family: var(--ff-smg);
        letter-spacing: 0.1em;
      }
    }
  }

  .item-comment {
    margin-top: 4px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.714;
    letter-spacing: 0.1em;

    img {
      display: block;
      width: 100%;
    }
  }

  .item-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 50px;
    margin: 0 auto;
    border-radius: 4px;
    background-color: #ffffff;
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.1em;
    transition: 0.2s;

    &:hover {
      opacity: 70%;
    }

    .item-style & {
      color: #66a58e;
    }

    .item-prism & {
      color: #9b7c9a;
    }

    .item-olive & {
      color: #8b886d;
    }
  }
}

.block-shiawase_3_top-wedding_hall {
  margin-top: 100px;
}

.block-shiawase_3_top-wedding_hall-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;

  img {
    display: block;
  }
}

.block-shiawase_3_top-wedding_hall-link,
.block-shiawase_3_top-voice-link {
  width: 300px;
  margin: 40px auto 0;
}

/*---- 幸せの３品詳細 ----*/
.block-shiawase-type {
  margin-top: -15px;
  padding: 40px 0 100px;

  &.type-style {
    background: var(--col_ScBridal, #b9d5bb);
  }

  &.type-prism {
    background-color: #cabcd2;
  }

  &.type-olive {
    background-color: #e0daae;
  }
}

.block-shiawase-type-container {
  padding: 100px;
  background-color: #ffffff;
}

.block-shiawase-type-top img {
  display: block;
}

.block-shiawase-type-top-1,
.block-shiawase-type-top-2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.block-shiawase-type-top-1 {
  margin: -100px -100px 0;
}

.block-shiawase-type-top-1 .item-left {
  width: 480px;
}

.block-shiawase-type-h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;

  .type-style & {
    color: #66a58e;
  }

  .type-prism & {
    color: #9b7c9a;
  }

  .type-olive & {
    color: #8b886d;
  }

  .txt-ja {
    font-weight: 600;

    &:nth-child(1) {
      font-size: 2.6rem;
      letter-spacing: 0.04em;
    }

    &:nth-child(2) {
      margin-top: 16px;
      font-size: 2.2rem;
      letter-spacing: 0.1em;
    }
  }

  .txt-en {
    margin-top: -3px;
    font-size: 7rem;
    font-family: var(--ff-smg);
    font-weight: normal;
    letter-spacing: 0.1em;
  }

  picture {
    margin-top: -2px;
  }
}

.block-shiawase-type-top-1 .item-right {
  width: 700px;
}

.block-shiawase-type-top-2 {
  margin-top: 80px;

  .item-left {
    width: 500px;
  }

  .item-right {
    width: 400px;
    text-align: center;
    letter-spacing: 0.04em;

    p:nth-child(1) {
      font-size: 3rem;
      font-weight: 600;
    }

    p:nth-child(1) span,
    p:nth-child(2) .large {
      font-size: 2.4rem;
    }

    p:nth-child(2),
    p:nth-child(3),
    p:nth-child(4) {
      font-size: 1.8rem;
    }

    p:nth-child(2) {
      margin-top: 10px;
      line-height: 1.6;
    }

    p:nth-child(3) {
      margin-top: 5px;
      line-height: 2;
    }

    p:nth-child(4) {
      margin-top: 2em;
      line-height: 2;
    }
  }
}

.block-shiawase-type-top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 60px;

  a {
    width: 300px;

    & + & {
      margin-left: 40px;
    }
  }
}

.block-shiawase-type-story {
  margin-top: 100px;
}

.block-shiawase-type-item {
  margin-top: 100px;
}

.block-shiawase-type-item-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100px;
  margin-top: 30px;
  color: #ffffff;

  .example {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border: 1px solid #ffffff;
    border-radius: 60px;
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
  }

  .ttl {
    display: flex;
    align-items: center;
    margin-left: 20px;

    .txt-en {
      font-size: 4rem;
      font-family: var(--ff-smg);
      letter-spacing: 0.1em;
    }

    .txt-ja {
      margin-left: 24px;
      font-size: 2rem;
      font-weight: 600;
      letter-spacing: 0.1em;
    }
  }

  .price {
    margin-left: 61px;
    color: #ffffff;
    font-size: 3.4rem;
    font-weight: 600;
    letter-spacing: 0.04em;

    span {
      margin-left: 9px;
      font-size: 1.8rem;
    }
  }
}

.block-shiawase-type-item-goods {
  margin-top: 40px;
}

.block-shiawase-type-item-goods-item {

  & + & {
    margin-top: 40px;
  }

  .item-ttl {
    display: flex;
    align-items: center;
    height: 50px;

    .no {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100px;
      height: 50px;
      border-radius: 4px;
      color: #ffffff;
      font-size: 2.2rem;
      font-weight: 600;
      letter-spacing: 0.04em;

      :nth-child(1) .item-ttl & {
        background-color: #e5bac3;
      }

      :nth-child(2) .item-ttl & {
        background-color: #a2d4df;
      }

      :nth-child(3) .item-ttl & {
        background-color: #dbc77c;
      }
    }

    .name {
      font-size: 2.8rem;
      letter-spacing: 0.04em;
    }

    .no + .name,
    .no + .name_qty .name {
      margin-left: 20px;
    }

    .qty,
    .size {
      margin-left: 28px;
      font-size: 1.5rem;
      letter-spacing: 0.04em;
    }

    .color {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 60px;
      height: 25px;
      margin-left: 26px;
      padding: 0 6px;
      border: 1px solid var(--cl-br, #433d37);
      font-size: 1.6rem;
      font-weight: 600;
    }

    .price {
      margin-left: auto;
      font-size: 3.4rem;
      font-weight: 600;
      letter-spacing: 0.04em;

      span {
        margin-left: 10px;
        font-size: 1.8rem;
      }
    }

    .link {
      width: 220px;
      margin-left: 20px;
    }
  }

  .name_qty {
    display: flex;
    align-items: center;
  }

  .item-img-full {
    margin-top: 30px;

    img {
      display: block;
      width: 100%;
    }
  }

  .item-img-list {
    margin-top: 24px;

    ul {
      display: flex;
      flex-wrap: wrap;

      &.col-4 li {
        width: calc((100% - 48px) /4);

        &:not(:nth-child(4n)) {
          margin-right: 16px;
        }
        &:not(:nth-child(-n + 4)) {
          margin-top: 16px;
        }
      }

      &.col-2 li {
        width: calc((100% - 20px) /2);

        &:not(:nth-child(2n)) {
          margin-right: 20px;
        }
        &:not(:nth-child(-n + 2)) {
          margin-top: 20px;
        }
      }
    }

    img {
      display: block;
      width: 100%;
    }
  }

  .block-shiawase-type-item-goods-item .item-img-olive {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;

    img {
      display: block;
      width: 100%;
    }
  }

  .block-shiawase-type-item-goods-item .item-img-olive-phone {
    width: 200px;
  }

  .block-shiawase-type-item-goods-item .item-img-olive-list {
    width: 738px;

    ul {
      display: flex;
      flex-wrap: wrap;

      &.col-3 li {
        width: calc((100% - 20px) /3);
      }

      &.col-4 li {
        width: calc((100% - 30px) /4);
      }

      &.col-3 li:not(:nth-child(3n)),
      &.col-4 li:not(:nth-child(4n)) {
        margin-right: 10px;
      }

      &.col-3 li:not(nth-child(-n + 3)),
      &.col-4 li:not(:nth-child(-n + 4)) {
        margin-top: 10px;
      }
    }
  }
}

.block-shiawase-type-lineup {
  margin-top: 100px;
}

.block-shiawase-type-lineup-anker {
  margin-top: 60px;

  ul {
    display: flex;
    flex-wrap: wrap;

    & + & {
      margin-top: 16px;
    }
  }

  li {
    width: calc((100% - 32px) /3);

    &:not(:nth-child(3n)) {
      margin-right: 16px;
    }

    &:not(:nth-child(-n + 3)) {
      margin-top: 16px;
    }
  }

  a {
    display: block;
    width: 100%;
    height: 120px;
    padding: 0 20px;
    text-decoration: none;
    transition: 0.2s;

    &:hover {
      opacity: 70%;
    }

    > div {
      display: flex;
      align-items: center;

      &:nth-child(1) {
        border-bottom: 1px solid var(--cl-br, #433d37);
      }
    }
  }

  .list-top {
    height: 65px;
    padding-top: 10px;
    color: #ffffff;

    .txt-en {
      font-size: 3rem;
      font-family: var(--ff-smg);
      letter-spacing: 0.1em;
    }

    .txt-ja {
      margin-left: auto;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.1em;
    }
  }

  .list-bot {
    position: relative;
    height: calc(100% - 65px);
    padding-right: 20px;
    color: var(--cl-br, #433d37);
    font-size: 2.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;

    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      right: 0;
      width: 17px;
      height: 9px;
      margin-top: -4px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNi43MDciIGhlaWdodD0iOC44NTQiPjxwYXRoIGQ9Im0xNi4zNTQuMzU0LTggOC04LTgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQyMjgwZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }

    span {
      margin-left: 5px;
      font-size: 1.6rem;

      strong {
        font-size: 1.8rem;
        font-weight: 600;
      }
    }
  }
}

.block-shiawase-type-lineup-list {
  li {
    display: flex;
    justify-content: space-between;
    margin-top: 60px;

    .list-left {
      width: 500px;

      img {
        display: block;
        width: 100%;
      }
    }
  }

  .list-img-thumb {
    display: flex;
    margin-top: 20px;

    img {
      width: calc((100% - 32px) /3);

      &:not(:nth-child(3n)) {
        margin-right: 16px;
      }
    }
  }

  .list-right {
    width: 420px;
  }

  .list-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100px;
    padding: 10px 20px 0;
    color: #ffffff;

    .txt-en {
      font-size: 4rem;
      font-family: var(--ff-smg);
      letter-spacing: 0.1em;
    }

    .txt-ja {
      font-size: 2rem;
      font-weight: 600;
      letter-spacing: 0.1em;
    }
  }

  .block-prod_purchase-individual-price {
    margin-top: 24px;
    padding: 0;
    border: none;
  }

  .list-price {
    margin-top: 12px;
    padding-top: 24px;
    border-top: 1px solid #e0e0e0;
    font-size: 3.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;

    span {
      margin-left: 4px;
      font-size: 1.8rem;

      strong {
        font-size: 2.2rem;
      }
    }
  }


  .list-btns {
    margin-top: 16px;

    a + a {
      margin-top: 20px;
    }
  }
}

.block-shiawase-type-detail {
  margin-top: 60px;
  padding: 60px;
  background-color: #f6f5f1;
}

.block-shiawase-type-detail-item {

  & + & {
    margin-top: 60px;
  }

  .item-ttl {
    display: flex;
    align-items: center;
    justify-content: center;

    .no {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 80px;
      height: 80px;
      margin-right: 16px;
      border: 1px solid var(--cl-br, #433d37);
      border-radius: 80px;
      font-size: 3.6rem;
      font-weight: 600;
    }

    .txt {
      font-size: 3rem;
      font-weight: 600;

      .small {
        font-size: 2.4rem;

        & + span {
          margin-left: 10px;
        }
      }
    }

    .color {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 80px;
      height: 30px;
      margin-left: 20px;
      padding: 0 6px;
      border: 1px solid var(--cl-br, #433d37);
      font-size: 2rem;
      font-weight: 600;
    }

    & + h3 {
      margin-top: 30px;
    }
  }

  .item-img-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;

    li {
      width: calc((100% - 48px) /4);

      &:not(:nth-child(4n)) {
        margin-right: 16px;
      }

      &:not(:nth-child(-n + 4)) {
        margin-top: 16px;
      }

      &:not(:nth-child(-n + 8)) {
        display: none;
      }
    }
  }

  .item-comment {
    margin-top: 32px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.667;
    letter-spacing: 0.1em;
  }
}

.block-shiawase-type-image {
  margin-top: 100px;
}

.block-shiawase-type-image-slider {
  display: flex;
  margin: 40px -8px 0;
  overflow: hidden;

  &.slick-initialized {
    display: block;
    overflow: visible;
  }

  .slick-arrow {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0;
    padding: 0;
    border: none;
    background-color: transparent;
    color: transparent;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCI+PHBhdGggZmlsbD0iI2IxOWI3YiIgb3BhY2l0eT0iLjgiIGQ9Ik0wIDBoNTB2NTBIMHoiLz48cGF0aCBkPSJNMzAgMTUgMjAgMjVsMTAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    z-index: 9;
  }

  .slick-prev {
    left: -92px;
  }

  .slick-next {
    right: -92px;
    transform: rotate(180deg);
  }
}

.block-shiawase-type-image-slider-item {
  flex-shrink: 0;
  width: calc(100% /3);
  padding: 0 8px;

  img {
    display: block;
    width: 100%;
  }
}

.block-shiawase-type-bot-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 100px;

  a {
    width: 300px;

    & + & {
      margin-left: 40px;
    }
  }
}

/*---- Baby select ----*/
.block-baby_top {
  font-family: var(--ff-zmg);

  h1 {
    margin: 25px 0 0;
    padding: 0;

    img {
      display: block;
      width: 100%;
    }
  }
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop_2 {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-200%);
  }
}
.block-baby_top-top-slider {
  display: flex;
  width: 100%;
  height: 140px;
  margin-top: 40px;
  overflow: hidden;

  > div {
    display: flex;
    flex-shrink: 0;

    &:first-child {
      animation: loop 160s -80s linear infinite;
    }
    &:last-child {
      animation: loop_2 160s linear infinite;
    }
  }

  img {
    display: block;
    flex-shrink: 0;
    width: 140px;
    height: 140px;
    margin-right: 10px;
    border-radius: 10px;
  }
}

.block-baby_top-yellow_bg {
  margin-top: 80px;
  padding: 80px 0 60px;
  background-color: #fdf8e3;
  font-family: var(--ff-zmg);
}

.block-baby_top-story,
.block-baby_top-content {
  padding: 100px;
  border-radius: 30px;
  background-color: #ffffff;
  box-shadow: 0 0 10px 0 rgb(230 227 211 /80%);
  overflow: hidden;

  &:not(:first-child) {
    margin-top: 40px;
  }
}

.block-baby_top-story-imgs picture {
  display: block;

  & + & {
    margin-top: 40px;
  }
}

.block-baby_top-story-imgs img {
  display: block;
  width: 100%;
}

.block-baby_top-story-flow {
  margin-top: 80px;

  h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;

    img {
      display: block;
    }
  }
  ul {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
  }

  li {
    position: relative;
    width: 280px;
  }

  .list-no {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 81px;
    height: 81px;
    margin: 0 auto;
    background-image: url("/img/usr/baby/pc/story_no.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 3.2rem;
    font-family: var(--ff-qs);
    font-weight: 600;
    letter-spacing: 0.1em;
  }

  .list-ttl {
    margin-top: 18px;
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.1em;
  }

  .list-img {
    position: relative;
    margin-top: 22px;
  }

  li:not(:last-child) .list-img::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -45px;
    width: 20px;
    height: 30px;
    margin-top: -15px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOS41IiBoZWlnaHQ9IjMwIj48cGF0aCBkPSJNMTkuNSAxNSAwIDMwVjBaIiBmaWxsPSIjZjdlNDk1Ii8+PC9zdmc+");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  img {
    display: block;
    width: 100%;
    border-radius: 10px;
  }

  .list-comment {
    margin-top: 18px;
    font-size: 1.4rem;
    line-height: 1.714;
    letter-spacing: 0.04em;
  }
}

.block-baby_top-content {
  &:not(:first-child) {
    margin-top: 40px;
  }

  h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 110px;
    margin: -100px -100px 0;
    padding: 0 0 10px;
    background-color: #fffcf0;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 10px;
      left: 0;
      width: 100%;
      height: 3px;
      background-image: url("/img/usr/baby/pc/h2_bdr.png");
      background-position: center;
      background-repeat: repeat;
      background-size: var(--wrapperW) 3px;
    }

    span {
      font-size: 2.8rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.1em;
    }
  }
}

.block-baby_top-lineup {
  margin-top: 40px;
}

.block-baby_top-lineup-item + .block-baby_top-lineup-item {
  position: relative;
  margin-top: 60px;
  padding-top: 60px;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-image: url("/img/usr/baby/pc/item_bdr.png");
    background-position: center;
    background-repeat: repeat;
    background-size: var(--wrapperW) 3px;
  }
}

.block-baby_top-lineup-ttl {
  display: flex;
  align-items: baseline;
  justify-content: center;

  .item-name {
      font-size: 3.2rem;
      font-weight: 600;
      letter-spacing: 0.1em;

      span {
        font-size: 2.4rem;
      }
    }

  .item-price {
    margin-left: 30px;
    font-size: 3.2rem;
    font-weight: 600;
    letter-spacing: 0.04em;

    span {
      margin-left: 10px;
      font-size: 1.8rem;
    }

    .item-annotation {
      margin-left: 20px;
      font-size: 1.2rem;
      letter-spacing: 0.04em;
    }
  }
}

.block-baby_top-lineup-imgs {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 40px;

  img {
    display: block;
    width: 100%;
  }

  .item-main {
    width: 430px;

    img {
      border-radius: 10px;
    }
  }

  .item-color-list {
    display: flex;
    justify-content: space-between;
    width: 510px;

    li {
      width: 160px;

      p {
        font-size: 1.8rem;
        font-weight: 600;
        text-align: center;
        letter-spacing: 0.04em;
      }

      img {
        margin-top: 16px;
      }
    }
  }
}

.block-baby_top-lineup-example {
  margin-top: 60px;

  ul {
    display: flex;
    flex-wrap: wrap;
  }

  li {
    width: calc((100% - 60px) /4);

    &:not(:nth-child(4n)) {
      margin-right: 20px;
    }

    &:not(:nth-child(-n + 4)) {
      margin-top: 24px;
    }

    .list-qty {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 210px;
      height: 202px;
      padding-bottom: 20px;
      background-image: url("/img/usr/baby/lineup_qty.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      text-align: center;

      p:nth-child(1) {
        font-size: 2rem;
        font-weight: normal;
        letter-spacing: 0.1em;
      }

      p:nth-child(2) {
        margin-top: -16px;
        font-size: 6rem;
        font-weight: 600;
      }

      p:nth-child(2) span {
        margin-left: 2px;
        font-size: 2.6rem;
      }
    }

    img {
      display: block;
      width: 100%;
      border-radius: 10px;
    }

    p {
      margin-top: 14px;
      font-size: 1.4rem;
      font-weight: 600;
      text-align: center;
      line-height: 1.571;
      letter-spacing: 0.04em;
    }
  }
}

.block-baby_top-lineup-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.block-baby_top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  border-radius: 60px;
  color: var(--cl-br, #433d37);
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: 0.2s;

  &:hover {
    color: var(--cl-br, #433d37);
    opacity: 70%;
  }

  &.cl-ly {
    background-color: #fff4c7;
  }

  &.cl-yw {
    background-color: #f8d335;
  }
}

.block-baby_top-lineup-btns a {
  width: 320px;

  & + & {
    margin-left: 40px;
  }
}

.block-baby_top-goods_detail {
  margin-top: 40px;
}

.block-baby_top-goods_detail-top {
  display: flex;
  justify-content: space-between;

  .item-left {
    width: 547px;

    img {
      display: block;
      width: 100%;
      border-radius: 10px;
    }
  }

  .item-right {
    width: 393px;
    letter-spacing: 0.04em;
  }

  .item-name {
    font-size: 1.8rem;
    font-weight: 600;
  }

  .item-list + .item-name {
    margin-top: 36px;
  }

  .item-list {
    margin-top: 18px;
    font-size: 1.4rem;
    line-height: 1.714;

    li {
      position: relative;
      padding-left: 15px;

      &::before {
        content: "";
        display: block;
        position: absolute;
        top: 9px;
        left: 0;
        width: 5px;
        height: 5px;
        border-radius: 5px;
        background: var(--cl-br, #433d37);
      }
    }
  }
}

.block-baby_top-goods_detail-bot {
  margin-top: 80px;

  h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0;
    padding: 0;
    background-image: url("/img/usr/baby/pc/item_bdr.png");
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 1080px 3px;

    span {
      padding: 0 40px;
      background-color: #ffffff;
      font-size: 2.4rem;
      font-weight: 600;
      letter-spacing: 0.1em;
    }
  }

  .item-color-list {
    display: flex;
    justify-content: center;
    margin-top: 50px;

    li {
      width: 240px;

      & + & {
        margin-left: 80px;
      }

      img {
        display: block;
        width: 100%;
      }
    }

    p {
      margin-top: 18px;
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.04em;
    }
  }
}

.block-baby_top-privilege-list {
  margin-top: 40px;

  ul {
    display: flex;
    justify-content: center;
  }

  li {
    width: 260px;

    img {
      display: block;
      width: 100%;
    }

    p {
      margin-top: 8px;
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.1em;

      .txt-red {
        color: #bc0000;
      }
    }
  }
}

.block-baby_top-privilege-image {
  margin-top: 60px;

  ul {
    display: flex;
    justify-content: center;
  }

  li {
    &:nth-child(1) {
      width: 240px;
    }

    &:nth-child(2) {
      width: 480px;
      margin-left: 80px;
    }

    img {
      display: block;
      width: 100%;
      border-radius: 10px;
    }

    p {
      margin-top: 28px;
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.04em;
    }
  }
}

.block-baby_top-bot-btn {
  width: 400px;
  margin: 60px auto 0;
}

/*---- Bring Story ----*/
.block-bring_story {
  padding-bottom: 70px;

  h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;

    img {
      display: block;
    }
  }

  .block-ec-mv-slider {
    margin-right: calc((var(--wrapperW) - 100vw) /2);
    margin-left: calc((var(--wrapperW) - 100vw) /2);

    .block-ec-mv-slider-item {
      width: 1067px;
    }

    .slick-arrow-wrapper {
      top: 202px;
    }

    .slick-arrow-body {
      width: 1167px;
    }
  }

  .slick-dots-wrapper {
    display: none !important;
  }
}

.block-bring_story-series {
  margin-top: 100px;

  h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 7px 0 0;
    color: #927853;

    .ttl-sub {
      padding-left: 7px;
      font-size: 1.8rem;
      letter-spacing: 0.18em;
    }

    .ttl-main {
      display: flex;
      align-items: center;
      margin-top: 6px;
      font-size: 3.4rem;
      letter-spacing: 0.04em;

      img {
        margin-right: 5px;
      }
    }
  }
}

.block-bring_story-series-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}

.block-bring_story-series-item {
  width: calc((100% - 20px) /2);
  padding: 36px 40px 40px;

  &:not(:nth-child(-n + 2)) {
    margin-top: 20px;
  }

  .list-name-en {
    font-size: 4.4rem;
    font-family: var(--ff-smg);
    font-style: italic;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.04em;
  }

  .list-name-ja {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
  }

  .list-price {
    margin-top: 8px;
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;

    .small {
      font-size: 1.8rem;
    }
  }

  .list-img {
    margin-top: 26px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 240px;
      height: 44px;
      border: 1px solid var(--col_Gold, #baa66d);
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      text-decoration: none;

      .btn-wt {
        background-color: #ffffff;
        color: var(--col_Gold, #baa66d);
      }

      .btn-br {
        background: var(--col_Gold, #baa66d);
        color: #ffffff;
      }

      & + & {
        margin-left: 20px;
      }

      &:hover {
        opacity: 70%;
      }
    }
  }
}

.block-bring_story-example {
  margin-top: 40px;
  padding: 50px 40px 40px;
  background-color: #fdf2ec;
}

.block-bring_story-example-header {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;

  > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 130px;
    height: 50px;
    border: 1px solid var(--cl-br, #433d37);
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  h2 {
    display: flex;
    align-items: baseline;
    position: relative;
    margin: 0 0 0 40px;
    padding: 0;
    color: #f4bba2;

    a::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1ODUuNSIgaGVpZ2h0PSIyIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmNGJiYTIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMiA1IiBkPSJNMCAxaDU4NS41Ii8+PC9zdmc+");
      background-position: center left;
    }
  }

  .ff-en {
    font-size: 7rem;
    font-family: var(--ff-smg);
    font-style: italic;
    font-weight: normal;
  }

  .ff-ja {
    margin-left: 21px;
    font-size: 3rem;
    font-weight: 600;

    b {
      font-size: 4rem;
    }
  }
}

.block-bring_story-example-mv {
  margin-top: 20px;

  img {
    display: block;
  }
}

.block-bring_story-example-beret_list {
  margin-top: 40px;

  img {
    display: block;
  }
}

.block-bring_story-example-goods_list {
  margin-top: 40px;
  padding: 60px;
  background-color: #fef9f5;

  ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  li {
    width: calc((100% - 80px) /3);
    margin-right: 40px;

    &:last-child,
    &:nth-child(3n) {
      margin-right: 0;
    }

    &:not(:nth-child(-n + 3)) {
      margin-top: 30px;
    }
  }

  .list-balloon {
    height: 80px;

    img {
      display: block;
      width: 219px;
      margin: 0 auto;
    }
  }

  .list-ttl {
    position: relative;
    height: 78px;
    padding-top: 8px;
    padding-bottom: 10px;
    color: #f4bba2;
    font-size: 3.8rem;
    font-family: var(--ff-smg);
    font-style: italic;
    text-align: center;
    letter-spacing: 0.04em;

    &.ttl-2 {
      padding-top: 0;
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1ODUuNSIgaGVpZ2h0PSIyIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmNGJiYTIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWRhc2hhcnJheT0iMiA1IiBkPSJNMCAxaDU4NS41Ii8+PC9zdmc+");
      background-position: center left;
    }

    > span {
      margin-right: 5px;
      font-size: 4rem;
      font-family: var(--ff-serif);
      font-style: normal;
    }
  }

  .list-img {
    margin-top: 20px;

    img {
      display: block;
      width: 100%;
    }
  }

  .list-name {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
  }

  .list-price {
    margin-top: 10px;
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;

    span {
      font-size: 1.8rem;
    }
  }

  .list-color {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin-top: 16px;
    border: 1px solid var(--cl-br, #433d37);
    background-color: #ffffff;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
  }

  .list-btn {
    margin-top: 10px;

    .a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 44px;
      background: var(--col_Gold, #baa66d);
      color: #ffffff;
      font-size: 1.8rem;
      font-weight: 600;
      text-align: center;
      text-decoration: none;
      letter-spacing: 0.04em;

      &:hover {
        opacity: 70%;
      }
    }
  }
}

.fancybox-button--zoom {
  display: none !important;
}

.block-bring_story-example-2 {
  margin-top: 64px;

  .block-bring_story-example-mv {
    position: relative;
    margin-top: 0;
    letter-spacing: 0.04em;

    img {
      display: block;
      width: 100%;
    }

    p {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 20px;
      left: 20px;
      width: 130px;
      height: 50px;
      border: 1px solid var(--cl-br, #433d37);
      background-color: #ffffff;
      font-size: 2rem;
      font-weight: 600;
    }
  }
}

.block-bring_story-example-ttl {
  margin-top: 30px;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
}

.block-bring_story-example-img {
  margin-top: 24px;

  img {
    display: block;
    width: 100%;
    height: auto;
  }
}

.block-bring_story-example-goods {
  width: 1020px;
  margin: 40px auto 0;
}

.block-bring_story-example-goods-items {
  display: flex;
  justify-content: space-between;
}

.block-bring_story-example-goods-item {
  width: 470px;

  .list-img img {
    display: block;
    width: 100%;
    height: auto;
  }

  .list-detail {
    margin-top: 14px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
  }

  .list-name {
    font-size: 2.4rem;
  }

  .list-price {
    margin-top: 14px;
    font-size: 4rem;

    &.small {
      font-size: 2.4rem;
    }
  }

  .list-color {
    margin-top: 10px;

    p:nth-child(1) {
      font-size: 1.8rem;
    }

    ul {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 11px;
    }

    li + li {
      margin-left: 10px;
    }

    img {
      display: block;
      width: 30px;
      height: auto;
    }

    p:nth-child(3) {
      margin-top: 7px;
      font-size: 1.4rem;
    }
  }
}

.block-bring_story-example-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;

  a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 570px;
    height: 60px;
    background: var(--col_Gold, #baa66d);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.04em;

    &:hover {
      color: #ffffff;
      opacity: 65%;
    }
  }
}

.block-bring_story-series-2 {
  margin-top: 100px;
  letter-spacing: 0.04em;

  h2 {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin: 0;
    color: #927853;
    font-size: 3.4rem;
    font-weight: normal;

    span {
      position: relative;
      top: -20px;
      margin-left: 5px;
      font-size: 3.4rem;
      font-weight: normal;
    }
  }
}

.block-bring_story-series-2-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}

.block-bring_story-series-2-item {
  position: relative;
  width: 50%;
  font-weight: 600;
  letter-spacing: 0.04em;

  &:nth-child(odd) {
    padding-right: 40px;

    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 1px;
      height: 100%;
      background-color: #ebebeb;
    }
  }

  &:nth-child(even) {
    padding-left: 40px;
  }

  &:not(:nth-child(-n + 2)) {
    margin-top: 80px;

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: -40px;
      right: 0;
      width: 100%;
      height: 1px;
      background-color: #ebebeb;
    }
  }

  .list-ttl-img img {
    display: block;
    width: 100%;
    height: auto;
  }

  .list-ttl {
    margin-top: 18px;
    font-size: 2rem;
  }

  .list-img-book {
    margin-top: 12px;

    img {
      display: block;
      width: 100%;
      height: auto;
    }
  }

  .list-goods {
    margin-top: 24px;

    > ul {
      display: flex;
      justify-content: space-between;

      > li {
        width: 250px;
        text-align: center;
      }
    }

    .list-goods-img img {
      display: block;
      width: 100%;
      height: auto;
    }
  }

  .list-goods-detail {
    margin-top: 30px;
    letter-spacing: 0.04em;
  }

  .list-goods-name {
    font-size: 2.2rem;
  }

  .list-goods-price {
    font-size: 3rem;

    .small {
      font-size: 2rem;
    }
  }

  .list-goods-color {
    margin-top: 4px;

    p {
      &:nth-child(1) {
        font-size: 1.5rem;
      }
      &:nth-child(3) {
        margin-top: 8px;
        font-size: 1.2rem;
      }
    }

    ul {
      display: flex;
      justify-content: center;
      margin-top: 10px;
    }

    li + li {
      margin-left: 10px;
    }

    img {
      display: block;
      width: 20px;
      height: auto;
    }
  }

  .list-btn {
    margin-top: 25px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 60px;
      background: var(--col_Gold, #baa66d);
      color: #ffffff;
      font-size: 2rem;
      font-weight: 600;
      text-decoration: none;
      letter-spacing: 0.04em;

      &:hover {
        color: #ffffff;
        opacity: 65%;
      }
    }
  }
}

/*---- eGift ----*/
.guide-eGift {
  border-radius: 8px;
  margin: 40px auto 20px;
  padding: 24px 16px 16px;
  background: color-mix(in srgb, var(--col_Gold, #baa66d) 9%, transparent);

  h3 {
    margin: 0;
    width: 100%;
    padding: 0 0 16px;
    color: transparent;
    line-height: 1;
    background-clip: text;
    background-image: linear-gradient(90deg, #43c7e3 0, #11c2a3 10%) !important;
    font-family: var(--ff-sans_serif);
    font-weight: 600;
    background-color: transparent;
  }

  > div {
    display: flex;
    gap: 10px 32px;
    justify-content: space-between;

    p {
      display: block;
      margin: 0;
      padding: 0;

      &:last-child {
        flex-shrink: 0;
        width: 250px !important;

        a {
          width: 100%;
        }
      }
    }
  }
}
