@charset "utf-8";

/*
  共通
*/
:root {
  --header-height: 80px;
  --window-half-width: 50vw;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --leading-trim: ((1em - 1lh) / 2);
  --color-white: 255, 255, 255;
  --color-red: 231, 27, 27;
  --color-black1: 34, 34, 34;
  --color-black2: 51, 51, 51;
  --color-gray1: 228, 228, 228;
  --color-gray2: 248, 248, 248;
  --color-gray3: 193, 193, 193;
  --svg-chevron: url('data:image/svg+xml;utf8,<svg width="13" height="9" viewBox="0 0 13 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 4.39062H12" stroke="%23000"/><path d="M7 0.390625L12 4.39062L7 8.39062" stroke="%23000"/></svg>');
  --svg-chevron-external: url('data:image/svg+xml;utf8,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.8535 10.5H11.8535V1.70703L0.707031 12.8535L0 12.1465L11.1465 1L2.35352 1V0L12.8535 0V10.5Z" fill="%23000"/></svg>');
}
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
html {
  font-size: 16px;
  font-family: sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
  scrollbar-gutter: stable;
  color: rgb(var(--color-black2));
  background: rgb(var(--color-gray2));
}
abbr, address, article, aside, audio, b, blockquote, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
h1, h2, h3, h4, h5, h6, th { font-weight: normal; margin: 0; }
em { font-style: normal; }
sub { vertical-align: sub; bottom: 0; }
sup { vertical-align: super; top: 0; }
img { width: 100%; max-width: 100%; height: auto; vertical-align: bottom; backface-visibility: hidden; }
svg { width: 100%; max-width: 100%; height: auto; vertical-align: bottom; fill: currentColor; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; }
li { list-style: none; }
button, [type="button"], [type="reset"], [type="submit"] { padding: 0; border: none; border-radius: 0; background: none; outline: none; -webkit-appearance: initial; appearance: none; cursor: pointer; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
.sp-bl, .sp-il, .tablet-bl { display: none !important; }
.tablet .tablet-bl { display: block !important; }
.opa { transition: 0.3s ease-in-out; }
.w100 { width: 100% !important; }
.none { display: none !important }
.visuallyhidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }
.tj { text-align: justify; }
.cf:before,.cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }
.fl { float: left; }
.fr { float: right; }
.outer {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}
.inner {
  position: relative;
  width: 95%;
  max-width: 1536px;
  margin-inline: auto;
}

