@charset "UTF-8";
/**
 * top.css
 * 
 * ========== PROJECTS ==========
 * maincontents 
 * mainvisual
 * information
 * about
 * hours
 * news
 * guide
 * restaurant
 * services
 * access
 * sns
 * store
 * payment
 *
 * ========== COMMON PARTS ==========
 * heading
 * fullimage
 * catchimage
 * article
 * traffic
 * pictogram
 *
 */

 /* ==========================================================================
  * PROJECTS
  * ========================================================================== */

 /*
  *  maincontents
  * -------------------------------------------------------------------------- */
 .maincontents {
     background-color: #ffffff;
 }

 .maincontents--top {
     margin-top: 0;
     padding-top: 95px;
     position: relative;
     z-index: 7;
     opacity: 1;
     overflow: hidden;
 }

 /*
  *  mainvisual
  * -------------------------------------------------------------------------- */
 .mainvisual {
     height: 100vh;
     overflow: hidden;
 }

 .mainvisual .contents {
     padding-right: 0;
     padding-left: 0;
 }

 .mainvisual__contents {
     position: relative;
 }

 .mainvisual__inner {
     min-height: 100vh;
 }

 .mainvisual__lead {
     color: #fff;
     font-size: 2.85rem;
     line-height: 1.25;
     position: absolute;
     top: 45%;
     left: 50%;
     transform: translate(-50%, -50%);
     z-index: 1;
     text-align: center;
     white-space: nowrap;
 }

 .mainvisual__lead span {
     white-space: nowrap;
     display: inline-block;
 }

 .mainvisual__scroll {
     display: block;
     position: absolute;
     top: 55%;
     left: 50%;
     transform: translateX(-50%);
     font-size: 1.75rem;
     margin-top: 8.6vh;
     font-style: italic;
     z-index: 1;
     color: #FFF;
 }

 .mainvisual__scroll::after {
     content: "";
     position: absolute;
     top: 150%;
     left: 50%;
     transform: translateX(-50%);
     display: block;
     width: 50px;
     height: 21px;
     background-image: url(../../img/common/top/arrow-wide-white.svg);
     background-size: 50px 21px;
     background-position: center bottom;
     background-repeat: no-repeat;
     animation-name: bounce;
     animation-iteration-count: infinite;
     animation-duration: 2s;
 }

 @keyframes bounce {
     0% {
         opacity: 1;
         transform: translate3d(-50%, 0, 0);
     }

     50% {
         opacity: 1;
     }

     100% {
         opacity: 0;
         transform: translate3d(-50%, 20px, 0);
     }
 }

 .mainvisual__carousel {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
 }

 .mainvisual__carousel-item {
     background-size: cover;
     background-position: center;
     padding-bottom: 100vh;
 }

 .mainvisual__copyright {
     font-size: 1.7rem;
     position: absolute;
     bottom: 30px;
     left: 30px;
     transform: scale(0.5);
     transform-origin: left;
     color: #FFFFFF;
 }

 @media screen and (min-width: 961px) {
     .mainvisual .contents {
         max-width: 100%;
     }

     .mainvisual__lead {
         font-size: 4rem;
         top: 46%;
     }

     .mainvisual__lead::after {
         margin-top: 16vh;
         padding-bottom: 35px;
     }

     .mainvisual__scroll {
         margin-top: 17vh;
         font-size: 2rem;
     }

     .mainvisual__scroll::after {
         background-size: 39px 16px;
     }

     .mainvisual__copyright {
         font-size: 1rem;
         transform: scale(0.7);
     }
 }

 /*
  *  information
  * -------------------------------------------------------------------------- */
 .information {}

 .information .contents {
     margin-bottom: 50px;
 }

 .information__title {
     font-size: 2rem;
     color: #946F46;
     display: flex;
     align-items: center;
     cursor: pointer;
 }

 .information__text {
     color: #946F46;
 }

 .information__title::before {
     font-size: 0.75em;
     display: flex;
     justify-content: center;
     align-items: center;
     width: 1.2em;
     height: 1.2em;
     content: "i";
     color: #FFFFFF;
     border-radius: 50%;
     background-color: #946F46;
     margin-right: 0.6em;
 }

 .information__list {
     padding-top: 10px;
 }

 .information__ico {
     position: relative;
     width: 1em;
     padding-bottom: 1em;
     margin-left: 0.6em;
 }

 .information__ico::before,
 .information__ico::after {
     content: "";
     position: absolute;
     width: 100%;
     height: 100%;
     top: 50%;
     left: 50%;
     display: block;
     background-image: url(../../img/common/minus-gold.svg);
     background-size: 100% 100%;
     background-position: 0 0;
     transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
 }

 .information__ico::before {
     transform: translate(-50%, -50%) rotate(270deg);
 }

 .information__ico::after {
     transform: translate(-50%, -50%) rotate(180deg);
 }

 .accordion--show .information__ico::before,
 .accordion--show .information__ico::after {
     transform: translate(-50%, -50%) rotate(0deg);
 }

 .information__item {
     font-size: 1.5rem;
     padding-left: 0.5em;
     text-indent: -0.5em;
 }

 .information__item--dot::before {
     content: "·";
     display: inline;
     font-size: inherit;
     color: inherit;
     margin-right: 0.3em;
 }

 .information__body {
    padding-top: 10px;
 }

 .information__body__title {
    font-size: 2rem;
    color: #946F46;
    margin-top: 25px;
}

 @media screen and (min-width: 768px) {
     .information .contents {
         margin-bottom: 75px;
     }

     .information__list {
         padding-top: 20px;
     }

    .information__body {
        padding-top: 20px;
        font-size: 1.5rem;
    }

    .information__body__title {
        margin-top: 35px;
    }
 }

 /*
  *  about
  * -------------------------------------------------------------------------- */
 .about .contents {
     margin-bottom: 55px;
 }

 .about__heading {
     margin-bottom: 22.5px;
 }

 @media screen and (min-width: 768px) {
     .about .contents {
         margin-bottom: 110px;
     }

     .about__heading {
         margin-bottom: 38px;
     }
 }

 /*
  *  hours
  * -------------------------------------------------------------------------- */
 .hours {
     background-color: #dcdddd;
 }

 .hours .contents {
     padding-top: 20px;
     padding-bottom: 25px;
     margin-bottom: 50px;
 }

 .hours__heading {
     margin-bottom: 18px;
 }

 .hours__time {
     font-size: 2rem;
     margin-bottom: 15px;
 }

 .hours__time span {
     font-size: 1.6rem;
 }

 .hours__note-list {
     line-height: 1.6;
 }

 .hours__note {
     font-size: 1.5rem;
 }

 @media screen and (min-width: 768px) {
     .hours .contents {
         display: flex;
         padding-top: 22px;
         padding-bottom: 30px;
         margin-bottom: 90px;
     }

     .hours__heading {
         margin-bottom: 0;
         flex-basis: 25.5%;
     }

     .hours__contents {
         flex-basis: 70.338%;
     }

     .hours__day {
         font-size: 1.7rem;
     }

     .hours__time {
         font-size: 2.125rem;
     }

     .hours__time span {
         font-size: 0.8em;
     }

     .hours__note-list {
         /*display: flex;
         flex-wrap: wrap;*/
     }

     .hours__note {
         font-size: 1.7rem;
     }

     .hours__note:not(:last-of-type) {
         margin-right: 1em;
     }
 }

 /*
  *  news
  * -------------------------------------------------------------------------- */
 .news .contents {
     margin-bottom: 75px;
 }

 .news__heading {
     margin-bottom: 18px;
 }

 .news__contents {
     width: 91.538%;
 }

 .news__article-wrap {
     margin-right: auto;
     padding-bottom: 70px;
 }

 @media screen and (min-width: 768px) {
     .news .contents {
         display: flex;
         margin-bottom: 90px;
     }

     /* flexitemでslickを使用できるようにするhack */
     .news .contents * {
         min-height: 0;
         min-width: 0;
     }

     .news__heading {
         flex-basis: 25.5%;
         margin-bottom: 0;
     }

     .news__contents {
         flex-basis: 70.338%;
     }

     .news__article-wrap {
         padding-bottom: 55px;
     }
 }

 /*
  *  guide
  * -------------------------------------------------------------------------- */
 .guide .contents {
     margin-bottom: 67.5px;
 }

 .guide__heading {
     margin-bottom: 18px;
 }

 .guide__contents {
     width: 91.538%;
 }

 .guide__list {
     margin-left: -6.666vw;
     width: calc(100% + 6.666vw);
 }

 .guide__item {
    position: relative;
    border-bottom: 2px solid #FFFFFF;
    background-color: #946F46;
}

 .guide__item::after {
     content: "";
     display: block;
     width: 0.577em;
     height: 0.844em;
     font-size: 2.25rem;
     position: absolute;
     top: 50%;
     right: 10px;
     transform: translateY(-50%);
     background-image: url(../../img/common/arrow-white.svg);
     background-position: 0 0;
     background-size: 100% 100%;
 }

