@charset "utf-8";

/* コンテンツ　※これ以降にページ用cssを記述してください。 */

/*---------------------
共通
---------------------*/
img:not([width]), input[type=image]:not([width]) {
  zoom: 1;
}
.breadcrumb {
	overflow-x: scroll;
}
.breadcrumb__inner {
	margin: 0;
}
#hisApp {
  overflow-x: hidden;/*横揺れ防止用*/
}
#pageApp {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 14px;
	line-height: 1.5;
}
#contentWrapper {
	font-size: 12px;
	color: #333;
	line-height: 1.5;
}
#contentWrapper .contents_inner {
	padding: 0 12px;
}
#contentWrapper a {
	display: block;
	text-decoration: none;
}
#contentWrapper #mainArea {
  padding-top: 25px;/
}
.is-top #contentWrapper #mainArea {
  padding-top: 0;  /*商品掲載復活後不要*/
}
#contentWrapper #mainArea h3 {
	margin-bottom: 35px;
}
#contentWrapper #mainArea .columnbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#contentWrapper #mainArea .readtxt {
	margin-bottom: 25px;
}
#contentWrapper figcaption {
	font-size: 10px;
}
#titleArea {
	background: #67bce0; /* Old browsers */
	background: -webkit-linear-gradient(top, #67bce0 0%,#ace5e0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #67bce0 0%,#ace5e0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.qah {
	display: none;
}
.cntsWrap img,
figure {
    margin: 0;
}
.cntsWrap img {
    width: 100%;
    zoom: 1;
    vertical-align: bottom;
}
.cntsWrap {
    margin: 0 0 24px 0;
    padding: 0;
    font-size: .875rem;
    color: #333;
    line-height: 1.4;
}
.is-top .cntsWrap {
    margin-bottom: 0;
}
#mainArea section {
    margin: 0 0 10%;
}
.button_box {
    padding: 0 .5rem;
}

/* clearfix */
.clearfix::after,
.item_box_inner::after {
	display: block;
	clear: both;
	content: "";
}

/*ナビ*/
#contentNav {
	background-color: #006dc7;
}
#contentNav #navList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#contentNav #navList li {
	width: 33%;
	border-right: 1px dotted #fff;
}
#contentNav #navList li:nth-of-type(n+4) {
	border-top: 1px dotted #fff;
}
#contentNav #navList li:nth-of-type(3n) {
	border-right: none;
}
#contentNav #navList li a {
	padding: 3%;
}

