@charset "UTF-8";

div#grpLocationArea {
  position: relative;
  z-index: 10;
}

/*--------------------------------------------
	grpheaderArea
--------------------------------------------*/
div#grpLocationArea {
  clear: both;
  float: left;
  width: 820px;
  font-size: 82%;
}

div#grpLocationArea.newHD {
  /* 新ヘッダ対応 */
  margin: 10px 0 10px 15px;
  width: auto;
}

div#grpShareBtn {
  float: right;
  width: 120px;
}

div#grpShareBtn li {
  position: relative;
  z-index: 5;
  list-style-type: none;
}

div#grpShareBtn li#grpBtnFb {
  width: 120px;
  text-align: right;
}

div#grpShareBtn li#grpBtnLine {
  display: none;
  width: 100px;
  text-align: right;
}

/* -- Reset -- */
#widewrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

#contentsArea {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f3f3f3;
  line-height: 1.5;
}

#contentsArea #contents {
  width: 100%;
  padding: 0;
  background: none;
  color: #333;
}

.sp {
  display: none !important;
}

a {
  cursor: pointer;
}

a:hover {
  text-decoration: none !important;
  opacity: .8;
  color: inherit;
}

/* common */
.flex-center,
.title,
.navi,
#part1 .info,
#part1 .point,
#part1 .point li,
#part2 .tab,
#part2 .main-info,
#part3 .special,
#part4 .plane-btns,
#part5 .sale {
  display: flex;
  justify-content: center;
  align-items: center;
}

.common-box {
  width: 1000px;
  /* max-width: 1150px; */
  /* padding: 0 13%; */
  box-sizing: border-box;
  margin: 0 auto;
}

.common,
#part1,
#part2,
#part3,
#part4,
#part5 {
  width: 100%;
  padding: 80px 0;
  position: relative;
}

.title p {
  display: block;
  padding-bottom: 16px;
  width: 100%;
  border-bottom: 2px solid #E60012;
  font-size: 36px;
  font-weight: 700;
}

.title img {
  margin-right: 24px;
}

/* ---------------------------  top  -------------------------- */
#Top {
  background-color: #fff;
  position: relative;
  width: 100%;
}

#Top img {
  width: 100%;
}

#Top .imgs {
  position: absolute;
  bottom: 20px;
  width: 40%;
  right: 10%;
  padding: 20px 0 10px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/swiper_bg.png) center top/100% 100% no-repeat;
}

#Top .swiper-box {
  position: relative;
  width: 100%;
  height: 100%;
}

#Top .swiper-container {
  width: 92%;
  border-radius: 41% 44% 50% 50%;
  padding: 0 10px;
  box-sizing: border-box;
}

#Top .swiper-container img {
  width: 100%;
  border-radius: 41% 44% 50% 50%;
}

#Top .swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  right: 12px;
  background-color: rgba(0, 0, 0, 0.4);
  background-image: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow.png);
  background-size: 50%;
  background-position: center;
}

#Top .swiper-button-prev {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  left: 12px;
  background-color: rgba(0, 0, 0, 0.4);
  background-image: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow.png);
  transform: rotate(180deg);
  background-size: 50%;
  background-position: center;
}

/* -------------- navi ------------------ */
.navi {
  background-color: #009700;
  padding: 16px 0;
  font-size: 16px;
  z-index: 2;
  width: 100%;
}

.navi li {
  margin-right: 120px;
}

.navi li a {
  display: block;
  padding-bottom: 24px;
  font-weight: 700;
  color: #fff;
  position: relative;
}

.navi li a::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 20px;
  bottom: 0;
  right: 50%;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow.png) center/100% 100% no-repeat;
  background-size: 20px;
  transform: translateX(50%) rotate(90deg);
}

.navi li:last-of-type {
  margin-right: 0;
}

/* ---------------- main content ------------- */
#part1 {
  background: #fff;
}

#part1 .sticker {
  width: 10%;
  position: absolute;
  top: 35px;
  left: 20px;
}

#part1 .info {
  width: 80%;
  margin: 24px auto 80px;
  position: relative;
}

#part1 .info img {
  border-radius: 16px;
  margin-right: 24px;
  width: calc(50% - 24px);
}

#part1 .info p {
  font-size: 14px;
  line-height: 1.5;
}

#part1 .info a {
  display: inline-block;
  color: #E60012;
  font-weight: 600;
  position: relative;
  padding-left: 20px;
}