.guide__link {
    font-size: 2.25rem;
    display: flex;
    align-items: center;
    height: 51px;
    padding-left: 6.666vw;
    color: #FFFFFF;
}

 @media screen and (min-width: 768px) {
     .guide .contents {
         display: flex;
         margin-bottom: 75px;
     }
     .guide__heading {
        display: flex;
        align-items: center;
        flex-basis: 25.5%;
        margin-bottom: 0;
    }
     .guide__contents {
         flex-basis: 70.338%;
     }
     .guide__list {
        width: 100%;
        display: flex;
        margin-left: 0;
     }
     .guide__item {
         border-bottom: none;
         border-right: 2px solid #dcdddd;
         flex-basis: 33.333%;
     }
     .guide__item:last-of-type {
         border-right: none;
     }
     .guide__item::after {
        font-size: 2.5rem;
         right: 2.34vw;
         width: 0.44em;
         height: 0.68em;
     }

     .guide__link {
        font-size: 2.5rem;
         padding-left: 2.73vw;
         height: 62px;
     }
 }

 @media screen and (min-width: 1281px) {
     .guide__item::after {
         right: 30px;
     }
     .guide__link {
         padding-left: 35px;
     }
 }

 /*
  *  restaurant
  * -------------------------------------------------------------------------- */
 .restaurant .contents {
     margin-bottom: 100px;
 }

 .restaurant__heading {
     margin-bottom: 18px;
 }

 /*
  *  services
  * -------------------------------------------------------------------------- */
 .services .contents {
     margin-bottom: 100px;
 }

 .services__heading {
     margin-bottom: 18px;
 }

 .services__contents {
     width: 91.538%;
 }

 .services__list {
     margin-left: -6.666vw;
     width: calc(100% + 6.666vw);
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
 }

 .services__item--col2 {
     flex-basis: 49.689%;
     margin-bottom: 0.62%;
 }
 .services__item--col3 {
     flex-basis: 32.919%;
 }
 .services__link {
     display: block;
     font-size: 5.333vw;
     line-height: 1;
     text-align: center;
     color: #946F46;

     background-size: 100% 100%;
     background-position: 0 0;

     position: relative;
 }

 .services__link--coupon {
    background-image: url(../../img/common/top/top_service-coupon_sp.jpg);
}

