@charset "utf-8";
img {max-width: 100%;}
/* CSS Document */
.nosp{
  display: none
}
.simpleMv--full { width: 100%; height: calc(518vw / 7.5)}
.simpleMv--full>.simpleMv__img{  width: 100%; height: auto;}




main * {
    box-sizing: border-box;
}

section:not(.mv__container) {
    padding: 3vh 0;
}

p.read {
    max-width: 92vw;
    font-size: 5.5vw;
    text-align: center;
    margin: auto;
    padding: 6vw 0 0;
}

.red_txt{
	background: #d6001d;
    color: #FFF;
    padding: 1px;
    text-align: center;
}

.inner__box {
    width: 92vw;
    margin: 0 auto;
}

.inner__box>h2 {
    text-align: center;
    margin-bottom: 2vw;
}
.inner__box > h2 span.online {
    font-size: 3vw;
	display: block;
    
}

.inner__box>h2 span {
    font-size: 6vw;

}
.area00 ,.areabox{
    display: none
}

/* nav */
nav.menu {
    background-color: #d6001d;

}

.nav__item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: auto;    order: 2;
        width: 100vw;
     
}

.nav__item li {
    text-align: center;
    width: calc(100% / 2);
    border-bottom: 1px solid #EA5468;
}

.nav__item li:first-child {
    border-right: 1px solid #EA5468;
}

.nav__item li:nth-child(3) {
    width: 100%;
    border-bottom: none;
}

.nav__item li a {
    display: block;
    padding: 1vh 0;
    color: #fff;
    font-size: 3.5vw;
    font-weight: 900;
}

.nav__item li a::before,
.nav__item li a::after,
.info__container h3::before {
    content: "";
    background-repeat: no-repeat;
}
/*
.nav__item li a::before {
    display: inline-block;
    padding-right: 1vw;
    vertical-align: middle;
    width: 30px;
    height: 23px;
}

.nav__item li:first-child a::before {
    background-image: url(../img/navi_matsumoto_airport.png);
    background-size: 30px 23px;
}

.nav__item li:nth-child(2) a::before {
    background-image: url(../img/navi_travelbag.png);
    background-size: 27px 23px;
}

.nav__item li:nth-child(3) a::before {
    background-image: url(../img/navi_air.png);
    background-size: 23px;
}*/

.nav__item li a::after {
    display: block;
    background-image: url(../img/nav_arrow.png);
    background-size: contain;
    width: 11px;
    height: 9px;
    margin: 0 auto;
}

.nav__item li a:hover {
    background-color: #EA5468;
}

.nav__item li a:hover::after {
    background-image: url(../img/nav_arrow_over.png);
}


/* info__container */

.info__container .infoTab {
	width: 96%;
    margin: 0 auto;
	display: flex;
	justify-content: space-between; border-bottom: solid 5px #d6001d;
}


.info__container .infoTab li {
	display: block;
 width: calc((100% - 6px) / 3);
font-size: 3.5vw;
  
/*	font-size: 4.5vw;*/
	letter-spacing: 0.1em;
	background-color: #eaecec;
	text-align: center;
	cursor: pointer;
	border-bottom: solid 2px #eaecec;
	transition: ease all 0.3s;
 padding: 1vh 0;

	position: relative;    border-radius: 10px 10px 0 0;

}
.info__container .infoTab li.nav_on {
	background-color: #d6001d;
	color: #fff;
	border-bottom: solid 2px #d6001d;
}

.info__container .infoTab li:hover {
	background-color: #d6001d;
	color: #fff;
}

.info__container .infoTab li span{ 	font-size: 2vw; display: block;}


.tour__container,.charm__container {
    background: #fff0f2;

}


h2#info span,
h2#tour span {
    /*color: #d6001d;*/

}

h2#charm span {
   /* color: #d6001d;*/
/*    background: linear-gradient(transparent 70%, #ffc5cd 70%);*/
    /* background-position: 0 8vh; */
}

section h2 span::before {
    display: block;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    width: 10vw;
    height: 10vw;
}

section h2#tour2 span::before {
    height: 0vw;
}

h2#info span::before {
    background-image: url(../img/ico_matsumoto_airport.png);
}

h2#tour span::before {
    background-image: url(../img/ico_travelbag.png);
}

h2#charm span::before {
    background-image: url(../img/ico_air.png);
}




.info__container h2 {
    font-size: 5vw;
/*    font-weight: 900;*/
     color: #d6001d;
    border-bottom: solid 2px #d6001d;
     padding-top: 2vw;

}

.info__container h3, .tour__container h3 {
    font-size: 6.5vw;
    text-align: center;
    margin: 6vw 0 0;
   
}

