/* ===============================================
 * header
 * ===============================================
 */
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .header {
    /* transition: opacity 0.3s ease; */
  }
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__left {
  flex: 0 0 auto;
  background-image: linear-gradient(to bottom, #c22b1f 0 2px, transparent 2px 4px, #c22b1f 4px 5px, transparent 4px 100%);
  background-position: top;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-left: 30px;
  margin-top: 14px;
  padding: 7px 6px;
}
@media screen and (max-width: 768px) {
  .header__left {
    display: none;
  }
}

.header__menu-btn {
  font-family: kepler-std-condensed-display, sans-serif;
  font-weight: 600;
  font-size: 24px;
  font-style: italic;
  color: #c22b1f;
  cursor: pointer;
  padding: 0;
  border: none;
}

.header__center {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header__logo {
  margin-bottom: 11px;
  width: 134px;
}
@media screen and (max-width: 768px) {
  .header__logo {
    margin-bottom: 8px;
    width: 99px;
  }
}

.header__shop-name {
  font-family: vdl-v7mincho, sans-serif;
  transform: scaleY(0.9);
  font-weight: 700;
  font-size: 13px;
  color: #c22b1f;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .header__shop-name {
    font-size: 11px;
  }
}

.header__right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 44px;
}
@media screen and (max-width: 768px) {
  .header__right {
    display: none;
  }
}

.header__catalog {
  display: flex;
  align-items: center;
  gap: 17px;
}

.header__catalog__text {
  font-family: kepler-std-condensed-subhead, serif;
  font-weight: 600;
  font-style: italic;
  font-size: 20px;
  color: #c22b1f;
  letter-spacing: 0.04em;
}

.header__catalog__pdf {
  font-family: "acumin-pro", sans-serif;
  font-weight: 700;
  font-size: 11px;
  color: #c22b1f;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #c22b1f;
}

.header__store {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 130px;
  background-image: url(../../img/common/header__online-store-bg.webp);
  background-size: 124px 124px;
  background-position: center;
  background-repeat: repeat;
}

.header__store__text {
  font-family: kepler-std-display, serif;
  font-weight: 600;
  font-size: 17px;
  color: #f6f3ea;
}

/* ===============================================
 * drawer-menu
 * ===============================================
 */
.drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url(../../img/common/bg-pattern-red.png);
  background-repeat: repeat;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}
@media screen and (max-width: 768px) {
  .drawer-menu {
    display: block;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    width: 374px;
    height: 80vh;
    border-radius: 10px 10px 0 0;
    overflow: clip;
    opacity: 1;
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0.3s ease;
  }
}

.drawer-menu.is-open {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 768px) {
  .drawer-menu.is-open {
    transform: translateX(-50%) translateY(0);
    visibility: visible;
  }
}

/* ドロワーメニューオーバーレイ */
.drawer-menu__overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 199;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .drawer-menu__overlay {
    display: block;
  }
}

.drawer-menu__overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.drawer-menu__inner {
  display: flex;
  width: 100%;
  max-width: 1900px;
  margin-left: auto;
  height: 100%;
  color: #ffffff;
}

/* ブロックA: メニューコンテンツ */
.drawer-menu__block-a {
  background-image: url(../../img/common/drawer-menu__bg-logo.webp);
  background-size: 629px 553px;
  background-position: right 106px top 158px;
  background-repeat: no-repeat;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 100px 79px 20px;
  overflow-y: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-a {
    width: 100%;
    padding: 55px 0px 80px;
    background-size: 336px 296px;
    background-position: center top 107px;
  }
}

/* ブロックC: 上段 */
.drawer-menu__block-c {
  display: flex;
  margin-bottom: 60px;
  position: relative;
  justify-content: space-between;
  padding-right: 18px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-c {
    flex-direction: column;
    gap: 40px;
    margin-bottom: 40px;
    padding-inline: 20px;
  }
}

.drawer-menu__close-btn {
  position: absolute;
  top: 32px;
  right: 42px;
  cursor: pointer;
  z-index: 10;
  padding: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border: none;
}
@media screen and (max-width: 768px) {
  .drawer-menu__close-btn {
    display: none;
  }
}

.drawer-menu__close-btn-line {
  position: absolute;
  width: 46px;
  height: 1px;
  background-color: #ffffff;
}

