@charset "UTF-8";
@media only screen and (min-width:1441px) {
  /* 1441px以上 */
}
@media (max-width:1099px) {
  /* 1099px以下 */
}
@media (max-width:960px) {
  /* 960px以下 */
}
@media (max-width: 768px) {
  /* 768px以下 */
}
@media (any-hover:hover) {
  /* hover action */
}
.top__heading {
  color: var(--color-text-blue);
  font-size: 56px;
  font-weight: 300;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .top__heading {
    font-size: 40px;
  }
}
.l-header {
  opacity: 0;
  transition-delay: 0s;
  transition-duration: 1s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.top__mv__heading {
  opacity: 0;
  transform: translateY(40px);
  transition-delay: 0s;
  transition-duration: 1s;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.top__mv__thumb {
  opacity: 0;
  transition-delay: 0s;
  transition-duration: 1s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.is-loading-start .l-header {
  opacity: 1;
}
.is-loading-start .top__mv__heading {
  opacity: 1;
  transform: translateY(0);
}
.is-loading-start .top__mv__thumb {
  opacity: 1;
}

.top__mv {
  position: relative;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  padding-top: 114px;
  background-color: var(--color-bg-dark);
  overflow: hidden;
}
.top__mv__outer {
  position: relative;
  width: 100%;
  height: 100%;
}
.top__mv__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 20;
}
.top__mv__inner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 65.17%, rgba(0, 0, 0, 0.7) 92.39%);
  content: "";
}
.top__mv .l-wrapper__outer,
.top__mv .l-wrapper__inner {
  height: 100%;
}
.top__mv__contents {
  height: 100%;
  padding: 66px 0;
  display: flex;
  align-items: flex-end;
}
.top__mv__heading {
  position: relative;
  color: var(--color-text-white);
}
.top__mv__heading__label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.top__mv__heading__title {
  font-size: 78px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.top__mv__hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top__mv__hero__slide {
  position: relative;
}
.top__mv__hero__slide__wrap {
  width: 100%;
  height: 100%;
}
.top__mv__hero__slide__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top__mv__hero__slide__img span {
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: transform 6s linear;
}
.top__mv__hero__slide.-tokyo .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_01.jpg);
}
.top__mv__hero__slide.-osaka .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_02.jpg);
}
.top__mv__hero__slide.-yokohama .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_03.jpg);
}
.top__mv__hero__slide.-kyoto .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_04.jpg);
}
.top__mv__hero__slide.-fukuoka .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_05.jpg);
}
.top__mv__hero__slide.-sapporo .top__mv__hero__slide__img span {
  background-image: url(../img/top/img_mv_06.jpg);
}
.top__mv__hero .swiper-slide .top__mv__hero__slide__wrap {
  transform: translateX(100%);
  overflow: hidden;
  transition-delay: 1.5s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.top__mv__hero .swiper-slide .top__mv__hero__slide__img {
  transform: translateX(-100%);
  transition-delay: 1.5s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.top__mv__hero .swiper-slide-active {
  z-index: 2;
}
.top__mv__hero .swiper-slide-active .top__mv__hero__slide__wrap {
  transform: translateX(0%);
  transition-delay: 0s;
  transition-duration: 1.5s;
}
.top__mv__hero .swiper-slide-active .top__mv__hero__slide__img {
  transform: translateX(0%);
  transition-delay: 0s;
  transition-duration: 1.5s;
}
.top__mv__hero .swiper-slide-active .top__mv__hero__slide__img span {
  transform: scale(1.05);
}
.top__mv__thumb {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
.top__mv__thumb .l-wrapper__inner {
  position: relative;
}
.top__mv__thumb__place {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.top__mv__thumb__place__row {
  width: 100%;
  height: 31px;
  display: flex;
  gap: 2px;
}
.top__mv__thumb__place__item {
  position: relative;
  width: calc(16.6666666667% - 2px + 0.3333333333px);
}
.top__mv__thumb__place__label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: var(--color-text-white);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  display: flex;
  justify-content: center;
}
.top__mv__thumb__item {
  cursor: pointer;
}
.top__mv__thumb__item__bar {
  position: relative;
  width: 100%;
  height: 4px;
  background-color: var(--color-gray3);
  overflow: hidden;
}
.top__mv__thumb__item__bar span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-key-blue);
  transform: scaleX(0);
  transform-origin: top right;
  transition-delay: 0s;
  transition-duration: 1.5s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.top__mv__thumb__item.swiper-slide-thumb-active .top__mv__thumb__item__bar span {
  transition-duration: 4.5s;
  transition-timing-function: linear;
  transform-origin: top left;
}

@media (max-width:960px) {
  .top__mv {
    padding-top: 76px;
  }
}
@media (max-width: 768px) {
  .top__mv__contents {
    padding: 52px 0;
  }
  .top__mv__heading {
    position: relative;
    color: var(--color-text-white);
  }
  .top__mv__heading__label {
    font-weight: 500;
  }
  .top__mv__heading__title {
    font-size: 48px;
  }
  .top__mv__hero__slide.-tokyo .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_01_sp.jpg);
  }
  .top__mv__hero__slide.-osaka .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_02_sp.jpg);
  }
  .top__mv__hero__slide.-yokohama .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_03_sp.jpg);
  }
  .top__mv__hero__slide.-kyoto .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_04_sp.jpg);
  }
  .top__mv__hero__slide.-fukuoka .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_05_sp.jpg);
  }
  .top__mv__hero__slide.-sapporo .top__mv__hero__slide__img span {
    background-image: url(../img/top/img_mv_06_sp.jpg);
  }
  .top__mv__thumb .l-wrapper__outer {
    width: 100%;
  }
  .top__mv__thumb__place__row {
    height: 28px;
  }
  .top__mv__thumb__place__label {
    font-size: 10px;
    letter-spacing: normal;
  }
  .top__mv__thumb__item__bar {
    margin-top: 0;
  }
  .top__mv__thumb__item.swiper-slide-thumb-active .top__mv__thumb__item__bar span {
    transition-duration: 4.5s;
    transition-timing-function: linear;
    transform-origin: top left;
  }
}
.top__event {
  margin-top: 80px;
  padding-bottom: 80px;
}
.top__event__contents {
  margin-top: 32px;
}
.top__event__btn .u-btn {
  margin-top: 64px;
}
.top__event .js-event-item.is-hide {
  display: none;
}

