@charset "utf-8";

/* 基本設定 */
article {
  font-size: 14px;
  background: #e5faff;
  color: #333 !important;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

/* Bootstrapのガター幅を調整するための汎用CSS */
.row-0{ margin-left:0px;  margin-right:0px;}
.row-0 >div{ padding-right:0px;  padding-left:0px;}
.row-10{ margin-left:-5px;  margin-right:-5px;}
.row-10 >div{ padding-right:5px;  padding-left:5px;}
.row-20{ margin-left:-10px;  margin-right:-10px;}
.row-20 >div{ padding-right:10px;  padding-left:10px;}
.row-30{ margin-left:-15px;  margin-right:-15px}
.row-30 >div{ padding-right:15px;  padding-left:15px;}
.row-40{ margin-left:-20px;  margin-right:-20px}
.row-40 >div{ padding-right:20px;  padding-left:20px;}
.row-50{ margin-left:-25px;  margin-right:-25px;}
.row-50 >div{ padding-right:25px;  padding-left:25px;}

#js-gallery a,#js-gallery2 a {
  position: static!important;
  left: 180px !important;
}

/* 共通 */

a:hover {
  text-decoration: none;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

a img:hover {
  background-color: #FFF;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

.btn.focus, .btn:focus, .btn:hover {
  color: #fff;
}

#newsflash-campaign {
  display: none;
}

.sticky-top {
  z-index: 20!important;
}

/* トリミングしたいサイズで枠を作る */
.thumb {
  width: 35%;
  padding-top: 35%;
  position: relative;
  overflow: hidden;
  float: left;
}

/* 横幅に合わせてトリミング */
.thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}

/* モーダル */

.modal-open {
    padding-right:0px !important;
}

.modal-header {
  background:#FAFAFA;
  border-radius:0;
  min-height:35px;
  padding:0;
  padding: 10px;
}

.modal-header .close {
  color:#333;
  font-size:30px;
  padding:0;
  opacity:1.0;
  position: absolute;
  top:23px;
  right:25px;
}

.modal-title {
  font-size:18px;
  font-weight:bold;
  text-align:center;
  width:100%;
  max-width: 95%;
}

.modal .loc-title-zone {
  margin-bottom:10px;
}

.modal .areaconts {
  width:100%;
}

.modal .main-single,
.modal .box-d3 {
  margin-bottom:0;
}

.modal-footer {
  display:block;
  border-top:none;
  text-align:center !important;
  position: sticky;
  position: -webkit-sticky;
  bottom: 0;
  width: 99.5%;
  background: rgba(255,255,255,0.8);
  z-index:10;
}

.modal-footer button{
  width:100%;
  background:#333 !important;
  border:none;
}

.modal-footer button:hover,
.modal-footer button:focus,
.modal-footer button:active{
  text-decoration: none;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  transition-property: all;
  transition: 0.3s linear;
}

.modal-content {
  border-radius: 0 !important;
}

.modal-footer .btn.focus, .modal-footer .btn:focus, .modal-footer .btn:hover {
  color: #fff;
}

/* メインビジュアル */

#main-img .title-main img {
  margin: 0 auto;
  width: 100%;
  max-width: 1366px;
} 

@media (min-width: 768px){

  


  
}

@media (min-width: 1366px){
  #main-img .bg-main {
    max-width:1366px;
    margin: 0 auto;
    width: auto;
  }
  
}

.tour-type-wrap h5 {
  text-align: center;
  font-weight: bold;
  color: #660000;
  margin-bottom: 15px;
}

.tour-type-wrap {
  border-bottom: 1px dashed #660000;
  margin-bottom: 30px;
}

.tour-type-wrap:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

.tour-type-tum{
  float: left;
}

.tour-type-body p {
  padding-left:100px;
  font-size: 14px;
  padding-bottom: 30px;
}




.reason-wrap h5 {
  text-align: center;
  font-weight: bold;
  color: #660000;
  margin-bottom: 15px;
}

.reason-wrap {
  border-bottom: 1px dashed #660000;
  margin-bottom: 30px;
  clear: both;
  padding-bottom: 30px;
}

.reason-wrap:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}
.reason-tum{
  float: left;

}

