@charset "UTF-8";

.ttl-pinyon-h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  color: var( --cl-br );
  font-family: var( --ff-serif );
  text-align: center;

  img {
    display: block;
  }

  span {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.1;
  }
}

.ttl-smg-h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;

  .txt-en {
    font-size: 2.6rem;
    font-family: var( --ff-smg );
    font-weight: 600;
    letter-spacing: .1em;
  }

  .txt-ja {
    margin-top: 2px;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .1em;
  }

  &.ttl-bdr {
    &::before {
      content: "";
      display: block;
      position: absolute;
      top: 13px;
      left: 0;
      width: 100%;
      height: 1px;
      background: var( --cl-br );
    }

    .txt-en {
      position: relative;
      padding: 0 20px;
      background: #fff;
    }
  }
}

.fs-13 { font-size: 1.3rem; }
.fs-14 { font-size: 1.4rem; }
.fs-22 { font-size: 2.2rem; }
.fs-24 { font-size: 2.4rem; }
.fs-26 { font-size: 2.6rem; }
.fs-34 { font-size: 3.0rem; }
.fs-30 { font-size: 3.0rem; }

.block-btn-bdr,
.block-btn-bg {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 8px;
  width: 100%;
  height: 50px;
  line-height: 1.35;
  letter-spacing: .1em;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.6rem;
  color: var( --col_Gold );

  &::after {
    background-color: currentColor !important;
  }
}

.block-btn-bg {
  background: currentColor;
  color: #fff;
}

