@charset "UTF-8";

.mv {
    position: relative;
    height: 200.8vw;
    background: url(../img/mv_bg.jpg) no-repeat center bottom;
    background-size: 100% auto;
    overflow: hidden
}

.mv__photo01 {
    position: absolute;
    left: -4.2666666667vw;
    top: 0;
    width: 58.8vw
}

.mv__photo02 {
    position: absolute;
    right: 3.4666666667vw;
    top: 6.2666666667vw;
    width: 40.8vw
}

.mv__photo03 {
    position: absolute;
    left: 5.3333333333vw;
    top: 77.3333333333vw;
    width: 43.2vw
}

.mv__photo04 {
    position: absolute;
    right: -4vw;
    top: 68vw;
    width: 45.8666666667vw
}

.mv__ttl {
    position: relative;
    margin: 47.2vw 0 52.2666666667vw
}

.mv__txt {
    margin: 3.7333333333vw 0 0
}

.pick-up {
    padding: 6.6666666667vw 5.3333333333vw 5.3333333333vw;
    background: #dcf5ff
}

.pick-up__ttl {
    padding: 0 0 1em;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1;
    color: #0092d6
}

.nav {
    padding: 13.3333333333vw 5.3333333333vw 0
}

.nav__ttl {
    padding: 0 0 1em;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.33;
    color: #0092d6
}

.nav__item {
    padding: 0 0 2.6666666667vw
}

.nav__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 21.3333333333vw;
    padding: 0 4vw 0 1.3333333333vw;
    border-radius: 1.0666666667vw
}

.nav__item--blue {
    background: #cce9f7;
    color: #0092d6
}

.nav__item--navy {
    background: #ccdcec;
    color: #00519e
}

.nav__item--emerald {
    background: #cdecf2;
    color: #03a1be
}

.nav__item .subj {
    display: inline-block;
    width: 47.0666666667vw;
    font-size: 3.4666666667vw;
    font-weight: 700;
    line-height: 1.5
}

.nav__item .logo {
    width: 35.2vw
}

.product {
    padding: 16.2666666667vw 0 17.0666666667vw
}

.product#hawaiian {
    padding: 13.3333333333vw 0 31.6vw
}

.news {
    padding: 11.6vw 0 32.5333333333vw
}

#alpina .news {
    background: #9dd5ef url(../img/product_bg01.png) no-repeat center top/100% auto
}

#shinano .news {
    background: #c8d9ea url(../img/product_bg02.png) no-repeat center top/100% auto
}

#hawaiian .news {
    background: #9edbe6 url(../img/product_bg03.png) no-repeat center top/100% auto
}

.news__ttl {
    padding: 0 0 6.6666666667vw;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.75
}

.news__ttl.nopd {
    padding: 0
}

.news__item {
    padding: 0 5.3333333333vw 3.2vw 0
}

.news__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    padding: 5.3333333333vw 2.6666666667vw 5.3333333333vw 5.3333333333vw;
    background: #fff;
    border-right: 4.5333333333vw solid #dcf5ff;
    border-radius: 0 2.6666666667vw 2.6666666667vw 0
}

.news__btn:after {
    content: "";
    position: absolute;
    display: inline-block;
    right: -2.4vw;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    width: 1.7333333333vw;
    height: 1.7333333333vw;
    border-top: 0.4vw solid #0092d6;
    border-right: 0.4vw solid #0092d6
}

.news__photo {
    width: 36.2666666667vw
}

.news__txt {
    width: 41.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.5;
    text-align: left
}

.news__txt.new {
    position: relative;
    padding-top: 1.5em
}

.news__txt.new:before {
    content: "NEW";
    position: absolute;
    display: inline-block;
    left: 0;
    top: 0;
    height: 5.3333333333vw;
    padding: 0 0.5em;
    border-radius: 0.8vw;
    font-size: 2.9333333333vw;
    font-weight: 700;
    line-height: 4.8933333333vw;
    color: #fff
}

.accordion {
    max-height: 0;
    overflow: hidden
}

.accordion_switch {
    display: inline-block;
    position: relative;
    width: 67.4666666667vw;
    margin-bottom: 3.2vw;
    background: #fff;
    border: 0.2666666667vw solid #0092d6;
    border-radius: 1.0666666667vw;
    font-size: 4vw;
    font-weight: 700;
    line-height: 12.8vw;
    color: #0092d6;
    cursor: pointer
}

.accordion_switch:after,
.accordion_switch:before {
    content: "";
    position: absolute;
    display: inline-block;
    right: 5.3333333333vw;
    top: 50%;
    width: 4.4vw;
    height: 0.4vw;
    background: #0092d6;
    -webkit-transition: 0.4s all;
    transition: 0.4s all
}

.accordion_switch:before {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.accordion_switch:after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg)
}

.accordion_switch .btntxt:before {
    content: "記事をもっと見る"
}

