@charset "utf-8";

/*==================================================

BASE

==================================================*/
html {
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body.menu-open{
	overflow: hidden;
}
html.menu-open{
	overflow: hidden;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*==================================================

全ページ共通

==================================================*/
/* PC */
@media print, screen and (min-width: 768px) {
	html {
		font-size: 10px;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	html {
		font-size: 1.33vw;/*750*/
	}
}

/* ハンバーガー
--------------------------------------------------*/
.m-hamburger{
  background-color: #000;
  width: 10.6rem;
  height: 10.6rem;
  position: fixed;
  top: 3rem;
  right: calc(50vw - 34rem);
  cursor: pointer;
  z-index: 100;
  border: 0.4rem #90c31f solid;
  opacity:0;
  pointer-events:none;
  transition: opacity .3s ease;
}
.m-hamburger.visible{
  opacity:1;
  pointer-events:auto;
}
.m-hamburger:before{
  background-color: rgba(0,0,0,0.5);
  content: "";
  position: absolute;
  height: 1rem;
  bottom: -1.4rem;
  left: -0.4rem;
  right: -0.4rem;
  display: block;
}
.m-hamburger__lines{
  height: 55%;
  width:66%;
  margin: 5% auto 0 auto;
  position: relative;
}
.m-hamburger__lines>div{
  background-color: #90c31f;
  width:100%;
  height:8%;
  transition: transform .3s ease, opacity .3s ease;
  position: absolute;
  left:0;
  top:50%;
}
.m-hamburger__lines>div:first-child{
  transform: translateY(-150%);
}
.m-hamburger__lines>div:last-child{
  transform: translateY(150%);
}
.menu-open .m-hamburger__lines>div:first-child{
  transform: rotate(210deg);
}
.menu-open .m-hamburger__lines>div:last-child{
  transform: rotate(-210deg);
}
.m-hamburger__text{
  width: 100%;
  color: #90c31f;
  font-size: 2rem;
  font-family: 'Kaisei Decol', serif;
  margin: -13% auto 0 auto;
  text-align: center;
}
.menu-open .m-hamburger__text{
  margin: -8% auto 0 auto;
}
.m-hamburger__text:before{
  content: "MENU";
}
.menu-open .m-hamburger__text:before{
  content: "CLOSE";
}

/*==================================================

フッター

==================================================*/

/* フッター1
--------------------------------------------------*/
.l-footer a{
	text-decoration: none;
	display: block;
}
.l-footer__copy{
	text-align:center;
}	

/* PC */
@media print,only screen and (min-width: 768px){ 
	.l-footer01{
		background-color: #f6f6f6;
		padding:4rem 3rem 3.5rem 3rem;
	}
	.l-footer01__inner,
	.l-footer02__inner{
		max-width: 100rem;
		margin: 0 auto;
	}
}

/* SP */
@media screen and (max-width: 767px){

	.l-footer01{
		padding: 1rem 3rem;
	}	
}

/*==================================================

セカンド共通

==================================================*/

/* レイアウト
--------------------------------------------------*/
.l-container{
  background: url("../../assets/images/bg.jpg") 0 0 repeat;
  background-size: 78.3rem auto;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	letter-spacing: 0;
  background-attachment: fixed;
}
.l-container a{
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}
.l-container a:visited {
  all: unset;
}
.l-container__inner{
  max-width: 77.6rem;
  margin: 0 auto;
  position: relative;
}
.l-main{
  background-color: #862e54;
  border-left: 0.4rem #8f782f solid;
  border-right: 0.4rem #8f782f solid;
  position: relative;
}

/* SP */
@media screen and (max-width: 780px) {
  .l-main{
    border: none;
  }
}

/* 左カラム
--------------------------------------------------*/
.nav-logo__logo{
  max-width: 38.4rem;
  width: 77%;
  margin: 0 auto min(6rem,3vw) auto;
}
.nav-logo__button{
  margin: 0 auto;
}
.nav-logo__button li{
  text-align: center;
  position: relative;
  transition: all .3s ease;
}
.nav-logo__button li:before{
  content: "";
  background-color: rgba(0,0,0,0.3);
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  transition: all .3s ease;
}
.nav-logo__button a{
  background: linear-gradient(180deg,rgba(236, 185, 74, 1) 0%, rgba(180, 128, 14, 1) 100%);
  box-sizing: border-box;
  color: #fff;
  font-family: 'Kaisei Decol', serif;
  letter-spacing: -0.05em;
  line-height: 1.265;
  display: flex;
  position: relative;
}
.nav-logo__button span{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-logo__button li:first-child span{
  background: linear-gradient(0deg,rgba(189, 56, 110, 1) 0%, rgba(134, 46, 84, 1) 100%);
  text-shadow: 0 0 0.2rem #80144c,0 0 0.3rem #80144c,0 0 0.4rem #80144c,0 0 0.5rem #80144c,0 0 0.6rem #80144c,0 0 0.7rem #80144c,0 0 0.8rem #80144c,0 0 0.9rem #80144c,0 0 1rem #80144c;
}
.nav-logo__button li:last-child span{
  background: linear-gradient(0deg,rgba(247, 180, 37, 1) 0%, rgba(225, 118, 29, 1) 100%);
  text-shadow: 0 0 0.2rem #c36200,0 0 0.3rem #c36200,0 0 0.4rem #c36200,0 0 0.5rem #c36200,0 0 0.6rem #c36200,0 0 0.7rem #c36200,0 0 0.8rem #c36200,0 0 0.9rem #c36200,0 0 1rem #c36200;
}

.l-menu{
  scrollbar-width:none;
}

@media screen and (min-width: 1640px){
  .l-menu{
    display: block!important;
  }
  .m-hamburger{
    display:none;
  }
  .nav-logo,
  .nav-global{
    width: min(57.2rem,calc( ( 100vw - 77.6rem ) / 2 ));
    position: fixed;
  }
  .nav-logo{
    top: 50%;
    right: calc( 50vw + 38.3rem );
    transform: translateY(-50%);
  }
  .nav-global{
    top: 50%;
    left: calc( 50vw + 38.3rem );
    transform: translateY(-50%);
  }
  .nav-logo__button{
    max-width: 36.6rem;
    width: 80%;
  }
  .nav-logo__button li{
    margin-bottom: min(3.9rem,1.95vw);
  }
  .nav-logo__button li:before{
    height: min(5.8rem,2.9vw);
    border-radius: min(2.8rem,1.4vw);
    bottom: min(-1rem,0.5vw);
  }
  .nav-logo__button a{
    border-radius: min(3rem,1.5vw);
    padding: min(0.4rem,0.3vw);
    font-size: min(2rem,1.1vw);
  }
  .nav-logo__button span{
    height: min(5.8rem,2.9vw);
    border-radius: min(2.8rem,1.5vw);
  }
  .nav-logo__button li:hover{
    transform: translateY(min(1rem,0.5vw))
  }
  .nav-logo__button li:hover:before{
    bottom: 0;
  }
}
@media screen and (max-width: 1639px){
  .l-menu{
    display: none;
  }
  .nav-logo{
    top: auto;
    right: auto;
    transform: translateY(0);
    width: 66.4rem;
    margin: 0 auto;
    position: relative;
  }
  .nav-logo__logo{
    display: none;
  }
  .nav-logo__button a{
    font-size: 3.4rem;
    border-radius: 10rem;
    padding: 0.4rem;
  }
  .nav-logo__button{
    max-width: 66.4rem;
    margin-top: 10rem;
  }
  .nav-logo__button li{
    margin-bottom: 6rem;
  }
  .nav-logo__button li:before{
    height: 12rem;
    border-radius: 10rem;
    bottom: -1.5rem;
  }
  .nav-logo__button span{
    height: 12rem;
    border-radius:10rem;
  }
  .nav-logo__button li:hover{
    transform: translateY(1.5rem);
  }
  .nav-logo__button li:hover:before{
    bottom:0;
  }  
}

/* グローバルナビ
--------------------------------------------------*/
.nav-global__english{
  color: #eec964;
  display: block;
  line-height: 1.25;
}
.nav-global__japanese{
  display: block;
  letter-spacing: -0.05em;
}
.nav-global li{
  font-family: 'Kaisei Decol', serif;
  text-shadow: -1px -1px 0 #4c4d4f,1px -1px 0 #4c4d4f,-1px 1px 0 #4c4d4f,1px 1px 0 #4c4d4f;
  text-align: center;
}
.nav-global a{
  display: inline-block;
  transition: all .3s ease;
  opacity: 1;
}
.nav-global a:hover{
  opacity: 0.8;
}
.nav-global li{
/*  margin-bottom: min(3.3rem,2.3vw);  */
  margin-bottom: min(2.97rem,2.3vw);  
}
.nav-global li:last-child{
  margin-bottom:0;  
}
.nav-global__english{
/*  font-size: min(2.7rem,1.35vw);*/
  font-size: min(2.43rem,1.35vw);
}
.nav-global__japanese{
/*  font-size: min(1.3rem,0.8vw);*/
  font-size: min(1.17rem,0.8vw);
}
@media screen and (max-width: 1639px){
  .l-menu{
    width: 100%;
    background: url("../../assets/images/bg.jpg") 0 0 repeat;
    background-size: 78.3rem auto;
    padding: 24rem 0 5rem 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 99;
    transform: translateY(0);
    text-align: center;
  }
  .nav-global__english{
    font-size: 4.4rem;
  }
  .nav-global__japanese{
    font-size: 2.4rem;
  }
  .nav-global li{
    margin-bottom: 6.8rem;  
  }
}

/* ページタイトル
--------------------------------------------------*/
.m-pageTitle{	
}
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 見出し1
--------------------------------------------------*/
.m-heading{
}
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* ぱんくず
--------------------------------------------------*/

/* PC */
@media print,only screen and (min-width: 768px){	
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

トップページ

==================================================*/
	
/* 上部ナビ
--------------------------------------------------*/
.nav-top{
  background-color: #482b0a;
  padding: 4.1rem 2rem 5rem 2rem;
  position: relative;
}
.nav-top:after{
  height: 1rem;
  content: "";
  background: linear-gradient(0deg,rgba(130, 97, 25, 1) 0%, rgba(158, 120, 38, 1) 26%, rgba(237, 186, 75, 1) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
}
.nav-top__inner{
  display: flex;
  justify-content: center;
  gap:0 2.8rem;
}
.nav-top li{
  width: 31.8rem;
  position: relative;
}
.nav-top li:before{
  height: 5.8rem;
  border-radius: 0.8rem;
  content: "";
  background-color: rgba(0,0,0,0.3);
  display: block;
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
}
.nav-top a{
  width: 100%;
  height: 11rem;
  font-family: 'Kaisei Decol', serif;
  font-size: 2.4rem;
  letter-spacing: -0.08em;
  line-height: 1.5;
  text-align: center;
  background: linear-gradient(180deg,rgba(236, 185, 74, 1) 0%, rgba(180, 128, 14, 1) 100%);
  padding: 0.4rem;
  box-sizing: border-box;
  border-radius: 0.8rem;
  display: flex;
  position: relative;
  transition: all .3s ease;
  color: #fff;
}
.nav-top a:hover{
  transform: translateY(0.7rem);
}
.nav-top span{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.6rem;
}
.nav-top li:first-child span{
  background: linear-gradient(0deg,rgba(247, 180, 37, 1) 0%, rgba(225, 118, 29, 1) 100%);
  text-shadow: 0 0 0.2rem #c36200,0 0 0.3rem #c36200,0 0 0.4rem #c36200,0 0 0.5rem #c36200,0 0 0.6rem #c36200,0 0 0.7rem #c36200,0 0 0.8rem #c36200,0 0 0.9rem #c36200,0 0 1rem #c36200;
}
.nav-top li:last-child span{
  background: linear-gradient(0deg,rgba(148, 192, 89, 1) 0%, rgba(101, 143, 85, 1) 100%);
  text-shadow: 0 0 0.2rem #58814d,0 0 0.3rem #58814d,0 0 0.4rem #58814d,0 0 0.5rem #58814d,0 0 0.6rem #58814d,0 0 0.7rem #58814d,0 0 0.8rem #58814d,0 0 0.9rem #58814d,0 0 1rem #58814d;
}

/* イントロ
--------------------------------------------------*/
.home-logo{
  width: 53.1rem;
  margin: 0 auto 6.5rem auto;
  position: relative;
}
.home-intro{
  position: relative;
  padding-top: 6.8rem;
}
.home-intro:before{
  background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(182, 71, 49, 1) 100%);
  height: 84.5rem;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
}
.home-intro__title{
  width: 51.1rem;
  margin: 0 auto 3.5rem auto;
  position: relative;
}
.home-intro__date{
  width: 57.6rem;
  height: 5.4rem;
  background: url("../../assets/images/tdl/ribon.png") center center no-repeat;
  background-size: 100% auto;
  margin: 0 auto 4.7rem auto;
  color: #9b0e6a;
  font-family: 'Kaisei Decol', serif;
  font-size: 3.6rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  letter-spacing: -0.02em;
  position: relative;
}
.home-intro__text{
  font-size: 3.2rem;
  font-family: 'Kaisei Decol', serif;
  letter-spacing: -0.1em;
  line-height: 1.75;
  text-align: center;
  margin-bottom: 7rem;
  position: relative;
}
.home-intro__movie{
  margin:0 4.7rem 7.6rem 4.7rem;
  overflow: hidden;
}
.home-intro__movie iframe{
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 1.2rem;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){
}
	
/* ニュース
--------------------------------------------------*/
.home-news{
  background: url("../../assets/images/tdl/news-bg.png") 0 0 repeat;
  background-size: 100% auto;
  padding: 5.7rem 6rem 0.9rem 6rem;
}
.home-news__title{
  width: 50.5rem;
  margin:0 auto 5rem auto;
}
.home-news__list li{
  border-bottom: 1px #fff dashed;
  padding-bottom: 4.5rem;
  margin-bottom: 4rem;
  font-weight: bold;
  font-family: 'Kaisei Decol', serif;
  text-align: center;
}
.home-news__list li:last-child{
  border-bottom: none;
  margin-bottom: 0;
}
.home-news__list time{
  color: #eec964;
  font-size: 3rem;
  letter-spacing: 0.01em;
  display: block;
  margin-bottom: 0.8rem;
}
.home-news__list span{
  font-size: 2.6rem;
  letter-spacing: -0.13em;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){
}
	
/* ページナビ
--------------------------------------------------*/
.nav-page{
  background: url("../../assets/images/tdl/pagenav-bg.webp") 0 0 no-repeat;
  background-size: 100% auto;
  padding: 9.2rem 5.2rem 9.3rem 5.2rem;
  position: relative;
  z-index: 3;
  top: -0.2rem;
}
.nav-page__inner{
  display: flex;
  flex-wrap: wrap;
  gap:3.4rem 1.6rem;
}
.nav-page__inner li{
  width: calc( ( 100% / 3 ) - 1.06666rem );
  background-repeat: no-repeat;
  background-position: 0 0;
  text-align: center;
  position: relative;
}
.nav-page__inner li:before{
  content: "";
  height: 5rem;
  background-color: rgba(0,0,0,0.5);
  border-radius: 1.5rem;
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
}
.nav-page__inner li:first-child:after{
  width: 5rem;
  height: 5.6rem;
  background-image: url("../../assets/images/pagenav-icon01.png");
  top: -1.3rem;
}
.nav-page__inner li:nth-child(2):after{
  width: 9.2rem;
  height: 5.8rem;
  background-image: url("../../assets/images/pagenav-icon02.png");
  top: -1.9rem;
}
.nav-page__inner li:nth-child(3):after{
  width: 4.5rem;
  height: 8.8rem;
  background-image: url("../../assets/images/pagenav-icon03.png");
  top: -4.4rem;
}
.nav-page__inner li:nth-child(4):after{
  width: 9.4rem;
  height: 4.6rem;
  background-image: url("../../assets/images/pagenav-icon04.png");
  top: -1.1rem;
}
.nav-page__inner li:nth-child(5):after{
  width: 4.1rem;
  height: 7.2rem;
  background-image: url("../../assets/images/pagenav-icon05.png");
  top: -1.5rem;
}
.nav-page__inner li:nth-child(6):after{
  width: 9.4rem;
  height: 4.6rem;
  background-image: url("../../assets/images/pagenav-icon06.png");
  top: -1.1rem;
}
.nav-page__inner li:after{
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.nav-page__inner a{
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  font-size: 3rem;
  font-weight: bold;
  font-family: 'Kaisei Decol', serif;
  letter-spacing: -0.08em;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: all .3s ease;
  aspect-ratio: 1 / 1;
  position: relative;
}
.nav-page__inner li:nth-child(3) a{

  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: -0.2em;

}
.nav-page__inner li:last-child a{
  font-size: 1.9rem;
  line-height: 1.6;
  letter-spacing: -0.2em;
}
.nav-page__inner a:hover{
  opacity: 0.9;
}
.nav-page__inner li:nth-child(odd) a{
  background-image: url("../../assets/images/tdl/pagenav-bg01.png");
}
.nav-page__inner li:nth-child(even) a{
  background-image: url("../../assets/images/tdl/pagenav-bg02.png");
}
.nav-page__inner a:before{
  width: 3.4rem;
  height: 1.6rem;
  content: "";
  background: url("../../assets/images/arrow-down.png") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.9rem;
  margin: 0 auto;
  display: block;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){
}

/* タイトル
--------------------------------------------------*/
.home-title01{
  position: relative;
  padding-top: 2rem;
}
.home-title01__bat01,
.home-title01__bat02,
.home-title01__bat03,
.home-title01__bat04{
  position: absolute;
}
.home-title01__bat01{
  width: 5.5rem;
}
.home-title01__bat02{
  width: 5.1rem;
}
.home-title01__bat03{
  width: 7.1rem;
}
.home-title01__bat04{
  width: 5.7rem;
}
.home-entertainment .home-title01__bat01{
  top: 2.1rem;
  left: 10.3rem;
}
.home-entertainment .home-title01__bat02{
  top: 3.6rem;
  left: 22.7rem;
}
.home-entertainment .home-title01__bat03{
  top: 4.5rem;
  right: 17rem;
}
.home-entertainment .home-title01__bat04{
  top: 1.8rem;
  right: 8.5rem;
}
.home-pickup .home-title01__bat01{
  top: -1.8rem;
  left: 10.3rem;
}
.home-pickup .home-title01__bat02{
  top: -0.8rem;
  left: 22.7rem;
}
.home-pickup .home-title01__bat03{
  top: 0.5rem;
  right: 20.5rem;
}
.home-pickup .home-title01__bat04{
  top: -1.9rem;
  right: 10.5rem;
}
.home-dressing .home-title01__bat01{
  top: -1.8rem;
  left: 10.3rem;
}
.home-dressing .home-title01__bat02{
  top: -0.8rem;
  left: 22.7rem;
}
.home-dressing .home-title01__bat03{
  top: 1.2rem;
  right: 22.3rem;
}
.home-dressing .home-title01__bat04{
  top: -1.9rem;
  right: 10.5rem;
}
.home-goods .home-title01__bat01{
  top: 1.8rem;
  left: 10.3rem;
}
.home-goods .home-title01__bat02{
  top: 2.8rem;
  left: 22.7rem;
}
.home-goods .home-title01__bat03{
  top: 4rem;
  right: 21rem;
}
.home-goods .home-title01__bat04{
  top: 1.8rem;
  right: 10.7rem;
}
.home-menu .home-title01__bat01{
  top: 1.8rem;
  left: 10.3rem;
}
.home-menu .home-title01__bat02{
  top: 2.8rem;
  left: 22.7rem;
}
.home-menu .home-title01__bat03{
  top: 3.2rem;
  right: 21rem;
}
.home-menu .home-title01__bat04{
  top: 1.5rem;
  right: 10.9rem;
}
.home-package .home-title01__bat01{
  top: 2.2rem;
  left: 10.3rem;
}
.home-package .home-title01__bat02{
  top: 3.3rem;
  left: 22.5rem;
}
.home-package .home-title01__bat03{
  top: 3.8rem;
  right: 21rem;
}
.home-package .home-title01__bat04{
  top: 1.9rem;
  right: 10.9rem;
}
.home-hotels .home-title01__bat01{
  top: 2.2rem;
  left: 10.3rem;
}
.home-hotels .home-title01__bat02{
  top: 2.8rem;
  left: 22.1rem;
}
.home-hotels .home-title01__bat03{
  top: 3.8rem;
  right: 21.5rem;
}
.home-hotels .home-title01__bat04{
  top: 1.5rem;
  right: 11rem;
}
.home-offical .home-title01__bat01{
  top: 2.2rem;
  left: 10.3rem;
}
.home-offical .home-title01__bat02{
  top: 2.8rem;
  left: 22.1rem;
}
.home-offical .home-title01__bat03{
  top: 3.8rem;
  right: 21.5rem;
}
.home-offical .home-title01__bat04{
  top: 1.5rem;
  right: 11rem;
}
.home-line .home-title01__bat01{
  top: 2.2rem;
  left: 10.8rem;
}
.home-line .home-title01__bat02{
  top: 2.8rem;
  left: 22.9rem;
}
.home-line .home-title01__bat03{
  top: 3.8rem;
  right: 20.8rem;
}
.home-line .home-title01__bat04{
  top: 1.5rem;
  right: 10.3rem;
}
.home-title01__title{
  margin:0 auto 5.8rem auto;
}
.home-pickup .home-title01__title{
  width: 53.4rem;
}
.home-goods .home-title01__title{
  width: 64.8rem;
}
.home-line .home-title01__title{
  width: 65.2rem;
}
.home-title02{
  background-image: url("../images/line01.png") ,url("../images/line02.png");
  background-position: center top,center bottom;
  background-repeat: no-repeat,no-repeat;
  background-size: 100% auto,100% auto;
  font-family: 'Kaisei Decol', serif;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.61;
  padding: 7.1rem 2rem 6.7rem 2rem;
  margin: 0 -5.2rem 7rem -5.2rem;
  position: relative;
  letter-spacing: -0.11em;
}
.home-title02 span{
  letter-spacing: 0.08em;
}

/* 画像
--------------------------------------------------*/
.home-pictures{
  margin-bottom: 3.8rem;
}
.home-pictures .slick-arrow{
  width: 6.8rem;
  height: 6.8rem;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  opacity: 1;
  text-indent: -9999px;
  border: none;
  background: none;
  cursor: pointer;
  z-index: 3;
}
.home-pictures .slick-arrow:hover{
  opacity: 0.9;
}
.home-pictures .slick-prev{
  left: -2.2rem;
}
.home-pictures .slick-next{
  right: -2.2rem;
}
.home-pictures .slick-prev:before{
  background: url("../../assets/images/tdl/prev.png");
}
.home-pictures .slick-next:before{
  background: url("../../assets/images/tdl/next.png");
}
.home-pictures .slick-arrow:before{
  content: "";
  width: 6.8rem;
  height: 6.8rem;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  opacity: 1;
  text-indent: -9999px;
  z-index: 5;
  border: none;
  display: block;
}
.home-pictures .slick-arrow:after{
  content: "";
  width: 6.8rem;
  height: 6.8rem;
  background-color: rgba(0,0,0,0.5);
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 1rem;
  left: 0;  
}

/* テキスト--------------------------------------------------*/
.home-detail{
  margin-bottom: 4rem;
}
.home-detail__item{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2.4rem;
  font-size: 2.8rem;
  gap:0 1.6rem;
}
.home-detail__item:last-child{
  margin-bottom: 0;
}
.home-detail__title{
  background-color: #000000;
  border-radius: 0.6rem;
  text-align: center;
  padding: 0.5rem 3.5rem 0.9rem 3.5rem;
  line-height: 1;
  position: relative;
  top: 0.2rem;
}
.home-menu .home-detail__title{
  padding: 0.5rem 2.3rem 0.9rem 2.3rem;
}
.home-detail__text{
  flex: 1;
}
.home-text{
  font-size: 3rem;
  line-height: 1.6;
  margin-bottom: 3.9rem;
}
.home-note{
  border-top: 2px #fff solid;
  padding-top: 4rem;
  margin-top: 2rem;
}
.home-note li{
  font-size: 2.6rem;
  letter-spacing: .02em;
  line-height: 1.769;
  padding-left: 1em;
  position: relative;
}
.home-note li:before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/* ボタン
--------------------------------------------------*/
.home-buttons{
  margin-bottom: 4.8rem;
}
.home-entertainment .home-buttons{
  margin-top: 5.2rem;
}
.home-button{
  position: relative;
  margin-bottom: 3rem;
  transition: all .3s ease;
}
.home-button:before{
  height: 12rem;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  background-color: rgba(0,0,0,0.3);
  border-radius: 10rem;
  transition: all .3s ease;
}
.home-button:hover{
  transform: translateY(1rem);
}
.home-button:hover:before{
  transform: translateY(-1rem);
}
.home-button.-soon:before{
  content: none;
}
.home-button.-soon:hover{
  transform: translateY(0);
}
.home-button a{
  height: 13rem;
  background: url("../images/tdl/button-bg.webp") 0 0 no-repeat;
  background-size: 100% auto;
  display: block;
  transition: all .3s ease;
  font-family: 'Kaisei Decol', serif;
  letter-spacing: -0.05em;
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 0.1em 0 #000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1rem 1.5rem 2rem;
  position: relative;
  color: #fff;
  box-sizing: border-box;
}
.home-button>span{
  height: 12rem;
  background-color: #585858;
  border: 0.3rem #000 solid;
  display: block;
  transition: all .3s ease;
  opacity: 1;
  font-family: 'Kaisei Decol', serif;
  letter-spacing: -0.05em;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0.1em 0 #000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 1rem 0 2rem;
  border-radius: 10rem;
}
.home-goods .home-button a,
.home-goods .home-button span{
  font-size: 2.1rem;
  line-height: 1.25;
  padding: 0 1rem 0 0;
}
.home-button>span span{
  letter-spacing: 0.06em;
}
.home-goods .home-button>span span{
  font-size: 3.4rem;
}
.home-pickup .home-button a{
  letter-spacing: -0.18em;
  padding: 0 3rem 1.5rem 0;
}
.home-dressing .home-button a{
  letter-spacing: -0.125em;
  line-height: 1.2;
}
.home-dressing .home-button .amd_text{
  display: block;
  padding-top: 0.8rem;
}
.home-dressing .home-button .amd_text span{
  font-size:3rem;
  display: inline-block;
  padding-top: 0.8rem;
}
.home-dressing .home-pictures{
  margin-bottom: 5rem;
}
.home-box{
  margin-bottom: 14.7rem;
}

@media (max-width: 790px){
  .home-button a{
    padding: 0 1rem 1.8rem 2rem;
  }
}
/* SP */
@media screen and (max-width: 767px) {
  .home-button a,
  .home-button span{
    font-size: 3.8rem;
    text-shadow: 0 0.08em 0.04em #000;
  }
}

/* リンク
--------------------------------------------------*/
.home-list span{
  padding-left: 3.5rem;
  font-size:2rem;
}
.home-list a{
  font-size: 3rem;  
  line-height: 1.65;
  letter-spacing: .06em;
  text-decoration: underline;
  position: relative;
  padding-left: 3.5rem;
  display: block;
}
.home-list a:hover{
  text-decoration: none;
}
.home-list a:before{
  content: "";
  width: 2.6rem;
  height: 2.8rem;
  background: url("../images/arrow-yellow.png") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.3em;
  left: 0;
}
.home-list li{
  margin-bottom: 0.3rem;
}
.home-list li:last-child{
  margin-bottom: 0;
}
.home-entertainment .home-list li{
  margin-bottom: 0;
}
.home-entertainment .home-list{
  width: fit-content;
  margin: 0 auto;
}
.home-entertainment .home-list a{
  padding-left: 3.5rem;
  font-size: 2.6rem;  
}
.home-entertainment .home-list a:before{
  background: url("../images/tdl/arrow-yellow02.png") center center no-repeat;
  background-size: 100% auto;
  top: 0.25em;
}

/* エンターテイメント
--------------------------------------------------*/
.home-entertainment,
.home-pickup,
.home-dressing,
.home-goods,
.home-menu,
.home-package,
.home-hotels,
.home-offical{
  position: relative;
}
.home-lineSlide{
  background-image: url("../../assets/images/tdl/bg-line01.png"),url("../../assets/images/tdl/bg-line01.png");
  background-repeat: no-repeat;
  background-position: center top,center bottom;
  background-size: 100% auto;
  margin: 0 -5.2rem;
  padding: 3rem 0 2rem 0;
}
.home-entertainment{
  padding: 6rem 5.2rem 2rem 5.2rem;
}
.home-pickup,
.home-dressing{
  padding: 15rem 5.2rem 2rem 5.2rem;    
}
.home-goods,
.home-menu,
.home-package,
.home-hotels,
.home-offical{
  padding: 11rem 5.2rem 3rem 5.2rem;    
}
.home-line{
  padding: 15rem 5.2rem 0rem 5.2rem;    
}
.home-entertainment:before{
  background: linear-gradient(0deg,rgba(0, 0, 0, 0) 50%, rgba(182, 71, 49, 1) 100%);
  height: 49rem;
  content: "";
  position: absolute;
  top: -8.5rem;
  left: 0;
  right: 0;
  display: block;
}
.home-map__image{
  margin:11rem 0 5rem 0;
}

/* スペシャルグッズ
--------------------------------------------------*/
.home-precautions__title{
  background-color: #000;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0.7rem 3rem;
  cursor: pointer; 
  position: relative;
}
.home-precautions__title:after{
  content: "";
  background: url("../images/tdl/arrow02.png") center center no-repeat;
  background-size: 100% auto;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 1rem;
  right: 1.3rem;
  transform: rotate(-180deg);
  transition: all .3s ease;
}
.-open .home-precautions__title:after{
  transform: rotate(0);  
}
.home-precautions__texts{
  background-color: #fff;
  padding: 2.2rem 3rem 3rem 3rem;
  display: none;
}
.home-precautions__texts li{
  position: relative;
  font-size: 2.6rem;
  line-height: 1.769;
  padding-left: 1em;
  margin-bottom: 2.5rem;
  color: #000;
}
.home-precautions__texts li:before{
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.home-precautions__text{
  display: block;
}
.home-precautions__texts a{
  background: url("../images/tdl/arrow-yellow02.png") 0 0.2em no-repeat;
  background-size: 2.6rem auto;
  padding-left: 3.5rem;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 1.4rem;
}
.home-precautions__texts a:hover{
  text-decoration: none;
}

/* オフィシャルホテル
--------------------------------------------------*/
.home-offical__title{
  background-color: #000;
  border-radius: 5rem;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: -0.032em;
  text-align: center;
  margin-bottom: 0.9rem;
}
.home-offical__text{
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 3rem;
  text-align: center;
}
.home-offical__note{
  font-size: 2.6rem;
  line-height: 1.74;
  letter-spacing: 0.09em;
  margin-top: 2rem;
}

/* リンク--------------------------------------------------*/
.home-link{
  padding: 4.1rem 5.2rem;  
}
.home-link.-land{
  background-color: #e18eb2;
}
.home-link.-sea{
  background-color: #ffc197;
}
.home-link.-all{
  margin-top: 5rem;
  background-color: #c9cafe;
}
.home-link li{
  margin-bottom: 3rem;
}
.home-link li:last-child{
  margin-bottom: 0;
}
.home-link a{
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: right 2.2rem center;
  background-color: #fff;
  border-radius: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.8rem 6.7rem 1.8rem 1.8rem;
  opacity: 1;
  transition: all .3s ease;
}
.home-link.-land a{
  background-image: url("../images/arrow-red.png");
}
.home-link.-sea a{
  background-image: url("../images/arrow-orange.png");
}
.home-link.-all a{
  background-image: url("../images/arrow-blue.png");
  align-items: center;
}
.home-link a:hover{
  opacity: 0.85;
}
.home-link__image{
  width: 24rem;
}
.home-link__texts{
  width: calc( 100% - 26rem );
  color: #000;
  font-size: 2rem;
  margin-top: -0.35rem;
}
.home-link.-all .home-link__image{
  width: 31.3rem;
}
.home-link.-all .home-link__texts{
  width: calc( 100% - 33.3rem );
}
.home-link__text01{
  font-weight: 900;
  margin-bottom: 0.5rem;
}
.home-link.-land .home-link__text01{
  color: #882165;
}
.home-link.-sea .home-link__text01{
  color: #da750b;
}
.home-link.-all .home-link__text01{
  color: #181588;
}
.home-link__text02{
  font-weight: 900;
}
.home-link__text03{
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.home-link__text03.-nowrap{
  white-space: nowrap;
}

/* ＼ シェアしよう！ ／
--------------------------------------------------*/
.home-shared{
  font-size: 3.2rem;
  line-height: 1.75;
  letter-spacing: .07em;
  padding: 11.4rem 6.2rem 11.2rem 6.2rem;
}
.home-shared__title01{
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.5rem;
}
.home-shared__title02{
  text-align: center;
  margin-top: 9.5rem;
}
.home-shared__note{
  font-size: 2.6rem;
}
.m-social{
  font-size: 2.6rem;
}
.home-shared__text{
  font-size: 2.8rem;
}

/* 東京ディズニーリゾート公式SNSをフォロー！
--------------------------------------------------*/
.home-follow{
  background-color: #482b0a;
  padding: 6.5rem 5.2rem 37rem 5.2rem;
  position: relative;
}
.home-follow__title{
  color: #edba4b;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: .03em;
  text-align: center;
  margin-bottom: 3rem;
}
.m-pagetop{
  position: fixed;
  width: 8.8rem;
  left: calc(50% + 27.9rem);
  bottom: 23rem;
  transition: opacity .3s ease;
  opacity: 1;
  cursor: pointer;
  z-index: 98;
}

.m-pagetop.-absolute{
  position: absolute;
}

.m-pagetop:hover{
  opacity: 0.8;
}

/* ソーシャルボタン
--------------------------------------------------*/
.m-social{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:0 5rem;
}
.m-social li{
  width: 8.8rem;
}
.m-social a{
  transition: all .3s ease;
  opacity: 1;
}
.m-social a:hover{
  opacity: 0.8;
}

/* パークチケットを購入する
--------------------------------------------------*/
.m-ticket{
  width: 768px;
  height: 18.8rem;
  box-sizing: border-box;
  background:url("../images/tdl/ticket-bg.webp") center bottom no-repeat;
  background-size: 100% auto;
  position: fixed;
  inset: auto 0 0 0;
  margin: auto;
  z-index: 98;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2.7rem;
  box-sizing: border-box;
}
.m-ticket.-absolute{
  position: absolute;
  /* bottom:0; */
  /* left: -8px; */
}

.m-ticket__button{
  width: 93%;
  position: relative;
  transition: all .3s ease;
}
.m-ticket__button:before{
  content: "";
  box-shadow: 0px 1rem 1rem rgba(0, 0, 0, 0.35);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  display: block;
  transition: all .3s ease;
  border-radius: 1.5rem;
}
.m-ticket__button a{
  position: relative;
}
.m-ticket__button:hover{
  transform: translateY(1rem);
}
.m-ticket__button:hover:before{
  bottom: 1rem;
}
@media (max-width: 780px){
  .m-ticket{
    width: 100%;
    background-image:url("../images/tdl/ticket-bg.webp");
  }
}

/*==================================================

ページ名

==================================================*/


/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}
/*==================================================

ページ名

==================================================*/

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

	