/*---- ヘッダー ----*/
.block-header-logo {
  position: absolute;
  top: 3px;
  left: calc(50% - 22px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;

  &::after {
    content: "";
    display: block;
    height: 100%;
    width: 24px;
    position: absolute;
    top: 0;
    left: calc(100% + 4px);
    background: var( --col_MypreBlue );
    mask-position: 0 1px;
    mask-size: 24px;
    mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml;charset=utf8,%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278.235%22%20height%3D%2261.57%22%20viewBox%3D%220%200%2078.235%2061.57%22%3E%3Cg%20transform%3D%22translate(-0.005)%22%3E%3Cpath%20d%3D%22M14.69%2C43.13C5.66%2C43.13.9%2C36.3.9%2C27.57A26.515%2C26.515%2C0%2C0%2C1%2C9.01%2C8.6C15.18%2C2.56%2C23.42.49%2C27.75%2C0a1.346%2C1.346%2C0%2C0%2C1%2C.24%2C1.65c-3.9%2C1.34-9.33%2C3.36-13.24%2C7.63C10.11%2C14.34%2C8.41%2C21.3%2C8.28%2C26.67%2C8.1%2C34.23%2C10.6%2C40.7%2C15.42%2C40.7c4.09%2C0%2C5.73-3.78%2C5.73-7.75%2C0-5.92-2.56-11.1-7.02-11.1a5.041%2C5.041%2C0%2C0%2C0-2.01.37A.926.926%2C0%2C0%2C1%2C11.69%2C21a10.012%2C10.012%2C0%2C0%2C1%2C6.47-2.32c5.79%2C0%2C9.88%2C4.76%2C9.7%2C11.59-.18%2C7.69-5.61%2C12.87-13.18%2C12.87Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M57.09%2C23.18c0%2C9.58-3.72%2C19.95-13.12%2C19.95S30.85%2C32.76%2C30.85%2C23.18%2C34.57%2C3.23%2C43.97%2C3.23%2C57.09%2C13.97%2C57.09%2C23.18Zm-19.04%2C0c0%2C5.73.61%2C17.51%2C5.92%2C17.51s5.92-11.77%2C5.92-17.51S49.28%2C5.67%2C43.97%2C5.67s-5.92%2C11.77-5.92%2C17.51Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M2.56%2C58.69c-.29%2C0-.28%2C0-.37.3l-.44%2C1.32c-.22.65-.08.67.33.74l.32.05a.232.232%2C0%2C0%2C1-.02.32c-.35-.02-.77-.02-1.22-.03-.36%2C0-.7.01-1.09.03a.24.24%2C0%2C0%2C1-.01-.32l.33-.05c.32-.06.44-.14.61-.51.13-.29.31-.75.54-1.34l1.51-3.92a2%2C2%2C0%2C0%2C0%2C.21-.8%2C1.9%2C1.9%2C0%2C0%2C0%2C.77-.53.22.22%2C0%2C0%2C1%2C.19.09c.18.5.32%2C1.01.49%2C1.51l1.58%2C4.61c.25.74.31.8.87.91l.17.03a.233.233%2C0%2C0%2C1%2C.01.32c-.45-.02-.86-.03-1.43-.03-.47%2C0-.96.02-1.34.03a.244.244%2C0%2C0%2C1-.03-.32l.24-.03c.4-.05.45-.12.29-.58l-.52-1.5c-.1-.3-.14-.3-.45-.3H2.58Zm1.38-.5c.31%2C0%2C.35-.02.26-.29l-.46-1.32a6.961%2C6.961%2C0%2C0%2C0-.32-.91H3.4c-.04.08-.15.4-.34.91l-.5%2C1.29c-.11.32-.09.32.18.32Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M14.8%2C59.51c0%2C.33%2C0%2C1.63.03%2C1.88a.483.483%2C0%2C0%2C1-.42.15c-.18-.23-.45-.55-1.24-1.45L10.6%2C57.15c-.7-.81-1.07-1.22-1.25-1.39-.03%2C0-.03.12-.03.7v2.15a6.6%2C6.6%2C0%2C0%2C0%2C.2%2C2.17.708.708%2C0%2C0%2C0%2C.56.28l.24.03c.1.08.09.29-.02.32-.41-.02-.84-.03-1.25-.03-.46%2C0-.76.01-1.14.03a.223.223%2C0%2C0%2C1-.02-.32l.24-.05c.21-.04.41-.08.48-.25a8.81%2C8.81%2C0%2C0%2C0%2C.14-2.17V56.01c0-.86.01-1.03-.36-1.35a1.7%2C1.7%2C0%2C0%2C0-.58-.22l-.16-.03c-.08-.07-.07-.29.04-.32.42.04%2C1.02.03%2C1.3.03.23%2C0%2C.5-.01.76-.03a15.392%2C15.392%2C0%2C0%2C0%2C1.77%2C2.28l1.1%2C1.19c.46.51%2C1.48%2C1.67%2C1.59%2C1.74.03-.03.03-.09.03-.26V56.89a6.284%2C6.284%2C0%2C0%2C0-.21-2.17.687.687%2C0%2C0%2C0-.55-.28l-.25-.03c-.1-.08-.09-.29.02-.32.43.02.84.03%2C1.27.03.47%2C0%2C.76-.01%2C1.15-.03a.223.223%2C0%2C0%2C1%2C.02.32l-.25.05c-.21.04-.4.08-.47.25a8.237%2C8.237%2C0%2C0%2C0-.15%2C2.17v2.63Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M23.61%2C59.51c0%2C.33%2C0%2C1.63.03%2C1.88a.483.483%2C0%2C0%2C1-.42.15c-.18-.23-.45-.55-1.24-1.45l-2.57-2.94c-.7-.81-1.07-1.22-1.25-1.39-.03%2C0-.03.12-.03.7v2.15a6.6%2C6.6%2C0%2C0%2C0%2C.2%2C2.17.708.708%2C0%2C0%2C0%2C.56.28l.24.03c.1.08.09.29-.02.32-.41-.02-.84-.03-1.25-.03-.46%2C0-.76.01-1.14.03a.223.223%2C0%2C0%2C1-.02-.32l.24-.05c.21-.04.41-.08.48-.25a8.81%2C8.81%2C0%2C0%2C0%2C.14-2.17V56.01c0-.86.01-1.03-.36-1.35a1.7%2C1.7%2C0%2C0%2C0-.58-.22l-.16-.03c-.08-.07-.07-.29.04-.32.42.04%2C1.02.03%2C1.3.03.23%2C0%2C.5-.01.76-.03a15.392%2C15.392%2C0%2C0%2C0%2C1.77%2C2.28l1.1%2C1.19c.46.51%2C1.48%2C1.67%2C1.59%2C1.74.03-.03.03-.09.03-.26V56.89a6.284%2C6.284%2C0%2C0%2C0-.21-2.17.687.687%2C0%2C0%2C0-.55-.28l-.25-.03c-.1-.08-.09-.29.02-.32.43.02.84.03%2C1.27.03.47%2C0%2C.76-.01%2C1.15-.03a.223.223%2C0%2C0%2C1%2C.02.32l-.25.05c-.21.04-.4.08-.47.25a8.237%2C8.237%2C0%2C0%2C0-.15%2C2.17v2.63Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M27.63%2C59.8c0%2C1.17.1%2C1.2.62%2C1.27l.24.03a.232.232%2C0%2C0%2C1-.02.32c-.48-.02-.98-.03-1.46-.03s-1%2C.01-1.49.03c-.09-.04-.1-.24-.02-.32l.24-.03c.52-.07.62-.1.62-1.27V55.71c0-1.17-.1-1.2-.62-1.27l-.24-.03c-.08-.08-.07-.28.02-.32.48.02.98.03%2C1.49.03s.98-.01%2C1.46-.03c.09.04.1.24.02.32l-.24.03c-.52.07-.62.1-.62%2C1.27V59.8Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M34.1%2C58.65c-.45%2C1-.96%2C2.29-1.14%2C2.85a.284.284%2C0%2C0%2C1-.19.06.37.37%2C0%2C0%2C1-.21-.06%2C13.123%2C13.123%2C0%2C0%2C0-.51-1.44l-1.93-4.63c-.31-.74-.41-.89-.85-.98l-.26-.05c-.08-.08-.08-.28.03-.31.43.02.9.03%2C1.33.03.5%2C0%2C.87-.01%2C1.45-.03a.208.208%2C0%2C0%2C1%2C.01.32l-.28.07c-.24.05-.33.11-.33.2a8.46%2C8.46%2C0%2C0%2C0%2C.54%2C1.46l.79%2C1.96c.2.5.52%2C1.19.63%2C1.44.59-1.39%2C1.32-2.95%2C1.9-4.45.18-.44.1-.53-.23-.6l-.41-.08a.232.232%2C0%2C0%2C1%2C.02-.32c.45.02.87.03%2C1.22.03.4%2C0%2C.76-.01%2C1.07-.03.09.05.08.23.02.32l-.27.05a.911.911%2C0%2C0%2C0-.68.45c-.31.53-.62%2C1.27-1.12%2C2.38l-.62%2C1.36Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M37.84%2C55.71c0-1.17-.1-1.21-.62-1.28l-.18-.02c-.08-.08-.07-.28.02-.32.42.02.94.03%2C1.42.03h2.1c.7%2C0%2C1.34-.01%2C1.49-.03.04.19.11%2C1.06.18%2C1.53-.04.09-.26.11-.35.04-.18-.64-.34-.9-.69-1a3.487%2C3.487%2C0%2C0%2C0-.88-.1h-.74c-.47%2C0-.47.02-.47.65v1.86c0%2C.29.01.3.26.3h.53c.96%2C0%2C1.12%2C0%2C1.22-.48l.08-.37c.09-.08.3-.08.35.01-.01.3-.03.69-.03%2C1.1s.02.8.03%2C1.15c-.05.08-.26.08-.35.01l-.08-.44c-.08-.46-.26-.48-1.22-.48h-.53c-.25%2C0-.26.02-.26.3v1.4c0%2C.56.02.96.19%2C1.14.13.15.32.23%2C1.24.24%2C1.4.01%2C1.64-.3%2C2.02-1.19a.255.255%2C0%2C0%2C1%2C.35.07%2C7.353%2C7.353%2C0%2C0%2C1-.46%2C1.59c-.48-.02-1.43-.03-2.72-.03H38.49c-.48%2C0-1.16.01-1.65.03-.09-.04-.1-.24-.02-.32l.41-.04c.52-.05.62-.09.62-1.25V55.72Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M44.44%2C55.77c0-1.06-.01-1.19-.53-1.24l-.29-.03a.22.22%2C0%2C0%2C1%2C.01-.31c.69-.07%2C1.63-.1%2C2.53-.1a4.548%2C4.548%2C0%2C0%2C1%2C2.09.37%2C1.731%2C1.731%2C0%2C0%2C1%2C.97%2C1.61%2C1.906%2C1.906%2C0%2C0%2C1-1.32%2C1.74c-.07.03-.04.12%2C0%2C.19a12.526%2C12.526%2C0%2C0%2C0%2C1.95%2C2.85%2C1.44%2C1.44%2C0%2C0%2C0%2C.76.34.215.215%2C0%2C0%2C1%2C.02.22%2C3.066%2C3.066%2C0%2C0%2C1-.73.07%2C2.5%2C2.5%2C0%2C0%2C1-2.3-1.45c-.3-.46-.61-1.07-.87-1.5a.621.621%2C0%2C0%2C0-.68-.38c-.33%2C0-.34.01-.34.24V59.8c0%2C1.17.1%2C1.2.62%2C1.27l.24.03a.232.232%2C0%2C0%2C1-.02.32c-.48-.02-.98-.03-1.46-.03s-.98.01-1.49.03a.214.214%2C0%2C0%2C1-.02-.32l.24-.03c.52-.07.62-.1.62-1.27Zm1.27%2C1.59c0%2C.35%2C0%2C.37.53.37a1.377%2C1.377%2C0%2C0%2C0%2C1.57-1.57%2C1.521%2C1.521%2C0%2C0%2C0-1.52-1.63c-.57%2C0-.58.03-.58.54v2.29Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M51.3%2C61.1a3.25%2C3.25%2C0%2C0%2C1-.33-1.67.24.24%2C0%2C0%2C1%2C.34-.04c.2.56.79%2C1.74%2C1.87%2C1.74a1.173%2C1.173%2C0%2C0%2C0%2C1.31-1.18%2C1.762%2C1.762%2C0%2C0%2C0-1.12-1.59l-.47-.26a2.523%2C2.523%2C0%2C0%2C1-1.55-2.12c0-1.09.81-2.01%2C2.42-2.01a7.328%2C7.328%2C0%2C0%2C1%2C1.51.23%2C4.631%2C4.631%2C0%2C0%2C1%2C.23%2C1.48c-.05.1-.25.11-.35.03a1.57%2C1.57%2C0%2C0%2C0-1.49-1.31%2C1.116%2C1.116%2C0%2C0%2C0-1.24%2C1.15%2C1.631%2C1.631%2C0%2C0%2C0%2C1.04%2C1.34l.68.36a2.512%2C2.512%2C0%2C0%2C1%2C1.51%2C2.17c0%2C1.25-.96%2C2.15-2.55%2C2.15a3.336%2C3.336%2C0%2C0%2C1-1.8-.46Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M58.56%2C58.69c-.29%2C0-.28%2C0-.37.3l-.44%2C1.32c-.22.65-.08.67.33.74l.32.05a.232.232%2C0%2C0%2C1-.02.32c-.35-.02-.77-.02-1.22-.03-.36%2C0-.7.01-1.09.03a.24.24%2C0%2C0%2C1-.01-.32l.33-.05c.32-.06.44-.14.61-.51.13-.29.31-.75.54-1.34l1.51-3.92a2%2C2%2C0%2C0%2C0%2C.21-.8%2C1.9%2C1.9%2C0%2C0%2C0%2C.77-.53.22.22%2C0%2C0%2C1%2C.19.09c.18.5.32%2C1.01.5%2C1.51l1.58%2C4.61c.25.74.31.8.87.91l.17.03a.233.233%2C0%2C0%2C1%2C.01.32c-.45-.02-.86-.03-1.43-.03-.47%2C0-.96.02-1.34.03a.244.244%2C0%2C0%2C1-.03-.32l.24-.03c.4-.05.45-.12.29-.58l-.52-1.5c-.1-.3-.14-.3-.45-.3H58.59Zm1.38-.5c.31%2C0%2C.35-.02.26-.29l-.46-1.32a6.961%2C6.961%2C0%2C0%2C0-.32-.91H59.4c-.04.08-.15.4-.34.91l-.5%2C1.29c-.11.32-.09.32.18.32Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M64.76%2C55.77c0-1.06-.01-1.19-.53-1.24l-.29-.03a.22.22%2C0%2C0%2C1%2C.01-.31c.69-.07%2C1.63-.1%2C2.53-.1a4.548%2C4.548%2C0%2C0%2C1%2C2.09.37%2C1.731%2C1.731%2C0%2C0%2C1%2C.97%2C1.61%2C1.906%2C1.906%2C0%2C0%2C1-1.32%2C1.74c-.07.03-.04.12%2C0%2C.19a12.526%2C12.526%2C0%2C0%2C0%2C1.95%2C2.85%2C1.44%2C1.44%2C0%2C0%2C0%2C.76.34.215.215%2C0%2C0%2C1%2C.02.22%2C3.066%2C3.066%2C0%2C0%2C1-.73.07%2C2.5%2C2.5%2C0%2C0%2C1-2.3-1.45c-.3-.46-.6-1.07-.87-1.5a.621.621%2C0%2C0%2C0-.68-.38c-.33%2C0-.34.01-.34.24V59.8c0%2C1.17.1%2C1.2.62%2C1.27l.24.03a.232.232%2C0%2C0%2C1-.02.32c-.48-.02-.98-.03-1.46-.03s-.98.01-1.49.03a.214.214%2C0%2C0%2C1-.02-.32l.24-.03c.52-.07.62-.1.62-1.27V55.77Zm1.27%2C1.59c0%2C.35%2C0%2C.37.53.37a1.377%2C1.377%2C0%2C0%2C0%2C1.57-1.57%2C1.521%2C1.521%2C0%2C0%2C0-1.52-1.63c-.57%2C0-.58.03-.58.54Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M73.53%2C59.15a2.29%2C2.29%2C0%2C0%2C0-.35-1.37l-1.32-2.61c-.24-.47-.33-.59-.83-.7l-.29-.07c-.07-.08-.04-.29.04-.32.47.02.93.03%2C1.39.03.48%2C0%2C1.16-.01%2C1.41-.03a.222.222%2C0%2C0%2C1%2C.02.32l-.33.05c-.18.03-.23.06-.23.14a1.529%2C1.529%2C0%2C0%2C0%2C.2.57c.43.95.85%2C1.84%2C1.29%2C2.64.45-.78.91-1.61%2C1.34-2.43a2.4%2C2.4%2C0%2C0%2C0%2C.3-.74c0-.11-.1-.14-.25-.17l-.4-.08a.216.216%2C0%2C0%2C1%2C.03-.32c.48.02.83.03%2C1.16.03s.69-.01%2C1.04-.03c.1.05.1.23.02.32l-.32.07c-.5.1-.63.3-1.2%2C1.26-.37.63-.7%2C1.23-1.04%2C1.85a2.412%2C2.412%2C0%2C0%2C0-.41%2C1.55v.66c0%2C1.17.1%2C1.2.64%2C1.25l.42.04a.232.232%2C0%2C0%2C1-.02.32c-.68-.02-1.18-.03-1.66-.03s-1%2C.01-1.6.03c-.09-.04-.1-.24-.02-.32l.35-.04c.52-.07.62-.09.62-1.25v-.65Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M61.52%2C41.11a2.92%2C2.92%2C0%2C0%2C1-.68-2.09V33.7a.263.263%2C0%2C0%2C0-.16-.26%2C1.494%2C1.494%2C0%2C0%2C0-.57-.08h-.18a.269.269%2C0%2C0%2C1-.23-.18.86.86%2C0%2C0%2C1-.09-.39.216.216%2C0%2C0%2C1%2C.06-.14.257.257%2C0%2C0%2C1%2C.1-.09%2C9.111%2C9.111%2C0%2C0%2C0%2C1.33-.94%2C12.853%2C12.853%2C0%2C0%2C0%2C1.17-1.08%2C2.117%2C2.117%2C0%2C0%2C0%2C.16-.16.422.422%2C0%2C0%2C1%2C.3-.14c.23%2C0%2C.34.11.32.34l-.14%2C1.12v.09a.3.3%2C0%2C0%2C0%2C.14.29.787.787%2C0%2C0%2C0%2C.41.08h2.66a.37.37%2C0%2C0%2C1%2C.14.16.741.741%2C0%2C0%2C1%2C.07.32%2C1.507%2C1.507%2C0%2C0%2C1-.07.48c-.05.15-.1.23-.16.23H63.88a1.706%2C1.706%2C0%2C0%2C0-.75.11c-.11.08-.17.25-.17.53v4.45a2.436%2C2.436%2C0%2C0%2C0%2C.39%2C1.48%2C1.29%2C1.29%2C0%2C0%2C0%2C1.1.52%2C4.012%2C4.012%2C0%2C0%2C0%2C.95-.09%2C2.281%2C2.281%2C0%2C0%2C0%2C.68-.3l.12-.04c.12%2C0%2C.18.12.18.37%2C0%2C.11-.15.28-.45.52a4.838%2C4.838%2C0%2C0%2C1-1.11.64%2C3.381%2C3.381%2C0%2C0%2C1-1.35.29%2C2.568%2C2.568%2C0%2C0%2C1-1.94-.71Z%22%20fill%3D%22%2300467f%22%2F%3E%3Cpath%20d%3D%22M66.96%2C41.29a.28.28%2C0%2C0%2C1%2C.12-.23%2C1.348%2C1.348%2C0%2C0%2C1%2C.41-.18%2C2.448%2C2.448%2C0%2C0%2C0%2C.7-.31.7.7%2C0%2C0%2C0%2C.24-.61V28.66a2.572%2C2.572%2C0%2C0%2C0-.21-1.12.974.974%2C0%2C0%2C0-.76-.53c-.14-.03-.21-.14-.21-.34a.293.293%2C0%2C0%2C1%2C.18-.3%2C14.01%2C14.01%2C0%2C0%2C0%2C1.41-.44c.56-.2%2C1.05-.38%2C1.48-.55a.68.68%2C0%2C0%2C1%2C.21-.04q.18%2C0%2C.18.21a6.1%2C6.1%2C0%2C0%2C1-.09.65%2C13.566%2C13.566%2C0%2C0%2C0-.09%2C1.91v4.45a1.722%2C1.722%2C0%2C0%2C0%2C.14.78%2C10.451%2C10.451%2C0%2C0%2C1%2C1.64-1.04%2C3.97%2C3.97%2C0%2C0%2C1%2C1.8-.42%2C2.467%2C2.467%2C0%2C0%2C1%2C1.94.88%2C3.364%2C3.364%2C0%2C0%2C1%2C.77%2C2.28v4.88a.771.771%2C0%2C0%2C0%2C.24.62%2C1.877%2C1.877%2C0%2C0%2C0%2C.68.34%2C1.439%2C1.439%2C0%2C0%2C1%2C.39.18.27.27%2C0%2C0%2C1%2C.11.23c0%2C.18-.16.28-.48.28a6.034%2C6.034%2C0%2C0%2C1-1.05-.07c-.34-.03-.64-.05-.92-.05s-.58.02-.92.05a5.5%2C5.5%2C0%2C0%2C1-1.03.07c-.32%2C0-.48-.09-.48-.28a.262.262%2C0%2C0%2C1%2C.12-.24%2C1.91%2C1.91%2C0%2C0%2C1%2C.39-.17%2C1.913%2C1.913%2C0%2C0%2C0%2C.64-.34.832.832%2C0%2C0%2C0%2C.23-.64V35.27a1.812%2C1.812%2C0%2C0%2C0-.61-1.36%2C1.837%2C1.837%2C0%2C0%2C0-1.29-.58%2C3.631%2C3.631%2C0%2C0%2C0-.96.13%2C2.125%2C2.125%2C0%2C0%2C0-.83.38%2C1.154%2C1.154%2C0%2C0%2C0-.4.5%2C2.535%2C2.535%2C0%2C0%2C0-.1.85v4.79a.81.81%2C0%2C0%2C0%2C.23.6%2C1.625%2C1.625%2C0%2C0%2C0%2C.62.32c.34.11.5.24.5.41s-.15.28-.46.28a6.034%2C6.034%2C0%2C0%2C1-1.05-.07c-.37-.03-.67-.05-.92-.05s-.57.02-.94.05a7.267%2C7.267%2C0%2C0%2C1-1.1.07c-.31%2C0-.46-.09-.46-.28Z%22%20fill%3D%22%2300467f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  }

  div,
  a {
    display: flex;
    padding: 6px;
    background: var( --col_MypreBlue );

    > svg {
      width: 32px !important;
      fill: #fff;
    }
  }

  img {
    display: block;
  }
}

.block-headernav--item-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 1px;

  li {
    min-width: 48px;
    height: 48px;
    font-size: .9rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: -.05rem;

    svg {
      fill: none;
      stroke: var( --col_MypreBlue );
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.5px;
    }

    &:first-of-type {
      margin-left: 50px;
    }

    &.block-user-btn {
      order: 2;
    }

    &.block-logout-btn {
      order: 2;
      margin: 0 auto 0 0;

      span {
        color: var( --cl-dn );
      }
    }

    &.block-cart-btn {
      order: 3;
      margin-left: 8px;

      &.disabled {
        pointer-events: none;
        --col_MypreBlue: #ccc;
      }
    }

    a {
      display: flex;
      position: relative;
      min-width: 48px;
      height: 100%;
      color: transparent;
      background-position: center;
      background-repeat: no-repeat;
      text-decoration: none;
      align-items: center;
      justify-content: center;
      flex-direction: column;

      svg {
        width: 28px;
        height: 28px;
        top: -4px;
        position: relative;

        .block-logout-btn & {
          stroke: var( --cl-dn );
        }
      }
    }
  }
}

