/** Shopify CDN: Minification failed

Line 2935:0 Expected "}" to go with "{"

**/
@charset "UTF-8";
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url("./Oswald-Medium.woff2") format("woff2"), url("./Oswald-Medium.woff") format("woff");
}
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(""), url("./Oswald-SemiBold.woff2") format("woff2"), url("./Oswald-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(""), url("./Oswald-Bold.woff2") format("woff2"), url("./Oswald-Bold.woff") format("woff");
}
body {
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

body,
.color-scheme-1,
.color-scheme-2,
.color-scheme-3,
.color-scheme-4,
.color-scheme-5 {
  color: rgba(var(--color-foreground), 1);
  background-color: rgb(var(--color-background));
}


  a{
    text-decoration: none;
  }

/* ==============================================================
# common_css
============================================================== */
.sp {
  display: none;
}
@media screen and (max-width: 749px) {
  .sp {
    display: block !important;
  }
}

@media screen and (max-width: 749px) {
  .none-sp {
    display: none !important;
  }
}

.tab {
  display: none;
}
@media screen and (max-width: 989px) {
  .tab {
    display: block !important;
  }
}

@media screen and (max-width: 989px) {
  .none-tab {
    display: none !important;
  }
}

@media screen and (max-width: 989px) {
  .page-width {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media screen and (max-width: 749px) {
  .page-width {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

a {
  transition: all 0.3s;
}

li {
  list-style: none;
}

/* --------------- ボタン --------------- */
.custom-section__btn {
  text-align: center;
  margin-top: 1rem;
}
@media screen and (max-width: 749px) {
  .custom-section__btn {
    margin-top: 2.4rem;
  }
}

.c-btn {
  display: inline-block;
  width: 100%;
  max-width: 30rem;
  padding: 0.6em 2.5em;
  border-radius: 3em;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  background-color: var(--btn-bg);
  color: var(--btn-color);
  border: 1px solid var(--btn-border);
}
@media screen and (max-width: 749px) {
  .c-btn {
    font-size: 1.6rem;
    padding: 0.8em 2.5em;
  }
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  border-radius: 2rem;
  background: var(--btn-color);
  transition: all 0.3s ease;
}
@media (hover: hover) {
  .c-btn:hover {
    background-color: var(--btn-color);
    color: var(--btn-bg);
  }
  .c-btn:hover::after {
    background: var(--btn-bg);
  }
}

/* --------------- swiper --------------- */
.swiper-pagination {
  bottom: 0;
  line-height: 0;
}

.swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 10rem;
  border: 1px solid #D4D8DC;
  background: transparent;
  opacity: 1;
  margin: 0 0.5rem;
}

.swiper-pagination-bullet-active {
  width: 2.4rem;
}

.swiper-button-next:empty,
.swiper-button-prev:empty {
  display: block;
}

.swiper-button-next,
.swiper-button-prev {
  border-radius: 10rem;
  margin: 0;
  transition: opacity 0.3s;
  opacity: 0;
}
@media (hover: hover) {
  .swiper-button-next:hover,
.swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.swiper-button-next::after,
.swiper-button-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.6rem;
  height: 2.4rem;
  -webkit-mask: url(./icon_arrow.svg);
          mask: url(./icon_arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #fff;
  transition: background 0.3s;
}

.swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

/* ==============================================================
# custom-section-head.liquid
============================================================== */
.custom-section__head {
  position: relative;
  padding-top: 2.6rem;
  padding-bottom: 2.8rem;
}
@media screen and (max-width: 749px) {
  .custom-section__head {
    padding-top: 1.4rem;
    padding-bottom: .4rem;
  }
}
.custom-section__head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 0.6rem;
  width: 7.2rem;
}
@media screen and (max-width: 749px) {
  .custom-section__head::before {
    height: 0.4rem;
    width: 4rem;
  }
}

.custom-section__title {
  text-align: center;
  font-size: 3rem;
  font-weight: 700;
  /* margin: 0; */
  margin: 30px 0px;
}
@media screen and (max-width: 989px) {
  .custom-section__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 749px) {
  .custom-section__title {
    font-size: 2.4rem;
  }
}

/* ==============================================================
# custom-header.liquid
============================================================== */
.custom-utility-bar .announcement-bar {
  display: block;
  opacity: 0;
  transition: all 0.6s;
}

.custom-utility-bar__swiper .announcement-bar__link {
  width: 90%;
  margin: auto;
}

.custom-utility-bar .announcement-bar.swiper-slide-active {
  opacity: 1;
}
.custom-utility-bar .custom-utility-bar__swiper.no-swiper .announcement-bar {
  transition: inherit;
  opacity: 1;
}
.custom-utility-bar .announcement-bar__message {
  min-height: inherit;
}
.swiper-button-announcement-next:empty,
.swiper-button-announcement-prev:empty {
  display: block;
}
.custom-utility-bar .custom-utility-bar__swiper.no-swiper .swiper-button-announcement-next,
.custom-utility-bar .custom-utility-bar__swiper.no-swiper .swiper-button-announcement-prev{
opacity: 0;
}
.swiper-button-announcement-next,
.swiper-button-announcement-prev {
  border-radius: 10rem;
  margin: 0;
  transition: opacity 0.3s;
  /* opacity: 0; */
}
@media (hover: hover) {
  .swiper-button-announcement-next:hover,
.swiper-button-announcement-prev:hover {
    opacity: 0.7;
  }
}
.swiper-button-announcement-next::after,
.swiper-button-announcement-prev::after {
  content: "←";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
      z-index: 10;
  height: 2.4rem;
  cursor: pointer;

}
.swiper-button-announcement-next::after{
left: 2rem;
}
.swiper-button-announcement-prev::after {
  right: 2rem;
  content: "→";
}


.custom-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 1.9rem 4.8rem 1.4rem 4.8rem;
  z-index: 999;
}
@media screen and (max-width: 989px) {
  .custom-header {
    padding: 1.9rem 3rem 1.4rem 3rem;
  }
}
@media screen and (max-width: 749px) {
  .custom-header {
    padding: 1.5rem 2rem 1rem;
  }
}
.custom-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: var(--gradient);
}

.custom-header__logo {
  line-height: 0;
}
@media screen and (max-width: 989px) {
  .custom-header__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.custom-header__logo a {
  display: block;
  max-width: 22rem;
}
@media screen and (max-width: 1600px) {
  .custom-header__logo a {
    max-width: 20rem;
    text-align: center;
  }
}
@media screen and (max-width: 749px) {
  .custom-header__logo a {
    max-width: 12rem;
    text-align: center;
    margin-top: .5rem;
  }
}
/* .custom-header__logo a img {
  width: 100%;
} */

@media screen and (max-width: 989px) {
  .custom-header__menu {
    display: none;
  }
}
.custom-header__menu a {
  text-decoration: none;
  color: #2F2F2F;
}
.custom-header__menu a.custom-header__link {
  font-weight: 600;
}
.custom-header__menu ul {
  padding: 0;
  margin: 0;
}

/* --------------- 第一階層 --------------- */
.custom-header__item a:hover {
  opacity: 0.7;
}

.custom-header__items {
  display: flex;
  gap: 8rem;
  gap: 0 4.167vw;
}
@media screen and (max-width: 1600px) {
  .custom-header__items {
    gap: 0 2vw;
  }
}

.custom-header__item.has-children .custom-header__link {
  position: relative;
}
.custom-header__item.has-children .custom-header__link::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: 1rem;
  margin-bottom: .5rem;
  vertical-align: middle;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background:  var(--sub-color);
  transition: background 0.3s, transform 0.3s;
}
.custom-header__item.is-active .custom-header__link::after {
  transform: rotate(180deg);
}

.custom-header__link {
  display: block;
}

/* --------------- メガメニュー --------------- */

.custom-header__sub-menu {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  background: #fff;
  padding: 4rem 4.8rem 6rem;
  display: none;
  border-bottom: 1px solid #D4D8DC;
}

.custom-mega-menu-1__block:nth-of-type(n+2) {
  margin-top: 5.6rem;
  padding-top: 5.6rem;
  border-top: 1px solid #D4D8DC;
}

.custom-mega-menu-1__block-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

/* --------------- 第二階層 --------------- */
.custom-mega-menu-1__items {
  margin-top: 0rem!important;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem 5%;
}
.custom-header__item .custom-mega-menu-1__block-title + .custom-mega-menu-1__items{
  margin-top: 4rem !important;
}
@media screen and (max-width: 1600px) {
  .custom-mega-menu-1__items {
    grid-template-columns: repeat(4, 1fr);
  }
}

.custom-mega-menu-1__item.has-children.is-active .custom-mega-menu-1__title::before {
  transform: rotate(0);
}

.custom-mega-menu-1__title {
  display: block;
  font-weight: 700;
  position: relative;
  padding-left: 1.6rem;
  line-height: 1.3;
}
.custom-mega-menu-1__title::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0;
  transform: rotate(-90deg);
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: var(--sub-color);
  transition: background 0.3s, transform 0.3s;
}

/* --------------- 第三階層 --------------- */
.custom-mega-menu-2__items {
  margin-top: 2rem !important;
  padding: 2rem 0 2rem 2rem !important;
  border-left: 1px solid #D4D8DC;
  display: none;
}

.custom-mega-menu-2__item:nth-child(n+2) {
  margin-top: 1.6rem;
}

.custom-mega-menu-2__link {
  display: block;
  font-weight: 400;
  font-size: 1.4rem;
}
@media (hover: hover) {
  .custom-mega-menu-2__link:hover {
    opacity: 0.7;
  }
}

/* --------------- タレントメガメニュー --------------- */
.custom-talent-menu {
  padding-bottom: 8rem;
}

.custom-talent-menu__tabs {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2rem;
  justify-content: center;
  border-bottom: 1px solid #D4D8DC;
}

.custom-talent-menu__tab {
  width: 16rem;
  text-align: center;
  background: transparent;
  border: none;
  font-weight: 600;
  font-size: 2rem;
  padding: 0 1.6rem 1.6rem;
  position: relative;
  cursor: pointer;
}
@media (hover: hover) {
  .custom-talent-menu__tab:hover {
    opacity: 0.7;
  }
}

.custom-talent-menu__tabs--secondary{
  margin-top: 12px;
  border-bottom: none;
}
.custom-talent-menu__tabs--secondary .custom-talent-menu__tab{
font-size: 1.5rem;
/* width: 12rem; */
width: fit-content;
padding: 0 2.6rem 0.6rem;
border-bottom: 1px solid #D4D8DC;
}
.custom-talent-menu__tabs--secondary .custom-talent-menu__tab.is-active:after{
  height: 2px;
}
.custom-talent-menu__tab.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--sub-color);
}