@media (max-width: 768px) {
  .top__event {
    margin-top: 64px;
    padding-bottom: 64px;
  }
  .top__event__btn .u-btn {
    margin-top: 48px;
  }
}
.top__about {
  margin-top: 120px;
}
.top__about__contents {
  margin-top: 48px;
}
.top__about .c-column.-col3 {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .top__about {
    margin-top: 104px;
  }
  .top__about__contents {
    margin-top: 64px;
  }
}
.top__sale {
  margin-top: 120px;
}
.top__sale__wrap {
  position: relative;
  min-height: 433px;
  display: flex;
  overflow: hidden;
}
.top__sale__wrap::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg-black);
  content: "";
}
.top__sale__contents {
  position: relative;
  width: 100%;
  color: var(--color-text-white);
  display: flex;
}
.top__sale__contents::before, .top__sale__contents::after {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  pointer-events: none;
  z-index: 1;
  content: "";
}
.top__sale__contents::before {
  background-image: url(../img/top/bg_sale.png);
}
.top__sale__contents::after {
  background-image: url(../img/top/bg_sale2.png);
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.6) inset;
}
.top__sale__contents__inner {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  z-index: 1;
}
.top__sale__contents__inner .l-wrapper__outer {
  position: relative;
}
.top__sale__contents .u-heading__h3 + p:not([class]) {
  margin-top: 16px;
}
.top__sale__contents .u-link {
  margin-top: 8px;
  display: inline-block;
}

