@charset "utf-8";

/* CSS Document */

.nopc {
    display: none
}

main * {
    box-sizing: border-box;
    color: #333;
}

section:not(.mv__container, .searchmodule__box) {
    padding: 30px 0;
}

.mv__container {
    background-image: url(../img/main_matsumoto_airport.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.mv__title {
    width: 50%;
    margin: auto;
    text-align: center;
    padding-top: 10px;
}

.mv__container>p {
    width: 70%;
    max-width: 992px;
    font-size: 22px;
    text-align: center;
    margin: auto;
    padding-top: 405px;
}

.inner__box {
    width: 992px;
    margin: 0 auto;
}

.inner__box>h2 {
    text-align: center;
}

.inner__box>h2 span {
    font-size: 36px;
    font-weight: bold;
}

h2#info span,
h2#tour span {
    color: #529922;
    background: linear-gradient(transparent 70%, #d5ff82 70%);
    /* background-position: 0 48px; */
}
h2#tour{
  margin-bottom: 20px;
}

h2#charm span {
    color: #d6001d;
    background: linear-gradient(transparent 70%, #ffc5cd 70%);
    /* background-position: 0 48px; */
}

section h2 span::before {
    display: block;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    width: 60px;
    height: 60px;
}

h2#info span::before {
    background-image: url(../img/ico_matsumoto_airport.png);
    /* width: 60px;
    height: 54px; */
}

h2#tour span::before {
    background-image: url(../img/ico_travelbag.png);
    /* width: 51px;
    height: 54px; */
}

h2#charm span::before {
    background-image: url(../img/ico_air.png);
    /* width: 43px;
    height: 44px; */
}

.nav__box {
    background-color: #529922;
}

.nav__item {
    max-width: 992px;
    display: flex;
    justify-content: space-between;
    margin: auto;
}

.nav__item li {
    width: calc(100% / 3 - 10px);
    text-align: center;
}

.nav__item li a {
    display: block;
    padding: 15px 0 10px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

.nav__item li a::before,
.nav__item li a::after,
.info__container h3::before {
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
}

.nav__item li a::before {
    display: inline-block;
    padding-right: 8px;
    vertical-align: bottom;
}

.nav__item li:first-child a::before {
    background-image: url(../img/navi_matsumoto_airport.png);
    width: 40px;
    height: 33px;
}

.nav__item li:nth-child(2) a::before {
    background-image: url(../img/navi_travelbag.png);
    width: 37px;
    height: 33px;
}

.nav__item li:nth-child(3) a::before {
    background-image: url(../img/navi_air.png);
    width: 33px;
    height: 33px;
}

.nav__item li a::after {
    display: block;
    background-image: url(../img/nav_arrow.png);
    width: 16px;
    height: 13px;
    margin: 10px auto 0;
}

.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: 24px;
    font-weight: bold;
}

.info__container h3::before {
    display: inline-block;
    padding-right: 5px;
}

.info__container h3:first-of-type:before {
    background-image: url(../img/ico_schedule.png);
    width: 47px;
    height: 22px;
}

.info__container h3:nth-of-type(2)::before {
    background-image: url(../img/ico_facilities.png);
    width: 45px;
    height: 33px;
}

.info__container h3:nth-of-type(3)::before {
    background-image: url(../img/ico_access.png);
    width: 24px;
    height: 30px;
    vertical-align: top;
}

.schedule__box,
.copy__right {
    margin-bottom: 30px;
}

.facilities__box {
    margin-bottom: 10px;
}

.schedule__box h4,
.facilities__box h4,
.access__box h4 {
    background: #529922;
}

.charm__box--txt h4 {
    background: #d6001d;
    margin-bottom: 20px;
}

.schedule__box h4,
.facilities__box h4,
.access__box h4,
.charm__box--txt h4 {
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
}

.schedule__box h4 {
    padding: 6px 0 6px 10px;
    margin-bottom: 10px;
}

.schedule__box h4>small {
    font-size: 12px;
    color: inherit;
    margin-left: 1.0em
}

.facilities__box h4,
.access__box h4,
.charm__box--txt h4 {
    padding: 6px;
    text-align: center;
}

.facilities__box li {
    width: calc(100% / 3 - 10px);
    background-color: #fff;
}

.facilities__box--info {
    padding: 10px;
}

.facilities__box--info p,
.access__box li p:first-of-type {
    font-size: 15px;
    padding-top: 10px;
}

.facilities__box--info p>span {
    display: block;
}

.copy__right {
    text-align: right;
}

.access__box li,
.charm__box>p,
.charm__box>img,
.charm__box--txt:not(.charm__box--3>.charm__box--txt, 
.charm__box--4>.charm__box--txt),
.charm__box--img:not(.charm__box--4 .charm__box--img) 
{
    width: calc(100% / 2 - 10px);
}

.other__link {
    font-weight: bold;
    color: #529922;
    text-decoration: underline;
}

.other__link:hover {
    text-decoration: none;
}


/* ▼common flex */

.flex__box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.txt__item {
    width: 65%;
    font-size: 16px;
    letter-spacing: 1px;
}

.img__item {
    width: 25%;
}

.case_1,
.charm__box {
    margin: 30px 0;
}


/* ▲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: 8px;
}

.schedule__box table th {
    border: solid 1px #ddd;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    background-color: #99cc33;
    padding: 6px;
}

.schedule__box table td {
    border: solid 1px #ddd;
    padding: 6px;
}

.schedule__box .color__txt {
    color: #529922;
    font-weight: bold;
    font-size: 16px;
}
.schedule__box .color__txt.red {
    color: #cc0000;
}

.schedule__box--info p {
    font-size: 12px;
    margin-top: 3px;
}

.schedule__box--info p::before {
    display: inline-block;
    content: "★";
    padding-right: 3px;
}


/* ▲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 {
    font-size: 16px;
}

.charm__box--2,
.charm__box--3,
.charm__box--4 {
    background-color: #fff;
    padding: 15px;
    margin-bottom: 30px;
}

.charm__box--4 .charm__box--img {
    text-align: center;
    width: 100%;
    margin-top: 10px;
}

.tel__container {}


/* ▼tour-list */

.tour-list {
    margin: 30px auto 10px;
}

.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: 450px;
    margin: 10px auto;
}

.more__link a {
    display: block;
    margin: 0 auto;
    padding: 0.8em 0.5em;
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    background: url("../img/btn_arrow.png") no-repeat 96% #529922;
    background-size: 8px auto;
    transition: 0.3s
}

.more__link a:hover {
    opacity: 0.8
}

.copyright{
  margin-top: 24px;
  font-size: 14px;
}


/* ▲tour-list */


/* ▼TEL*/

.lrPosition {
    flex-wrap: wrap
}

.open-time {
    width: 100%;
    margin-top: 10px;
    display: flex;
    align-items: center
}

.open-time>li {
    margin-right: 1.0em;
    font-size: .9rem
}


/* ▲TEL */