#part1 .info a::before {
  position: absolute;
  left: 0;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/win_red.png) center/100% 100% no-repeat;
}

#part1 .info .important {
  display: block;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 24px;
}

#part1 .info .notice {
  display: block;
  font-size: 14px;
  color: #222426;
  position: absolute;
  left: 0;
  bottom: -12%;
}

#part1 .point {
  padding: 24px 0 40px 0px;
}

#part1 .point li {
  position: relative;
  flex-direction: column;
  width: calc((80% - 160px)/3);
  aspect-ratio: 1;
  box-sizing: border-box;
  font-size: 22px;
  font-weight: 700;
  border-radius: 50%;
  background-color: #FFE8EA;
  margin-right: 80px;
  text-align: center;
  line-height: 1.3;
}

#part1 .point li:last-of-type {
  margin-right: 0;
}

#part1 .point li p {
  font-size: 38px;
  color: #E60012;
  line-height: 1.2;
  margin-bottom: 3px;
}

#part1 .point li small {
  font-size: 28px;
}

#part1 .point li span {
  font-size: 32px;
}

#part1 .point li img {
  position: absolute;
  top: -20px;
  left: 0;
  width: 39%;
}

#part2 {
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/bg.png) center/cover repeat-y;
  /* facilities */
}

#part2 .map {
  width: 100%;
  margin: 16px 0 40px;
}

#part2 .map img {
  display: block;
  max-width: 80%;
  margin: 0 auto;
}

#part2 .tab li {
  width: calc((90% - 48px) / 3);
  padding: 16px 0 36px;
  text-align: center;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/tab_bg.png) center/100% 100% no-repeat;
  margin-right: 24px;
  cursor: pointer;
}

#part2 .tab li:last-of-type {
  margin-right: 0;
}

#part2 .tab li a {
  position: relative;
  padding-left: 28px;
  color: #fff;
}

#part2 .tab li a::before {
  position: absolute;
  content: '';
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/location.png) center/100% 100% no-repeat;
  background-size: 20px;
  transform: translateY(-50%);
}

#part2 .tab li:hover {
  opacity: .8;
}

#part2 section {
  margin: 80px 0 64px;
}

#part2 section:last-of-type {
  margin-bottom: 0;
}

#part2 .sub-title {
  width: fit-content;
  font-size: 24px;
  color: #222426;
  font-weight: 700;
  position: relative;
  margin: 0 auto;
  padding-left: 40px;
  margin-bottom: 26px;
}

#part2 .sub-title::before {
  position: absolute;
  content: '';
  width: 32px;
  height: 32px;
  top: 50%;
  left: 0;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/location_black.png) center/100% 100% no-repeat;
  background-size: 32px;
  transform: translateY(-50%);
}

#part2 .main-info {
  padding: 40px 35px;
  background-color: #fff;
  border-radius: 32px;
}

#part2 .main-info a {
  display: block;
}

#part2 .main-info a img {
  width: 100%;
}

#part2 .main-info .btn-group {
  width: calc(60% - 24px);
  margin-left: 24px;
}

#part2 .main-info .btn-group div {
  margin-bottom: 24px;
}

#part2 .main-info .btn-group p {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 12px;
}

#part2 .main-info .btn-group a {
  display: block;
  border-radius: 160px;
  width: 100%;
  padding: 12px 40px 12px 30px;
  text-align: left;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  background-color: #FFE8EA;
  position: relative;
  box-sizing: border-box;
}

#part2 .main-info .btn-group a::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 24px;
  top: 50%;
  right: 16px;
  background: url(../../images/202505/arrow_1.png) center/100% 100% no-repeat;
  background-size: 24px;
  transform: translateY(-50%);
}


#part2 .main-info .btn-group div:nth-child(2) a{
  background-color: #CFE6BA;
}

#part2 .main-info .btn-group div:nth-child(2) a::after{
  background: url(../../images/202505/arrow_2.png) center/100% 100% no-repeat;
}
#part2 .main-info .btn-group div:nth-child(3) a{
  background-color: #FFD6BC;
}

#part2 .main-info .btn-group div:nth-child(3) a::after{
  background: url(../../images/202505/arrow_3.png) center/100% 100% no-repeat;
}
#part2 .main-info .btn-group div:nth-child(4) a{
  background-color: #B0CFDF;
}

