.sm{
    display: none !important;
}
@media (max-width: 779px){
    .sm{
        display: block !important;
    }
    .md{
        display: none !important;
    }
    body{
        font-size: 12px;
    }
    img{
        width:100%;
    }
    .trans:hover,
    .trans:hover img {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
        filter: alpha(opacity=1);
        -moz-opacity: 1;
        -khtml-opacity: 1;
        opacity: 1;
    }
    .btn_detail .btn01 {
        width: 60% !important;
        margin: 4% auto 0 !important
    }
    .head_banner{
        /*height: 40px !important;*/
    }
    .head_banner .banner_image {
        max-width: 67px;
        height: 40px !important;
        float: left;
        margin-right: 10px;
    }
    .head_banner span {
        margin: 8px 0px -5px 0px !important;
        font-size: 12px !important;
    }
    .banner_shinkansen{
        width: 50%;
        float: left;
    }
    .banner_name {
        border: 0px solid white;
        float: none;
        padding: 0px;
    }
    .banner_title{
        float: left;
        font-size: 14px !important;
    }
    .container_banner{
        /*z-index: 1;*/
        margin: 0 auto;
        position: relative;
    }
    .banner_background_top{
        height: 50%;
        background: rgba(25, 25, 25, .5);
        /*opacity: 0.5;*/
    }
    .banner_background_bottom{
        height: 50%;
        background: rgba(86, 84, 84, 0.5);
        /*opacity: 0.3;*/
    }
    .banner_left{
        width: 85%;
    }
    .banner_row{
        margin: 12px 15px 0px 0px;
        height: 15px;
    }
    /*===== COMMON =====*/
    .container{
        width: 92%;
    }
    main {
        padding-top: 53px;
    }

    /*===== HEADER =====*/
    header {
        position: fixed;
        width: 100%;
        background: #FFF;
        z-index: 1;
    }
    header > .container {
        padding: 4px 7px;
        width: 100%;
    }
    header .logo {
        width: 45%;
    }
    header .logo img {
        width: 143px;
    }
    header .link {
        width: 55%;
    }
    header .link > li {
        margin-left: 4%;
        font-size: 10px;
        /* letter-spacing: normal; */
        text-align: center;
    }

    header .product_count{
        width: 15px;
        height: 15px;
        line-height: 15px;
        top: -5px;
        right: -5px;
    }

    header .link .txt span {
        display: none;
    }
    header .link .fa {
        margin-right: 0.25em;
        font-size: 23px;
    }
    header .link .fa-facebook-official {
        font-size: 20px;
    }
    header .menu {
        background: inherit;
        background-color: rgba(0,50,100,.9);
        position: absolute;
        width: 100%;
        display: none;
        padding-bottom: 7%;
    }
    header .menu > .container {
        display: block;
        padding: 4% 0;
    }
    header .menu li {
        width: 100%;
        border-bottom: 1px solid #335e88;
    }
    header .menu a {
        padding: 4.5% 0;
        font-size: 15px;
    }
    header .menu a:hover {
        background: #6fa7d0;
    }
    header .language {
        position: relative;
        font-size: 13px;
        width: 100px;
        margin: -10px 3% 0;
    }
    header .language .select {
        background: #FFF;
    }
    header .language > .active {
        border: none;
        height: 23px;
        padding: 2px;
        border-radius: 10px;
    }
    header .language,
    header .language a {
        color: #666;
        font-size: 13px;
        padding: 2px;
    }
    header .language img {
        width: 19px;
    }
    header .language .fa {
        top: 7px;
    }
    header .language ul {
        /* display: block; */
        position: absolute;
        width: 100%;
    }
    header .language:hover ul {
        display: block;
    }
    header .language li {
        padding: 0;
        background: #FFF;
        text-align: left;
    }
    header .btm {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    header .btm > a {
        padding: 0;
        margin: 0 3%;
        display: block;
    }
    header .btm > a > .fa {
        font-size: 40px;
    }
    .hamburger {
        /* padding: 15px 15px; */
        display: inline-block;
        cursor: pointer;
        transition-property: opacity, filter;
        transition-duration: 0.15s;
        transition-timing-function: linear;
        font: inherit;
        color: inherit;
        text-transform: none;
        background-color: transparent;
        border: 0;
        margin: 0;
        overflow: visible;
    }
    .hamburger:hover {
        opacity: 0.7;
    }
    .hamburger-box {
        width: 28px;
        height: 24px;
        display: inline-block;
        position: relative;
    }
    .hamburger-inner {
        display: block;
        top: 50%;
        margin-top: -2px;
    }
    .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
        width: 28px;
        height: 3px;
        background-color: #003264;
        border-radius: 4px;
        position: absolute;
        transition-property: transform;
        transition-duration: 0.15s;
        transition-timing-function: ease;
    }
    .hamburger-inner::before, .hamburger-inner::after {
        content: "";
        display: block;
    }
    .hamburger-inner::before {
        top: -8px;
    }
    .hamburger-inner::after {
        bottom: -8px;
    }
    .hamburger--squeeze .hamburger-inner {
        transition-duration: 0.1s;
        transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    .hamburger--squeeze .hamburger-inner::before {
        transition: top 0.1s 0.14s ease, opacity 0.1s ease;
    }
    .hamburger--squeeze .hamburger-inner::after {
        transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    .hamburger--squeeze.is-active .hamburger-inner {
        transform: rotate(45deg);
        transition-delay: 0.14s;
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    .hamburger--squeeze.is-active .hamburger-inner::before {
        top: 0;
        opacity: 0;
        transition: top 0.1s ease, opacity 0.1s 0.14s ease;
    }
    .hamburger--squeeze.is-active .hamburger-inner::after {
        bottom: 0;
        transform: rotate(-90deg);
        transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    /*===== FOOTER =====*/
    footer > .contact {
        padding: 4% 0;
    }
    footer > .contact a {
        font-size: 15px;
    }
    footer > .contact a span {
        font-size: 11px;
        margin-left: 0.5em;
    }
    footer > .contact .tel {
        display: block;
        line-height: 1.7;
        width: 85%;
        margin-left: 12%;
    }
    footer > .contact .tel > * {
        margin: 0;
    }
    footer > .contact .tel .fa {
        margin-right: 0;
        font-size: 23px;
        width: 35px;
    }
    footer > .contact .add {
        font-size: 11px;
        line-height: 1.5;
        margin: 4% 10%;
    }
    footer > .contact .add span {
        display: block;
    }
    footer > .contact .card img {
        /* width: 10.2%; */
        height: 23px;
        margin: 0 0.5%;
    }
    footer > .copy {
        font-size: 10px;
        padding: 3% 0;
    }

    /*===== TOP =====*/
    /* top_kv */
    .top_kv h2{
        position: absolute;
        top: 100px;
        left: 0px;
        text-align: center;
        color: #fff;
        font-size: 24px;
        line-height: 1.75;
        font-weight: bold;
        width: 100%;
    }
    .top_kv span{
        display: block;
        font-size: 18px;
        margin-top: 30px;
    }
    .top_kv a{
        /*		position: absolute;
                bottom: 60px;
                left: 20px;
                padding: 15px 30px;
                background: rgba(98, 185, 109, 1);
                width: 90%;*/
    }

    /* top_check */
    .top_check {
        padding: 0;
    }
    .top_check > form > .container {
        width: 100%;
        justify-content: baseline;
        padding-bottom: 2%;
    }
    .top_check .date {
        display: block;
        width: 31.33%;
        margin-left: 2%;
        text-align: center;
    }
    .top_check > form > .container > .ttl {
        font-size: 18px;
        margin-right: 40px;
    }
    .top_check .date .ttl {
        margin: 3% 0 2%;
        font-size: 11px;
    }
    .top_check .date .ttl .fa {
        margin-right: 0.25em;
    }
    .top_check .date .input {
        padding: 4% 0;
        height: inherit;
        /* border-radius: 19px; */
    }
    .top_check .date input {
        width: 6em;
        font-size: 14px;
    }
    .top_check .date .input .fa {
        font-size: 15px;
    }
    .top_check input[type=submit] {
        width: 31.33%;
        height: 100%;
        padding: 0;
        border-radius: 0;
        font-size: 13px;
        margin-left: 2%;
        position: absolute;
        right: 0;
        top: 0;
    }
    .top_check > form > .container:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 5px 5px;
        border-color: transparent transparent #ffffff transparent;
        position: absolute;
        right: 5px;
        bottom: 5px;
    }

    /* top_news */
    .top_news {
        padding: 7% 0;
    }
    .top_news > .container {
        display: block;
    }
    .top_news .ttl {
        font-size: 20px;
        margin-right: 0;
        margin-bottom: 5%;
        text-align: center;
    }
    .top_news li {
        line-height: 1.5;
        font-size: 18px;
    }
    .top_news li:not(:last-child) {
        margin-bottom: 2%;
    }

    /* top_sec */
    .top_sec .ttl01 {
        font-size: 30px;
        margin-bottom: 3%;
    }
    .top_sec .ttl02 {
        font-size: 15px;
    }

    /* top_about */
    .top_about {
        padding: 7% 0;
    }
    .top_about .img {
        margin: 5% 0;
    }
    .top_about .btn01 {
        width: inherit;
        height: inherit;
        padding: 15px 0;
        font-size: 14px;
        margin-top: 6%;
    }

    /* top_advantages */
    .top_advantages {
        padding: 7% 0;
    }
    .top_advantages li {
        margin-top: 5%;
        width: 100%;
    }
    .top_advantages li img{
        width: 90px;
    }
    .top_advantages li:first-child img{
        margin: 0;
    }
    .top_advantages .fa {
        font-size: 75px;
        margin-bottom: 5%;
    }

    .top_sec .ttl02{
        margin-top: 0;
    }
    .top_advantages .txt {
        font-size: 12px;
        margin-top: 2%;
    }
    .top_advantages .btn01 {
        width: 70%;
        height: inherit;
        padding: 8px 0;
        margin-top: 7%;
    }

    /* top_steps */
    .top_steps {
        padding: 7% 0;
    }
    .top_steps ul {
        margin-top: 5%;
    }
    .top_steps li:not(:last-child) {
        margin-bottom: 4%;
    }
    .top_steps .num {
        font-size: 40px;
        margin: 0;
        width: 10%;
    }
    .top_steps .detail {
        width: inherit;
        margin-right: 0;
        width: 80%;
    }
    .top_steps .ttl {
        font-size: 15px;
    }
    .top_steps .ico {
        width: 50px;
        height: 50px;
    }
    .top_steps .fa {
        font-size: 25px;
    }
    .top_steps .fa-mobile {
        font-size: 35px;
    }
    .top_steps .txt {
        line-height: 1.5;
        margin-top: 2%;
    }

    /* top_prices */
    .top_prices {
        padding: 7% 0;
    }
    .top_prices .ttl01 {
        margin-top: 10px;
    }
    .top_prices .box {
        display: block;
    }
    .top_prices .box > * {
        width: 100%;
    }
    .top_prices .ttl02 {
        margin-bottom: 20px;
    }
    .top_prices .detail .ttl {
        font-size: 25px;
        margin: 5% 0;
        text-align: center;
    }
    .top_prices .detail .txt {
        line-height: 1.5;
        margin-top: 1%;
    }
    .top_prices .detail .txt .fa {
        margin-right: 0.25em;
    }
    .top_prices .detail .btn01 {
        float: none;
        margin: 5% auto 0;
        display: block;
        width: 60%;
    }
    .top_prices .btn01 {
        width: 100%;
        padding: 10px 0;
    }
    .top_prices .days {
        display: block;
        margin: 7% 0 3%;
    }
    .top_prices .days li {
        width: 100%;
        padding: 0;
    }
    .top_prices .days li:first-child {
        border-radius: 5px 0 0 5px;
    }
    .top_prices .days li:last-child {
        border-radius: 0 5px 5px 0;
    }
    .top_prices .days li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 1px;
    }
    .top_prices .days > li {
        display: flex;
        align-items: center;
    }
    .top_prices .days > li > div {
        width: 55%;
    }
    .top_prices .day {
        font-size: 24px;
        width: 94px;
        height: 94px;
        line-height: 94px;
        margin: 5% 2%;
    }
    .top_prices .days .btn01 {
        margin: 0;
    }
    .top_prices .days .txt {
        font-size: 12px;
        padding: 4.5% 0;
    }

    /* top_fb */
    .top_fb {
        padding: 7% 0;
    }
    .top_fb .fb {
        display: block;
    }
    .top_fb .itg {
        display: block;
    }
    .top_fb .fb iframe {
        width: 100%;
    }
    .top_fb .reviews ul li img{
        float: none;
        margin: 0 auto;
        display: block
    }

    /*===== LOWER =====*/
    .lower_ttl {
        font-size: 25px;
        padding: 10% 0;
    }
    .faq .faq_btn li a{
        min-height: 60px;
        font-size: 17px;
    }

    .faq ul.tab01 li,
    .faq ul.tab02 li,
    .faq ul.tab03 li,
    .faq ul.tab04 li,
    .faq ul.tab05 li,
    .faq ul.tab06 li,
    .faq ul.tab07 li,
    .faq ul.tab08 li{
        float: none;
        width: 100%;
        margin-right: 0;
        padding: 4%;
    }
    .price_calender dl dt,
    .price_calender dl dd{
        width: 16%;
    }
}

@media (max-width: 639px) {
    body {
        font-size: 21px;
    }
}
@media (max-width: 599px) {
    body {
        font-size: 18px;
    }
}
@media (max-width: 479px) {
    body {
        font-size: 16px;
    }
}
@media (max-width: 400px) {
    body {
        font-size: 14px;
    }
}
@media (max-width: 383px) {
    body {
        font-size: 13px;
    }
}
@media (max-width: 359px) {
    body {
        font-size: 11px;
    }
}
@media (max-width: 319px) {
    body {
        font-size: 10px;
    }
}
@media (max-width: 300px) {
    body {
        font-size: 8px;
    }
}


@media (max-width: 1024px){
    .container {
        width:100%;
        padding: 0 15px;
    }

}

@media (max-width: 999px) {
    header .link {
        /* margin-right: 115px; */
        margin-left: auto;
    }
}

@media (min-width: 1000px) and (max-width: 1200px) {
    header .link {
        /* margin-right: 125px; */
        margin-left: auto;
    }
}

@media (max-width: 779px){
    header .link {
        margin-right: 0px;
    }
}