@charset "UTF-8";

:root {
  --ff-sans_serif: -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";
/*  --ff-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
  --ff-serif: "shippori-mincho", serif;
  --ff-smg: "Sorts Mill Goudy", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  --ff-zmg: "Zen Maru Gothic", -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";
  --ff-qs: "Quicksand", -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";

  --shape-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --shape-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --shape-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --shape-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --shape-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --shape-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --shape-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

*::before,
*::after {
  box-sizing: border-box;
}

/*---- アニメーション ----*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 100%;
  }
}

/*---- 全体設定 ----*/
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: 600;
}

:where(html) {
  font-size: 62.5%;

  body {
    color: var(--cl-br, #433d37);
    font-family: var(--ff-sans_serif);
    font-size: 1.5rem;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--col_Background, #ffffff);
  }

  .sp-only {
    display: none;
  }

  .block-base-container {
    width: var(--wrapperW);
    margin-inline: auto;
  }

  /*---- ヘッドライン ----*/
  h1, h2, h3, h4, h5 {
    font-family: var(--ff-serif);
  }

  h1,
  .h1 {
    margin: 30px 0 30px 0;
    font-size: 2.4rem;
    font-weight: 600;
  }

  h2 {
    margin: 20px 0;
    font-size: 2.2rem;
    font-weight: 600;

    span {
      display: block;
      font-size: 1.3rem;
      line-height: 1.1;
      letter-spacing: 0;
    }

    &.after-border {
      text-align: center;
      line-height: 1.4;
      padding-bottom: 35px;
      margin-bottom: 50px;
      position: relative;
      letter-spacing: 0.1em;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 2em;
        margin-left: -1em;
        height: 2px;
        background: #444444;
      }
    }
  }

  h3 {
    font-size: 1.8rem;
  }

  /*---- リンク ----*/
  a {
    color: var(--cl-a, #433d37);
    transition: 0.15s;

    &:hover {
      opacity: 80%;
    }

    .img-center img:hover {
      scale: 102%;
      transition-duration: 0.3s;
    }

    &[target*="_blank"] {
      display: inline-flex;
      align-items: center;

      &::after {
        content: "";
        display: inline-block;
        margin: 0 0.25em 0 0.1em;
        width: 1em;
        aspect-ratio: 1;
        mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cstyle%3E%20%20g%20%7B%20%20%20%20fill%3A%20none%3B%20%20%20%20stroke%3A%20%23433D37%3B%20%20%20%20stroke-width%3A%201pt%3B%20%20%7D%3C%2Fstyle%3E%3Cg%3E%3Crect%20x%3D%227.5%22%20y%3D%223.5%22%20width%3D%2213%22%20height%3D%2211%22%2F%3E%3Crect%20x%3D%223.5%22%20y%3D%229.5%22%20width%3D%2213%22%20height%3D%2211%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
        background-color: var(--cl-a, #433d37);
        transition: 0.3s;
      }
      header &::after { display: none; }

      &:hover::after {
        background-color: var(--col_Gold, #baa66d);
      }
    }
  }

  /*---- タグ ----*/
  hr {
    border-bottom: 1px dotted cccccc;
  }

  *:focus {
    outline: none;
  }

  img {
    vertical-align: bottom;
  }

  /*---- スクロールバー ----*/
  body ::-webkit-scrollbar {
    height: 4px !important;
  }

  body ::-webkit-scrollbar-track {
    background: #ffffff;
    border: none;
    border-radius: 10px;
    box-shadow: inset 0 0 2px #777777;
  }

  body ::-webkit-scrollbar-thumb {
    background: #00000028;
    border-radius: 10px;
    box-shadow: none;
  }

  /*---- margin padding ----*/
  .mt0 { margin-top: 0 !important; }
  .mb0 { margin-bottom: 0 !important; }

  .pt0 { padding-top: 0 !important; }
  .pb0 { padding-bottom: 0 !important; }

  /*---- input ----*/
  label {
    cursor: pointer;
    border-radius: 2px;
    color: var(--cl-a, #433d37);
    transition: .3s;

    &:hover {
      color: var(--col_Gold, #baa66d);
      text-decoration: none;
    }

    &:not([for]):not(:has(input)) {
      pointer-events: none;
      color: var(--cl-a, #433d37);

      &:hover {
        color: unset;
      }
    }
  }

  input[type="radio"],
  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    margin: 0;
    height: unset;
    width: 24px;
    aspect-ratio: 1 / 1;
    border: 1px solid #cccccc;
    aspect-ratio: 1 / 1;
    background: #ffffff;
    overflow: visible;
    flex-grow: 0 !important;

    &:hover {
      border-color: var(--col_Gold, #baa66d);
    }

    label &,
    label & + input {
      display: inline-block;
      margin: 0 6px 0 0;
    }
    &:has(+ label) {
      display: inline-block;
      margin-right: 6px;
    }

    label:has(&) {
      display: inline-flex;
      align-items: center;
      padding: 0 4px;
    }
    label:has(&:checked) {
      font-weight: 600;
      color: var(--col_MypreBlue, #00467f);
    }
    & + label {
      display: inline-block;
      position: relative;
      margin: 0;
      width: auto;
      font-size: 1.4rem;
      transition: 0.3s;

      &:hover {
        color: var(--col_Gold, #baa66d);
      }
    }
    &:checked + label {
      font-weight: 600;
      color: var(--col_MypreBlue, #00467f);
    }
  }

  input[type="radio"] {
    border-radius: 50%;

    &:checked {
      &::after {
        content: "";
        display: block;
        position: absolute;
        border-radius: 50%;
        top: 4px;
        left: 4px;
        width: 14px;
        aspect-ratio: 1 / 1;
        background: var(--col_MypreBlue, #00467f);
      }
    }
  }

  input[type="checkbox"] {
    &:checked {
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 5px;
        left: 2px;
        width: 18px;
        height: 8px;
        border: 2px var(--col_MypreBlue, #00467f) solid;
        border-width: 0 0 2px 2px;
        transform: rotate(-40deg);
      }
    }
  }

  .form-group.block-order-gift-confirmation--mailnews.last {
    .form-label {
      display: none;
    }

    input[type="radio"],
    input[type="checkbox"] {
      & + input + label {
        padding-left: 30px;
        position: relative;
        margin-right: 30px;
        transition: 0.3s;
      }

      &:checked + input + label {
        padding-left: 0;

        &::after {
          opacity: 100%;
        }
      }
    }
  }

  /*---- 入力フォーム共通 ----*/
  :is(input, button, select, textarea) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    transition: 0.15s;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="search"],
  input[type="password"],
  input[type="url"],
  input[type="number"] {
    padding: 5px 10px;
    border-radius: 4px;
    height: 48px;
  }

  select {
    line-height: 48px;
    height: 48px;
    min-width: 5em;
    border-radius: 4px;
    padding-right: 8px;
  }

  textarea {
    padding: 10px 5px;
    vertical-align: bottom;;
    border-radius: 4px;

    &[readonly] {

      border-radius: 0;
      padding: 16px;
      scrollbar-width: thin;
    }
  }

  input[type="text"]:hover,
  input[type="tel"]:hover,
  input[type="email"]:hover,
  input[type="search"]:hover,
  input[type="password"]:hover,
  input[type="url"]:hover,
  input[type="number"]:hover,
  select:hover,
  textarea:hover {
    &:not([readonly]) {
      border: 1px solid var(--col_Gold, #baa66d);
    }
  }

  input[disabled] {
    color: #ffffff !important;
    background: #cccccc !important;
  }

  input[type="text"][disabled] {
    background: #00000028;
    cursor: not-allowed;
  }

  input[type="radio"][disabled],
  input[type="checkbox"][disabled] {
    & + label {
      opacity: 50%;
      cursor: not-allowed; /* 禁止カーソル */
    }
  }

  /*---- ボタン ----*/
  .btn {
    margin: 0;
    border: none;
    border-radius: 4px;
    display: inline-flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 20px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none !important;
    transition: 0.3s;

    &:hover,
    &:focus {
      opacity: 80%;
      text-decoration: none;
    }

    &:active,
    &.active {
      outline: 0;
    }

    &.disabled,
    &[disabled],
    &.disabled:hover,
    &[disabled]:hover,
    &.disabled:active,
    &[disabled]:active {
      cursor: not-allowed;
      opacity: 65%;
      box-shadow: none !important;
    }
  }

  .hidden-btn {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
  }

  .btn-default {
    &:hover,
    &:focus {
      color:var(--col_Gold, #baa66d);
    }
  }

  /*---- 画面上部メッセージ ----*/
  .alert {
    padding-left: 40px;
    margin-bottom: 5px;
    border-color: #ff0000;
    color: #ff0000;
    background-size: 20px;

    &::before {
      font-family: FontAwesome;
      content: "";
      position: absolute;
      left: 10px;
      border: 0 !important;
    }
  }

  .error-list {
    margin-top: 12px;

    li {
      display: flex;
      align-items: flex-start;

      & + & {
        margin-top: 4px;
      }

      &::before {
        content: "・";
        font-weight: 600;
      }
    }
  }

  .success {
    padding-left: 40px;
    background-size: 20px;
  }

  /*---- 入力フォームタイトル ----*/
  .legend {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: #cccccc 1px solid;
    font-family: var(--ff-serif);
  }

  /*---- 縦型入力フォーム ----*/
  .fieldset-vertical {
    margin-top: 10px;
    margin-bottom: 10px;

    .form-group {
      margin: 30px 0 10px 0;
    }

    .form-label,
    .constraint {
      margin: 0 0 12px 0;
    }

    .form-label {
      padding: 10px;
      margin-right: 10px;
      text-align: left;
      background: var(--col_paleGray, #f5f5f6);
      vertical-align: middle;

      &:has(+ .constraint) {
        margin: 0;
      }

      label {
        font-weight: 600;
      }
    }

    .constraint {
      .form-label + &:has(.required) {
        position: relative;
        width: 100%;

        .required {
          position: absolute;
          bottom: 0;
          right: 0;
          bottom: calc(100% + 9.25px);

            &::after {
              margin-right: 12px;
            }

        }
      }
    }
  }

  /*---- 横型入力フォーム ----*/
  .fieldset {
    margin-top: 10px;
    margin-bottom: 30px;
    width: 100%;

    .form-group {
      display: table;
      width: 100%;
      border: #00000028 1px solid;
      border-width: 1px 0 0 0;

      & + & {
        margin-top: -1px;
      }

      &:last-of-type {
        border-bottom: #00000028 1px solid;
      }
    }

    .form-label {
      padding: 35px 10px 35px 15px;
      background: var(--col_paleGray, #f5f5f6);
      vertical-align: middle;

      label {
        font-weight: normal;
        font-feature-settings: "palt";
        word-break: auto-phrase;
      }
    }

    .constraint {
      position: relative;
      background: var(--col_paleGray, #f5f5f6);
      vertical-align: middle;


      &::before {
        content: "任意";
        display: block grid;
        place-items: center;
        border-radius: .25em;
        margin: 0 3px 0 0;
        height: 24px;
        width: 44px;
        padding: 0 8px;
        line-height: 1;
        letter-spacing: 0.1em;
        word-break: keep-all;
        font-family: var(--ff-sans_serif);
        font-size: 1.3rem;
        color: #ffffff;
        background: #cdcdcd;
      }
      &:has(.required)::before { display: none;}
    }

    .form-control {
      padding: 35px 0 35px 20px;
      vertical-align: middle;
    }
  }

  /*---- 入力支援 ----*/
  .form-error {
    margin: 8px auto;
    color: #ff0000;
    background: #f2dede;
    font-size: 1.2rem;
    padding: 4px 12px;
    border: 1px solid #ff0000;
    text-align: center;
  }

  .required::after {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -2px;
    margin: 0 3px 0 0;
    height: 24px;
    width: 44px;
    padding: 0 8px;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: var(--ff-sans_serif);
    font-size: 1.3rem;
    background: var(--cl-dn, #d9534f);
  }

  .help-block {
    display: block;
    margin-top: 8px;
    font-size: 1.3rem;
    font-feature-settings: "palt";
    word-break: auto-phrae;
  }

  .count-msg-another {
    display: block;
    font-size: 1.3rem;
    margin-top: 5px;
    color: #555555;
  }

  .count-msg {
    font-size: 1.3rem;
    color: var(--cl-dn, #d9534f);
  }

  /*---- 入力フォームボタン ----*/
  .action-buttons {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
    position: relative;
    text-align: unset;

    .action {
      margin: 0;

      &:not(:has(*)) {
        display: none;
      }

      .btn {
        border: none;
        min-width: 250px;
        padding: 20px 28px;
        letter-spacing: 0.05em;;
        font-size: 1.8rem;

        a {
          color: #333333;
          text-decoration: none !important;

          &:hover {
            color: var(--col_Gold, #baa66d);
          }
        }
        &:hover a {
          color: var(--col_Gold, #baa66d);
        }
      }

      .btn-danger,
      .btn-primary {
        font-weight: 600;
      }
    }
  }

  /*---- ラジオボタン、チェックボックス ----*/
  .radio {
    margin-right: 10px;
  }

  /*---- EFO ----*/
  .efo-icon {
    border: none;
    vertical-align: middle;
  }

  .efo-error {
    input& {
      &[type="text"],
      &[type="tel"],
      &[type="email"],
      &[type="search"],
      &[type="password"],
      &[type="url"],
      &[type="number"] {
        background: #f2dede;
      }
    }
    select&,
    textarea& {
      background: #f2dede;
    }
  }

  .efo-valid {
    input& {
      &[type="text"],
      &[type="tel"],
      &[type="email"],
      &[type="search"],
      &[type="password"],
      &[type="url"],
      &[type="number"] {
        background: #e9f2d7;
      }
    }
    select&,
    textarea& {
      background: #e9f2d7;
    }
  }

  /*---- 最近見た商品 ----*/
  .block-recent-item {
    margin: 56px 0 0;
    width: 100%;
  }

  .block-recent-item--header {
    position: relative;
    margin: 0 0 50px 0;
    border-top: none;
    padding: 0 0 16px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 0.1em;
    font-size: 2.2rem;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 2em;
      margin-left: -1em;
      height: 2px;
      background: var(--cl-heading, #444444);
    }
  }

  .block-recent-item--message {
    text-align: center;
  }

  .block-recent-item--items {
    width: var(--wrapperW);
    overflow: hidden;
  }

  /*---- 最近チェックした商品(カート) ----*/
  .block-cart-recent-item {
    width: unset;

    .block-cart-recent-item--header {
      position: relative;
      border-top: unset;
      margin-bottom: 50px;
      padding-bottom: 35px;
      text-align: center;
      line-height: 1.4;
      letter-spacing: 0.1em;
      font-size: 2.2rem;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 2em;
        margin-left: -1em;
        height: 2px;
        background: var(--cl-br, #433d37);
      }
    }

    .block-cart-recent-item--items {
      width: 100%;

      ul {
        li {
          display: flex;
          justify-content: center;
          gap: 16px;

          .block-goods-list-c--item-body {
            flex-basis: calc((100% - 80px) /6);
            margin: 0;
            padding: 0;

            figure {
              width: unset;
              height: unset;
              padding: 5px;
              background: #ffffff linear-gradient(var(--col_paleGray, #f5f5f6) 0, var(--col_paleGray, #f5f5f6) 100%);

              img {
                background: #ffffff;

                a:hover & {
                  opacity: 80%;
                  transition: 0.3s;
                }
              }
            }
          }
        }
      }
    }

    .block-cart-recent-item--keep-history {
      text-align: right;
      margin-top: 20px;

      a {
        text-decoration: underline;
        font-size: 1.4rem;
      }
    }
  }

  /*---- 検索サジェスト ----*/
  .block-search-suggest {
    position: absolute;
    display: block;
    z-index: 1000;
    text-align: left;
    padding: 5px;
    width: 370px;
    background: #ffffff;
    border: 1px solid #000000;

    .block-search-suggest--keyword {
      padding: 2px;
    }

    .block-search-suggest--keyword-entry {
      display: block;
      text-decoration: none;
    }

    .block-search-suggest--goods {
      min-height: 60px;
      padding: 2px;
      display: block;
      clear: both;
    }

    .block-search-suggest--goods-img {
      display: block;
      float: left;
      width: 60px;
      margin-right: 10px;

      img {
        width: 60px;
        height: 60px;
      }
    }

    .block-search-suggest--goods-name,
    .block-search-suggest--goods-comment,
    .block-search-suggest--goods-price-items {
      width: 100%;
    }

    .block-search-suggest--keyword,
    .block-search-suggest--goods {
      &:hover {
        background-color: #00000028;
        cursor: pointer;
      }
    }
  }

  /*---- パンくず ----*/
  .block-topic-path {
    padding-bottom: 0;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
    position: absolute;

    .block-topic-path--list {
      & + & {
        z-index: 900;
      }

      &:first-of-type {
        display: block;
      }

      li {
        position: relative;
        line-height: 1.2;
        a {
          text-decoration: none;
          transition: 0.15s;

          &:hover {
            color: var(--col_Gold, #baa66d);
            text-decoration: underline;
          }
        }
      }
    }
  }

  /*---- キーワード検索ブロック ----*/
  .block-search-box--search-detail a {
    color: #6fb4c3;
    text-decoration: underline;
  }

  .block-search-box--form {
    background-color: #eeeeee;
    display: flex;
  }

  input.block-search-box--keyword:hover,
  input.block-search-box--keyword {
    border: none;
    background-color: transparent;
    flex-grow: 1;
  }

  button.block-search-box--search-submit {
    border: none;
    background-color: transparent;
    width: 33px;
  }

  .block-search-box--search-detail {
    margin: 5px 0;
  }

  /*---- Ajaxカートブロック ----*/
#block_of_jscart {
  margin-bottom: 30px;
  position: relative;
  border-top: 1px #9e9e9e solid;
  border-left: 1px #9e9e9e solid;
  padding-left: 10px;
}
.block-jscart--body {
  position: relative;
  padding-top: 15px;
}

.block-jscart--title {
  display: none;
}
  .block-jscart--items {
    border-bottom: #eeeeee 1px solid;
  padding-bottom: 12px;
  padding-left: 5px;
    margin-bottom: 5px;

    dd {
      text-align: right;
    }
  }

  .block-jscart--name {
    margin-bottom: 5px;
  }
  .block-jscart--price {
    margin-top: 5px;
  }
  .block-jscart--delete {
    text-align: right;
    margin-bottom: 5px;
    display: none;
  }

  .block-jscart--cart-to-order {
    a {
      width: 100%;
      color: #ffffff;
      background: #888888;
      letter-spacing: 0.1em;
    }
  }
  .block-jscart--total {
    text-align: right;
    margin-top: 10px;

    dt,
    dd {
      display: inline-block;
      font-weight: bold;
      font-size: 15px;
    }
    dd {
      font-size: 17px;
    }
  }
  .block-jscart--empty {
    text-align: center;
    padding: 0 5px 10px 5px;
  }

  /*---- エラー画面 ----*/
  .block-validation-alert {
    text-align: center;
    margin: 100px auto;
    padding: 30px;
    width: 500px;
    border: 1px solid #808080;
  }

  .block-validation-alert--title {
    font-weight: 600;
    margin-bottom: 10px;
  }

  .block-validation-alert--link {
    display: block;
    margin-top: 10px;
  }

  .block-common-alert--link {
    display: block;
    margin-top: 10px;
  }

  .block-common-alert-list {
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid #999999;
    background: #ffffff;
    width: 800px;
  }

  .block-common-alert-list--items {
    color: #a94442;
  }

  /*---- 郵便番号サジェスト ----*/
  .block-ziplist--ziplist-frame {
    z-index: 2000;
  }

  /*---- サイクル情報編集 ----*/
  .block-regular-cycle--cycle-sub-type {
    margin-bottom: 10px;
    padding: 10px;
    background: #f5f5f6;
    border: 1px solid #cccccc;
  }

  .block-regular-cycle--deliv_date {
    width: 100%;
    margin: 20px 0;
  }

  .block-regular-cycle--deliv_date--prev-expected-dt {
    border-top: 1px dotted #cccccc;
    border-left: 1px dotted #cccccc;
    border-right: 1px dotted #cccccc;
  }

  .block-regular-cycle--deliv_date--next-expected-dt {
    border: 1px dotted #cccccc;
  }

  .block-regular-cycle--deliv_date--prev-expected-dt-title,
  .block-regular-cycle--deliv_date--next-expected-dt-title {
    padding: 8px;
    text-align: center;
    font-weight: 600;
    vertical-align: top;
    background-color: #f5f5f6;
    border-bottom: 1px dotted #cccccc;
  }

  .block-regular-cycle--deliv_date--prev-expected-dt-date,
  .block-regular-cycle--deliv_date--next-expected-dt-date {
    padding: 8px;
    text-align: center;
    font-weight: 600;
    vertical-align: top;
  }

  /*---- 会員規約画面 ----*/
  .block-member-terms {
    width: 1000px;
    margin: 0 auto;
  }

  .block-member-terms--message {
    margin-bottom: 40px;
  }

  .block-member-terms--body {
    margin-top: unset;
    margin-bottom: unset;
    width: 100%;
  }

  /*---- 会員登録画面 ----*/
  .block-shipping-address-confirmation--message,
  .block-member-info-confirmation--message {
    margin-bottom: 40px;
    padding: 10px;
    border: 1px solid #bee3c8;
    background: #effff3;
    color: #73af95;
  }

  /*---- 会員登録完了画面 ----*/
  .block-member-registration-completed {
    > p {
      margin: 80px 0;
      text-align: center;
      line-height: 2;
    }
  }

  div[class$="--customer-name"] {
    color: var(--col_MypreBlue, #00467f);
    font-weight: 600;
    margin-bottom: 16px;
  }

  /*---- 会員情報変更画面 ----*/
  .block-member-info--message-password {
    margin: 0;
  }
  .block-member-info--mail {
    .constraint {
      &::before {
        display: none;
      }
    }
    a {
      color: var(--cl-dn, #d9534f);
    }


  }
  /*---- アドレス帳の新規登録・変更 ----*/
  .block-shipping-address-registration--message {
    margin-bottom: 30px;
  }

  .block-shipping-address--customer-name,
  .block-shipping-address-confirmation--customer-name {
    display: none;
  }

  .block-shipping-address-confirmation--message {
    margin-bottom: 40px;
  }

  .block-shipping-address--nickname {
    margin-bottom: 30px;
    border: #00000028 1px solid;

    .form-label .control-label {
      font-weight: 600;
    }
  }

  .block-shipping-address {
    .fieldset {
      margin: 0;
    }
  }

  /*---- 購入履歴一覧 ----*/
  .block-purchase-history--table {
    th {
      word-break: keep-all;
    }
    td {
      vertical-align: top;
    }
  }
  .block-purchase-history--order-detail-list {
    li {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      font-feature-settings: "palt";
      line-height: 1.5;
      word-break:auto-phrase;

      &::before {
        content: "・";
        flex-grow: 0;
      }
      .block-purchase-history--goods-name {
        flex-grow: 1;
        width: calc(100% - 1em);
      }
      .block-purchase-history--goods-subitems {
        padding-left: 1em;
      }

      & + & {
        margin: 8px 0;
      }
    }
  }
  .block-purchase-history--pager-top {
    margin-top: -50px;
  }

  .block-purchase-history--order-detail-reorder {
    margin: 12px 0 0;

    a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: unset;
      height: 40px;
      padding: 0 16px;
      text-decoration: none;
    }
  }

  .block-purchase-history--status {
    a {
      display: block;
      text-decoration: none;
      background: #ffffff;
      transition: 0.3s;

      &:hover {
        opacity: 80%;
      }
    }
  }

  /*---- 購入履歴詳細 ----*/
  .block-purchase-history-detail--shipping-info-items th {
    width: 10em;
  }

  .block-purchase-history-detail--shipment-item .block-purchase-history-detail--invoice {
    margin: 13px 0;
  }

  /*---- 会員IDの変更 ----*/
  .block-member-id--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- パスワードの変更 ----*/
  .block-member-password--update-completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- お気に入り ----*/

  /*---- お問い合わせ履歴一覧 ----*/

  /*---- お問い合わせ履歴詳細 ----*/

  .block-inquiry-history-detail--subject {
    font-size: 2.0rem;
  }

  .block-inquiry-history-detail--title {
    background-color: #f5f5f6;
    padding: 20px 25px;

    h2 {
      margin-top: 0;
      font-weight: 600;
      font-size: 1.8rem;
    }
  }

  .block-inquiry-history-detail {
    .block-inquiry-history-detail--contact-name,
    .block-inquiry-history-detail--update-dt {
      font-size: 1.6rem;
    }
  }

  /*---- 退会 ----*/
  .block-withdrawal--message {
    margin-bottom: 20px;
  }

  .block-withdrawal--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- ログアウト ----*/
  .block-logout {
    .block-logout--header {
      text-align: center;
    }

    .block-logout--message {
      margin: 80px 0;
      text-align: center;
      line-height: 2;
    }
  }

  /*---- メールアドレス変更 ----*/
  .block-mail-address--update-completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- 所持クーポン一覧 ----*/

  /*---- 定期購入商品一覧 ----*/

  /*---- 定期購入商品詳細 ----*/

  .block-regular-purcharse-detail--cycle-update .block-regular-purcharse-detail--update-cycle {
    margin-left: 15px;
  }

  .block-regular-purcharse-detail--body {
    .block-regular-purcharse-detail--shipment-address {
      padding: 20px;
    }

    .block-regular-purcharse-detail--action-message {
      margin: 30px 0 15px 0;
    }
  }

  /*---- 定期購入商品配送先変更 ----*/

  /*---- 定期購入商品解約 ----*/

  .block-regular-purcharse-cancellation--message {
    margin-top: 50px;
  }

  /*---- ポイント履歴一覧 ----*/

  /*---- 入荷案内申し込み商品 ----*/

  /*---- 入荷案内申し込み商品 ----*/

  .block-credit-card-confirmation--message {
    margin-bottom: 20px;
  }

  /*---- カード情報変更 ----*/
  .block-update-credit-card-info--message {
    margin-bottom: 20px;
  }

  /*---- ご注文キャンセル ----*/
  .block-order-cancellation--body .legend {
    margin-top: 0;
  }

  /*---- ご注文キャンセル完了 ----*/
  .block-order-cancellation-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- 定期購入商品サイクル情報変更 ----*/

  /*---- ユーザーレビュー ----*/
  .block-user-review-completed--message-header {
    text-align: center;
    margin-top: 80px;
  }

  .block-user-review-completed--message {
    text-align: center;
    margin-bottom: 80px;
  }

  /*---- パスワード再設定 ----*/
  .block-reset-password--message {
    margin-bottom: 30px;
  }

  .block-reset-password-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- パスワード再設定 ----*/
  .block-update-new-password--message {
    margin-bottom: 30px;
  }

  .block-reset-new-password--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- お問い合わせ ----*/
  .block-inquiry-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- アンケート ----*/
  .block-questionnaire-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- マイページ画面 ----*/
  .block-mypage {
    margin: 0 auto;
    overflow: hidden;
  }

  .block-mypage--customer-status {
    margin-bottom: 40px;
    border: 1px solid #00000028;
    padding: 24px;
    background: 0;

    .block-mypage--sign {
      flex-grow: 1;
      text-align: left;
      padding: 0;
      border: 0;
    }

    .block-mypage--mypoint {
      flex-grow: 2;
      font-size: 1.8rem;
      padding-left: 34px;
    }

    .block-mypage--rank-status {
      display: flex;
      align-items: center;
      flex-grow: 2;
      justify-content: flex-end;
    }

    .block-mypage--rank-condition dl {
      display: flex;
      align-items: center;
    }

    .block-mypage--customer-name {
      font-size: 2rem;
    }

    .block-mypage--logout {
      margin-top: 8px;
      font-size: 1.6rem;
      color: var(--cl-br, #433d37);

      a {
        color: var(--cl-dn, #d9534f);

        &:hover {
          text-decoration: none;
        }
      }
    }

    .block-mypage--mypoint-duedate {
      font-size: 1.4rem;
      display: block;
    }

    .block-mypage--rank-info {
      border: #ffffff 1px solid;
      text-align: center;
      padding: 12px 18px 13px;
    }

    .block-mypage--rank-title {
      font-size: 1.2rem;
    }

    .block-mypage--rank-name {
      font-size: 1.4rem;
    }

    .block-mypage--rank-condition {
      padding: 0 10px 0 17px;
    }

    .block-mypage--rank-condition-1 {
      margin-bottom: 2px;
    }

    .block-mypage--rank-condition-1-title,
    .block-mypage--rank-condition-2-title {
      background: #ffffff;
      color: #444444;
      text-align: center;
      padding: 1px 5px;
      border-radius: 2px;
      font-size: 1.2rem;
      margin-right: 5px;

      i {
          padding-right: 3px;
      }
    }

    .block-mypage--customer-barcode {
      text-align: center;
      padding: 10px;

      #customer_barcode_ > div {
          margin: 0 auto;
      }
    }
  }

  .block-mypage--recommend {
    padding: 10px;
    text-align: right;

    a {
      text-decoration: underline;
    }
  }

  h2[class^="block-mypage--"][class$="-info"] {
    margin-bottom: 24px;
    padding: 15px 20px;
    font-size: 2rem;
    font-weight: 600;
    color: var(--cl-heading, #444444);
    background: var(--col_paleGray, #f5f5f6);

    i {
      padding-right: 15px;
    }
  }

  [class^="block-mypage--"][class$="-info-items"] {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 40px 16px;
    gap: 24px;

    li {
      width: calc((100% - 48px) /3);
      padding: 0;
      margin-bottom: 30px;
      max-width: inherit;
      flex-grow: inherit;
      border: none;
      margin: 0;

      dt {
        border-bottom: #00000028 1px solid;

        a {
          font-size: 100%;
          font-weight: 600;
          padding: 8px 32px 8px 0;
          text-decoration: none;
          position: relative;
          font-size: 1.6rem;
          transition: 0.3s;

          &:hover {
            text-decoration: underline;
            transition: 0.3s;
          }

          &::after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 15px;
            width: 8px;
            height: 8px;
            border-top: 1px #444444 solid;
            border-right: 1px #444444 solid;
            transform: rotate(45deg);
            margin: -5px 0 0 0;
            transition: 0.3s;
          }

          &:hover::after {
            right: 11px;
          }
        }

        i {
          display: none;
        }
      }

      dd {
        padding: 16px 10px 16px 0;
      }
    }
  }

  .block-mypage--withdrawal-link {
    text-align: right;
    color: #444444;

    .block-mypage--withdrawal {
      color: var(--cl-a, #433d37);
      text-decoration: underline;

      &:hover {
        color: var(--cl-dn, #d9534f);
        text-decoration: none;
      }
    }
  }

  .block-mypage--update-address-book {
    display: flex;
    height: 36px;
    background: #eeeeee;
    border-radius: 4px;
    margin: 16px auto 0 0;
    text-decoration: none;
    transition: 0.3s;
    justify-content: center;
    align-items: center;

    &:hover {
      opacity: 80%;
      text-decoration: none !important;
    }
  }

  /* SNS連動設定モーダル */
  .modal--snssync-menu {
    width: 660px;
    margin: 15px;
    overflow: hidden;
    zoom: 1;

    &::after {
      visibility: hidden;
      display: block;
      content: " ";
      clear: both;
      height: 0;
    }

    button:focus {
      outline: none;
    }

    .snslogin_btn_width {
      width: 280px;
    }

    .snslogin {
      display: inline-block;
      margin: 0;
      text-align: center;
      vertical-align: middle;
      cursor: pointer;
      white-space: nowrap;
      height: 50px;
      background-color: transparent;
      border: none;
    }

    .snslogin-contents {
      float: left;
    }

    .sns_logo {
      width: 40px;
      height: 38px;
      display: block;
      float: left;

      .modal--snssync-menu-contents-facebook & {
        background: #3b579d url("/img/sys/snslogin/facebook.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-twitter & {
        background: #55acee url("/img/sys/snslogin/twitter.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-gplus & {
        background: #de4f3e url("/img/sys/snslogin/gplus.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-yahoo {
        background: #e61017 url("/img/sys/snslogin/yahoo.png") no-repeat;
        background-size: 38px 38px;
        width: 38px;
        height: 38px;
        border: 1px solid #e61017;
      }

      .modal--snssync-menu-contents-line & {
        background: #00b900 url("/img/sys/snslogin/line.png") no-repeat;
        background-size: 40px 40px;
      }
    }

    .sns_word {
      width: 195px;
      height: 38px;
      line-height: 38px;
      float: left;
      text-align: left;
      padding: 0 10px;
      margin-left: 1px;
      border-left: solid 1px #cccccc;

      .modal--snssync-menu-contents-line & {
        border: solid 1px #00b900;
      }

      .modal--snssync-menu-contents-facebook & {
        border: solid 1px #3b579d;
      }

      .modal--snssync-menu-contents-twitter & {
        border: solid 1px #55acee;
      }

      .modal--snssync-menu-contents-gplus & {
        border: solid 1px #de4f3e;
      }

      .modal--snssync-menu-contents-yahoo & {
        border: solid 1px #e61017;
      }

      .snssync-release & {
        .modal--snssync-menu-contents-line & {
          background: #00b900;
          color: #ffffff;
        }

        .modal--snssync-menu-contents-facebook & {
          background: #3b579d;
          color: #ffffff;
        }

        .modal--snssync-menu-contents-twitter & {
          background: #55acee;
          color: #ffffff;
        }

        .modal--snssync-menu-contents-gplus & {
          background: #de4f3e;
          color: #ffffff;
        }

        .modal--snssync-menu-contents-yahoo & {
          background: #e61017;
          color: #ffffff;
        }
      }
    }
  }

  /* マイページ用 > line友達登録用 */
  .snslogin-line-friends {
    .snslogin-line-friend-message {
      margin-bottom: 10px;
    }

    form {
      float: left;
    }

    .snslogin_btn_width {
      color: #ffffff;
      width: 160px;
      margin: 0 16px;
    }

    .snslogin-line-friend-sns_word {
      width: 100%;
      height: 40px;
      line-height: 40px;
      float: left;
      text-align: center;
      margin-left: 1px;

      .snslogin-line-friend-yes & {
        background: #232323;
      }

      .snslogin-line-friend-no & {
        background: #999999;
      }
    }
  }

  /*---- 会員登録画面 ----*/
  .block-member-info--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-member-info {
    input[name="name"],
    input[name="name2"],
    input[name="kana"],
    input[name="kana2"] {
      max-width: 200px;
    }
  }

  /*---- アドレス帳の新規登録・変更画面 ----*/
  .block-shipping-address--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-shipping-address {
    input[name="name"],
    input[name="name2"],
    input[name="kana"],
    input[name="kana2"] {
      max-width: 200px;
    }
  }

  /*---- ログイン画面 ----*/
  .block-login {
    .block-login--member-header,
    .block-login--first-time-header,
    .common_headline2_area_ {
      padding-bottom: 25px;
      margin-bottom: 30px;
    }

    .block-login--member-header,
    .block-login--first-time-header,
    .common_headline2_area_ {
      span {
        font-size: 2.2rem;
      }
    }
  }

  .block-login--member-message {
    text-align: center;
    margin: -8px 0 0;
  }

  .block-login--first-time-message {
    text-align: center;
    margin: 0 auto 20px auto;
  }

  .block-login--login-state-saving {
    margin-top: 35px;
    text-align: center;
  }

  .block-login--amazon-message {
    text-align: center;
  }

  .block-login--login {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  .block-login {
      h1 {
        text-align: center;
      }

    .block-login--body {
      margin-inline: auto;
      width: var(--wrapperW);
      display: flex;
      flex-wrap: nowrap;
      flex-direction: row-reverse;
      align-items: stretch;
      justify-content: space-between;

      .block-login--first-time,
      .block-login--member {
        display: block;
        margin: 0;
      }

      /*---- 初めてご利用の方・会員以外の方 ----*/
      .block-login--first-time {
        display: block;
        margin: 0 40px 0 0;
        border-right: 1px solid #00000028;
        padding: 0 40px 0 0;
        width: 50%;

        .block-login--first-time-body {
          border: 1px #00000028 solid;
          border-radius: 5px;
          padding: 32px 24px;
          width: 100%;
          background: var(--col_Background, #ffffff);
          overflow: hidden;

          .action-buttons {
            margin: 0;
          }
        }
      }

      /*---- 会員のお客様 ----*/
      .block-login--member {
        max-width: 720px;

        .block-login--member-body {
          display: unset;

          .block-login--member-frame {
            display: unset;
            margin-right: 0;

            .block-login--input-items {
              margin: 30px auto 0;
              width: unset;
            }
          }
        }
      }

      .block-login--uid, .block-login--pwd {
        .form-label {
          padding: 16px 10px 16px 15px;
          width: 138px;
        }
        .form-control {
          padding: 16px 10px 16px 15px;

          & > input {
            width: 100%;
          }
        }
      }

      .block-login--ask-password {
        margin-top: 20px;
      }

      .action .btn {
        width: 300px;
      }

      h2 {
        padding-bottom: 35px;
        margin: 0 0 36px;
        position: relative;
        text-align: center;
        line-height: 1.4;
        letter-spacing: 0.5em;

        span::after {
          content: "";
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 2em;
          margin-left: -1em;
          height: 2px;
          background: var(--cl-heading, #444444);
        }
      }
    }
  }

  .block-login--entry {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  .block-login--social-frame {
    display: table-cell;
    padding-left: 0;
    width: 1200px;
  }

  .block-login--guest {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 240px;
  }

  .block-login--member-info-value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* **************************** */
  .block-login--snslogin-body {
    width: 95%;
    margin: auto;
    padding: 0 0 15px 0;
    overflow: hidden;
    zoom: 1;

    &::after {
      clear: both;
    }

    ul {
      justify-content: inherit;
      align-items: center;
      margin-left: inherit;

      li {
        float: left;
        width: 220px;
      }
    }

    .sns_logo {
      width: 40px;
      height: 40px;
      display: block;

      .block-login--snslogin-contents-facebook & {
        background: #3b579d url("/img/sys/snslogin/facebook.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-twitter & {
        background: #55acee url("/img/sys/snslogin/twitter.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-gplus & {
        background: #de4f3e url("/img/sys/snslogin/gplus.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-yahoo & {
        background: #e61017 url("/img/sys/snslogin/yahoo.png") no-repeat;
        background-size: 39px 39px;
        border: 1px solid #e61017;
        width: 41px;
        height: 40px;
      }

      .block-login--snslogin-contents-line & {
        background: #00b900 url("/img/sys/snslogin/line.png") no-repeat;
        background-size: 40px 40px;
      }
    }

    .sns_word {
      width: 160px;
      height: 40px;
      line-height: 40px;
      float: left;
      text-align: left;
      padding: 2px 6px;
      margin-left: 1px;
      border-left: solid 1px #cccccc;
      font-size: 85%;
      color: #ffffff;

      .block-login--snslogin-contents-line & {
        background: #00b900;
      }

      .block-login--snslogin-contents-facebook & {
        background: #3b579d;
      }

      .block-login--snslogin-contents-twitter & {
        background: #55acee;
      }

      .block-login--snslogin-contents-gplus & {
        background: #de4f3e;
      }

      .block-login--snslogin-contents-yahoo & {
        background: #e61017;
      }
    }
  }

  .block-login--snslogin-contents-btn {
    display: inline-block;
    margin: 0;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
    width: 230px;
    height: 50px;
    background-color: transparent;
    border: none;

    button:focus {
      outline: none;
    }
  }

  .block-login--snslogin-text {
    text-align: center;
    margin-bottom: 20px;
  }

  /*---- 追加認証画面 ----*/
  .block-additional-authentication {
    height: 510px;
  }

  .block-additional-authentication--body {
    padding: 20px;
    overflow: hidden;
    border: solid 1px #00000028;
    background: #ffffff;
  }

  .block-additional-authentication--message-header {
    font-size: 1.4rem;
    font-weight: 600;
    padding: 0 50px;
  }

  .block-additional-authentication--message {
    padding: 10px 50px 30px 50px;
  }

  .block-additional-authentication--input-items {
    width: 600px;
    margin: 10px auto;
  }

  .block-additional-authentication--authentication-key input[type="text"] {
    width: 330px;
  }

  .block-additional-authentication--login {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  /*---- 買い物かご ----*/
  /*---- 追加メッセージ ----*/
  .addcart--message {
    display: none;

    .addcart--btn__back {
      margin: 4px 0 0 0;
      color: var(--cl-a);

      &::before {
        margin: 0 0.25em 0 0;
        content: "＜";
      }

      a {
        text-decoration: underline;
      }
    }
  }

  .block-cart--rule {
    margin: 0 0 20px;
    border-color: #00000028;
    font-weight: 600;
    font-size: 2.0rem;
    color: var(--cl-heading, #444444);
  }

  .block-cart--store-delivery {
    margin: 0 0 12px;
    border-top: 1px solid var(--cl-heading, #444444);

    .block-cart--store-delivery-button-description {
      order: 20;
      padding: 16px 0 8px;
      text-align: center;
      font-size: 1.2rem;
    }
  }

  .block-cart--store-delivery-order-btn-store-delivery {
    border-radius: 8px;
    font-size: 1.8rem;
    height: 64px;

    .block-cart--procedure-container:has(&) {
      flex-direction: column-reverse;
    }
  }

  .block-cart--goods-list-item-input {
    display: flex;
    height: 100%;
    flex-direction: column;
  }

  /*---- お気に入り画面 ----*/
  .block-favorite--form li {
    border: 1px solid #cccccc;
    border-top: none;
    padding: 20px;

    &:first-child {
      border-top: 1px solid #cccccc;
    }
  }

  .block-favorite--favorite-goods {
    display: flex;
    width: 100%;
  }

  .block-favorite--checkbox,
  .block-favorite--delete-item {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .block-favorite--checkbox {
    flex-basis: 30px;
    padding-right: 10px;

    input[type="checkbox"] {
      display: block;
    }
  }

  .block-favorite--image {
    flex-basis: 160px;

    figure {
      background: #f5f5f6;
      width: 142px;
      height: 142px;
    }
  }

  .block-favorite--description {
    flex-basis: 280px;
  }

  .block-favorite--comment-textarea {
    width: 540px;
    height: 75px;
  }

  .block-favorite--comment {
    flex-basis: 580px;
    margin: 0 20px;
  }

  .block-favorite--delete-item {
    flex-basis: 80px;
    text-align: center;
  }

  .block-favorite--goods-name a {
    color: var(--cl-a, #433d37);
  }

  .block-favorite--price-items {
    padding-top: 10px;
  }

  .block-favorite--price-title,
  .block-favorite--price {
    display: inline-block;
  }

  .block-favorite--update-dt {
    dt,
    dd {
      display: inline-block;
    }
  }

  /*---- 入荷案内申し込み商品画面 ----*/
  .block-arrival-notice-list--form li {
    margin-bottom: 20px;
  }

  .block-arrival-notice-list--goods {
    display: flex;
    width: 100%;
  }

  .block-arrival-notice-list--image {
    flex-basis: 160px;

    figure {
      background: #f5f5f6;
      width: 142px;
      height: 142px;
    }
  }

  .block-arrival-notice-list--description {
    flex-grow: 1;
  }

  .block-arrival-notice-list--delete-item {
    flex-basis: 80px;
    text-align: center;
  }

  .block-arrival-notice-list--goods-name a {
    color: var(--cl-a, #433d37);
  }

  .block-arrival-notice-list--price-title,
  .block-arrival-notice-list--price {
    display: inline-block;
  }

  .block-arrival-notice-list--update-dt {
    dt,
    dd {
      display: inline-block;
    }
  }

  /*---- 購入履歴一覧画面 ----*/
  .block-purchase-history--table {
    margin: 5px 0;
    width: 100%;

    .block-purchase-history--order-dt {
      word-break: auto-phrase;
      width: 6.5em !important;
    }

    .block-purchase-history--total {
      text-align: center;
      word-break: keep-all;
    }
    .block-purchase-history--method {
      text-align: center;
    }

    .block-purchase-history--order-id {
      a {
        color: var(--col_Gold, #baa66d);
        text-decoration: none;
        &:hover {
          text-decoration: underline;
          filter: brightness(110%);
        }

      }
    }
    .block-purchase-history--order-detail {
      width: 280px;
    }
  }

  .block-purchase-history--status a:hover {
    text-decoration: none;
  }

  /*---- 購入履歴詳細画面 ----*/
  .block-purchase-history-detail--order-info {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--order-info-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-info-right {
  --cl-br: #433d37;
  --cl-a: #433d37;

    color: var(--cl-br, #433d37);
    width: 35%;
    padding: 0 0 0 10px;
  }

  .block-purchase-history-detail--order-info-table {
    width: 100%;

    th {
      width: 210px;
    }
  }

  .block-purchase-history-detail--order-body {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--order-body-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-body-right {
    width: 35%;
    padding: 0 0 0 10px;
  }

  .block-purchase-history-detail--order-detail-items {
    width: 100%;

    th {
      white-space: nowrap;
    }

    .block-purchase-history-detail--goods-qty {
      text-align: center;
    }

    .block-purchase-history-detail--goods-total-price {
      white-space: nowrap;
      text-align: right;
    }
  }

  .block-purchase-history-detail--payment-info-items {
    width: 100%;

    td {
      text-align: right;
    }
  }

  .block-purchase-history-detail--point-message {
    margin: 5px 0;
  }

  .block-purchase-history-detail--shipping-info {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--shipping-info-left {
    width: 65%;
  }

  .block-purchase-history-detail--shipping-info-right {
    width: 35%;
    padding: 0 0 0 10px;
  }

  .block-purchase-history-detail--sender-items {
    width: 100%;
  }

  .block-purchase-history-detail--shipping-info-items {
    width: 100%;
  }

  .block-purchase-history-detail--shiment-address {
    border: 1px solid #cccccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-purchase-history-detail--shipment-items {
    width: 100%;

    th {
      white-space: nowrap;
    }

    .block-purchase-history-detail--destination-shipment-qty {
      text-align: center;
    }
  }

  .block-purchase-history-detail--csv-info-items {
    width: 100%;
    margin: 10px 0;

    th {
      width: 250px;
    }
  }

  .block-purchase-history-detail--invoice {
    margin: 5px 0;
    width: 100%;

    dt {
      display: inline-block;
      font-weight: 600;
    }

    dd {
      display: inline-block;
    }
  }

  .block-purchase-history-detail--track-shipment {
    margin: 5px 0;
    width: 100%;

    dt {
      display: inline-block;
      font-weight: 600;
    }

    dd {
      display: inline-block;
    }
  }

  .block-purchase-history-detail--append-items {
    width: 100%;

    th {
      min-width: 250px;
      white-space: nowrap;
    }
  }

  .block-purchase-history-detail {
    .block-purchase-history-detail--add-goods {
      width: 300px;
    }

    .block-purchase-history-detail--contact {
      width: 300px;
    }

    .block-purchase-history-detail--cancel {
      width: 250px;
    }
  }

  .block-purchase-history-detail--child-order-id a,
  .block-purchase-history-detail--parent-order-id a,
  .block-purchase-history-detail--regular-sales-include a {
    text-decoration: underline;
  }

  /*---- ご注文キャンセル画面 ----*/
  .block-order-cancellation--order-info {
    margin: 10px 0 30px 0;
    display: flex;
    width: 100%;
  }

  .block-order-cancellation--order-info-left {
    width: 60%;
  }

  .block-order-cancellation--order-info-right {
    width: 40%;
    padding: 0 0 0 30px;
  }

  .block-order-cancellation--shiment-address {
    border: 1px solid #cccccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-order-cancellation--payment-info-items {
    width: 100%;
  }

  .block-order-cancellation--order-items {
    width: 100%;
  }

  /*---- 定期購入商品一覧画面 ----*/
  .block-regular-purcharse-list--table {
    margin: 5px 0;
    width: 100%;
  }

  .block-regular-purcharse-list--regular-sales a {
    text-decoration: underline;
  }

  /*---- 定期購入商品詳細画面 ----*/
  .block-regular-purcharse-detail--body {
    margin: 10px 0;
    width: 100%;
  }

  .block-regular-purcharse-detail--regular-sales-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-regular-purcharse-detail--shipment-address {
    border: 1px solid #cccccc;
    padding: 10px;
    margin: 10px 0;
  }

  .block-regular-purcharse-detail--update-address {
    margin: 10px 0;
    text-align: right;
  }

  .block-regular-purcharse-detail--goods-items {
    width: 100%;
  }

  .block-regular-purcharse-cycle-info-update--goods-img,
  .block-regular-purcharse-detail--goods-img {
    width: 200px;
  }

  .block-regular-purcharse-detail--append-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-regular-purcharse-detail--include-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-regular-purcharse-detail--action-message {
    margin-top: 10px;
  }

  .block-regular-purcharse-list--order-id a {
    text-decoration: underline;
  }

  /*---- 定期購入商品カード情報確認画面 ----*/
  .block-regular-purchase-creditcard-info-confirmation--regular-purchase-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-regular-purchase-creditcard-info-confirmation--goods-table {
    width: 100%;
    margin: 10px 0;
  }

  .block-regular-purchase-creditcard-info-confirmation--card-info-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  /*---- 定期購入商品カード情報変更画面 ----*/
  .block-update-regular-purchase-creditcard-info--regular-purchase-info-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-update-regular-purchase-creditcard-info--goods-table {
    width: 100%;
    margin: 10px 0;
  }

  /*---- 定期購入商品配送先変更画面 ----*/
  .block-regular-purcharse-shipment-info-update--new-address,
  .block-regular-purcharse-shipment-info-update--old-address {
    border: 1px solid #cccccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-regular-purcharse-shipment-info-update--new-destination {
    margin-bottom: 30px;
  }

  .block-regular-purcharse-shipment-info-update--old-info-message {
    margin-top: 20px;
  }

  /*---- 定期購入商品サイクル情報変更画面 ----*/
  .block-regular-purcharse-cycle-info-update h3 {
    font-size: 1.4rem;
    color: #444444;
    font-weight: 600;
    margin: 0 0 12px 0;
  }

  .block-regular-purcharse-cycle-info-update--body {
    margin: 10px 0;
    width: 100%;
  }

  .block-regular-purcharse-cycle-info-update--regular-sales-items {
    width: 100%;

    th {
      width: 250px;
    }
  }

  .block-regular-purcharse-cycle-info-update--shipment-address {
    border: 1px solid #cccccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-regular-purcharse-cycle-info-update--goods-items {
    width: 100%;
  }

  /*---- 定期購入商品解約画面 ----*/
  .block-regular-purcharse-cancellation--goods-items {
    margin: 10px 0;
    width: 100%;
  }

  .block-regular-purcharse-cancellation--message {
    text-align: center;
  }

  /*---- カード情報確認画面 ----*/
  .block-credit-card-confirmation--credit-card-info-table {
    width: 100%;

    th {
      width: 250px;
    }
  }

  /*---- お問い合わせ画面 ----*/
  .block-inquiry--inquiry-body .form-label,
  .block-inquiry--inquiry-body .constraint {
    vertical-align: top;
    padding-top: 8px;
  }

  /*---- お問い合わせ履歴一覧画面 ----*/
  .block-inquiry-history--body {
    border-top: 1px solid #cccccc;

    li {
      margin: 5px 0;
      padding: 15px 0;
      border-bottom: 1px solid #cccccc;

      .span {
        margin: 0 10px 0 0;
      }
    }
  }

  /*---- お問い合わせ履歴詳細画面 ----*/
  .block-inquiry-history-detail--form {
    margin: 50px 0;
  }

  .block-inquiry-history-detail--message {
    text-align: center;
  }

  .block-inquiry-history-detail--inquiry-body {
    margin: 20px 0;

    textarea {
      width: 100%;
    }
  }

  .block-inquiry-history-detail--item dt {
    width: 100%;
    display: flex;
  }

  .block-inquiry-history-detail--contact-name {
    width: 80%;
  }

  .block-inquiry-history-detail--update-dt {
    width: 20%;
    text-align: right;
    font-weight: normal;
  }

  .block-inquiry-history-detail--message-confirm {
    text-align: center;
  }

  .block-inquiry-history-detail--inquiry-body-confirm {
    margin: 20px 0;
    padding: 10px;
    border: 1px solid #cccccc;
  }

  /*---- ポイント履歴一覧画面 ----*/
  .block-point-history-list--point {
    font-size: 2.0rem;
    font-weight: 600;
    margin: 0 5px;
  }

  .block-point-history-list--message {
    margin: 5px 0;
  }

  .block-point-history-list--items {
    margin: 5px 0;
    width: 100%;
  }

  /*---- 所持クーポン一覧画面 ----*/
  .block-coupon-list--table {
    margin: 5px 0;
    width: 100%;
  }

  .block-coupon-list--coupon-dt {
    white-space: nowrap;
    width: 300px;
  }

  /*---- 店舗クーポン一覧画面 ----*/
  .block-store-coupon-list--table {
    margin: 5px 0;
    width: 100%;
  }

  .block-store-coupon-list--coupon-dt {
    white-space: nowrap;
    width: 300px;
  }

  /*---- ログアウト画面 ----*/
  .block-logout--message a {
    text-decoration: underline;
  }

  /*---- パスワード再設定 ----*/
  .block-reset-password--tel {
    border-bottom: 1px solid #e5e5e5;
  }

  /*---- 注文フローステップ ----*/
  .block-order-flow--step {
    position: sticky;
    margin: 0 calc((1060px - 100cqw) /2) 64px;
    padding: 0;
    text-align: center;
    width: 100cqw;
    border-bottom: 1px solid #00000028;

    &.has-sidearea {
      margin: 0 calc((var(--wrapperW) - 100cqw)/2) 64px;
    }

    .pane-main:has(&) {
      margin-top: 0;
    }

    .block-cart & {
      margin: 0 calc((1060px - 100cqw)/2) 44px;
    }

    & > p {
      display: flex;
      justify-content: center;
      align-items: center;
      border-bottom: 1px solid #00000028;
      margin: 0 auto;
      height: 32px;
      padding: 0 50px;
      text-align: center;
      line-height: 1;
      font-weight: 700;
      font-size: 1.4rem;
      background-color: color-mix(in srgb, var(--col_paleGray, #f5f5f6) 45%, #ffffff);
      z-index: -1;
    }

    ul {
      display: flex;
      width: var(--wrapperW);
      margin: 0 auto;
      border: 1px solid #00000028;
      border-width: 0 1px;
      overflow: hidden;

      li {
        position: relative;
        display: flex;
        height: 60px;
        padding: 0 0 0 16px;
        line-height: 1.4;
        text-align: left;
        word-break: keep-all;
        word-break: auto-phrase;
        line-break: anywhere;
        letter-spacing: 0.05em;
        font-feature-settings: "palt";
        font-weight: 600;
        color: var(--cl-heading, #444444);
        width: calc((100%) /5);
        margin: 0;
        align-items: center;

        span {
          color: var(--col_MypreBlue, #00467f);
        }

        .steps-4 & {
          width: calc((100%) /4);
        }

        &::after {
          content: "";
          position: absolute;
          top: -1.5px;
          right: -19px;
          height: calc(100% + 2px);
          width: 20px;
          background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2220%22%20height%3D%2262%22%20viewBox%3D%220%200%2020%2062%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.5%2061L18.5%2031L0.5%201%22%20stroke%3D%22black%22%20stroke-opacity%3D%220.16%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat 100% 50% /cover;
          z-index: 5;
        }

        &:last-child::after {
          display: none;
        }

        &.step-current {
          --cl-br: #ffffff;
          background: var(--col_MypreBlue, #00467f);
          color: #ffffff;

          span {
            color: #ffffff;
            border-color: #ffffff;
          }

          &::after {
            opacity: 100%;
            mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2219%22%20height%3D%2260%22%20viewBox%3D%220%200%2019%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M18.5%2030L0.5%2060V0L18.5%2030Z%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat 100% 50% /cover;
            background: var(--col_MypreBlue);
          }
        }

        &:last-child.step-current {
          background: var(--cl-dn);
        }

        &.step-past {
          background: #ffffff linear-gradient(var(--col_paleGray, #f5f5f6) 0, var(--col_paleGray, #f5f5f6) 100%);
          color: color-mix(in srgb, var(--cl-br) 60%, transparent);

          span {
            border-color: color-mix(in srgb, var(--cl-br) 60%, transparent);
            color: color-mix(in srgb, var(--cl-br) 60%, transparent);
          }

          &:has(+ .step-current)::after {
            opacity: 100%;
            color: var(--col_MypreBlue, #00467f);
          }

          &::after {
            z-index: 5;
            background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2220%22%20height%3D%2262%22%20viewBox%3D%220%200%2020%2062%22%20fill%3D%22color-mix(in%20srgb%2C%20var(--col_paleGray%2C%20%23f5f5fa)%20100%25%2C%20var(--col_Background%2C%20%23ffffff))%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.5%2061L18.5%2031L0.5%201%22%20stroke%3D%22black%22%20stroke-opacity%3D%220.16%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat 100% 50% /cover;
          }
        }

        .step-order {
          display: inline;
          padding: 4px 10px 4px;
          margin-right: 10px;
          border-right: 1px var(--cl-heading, #444444) solid;
          text-transform: uppercase;
          line-height: 1;
          letter-spacing: 0.05em;
          white-space: nowrap;
        }
      }
    }
  }

  /*---- 注文フロー右サイドエリア ----*/
  .block-cart--container,
  .block-order-method--container,
  .block-order-estimate--container {
    position: relative;

    .order-side-area-fixed {
      z-index: 1;
      right: unset !important;

      .UpMove ~.pane-order-contents & {
        top: 20px;
      }

      .DownMove ~.pane-order-contents & {
        top: 64px;
      }
    }

    .order-side-area-end {
      position: absolute;
      bottom: 0;
      right: 0;
    }
  }

  .block-cart--container .order-side-area-fixed {
    display: block;
    position: sticky;
  }

  /*---- カートアイテム  ----*/
  .block-cart--infomation {
    background: var(--paleGray);
    border: 1px solid #00000028;
    margin: 50px auto 70px;
    padding: 20px;
    text-align: center;
    width: 720px;
  }

  /*---- カート ----*/
  .pane-order-contents {
    background: unset;
  }

  .block-cart--order-button-description {
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
  }

  .block-cart--container {
    display: flex;
    position: relative;
    overflow: visible;
    margin: 0 0 36px;
    align-items: stretch;
  }

  .block-cart--goods-list {
    padding: 10px 24px;

    li {
      display: grid;
      grid-template-rows: auto 1fr auto;
      grid-template-columns: 200px 1fr auto;
      gap: 0 24px;
      align-items: start;
      margin: 0;
      padding: 20px 0;
      overflow: unset;
      border-bottom: solid 1px #00000028;

      &:last-child {
        border: none;
        margin-bottom: 0;
      }

      &:has(.js-enhanced-ecommerce-image:hover) .block-cart--goods-list-item-name a {
        color: var(--col_Gold, #baa66d);
        text-decoration: underline;
      }

      > * {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
      }

      > a { /* サムネイル */
        grid-column: 1;
        grid-row: 1/4;
        .block-cart--goods-list-image {
          margin: 0;
          padding: 5px;
          width: 100%;
          aspect-ratio: 1 / 1;
          background-color: #ffffff;
          background: #ffffff linear-gradient(var(--col_paleGray, #f5f5f6) 0, var(--col_paleGray, #f5f5f6) 100%);

          img {
            background: #ffffff;
          }
        }
      }

      > .block-icon { /* アイコン */
        box-sizing: content-box;
        height: 22px;
        border-radius: 4px;
        display: flex;
        grid-column: 2;
        grid-row: 2;
        margin-top: 10px;

        img {
          margin: 5px 0 8px;
        }
      }

      > .block-cart--goods-list-item { /* 商品名＆バリエーション */
        grid-column: 2;
        grid-row: 1/2;
        width: unset;

        .block-cart--goods-list-item-name {
          font-size: 1.8rem;
          line-height: 1.6;
          font-feature-settings: "palt";

          a {
            &:hover {
              text-decoration: underline;
            }
          }
        }

        .block-cart--goods-list-item-comment {
          padding: 0;
        }
      }

      > .block-cart--goods-list-item-price-info { /* 価格 */
        grid-column: 3;
        grid-row: 1;
        width: 120px;
        text-align: center;
        font-size: 1.6rem;

        .block-cart--goods-list-item-price {
          color: var(--cl-br,#433d37);
          margin-bottom: 4px;
          text-align: right;
          font-size: 1.8rem;
        }
      }

      > .block-cart--goods-list-item-input { /* 数量指定 */
        grid-column: 2 / 4;
        grid-row: 3;
        align-self: flex-end;
        display: flex;
        width: unset;
        align-items: stretch;
        flex-direction: row;

        .block-cart--goods-list-item-qty {
          position: relative;
          margin: 0;

          input {
            border-radius: 4px 0 0 4px;
            text-align: center;
            padding-right: 30px;
            height: 40px;
          }

          &::after {
            position: absolute;
            top: 6px;
            right: 28px;
            content: "";
            width: 1px;
            height: 28px;
            background: #cccccc;
          }

          .block-cart--goods-list-item-qty-plus {
            position: absolute;
            top: 6px;
            right: 10px;
          }

          .block-cart--goods-list-item-qty-minus {
            position: absolute;
            top: 21px;
            right: 10px;
          }
        }

        .block-cart--goods-list-item-calc {
          display: flex;
          flex-grow: 1;
          align-items: flex-end;
          justify-content: space-between;

          .block-cart--goods-list-item-calc-btn {
            display: block;
            border: 1px solid #cccccc;
            border-left: 0;
            border-radius: 0 4px 4px 0;
            line-height: 1;
            min-height: 40px;
            height: 40px;
            width: 86px;
          }

          .block-cart--goods-list-item-delete:hover {
            text-decoration: none;
          }

          .block-cart--goods-list-item-delete {
            cursor: pointer;
            color: var(--cl-dn, #d9534f);
            font-size: 1.4rem;
            border: none;
            text-decoration: underline;
            background: none;
            width: unset;
            flex-grow: 0;
          }
        }
      }
    }
  }

  /* カート左エリア */
  .block-cart--wrapper {
    width: 1060px;
    margin: 0 auto;

    .block-cart--container {
      margin: 0 0 36px;
    }

    /*---- こんな商品も ----*/
    .block-accessory-list--list {
      .block-thumbnail-h {
        justify-content: center;
        border-radius: 5px;
        padding: 32px 48px 24px !important;
        background: #f5f5f6;
        gap: 16px;

        div:has(> &) {
          display: flex;
          justify-content: center;
        }

        li {
          width: 100%;
          padding: 8px;
          background: #ffffff !important;

          figure {
            background: #ffffff !important;
            padding: 0 !important;
          }
        }
      }
    }
  }

  .block-cart--contents {
    width: 840px;
    float: none;
    background: var(--col_Background, #ffffff);
    border: 1px solid #00000028;
  }

  /* カート右サイドエリア */
  .block-cart--side-area {
    float: none;
    padding-top: 0;
    width: 320px;
    position: relative;
  }

  .block-cart--side-contents {
    position: sticky;
    top: 20px;
    left: 0;
    transition: 0.4s;

    .UpMove ~.pane-order-contents & {
      top: 20px;
    }

    .DownMove ~.pane-order-contents & {
      top: 64px;
    }
  }

  .block-cart--procedure {
    border: solid 6px #00000028;
    padding: 15px 20px;
    overflow: hidden;
    margin-bottom: 12px;
    background: var(--col_Background, #ffffff);
  }

  .block-cart--procedure-container {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    overflow: inherit;
    background: inherit;

    > div {
      width: 100%;
    }

    .block-cart--order {
      order: 2;
    }

    .block-cart--subtotal {
      order: 1;
      border-bottom: 1px #00000028 solid;
      margin: 0 0 16px;
      padding: 0;
      font-size: 1.6rem;
      text-align: left;
    }
  }

  .block-cart--order-btn {
    display: block;
    margin: 0 0 10px 0;
    width: 100%;
    font-size: 1.7rem;
    text-align: center;
    padding: 10px 0;
  }

  .block-cart--order-btn-gift {
    display: block;
    margin: 0 0 10px 0;
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    padding: 0 24px;
    height: 64px;
    background: #000000;
  }

  .block-cart--subtotal {
    padding: 8px 0;
  }

  .block-cart .block-exchange-price {
    text-align: center;
    margin-bottom: 8px;
  }

  .block-cart--subtotal-price {
    display: block;
    font-size: 2.6rem;
    font-weight: 600;
    color: #444444;
  }

  .block-cart--continue-shopping {
    display: flex;
    text-align: center;
    margin: 0 auto 24px;
    background: #e5e5e5;
    height: 40px;
    color: #333333;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    gap: 8px;
    transition: .3s;

    * {
      line-height: 1;
    }

    &:hover,
    &:hover input {
      color: var(--col_Gold, #baa66d);
    }

    &:not(.block-cart--side-area &) {
      width: 280px;
    }
  }

  .block-cart--promotion {
    text-align: center;

    dd,
    dt {
      display: inline-block;
      margin-bottom: 10px;
    }
  }

  .block-cart--promotion-discount {
    font-size: 1.3rem;
    font-weight: 600;
  }

  .block-cart--continue-shopping-link {
    cursor: pointer;
    color: #444444;
    font-size: 1.4rem;
    border: none;
    text-decoration: none;
    background: none;

    &:hover {
      text-decoration: none;
    }
  }

  .block-promotion-message--content {
    border: 1px solid #ff0000;
    background: #ffffff;
    text-align: center;
    padding: 10px 0;
    margin: 0 0 10px 0;
    font-size: 1.2rem;

    span {
      color: #ff0000;
      font-weight: 600;
      font-size: 1.3rem;
    }
  }

  a.block-promotion-message--info {
    text-decoration: none;
  }

  /* ---------------------- */
  /*---- 通常の注文 -------- */
  /* ---------------------- */
  /*---- カート画面直後のAmazonPayローディング ----*/
  .block-order-amazonpay--loading {
    padding: 60px 0;
    text-align: center;
  }

  /*---- アマゾンウィジェット ----*/
  .block-order-estimate--amazonpay-address-widget,
  .block-order-amazonpay--address-widget,
  .block-amazon--address-widget {
    width: 600px;
    margin: 0 auto;
    height: 270px;
    padding: 5px 0;
    box-sizing: content-box;
  }

  /*---- 注文方法指定画面 ----*/
  /* 共通設定 */
  .block-order-method--payment-content,
  .block-order-method--regular-content,
  .block-order-method--spec-content,
  .block-order-method--goods-content,
  .block-order-method--dest-content,
  .block-order-method--host-content,
  .block-order-method--host-confirmation {
    background: unset;
    border: solid 1px #00000028;
    padding: 20px 20px 20px 20px;
    margin: 0 0 20px 0;
  }

  .block-order-method {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      color: var(--cl-br, #433d37);
      padding: 10px 0;
      margin: 0;
    }

    h3 {
      font-size: 1.6rem;
      color: var(--cl-heading, #444444);
      font-weight: 600;
      margin: 0 0 12px 0;
    }

    address {
      font-size: 1.3rem;
      line-height: 1.6;
      padding-top: 10px;
    }

    .block-icon {
      margin: 0 15px 0 0;
    }

    dt {
      font-weight: 600;
    }
  }

  .block-order-method--container {
    display: flex;
    justify-content: space-between;
    position: relative;
    overflow: unset;
  }

  .block-order-method--contents {
    width: 820px;
    float: unset;
  }

  .block-order-method--name-sei,
  .block-order-method--name-mei,
  .block-order-method--kana-sei,
  .block-order-method--kana-mei {
    display: inline-block;
  }

  .block-order-method--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* 届け先 */
  #address.block-order-method--dest {
    margin: 30px 0;

    .block-order-method--dest-content {
      border: none;
      padding: 0;
    }

    .block-order-method--dest-title-salesinclude {
      margin-top: 20px;
    }

    .block-order-method--dest-note-salesinclude + .block-order-method--dest-list {
      margin-top: 20px;
    }
  }

  .block-order-method--payment .block-order-method--payment-content {
    padding: 0 20px;
  }

  .block-order-method--payment-content .block-order-method--coupon,
  .block-order-method--payment-content .block-order-method--promotion,
  .block-order-method--payment-content .block-order-method--point-use,
  .block-order-method--payment-method {
    margin: 25px 0;
  }

  .block-order-method--side-contents {
    background: unset;
    width: 320px;
    margin: 0 0 0 40px;
  }

  .block-order-method--procedure {
    border: solid 6px #00000028;
    background: unset;
    padding: 4px;
    overflow: hidden;
    margin-bottom: 20px;
  }

  .block-order-method--procedure-container {
    padding: 14px;
    background: unset;
  }

  .block-order-method--next-btn {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
    margin: 5px 0;
    padding: 14px 0;
    font-weight: 600;
  }

  /* お届け先 */
  .block-order-method--dest-item {
    border-bottom: solid 1px #00000028;
    padding: 20px;
    overflow: hidden;

    &:first-child {
      border-top: solid 1px #00000028;
    }

    address {
      float: left;
    }
  }

  .block-order-method--dest-item-nickname {
    font-weight: 600;
  }

  .block-order-method--dest-title-salesinclude {
    font-weight: 600;
    font-size: 1.6rem;
  }

  .block-order-method--dest-item-salesinclude {
    font-weight: 600;
  }

  .block-order-method--dest-change {
    padding: 10px;
    margin: 0 0 10px 0;
    background: #f5f5f6;
    border: 1px solid #00000028;

    strong {
      font-weight: 600;
    }

    span {
      margin-left: 20px;
      font-size: 1.2rem;
    }
  }

  .block-order-method--dest-add {
    text-align: right;
    padding: 20px;
  }

  .block-order-method--dest-item-edit {
    text-align: right;
  }

  .block-order-method--dest-list address {
    margin: 0 0 0 20px;
  }

  .block-regular-cycle--cycle-type label {
    margin: 5px 0;
    display: inline-block;
  }

  /* 商品情報 */
  .block-order-method--goods-list {
    display: flex;
    flex-direction: column;
    gap: 32px;

    li {
      position: relative;
      overflow: hidden;
      margin: 0;
      padding: 0;
      border-bottom: 1px solid #00000028;

      li:last-child {
        border-bottom: none;
      }
    }
  }

  .block-order-method--goods-item-image {
    float: left;
    margin: 0 20px 0 0;
    background: #f5f5f6;
    width: 200px;
    height: 200px;
  }

  .block-order-method--goods-item-name,
  .block-order-method--goods-item-set-name {
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .block-order-method--goods-item-comment {
    padding: 4px 0 0;

    .block-order-method--goods-item-qty {
      margin-left: 8px;
    }
  }

  .block-order-method--sales-detail-append-item {
    margin: 20px 0 0 !important;
    overflow: hidden;

    &:first-child {
      margin: 0 !important;
    }

    textarea {
      width: 100%;
    }
  }

  /* 配送店舗 */
  .block-order-method--store-delivery-content {
    border: 1px solid #00000028;
    margin: 0;
    padding: 20px;
    border-radius: 4px;
    background: var(--col_Background, #ffffff);

    .block-order-method--store-delivery-store-search {
      width: calc(100% - 113px);
    }
    .block-order-method--store-delivery-store-selected-store-info {
      display: flex;
      align-items: center;
    }
    .block-order-method--store-delivery-store-change-btn {
      margin: 0;
    }
    .block-order-method--store-delivery-store-search-btn {
      width: 100px;
      float: right;
    }

    .block-order-method--store-delivery-store-list {
      clear: both;
    }
    .block-order-method--store-delivery-store-item {
      &:hover {
        background: color-mix(in srgb, var(--col_paleGray, #f5f5f6) 45%, transparent);
      }
      &:has(input:checked) {
        background: var(--col_paleGray, #f5f5f6);
      }
      .block-order-method--store-delivery-radio {
        display: flex;
        gap: 8px;

        label {
          &:hover {
            text-decoration: none;
          }

          input:checked + & {
            font-weight: bold;
            color: var(--col_MypreBlue, #00467f);
          }
        }
      }
    }
  }

  /* 配送方法 */
  .block-order-method--spec-content dl {
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 14px;

    dt {
      font-weight: normal;
      vertical-align: middle;
      flex-shrink: 0;
    }

    dd {
      margin-left: 0;
    }
  }

  /* お支払い情報 */
  .block-order-method--coupon-content,
  .block-order-method--promotion-content,
  .block-order-method--point-use {
    margin: 0 0 10px 0;
  }

  .block-order-method--spec,
  .block-order-method--payment-content {
    h3 {
      font-size: 1.6rem;
      font-weight: 600;
      font-family: var(--ff-sans_serif);
      margin: 0 0 8px;
      vertical-align: middle;

      & + & {
        margin-top: 30px;
      }

      dl + & {
        margin-top: 30px;
      }
    }

    ~ .action-buttons {
      float: right;
      padding: 0;
      width: calc(50% - 40px);
      justify-content: flex-start;
      margin: 40px 20px 0;

      &:last-of-type {
        float: left;
        justify-content: flex-end;
      }

      .form-error:has(+ &) {
        display: none;
      }
    }
  }

  .block-order-method--coupon-content {
    display: flex;
    align-items: center;
    gap: 14px;

    .block-order-method--coupon-available-btn {
      margin: 0;
    }
  }
  .block-order-method--payment-method-select {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 240px;
    width: 240px;
    border-radius: 4px;
    overflow: hidden;

    li {
      margin: 0;
      position: relative;
      min-height: 48px;
      display: flex;
      align-items: center;
      padding: 0 12px;
      transition: 0.15s;

        &:hover {
          color: var(--col_Gold, #baa66d);
          background: color-mix(in srgb, var(--col_paleGray, #f5f5f6) 45%, transparent);
        }

        &:has(input:checked) {
          background: var(--col_paleGray, #f5f5f6);
        }

      label {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        cursor: pointer;
        line-height: 1;
        height: 48px;
        width: 100%;
        padding: 0 12px 0 42px !important;
        transition: 0.15s;

        &:hover {
          text-decoration: none;
        }

        input:checked + & {
          font-weight: 600;
          color: var(--col_MypreBlue, #00467f);
        }

        .help-block {
          display: inline-block;
          margin-left: 30%;
        }
      }
    }
  }

  .block-order-method--point-use-select {
    margin-bottom: 10px;
    padding: 10px;
    background: #f5f5f6;
    border: 1px solid #00000028;

    label {
      cursor: pointer;
      padding: 0 23px 0 5px;
    }
  }

  .block-order-method--current-point {
    margin: 0 0 10px 0;
  }

  .block-order-method--current-point-num {
    font-weight: 600;
  }

  .block-order-method--coupon-available-btn {
    margin: 0 0 0 14px;
  }

  /* その他 */
  .block-order-gift-select--sales-append-content,
  .block-order-method--sales-append-content {
    background: transparent;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px 20px 0 20px;

    .fieldset {
      margin-top: 0;
      margin-bottom: 20px;

      .form-group {
        border-left: #00000028 1px solid;
        border-right: #00000028 1px solid;

        &:not(:last-child) {
          border-bottom: solid 1px #00000028;
        }
      }

      .constraint::before {
        display: none;
      }
    }

    .form-label,
    .constraint {
      background: var(--col_paleGray, #f5f5f6);

    }
  }

  /* クーポンダイアログ */
  .block-order-method--coupondialog-wrapper {
    max-height: 300px;
    overflow-y: auto;
  }

  .block-order-method--coupondialog-table {
    width: 100%;

    td {
      background: var(--col_Background, #ffffff);
    }
  }

  .block-order-method--coupondialog-header-code {
    width: 180px;
  }

  .block-order-method--coupondialog-header-select {
    width: 180px;
  }

  /*----  注文内容確認(通常フロー)  ----*/
  /* クレジットカード設定 */
  .block-order-estimate--pay-input {
    margin-bottom: 10px;
    background: #f5f5f6;
    border: 1px solid #00000028;

    .form-group {
      .form-label,
      .form-control {
        padding: 20px 15px;
      }
      .form-label {
        width: 25%;
      }
    }

    .block-common-alert-list {
      margin: 10px;
    }
  }

  .block-order-estimate--pay-header {
    background: #444444;
    padding: 10px;
    margin: 0 0 15px 0;
    color: #ffffff;
  }

  .block-order-estimate--pay-savecard,
  .block-order-estimate--pay-selectcard {
    padding: 0 0 0 20px;
  }

  /* 画面内共通設定 */
  .block-order-estimate--container {
    position: relative;
    display: flex;
    justify-content: space-between;
    overflow: unset;
  }

  .block-order-estimate {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      padding: 10px 0;
      margin: 0 0 10px 0;
      color: unset;
    }

    h3 {
      display: flex;
      align-items: center;
      font-size: 1.6rem;
      color: var(--cl-heading, #444444);
      font-weight: 600;
      margin: 0 0 12px 0;

      a {
        margin: 0 0 0 16px;
        width: 70px;
        padding: 5px;
        font-size: 1.3rem;
        font-weight: normal;
      }
    }

    address {
      font-size: 1.3rem;
      line-height: 1.6;
      padding-top: 10px;
      word-wrap: break-word;
      margin-left: 1em;
    }
  }

  .block-order-estimate--salesinclude-btn {
    font-size: 1.3rem;
    font-weight: normal;
    margin: 0 0 0 5px;
    width: auto;
  }

  .block-order-estimate--point {
    color: #ff0000;
    font-size: 1.6rem;
    font-weight: 600;
  }

  .block-order-estimate--confirmation,
  .block-order-estimate--date-spec-confirmation,
  .block-order-estimate--novelty,
  .block-order-estimate--goods-content,
  .block-order-estimate--sales-append,
  .block-order-estimate--regular-cycle-confirmation,
  .block-order-estimate--comment-content,
  .block-order-estimate--amazonpay-login {
    background: #ffffff;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px;
  }

  .block-order-estimate--entry {
    margin-top: 10px;
    padding: 0 10px;
  }

  .block-order-estimate--register-customer {
    margin-bottom: 10px;
  }

  .block-order-estimate--register-customer-checkbox,
  .block-order-estimate--register-customer-checkbox-message {
    display: table-cell;
  }

  .block-order-estimate--entry-customer {
    margin-bottom: 5px;
  }

  .block-order-estimate--entry-customer-message {
    font-size: 1.2rem;
  }

  .block-order-estimate--entry-customer-point {
    color: #ff0000;
    font-size: 1.5rem;
    font-weight: 600;
  }

  .block-order-estimate--uid-label {
    margin-bottom: 3px;
  }

  .block-order-estimate--uid-label-font {
    margin-right: 10px;
  }

  .block-order-estimate--uid-count {
    margin-top: 0;
  }

  .block-order-estimate--pwd {
    margin-top: 10px;
  }

  .block-order-estimate--pwd-label {
    margin-bottom: 3px;
  }

  .block-order-estimate--pwd-label-font {
    margin-right: 10px;
  }

  .block-order-estimate--pwd-count {
    margin-top: 0;
  }

  .block-order-estimate--mailnews {
    margin-top: 10px;
  }

  .block-order-estimate--mailnews-title {
    font-weight: 600;
  }

  .block-order-estimate--mailnews-label {
    margin-bottom: 3px;
    font-weight: 600;
    margin-right: 10px;
  }

  .block-order-estimate--mailnews-message {
    font-size: 1.2rem;
  }

  .block-order-estimate--procedure {
    background: #ffffff;
    border: solid 6px #00000028;
    margin: 0;
    padding: 4px;
  }

  .block-order-estimate--dest-address-item-register-input-form {
    .block-order-estimate--dest-address-nickname {
      .constraint {
        text-align: right;

        .required {
          margin: -38px 20px 16px 0;
          display: block;
        }
      }
    }
  }

  /* 注文内容確認左サイドエリア */
  .block-order-estimate--content {
    width: 820px;
    float: left;
  }

  /* お届け先情報 */
  .block-order-estimate--confirmation {
    overflow: hidden;
  }

  .block-order-estimate--confirmation-list {
    width: 375px;
    display: inline-block;
    vertical-align: top;

    &:nth-of-type(2n + 1) {
      margin-right: 20px;
    }

    li {
      padding: 0 0 20px 0;

      p {
        margin-left: 0.5em;

        &.block-order-estimate--dest-name,
        &.block-order-estimate--host-name,
        .block-order-estimate--confirmation-title + &,
        .block-order-estimate--confirmation-title + & {
          font-weight: 600;
          color: var(--col_MypreBlue, #00467f);
        }
      }
    }
  }

  .block-order-estimate--confirmation-title h3 {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px #00000028 solid;
    padding-bottom: 5px;
    height: 36px;
    color: var(--cl-heading, #444444);
  }

  .block-order-estimate--confirmation-list-full li {
    padding: 0 0 20px 0;
  }

  .block-order-estimate--amazonpay-wallet {
    color: #444444;
    border: 1px solid #00000028;
    clear: both;
  }

  .block-order-estimate--amazonpay-wallet-header {
    background: #444444;
    padding: 10px;
    color: #ffffff;
  }

  .block-order-estimate--amazonpay-wallet-content {
    margin: 15px auto;
    height: 270px;
  }

  .block-order-estimate--amazonpay-wallet-widget {
    margin: 0 auto;
    width: 600px;
  }

  /* 配送希望情報 */
  .block-order-estimate--date-spec-confirmation {
    display: none;
    overflow: hidden;

    .block-order-estimate--confirmation-list li {
      min-height: 90px;
    }
  }

  .block-order-estimate--confirmation-message {
    color: #555555;
    font-size: 1.2rem;
  }

  /* ノベルティ商品のノベルティ選択 */

  .block-order-estimate--novelty-item {
    display: table;
    width: 100%;
    margin-bottom: 10px;

    label {
      cursor: pointer;
    }
  }

  .block-order-estimate--novelty-item-image,
  .block-order-estimate--novelty-item-goods {
    display: table-cell;
    vertical-align: middle;
  }

  .block-order-estimate--novelty-item-image {
    width: 200px;

    figure {
      width: 200px;
      height: 200px;
      background: #f5f5f6;
    }
  }

  .block-order-estimate--novelty-item-goods {
    padding-left: 10px;
    width: auto;
  }

  /* ご注文商品 */
  .block-order-estimate--change-btn {
    min-height: 30px;
    padding: 0 !important;
    font-family: var(--ff-sans_serif);
  }

  .block-order-estimate--goods-list li {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;

    &:not(:last-child) {
      border-bottom: 1px solid #00000028;
      margin: 0 0 16px 0;
      padding: 0 0 10px;
    }

    .block-order-estimate--goods-item-image {
      float: unset;
      flex-shrink: 0;
      margin: 0;
      padding: 5px;
      background: #f5f5f6;
      width: 200px;
      height: 200px;
    }

    .block-order-estimate--goods-item {
      float: unset;
      position: relative;
      flex-grow: 1;
      margin: 0 16px 0 24px;

      .block-order-estimate--goods-item-name,
      .block-order-estimate--goods-item-set-name {
        padding-right: 7.5em;
        line-height: 1.6;
        font-weight: 600;
        font-size: 1.6rem;
        color: var(--col_MypreBlue, #00467f);
      }

      .block-order-estimate--goods-item-comment {
        overflow: hidden;
        margin-top: 10px;

        .block-order-estimate--sales-detail-append-list {
          margin: 6px 0 0;
          a.block-order-estimate--sales-detail-append-link-edit {
            text-decoration: none;

            &:hover {
              text-decoration: underline;
            }

            > div {
              display: flex;
              margin-top: 12px;
              flex-direction: column;
              gap: 4px;

              p:not(:last-child) {
                border-bottom: 1px solid #00000028;
              }
              p:last-child {
                padding: 8px 0 0 0;
              }
            }
          }
        }
      }
    }

    .block-order-estimate--goods-price-items {
      position: absolute;
      top: 0;
      right: 16px;
      width: 7em;
      text-align: right;

      .block-order-estimate--amt {
        width: 140px;
        text-align: right;
        margin: 0;
        font-weight: 600;
        font-size: 1.6rem;
        color: var(--cl-br, #433d37);
      }
    }

    .page-estimate .block-icon {
      margin: 0 15px 0 0;
    }
  }

  /* ご注文商品 注文明細拡張情報 */
  .block-order-estimate--sales-detail-append-link-edit {
    text-decoration: underline;
  }

  /* その他 */
  .block-order-estimate--sales-append-list {
    width: 100%;

    th {
      text-align: left;
      vertical-align: top;
      color: unset;
      width: 30%;
      word-break: auto-phrase;
      font-feature-settings: "palt";
    }
  }

  /* AmazonPayログイン */
  .block-order-estimate--amazonpay-loginform {
    margin: 10px 0 0 0;

    .form-label {
      text-align: left;
    }
  }

  /* 備考 */
  .block-order-estimate--comment-content textarea {
    width: 100%;
  }

  /* 注文内容確認右サイドエリア */
  .block-order-estimate--order-terms-link {
    text-decoration: underline;
    cursor: pointer;
    color: var(--col_Gold, #baa66d);
    text-decoration: none;;
    transition: .3s;

    &:hover {
      text-decoration: underline;
    }
  }

  .block-order-estimate--agreebody {
    width: 100%;
    height: 400px;
  }

  .block-order-estimate--side-area {
    position: relative;
  }

  .block-order-estimate--side-contents {
    width: 320px;
    margin: 0;
    position: sticky;
    top: 0;
  }

  .block-order-estimate--procedure-container {
    padding: 14px;
    background: inherit;
  }

  .block-order-estimate--commit {
    display :flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    margin: 0 0 10px 0;

    p {
      margin: 0;

      &:last-child {
        font-size: 1.3rem;
      }
    }
  }

  .block-order-estimate--commit-btn {
    width: 100%;
    font-size: 2.0rem;
    text-align: center;
    margin: 5px 0;
    padding: 14px 0;
    font-weight: 600;
  }

  .block-order-estimate--return-agree {
    min-height: 36px;
    padding: 0;
    width: 100%;
    font-size: 1.4rem;

    p:has(&) {
      display: block;
      width: 100%;
    }
  }

  .block-order-estimate--total {
    padding: 15px 0;
    margin: 20px 0;
    background: #ffffff;
    border-top: 1px #00000028 solid;
    border-bottom: 1px #00000028 solid;
    font-size: 1.6rem;

    > span {
      margin-top: 8px;
      display: block;
      font-size: 2.6rem;
      font-weight: 600;
    }
  }

  .block-order-estimate .block-exchange-price {
    text-align: center;
    margin-bottom: 12px;
  }

  .block-order-estimate--total-price {
    font-size: 1.8rem;
    font-weight: 600;
  }

  .block-order-estimate--total-tax {
    font-size: 1.4rem;
  }

  .block-order-estimate--point-add {
    overflow: hidden;
    margin: 0 0 10px 0;
    border-bottom: solid 1px #00000028;
    font-size: 1.4rem;

    dt {
      float: left;
      width: 40%;
    }

    dd {
      float: left;
      width: 60%;
      text-align: right;

      & + & {
        width: 100%;
        color: #ff0000;
        font-size: 1.2rem;
        text-align: left;
        padding-bottom: 20px;
      }
    }
  }

  .block-order-estimate--point-add-num {
    color: #ff0000;
    font-size: 1.6rem;
  }

  .block-order-estimate--price-items {
    letter-spacing: -0.4em;
    font-size: 1.3rem;
    color: unset;
    margin: 20px 0 0 0;

    dt {
      display: inline-block;
      letter-spacing: normal;
      width: 60%;
      margin: 0;

      &:not(:last-of-type) {
        margin: 0 0 4px 0;
      }
    }

    dd {
      display: inline-block;
      letter-spacing: normal;
      text-align: right;
      width: 40%;
    }
  }

  /* メッセージ「クール便追加料金を含む」 */
  dd.block-order-estimate--cool-postage {
    width: 100%;
    text-align: right;
    margin: 0 0 10px 0;
  }

  .block-order-estimate--promotion-novelty-helper {
    border: 1px solid #ff0000;
    background: #ffffff;
    text-align: center;
    padding: 10px 0;
    margin: 0 0 10px 0;
    cursor: pointer;
  }

  /* お届け先の変更(ダイアログ) */
  .block-order-estimate--address-frame {
    background: #f5f5f6;
    max-width: 725px;
    margin: 0 auto;
  }

  .block-order-estimate--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* ×ボタン */
  .block-order-estimate--address-frame-close {
    position: relative;
    cursor: pointer;

    span {
      display: block;
      position: absolute;
      top: 12px;
      right: 12px;
      width: 20px;
      height: 20px;

      &::before {
        position: absolute;
        top: 6px;
        right: 0;
        content: "";
        width: 15px;
        height: 2px;
        background: #ffffff;
        transform: rotate(45deg);
      }

      &::after {
        position: absolute;
        top: 0;
        right: 6px;
        content: "";
        width: 2px;
        height: 15px;
        background: #ffffff;
        transform: rotate(45deg);
      }
    }
  }

  /* お届け先の変更 */
  .block-order-estimate--address-frame h2 {
    color: #ffffff;
    background: #444444;
    border-bottom: none;
    font-size: 1.6rem;
    margin: 0;
    padding: 10px 10px 10px;
  }

  .block-order-estimate--dest-address-item-register-input-title {
    font-weight: 600;
  }

  .block-order-estimate--dest-address-select,
  .block-order-estimate--amazonpay-address-select {
    padding: 5px 20px;
  }

  .block-order-estimate--dest-salesinclude-address-select,
  .block-order-estimate--dest-salesinclude-address-note {
    padding: 0 20px;
  }

  .block-order-estimate--amazonpay-address-area p {
    margin-left: 20px;
  }

  .block-order-estimate--dest-address-list {
    padding: 20px;
  }

  .block-order-estimate--amazonpay-address-container {
    padding: 0 0 10px 0;
  }

  .block-order-estimate--dest-address-item,
  .block-order-estimate--dest-address-item-register {
    position: relative;
    display: inline-block;
    width: 220px;
    height: 220px;
    vertical-align: top;
    background: #ffffff;
    border: solid 1px #00000028;
    margin: 0 5px 10px 0;
    padding: 10px;
  }

  .block-order-estimate--dest-address-item address {
    word-wrap: break-word;
  }

  .block-order-estimate--dest-address-item-container {
    height: 130px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 5px 0 0 0;
  }

  .block-order-estimate--dest-address-change-btn {
    width: 100%;
    padding: 5px;
  }

  input.btn.btn-default.block-order-estimate--dest-address-register-btn {
    padding: 15px;
  }

  .block-order-estimate--dest-address-item-register .block-order-estimate--dest-address-item-buttons {
    position: absolute;
    top: 50%;
    margin: -20px 0 0 0;
  }

  .block-order-estimate--dest-address-change,
  .block-order-estimate--dest-address-item-buttons {
    height: 31px;
  }

  .block-order-estimate--dest-address-change {
    text-align: right;
  }

  input.btn.btn-default.block-order-estimate--dest-address-change-dest-btn {
    padding: 5px 10px;
    font-size: 1.1rem;
  }

  .block-order-estimate--dest-address-title.js-order-estimate-address-title {
    font-weight: 600;
    margin: 9px 0;
    background: #636363;
    text-align: center;
    color: #ffffff;
  }

  .block-order-estimate--dest-address-item-buttons__selected {
    cursor: default;
    background: #fffffcfc;
    border: 1px solid #ff0000;
    color: #ff0000;
    font-weight: 600;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 200px;
  }

  /* お届け先情報入力 */
  .block-order-estimate--dest-address-item-register-input-form .fieldset-vertical,
  .block-order-estimate--guest-address-input-form {
    background: #ffffff;
    border: solid 1px #00000028;
    padding: 20px;
  }

  .block-order-estimate--dest-address-item-register-input-form .fieldset-vertical {
    margin: 10px 0;
  }

  .block-order-estimate--dest-address-name,
  .block-order-estimate--dest-address-kana {
    .checktype_name,
    .checktype_kana {
      margin: 0 0 10px 0;
    }
  }

  /* お届けサイクル */
  .block-order-estimate--regular-cycle {
    width: 80%;

    th {
      padding: 12px;
      text-align: left;
      font-weight: 600;
      vertical-align: top;
      background-color: #999999;
      color: #ffffff;
      border-top: 1px solid #00000028;
      border-left: 1px solid #00000028;
      border-bottom: 1px solid #00000028;
      width: 30%;
    }
  }

  /*----  注文完了(通常・ギフトフロー共通)  ----*/
  .block-order-complete--customerentry-wrapper {
    background: #ffffff;
    border: solid 1px #00000028;
    padding: 40px;
    margin: 0 auto 50px;
  }

  .block-order-complete--message {
    margin: 0 0 30px;
  }

  .block-order-complete--orderinfo {
    dt,
    dd {
      border-bottom: 1px solid #00000028;
      padding: 8px;
    }

    dt {
      width: 30%;
      background: #f5f5f6;
      font-weight: 600;
      float: left;
    }

    dd {
      margin-left: 30%;

      &::after {
        clear: both;
        display: block;
      }
    }
  }

  .block-order-complete--home {
    margin: 20px auto;
    text-align: center;
  }

  .block-order-complete--home-btn {
    padding: 20px;
    width: 300px;
  }

  .block-order-complete--customerentry-form {
    margin: 20px 0 0 0;
  }

  .block-order-complete--rules {
    margin: 10px 0 0 0;
    font-size: 1.7rem;
    text-align: center;
  }

  .block-order-complete--orderid {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
      padding: 20px 30px;
    }

    td {
      width: 70%;
      padding: 20px 30px;
    }
  }

  .block-order-complete--salesinclude {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
    }

    td {
      width: 70%;
    }
  }

  .block-order-complete--convenience {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
    }

    td {
      width: 70%;
    }
  }

  /* ---------------------- */
  /*---- ギフトフロー ------ */
  .block-order-gift-select,
  .block-order-gift-dest {
    margin: 0 auto;
    h2 span {
      display: inline-block;
      margin-left: 4px;
      vertical-align: middle;
    }
  }
  /* ---------------------- */
  /*----  配送先選択  ----*/
  .block-order-gift-dest h2 {
    display: flex;
    font-weight: 600;
    font-size: 2.0rem;
    color: var(--cl-br, #433d37);
    padding: 10px 0;
    margin: 0 0 10px 0;
    align-items: center;
  }

  .block-order-gift-dest--list-title {
    &::before {
      content: "";
      display: block;
      width: 28px;
      aspect-ratio: 1 / 1;
      margin: 3px 4px 0 0;
      mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC4xODE4IDBDMTguNjY0IDAgMTkuMTI2NSAwLjE4NDM3NCAxOS40Njc1IDAuNTEyNTYzQzE5LjgwODQgMC44NDA3NTIgMjAgMS4yODU4NyAyMCAxLjc1VjExLjM3NUgxOC4xODE4QzE4LjE4MTggMTIuMDcxMiAxNy44OTQ1IDEyLjczODkgMTcuMzgzIDEzLjIzMTJDMTYuODcxNiAxMy43MjM0IDE2LjE3NzkgMTQgMTUuNDU0NSAxNEMxNC43MzEyIDE0IDE0LjAzNzUgMTMuNzIzNCAxMy41MjYxIDEzLjIzMTJDMTMuMDE0NiAxMi43Mzg5IDEyLjcyNzMgMTIuMDcxMiAxMi43MjczIDExLjM3NUg3LjI3MjczQzcuMjcyNzMgMTIuMDcxMiA2Ljk4NTM5IDEyLjczODkgNi40NzM5MyAxMy4yMzEyQzUuOTYyNDYgMTMuNzIzNCA1LjI2ODc3IDE0IDQuNTQ1NDUgMTRDMy44MjIxNCAxNCAzLjEyODQ0IDEzLjcyMzQgMi42MTY5OCAxMy4yMzEyQzIuMTA1NTIgMTIuNzM4OSAxLjgxODE4IDEyLjA3MTIgMS44MTgxOCAxMS4zNzVIMFY3TDIuNzI3MjcgMy41SDUuNDU0NTVWME01LjQ1NDU1IDQuODEyNUgzLjE4MTgyTDEuMzkwOTEgN0g1LjQ1NDU1TTE1LjQ1NDUgMTAuMDYyNUMxNS4wOTI5IDEwLjA2MjUgMTQuNzQ2IDEwLjIwMDggMTQuNDkwMyAxMC40NDY5QzE0LjIzNDYgMTAuNjkzMSAxNC4wOTA5IDExLjAyNjkgMTQuMDkwOSAxMS4zNzVDMTQuMDkwOSAxMS43MjMxIDE0LjIzNDYgMTIuMDU2OSAxNC40OTAzIDEyLjMwMzFDMTQuNzQ2IDEyLjU0OTIgMTUuMDkyOSAxMi42ODc1IDE1LjQ1NDUgMTIuNjg3NUMxNS44MTYyIDEyLjY4NzUgMTYuMTYzMSAxMi41NDkyIDE2LjQxODggMTIuMzAzMUMxNi42NzQ1IDEyLjA1NjkgMTYuODE4MiAxMS43MjMxIDE2LjgxODIgMTEuMzc1QzE2LjgxODIgMTEuMDI2OSAxNi42NzQ1IDEwLjY5MzEgMTYuNDE4OCAxMC40NDY5QzE2LjE2MzEgMTAuMjAwOCAxNS44MTYyIDEwLjA2MjUgMTUuNDU0NSAxMC4wNjI1Wk00LjU0NTQ1IDEwLjA2MjVDNC4xODM4IDEwLjA2MjUgMy44MzY5NSAxMC4yMDA4IDMuNTgxMjIgMTAuNDQ2OUMzLjMyNTQ5IDEwLjY5MzEgMy4xODE4MiAxMS4wMjY5IDMuMTgxODIgMTEuMzc1QzMuMTgxODIgMTEuNzIzMSAzLjMyNTQ5IDEyLjA1NjkgMy41ODEyMiAxMi4zMDMxQzMuODM2OTUgMTIuNTQ5MiA0LjE4MzggMTIuNjg3NSA0LjU0NTQ1IDEyLjY4NzVDNC45MDcxMSAxMi42ODc1IDUuMjUzOTYgMTIuNTQ5MiA1LjUwOTY5IDEyLjMwMzFDNS43NjU0MiAxMi4wNTY5IDUuOTA5MDkgMTEuNzIzMSA1LjkwOTA5IDExLjM3NUM1LjkwOTA5IDExLjAyNjkgNS43NjU0MiAxMC42OTMxIDUuNTA5NjkgMTAuNDQ2OUM1LjI1Mzk2IDEwLjIwMDggNC45MDcxMSAxMC4wNjI1IDQuNTQ1NDUgMTAuMDYyNVoiIGZpbGw9IiM2NjY2NjYiLz4NCjwvc3ZnPg==") no-repeat 50% 2px /100%;
      background-color: var(--cl-br, #433d37);
    }
  }

  .block-order-gift-dest--check-all {
    margin: 0 0 8px 0;
    border-bottom: 1px solid #00000028;
    padding: 0 0 10px;
  }

  .block-order-gift-dest--list-wrapper,
  .block-order-gift-dest--method-sender-info,
  .block-order-gift-dest--address-item,
  .block-order-gift-dest--method-sender-info-edit {
    background: var(--col_Background, #ffffff);
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 20px;
  }

  .block-order-gift-dest--list-wrapper {
    margin: 20px 0 10px;
  }

  /* お届け先配送情報エリア */
  .block-order-gift-dest--address-header {
    margin: 12px 0 6px;
    font-weight: 600;
  }

  .block-order-gift-dest--address-item {
    width: unset;
    position: relative;
    position: relative;
    border-radius: 0;
    padding: 0 0 0 16px;
    margin: 0;
    border: none;
    transition: 0.15s;

    & + & {
      margin-top: 4px;
    }

    &:nth-child(odd) {
      background: color-mix(in srgb, var(--col_paleGray, #f5f5f6) 45%, transparent);
    }

    &:hover,
    &:has(input[name="js-toggle-address"]:checked) {
      background: var(--col_paleGray, #f5f5f6);
    }
    &:has(input[name="destlist"]:checked) {
      background: #eeeeee;
    }

    .block-order-gift-dest--address-customer & {
      input[type="submit"] {
        color: #ffffff;
        background: var(--col_Gold, #baa66d);
        height: 48px;
      }
    }
  }

  .block-order-gift-dest--address-item-title {
    display: flex;
    align-items: center;

    > label {
      margin: 0;
      width: 85%;
      padding: 12px 0 !important;

      &::before {
        top: 13px !important;
        left: 16px !important;
      }

      &::after {
        top: 15px !important;
        left: 18px !important;
      }

      &:hover {
        text-decoration: none !important;
      }
    }
  }

  .block-order-gift-dest--address-list {
    .block-order-gift-dest--address-item-title {
      display: flex;
      align-items: center;
      font-weight: 600;
      background: transparent url() no-repeat 30px 50% / 26px;

      > label {
        display: flex;
        align-items: center;
        gap: 4px;
        margin-left: 8px;

        &::before {
          content: "";
          display: block;
          width: 28px;
          aspect-ratio: 1 / 1;
          mask: url("data:image/svg+xml;charset=utf8,%0A%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_15_121)%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.25%208.45455C9.25%206.13244%2011.1324%204.25%2013.4545%204.25C15.7767%204.25%2017.6591%206.13244%2017.6591%208.45455C17.6591%2010.7767%2015.7767%2012.6591%2013.4545%2012.6591C11.1324%2012.6591%209.25%2010.7767%209.25%208.45455ZM6.25%2022C6.25%2017.7731%209.44456%2014.25%2013.5%2014.25C17.5554%2014.25%2020.75%2017.7731%2020.75%2022C20.75%2022.4142%2020.4142%2022.75%2020%2022.75H7C6.58579%2022.75%206.25%2022.4142%206.25%2022Z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_15_121%22%3E%0A%3Crect%20width%3D%2228%22%20height%3D%2228%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A") no-repeat 50% 50% /100%;
          background-color: color-mix(in srgb, var(--cl-a, #433d37) 60%, transparent);
        }
      }
      &:has(input[id*="destlist_"]:checked) label::before {
          background-color: var(--col_MypreBlue, #00467f);
      }
    }
  }

  /* JS Object */
  .js-toggle-address {
    position: absolute;
    top: 4px;
    right: 4px;
    border-radius: 4px;
    margin: 0;
    text-align: right;
    transition: .3s;

    &:hover {
      color: var(--col_Gold, #baa66d);
      background: #0000000a;

      &::before,
      &::after {
        background: var(--col_Gold, #baa66d);
      }
    }

    &::before,
    &::after {
      content: "";
      display: block;
      position: absolute;
      width: 10px;
      height: 2px;
      top: calc(50% - 1px);
      right: 11px;
      margin-top: -1px;
      background: #999999;
      transition: 0.15s;
    }
    &::after {
      transform: rotate(90deg);
    }
    &:has(input:checked)::after {
      transform: rotate(180deg);
      opacity: 0;
    }

    label {
      cursor: pointer;
      padding: 8px 28px 8px 16px !important;
      font-weight: normal;
      display: block;
      height: 100%;
      width: auto;
      align-items: center;
      justify-content: flex-end;
      border-radius: 4px;
      color: #999999 !important;
      font-weight: 400 !important;
      background: none !important;
      transition: 0.15s;

      &:hover {
        color: var(--col_Gold, #baa66d) !important;
        background: none !important;
      }
      input {
        display: none;
      }

      &::after {
        content: "内容をみる";
      }
      &:has(input:checked)::after {
        content: "閉じる";
      }
    }
  }

  .block-order-gift-dest--address-item address {
    margin: 0 0 0 32px;
    padding: 0;
    border-top: 1px solid #00000028;
    transition: 0.3s;
    overflow: hidden;
    opacity: 0;
    height: 0;

    .block-order-gift-dest--address-item-title:has(input[name="js-toggle-address"]:checked) + & {
    opacity: 100%;
    height: auto;
    padding: 8px 0 24px 0;

      + .block-order-gift-dest--address-change {
        display: block;
      }
    }

    br:first-of-type {
      content: "";
      display: block;
      height: 0.5em;
    }
  }

  .block-order-gift-dest--address-change {
    position: absolute;
    text-align: right;
    right: 16px;
    bottom: 28px;
    display: none;
  }

  .block-order-gift-dest--address-error {
    margin: 0 0 10px 0;
  }

  /* 贈り主情報エリア */
  .block-order-gift-dest--method-sender {
    margin-top: 30px;

    .block-order-gift-dest--method-sender-title {
      &::before {
          content: "";
          display: block;
          width: 28px;
          aspect-ratio: 1 / 1;
          margin: -2px 4px 0 -5px;
          background-color: var(--cl-br, #433d37) ;
          mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22uuid-92022754-cca7-41b3-8831-6ed08826ca6b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M7.34%2C22.75c0-3.41%2C3.54-6.18%2C6.95-6.18%2C3.86%2C0%2C6.95%2C2.77%2C6.95%2C6.18H7.34ZM18.16%2C9.61c0%2C2.13-1.73%2C3.86-3.86%2C3.86-2.13%2C0-3.86-1.73-3.86-3.86%2C0-2.13%2C1.73-3.86%2C3.86-3.86%2C2.13%2C0%2C3.87%2C1.73%2C3.87%2C3.86%2C0%2C0%2C0%2C0%2C0%2C0Z%22%20style%3D%22fill%3A%20none%3B%20stroke%3A%20%23666666%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat 50% 50% /100%;
      }
    }
  }

  .block-order-gift-dest--method-sender-info {
    margin: 0;
    border-radius: 4px;
    border-width: 2px;

    > p:first-child {
      font-size: 1.6rem;
      font-weight: 600;
      margin-bottom: 8px;
    }

    address {
      margin: 0 0 10px 0;
    }
  }

  .block-order-gift-dest--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-order-gift-dest--method-sender-change {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #00000028;
    padding-top: 20px;
    margin-top: 30px;

    & > input {
      & + label {
        font-weight: 600;
        width: auto;
        line-height: 24px;
      }
    }
  }

  .block-order-gift-dest--method-sender-info-edit {
    clear: both;
    width: 100%;
    margin: -32px 0 0 0;
    padding: 0;
    border: 0;

    .fieldset {
      margin-bottom: 0;
    }
  }

  .block-order-gift-dest--address-new {
    border-top: 1px solid #00000028;
    position: relative;
    margin: 10px 0 -10px;
    padding-top: 10px;
    text-align: right;

    .tip-hint {
      top: 10px;

      &::before {
        top: -6px;
        left: 18px;
      }
    }
  }

  .block-order-gift-dest--method-sender-btn {
    display: flex;
    justify-content: flex-end;
    gap: 12px;

    .block-order-gift-dest--address-clear-btn {
      color: var(--cl-dn, #d9534f);
    }
  }

  .block-order-gift-dest--action-buttons {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;

    .action-buttons {
      justify-content: flex-start;

      & + & {
        justify-content: end;
      }
    }
  }

  /*----  配送先商品追加  ----*/
  .block-order-gift-select {
    h2 {
      display: flex;
      font-weight: 600;
      font-size: 2.0rem;
      color: var(--cl-br, #433d37);
      margin: 30px 0 10px;
      align-items: center;
    }

    h3 {
      font-size: 1.6rem;
      font-weight: 600;
      font-family: var(--ff-sans_serif);
      margin: 0 0 8px;
      vertical-align: middle;

      dl + & {
        margin-top: 30px;
      }
    }

    .block-order-gift-select--sender-title {
      &::before {
          content: "";
          display: block;
          height: 28px;
          width: 28px;
          margin: -2px 4px 0 -5px;
          background: transparent none no-repeat 0 0 / cover;
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22uuid-92022754-cca7-41b3-8831-6ed08826ca6b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M7.34%2C22.75c0-3.41%2C3.54-6.18%2C6.95-6.18%2C3.86%2C0%2C6.95%2C2.77%2C6.95%2C6.18H7.34ZM18.16%2C9.61c0%2C2.13-1.73%2C3.86-3.86%2C3.86-2.13%2C0-3.86-1.73-3.86-3.86%2C0-2.13%2C1.73-3.86%2C3.86-3.86%2C2.13%2C0%2C3.87%2C1.73%2C3.87%2C3.86%2C0%2C0%2C0%2C0%2C0%2C0Z%22%20style%3D%22fill%3A%20none%3B%20stroke%3A%20%23666666%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E");
      }
    }

    .block-order-gift-select--delivery {
      > h2 {
        &::before {
          content: "";
          display: block;
          height: 28px;
          width: 28px;
          margin: 3px 4px 0 0;
          background: transparent none no-repeat 0 25% / 24px;
          background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC4xODE4IDBDMTguNjY0IDAgMTkuMTI2NSAwLjE4NDM3NCAxOS40Njc1IDAuNTEyNTYzQzE5LjgwODQgMC44NDA3NTIgMjAgMS4yODU4NyAyMCAxLjc1VjExLjM3NUgxOC4xODE4QzE4LjE4MTggMTIuMDcxMiAxNy44OTQ1IDEyLjczODkgMTcuMzgzIDEzLjIzMTJDMTYuODcxNiAxMy43MjM0IDE2LjE3NzkgMTQgMTUuNDU0NSAxNEMxNC43MzEyIDE0IDE0LjAzNzUgMTMuNzIzNCAxMy41MjYxIDEzLjIzMTJDMTMuMDE0NiAxMi43Mzg5IDEyLjcyNzMgMTIuMDcxMiAxMi43MjczIDExLjM3NUg3LjI3MjczQzcuMjcyNzMgMTIuMDcxMiA2Ljk4NTM5IDEyLjczODkgNi40NzM5MyAxMy4yMzEyQzUuOTYyNDYgMTMuNzIzNCA1LjI2ODc3IDE0IDQuNTQ1NDUgMTRDMy44MjIxNCAxNCAzLjEyODQ0IDEzLjcyMzQgMi42MTY5OCAxMy4yMzEyQzIuMTA1NTIgMTIuNzM4OSAxLjgxODE4IDEyLjA3MTIgMS44MTgxOCAxMS4zNzVIMFY3TDIuNzI3MjcgMy41SDUuNDU0NTVWME01LjQ1NDU1IDQuODEyNUgzLjE4MTgyTDEuMzkwOTEgN0g1LjQ1NDU1TTE1LjQ1NDUgMTAuMDYyNUMxNS4wOTI5IDEwLjA2MjUgMTQuNzQ2IDEwLjIwMDggMTQuNDkwMyAxMC40NDY5QzE0LjIzNDYgMTAuNjkzMSAxNC4wOTA5IDExLjAyNjkgMTQuMDkwOSAxMS4zNzVDMTQuMDkwOSAxMS43MjMxIDE0LjIzNDYgMTIuMDU2OSAxNC40OTAzIDEyLjMwMzFDMTQuNzQ2IDEyLjU0OTIgMTUuMDkyOSAxMi42ODc1IDE1LjQ1NDUgMTIuNjg3NUMxNS44MTYyIDEyLjY4NzUgMTYuMTYzMSAxMi41NDkyIDE2LjQxODggMTIuMzAzMUMxNi42NzQ1IDEyLjA1NjkgMTYuODE4MiAxMS43MjMxIDE2LjgxODIgMTEuMzc1QzE2LjgxODIgMTEuMDI2OSAxNi42NzQ1IDEwLjY5MzEgMTYuNDE4OCAxMC40NDY5QzE2LjE2MzEgMTAuMjAwOCAxNS44MTYyIDEwLjA2MjUgMTUuNDU0NSAxMC4wNjI1Wk00LjU0NTQ1IDEwLjA2MjVDNC4xODM4IDEwLjA2MjUgMy44MzY5NSAxMC4yMDA4IDMuNTgxMjIgMTAuNDQ2OUMzLjMyNTQ5IDEwLjY5MzEgMy4xODE4MiAxMS4wMjY5IDMuMTgxODIgMTEuMzc1QzMuMTgxODIgMTEuNzIzMSAzLjMyNTQ5IDEyLjA1NjkgMy41ODEyMiAxMi4zMDMxQzMuODM2OTUgMTIuNTQ5MiA0LjE4MzggMTIuNjg3NSA0LjU0NTQ1IDEyLjY4NzVDNC45MDcxMSAxMi42ODc1IDUuMjUzOTYgMTIuNTQ5MiA1LjUwOTY5IDEyLjMwMzFDNS43NjU0MiAxMi4wNTY5IDUuOTA5MDkgMTEuNzIzMSA1LjkwOTA5IDExLjM3NUM1LjkwOTA5IDExLjAyNjkgNS43NjU0MiAxMC42OTMxIDUuNTA5NjkgMTAuNDQ2OUM1LjI1Mzk2IDEwLjIwMDggNC45MDcxMSAxMC4wNjI1IDQuNTQ1NDUgMTAuMDYyNVoiIGZpbGw9IiM2NjY2NjYiLz4NCjwvc3ZnPg==");
        }
      }
    }
  }

  .block-order-gift-select--sender-info,
  .block-order-gift-select--delivery-dest-content,
  .block-order-gift-select--delivery-date,
  .block-order-gift-select--payment-content,
  .block-order-gift-select--point-use-select {
    background: var(--col_Background, #ffffff);
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 24px 32px;
    border-radius: 4px;
  }

  .block-order-gift-select--delivery {
    margin-top: 50px;
    h2 {
    font-size: 2.0rem;
    font-family: var(--ff-serif);
    font-weight: 600;
    }
  }

  .block-order-gift-select--delivery-dest {
    margin: 40px 0;
    position: relative;
  }

  .block-order-gift-select--delivery-dest-content {
    background: var(--col_paleGray, #f5f5f6);
    border: none;
    padding-top: 0;
    padding-top: 4px;
    padding: 0  32px 32px;
    border-radius: 0 0 4px 4px;
  }

  .block-order-gift-select--sender-info {
    border-width: 2px;
    margin: 0 0 5px 0;
    border-radius: 2px;

    p:last-child {
      margin: 1em 0 0;
    }
  }

  .block-order-gift-select--delivery-dest-add {
    display: flex;
    padding: 5px 0;
    margin: 0 0 10px;
    text-align: left;
    justify-content: space-between;
    gap: 8px;
    align-items: center;

    p.txt {
      margin-right: auto;
    }

    select {
      margin-left: auto;
    }
  }

  @keyframes tip-bounce {
    0%, 8%, 16%, 100% {
      scale: 100%;
    }
    4%, 12% {
      scale: 102%;
    }
  }

  .tip-hint {
    --col_tip-bg: var(--cl-dn, #d9534f);
    display: flex;
    align-items: center;
    margin: 0;
    position: absolute;
    left: 0;
    height: 40px;
    border-radius: 2px;
    width: auto;
    padding: 10px 20px;
    line-height: 1.3;
    color: #ffffff;
    background: var(--col_tip-bg);
    z-index: 50;
    transition: 0.15s;
    animation: tip-bounce 7s infinite ease-in-out 3s;
    justify-content: center;
    opacity: 100%;

    .select-all {
      margin-left: 12px;
      border-bottom: 1px dashed #ffffff;
      cursor: pointer;
    }

    &::before {
      content: "";
      display: block;
      height: 20px;
      width: 20px;
      position: absolute;
      transform: rotate(45deg) skew(20deg,20deg);
      background: var(--col_tip-bg);
      z-index: -5;
    }

    &.hide {
      opacity: 0;
    }
  }

  .block-order-gift-select--delivery-dest-goods-select,
  .block-order-gift-select--point-use-select {
    padding: 0;
    margin: 0;
    border-radius: 0 0 8px 8px;
    & > table {
      margin: 0 16px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-select .action-buttons {
    margin: 10px 0;
    position: relative;

    .action {
      margin: 0 auto;

      input {
        font-weight: 600;
        color: #ffffff;
        background: var(--col_Gold, #baa66d);
      }
    }

    .goods-select--tip1 {
      top: 0;
      width: auto;

      &::before {
        top: -6px;
        left: 10px;
      }
    }

    .goods-select--tip2 {
      top: 24px;
      left: calc(50% + 150px);
      width: 250px;

      &::before {
        left: -5px;
        transform: rotate(-45deg) skew(20deg, 20deg);
      }
    }

    .form-error {
      display: block;
    }
  }

  /* お届け先 */
  .block-order-gift-select--delivery-dest-header {
    position: sticky;
    top: 80px;
    transition: 0.5s;
    left: 0;
    padding: 0 8px 0 0;
    background: #f5f5f6;
    z-index: 84;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;

    .block-order-gift-select--delivery-dest-header-title {
      order: 10;
    }

    .tip-hint {
      position: relative;
      order: 20;
      margin-left: auto;

      &::before {
        left: unset;
        right: -4px;
        transform: rotate(-45deg) skew(20deg,20deg);
      }
    }

    .block-order-gift-select--delivery-dest-total-price-calc-btn {
      order: 30;
      margin-left: auto 0 8px;
    }

    .wrapper:has(.block-header.DownMove) & {
      top: 64px;
    }

    &.hover {
      backdrop-filter: blur(6px);
    }

    .gift-select {
      --col-sign: #73af95;
      position: absolute;
      top: calc(50% - 10px);
      left: 136px;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 20px;
      border: 1px solid var(--col-sign);
      border-radius: 20px;
      padding: 0 8px;
      font-size: 1.3rem;
      letter-spacing: -0.05em;
      color: var(--col-sign);
      background: #ffffff;

      &.isnot {
        --col-sign: var(--cl-dn, #d9534f);
      }
    }

    h2 {
      font-size: 1.8rem;
      margin: 0;
      padding: 16px 16px 12px 16px;

      &::before {
          content: "";
          display: block;
          width: 24px;
          height: 24px;
          margin: -2px 0 0 0;
          flex-shrink: 0;
          background: transparent none no-repeat 50% 0 / 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%0A%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_15_121)%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.25%208.45455C9.25%206.13244%2011.1324%204.25%2013.4545%204.25C15.7767%204.25%2017.6591%206.13244%2017.6591%208.45455C17.6591%2010.7767%2015.7767%2012.6591%2013.4545%2012.6591C11.1324%2012.6591%209.25%2010.7767%209.25%208.45455ZM6.25%2022C6.25%2017.7731%209.44456%2014.25%2013.5%2014.25C17.5554%2014.25%2020.75%2017.7731%2020.75%2022C20.75%2022.4142%2020.4142%2022.75%2020%2022.75H7C6.58579%2022.75%206.25%2022.4142%206.25%2022Z%22%20fill%3D%22%23666666%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_15_121%22%3E%0A%3Crect%20width%3D%2228%22%20height%3D%2228%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A");
      }
        }

    .block-order-gift-select--delivery-dest-delete {
      order: 90;
      position: relative;
      top: 0;

      input {
        color: var(--cl-dn, #d9534f);
      }
    }
  }

  .block-order-gift-select--delivery-dest-address {
    border: 1px solid #00000028;
    border-width: 0 0 1px;
    margin: 0 -28px 32px;
    background: var(--col_Background, #ffffff);
    padding: 16px;

    address {
      margin: 0 0 0 0;
    }
  }

  .block-order-gift-select--delivery-dest-nickname {
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 10px;
    color: var(--col_MypreBlue, #00467f);

    & + p {
      margin-bottom: 10px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-add {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
  }

  .block-order-gift-select--delivery-dest-goods-add-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.01;
    width: 100%;
  }

  .js-order-gift-select-goods-list {
    border-radius: 0 0 8px 8px;
    height: unset;
    padding: 10px;
    overflow: unset;
    background: var(--col_Background, #ffffff);

    .block-order-gift-select--delivery-dest-goods-message {
      display: flex;
      flex-direction: row;

      &::before {
          content: "";
          display: block;
          width: 24px;
          height: 24px;
          margin: 3px 4px 0 0;
          flex-shrink: 0;
          background: #666666;
          mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIgMTYiIGZpbGw9ImJsYWNrIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMS41ODkzIDBIMC40MTA3MDhDMC4xODM2NjcgMCAwIDAuMTc2OTg3IDAgMC4zOTU3NzFWMy4zNDcwOEgxMlYwLjM5NTc3MUMxMiAwLjE3Njk4NyAxMS44MTYzIDAgMTEuNTg5MyAwWiIvPjxwYXRoIGQ9Ik0wIDE1LjYwNDJDMCAxNS44MjMgMC4xODM2NjcgMTYgMC40MTA3MDggMTZIMTEuNTg5M0MxMS44MTYzIDE2IDEyIDE1LjgyMyAxMiAxNS42MDQyVjEyLjc4MTZIMFYxNS42MDQyWiIvPjxwYXRoIGQ9Ik02LjI4NjczIDguNDYyNzFINS43MzUwNkM1LjY0NDQ4IDguNDYyNzEgNS41NzEwNCA4LjUzMzQ3IDUuNTcxMDQgOC42MjA3NVYxMC4wMDA3QzUuNTcxMDQgMTAuMDg4IDUuNjQ0NDggMTAuMTU4OCA1LjczNTA2IDEwLjE1ODhINi4yODY3M0M2LjM3NzMyIDEwLjE1ODggNi40NTA3NSAxMC4wODggNi40NTA3NSAxMC4wMDA3VjguNjIwNzVDNi40NTA3NSA4LjUzMzQ3IDYuMzc3MzIgOC40NjI3MSA2LjI4NjczIDguNDYyNzFaIi8+PHBhdGggZD0iTTQuOTkwODUgOS43MTA3Nkw0LjA1NjI1IDkuMTM2MDVIMFY5Ljg1NjRINC45NDY4QzUuMDI4OCA5Ljg1NjQgNS4wNTk5OCA5Ljc1MzIyIDQuOTkwODUgOS43MTA3NloiLz48cGF0aCBkPSJNNS4yMjgwNiA5LjM5MjcyVjguNDkyMTFDNS4yMjgwNiA4LjQ5MjExIDMuNTAxODcgNy40ODgzMSAzLjAzMjg3IDUuODg2OTRDMy4wMDUwOCA1Ljc5MTU5IDIuODkzOTQgNS43NDM5MSAyLjgwMTc2IDUuNzg4MzJMMi4xODcwNiA2LjA4NDgzQzIuMTA5OCA2LjEyMjA1IDIuMDc0NTUgNi4yMTA4NyAyLjEwOTEyIDYuMjg3MjhDMy4wNzU1NyA4LjQ0MjQ3IDUuMjI4MDYgOS4zOTMzNyA1LjIyODA2IDkuMzkzMzdWOS4zOTI3MloiLz48cGF0aCBkPSJNNy4wMDkxNCA5LjcxMDc2QzYuOTQwMDEgOS43NTMyMiA2Ljk3MTE5IDkuODU2NCA3LjA1MzE5IDkuODU2NEgxMlY5LjEzNjA1SDcuOTQzNzRMNy4wMDkxNCA5LjcxMDc2WiIvPjxwYXRoIGQ9Ik05Ljg5MDkyIDYuMjg2NjFDOS45MjU0OCA2LjIxMDIgOS44ODk1NiA2LjEyMTM4IDkuODEyOTggNi4wODQxNUw5LjE5ODI3IDUuNzg3NjVDOS4xMDYxIDUuNzQzMjQgOC45OTU2MyA1Ljc5MDkyIDguOTY3MTYgNS44ODYyN0M4LjQ5ODE3IDcuNDg3NjQgNi43NzE5NyA4LjQ5MTQ0IDYuNzcxOTcgOC40OTE0NFY5LjM5MjA0QzYuNzcxOTcgOS4zOTIwNCA4LjkyNDQ2IDguNDQxMTUgOS44OTA5MiA2LjI4NTk2VjYuMjg2NjFaIi8+PC9zdmc+") no-repeat 50% 0 / 14px;
      }
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-list table {
    width: 100%;

    tr {
      padding: 8px 0;

      &:hover {
        background: var(--col_paleGray, #f5f5f6);
      }

      &:nth-child(odd) {
        background: color-mix(in srgb, var(--col_paleGray, #f5f5f6) 45%, transparent);
      }

      &:has(input:checked) {
        background: #eeeeee;

        .block-order-gift-select--delivery-dest-goods-name span {
          color: var(--col_MypreBlue, #00467f);
          font-weight: 600;

          em {
            color: var(--cl-br, #433d37);
          }
        }
      }

      label {
        cursor: pointer;
        padding: 16px 8px;
        display: flex;
        position: relative;

        &:hover {
          color: var(--col_Gold, #baa66d);
        }

        span {
          display: flex;
          width: 100%;
          justify-content: space-between;
        }
      }
    }
  }

  .block-order-gift-select--delivery-dest-goods-name {
    width: unset;
    font-feature-settings: "palt";
    word-break: auto-phrase;
  }

  .block-order-gift-select--delivery-dest-goods-qty {
    padding: 0 8px;
    text-align: right;
    white-space: nowrap;
    font-size: 1.4rem;
    color: #999999;

    input {
      text-align: right;
      margin: 0 0 0 10px;
      height: 40px;
    }
  }

  .block-order-gift-select--total-cart-qty {
    text-align: center;
    color: #999999;
    font-size: 1.4rem;
    padding: 0 8px 0 0;
    width: 6em;

    &::before {
      content: "カート内";
      display: block;
      letter-spacing: -0.05em;
      color: #999999;
      line-height: 1.3;
    }

    span {
      &.add { color: var(--cl-dn, #d9534f); font-weight: 600; }
      &.just { color: var(--col_MypreBlue, #00467f); font-weight: 600; }
    }
  }

  /* お届け先商品 */
  .block-order-gift-select--delivery-dest-goods-content-info,
  .block-order-gift-select--delivery-dest-goods-noshi {
    width: 100%;
    margin: 0 0 16px 0;
  }

  .block-order-gift-select--delivery-dest-goods-content-info {
    th {
      word-break: auto-phrase;

      &:nth-child(1) {
        position: relative;
        height: 100%;
        border: none;
        align-content: center;
        justify-content: space-between;

        span {
          display: block;
          position: absolute;
          top: calc(50% - 1rem);
          right: 12px;
          font-weight: normal;

          small {
            font-weight: 600;
            color: var(--cl-br, #433d37);
            margin-left: 0.25em;
          }
        }
      }
      &:nth-child(2) { width: 10em; }
      &:nth-child(3) { width: 6em;}
      &:nth-child(4) { width: 10em;}
      &:nth-child(5) { width: 10em; }
    }
  }

  .block-order-gift-select--delivery-dest-goods-name {
    figure {
      width: 200px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-sales-qty {
    width: 100px;

    input {
      text-align: right;
      width: 100%;
      height: 40px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content {
    margin-top: 8px;

    > table {
      border-width: 2px;
      background: #ffffff;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-info-delete,
  .block-order-gift-select--delivery-dest-goods-noshi-edit {
    width: 70px !important;
  }

  .block-order-gift-select--sales-detail-append {
    tr td:first-of-type {
      background: var(--col_paleGray, #f5f5f6);
      font-weight: 600;
      word-break: keep-all;
    }

    input {
      width: 16em;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-info-delete {
    input {
      margin-top: 72px;
      color: var(--cl-dn, #d9534f) !important;
    }
  }

  table.block-order-gift-select--delivery-dest-goods-noshi {
    margin-top: -26px;
    border-top-width: 1px;

    th,
    td {
      text-align: left;
    }

    h3 {
      margin: 0;
    }
  }

  .block-order-gift-select--delivery-dest-total {
    margin: 16px 0 0;
    padding-top: 20px;
    border-top: 1px solid #00000028;

    table {
      border-width: 2px;
      background: var(--col_Background, #ffffff);

      .block-order-gift-select--delivery-dest-total-price {
        font-weight: 600;
        font-size: 1.5rem;
      }

      .block-order-gift-select--delivery-dest-total-price-calc-btn {
        color: #ffffff;
        background: #666666;

        td:has(&) {
          .goods-select--tip3 {
            position: absolute;
            bottom: -20px;
            left: unset;
            right: -3px;
            width: auto;

            &::before {
              top: -6px;
            }
          }
        }
      }
    }
  }

  /* 配送方法 */
  .block-order-gift-select--delivery-date-content {
    display: table;

    dt,
    dd {
      display: table-cell;
    }
  }

  /* お支払い情報 */
  .block-order-gift-select--payment-content {
    h3 {
      margin: 0 0 16px;

      & + & {
        margin-top: 30px;
      }
    }

    ~ .action-buttons {
      float: right;
      padding: 0;
      width: calc(50% - 40px);
      justify-content: flex-start;
      margin: 40px 20px 0;

      &:last-of-type {
        float: left;
        justify-content: flex-end;
      }

      .form-error:has(+ &) {
        display: none;
      }
    }
  }

  .block-order-gift-select--method {
    margin-top: 30px;
    h3 .required {
      margin-left: 4px;
    }
  }

  .block-order-gift-select--method-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 240px;
    width: 240px;
    border-radius: 4px;
    overflow: hidden;

    li {
      margin: 0;

      .help-block {
        display: inline-block;
        margin-left: 30%;
      }
    }

    label {
      display: flex;
      align-items: center;
      cursor: pointer;
      line-height: 1;
      height: 48px;
      width: 100%;
      padding: 0 12px !important;
      transition: 0.15s;

      &:hover {
        color: var(--col_Gold, #baa66d);
        background: #f5f5f6;
      }

      &:has(:checked) {
        background: #eeeeee;
        font-weight: 600;
        color: var(--col_MypreBlue, #00467f);
      }
    }
  }

  .block-order-gift-select--current-point {
    margin: 0 0 10px;
  }

  .block-order-gift-select--current-point-num {
    font-weight: 600;
  }

  .block-order-gift-select--coupon-content {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .block-order-gift-select--coupon-available-btn {
    margin: 0;
    align-content: center;
  }

  .block-order-gift-select--point-use-select {
    background: var(--col_paleGray, #f5f5f6);

    label {
      cursor: pointer;
      padding: 0 23px 0 5px;
    }
  }

  /* その他 */
  .block-order-gift-select--sales-append-content {
    background: var(--col_Background, #ffffff);
    border: solid 1px #e5e5e5;
    margin: 0;
    padding: 20px 20px 0 20px;

    .fieldset {
      margin-top: 0;
      margin-bottom: 20px;

      .form-group {
        border-top: #e5e5e5 1px solid;

        &:not(:last-child) {
          border-bottom: none;
        }
      }
    }
  }

  .block-order-gift-select::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    overflow: hidden;
  }

  .action:last-of-type .tip-hint {
    position: relative;
    top: 5px;
    margin-top: -40px;
    width: auto;

    &::before {
      top: 24px;
    }
  }

  /*----  のし・ラッピング設定  ----*/
  .block-order-gift-noshi {
    margin: 94px auto 0;

    h1 {
      font-weight: 600;
      font-size: 2.4rem;
      color: #444444;
      padding: 15px 0 0 0;
    }

    h2 {
      margin: 20px -40px;
      border-top: 1px solid #00000028;
      padding: 20px 40px 0;
      font-weight: 600;
      font-size: 2.0rem;
      color: #444444;
    }

    h3 {
      margin-top: 30px;
      font-size: 1.6rem;
      color: #444444;
      font-weight: 600;
    }
  }

  .block-order-gift-noshi--sender {
    margin-bottom: 15px;

    p:has(+ address) { display: none; }

    address {
      border: solid 2px #00000028;
      border-radius: 4px;
      padding: 20px;
      br:last-of-type {
        content: "";
        display: block;
        height: 10px;
      }
    }
  }

  .noshi-info--header {
    margin: 20px 0 6px;
    font-weight: 600;
  }

  .block-order-gift-noshi--goods {
    border-radius: 4px;
    padding: 16px 20px;
    background: #f5f5f6;
  }

  .block-order-gift-noshi--noshi-container {
    margin: 30px auto 0;
    width: 880px;
  }

  ul.block-order-gift-noshi--noshi-select,
  ul.block-order-gift-noshi--purpose-select {
    display: flex;
    background: #ffffff;
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 4px;
    gap: 16px;
  }

  .block-order-gift-noshi--noshi-select,
  .block-order-gift-noshi--purpose-select,
  .block-order-gift-noshi--covertype-select,
  .block-order-gift-noshi--wrap-select,
  .block-order-gift-noshi--bag-wrapper,
  .block-order-gift-noshi--paper-wrapper,
  .block-order-gift-noshi--nameprint-wrapper {
    background: #ffffff;
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 20px 20px 20px 20px;

    ul {
      display: flex;
      justify-content: center;
    }

    li {
      display: inline-block;
      margin: 0;
      vertical-align: top;
      border-radius: 8px;

      label {
        display: flex;
        margin: 0;
        min-height: 48px;
        height: 100%;
        padding: 16px;
        text-align: center;
        border-radius: 4px;
        transition: 0.15s;

        &:hover {
          background: #f5f5f6;
        }

        &:has(input:checked) {
          color: var(--col_MypreBlue, #00467f);
          font-weight: 600;
          background: #eeeeee;
        }

        figure {
          display: block;
          padding: 6px 0;

          img {
            border: 1px solid #e5e5e5;
          }
        }
      }
    }
  }

  .block-order-gift-noshi--paper-select,
  .block-order-gift-noshi--nameprint-select {
    display: flex;
    gap: 16px;

    label {
      flex-direction: column;

      figure img {
        vertical-align: bottom;
      }

      span {
        flex-grow: 1;
        margin-top: 6px;
        align-content: center;
      }
    }
  }

  .block-order-gift-noshi--paper-item-price,
  .block-order-gift-noshi--bag-item-price,
  .block-order-gift-noshi--wrap-item-price {
    display: block;
  }

  .block-order-gift-noshi--paper-message,
  .block-order-gift-noshi--covertype-message,
  .block-order-gift-noshi--wrap-message,
  .block-order-gift-noshi--bag-message {
    background: none;
    border: 0;
    border-top: 1px dashed #00000028;
    margin: 20px auto 10px;
    padding: 20px 0 0;
    text-align: center;
    width: 100%;
  }

  .block-order-gift-noshi--setting-message {
    text-align: center;
    font-weight: 600;
    margin-top: 40px;
    font-size: 1.8rem;
    color: var(--cl-dn, #d9534f);
  }

  .block-order-gift-noshi--nameprint-input {
    margin: 30px auto 0;
  }

  .block-order-gift-noshi--nameprint-input tr:first-child,
  .block-order-gift-noshi--nameprint-input tr:nth-child(2) {display: none;}

  .block-order-gift-noshi--setting-all-btn {
    margin: 0 0 20px 0;
    background: #666666 !important;
  }

  .block-order-gift-confirmation {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      color: #444444;
      margin-top: 40px;
    }

    h3 {
      font-size: 1.6rem;
      color: #444444;
      font-weight: 600;
      margin: 0 0 12px 0;
    }

    table {
      width: 100%;

      &.block-order-gift-confirmation--order-item-detail-table th {
        font-feature-settings: "palt";
        text-align: center;
        white-space: nowrap;

        &.block-order-gift-confirmation--item-name-header {
          text-align: left;
        }
      }

      .block-order-gift-confirmation--sending-item-name {
        width: auto;
      }

      .block-order-gift-confirmation--item-qty-header,
      .block-order-gift-confirmation--sending-item-qty-header {
        width: 60px !important;
        text-align: center;
        white-space: nowrap;
      }

      .block-order-gift-confirmation--item-amount-header {
        word-break: auto-phrase;
      }
    }
  }

  .block-order-gift-confirmation--item-image,
  .block-order-gift-confirmation--sending-item-image {
    figure {
      height: unset;
      background: #f5f5f6;

      img {
        background: #ffffff;
      }
    }
  }

  .block-order-gift-confirmation--sending-item-image {
    figure {
      width: 276px !important;
    }
  }

  .block-order-gift-confirmation--item-name {
    font-feature-settings: "palt";
    word-break: auto-phrase;
  }

  .block-order-gift-confirmation--order-item-wrapper,
  .block-order-gift-confirmation--order,
  .block-order-gift-confirmation--destination-address-wrapper,
  .block-order-gift-confirmation--other-wrapper,
  .block-order-gift-confirmation--novelty-content,
  .block-order-gift-confirmation--order-comment,
  .block-order-gift-confirmation--payment-method-wrapper {
    background: #ffffff;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px 20px 20px 20px;
    overflow: hidden;
  }

  .block-order-gift-confirmation--order-item-wrapper {
    display: flex;
    gap: 50px;
    position: relative;
    justify-content: space-between;
    align-items: stretch;
    overflow: visible !important;
  }

  .block-order-gift-confirmation--order-item-detail {
    flex-shrink: 0;
    display: block;
    width: 65%;
  }

  .block-order-gift-confirmation--order-item-summary {
    display: flex;
    margin: 0;
    padding: 0;

    table {
      position: sticky;
      top: 20px;
      left: 0;
      height: 10px;
      transition: 0.4s;

      .wrapper:has(.block-header.DownMove) & {
        top: 80px;
      }

      th {
        white-space: nowrap;
      }
    }
  }

  .block-order-gift-confirmation--order-item-summary-table,
  .block-order-gift-confirmation--point-summary {
    th {
      width: 125px;
    }

    td {
      text-align: right;
    }
  }

  td.block-order-estimate--goods-item-price,
  .block-order-gift-confirmation--item-amount,
  .block-order-gift-confirmation--item-qty {
    text-align: right;
  }

  .block-order-gift-confirmation--item-qty {
    text-align: center;
  }

  /* ノベルティ商品のノベルティ選択 */
  .block-order-gift-confirmation--novelty-item {
    display: table;
    margin-bottom: 10px;
    width: 100%;

    label {
      cursor: pointer;
    }
  }

  .block-order-gift-confirmation--novelty-item-image,
  .block-order-gift-confirmation--novelty-item-goods {
    display: table-cell;
    vertical-align: middle;
  }

  .block-order-gift-confirmation--novelty-item-image {
    width: 200px;

    figure {
      width: 200px;
      height: 200px;
      background: #f5f5f6;
    }
  }

  .block-order-gift-confirmation--novelty-item-goods {
    padding-left: 10px;
    width: auto;
  }

  /* 配送情報 */
  .block-order-gift-confirmation--shipping-address {
    float: left;
    width: 65%;
    vertical-align: top;
  }

  .block-order-gift-confirmation--shipping-info {
    float: right;
    width: 35%;
    padding: 0 0 0 3%;
  }

  .block-order-gift-confirmation--shipping-info-detail th {
    width: 150px;
  }

  /* お届け先 */
  .block-order-gift-confirmation--destination-address {
    margin: 0 0 10px 0;
  }

  .block-order-gift-confirmation--sending-item-qty-header {
    width: 20px !important;
    padding: 0 !important;
  }

  .block-order-gift-confirmation--sending-item-qty {
    text-align: center;
  }

  .block-order-gift-confirmation--sending-item-comment-header,
  .block-order-gift-confirmation--sending-item-noshi-header {
    width: 220px;
  }

  /* その他 */
  .block-order-gift-confirmation--other-detail th {
    width: 300px;
  }

  .block-order-gift-confirmation--order-comment--text {
    margin-bottom: 16px;
  }
  .block-order-gift-confirmation--order-comment {
    margin-top: 10px;

    textarea {
      width: 100%;
      padding: 16px;
      vertical-align: bottom;
    }
  }

  .block-order-gift-confirmation--order-comment-message {
    font-weight: 600;
    margin: 50px 0 40px;
    text-align: center;
    color: var(--cl-dn, #d9534f);
    font-size: 1.6rem;
  }

  .block-goods-list--pager.pager {
    text-align: center;
    margin: 55px 0;

    &:last-child {
      margin-bottom: 0;
    }
  }

  .block-order-gift-confirmation--return-agree {
    margin: 32px 0 20px;

    .btn {
      display: inline-flex;
      line-height: 1;
      align-items: center;
    }
  }

  .block-order-complete h1 {
    text-align: center;
  }

  .block-order-complete--orderinfo {
    padding: 56px;
    text-align: center;

    .block-order-complete--message {
      margin: 0;

      .order-comp-thank-message {
        margin: 0;
        font-size: 1.8rem;
        line-height: 2;
      }

      .order-comp-initial {
        h2 {
          margin: 40px 0 20px;
          font-weight: 600;
          font-size: 1.8rem;
          font-family: var(--ff-sans_serif);
        }

        a {
          display: inline-block;
          margin: 30px 0 0;
          font-size: 1.6rem;
        }
      }
    }

    .block-order-complete--orderid {
      width: unset;
      margin: 30px auto 0;

      a {
        text-decoration: underline;

        &:hover {
          text-decoration: none;
        }
      }
    }
  }

  .block-order-complete--cart {
    p {
      font-size: 1.6rem;
      span {
        margin: 0 4px;
      }
    }

    .block-order-complete--cart-btn {
      margin: 12px auto 0;
      padding: 20px;
      letter-spacing: 0.025em;
      font-weight: 600;
      font-size: 1.8rem;
      min-width: 250px;
    }
  }

  .block-goods-list--pager .pager-total {
    display: block;
    margin: 0;
  }

  .pagination li {
    margin-left: 5px;
  }

  .block-thumbnail-t--goods {
    .price,
    .net-price,
    .default-price,
    .exchange-price,
    .block-exchange-price--rate-dt {
      text-align: left;
    }
  }

  /*---- テーブル ----*/
  .block-purchase-history-detail--shiment-address,
  .table {
  --cl-br: var(--cl-br, #433d37);
  --cl-a: var(--cl-a, #433d37);

    color: var(--cl-br, #433d37);
    background: #ffffff;
  }

  .table,
  .table td,
  .table th {
    border-color: #cccccc;
  }

  .table td,
  .table th {
    padding: 12px;
  }

  .table th {
    font-feature-settings: "palt";
    font-weight: 600;
    color: var(--cl-heading, #444444);
    background: var(--col_paleGray, #f5f5f6);
    word-break: auto-phrase;
    line-break: anywhere;
  }

  /*---- テキストカラー ----*/
  .text-danger {
    color: var(--cl-dn, #d9534f);
  }

  .default-price {
    text-decoration: line-through;
    font-weight: 600;
  }

  /*---- テキストサイズ ----*/
  .price-small {
    font-size: 0.8em;
  }

  .default-price {
    font-size: 0.9em;

    .price-small {
      font-size: 1em;
    }
  }

  /*---- プロモーションメッセージ--- */
  .promotion-criteria,
  .promotion-benefit {
    color: #ff0000;
    font-weight: 600;
  }

  /*---- 商品説明リスト ----*/
  .goods-detail-description {
    width: 100%;
    margin-top: 8px;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;

    &:first-of-type { margin-top: 0; }

    dt {
      width: 140px;
      font-weight: normal;
      position: relative;

      &::before {
        position: absolute;
        content: "";
        display: block;
        height: 100%;
        width: 1px;
        right: 0;
        background: var(--cl-br, #433d37);
      }
    }

    dd {
      display: table-cell;
      font-feature-settings: "palt";

      &.cl_cl-dn {
        font-weight: 600;
      }
    }
  }

  /*---- ページャー ----*/
  .pager {
    margin: 50px 0 60px 0;
    text-align: center;

    > * {
      display: inline-block;
      vertical-align: top;
    }
  }

  .pager-scope {
    display: inline-block;
    padding: 3px;
    margin-right: 5px;
  }

  .pager-total {
    display: block;
    margin: 0;

    .pager-count {
      font-weight: 600;
    }
  }

  .pagination {
    margin: 20px 0 0;

    > * {
      border: unset;
      padding: 0;
    }

    > .disabled {
      color: #777777;
    }

    > li {
      background: transparent;

      &.pager-current span {
        color: #ffffff;
        border: none;
      }
    }

    span,
    a {
      display: block;
      line-height: 35px;
      text-align: center;
      text-decoration: none;
      width: 35px;
      height: 35px;
    }

    a {
      border: 1px solid var(--col_Gold, #baa66d);
      transition: 0.3s;
      color: var(--col_Gold, #baa66d);

      &:hover {
        opacity: 50%;
      }
    }
  }

  .pager-first,
  .pager-previous,
  .pager-next,
  .pager-last {
    a {
      position: relative;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;

      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        width: 6px;
        height: 6px;
      }
    }
  }

  .pager-first a {
    &::before {
      left: 47%;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-left: 1px var(--col_Gold, #baa66d) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
    &::after {
      left: 56%;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-left: 1px var(--col_Gold, #baa66d) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
  }

  .pager-previous a {
    &::after {
      left: 50%;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-left: 1px var(--col_Gold, #baa66d) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
  }

  .pager-next a {
    &::after {
      right: 47%;
      margin: -3px 0 0 2px;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-right: 1px var(--col_Gold, #baa66d) solid;
      transform: rotate(45deg);
    }
  }

  .pager-last a {
    &::before {
      right: 44%;
      margin: -3px 0 0 2px;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-right: 1px var(--col_Gold, #baa66d) solid;
      transform: rotate(45deg);
    }
    &::after {
      right: 52%;
      margin: -3px 0 0 2px;
      border-top: 1px var(--col_Gold, #baa66d) solid;
      border-right: 1px var(--col_Gold, #baa66d) solid;
      transform: rotate(45deg);
    }
  }

  /*---- ツールチップ ----*/
  .balloontip {
    min-width: 20px;
    padding: 10px;
    border-radius: 6px;
    opacity: 100%;
    z-index: 32767;
    text-align: left;
    font-size: 1.2rem;
    border: 1px solid #777777;
    box-shadow: #555555 4px 4px 4px;
    color: #ffffff;
    background: #444444;
  }

  /*---- ドロップダウン ----*/
  .dropdown {
    z-index: 11000;

    .li {
      background: #444444;

      span {
        display: block;
        padding: 13px 15px;
        margin: 0;
        text-decoration: none;
        line-height: 1;
        color: #ffffff;
        cursor: pointer;

        &:hover {
          background: #616d0b;
        }
      }
    }
  }

  /*---- モーダルダイアログ ----*/
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 50%;
    z-index: 10000;
  }

  .modal-overlay-alert {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 50%;
    z-index: 10002;
  }

  .modal-alert {
    width: 400px;
    z-index: 10003;
  }

  .modal-dialog {
    width: 600px;
    z-index: 10001;
  }

  .modal-header {
    display: flex;
    padding: 10px 10px 10px 20px;
    font-size: 1.7rem;
    font-weight: 600;
    clear: both;
    border-bottom: none;
    line-height: 1;
    color: #ffffff;
    justify-content: space-between;
    align-items: start;

    > * {
      display: flex;
      align-self: center;
      align-content: center;
    }
  }

  .modal-content {
    background: #ffffff;
  }

  .modal-body {
    padding: 20px;

    p {
      margin-bottom: 10px;
    }

    li {
      border-bottom: 1px dotted #444444;

      a {
        padding: 8px 8px 8px 0;
        color: var(--cl-a, #433d37);
        display: flex;
        max-width: 560px;
        font-size: 1.6rem;
        text-decoration: none;

        &:hover {
          text-decoration: none;
          color: var(--col_Gold, #baa66d);
        }

        i {
          margin: 0 10px 0 auto;
          color: #444444;
          font-size: 1.6rem;

          a:hover & {
            color: #4da7ba;
            text-decoration: none;
          }
        }
      }
    }
  }

  .modal-footer {
    padding: 0 10px 15px;

    .modal-alert & {
      text-align: center;

      input {
        width: 40%;
      }
    }

    .modal-dialog & {
      text-align: center;

      .btn {
        min-width: 150px;
        margin-right: 5px;
      }
    }
  }

  .modal-close {
    position: relative;
    display: block;
    height: 32px;
    width: 32px;
    cursor: pointer;
    float: right;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    color: #ffffff;
  }

  /*---- ヘッダー警告 ----*/
  .header-warning {
    position: relative;
    padding: 10px;
    background: #fffacd;
    border-bottom: 1px solid #b0c4de;
  }

  .header-warning-contents {
    display: block;
    padding-right: 18px;
    text-align: center;
    background: transparent;
  }

  .header-warning-close {
    display: block;
    position: absolute;
    width: 18px;
    cursor: pointer;
    font-weight: 600;
    top: 10px;
    right: 10px;
    background: transparent;
  }

  /*---- 検索エンジン向けH1タグ ----*/
  .optimaized-h1 {
    font-size: 1.1rem;
  }

  /*---- レビュー ----*/
  .star-base {
    cursor: pointer;
    width: 120px;
    height: 30px;
    background: url("/img/usr/user_review/star.png");
    background-repeat: no-repeat;
    background-size: cover;
  }

  .star-select {
    width: 120px;
    height: 30px;
    background: url("/img/usr/user_review/star.png");
    background-repeat: no-repeat;
    background-size: cover;
  }

  /*---- 注文ステータス ----*/
  .status-order,
  .status-cancel,
  .status-income,
  .status-reserve,
  .status-rship,
  .status-ship,
  .status-verify,
  .status-return,
  .status-status_,
  .status-status_1,
  .status-status_2,
  .status-status_3,
  .status-status_4,
  .status-status_9 {
    width: unset;
    height: auto;
    min-width: 196px;
    min-height: 50px;
    border: #cccccc solid 1px;
    padding: 5px 0;
    display: grid !important;
    grid-template:
    "msg msg"
    "bar perc" /1fr auto;
    align-items: baseline;
    background: #ffffff;

    .status-message {
      grid-area: msg;
      width: 100%;
    }
    .status-percentage {
      grid-area: perc;
    }
    [class^="status-progress"] {
      grid-area: bar;
    }
  }
  .status-message,
  .status-percentage {
    padding: 0 5px;
  }

  .status-message {
    font-size: 1.2rem;
  }

  .status-percentage {
    color: #031241;
    font-weight: 600;
    font-size: 2.4rem;
    text-align: center;
  }

  [class^="status-progress"] {
    display: block;
    position: relative;
    height: 14px;
    margin: 4px auto 0;
    background: #cccccc;

    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      height: 14px;
      border-right: #031241 solid 4px;
      background: #1e5799;
    }
  }

  .status-progress-20::after {
    width: 20%;
  }

  .status-progress-40::after {
    width: 40%;
  }

  .status-progress-60::after {
    width: 60%;
  }

  .status-progress-80::after {
    width: 80%;
  }

  .status-progress-100::after {
    width: 100%;
  }

  .status-message {
    .status-reserve &,
    .status-cancel &,
    .status-return &,
    .status-status_ &,
    .status-status_1 &,
    .status-status_2 &,
    .status-status_3 &,
    .status-status_4 &,
    .status-status_9 & {
      width: 100%;
    }
  }

  [class^="status-progress"]::after {
    .status-reserve & {
      border-right: #ea7500 solid 4px;
      background: #f79800;
    }

    .status-return & {
      border-right: #028900 solid 4px;
      background: #00ab0b;
    }
  }

  .block-purchase-history-detail--receipt-address {
  --cl-br: #433d37;
  --cl-a: #433d37;

    color: var(--cl-br, #433d37);
    background: #ffffff;
  }

  /*---- ホワイトスペース制御 ----*/
  .white-space-pre-wrap {
    white-space: pre-wrap;

    .block-order-estimate--sales-detail-append-item {
      & + & {
        margin-top: 4px;
      }
    }
  }

  /*---- 表示・非表示 ----*/
  .hidden {
    display: none;
  }

  .show {
    display: block;
  }

  .block-order-estimate--register-customer-checkbox-message {
    position: relative;
    padding-left: 30px;

    label {
      &::before {
        content: "";
        display: block;
        position: absolute;
        top: 2px;
        left: 0;
        width: 18px;
        height: 18px;
        border: 1px solid #999999;
      }

      &.checked::after {
        content: "";
        display: block;
        position: absolute;
        top: 2px;
        left: 2px;
        width: 18px;
        height: 8px;
        opacity: 100%;
        transition: 0.3s;
        transform: rotate(-40deg);
        border-bottom: 2px var(--cl-dn, #d9534f) solid;
        border-left: 2px var(--cl-dn, #d9534f) solid;
      }
    }
  }

  .checktype_pwd {
    vertical-align: middle;
    display: inline-block;
  }

  .block-login--display-password {
    margin: 0;
    padding: 0 !important;
    vertical-align: middle;
    font-size: 1.4rem;
  }

  .block-cart--amazonpay-description {
    text-align: center;
    font-size: 1.3rem;
    margin: 25px 0 15px 0;
  }

  .block-login--amazon-body {
    display: block;
    width: inherit;
  }

  .block-login--amazon-login {
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: center;
  }

  .block-cart--amazonpay {
    border-top: 1px solid #9f9c97;
    padding: 0;
    margin-top: 25px;
    margin-bottom: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .block-icon-image--flex-align-left {
    gap: 6px;
    line-height: 1;
    letter-spacing: 0.05em;
    align-items: center;

    [class^="block-icon-image block-icon-image"] {
      mask: no-repeat 50% 50% /100%;
      background-image: none;
      background-color: var(--cl-heading, #444444);
    }
    .block-icon-image--shopping-basket {
      mask-image: url(../../img/sys/icon/black/shopping-basket.png);
    }
    .block-icon-image--user-circle-o {
      mask-image: url(../../img/sys/icon/black/user-circle-o.png);
    }
    .block-icon-image--envelope {
      mask-image: url(../../img/sys/icon/black/envelope.png);
    }
  }

  .block-mypage .block-icon-image--table-cell-angle-right {
    display: none;
  }
}
