@charset "UTF-8";
.sp{display: none;}
div#grpLocationArea{clear:both;float:left;width:820px;font-size:82%;}
div#grpLocationArea.newHD{margin:10px 0 10px 15px;width:auto;}
#widewrapper{font-family: "Noto Sans JP", sans-serif; line-height: 1.5; position: relative; color: #333;clear: both;}
#Top{width: 100%; height: 400px; display: flex; justify-content: center; align-items: center; background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/kv.jpg) no-repeat center center / cover;}
#Top h1{color: #fff; font-size: 42px; font-weight: bold; text-shadow: 0 2px 4px rgba(0,0,0,.7); letter-spacing: 4px; margin-bottom: 64px;}
.navi{display: flex; justify-content: center; margin: 0 auto;padding-top: 20px;padding-bottom: 20px;}
#topNav{background-color: #fff;width: 100%;z-index: 999;min-height: 42px;}
.navi li{padding: 0 32px;}
.navi li a{display: flex; justify-content: center; align-items: center; gap: 8px; font-size: 20px; color: #064DA4; font-weight: 500;height: 32px;}
.navi li a:hover{text-decoration: none; opacity: 0.8;}
.navi li:nth-of-type(2){border-left: 1px solid #ccc; border-right: 1px solid #ccc;}
.lead{text-align: center; font-size: 12px; margin-bottom: 50px;margin-top: 30px;}
.container{max-width: 1280px; width: 96%; margin: 0 auto 80px;}
.mds{text-align: center; font-size: 24px; margin-bottom: 32px; padding-top: 36px; background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/lego_icon.png) no-repeat center top;}
.subTtl{text-align: center; font-size: 12px; margin-bottom: 40px;}

#guide .swiper-wrapper li{background:#fff;border:1px solid #eaeaea;border-radius:4px;box-sizing:border-box;}
#guide .swiper-wrapper li a{display:block;margin:0 auto;transition:all 0.3s ease;padding-bottom:4px;}
#guide .swiper-wrapper li a:hover{opacity:0.8;transition:all 0.3s ease;text-decoration:none;}
#guide .swiper-wrapper li a img{width:100%;border-radius:4px 4px 0 0;}
#guide .swiper-wrapper li a p{margin:12px;}
#guide .swiper-wrapper li a p.text{font-size:14px;padding:6px 0 0 0;text-align:left;line-height:1.4;font-weight:normal;}
#guide .swiper{margin-bottom:32px;padding-bottom:18px;}
.swiper-scrollbar{background:rgba(0,0,0,.1)!important;}
.swiper-scrollbar-drag{background:rgba(0,0,0,.5)!important;}
.linkBtn{font-weight:normal;color:#fff;background:#008C3D;padding:12px 0;text-align:center;margin-top:10px;border-radius:4px;}
.guide_date{text-align:right;margin-top:8px;font-size:12px;color:#8C8C8C;font-weight:normal;}

#pickup{position: relative;}
#gallery {margin-bottom: 16px; border-radius: 4px; overflow: hidden;}
#gallery .swiper-slide{width: 792px;}
#pickup .swiper-slide img{display: block; width: 100%; border-radius: 4px;}
#thumbs {margin-bottom: 24px;}
#thumbs .swiper-slide{width: 186px; margin-left: 8px;}
#thumbs .swiper-slide:hover{cursor: pointer;}
#thumbs .swiper-slide span{display: block; text-align: center; font-size: 12px; margin-top: 8px;}
#thumbs .swiper-wrapper{justify-content: center;}
#pickup .swiper-button-next, #pickup .swiper-button-prev{width: 48px; height: 48px; text-indent: -9999px; top: calc(50% - 50px);}
#pickup .swiper-button-next{right: calc(50% - 416px); background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/arr_right.png) no-repeat;}
#pickup .swiper-button-prev{left: calc(50% - 416px);  background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/arr_left.png) no-repeat;}
.pickup_explain{position: absolute; width: 792px; bottom: 0; left: 50%; transform: translateX(-50%);transition: opacity 0.1s ease-in-out;display: block;}
.pickup_explain h3{text-align: center; font-size: 16px; display: flex; justify-content: center; align-items: center; margin-bottom: 12px;}
.pickup_explain h3 span:first-of-type{padding: 4px 8px; font-size: 14px; border: 1px solid #333; margin-right: 16px; font-style: normal;}
.pickup_explain p{text-align: center; font-size: 14px;}
.swiper-slide-thumb-active .pickup_explain{display: block;}

.sealifeBox{display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;}
.sealifeBox .swiper{max-width: 624px; padding: 0 20px; width: 48%; box-sizing: border-box; margin: 0;}
.sealifeBox .swiper-slide{width: 100%;}
.sealifeBox .swiper-slide img{display: block; width: 100%; border-radius: 4px;}
.sealifeBox .sealifeText{max-width: 640px; width: 48%;}
.sealifeBox .sealifeText h3{font-size: 18px; margin-bottom: 16px; text-align: center;}
.sealifeBox .sealifeText p{font-size: 14px;}
.sealifeBox .swiper-button-next, .sealifeBox .swiper-button-prev{width: 48px; height: 48px; text-indent: -9999px;}
.sealifeBox .swiper-button-next{right: 0; background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/arr_right.png) no-repeat;}
.sealifeBox .swiper-button-prev{left: 0;  background: url(https://img.travel.rakuten.co.jp/themepark/legoland/202503/images/arr_left.png) no-repeat;}

#partner{margin-top: 64px;}
#legoHotels h3{padding: 56px 0 24px; margin-top: 56px; font-size: 20px; text-align: center; border-top: 1px solid #D9D9D9;}
#legoHotels h4{text-align: center; margin-bottom: 24px; font-size: 16px;}
#official h4{color: #E60012;}
#partner h4{color: #0070BC;}
.tokuten{border-radius: 4px; overflow: hidden; border: 1px solid; margin-bottom: 24px;}
.tokuten dt{text-align: center; color: #fff; font-size: 14px; font-weight: 400; padding: 8px;}
#official .tokuten{border-color: #E60012;}
#partner .tokuten{border-color: #0070BC;}
#official .tokuten dt{background: #E60012;}
#partner .tokuten dt{background: #0070BC;}
.tokuten dd{padding: 20px 0;}
.tokuten ul{width: 795px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 56px;}
.tokuten ul li{font-size: 12px; padding-left: 32px; position: relative;}
.tokuten ul li:after{position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-size: 16px;}
.tokuten ul li:first-of-type:after{content: '❶';}
.tokuten ul li:nth-of-type(2):after{content: '❷';}
.tokuten ul li:nth-of-type(3):after{content: '❸';}
#official .tokuten ul li:after{color: #E60012;}
#partner .tokuten ul li:after{color: #0070BC;}
.hotels{display: flex; flex-wrap: wrap; gap: 2%;}
.hotels .htl{max-width: 302px; width: 23.5%; border: 1px solid #EAEAEA; border-radius: 4px; padding: 16px; box-sizing: border-box;margin-bottom: 24px;}
.hotels .htl .swiper{padding-bottom: 32px;}
.hotels .htl img{border-radius: 4px; width: 100%;}
.swiper-pagination-bullet{width: 12px; height: 12px;}
.swiper-pagination-bullet-active{background: #6D6D6D;}
.htlName{font-weight: 700; font-size: 14px; margin-bottom: 8px;}
#official .htlName{text-align: center;}
.chara{display: flex; gap: 4px; margin-bottom: 8px;}
.chara li{font-size: 11px; border: 1px solid; border-radius: 2px; padding: 2px 4px;}
#official .chara li{color: #E60012; border-color: #E60012;}
#partner .chara li{color: #0070BC; border-color: #0070BC;}
.catch{border-radius: 4px; background: #F2F2F2; font-weight: 600; padding: 4px 8px; font-size: 12px; margin: 8px 0;}
.planName{font-size: 12px; margin-bottom: 16px;}
.htl .btn{display: flex; justify-content: space-between; gap: 8px;}
.htl .btn li{flex: 1; position: relative;}
.htl .btn li a{border-radius: 4px; padding: 12px 0; color: #fff; font-weight: 500; font-size: 11px; display: block; text-align: center; cursor: pointer;}
.htl .btn li a:hover{text-decoration: none; opacity: 0.8;}
.htl .btn li .jr_thickbox{ width: 212px; border-radius: 8px; padding-bottom: 16px; position: absolute; top: 45px; right: -40px; z-index: 99;}
.htl .btn li .jr_thickbox dt{ margin: 16px auto 0; text-align: center; font-size: 12px; color: #fff;}
.htl .btn li .jr_thickbox .close-icon { position: absolute; top: -10px; right: -10px; width: 20px; height: 20px; background: #fff; border-radius: 50px; cursor: pointer; }
.htl .btn li .jr_thickbox .close-icon::before, .jr_thickbox .close-icon::after { content: ''; position: absolute; top: 50%; left: 50%; width: 80%; height: 2px;}
.htl .btn li .jr_thickbox .close-icon::before { transform: translate(-50%, -50%) rotate(45deg); }
.htl .btn li .jr_thickbox .close-icon::after { transform: translate(-50%, -50%) rotate(-45deg); }
.htl .btn li .jr_thickbox dd{ margin: 8px 16px 0;}
.htl .btn li .jr_thickbox dd a{ display: block; background: #fff !important; font-size: 12px; padding: 8px 0; text-align: center; border-radius: 5px; position: relative;}
.htl .btn li .jr_thickbox dd a.ana{ border: 1px solid #313C95; color: #313C95 ;}
.htl .btn li .jr_thickbox dd a.jal{ border: 1px solid #CC0000; color: #CC0000;}
.htl .btn li .jr_thickbox dd a.jr{ border: 1px solid #000; color: #000;}
.htl .btn li .jr_thickbox dd a:after { content: ""; display: inline-block; position: absolute; top: 50%; right: 10px; width: 8px; height: 8px; transform: translateY(-50%) rotate(45deg); }
.htl .btn li .jr_thickbox dd a.ana:after{ border-top: 1px solid #313C95; border-right: 1px solid #313C95;}
.htl .btn li .jr_thickbox dd a.jal:after{ border-top: 1px solid #CC0000; border-right: 1px solid #CC0000;}
.htl .btn li .jr_thickbox dd a.jr:after{ border-top: 1px solid #000; border-right: 1px solid #000;}
#official .btn li a,#official .btn li .jr_thickbox,#official .btn li .jr_thickbox .close-icon::before,#official .btn li .jr_thickbox .close-icon::after {background: #E60012;}
#official .btn li .jr_thickbox .close-icon{ border: 1px solid #E60012;}
#partner .btn li a,#partner .btn li .jr_thickbox,#partner .btn li .jr_thickbox .close-icon::before,#partner .btn li .jr_thickbox .close-icon::after{background: #0070BC;}
#partner .btn li .jr_thickbox .close-icon{ border: 1px solid #0070BC;}

#map img{display: block; width: 90%; max-width: 880px; margin: 0 auto;}
#access dl{display: flex; flex-wrap: wrap; justify-content: center; font-size: 14px;}
#access dl dt{width: 100%; background: #F2F2F2; font-weight: 600; text-align: center; padding: 8px 0; margin-bottom: 24px; border-radius: 4px;}
#access dl dd{padding: 16px 24px; width: 284px; display: flex; gap: 24px;}
#access dl dd:first-of-type{border-right: 1px dashed #ccc;}
#access dl dd span{display: flex; flex-direction: column; align-items: center; gap: 8px;}
.pageTop{position: fixed; right: 24px; bottom: 0; z-index: 999;}
.pageTop a:first-of-type{width: 76px; height: 76px; border-radius: 100rem; background: #6A94C8; display: flex; justify-content: center; align-items: center; margin: 0 auto 32px;}
.pageTop a:last-of-type{background: #2356A7; border-radius: 6px 6px 0 0; width: 88px; height: 52px; display: flex; justify-content: center; align-items: center;}


p.atn{font-size: 12px;margin: 20px 0;}

#grayDisplay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* コンテンツ全てに対して固定的に 1160pxとか指定されているときの対応で、
  ダサいが!importantつける */
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
}

#grayDisplay img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 90%;
  max-height: 96%;
  height: 96%;
  object-fit: contain;
}

.rSymbol {
  display: inline-block!important;    
  line-height: 0.5;
  vertical-align: bottom;
  border: none!important;
  align-self: flex-end;
  padding: 0!important;
  margin: 0 !important;
}

