.ship-room-menu-inner {
    max-width: 18em;
    overflow-y: auto;
    position: absolute;
    width: 100%;
}

.ship-room-menu-inner.on {
    position: fixed;
}

.snf-movie-click:before {
    content:'';
    width: 60px;
    height: 60px;
    margin: calc( (220px - 60px) / 2) calc(58.25% - 60px);
    position: absolute;
    cursor: pointer;
    z-index: 2;
}

/*
 * トップページ
 */
 @media all and (-ms-high-contrast:none){
    *::-ms-backdrop, .info-detail.top {
        margin: 0 1em;
    }
    *::-ms-backdrop, .info-detail.top:first-child {
        margin-left: 1em;
    }
 }

 /*
  * SVGヘッダー
  */
svg.header {
    height: 20.6vw;
}


/* ここから吉岡 */
/* グローバルメニュー */
.gnav::after, .gnav::before, .sub-menu::after, .sub-menu::before {
    display: none;
}

@supports (display: contents) {
#gnav .sub-menu .sub-menu {
    display: contents;
}
}

/* よくあるお問い合わせ　ページ読み込み時のサブメニューの位置 */
@media all and (min-width:968px){
    .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner {
        top: 400px;
    }
    .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner.faq-on{
        top: 400px !important;
    }
}

@media all and (max-width:967px) and (min-width:901px){
.ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner {
    top: 485px;
}
.ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner.faq-on{
    top: 485px !important;
}
}

.ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner.faq-off{
    top: 100px !important;
}


/* サブメニュー */
@media all and (min-width:901px){
/* .ship-room-menu-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
} */

/* .column-list{
    height: 300px;
    overflow-y: auto;
} */

.ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner{
    display: static;
}

/* .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner .searoute-menu:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
} */

/* .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner .searoute-menu:first-child{
    margin-bottom: 8%;
} */
}

/* トップページ */
#top_movie_flame {
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: url(/cms/wp-content/themes/godios-child/images/top/top-slide-mask.png);
    -webkit-mask-size: cover;
    -webkit-mask-position-y: calc(100% + 1px);
}

#top_movie_flame .top_movie_sp {
    display: none;
}

/* 空席・運賃照会、インターネット予約 */
.tab-link, .inquiry {
    height: 60px;
    width: 200px;
    padding: 8px 16px;
    border-radius: 4px;
    letter-spacing: 4px;
    writing-mode: horizontal-tb;
}

.inquiry {
    border-bottom: solid 3px #86794D;
    background: #BEAB6A url(/cms/wp-content/themes/godios-child/images/top/fare_inquiry_icon.png) 1em center no-repeat;
    background-size: 30px;
}

.inquiry label {
    display: block;
    font-weight: bold;
    cursor: pointer;
    letter-spacing: 3px;
}

.inquiry-label {
    position: absolute;
    left: 57px;
    top: 18px;
}

.date-text {
    letter-spacing: 0;
    font-weight: normal;
    padding-right: 6px;
}

.inquiry input {
    display: none;
}

.inquiry div{
    overflow: hidden;
    transition: 0.8s;
}

.inquiry input+label+div {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
}

.inquiry label::before{
    top: -360px;
}

.inquiry input:checked+label+div {
    overflow: visible;
    height: auto;
    opacity: 1;
    position: absolute;
    top: -380px;
    left: 0;
    z-index: -1;
    border-radius: 4px;
    background-color: #BEAB6A;
}
/*
.inquiry-cont {
    padding: 37px 43px;
} */

.tab-link {
    letter-spacing: 1px;
    border-bottom: 3px solid #5E7A9A;
    z-index: -2;
    background: #1A436D url(/cms/wp-content/themes/godios-child/images/top/reservation_icon.png) 2em center no-repeat;
    background-size: 35px;
}

.tab-link a {
    color: white;
    font-weight: bold;
    display: block;
    padding-top: 10.5px;
    padding-left: 4em;
    letter-spacing: 3px;
}

.flatpickr-calendar.animate.open.arrowTop.rightMost {
    position: fixed;
}