.accordion_switch.active:after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.accordion_switch.active .btntxt:before {
    content: "記事を閉じる"
}

.point {
    margin-top: -8vw;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    border-radius: 8vw 8vw 0 0
}

#alpina .point {
    background-image: url(../img/point_bg01.png)
}

#shinano .point {
    background-image: url(../img/point_bg02.png)
}

#hawaiian .point {
    background-image: url(../img/point_bg03.png)
}

.point__mv {
    padding: 0 0 10.6666666667vw
}

.point__mv > picture {
    display: inline-block;
}

.point__mv .pict {
    width: 38.6666666667vw;
    margin: -16vw auto 0
}

.point__ttl {
    padding: 0 0 1em;
    font-size: 5.8666666667vw;
    font-weight: 700;
    line-height: 1.5
}

#alpina .point__ttl {
    color: #0092d6
}

#shinano .point__ttl {
    color: #195aba
}

#hawaiian .point__ttl {
    color: #03a1be
}

.point__ttl .num {
    width: 23.8666666667vw;
    margin: 0 auto 0.4em;
}

.point__detail {
    padding: 0 0 10.6666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.point__txt {
    margin: -0.3em 0 0 5.3333333333vw;
    width: 43.3333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.75;
    text-align: left
}

.point__photo+.point__txt {
    margin: -0.3em 5.3333333333vw 0 0
}

.point__photo {
    width: 47.2vw;
    border-radius: 0 2.6666666667vw 2.6666666667vw 0;
    overflow: hidden
}

.point__txt+.point__photo {
    border-radius: 2.6666666667vw 0 0 2.6666666667vw
}

.point__concl {
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.6
}

.palt {
    letter-spacing: -0.08em
}

.detail-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 89.3333333333vw;
    height: 18.1333333333vw;
    margin: 0.7em auto 0;
    border-radius: 9.0666666667vw;
    -webkit-box-shadow: 0 1.0666666667vw 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 1.0666666667vw 0 rgba(0, 0, 0, 0.2);
    font-size: 4.8vw;
    line-height: 1.4;
    color: #fff !important
}

.detail-btn,
.detail-btn *,
.detail-btn a {
    color: #fff !important
}

#alpina .detail-btn {
    background: #0092d6
}

#shinano .detail-btn {
    background: #195aba
}

#hawaiian .detail-btn {
    background: #03a1be
}

#fixnav .detail-btn {
    height: 14.4vw;
    margin: 0 auto;
    background: #0092d6;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    font-size: 3.4666666667vw;
    font-weight: 700
}

#fixnav .detail-btn strong {
    font-size: 4.2666666667vw;
    font-weight: 700
}

.server .detail-btn {
    margin: 0 auto;
    background: #0092d6;
    font-weight: 700
}

.detail-btn:hover {
    filter: brightness(1.2);
    transition: filter 0.2s ease;
}

.detail-btn:after {
    content: "";
    position: absolute;
    display: inline-block;
    right: 6.6666666667vw;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    width: 1.7333333333vw;
    height: 1.7333333333vw;
    border-top: 0.5333333333vw solid #fff;
    border-right: 0.5333333333vw solid #fff
}

.server {
    padding: 18.6666666667vw 5.3333333333vw 14.6666666667vw;
    background: #dcf5ff url(../img/server_bg.jpg) no-repeat center top/100% auto
}

.server__photo {
    padding: 7.2vw 0 5.3333333333vw
}

.server__txt {
    padding: 0 0 1em;
    font-size: 4.2666666667vw;
    line-height: 1.75;
    text-align: left
}

.best {
    padding: 0 5.3333333333vw 5.0666666667vw;
    background: #dcf5ff url(../img/best_bg.jpg) no-repeat center bottom/100% auto
}

.best__inner {
    padding: 10.6666666667vw 3.8666666667vw;
    background: #fff;
    border-radius: 1.0666666667vw
}

.best__ttl {
    padding: 0 0 8.9333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    text-decoration: underline
}

.best__ttl .toell-logo {
    width: 26.1333333333vw;
    margin: 0 auto 5.6vw
}

.best__ttl .bnrbtn {
    margin-bottom: 0.5em
}

.best__txt {
    padding: 0 0 1em;
    font-size: 4.2666666667vw;
    line-height: 1.75;
    color: #195aba
}

.best__illust {
    padding: 2.6666666667vw 0 0
}

.toell-copy {
    padding: 5.3333333333vw 5.3333333333vw 12.8vw;
    font-size: 3.7333333333vw;
    line-height: 1.6;
    text-align: right
}

#fixnav {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 2.6666666667vw 0;
    background: #dcf5ff
}

.footer-wrap {
    padding-block: 40px 25vw !important;
}