.block-menu-btn > span,
.block-headernav--item-list a svg + span {
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 5px;
  text-align: center;
  line-height: 1;
  letter-spacing: -.05em;
  font-weight: 600;
  font-size: .8rem;
  color: var( --col_MypreBlue );
  transition: .2s;
}

.block-headernav--cart-count {
  display: none;
  position: absolute;
  top: 3px;
  right: 3px;
  width: 16px;
  height: 16px;
  border-radius: 24px;
  background: var( --cl-dn );
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 16px;
  z-index: 2;

  span {
    display: none;
  }
}

.block-headernav--item-list li.block-indic-login {
  position: absolute;
  display: block;
  inset: auto auto auto 48px;
  height: 20px;
  opacity: .9;

  sup {
    display: flex;
    align-items: center;
    border: 1px solid currentColor;
    height: 100%;
    padding: 0 6px 0 4px;
    letter-spacing: -.1em;
    white-space: nowrap;
    line-height: 1;
    font-size: 1.2rem;
    color: var( --col_MypreBlue );
    background: #ffffffcc;
    backdrop-filter: blur(10px);
  }
}

.block-menu-btn {
  order: 0;
  margin-right: auto;
  position: relative;

  &.disabled {
    --col_MypreBlue: #ccc;
    pointer-events: none;
  }

  div {
    position: relative;
    top: -4px;
    width: 16px;
    height: 38px;

    > span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      border-radius: 1px;
      background: var( --col_MypreBlue );
      transition: .15s;

      &:nth-of-type(1) {
        top: 12px;
      }
      &:nth-of-type(2) {
        top: calc(50% - 1px);
      }
      &:nth-of-type(3) {
        bottom: 12px;
      }
    }
  }

  &.active div > span {
    &:nth-of-type(1) {
      transform: translateY(7px) rotate(45deg);
    }
    &:nth-of-type(2) {
      opacity: 0;
    }
    &:nth-of-type(3) {
      transform: translateY(-5px) rotate(135deg);
    }
  }

  > span.menu-close,
  &.active > span.menu-label { opacity: 0; }

  > span.menu-label,
  &.active > span.menu-close { opacity: 1; }
}

