/* DENSHA TABI Deluxe CSS */
/*
font-family: 'Great Vibes', cursive;
font-family: 'Noto Serif JP', serif;
*/
/******************************************************************************* title */
#future_title{
	height: 26em;
	background: url("../img/title_bg23.jpg") no-repeat center top #fde281;
	background-size: 100vw auto;
	padding-top: 2em;
    padding-right: 242%;
    text-align: center;
}
.densha-tabi-logo{
    width: 45%;
    display: block;
    margin: 1em auto;
}
.densha-tabi-logo img{ width: 100%;}
#future_title h1{
	font-size:3.3em;
    line-height: 1;
	font-family: 'Noto Serif JP', serif;
	color: #111f66;
	font-weight: 500;
	position: relative;
}
#future_title h1 strong{
	font-size:1.7em;
    font-weight: 400;
    letter-spacing: -0.15em;
}
/*
#future_title h1 strong:before{
	content: "WEB\9650\5B9A";
	position: absolute;
	left: -1.5em;
	top: -1.1em;
	background-color: #111f66;
	color: #FBFFAE;
	font-size: 0.5em;
	padding: 0 0.2em;
	transform: rotate(-7deg);
}
*/
#future_title h1 strong b{
	letter-spacing: -0.1em;
	font-weight: 500;
}
/******************************************************************************* innmenu */
#innmenu {
	justify-content: flex-start;
	align-items: center;
	background: url(../img/bg01.jpg);
	border-top: 1px solid #dfdfca;
	border-bottom: 1px solid #dfdfca;
}
#innmenu ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#innmenu ul li{
	border-left: 1px solid #dfdfca;
}
#innmenu ul li a{
	display: block;
	padding: 0.7em;
	color: #666;

}
#innmenu ul li:last-child{
	padding: 0.7em;
	
}
#innmenu ul li:first-of-type a::before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.1em;
    height: 1.1em;
    -webkit-mask-image: url("../../../img/home-solid.svg");
    mask-image: url("../../../img/home-solid.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #999;

}


/******************************************************************************* section_common */
.min{font-family: 'Noto Serif JP', serif;}





/******************************************************************************* hotelList */
#hotelList{
	/*background: url("../img/bg01.jpg");*/
    background: #fffff0;
	padding-bottom: 8em;
	padding-top: 2em;
}

/*-------------------------------- about */
.about{
	padding: 2% 5%;
	text-align: center;
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 5%, rgba(255,255,255,1) 95%, rgba(255,255,255,0) 100%);
}
.about h2{
	background: url("../img/about_title.png") no-repeat center top;
	background-size: 100% auto;
	color: #111f66;
	width: 15em;
	margin: 0 auto;
	font-size: 1.6em;
	padding: 0.2em 0 0.5em;
	margin-bottom: 0.5em;
}
.about h2 b{
	letter-spacing: -2px;
}
.lead{
	font-size: 1.1em;
}
.deluxe_plan{
	display: flex;
	flex-wrap:wrap;
	width: 65%;
	margin: 2em auto 1em 23%;
	position: relative;
}

.deluxe_plan:before{
	content: "";
	display: block;
	width: 22%;
	padding-top: 23%;
	background: url("../img/icon_deluxe.png") no-repeat left top;
	background-size: contain;
	position: absolute;
	right: 100%;
}
.deluxe_plan li{
	background-color: #111f66;
	color: #FFF;
	flex-grow: 1;
	align-items: center;
	flex-basis: 25%;
	max-width: 25%;
	margin-right: 1%;
	border-radius: 5px;
	overflow:hidden;
	position: relative;
	border: 2px solid #111f66;
	font-weight: normal;
}
.deluxe_plan li b{
    font-weight: normal;
    line-height: 1.2;
    padding: 0.5em 0;
    display: inline-block;
}
.deluxe_plan li:nth-of-type(1){
	margin-right: 4%;
	flex-basis: 19%;
	max-width: 19%;
	overflow: visible;
}
.deluxe_plan li:nth-of-type(1):after{
	content: "＋";
	display: block;
	color: #111f66;
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	font-size: 2em;
}
.deluxe_plan li:nth-of-type(1) img{
	width: 90%;
	padding: 5%;
	margin: 5%;
	display: block;
	border-bottom: 1px dashed #FFF;
}
.deluxe_plan li:nth-of-type(4){margin-right: 0;}
.deluxe_plan li:nth-of-type(5){
	background-color: transparent;
	color: #666;
	flex-basis: 100%;
	max-width: 100%;
	padding: 5px 0 0 0;;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 0.85em;
	border: 0;
	
}
.deluxe_plan li img{
	width: 100%;
}