/*おすすめツアー*/
#tourItemArea {
	margin-bottom: 40px;
}
#tourItemArea .contents_inner {
	padding: 40px 12px 30px;
	background: url(../images/common_bg.jpg) center;
	background-size: cover;
}
#tourItemArea .recommend_title {
	width: 85%;
	margin: 0 auto 8%;
}
#tourItemArea .areaBox .areaNav {
  display: flex;
	flex-wrap: wrap;
  justify-content: center;
	gap: 15px;
	&:has(> :nth-child(4):last-child),&:has(> :nth-child(8):last-child) {
		li {
			width: 20%;
		}
	}
}
#tourItemArea .areaBox .areaNav li {
	width: 30%;
	background: #f0ce26;
	padding: 4% 0;
	border-radius: 6px;
	box-shadow: 0 4px 0 0 rgba(217,173,15,1);
	color: #002966;
	font-size: 120%;
	text-align: center;
}
#tourItemArea .areaBox .areaNav li.nav_on {
	background: #fff;
	box-shadow: 0 4px 0 0 rgba(199,199,199,1);
}
.area00 {
	display: none;
}
.item_inner {
	border-bottom: 1px solid #808080;
}
.item_inner .item_box a {
	padding: 15px 12px;
	color: #333;
}
.item_inner .item_box .item_box_inner .item_ttl {
	float: right;
	width: 60%;
	font-weight: bold;
	font-size: 1.0rem;
}
.item_inner .item_box .item_box_inner .item_txt {
	float: right;
	width: 60%;
}
.item_inner .item_box .item_box_inner .item_gross {
	float: right;
	width: 60%;
	margin-top: 5px;
	color: #e83317;
	font-weight: bold;
	font-size: 1.0rem;
	text-align: right;
}
.item_inner .item_box .item_box_inner .item_img {
	width: 32%;
	height: 80px;
	overflow: hidden;
	position: absolute;
	background-size: 120%;
	background-position: top center;
}
.tour_kensaku {
	margin-top: 15px;
	padding: 0 12px;
}
.tour_kensaku a{
	padding: 15px 0;
	color: #fff;
	border-radius: 4px;
	background-color: #e8321a;
	background-image: url(../../images/common_ic01.png);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position: 96% 50%;
	box-shadow: 0 5px 0 0 rgba(189,37,17,1);
	font-size: 14px;
	text-align: center;
}
/*おすすめホテル*/
#hotelItemArea {
	background: rgb(77,184,219);
}
#hotelItemArea .contents_inner {
    padding: 40px 12px;
}
#hotelItemArea .recommend_title {
  width: 85%;
  margin: 0 auto 8%;
}
#hotelItemArea .tour_item_box {
  background: #fff;
}
/*おすすめツアー(関東用)*/
.product__list--item {
    border-bottom: 1px solid #808080;
}
.product__list--inner {
  display: flex !important;
  padding: 15px 12px;
  color: #333;
}
.product__list--image-wrapper {
  width: 32%;
}
.product__list--image {
  height: 80px;
  overflow: hidden;
  background-size: 120%;
  background-position: top center;
}
.product__list--type {
  display: none;
}
.product__list--text-wrapper {
  width: 68%;
  padding-left: 15px;
}
.product__list--title {
  font-size: 1.0rem;
  font-weight: bold;
}
.product__list--minmax {
  margin-top: 5px;
  color: #e83317;
  font-weight: bold;
  font-size: 1.0rem;
  text-align: right;
}
.product__list--dep,.product__list--notes {
  font-size: 0.8rem;
  text-align: right;
}

/*検索BOX*/
#searchArea h3 {
	margin: 50px 0 15px;
	padding: 14px 0;
	background-color: #0d8ed4;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
#searchArea h3:nth-of-type(n+2) {
	margin-top: 35px;
}
#searchArea #tour_search_module .squeeze-area .btn-area .orange-btn04 {
	display: block;
	box-shadow: 0 3px 0 rgba(217,173,15,1);
	margin: 5px 0;
	padding: 15px 0;
	border-radius: 5px;
	background-color: #f0ce26;
	background-image: url(../images/common_ic01.png);
	background-repeat: no-repeat;
	background-position: 95% center;
	background-size: 15px 15px;
	color: #002966;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
}
#searchArea .otherlinkArea {
	margin: 0 3.1%;
}
#searchArea .btn01 a {
	display: block;
	box-shadow: 0 3px 0 rgba(217,173,15,1);
	margin-top: 15px;
	padding: 18px 0 14px;
	border-radius: 5px;
	background-color: #f0ce26;
	background-image: url(../images/common_ic03.png);
	background-repeat: no-repeat;
	background-position: 95% center;
	background-size: 10px 15px;
	color: #002966;
	font-size: 14px;
	text-align: center;
}
#searchArea .btn01 a.newWindow {
	background-image: url(../images/common_ic02.png);
	background-size: 14px 14px;
}
.modal-popup,
.calendar-popup {
    line-height: 1.0;
}

.modal-popup > dl > dt {
    height: 36px;
}
.calendar-popup .cal-head {
    height: 36px;
}
.calendar-popup .cal-month .ctrl .ms {
    height: 26px;
}
.calendar-popup .cal-foot .undo {
    height: 26px;
}
.calendar-popup .cal-foot .confirm {
    line-height: .5;
    height: 26px;
}

/*footer*/
footer .reserveArea {
	margin: 0;
}

/*---------------------
TOP
---------------------*/
#mainArea .index_top {
	padding-top: 40px;
	border-top: 1px dotted #003b8a;
}
.introduction .toptxt{
	margin-bottom: 15px;
	color: #006dc7;
	font-weight: bold;
	font-size: 17px;
	text-align: center;
}
.bnr_list {
	margin-top: 30px;
}
.bnr_list >li {
	margin-bottom: 12px;
}
.txt_list {
	padding: 8px 12px 0;
}
.txt_list li {
	padding-left: 1em;
	text-indent: -.7em;
}
.txt_list li::before {
	content: "•";
	color: #006dc7;
	padding-right: 5px;
}