.reason-body p {
  padding-left: 175px;
  font-size: 14px;
  padding-bottom: 30px;
  min-height: 160px;
}

/* 予約カセット */
#pickup {
  margin-bottom: 60px;
  background: #fff;
  text-align: center;
  clear: both;
}

#pickup:before{
	content: "";
	width:100%;
	display: block;
	height:140px;
	background-color: #fff;
	background-image: url(/static/img/campaign/ski/bg-nami-top.png);
	background-position: top center;
	background-repeat: no-repeat;
}

#pickup:after{
	content: "";
	width:100%;
	display: block;
	height:130px;
	background-color: #fff;
	background-image: url(/static/img/campaign/ski/bg-nami-bottom.png);
	background-position: bottom center;
	background-repeat: no-repeat;
}



@media screen and (max-width: 767px) {
#pickup:before{
	height:70px;
	background-color: #fff;
	background-image: url(/static/img/campaign/ski/bg-nami-top-sp.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

#pickup:after{
	height:70px;
	background-color: #fff;
	background-image: url(/static/img/campaign/ski/bg-nami-bottom-sp.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
}

}


/*#pickup h2 {
  font-size: 30px;
  margin: 30px auto;
}*/

#pickup .title-wrap img {
  margin: 0 auto;
}

#pickup .title-wrap {
  margin:0 auto 50px auto;
  position: relative;
}

#pickup .itembox02 h3 {
  color: #000;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 12px;
}
#pickup .itembox02 h3 small{
  font-weight: bold;
}
#pickup .itembox02 h3 a {
  color: #0099cc;
  display: block;
  padding-bottom: 12px;
  border-bottom: 1px dotted #0099cc;
}

#pickup .itembox02{
  box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 10%);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  background:#fff;
  overflow:hidden;
  padding: 20px 10px 10px;
  margin-bottom: 20px;
}

#pickup .itembox02 img {
  width: 100%;
}

#pickup .itembox02 .itembox-body{
  margin-bottom: 12px;
}
#pickup .itembox02 .itembox-book{
  padding: 0 10px 10px 10px;
  text-align: left;
}

#pickup .itembox02 .example-txt {
  font-size: 14px;
  padding-right: 3px;
  color: #000;
  display: block;
  text-align: left;
}
.example-list{
  margin: 10px 0 0 0;
  padding: 10px 10px;
  background: #f5fdff;
}
.example-list li{
  padding-left: 15px;
  position: relative;
  text-align: left;
  font-size: 90%;
}
.example-list li:before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.example-list li + li{
  margin-top: 3px;
}
/*.price-line{
  margin-top: 20px;
  text-align: left;
  margin-bottom: 10px;
}
.num {
  font-size: 16px;
  font-weight: bold;
  color:#f53c7f;
  display: inline;
}
.yen{
  font-size: 12px;
  font-weight: bold;
  color: #f53c7f;
  display: inline;
  padding-right: 3px;
}*/

.introduction {
  margin-bottom: 60px;
  text-align: center;
  clear: both;
  background: #fafafa;
  padding: 24px 24px 12px;
}

.introduction h2 {
  font-size: 18px;
  margin-bottom: 12px;
  padding-top: 0;
  background: none;
  font-weight: bold;
}

.introduction h3 {
  color: #000;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3;
  margin: 5px;
  text-align: left;
}

.introduction .introduction-txt {
  text-align: left;
  font-size: 14px;
  margin: 5px;
}



/*.price-text-wrap {
  display: inline-block;
  width: 100%;
  white-space: nowrap;
}

#top .price-text-wrap {
  display: inline;
  margin-right: 10px;
  white-space: nowrap;
}

#top .price-text-wrap:lastlastchild {
  margin-right: 0px;
}*/

@media (max-width: 767px) {
  /*.num {
    font-size: 16px;
  }*/

  li.plan-id {
    margin-bottom: 5px;
    float: none!important;
    display: table;
  }

  .modal-body .plan-id {
    margin-bottom: 0px;
  }

  #pickup {
    margin-bottom: 30px;
  }
  /*#pickup h2 {
    font-size: 24px;
    top: 20px;
    font-weight: bold;
    margin-bottom: 15px;
  }*/
  
  .introduction {
    margin-bottom: 20px;
    text-align: center;
    clear: both;
  }

  .introduction h3 {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
    margin: 5px 0;
  }

  .introduction .introduction-txt {
    text-align: left;
    font-size: 14px;
    margin: 5px;
  }

}

