@charset "utf-8";
/* CSS Document */

/*html {
  scroll-behavior: smooth;
}*/

#container{
	 font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo,sans-serif;
    width: 100%;
    margin: 0;
	font-size: 14px;
	color: #444444;
	line-height: 1.7;	
}

* { box-sizing: border-box; }
#container a{
	text-decoration: none;
}
#container a:hover{
	opacity: 0.6;
}

.w1300{
	width: 1300px;
	margin: 0 auto;
}

.pc{display: block;}
.sp{display: none;}

ul {
  list-style: none;
}

/*-- 画像位置 --*/
#container img {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
	max-width: 100%;
}

/*-- flex --*/
.flex_box {
  	display:flex;
}


/*--------------------page-top */
#page-top{
    position: fixed;
    z-index: 100;
    right: 20px;
    bottom: 20px;
}
#page-top a{
    color:  rgba(255,206,0,0.65);
}
#page-top a:hover{
    color: rgba(255,166,0,1.00);
}
/*--------------------パンくず */
#pankuzu{
	margin: 15px auto;
	width: 1000px;
	font-size: .85em;
}

#pankuzu ul{
    padding: 0 0 5px;
    _zoom: 1;
}
#pankuzu li{
    float: left;
    list-style: none;
}
#pankuzu li + li:before{
    margin: 0 8px;
    content: '>';
}


/*------------------------------title*/
#title{
	background:url("../img/bg01.jpg") repeat-x center top;
}

#title h1{
	/*padding-bottom: 40px;*/
	padding-top: 10px;
}

.syounin{
padding-bottom: 30px;
	text-align: right;
}

#container #title img{
	width:auto;
}

.title_box{
	display: flex;
	flex-wrap: wrap;
	width:100%;
	justify-content:center;
	padding-top:50px;
	align-items:center;
}

.title_box span:first-of-type{
	padding-bottom: 10px;
	padding-right: 20px;
}

.title_box span:nth-of-type(2){
	width:665px;
}


.cre{
	text-align: right;
	font-size: .8em;
	line-height: 1;
}

/*------------------------------title*/
#wds{
	background:url("../img/bg02.jpg") repeat center top;
	border-top: #d4b34c 4px solid;
	/*padding: 85px 0 5px 0;*/
	padding: 85px 0 85px 0;
}

#wds h2{
	font-size: 28px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 800;
	color: #004e76;
	text-align: center;
	padding-bottom: 20px;
}

#wds p{
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 1.8;
}

#wds h4{
	font-size: 24px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 800;
	color: #004e76;
	text-align: center;
	 display: flex;
  	align-items: center; /* 垂直中心 */
  	justify-content: center; /* 水平中心 */
	padding-top: 70px;
}

#wds h4:before, #wds h4:after {
  border-top: 1px solid;
  content: "";
  width: 10em; /* 線の長さ */
}
#wds h4:before {
  margin-right: 1em; /* 文字の右隣 */
}
#wds h4:after {
  margin-left: 1em; /* 文字の左隣 */
}

#wds .wds_att{
	font-size: 15px;
	font-weight: 400;
	width:800px;
	margin: 0 auto;
	line-height: 1.4;
}

#wds .wds_att a, #wds .wds_att  a:link{
	color: #2b6ce7;
	text-decoration:underline;
}

.original_bonus{
	background: #ffffff;
	border-radius: 10px;
	border: #004e76 5px solid;
	padding: 20px;
	margin: 100px auto 50px auto;
	display: flex;
    justify-content: center;
	flex-wrap: wrap;
}

.original_bonus_box{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	align-items:center;
}