.custom-talent-menu__block {
  display: none;
}
.custom-talent-menu__block.is-active {
  display: block;
  overflow-y: scroll;
  height: fit-content;
  max-height: 70vh;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}

 /*Google Chrome、Safariへの対応*/
.custom-talent-menu__block.is-active::-webkit-scrollbar{
  display: none;
}

.custom-talent-menu__items {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 1600px) {
  .custom-talent-menu__items {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (max-width: 989px) {
  .custom-talent-menu__items {
    grid-template-columns: repeat(4, 1fr);
  }
}

.custom-talent-menu__link {
  display: block;
  border: 1px solid #D4D8DC;
  overflow: hidden;
  border-radius: 1rem;
}
@media (hover: hover) {
  .custom-talent-menu__link:hover {
    opacity: 0.7;
  }
}

.custom-talent-menu__img {
  overflow: hidden;
}
.custom-talent-menu__img img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.custom-talent-menu__title {
  padding: 1rem;
  margin: 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
}

/* --------------- 右側 --------------- */
.custom-header .header__icons {
  gap: 1rem;
}
@media screen and (max-width: 749px) {
  .custom-header .header__icons {
    padding-right: 0;
  }
}
@media screen and (max-width: 749px) {
  .custom-header .header__icon {
    height: 3.6rem;
    width: 3.6rem;
  }
}

/* --------------- 通貨/言語 --------------- */
@media screen and (max-width: 1600px) {
  .custom-header .header__icons .disclosure__button {
    padding-right: 1.2rem !important;
  }
}
.custom-header .header__icons .disclosure__button svg {
  display: none;
}
.custom-header .header__icons .disclosure__button::after {
  content: "";
  position: relative;
  display: inline-block;
  margin-left: 0.8rem;
  top: -2px;
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  vertical-align: middle;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background 0.3s, transform 0.3s;
  background: var(--sub-color);
}
.custom-header .header__icons .disclosure__button[aria-expanded=true]::after {
  transform: rotate(180deg);
}

/* --------------- 検索 --------------- */
@media screen and (max-width: 1199px) {
  .custom-header__pc-search {
    display: none;
  }
}
.custom-header__pc-search .field {
  border: none;
}
.custom-header__pc-search .field::after {
  display: none;
}
.custom-header__pc-search .search__input.field__input {
  border-radius: 10rem;
  border: 1px solid #D4D8DC;
  padding: 1.2rem 1.2rem 1.6rem 5.4rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 1600px) {
  .custom-header__pc-search .search__input.field__input {
    max-width: 20rem;
  }
}
.custom-header__pc-search .search__input.field__input::-moz-placeholder {
  opacity: 1;
  color: #D4D8DC;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  line-height: 1;
}
.custom-header__pc-search .search__input.field__input::placeholder {
  opacity: 1;
  color: #D4D8DC;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  line-height: 1;
}
.custom-header__pc-search .search__input.field__input:focus {
  border: 1px solid var(--color);
  box-shadow: none;
}
.custom-header__pc-search .search__button {
  top: 50%;
  left: 1.6rem;
  transform: translateY(-50%);
  right: inherit;
}
.custom-header__pc-search .predictive-search__loading-state {
  display: none;
}

.custom-header__sp-search {
  display: none;
}
@media screen and (max-width: 1199px) {
  .custom-header__sp-search {
    display: block;
  }
}
.custom-header__sp-search .header__search {
  border: 1px solid #D4D8DC;
  border-radius: 50%;
}

.header__icon--summary  .svg-wrapper path{
  fill: var(--color);
}
/* --------------- アカウント --------------- */
.custom-header .header__icon--account {
  display: flex;
  gap: 1rem;
  align-items: center;
  background: #fff;
  border: 1px solid var(--color);
  text-decoration: none;
  min-width: 4.4rem;
  width: 12rem;
  border-radius: 10rem;
}
.custom-header .header__icon--account .svg-wrapper path{
  fill: var(--color);
}
@media screen and (max-width: 1400px) {
  .custom-header .header__icon--account {
    width: auto;
  }
}
@media screen and (max-width: 989px) {
  .custom-header .header__icon--account {
    display: none;
  }
}
@media screen and (max-width: 749px) {
  .custom-header .header__icon--account {
    min-width: inherit;
    width: 3.6rem;
  }
}
.custom-header .header__icon--account .header__icon__text {
  color: var(--color);
}
@media screen and (max-width: 1400px) {
  .custom-header .header__icon--account .header__icon__text {
    display: none;
  }
}
@media (hover: hover) {
  .custom-header .header__icon--account:hover {
    background: var(--color);
  }
  .custom-header .header__icon--account:hover .svg-wrapper svg path {
    fill: #fff;
  }
  .custom-header .header__icon--account:hover .header__icon__text {
    color: #fff;
  }
}
.custom-header .svg-wrapper {
  width: 1.8rem;
  height: 2rem;
}
.custom-header .svg-wrapper path {
  transition: fill 0.3s;
}

/* --------------- カート --------------- */
.custom-header .header__icon--cart {
  display: flex;
  gap: 1rem;
  align-items: center;
  background: var(--color);
  border: 1px solid var(--color);
  text-decoration: none;
  min-width: 4.4rem;
  width: 12rem;
  border-radius: 10rem;
  margin-right: 0;
}

@media screen and (max-width: 1400px) {
  .custom-header .header__icon--cart {
    width: auto;
  }
}
@media screen and (max-width: 749px) {
  .custom-header .header__icon--cart {
    min-width: inherit;
    width: 3.6rem;
  }
}
@media (hover: hover) {
  .custom-header .header__icon--cart:hover {
    background: #fff;
  }
  .custom-header .header__icon--cart:hover .svg-wrapper svg path {
    fill: var(--color);
  }
  .custom-header .header__icon--cart:hover .cart-count-bubble {
    background: var(--color);
    color: #fff;
  }
  .custom-header .header__icon--cart:hover .header__icon__text {
    color: var(--color);
  }
}
.custom-header .header__icon--cart-wrapper {
  position: relative;
}

.custom-header .header__icon .svg-wrapper {
  width: 1.8rem;
  height: 2rem;
}

@media screen and (max-width: 749px) {
  .custom-header .header__icon .svg-wrapper {
    width: 1.6rem;
    height: 1.7rem;
  }
}
.custom-header .header__icon .svg-wrapper path {
  transition: fill 0.3s;
}

.custom-header .cart-count-bubble {
  top: 0;
  left: 0;
  transform: translate(-60%, -20%);
  background: #fff;
  color: var(--color);
  transition: color 0.3s, background 0.3s;
}

@media screen and (max-width: 1400px) {
  .custom-header .cart-count-bubble {
    left: 100%;
    min-width: 1.2rem;
    min-height: 1.2rem;
  }
  .custom-header .cart-count-bubble.cart-count-bubble__max,
.custom-header .cart-count-bubble.cart-count-bubble__double {
    left: calc(100% + 2px);
    top: -2px;
  }
}
.custom-header .cart-count-bubble span {
  letter-spacing: 0;
  font-size: 0.9rem;
}

.custom-header .cart-count-bubble.cart-count-bubble__max span {
  font-size: 0.8rem;
}

.custom-header .cart-count-bubble.cart-count-bubble__double span {
  font-size: 0.8rem;
}

@media screen and (max-width: 1400px) {
  .custom-header .cart-count-bubble span {
    font-size: 0.9rem;
  }
  .custom-header .cart-count-bubble.cart-count-bubble__max span {
    font-size: 0.8rem;
  }
  .custom-header .cart-count-bubble.cart-count-bubble__double span {
    font-size: 0.8rem;
  }
}
.custom-header .header__icon__text {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  transition: color 0.3s;
}

@media screen and (max-width: 1400px) {
  .custom-header .header__icon__text {
    display: none;
  }
}
/* ==============================================================
# custom-drawer-menu.liquid
============================================================== */
.custom-header header-drawer {
  margin-left: 0;
}
.custom-header header-drawer .menu-drawer {
  border-top: 1px solid #D4D8DC;
}
@media screen and (max-width: 989px) {
  .custom-header header-drawer .header__icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.custom-header header-drawer .menu-drawer__navigation {
  padding: 4rem 2rem;
}
.custom-header header-drawer .menu-drawer__menu {
  border-top: 1px solid #D4D8DC;
}
.custom-header header-drawer .menu-drawer__menu-item {
  border-bottom: 1px solid #D4D8DC;
  padding: 1.6rem 3rem 1.6rem 1rem;
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
}
.custom-header header-drawer .menu-drawer__inner-submenu {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.custom-header header-drawer .menu-drawer__inner-submenu::-webkit-scrollbar {
display: none;
}
.custom-header header-drawer .menu-drawer__menu-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(-90deg);
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background 0.3s;
  background: var(--sub-color);
}
.custom-header header-drawer .menu-drawer__menu-item .svg-wrapper {
  display: none;
}
.custom-header header-drawer .menu-drawer__close-button {
  margin-top: 2rem;
  padding: 2rem;
  position: relative;
  font-weight: 700;
}
.custom-header header-drawer .menu-drawer__close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(90deg);
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background 0.3s;
  background: var(--sub-color);
}
.custom-header header-drawer .menu-drawer__close-button .svg-wrapper {
  display: none;
}
.custom-header header-drawer .menu-drawer__submenu {
  padding-left: 2rem;
  padding-right: 2rem;
  z-index: 1;
}
.custom-header header-drawer .menu-drawer__navigation-container {
  height: auto;
  grid-template-rows: inherit;
}
.custom-header header-drawer .menu-drawer__utility-links {
  background: #fff;
  padding: 1rem 2rem;
  position: relative;
}
.custom-header header-drawer .menu-drawer__account {
  display: flex;
  gap: 1rem;
}
.custom-header header-drawer .menu-drawer__account .svg-wrapper {
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  border: 1px solid var(--color);
}
.custom-header header-drawer .menu-drawer__account .svg-wrapper svg {
  width: 1.6rem;
  height: 1.6rem;
}
.custom-header header-drawer .menu-drawer__account .svg-wrapper svg path{
  fill: var(--color);
}
.custom-header header-drawer .menu-drawer__localization {
  margin-top: 2rem;
  display: grid;
  gap: 2rem;
  position: relative;
}
.custom-header header-drawer .disclosure__button .icon {
  display: none;
}
.custom-header header-drawer .disclosure__button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: inherit;
  right: 1rem;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background 0.3s;
  background: var(--sub-color);
  z-index: 0;
}

/* ==============================================================
# custom-slider.liquid
============================================================== */
.custom-slider {
  position: relative;
  z-index: 1;
}
.custom-slider .page-width {
  position: relative;
}
.custom-slider .swiper-button-next,
.custom-slider .swiper-button-prev {
  top: calc(50% - 1.25rem - 3.2rem);
  width: 6.4rem;
  height: 6.4rem;
  background-color: var(--btn-bg);
  border: 1px solid var(--btn-border);
  transition: all 0.3s;
}
.custom-slider .swiper-button-next::after,
.custom-slider .swiper-button-prev::after {
  width: 1.6rem;
  height: 2.4rem;
  background: var(--btn-color);
}
@media screen and (max-width: 749px) {
  .custom-slider .swiper-button-next,
.custom-slider .swiper-button-prev {
    display: none;
  }
}
@media (hover: hover) {
  .custom-slider .swiper-button-next:hover,
.custom-slider .swiper-button-prev:hover {
    background-color: var(--btn-color);
  }
  .custom-slider .swiper-button-next:hover::after,
.custom-slider .swiper-button-prev:hover::after {
    background: var(--btn-bg);
  }
}
.custom-slider .swiper-button-next {
  right: 1.8rem;
}
.custom-slider .swiper-button-prev {
  left: 1.8rem;
}
.custom-slider .swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.custom-slider .swiper-pagination-bullet-active {
  background: var(--btn-bg);
  border-color: var(--btn-bg);
}

.custom-slider__swiper {
  margin: 0 calc(50% - 50vw);
  padding-bottom: 2.5rem;
  opacity: 0;
  transition: opacity 0.3s;
}
.custom-slider__swiper.swiper-initialized {
  opacity: 1;
}
.custom-slider__swiper.swiper-initialized + .swiper-button-next {
  opacity: 1;
}
.custom-slider__swiper.swiper-initialized + .swiper-button-next + .swiper-button-prev {
  opacity: 1;
}
.custom-slider__swiper img {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/1080;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 749px) {
  .custom-slider__swiper img {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 749px) {
  .custom-slider__swiper .swiper-slide {
    opacity: 0.3;
  }
}
@media screen and (max-width: 749px) {
  .custom-slider__swiper .swiper-slide-active {
    opacity: 1;
  }
}

.custom-slider__item {
  line-height: 1;
}

@media (hover: hover) {
  .custom-slider__link:hover {
    opacity: 0.7;
  }
}

/* ==============================================================
# custom-products-slider.liquid
============================================================== */
.custom-products-slider {
  position: relative;
}

.custom-products-slider__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.custom-products-slider__bg:empty {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: repeat-y;
  background-position: center top;
  background-size: cover;
  will-change: background-position;
}

/* アニメーションを動的に制御するためのJSでstyle上書きします */
@-webkit-keyframes scrollUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
@keyframes scrollUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
.custom-products-slider__swiper {
  margin-right: calc(50% - 50vw);
  padding-right: 4.8rem;
  margin-left: calc(50% - 50vw);
  padding-left: 4.8rem;
  opacity: 0;
  padding-bottom: 2px;
}
@media screen and (max-width: 989px) {
  .custom-products-slider__swiper {
    padding-right: 3rem;
  }
}
@media screen and (max-width: 749px) {
  .custom-products-slider__swiper {
    /* padding-right: 2rem; */
    padding-left: 3rem;
  }
}
.custom-products-slider__swiper.swiper-initialized {
  opacity: 1;
}
.custom-products-slider__swiper--none{
  padding: 0;
}
.custom-products-slider__swiper--none .custom-products-slider__items.swiper-wrapper {
  text-align: center;
  width: 100%;
  justify-content: center;
}
.custom-products-slider__swiper--none .custom-products-slider__item{
  height: auto;
  max-width: 250px;
  background: none;
  border: none;
}

.custom-products-slider__items {
  padding: 0;
  margin: 0;
}

.custom-products-slider__item {
  height: auto;
  max-width: 250px;
  background: #fff;
  border: 1px solid #D4D8DC;
}

.custom-products-slider__link {
  height: 100%;
}

.swiper-buttons {
  margin-top: 2rem;
  display: flex;
  justify-content: end;
  gap: 2rem;
}
@media screen and (max-width: 749px) {
  .swiper-buttons {
    display: none;
  }
}
.swiper-buttons .swiper-button-next,
.swiper-buttons .swiper-button-prev {
  opacity: 1;
  position: relative;
  top: inherit;
  right: inherit;
  left: inherit;
  bottom: inherit;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 10rem;
  background-color: var(--btn-bg);
  border: 1px solid var(--btn-border);
  transition: all 0.3s;
}
@media (hover: hover) {
  .swiper-buttons .swiper-button-next:hover,
.swiper-buttons .swiper-button-prev:hover {
    background-color: var(--btn-color);
  }
  .swiper-buttons .swiper-button-next:hover::after,
.swiper-buttons .swiper-button-prev:hover::after {
    background: var(--btn-bg);
  }
}
.swiper-buttons .swiper-button-next::after,
.swiper-buttons .swiper-button-prev::after {
  width: 1.8rem;
  height: 1.8rem;
  background: var(--btn-color);
}
.swiper-buttons .swiper-button-disabled {
  opacity: 0.7;
}

/* ==============================================================
# custom-card-product.liquid
============================================================== */
.custom-card-product {
  display: block;
  background: #fff;
  text-decoration: none;
  height: 100%;
}
.custom-card-product:hover {
  opacity: 0.7;
}

.custom-card-product__img {
  position: relative;
  line-height: 0;
}
.custom-card-product__img .custom-card-product__label--closed{
  position: absolute;
  top: 0;
  left: 0;
  padding: 12px 12px;
  border-radius: 0;
  background-color: #f26060;
  color: #fff;
  border: none;
  font-size: 10px;
  font-weight: 600;
}
.custom-card-product__img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
}

.custom-card-product__overlay:empty {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}

.custom-card-product__content {
  padding: 2.4rem 2rem;
}
@media screen and (max-width: 749px) {
  .custom-card-product__content {
    padding: 1.6rem 1rem;
  }
}

.custom-card-product__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 749px) {
  .custom-card-product__labels {
    gap: 0.4rem;
  }
}