@media (any-hover:hover) {
  .top__sale__wrap::before {
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.3s;
  }
  .top__sale__wrap .u-link {
    transition: color 0.3s;
  }
  .top__sale__wrap .u-link span::before, .top__sale__wrap .u-link span::after {
    transition: opacity 0.3s;
  }
  .top__sale__wrap:hover::before {
    transform: scale(1.1);
  }
  .top__sale__wrap:hover .u-link {
    color: var(--color-text-blue);
  }
  .top__sale__wrap:hover .u-link.-white span::before {
    opacity: 0;
  }
  .top__sale__wrap:hover .u-link.-white span::after {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .top__sale {
    margin-top: 104px;
  }
  .top__sale__wrap {
    min-height: 616px;
  }
  .top__sale__wrap::before {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 45.35%, #000 76.32%), linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), lightgray -21.185px -15.275px/67.456% 122.487% no-repeat;
    background-color: transparent;
  }
  .top__sale__contents {
    text-align: center;
  }
  .top__sale__contents::before {
    background-image: url(../img/top/bg_sale_sp.png);
  }
  .top__sale__contents::after {
    background-image: url(../img/top/bg_sale2_sp.png);
  }
  .top__sale__contents__inner::before {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    content: "";
  }
}
.top__bnr {
  padding: 64px 16px;
  background-color: var(--color-bg-gray);
}
.top__bnr__item img {
  width: 100%;
}
.top__bnr__item__label {
  margin-top: 16px;
  text-align: right;
}
.top__bnr__item__label .u-link {
  color: var(--color-text-base);
  font: var(--font-shorthand-text-vs);
}

@media (any-hover:hover) {
  .top__bnr__item > a .u-link {
    transition: color 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .top__bnr__item > a .u-link span::after {
    background-image: url(../img/icon_arrow_lr-b.svg);
  }
  .top__bnr__item > a:hover .u-link {
    color: var(--color-text-blue);
  }
  .top__bnr__item > a:hover .u-link span::before {
    opacity: 0;
  }
  .top__bnr__item > a:hover .u-link span::after {
    opacity: 1;
  }
}
.top__store {
  margin-top: 120px;
}
.top__store__contents {
  margin-top: 48px;
}
.top__store__body {
  margin-top: 80px;
}

@media (max-width: 768px) {
  .top__store {
    margin-top: 104px;
  }
  .top__store__body {
    margin-top: 96px;
  }
}
.top__tax {
  margin-top: 120px;
  padding: 80px 0;
  background-color: var(--color-bg-gray);
}
.top__tax + .c-recruit {
  margin-top: 0;
}
.top__tax__title {
  font: var(--font-shorthand-h3);
  letter-spacing: 0.03em;
  text-align: center;
}
.top__tax__summary {
  margin-top: 16px;
  font: var(--font-shorthand-text-base);
  text-align: center;
}
.top__tax__row {
  max-width: 900px;
  margin: 40px auto 0;
  display: flex;
  align-items: center;
  gap: 24px;
}
/*サトフル対応で3つめとりあえず追加：中村 2025/9/8
.top__tax__item:nth-child(1) {
  width: 52%;
}
.top__tax__item:nth-child(2) {
  width: 44.4444444444%;
}
*/ 
.top__tax__item:nth-child(1) {
  width: 31.333%;
}
.top__tax__item:nth-child(2) {
  width: 37.333%;
}
.top__tax__item:nth-child(3) {
  width: 31.333%;
}

.top__tax__item img {
  width: 100%;
}

@media (max-width: 768px) {
  .top__tax__title {
    font: var(--font-shorthand-sp-h3);
  }
  .top__tax__summary {
    font: var(--font-shorthand-sp-text-base);
    text-align: left;
  }
  .top__tax__row {
    max-width: none;
    padding: 0 20px;
    flex-direction: column;
  }
  .top__tax__item:nth-child(1) {
    width: 100%;
  }
  .top__tax__item:nth-child(2) {
    width: 100%;
  }
  .top__tax__item:nth-child(3) {
    width: 100%;
  }
}

/*# sourceMappingURL=top.css.map */
