@charset "utf-8";
/*@font-face {
  font-family: 'serif';
  src: url('fonts/VBOOKMB.TTF');
}*/
body,p,span,li,a,strong,b,td,th{
  line-height: 1.3;
}
.pt30{
	padding-top: 30px;
}
.pt80{padding-top: 80px;}
.pt60{padding-top: 60px;}
.pb80{padding-bottom: 80px;}
.pb150{padding-bottom: 150px;}
.pb100{padding-bottom: 100px;}
.pb60{padding-bottom: 60px;}
.pt15{padding-top: 15px;}
.mt30{margin-top: 30px;}
.mt60{margin-top: 50px;}
.mt50{margin-top: 50px;}
.mt40{margin-top: 40px;}
.mt20{margin-top: 20px;}
.mt15{margin-top: 15px;}
.mt10{margin-top: 10px;}
.mt5{margin-top: 5px;}
.clearfix{clear: both;}
.block-768{display: none;}
.textred{color: #ff0000;}

a:hover{
	opacity: 0.8;
}
.textlink{
  text-decoration: underline;
}
.textblue{
  color: #298CF4;
}
.disblock{
  display: block;
}
img{
  max-width: 100%;
  height: auto;
}
h2{
  font-family: 'DM Serif Display', serif;
  color: #16273D;
  font-size: 54px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 50px;
  line-height: 1.2;
}
.index-title:before{
  background: url(../img/icon-flower.svg) no-repeat;
  background-size: 100%;
  content: '';
  width: 52px;
  height: 52px;
  display: inline-block;
  vertical-align: top;
  margin-right: -20px;
  margin-top: -5px;
}
.sub-title{
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  padding-bottom: 30px;
}
p{
  font-family: 'DM Sans', sans-serif;
  color: #292623;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.16px;
}
.btn-area{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-cta{
  min-width: 250px;
  max-width: 100%;
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  border-radius: 12px;
  text-align: center;
  justify-content: center;
  align-items: center;
  background-color: #907146;
  color: #FAFAFA;
  font-weight: 600;
  display: inline-block;
  padding: 13px;
  text-decoration: none;
  gap: 8px;
  margin-top: 50px;
}
.btn-cta:hover {
  background-color: #B19060;
  color: #FAFAFA !important;
  text-decoration: none;
}
.yellow-bg{
  background-color: #FAF6F1;
}
.grey-bg{
  background-color: #EDECEC;
}
.light-grey-bg{
  background-color: #FAFAFA;
}
@media(min-width:575px){
  .block-575{
    display: none;
  }
}
@media(min-width:767px){
  .block-767{
    display: none;
  }
}
@media(max-width:991px){
  h2{
    font-size: 45px;
  }
}
@media (max-width:767px){
	.hidden-767{
		display: none !important;
	}
  .pt120{padding-top: 60px;}
  .pb80{padding-bottom: 50px;}
	.pb150{padding-bottom: 100px;}
	.pt80{padding-top: 50px;}
	.pt60{padding-top: 40px;}
	.pb60{padding-bottom: 40px;}
	.mt50{margin-top: 30px;}
	.mt40{margin-top: 20px;}
  h2{
    font-size: 40px;
    margin-bottom: 35px;
  }
  .index-title:before{   
    width: 37px;
    height: 38px;
    margin-right: -16px;
  }
  .sub-title{
    font-size: 20px;
  }
  .btn-cta{
    margin-top: 32px;
  }
  .col-sm-12{
    padding: 0;
  }
}

/*-------Banner -----*/
.banner{
  position: relative;
  overflow: hidden;
}
.banner h1 img{
  width: 100%;
  height: auto;
}
/*-------End Banner -----*/

/*----- control -----*/
.tour-info .container > p{
  width: 1010px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.control {
  padding: 16px 0 16px 0;
  background: #ECE9E8;
  background: linear-gradient(90deg,#E6D9D2 0%, #ECE7E4 25%, #EFEAE7 750%, #F1E8E3 100%);
  border-radius: 8px;
  margin-top: 24px;
}
.control ul {
  display: flex;
  justify-content: space-between;
  width: 80%;
  text-align: center;
  margin: 0 auto;
}
.control li a{
  font-weight: 600;
	font-size: 18px;
  font-family: 'DM Sans', sans-serif !important;
  color: #5E4C33;
}
.control li a:hover{
  color: #907146;
  text-decoration: none;
}
/*.control li a:after{
  content:'\f078' ;
  font-family: "Font Awesome 5 Free";
	margin-left: 6px;
	font-size: 11px;
}*/
.control li a:after{
  background: url(../img/icon-arr-d.svg) no-repeat;
  background-size: 100%;
  content: '';
  width: 20px;
  display: inline-block;
  margin-left: 6px;
  padding-top: 16px;
}
.control li a:hover:after{
  background: url(../img/icon-arr-d-hv.svg) no-repeat;
  background-size: 100%;
  content: '';
  width: 20px !important;
  display: inline-block;
  margin-left: 6px;
  padding-top: 16px;
}
@media(max-width:1140px){
  .control {
    margin: 24px 15px 0 15px;
  }
	.control li a{
		font-size: 16px;
	}  
}
@media(max-width:991px){
  .control{
    margin: 24px auto 0 auto;
  }
  .control ul{
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
  }
  .control li{
    width: 33.333%;
    padding: 0px 50px;
    text-align: left;
  }
  .control li a {
    font-weight: bold;
    width: 100%;
    display: block;
    padding: 8px 10px 7px 0;
    position: relative;
		font-size: 15px;
  }
  .control li a:after{
    position: absolute;
    right: 0;
    font-size: 11px;
		top: 10px;
  }
}
@media(max-width:767px){
  .control li{
    padding: 0px 30px;
  }
}
@media(max-width:600px){	
  .control {
    padding-top: 10px;
    width: 100%;
    margin: 24px 0 0 0;
	}
  .control ul{		    
    justify-content: space-between;
    margin: 0;
    text-align: left;
    width: inherit;
    padding: 0 15px;
	}
  .control li{
    width: 40%;
    padding: 0;
  }	
}
@media(max-width:374px){
	.control li{
    width: 100%;
  }
}
/*----- End control -----*/

/*----- Short intro-----*/
.tour-info{
	margin: 0 auto;
}
.intro-content{
  display: flex;
  align-items: center;
  margin: 0 -15px;
}
.map{
  display: flex;
  justify-content: flex-end;
}
.map img{
  width: 454px;
  height: auto;
}
@media(max-width:1200px){
	.tour-info{
		width: 100%;
	}
}
@media(max-width:991px){
	.tour-info{
		text-align: left;
	}
}
@media(max-width:767px){
	.intro-content{
    display: block;
    margin: 0;
  }
  .map{
    padding-top: 30px;
  }
}
/*----- Short intro end-----*/

/*----- Spot intro-----*/
.spot-info .spot-intro{
  text-align: center;
  width: 80%;
  margin: 0 auto;
}
.spot-info .spot-img{
  display: flex;
  margin-top: 20px;
}
.spot-info .spot-img .col-md-6{
  padding: 0 5px;
}

@media(max-width:991px){
	.spot-info .spot-intro{
    width: 100%;
    text-align: left;
  }
}
@media(max-width:767px){
  .spot-info .spot-img{
    display: block;
  }
  .spot-info .spot-img img{
    width: 100%;
    height: auto;
  }
  .spot-info .col-sm-12:last-child img{
    padding-top: 10px;
  }
  .spot-info .spot-img .col-md-6{
    padding: 0;
  }
}
/*----- End Spot intro-----*/

/*----- Bus Routes section-----*/
.bus-routes-title:before{
  background-size: 100%;
  content: '';
  display: inline-block;
  vertical-align: top;
  margin-right: 5px;  
  width: 72px;
  height: 26px;
}
.bus-routes-index:before{
  background: url(../img/icon_bus_index.svg) no-repeat;
  margin-top: 28px;
}
.gifu-bus h3, .gifu-bus a{
  font-family: 'DM Sans', sans-serif !important;
}
.gifu-bus h3{  
  font-size: 20px;
  font-weight: 600;
  color: #292623;
}
.gifu-bus .bus{
  background-color: #fff;
  border: 1px solid #EBEBEB;
  border-radius: 8px;
  margin-bottom: 25px;
}
.gifu-bus .bus__header {
  width: 100%;
  padding: 7px 15px;
  background-color: #EDECEC;
  border-top-left-radius: 8px;
  border-top-left-right: 8px;
}
.gifu-bus .bus__action--body {
  width: 178px;
}
.gifu-bus .bus__action--body a {
  height: 44px;
  width: 100%;
  padding: 11px 38px;
  border-radius: 7px;  
  line-height: normal;
}
.gifu-bus .bus__action a {
  font-weight: 600;
  font-size: 18px;
  text-align: center;
  background-color: #2064A4;
}
.gifu-bus .bus__action a:hover{
  text-decoration: none;
}
.gifu-bus .bus__price em {
  color: #CB0000;
  font-weight: 600;
}
.gifu-bus .bus__price span{
  font-size: 24px;
}
.gifu-bus .fa-angle-down:before {
  background: url(../img/icon-arr-d-big.svg) no-repeat;
  background-size: 100%;
  content: '';
  width: 36px;
  height: 36px;
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
}
.gifu-bus .bus__toggle a[aria-expanded=true] .fa-angle-down:before{
  vertical-align: top;
  margin: 0 0 0 5px;
}
.gifu-bus .bus__action--footer a {
  height: 44px;
  width: 100%;
  padding: 11px 38px;
  border-radius: 7px;  
  line-height: normal;
}
.gifu-bus .fa-long-arrow-right:before {
  background: url(../img/icon-arr-r.svg) no-repeat;
  background-size: 100%;
  content: '';
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: top;
  margin: -1px 5px 0 5px;
}
@media(max-width:991px){
  .bus-routes-index:before{
    margin-top: 23px;
    width: 58px;
    height: 21px;
    background-size: 100%;
  }
}
@media(max-width:767px){
  .bus-routes-title:before{ 
    background-size: 100%;
    margin-right: 5px;
    width: 40px;
    height: 15px;
  }
  .bus-routes-index:before{
    margin-top: 24px;
  }
}
/*----- End Bus Routes section-----*/