/* --------------- タグ共通 --------------- */
.custom-card-product__label {
  font-size: 1.4rem;
  border-radius: 10rem;
  border: 1px solid;
  padding: 0 1.4rem;
  border-color: #29AFDE;
  color: #29AFDE;
}
@media screen and (max-width: 749px) {
  .custom-card-product__label {
    font-size: 1rem;
    padding: 0 1rem;
  }
}

/* --------------- 売り切れ --------------- */
.custom-card-product__label--soldout {
  border-color: #505050;
  color: #505050;
}

/* --------------- NEW --------------- */
.custom-card-product__label--new {
  border-color: #FFACC2;
  color: #FFACC2;
}

/* --------------- まもなく販売終了 --------------- */
.custom-card-product__label--closed {
  border-color: #29AFDE;
  color: #29AFDE;
}

.custom-card-product__title {
  margin: 1.6rem 0 0;
  font-size: 1.6rem;
  color: #505050;
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (max-width: 749px) {
  .custom-card-product__title {
    margin: 1.2rem 0 0;
    font-size: 1.3rem;
  }
}

.custom-card-product__price {
  margin: 2rem 0 0;
  color: #2F2F2F;
}
@media screen and (max-width: 749px) {
  .custom-card-product__price {
    margin: 1rem 0 0;
  }
}

.custom-card-product__price--default {
  margin: 0;
}

.custom-card-product__price-symbol {
  font-size: 1.4rem;
}
@media screen and (max-width: 749px) {
  .custom-card-product__price-symbol {
    font-size: 1.2rem;
  }
}

.custom-card-product__price-value {
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 1.8rem;
}
@media screen and (max-width: 749px) {
  .custom-card-product__price-value {
    font-size: 1.5rem;
  }
}

.custom-card-product__price-tax {
  font-size: 1.4rem;
}
@media screen and (max-width: 749px) {
  .custom-card-product__price-tax {
    font-size: 1.2rem;
  }
}

/* ==============================================================
# custom-banner.liquid
============================================================== */
.custom-banner {
  position: relative;
  z-index: 1;
}
.custom-banner .page-width {
  position: relative;
}
.custom-banner .swiper-button-next,
.custom-banner .swiper-button-prev {
  width: 6.4rem;
  height: 6.4rem;
  background-color: var(--btn-bg);
  border: 1px solid var(--btn-border);
  transition: all 0.3s;
  transform: translateY(50%);
}
@media screen and (max-width: 989px) {
  .custom-banner .swiper-button-next,
.custom-banner .swiper-button-prev {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.custom-banner .swiper-button-next::after,
.custom-banner .swiper-button-prev::after {
  background: var(--btn-color);
}
@media screen and (max-width: 989px) {
  .custom-banner .swiper-button-next::after,
.custom-banner .swiper-button-prev::after {
    width: 1.8rem;
    height: 1.8rem;
  }
}
@media (hover: hover) {
  .custom-banner .swiper-button-next:hover,
.custom-banner .swiper-button-prev:hover {
    background-color: var(--btn-color);
  }
  .custom-banner .swiper-button-next:hover::after,
.custom-banner .swiper-button-prev:hover::after {
    background: var(--btn-bg);
  }
}

.custom-banner .swiper-button-next {
  right: 25%;
}
@media screen and (min-width: 1440px) {
  .custom-banner .swiper-button-next {
  right: 260px;
  }
}
@media screen and (max-width: 1199px) {
  .custom-banner .swiper-button-next {
  right: 150px;
}
}
@media screen and (max-width: 989px) {
  .custom-banner .swiper-button-next {
    right: 3%;
  }
}
.custom-banner .swiper-button-prev {
  left: 25%;
}
@media screen and (min-width: 1440px) {
  .custom-banner .swiper-button-prev {
  left: 260px;
  }
}
@media screen and (max-width: 1199px) {
  .custom-banner .swiper-button-prev {
  left: 150px;
  }
}
@media screen and (max-width: 989px) {
  .custom-banner .swiper-button-prev {
    left: 3%;
  }
}
.custom-banner .swiper-pagination-bullet-active {
  background: var(--btn-bg);
  border-color: var(--btn-bg);
}

.custom-banner__scroll {
  position: absolute;
  top: 6rem;
  left: 0;
  display: flex;
  gap: 4rem;
  opacity: 0.3;
  overflow: hidden;
  width: 100%;
  pointer-events: none;
}
@media screen and (max-width: 749px) {
  .custom-banner__scroll {
    top: 5rem;
  }
}
.custom-banner__scroll .custom-banner__scroll-text {
  padding: 0;
  font-weight: 700;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-size: 13.6rem;
  font-size: 7.083vw;
  white-space: nowrap;
  margin: 0;
  will-change: transform;
}
@media screen and (max-width: 989px) {
  .custom-banner__scroll .custom-banner__scroll-text {
    font-size: 10vw;
  }
}
@media screen and (max-width: 749px) {
  .custom-banner__scroll .custom-banner__scroll-text {
    font-size: 14.35vw;
  }
}
.custom-banner__scroll.is-scroll .custom-banner__scroll-text {
  -webkit-animation-name: marquee_left;
          animation-name: marquee_left;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes marquee_left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes marquee_left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.custom-banner__swiper {
  /* margin: 0 calc(50% - 50vw + 4.8rem);
  padding-top: 2.5rem; */
  margin: 0 calc(50% - 50vw);
  padding-top: 2rem;
  padding-bottom: 7rem;
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 1199px) {
  .custom-banner__swiper {
    margin: 0 calc(50% - 50vw);
    padding-top: 2rem;
  }
}
@media screen and (max-width: 989px) {
  .custom-banner__swiper {
    padding-top: 1.5rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 749px) {
  .custom-banner__swiper {
    padding-top: 1rem;
  }
}
.custom-banner__swiper.swiper-initialized {
  opacity: 1;
}
.custom-banner__swiper.swiper-initialized + .swiper-button-next {
  opacity: 1;
}
.custom-banner__swiper.swiper-initialized + .swiper-button-next + .swiper-button-prev {
  opacity: 1;
}
.custom-banner__swiper .swiper-slide {
  line-height: 1;
  transition: transform 0.3s;
  transform-origin: center center;
}
.custom-banner__swiper .swiper-slide-active {
  transform: scale(1.2);
}
@media screen and (max-width: 989px) {
  .custom-banner__swiper .swiper-slide-active {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 749px) {
  .custom-banner__swiper .swiper-slide-active {
    transform: scale(1.03);
  }
}
.custom-banner__swiper img {
  width: 100%;
  height: auto;
  aspect-ratio: 1920/1080;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (hover: hover) {
  .custom-banner__link:hover {
    opacity: 0.7;
  }
}

/* ==============================================================
# custom-talent-slider.liquid
============================================================== */
.custom-talent-slider {
  position: relative;
  z-index: 1;
}
.custom-talent-slider .custom-section__btn {
  margin-top: 4rem;
}

.custom-talent-slider__swiper {
  margin: 0 calc(50% - 50vw);
  opacity: 0;
}
.custom-talent-slider__swiper.swiper-initialized {
  opacity: 1;
}

.custom-talent-slider__items {
  padding: 0;
  margin: 0;
}

.custom-talent-slider__item {
  background: #fff;
}

.custom-talent-slider__link {
  display: block;
  background: linear-gradient(to bottom, #fff, #FBE6BA);
}
@media (hover: hover) {
  .custom-talent-slider__link:hover {
    opacity: 0.7;
  }
}

.custom-talent-slider__img {
  line-height: 1;
  position: relative;
  /* aspect-ratio: 28/48; */
  aspect-ratio: 1/2.85;
  overflow: hidden;
}
.custom-talent-slider__img img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  -o-object-position: top center;
     object-position: top center;
  /* -o-object-fit: cover;
     object-fit: cover; */
    -o-object-fit: contain;
     object-fit: contain;
}

.stalker {
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border-radius: 50%;
  height: 16rem;
  left: -8rem;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: -8rem;
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
  width: 16rem;
  z-index: 999;
  border: 3px solid #fff;
}
.stalker span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  padding: 0 1rem;
  text-align: center;
  font-size: 2rem;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  color: #505050;
}

/* ==============================================================
# custom-breadcrumbs.liquid
============================================================== */
.custom-breadcrumbs {
  border-top: 1px solid #D4D8DC;
  padding: 2rem 0;
  overflow: hidden;
}
.custom-breadcrumbs a {
  text-decoration: none;
  font-weight: 400;
  font-size: 1.4rem;
  color: #505050;
}

.breadcrumbs__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
  display: flex;
  gap: 1.6rem;
}
.breadcrumbs__list::-webkit-scrollbar {
  display: none;
}

.breadcrumbs__item {
  display: inline-block;
  position: relative;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  margin-left: 1.6rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  transform: rotate(-90deg);
  vertical-align: middle;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: background 0.3s;
    background:  #333;

}

.breadcrumbs__link[aria-current=page] {
  color: inherit;
  font-weight: normal;
  text-decoration: none;
}

.breadcrumbs__link[aria-current=page]:hover,
.breadcrumbs__link[aria-current=page]:focus {
  text-decoration: underline;
}

/* ==============================================================
# custom-footer.liquid
============================================================== */
.custom-footer {
  position: relative;
}
.custom-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: var(--gradient);
}

.custom-footer__wrapper {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 989px) {
  .custom-footer__wrapper {
    display: block;
  }
}

.custom-footer__logo a {
  display: block;
  max-width: 22rem;
}
@media screen and (max-width: 989px) {
  .custom-footer__logo a {
    margin: 0 auto;
  }
}
@media screen and (max-width: 749px) {
  .custom-footer__logo a {
    max-width: 20rem;
  }
}
.custom-footer__logo img {
  width: 100%;
  height: auto;
}

.custom-footer__menu {
  display: flex;
  gap: 10rem;
}
@media screen and (max-width: 1199px) {
  .custom-footer__menu {
    gap: 10rem;
  }
  .custom-footer__menu.custom-footer__menu--3column {
    gap: 6rem;
  }
}
@media screen and (max-width: 989px) {
  .custom-footer__menu {
    margin-top: 4rem;
    flex-direction: column;
    gap: 4rem;
  }
}

.custom-footer__block-title {
  margin: 0;
  font-family: "Oswald", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  text-transform: capitalize;
}

.custom-footer__items {
  margin-top: 3.5rem;
}
@media screen and (max-width: 989px) {
  .custom-footer__items {
    margin-top: 1.6rem;
  }
}

.custom-footer__link {
  display: block;
  font-weight: 400;
  text-decoration: none;
  color: #2F2F2F;
}
@media screen and (max-width: 989px) {
  .custom-footer__link {
    padding: 1.6rem 0;
    border-bottom: 1px solid #D4D8DC;
  }
}
.custom-footer__link:nth-child(n+2) {
  margin-top: 3.5rem;
}
@media screen and (max-width: 989px) {
  .custom-footer__link:nth-child(n+2) {
    margin-top: 0;
  }
}
@media screen and (max-width: 989px) {
  .custom-footer__link:first-child {
    border-top: 1px solid #D4D8DC;
  }
}
@media (hover: hover) {
  .custom-footer__link:hover {
    opacity: 0.7;
  }
}

.custom-footer__sns .footer__list-social {
  display: flex;
  gap: 3.2rem;
}
@media screen and (max-width: 989px) {
  .custom-footer__sns .footer__list-social {
    justify-content: center;
  }
}
.custom-footer__sns .list-social__link {
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
}
@media (hover: hover) {
  .custom-footer__sns .list-social__link:hover {
    opacity: 0.7;
  }
}
.custom-footer__sns .list-social__link .svg-wrapper {
  width: 2.8rem;
  height: 2.8rem;
}

.footer__copyright {
  margin-top: 0 !important;
  border-top: 1px solid #D4D8DC;
  padding: 2.4rem 2rem 4rem;
  text-align: center;
}
@media screen and (max-width: 989px) {
  .footer__copyright {
    padding: 2.4rem 2rem 3rem;
  }
}
.footer__copyright .copyright__content {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 400;
  color: #2F2F2F;
}


/* ==============================================================
# 商品一覧カード
============================================================== */
.custom-product-grid-container h1{
  font-size: 4rem;
  font-weight: bold;
}
.custom-product-grid-container #product-grid .grid__item{
      border: 1px solid #D4D8DC;  
      width: 100%;
}

/* .custom-product-grid-container #product-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.custom-product-grid-container #product-grid .grid__item{
max-width: 100%;
} */
@media screen and (max-width: 1601px) {
  /* .facets-vertical {
  margin-top: 3.6rem;} */
}
@media screen and (max-width: 1249px) {
  #product-grid.grid--4-col-desktop .grid__item{
    max-width: calc(33.3% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }
}
@media screen and (max-width: 989px) and (min-width: 750px){
  #product-grid.grid--4-col-desktop .grid__item{
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }
}
@media screen and (max-width: 749px) and (min-width: 350px){
  #product-grid.grid--4-col-desktop .grid__item{
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) * 3 / 4);
  }
}
        .talent-directory {
            border-radius: 8px;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
          
        }

        .facets__talent-header {
          margin-top: 12px;
            margin-bottom: 20px;
            position: relative;
        }
        .facets__talent-header::after {
            position: absolute;
            content: '';
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 1px;
            width: calc(100% - 40px);
            background-color: #ddd;
        }

        .facets__talent-header .facets__talent-header-country {
            margin: 0;
            font-size: 16px;
            color: #333;
        }

        .generation-section {
            margin-bottom: 25px;
        }

        .generation-title {
            margin: 0 0 10px 0;
            font-size: 14px;
            color: #333;
        }

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

        .talent-item {
            margin-bottom: 5px;
        }

        .talent-link {
            display: flex;
            align-items: center;
            text-decoration: none;
            font-size: 13px;
            padding: 2px 0;
            transition: color 0.2s ease;
            color: #333;
        }
        .talent-directory .talent-link svg{
          transform: rotateZ(270deg);
          margin-right: .8rem;
        }
        /* .talent-link::before {
            content: "▶";
            margin-right: 8px;
            color: #74C0F2;
            font-size: 10px;
        } */

        .talent-count {
            color: #666;
            margin-left: 5px;
        }