#part2 .main-info .btn-group div:nth-child(4) a::after{
  background: url(../../images/202505/arrow_4.png) center/100% 100% no-repeat;
}


#part2 .others {
  position: relative;
  display: block;
}

#part2 .others .links {
  display: flex;
  align-items: center;
  font-size: 14px;
  margin-bottom: 16px;
}

#part2 .others .links li {
  padding: 12px 8px;
}

#part2 .others .links li:first-of-type {
  background-color: #00B900;
  color: #fff;
  font-weight: 700;
  min-width: 90px;
}

#part2 .others .links li:nth-of-type(n+2) {
  border-right: 1px solid #999999;
  border-top: 1px solid #999999;
  border-bottom: 1px solid #999999;
  box-sizing: border-box;
  padding: 11px 8px;
}

#part2 .others .links li:nth-of-type(n+2) a {
  color: #222426;
  position: relative;
  padding-right: 20px;
}

#part2 .others .links li:nth-of-type(n+2) a::after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  top: 50%;
  right: 0;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow_black.png) center/100% 100% no-repeat;
  background-size: 12px;
  transform: translateY(-50%);
}

#part2 .others .map-bg {
  width: 420px;
  pointer-events: none;
  position: absolute;
  top: 53%;
  right: 2%;
  transform: translateY(-50%);
}

#part2 .swiper-slide {
  width: 200px;
}

#part2 .swiper-wrapper {
  padding-bottom: 20px;
}

#part2 .hotel-main {
  background-color: #fff;
  border-radius: 8px;
  padding-bottom: 8px;
}

#part2 .hotel-main .hotel-link {
  background-color: #00B900;
  border-radius: 4px;
  padding: 13px 0;
  font-size: 14px;
  color: #fff;
  text-align: center;
  font-weight: 700;
  display: block;
  box-sizing: border-box;
  margin: 0 8px;
}

#part2 .hotel-item {
  display: block;
  border-radius: 8px;
  color: #222426;
}

#part2 .hotel-item img {
  width: 100%;
  border-radius: 8px 8px 0 0;
  min-height: 140px;
}

#part2 .hotel-item .hotel-info {
  padding: 8px 8px 0 8px;
  color: #222426;
}

#part2 .hotel-item .hotel-info .hotel-name {
  font-size: 14px;
  font-weight: 600;
}

#part2 .hotel-item .hotel-info .hotel-area {
  color: #828487;
  font-size: 12px;
  margin: 8px 0;
}

#part2 .hotel-item .hotel-info .hotel-detail {
  font-size: 12px;
}

#part2 .hotel-item .hotel-info .hotel-price {
  color: #BF0000;
  font-size: 10px;
  text-align: right;
  font-weight: 700;
  margin: 8px 0 12px;
}

#part2 .hotel-item .hotel-info .hotel-price em {
  font-size: 16px;
}

#part2 .hotel-item .hotel-info:hover {
  cursor: default;
}

#part2 .hotel-item:hover {
  opacity: 1;
}

#part2 .sticker {
  position: absolute;
  top: -3%;
  right: 10px;
  width: 20%;
}

#part2 .plan-btn {
  width: 516px;
  margin: 60px auto;
  display: block;
  border-radius: 8px;
  font-weight: 700;
  color: #fff;
  background-color: #0068B7;
  padding: 16px 0;
  position: relative;
}

#part2 .plan-btn p:nth-of-type(2) {
  font-size: 24px;
  text-align: center;
}

#part2 .plan-btn .doll {
  height: 73px;
  position: absolute;
  left: 12px;
  top: -23px;
  pointer-events: none;
}

#part2 .plan-btn .bubble {
  position: absolute;
  pointer-events: none;
}

#part2 .plan-btn .bubble-1 {
  right: 45px;
  bottom: 7px;
}

#part2 .plan-btn .bubble-2 {
  width: 10px;
  left: 16px;
  bottom: 12px;
}

#part2 .plan-btn .bubble-3 {
  width: 8px;
  top: 10px;
  right: 36px;
}

#part2 .plan-btn::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 24px;
  top: 50%;
  right: 12px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow.png) center/100% 100% no-repeat;
  transform: translateY(-50%);
}

#part2 .plan-btn:focus-visible {
  outline: none;
}

#part3 {
  background-color: #fff;
}

#part3 .special {
  padding: 40px;
}