/* .flatpickr-calendar.open{
    top: calc(100vh - 330px);
} */


    /*
        ご予約について
    */
    h1.entry-title.entry-title.c-icon-title-b.c-icon-title.recommended-post-list:nth-of-type(2) {
        margin-top: 1em;
    }

    .payment_way li a, .payment_way_tel .link a{
        display: block;
    }

    #e-ticket{
        width:291px;
        height:165px;
    }

    .detail-link.reservation-link{
        font-size: 1.8rem;
        padding-left: 75px;
    }

    .internet-link {
        background: #3F4352 url(/cms/wp-content/themes/godios-child/images/reservation/common/ico_internet.png) 1.8rem center no-repeat;
        background-size: 45px;
    }

    .tel-link {
        background: #3F4352 url(/cms/wp-content/themes/godios-child/images/reservation/common/ico_tel.png) 1.8rem center no-repeat;
        background-size: 45px;
    }

    .travel-link {
        background: #3F4352 url(/cms/wp-content/themes/godios-child/images/reservation/common/ico_travel.png) 1.8rem center no-repeat;
        background-size: 45px;
    }

    /* お支払い方法 */
    #company-payment .detail-link.company-link{
        width: 23%;
    }

    .company-links .detail-link.company-link{
        margin: 1%;
    }

    .reservation_section.sec-payment .section_title span, .reservation_section.sec-cancel .section_title span {
        font-size: 1.2em;
        font-weight: bold;
        padding-right: 1em;
    }

    .reservation_section.sec-payment .section_title span.icon-wrap, .reservation_section.sec-cancel .section_title span.icon-wrap {
        font-size: 13px;
        font-weight: 100;
    }

    .icon-wrap div img{
        margin-top: -0.5em;
    }

    #conveniencestore{
        width: 656px;
        height: 164px;
        margin-bottom: 1em;
    }

    #card-img01{
        width:273px;
        height:141px;
    }

    /* お問い合わせ */
    .ship-room-content-inner.parent_content .car_contact_list li:nth-child(2n+1), .ship-room-content-inner.parent_content .terminal_contact_list li:nth-child(2n+1), .ship-room-content-inner.parent_content .trac_contact_list li:nth-child(2n+1){
        margin-right: 4%;
    }

    /* よくあるお問い合わせ */
    .entry-top-page.entry-top.ship-room.faq-pagetop ~ .ship-room-content-inner{
        margin-top:4em;
    }

    input.faq-search{
        margin: 10px auto;
    }

    #top-keyword-search {
        width: 88%;
        margin: 0.4% auto 2%;
    }

    .page-top_search {
        font-size: 1.8rem;
        font-weight: normal;
    }

    #icon-search {
        width: 88%;
        margin: 0 auto;
    }

    /* .searoute-menu .detail-link.faq-search-btn {
        margin: 0;
        display: block;
        width: calc(2rem * 4 + 26px);
    } */

    .category-search {
        width: 21rem;
        text-align: center;
        margin: 1.5rem 0.5rem;
    }

    .category-search img{
        height: 50px;
        width: auto;
        max-width: 60px;
    }

    #category_number0 p, #category_number1 p {
        width: 11.2rem;
        word-break: normal;
    }

    #category_number0, #category_number1 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .category-search-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        border: 1px solid #ccc;
        margin: 1em 0;
    }

    .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner {
        margin-top: 5.5%;
    }

    .category-search p {
        font-size: 1.4rem;
        word-break: keep-all;
        margin-bottom: 0;
    }

    #top-keyword-search input {
        width: 60%;
        height: 4rem;
        font-size: 1.5rem;
        margin-top: 0;
    }

    #top-keyword-search .detail-link.faq-search-btn {
        padding: 0.8rem 3rem 1rem;
    }

    .faq .room-container:not(:first-child) {
        margin-top: 7%;
    }

    /* 個別お問い合わせ */
    .single_content table {
        text-align: center;
        text-indent: 0;
    }

    .single_content table td{
        width: calc(100% / 5);
    }

    /* お問い合わせ一覧 */
    .faq-answer table {
        text-align: center;
        text-indent: 0;
    }

    .faq-answer table td{
        width: calc(100% / 5);
    }

    /* 会社案内 */
    #company-guide .detail-link.company-link{
        min-width: 30%;
        padding: 2%;
        padding-right: 0;
        margin-bottom:2%;
    }

    #recruit-privacy-link br {
        display: none;
    }

    #recruit-privacy-link{
        width: 62.5%;
    }

    /* グループ会社 */
    .company-list .group-list dt, .company-list .group-list dl, .company-list .group-list dd {
        display: block;
        width: 100%;
    }

    .group-list .list img {
        width: auto;
    }


    /* 採用情報 */
    .recruit-note-detail{
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .recruit-note-txt {
        width: calc(100% - 105px);
    }

    .recruit-note-txt img {
        width: auto;
        height: 34px;
        margin-top: -0.8%;
    }

    .privacy-link .detail-link{
        width: 100%;
    }

    .info_title br{
        display: none;
    }

    /* 安全運航の取り組み */
    #safety_img03{
        width: 30%;
    }

    /* 運送約款 */
    .company-links .detail-link.company-link{
        padding: 2%;
        padding-right: 0;
    }

    #yakkan-link1, #yakkan-link2, #yakkan-link3{
        width: 20%;
    }

    #yakkan-link4{
        width:32%;
    }

    /* 目次ボタン */
    .recommended-sidemenu-inner .column-list > li:after, .recommended-sidemenu-inner .column-list > li:before{
        display: none;
    }

    .ship-room-menu-inner.off, .tab-menu_header.off{
        display: none;
        transition-duration: 800;
    }

    .menu-btn button {
        border: 1px solid #1A476B;
        width: 30px;
        height: 50px;
        position: fixed;
    }

    .searoute-menu {
        position: relative;
    }

    #menubtn-down {
        top: 0;
        left: 0;
    }

    #menubtn-up {
        top: 50%;
        left: 0;
    }


    /* フォトギャラリー */
    #gallery-search .tour-period-day.photo-input .ship-row{
        white-space: nowrap;
    }

    .tours-guide.phpto-search-guid input, .tours-guide.phpto-search-guid label {
        cursor: pointer;
    }

    /* 船内でのおくつろぎ〜食べる　北行き・南行き共通 */
    .common-menu-txt {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        flex-wrap: nowrap;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: nowrap;
        /* justify-content: space-between; */
        /* -webkit-justify-content: space-between; */
        /* width: 90%; */
        margin: 0 auto;
    }

    .common-menu-title:first-child {
        width: calc(100% - 9rem);
    }

    .common-menu-title:nth-child(2) {
        width: 9rem;
    }

    /* ムービーギャラリー */
    .snf_movie_play iframe {
        max-height: 203px;
        width: 100%;
    }

    .snf_movie_catch {
        width: 100%;
        max-height: 203px;
    }

    /* 運賃 */
    table.fare-list {
        font-family: 'Noto Serif JP';
    }

    table.fare-list tr {
        border-bottom: 2px solid #fff;
    }

    th.fare-direction-ditile {
        border-left: 2px solid #fff;
        font-weight: normal;
    }

    td.fare-day-ditile {
        border-left: 2px solid #fff;
    }

    td.fare-direction-price {
        border-left: 2px solid #fff;
    }

    /* 乗り場・アクセス詳細 */
    .open-time + p{
        color: #d0364f;
        font-size: 1.5rem;
        margin-top: 4px;
        font-weight: normal;
    }

    .open-time{
        width: calc(33em + 34px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .opentime-title{
        width: 15rem;
        margin-right: 2px;
    }

    .opentime-title p{
        font-size: 1.5rem;
        font-weight: 200;
        color: white;
        margin-bottom: 0;
        height: 24px;
        padding-top: 5px;
        line-height: 1.5rem;
        text-align: center;
        border-bottom: 1px solid white;
        border-left: 1px solid white;
        background-color: #5d7ba9;
    }

    .opentime-title p:first-child {
        height: 29px;
        padding-top: 8px;
        margin-top: 1px;
    }

    .opentime-title p:last-child {
        border-bottom: none;
    }

    .opentime-list{
        width: calc(100% - 15rem - 4px);
    }

    .opentime-tab input.opentab-switch {
        display: none;
    }

    .opentab-label {
        background: #737f92;
        color: white;
        font-weight: bold;
        white-space: nowrap;
        text-align: center;
        padding: 4px 10px;
        order: -1;
        position: relative;
        z-index: 1;
        cursor: pointer;
        display: inline-block;
        width: calc((100% - 30px) / 7);
        border-radius: 3px 3px 0 0;
        margin-bottom: 2px;
    }

    .opentime-time {
        height: 0;
        opacity: 0;
        transition: .5s opacity;
        visibility: hidden;
        text-align: center;
    }

    .opentab-switch:checked+.opentab-label {
        background: #f5f5f5;
        color: #3F4352;
        font-weight: bold;
        box-shadow: 2px -2px 4px -3px;
        border: solid 1px #737f92;
        border-bottom: none;
    }

    #TAB-opentime0:checked+.opentab-label~#opentime-contents0,
    #TAB-opentime1:checked+.opentab-label~#opentime-contents1,
    #TAB-opentime2:checked+.opentab-label~#opentime-contents2,
    #TAB-opentime3:checked+.opentab-label~#opentime-contents3,
    #TAB-opentime4:checked+.opentab-label~#opentime-contents4,
    #TAB-opentime5:checked+.opentab-label~#opentime-contents5,
    #TAB-opentime6:checked+.opentab-label~#opentime-contents6 {
        height: auto;
        opacity: 1;
        transition: .5s opacity;
        position: relative;
        visibility: visible;
        border: 1px solid white;
        border-top: none;
        background-color: #f5f5f5;
        padding: 3px 0 3px;
    }

    /* .opentab-label:not(:last-of-type) {
        margin-right: -1px;
    } */

    .opentime-time li:first-child {
        border-bottom: 1px solid white;
        position: relative;
        display: block;
    }

/* のりば・アクセス一覧 */
.openweek0:checked+.opentab-label~.openweek0,
.openweek1:checked+.opentab-label~.openweek1,
.openweek2:checked+.opentab-label~.openweek2,
.openweek3:checked+.opentab-label~.openweek3,
.openweek4:checked+.opentab-label~.openweek4,
.openweek5:checked+.opentab-label~.openweek5,
.openweek6:checked+.opentab-label~.openweek6 {
    height: auto;
    opacity: 1;
    transition: .5s opacity;
    position: relative;
    visibility: visible;
    border: 1px solid white;
    border-top: none;
    background-color: #f5f5f5;
    padding: 3px 0 3px;
}

.opentime-tab ul li::before, .opentime-tab ul li::after {
    content: none;
}

.info-box-txt ul.opentime-time {
    line-height: inherit;
}

.info-box-txt ul.opentime-time li {
    padding-left: 0;
}



    /* 時刻表・運行スケジュール */

    ul.whereabout li, ul.flight-time li {
        display: table-cell;
        width: 120px;
        vertical-align: top;
        font-weight: 500;
    }


    ul.whereabout, ul.flight-time {
        display: table;
        margin: 0 auto;
    }

    ul.whereabout {
        margin-bottom: 1%;
    }

    .where span {
        padding: 0;
    }

    ul.whereabout li:nth-child(2n), ul.flight-time li:nth-child(2n) {
        width: 30px;
    }

    ul.flight-time li:nth-child(2n) {
        transform: rotate(-45deg);
        vertical-align: middle;
    }


    ul.flight-time li:nth-child(2) {
        transform: rotate(0deg);
        vertical-align: top;
    }


@media all and (max-width:900px){
    /* グローバルメニュー */
    .sub-header-icons{
        display: block;
    }


    /* トップページ */
    #top_movie_flame{
        height: auto;
        margin-top: 29px;
    }
    
    #top_movie_flame .top_movie_sp {
        display: block;
    }

    #top_movie_flame .top_movie {
        display: none;
    }

    /* 空席・運賃照会、インターネット予約 */
    .tab-link, .inquiry{
        display: none;
    }

    /*
        ご予約について
     */
    .reservation_section .link{
        vertical-align: top;
    }

    .detail-link.reservation-link{
        padding-left: 40px;
    }

    .internet-link, .tel-link, .travel-link {
        background-size: 30px;
    }

    .reservation_section .reservation-other-link {
        width: auto;
    }


    /* インターネット */
    .payment_way li, .ship_introduction li{
        padding-bottom: 13px;
    }

    .reservation_section .payment_way .link, {
        min-width: 145px;
        width: 30%;
        padding-right: 0.5em;
    }

    .reservation_section .payment_way_tel .link{
        min-width: 145px;
        width: 33%;
    }

    .reservation_section .payment_way li, .reservation_section .ship_introduction li{
        margin-right: 3% !important;
    }

    .reservation_section th, .reservation_section td{
        width: 50%;
    }

    .payment_way ul, .payment_way_tel ul, .ship_introduction ul{
        flex-wrap: wrap;
        justify-content: center;
    }

    ._has-frame .inline-frame {
        padding: 2%;
    }

    .inline-frame p{
        text-align: left;
    }

    .reservation_section table td {
        text-align: left;
        padding: 0 1%;
    }

    .company-list .reservation_section p, .company-list .reservation_section ul, .company-list .reservation_section span, .company-list .reservation_section p {
        font-size: 1em;
        letter-spacing: 0.05em;
    }

    /* 電話・窓口 */
    .payment_way_tel ul{
        flex-wrap: wrap;
    }

    .payment_way_tel li{
        width: 47%;
    }

    /* 旅行会社 */
    table.refund-fee {
        width: 80%;
      }

      table.refund-fee.refund-fee th, table.refund-fee td br {
        display: none;
      }

      table.refund-fee.refund-fee th:first-child{
        display:block;
        width:100%;
        font-size: 1.2em;
        border-bottom: white solid 2px;
      }

      table.refund-fee tr {
        width: 100%;
        vertical-align:middle;
      }

      table.refund-fee td {
        display: block;
        text-align: right;
        width: 100%;
      }

      table.refund-fee td:first-child {
        background: #609AE4;
        opacity: 0.8;
        color: #fff;
        font-weight: bold;
        text-align: center;
      }

      table.refund-fee td:before {
        content: attr(data-label);
        float: left;
        margin-right: 10px;
      }

      table.refund-fee td {
        border-top: none;
        height: 3em;
    }

    table.refund-fee th {
        padding-top: 0.7em;
    }

    table.refund-fee td{
      padding: 0.7em 20%;
    }

    /* 初めてのお客様へ */
    .reservation_section .box .arrow{
        top: 110%;
    }

    .ship-room-content-inner.parent_content .stroke-area:before, .ship-room-content-inner.parent_content .stroke-area:after{
        left: 80px;
    }

    .ship-room-content-inner.parent_content .stroke-area {
        background: url(/cms/wp-content/themes/godios-child/images/first/ico_flow03_rp.png) repeat-y 80px 0;
    }

    .ship-room-content-inner.parent_content .reservation_section .img01, .ship-room-content-inner.parent_content .reservation_section .img02, .ship-room-content-inner.parent_content .reservation_section .img03{
        width: auto;
    }

    .ship-room-content-inner.parent_content .ship_introduction li{
        padding-right: 0;
        margin-right: 3% !important;
    }

    .detail-link.reservation-link{
        width: 30%;
        justify-content: center;
    }

    /*
        お支払い方法
     */
     .reservation_section.sec-payment img {
        max-width: calc(96vw * 0.8);
    }

     .reservation_section.sec-payment .section_title img {
        max-width: 100%;
    }

    .company-links .company-link.detail-link, .company-links a{
        width: 100%;
        height: auto;
    }

    #company-payment .detail-link.company-link{
        margin: 1%;
    }

    #company-payment .detail-link.company-link{
        width: 48%;
    }

    .ship-room-content-inner.parent_content .company-links {
        height: auto;
        text-align: left;
        padding-top: 0;
    }

    .company-links .detail-link.company-link {
        padding: 23px 2%;
    }

    section.reservation_section {
        width: 100%;
    }

    /* クレジットカード */
    .card-image .box-style{
        max-width: 50%;
    }

    /*
        お問い合わせ
    */
    .post-1087.status-publish{
        margin-top: 3em;
    }

    .room-container .faq-list h3 {
        padding-left: 51px;
        text-indent: -43px;
    }

    .sec-car .car_contact_list, .sec-car .terminal_contact_list, .sec-trac .trac_contact_list{
        width: 100%;
    }

    .searoute-menu {
        margin-bottom: 3%;
    }

    /* よくあるお問い合わせ */
    #top-keyword-search,
    #icon-search {
        width: 95%;
    }

    .category-search-list li{
        width: 33%;
    }

    /* 旅客・乗用車 */
    .sec-reserve-car .sec .left-parts table th{
        padding: 8px 3%;
    }

    .br-pc_sp{
        display: none;
    }

    /* トラックに関するお問い合わせ先 */
    .section_title span{
        display: block;
        margin-top: 0.6em;
    }

    /*
    会社案内
     */
    #recruit-privacy-link{
        width: 100%;
    }

    #company-guide .detail-link.company-link{
         width: 48%;
         height: 86px;
         padding: 34px 2%;
    }

    #company-guide #recruit-privacy-link {
        width: 48%;
        height: 86px;
        padding: 23px 2%;
        text-align: left;
        vertical-align: top;
    }

    .company-links#company-guide{
        padding-top: 0;
    }

    /* 会社沿革 */
    .company-list._spc02 dt{
        width: 22%;
    }

    .company-list._spc02 dd{
        width: 78%;
    }

    #company-guide {
        height: auto;
    }

    /* グループ会社 */
    .shk_logo {
        height: auto;
    }

    img.alignnone.size-full.wp-image-748.sea_route_img {
        width: 100%;
        height: auto;
    }

    .company-list .group-list dt, .company-list .group-list dl, .company-list .group-list dd {
        display: block;
        width: 100%;
    }

    /* 採用情報 */

    .recruit-note-detail{
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .recruit-note-txt {
        width: calc(100% - 105px);
    }

    .recruit-note-txt img {
        width: auto;
        height: 34px;
        margin-top: -0.8%;
    }

    .privacy-link{
        width: 50%;
    }

    .info_title br{
        display: block;
    }

    /* サイトマップ */
    a.cfs-hyperlink {
        padding-left: 10px;
    }

    .child-link-list {
        width: 50%;
    }

    /* 新型インフルエンザ等対策業務計画 */
    .detail-link.back-list.back-btn{
        width: 30%;
    }

    /*
    お問い合わせ
     */
    .room-container {
        width: 100%;
        margin: 0 auto;
    }

    .ship-room-content-inner.parent_content {
        padding: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .sec-faq .chapter_title p, .sec-car .chapter_title p, .sec-trac .chapter_title p {
        position: static;
    }

    .faq-list h3:before{
        padding-left: 4px;
    }

    .faq-list h3 {
        padding-left: 2.5rem;
        text-indent: -3.2rem;
    }

    .detail-link.back-list.back-btn{
        width: 45%;
    }

    /* 英語 */
    .en-route-detail.otaru {
        left: 37%;
        bottom: 239px;
    }

    .en-route-detail.tomakomai-east {
        left: 26%;
        bottom: 134px;
    }

    .en-route-detail.akita {
        left: 40%;
        bottom: 108px;
    }

    .en-route-detail.niigata {
        left: 40%;
        bottom: 42px;
    }

    .en-route-detail.tsuruga {
        left: 23%;
        bottom: 13px;
    }

    .en-route-detail.maizuru {
        left: 29%;
    }

    /* 英語お問い合わせ */
    .reservation .reservation-en p {
        line-height: 3rem !important;
    }

    #terms {
        width: 100%;
    }

    .en-route {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .en-route a {
        width: 45%;
        margin-bottom: 2%;
    }

    .en-route a:first-child, .en-route a:nth-child(3){
        margin-right: 2%;
    }

    .en-route-pdf.en-route-maizuru, .en-route-pdf.en-route-tsuruga, .en-route-pdf.en-route-niigata {
        padding-top: 9%;
    }

    .en-reservation-title {
        width: 92%;
        margin: 0 auto;
    }

    #en-slider {
        margin: 15% auto;
    }

    .top-content.en-content.reservation {
        margin-top: 20%;
    }

    /* 英語お問い合わせ　確認画面 */
    .form.reservation .fare-direction-ditile, .form.reservation td.fare-day-ditile {
        display: block;
        width: 100% !important;
    }

    .form.reservation td.fare-day-ditile {
        margin-bottom: 1em;
        padding-bottom: 2em;
    }

    .item_reservation {
        text-align: left;
    }

    .en-route-pdf.en-route-maizuru, .en-route-pdf.en-route-tsuruga, .en-route-pdf.en-route-niigata {
        padding-top: 9.5%;
    }

    /* 個人情報の取り扱い */
    .inner-sec li, .privacy_section .inner-sec p {
        line-height: 2em;
    }

    h2.ttl-style02.chapter_title {
        margin-bottom: 1em;
    }

    /* 運送約款 */
    #yakkan-link1, #yakkan-link2, #yakkan-link3, #yakkan-link4{
        width: 48%;
        margin-bottom: 2%;
    }

    /* 目次ボタン */
    ul.column-list {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    ul.column-list li {
        width: calc(100% / 2);
        padding: 0 0.3em;
    }

    ul.column-list li .detail-link.list-page-link {
        width: 100%;
        height: calc(100% - (0.5em * 2));
        display: flex;
        align-items: center;
        text-align: left;
        /* padding: 1.2em 0.5em; */
    }

    /* 目次ボタンレイアウト変更 */

    .sp_side_menu {
        height: 90px;
        background-color: #1A476B;
        width: 40px;
        padding: 12px 6px;
        position: absolute;
        left: -6px;
        border-radius: 4px;
        letter-spacing: 4px;
    }

    .sp_side_menu span {
        padding-top: 0.8em;
        padding-right: 0;
        font-size: 1.5rem;
        line-height: 1.3;
        color: #ffffff;
        display: block;
        font-weight: bold;
        cursor: pointer;
        font-family: 'Noto Serif JP';
    }

    .ship-room-menu-inner {
        transition: 0.8s;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        -o-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .ship-room-menu-inner.faq-category-menu-inner.searoute-menu-inner{
        margin-top: -0.5em;
    }

    .sp_side_menu.close_btn{
        right: 0;
    }

    .sp_side_menu.close_btn span{
        background-color: #ffffff;
        width: 100vw;
        padding-right: 3em;
    }

    .sp_side_menu.has-entry-image.close_btn {
        width: calc(100% + 6px);
    }

        /* 船上から見える景色 */
    .searoute-view {
        margin-bottom: 3%;
    }

    .view-place.syakotan {
        bottom: 323px;
        left: 319px;
        width: 212px;
    }

    .view-place.syakotan:after {
        border-width: 20px 150px 0px 1px;
        top: 107%;
        left: -2%;
        transform: rotate(107deg);
    }

    .view-place.kamui {
        bottom: 295px;
        left: 200px;
        width: 178px;
    }

    .view-place.kamui:after {
        top: 103%;
        left: 37%;
        transform: rotate(60deg);
    }

    .view-place.motta {
        bottom: 274px;
        left: 43px;
        width: 188px;
    }

    .view-place.motta:after {
        top: 95%;
        left: 38%;
        transform: rotate(30deg);
    }

    .view-place.okusiriitou {
        bottom: 141px;
        left: 35px;
        width: 190px;
    }

    .view-place.okusiriitou:after {
        top: 48%;
        left: 58%;
        transform: rotate(8deg);
    }

    .view-place.oshima {
        bottom: 7px;
        left: -65px;
        width: 190px;
    }

    .view-place.esan {
        bottom: 176px;
        left: 470px;
        width: 180px;
    }

    .view-place.tappimisaki {
        bottom: -26px;
        left: 380px;
        width: 181px;
    }

    .view-place.tappimisaki:after {
        top: -22%;
        right: 50%;
        transform: rotate(-151deg);
    }

    .view-place.omasaki {
        bottom: 58px;
        left: 496px;
        width: 160px;
    }

    .view-place.ogahantou {
        bottom: -95px;
        left: 202px;
        width: 190px;
    }

    .view-place.ogahantou:after {
        bottom: 110%;
        left: 20%;
    }

    .searoute-view-list {
        margin: 30% auto 13%;
    }

    .view-image img {
        max-width:50%;
    }

    #syakotan .view-image img {
        max-width: calc(100% - 178px);
    }

    .transit-time-detail {
        width: calc(60% - 3px);
    }

    /* 乗り場・アクセス詳細 */
    .opentime-title p:first-child {
        height: 27px;
    }

    .opentab-label{
        padding: 3px 0;
    }

    .opentime-tabwrap, .open-time{
        width: 100%;
    }
    
}