.pagination__list .pagination__item--current:after,.pagination__list  .pagination__item:hover:after{
background-color: #73C0F2;
height: .2rem;
bottom: 4px;
}
.pagination__list .pagination__item{
font-family: "Oswald", "Noto Sans JP", sans-serif;
color: #505050;
}
.pagination__list .pagination__item--next{
  transform: rotateZ(90deg);
}
.pagination__list .pagination__item--prev{
  transform: rotateZ(270deg);
}

@media (hover: hover) {
  .talent-item a:hover {
    opacity: 0.7;
  }
}
/* ==============================================================
# facets
============================================================== */
details .facets__summary:hover .facets__summary-label{
text-decoration: none;
}
.facets-vertical .facet-checkbox input[type=checkbox] + svg rect{
  stroke: #D4D8DC;
}
.facets-vertical .facet-checkbox input[type=checkbox]:checked {
  /* チェックされた時のスタイル */
  background-color: #73C0F2;
  border-color: #73C0F2;
  border-radius: 4px;
}
.facets-vertical .facet-checkbox input[type=checkbox]:checked ~ .svg-wrapper svg path {
  fill: #fff;
}
.facets-vertical-form .facet-filters__sort:focus-visible{
box-shadow: none;
outline: none;
}

facet-filters-form .active-facets__button--light .active-facets__button-inner,
facet-filters-form .active-facets__button--light:hover .active-facets__button-inner,
facet-remove .active-facets__button--light .active-facets__button-inner,
facet-remove .active-facets__button--light:hover .active-facets__button-inner{
box-shadow: 0 0 0 .1rem #73C0F2;
color: #73C0F2;
}
@media screen and (max-width: 989px) and (min-width: 750px){
  facet-filters-form .active-facets__button-wrapper{
  margin-left: 0;
  }
  .facets-vertical facet-remove .active-facets__button{
    padding: .4rem;
  }
  .facets-vertical facet-remove .active-facets__button-remove{
    padding: 0;
  }
}
.talent-directory:first-child{
  margin-top: 12px;
}
.facets__summary-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dual-range-slider {
  padding:  0;
  user-select: none;
  width: 90%;
  margin: auto;
}