.spots a {
   color: #333;
}


footer {
    clear: both;
}

.tag {
  padding: 2px 5px;
  color: #333;
  background: #dedfe0;
  border: none;
  border-radius: 2px;
  font-size:10px;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 5px;
}

.tag:hover {
  color: #333;
}

.data-wrap {
  color: #333;
  display: inline-block;
  font-size: 12px;
}

.data-wrap li{
  float: left;
  margin-right: 10px;
}

.data-wrap li:last-child{
  margin-right: 0px;
}

.data-wrap li.times {
  background: url(../img/ico-times.png) no-repeat;
  padding-left: 17px;
  background-position: top left;
}

.data-wrap li.spots {
  background: url(../img/ico-spots.png) no-repeat;
  padding-left: 17px;
  background-position: top left;
}

.tag-wrap {
  clear: both;
}

i {
  font-style:normal;
  font-size: 10px;
  margin-right: 5px;
  margin-bottom: 5px;
}

.wrap {
  width: 80px;
  margin: 0 auto;
}

a.btn-main {
  background: #f53d7e;
  border-color: #f53d7e;
  font-weight: bold;
  color: #fff!important;
  margin: 0 auto;
  padding: 10px 10px;
  width: 100%;
  display: block;
}

a.btn-main:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 15px;
  color: #fff!important;
}

.btn-detail {
  color: #fff;
  padding: 8px;
  margin: 0 auto;
  position: relative;
  width: 60%;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
  background: #f30069;
  display: block;
  border-radius: 3px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  transition-property: all;
  transition: 0.3s linear;
  margin-top: 15px;
  clear: both;
}

.btn-detail:after {
  content: "\f720";
  font-family: 'willer_iconsregular';
  position: absolute;
  top: 50%;
  line-height: 1;
  font-size: 16px;
  color: #fff;
  right: 15px;
  margin-top: -8px;
}

@media (max-width: 767px) {
  .btn-detail {
    margin-bottom: 30px;
  }

}




/*@media (max-width: 1189px){
.price-text {
    font-size: 16px;
    width: 100%;
    display: block;
    text-align: left;
}}

@media (max-width: 991px){
.price-text {
    font-size: 12px;
    width: 100%;
    display: block;
    text-align: left;
}}*/


.badge{
  background: #f53c7f;
  color: #fff;
  padding: 3px 6px;
  line-height: unset;
  display: inline-block;
  position: relative;
  top: -2px;
}
    
    
    #covid19 .modal-body h3{
font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid;
    padding-bottom: 6px;
    margin-bottom: 12px;
    line-height: 1.6;
}
#covid19  .modal-body p{
  font-size: 14px;
  line-height: 1.4;
}
#covid19  .modal-body p + p{
  margin-top: 12px;
}
#covid19  .modal-body p + h3{
  margin-top: 36px;
}


    
#gotoinfo {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
#gotoinfo {
  margin-bottom: 0px;
}
}




.copy{
  margin-bottom: 60px;
}
.copy h2{
	padding-top: 120px;
	font-size: 27px;
	line-height: 1.4;
	display: block;
	text-align: center;
	font-weight: bold;
}
/*.bg-icon01{
	background:url(/campaign/hakuba-ski-board/img/bg-icon01.png) no-repeat top center;
	background-size: 260px;
}*/
.bg-icon02{
	background:url(/static/img/campaign/ski/bg-icon04.png) no-repeat top center;
	background-size: 240px;
}
/*.bg-icon03{
	background:url(/campaign/hakuba-ski-board/img/bg-icon03.png) no-repeat top center;
	background-size: 240px;
}*/
.copy h2 small{
  font-size: 14px;
  display: block;
}