.block-header-menu {
  display: none;
  padding-top: 56px;
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  height: calc(100dvh - 50px);
  background-color: rgba(0 0 0 /.15);
  backdrop-filter: blur(80px);
  z-index: 100;
  overscroll-behavior-y: contain;

  .block-header-menu-inner {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;

    .block-header-menu-list {
      padding: 84px 0 0;
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    div:has(> .block-header-banner-list) {
      flex-grow: 1;
      --col_theme: #666;
      background-color: rgb(0 0 0 /.25);
      box-shadow: inset 0 0px 20px rgb(0 0 0 /.2);
    }
  }
}

.block-header-menu-list--user {
  display: none;
  position: fixed;
  width: 100%;
  top: 50px;
  padding: 9px 12px 12px;
  background: var( --col_Background );
  z-index: 110;
  align-items: center;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 0 15px #00000020;

  .inner {
    display: flex;
    height: 100%;
    width: 100%;
    gap: 12px;
    align-content: stretch;

    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 12px 8px;
      justify-content: space-between;
      width: 100%;

      li {
        box-sizing: border-box;
        flex-basis: calc((100% - 16px) /3);
        height: 36px;

        svg {
          fill: none;
          stroke: var( --col_MypreBlue );
          stroke-linecap: round;
          stroke-linejoin: round;
          stroke-width: 1.5px;
        }

        &:has(.icon-user),
        &:has(.icon-regist) {
          display: flex;
          border: 1px solid var( --col_MypreBlue );
          border-radius: 5px;
          height: 44px;
          overflow: hidden;
          flex-basis: 100%;

          .icon-logout {
            color: var( --cl-dn );
            svg {
              stroke: currentColor;
            }
          }

          a {
            border-radius: 0;
            background: var( --col_Background );

            &.icon-regist {
              white-space: nowrap;
              text-decoration: none;
              line-height: 0;
              font-weight: 600;
              color: var( --col_MypreBlue ) !important;
            }

            &:first-child {
              border-right: 1px solid currentColor;
              font-size: 1.4rem;
            }

            span {
              font-size: 1.4rem;
            }
          }
        }

        a {
          display: flex;
          border-radius: 4px;
          position: relative;
          min-width: 56px;
          height: 100%;
          width: 100%;
          padding: 4px;
          flex-direction: row;
          justify-content: center;
          align-items: center;
          text-decoration: none;
          letter-spacing: .1em;
          color: var( --col_MypreBlue );
          background: var( --col_paleGray );
          transition: .2s;

          &:hover {
            opacity: .7;
          }

          svg {
            position: relative;
            left: -3px;
            width: 24px;
            height: 28px;
            flex-shrink: 0;

            & + span {
              display: block;
              margin-top: 2px;
              text-align: left;
              line-height: 1;
              font-feature-settings: "palt";
              font-weight: 600;
              font-size: 1.1rem;
              letter-spacing: -.01em;
            }
          }
        }
      }
    }
  }

  a {
    &.header-menu-login {
      font-weight: 600;
      border-radius: 8px;
      color: #fff;
      background: var( --col_Gold );
    }

    &.header-menu-regist {
      border: 1px solid var( --col_MypreBlue );
      background: #fff;
    }
  }
}