.drawer-menu__close-btn-line:first-child {
  transform: rotate(45deg);
}

.drawer-menu__close-btn-line:last-child {
  transform: rotate(-45deg);
}

/* ブロックE: 左ブロック（ナビゲーション） */
.drawer-menu__block-e {
  flex: 1;
  border-left: 1px solid #ffffff;
  padding-left: 12px;
}

.drawer-menu__nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.drawer-menu__nav li {
  margin-bottom: 10px;
}

.drawer-menu__nav li:first-child {
  margin-top: -10px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__nav li:first-child {
    margin-top: -8px;
  }
}

.drawer-menu__nav li:last-child {
  margin-bottom: -17px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__nav li:last-child {
    margin-bottom: -12px;
  }
}

.drawer-menu__nav li a {
  display: inline-block;
  position: relative;
  color: #ffffff;
  text-decoration: none;
}

.drawer-menu__nav span {
  font-family: kepler-std-condensed-display, serif;
  font-weight: 300;
  font-style: italic;
  font-size: 90px;
  letter-spacing: -0.03em;
  display: inline-block;
  line-height: 1;
  padding-right: 10px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__nav span {
    font-size: 54px;
  }
}

.drawer-menu__nav span::first-letter {
  font-weight: 500;
}

.drawer-menu__nav .m-and {
  font-size: 16px;
  position: relative;
  top: -20px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__nav .m-and {
    top: -12px;
    padding-right: 5px;
  }
}

.drawer-menu__nav span.drawer-menu__badge {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-size: 11px;
  position: absolute;
  top: 7px;
  right: -30px;
  font-style: normal;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .drawer-menu__nav span.drawer-menu__badge {
    top: 5px;
    right: -25px;
  }
  .drawer-menu__nav span.drawer-menu__badge.--pdf {
    top: 2px;
    right: -37px;
  }
}

/* ブロックF: 右ブロック（外部リンク） */
.drawer-menu__block-f {
  display: flex;
  flex-direction: column;
  gap: 11px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-f {
    position: absolute;
    top: 0;
    right: 20px;
  }
}

.drawer-menu__external-link {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0.02em;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  padding-right: 18px;
}

.drawer-menu__external-link::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-image: url(../../img/common/external-link-arrow.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

/* ブロックD: 下段（グリッド） */
.drawer-menu__block-d {
  display: grid;
  grid-template-columns: max-content max-content max-content;
  grid-template-rows: repeat(3, auto);
  gap: 18px 50px;
  grid-auto-flow: column;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-d {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-auto-flow: row;
    gap: 20px;
    padding-inline: 20px;
  }
}

.drawer-menu__grid-item {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: #ffffff;
  text-decoration: none;
}

/* ブロックB: 画像 */
.drawer-menu__block-b {
  width: 40.35%;
  height: 100%;
  position: relative;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-b {
    display: none;
  }
}

.drawer-menu__image-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.drawer-menu__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
}

.drawer-menu__image--active {
  opacity: 1;
  z-index: 2;
}

/* ブロックG: SP時のみ */
.drawer-menu__block-g {
  display: none;
  border-top: 1px solid rgb(255 255 255 / 0.5);
  border-bottom: 1px solid rgb(255 255 255 / 0.5);
  padding: 40px 20px;
  margin-top: 40px;
  flex-direction: row;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-g {
    display: flex;
  }
}

.drawer-menu__block-g1 {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-g1 {
    flex-shrink: 0;
    width: 128px;
  }
}

.drawer-menu__block-g1 img {
  width: 128px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-g1 img {
    width: 128px;
  }
}

.drawer-menu__block-g2 {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.drawer-menu__g2-title {
  font-family: vdl-v7mincho, sans-serif;
  transform: scaleY(0.9);
  font-weight: 700;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.2em;
}

.drawer-menu__g2-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 9.5px;
  line-height: 15px;
  opacity: 0.5;
}

.drawer-menu__block-g .c-link {
  color: #ffffff;
  border-color: #ffffff;
}

.drawer-menu__block-g .c-link::after {
  filter: brightness(0) invert(1);
}

/* ブロックH: SP時のみ */
.drawer-menu__block-h {
  display: none;
  padding: 40px 20px;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .drawer-menu__block-h {
    display: flex;
  }
}