/*---------------------
マリンライフパーク
---------------------*/
.MLP_contents h4{
	margin-bottom: 10px;
}
.MLP_contents dl {
	margin: 10px 0 15px;
}
.MLP_contents dl dt {
	display: inline-block;
	margin-right: 5px;
	padding: 2px 4px;
	border: 1px solid #333;
}
.MLP_contents dl dd {
	display: inline-block;
}
.MLP_contents .ACW_list {
	margin-top: 30px;
}
.MLP_contents .ACW_list li {
	margin-top: 20px;
}
.MLP_contents .ACW_list li h5 {
	margin-top: 15px;
	color: #289ac7;
	font-weight: bold;
	font-size: 1.0rem;
}
.MLP_contents .txtlist {
	margin-top: 10px;
}

/*---------------------
シー・アクアリウム
---------------------*/
.sea_titletxt {
	color: #71b2e3;
	font-weight: bold;
	font-size: 1.0rem;
}
.sea_mainimg {
	margin: 10px 0;
}
section#routeArea {
	margin-top: 35px;
	padding: 30px 12px;
	background: #98ccf5; /* Old browsers */
	background: -webkit-linear-gradient(top, #98ccf5 1%,#95e5f5 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #98ccf5 1%,#95e5f5 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
section#routeArea ul li {
	margin-top: 15px;
}
section#routeArea ul li h5 {
	padding: 12px 0 12px 32px;
	color: #12415f;
	font-size: 1.0rem;
}
section#routeArea .route1 h5 {
	padding: 10px 0 8px 30px;
	background: url(../images/sea_txt01.png) no-repeat 0 50%/16px auto;
}
section#routeArea .route2 h5 {
	background: url(../images/sea_txt02.png) no-repeat 0 50%/25px auto;
}
section#routeArea .route3 h5 {
	background: url(../images/sea_txt03.png) no-repeat 0 50%/25px auto;
}
section#routeArea .route4 h5 {
	padding: 14px 0 14px 33px;
	background: url(../images/sea_txt04.png) no-repeat 0 50%/27px auto;
}
section#routeArea .route5 h5 {
	background: url(../images/sea_txt05.png) no-repeat 0 50%/25px auto;
}
section#routeArea .route6 h5 {
	background: url(../images/sea_txt06.png) no-repeat 0 50%/27px auto;
}
section#routeArea .txt_r_box p{
	float: left;
	width: 70%;
}
section#routeArea .txt_r_box figure {
	float: right;
	width: 30%;
}
section#routeArea .sea_img {
	margin-bottom: 5px;
}