.block-header-menu-list--nav {
  --bgc: #000;
  position: relative;
  margin-top: -16px;
  padding: 0 12px 16px 8px;
  background: var( --bgc );
  box-shadow: 0 -3px 2px rgb(0 0 0 /.06);
  transition: .1s;

  &:has(.new) .block-header-menu-list--nav-ttl-txt span::after {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% - 5px);
    right: 0;
    width: 12px;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    background: var( --cl-dn );
  }

  &:has(.is-open) {
    padding-bottom: 36px;
    border-radius: 8px 8px 0 0 !important;
  }

  &:has(.block-header-menu-list--nav-ttl-plus) {
    padding-left: 12px;
  }
  /*-- ハンバーガー お祝い・お礼 --*/
  &.nav-greeting {
    --bgc: var( --col_ScGift );
  }
  /*-- ハンバーガー 出産祝い --*/
  &.nav-babygift {
    --bgc: var( --col_ScBabygift );
  }
  /*-- ハンバーガー 結婚引出物--*/
  &.nav-bridal {
    --bgc: var( --col_ScBridal );
  }
  /*-- ハンバーガー 結婚内祝い --*/
  &.nav-uchiiwai {
    --bgc: var( --col_ScBridal );
  }
  /*-- ハンバーガー ご供花・ご香典のお返し --*/
  &.nav-memorial {
    --bgc: var( --col_ScMemorial );
  }
  /*-- ハンバーガー 法人ギフト --*/
  &.nav-corpgift {
    --bgc: var( --col_ScCorpgift );
    padding-bottom: 0;

    ul {
      margin-bottom: 20px;
    }
  }

  a {
    align-items: center;

    .block-header-menu-list--nav-content {
      flex-shrink: 0;
      margin: 0 0 0 auto;
    }

    &.sub-link {
      line-height: 1;
      font-size: 1.2rem;
      color: #fff;
      opacity: .75;
      text-decoration: none;
    }
  }
}

.block-header-menu-list--nav-ttl {
  flex-shrink: 0;;
  display: flex;
  justify-content: space-between;
  position: relative;
  height: 56px;
  color: #fff;
  cursor: pointer;
  align-items: center;
}

.block-header-menu-list--nav-ttl-txt {
  display: flex;
  gap: 4px;
  text-decoration: none;
  color: #fff;
  z-index: +1;

  .is-open & {
    font-weight: 600;
  }

  &::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: #fff;
    mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxOCIgY3k9IjE4IiByPSIxNyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHBhdGggZD0iTTE2IDI0TDIyIDE4TDE2IDEyIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=") no-repeat 0 0 / cover;
  }

  span {
    font-size: 1.6rem;
    letter-spacing: .1em;
  }
}

.block-header-menu-list--nav-ttl-plus {
  position: relative;
  right: 0;
  width: 16px;
  height: 16px;
  background: #fff;

  .is-open & {
    box-shadow: 0 0 5px #0000000c;
    transition: .7s;
  }

  &::before,
  &::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 2px;
    margin-top: -1px;
    margin-left: -4px;
    background: var( --bgc );
  }
  &::after {
    transform: rotate(90deg);
    transition: .15s;
  }
  .is-open &::after {
    transform: rotate(180deg);
  }
}

.js-gnav-target,
.js-menu-target {
  display: none;
}

.block-gnav-list {
  transition: .7s;

  ul {
    display: flex;
    flex-direction: column;
    gap: 4px;

    li {
      border-radius: 4px;
      box-shadow: 0 0 5px #00000010;
      background: #fff;
      overflow: hidden;

      &.gn_none {
        position: relative;

        &::after {
          content: "NEW";
          position: absolute;
          top: 0;
          left: 0;
          display: flex;
          align-items: center;
          border-radius: 0 0 0 2px;
          padding: 0 8px;
          color: #fff;
          font-size: 1.4rem;
          background: var( --cl-dn );
        }
      }
      &.renewal::after {
        content: "RENEWAL";
      }

      a {
        display: flex;
        align-items: center;
        position: relative;
        min-height: 48px;
        padding: 0 28px 0 0;
        text-decoration: none;
        letter-spacing: .05em;

        figure {
          display: flex;
          flex-shrink: 0;
          align-items: center;
          justify-content: center;
          width: 96px;
          aspect-ratio: 3 / 2;
          margin-right: 8px;
          padding: 0;
          overflow: hidden;

          img {
            display: block;
            max-height: 100%;
            height: 100%;
            object-fit: cover;
          }
        }

        p {
          word-break: auto-phrase;
          font-weight: 600;
          font-size: 1.45rem;
          line-height: 1.3;

          small {
            display: block;
            margin-bottom: 4px;
            font-weight: normal;
            font-size: 1.1rem;
            color: #999;
          }
        }

        &::after {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          right: 10px;
          width: 5px;
          height: 9px;
          margin-top: -4px;
          background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1LjA2MSIgaGVpZ2h0PSI4LjcwNyI+PHBhdGggZD0ibS4zNTQuMzU0IDQgNC00IDQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ2NDc0OCIvPjwvc3ZnPg==");
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
        }
      }
    }
  }
}