.info__container h3 span{ background: linear-gradient(transparent 70%, #ffff00 30%); padding: 0 5px;}
/*.info__container h3::before {
    display: inline-block;
    padding-right: 1vw;
}

.info__container h3:first-of-type:before {
    background-image: url(../img/ico_schedule.png);
    background-size: contain;
    width: 40px;
    height: 20px;
    vertical-align: middle;
}

.info__container h3:nth-of-type(2)::before {
    background-image: url(../img/ico_facilities.png);
    background-size: contain;
    width: 41px;
    height: 29px;
}

.info__container h3:nth-of-type(3)::before {
    background-image: url(../img/ico_access.png);
    background-size: contain;
    width: 22px;
    height: 26px;
    vertical-align: middle;
}

.schedule__box {
    margin-bottom: 3vh;
}*/

.facilities__box,.access__box {padding-top: 3vw;}
.center {padding-top: 3vw;}
.facilities__box p{padding: 2vw 0 4vw;}

.schedule__box h4,
.facilities__box h4,
.access__box h4 {
    background: #d6001d;
}

.charm__box--txt h4,
.charm__box--img h4 {
    background: #d6001d;
}

.schedule__box h4,
.facilities__box h4,
.access__box h4,
.charm__box--txt h4,
.charm__box--img h4 {
    font-size: 3.8vw;
/*    font-weight: 900;*/
    color: #FFF;
}

.schedule__box h4 {
    padding: 6px 0 6px 10px;
    margin-bottom: 1vh;
}
.schedule__box h4>small{
  display: block;
  font-size: calc(22vw / 7.5);
  color: inherit;
}

.facilities__box h4,
.access__box h4,
.charm__box--txt h4,
.charm__box--img h4 {
    padding: .8vh;
    text-align: center;
}

.facilities__box li {
    background-color: #fff;
 /*   margin-bottom: 3vh;*/
}

.facilities__box li:last-child {
    margin-bottom: 0;
}



.charm__box--txt p {
    padding: 1.5vw 1vw 3vw 1vw;
    
}

.facilities__box--info p,
.access__box li p:first-of-type {
    font-size: 3.5vw;
    padding-top: 1vh;
}

.access__box li p:nth-of-type(2) {
    font-size: 3.5vw;
}

.facilities__box--info p>span {
    display: block;
}
.facilities__box li.col3 span{display: block;  font-size: 0.8em;}

.copy__right {
    text-align: right;
    margin: 1vh 0 3vh;
    font-size: 3.1vw;
}

.access__box li {
    margin-bottom: 2vh;
}




/* ▼common flex */

.flex__box,
.other__case {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.txt__item {
/*    width: 58%;*/
    font-size: 3.3vw;
    letter-spacing: 1px;
}

.img__item {
    width: 40%;
}




/* ▲common flex */


/* ▼table area*/

/*.schedule__box table {
    width: 100%;
  table-layout: fixed;
    border-collapse: collapse;
    border: solid 1px #ddd;
    background-color: #fff;
    text-align: center;
    margin-bottom: 1vh;
}

.schedule__box table th {
    border: solid 1px #ddd;
    color: #fff;
    font-size: calc(24vw / 7.5);
    font-weight: 900;
    background-color: #EA5468;
    padding: calc(10vw / 7.5);
}

.schedule__box table td {
    border: solid 1px #ddd;
    padding: 1vh 0;
    font-size: 3.3vw;
}

.schedule__box .color__txt {
    color: #d6001d;
    font-weight: 900;
}

.schedule__box .color__txt.red {
    color: #cc0000;
}

.schedule__box--info p {
    font-size: 3.1vw;
}

.schedule__box--info p::before {
    display: inline-block;
    content: "★";
    padding-right: .5vw;
}
*/

/* ▲table area*/




.more__link {
    width: 76vw;
    margin: 10px auto;
}

.more__link a {
    display: block;
    margin: 0 auto;
    padding: 3vw 1vw;
    font-size: 3.3vw;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    background: url("../img/btn_arrow.png") no-repeat 97% #d6001d;
    background-size: 1.5vw auto;
    transition: 0.3s;
    border-radius: 10px;
}

.more__link a:hover {
    opacity: 0.8;
}





.goTop img {
    width: 50px;
}



/* product */

.tab-area {
    display: flex;
    flex-wrap: wrap;
/*   width: 94%;*/
       width: 98%;
	margin: 0 auto 10px;
    justify-content: left;
}

.tab-area > li {
  width: calc((100% - 24px) / 2);
  /*width: calc((100% - 24px) / 3);*/
  margin: 0 .7vw 1vw;
  background: #FFF;
  /*    font-size: calc(25vw / (750 / 100));*/
  font-size: 3.3vw;
  font-weight: bold;
  text-align: center;
  line-height: calc(60vw / (750 / 100));
  cursor: pointer;
  border: solid 1px #333;
  border-radius: 5px;
  padding: 12px 0;
}

.tab-area>li:nth-child(4n) {
    margin-right: 0;
}

.tab-area li.nav_on,
.tab-area li:hover {
 background-color: #d6001d;
	color: #fff;
}

.tab-area>li:last-child {
    margin-right: 0
}

.head-title__tour {
    margin-bottom: calc(20vw / (750 / 100));
    font-size: calc(36vw / (750 / 100));
    text-align: center;
}

.head-title__tour.imp {
    margin-bottom: 0
}

.timesale-notice {
    text-align: center;
    font-size: calc(22vw / (750 / 100));
    margin-bottom: calc(20vw / (750 / 100));
}



.tour-card {
    margin: 0 auto;
    padding: 0;
    display: flex;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}

.tour-card>li {
    flex: 0 0 85%;
    margin-right: 0.5em;
	border: 1px solid #ddd;
}
.tour-card>li:hover {
    background: #fff;

}

.tour-card>li:after {
    border-bottom-color: #CCC;
    border-right-color: #CCC;
}

.tour-card .port {
    background: #062d91;
    padding: 5px;
}

.card-point::before {display: none;}
.card-point {padding-left:0;}

.tour-card.tour-card__type4>li .card-item .card-title,
.card-title.dp-title {
   color: #000;
}
/***json templete調整 ***/
.tour-card:not(.kanto) .card-photo .port:last-child{
  display: block!important
}


/*.more-link {
   width: 90vw;
    margin: calc(30vw / (750 / 100)) auto;
}

.more-link>a {
    display: block;
    background: #FFF;
    font-size: calc(25vw / (750 / 100));
    font-weight: bold;
    text-align: center;
    line-height: 48px;
    border: 2px solid;
    border-radius: 8px;
    box-shadow: 4px 4px 0 rgba(204, 204, 204);
    transform: 0.3s
}

.more-link>a:hover {
    border-color: #2488ff;
    color: #2488ff;
}*/

      /***json templete調整 ***/
.tour-card:not(.kanto) .card-photo .port:last-child{
  display: block!important;
}


 .tag_ngo {
  position: absolute;
  top: 0;
  left: 0;
}
.tag_ngo span {
  display: inline-block;
  color: #FFF;
  font-size: .80rem;
  padding: 4px 7px 2px;
}
.line_tag {
  background: #00B900;
}
.ad_tag {
  background: #ff6200;
}



.banner{
      width: calc(710vw / 7.5);
    margin: 6vw auto 0;

    
}
.banner a:hover {
      opacity: 0.8;
      transition: all 0.4s ease;
    }


/*カミングスーン*/
a.nolink{
	pointer-events: none;
	position: relative;
}
a.nolink:before{
	position: absolute;
	left:10px;
	top:20px;
	content:url("../img/icon_cs.png");
	z-index: 5;
}
/*出発地*/
.menu>.inner{
  width: 100vw;
  display: flex;
  flex-wrap: wrap;
}
.display_selected a:hover{ background:#fff; display: block;}

.dep-select-nav{
  order: 1;
  width: 100vw;
}
.display_selected{
  background: #f5c122;
  font-size: calc(39vw / 7.5);
  font-weight: bold;
  text-align: center;
  color: #3f3100;
  position: relative;
  cursor: pointer;
  padding: calc(6vw / 7.5);
    display: block;
}
.display_selected::before{
  content: "出発地";
  display: inline-block;
  font-size: calc(26vw / 7.5);
}
.display_selected::after {
  content: "";
  background: url(../img/arrow02.svg) no-repeat center center ;
    background-size: contain;
  width: calc(20vw / 7.5);
  height: calc(15vw / 7.5);
  position: absolute;
  top: 0;
  right: calc(22vw / 7.5);
  bottom: 0;
  margin: auto;
     transform:rotate(270deg);   
}
.dep-select-zone {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  transition: all .5s;
  z-index: 100;
  background: rgba(0 0 0 / 80%);
  padding: calc(100vw / 7.5) calc(80vw / 7.5);
}
.dep-select li,.dep-select li a {
  cursor: default;
  padding: calc(20vw / 7.5);
  font-size: calc(30vw / 7.5);
  font-weight: bold;
  color: #FFF;
  text-align: center;
}
.dep-select li:hover, .dep-select li a:hover, .dep-select li.selected {
  background: #FFF;
  color: #000;
}