@media all and (max-width:670px){
    /* トップページ */
    #top_movie_flame {
        width: 100%;
        -webkit-mask-image: url(/cms/wp-content/themes/godios-child/images/top/top-slide-mask.png);
        -webkit-mask-size: 200%;
        -webkit-mask-position-y: bottom;
        margin-top: 39px;
    }

   /* 目次ボタン */
   ul.column-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
    ul.column-list li {
    width: 100%;
    padding: 0;
}

ul.column-list li:last-child{
    padding-bottom: 0.5em;
}

.sp_side_menu{
    padding: 12px 0 12px 12px;
    left: -12px;
}

ul.column-list li .detail-link.list-page-link{
    height: auto;
    padding: 0.5em 2em;
}

.ship-room-menu-inner .detail-link.list-page-link{
    margin: 3% auto 0;
}

.sp_side_menu.close_btn {
    left: 0;
}

.sp_side_menu.close_btn span{
    padding-right: 3em;
}

    /* ご予約について */
    .ship-room-content-inner.parent_content .info_title, section.reservation_section {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .reservation_section div.box-inner{
        width: 100%;
    }

    .reservation_section .box-inner p span{
        text-align: center;
    }

    .reservation_section .reservation_section .box-inner, .reservation-group {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .ship-room-content-inner.parent_content .reservation_section .box-inner{
        padding: 2em 0;
    }

    .ship-room-content-inner.parent_content .reservation-group{
        text-align: left;
    }

    .reservation_section .note{
        padding-left: 1em;
    }

    .ship-room-content-inner.parent_content .detail-link.reservation-link {
        width: 90%;
        justify-content: center;
        height: 60px;
        padding: 19px 0 23px 50px;
        margin-bottom: 1rem;
    }

    .internet-link, .tel-link, .travel-link {
        background-position: 3rem center;
    }

    .ship-room-content-inner.parent_content .reservation-other-link {
        width: 90%;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .reservation_section .reservation-links{
        margin-bottom: 0;
        padding-top: 20px;
    }

    .reservation_section .reservation-other-links{
        width: 90%;
    }

    #entry .entry-content.ship-room-content .ship-room-content-inner.parent_content {
        margin-top: 2em;
        margin-bottom: 3em;
    }

    /* インターネット */
    .main_content .ship-room-content-inner {
        width: 95%;
    }

    .company-list section.reservation_section {
        width: 100%;
    }

    .company-list .reservation_section ._has-frame{
        padding: 1rem 1.5rem;
        margin-bottom: 1em;
    }

    .chapter_title{
        margin-top: 1rem;
    }

    ._has-frame .payment_way li {
        width: 100%;
    }

    .company-list .reservation_section table {
        width: 100%;
        font-size: 1.5rem;
    }

    .reservation_section ._has-frame  th, .reservation_section ._has-frame  td{
        height: 5em;
        font-size: 1.5rem;
    }

    .reservation_section ._has-frame .list-style li, .reservation_section ._has-frame th {
        letter-spacing: 0;
        font-size: 1.5rem;
    }

    ._has-frame.last_has-frame,
    p.last_has-frame,
    .company-list {
        margin-bottom: 22% !important;
    }

    .list-style li {
        font-size: 1.5rem !important;
        line-height: 2.7rem;
    }

    .company-list {
        font-size: 1.5rem !important;
    }


    /* 窓口・電話 */
    .reservation_section .payment_way_tel .link{
        width: 100%;
    }

    /* 旅行会社 */
    #e-ticket{
        width: 100%;
        height: auto;
    }

    table.refund-fee td {
        padding: 0.7em 5%;
    }

    table.refund-fee td:first-child {
        padding: 0.7em 0;
        font-size: 0.9em;
        letter-spacing: 0;
    }

    .br-sp{
        display: block;
    }

    /* はじめてのお客様へ */
    .ship-room-content-inner.parent_content .children-cont .info_title, .children-cont section.reservation_section {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .entry-content.ship-room-content {
        width: 95%;
    }

    .ship-room-content-inner.parent_content .reservation_section .box {
        width: 100%;
        margin-bottom: 1em;
    }

    .ship-room-content-inner.parent_content .reservation_section .box.second-box {
        margin-bottom: 0;
    }

    .ship-room-content-inner.parent_content .stroke-area {
        width: 90%;
        padding-left: 0;
        margin-left: auto;
    }

    .ship-room-content-inner.parent_content .reservation_section ._has-frame {
        padding: 1rem 1.5rem;
    }

    .sec-reservation ._has-frame .comments {
        margin: 0 0 2em 0;
        padding-left: 1em;
        /* text-indent: -1em; */
    }

    .ship-room-content-inner.parent_content .stroke-area {
        background: url(/cms/wp-content/themes/godios-child/images/first/ico_flow03_rp.png) repeat-y;
    }

    .ship-room-content-inner.parent_content .stroke-area:before, .ship-room-content-inner.parent_content .stroke-area:after {
        left: -12px;
    }

    ._has-frame .ship_introduction li {
        width: 100%;
        margin-bottom: 1em;
    }

    ._has-frame .reservation-links {
        margin-bottom: 1em;
    }

    .arrow{
        width: 31px !important;
    }

    .reservation_section.sec-jump .box .arrow{
        left: 43%;
    }

    .reservation_section.sec-reservation .box:first-child{
        margin-right: auto;
        margin-left: auto;
    }

    .ship-room-content-inner.parent_content .stroke-area:after{
        bottom: -7px;
        left: 0px;
    }

    .reservation_section.sec-jump .box:nth-child(2)::after {
        content: "";
        display: block;
        position: absolute;
        top: 82px;
        left: -19.9%;
        width: 31px;
        height: 10px;
        background: url(/cms/wp-content/themes/godios-child/images/first/ico_flow03_tp.png) no-repeat;
        transform: scaleY(24.5);
    }

    h1.c-icon-title-b.c-icon-title.c-icon-title-9D942E.info_title + p {
        width: 95%;
        margin: 0 auto;
    }

    .reservation_section.sec-reservation ._has-frame p .red-txt {
        letter-spacing: 0;
    }


    /* お支払い方法 */
    #company-payment .detail-link.company-link {
        width: 72%;
    }

    .ship-room-content-inner.parent_content .company-links {
        text-align: center;
    }

    /* 窓口購入 */
    .reservation_section.sec-payment .section_title{
        margin-top: 0;
    }

    .section_title span {
        margin-bottom: 0.6em;
    }

    .section_title span.icon-wrap {
        margin-bottom: 0;
    }

    .refund-way:last-child{
        margin-bottom: 5em;
    }

    /* コンビニ支払い */
    .reservation_section.sec-payment img{
        width: 100%;
    }

    #conveniencestore{
        width: 100%;
        height: auto;
    }

    /* 銀行ATM */
    span.icon-wrap div img {
        margin-top: 0;
    }

    span.icon-wrap div img {
        margin-top: 0;
    }

    span.icon-wrap div:nth-child(2) {
        margin-top: 0.3em;
    }

    /* クレジットカード */
    #card-img01{
        width: 100%;
        height: auto;
    }

    .card-image .box-style {
        max-width: 100%;
        width: 100%;
    }

    .reservation_section.sec-cancel .section_title{
        margin-top: 0;
    }

    .reservation_section.sec-cancel{
        margin-bottom: 2em;
    }

    .reservation_section.sec-cancel:last-child{
        margin-bottom: 5em;
    }

    .reservation_section.sec-cancel .card-image{
        margin: 1em 0;
    }

    /* お問い合わせ */
    .post-1087.status-publish{
        margin-top: 0;
    }

    .post-1087.status-publish h1.info_title{
        margin-top: 3em;
        width: 94%;
    }

    .room-container .faq-list h3:before, .room-container .faq-answer:before{
        padding-left: 0;
    }

    .room-container .faq-list h3 {
        padding-left: 36px;
        text-indent: -28px;
    }

    .faq-list .faq-answer {
        margin-bottom: 10%;
        text-indent: -19px;
        padding: 0 0 3% 24px;
    }

    .ship-room-content-inner.parent_content .car_contact_list li, .ship-room-content-inner.parent_content .terminal_contact_list li, .ship-room-content-inner.parent_content .trac_contact_list li{
        width: 100%;
        margin: 0.3em auto;
        padding: 0 2% 0 1%;
    }

    .sec-car .chapter_title h2, .sec-trac .chapter_title h2 {
        line-height: 1.6em;
    }

    .sec-car .car_contact_list, .sec-car .terminal_contact_list, .sec-trac .trac_contact_list{
        width: 90%;
    }

    .sec-car .chapter_title, .sec-trac .chapter_title {
        margin-bottom: 1em;
    }

    .sec-faq .chapter_title p.link, .sec-car .chapter_title p.link, .sec-trac .chapter_title p.link {
        position: static;
        margin: 0;
        padding-top: 1em;
        padding-left: 25px;
    }

    .link_to_terminal .chapter_title .link:after, .sec-faq .chapter_title .link:after, .sec-car .chapter_title .link:after, .sec-trac .chapter_title .link:after {
        top: auto;
        bottom: 15px;
        left: 27px;
    }

    .link_to_terminal .chapter_title .link:before, .sec-faq .chapter_title .link:before, .sec-car .chapter_title .link:before, .sec-trac .chapter_title .link:before {
        top: auto;
        bottom: 10px;
        left: 20px;
    }


    /* よくあるお問い合わせ */
    .ship-room-menu .main_content .ship-room-content-inner{
        width: 80%;
        margin-bottom: 5em;
    }

    #top-keyword-search .detail-link.faq-search-btn {
        padding: 0.8rem 1rem 1rem;
    }

    .category-search-list {
        justify-content: center;
        -webkit-justify-content: center;
    }

    /* 旅客・乗用車に関するお問い合わせ */
    .br-pc_sp{
        display: inline;
    }

    /* .ship-room-menu-inner .detail-link.list-page-link {
        height: 5em;
        padding: 1.1em 0.5em;
        text-align: left;
    } */

    .company-list .sec .bg-color {
        padding: 1.5em 1em;
    }

    section.sec-reserve-car .sec table th, section.sec-reserve-car .sec table td {
        width: 100%;
        display: block;
    }

    section.sec-reserve-car .sec table td {
        border-top: none;
        border-bottom: none;
    }

    section.sec-reserve-car .sec table {
        border-bottom: solid 1px #CCC;
    }

    .sec .left-parts {
        width: 100%;
    }

    .sec .right-parts{
        width: 100%;
        margin-top: 5%;
    }

    .sec .bg-color{
        padding: 1.5em 1em;
    }

    .company-list .sec .bg-color dd, .company-list .sec .bg-color dt {
        width: 100%;
        padding: 0;
    }

    .link_to_terminal ul a li{
        width: 100%;
    }

    section.link_to_terminal ul {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    /* トラックに関するお問い合わせ先 */
    .sec table.tbl-style th {
        padding: 8px 3%;
    }

    .section_title {
        font-size: 1.7rem;
        line-height: 2.6rem;
    }

    /* 会社案内 */
    #company-guide .detail-link.company-link, #company-guide #recruit-privacy-link {
        width: 72%;
        text-align: left;
    }

    #company-guide .detail-link.company-link {
        padding: 22px 5%;
        height: 69px;
    }

    #company-guide #group-shk-link, #company-guide #recruit-privacy-link{
        height: 89px;
        padding: 20px 5%;
    }

    /* 会社概要 */
    .ship-room-content-inner .company-list dt, .ship-room-content-inner .company-list dd {
        width: 100%;
        padding: 0;
    }

    .company-list .list {
        flex-direction: column;
    }

    /* 会社沿革 */
    .company-list._spc02 dt, .company-list._spc02 dd{
        width: 100%;
    }

    /* 採用情報 */
    .recruit-list {
        width: 100%;
        margin-bottom: 11%;
    }

    label.tab-label {
        padding: 1rem 17%;
    }

    .recruit-detail {
        flex-direction: column;
    }

    label.tab-label {
        padding: 1.5rem 3%;
        width: calc( 50% - 3px );
        min-width: 48%;
        max-width: 50%;
    }

    .recruit_image, .recruit_txt, .recruit-note {
        width: 100%;
    }

    .recruit-sub_content {
        width: 100%;
        padding: 0;
    }

    .recruit-note-detail {
        flex-direction: column;
        margin-bottom: 5%;
    }

    .recruit-note-txt {
        width: 100%;
        padding-top: 2%;
    }

    .privacy-link .detail-link {
        margin-bottom: 20%;
        padding: 1.5% 0 2%;
    }

    .c-title {
        margin: 3em 0 1em;
    }

    .recruit-note-detail h3 {
        padding: 1.5% 1%;
    }

    .privacy-link {
        width: 90%;
    }

    .recruit-note-txt img {
        width: 100%;
        height: auto;
    }

    /* 採用選考、入社手続きに関する個人情報の取り扱いについて */
    .company-list .head_sentence, .company-list .sentence_box p {
        line-height: 1.6;
        font-size: 1.5rem !important;
    }

    .sentence_box h2 {
        font-size: 1.7rem !important;
    }

    .sentence_box ul,
    .end_phrase {
        font-size: 1.5rem;
    }

    /* グループ会社 */
    h1.c-icon-title-b.c-icon-title.c-icon-title-9D942E.info_title {
        line-height: 1.4em;
        font-size: 2rem;
    }

    img.alignnone.size-full.wp-image-749.shk_logo {
        width: 40%;
    }

    .group-list .wrap {
        flex-direction: column;
    }

    .company-list .group-list dt, .company-list .group-list dl, .company-list .group-list dd {
        margin-left: auto;
        margin-right: auto;
    }

    /* 英語　詳細ページ */
    #en-slider {
        margin: 7em auto 1em;
        width: 100%;
    }

    .metaslider .theme-default .nivo-caption{
        top: 2%;
        font-size: 2rem;
    }

    .en-route {
        flex-wrap: nowrap;
        flex-direction: column;
        width: 70%;
    }

    .en-reservation-title {
        width: 80%;
    }

    .en-route a {
        width: 100%;
    }

    .en-route-pdf.en-route-maizuru, .en-route-pdf.en-route-tsuruga, .en-route-pdf.en-route-niigata {
        padding-top: 12%;
    }

    .top-content.en-content h1 {
        width: 80%;
        margin: 0 auto 5em;
        padding-left: 0;
    }

    .en-route-detail {
        width: 20vw;
        height: 17vw;
        letter-spacing: 0.03em;
    }

    .route-link.en-route-link {
        margin-left: 4%;
    }

    .en-route-detail.maizuru {
        left: 21.5%;
        bottom: -54%;
        padding: 6% 1.5% !important;
    }

    .en-route-detail.tsuruga {
        left: 25%;
        bottom: -62.5%;
        padding: 5.5% 1.7% !important;
    }

    .en-route-detail.niigata {
        left: 25%;
        bottom: -44%;
        padding: 5.5% 2.5% !important;
    }

    .en-route-detail.akita {
        left: 13.5%;
        bottom: -29.5%;
        padding: 6% 3.9% !important;
    }

    .en-route-detail.otaru {
        left: -20%;
        bottom: -7%;
        padding: 5.5% 3.6% !important;
    }

    .en-route-detail.tomakomai-east {
        left: -15%;
        bottom: -9%;
        padding: 6% 0.9% !important;
        width: 22vw;
        height: 21vw;
    }

    figcaption.sea-route {
        margin-left: -7%;
    }

    .entry-top-page.entry-top.no-img{
        height: 0;
    }

    input.block-center.text-align-center.mt-1 {
        width: 80%;
        margin: 0 auto;
    }

    /* 英語　予約ページ */
    .en-route-pdf.en-route-maizuru, .en-route-pdf.en-route-tsuruga,  .en-route-pdf.en-route-niigata {
        padding-top: 13%;
    }

    .reservation_section .en-route{
        width: 85%;
    }

    .form.reservation{
        width: 100%;
        margin: 0 auto;
    }

    .reservation-en li {
        margin-bottom: 5%;
    }

    img.plus-button, img.minus-button {
        width: 100% !important;
    }

    .item_reservation .red{
        margin-top: -3px;
    }

    .top-content.en-content.reservation h1{
        padding-left: 2.5%;
        width: 100%;
        margin: 5em auto 1em;
        word-break: break-all;
    }

    #terms {
        width: 100%;
    }

    br + span.req {
        margin-top: -1em;
    }


    /* サイトマップ */
    .child-link-list {
        width: 100%;
    }

    .entry-top-page.entry-top.ship-room {
        margin-top: 2em;
    }

    .page-container .parent_page {
        padding-left: 2.8em;
        text-indent: -2.1em;
        line-height: 1.4em;
        font-size: 1.7rem;
    }

    .page-container .parent_page:after{
        top: 6.5px;
        left: 17px;
    }

    .child-link-detail {
        padding-left: 2.5em;
        text-indent: -0.6em;
        font-size: 1.5rem;
    }

    .grandchild-link{
        line-height: 1.6em;
        margin-bottom: 4%;
    }

    .grandchild-link-detail:before {
        position: absolute;
        left: 0.5em;
        top: 0;
    }

    .grandchild-link-detail {
        position: relative;
        padding-left: 1.5em;
        text-indent: -0.5em;
        font-size: 1.5rem;
    }

    /* 安全運航の取り組み */
    section.sec.safety_section{
        width: 80%;
        margin: 0 auto;
    }

    .safety_section section.inner-sec, .safety_section ul.list-circle, .sec.safety_section .notes {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        font-size: 1.5rem;
    }

    .safety_section .img-box .box {
        margin-right: 0;
    }

    .safety_section .img-box {
        flex-direction: column;
    }

    #safety_img03{
        width: 100%;
    }

    .safety_section .section_title {
        font-size: 1.5rem;
    }

    /* 運送約款 */
    #yakkan-link1, #yakkan-link2, #yakkan-link3, #yakkan-link4 {
        width: 72%;
    }

    .status-publish .entry-content.ship-room-content {
        width: 100%;
    }

    .company-links .detail-link.company-link{
        margin-left: 0;
        margin-right: 0;
        padding: 23px 5%;
        text-align: left;
        font-size: 1.2em;
    }

    .b_inline._prev-ttl .inner-sec{
        padding-left: 0;
    }

    .b_inline._prev-ttl{
        margin-bottom: 5em;
    }

    .inner-sec p:not(:first-child){
        font-size: 1em !important;
    }

    /* 個人情報の取り扱いについて */
    section.section.privacy_section {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    h2.ttl-style02.chapter_title {
        padding: 10px 5px;
        font-size: 1.7rem;
    }

    /* 船上から見える景色 */
    .searoute-view-list .route-link {
        margin-left: 12%;
        margin-bottom: 8%;
    }

    .searoute-view-list {
        margin: 60% auto 13%;
    }

    .searoute-view-list img {
        width: 100%;
    }

    .view-detail img {
        border-radius: 25px;
        width: 50px !important;
        height: 50px;
        background-color: white;
        padding: 1px;
        box-shadow: 1px 1px 2px -1px grey;
    }

    .view-detail p {
        font-size: 1rem;
        bottom: 40px;
        left: 60px;
        text-align: center;
        padding: 2px;
        box-shadow: 1px 1px 2px -1px grey;
    }

    .view-place.syakotan {
        bottom: 268px;
        left: 99px;
        width: 180px;
    }

    .view-place.syakotan p {
        left: 0;
        bottom: 77px;
    }

    .view-place.syakotan:after {
        border-width: 3px 120px 0px 1px;
        top: 79px;
        left: 23%;
        transform: rotate(120deg);
    }

    .view-place.kamui {
        bottom: 320px;
        left: 20px;
        width: 178px;
    }

    .view-place.kamui p {
        right: 0;
        left: 0;
        bottom: 77px;
    }

    .view-place.kamui:after {
        border-width: 3px 154px 0px 1px;
        top: 100px;
        left: 34%;
        transform: rotate(88deg);
    }

    .view-place.motta {
        bottom: 304px;
        left: -22px;
        width: 158px;
    }

    .view-place.motta:after {
        border-width: 3px 165px 0px 1px;
        top: 100px;
        left: 39%;
        transform: rotate(69deg);
    }

    .view-place.motta p {
        right: 0;
        left: -60px;
    }

    .view-place.okusiriitou {
        bottom: 252px;
        left: -41px;
        width: 150px;
    }

    .view-place.okusiriitou p {
        right: 0;
        left: -57px;
    }

    .view-place.okusiriitou:after {
        border-width: 3px 128px 0px 1px;
        top: 79px;
        left: 62%;
        transform: rotate(54deg);
    }

    .view-place.oshima {
        bottom: 155px;
        left: -90px;
        width: 130px;
    }

    .view-place.oshima p {
        width: auto;
        left: 54px;
    }

    .view-place.oshima:after {
        border-width: 3px 134px 0px 1px;
        top: 29px;
        left: 79%;
        transform: rotate(11deg);
    }

    .view-place.esan {
        bottom: 200px;
        left: -40px;
        width: 150px;
    }

    .view-place.esan p {
        left: -57px;
    }

    .view-place.esan:after {
        border-width: 3px 106px 0px 1px;
        top: 49px;
        right: -34%;
        transform: rotate(36deg);
    }

    .view-place.tappimisaki {
        bottom: 107px;
        left: -85px;
        width: 150px;
    }

    .view-place.tappimisaki p {
        left: 57px;
    }

    .view-place.tappimisaki:after {
        border-width: 3px 109px 0px 1px;
        top: 20px;
        right: -57%;
        transform: rotate(-8deg);
    }

    .view-place.omasaki {
        bottom: 91px;
        left: 94px;
        width: 160px;
    }

    .view-place.omasaki p {
        left: 0;
        bottom: 8px;
    }

    .view-place.omasaki:after {
        border-width: 3px 60px 0px 1px;
        bottom: -12px;
        transform: rotate(-151deg);
        right: 23%;
    }

    .view-place.ogahantou {
        bottom: -5px;
        left: -30px;
        width: 184px;
    }

    .view-place.ogahantou p {
        right: 0;
    }

    .view-place.ogahantou:after {
        border-width: 3px 101px 0px 1px;
        bottom: 38px;
        left: 55%;
        transform: rotate(-75deg);
    }

    .view-image img {
        max-width: 100%;
        width: 100%;
        height: auto;
        margin-bottom: 1em;
    }

    .main-scene-image {
        padding-right: 0;
    }

    #syakotan .view-image img, #syakotan .view-image .main-scene-image {
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    .info-box.view-route-box{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 1em 0;
    }

    .view-route {
        margin-bottom: 2em;
    }

    .transit-time {
        width: 50%;
    }

    .transit-time-detail {
        width: calc(50% - 3px);
    }

/* レストラン */
#restaurant-tabs .tab-label.restaurant-label {
    flex-basis: calc(50% - 5px);
    position: relative;
    max-width: calc(50% - 5px);
    font-size: 1.3rem;
}