/*---- バナーリスト ----*/
.block-header-banner-list {
  margin: 0;
  padding: 32px;
  display: flex;
  gap: 16px;
  flex-direction: column;

  li {
      padding: 0;

    a {
      display: flex;
      justify-content: flex-start;
      align-items: stretch;
      flex-wrap: wrap;
      align-content: center;
      height: 64px;
      text-decoration: none;
      background: right top / 80%  no-repeat;
      overflow: hidden;

      .btn-column-li & {
        background-image: url("/img/usr/common/column_bg.webp");
      }
      .btn-message-li & {
        background: url("/img/usr/common/message_bg.webp") right center / 50% no-repeat;
      }
      .btn-eGift-li & {
        background: #f8f6f4 url("/img/usr/common/eGIft_bg.webp") no-repeat 100% 10% / 30% auto;
      }

      .btn-a-txt {
        display: flex;
        width: calc(70% + 25px);
        padding: 5px 50px 5px 16px;
        height: 100%;
        background: var( --col_theme );
        background: linear-gradient(135deg, var( --col_theme ) 0%, var( --col_theme ) 75%, transparent 75% );
        flex-wrap: wrap;
        align-items: center;
        align-content: center;

        small {
          color: #fff;
          font-weight: 600;
          font-size: 1.4rem;
          text-shadow: 0 0 2px #00000085;
          word-break: keep-all;
        }
        span {
          color: #fff;
          font-family: var( --ff-sans_serif );
          font-weight: 600;
          font-size: 1.8rem;
          line-height: 1.3;
          text-decoration: none;
          letter-spacing: .05em;
          text-shadow: 0 0 2px #00000085;
        }

        .btn-column-li & { --col_theme: #9e7951; }
        .btn-message-li & { --col_theme: #7cb0c3; }
        .btn-eGift-li & { background: linear-gradient(135deg, #43c7e3 0%, #11c2a3 75%, transparent 75%, transparent 100%); }
      }
    }
  }
}

/*---- ページトップに戻る ----*/
.block-page-top {
  position: fixed;
  bottom: 4px;
  right: 4px;
  height: 48px;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  overflow: hidden;
  transform-origin: 100% 100%;
  background-color: rgb(0 0 0 /.6);
  border-radius: 8px;
  backdrop-filter: blur(6px) contrast(10);
  z-index: 85;

  a {
    display: block;
    height: 100%;
    -webkit-backdrop-filter: blur(6px) contrast(10) brightness(20%);
      mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIwLjVweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTEuNSAxMi4zODgyTDggOC44ODgxOEw0LjUgMTIuMzg4MiIvPgo8cGF0aCBkPSJNNC41IDUuNUwxMS41IDUuNSIvPgo8cGF0aCBkPSJNNC41IDMuNUwxMS41IDMuNSIvPgo8L3N2Zz4=") no-repeat 50% 50% /40px;
      background-color: #fff;
  }
}

/*---- PC/スマホ切り替えスイッチ ----*/
.block-switcher {
  display: none;
}

/*---- Copyright ----*/
.block-copyright {
  padding: 10px 0;
  font-size: 1.2rem;
  text-align: center;
}

/*---- ブランド画面 ----*/
.block-brand-list--items {
  margin: 0 10px;
}

.block-brand-list--item {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px #00000028 solid;

  &:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}

.block-brand-list--item-img img {
  width: 100%;
  height: auto;
}

.block-brand-list--item-name {
  padding: 10px 0;
  text-decoration: underline;
}

.block-brand-list--item-comment {
  padding: 0 0 10px 0;
}

.block-brand-detail--image {
  margin: 0 10px;

  img {
    width: 100%;
    height: auto;
  }
}

.block-brand-detail {
  margin-bottom: 30px;

  h1 {
    padding: 15px 10px;
  }
}

.block-brand-detail--description {
  margin: 0 10px 10px 10px;
}

/*---- 商品詳細画面 ----*/
/* CSSによる商品詳細画面の項目の並び順変更用 */
.block-goods-comment5 {
  order: 5;
  margin-bottom: 15px;
}

.block-src-l {
  order: 10;
}

.block-src-c {
  order: 20;
}

.block-goods-gallery {
  order: 30;
}

.page-goods .block-icon {
  order: 55;
}

.block-goods-name {
  order: 0;
}

.block-goods-price {
  order: 55;
}

.block-goods-comment {
  order: 70;
}

.block-goods-comment1 {
  order: 80;
}

.block-goods-affix-list {
  order: 90;
}

.block-goods-code {
  order: 60;
}

.block-goods-item-code {
  order: 110;
}

.block-goods-item-code2 {
  order: 120;
}

.block-goods-item-code3 {
  order: 130;
}

.block-goods-release-dt {
  order: 140;
}

.block-goods-class1 {
  order: 150;
}

.block-goods-class2 {
  order: 160;
}

.block-goods-attr1 {
  order: 170;
}

.block-goods-attr2 {
  order: 180;
}

.block-goods-attr3 {
  order: 190;
}

.block-goods-point {
  order: 200;
}

.block-goods-postage {
  order: 65;
}

.block-goods-stock {
  order: 220;
}

.block-goods-spec {
  order: 230;
}

.block-goods-sales-detail-append {
  order: 240;
}

.block-variation {
  order: 75;
}
.block-no-stock {
  order: 78;
}
.block-custom-order {
  order: 260;
}

.block-goods-set {
  order: 265;
}

.block-add-cart {
  order: 78;
  z-index: 90;
}

.block-goods-favorite {
  order: 280;
}

.block-arrival-notice {
  order: 290;
}

.block-goods-store-stock {
  order: 310;
}

.block-variation-back-order {
  order: 320;
}

.block-contact-about-goods {
  order: 80;
  margin: 8px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*----  数量指定 ----*/
.item-detail-qty {
  order: 77;
}

.block-goods-sns {
  order: 350;
}

.block-goods-link {
  order: 360;
}

.block-goods-comment2 {
  order: 85;
  margin: 0 0 20px;
}

.block-goods-comment3 {
  order: 390;
  margin: 20px 0;
}

.block-goods-comment4 {
  order: 400;
  margin: 20px 0;
}

.block-rules-comment {
  order: 235;
}

/* カテゴリ */
.block-category-top {
  padding-bottom: 90px;
}

.block-category-top-header {
  margin-top: 14px;

  .header-ribon {
    display: flex;
    align-items: center;
    justify-content: center;

    span {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 40px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      font-size: 2rem;
      font-weight: 600;
      letter-spacing: .1em;
    }
  }

  .header-step {
    margin-top: 16px;
    font-size: 5rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .04em;
  }

  h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 8px 0 !important;
    padding: 0;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;

    .txt {
      font-size: 2.8rem;
      letter-spacing: .04em;

      strong {
        font-size: 4.2rem;
        font-weight: 600;
      }
    }

    .bdr {
      display: inline-block;
      margin: 10px 0 0 0;
      padding: 3px 5px;
      border: 1px solid #444;
      font-size: 2rem;
      font-weight: 600;
    }
  }
}

.block-category-top-comment {
  margin-top: 40px;
  padding: 0 16px;
  font-weight: 600;
  letter-spacing: .1em;

  p.main {
    font-size: 2rem;
    line-height: 1.5;
  }

  p.sub {
    margin-top: 8px;
    font-size: 1.6rem;
    line-height: 1.875;
  }
}

.block-category-top-mv {
  margin-top: 14px;
  padding: 0 16px;

  .block-category-top-story + & {
    margin-top: 40px;
  }

  li {
    & + & {
      margin-top: 10px;
    }

    img {
      display: block;
      width: 100%;
    }
  }

  p {
    margin-top: 40px;
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: .1em;
  }
}

.block-category-top-course {
  margin-top: 40px;
  padding: 0 16px;

  > ul > li + li {
    margin-top: 10px;
  }

  button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    margin: 0 auto;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .1em;
    cursor: pointer;
  }
}

.block-category-top-course-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: .3s;

  &.is-visible {
    opacity: 1;
    visibility: visible;
    z-index: 999;
  }
}

.block-category-top-course-modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 /.3);
}