.original_bonus_box dl{
	width:46%;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

.original_bonus_box .mataha{
	width:6%;
	color:#004e76;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	text-align: center;
	border: #004e76 1px solid;
}

.original_bonus_box dd{
	color:#004e76;
	font-size: 16px;
	text-align: center;
	}

.precaution2{
	margin: 5em 0 7em 0;
	/*width:62%;*/
    background: #ffffff;
	border-radius: 10px;
	text-align: center;
}

h4{
	text-align: center;
	margin-bottom: 10px;
}

.tab-buttons{
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	justify-content:center;
	/*margin-bottom: 30px;*/
	border-bottom: #01506d 4px solid;
	align-items:flex-end;
}

.tour_link li{
	/*width:calc((100% - 30px) /2);*/
	width:calc((1000px - 60px) /2);
}

.tour_link a{
	text-align: center;
    background-color: #c3d8dd;
    color: #01506d ;
    font-size: 24px;
    font-weight: 600;
    position: relative;
    line-height: 1.25;
    padding: 25px 20px;
    display: block;
    position: relative;
    width: 100%;
	 border-top: #01506d 3px solid;
	border-left: #01506d 3px solid;
	border-right: #01506d 3px solid;
	padding: 25px 0 25px 0;
}

.tour_link  a::after{
	content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-color: #01506d;
    border-width: 3px;
    border-style: solid;
    border-left: none;
    border-bottom: none;
    transform: translate(0, -50%) rotate(135deg);
    position: absolute;
    right: 50px;
    top: 50%;
}

#container .tour_link a:hover{
	opacity:1;
}

.tour_link .active a::after{
	content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-color: #ffffff;
    border-width: 3px;
    border-style: solid;
    border-left: none;
    border-bottom: none;
    transform: translate(0, -50%) rotate(135deg);
    position: absolute;
    right: 50px;
    top: 50%;
}


/* アクティブなタブのスタイル */
.tab li.active a {
  background-color: #01506d; /* アクティブ時の背景色 */
  color: #ffffff; /* アクティブ時の文字色 */
	/*height: 95px*/
		padding: 35px 0 35px 0;
}



/*---------------------------------------------------tab*/
.tab{
	background:url("../img/bg02.jpg") repeat center top;
}

/* タブ全体0603追加 */
.tabs {
  width: 100%;
  margin: 0 auto;
}

/* タブボタン */
.tab_box{
	    background-color: #c3d8dd;
    color: #01506d ;
}

.tab-button {
  padding: 10px 20px;
  background-color: #c3d8dd;
  color: #01506d;
  border: none;
  cursor: pointer;
	font-size:24px;
	text-align: center;
    /*background-color: #c3d8dd;
    color: #01506d ;*/
    font-size: 24px;
    font-weight: 600;
    position: relative;
    line-height: 1.25;
    padding: 25px 20px;
    display: block;
    position: relative;
    width: calc((1000px - 60px) /2);
	 border-top: #01506d 3px solid;
	border-left: #01506d 3px solid;
	border-right: #01506d 3px solid;
	padding: 25px 0 25px 0;
}

.tab_box::after{
	content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-color: #01506d;
    border-width: 3px;
    border-style: solid;
    border-left: none;
    border-bottom: none;
    transform: translate(0, -50%) rotate(135deg);
    position: absolute;
    right: 50px;
    top: 50%;
}


#container .tab-button:hover{
	opacity:1;
}

 .tab_box .active a::after{
	content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-color: #ffffff;
    border-width: 3px;
    border-style: solid;
    border-left: none;
    border-bottom: none;
    transform: translate(0, -50%) rotate(135deg);
    position: absolute;
    right: 50px;
    top: 50%;
}



.tab-button.active {
	  background-color: #01506d; /* アクティブ時の背景色 */
  color: #ffffff; /* アクティブ時の文字色 */
	/*height: 95px*/
		padding: 35px 0 35px 0;
}

/* タブコンテンツ */
.tab-content {
  display: none;
  /*padding: 20px;*/
  /*border: 1px solid #ccc;*/
}

.tab-content.active {
  display: block;
}

/*0603追加*/