#restaurant-tabs .tab-label.restaurant-label:nth-of-type(2n) {
    margin-right: 0;
}


    /* グリル詳細 */
.tab-label.restaurant-label {
    max-width: 100%;
}

/* ムービーギャラリー */
.snf_movie_play iframe {
    max-height: 178px;
}

.snf_movie_catch {
    max-height: 178px;
}

/* モデルコース */
#top .model-course-inner > .model_area{
    width: 50%;
}

/* 乗り場・アクセス詳細 */
.opentab-label {
    padding: 10px 0;
}

.opentime-title p {
    height: 30px;
    padding-top: 8px;
}

.opentime-title p:first-child {
    height: 84px;
    padding-top: 36px;
}

.opentime-title {
    width: 8rem;
}

.opentime-list {
    width: calc(100% - 8rem);
}

.opentab-label{
    width: calc((100% - 24px) / 4);
}

.opentime-title p:last-child {
    height: 40px;
    line-height: 1.4em;
    padding-top: 2px;
}

.opentime-time li:last-child {
    padding-top: 12px;
}

/* 
#TAB-opentime0:checked+.opentab-label~#opentime-contents0,
#TAB-opentime1:checked+.opentab-label~#opentime-contents1,
#TAB-opentime2:checked+.opentab-label~#opentime-contents2,
#TAB-opentime3:checked+.opentab-label~#opentime-contents3,
#TAB-opentime4:checked+.opentab-label~#opentime-contents4,
#TAB-opentime5:checked+.opentab-label~#opentime-contents5,
#TAB-opentime6:checked+.opentab-label~#opentime-contents6 {
    height: 71px;
} */
.openweek0:checked+.opentab-label~.openweek0, 
.openweek1:checked+.opentab-label~.openweek1, 
.openweek2:checked+.opentab-label~.openweek2, 
.openweek3:checked+.opentab-label~.openweek3, 
.openweek4:checked+.opentab-label~.openweek4, 
.openweek5:checked+.opentab-label~.openweek5, 
.openweek6:checked+.opentab-label~.openweek6{
    height: 71px;
}