.dual-range-slider__container {
  position: relative;
  height: 40px;
  margin: 0 4px;
}

.dual-range-slider__track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  background: #e0e0e0;
  border-radius: 3px;
  transform: translateY(-50%);
}

.dual-range-slider__range {
  position: absolute;
  top: 50%;
  height: 3px;
  background: #74C0F2;
  border-radius: 3px;
  transform: translateY(-50%);
}

.dual-range-slider__thumb {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  background: #74C0F2;
  border: 3px solid #74C0F2;
  border-radius: 50%;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  will-change: transform;
}

.dual-range-slider__thumb:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.dual-range-slider__thumb:active {
  transform: translate(-50%, -50%) scale(1.15);
  z-index: 2;
}

.dual-range-slider__thumb.dragging {
  transition: none;
  transform: translate(-50%, -50%) scale(1.1);
}

.dual-range-slider__thumb--min {
  z-index: 1;
}

.dual-range-slider__thumb--max {
  z-index: 1;
}

.dual-range-slider__values {
  display: grid;
  grid-template-columns: 1fr .5fr 1fr;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
}

.dual-range-slider__value {
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  color: #505050;
  min-width: 80px;
  text-align: center;
}

.dual-range-slider__separator {
  margin: 0 15px;
  color: #505050;
  font-size: 16px;
  display: flex;
  justify-content: center;
}