.off_hotel_all  .off_hotel_tl{
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	align-items:center;
	background: #1d94db;
	margin-bottom:50px;
}

.hatu{
	width:100px;
	margin-left: 2em;
	text-align: center;
	/*border: #000000 1px solid;*/
	border-radius: 10px;
	background: rgba(0,102,115,0.70);
	font-family: "Noto Sans JP", sans-serif;
	color: #ffffff;
}

.hotel_box h3{
	text-align: center;
	margin-left: 2em;
	color: #444444;
	font-size: 20px;
}

.hotel_box ul{
	padding: 5px 0;
	flex-wrap: wrap;
	column-gap: 15px;
	justify-content: center;
}
.hotel_list{
	background: #FFF;
	/*width :calc(100% / 3 - 30px ) ;*/
	width:calc((100% - 30px) /3);
	position: relative;
}

.hotel_list .departure{
	font-family: "Noto Sans JP", sans-serif;
	background: rgba(0,102,115,0.70);
	color: #FFF;
	padding: 0 .4em 2px;
	font-size: 1.1em;
	position: absolute;
	top:0;
	left:0;
}

.hotel_list dt{
	font-size: 1.2em;
	padding: .5em 5px .2em;
	margin: 0 15px;
	font-weight:600;
	/*border-bottom: 1px #9BD8E4 solid;*/
}

.hotel_list .comingsoon{
	text-align: center;
    position: absolute;
	padding: 40% 0;
	background: rgba(153,176,188,0.30);
	top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
.hotel_list .comingsoon p{
	font-size: 2.5em;
	color: #FFF;
	text-shadow: 2px 2px 3px #111;
	line-height: 1;
	transform: rotate(-10deg);
	border: 3px #FFF solid;
	width: 70%;
	margin: auto;
	box-shadow: 1px 1px 5px #111;
}

.hotel_list dd.link_url a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.hotel_list dd.link_url a:hover{ background: rgba(255,244,92,.3);}



/*-------------------------------price*/
.price{
	padding-bottom: 10px;
}

.fw-static-api-tour-price-list{
	font-size: 18px;
	padding: .5em 5px;
	color: #de2040;
	font-weight: bold;
}
.fw-static-api-tour-price-list li{
	display: flex;
}
.fw-static-api-tour-price-list-area{
	font-size: .7em;
	font-weight: normal;
	/*border:0.5px solid #000000;*/
	color: #000000;
	padding: 4px 5px 0 5px;
	margin: 0  0.8em 0 1em;
}

 /*------------------------------------------------------テーブル*/
table {
   margin: 20px auto;
	background: #ffffff;
}
.tbl-r05 th {
  background: #004e76;
  border: solid 1px #cccccc;
  color: #ffffff;
  padding: 10px 20px;
}
.tbl-r05 td {
　/*border: solid 1px #cccccc;*/
    padding: 10px 20px;
	text-align: center;
	font-size: 16px;
	padding: 5px 20px;
}

.tbl-r05 .first{
	border-bottom: solid 1px #000000;
}

.tbl-r05 td:first-child {
   background: #fbf5f5;
}

table {
  border-collapse: collapse;
  border: solid 2px #004e76;
}
th, td {
  border: dashed 1px #004e76;
}

.tb_center_tl{
	text-align: center;
}
/*------------------------------------------------------オフィシャルホテル*/
.off_hotel_all{
	  background: #c7ecff;
	padding: 5em 0;
}

#container .off_hotel_btn{
	border: 2px solid #1d94db;
    color: #444444;
    background-color: #ffffff;
    line-height: 1.5;
    font-weight: 600;
    padding: 20px 40px;
    padding-right: 25px;
    position: relative;
    display: block;
    max-width: 600px;
    margin: 5em auto 2em auto;
    border-radius: 50px;
    text-align: center;
    font-size: 20px;
	letter-spacing:1.5px;
}

#container .off_hotel_btn span{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #3498db;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
	}

