@charset "UTF-8";

#newsflash-campaign{
  display: none !important;
}

.clear:after{content: ".";display:block;height:0;font-size:0;clear: both;visibility:hidden;}
.clear {display: inline-block;} 
* html .clear {height: 1%;}
.clear {display:block;}

.mb-10{margin-bottom: 10px !important;}
.mb-20{margin-bottom: 20px !important;}
.mb-30{margin-bottom: 30px !important;}
.mb-40{margin-bottom: 40px !important;}

/*テキストの装飾パーツ*/
.icon-mini{
	font-size: 90%;
	position: relative;
	top: -2px;
}
.txt-bold{font-weight: bold;}
.txt-big{font-weight: bold;font-size: 120%;}
.txt-red{font-weight: bold;color: #f20054 !important;}
.txt-blue{font-weight: bold;color: #4182e3 !important;}
.txt-ornament{background: #fff4f8;border-radius: 3px;padding: 10px 10px;font-size: 14px;margin-bottom: 10px;}

.page-title{
	font-weight: bold;
	color: #3f3f3f;
	line-height: 1.4;
	margin-bottom: 20px;
  text-align: center;
  font-size: 18px;
}
@media (min-width: 768px){
  .page-title{
    font-size: 30px;
  }
}
.obi-info{
	background: #fff4f8;color: #f20054;font-weight:bold;text-align: center;padding: 12px 5px;font-size: 120%;
}
.text-haneru{
	display: inline-block;
  animation: key1 .3s ease infinite alternate;
}
@keyframes key1{
  0% {transform: translateY(6px);}
  100% {transform: translateY(-6px);}
}
@media (max-width: 767px) {
	.obi-info{
		padding: 5px 5px;
		font-size: 16px;
	}
	@keyframes key1{
	  0% {transform: translateY(3px);}
	  100% {transform: translateY(-3px);}
	}
}


/* ====================================
メイン画像の部分
==================================== */
#hero{
	background-image: url(/campaign/bussale/img/bg-pinkbus.gif);
	background-position: top left;
	padding: 0;
}
.hero-img{text-align: center}
.hero-img img{
	margin:0 auto;
}
#col-logo{
	padding-bottom: 0;
}
.hero-img{
	text-align: center;
	width: 100%;
}
.hero-img img{
	margin:0 auto;
}
.hero-btn{
	text-align: center;
	background:#fef5f9;
	padding: 10px;
	margin-bottom: 24px;
}
.hero-btn button{
	display: block;
	background: none;
	text-align: center;
	color: #333;
	border-radius: 4px;
	margin:0 auto;
	width: 100%;
	max-width: 400px;
  font-size: 14px;
}
@media screen and (min-width:768px) {
	.hero-btn button{
    font-size: 16px;
  }
}
.hero-btn button i{
	font-weight: normal;
}
.hero-btn button:hover{
	text-decoration: underline;
}
@media (max-width: 991px){
	.bg-hero-img{
		height: 590px;
	}
}
@media (max-width: 767px){
	.bg-hero-img{
		height: 290px;
	}
}
/* スライド　最安値2 */
/*.bg-saiyasune-02{
	background-image: url(/static/img/index/hero-saiyasune.jpg?20190626);
	background-size: 1800px 722px;
	background-position: bottom center;
}
.position-saiyasune-02-02{
	position: absolute;
	top: 280px;
	left: 50%;
	width: 100%;
	max-width: 917px;
	margin-left: -458.5px;
}
.position-saiyasune-02-03{
	position: absolute;
	bottom:0;
	right: 0%;
	width: 100%;
	max-width: 390px;
}
.position-saiyasune-02-04{
	display: none !important;
}

@media (max-width: 991px){
	.position-saiyasune-02-02{
		top: 220px;
		max-width: 700px;
		margin-left: -350px;
	}
	.position-saiyasune-02-03{
		max-width: 300px;
		right: 0;
	}
}
@media (max-width: 767px){
	.bg-saiyasune-02{
		background-image: url(/static/img/index/hero-saiyasune.jpg?20190626);
		background-size: cover;
	}
	.position-saiyasune-02-02{
		top: 100px;
		max-width: 500px;
		margin-left: -250px;
	}
	.position-saiyasune-02-03{
		right: -10px;
		bottom:-30px;
		max-width: 180px;
	}
}
@media (max-width: 576px){
	.position-saiyasune-02-02{
		display: none !important;
	}
	.position-saiyasune-02-03{
		right: -20px;
		bottom:-30px;
	}
	.bg-saiyasune-02{
		background-image: url(/static/img/index/hero-saiyasune.jpg?20190626);
		background-size: cover;
		background-position: 85% 0%;
	}
	.position-saiyasune-02-04{
		display: block !important;
		position: absolute;
		top: 70px;
		left: 50%;
		max-width: 320px;
		margin-left: -160px;
	}
}
*/

/*.title-pinkobi{
	background:#ea5589;
	color: #fff;
	text-align: center;
	padding: 8px 3px;
	font-size: 16px;
	font-weight: bold;
	position: relative;
}
.title-pinkobi:before {
    position: relative;
    left: 50%;
    content: "";
    display: block;
    bottom: -20px;
    position: absolute;
    z-index: 1;
    transform: translate(-50%, 0);
    border-right: 10px solid transparent;
    border-top: 10px solid #ea5589;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
}*/
.title-pinkobi{
	text-align: center;
	font-weight: bold;
	margin-bottom: 0;
	-webkit-border-top-left-radius:5px;
	-webkit-border-top-right-radius:5px;
	-moz-border-radius-topleft:5px;
	-moz-border-radius-topright:5px;
	background: #ea5488;
	background: -moz-linear-gradient(left, #ea5488 0%, #ef84a9 100%);
	background: -webkit-linear-gradient(left, #ea5488 0%,#ef84a9 100%);
	background: linear-gradient(to right, #ea5488 0%,#ef84a9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ea5488', endColorstr='#ef84a9',GradientType=1 );
	padding: 10px 5px;
	color: #fff;
	font-size: 20px;
	position: relative;
}
.title-pinkobi:before {
  border-right: 12px solid transparent;
  border-top: 12px solid #ec6a97;
  border-bottom: 12px solid transparent;
  border-left: 12px solid transparent;
  left:50%;
  content:"";
  display:block;
  bottom:-20px;
  margin-left: -12px;
  position:absolute;

}
.title-pinkobi i{
	display: block;
	position: relative;
	bottom: 1px;
	color: #fff;
}
.title-pinkobi span{
	padding-top: 6px;
	border-top: 2px solid #fff;
}
.title-pinkobi i{
	display: block;
	position: relative;
	bottom: 4px;
	color: #fff;
	font-size: 28px;
}
.title-pinkobi span{
	padding-top: 6px;
	border-top: 2px solid #fff;
}
@media(max-width:767px) {
.title-pinkobi{
	padding: 8px 5px;
	font-size: 16px;
}
.title-pinkobi i{
	font-size: 20px;
}
}

/* ====================================
料金のピックアップ部分
==================================== */
#spot{
	background: #eee;
	padding:10px 0px 10px 0px;
	margin-bottom: 20px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #4b4b4b), color-stop(1.00, #131313));
	background: -webkit-linear-gradient(#4b4b4b, #131313);
	background: -moz-linear-gradient(#4b4b4b, #131313);
	background: -o-linear-gradient(#4b4b4b, #131313);
	background: -ms-linear-gradient(#4b4b4b, #131313);
	background: linear-gradient(#4b4b4b, #131313);
}
.spot-title{
	margin:0 0 5px 0;
	padding:0;
	font-size: 16px;
	font-weight: bold;
	color: #ffebad;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
.spot-title span{
	background: #ffebad;
	color: #333;
	margin-right: 10px;
	border-radius: 50px;
	font-size: 12px;
	position: relative;
	top: -2px;
	padding: 1px 5px;
	text-shadow: none;
}
.spot-title span i{
	margin:0;
}
/* ピックアップの詳細部分 */
.pickup-rosen{
	padding: 5px 5px;
	text-decoration: none;
	background:#fffbef;
	border:solid 2px #ffebad;
	border-radius: 5px;
	color: #514002;
}
.card-price{
	padding: 8px 8px;
}
.card-coupon{
	background:#ffd475;
	padding: 8px 8px;
	border-radius: 5px;
	text-align: center;
}
.card-price dl{
	margin:0;
}
.rosen-name{
	padding: 0;
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: normal;
	text-align: left;
	float: left;
	width: 48%;
}
.rosen-price{
	margin-bottom: 10px;
	color: #f30054;
	text-shadow: 2px 2px 2px rgba(255,255,255,0.8);
	font-family: 'Oswald', sans-serif;
	font-size: 18px;
	font-weight: bold;
	float: right;
	width: 52%;
	text-align: right;
}
.rosen-price strong{
	font-size: 60px;
	line-height: 100%;
	color: #f30054;
	letter-spacing:0;
	position: relative;
}
.rosen-price strong div{
	display: inline;
	position:absolute;
	background:#fffbef;
	right: 0;
}
.price-1{
	z-index: 10;
}
.price-2{
	z-index: 8;
}
.price-3{
	z-index: 6;
}
.price-4{
	z-index: 5;
}
.price-5{
	z-index: 4;
}
.rosen-conditions{
	clear: both;
	font-size: 12px;
	color: #f30054;
	text-align:center;
	margin-top: 10px;
}
.rosen-conditions a{
	display: block;
	background:#504001;
	color: #fff;
	font-size: 14px;
	padding: 8px 5px;
	border-radius: 50px;
	text-align: center;
}
.rosen-conditions a:hover{
	background:#ea5589;
}
.card-coupon .rosen-name b{
	color: #f30054;
}
.card-coupon .rosen-conditions a{
	background:#ff7a00;
}
.card-coupon .rosen-conditions a:hover{
	background:#ffaa43;
}

/* ピックアップのレイアウト微調整 */
@media(max-width:990px) {
.rosen-name{
	float: none;
	width: 100%;
}
.rosen-price{
	float: none;
	width: 100%;
	text-align: center;
}
} 

/* ====================================
シート紹介部分
==================================== */
.box-pink{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 30px 20px 30px;
	background: #fff4f8;
	/*border:solid 4px #ef81a7;*/
	border-radius: 5px;
	position: relative;
}
.box-pink .box-title{
	margin-bottom: 15px;
}
.box-pink h2{
	margin: 0;
	font-weight: bold;
	color: #3f3f3f;
  font-size: 30px;
}
.box-pink p{
	margin: 10px 0;
	line-height: 1.6;
	font-size: 14px;
}
.box-pink img{
	width: 100%;
	height: auto;
}
.label-big-pink{
	margin:0 0 10px 0 !important;
	text-align: center;
}
.label-big-pink span{
	color: #fff;
	background: #ea5589;
	border-radius: 3px;
	padding: 6px 15px;
	display: inline-block;
}
.label-mamonaku{
	border:1px solid #333;
	background: #fff;
	color: #333;
	font-size: 12px;
	padding: 2px 5px;
	border-radius: 3px;
	display: inline-block;
	margin-bottom: 2px;
}


/* ====================================
ページの一番した　クーポン情報とかを出す
==================================== */
#topic{

}
.container-topic{
	position: relative;
}
.topic-title{
	color: #3f3f3f;
	margin:0 0 10px 0;
	text-align: left;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.3;
}



/* ====================================
発着地選択のボタン
==================================== */
.pagenavi{
	margin-bottom: 0px;
}
.row-pagenavi{
	display: table;
	table-layout: fixed;
	text-align: center;
	width: 100%;
	border:solid 4px #ea5589;
	border-radius: 3px;
	overflow: hidden;
  margin-bottom: 2rem;
}
.row-pagenavi li {
	display: table-cell;
	vertical-align: middle;
}
.row-pagenavi li a{
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #e4e4e4), color-stop(0.00, #efefef));
	background: -webkit-linear-gradient(#efefef, #e4e4e4);
	background: -moz-linear-gradient(#efefef, #e4e4e4);
	background: -o-linear-gradient(#efefef, #e4e4e4);
	background: -ms-linear-gradient(#efefef, #e4e4e4);
	background: linear-gradient(#efefef, #e4e4e4);
	display: block;
	padding: 15px 5px 15px 20px;
	border-right: 1px solid rgba(0,0,0,0.1);
	border-left: 1px solid rgba(255,255,255,0.9);
	text-shadow: -1px -1px 1px rgba(255,255,255,0.9);
	color: #333;
	font-weight: bold;
	position: relative;
  font-size: 14px;
  height: 100%;
}
.row-pagenavi {
  height: 100%;
}
.row-pagenavi li a:before{
	content: "\f721";
	font-family: 'willer_iconsregular';
	position: absolute;
	top: 50%;
	left: 7px;
	margin-top: -10px;
	color: #ec6191;
}
.row-pagenavi li a.btn-active{
	background: #ffc0d6;
	text-decoration: none;
}
.row-pagenavi li a:hover{
	background: #ffc0d6;
	text-decoration: none;
}
.row-pagenavi li:first-child a{
	border-left: none;
}
.row-pagenavi li:last-child a{
	border-right: none;
}


/* ====================================
路線部分
==================================== */
.loader{

}
.container-rosen{
	width:100%;
	max-width: 1140px;
	margin:0 auto 60px auto;
}

/* エリアごとの見出し */
.rosen-area{
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
	-webkit-border-top-left-radius:5px;
	-webkit-border-top-right-radius:5px;
	-moz-border-radius-topleft:5px;
	-moz-border-radius-topright:5px;
	background: #ea5488;
	background: -moz-linear-gradient(left, #ea5488 0%, #ef84a9 100%);
	background: -webkit-linear-gradient(left, #ea5488 0%,#ef84a9 100%);
	background: linear-gradient(to right, #ea5488 0%,#ef84a9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ea5488', endColorstr='#ef84a9',GradientType=1 );
	padding: 10px 5px;
	color: #fff;
	font-size: 28px;
	position: relative;
}
.rosen-area:before {
  border-right: 12px solid transparent;
  border-top: 12px solid #ec6a97;
  border-bottom: 12px solid transparent;
  border-left: 12px solid transparent;
  left:50%;
  content:"";
  display:block;
  bottom:-20px;
  margin-left: -12px;
  position:absolute;
  z-index:-1;
}
.rosen-area span{
	padding-top: 6px;
	border-top: 2px solid #fff;
}
.rosen-area i{
	display: block;
	position: relative;
	bottom: 2px;
	color: #fff;
}
.rosen-area span{
	padding-top: 6px;
	border-top: 2px solid #fff;
}

/* 路線名 */
.rosen-title{
	background: #e4e4e4;
	color: #3f3f3f;
	padding: 18px 15px 18px 15px;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
.rosen-title:before{
	content: " ";
	border-top: 3px solid #3f3f3f;
	display: block;
	width:100%;
	position:absolute;
	top: -4px;
	left: 0px;
}
.rosen-list{
	margin-bottom: 40px;
}
.rosen-inner{
	border-left: 8px solid #e4e4e4;
	padding: 20px 0px 5px 15px;
}


.searh-hit{
	display: none;
	text-align: left;
	margin-bottom: 15px;
}
.searh-hit span{
	font-size: 20px;
	font-family: 'Oswald', sans-serif;
	letter-spacing:0;
	color: #f30054;
	font-weight: bold;
	margin-right: 5px;
}



/* 各プランの枠 */
.plan-tbl{
	width: 100%;
	background: #f6efda;
	border-right: 2px solid #fff;
	margin-bottom: 2px;
}
.campaign-tbl{
	/*キャンペーンプランに適用させるクラス*/
	background:#e0ecff;
}
.tour-tbl{
	/*バス＋宿泊プランに適用させるクラス*/
	background:#ddeee4;
}
.plan-tbl td{
	padding: 10px;
	border-left: 2px solid #fff;
  font-size: 14px;
}

/* プラン名 */
td.plan-title{
	width:26%;
	font-size: 18px;
	font-weight: bold;
	position: relative;
}
.campaign-tbl .plan-title{
	color: #4182e3;
}
.tour-tbl .plan-title{
	color: #5a866b;
}
.plan-title small{
	display: block;
	font-size: 14px;
	font-weight: normal;
	position: relative;
	margin-top: 1px;
	left: 0px;
	color: #f30054;
}
.plan-title small a{
	color: #f30054;
	text-decoration: underline;
}


/* 各プランの料金 */
.plan-price{
	width:20%;
	color: #f30054;
	font-weight: bold;
	text-align: right;
}
.tour-tbl .plan-price{
	color: #756038;
	font-weight: normal;
	text-align: right;
}
.plan-price span{
	font-size: 210%;
	font-family: 'Oswald', sans-serif;
	letter-spacing:0;
	color: #f30054;
	font-weight: bold;
}
.tour-tbl .plan-price span.max{
	font-size: 20px;
	margin-left: 5px;
}
.plan-price span:after{
	content: "円～";
	font-size: 12px;
}
.plan-price span.nyoronyoro:after{
	content: "円";
	font-size: 12px;
}
.tour-tbl .plan-price span.max:after{
	content: "円";
	font-size: 12px;
}
.price-sample{
	display: none;
	border:solid 1px #fff;
	/*background: #ffd475;*/
	text-align: center;
	font-size: 12px !important;
	font-weight: normal;
	padding: 3px 3px 1px 2px;
	margin:0 0 10px 0;
}
.price-sample span{
	font-size: 18px !important;
	font-weight: bold;
	color: #f30054;
	font-family: 'Oswald', sans-serif;
}


/* 宿泊セット用の調整 */
/*td.plan-tourtitle{
	width:27%;
	font-size: 18px;
	font-weight: bold;
	position: relative;
}
td.plan-tourprice{
	width:53%;
	color: #f30054;
}
.plan-tourprice span.price-text span{
	font-size: 210%;
	font-family: 'Oswald', sans-serif;
	letter-spacing:0;
	font-weight: bold;
}
.plan-tourprice span.price-text span.min:after{
	display: inline;
	content: "円～";
	font-size: 14px;
}
.plan-tourprice span.price-text span.max:after{
	display: inline;
	content: "円";
	font-size: 14px;
}
td.plan-tourprice ul{
	margin-top: 5px;
}
td.plan-tourprice li{
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 2px 6px;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
}
.period-text{
	color: #756038;
}*/


/* 各プランの対象期間 */
td.plan-period{
	width:34%;
	color: #756038;
}
.plan-period span{
	font-weight: bold;
}
.plan-period b{
	font-weight:normal;
	display: inline;
}
.plan-period b + b{
	margin-left: 0px;
}
.plan-period b + b:before{
	content: "、";
}
.plan-period ul{
	margin-top: 5px;
}
.plan-period li{
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 2px 6px;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
}
.label-pink{
	color: #fff;
	background: #ef81a7;
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 5px;
	display: inline-block;
}
.label-gray{
	color: #fff;
	background: #9b9b9b;
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 5px;
	display: inline-block;
}
.label-gray-deep{
	color: #fff;
	background: #636363;
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 5px;
	display: inline-block;
}
.label-night{
	color: #fff;
	background: #8580e1;
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 5px;
	display: inline-block;
}
.label-day{
	color: #fff;
	background: #daad0f;
	border-radius: 3px;
	padding: 2px 6px;
	margin-bottom: 5px;
	display: inline-block;
}

.plan-title .label-pink{
	color: #fff;
	background: #ef81a7;
	border-radius: 3px;
	padding: 1px 3px 0px 3px;
	display: inline-block;
	font-size: 70%;
	position: relative;
	top: -3px;
}

/* 各プランの予約ボタン */
td.plan-reserve{
	width:20%;
}
.btn-reserve{
	display: block;
	width: 100%;
	border: 2px solid #937b4c;
	background: #fff;
	padding: 10px 5px 10px 17px;
	border-radius: 5px;
	text-align: center;
  font-size: 14px;
	font-weight: bold;
	color: #937b4c;
	position: relative;
}
.btn-reserve:hover{
	background: #ffd6e4;
	border-color:#d24374;
	color: #d24374;
	text-decoration: none;
}
.btn-reserve:before{
	content: "\f758";
	font-family: 'willer_iconsregular';
	position: absolute;
	top: 50%;
	left: 3px;
	margin-top: -10px;
	font-weight: normal;
}
.btn-reserve-off{
	background: #eee;
	border: 2px solid #fff;
	pointer-events: none;
}
.btn-reserve-off:before{
	display: none;
}

.link-caution{
	text-align: center;
	margin:10px 0 0 0;
	font-size: 12px;
	display:block;
}

/* キャンペーンやっているの見出し（快適シートの紹介で使った） */
.incampaign-title{
	text-align: center;
	margin:25px 0 2px 0;
	font-size: 18px;
	font-weight: bold;
	/*background:#ddeee4;*/
	padding: 8px 5px;
	line-height: 1.3;
}

.plan-seat{
	font-weight: normal !important;
	font-size: 12px;
	margin-top: 5px;
}
.plan-seat span{
	font-weight: bold !important;
	font-size: 14px;
}
.plan-seat a{
	color: #756038;
}
.plan-title small.rogentei-off{
	display: none;
}
.plan-period .rogentei-off{
	display: none;
}
/*.ro1301003,
.ro2301003{
	display: inline-block !important;
}*/


/* ====================================
注意文
==================================== */
.caution{
	margin-bottom: 30px;
}
.caution h3{
	font-size:22px;
	line-height: 1.4;
	text-align:center;
	font-weight:bold;
	margin:0;
}
.caution h3 span{
	font-size:20px;
}
.caution h3:before {
    content: "\f071";
    font-family: FontAwesome;
    font-size: 26px;
    color: #eda315;
    margin-right: 10px;
}
.caution h4{
	font-weight: bold;
	margin-bottom: 10px;
}
.caution ul{
	margin:0px 15px 15px 25px;
}
.caution ul li{
	font-size:14px;
	list-style:none;
	margin:3px 0;
	position: relative;
}
.caution ul li:before{
	content:"※";
	position: absolute;
	top:0;
	left:-24px;
}
.panel{
	margin-bottom: 0;
}
.cancel-panel{
	border-top:1px solid #7f524f;
	border-right:1px solid #7f524f;
	margin-bottom: 25px;
}
.cancel-panel .col-sm-2{
	border-bottom:1px solid #7f524f;
	border-left:1px solid #7f524f;
}
.cancel-panel dt,
.cancel-panel dd{
	padding: 15px 15px;
	text-align: center;
}
.cancel-panel dt{
	background: #936d6a;
	color: #fff;
	border-bottom:1px solid #7f524f;
}
.cancel-panel-head dd{
	background: #936d6a;
	color: #fff;
	font-weight: bold;
}
.cancel-panel span{
	color: #b82b2b;
	font-weight: bold;
}


/* ====================================
ページ下の現在開催中のキャンペーンの部分
==================================== */
#campaigninfo{
	margin-bottom: 40px;
}



/* ====================================
モーダルの調整
==================================== */
.modal-body table{
	width: 100%;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
.modal-body th,
.modal-body td{
	padding: 10px;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.modal-body th{
	width: 30%;
	background: #eee;
	font-weight: bold;
}


.seat-img img{
	display: none;
}
.seat-reborn img.seat-photo-reborn,
.seat-luxia img.seat-photo-luxia,
.seat-new_premium img.seat-photo-new_premium,
.seat-bote img.seat-photo-bote{
	display: block;
	margin-bottom: 3px;
}
.modal-body .plan-tbl{
	border-top: none;
	margin-bottom: 15px;
}
.modal-body .plan-tbl th,
.modal-body .plan-tbl td{
	padding: 10px;
	border-bottom: none;
	border-right: 1px solid #ccc;
}
.modal-body .plan-tbl ul{
	margin:0;
	margin-top: 5px;
}
.modal-body .plan-tbl ul li:before{
	display: none;
}
.modal-body .plan-tbl .btn-reserve:before{
	display: none;
}




/* ====================================
宿泊セット
==================================== */
#busset{
	width:100%;
	background: rgba(0,0,0,0.5);
	padding: 10px 0;
	position: fixed;
	bottom: 0;
	z-index: 999;
	display: none;
}
.is-fixed {
  display: block !important;
}
.btn-setsearch{
	display: block;
	width: 100%;
	border: 2px solid #5a866b;
	background: #fff;
	padding: 15px 5px;
	border-radius: 5px;
	text-align: center;
	font-weight: bold;
	color: #5a866b;
	position: relative;
}
.btn-setsearch:hover{
	background: #ffd6e4;
	border-color:#d24374;
	color: #d24374;
	text-decoration: none;
}
.btn-setsearch:before{
	content: "\f758";
	font-family: 'willer_iconsregular';
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -10px;
	font-weight: normal;
}


@media(max-width:767px) { 
/* スマホ用 */

  ul#social_btn{
    margin-top: 0;
  }


  /* ====================================
  料金のピックアップ部分
  ==================================== */
  #spot{
    margin-bottom: 10px;
  }
  .rosen-name{
    float: left;
    width: 50%;
    font-size: 12px;
  }
  .rosen-price{
    float: right;
    width: 50%;
    margin-bottom: 10px;
    text-align: right;
  }
  .rosen-price strong{
    font-size: 32px;
  }
  .rosen-conditions{
    clear: both;
  }
  .card-couponbtn{
    margin-top: 10px;
  }
  .card-couponbtn a{
    padding: 5px;
    font-size: 12px;
    height: 100%;
  }
  .card-couponbtn a:after{
    content: "\f773";
    font-family: 'willer_iconsregular';
    position: relative;
    top: 0;
    left: 0;
    font-size: 16px;
    margin-left: 5px;
  }
  .card-rosenbtn{
    margin-top: 10px;
  }
  .card-rosenbtn a{
    padding: 5px;
    font-size: 12px;
    height: 100%;
  }
  .card-rosenbtn a:after{
    content: "\f721";
    font-family: 'willer_iconsregular';
    position: relative;
    top: 0;
    left: 0;
    font-size: 16px;
    margin-left: 5px;
  }


  /* ====================================
  シート紹介部分
  ==================================== */
  #seatinfo{
    margin-bottom: 30px;
  }
  .box-pink{
    padding: 10px 10px 10px 10px;
  }
  .box-pink .box-title{
    margin-bottom: 10px;
  }
  .box-pink h2{
    float: none;
    text-align: center;
  }
  .box-pink p{
    font-size: 12px;
  }


  /* ====================================
  ページの一番した　クーポン情報とかを出す
  ==================================== */
  #topic{
    margin-bottom: 20px;
  }
  .container-topic{
    border-width:3px;
    padding: 8px 0px 0px 10px;
  }
  .container-topic:before{
    top: -35px;
    left: -15px;
    font-size: 40px;
  }
  .topic-title{
    text-align: left;
    font-size: 18px;
  }


  /* ====================================
  発着地選択のボタン
  ==================================== */
  .pagenavi{
    margin-bottom: 20px;
  }
  .row-pagenavi{
    display: block;
    table-layout:auto;
    text-align: center;
    width: 100%;
    border:2px solid #ec6191;
    border-radius: 3px;
  }
  .row-pagenavi:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
    visibility:hidden;
  }
  .row-pagenavi {display: inline-block;} 
  * html .row-pagenavi {height: 1%;}
  .row-pagenavi {display:block;}

  .row-pagenavi li {
    display: block;
    width:50%;
    float: left;
  }
  .row-pagenavi li a{
    background: none;
    padding: 12px 5px 10px 15px;
    border-right: 2px solid #ec6191;
    border-left: none;
    border-bottom: 1px dotted #ccc;
    color: #ad144a;
    font-size: 12px;
  }
  .row-pagenavi li a:hover{
    background: #ffc0d6;
    text-decoration: none;
  }
  .row-pagenavi li a.btn-active{
    background: #ffc0d6;
    text-decoration: none;
  }
  .row-pagenavi li:nth-child(even) a{
    border-right: none;
  }
  .row-pagenavi li:last-child a{
    border-right: 2px solid #ec6191;
    border-bottom: none;
  }





  /* ====================================
  路線部分
  ==================================== */
  .searh-hit{
    text-align: center;
  }
  /* エリアごとの見出し */
  .rosen-area{
    text-align: center;
    font-weight: bold;
    font-size: 20px;
  }


  /* 路線名 */
  .rosen-title{
    padding: 15px 10px 15px 10px;
    font-size: 18px;
  }
  .rosen-list{
    width:98%;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  .rosen-inner{
    border-left: 5px solid #e4e4e4;
    padding: 10px 0px 5px 10px;
  }
  /*.rosen-inner table{
    counter-increment: section;
  }
  .rosen-inner table:before{
    content: counter(section);
  }*/

  /* 各プランの枠 */
  .plan-tbl{
    border-right:none;
    width:100%;
    margin-bottom: 20px;
    position: relative;
  }
  .plan-tbl td{
    padding: 5px 10px;
    border-left: none;
    border-bottom: 2px solid #fff;
    display: block;
    width:100%;
  }
  /* プラン名 */
  td.plan-title{
    font-size: 16px;
    width:100% !important;
    background: #fff;
    padding: 0;
  }
  td.plan-title:after{
    border-right: 6px solid transparent;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #e4e4e4;
    left:-10px;
    content:"";
    display:block;
    top:6px;
    position:absolute;
  }
  td.plan-title small{
    font-size: 12px;
  }

  /* 各プランの料金 */
  td.plan-price{
    width:100% !important;
    background: #fff0f0;
    position: relative;
  }
  .plan-price span{
    font-size: 28px;
  }
  .plan-price span:before{
    content: "\f70b";
    font-family: 'willer_iconsregular';
    font-size: 30px;
    font-weight: normal;
    position: absolute;
    left: 15px;
  }
  .tour-tbl .plan-price span:before{
    display: none;
  }
  .tour-tbl .plan-price span.min:before{
    display: inline;
    content: "\f70b \f70f";
    font-family: 'willer_iconsregular';
    font-size: 30px;
    font-weight: normal;
    position: absolute;
    left: 15px;
  }
  /* 宿泊セット用の調整 */
  /*td.plan-tourtitle{
    width:100% !important;
    float: none;
    background: #fff;
    padding: 0;
    font-size: 16px;
  }
  td.plan-tourprice{
    width:100%;
    float: none;
    padding: 0;
    border-bottom: none;
  }
  .plan-tourprice .price-text{
    background: #fff0f0;
    padding: 5px 10px;
    text-align: right;
    display: block;
    border-bottom: 2px solid #fff;
  }*/


  /* 各プランの対象期間 */
  .plan-period{
    clear: both;
    padding-bottom: 0 !important;
    border-bottom: none !important;
  }
  .plan-period span{
    display: inline;
  }

  .plan-period ul li{
    font-size: 12px;
  }


  /* 各プランの予約ボタン */
  .btn-reserve{
    margin-bottom: 10px;
  }
  .plan-reserve .btn-reserve:last-child{
    margin-bottom: 0px;
  }

  /* キャンペーンやっているの見出し（快適シートの紹介で使った） */
  .incampaign-title{
    font-size: 16px;
  }

  /* ====================================
  注意文
  ==================================== */
  #caution h3{
    line-height:1.4;
    padding:0;
  }

  #caution h3,
  #caution h3 span{
    font-size:14px;
  }

  #caution h3:before{
    font-size:20px;
  }
  #caution h4{
    font-size: 16px;
  }
  .panel-body{
    padding:15px 15px;
  }

  #caution ul{
    margin: 10px 5px 10px 15px;
  }

  #caution ul li{
    font-size:12px;
  }

  #caution ul li:before{
    left: -15px;
  }
  .cancel-panel{
    border-top:1px solid #7f524f;
    border-right:1px solid #7f524f;
  }
  .cancel-panel .col-sm-2{
    border-bottom:1px solid #7f524f;
    border-left:1px solid #7f524f;
  }
  .cancel-panel dt,
  .cancel-panel dd{
    float: left;
    width:50%;
  }
  .cancel-panel dt{
    background: #936d6a;
    color: #fff;
    border-bottom:none;
  }
  .cancel-panel-head dd{
    background: #936d6a;
    color: #fff;
    font-weight: bold;
  }
  .cancel-panel span{
    color: #b82b2b;
    font-weight: bold;
  }




  /* ====================================
  モーダルの調整
  ==================================== */
  .modal-body table{
    width: 100%;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
  }
  .modal-body th,
  .modal-body td{
    display: block;
    width:100%;
  }
  .modal-body th{
    width:100%;
  }

  .modal-body .plan-tbl{
    border-left: none;
  }
  .modal-body .plan-tbl td{
    border-right: none;
  }
  .modal-body .plan-tbl td{
    border-right: none;
  }
  .modal-body .plan-tbl td.plan-title{
    padding: 0;
  }
  .modal-body .plan-tbl td.plan-title:after{
    display: none;
  }


  #busset{
    padding: 5px 0;
  }

}
/* スマホ用指定 End */

.comfortable-rebornonly .luxiaonoff{
	display: none;
}


.modal-content{
	border:none;
	overflow: hidden;
}
.modal-header{
	background: #ea5589;
	color: #fff;
}
.btn-close {
    background: #333;
    color: #fff;
    font-size: 14px;
    padding: 3px 10px;
    border-radius: 4px;
}

/* ====================================
  Bootstrap4移行用
==================================== */
/* Navigation
----------------------------------------------------*/
@media (min-width: 576px){
  .pagenavi .container {
    max-width: 100%;
  }
}
@media (min-width: 768px){
  .pagenavi .container {
    max-width: 750px;
  }
}
@media (min-width: 992px){
  .pagenavi .container {
    max-width: 970px;
  }
}
@media (min-width: 1200px){
  .pagenavi .container {
    max-width: 1170px;
  }
}
/* Modal
----------------------------------------------------*/
.modal-header {
  padding: 15px;
}
.modal-header .close {
  padding: 15px 15px 15px 10px;
  font-size: 21px;
}
.modal-title {
  font-size: 14px;
}
@media (min-width: 576px){
  .modal-title {
    font-size: 16px;
  }
}
@media (min-width: 620px){
  .modal-dialog {
    max-width: 600px;
  }
}


.plan-tbl.spsale-tbl {
	background: #e0ecff;
}
.spsale-tbl .plan-title {
	color: #4182e3;
}
@media (max-width: 767px){
	td.plan-title.ico-spsale {
		font-size: 18px;
	}
}
/* 路線別 割引率ラベル差し込み　個別指定
--------------------------------------------------------- */
.ico-spsale:before {
	content: '25%OFF''\A';
	white-space: pre;
	background: #DA4453;
	color: #fff;
	font-size: 80%;
	font-weight: normal;
	letter-spacing: 1px;
	padding: 0.1rem 0.3rem 0;
	margin-right: 0.5rem;
	border-radius: 4px;
	animation: flash 1s linear infinite;
}
@keyframes flash {
	0%,100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/* ↓ 関東⇔関西 */
[class*="ro2301001"] .ico-spsale:before,
[class*="ro1301001"] .ico-spsale:before {
	content: '最大18%OFF''\A';
}
/* ↓ 関東⇔名古屋 */
[class*="ro2301002"] .ico-spsale:before,
[class*="ro1301002"] .ico-spsale:before {
	content: '最大26%OFF''\A';
}
/* ↓ 関東⇔仙台・福島 */
[class*="ro2301003"] .ico-spsale:before,
[class*="ro1301003"] .ico-spsale:before {
	content: '最大43%OFF''\A';
}
/* ↓ 関東⇔新潟 */
[class*="ro2301004"] .ico-spsale:before,
[class*="ro1301004"] .ico-spsale:before {
	content: '最大25%OFF''\A';
}
/* ↓ 関東⇔金沢・富山 */
[class*="ro2301008"] .ico-spsale:before,
[class*="ro1301008"] .ico-spsale:before {
	content: '最大33%OFF''\A';
}
/* ↓ 東京⇔長野 */
[class*="ro2301019"] .ico-spsale:before,
[class*="ro1301019"] .ico-spsale:before {
	content: '最大22%OFF''\A';
}
/* ↓ 東京⇔岡山 */
[class*="ro2301009"] .ico-spsale:before,
[class*="ro1301009"] .ico-spsale:before {
	content: '最大24%OFF''\A';
}
/* ↓ 東京⇔広島 */
[class*="ro2301010"] .ico-spsale:before,
[class*="ro1301010"] .ico-spsale:before {
	content: '最大28%OFF''\A';
}
/* ↓ 大阪⇔名古屋 */
[class*="ro2301018"] .ico-spsale:before,
[class*="ro1301018"] .ico-spsale:before {
	content: '最大25%OFF''\A';
}
/* ↓ 関西⇔広島 */
[class*="ro2301015"] .ico-spsale:before,
[class*="ro1301015"] .ico-spsale:before {
	content: '最大28%OFF''\A';
}
/* ↓ 関西⇔福岡・佐賀 */
[class*="ro2301017"] .ico-spsale:before,
[class*="ro1301017"] .ico-spsale:before {
	content: '最大18%OFF''\A';
}
/* ↓ 関西⇔新潟・長岡 */
[class*="ro2301013"] .ico-spsale:before,
[class*="ro1301013"] .ico-spsale:before {
	content: '最大13%OFF''\A';
}
/* ↓ 関西⇔松山 */
[class*="ro2301016"] .ico-spsale:before,
[class*="ro1301016"] .ico-spsale:before {
	content: '最大17%OFF''\A';
}
/* ↓ 大阪⇔米子・松江・出雲 */
[class*="ro2301031"] .ico-spsale:before,
[class*="ro1301031"] .ico-spsale:before {
	content: '最大32%OFF''\A';
}
/* ↓ 広島⇔福岡・佐賀 */
[class*="ro2301030"] .ico-spsale:before,
[class*="ro1301030"] .ico-spsale:before {
	content: '最大16%OFF''\A';
}

/* 冒頭CPNテキスト露出
--------------------------------------------------------- */
.info-cpn {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	background: #e0ecff;
	border-radius: 10px;
	padding: 1rem;
	color:#4182e3;
}
@media (max-width: 767px){
	.info-cpn {
		margin-bottom: 30px;
	}
}
.info-cpn p {
	font-size: 18px;
	margin-left: 0.5rem;
}
@media (max-width: 767px){
	.info-cpn p {
		font-size: 16px;
	}
}