/*-------------------------------- hotel_box */
.hotel_box{
	margin-top: 6em;
	position: relative;
	z-index: 0;
	
}
.hotel_box:after{
	content: ""; display: block; clear: both;
}
.hotel_box dt:nth-of-type(1){
	width: 68%;
	padding: 1% 2% 2%;
	float: right;
	z-index: 2;
	position: relative;
}
.hotel_box dt:nth-of-type(2){
	width: 32%;
	float: left;
	padding-top: 35%;
	position: relative;
	overflow: hidden;

}
.hotel_box dt:nth-of-type(2) img{
	width: auto;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.hotel_box dd{
	width: 71%;
	float: right;
	padding: 0 3% 3% 5%;
	margin-left: -5%;
	position: relative;
	z-index: -1;
	background: url("../img/relief01.png") no-repeat right bottom #fff3cc;
	background-size: 80% auto;
}
.hotel_box .dx_area{
	display: inline-block;
	background-color: #111f66;
	color: #FFF;
	padding: 0.2em 0.5em 0;
	margin-right: 0.5em;
	font-size: 0.85em;
}
.hotel_box .dx_en{
	display: inline-block;
	color: #111f66;
}
.hotel_box h3{
	font-size: 1.9em;
	margin: 0.5em 0;
    color: #111f66;
}
.hotel_box dd .dx_point{
	position: relative;
	color: #111f66;
	padding: 1em 1em 1em 6em;
	margin-bottom: 0.5em;
}
.hotel_box dd .dx_point:before{
	content: "Point";
	font-family: 'Great Vibes', cursive;
	background-color: rgba(255,255,255,0.74);
	color: #111f66;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 3em;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.6em;
}
.hotel_box .photolist{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
}
.hotel_box .photolist li{
	flex-basis: 49%;
	max-width: 49%;
	position: relative;
	padding-top: 30%;
	overflow: hidden;
    border: 3px double #CCC;
}
.hotel_box .photolist li span{
	font-size: 0.75em;
	color: #EEE;
	background-color: rgba(0,0,0,0.52);
	padding: 2px 5px;
	position: absolute;
	right: 0;
	bottom: 0;
}
.hotel_box .photolist li img{
	width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
}


/*-------------------------------- price_gadget */
.fw-static-api-tour-price-list li{
    background-color: #FFF;
    border-radius: 5px;
    margin-bottom: 0.5em;
    padding: 0.5em;
    font-size: 1.2em;
}
.fw-static-api-tour-price-list li:hover{
    background-color: #FFF;
}
.fw-static-api-tour-price-list-area > span{
    width: auto;
    display: inline-block;
    color: #111f66;
    border: 1px solid #111f66;
    padding: 5px 0.5em 5px;
    margin: 0.3em 1em 0 0;
    line-height: 1.2;
    font-size: 0.75em;
    background-color: transparent;
}
.gradeUp .gradeUp{
    background-color: transparent;
}
li.gradeUp:hover::after{
    background-color: #7A5859;
}


/*
.price_gadget{margin-top: 1em;}
.price_gadget > li.day2:before{display: none;}
.price_gadget > li a:before{display: none;}

.gadgetPrice{
	flex-basis: auto;
	max-width:none;
	width: auto;
	flex-grow: 1;
}
.planname{
	display: inline-block;
	color: #111f66;
	border: 1px solid #111f66;
	padding: 5px 0.5em 3px;
	margin: 0.6em 1em;
	line-height: 1.2;
    font-size: 0.75em;
}
.price_gadget > li{
	background-color: rgba(255,255,255,0.95);
	border-radius: 5px;
}
.price_gadget > li a{
	font-size: 1.2em;
	align-items: center;
	
}
.day2 .pricelist > li a:after{
	background-color: #111f66;
	padding:0.5em 2em 0.7em;
    border-radius: 0 5px 5px 0;
}
.day2 .pricelist > li:hover a:after{
	background-color: #f1b500;
}
*/

/*--------------------------------------------------- ------
					1300px対応
-----------------------------------------------------------*/
@media only screen and (max-width: 1300px) {
/******************************************************************************* title */
#future_title{
	background-size: auto auto;
	background-position: center center;
}
}

/*--------------------------------------------------- ------
					1000px対応
-----------------------------------------------------------*/
@media only screen and (max-width: 1000px) {
/******************************************************************************* title */
#future_title{
	height: 35vw;
	background-size: auto 100%;
	background-position: center bottom;
	padding: 2em 45% 2em 0;
}
#future_title h1{
	font-size:5vw;
}
/******************************************************************************* hotelList */
/*-------------------------------- price_gadget */

