@charset "utf-8";

/* CSS Document */

.nosp {
    display: none
}

main * {
    box-sizing: border-box;
    color: #333;
}

section:not(.mv__container, .searchmodule__box, .tel__container) {
    padding: 3vh 0;
}

.mv__container {}

.mv__title {
    width: 100%;
    margin: auto;
    text-align: center;
}

.mv__container>p {
    max-width: 92vw;
    font-size: 3.8vw;
    text-align: center;
    margin: auto;
    padding: 1vh 0;
}

.inner__box {
    width: 92vw;
    margin: 0 auto;
}

.inner__box>h2 {
    text-align: center;
}

.inner__box>h2 span {
    font-size: 6vw;
    font-weight: 900;
}

h2#info span,
h2#tour span {
    color: #529922;
    background: linear-gradient(transparent 70%, #d5ff82 70%);
    /* background-position: 0 8vh; */
}
h2#tour{
  margin-bottom: calc(30vw / 7.5)
}

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;
}

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);
}

.nav__box {
    background-color: #529922;
}

.nav__item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: auto;
}

.nav__item li {
    text-align: center;
    width: calc(100% / 2);
    border-bottom: 1px solid #99cc33;
}

.nav__item li:first-child {
    border-right: 1px solid #99cc33;
}

.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.3vw;
    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: #99cc33;
}

.nav__item li a:hover::after {
    background-image: url(../img/nav_arrow_over.png);
}

.info__container {
    background-image: url(../img/bg_01.png);
    background-position: left top;
    background-repeat: repeat;
}

.info__container h3 {
    font-size: 5vw;
    font-weight: 900;
    margin-bottom: 1vh;
}

.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;
}

.schedule__box h4,
.facilities__box h4,
.access__box h4 {
    background: #529922;
}

.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;
}

.facilities__box--info,
.charm__box--img img,
.charm__box--3 .charm__box--txt p {
    padding: 3vw;
}

.charm__box--txt p {
    padding: 0 3vw 3vw 3vw;
}

.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;
}

.copy__right {
    text-align: right;
    margin: 1vh 0 3vh;
    font-size: 3.1vw;
}

.access__box li {
    margin-bottom: 2vh;
}

.other__link {
    font-weight: 900;
    color: #529922;
    text-decoration: underline;
}

.other__link:hover {
    text-decoration: none;
}


/* ▼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%;
}

.case_1,
.charm__box {
    margin: 2vh 0;
}

.charm__box--img,
.charm__box--4 .charm__box--img {
    order: 1;
}

.charm__box--txt,
.other__case p {
    order: 2;
}


/* ▲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: #99cc33;
    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: #529922;
    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*/

.tour__container {}

.charm__container {
    background-image: url(../img/bg_02.png);
    background-position: left top;
    background-repeat: repeat;
}

.charm__box>p,
.charm__box--txt>p,
.text--note,
.text--note_2,
.other__case p {
    font-size: 3.5vw;
}

.charm__box>p {
    margin-bottom: 1vh;
}

.charm__box--2,
.charm__box--3,
.charm__box--4 {
    background-color: #fff;
    /* padding: 15px; */
    margin-bottom: 3vh;
}

.tel__container {}


/* ▼tour-list */

.tour-list>li {
    border: 1px solid #529922;
}

.tour-list>li:after {
    border-bottom: 6px solid #529922;
    border-right: 6px solid #529922;
}

.tour-list>li:hover {
    background: #e3fcb1;
}

.more__link {
    width: 86vw;
    margin: 10px auto;
}

.more__link a {
    display: block;
    margin: 0 auto;
    padding: 1.3vh 1vw;
    font-size: 3.3vw;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    background: url("../img/btn_arrow.png") no-repeat 97% #529922;
    background-size: 1.5vw auto;
    transition: 0.3s
}

.more__link a:hover {
    opacity: 0.8;
}
.copyright{
  margin-top: calc(24vw / 7.5);
  font-size: calc(24vw / 7.5);
}

/* ▲tour-list */


/* ▼TEL*/

.lrPosition {
    flex-wrap: wrap
}

.open-time {
    width: 100%;
    margin-top: 1vh;
}

.open-time>li {
    margin-bottom: .5vh;
    font-size: 3.3vw;
}

.textBox--outline {
    padding: 3vw;
}

.telNumber {
    font-size: 8vw;
}


/* ▲TEL */