.block-category-top-course-modal-inner {
  position: absolute;
  top: calc(50% + 25px);
  left: 50%;
  width: calc(100% - 32px);
  max-height: calc(100vh - 60px);
  padding: 10px 10px 10px 30px;
  background: #fff;
  transform: translate(-50%, -50%);
}

.block-category-top-course-modal-close {
  position: absolute;
  top: -50px;
  right: 0;
  width: 31px;
  height: 31px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMS40MTEiIGhlaWdodD0iMzEuMzM5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTS43MDcgMzAuNjMgMzAuNjMuNzA4TS43ODguNzEzbDI5LjkxNiAyOS45MTUiLz48L3N2Zz4=");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}

.block-category-top-course-modal-scroll {
  width: 100%;
  height: 100%;
  padding: 30px 0;
  overflow: auto;
  overscroll-behavior: contain;
}

.block-category-top-course-modal-body {
  padding-right: 20px;
}

.block-category-top-course-modal-content {
  & + & {
    margin-top: 40px;
  }

  .item-ttl {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .04em;

    strong {
      font-size: 3.6rem;
      font-weight: 600;
    }
  }

  .item-content-catalog {
    margin-top: 6px;

    li {
      margin-top: 10px;
      padding: 16px 20px;
      color: #fff;

      .content-2 & {
        background-color: #efb75f;
      }

      .content-3 & {
        background-color: #74cae0;
      }
    }

    .list-name_price {
      font-weight: 600;
      letter-spacing: .1em;
    }

    .list-name {
      font-size: 2rem;
    }

    .list-price {
      margin-top: -6px;
      font-size: 2rem;

      .yen {
        margin-right: 4px;
        font-size: 2.8rem;
      }

      .tax {
        font-size: 1.2rem;
      }
    }

    .list-price_detail {
      margin-top: 2px;
      font-size: 1.3rem;
      font-weight: normal;
      line-height: 1.538;
      letter-spacing: .04em;
    }

    .list-link {
      margin-top: 10px;

      a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 40px;
        background-color: rgb(255 255 255 /.2);
        color: #fff;
        font-size: 1.6rem;
        font-weight: 600;
        text-decoration: none;
        letter-spacing: .1em;
      }
    }
  }

  .item-content-thumbnail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 24px;

    li {
      width: calc((100% - 10px) /2);

      &:not(:nth-child(-n + 2)) {
        margin-top: 16px;
      }
    }

    .list-img img {
      display: block;
      width: 100%;
    }

    .list-name {
      margin-top: 8px;
      font-size: 1.2rem;
      text-align: center;
      letter-spacing: .1em;
    }
  }
}

.block-category-top-story {
  position: relative;
  margin-top: 67px;
  padding: 50px 16px 30px;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    left: 50%;
    width: 131px;
    height: 55px;
    margin-left: -65px;
    background-image: url("/img/usr/category/content_ttl.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  h2 {
    margin: 32px 0 0;
    padding: 0;
    border: none;
    background-color: transparent;
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: .1em;
  }
}

.block-category-top-story-ttl {
  display: flex;
  align-items: center;
  justify-content: center;

  img {
    display: block;
  }
}

.block-category-top-story-content {
  display: flex;
  flex-direction: column;
  margin-top: 44px;

  > ul {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    margin-top: 16.8vw;
    z-index: 1;

    &.story-content-2 {
      margin-top: 0;
      z-index: 2;
    }
  }

  li {
    position: relative;
    width: 53.33vw;
    margin-top: -16.8vw;
    padding: 30px 10px 10px;
    background: #fff;

    &:nth-child(even) {
      margin-left: auto;
    }

    &:nth-child(1) { z-index: 1; }
    &:nth-child(2) { z-index: 2; }
    &:nth-child(3) { z-index: 3; }
    &:nth-child(4) { z-index: 4; }
    &:nth-child(5) { z-index: 5; }
    &:nth-child(6) { z-index: 6; }

    &::before {
      content: "";
      display: block;
      position: absolute;
      top: -3.2vw;
      left: 50%;
      width: 8.53vw;
      height: 6.67vw;
      margin-left: -4vw;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
    }
  }

  img {
    display: block;
    width: 100%;
  }

  .list-comment {
    position: relative;
    width: calc(100% - 10px);
    margin: 0 auto;
    z-index: 9;
  }

  .list-img {
    position: relative;
    margin-top: -5px;
    z-index: 1;
  }
}

.block-category-top-price {
  margin-top: 75px;
}

.block-category-top-h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0;
  background-color: transparent;
  border: none;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    margin-top: -1px;
    background: var( --col_Gold );
  }

  span {
    display: block;
    position: relative;
    padding: 0 19px;
    background: #fff;
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.385;
    letter-spacing: .1em;
  }
}

.block-category-top-price-tab {
  display: flex;
  margin-top: 30px;
}

.block-category-top-price-tab-item {
  width: 50%;
  height: 60px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 60px;
  text-align: center;
  letter-spacing: .1em;
  transition: .15s;

  &.is-active {
    background-color: #f6f4f1;
  }

  strong {
    font-size: 2.6rem;
  }
}

.block-category-top-price-target-item {
  display: none;

  &.is-active {
    display: block;
  }
}

.block-category-top-price-content {
  position: relative;
  padding: 126px 16px 16px;
  background-color: #f6f4f1;

  .block-category-top-h2 + & {
    margin-top: 30px;
  }

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 40px;
    left: 50%;
    width: 131px;
    height: 55px;
    margin-left: -65px;
    background-image: url("/img/usr/category/content_ttl.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.block-category-top-price-content-icons {
  display: flex;
  align-items: center;
  justify-content: center;

  img {
    display: block;
  }
}

.block-category-top-price-content-h3 {
  margin: 12px 0 0;
  padding: 0;
  background-color: transparent;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: .1em;

  strong {
    font-size: 4rem;
    font-weight: 600;
  }
}

.block-category-top-price-content-example {
  margin-top: 24px;
  padding: 30px 24px 24px;
  background-color: #fbfaf8;

  .example-ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: .01em;
  }

  .example-list {
    margin-top: 16px;
  }

  .example-list-item {
    & + &,
    > ul > li + li {
      position: relative;
      margin-top: 40px;

      &::before {
        content: "";
        display: block;
        position: absolute;
        top: -30px;
        left: 50%;
        width: 20px;
        height: 20px;
        margin-left: -10px;
        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYjE5YjdiIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiPjxwYXRoIGQ9Ik0xMCAwdjIwTTAgMTBoMjAiLz48L2c+PC9zdmc+");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
      }
    }

    .list-goods {
      display: flex;

      & + & {
        margin-top: 5px;
      }

      .list-ttl:not(.no-ttl) {
        display: flex;
        flex-direction: column;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 30px;
        height: 60px;
        padding: 0 10px;
        background: var( --col_Gold );
        color: #fff;
        font-size: 1.3rem;
        font-weight: 600;
        text-align: center;
        line-height: 1.1;
        letter-spacing: -.04em;
        z-index: 9;

        strong {
          margin-bottom: 1px;
          font-size: 1.5rem;
          font-weight: 600;
        }

        &.ttl-option {
          display: none;
        }
      }

      .list-content {
        display: flex;
        flex-shrink: 1;
        align-items: center;
        width: 100%;
        padding: 4px;
        border: 1px solid #00000028;
        background: #fff;
        z-index: 1;

        .list-ttl:not(.no-ttl) + & {
          margin-left: -1px;
        }
      }

      .list-img {
        flex-shrink: 0;
        width: 50px;

        img {
          display: block;
          width: 100%;
        }
      }

      .list-detail {
        display: flex;
        flex-shrink: 1;
        text-align: center;
        justify-content: space-between;
        width: 100%;
        margin-left: 10px;
        padding-right: 15px;
        letter-spacing: .1em;
      }

      .list-name {
        flex-shrink: 1;
        font-size: 1.4rem;
        font-weight: 600;
      }

      .list-price {
        flex-shrink: 0;
        margin-left: 10px;
        font-size: 1.2rem;
        white-space: nowrap;

        .yen {
          font-size: 1.4rem;
          font-weight: 600;
        }
      }
    }

    .list-cards-item {
      display: flex;
      align-items: center;
      width: 100%;
      padding: 4px;
      border: 1px solid #00000028;
      background: #fff;

      & + & {
        margin-top: 5px;
      }
    }

    .list-cards-img {
      flex-shrink: 0;
      width: 50px;

      img {
        display: block;
        width: 100%;
      }
    }

    .list-cards-detail {
      display: flex;
      flex-shrink: 1;
      text-align: center;
      justify-content: space-between;
      width: 100%;
      margin-left: 10px;
      padding-right: 15px;
      letter-spacing: .1em;
    }

    .list-cards-name {
      flex-shrink: 1;
      font-size: 1.4rem;
      font-weight: 600;
    }

    .list-cards-price {
      flex-shrink: 0;
      margin-left: 10px;
      font-size: 1.2rem;
      font-weight: 600;
      white-space: nowrap;

      .yen {
        font-size: 1.4rem;
      }
    }

    .list-system_fee {
      &:not(:first-child) {
        margin-top: 10px;
      }

      > div {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 50px;
        border-radius: 50px;
        background-color: #f2eee6;
        font-weight: 600;
        text-align: center;
        letter-spacing: .1em;

        p:nth-child(1) {
          font-size: 1.4rem;
        }

        p:nth-child(2) {
          margin-left: 10px;
          font-size: 1.2rem;

          strong {
            font-size: 1.4rem;
            font-weight: 600;
          }
        }
      }
    }
  }
}