/*---------------------
ユニバーサル・スタジオ・シンガポール
---------------------*/
.USS_txtlist {
	margin-top: 20px;
	padding: 12px;
	border: 2px dashed #e6364a;
}
.USS_txtlist dt {
	color: #e6364a;
	font-weight: bold;
	font-size: 1.07rem;
}
#attraction_box {
	margin-top: 50px;
}
#attraction_box li {
	width: 100%;
	padding: 10px 12px 18px;
}
#attraction_box li+li {
	margin-top: 40px;
}
#attraction_box li.madagazcar_box {
	border: 4px solid #01a4a8;
	background: repeating-linear-gradient(90deg, #b0e1e0 0, #b0e1e0 5px, #c5e9e8 5px, #c5e9e8 11px);
}
#attraction_box li.farfaraway_box {
	border: 4px solid #0098d9;
	background: repeating-linear-gradient(90deg, #b1dff2 0, #b1dff2 5px, #c7e8f6 5px, #c7e8f6 11px);
}
#attraction_box li.ancientegypt_box {
	border: 4px solid #f19601;
	background: repeating-linear-gradient(90deg, #f5e090 0, #f5e090 5px, #f9ecbb 5px, #f9ecbb 11px);
}
#attraction_box li.scificity_box {
	border: 4px solid #469252;
	background: repeating-linear-gradient(90deg, #c2db9e 0, #c2db9e 5px, #d3e5b9 5px, #d3e5b9 11px);
}
#attraction_box li h4 {
	margin-top: -35px;
	text-align: center;
}
#attraction_box li h4 img {
	width: 90%;
	height: auto;
}
#attraction_box li .attraction_description01 {
	margin: 10px 0;
	font-size: .928rem;
}
#attraction_box li .attraction_name {
	margin: 15px 0 10px;
	padding: 4px 0;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: 15px;
	text-align: center;
}
#attraction_box li.madagazcar_box .attraction_name {
	background-color: #01a4a8;
}
#attraction_box li.farfaraway_box .attraction_name {
	background-color: #0098d9;
}
#attraction_box li.ancientegypt_box .attraction_name {
	background-color: #f19601;
}
#attraction_box li.scificity_box .attraction_name {
	background-color: #469252;
}
#pointArea {
	margin-top: 45px;
	padding: 20px 12px 30px;
	background-color: #fcefac;
}
#pointArea .contents_inner.pointArea_contents {
	padding: 25px 15px;
	border: 2px dashed #f28d61;
	background-color: #FFFFFF;
}
#pointArea .contents_inner.pointArea_contents ul li {
	margin-top: 30px;
}
#pointArea .contents_inner.pointArea_contents .txt_box {
	margin-top: 10px;
}
#pointArea .contents_inner.pointArea_contents .txt_box img {
	margin-top: 10px;
}
#pointArea .contents_inner.pointArea_contents .txt_box h4 {
	padding: 2px 0 10px 38px;
	color: #ab8a48;
	font-size: 1.285rem;
	background: url(../images/universal_ic01.png) no-repeat 0 top/30px auto;
}
#pointArea .contents_inner.USScopy {
	margin-top: 10px;
	padding: 12px;
	background-color: #FFFFFF;
}
#pointArea .heading {
	text-align: center;
}
#pointArea .heading img {
	width: 80%;
	height: auto;
}

/*---------------------
RESTAURANT
---------------------*/
.readtxt.restaurant_readtxt {
	margin-bottom: 25px;
}
.accordion {
	margin-top: 15px;
}
.accordion > dt {
	cursor: pointer;
	padding: 16px 32px 13px 15px;
	box-shadow: 0 3px 0 rgba(245,191,198,1);
	border-radius: 4px;
	background: url(../images/restaurant_ic02.png)no-repeat #f5ced3 97% center/ 16px auto;
	color: #3c1313;
	font-size: 1.17rem;
	font-weight: bold;
	text-shadow: 2px 1px 1px #fff;
}
.accordion.type02 > dt {
	background-color: #f0c78b;
	box-shadow: 0 3px 0 rgba(235,190,122,1);
}
.accordion dt.active {
	border-radius: 4px 4px 0 0;
	background: url(../images/restaurant_ic01.png)no-repeat #f5ced3 97% center/ 16px auto;
}
.accordion.type02 dt.active {
	background-color: #f0c78b;
}
.accordion .accordion_inner {
	padding: 20px 0 25px;
	border: 2px solid #f5ced3;
	background-color: #fcf2f4;
}
.accordion.type02 .accordion_inner {
	border: 2px solid #f0c78b;
	background-color: #faf2e6;
}
.accordion .close{
	cursor: pointer;
	max-width: 190px;
	margin: 20px auto 0;
	padding: 14px 0 12px;
	border-radius: 4px;
	background: url(../images/restaurant_ic03.png) no-repeat #f5ced3 90% center/ 12px 12px;
	color: #3c1313;
	font-size: 1.071rem;
	text-align: center;
}
.accordion.type02 .close {
	background: url(../images/restaurant_ic03.png) no-repeat #f0c78b 90% center/ 12px 12px;
}
.restaurant_contents .main_img {
	position: relative;
	margin: 0 15px 20px;
}
.restaurant_contents .restaurant_description {
	margin: 0 15px 15px;
}
.restaurant_contents h4 {
	color: #eb6700;
	font-weight: bold;
	font-size: 1rem;
}
.restaurant_contents .dataArea {
	position: relative;
	margin: 20px 15px 0;
	padding: 10px;
	background-color: #fff;
}
.restaurant_contents .dataArea .txt_box {
	float: left;
	width: 50%;
}
.restaurant_contents .dataArea .txt_box dt {
	display: inline-block;
	margin-bottom: 8px;
	padding: 2px 4px;
	border: 1px solid #333;
}
.restaurant_contents .dataArea .img_box {
	float: right;
	width: 48%;
	margin-top: 30px;
}
.restaurant_contents .dataArea.res_txt01::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -16%;
	left: 30%;
	background-image: url(../images/restaurant_img01_04.png);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 32%;
	height: 48%;
}
.restaurant_contents .main_img.res_txt02::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -52%;
	right: 0;
	background-image: url(../images/restaurant_img02_04.png);
	background-size: 100%;
	width: 53%;
	height: 68%;
}
.restaurant_contents .dataArea.res_txt03::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -26%;
	right: 5%;
	background-image: url(../images/restaurant_img04_03.png);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 50%;
	height: 49%;
}
.accordion_inner .dataArea dd {
    line-height: 1.2;
}