@media screen and (min-width:768px) {
    .mv {
        height: 963.84px
    }

    .mv__photo01 {
        left: -20.48px;
        width: 282.24px
    }

    .mv__photo02 {
        right: 16.64px;
        top: 30.08px;
        width: 195.84px
    }

    .mv__photo03 {
        left: 25.6px;
        top: 371.2px;
        width: 207.36px
    }

    .mv__photo04 {
        right: -19.2px;
        top: 326.4px;
        width: 220.16px
    }

    .mv__ttl {
        margin: 226.56px 0 250.88px
    }

    .pick-up {
        padding: 32px 25.6px 25.6px
    }

    .pick-up__ttl {
        font-size: 23.04px
    }

    .nav {
        padding: 64px 25.6px 0
    }

    .nav__ttl {
        font-size: 23.04px
    }

    .nav__item {
        padding: 0 0 12.8px
    }

    .nav__item a {
        height: 102.4px;
        padding: 0 19.2px 0 6.4px;
        border-radius: 5.12px
    }

    .nav__item .subj {
        width: 225.92px;
        font-size: 16.64px
    }

    .nav__item .logo {
        width: 168.96px
    }

    .product {
        padding: 78.08px 0 81.92px
    }

    .product#hawaiian {
        padding: 64px 0 151.68px
    }

    .news {
        padding: 55.68px 0 156.16px
    }

    .news__ttl {
        padding: 0 0 32px;
        font-size: 23.04px
    }

    .news__item {
        padding: 0 25.6px 15.36px 0
    }

    .news__btn {
        padding: 25.6px 12.8px 25.6px 25.6px;
        border-right-width: 21.76px;
        border-radius: 0 12.8px 12.8px 0
    }

    .news__btn:after {
        right: -11.52px;
        width: 8.32px;
        height: 8.32px;
        border-top-width: 1.92px;
        border-right-width: 1.92px
    }

    .news__photo {
        width: 174.08px
    }

    .news__txt {
        width: 198.4px;
        font-size: 17.92px
    }

    .news__txt.new:before {
        height: 25.6px;
        border-radius: 3.84px;
        font-size: 14.08px;
        line-height: 23.488px
    }

    .accordion_switch {
        width: 323.84px;
        margin-bottom: 15.36px;
        border-width: 1.28px;
        border-radius: 5.12px;
        font-size: 19.2px;
        line-height: 61.44px
    }

    .accordion_switch:after,
    .accordion_switch:before {
        right: 25.6px;
        width: 21.12px;
        height: 1.92px
    }

    .point {
        margin-top: -38.4px;
        border-radius: 38.4px 38.4px 0 0
    }

    .point__mv {
        padding: 0 0 51.2px
    }

    .point__mv > picture {
        display: inline-block;
    }

    .point__mv .pict {
        width: 185.6px;
        margin: -76.8px auto 0
    }

    .point__ttl {
        font-size: 28.16px
    }

    .point__ttl .num {
        width: 114.56px
    }

    .point__detail {
        padding: 0 0 51.2px
    }

    .point__txt {
        margin: -0.3em 0 0 25.6px;
        width: 208px;
        font-size: 20.48px
    }

    .point__photo+.point__txt {
        margin: -0.3em 25.6px 0 0
    }

    .point__photo {
        width: 226.56px;
        border-radius: 0 12.8px 12.8px 0;
        overflow: hidden
    }

    .point__txt+.point__photo {
        border-radius: 12.8px 0 0 12.8px
    }

    .point__concl {
        font-size: 19.2px
    }

    .detail-btn {
        width: 428.8px;
        height: 87.04px;
        border-radius: 43.52px;
        -webkit-box-shadow: 0 5.12px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 5.12px 0 rgba(0, 0, 0, 0.2);
        font-size: 23.04px;
        color: #fff !important
    }

    .detail-btn,
    .detail-btn *,
    .detail-btn a {
        color: #fff !important
    }

    #fixnav .detail-btn {
        height: 69.12px;
        font-size: 16.64px
    }

    #fixnav .detail-btn strong {
        font-size: 20.48px
    }

    .detail-btn:after {
        right: 32px;
        width: 8.32px;
        height: 8.32px;
        border-top-width: 2.56px;
        border-right-width: 2.56px
    }

    .server {
        padding: 89.6px 25.6px 70.4px
    }

    .server__photo {
        padding: 34.56px 0 25.6px
    }

    .server__txt {
        font-size: 20.48px
    }

    .best {
        padding: 0 25.6px 24.32px
    }

    .best__inner {
        padding: 51.2px 18.56px;
        border-radius: 5.12px
    }

    .best__ttl {
        padding: 0 0 42.88px;
        font-size: 17.92px
    }

    .best__ttl .toell-logo {
        width: 125.44px;
        margin-bottom: 26.88px
    }

    .best__txt {
        font-size: 20.48px
    }

    .best__illust {
        padding: 12.8px 0 0
    }

    .toell-copy {
        padding: 25.6px 25.6px 61.44px;
        font-size: 17.92px
    }

    #fixnav {
        padding: 12.8px 0
    }

    .footer-wrap {
        padding-block: 40px 130px !important;
    }
}