.drawer-menu__h-title {
  font-family: kepler-std-condensed-display, serif;
  font-weight: 300;
  font-style: italic;
  font-size: 45px;
  display: flex;
  letter-spacing: -0.03em;
  gap: 5px;
}

.drawer-menu__h-title span::first-letter {
  font-weight: 500;
}

.drawer-menu__h-text {
  font-family: vdl-v7mincho, sans-serif;
  transform: scaleY(0.9);
  font-weight: 700;
  font-size: 11px;
  line-height: 17.6px;
  letter-spacing: 0.2em;
}

.drawer-menu__h-form {
  display: flex;
  margin-top: 30px;
}

.drawer-menu__h-input {
  flex: 1;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 0 15px;
  color: #ffffff;
  font-size: 26.7px;
  letter-spacing: 0.03em;
  border-radius: 3px 0 0 3px;
}
@media screen and (max-width: 768px) {
  .drawer-menu__h-input {
    font-size: 14px;
  }
}

.drawer-menu__h-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}

.drawer-menu__h-submit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-left: 0;
  padding: 10px 17px;
  border-radius: 0 3px 3px 0;
}

.drawer-menu__line-btn {
  width: 100%;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  margin-top: 12px;
  border-radius: 3px;
}

.drawer-menu__line-btn-left {
  display: flex;
  align-items: center;
  gap: 13px;
}

.drawer-menu__line-icon {
  width: 15px;
  height: auto;
}

.drawer-menu__line-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  letter-spacing: 0.02em;
}

.drawer-menu__line-arrow {
  width: 15px;
  height: auto;
}

/* ===============================================
 * sticky-menu (SP時の追従メニュー)
 * ===============================================
 */
.sticky-menu {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 255px;
  height: 45px;
  background-image: url(../../img/common/header__sticky-menu-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 99;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sticky-menu {
    display: block;
  }
}

.sticky-menu.is-visible {
  opacity: 1;
  visibility: visible;
}

.sticky-menu__inner {
  display: flex;
  align-items: center;
  height: 100%;
}

.sticky-menu__left {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66%;
  height: 100%;
}

.sticky-menu__store-link {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  position: relative;
  margin-bottom: -2px;
  left: 7px;
}

.sticky-menu__store-link::after {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 27 27'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.515,16.071 L13.950,2.636 C14.340,2.246 14.973,2.246 15.364,2.636 C15.754,3.027 15.754,3.660 15.364,4.050 L1.929,17.485 C1.538,17.876 0.905,17.876 0.515,17.485 C0.124,17.095 0.124,16.462 0.515,16.071 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M7.586,4.757 L17.485,0.515 L12.536,5.464 L7.586,4.757 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M13.243,10.414 L17.485,0.515 L12.536,5.464 L13.243,10.414 Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  margin-bottom: -2px;
}

.sticky-menu__store-text {
  font-family: kepler-std-display, serif;
  font-weight: 600;
  font-size: 16px;
}

.sticky-menu__divider {
  width: 1px;
  height: 69%;
  background-color: rgba(247, 243, 235, 0.6);
}

.sticky-menu__right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  height: 100%;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
}

.sticky-menu__menu-text {
  font-family: kepler-std-condensed-display, sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 19px;
  line-height: 1;
  position: relative;
  padding-right: 18px;
}

.sticky-menu__menu-text::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 20 11'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M1.000,0.009 L19.000,0.009 C19.553,0.009 20.000,0.456 20.000,1.007 L20.000,1.812 C20.000,2.363 19.553,2.810 19.000,2.810 L1.000,2.810 C0.448,2.810 0.000,2.363 0.000,1.812 L0.000,1.007 C0.000,0.456 0.448,0.009 1.000,0.009 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.500,5.614 L19.500,5.614 C19.777,5.614 20.000,5.838 20.000,6.113 L20.000,6.514 C20.000,6.790 19.777,7.013 19.500,7.013 L0.500,7.013 C0.224,7.013 0.000,6.790 0.000,6.514 L0.000,6.113 C0.000,5.838 0.224,5.614 0.500,5.614 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.500,9.613 L19.500,9.613 C19.777,9.613 20.000,9.836 20.000,10.112 L20.000,10.515 C20.000,10.791 19.777,11.015 19.500,11.015 L0.500,11.015 C0.224,11.015 0.000,10.791 0.000,10.515 L0.000,10.112 C0.000,9.836 0.224,9.613 0.500,9.613 Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* ===============================================
 * sticky-menu-close (SP時のCloseボタン)
 * ===============================================
 */