#container .off_hotel_btn span::before, #container .partner_hotel_btn span::before, #container .othter_hotel_btn span::before{
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-color: #fff;
    border-width: 2px;
    border-style: solid;
    border-left: none;
    border-bottom: none;
    transform: translate(-60%, -50%) rotate(45deg);
    position: absolute;
    left: 50%;
    top: 50%;
}
/*------------------------------------------------------パートナーホテル*/
.partner_hotel_all{
	  background: #ffe5c1;
	padding: 5em 0;
}

.partner_hotel_all .partner_hotel_tl{
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	align-items:center;
	background: #ddbb00;
	margin-bottom:50px;
}
	
#container .partner_hotel_btn{
	border: 2px solid #ddbb00;
    color: #000000;
    background-color: #ffffff;
    line-height: 1.5;
    font-weight: 600;
    padding: 20px 40px;
    padding-right: 25px;
    position: relative;
    display: block;
    max-width: 600px;
    margin: 5em auto 2em auto;
    border-radius: 50px;
    text-align: center;
    font-size: 20px;
	letter-spacing:1.5px;
}

#container .partner_hotel_btn span{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ddbb00;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
	}

/*------------------------------------------------------その他周辺ホテル*/
.othter_hotel_all{
	background: #d3ffea;
	padding: 1em 0 4em 0;
}

#container .othter_hotel_btn{
	border: 2px solid #2ac0b4;
    color: #000000;
    background-color: #ffffff;
    line-height: 1.5;
    font-weight: 600;
    padding: 20px 40px;
    padding-right: 25px;
    position: relative;
    display: block;
    max-width: 600px;
    margin: 5em auto 2em auto;
    border-radius: 50px;
    text-align: center;
    font-size: 20px;
	letter-spacing:1.5px;
}

#container .othter_hotel_btn span{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2ac0b4;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
	}


/*------------------------------------------------------共通部分*/
#Intersection{
	background: #d7ecff;
}

.pricelist{
	text-align: center;
	padding: 80px 0 30px 0;
}

/*------------------------------------------------------パークチケット*/
.disney_ticket{
	border: #005280 1px solid;
	margin: 2em auto;
	max-width:800px;
	padding: 2em 1.5em;
	/*text-align: center;*/
	display: flex;
}

.disney_ticket_left{
	width:60%;
}

.disney_ticket_tl{
	font-size: 18px;
	color: #005280;
	padding-bottom: 0.5em;
}

.ticket a{
	color: #333333;
}


/*------------------------------ポップアップ*/
.button_reset button{
  -webkit-appearance: none;
     -moz-appearance: none;
    appearance: none;
    background:none;
    border:0;
	cursor:pointer;
}

.modal {
    display: none;
    z-index: 200;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.7);
}
 
.modal-window{
    z-index: 200;
    width: 600px;
    margin: 20% auto;
    padding: 30px 40px;
    background-color: white;
}

.modal-window a{
	color: #0835b7;
}

.modal-contents{
	position: relative;
	text-align: center;
}


.c-button{
	position: absolute;
	top:-1.5em;
	right:-2em;
}

.c-button button {
  appearance: none;
  font-family: inherit;
  display: inline-block;
  border: 0;
  border-radius: 5px;
  background: #cccccc;
  color: #fff;
  padding: 6px 10px 1px 10px;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s ease-out;
}

.c-button button:hover {
  background: #888888;
}
.c-button button:focus {
  outline: none;
  box-shadow: 0 0 0 4px #cbd6ee;
}

.disney_link{
	padding-top: 10px;
	display: block;
}

/*------------------------------バナー一覧*/
.bnr_box{
	display: flex;
	flex-wrap: wrap;
	column-gap: 15px;
	padding: 50px 0;
	max-width: 800px;
	margin: 0 auto;
	justify-content:center;
}

.bnr_box li{
	width:calc((100% - 30px) /3);
}