/* フォント */
.wf-zenkakugothicnew-n5-active {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.wf-lexend-n4-active .lexend {
  font-family: "Lexend", sans-serif;
}
.wf-montserrat-n5-active .montserrat {
  font-family: "Montserrat", sans-serif;
}
@font-face {
  font-family: "Mobo";
  font-style: normal;
  font-weight: normal;
  src: url(../fonts/Mobo.woff) format("woff");
}
.wf-mobo-n4-active .mobo {
  font-family: "Mobo", sans-serif;
}
.bold, b {
  font-weight: bold;
}
.medium {
  font-weight: 500;
}
.light {
  font-weight: 300;
}

/* カラー */
.white { color: #fff; }
.red { color: rgb(var(--color-red)); }
.black1 { color: rgb(var(--color-black1)); }
.black2 { color: rgb(var(--color-black2)); }
.gray1 { color: rgb(var(--color-gray1)); }
.gray2 { color: rgb(var(--color-gray2)); }
.gray3 { color: rgb(var(--color-gray3)); }

/* トラッキング */
.ls0 { letter-spacing: 0; }
.ls2 { letter-spacing: .002em; }
.ls4 { letter-spacing: .004em; }

/* ボタン */
.btn.inner {
  max-width: fit-content;
}
.btn a,
.btn button {
  min-height: calc(71 / 16 * 1em);
  display: grid;
  grid-template-columns: calc(24 / 16 * 1em) minmax(0, auto) calc(24 / 16 * 1em) calc(77 / 16 * 1em);
  align-items: center;
  border-radius: 4px;
  color: rgb(var(--color-black2));
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  font-weight: 700;
  line-height: 1.642857143;
  text-align: left;
}
.btn--red a,
.btn--red button {
  background: url('data:image/svg+xml;utf8,<svg width="77" height="71" viewBox="0 0 77 71" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 0H10V71L0 0Z" fill="%23E71B1B"/><rect width="67" height="71" transform="translate(10)" fill="%23E71B1B"/></svg>') no-repeat top right/calc(77 / 16 * 1em) 100% rgb(var(--color-white));
}
.btn--black a,
.btn--black button {
  background: url('data:image/svg+xml;utf8,<svg width="77" height="71" viewBox="0 0 77 71" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 0H10V71L0 0Z" fill="%23222222"/><rect width="67" height="71" transform="translate(10)" fill="%23222222"/></svg>') no-repeat top right/calc(77 / 16 * 1em) 100% rgb(var(--color-white));
}
.btn--back a,
.btn--back button {
  direction: rtl;
}
.btn--back.btn--red a,
.btn--back.btn--red button {
  background-image: url('data:image/svg+xml;utf8,<svg width="77" height="71" viewBox="0 0 77 71" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" style="transform: scale(-1, 1);"><path d="M0 0H10V71L0 0Z" fill="%23E71B1B"/><rect width="67" height="71" transform="translate(10)" fill="%23E71B1B"/></svg>');
  background-position: top left;
}
.btn--back.btn--black a,
.btn--back.btn--black button {
  background-image: url('data:image/svg+xml;utf8,<svg width="77" height="71" viewBox="0 0 77 71" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" style="transform: scale(-1, 1);"><path d="M0 0H10V71L0 0Z" fill="%23222222"/><rect width="67" height="71" transform="translate(10)" fill="%23222222"/></svg>');
  background-position: top left;
}
.btn a::before,
.btn button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}
.btn a::after,
.btn button::after {
  content: "";
  grid-column: 4;
  justify-self: end;
  display: block;
  width: calc(15 / 77 * 100%);
  height: calc(11 / 77 * 100%);
  margin-inline: 0 calc(30 / 77 * 100%);
  background: rgb(var(--color-white));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
}
.btn--back a::after,
.btn--back button::after {
  rotate: 180deg;
}
.btn--external a::after,
.btn--external button::after {
  width: calc(13 / 16 * 1em);
  height: calc(13 / 16 * 1em);
  -webkit-mask: var(--svg-chevron-external) no-repeat center/100% auto;
  mask: var(--svg-chevron-external) no-repeat center/100% auto;
}
.btn2.inner {
  max-width: fit-content;
}
.btn2 a,
.btn2 button {
  display: grid;
  grid-template-columns: minmax(0, auto) auto;
  align-items: center;
  gap: 0 calc(16 / 16 * 1em);
  padding-bottom: calc(8 / 16 * 1em);
  border-bottom: 1px solid currentColor;
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  line-height: 1.4375;
}
.btn2 a::after,
.btn2 button::after {
  content: "";
  justify-self: end;
  display: block;
  width: calc(12 / 16 * 1em);
  height: 100%;
  background: currentColor;
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
}
@media (any-hover: hover) {
  .btn a:hover::after,
  .btn button:hover::after {
    animation: chevronAnimation .5s;
  }
  .btn--back a:hover::after,
  .btn--back button:hover::after {
    animation: chevronReverseAnimation .5s;
  }
  .btn--external a:hover::after,
  .btn--external button:hover::after {
    animation: chevronExternalAnimation .5s;
  }
  .btn2 a:hover::after,
  .btn2 button:hover::after {
    animation: chevronAnimation .5s;
  }
}
@media screen and (max-width: 767px) {
  .btn.inner {
    max-width: 560px;
  }
  .btn a,
  .btn button {
    min-height: calc(60 / 16 * 1em);
    grid-template-columns: calc(20 / 16 * 1em) minmax(0, auto) calc(20 / 16 * 1em) calc(60 / 16 * 1em);
    font-size: 16px;
    line-height: 1.4375;
  }
  .btn--red a,
  .btn--red button {
    background-size: calc(60 / 16 * 1em) 100%;
  }
  .btn--black a,
  .btn--black button {
    background-size: calc(60 / 16 * 1em) 100%;
  }
  .btn--back a,
  .btn--back button {
    text-align: right;
  }
  .btn a::after,
  .btn button::after {
    width: calc(15 / 16 * 1em);
    height: calc(11 / 16 * 1em);
    margin-inline: 0 calc(22 / 16 * 1em);
  }
  .btn--external a::after,
  .btn--external button::after {
    width: calc(13 / 16 * 1em);
    height: calc(13 / 16 * 1em);
  }
  .btn2 a,
  .btn2 button {
    font-size: 16px;
  }
}

/* 矢印のアニメーション */
@keyframes chevronAnimation {
  0% {
    translate: 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
  50% {
    translate: 100%;
    clip-path: inset(0% 100% 0% 0%);
  }
  51% {
    translate: -100%;
    clip-path: inset(0% 0% 0% 100%);
  }
  100% {
    translate: 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
}
@keyframes chevronReverseAnimation {
  0% {
    translate: 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
  50% {
    translate: -100%;
    clip-path: inset(0% 100% 0% 0%);
  }
  51% {
    translate: 100%;
    clip-path: inset(0% 0% 0% 100%);
  }
  100% {
    translate: 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
}
@keyframes chevronExternalAnimation {
  0% {
    translate: 0% 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
  50% {
    translate: 100% -100%;
    clip-path: inset(100% 100% 0% 0%);
  }
  51% {
    translate: -100% 100%;
    clip-path: inset(0% 0% 100% 100%);
  }
  100% {
    translate: 0% 0%;
    clip-path: inset(0% 0% 0% 0%);
  }
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.grid {
  display: grid;
}
.flex.column { flex-direction: column; }
.flex.nowrap { flex-wrap: nowrap; }
.flex.reverse { flex-direction: row-reverse; }
.flex.jc-s { justify-content: flex-start; }
.flex.jc-e { justify-content: flex-end; }
.flex.ai-e { align-items: flex-end; }
.flex.ai-st { align-items: stretch; }
.grid.jc-s { justify-content: start; }
.grid.jc-e { justify-content: end; }
.grid.ai-s { align-items: start; }
.grid.ai-e { align-items: end; }
.grid.ai-st { align-items: stretch; }
.jc-c { justify-content: center; }
.ai-c { align-items: center; }

.fit-right { margin-right: calc(50% - var(--window-half-width)); }
.fit-left { margin-left: calc(50% - var(--window-half-width)); }

@media (any-hover: hover) {
  .opa:hover { opacity: 0.7 !important; }
}

@media screen and (max-width: 767px) {
  .pc { display: none !important; }
  .sp-bl { display: block !important; }
  .sp-il { display: inline !important; }
  .inner { width: calc(320 / 380 * 100%); max-width: 560px; }
}



/*
  ヘッダー
*/
.header__content {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(var(--color-white), .5);
}
.header__content--invert {
  background: rgba(var(--color-black1), .5);
}
.header__content__logo {
  margin-right: auto;
  padding-inline: 32px;
}
.header__content--invert .header__content__logo {
  transform: translateZ(0px);
  filter: brightness(0) invert(1);
}
.header__content__logo img {
  display: block;
  max-width: clamp(150px, calc(190 / 1200 * 100vw), 190px);
}
.header__content__directory {
  flex: 0 1 auto;
  padding-right: 32px;
  gap: calc(24 / 16 * 1em) calc(48 / 16 * 1em);
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
}
.header__content__directory__item {
  flex: 0 1 auto;
}
.header__content__directory__item__link {
  line-height: 1.4375;
  color: rgb(var(--color-black1));
}
.header__content--invert .header__content__directory__item__link {
  color: rgb(var(--color-white));
}
.header__content__btns {
  align-self: stretch;
}
.header__content__btns__item {
  flex: 0 0 auto;
}
.header__content__btns__item__link {
  height: 100%;
  place-content: center;
  place-items: center;
  box-sizing: border-box;
  padding: .5em calc(40 / 18 * 1em);
  font-size: clamp(13px, calc(18 / 1200 * 100vw), 18px);
  line-height: 1.444444444;
  background: rgb(var(--color-black1));
}
.header__content__menutrigger {
  flex: 0 0 80px;
  height: 80px;
  justify-content: center;
  justify-items: end;
  align-content: center;
  align-items: start;
  gap: 11px 0;
  background: rgb(var(--color-red));
}
.header__content__menutrigger::before,
.header__content__menutrigger::after {
  content: "";
  display: block;
  width: 35px;
  height: 3px;
  border-radius: 9999px;
  background: rgb(var(--color-white));
  transform-origin: center right;
}
.header__content__menutrigger::after {
  scale: 0.542857143 1;
}
.header__global {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
  height: 100lvh;
  overflow: auto;
  overflow: clip auto;
  overscroll-behavior-y: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.header__global--expanded {
  opacity: 1;
  visibility: visible;
  transition: none;
}
.header__global__content {
  position: relative;
  z-index: 1;
  max-width: 960px;
  min-height: 100%;
  margin-left: auto;
  box-sizing: border-box;
  padding: 103px 128px calc(103px + (100lvh - 100svh));
}
.header__global__content::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: auto;
  right: 0;
  width: calc(1148 / 960 * 100%);
  height: 100%;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, calc(188 / 1148 * 100%) 100%);
  background: rgb(var(--color-red));
}
.header__global__content__logo {
  width: min(50%, 290px);
  transform: translateZ(0px);
  filter: brightness(0) invert(1);
}
.header__global__content__directory {
  margin-top: 48px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 40px calc(64 / 704 * 100%);
}
.header__global__content__directory__list {
  grid-template-columns: 100%;
  align-items: start;
  gap: 40px 0;
}
/* .header__global__content__directory__list__item {
} */
.header__global__content__directory__list__item__link {
  display: block;
}
.header__global__content__directory__list__item__link__enname {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0 .75em;
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  line-height: 1.25;
}
.header__global__content__directory__list__item__link__enname::after {
  content: "";
  display: block;
  width: calc(20 / 32 * 1em);
  height: 1.25em;
  background: currentColor;
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
}
.header__global__content__directory__list__item__link__janame {
  display: inline-block;
  margin-top: calc(8 / 16 * 1em);
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  line-height: 1;
  padding: .175em .15em .25em;
  background: rgb(var(--color-white));
}
.header__global__content__legal {
  margin-top: 48px;
  border-top: 1px solid rgb(var(--color-gray2));
  padding-block: 16px;
  gap: 16px;
}
.header__global__content__legal__item {
  flex: 0 1 auto;
}
.header__global__content__legal__item__link {
  font-size: clamp(10px, calc(12 / 1200 * 100vw), 12px);
  line-height: 1.416666667;
  text-decoration: underline;
}
.header__global__content__legal__item__link:hover {
  text-decoration: underline;
}
.header__global__content__search {
  max-width: 694px;
  margin-top: 32px;
}
.header__global__content__search__link {
  position: relative;
  z-index: 1;
  display: block;
  box-sizing: border-box;
  padding: 32px 56px;
  background: rgb(var(--color-black2));
}
.header__global__content__search__link__desc {
  position: relative;
  z-index: 1;
  max-width: 274px;
  margin-inline: auto;
}
.header__global__content__search__link__chevron {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: auto;
  right: 0;
  width: 48px;
  height: 48px;
  place-items: center;
  background: rgb(var(--color-white));
}
.header__global__content__search__link__chevron::before {
  content: "";
  display: block;
  width: calc(11 / 48 * 100%);
  height: calc(9 / 48 * 100%);
  background: rgb(var(--color-black2));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
  rotate: -45deg;
}
.header__global__menutrigger {
  position: fixed;
  z-index: 2;
  top: 0;
  left: auto;
  right: 0;
  width: 80px;
  height: 80px;
  place-items: center;
  background: rgb(var(--color-red));
}
.header__global__menutrigger::before,
.header__global__menutrigger::after {
  content: "";
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 35px;
  height: 3px;
  border-radius: 9999px;
  background: rgb(var(--color-white));
}
.header__global__menutrigger::before {
  rotate: 45deg;
}
.header__global__menutrigger::after {
  rotate: -45deg;
}
.header__global__mask {
  position: -webkit-sticky;
  position: sticky;
  z-index: -1;
  bottom: 0;
  height: 100lvh;
  margin-top: -100lvh;
  background: rgba(0, 0, 0, .5);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  cursor: pointer;
}
@media (any-hover: hover) {
  .header__content__directory__item__link {
    transition: color .3s;
  }
  .header__content__directory__item__link:hover {
    color: rgb(var(--color-red));
  }
  .header__content__menutrigger::before,
  .header__content__menutrigger::after {
    transition: scale .3s;
  }
  .header__content__menutrigger:hover::before {
    scale: 0.542857143 1;
  }
  .header__content__menutrigger:hover::after {
    scale: 1 1;
  }
  .header__global__content__directory__list__item__link:hover .header__global__content__directory__list__item__link__enname::after {
    animation: chevronAnimation .5s;
  }
  .header__global__content__search__link:hover .header__global__content__search__link__chevron::before {
    animation: chevronExternalAnimation .5s;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .header__content__directory {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header__content__logo {
    padding-inline: 20px;
  }
  .header__content__logo img {
    max-width: 119px;
  }
  .header__content__directory {
    display: none;
  }
  .header__content__btns__item__link {
    padding: .5em calc(20 / 14 * 1em);
    font-size: 14px;
    line-height: 1.428571429;
  }
  .header__content__menutrigger {
    flex: 0 0 50px;
    height: 50px;
    gap: 7px 0;
  }
  .header__content__menutrigger::before,
  .header__content__menutrigger::after {
    width: 22px;
    height: 2px;
  }
  .header__global__content {
    max-width: none;
    margin-left: 0;
    padding: 0 30px calc(40px + (100lvh - 100svh));
  }
  .header__global__content::before {
    width: 100%;
    clip-path: none;
  }
  .header__global__content__logo {
    width: 119px;
    margin-left: -30px;
    padding: 15px 20px;
  }
  .header__global__content__directory {
    margin-top: 40px;
    grid-template-columns: 100%;
    gap: 20px 0;
  }
  .header__global__content__directory__list {
    gap: 20px 0;
  }
  .header__global__content__directory__list__item__link__enname {
    font-size: 24px;
  }
  .header__global__content__directory__list__item__link__enname::after {
    width: calc(20 / 24 * 1em);
  }
  .header__global__content__directory__list__item__link__janame {
    margin-top: calc(5 / 14 * 1em);
    font-size: 14px;
  }
  .header__global__content__legal {
    margin-top: 30px;
  }
  .header__global__content__legal__item__link {
    font-size: 12px;
  }
  .header__global__content__search {
    max-width: 560px;
    margin-top: 30px;
  }
  .header__global__content__search__link {
    padding: 30px 30px 35px;
  }
  .header__global__content__search__link__desc {
    max-width: 260px;
  }
  .header__global__content__search__link__chevron {
    width: 44px;
    height: 44px;
  }
  .header__global__content__search__link__chevron::before {
    width: calc(13 / 44 * 100%);
    height: calc(9 / 44 * 100%);
  }
  .header__global__menutrigger {
    width: 50px;
    height: 50px;
  }
  .header__global__menutrigger::before,
  .header__global__menutrigger::after {
    width: 22px;
    height: 2px;
  }
  .header__global__mask {
    display: none;
  }
}



/*
  メイン
*/
.main {
  overflow: clip;
}

/* タブ */
[role="tab"],
[role="tab"]:focus,
[role="tab"]:hover {
  outline: none;
  cursor: pointer;
  touch-action: manipulation;
}
/* [role="tab"][aria-selected="true"] {
}
[role="tab"][aria-selected="false"] {
} */
[role="tab"]:focus-visible {
  outline: auto -webkit-focus-ring-color;
}
[role="tabpanel"] {
  animation: tabpanelFadein 1s;
}
[role="tabpanel"].is-hidden {
  display: none;
}
@keyframes tabpanelFadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* スライド */
.swiper-button-next, .swiper-button-prev {
  width: 96px;
  --swiper-navigation-size: 80px;
  background: rgb(var(--color-red));
  -webkit-mask: url('data:image/svg+xml;utf8,<svg width="96" height="80" viewBox="0 0 96 80" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="95" height="79" rx="39.5" stroke="%23000"/><path d="M54 40H42" stroke="%23000"/><path d="M47 36L42 40L47 44" stroke="%23000"/></svg>') no-repeat center/100%;
  mask: url('data:image/svg+xml;utf8,<svg width="96" height="80" viewBox="0 0 96 80" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="95" height="79" rx="39.5" stroke="%23000"/><path d="M54 40H42" stroke="%23000"/><path d="M47 36L42 40L47 44" stroke="%23000"/></svg>') no-repeat center/100%;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
  background: rgb(var(--color-gray3));
}
.swiper-button-prev {
  left: 0;
}
.swiper-button-next {
  right: 0;
  rotate: 180deg;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  content: none;
}
@media screen and (max-width: 767px) {
  .swiper-button-next, .swiper-button-prev {
    width: 60px;
    --swiper-navigation-size: 50px;
  }
}

/* モーダル */
.modal {
  display: none;
}
.modal.is-open {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(2.5%, 1fr) minmax(0, 1200px) minmax(2.5%, 1fr);
  grid-template-rows: 70px auto 70px;
  place-items: center;
  background: rgba(0, 0, 0, .8);
  overflow-y: scroll;
  overscroll-behavior-y: contain;
}
.modal[aria-hidden="true"] {
  animation: closeModal .3s ease-out;
}
.modal[aria-hidden="false"] {
  animation: openModal .3s ease-out;
}
@keyframes openModal {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes closeModal {
  0% { opacity: 1; }
  100% { opacity: 0; }
}
.modal-overlay {
  grid-column: 1 / 4;
  grid-row: 1 / 4;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.modal-container {
  grid-column: 2;
  grid-row: 2;
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: 100%;
}
.modal-close {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  position: -webkit-sticky;
  position: sticky;
  z-index: 2;
  top: 70px;
  right: 65px;
  display: block;
  width: 69px;
  height: 105px;
  margin-left: auto;
  background: #333;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="69.94" height="105.07" viewBox="0 0 69.94 105.07"><polygon points="65.19 .71 64.48 0 34.83 29.65 5.19 0 4.48 .71 34.13 30.35 4.48 60 5.19 60.71 34.83 31.06 64.48 60.71 65.19 60 35.54 30.35 65.19 .71"/><path d="M9.48,94.53c-.25-.39-.55-.72-.9-.98-.35-.26-.74-.46-1.17-.6-.43-.14-.87-.21-1.34-.21-.85,0-1.58.16-2.2.49-.61.32-1.11.75-1.5,1.29s-.68,1.14-.86,1.81c-.19.67-.28,1.36-.28,2.07s.09,1.38.28,2.06c.19.68.47,1.28.86,1.82s.89.96,1.5,1.29c.61.32,1.34.49,2.2.49.6,0,1.14-.11,1.62-.32.48-.22.89-.51,1.24-.88.35-.37.63-.81.85-1.31.22-.5.35-1.03.41-1.61h1.22c-.08.79-.27,1.51-.56,2.14-.29.64-.66,1.18-1.12,1.62-.46.44-.99.79-1.61,1.03-.62.24-1.3.36-2.06.36-1.01,0-1.89-.18-2.66-.55s-1.39-.85-1.9-1.47-.88-1.32-1.13-2.12c-.25-.8-.38-1.65-.38-2.54s.13-1.73.38-2.54c.25-.8.63-1.51,1.13-2.13s1.14-1.11,1.9-1.48c.76-.37,1.65-.55,2.66-.55.61,0,1.21.09,1.79.27.58.18,1.11.45,1.58.8.47.35.87.79,1.19,1.3.32.52.52,1.11.6,1.78h-1.22c-.11-.49-.29-.93-.53-1.32Z"/><path d="M17.97,91.97v11.81h7.2v1.04h-8.42v-12.85h1.22Z"/><path d="M29.03,95.86c.25-.8.63-1.51,1.13-2.13s1.14-1.11,1.9-1.48c.76-.37,1.65-.55,2.65-.55s1.89.18,2.65.55c.76.37,1.39.86,1.89,1.48s.88,1.33,1.13,2.13c.25.8.38,1.65.38,2.54s-.13,1.73-.38,2.54-.63,1.51-1.13,2.12-1.13,1.1-1.89,1.47-1.64.55-2.65.55-1.89-.18-2.65-.55c-.76-.37-1.4-.85-1.9-1.47s-.88-1.32-1.13-2.12-.38-1.65-.38-2.54.13-1.73.38-2.54ZM30.16,100.46c.19.68.47,1.28.86,1.82.39.53.89.96,1.5,1.29.61.32,1.34.49,2.2.49s1.58-.16,2.19-.49c.61-.32,1.1-.75,1.49-1.29.39-.53.68-1.14.86-1.82.19-.68.28-1.36.28-2.06s-.09-1.4-.28-2.07c-.19-.67-.47-1.27-.86-1.81-.39-.53-.89-.96-1.49-1.29-.61-.32-1.33-.49-2.19-.49s-1.58.16-2.2.49c-.61.32-1.11.75-1.5,1.29-.39.53-.68,1.14-.86,1.81-.19.67-.28,1.36-.28,2.07s.09,1.38.28,2.06Z"/><path d="M47.01,102.25c.22.44.51.8.89,1.06s.82.45,1.34.57c.52.11,1.07.17,1.66.17.33,0,.7-.05,1.1-.14.4-.1.76-.25,1.11-.46.34-.21.63-.48.85-.81.23-.33.34-.73.34-1.2,0-.36-.08-.67-.24-.94-.16-.26-.37-.49-.63-.67-.26-.18-.54-.33-.85-.44-.31-.11-.62-.21-.92-.28l-2.86-.7c-.37-.1-.74-.22-1.09-.36-.35-.14-.66-.34-.93-.58-.26-.24-.48-.53-.64-.88s-.24-.77-.24-1.28c0-.31.06-.68.18-1.1.12-.42.34-.82.67-1.19.33-.37.78-.69,1.36-.94.58-.26,1.31-.39,2.21-.39.64,0,1.24.08,1.82.25.58.17,1.08.42,1.51.76.43.34.78.75,1.04,1.25.26.5.39,1.08.39,1.74h-1.22c-.02-.49-.13-.92-.33-1.29-.2-.37-.46-.67-.77-.92-.32-.25-.68-.43-1.1-.56-.41-.13-.85-.19-1.31-.19-.42,0-.83.04-1.21.14-.39.09-.73.23-1.03.43s-.53.46-.71.78c-.18.32-.27.73-.27,1.21,0,.3.05.56.15.78.1.22.24.41.42.57.18.16.39.28.62.38.23.1.48.17.75.23l3.13.77c.46.12.88.27,1.29.44.4.17.76.39,1.06.65.31.26.55.57.72.94s.26.82.26,1.35c0,.14-.02.34-.04.58-.03.24-.1.5-.22.77-.11.27-.28.54-.49.82-.21.28-.5.53-.86.75-.37.22-.82.4-1.36.54s-1.19.21-1.94.21-1.46-.09-2.11-.26c-.65-.17-1.2-.44-1.66-.8-.46-.36-.81-.82-1.05-1.39-.25-.56-.35-1.24-.31-2.03h1.22c-.01.66.09,1.21.31,1.66Z"/><path d="M69.85,91.97v1.04h-7.65v4.64h7.16v1.04h-7.16v5.08h7.74v1.04h-8.96v-12.85h8.87Z"/></svg>') no-repeat center/100% auto;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="69.94" height="105.07" viewBox="0 0 69.94 105.07"><polygon points="65.19 .71 64.48 0 34.83 29.65 5.19 0 4.48 .71 34.13 30.35 4.48 60 5.19 60.71 34.83 31.06 64.48 60.71 65.19 60 35.54 30.35 65.19 .71"/><path d="M9.48,94.53c-.25-.39-.55-.72-.9-.98-.35-.26-.74-.46-1.17-.6-.43-.14-.87-.21-1.34-.21-.85,0-1.58.16-2.2.49-.61.32-1.11.75-1.5,1.29s-.68,1.14-.86,1.81c-.19.67-.28,1.36-.28,2.07s.09,1.38.28,2.06c.19.68.47,1.28.86,1.82s.89.96,1.5,1.29c.61.32,1.34.49,2.2.49.6,0,1.14-.11,1.62-.32.48-.22.89-.51,1.24-.88.35-.37.63-.81.85-1.31.22-.5.35-1.03.41-1.61h1.22c-.08.79-.27,1.51-.56,2.14-.29.64-.66,1.18-1.12,1.62-.46.44-.99.79-1.61,1.03-.62.24-1.3.36-2.06.36-1.01,0-1.89-.18-2.66-.55s-1.39-.85-1.9-1.47-.88-1.32-1.13-2.12c-.25-.8-.38-1.65-.38-2.54s.13-1.73.38-2.54c.25-.8.63-1.51,1.13-2.13s1.14-1.11,1.9-1.48c.76-.37,1.65-.55,2.66-.55.61,0,1.21.09,1.79.27.58.18,1.11.45,1.58.8.47.35.87.79,1.19,1.3.32.52.52,1.11.6,1.78h-1.22c-.11-.49-.29-.93-.53-1.32Z"/><path d="M17.97,91.97v11.81h7.2v1.04h-8.42v-12.85h1.22Z"/><path d="M29.03,95.86c.25-.8.63-1.51,1.13-2.13s1.14-1.11,1.9-1.48c.76-.37,1.65-.55,2.65-.55s1.89.18,2.65.55c.76.37,1.39.86,1.89,1.48s.88,1.33,1.13,2.13c.25.8.38,1.65.38,2.54s-.13,1.73-.38,2.54-.63,1.51-1.13,2.12-1.13,1.1-1.89,1.47-1.64.55-2.65.55-1.89-.18-2.65-.55c-.76-.37-1.4-.85-1.9-1.47s-.88-1.32-1.13-2.12-.38-1.65-.38-2.54.13-1.73.38-2.54ZM30.16,100.46c.19.68.47,1.28.86,1.82.39.53.89.96,1.5,1.29.61.32,1.34.49,2.2.49s1.58-.16,2.19-.49c.61-.32,1.1-.75,1.49-1.29.39-.53.68-1.14.86-1.82.19-.68.28-1.36.28-2.06s-.09-1.4-.28-2.07c-.19-.67-.47-1.27-.86-1.81-.39-.53-.89-.96-1.49-1.29-.61-.32-1.33-.49-2.19-.49s-1.58.16-2.2.49c-.61.32-1.11.75-1.5,1.29-.39.53-.68,1.14-.86,1.81-.19.67-.28,1.36-.28,2.07s.09,1.38.28,2.06Z"/><path d="M47.01,102.25c.22.44.51.8.89,1.06s.82.45,1.34.57c.52.11,1.07.17,1.66.17.33,0,.7-.05,1.1-.14.4-.1.76-.25,1.11-.46.34-.21.63-.48.85-.81.23-.33.34-.73.34-1.2,0-.36-.08-.67-.24-.94-.16-.26-.37-.49-.63-.67-.26-.18-.54-.33-.85-.44-.31-.11-.62-.21-.92-.28l-2.86-.7c-.37-.1-.74-.22-1.09-.36-.35-.14-.66-.34-.93-.58-.26-.24-.48-.53-.64-.88s-.24-.77-.24-1.28c0-.31.06-.68.18-1.1.12-.42.34-.82.67-1.19.33-.37.78-.69,1.36-.94.58-.26,1.31-.39,2.21-.39.64,0,1.24.08,1.82.25.58.17,1.08.42,1.51.76.43.34.78.75,1.04,1.25.26.5.39,1.08.39,1.74h-1.22c-.02-.49-.13-.92-.33-1.29-.2-.37-.46-.67-.77-.92-.32-.25-.68-.43-1.1-.56-.41-.13-.85-.19-1.31-.19-.42,0-.83.04-1.21.14-.39.09-.73.23-1.03.43s-.53.46-.71.78c-.18.32-.27.73-.27,1.21,0,.3.05.56.15.78.1.22.24.41.42.57.18.16.39.28.62.38.23.1.48.17.75.23l3.13.77c.46.12.88.27,1.29.44.4.17.76.39,1.06.65.31.26.55.57.72.94s.26.82.26,1.35c0,.14-.02.34-.04.58-.03.24-.1.5-.22.77-.11.27-.28.54-.49.82-.21.28-.5.53-.86.75-.37.22-.82.4-1.36.54s-1.19.21-1.94.21-1.46-.09-2.11-.26c-.65-.17-1.2-.44-1.66-.8-.46-.36-.81-.82-1.05-1.39-.25-.56-.35-1.24-.31-2.03h1.22c-.01.66.09,1.21.31,1.66Z"/><path d="M69.85,91.97v1.04h-7.65v4.64h7.16v1.04h-7.16v5.08h7.74v1.04h-8.96v-12.85h8.87Z"/></svg>') no-repeat center/100% auto;
  cursor: pointer;
}
.modal-content {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff;
}
[data-micromodal-trigger],
[data-open-modal] {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal.is-open {
    grid-template-columns: minmax(calc(30 / 380 * 100%), 1fr) minmax(0, 560px) minmax(calc(30 / 380 * 100%), 1fr);
  }
  .modal-close {
    top: 20px;
    right: 14px;
    width: 39px;
    height: 48px;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
}

/* スワイプ可能アイコン */
.scroll-hint-icon {
  all: initial;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: url(../img/common/pc/icon_scrollCaution.svg) no-repeat center/202px auto rgba(51,51,51,.7); */
  opacity: 0;
  transition: opacity .3s;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 1;
}
.scroll-hint-icon:before,
.scroll-hint-icon:after,
.scroll-hint-text {
  display: none;
}

/* 見出し、コピー、注釈 */
.heading > span {
  display: block;
  font-size: clamp(60px, calc(100 / 1200 * 100vw), 100px);
  line-height: 1.25;
}
.heading > span + span {
  display: inline-block;
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  line-height: 1;
  padding: .01em .075em .09em;
  background: rgb(var(--color-red));
}
.subheading {
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
}
.copy {
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  line-height: 1.8;
}
.caution {
  font-size: clamp(10px, calc(12 / 1200 * 100vw), 12px);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .heading > span {
    font-size: 44px;
  }
  .heading > span + span {
    font-size: 20px;
    margin-top: calc(5 / 20 * 1em);
  }
  .subheading {
    font-size: 20px;
  }
  .copy {
    font-size: 16px;
  }
  .caution {
    font-size: 12px;
  }
}

/* Store Search */
.search__content {
  max-width: 1792px;
  grid-template-columns: minmax(0, 1fr) calc(997 / 1792 * 100%);
  align-items: stretch;
  box-shadow: 4px 4px 16px rgba(0, 0, 0, .25);
  overflow: hidden;
}
.search__content__desc {
  position: relative;
  z-index: 2;
  grid-template-columns: calc(671 / 795 * 100%);
  place-content: center;
  place-items: center;
}
.search__content__desc::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: calc(864 / 795 * 100%);
  height: 100%;
  clip-path: polygon(0% 0%, calc(800 / 864 * 100%) 0%, 100% 100%, 0% 100%);
  background: url(../../img/common/bg_search.webp) no-repeat center/cover;
}
.search__content__desc img {
  transform: translateZ(0px);
  filter: drop-shadow(4px 4px 16px rgba(108, 23, 23, .2));
}
.search__content__photo {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 1;
}
.search__content__chevron {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: end;
  position: relative;
  z-index: 2;
  place-items: center;
  width: clamp(70px, calc(120 / 1200 * 100vw), 120px);
  height: clamp(70px, calc(120 / 1200 * 100vw), 120px);
  background: #fff;
}
.search__content__chevron::before {
  content: "";
  display: block;
  width: calc(24 / 120 * 100%);
  height: calc(16 / 120 * 100%);
  background: rgb(var(--color-red));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
  rotate: -45deg;
}
@media (any-hover: hover) {
  .search__content__photo {
    transition: scale .3s;
  }
  .search__content:hover .search__content__photo {
    scale: 1.05;
  }
  .search__content:hover .search__content__chevron::before {
    animation: chevronExternalAnimation .5s;
  }
}
@media screen and (max-width: 767px) {
  .search__content {
    max-width: 560px;
    grid-template-columns: 100%;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, .2);
  }
  .search__content__desc {
    grid-template-columns: calc(280 / 320 * 100%);
    grid-column: 1;
    grid-row: 1;
    padding-block: 18px 20px;
  }
  .search__content__desc::before {
    width: 100%;
    clip-path: none;
    background: url(../../img/common/bg_search-sp.webp) no-repeat center/cover;
  }
  .search__content__desc img {
    filter: none;
  }
  .search__content__chevron {
    grid-column: 1;
    width: 44px;
    height: 44px;
  }
  .search__content__chevron::before {
    width: calc(13 / 44 * 100%);
    height: calc(8 / 44 * 100%);
  }
}

/* Join Us */
.joinus__content {
  grid-template-columns: 100%;
  align-items: stretch;
  overflow: hidden;
}
.joinus__content__photo {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 1;
}
.joinus__content__desc {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
}
.joinus__content__chevron {
  grid-column: 1;
  grid-row: 1;
  justify-self: end;
  align-self: end;
  position: relative;
  z-index: 3;
  place-items: center;
  width: clamp(70px, calc(120 / 1200 * 100vw), 120px);
  height: clamp(70px, calc(120 / 1200 * 100vw), 120px);
  background: rgb(var(--color-red));
}
.joinus__content__chevron::before {
  content: "";
  display: block;
  width: calc(24 / 120 * 100%);
  height: calc(16 / 120 * 100%);
  background: rgb(var(--color-white));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
  rotate: -45deg;
}
@media (any-hover: hover) {
  .joinus__content__photo {
    transition: scale .3s;
  }
  .joinus__content:hover .joinus__content__photo {
    scale: 1.05;
  }
  .joinus__content:hover .joinus__content__chevron::before {
    animation: chevronExternalAnimation .5s;
  }
}
@media screen and (max-width: 767px) {
  .joinus__content__chevron {
    width: 44px;
    height: 44px;
  }
  .joinus__content__chevron::before {
    width: calc(13 / 44 * 100%);
    height: calc(8 / 44 * 100%);
  }
}

/* サイト内リンクバナー */
.pagelink__heading {
  max-width: 1664px;
  line-height: 1.4375;
  margin-bottom: 40px;
}
.pagelink__content {
  max-width: 1664px;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
}
.pagelink__content__item {
  position: relative;
  z-index: 1;
  display: block;
  background: #fff;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, .2);
}
.pagelink__content__item__desc {
  position: absolute;
  z-index: 2;
  inset: 0;
  grid-template-columns: minmax(0, auto);
  justify-content: start;
  align-content: end;
  align-items: end;
  box-sizing: border-box;
  padding: clamp(20px, calc(40 / 1200 * 100vw), 40px);
}
.pagelink__content:has(.pagelink__content__item:nth-child(3)) .pagelink__content__item__desc {
  padding: clamp(16px, calc(24 / 1200 * 100vw), 24px);
}
.pagelink__content__item__desc__enheading {
  font-size: clamp(11px, calc(14 / 1200 * 100vw), 14px);
}
.pagelink__content__item__desc__jaheading {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
  line-height: 1.458333333;
  margin-block: calc(8 / 24 * 1em) calc(var(--leading-trim));
}
.pagelink__content__item__desc__jaheading::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  width: calc(12 / 24 * 1em);
  height: 1.458333333em;
  margin-inline: calc(10 / 24 * 1em);
  background: rgb(var(--color-red));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
}
.pagelink__content__item__photo {
  position: relative;
  z-index: 1;
}
.pagelink__content__item__photo img {
  height: 100%;
  object-fit: cover;
  object-position: center right;
}
@media (any-hover: hover) {
  .pagelink__content__item:hover .pagelink__content__item__desc__jaheading::after {
    animation: chevronAnimation .5s;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .pagelink__content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .pagelink__heading {
    max-width: 560px;
    margin-bottom: 30px;
  }
  .pagelink__content {
    max-width: 560px;
    grid-template-columns: 100%;
    gap: 15px 0;
  }
  .pagelink__content__item {
    box-shadow: 2px 2px 3px rgba(0, 0, 0, .2);
  }
  .pagelink__content__item__desc {
    padding: 20px 16px;
  }
  .pagelink__content:has(.pagelink__content__item:nth-child(3)) .pagelink__content__item__desc {
    padding: 20px 16px;
  }
  .pagelink__content__item__desc__enheading {
    font-size: 10px;
  }
  .pagelink__content__item__desc__jaheading {
    font-size: 16px;
    margin-block: calc(5 / 16 * 1em) calc(var(--leading-trim));
  }
  .pagelink__content__item__desc__jaheading::after {
    width: calc(7 / 16 * 1em);
  }
}

/* Store Search、Join Us、サイト内リンクバナーの背景・余白 */
.suggest {
  position: relative;
  z-index: 1;
  padding-block: 80px;
  background: url(../../img/common/img_bg.webp) no-repeat center/cover;
}
.suggest:has(.search):has(.pagelink),
.suggest:has(.joinus):has(.pagelink) {
  margin-top: -250px;
  padding-top: 0;
  background-position: top 250px center;
}
.search + .pagelink,
.joinus + .pagelink {
  margin-top: 80px;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .suggest:has(.search):has(.pagelink),
  .suggest:has(.joinus):has(.pagelink) {
    margin-top: -50px;
    padding-top: 0;
    background-position: top 50px center;
  }
}
@media screen and (max-width: 767px) {
  .suggest {
    padding-block: 40px;
    background: url(../../img/common/img_bg-sp.webp) no-repeat center/cover;
  }
  .suggest:has(.search):has(.pagelink),
  .suggest:has(.joinus):has(.pagelink) {
    margin-top: -116px;
    padding-top: 0;
    background-position: top 116px center;
  }
  .search + .pagelink,
  .joinus + .pagelink {
    margin-top: 40px;
  }
}

/* ブランドサイト一覧 */
.brandsite {
  padding-block: 70px 100px;
  background: url(../../img/common/bg_brandsite.webp) no-repeat center/cover;
}
.brandsite__heading {
  max-width: 1664px;
}
.brandsite__heading > span {
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
}
.brandsite__heading > span + span {
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  margin-top: calc(8 / 16 * 1em);
}
.brandsite__content {
  max-width: 1664px;
  margin-top: 32px;
}
.brandsite__content__list {
  gap: 16px;
}
.brandsite__content__list__item {
  flex: 0 1 calc((100% - (16px * 4)) / 5);
}
.brandsite__content__list__item__link {
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
  background: #fff;
  overflow: hidden;
}
.brandsite__content__list__item__link__logo {
  position: relative;
  z-index: 1;
}
.brandsite__content__list__item__link__chevron {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  height: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  place-items: center;
  background: rgb(var(--color-red));
}
.brandsite__content__list__item__link__chevron::before {
  content: "";
  display: block;
  width: calc(8 / 32 * 100%);
  height: calc(5 / 32 * 100%);
  background: rgb(var(--color-white));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
  rotate: -45deg;
}
@media (any-hover: hover) {
  .brandsite__content__list__item__link__logo {
    transition: scale .3s;
  }
  .brandsite__content__list__item__link:hover .brandsite__content__list__item__link__logo {
    scale: 1.1;
  }
  .brandsite__content__list__item__link:hover .brandsite__content__list__item__link__chevron::before {
    animation: chevronExternalAnimation .5s;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .brandsite__content__list__item {
    flex: 0 1 calc((100% - (16px * 2)) / 3);
  }
}
@media screen and (max-width: 767px) {
  .brandsite {
    padding-block: 50px;
    background: url(../../img/common/bg_brandsite-sp.webp) no-repeat center/cover;
  }
  .brandsite__heading {
    max-width: 560px;
  }
  .brandsite__heading > span {
    font-size: 30px;
  }
  .brandsite__heading > span + span {
    font-size: 16px;
    margin-top: calc(10 / 16 * 1em);
  }
  .brandsite__content {
    width: 100%;
    max-width: none;
    margin-top: 30px;
    display: grid;
    grid-template-columns: calc((30 / 380) * (var(--window-half-width) * 2)) max-content calc((30 / 380) * (var(--window-half-width) * 2));
    align-items: stretch;
    overflow: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .brandsite__content::-webkit-scrollbar {
    display: none;
  }
  .brandsite__content__list {
    flex-wrap: nowrap;
    gap: 0 10px;
    grid-column: 2;
  }
  .brandsite__content__list__item {
    flex: 0 0 calc((256 / 380) * (var(--window-half-width) * 2));
    scroll-snap-align: center;
  }
  .brandsite__content__list__item__link {
    box-shadow: 2px 2px 3px rgba(0, 0, 0, .25);
  }
  .brandsite__content__list__item__link__chevron {
    width: 30px;
    height: 30px;
  }
  .brandsite__content__list__item__link__chevron::before {
    width: calc(8 / 30 * 100%);
    height: calc(5 / 30 * 100%);
  }
}

/* Page topボタン */
.pagetop {
  position: -webkit-sticky;
  position: sticky;
  z-index: 999;
  bottom: 0;
}
.pagetop--copy {
  mix-blend-mode: difference;
}
.pagetop__link {
  position: absolute;
  z-index: 1;
  font-size: 12px;
}
.pagetop--icon .pagetop__link {
  bottom: 77px;
  right: 22px;
}
.pagetop--copy .pagetop__link {
  bottom: 20px;
  right: 20px;
}
.pagetop__link__icon {
  width: calc(8 / 12 * 1em);
  height: calc(13 / 12 * 1em);
  background: url('data:image/svg+xml;utf8,<svg width="9" height="13" viewBox="0 0 9 13" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="path-1-inside-1_113_753" fill="white"><path d="M0.390381 0H8.39038V13H0.390381V0Z"/></mask><path d="M0.390381 0V1H8.39038V0V-1H0.390381V0Z" fill="%23E71B1B" mask="url(%23path-1-inside-1_113_753)"/><path d="M4.39038 13L4.39038 1" stroke="%23E71B1B"/><path d="M0.390381 6L4.39038 1L8.39038 6" stroke="%23E71B1B" stroke-linejoin="bevel"/></svg>') no-repeat center/100% auto;
}
.pagetop__link__copy {
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .pagetop {
    display: none;
  }
}

/* Discover */
.discover {
  position: relative;
  z-index: 1;
}
.discover__desc {
  position: relative;
  z-index: 1;
  font-size: calc(200 / 1920 * 100vw);
  gap: .25em;
}
.discover__desc--2 {
  margin-top: -.15em;
}
.discover__desc__copy {
  pointer-events: none;
}
.discover__desc--1 .discover__desc__copy {
  background: linear-gradient(180deg, rgb(var(--color-red)) 10%, #ED5656);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.discover__desc--2 .discover__desc__copy {
  background: linear-gradient(180deg, #F6A8A8, rgb(var(--color-white)) 50%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.discover__gallery {
  position: relative;
  z-index: 1;
  margin-top: calc(42 / 1920 * -100vw);
  overflow: clip visible;
}
.discover__gallery__list {
  transition-timing-function: linear !important;
}
.discover__gallery__list__item {
  flex: 0 0 calc(384 / 1920 * 100vw);
  padding-inline: calc(8 / 1920 * 100vw);
}
.discover__gallery__list__item__photo {
  box-shadow: 4px 4px 8px rgba(0, 0, 0, .25);
}
.discover__gallery__list__item:nth-child(odd) .discover__gallery__list__item__photo {
  margin-top: calc(48 / 384 * 100%);
}
@media screen and (max-width: 767px) {
  .discover__desc {
    justify-content: flex-start;
    font-size: calc(65 / 380 * 100vw);
    gap: 0;
    line-height: .8;
  }
  .discover__desc--1 {
    background: linear-gradient(180deg, rgb(var(--color-red)) 10%, #ED5656);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
  }
  .discover__desc--2 {
    margin-top: -.15em;
  }
  .discover__desc__copy {
    pointer-events: none;
  }
  .discover__desc--1 .discover__desc__copy {
    background: none;
    background-clip: initial;
    -webkit-background-clip: initial;
    color: inherit;
  }
  .discover__desc--1 .discover__desc__copy + .discover__desc__copy {
    margin-left: auto;
    margin-right: .345em;
  }
  .discover__desc--2 .discover__desc__copy {
    background: linear-gradient(180deg, #F6A8A8, rgb(var(--color-white)) 70%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
  }
  .discover__desc--2 .discover__desc__copy + .discover__desc__copy {
    margin-left: auto;
  }
  .discover__gallery {
    margin-top: calc(12 / 380 * -100vw);
  }
  .discover__gallery__list__item {
    flex: 0 0 calc(230 / 380 * 100vw);
    padding-inline: calc(5 / 380 * 100vw);
  }
  .discover__gallery__list__item__photo {
    box-shadow: 2px 2px 5px rgba(0, 0, 0, .25);
  }
  .discover__gallery__list__item:nth-child(odd) .discover__gallery__list__item__photo {
    margin-top: calc(29 / 230 * 100%);
  }
}

/* 下層ページのKV */
.kv__content {
  grid-template-columns: max(2.5%, calc(var(--window-half-width) - 768px)) minmax(0, 1fr) min(calc(960 / 1536 * 100%), 960px) max(2.5%, calc(var(--window-half-width) - 768px));
  grid-template-rows: minmax(calc(var(--header-height) + 80px), 1fr) auto auto 80px;
  align-items: end;
}
.kv__content__photo {
  grid-column: 3 / 5;
  grid-row: 1 / 5;
  align-self: start;
  position: relative;
  z-index: 1;
  opacity: 0;
}
.kv__content__heading {
  grid-column: 2 / 4;
  grid-row: 2;
  position: relative;
  z-index: 2;
}
.kv__content__heading__en {
  display: block;
  font-size: clamp(70px, calc(120 / 1200 * 100vw), 120px);
}
.kv__content__heading__ja {
  display: inline-block;
  margin-top: calc(24 / 32 * 1em);
  font-size: clamp(22px, calc(32 / 1200 * 100vw), 32px);
  line-height: 1;
  padding: .01em .075em .09em;
  background: rgb(var(--color-red));
}
.kv__content__copy {
  grid-column: 2;
  grid-row: 3;
  position: relative;
  z-index: 2;
  font-size: clamp(14px, calc(20 / 1200 * 100vw), 20px);
  line-height: 1.6;
  width: calc(606 / 576 * 100%);
  margin-top: calc(40 / 20 * 1em);
  margin-right: calc(30 / 576 * -100%);
}
.kv__content__copy__caution {
  display: block;
  margin-top: 16px;
  font-size: clamp(10px, calc(14 / 1200 * 100vw), 14px);
  line-height: 1.6;
}
.kv__content__nav {
  grid-column: 2 / 4;
  grid-row: 4;
  align-self: start;
  margin-top: 32px;
}
.kv__content__nav__list {
  align-items: baseline;
  gap: 24px;
}
.kv__content__nav__list__item {
  flex: 0 0 auto;
}
.kv__content__nav__list__item__link {
  grid-template-columns: minmax(0, auto) auto;
  align-items: center;
  gap: 0 calc(9 / 16 * 1em);
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
  line-height: 1.4375;
}
.kv__content__nav__list__item__link::after {
  content: "";
  display: block;
  width: calc(9 / 16 * 1em);
  height: 1.4375em;
  background: url('data:image/svg+xml;utf8,<svg width="9" height="12" viewBox="0 0 9 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.39062 10.5L4.39062 0.5L0.390625 0.5" stroke="%23E71B1B"/><path d="M8.39062 5.5L4.39062 10.5L0.390625 5.5" stroke="%23E71B1B"/></svg>') no-repeat center/100% auto;
}
/* @media (any-hover: hover) {
  .kv__content__nav__list__item__link::after {
    transition: translate .3s;
  }
  .kv__content__nav__list__item__link:hover::after {
    translate: 0 30%;
  }
} */
@media screen and (max-width: 767px) {
  .kv__content {
    grid-template-columns: max(calc(30 / 380 * 100%), calc(var(--window-half-width) - 280px)) minmax(0, 1fr) min(calc(267 / 320 * 100%), 267px) max(calc(30 / 380 * 100%), calc(var(--window-half-width) - 280px));
    grid-template-rows: minmax(calc(var(--header-height) + 30px), 1fr) auto 30px auto;
  }
  .kv__content__photo {
    grid-row: 1 / 4;
  }
  .kv__content__heading__en {
    font-size: 40px;
  }
  .kv__content__heading__ja {
    margin-top: calc(5 / 40 * 1em);
    font-size: 16px;
  }
  .kv__content__copy {
    grid-column: 2 / 4;
    grid-row: 4;
    font-size: 16px;
    width: 100%;
    margin-top: 30px;
    margin-right: 0;
  }
  .kv__content__copy__caution {
    font-size: 12px;
  }
  .kv__content__nav {
    grid-row: 5;
    margin-top: 25px;
  }
  .kv__content__nav__list__item__link {
    font-size: 16px;
  }
}

/* 流れる文字 */
.linear-copy {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  pointer-events: none;
}
.linear-copy p {
  flex: 0 0 auto;
}



/*
  フッター
*/
.footer {
  background: rgb(var(--color-white));
}
.footer__breadcrumbs {
  grid-template-columns: max(2.5%, calc(var(--window-half-width) - 896px)) max-content max(2.5%, calc(var(--window-half-width) - 896px));
  padding-block: 18px;
  background: rgb(var(--color-gray2));
  overflow: auto;
  scrollbar-width: none;
}
.footer__breadcrumbs::-webkit-scrollbar {
  display: none;
}
.footer__breadcrumbs__list {
  grid-column: 2;
  align-items: baseline;
}
.footer__breadcrumbs__list__item {
  flex: 0 0 auto;
  font-size: clamp(11px, calc(14 / 1200 * 100vw), 14px);
}
.footer__breadcrumbs__list__item + .footer__breadcrumbs__list__item::before {
  content: "";
  display: inline-block;
  width: calc(6 / 14 * 1em);
  height: calc(9 / 14 * 1em);
  margin-inline: calc(16 / 14 * 1em);
  background: url('data:image/svg+xml;utf8,<svg width="6" height="9" viewBox="0 0 6 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.353577 0.353516L4.35358 4.35352L0.353577 8.35352" stroke="%23C1C1C1"/></svg>') no-repeat center/100% auto;
}
.footer__breadcrumbs__list__item a {
  color: #c1c1c1;
}
.footer__content {
  box-sizing: border-box;
  padding: 80px max(2.5%, calc(var(--window-half-width) - 896px));
  grid-template-columns: minmax(0, 1fr) min(calc(832 / 1792 * 100%), 832px) min(calc(512 / 1792 * 100%), 512px);
  justify-content: end;
  align-items: start;
  gap: 64px;
}
.footer__content__group--3 {
  align-self: center;
}
.footer__content__group__logo {
  max-width: 253px;
}
.footer__content__group__info {
  margin-top: 24px;
}
.footer__content__group__info__address {
  font-size: clamp(11px, calc(14 / 1200 * 100vw), 14px);
  line-height: 1.428571429;
}
.footer__content__group__sns {
  margin-top: 40px;
  grid-template-columns: minmax(0, auto);
  align-items: start;
  gap: 13px 0;
}
/* .footer__content__group__sns__item {
} */
.footer__content__group__sns__item__link {
  grid-template-columns: calc(23 / 14 * 1em) minmax(0, auto);
  align-items: start;
  gap: 0 calc(10 / 14 * 1em);
  font-size: clamp(11px, calc(14 / 1200 * 100vw), 14px);
  line-height: 1.428571429;
}
.footer__content__group__sns__item__link__icon {
  width: 100%;
  height: 1.428571429em;
}
.footer__content__group__sns__item__link__icon img {
  height: 100%;
  object-fit: contain;
}
/* .footer__content__group__sns__item__link__name {
} */
.footer__content__group__directory {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 0 40px;
}
/* .footer__content__group__directory__list {
} */
.footer__content__group__directory__list__item {
  padding-block: calc(24 / 16 * 1em);
  font-size: clamp(12px, calc(16 / 1200 * 100vw), 16px);
}
.footer__content__group__directory__list__item__link {
  line-height: 1.4375;
}
.footer__content__group__directory__list__item__sublist {
  opacity: .8;
}
.footer__content__group__directory__list__item__sublist__item {
  padding: calc(8 / 14 * 1em);
  font-size: calc(14 / 16 * 100%);
}
.footer__content__group__directory__list__item__sublist__item:nth-child(1) {
  padding-top: calc(32 / 14 * 1em);
}
.footer__content__group__directory__list__item__sublist__item__link {
  line-height: 1.428571429;
}
.footer__content__group__legal {
  margin-top: 16px;
  padding-block: calc(16 / 12 * 1em);
  gap: calc(16 / 12 * 1em) calc(32 / 12 * 1em);
  font-size: clamp(10px, calc(12 / 1200 * 100vw), 12px);
}
.footer__content__group__legal__item {
  flex: 0 1 auto;
}
.footer__content__group__legal__item__link {
  line-height: 1.416666667;
  text-decoration: underline;
}
.footer__content__group__legal__item__link:hover {
  text-decoration: underline;
}
.footer__content__group__search {
  position: relative;
  z-index: 1;
}
.footer__content__group__search__link {
  position: relative;
  z-index: 1;
  display: block;
}
.footer__content__group__search__link__desc {
  position: relative;
  z-index: 1;
}
.footer__content__group__search__link__chevron {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: auto;
  right: 0;
  width: clamp(28px, calc(48 / 1200 * 100vw), 48px);
  height: clamp(28px, calc(48 / 1200 * 100vw), 48px);
  place-items: center;
  background: #fff;
}
.footer__content__group__search__link__chevron::before {
  content: "";
  display: block;
  width: calc(10 / 48 * 100%);
  height: calc(8 / 48 * 100%);
  background: rgb(var(--color-red));
  -webkit-mask: var(--svg-chevron) no-repeat center/100% auto;
  mask: var(--svg-chevron) no-repeat center/100% auto;
  rotate: -45deg;
}
.footer__end {
  box-sizing: border-box;
  border-top: 1px solid rgb(var(--color-gray1));
  padding: 32px max(2.5%, calc(var(--window-half-width) - 896px));
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 64px;
}
.footer__end__brands {
  grid-template-columns: auto minmax(0, auto);
  justify-content: start;
  align-items: center;
  gap: 16px;
}
.footer__end__brands__heading {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
}
/* .footer__end__brands__list {
} */
.footer__end__brands__list__item {
  flex: 0 1 clamp(67px, calc(117 / 1200 * 100vw), 117px);
}
/* .footer__end__brands__list__item__link {
} */
.footer__end__copyright {
  justify-self: end;
  font-size: clamp(10px, calc(12 / 1200 * 100vw), 12px);
}
@media (any-hover: hover) {
  .footer__content__group__directory a {
    transition: color .3s;
  }
  .footer__content__group__directory a:hover {
    color: rgb(var(--color-red));
  }
  .footer__content__group__search__link:hover .footer__content__group__search__link__chevron::before {
    animation: chevronExternalAnimation .5s;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footer__content {
    grid-template-columns: 35% minmax(0, 1fr);
  }
  .footer__content__group--3 {
    grid-column: 2;
    max-width: 560px;
  }
  .footer__end {
    align-items: end;
  }
  .footer__end__brands {
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer__breadcrumbs {
    grid-template-columns: max(30px, calc(var(--window-half-width) - 280px)) max-content max(30px, calc(var(--window-half-width) - 280px));
  }
  .footer__breadcrumbs__list__item {
    font-size: 14px;
  }
  .footer__content {
    padding: 50px max(30px, calc(var(--window-half-width) - 280px));
    grid-template-columns: 1fr;
    justify-content: start;
    gap: 0;
  }
  .footer__content__group--2 {
    position: relative;
    z-index: 1;
    margin-top: 50px;
    padding-top: 50px;
  }
  .footer__content__group--2::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: calc(var(--window-half-width) * 2);
    height: 1px;
    margin-inline: calc(50% - var(--window-half-width));
    background: rgb(var(--color-gray1));
  }
  .footer__content__group--3 {
    align-self: start;
  }
  .footer__content__group__info {
    margin-top: 15px;
  }
  .footer__content__group__info__address {
    font-size: 14px;
  }
  .footer__content__group__sns {
    margin-top: 30px;
  }
  .footer__content__group__sns__item__link {
    font-size: 14px;
  }
  .footer__content__group__directory {
    grid-template-columns: 1fr;
    gap: 12px 0;
  }
  .footer__content__group__directory__list__item {
    padding-block: 12px;
    font-size: 16px;
  }
  .footer__content__group__directory__list__item:nth-child(1) {
    padding-top: 0;
  }
  .footer__content__group__directory__list__item__sublist {
    margin-top: 12px;
  }
  .footer__content__group__directory__list__item__sublist__item {
    padding: calc(10 / 14 * 1em) calc(8 / 14 * 1em);
  }
  .footer__content__group__directory__list__item__sublist__item:nth-child(1) {
    padding-top: calc(10 / 14 * 1em);
  }
  .footer__content__group__legal {
    margin-top: 22px;
    padding-block: 0;
    gap: calc(24 / 12 * 1em) 0;
    font-size: 12px;
  }
  .footer__content__group__legal__item {
    flex: 1 0 100%;
  }
  .footer__content__group__search {
    margin-top: 30px;
  }
  .footer__content__group__search__link__chevron {
    width: 44px;
    height: 44px;
  }
  .footer__content__group__search__link__chevron::before {
    width: calc(13 / 44 * 100%);
    height: calc(9 / 44 * 100%);
  }
  .footer__end {
    padding: 50px max(30px, calc(var(--window-half-width) - 280px)) 30px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0;
  }
  .footer__end__brands {
    grid-template-columns: 100%;
    justify-content: stretch;
    align-items: start;
    gap: 30px 0;
  }
  .footer__end__brands__heading {
    font-size: 22px;
    line-height: 1.454545455;
    text-align: center;
  }
  .footer__end__brands__list.jc-s {
    justify-content: center;
  }
  .footer__end__brands__list__item {
    flex: 0 1 calc(100% / 3);
  }
  .footer__end__copyright {
    justify-self: center;
    font-size: 12px;
    text-align: center;
    margin-top: 30px;
  }
}



/*
  フェードインアニメーション
*/
.fi-u, .fi-d, .fi, .fi-r, .fi-l { visibility: hidden; }

/* fade in */
@keyframes fadeIn { from{ opacity: 0; } to{ opacity: 1; } }
.fi.faded { animation-name: fadeIn; animation-fill-mode: both; animation-duration: .5s; visibility: visible !important; opacity: 0; }

/* fade in up */
@keyframes fadeInUp { from{ opacity: 0; transform: translate3d(0, 20px, 0); } to{ opacity: 1; transform: none; } }
.fi-u.faded { animation-name: fadeInUp; animation-fill-mode: both; animation-duration: .5s; visibility: visible !important; opacity: 0; }

/* fade in down */
@keyframes fadeInDown { from{ opacity: 0; transform: translate3d(0, -20px, 0); } to{ opacity: 1; transform: none; } }
.fi-d.faded { animation-name: fadeInDown; animation-fill-mode: both; animation-duration: .5s; visibility: visible !important; opacity: 0; }

/* fade in right */
@keyframes fadeInRight { from{ opacity: 0; transform: translate(30px,0); } to{ opacity: 1; transform: none; } }
.fi-r.faded { animation-name: fadeInRight; animation-fill-mode: both; animation-duration: .5s; visibility: visible !important; opacity: 0; }

/* fade in left */
@keyframes fadeInLeft { from{ opacity: 0; transform: translate(-30px,0); } to{ opacity: 1; transform: none; } }
.fi-l.faded { animation-name: fadeInLeft; animation-fill-mode: both; animation-duration: .5s; visibility: visible !important; opacity: 0; }

/* 数字のカウントアップ */
.countup { opacity: 0; }



/*
  印刷用
*/
@media print {
  body, html {
    zoom: .8 !important;
  }
}