.sticky-menu-close {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 255px;
  height: 45px;
  background-image: url(../../img/common/header__sticky-menu-bg_close.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1000;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
  color: #c22b1f;
  border: none;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
}

@media screen and (max-width: 768px) {
  .sticky-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
}

.sticky-menu-close.is-visible {
  opacity: 1;
  visibility: visible;
}

.sticky-menu-close__text {
  font-family: kepler-std-condensed-display, sans-serif;
  font-weight: 600;
  font-style: italic;
  font-size: 19px;
  line-height: 1;
}

.sticky-menu-close__icon {
  width: 8px;
  height: 8.5px;
  flex-shrink: 0;
}

/* ===============================================
 * cursor (マウスストーカー)
 * ===============================================
 */
/* デフォルトのカーソルを非表示 */
* {
  cursor: none !important;
}

.cursor {
  position: fixed;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #c22b1f;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  left: 0;
  top: 0;
}

.cursor__bg {
  position: absolute;
  /* 初期状態: 親要素(8px)と同じ大きさにしておく */
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: rgba(194, 43, 31, 0.1);
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  will-change: opacity, width, height;
  /* サイズの変化もアニメーションさせる */
  transition: opacity 0.3s ease, width 0.3s ease, height 0.3s ease;
}

/* リンクホバー時: 透明度を上げつつ110pxまで拡大 */
.cursor.--hover .cursor__bg {
  opacity: 1;
  width: 110px;
  height: 110px;
}

.cursor__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.cursor__text {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #fff;
  white-space: nowrap;
  display: none;
  transition: color 0.3s ease;
}

.cursor__text--drug {
  display: none;
  align-items: center;
  gap: 8px;
}

/* data属性で指定されたテキスト表示時 */
.cursor.--text {
  width: 110px;
  height: 110px;
}

.cursor.--text .cursor__bg {
  opacity: 0;
  /* テキスト表示時はサイズを戻しておく（見えないが念のため） */
  width: 100%;
  height: 100%;
}

.cursor.--text .cursor__inner {
  opacity: 1;
}

.cursor.--text .cursor__text {
  display: block;
  text-align: center;
  line-height: 1.4;
}

.cursor.--text .cursor__text--drug {
  display: none;
}

.cursor__arrow {
  display: block;
  flex-shrink: 0;
}

/* リンクホバー時（DRUG表示用） */
.cursor.--link {
  width: 110px;
  height: 110px;
}

.cursor.--link .cursor__bg {
  opacity: 0;
  width: 100%;
  height: 100%;
}

.cursor.--link .cursor__inner {
  opacity: 1;
}

.cursor.--link .cursor__text {
  display: none;
}

.cursor.--link .cursor__text--drug {
  display: flex;
}

/* スライドホバー時 */
.cursor.--slide:not(.--link) {
  width: 110px;
  height: 110px;
}

.cursor.--slide:not(.--link) .cursor__bg {
  opacity: 0;
  width: 100%;
  height: 100%;
}

.cursor.--slide:not(.--link) .cursor__inner {
  opacity: 1;
}

.cursor.--slide:not(.--link) .cursor__text--readmore {
  display: none;
}

.cursor.--slide:not(.--link) .cursor__text--drug {
  display: flex;
}

/* スライドとリンクが重なった場合はスライドを優先 */
.cursor.--slide.--link .cursor__text--drug {
  display: flex;
}

/* 色反転時 */
.cursor.--invert {
  background-color: #fff;
}

.cursor.--invert .cursor__bg {
  background-color: rgba(255, 255, 255, 0.1);
}

.cursor.--invert .cursor__text {
  color: #c22b1f;
}

.cursor.--invert .cursor__arrow path {
  fill: #c22b1f;
}

@media screen and (max-width: 768px) {
  * {
    cursor: auto !important;
  }
  
  .cursor {
    display: none;
  }
}