.opentime-tabwrap {
    margin-top: 16px;
}

.opentime-time li:first-child{
    padding-bottom: 7px;
    padding-bottom: 6px;
}

/* 時刻表・運行スケジュール */
.flight-time span:nth-child(2n) {
    transform: rotate(90deg);
    margin-top: 0;
    margin-bottom: 0;
}

.flight-time span:nth-child(2){
    transform: rotate(90deg);
    margin-top: 0;
}

.time-table-list label.tab-label{
    width: 100%;
    max-width: 100%;
    min-width: auto;
}

}

/* モデルコース */
@media (max-width: 670px){
    #top .model-course-inner > .model_area {
        width: 40% !important;
    }

.info-image.model-image {
    height: 117px !important;
}
}

@media (max-width: 375px){
.info-image.model-image {
    height: 104px !important;
}
}

@media (max-width: 320px){
.info-image.model-image {
    height: 89px !important;
}
}

@media all and (max-width:400px){
    /* 会社案内 */
#company-guide #recruit-privacy-link{
    height: 99px;
    padding: 13px 5%;
}
}

@media all and (min-width:670px){
.ship-room-content-inner.parent_content .reservation-group{
    text-align: center;
}

.br-sp{
    display: none;
}

}

@media all and (max-width:400px){
.route-link.en-route-link {
    margin-left: 2%;
}

.en-route-detail {
    width: 17vw;
    height: 17vw;
}

.en-route-detail.maizuru {
    left: 23.5%;
    bottom: -60%;
    padding: 5.5% 0.7% !important;
}

.en-route-detail.tsuruga {
    left: 30%;
    bottom: -62.5%;
    padding: 5.5% 0.7% !important;
}

.en-route-detail.niigata {
    left: 28%;
    bottom: -43%;
    padding: 5% 1.7% !important;
}

.en-route-detail.akita {
    left: 15.5%;
    bottom: -28.5%;
    padding: 5.5% 3.2% !important;
}

.en-route-detail.otaru {
    left: -13%;
    bottom: -4%;
    padding: 5.5% 2.8% !important;
}

.en-route-detail.tomakomai-east {
    left: -12%;
    bottom: -7%;
    padding: 6% 0.8% !important;
    width: 23vw;
    height: 23vw;
}

/* 船上から見える景色 */
.searoute-view-list .route-link {
    margin-left: 9%;
    margin-bottom: 6%;
}
}