.services__link--vip {
    background-image: url(../../img/common/top/top_service-vip_sp.jpg);
}

.services__link--gold {
    background-color: #946F46;
    display: flex;
    justify-content: center;
}
 .services__item--col2 > .services__link {
    height: 36.533vw;
}

.services__item--col3 > .services__link {
    height: 34.133vw;
}

 .services__text {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

 .services__text--white {
     color: #fff;
 }

.services__icon {
    position: relative;
}

.services__icon::before {
    content: "";
    position: absolute;
    top: 20%;
    display: block;
    background-size: 100% 100%;
    background-position: 0 0;
}

.services__icon--tax::before {
    background-image: url(../../img/common/top/top_service-icon-tax.svg);
    width: 1.65em;
    height: 1.85em;
}
.services__icon--wifi::before {
    background-image: url(../../img/common/top/top_service-icon-wifi.svg);
    width: 1.825em;
    height: 1.3em;
}
.services__icon--others::before {
    background-image: url(../../img/common/top/top_service-icon-other.svg);
    width: 2.275em;
    height: 1.775em;
}

 @media screen and (min-width: 768px) {
     .services .contents {
         display: flex;
     }

     .services__heading {
         flex-basis: 25.5%;
         margin-bottom: 0;
     }

     .services__contents {
         flex-basis: 70.338%;
     }

     .services__list {
         width: 100%;
         margin-left: 0;
     }

     .services__item--col2 {
        flex-basis: 49.818%;
        margin-bottom: 0.241%;
    }
    .services__item--col3 {
        flex-basis: 33.131%;
    }
    .services__link {
        font-size: 2.5rem;
        text-align: center;
        background-size: cover;
        background-position: center;
    }
    .services__link--coupon {
        background-image: url(../../img/common/top/top_service-coupon_pc.jpg);
    }
    
    .services__link--vip {
        background-image: url(../../img/common/top/top_service-vip_pc.jpg);
    }
    .services__link--gold {
        justify-content: space-around;
        align-items: center;
    }

    /* arrow icon */
    .services__link--gold::after {
        content: "";
        display: block;
        width: 0.44em;
        height: 0.68em;
        background-image: url(../../img/common/arrow-white.svg);
        background-size: 100% 100%;
        background-position: 0 0;
    }
    .services__item--col2 > .services__link {
        height: 140px;
    }
    
    .services__item--col3 > .services__link {
        height: 70px;
        padding-right: 1vw;
        padding-left: 1vw;
    }
    .services__text {
        position: static;
        width: auto;
        bottom: auto;
        height: initial;
        text-align: left;
    }
    .services__item--col2 .services__text {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        padding-left: 2vw;
    }
    .services__icon::before {
        position: static;
        transform: translateX(0);
    }
    .services__icon--tax::before {
        width: 1.2em;
        height: 1.48em;
    }
    .services__icon--wifi::before {
        width: 1.32em;
        height: 0.92em;
    }
    .services__icon--others::before {
        width: 1.68em;
        height: 1.28em;
    }
    .tab {
        display: block;
    }
 }

 @media screen and (min-width: 1024px) {
    .tab {
        display: none;
    }
 }

 @media screen and (min-width: 1281px) {
    .services__item--col2 .services__text {
        padding-left: 25px;
    }
 }

 /*
  *  access
  * -------------------------------------------------------------------------- */
 .access .contents {
     margin-bottom: 50px;
 }

 .access__heading {
     margin-bottom: 18px;
 }

 .access__contents-upper {
     width: 91.538%;
     margin-bottom: 65px;
     margin-top: -43px;
 }

 .access__map {
     position: relative;
     z-index: -1;
     margin-left: -6.666vw;
     width: calc(100% + 6.666vw);
     margin-bottom: 30px;
 }

 .access__contents-lower {
     width: 91.538%;
 }

 .access__googlemap {
     margin-left: -6.666vw;
     width: calc(100% + 6.666vw);
     overflow: hidden;
     margin-bottom: 28px;
 }

 .access__googlemap iframe {
     width: 100%;
     height: 400px;
 }

 .access__details {
     font-size: 1.6rem;
 }

 @media screen and (min-width: 768px) {
     .access .contents {
         display: flex;
         flex-wrap: wrap;
         margin-bottom: 110px;
     }

     .access__heading {
         flex-basis: 25.5%;
         margin-bottom: 5.074vw;
     }

     .access__contents-upper {
         flex-basis: 70.338%;
         margin-bottom: 5.074vw;
         margin-top: 0;
         display: flex;
         flex-direction: row-reverse;
         justify-content: space-between;
     }

     .access__map {
         flex-basis: 54.2%;
         margin-left: 0;
         margin-bottom: 0;
     }

     .access__traffic {
         margin-bottom: 0;
         display: flex;
         flex-direction: column;
         justify-content: space-between;
     }

     .access__contents-lower {
         flex-basis: 100%;
     }

     .access__googlemap {
         width: 100vw;
         margin-right: -3.9vw;
         margin-left: -3.9vw;
         margin-bottom: 2.734vw;
     }

     .access__googlemap iframe {
         height: 330px;
     }

     .access__details {
         font-size: 1.7rem;
     }

     .access__googlemap iframe {
         height: 330px;
     }

     .access__details {
         width: 74%;
         font-size: 1.7rem;
         margin: 0 0 0 auto;
     }
 }

 @media all and (-ms-high-contrast:none) {
     .access__googlemap iframe {
         height: 330px;
     }
 }

 @media screen and (min-width: 1281px) {
     .access__heading {
         margin-bottom: 65px;
     }

     .access__contents-upper {
         margin-bottom: 65px;
     }

     .access__googlemap {
         margin-right: calc(50% - 50vw);
         margin-left: calc(50% - 50vw);
         margin-bottom: 35px;
     }
 }

 /*
  *  sns
  * -------------------------------------------------------------------------- */
 .sns {
     background-color: #dcdddd;
 }

 .sns .contents {
     padding-top: 25px;
     padding-bottom: 30px;
     margin-bottom: 60px;
 }

 .sns__heading {
     margin-bottom: 25px;
 }

 .sns__heading .heading__title {
     font-size: 2.5rem;
     font-style: italic;
 }

 .sns__list {
     display: flex;
     justify-content: space-between;
 }

 .sns__item {
     flex-basis: 50%;
     text-align: center;
 }

 .sns__link {
     display: flex;
     align-items: center;
 }

 .sns__ico {
     display: block;
     width: 1.875em;
 }

 .sns__text {
     display: flex;
     align-items: center;
     font-size: 1.6rem;
     position: relative;
     margin-left: 0.8em;
     line-height: 1;
 }

 @media screen and (min-width: 768px) {
     .sns .contents {
         display: flex;
         margin-bottom: 110px;
     }

     .sns__heading .heading__title {
         font-size: 2rem;
     }

     .sns__heading {
         flex-basis: 25.5%;
         display: flex;
         align-items: center;
         margin-bottom: 0;
     }

     .sns__contents {
         flex-basis: 70.338%;
     }

     .sns__list {
         margin-right: auto;
         justify-content: flex-start;
     }

     .sns__item {
         flex-basis: 44.8%;
     }

     .sns__text {
         font-size: 2rem;
         margin-left: 1em;
     }
 }

 /*
  *  store
  * -------------------------------------------------------------------------- */
 .stores .contents {
     margin-bottom: 110px;
 }

 .stores__heading {
     margin-bottom: 30px;
 }

 .store__contents {
     width: 91.538%;
 }

 .stores__article-wrap {
     padding-bottom: 50px;
 }

 @media screen and (min-width: 768px) {
     .stores .contents {
         display: flex;
         margin-bottom: 90px;
     }

     .stores .contents * {
         min-height: 0;
         min-width: 0;
     }

     .stores__heading {
         flex-basis: 25.5%;
         margin-bottom: 0;
     }

     .store__contents {
         flex-basis: 70.338%;
     }

     .stores__article-wrap {
         padding-bottom: 90px;
     }
 }

 /*
  *  payment
  * -------------------------------------------------------------------------- */

 .payment .contents {
     margin-bottom: 75px;
 }

 .payment__contents {
     width: 91.538%
 }

 .payment__list {
     display: flex;
     flex-wrap: wrap;
     margin-bottom: 15px;
 }

 .payment__item {
     margin-right: 35px;
     margin-bottom: 20px;
 }

 .payment__item:nth-of-type(1) {
     margin-left: 0;
     width: 70px;
 }

 .payment__item:nth-of-type(2) {
     width: 61px;
 }

 .payment__item:nth-of-type(3) {
     width: 45px;
 }

 .payment__item:nth-of-type(4) {
     width: 103px;
 }

 .payment__item:nth-of-type(5) {
     width: 42px;
 }

 .payment__item:nth-of-type(6) {
     width: 48px;
 }

 .payment__item:nth-of-type(7) {
     width: 94px;
 }

 .payment__item:nth-of-type(8) {
     width: 77px;
     margin-right: 0;
 }

 .payment__list:not(:last-of-type) {
     margin-bottom: 24px;
 }

 .payment__taxfree {
     width: 108px;
     margin-right: auto;
 }

 @media screen and (min-width: 768px) {
     .payment__list {
         display: flex;
         flex-wrap: wrap;
         margin-bottom: 34px;
     }

     .payment__item {
         margin-bottom: 0;
     }

     .payment__item:nth-of-type(1) {
         width: 63px;
     }

     .payment__item:nth-of-type(2) {
         width: 56px;
     }

     .payment__item:nth-of-type(3) {
         width: 42px;
     }

     .payment__item:nth-of-type(4) {
         width: 94px;
     }

     .payment__item:nth-of-type(5) {
         width: 40px;
     }

     .payment__item:nth-of-type(6) {
         width: 42px;
     }

     .payment__item:nth-of-type(7) {
         width: 87px;
     }

     .payment__item:nth-of-type(8) {
         width: 71px;
     }

     .payment__taxfree {
         width: 80px;
         margin-left: 0;
     }
 }

 /* ==========================================================================
  * COMMON PARTS
  * ========================================================================== */

 /*
  *  heading
  * -------------------------------------------------------------------------- */
 .heading__title {
     font-size: 3.25rem;
     line-height: 1;
 }

 .heading__title--sns {
     font-size: 2.5rem;
     font-style: italic;
 }

 @media screen and (min-width: 768px) {
     .heading__title {
         font-size: 3rem;
     }
 }

 /*
  *  fullimage
  * -------------------------------------------------------------------------- */
 .fullimage {
     margin-right: -6.666vw;
     margin-left: -6.666vw;
 }

 @media screen and (min-width: 768px) {
     .fullimage {
         margin-right: -3.9vw;
         margin-left: -3.9vw;
     }
 }

 @media screen and (min-width: 1281px) {
     .fullimage {
         margin-right: calc(50% - 50vw);
         margin-left: calc(50% - 50vw);
     }

     .fullimage img {
         width: 100%;
     }
 }

 /*
  *  catchimage
  * -------------------------------------------------------------------------- */
 .catchimage {
     display: block;
 }

 .catchimage__more {
     margin-top: 25px;
 }

 @media screen and (min-width: 768px) {
     .catchimage__more {
         margin-top: 30px;
     }
 }

 /*
  *  article
  * -------------------------------------------------------------------------- */
 .article__image {
     margin-bottom: 5%;
 }

 .news .article__title {
     font-size: 1.7rem;
 }

 @media screen and (min-width: 768px) {
     .news .article__image {
         margin-bottom: 13%;
     }

     .stores .article__image {
         margin-bottom: 6.4%;
     }
 }

 /*
  *  traffic
  * -------------------------------------------------------------------------- */
 .traffic:not(:last-of-type) {
     margin-bottom: 32px;
 }

 .traffic__title {
     font-size: 2.25rem;
     margin-bottom: 15px;
 }

 .traffic__detail {
     position: relative;
     padding-left: 18px;
 }

 .traffic__detail>*:not(:last-child) {
     margin-bottom: 5px;
 }

 .traffic__detail::before {
     position: absolute;
     top: 50%;
     left: 9px;
     display: block;
     width: 1px;
     height: 80%;
     content: "";
     -webkit-transform: translateY(-50%);
     -ms-transform: translateY(-50%);
     transform: translateY(-50%);
     background-color: #946F46;
 }

 .traffic__point {
     position: relative;
     font-size: 1.6rem;
     line-height: 1.2;
     padding-left: 0.6em;
 }

 .traffic__point::before {
     content: "";
     display: block;
     width: 7px;
     height: 7px;
     position: absolute;
     top: 50%;
     left: -12px;
     -webkit-transform: translateY(-50%);
     -ms-transform: translateY(-50%);
     transform: translateY(-50%);
     background-color: #946F46;
 }

 .traffic__distance-text {
     font-size: 1.5rem;
     color: #946F46;
 }

 .traffic__distance-text span {
     font-size: 2rem;
 }

 @media screen and (min-width: 768px) {
     .traffic__title {
         font-size: 1.562vw;
     }

     .traffic__detail>*:not(:last-child) {
         margin-bottom: 8px;
     }

     .traffic__point {
         font-size: 1.328vw;
     }

     .traffic__distance-text {
         font-size: 1.171vw;
     }

     .traffic__distance-text span {
         font-size: 1.562vw;
     }
 }

 @media screen and (min-width: 1281px) {

     .traffic__title {
         font-size: 2rem;
     }

     .traffic__point {
         font-size: 1.7rem;
     }

     .traffic__distance-text {
         font-size: 1.5rem;
     }

     .traffic__distance-text span {
         font-size: 2rem;
     }
 }

 /*
  *  pictogram
  * -------------------------------------------------------------------------- */
 .pictogram {
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
 }

 .pictogram::before {
     content: "";
     display: block;
     width: 60px;
     height: 60px;
     background-position: center center;
     background-repeat: no-repeat;
 }

 .pictogram--train::before {
     background-image: url(../../img/common/top/picto-train.svg);
     background-size: 45% 78.3%;
 }

 .pictogram--bus::before {
     background-image: url(../../img/common/top/picto-bus.svg);
     background-size: 70% 36.6%
 }

 @media screen and (min-width: 768px) {
     .pictogram::before {
         width: 4.687vw;
         height: 4.687vw;
     }
 }

 @media screen and (min-width: 1281px) {
     .pictogram::before {
         width: 60px;
         height: 60px;
     }
 }