#part3 .special a {
  display: block;
  position: relative;
  padding: 46px 24px;
  font-size: 16px;
  font-weight: 700;
  background-color: #0068B7;
  margin-right: 80px;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  width: calc((90% - 80px * 3) / 3);
}

#part3 .special a:last-of-type {
  margin-right: 0;
}

#part3 .special a span {
  font-size: 24px;
}

#part3 .special a img {
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
}

#part3 .special a::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 24px;
  bottom: 12px;
  right: 50%;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow_blue.png) center/100% 100% no-repeat;
  background-size: 24px;
  transform: translateX(50%);
}

#part3 .sticker {
  position: absolute;
  top: -111px;
  left: 10px;
  width: 12%;
}

#part4 {
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/bg_red.png) center/cover repeat-y;
}

#part4 section {
  text-align: center;
}

#part4 section p {
  font-size: 24px;
  margin-bottom: 24px;
  color: #222426;
  font-weight: 500;
}

#part4 .plane-btns {
  font-size: 20px;
  margin-bottom: 40px;
}

#part4 .plane-btns:last-of-type {
  margin-bottom: 0;
}

#part4 .plane-btns a {
  display: block;
  box-sizing: border-box;
  width: calc((80% - 16px) / 2);
  margin-right: 16px;
  position: relative;
  padding: 22px 0;
  color: #fff;
  font-weight: 700;
  border-radius: 8px;
}

#part4 .plane-btns a:last-of-type {
  margin-right: 0;
}

#part4 .plane-btns a::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 24px;
  top: 50%;
  right: 16px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow_dblue.png) center/100% 100% no-repeat;
  background-size: 24px;
  transform: translateY(-50%);
}

#part4 .plane-btns a img {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  mix-blend-mode: multiply;
  /* 使用混合模式 */
}

#part4 .plane-btns .ana {
  background-color: #1b0e80;
}

#part4 .plane-btns .jal {
  background-color: #CC0000;
}

#part4 .plane-btns .jal::after {
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow_red.png) center/100% 100% no-repeat;
}

#part4 .search-part {
  padding: 40px 30px;
  border-radius: 32px;
  background-color: #fff;
  margin: 16px 0 80px;
}

#part4 .search-part #search-box.verB.test .grey.InpuDateBox.chkDate {
  width: 34%;
}

#part4 .search-part #search-box.verB .searchUndate {
  top: -39px;
}

#part4 .search-part #search-box.verB.test .structure dd.dmArea {
  margin-left: 12px;
}

#part4 .search-part #search-box.verB.test .grey.InpuDateBox.roomNumber {
  width: 15.5%;
  margin: 0;
}

#part4 .search-part #search-box.verB.test .grey.InpuDateBox.roomNumber .structure30 {
  display: flex;
}

#part4 .search-part #search-box.verB.test .grey.InpuDateBox.roomNumber .structure dt {
  min-width: 45px;
}

#part4 .search-part #search-box.verB.test .grey.InpuDateBox.ninzu {
  width: 31%;
}

#part4 .search-part #search-box.verB #searchSwitchArea1 .number ul li.adult {
  width: 66% !important;
}

#part4 .search-part #search-box.verB .number ul li.child {
  width: 33% !important;
}

#part4 .search-part #search-box.verB.test .dhAll.dh {
  margin-top: 60px;
  position: relative;
}

#part4 .search-part #search-box.verB.test #dap-search-form .structure dd.date {
  width: 50%;
}

#part4 .search-part #search-box.verB.test .explain {
  left: 68%;
}

#part4 .search-part #dap-childBox {
  display: flex;
}

#part4 .search-part .expo {
  position: absolute;
  bottom: -30px;
}

#part4 .search-part #search-box p.searchSubmit a {
  background-color: #D04A00 !important;
}

#part5 {
  background-color: #fff;
}

#part5 .sticker {
  position: absolute;
  top: -4%;
  right: 10px;
  width: 15%;
}

#swiperBox5.swiper-box {
  margin: 16px 0 40px;
}

#swiperBox5 .swiper-wrapper {
  width: 100%;
  padding-bottom: 24px;
}

#swiperBox5 .swiper-slide {
  width: calc((100% - 60px) / 4);
}

#swiperBox5 .swiper-slide img {
  width: 100%;
  object-fit: scale-down;
}

