@charset "utf-8";
/* --------------------------------
  TOPページ
-------------------------------- */
.header {
  background-color: var(--body-bg);
  padding: 30rem 100rem;
  position: relative;
}

.header__ttl {
  text-align: center;
}

.header__ttl-en {
  display: block;
  font-size: 97rem;
}

.header__ttl-jp {
  display: block;
  font-size: 21rem;
  font-weight: var(--font-weight-base);
  letter-spacing: .12em;
}

.header__contact {
  bottom: 25rem;
}

.gnav {
  margin-top: 60rem;
}

.gnav__area {
  bottom: 33rem;
  right: 275rem;
}

.top-mv {
  display: flex;
  margin-top: 30rem;
}

.top-slider {
  width: 50%;
}

.top-slider__link {
  display: block;
}

.top-slider__img {
  height: 794rem;
  object-fit: cover;
}

.top-slider__ttl {
  display: none;
}

.swiper-button-next, 
.swiper-button-prev {
  display: none;
}

/* エリアでさがす */
.area {
  position: relative;
  width: 50%;
  z-index: 0;
}

.area__ttl {
  font-size: 28rem;
  font-weight: var(--font-weight-bold);
  left: 30rem;
  position: absolute;
  top: 15rem;
}

.area__menu {
  position: absolute;
  text-align: center;
  z-index: 1;
}

.area__menu.--akasaka {
  left: 403rem;
  top: 299rem;
}

.area__menu.--hiroo {
  left: 394rem;
  top: 358rem;
}

.area__menu.--toranomon {
  left: 386rem;
  top: 415rem;
}

.area__menu.--aoyama {
  left: 132rem;
  top: 250rem;
}

.area__menu.--shirokane {
  left: 305rem;
  top: 564rem;
}

.area__menu.--takanawa {
  left: 384rem;
  top: 652rem;
}

.area__menu.--ebisu {
  left: 174rem;
  top: 485rem;
}

.area__menu.--shibuya {
  left: 52rem;
  top: 340rem;
}

.area__menu.--nihonbashi {
  left: 697rem;
  top: 267rem;
}

.area__menu.--bancho {
  left: 438rem;
  top: 162rem;
}

.area__menu.--ichigaya {
  left: 531rem;
  top: 97rem;
}

.area__menu-item {
  align-items: center;
  background-color: #fff;
  border: 1px solid;
  display: inline-flex;
  font-size: 21rem;
  height: 40rem;
  padding: 0 16rem .1em 20rem;
}

.area__btn {
  bottom: -1px;
  display: block;
  position: absolute;
  right: 0;
  width: 294rem;
}

.area__btn::before {
  background: url(../images/icon/area-btn-arrow.svg) center / contain no-repeat;
  content: "";
  height: 11rem;
  position: absolute;
  right: 30rem;
  top: 23rem;
  width: 24rem;
  z-index: 1;
}

.area__img {
  pointer-events: none;
}

.footer {
  background-color: var(--body-bg);
}

/* ================================================================
  hoverスタイル
================================================================ */
@media (hover: hover) and (pointer: fine) {
  .area__menu-item {
    transition: background-color .5s ease;
  }

  .area__menu-item:hover {
    background-color: #EAE6E6;
    opacity: 1;
  }

  .area__btn:hover {
    opacity: 1;
  }

  .area__btn::before {
    transition: transform .5s ease;
  }

  .area__btn:hover::before {
    transform: translateX(10rem);
  }
}

/* ================================================================
  タブレット版レイアウト
================================================================ */
@media screen and (max-width: 1024px) {
  
  .top-mv {
    display: block;
  }

  .top-slider,
  .area {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }

  .top-slider__ttl  {
    display: block;
    font-size: 20rem;
    font-weight: var(--font-weight-base);
    margin-top: 5rem;
    text-align: center;
  }

  .area {
    margin-top: 30rem;
  }

  .swiper-button-next, 
  .swiper-button-prev {
    display: grid;
    height: 40rem;
    margin-top: -40rem;
    place-content: center;
    width: 40rem;
  }

  .swiper-button-next {
    right: 10rem;
  }

  .swiper-button-prev {
    left: 10rem;
  }

  .swiper-button-next:after, 
  .swiper-button-prev:after {
    border: 4rem solid currentColor;
    border-left: 0;
    border-bottom: 0;
    color: #fff;
    display: block;
    font-size: 0;
    height: 20rem;
    width: 20rem;
  }

  .swiper-button-next:after {
    transform: translateX(-25%) rotate(45deg);
  }

  .swiper-button-prev:after {
    transform: translateX(25%) rotate(-135deg);
  }

}

/* ================================================================
  スマホ版レイアウト
================================================================ */
@media screen and (max-width: 750px) {

  .header {
    padding: 80rem 15rem 35rem;
  }
  
  .header__ttl-en {
    font-size: 44rem;
  }

  .header__ttl-jp {
    font-size: 16rem;
    margin-top: 5rem;
  }

  .header__logo {
    right: 15rem;
    top: 15rem;
  }

  .gnav {
    margin-top: 0;
  }

  .top-mv {
    margin-top: 0;
  }

  .top-slider__img {
    height: 345rem;
  }

  .top-slider,
  .area {
    width: 100%;
  }

  .area__ttl {
    font-size: 20rem;
    left: 20rem;
    top: 20rem;
  }
    
  .area__menu.--akasaka {
    left: 166rem;
    top: 153rem;
  }

  .area__menu.--hiroo {
    left: 163rem;
    top: 190rem;
  }

  .area__menu.--toranomon {
    left: 178rem;
    top: 223rem;
  }

  .area__menu.--aoyama {
    left: 30rem;
    top: 133rem;
  }

  .area__menu.--shirokane {
    left: 126rem;
    top: 288rem;
  }

  .area__menu.--takanawa {
    left: 156rem;
    top: 324rem;
  }

  .area__menu.--ebisu {
    left: 42rem;
    top: 254rem;
  }

  .area__menu.--shibuya {
    left: 8rem;
    top: 182rem;
  }

  .area__menu.--nihonbashi {
    left: 290rem;
    top: 148rem;
  }

  .area__menu.--bancho {
    left: 183rem;
    top: 93rem;
  }

  .area__menu.--ichigaya {
    left: 219rem;
    top: 55rem;
  }

  .area__menu-item {
    font-size: 11rem;
    height: 20rem;
    padding: 0 4rem .1em 5rem;
    letter-spacing: 0;
  }

  .area__btn {
    width: 220rem;
  }

  .area__btn::before {
    height: 8rem;
    right: 20rem;
    top: 17rem;
    width: 18rem;
  }
  
}