html, body {
  overflow-x: hidden;
}
@media print, screen and (min-width:768px) {
  body {
    background: url(../img/top/mv_ueno.webp);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100vw;
    height: 100vh;
  }
}
main {
  max-width: 570px;
  width: 100%;
  margin: 0 auto;
  background: #dfdfdf;
}
#js-wrap {
  max-width: 450px;
  width: 100%;
  margin: 0 auto;
  background: #fff;
}
section {
  padding: 4rem 0;
}
.wrap {
  width: 90%;
  margin: 0 auto;
}
img {
  max-width: 100%;
  width: 100%;
}
.js-inview {
  opacity: 0;
  transition: 1s;
}
.js-inview.active {
  opacity: 1;
}
.lp-header .header-inner {
  position: relative;
  border-bottom: 1px solid #c2c0c0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.75rem;
  width: 100%;
}
.lp-header h1 {
  width: 45.771%;
  text-align: center;
}
.lp-header .menu-btn {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 3.75rem;
  background: #877B61;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
}
.booknow {
  position: absolute;
  top: 0;
  left: auto;
  right: auto;
  max-width: 450px;
  width: 100%;
  height: 100vh;
  background: #877B61;
  z-index: 1000;
  transform: translateY(-100%);
  transition: transform 360ms ease;
  will-change: transform;
  pointer-events: none;
}
.booknow.is-open {
  transform: translateY(0);
  pointer-events: auto;
}
.booknow__inner {
  padding: 7.75em 1.25rem 0;
}
.booknow__title {
  margin: 0 0 25px;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 1.125rem;
  line-height: 1;
  color: #fff;
}
.booknow__nav {
  display: grid;
  gap: 20px;
}
.booknow__item {
  position: relative;
  display: block;
  padding: 1.25rem;
  background: #fff;
  text-decoration: none;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 1rem;
  line-height: 1;
  border-radius: 6px;
}
.booknow__item::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: .75rem;
  height: 1.5rem;
  background: url("../img/lp/btn-arrow.svg") no-repeat center center;
  background-size: 100%;
}
.booknow__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.75rem;
  height: 3.75rem;
  border: 0;
  background: #000;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.booknow__close .close-btn {
  width: 1.5rem;
  height: .75rem;
}
.booknow-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .35);
  z-index: 999;
  opacity: 0;
  transition: opacity var(--anim-ms) ease;
}
.booknow-backdrop.is-open {
  opacity: 1;
}
.mv {
  position: relative;
  padding: 0 0 3.4375rem;
}
.mv .mv-bg {
  position: relative;
  width: 100%;
  aspect-ratio: 362 / 570;
  overflow: hidden;
  margin-bottom: 3rem;
}
.mv .mv-bg video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mv .loader {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  transition: opacity 0.6s ease;
  opacity: 1;
}
.mv .loader::after {
  content: "";
  width: 40px;
  height: 40px;
  border: 4px solid #877B61;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.mv .mv-catch {
  width: 55.461%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mv .mv-sub {
  width: 62.154%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}
.mv .mv-title {
  margin-bottom: 2rem;
  line-height: 1.4;
      width: 100%;
    text-align: center;
    margin-right: 0;
    font-size: 1.625rem;
    font-family: TTNorms-Medium, sans-serif;
}
.mv .mv-text {
  font-size: .875rem;
  line-height: 2;
  letter-spacing: .1rem;
}
.hotel {
  overflow: hidden;
}
.hotel .swiper {
  overflow: visible;
  padding: 0 5%;
}
.hotel.hotel-ueno {
  background: #541B28;
  color: #fff;
}
.hotel.hotel-akihabara {
  background: #7B7D51;
  color: #fff;
}
.hotel.hotel-kiyomizu {
  background: #816270;
  color: #fff;
}
.hotel__title {
  font-family: TTNorms-Medium, sans-serif;
  letter-spacing: .05em;
  font-size: 1.625rem;
  line-height: 1.4;
  margin: 0 0 2rem;
  text-align: center;
}
.hotel.hotel-kiyomizu .hotel__title {
  margin: 0 0 1.875rem;
}
.swiper-slide.card {
  overflow: hidden;
  position: relative;
}
.card img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  border-radius: 20px;
}
.card__body {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2.5rem;
}
.card__body h3 {
  color: #fff;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}
.hotel .swiper-scrollbar {
  background: #d9d9d9;
  border-radius: 999px;
  top: auto !important;
  bottom: -2rem !important;
  height: .625rem !important;
  margin: 0 5%;
  left: 0;
  right: 0;
  width: auto !important;
  overflow: hidden;
}
.swiper-scrollbar-drag {
  background: #170303;
  border-radius: 999px;
}
.hotel .hotel-link {
  margin-top: 5rem
}
.hotel .hotel-link a {
  text-align: center;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 1.625rem;
  line-height: 1.4;
  text-decoration: underline;
}
.location {
  overflow: hidden;
}
.location .swiper {
  overflow: visible;
}
.hotel-tabs {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
.hotel-tabs button {
  border: none;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-weight: 500;
  line-height: 1;
  padding: .62rem 0;
  border-radius: 4rem;
  width: 32%;
}
@media print, screen and (max-width:767px) {
.hotel-tabs button {
  padding: .8rem 0 .62rem 0;
}
}
.hotel-tabs .hotel-ueno {
  background: #541B28;
  color: #fff;
  font-size: .625rem;
}
.hotel-tabs .hotel-akihabara {
  background: #7B7D51;
  color: #fff;
  font-size: .625rem;
}
.hotel-tabs .hotel-kiyomizu {
  background: #816270;
  color: #fff;
  font-size: .625rem;
}
.location__title {
  font-family: TTNorms-Medium, sans-serif;
  letter-spacing: .05em;
  font-size: 1.625rem;
  line-height: 1.4;
  margin: 0 0 2rem;
  text-align: center;
  color: #000;
}
.location .card__body {
  height: calc(100% - 5.25rem);
  padding: 0;
  width: 72.727%;
  margin: 0 auto;
}
.location .card__bottom {
  margin-top: .9375rem;
}
.location .card__bottom .card__bottom-title {
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  margin: 0 0 .625rem;
}
.location .card__bottom .card__bottom-link {
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  text-decoration: underline;
}
.location .swiper-scrollbar {
  background: #d9d9d9;
  border-radius: 999px;
  top: auto !important;
  bottom: -4.1875rem !important;
  height: .625rem !important;
  margin: 0 5%;
  left: 0;
  right: 0;
  width: auto !important;
  overflow: hidden;
}
.location .search-block {
  padding-top: 2.5rem;
}
.p-top_widget_cnt > li.active {
  width: 100%;
}
.p-top_timeForm_item {
  margin-bottom: .875rem;
}
.p-top_timeForm_item.-m {
  width: 100%;
}
.p-top_timeForm_item.-checkin {
  flex-basis: 50%;
  max-width: 50%;
}
.p-top_timeForm_item.-s {
  flex-basis: 50%;
  max-width: 50%;
}
.p-top_timeForm_item.-submit {
  flex-basis: 100%;
  max-width: 100%;
  margin-top: 1rem;
}
.p-top_hotels .c-ttl_en, .p-top_news .c-ttl_en {
  width: 100%;
  text-align: left;
}
.hotels-top-block .c-ttl {
  width: 100%;
  text-align: left;
  margin-bottom: 2.5rem;
}
.hotels-top-block .c-ttl_en, .hotels-top-block .c-ttl_ja, .hotels-news .c-ttl_en, .hotels-news .c-ttl_ja {
  width: 100%;
  text-align: center;
  margin-right: 0;
  font-size: 1.625rem;
  font-family: TTNorms-Medium, sans-serif;
}
.hotels-top-block .c-ttl_ja, .hotels-news .c-ttl_ja {
  margin-bottom: 52px;
  font-size: 15px;
}
.p-top_section .c-ttl_ja {
  font-size: 15px;
}
.p-top_hotels {
  padding: 80px 0 0;
  background: #fff;
}
.hotels-top-block .hotels-txt {
  width: calc(100% - 20px - 20px);
  margin: 0 auto;
  line-height: 1.85;
  letter-spacing: 0;
}
.p-top_widget {
  padding: 0 0;
  margin-top: 42px;
}
.p-top_timeForm_item.-m {
  width: 100%;
}
.p-top_experience {
  padding: 90px 0;
}
.-experience_cont li .experience-left, .-experience_cont li .experience-right {
  width: 100%;
}
.experience-right .js-moreCnt {
  width: 100%;
  margin: 0 !important;
}
.p-top_experience .p-top_ecperience_text-box {
  padding-bottom: 60px;
}
.c-ex_tabLabel {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: calc(100% - 40px - 40px);
  padding: 0 0;
  background: #F2F3F4;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.c-ex_tabLabel li {
  border-left: 1px solid #707070;
  padding: 20px 0;
  display: inline-block;
  color: #9F9F9F;
  font-size: 14px;
  width: 50%;
  box-sizing: border-box;
  border-left: none;
  position: relative;
}
.c-ex_tabLabel li:first-child::after, .c-ex_tabLabel li:nth-child(3)::after {
  content: '';
  width: 1px;
  height: 27px;
  background: #707070;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.c-ex_tabLabel li:first-child, .c-ex_tabLabel li:nth-child(2) {
  border-bottom: 1px solid #707070;
}
.c-ex_tabLabel li:last-child {
  border-right: none;
}
.-experience_cont li .experience-left {
  padding-top: 36px;
}
.ex-first {
  background: none;
  width: calc(100% - 40px - 40px);
  margin: 0 auto 40px;
}
.ex-first figure {
  height: auto;
  width: 100%;
}
.ex-first figure::after {
  content: none;
}
.c-ex_label-box {
  position: relative;
  padding: 10px 0 0;
}
.c-ex_label-box .c-ex_title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  color: #1e1f21;
  margin-bottom: 15px;
  padding-bottom: 0;
}
.c-ex_label-box .c-ex_date {
  font-family: TTNorms-Regular, sans-serif;
  font-size: 13px;
  color: #666;
  letter-spacing: .65px;
}
.c-ex_label-box .c-ex_title::after {
  content: '';
  height: 1px;
  width: 25px;
  background: #707070;
  display: block;
  margin-top: 10px;
}
.experience-left .c-list_item_label {
  bottom: 20px !important;
  background: #54565A !important;
  position: absolute !important;
  top: auto !important;
  left: -8px !important;
  right: auto !important;
  max-width: 100%;
  padding: 5px 8px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  letter-spacing: .5px;
  color: #fff;
}
.experience-right .c-list_item {
  width: 100%;
  padding: 0 30px;
  margin-bottom: 40px;
}
.experience-right .c-list_item_label {
  bottom: 20px;
}
.experience-right .c-list_item_ttl {
  font-weight: 700 !important;
}
.experience-right {
  height: auto;
  overflow-y: none;
}
.experience-right .c-sectionA_btns {
  margin: 20px auto 20px;
}
.experience-right .c-sectionA_btns .c-btn {
  width: 74%;
}
.experience-right .c-list_item:nth-child(4), .experience-right .c-list_item:nth-child(5), .experience-right .c-list_item:nth-child(6), .experience-right .c-list_item:nth-child(7), .experience-right .c-list_item:nth-child(8) {
  display: none;
}
.p-top_news .wrap {
  width: calc(100% - 20px - 20px)
}
.experience-right .ex-right-inner {
  scrollbar-base-color: #999;
  height: 100% !important;
  overflow-y: hidden !important;
  width: 100%;
}
.eye-catch div {
  background: no-repeat center center / cover;
  display: block;
}
.eye-catch div:first-child::before {
  content: '';
  display: block;
  padding-top: 66.79389312977099%;
}
.ex-first .main-eye-catch::before {
  content: '';
  display: block;
  height: auto;
  z-index: 2;
}
.main-eye-catch div:first-child::before {
  content: '';
  display: block;
  height: auto !important;
  padding-top: 66.79389312977099% !important;
}
.ex-first .main-eye-catch::after {
  content: none;
}
.ex-first .main-eye-catch div {
  position: relative;
  height: auto !important;
}
.experience-right .c-list_item:hover {
  background-color: transparent;
}
.l-footer_black .wrap {
  margin-bottom: 50px;
  width: calc(100% - 20px - 20px);
  margin-right: auto;
  margin-left: auto;
}
.foot-hotel_block {
  justify-content: flex-start;
  margin-bottom: 40px;
}
.l-footer_black .wrap .l-container-s {
  width: 100%;
}
.foot-hotel_block .hotels-nohgahotel {
  width: 88%;
  padding: 0;
  border-bottom: 1px solid #fff;
  border-right: none;
  margin: 0 auto;
}
.foot-hotel_block .hotels-nohgahotel a {
  width: 33%;
  margin: 0px 2.6667% 20px;
}
.foot-hotel_block .hotels-niwa {
  width: 27.466%;
  margin: 0 0 0 10%;
  padding: 10px 0 10px 0;
}
.foot-bottom_block .l-footer_black_l_head {
  font-family: TTNorms-Medium, sans-serif;
  font-size: 24px;
  text-transform: uppercase;
  margin-right: 0;
  border-right: none;
  padding: 0;
  margin-bottom: 10px;
  width: 100%;
}
.l-footer_black_l::after {
  content: none;
}
.l-footer_black_l p {
  margin: 0px 0 0px 0;
  line-height: 1.9;
  font-size: 13px;
}
.foot-contact-txt {
  padding-top: 5px;
  margin-bottom: 30px;
}
.l-footer_black_l.-en {
  width: 100%;
}
.foot-contact-txt {
  padding-top: 5px;
  margin-bottom: 30px;
}
.l-footer_black_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.l-footer_black_r.-en {
  padding-left: 0;
  text-align: left;
  width: 100%;
}
.foot-hotel_block .l-footer_black_l_head {
  margin-bottom: 0;
  margin-right: 10px;
  padding: 20px 10px 20px 0;
}
.l-footer_black {
  background-color: #1e1f21;
  color: #fff;
  padding: 50px 0 0;
  font-size: 11px;
}
#lp .location .p-top_timeForm_item.-submit {
  margin-bottom: 0 !important;
}
#lp .location .p-top_widget_cnt {
  margin-bottom: 0;
  padding-top: 20px;
}
#lp .p-top_experience {
  padding: 4rem 0 6rem;
}
#lp .-experience_cont {
  margin-top: 40px;
}


.other-hotel {
  padding: 0 0 5rem 0;
}
.other-hotel .other-hotel__inner {
  align-items: center;
  
}
.other-hotel .other-hotel__inner img {
  border-radius: 1rem;
  
}
.other-hotel .other-hotel__inner .hotelniwa-img-box {
  width: 30%;
}
.other-hotel .other-hotel__inner .hotelniwa-txt-box {
  width: 60%;
}
.other-hotel .other-hotel__inner .hotelniwa-txt-box p {
  color: #fff;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
}
.other-hotel .other-hotel__inner .hotelniwa-txt-box p a {
  margin-top: .5rem;
  color: #fff;
  text-decoration: underline;
}
.other-hotel .other-hotel__name {
  padding-top: 1rem;
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  margin: 0 0 .625rem;
}
.other-hotel .other-hotel__link {
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  text-decoration: underline;
}

.experience-block:not(:last-child) {
  margin-bottom: 4rem;
}
.experience-block figure {
  margin-bottom: .9375rem;
}
.experience-block .experience-title {
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  margin: 0 0 .625rem;
}
.experience-block .experience-link {
  color: #000;
  font-family: TTNorms-Regular, sans-serif;
  letter-spacing: .05em;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
  text-decoration: underline;
}