.day2 .pricelist > li a:after{
    padding: 0.5em 5% 0.7em;
	position: absolute;
	top: 0;
	right: 0;
}
.price_gadget > li{
    padding: 2%;
}
.pricelist li{
	position: relative;
}
.pricelist li a{
	position: relative;
	top: -1em;
	padding-top: 1em;
	margin-bottom: -1em;
}

.planname{
	margin: 0;
}
.gadgetPrice{
	flex-basis: 100%;
	max-width: 100%;
}


}



/*--------------------------------------------
	768px以下（タブレット調整）
---------------------------------------------*/
@media screen and (max-width: 768px)  {
/******************************************************************************* title */
#future_title{
	height: 70vw;
	background-image: url("../img/title_bg_sp.jpg");
	background-size: 100% auto;
	background-position: center bottom;
    padding: 2em 0;
}
#future_title h1{
	text-shadow:
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff,
    0 0 4px #ffffff;
}
#future_title h1 strong{
	font-size:14vw;
	line-height: 1;
	margin-top: 1%;
}
#future_title h1 strong:before{
	left: -1.5em;
	top: -0.8em;
	background-color: #111f66;
	color: #FBFFAE;
	font-size: 0.45em;
	padding: 0.2em 0.2em;
	transform: rotate(-7deg);
	text-shadow: none;
}

/******************************************************************************* hotelList */
/*-------------------------------- about */
.about{
	padding: 2% 4%;
	background: #FFF;
}
.lead{text-align: left;}
.lead br{display: none;}
.deluxe_plan{
	width: 92%;
	margin: 2em auto 1em 7%;
	padding: 0 3% 3% 3%

}
.deluxe_plan:before {
    width: 16%;
    padding-top: 18%;
    right: 98%;
    z-index: 2;
}
/*-------------------------------- hotelList */
.hotel_box dd{
	float: none;
	clear: both;
	width: 100%;
	margin-left: 0;
}

}

/*--------------------------------------------
	520x以下（スマートフォン）
---------------------------------------------*/
@media screen and (max-width: 520px)  {
/******************************************************************************* hotelList */
/*-------------------------------- about */

.deluxe_plan{
	width: 100%;
	margin: 2em auto 1em;
}
.deluxe_plan:before {
    width: 16%;
    padding-top: 18%;
    right: 86%;
	top: -5%;
    z-index: 2;
}
.deluxe_plan li{
	flex-basis: 32.3%;
	max-width: 32.3%;
	margin-right: 1.5%;
}
.deluxe_plan li:nth-of-type(1){
	display: flex;
	justify-content: center;
	flex-basis: 100%;
	max-width: 100%;
	font-size: 1.2em;
	margin:0 0 1.3em;
}
.deluxe_plan li:nth-of-type(1) br{display: none;}
.deluxe_plan li:nth-of-type(1) img{
	width: 4em;
	margin: 5px;
	padding: 0;
	border: 0;
}
.deluxe_plan li:nth-of-type(1):after{
	left: 50%;
	top: 100%;
	transform: translateX(-50%) translateY(0);
	font-size: 1.2em;
	line-height: 1.2;
}
/*-------------------------------- hotel_box */
.hotel_box dt:nth-of-type(1){
	float: none;
	clear: both;
	width: 100%;
	padding: 0 0 2%;
}
.hotel_box dt:nth-of-type(2) {
    width: 100%;
	padding-top: 50%;
}
.hotel_box dt:nth-of-type(2) img{
	width: 100%;
	height: auto;
}
.hotel_box dd{
	padding: 0 2% 4% 2%;
	background-image: none;
}
.hotel_box dd .dx_point{
	padding: 2% 2% 2% 5em;
}
.hotel_box dd .dx_point:before{
	left: -2%;
}
.hotel_box .photolist li{
	flex-basis: 50%;
	max-width: 50%;
	padding-top: 36%;
}
.planname{
	margin: 0 0.5em 0 0;
	flex-basis:calc(100% - 2em);
	border-width: 0 0 1px 0;
}
.price_gadget > li{
	font-size: 1;
}
.price_gadget > li a{
	padding-left: 1em;
}
.day2 .pricelist > li a:after{
	background-color: transparent;
	padding: 0;
	color: #900000;
}
.day2 .pricelist > li:hover a:after{
	background-color: transparent;
}



}