.block-category-top-price-content-price {
  padding: 24px;
  background: #fff;

  .item-price-default {
    display: flex;
    justify-content: space-between;
    padding: 0 6px;
    font-weight: 600;
    letter-spacing: .1em;

    & + & {
      margin-top: 5px;
    }

    dt {
      padding-top: 5px;
      font-size: 1.8rem;
    }

    dd {
      position: relative;
      font-size: 1.9rem;

      p:nth-child(2) {
        padding-right: 3px;
        font-size: 1.4rem;
        text-align: right;
        letter-spacing: .04em;
      }
    }

    .yen {
      position: relative;
      margin-right: 8px;
      font-size: 2.3rem;

      p:nth-child(2) & {
        margin-right: 3px;
        font-size: 1.6rem;

        &::before {
          content: none;
        }
      }

      &::before {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        left: -2px;
        width: calc(100% + 4px);
        height: 1px;
        background-color: #444;
      }
    }

    .tax {
      font-size: 1.4rem;

      p:nth-child(2) & {
        font-size: 1rem;
      }
    }
  }

  .item-price-corkage_fee {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 310px;
    height: 60px;
    margin: 16px 0 0;
    padding-bottom: 8px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMTAiIGhlaWdodD0iNjAiPjxnIGZpbGw9IiNmZmYiPjxwYXRoIGQ9Ik0xIDQ1Ljc0NlYxaDMwOHY0NC43NTJMMTYwLjE2NCA1OC45OTYgMSA0NS43NDZaIi8+PHBhdGggZD0iTTMwOCAySDJ2NDIuODI2bDE1OC4xNjEgMTMuMTY3TDMwOCA0NC44MzdWMm0yLTJ2NDYuNjY3TDE2MC4xNjcgNjAgMCA0Ni42NjdWMGgzMTBaIiBmaWxsPSIjYjE5YjdiIi8+PC9nPjwvc3ZnPg==");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.333;
    letter-spacing: .1em;

    p:nth-child(2) {
      margin-left: 1em;
      color: #d01414;
    }
  }

  .item-price-sale {
    position: relative;
    width: 100%;
    margin-top: 16px;
    padding-bottom: 18px;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background: var( --col_Gold );
    }
  }

  .item-discount_price div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 32px;
    margin-top: 8px;
    background-color: #f2eee6;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .04em;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: -9px;
      left: 50%;
      width: 0;
      height: 0;
      margin-left: -8px;
      border-style: solid;
      border-width: 14px 8px 0 8px;
      border-color: #f2eee6 transparent transparent transparent;
    }

    p {
      color: var( --col_Gold );

      &.txt-red {
        color: #d01414;
      }

      &:nth-child(2) {
        margin-left: 4px;
      }
    }

    span {
      font-size: 1.4rem;
    }
  }

  .item-price-sale-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 16px;

    .sale-price-badge {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 70px;
      height: 70px;
      border-radius: 4px;
      background: var( --col_Gold );
      color: #fff;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.222;
      letter-spacing: .1em;
    }

    .sale-price-free_shipping {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 70px;
      height: 70px;
      border-radius: 4px;
      background-color: #d01414;
      color: #fff;
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.222;
      letter-spacing: .1em;
    }

    .sale-price-price {
      margin-left: auto;
      font-weight: 600;
      line-height: 1.1;

      dt {
        color: #d01414;
        font-size: 1.6rem;
        letter-spacing: .1em;
      }

      dd {
        font-size: 2.2rem;
        letter-spacing: .1em;

        .yen {
          margin-right: 4px;
          font-size: 5rem;
          letter-spacing: .02em;
        }

        .tax {
          margin-left: -4px;
          font-size: 1.3rem;
        }
      }
    }
  }
}

.block-category-top-annotation {
  margin: 40px 16px 0;
  padding: 22px;
  border: 8px solid #f3f3f3;

  h2 {
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: .1em;
  }

  ul {
    margin-top: 16px;
  }

  li {
    position: relative;
    padding-left: 1em;
    font-size: 1.6rem;
    line-height: 1.375;
    letter-spacing: .1em;

    &.mt {
      margin-top: 1em;
    }

    &::before {
      content: "・";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
    }
  }

  .txt-red {
    color: #d01414;
  }
}

.block-category-top-bot_bnr {
  position: relative;
  margin-top: 40px;
  padding: 0 16px;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 10px;
    left: 26px;
    width: calc(100% - 42px);
    height: 100%;
  }
}

.block-category-top-bot_bnr-body {
  position: relative;
  width: calc(100% - 10px);
  height: auto;
  padding: 30px 20px 30px 30px;

  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .item-img {
    position: relative;
    width: 100%;
    background: #fff;

    img {
      display: block;
      width: 100%;
    }
  }

  .item-detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 20px;
    background: #fff;
  }

  .item-ttl {
    width: 52.8vw;

    img {
      display: block;
      width: 100%;
    }
  }

  .item-btn {
    width: 100%;
    margin-top: 21px;

    a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 70px;
      color: #fff;
      font-size: 1.6rem;
      text-align: center;
      text-decoration: none;
      line-height: 1.625;
      letter-spacing: .04em;
    }
  }
}

.block-gnav-ttl-txt,
.block-gnav-ttl {
  font-size: 1rem;
  line-height: 1.3;
}