/*---------------------
ホテル
---------------------*/
.HOTEL_contents:not(:last-of-type) {
  margin-bottom: 15% !important;
}
.HOTEL_contents h4 {
	margin-bottom: 15px;
}
.HOTEL_contents.hardrock h4 {
	padding-left: 23%;
	background: url(../images/hotel_ic01.png) no-repeat 0/21%;
}
.HOTEL_contents.festive h4 {
	width: 60%;
	padding-left: 14%;
	background: url(../images/hotel_ic02.png) no-repeat 0/18%;
}
.HOTEL_contents.michael h4 {
	width: 67%;
	padding-left: 21%;
	background: url(../images/hotel_ic03.png) no-repeat 0/27%;
}
.HOTEL_contents.equarius h4 {
	width: 69%;
	padding-left: 23%;
	background: url(../images/hotel_ic04.png) no-repeat 0/28%;
}
.HOTEL_contents .img_box {
	margin-top: 2%;
    width: 100%;
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-align-items: flex-start; /* Safari */
    align-items:         flex-start;
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
}
.HOTEL_contents .img_box img{
	width: 49%;
    margin-right: 1%;
    height: auto;
}
.HOTEL_contents .img_box img+img {
	margin-left: 1%;
    margin-right: 0;
}
.hoteldetail_box {
	margin-top: 15px;
}
.hoteldetail_box h5 {
	color: #e0695e;
	font-weight: bold;
	font-size: 1.1rem;
}
.hoteldetail_box .pointsdetail_box {
	margin-top: 2%;
	padding: 10px;
	background-color: #fceded;
}
.pointsdetail_box > p >img {
	width: 50%;
	height: auto;
}
.pointsdetail {
	margin-top: 2%;
}
.pointsdetail img {
	float: left;
	width: 35%;
}
.pointsdetail p {
	float: left;
	width: 62%;
	margin-left: 3%;
}
.hotel_link {
    transition: all 0.3s ease;
    width: 80%;
    line-height: 1;
    padding: 4% 0;
    border-radius: 8px;
    background: rgb(198,139,3) url(../../images/common_ic02.png) no-repeat right 6% center;
    background-size: 20px 20px;
    margin: 5% auto 0;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.4;
}
.hotel_link.allhotel {
    width: 80%;
    background-color: rgb(232,50,26);
    background-image: url(../../images/common_ic01.png);
    margin-top: 0;
}

.his-top__link {
  font-size: 12px;
}
.his-top__button {
  display: block;
  color: #fff;
  font-size: min(calc(26vw / 7.5), var(--default-font-size-pc));
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
  padding: calc(25em / 26) calc(60em / 26) calc(25em / 26) calc(20em / 26);
  /*margin-top: min(calc(50vw / 7.5), 50px);*/
  background: #0057B8 url("/cmn/icon/icon_arrow_right_white.svg") no-repeat right calc(10em / 26) center / calc(48em / 26);
}