/* アニメーション効果 */
.dual-range-slider__range {
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.dual-range-slider__range.updating {
  transition: none;
}

.dual-range-slider__value {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.dual-range-slider__value.updating {
  background: #e3f2fd;
  border-color: #74C0F2;
}

/* フォーカス状態 */
.dual-range-slider__thumb:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
}
.custom-product-grid-container .svg-wrapper{
  height: 1rem;
  top: calc(50%);
  transform: translateY(-50%);
}
.facets-vertical .facets__summary-label,
.facets-vertical .facets__summary-inner span{
font-weight: 600;
}
.facets__disclosure-vertical .facets__summary-inner svg{
  transform: rotateZ(0deg);
  transition: transform .3s ease-in-out;
}
.facets__disclosure-vertical[open] .facets__summary-inner svg{
  transform: rotateZ(180deg);
  transition: transform .3s ease-in-out;
}

.talent-list{
  margin-bottom: 20px;
}

/* SP */
@media (max-width: 749px) {
.mobile-facets__submenu price-range{
  padding-top: 0;
}

.dual-range-slider__values {
flex-direction: column;
gap: 10px;
}

.dual-range-slider__value {
width: 100%;
}

.dual-range-slider__separator {
margin: 0;
}
.mobile-facets__summary .mobile-facets__arrow svg{
    transform: rotateZ(270deg);
}
.mobile-facets__summary .mobile-facets__sort .svg-wrapper{
  height: 1rem;
  top: calc(50%);
  transform: translateY(-50%);
}

.mobile-facets__submenu .mobile-facets__close-button svg{
  transform: rotateZ(90deg); 
  margin-right: 12px;
}
.mobile-facets__details .talent-directory {
  padding: 0 2rem 0 2.5rem;
}
/* .talent-directory  .mobile-facets__label{
  padding: .5rem 2rem .5rem 2.5rem;
} */
.facets-vertical facet-remove .active-facets__button{
  padding: .4rem;
  padding-left: 1.25rem;
}
.facets-vertical facet-remove .active-facets__button-remove{
  padding-left: 0;
  padding-right: 0;
  padding-top: .5rem;
}
.mobile-facets__footer button{
  background-color: #73C0F2;
  padding: 10px 0px;
  border-radius: 99px;
}
.mobile-facets__footer button:after,
.mobile-facets__footer .button:not([disabled]):hover:after{
  box-shadow: none;
}

#FacetFiltersFormMobile .mobile-facets__details .mobile-facets__label  input[type=checkbox]:checked ~ svg{
  /* チェックされた時のスタイル */
  background-color: #73C0F2;
  /* border-color: #73C0F2; */
  border-radius: 4px; 
}
#FacetFiltersFormMobile .mobile-facets__details .mobile-facets__label  input[type=checkbox]:checked ~ svg rect{
  stroke: none;
}
#FacetFiltersFormMobile .mobile-facets__details .mobile-facets__label input[type=checkbox]:checked ~ svg.icon-checkmark path{
  fill: #fff;
}
}