#swiperBox5 .swiper-slide p {
  font-size: 14px;
  margin-top: 8px;
}

#part5 .swiper-scrollbar1 {
  bottom: 0;
}

#part5 .usj {
  display: block;
  margin: 0px auto 80px;
}

#part5 .usj img {
  display: block;
  width: auto;
  margin: 0 auto;
  height: 200px;
}

#part5 .sale {
  width: 100%;
  max-width: 1020px;
  margin: 16px auto 0;
  flex-wrap: wrap;
  justify-content: flex-start;
}

#part5 .sale a {
  display: block;
  width: calc((100% - 48px) / 3);
  margin: 0 24px 24px 0;
}

#part5 .sale a:nth-of-type(3n) {
  margin-right: 0;
}

#part5 .sale a img {
  width: 100%;
}

#part5 .expo-bnr{
  display: block;
  margin-bottom: 60px;
}

#part5 .expo-bnr img {
  width: 700px;
  display: block;
  margin: 0 auto;
}

.searchTip {
  font-size: 14px;
  margin: 25px 0;
}

#search-box.verB.test .explain {
  top: -27px !important;
}

#search-box .searchCategory {
  margin-bottom: 27px !important;
}

/* --------  recommend-title  --------- */
.recommend-title {
  text-align: left;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
}

.recommend-note {
  width: 100%;
  margin: 40px auto 0;
  font-size: 14px;
  line-height: 1.6;
}

.couponHotel {
  display: block;
  background: #0068B7;
  color: #fff !important;
  font-size: 30px;
  font-weight: 700;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  border-radius: 8px;
  padding: 40px 65px 40px 50px;
  margin: 82px auto;
  text-align: center;
  position: relative;
  width: fit-content;
}

.couponHotel:hover {
  color: #fff !important;
}

.couponHotel p {
  position: relative;
  padding-left: 60px;
}

.couponHotel p::before {
  width: 44px;
  height: 51px;
  content: '';
  display: block;
  position: absolute;
  top: 30%;
  left: 0px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/icon_coupon.png) center/100% 100% no-repeat;
  transform: translateY(-50%);
}

.couponHotel::after {
  width: 24px;
  height: 24px;
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/arrow_blue.png) center/100% 100% no-repeat;
  transform: translateY(-50%);
}


#part1 .couponHotel {
  padding: 16px 50px 16px 16px;
  font-size: 20px;
  font-weight: 400;
}

#part1 .couponHotel p {
  padding-left: 0;
}

#part1 .couponHotel p::before {
  display: none;
}


.green-btn {
  display: block !important;
  border-radius: 160px;
  padding: 12px 24px 12px 0;
  text-align: center;
  color: #fff !important;
  font-size: 14px;
  background-color: #00B900;
  position: relative;
  box-sizing: border-box;
}

.green-btn::before {
  display: none !important;
}

.green-btn::after {
  position: absolute;
  content: '';
  width: 24px;
  height: 24px;
  top: 50%;
  right: 16px;
  background: url(https://img.travel.rakuten.co.jp/special/expo2025/hotels/images/btn_arrow.png) center/100% 100% no-repeat;
  background-size: 24px;
  transform: translateY(-50%);
}

#part1 .green-btn {
  width: 260px;
  margin-top: 24px;
}

#part2 #swiperBox3 {
  margin-bottom: 16px;
}

#part2 #swiperBox3 .swiper-slide {
  display: block;
  width: 460px;
}

#part2 #swiperBox3 .swiper-slide img {
  width: 100%;
  height: 242px;
}

#part2 #swiperBox4 .swiper-slide {
  display: block;
  width: 200px;
  font-weight: 700;
  font-size: 12px;
  background: #fff;
}

#part2 #swiperBox4 .swiper-slide img {
  width: 100%;
  height: 112px;
  font-size: 0;
}

#part2 #swiperBox4 .slide-area {
  position: absolute;
  top: 0;
  left: 0;
  padding: 6px;
  background: rgba(0, 0, 0, 0.50);
  text-align: center;
  color: #fff;

}

#part2 #swiperBox4 .slide-title {
  color: #000;
  padding: 0 5px 10px;
}

.map-img {
  width: 45%;
}

.video .recommend-title {
  text-align: center;
  font-size: 30px;
}

.video-box {
  max-width: 360px;
  margin: 30px auto 80px;
}

.text-left-align {
  text-align: left;
}