@media all and (max-width:350px){
    .metaslider .theme-default .nivo-caption{
        font-size: 1.7rem;
    }
    }

@media all and (max-width:340px){
.route-link.en-route-link {
    margin-left: 0;
}

.en-route-detail.maizuru {
    left: 21.5%;
    bottom: -54%;
    padding: 6% 1% !important;
    width: 80px;
    height: 17%;
}

.en-route-detail.tsuruga {
    left: 25%;
    bottom: -62.5%;
    padding: 6% 1% !important;
    width: 80px;
    height: 17%;
}

.en-route-detail.niigata {
    left: 23%;
    bottom: -47%;
    padding: 5% 0.5% !important;
}

.en-route-detail.akita {
    left: 12.5%;
    bottom: -28.5%;
    padding: 5% 2% !important;
}

.en-route-detail.otaru {
    left: -15%;
    bottom: -6%;
    padding: 4.5% 2% !important;
}

.en-route-detail.tomakomai-east {
    left: -10%;
    bottom: -7%;
    padding: 8% 1% !important;
    width: 85px;
    height: 85px;
}

/* 船上から見える景色 */
.searoute-view-list .route-link {
    margin-left: 0;
    margin-bottom: 0;
}

.searoute-view-list {
    margin: 80% auto 33%;
}

}

/*Bootstrap風*/
.overflow-y-auto {
    overflow-y: auto;
}

.d-flex {
    display: flex;
    /*TODO vender option*/
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

div#btn-control-box {
    display: none;
    padding-left: 2%;
}

div#btn-control-box #down{
    bottom: 0;
    position: absolute;
}

div#btn-control-box #up,
div#btn-control-box #down {
    padding: 1px 2px;
    font-size: 1.7rem;
    background-color: #7495BB;
    color: white;
}