/* ==============================================================
# 商品詳細
============================================================== */
.custom-product.product.grid {
  display: grid;
  gap: 10rem 7%;
  /* grid-template-columns: 48% 46%; */
  grid-template-columns: 43% 50%; 
  grid-template-areas: "media info" "textarea info";
  max-width: 1280px;
  margin: auto;
}
@media screen and (max-width: 749px) {
  .custom-product.product.grid {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }
}
.custom-product.product.grid .custom-product__media-wrapper {
  grid-area: media;
  width: 100%;
  max-width: 560px;
}
.custom-product.product.grid .custom-product__info-wrapper {
  grid-area: info;
}
.custom-product.product.grid .custom-product__textarea-wrapper {
  grid-area: textarea;
  width: 100%;
  max-width: 560px;
}
.custom-product.product.grid.no-media {
  grid-template-areas: "textarea info";
}
@media screen and (max-width: 749px) {
  .custom-product.product.grid.no-media {
    margin-top: 4rem;
  }
  .custom-product.product.grid .custom-product__media-wrapper {
    max-width: 100%;
  }
  .custom-product.product.grid .custom-product__textarea-wrapper {
    max-width: 100%;
  }
}

.custom-product__lists {
  padding: 0;
  margin: 0;
}

.custom-product__list {
  padding: 0 1rem;
  border-bottom: 1px solid #D4D8DC;
}
.custom-product__list:first-child {
  border-top: 1px solid #D4D8DC;
}

.custom-product-accordion__head {
  padding: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
@media screen and (max-width: 749px) {
  .custom-product-accordion__head {
    padding: 1.6rem 0;
  }
}
.custom-product-accordion__head .icon {
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 10rem;
  border: 1px solid #D4D8DC;
  position: relative;
  transition: transform 0.3s;
}
.custom-product-accordion__head .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  -webkit-mask: url(./icon_menu-down.svg);
          mask: url(./icon_menu-down.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: var(--main-color);
  transition: transform 0.3s;
}
.custom-product-accordion__head.is-active .icon {
  transform: rotate(180deg);
}
.custom-product-accordion__head.is-active + .custom-product-accordion__body {
  margin-bottom: 2rem;
}

.custom-product-accordion__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  color: #505050;
}
@media screen and (max-width: 749px) {
  .custom-product-accordion__body {
    font-size: 1.4rem;
  }
}

.custom-product-accordion__title {
  margin: 0;
}
@media screen and (max-width: 749px) {
  .custom-product-accordion__title {
    font-size: 1.4rem;
  }
}