@media screen and (max-width: 767px) {
.copy{
  margin-bottom: 30px;
}
.copy h2{
	padding-top: 73px;
	font-size: 24px;
}
.bg-icon01,
.bg-icon02,
.bg-icon03{
	background-size: 160px;
}



}


@media screen and (max-width: 767px){

#top .modal-header .close {
    margin: -1rem -1rem -1rem auto!important;
}
}


.departure-list01 li a {
    /*font-weight: bold;*/
}
.departure-list01 li.dep-kanto a:before{
  color: #ef3c4d !important;
}
.departure-list01 li.dep-kansai a:before{
  color: #9435b8 !important;
}
.departure-list01 li.dep-tokai a:before{
  color: #4db8f0 !important;
}

#goto-info {
    margin-bottom: 60px;
}
@media (max-width: 767px) {
#goto-info {
    margin-bottom: 30px;
}
}

.acc-box{margin:2rem 0;}
.acc-box .card-header{padding:10px;background: #fff;border-bottom:none;}
.acc-box .card-header h3{font-size: 14px;font-weight: bold;margin:0;color: #dc3545;line-height: 1.4;}
.acc-box .card-header h3 button{font-size: 16px;background: none;text-align: left;color: #dc3545;padding:0 30px 0 0;position: relative;line-height: 1.4;display: block;width: 100%;font-weight: bold;}
.acc-box .card-header:first-child{border-radius: 0;}
.acc-box .card{border-radius: 5;border: 2px solid #0099cc;}
.acc-box .card-body{padding:10px;;background: #fff;font-size: 14px;text-align: left;}
.acc-box .card-body b{font-weight: bold;}
.acc-box .card-body b.colorred{color: red;}
.acc-box .card-header button:after {position: absolute;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);right: 0px;content: "\f077";font-family: "Font Awesome 5 Free";font-weight: 900;color: #d9534f;}
.acc-box .card-header button.collapsed:after {content: "\f078";}
.card-body .acc-box{margin:0.5rem 0;}
.acc-box .card-body .card-header{padding:5px 10px;background: none;}
.acc-box .card-body .card{border-radius: 0;border: none;}
.acc-box .card-body .card-body{padding:10px;background: #fff;font-size: 14px;text-align: left;}
.acc-box .card-body .card-header button:after {position: relative;top: 1px;-webkit-transform: none;transform:none;right: auto;content: "\f077";font-family: "Font Awesome 5 Free";font-weight: 900;color: #d9534f;margin-left:10px;}
.acc-box .card-body .card-header button.collapsed:after {content: "\f078";}
.acc-box .card-header button{
cursor: pointer;
cursor: hand;
}	
.acc-box .card-header button:focus {
    outline: none;
    outline: none;
    }
    
.price-text-b, .num-b, .yen-b {
    font-size: 12px;
    color: #000;
    }

.num-b, .yen-b {
font-weight: bold;
}
.price-text-b {
padding-right: 3px;
}
.goto {
    background: #f00;
    color: #fff!important;
}

.cominfsoon {
opacity: 0.5;
pointer-events: none;
}

.camend article:before{
  content: "2020年の販売は終了しました";
  text-align: center;background: #da4453;color:#fff;padding:16px 5px;
  display: block;
  width: 100%;
  font-size: 16px;
}
.camend .itembox02 .itembox-book{
  display: none;
}
.camend .itembox02:before{
  content: "";
  width: calc(100% - 30px);
  height: calc(100% - 20px);
  display: block;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 15px;
  z-index: 2;
}
.camend .itembox02:after{
  content: "販売は終了しました";
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
@media(max-width:768px) {
	.camend article:before{
	  font-size: 13px;
	}
}


/*------------------------
	タブ
-------------------------*/
.nav-area{
  width: 100%;
  justify-content: left;
  border-bottom: 3px solid #fff;
}
.nav-area > li {
/*  flex: 1;*/
  display: flex;
  width: 100%;
}
.nav-area > li a.nav-link {
    text-align: center;
    padding: 5px 0;
    display: flex;
    width: 100%;
    color: #333;
    align-items: center;
    justify-content: center;
    background: #e5faff;
    border: solid 2px #fff;
    border-bottom: none;
    font-size: 16px;
    font-weight: bold;
	margin: 0 1px 4px;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
}
.nav-area > li a.nav-link span{
	width: 100%;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #fff;
    background: #0099cc;
    border: solid 2px #fff;
    border-bottom: none;
}

/*--------------------------
	各タブ内容
--------------------------*/
.tab-area{
	padding: 40px 0 30px;
}

.wrap-pref {
    border: 1px solid #0099cc;
    background: #fff;
    border-radius: 5px;
}

/*見出し 県名*/
.pref-name{
	font-weight: bold;
	font-size: 22px;
    text-align: center;
    background-color: #0099cc;
    color: #fff;
    padding: 15px 10px 15px 10px;
}

/*各地域の余白*/
.wrap-area{
	margin: 30px 20px;
	padding-bottom: 20px;
	border-bottom: dotted 3px #e7e7e7;
}
.wrap-area:last-of-type{
	border-bottom: none;
	padding-bottom: 0;
}

/*見出し 地域名*/
.area-name{
	position: relative;
	display: flex;
    justify-content: center;
    margin: 10px 0;
    padding-bottom: 8px;
}
/*下線*/
.area-name::before {
    position: absolute;
    border-bottom: 5px solid #0099cc;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    content: '';
}
.area-name h4 {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    display: inline-flex;
}

/*---------------------
	対象スキー場
-----------------------*/
.search-conditions-title {
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.search-conditions-title:has(> .spot-item:first-child:last-child){
	justify-content: center;
}

.spot-item {
    padding: 10px;
    background: #fffee5;
	margin: 0 0 10px;
	width: 100%;
	font-size: 14px;
	text-align: left;
	border-radius: 5px;
    -webkit-border-radius: 5px;
}

/*見出し スキー場名*/
.bustour-name {
    position: relative;
    font-size: 16px;
    font-weight: bold;
    color: #009494;
    padding-left: 22px;
	margin: 0 0 5px;
}
/*アイコン*/
.bustour-name::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 25px;
    background: url(/static/img/campaign/ski/icon-location.svg) no-repeat center / 100%;
    top: 0;
/*    transform: translate(0, -50%);*/
    left: 0;
}



/*
.row_count{
  font-size: 130%;
  color: red;
  font-weight: bold;
}
.link-anchor-onlybus{
  font-size: 16px;
}
.link-anchor-onlybus a{
  color: #0099cc;
}
.link-anchor-onlybus a:before{
  content: "\f207";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 6px;
}
.title-bus{
  font-size: 20px;
  line-height: 1.4;
  display: block;
  text-align: center;
  font-weight: bold;
}
*/

@media(min-width:768px) {
	.nav-area > li{
		  width: calc(100% / 3);
	}
	.nav-area > li a.nav-link{
		font-size: 18px;
		padding: 18px 0;
	}
	.nav-area > li a.nav-link span{
		margin-bottom: 2px;
	}
	
	/*見出し 県名*/
	.pref-name{
		font-size: 27px;
	}
	/*見出し 地域名*/
	.area-name{
		margin: 10px 0 20px;
	}
	/*下線*/
	.area-name::before {
		width: 70px;
	}
	.area-name h4 {
		font-size: 24px;
	}
	
	/*各地域の余白*/
	.wrap-area{
		margin: 40px 20px;
	}
	
	/*対象スキー場----------------*/
	.spot-item {
		margin: 0.5%;
		width: 49%;
	}
	/*見出し スキー場名*/
	.bustour-name {
		font-size: 18px;
	}
	/*アイコン*/
	.bustour-name::after {
		width: 17px;
	}
	
}


/* ====================================
路線
==================================== */
.rosen-api{
  position: relative;
}

/* 　路線API　 .rosen-api
================================================ */
 .rosen-api .inner { padding: 48px 16px; }
 .rosen-api .listBrand { margin: 40px -4px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; text-align: center; }
 .rosen-api .txt { max-width: 356px; margin: 52px auto 0; padding-right: 1px; text-align: center; }
 .rosen-api .btn { display: block; width: 100%; max-width: 294px; margin: 36px auto 0; padding: 0; text-align: center; border: 0; }
.rosen-api .api-wrap .area p{font-size: 16px;text-align: left;}
.rosen-api .api-wrap .area p.time{display: none;}
@media all and (min-width: 768px) {  .rosen-api .inner { max-width: 1170px; width: 100%; margin: auto; padding: 78px 0 50px; }
   .rosen-api .txt { width: 79.5%; max-width: 902px; margin: 95px auto 0; padding-right: 0; }
   .rosen-api .btn { width: 35%; max-width: 394px; margin: 37px auto 0; } }
/*   詳細ページ
================================================ */
  .rosen-api .api-wrap .ajax_link_rewrite{position: relative;z-index: 2;}
  .rosen-api .api-wrap .ajax_link_rewrite.add + .add:before { display: none;}
  .rosen-api .api-wrap .table { margin-bottom: 0; }
  .rosen-api .api-wrap .add thead { display: none; }
  .rosen-api .api-wrap td:nth-child(2) { padding-top: 8px; text-align: right; font-size: 14px; letter-spacing: .08em; color: #ff3838;}
  .rosen-api .api-wrap td:nth-child(2) span { font-size: 20px; color: #f53c7f; font-weight: 700; }
  .rosen-api .api-wrap .ico { width: 46px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .rosen-api .api-wrap .ico img { width: 20px; }
  .rosen-api .api-wrap .area { width: calc(100% - 46px); padding-left: 20px; font-size: 16px; font-weight: 700; }
  .rosen-api .api-wrap .area img { width: 16px; margin: 0 8px; vertical-align: middle; }
  .rosen-api .api-wrap .time { margin-top: 3px; font-size: 12px; color: #666; }
  .rosen-api .api-wrap .btns { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 10px; }
  .rosen-api .api-wrap .btns .btn { width: 100%; max-width: none; margin: 0 0 10px 0; padding: 0; border: 0; white-space: normal; }
  .rosen-api .api-wrap .btns .btn + .btn { margin-bottom: 0; }
  .rosen-api .api-wrap .btns .btn a { position: relative; display: block; padding: 6px; background: #f53d7e; color: #fff; border: 2px solid #f53d7e; border-radius: 4px; font-size: 16px; font-weight: bold; text-align: center; }
  .rosen-api .api-wrap .btns .btn a:hover { text-decoration: none; color: #fff; /*background: #4e2f18;*/}
  .rosen-api .api-wrap .btns .btn a:after {position: absolute; top: 50%; right: 5px; transform: translate(0, -50%); content: "\f105"; font-size: 14px; font-family: "Font Awesome 5 Free"; font-weight: 900; z-index: 2; }
  .rosen-api .api-wrap .btns .btn.is_pink a { background: none; color: #f53d7e; border-color: #f53d7e; }
  .rosen-api .api-wrap .btns .btn.is_pink a:hover { opacity: .8; }
@media all and (max-width: 767px) {  .rosen-api table,  .rosen-api tbody,  .rosen-api tr,  .rosen-api th,  .rosen-api td { display: block; border: 0; padding: 0; }
   .rosen-api thead { display: none; }
   .rosen-api tr { padding: 28px 0 32px; }
   .ajax_link_rewrite + .ajax_link_rewrite { border-top: 1px solid #E7E7E7; }
   .rosen-api .add { border-top: 1px solid #E7E7E7; }
   .rosen-api td:first-child { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; } }

@media all and (min-width: 768px) {  .rosen-api .copy { max-width: 882px; margin: -56px auto 65px; }
   .rosen-api .copy:before { left: 134px; width: 148px; height: 92px; margin-top: -16px; }
   .rosen-api .api-wrap thead th { padding: 27px 0 16px; font-size: 15px; text-align: center; font-weight: 500; border: 0; }
   .rosen-api .api-wrap thead th:nth-child(1) { width: 35.5%; }
   .rosen-api .api-wrap thead th:nth-child(2) { padding-right: 50px; text-align: right; }
   .rosen-api .api-wrap thead th:nth-child(3) { width: 27.8%; }
   .rosen-api .api-wrap table { width: 100%; }
   .rosen-api .api-wrap .ajax_link_rewrite:first-child table tbody tr:first-child td { border-top: 0; }
   .rosen-api .api-wrap td { padding: 12px 0; vertical-align: middle; font-size: 0;}
   .rosen-api .api-wrap td:nth-child(2) { padding-top: 22px; padding-right: 0px; color: #ff3838; width: 20%;}
   .rosen-api .api-wrap td:nth-child(3) { padding-left: 20px; width: 33%; }
   .rosen-api .api-wrap .ico { display: inline-block; width: 58px; vertical-align: middle; }
   .rosen-api .api-wrap .ico img { width: 26px; }
   .rosen-api .api-wrap .ico img + img { margin-left: 6px; }
   .rosen-api .api-wrap .area { display: inline-block; width: calc(100% - 68px); vertical-align: middle; font-size: 18px; }
   .rosen-api .api-wrap .area img { margin: 0 10px; }
   .rosen-api .api-wrap .time { margin-top: 4px; font-size: 14px; }
   .rosen-api .api-wrap .btns { margin-top: 0; }
   .rosen-api .api-wrap .btns .btn { width: 100%; }
   .rosen-api .api-wrap .btns .btn + .btn { margin-top: 10px; }
   .rosen-api .api-wrap .btns .btn a { padding: 6px;}
   .rosen-api .api-wrap .btns .btn a:before { left: 16px; }
    }

@media all and (min-width: 1200px) {  .rosen-api .api-wrap .btns .btn { float: left; width: calc(50% - 5px); }
   .rosen-api .api-wrap .btns .btn + .btn { float: right; margin-top: 0; }
   .rosen-api .api-wrap td:nth-child(3) { padding-left: 20px; width: 48%; }
   }



.departure-list01{
  margin-bottom: 24px;
  margin-top: 0;
}
.departure-list01 li{
  font-size: 16px;
}
.modal-dep-title{
  font-weight: bold;
}
@media all and (max-width: 767px) {
.departure-list01{
  margin-bottom: 18px;
}
.departure-list01 li{
  font-size: 14px;
}
}




.price-line{
  display: block;
  text-align: right;
  font-size: 12px;
  margin-bottom: 10px;
  margin-top: 10px;
}
.price-line .num.min{
  margin-left: 5px;
}
.price-line .num {
    font-size: 18px;
    font-weight: bold;
    color: #F14482;
}
.price-line .num.min:after {
    content: "～";
    font-size: 12px;
    margin-right: 3px;
}
.price-line .num.onlybus:after {
    content: "円～";
    font-size: 12px;
    margin-right: 3px;
}
.price-line .num.max:after {
    content: "円";
    font-size: 12px;
}


/*-------------------------
	追記
--------------------------*/
/*リスト*/
.dot-list li{
	position: relative;
	padding-left: 15px;
	letter-spacing: -0.05em;
}

/*リストの「・」*/
.dot-list li:before{
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}

@media all and (min-width: 768px) {
	/*リスト*/
	.dot-list li{
		letter-spacing: normal;
	}
}

/*----------------------
	注意
-----------------------*/
#Attention{
	margin-top: 20px;
}

.wrap-attention{
	/* border: solid 2px #0099cc; */
    background: #e5faff;
    padding: 20px 20px 30px;
	border-radius: 5px;
}

.attention-title{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
	background: linear-gradient(transparent 65%, yellow 30%);
    display: inline-block;
    padding: 0 5px;
}

.attention-list{
	text-align: left;
}

.attention-list li.dot{
	position: relative;
	padding-left: 15px;
}
.attention-list li.dot:before{
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}

.attention-list li.indent{
	position: relative;
	padding-left: 25px;
}
.attention-list li.indent:before{
	position: absolute;
	content: "例）";
	top: 0;
	left: 0;
}


/*----------------------
	API部分の調整
-----------------------*/
.rosen-api .api-wrap{
	padding-top: 10px;
}

.rosen-api .api-wrap tr {
	border-bottom: dotted 2px #e7e7e7;
}
.api-wrap:last-of-type tr{
	border: none;
}

@media all and (max-width: 767px) {
	.rosen-api .api-wrap{
		padding-top: 0px;
	}
   .rosen-api tr {
	   	padding: 15px 0 15px;
	}
}