/* ==============================================================
# 商品画像
============================================================== */
.custom-media-gallery img {
  width: 100%;
  aspect-ratio: 1/1;
}

@media screen and (max-width: 749px) {
  .custom-media-gallery__main {
    margin: 0 calc(50% - 50vw);
  }
}

.custom-media-gallery__thumbs {
  margin-top: 1.6rem;
}
@media screen and (max-width: 749px) {
  .custom-media-gallery__thumbs {
    margin-top: 1rem;
    margin-right: calc(50% - 50vw);
  }
}

.custom-media-gallery__thumbs-swiper {
  display: none;
}
@media screen and (max-width: 749px) {
  .custom-media-gallery__thumbs-swiper {
    padding-right: 2rem;
  }
}
.custom-media-gallery__thumbs-swiper.swiper-initialized {
  display: block;
}
.custom-media-gallery__thumbs-swiper .swiper-slide-thumb-active {
  position: relative;
}
.custom-media-gallery__thumbs-swiper .swiper-slide-thumb-active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1.5px solid var(--main-color);
  box-sizing: border-box;
}

.custom-media-gallery__thumb {
  line-height: 0;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .custom-media-gallery__thumb:hover {
    opacity: 0.7;
  }
}

/* ==============================================================
# コンテンツ部分
============================================================== */
.custom-product__info-wrapper .product__info-container > * + * {
  margin: 4rem 0;
}
@media screen and (max-width: 749px) {
  .custom-product__info-wrapper .product__info-container > * + * {
    margin: 3rem 0;
  }
}
.custom-product__info-wrapper .product__info-container > div:last-of-type {
  margin-bottom: 0;
}
.custom-product__info-wrapper .product__title {
  margin-top: 2rem;
}
.custom-product__info-wrapper .product__title h1 {
  font-size: 3rem;
  font-weight: 700;
  color: #2F2F2F;
}
@media screen and (max-width: 989px) {
  .custom-product__info-wrapper .product__title h1 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 749px) {
  .custom-product__info-wrapper .product__title h1 {
    font-size: 2.4rem;
  }
}

/* --------------- 特定タグ表示 --------------- */
.custom-product-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.custom-product-label {
  font-size: 1.4rem;
  padding: 0 1.3rem;
  border: 1px solid;
  border-radius: 10rem;
  font-weight: 500;
}
@media screen and (max-width: 749px) {
  .custom-product-label {
    font-size: 1rem;
    padding: 0 0.8rem;
  }
}

.product-label--new,
.product-label--ending-soon{
  border-color: #F86BBA;
  color: #F86BBA;
}

.product-label--digital {
  border-color: #29AFDE;
  color: #29AFDE;
}

.product-label--digital-contents {
  border-color: #29AFDE;
  color: #29AFDE;
}

.product-label--made-to-order {
  border-color: #29AFDE;
  color: #29AFDE;
}
.product-label--made-to-stock{
  border-color: #70be45;
  color: #70be45;
}

/* --------------- 受注期間 --------------- */
.custom-info-block {
  padding: 4rem 0;
  border-top: 1px solid #D4D8DC;
  border-bottom: 1px solid #D4D8DC;
}
@media screen and (max-width: 749px) {
  .custom-info-block {
    padding: 1.5rem 0;
  }
}

.custom-info-block__label {
  font-weight: 600;
  margin: 0;
  color: #2F2F2F;
}
@media screen and (max-width: 749px) {
  .custom-info-block__label {
    font-size: 1.4rem;
  }
}

.custom-info-block__text {
  margin: 2rem 0 0;
  color: #505050;
}
@media screen and (max-width: 749px) {
  .custom-info-block__text {
    margin: 0.5rem 0 0;
    font-size: 1.4rem;
  }
}

/* --------------- 決済マーク --------------- */
.custom-payment-icons {
  margin-top: 2rem;
}
.custom-payment-icons .list-payment {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.custom-payment-icons .list-payment__item {
  line-height: 0;
}

/* --------------- 共有 --------------- */
.custom-share__text {
  text-align: right;
  margin: 0;
  font-weight: 500;
  color: #2F2F2F;
}
@media screen and (max-width: 749px) {
  .custom-share__text {
    font-size: 1.4rem;
  }
}

.custom-share__icons {
  margin-top: 2rem;
  display: flex;
  justify-content: end;
  gap: 1rem;
}
@media screen and (max-width: 749px) {
  .custom-share__icons {
    margin-top: 1rem;
  }
}
.custom-share__icons a {
  display: block;
  line-height: 0;
}
.custom-share__icons .svg-wrapper {
  width: 2.7rem;
  height: 2.7rem;
}
.custom-share__icons .svg-wrapper path {
  fill: #2F2F2F;
}



.cart-notification-wrapper:is(.page-width)>#cart-notification.cart-notification{
  right: 50%;
  top: 4rem;
  transform: translateX(50%);
  box-shadow: none;
  border: #2F2F2F 1px solid;
  border-radius: 4px;
}

.cart-notification-wrapper:is(.page-width)>#cart-notification.cart-notification .cart-notification__close{
  margin: 0;
  height: auto;
  width: auto;
}
@media screen and (max-width: 749px) {
  .cart-notification-wrapper:is(.page-width)>#cart-notification.cart-notification{
  max-width: 90%;
  top: 10px;
  }
}


/* 0722追加 */
@media screen and (max-width:749px){
.product-form__input.product-form__quantity {
    display: block!important;
}

  .price-per-item__container {
    margin-bottom: 20px;
  }
}


/* /* --------------- カートページ --------------- */
/* カート注意事項：共通 */
/* ✅ タブレット（768px以下） */
@media screen and (max-width: 1024px) {
  .cart-notice-box {
    padding: 20px;
    font-size: 13.5px;
    width: 92%;
  }

  .cart-notice-box h2 {
    font-size: 15px;
  }
}

/* ✅ スマホ（600px以下） */
@media screen and (max-width: 600px) {
  .cart-notice-box {
    padding: 16px;
    font-size: 13px;
    width: 92%;
  }

  .cart-notice-box h2 {
    font-size: 14px;
  }
}

/* カートボタンの最大幅調整 */


/* PC幅ではボタン幅を制限する */
@media screen and (min-width: 1025px) {
  .cart__ctas,
  .cart__ctas .button,
  .cart__dynamic-checkout-buttons,
  .cart__dynamic-checkout-buttons > div {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ---------------main-cart-items.liquid --------------- */
/* 上部エリアの幅固定 */
.cart__items {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.cart-notice-box h2 {
  margin-top: 0;
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 16px;
  color: #b02a2a;
}

.cart-notice-box a {
  color: #b02a2a;
  text-decoration: underline;
}
.cart-notice-box {
  background-color: #fff3f3;
  border-radius: 12px;
  padding: 24px;
  margin-top: 32px;
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}

.cart-notice-box {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

#main-cart-footer .cart__footer {
  max-width: 1000px; /* 好みで調整：700〜960pxもあり */
  margin-left: auto;
  margin-right: auto;
}


/* カート空表示のカスタマイズ */

.custom-cart-empty__text {
  font-size: 3.4rem;
  font-weight: 700;
  margin-bottom: 12px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .custom-cart-empty__text {
    font-size: 2.4rem;
  }

/* スカイパイロット */
/* .right-column{
  display: none
} */

