@charset "UTF-8";
/*===============================================
●mian.css 画面の横幅が641px以上
===============================================*/
@media screen and (min-width: 641px) {
    #contents {
        width: 100%;
        min-width: 1080px;
        overflow: hidden;
        float: left;
        clear: both;
        font-size: 14px;
        line-height: 27px;
        color: #000;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        position: relative;
        background-color: #fff;
    }

    #contents .font_asap {
        font-family: 'Asap', sans-serif;
        font-weight: 600;
    }

    #contents img {
        display: block;
    }

    #contents a, #contents a:link, #contents a:visited {
        color: inherit;
        text-decoration: none;
        display: block;
    }

    a:hover img {
        opacity: 0.7;
        -moz-opacity: 0.7;
        filter: alpha(opacity=70);
    }

    #contents ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #contents .auto {
        width: 1080px;
        margin: 0 auto;
    }

    #contents p, #contents h2, #contents h3, #contents h4, #contents h5 {
        margin: 0;
        padding: 0;
        border: 0;
        font-style: normal;
        font-weight: normal;
        vertical-align: baseline;
        list-style-type: none;
    }

    #contents figure {
        margin: 0;
    }

    #contents .pc_none {
        display: none !important;
    }

    #contents .btn {
        margin: 0 auto;
    }

    #contents .btn a {
        width: 100%;
        display: block;
        border-radius: 10px;
        background-color: #389fc9;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.3;
        color: #fff;
        text-align: center;
        transition-duration: .3s;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        border: 2px solid #389fc9;
        padding: 12px 0 10px;
    }

    #contents .btn a:hover {
        background-color: #fff;
        color: #389fc9;
    }

    #contents .title_wrapper {
        width: 100%;
        position: relative;
    }

    #contents .title_wrapper .title_box {
        padding-top: 74px;
        text-align: center;
        margin-bottom: 58px;
    }

    #contents .title_wrapper .title_box .illust {
        width: 169px;
        margin: 0 auto 6px;
    }

    #contents .title_wrapper .title_box h3 {
        display: inline;
        font-size: 44px;
        font-weight: bold;
        color: #00b7ee;
        line-height: 1.55;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, #fff799 40%, #fff799 100%);
    }

    #contents .title_wrapper .sub_text {
        text-align: center;
        font-size: 20px;
        line-height: 41px;
    }

    #contents section {
        width: 100%;
        float: left;
        clear: both;
        position: relative;
    }

    #contents .bxslider {
        width: 100%;
        height: 39vw;
        float: left;
        clear: both;
    }

    #contents .bxslider .slide {
        width: 100%;
        height: 39vw;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    #contents .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 7px;
    }

    #contents .swiper-pagination-bullet{
        width: 12px;
        height: 12px;
    }

    #contents .bxslider .slide_01 {
        background-image: url("../img/slider_01.jpg");
    }

    #contents .bxslider .slide_02 {
        background-image: url("../img/slider_02.jpg");
    }

    #contents .bxslider .slide_03 {
        background-image: url("../img/slider_03.jpg");
    }

    #contents .bxslider .slide_04 {
        background-image: url("../img/slider_04.jpg");
    }

    #contents .bxslider .slide_05 {
        background-image: url("../img/slider_05.jpg");
    }

    #contents .bxslider .slide_06 {
        background-image: url("../img/slider_06.jpg");
    }

    #contents #inpage_link {
        width: 100%;
        float: left;
        clear: both;
        text-align: center;
    }

    #contents #inpage_link ul {
        width: 100%;
        font-size: 0;
        line-height: 0;
    }

    #contents #inpage_link ul li {
        width: calc(100% / 4);
        display: inline-block;
        border-bottom: 2px solid #dbdbdb;
    }

    #contents #inpage_link ul li.mini {
        width: calc(100% / 5);
    }

    #contents #inpage_link ul li a {
        width: 100%;
        display: table;
        box-sizing: border-box;
        vertical-align: middle;
        font-size: 20px;
        font-weight: bold;
        line-height: 26px;
        padding: 22px 0 28px;
        border-top: 10px solid #fff;
        transition-duration: .3s;
        background-image: url("../img/ptn_01.png");
        background-repeat: no-repeat;
        background-position: right 12px;
        background-size: 4px;
    }

    #contents #inpage_link ul li.mini a {
        min-height: 109px;
        font-size: 16px;
        line-height: 23px;
        padding: 27px 0 26px;
    }

    #contents #inpage_link ul li a .inner {
        display: table-cell;
        vertical-align: middle;
    }

    #contents #inpage_link ul li.bg_none a {
        background: none;
    }

    #contents #inpage_link ul li a:hover {
        border-top: 10px solid #5ac4e9;
    }

    #contents #inpage_link ul li a .small {
        font-size: 15px;
        font-weight: bold;
    }

    #contents #present_conts {
        background-image: url("../img/ptn_03.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 22px;
        padding-top: 110px;
        padding-bottom: 94px;
    }

    #contents #present_conts .title_wrapper {
        width: 100%;
        background-image: url("../img/bg_img_01_pc.png");
        background-repeat: no-repeat;
        background-position: center 65px;
        background-size: 100%;
        padding-bottom: 39px;
    }

    #contents #present_conts .title_border {
        width: 960px;
        padding: 32px 0 38px;
        margin: 0 auto 28px;
        text-align: center;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        color: #fff;
        font-weight: bold;
        z-index: 9;
    }

    #contents #present_conts .title_border::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-image: url("../img/ptn_02.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 8px;
        position: absolute;
        top: 0px;
        left: 4px;
        z-index: -1;
    }

    #contents #present_conts .title_border::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(90, 196, 233, 0.6);
        border: 10px solid #fff;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        top: -10px;
        left: -10px;
        z-index: -1;
    }

    #contents #present_conts .title_border .eng {
        width: 150px;
        position: absolute;
        top: -10px;
        left: -10px;
        background-color: #389fc9;
        font-size: 21px;
        line-height: 1.4;
        letter-spacing: .15em;
        padding: 15px 0 14px;
    }

    #contents #present_conts .title_border p.small {
        font-size: 24px;
        font-weight: bold;
        line-height: 1.3;
    }

    #contents #present_conts .title_border p:last-of-type {
        font-size: 22px;
    }

    #contents #present_conts .title_border h3 {
        display: inline-block;
        font-size: 50px;
        font-weight: bold;
        line-height: 1.1;
        letter-spacing: -.02em;
        padding: 14px 0 14px;
        border-top: 3px solid #fff;
        border-bottom: 3px solid #fff;
        margin-top: 11px;
        margin-bottom: 14px;
    }

    #contents #present_conts .sub_text {
        line-height: 40px;
        color: #fff;
        text-align: center;
    }

    #contents #present_conts .bg_box {
        width: 100%;
        padding: 40px 54px 41px;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        background-color: #fff;
    }

    #contents #present_conts .bg_box h4 {
        font-size: 24px;
        line-height: 1.3;
        font-weight: bold;
        color: #389fc9;
        text-align: center;
        margin-bottom: 27px;
    }

    #contents #present_conts .bg_box .step_list {
        width: 100%;
        font-size: 0;
        line-height: 0;
        text-align: center;
        position: relative;
        z-index: 9;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 77px;
    }

    #contents #present_conts .bg_box .step_list::before {
        content: "";
        display: block;
        width: 100%;
        height: calc(100% - 30px);
        background-image: url("../img/ptn_02.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 8px;
        position: absolute;
        bottom: -25px;
        left: 0;
        z-index: -1;
    }

    #contents #present_conts .bg_box .step_list li {
        display: inline-block;
        vertical-align: top;
        width: 221px;
        font-size: 15px;
        line-height: 24px;
        margin: 0 5px;
        border: 2px solid #389fc9;
        padding-bottom: 7px;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        background-color: #fff;
        position: relative;
    }

    #contents #present_conts .bg_box .step_list li::after {
        content: "";
        display: block;
        width: 26px;
        height: 39px;
        background-image: url("../img/parts_03.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        position: absolute;
        right: -21px;
        top: 50%;
        margin-top: -20px;
        z-index: 9;
    }

    #contents #present_conts .bg_box .step_list li:last-of-type::after {
        display: none;
    }

    #contents #present_conts .bg_box .step_list li .step {
        width: 100%;
        background-color: #389fc9;
        color: #fff;
        font-size: 20px;
        line-height: 1.2;
        padding: 1px 0;
    }

    #contents #present_conts .bg_box .step_list li .step .big {
        color: #fff;
        font-size: 34px;
    }

    #contents #present_conts .bg_box .step_list li .img {
        width: 100%;
        margin: 0 auto 9px;
    }

    #contents #present_conts .bg_box .step_list li .text {
        width: 100%;
        text-align: left;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 18px 10px;
    }

    #contents #present_conts .bg_box table {
        width: 100%;
        border-collapse: collapse;
        font-size: 16px;
        line-height: 27px;
        margin-bottom: 60px;
    }

    #contents #present_conts .bg_box table th {
        width: 220px;
        background-color: #389fc9;
        font-size: 18px;
        padding: 17px 20px 16px;
        box-sizing: border-box;
        color: #fff;
        text-align: center;
        border: 1px solid #389fc9;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        vertical-align: top;
    }

    #contents #present_conts .bg_box table tr:first-of-type th {
        border-top: 1px solid #389fc9;
    }

    #contents #present_conts .bg_box table tr:last-of-type th {
        border-bottom: 1px solid #389fc9;
    }

    #contents #present_conts .bg_box table td {
        border: 1px solid #389fc9;
        padding: 18px 40px 18px 26px;
    }

    #contents #present_conts .bg_box table td a {
        display: inline-block;
        text-decoration: underline;
    }

    #contents #present_conts .bg_box table td a:hover {
        text-decoration: none;
    }

    #contents #present_conts .bg_box table td .red {
        color: #f7131e;
    }

    #contents #present_conts .bg_box table td li {
        text-indent: -1em;
        padding-left: 1em;
    }

    .apply_box *, .apply_box *:before, .apply_box *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .apply_box {
        position: relative;
    }
    .apply_box label {
        position: absolute;
        z-index: 1;
        bottom: 0;
        width: 100%;
        height: 140px;
        cursor: pointer;
        text-align: center;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    }
    .apply_box input:checked + label {
        background: inherit;
    }
    .apply_box label:after {
        line-height: 2.5rem;
        position: absolute;
        z-index: 2;
        bottom: 20px;
        left: 50%;
        width: 16rem;
        content: '';
        transform: translate(-50%, 0);
        letter-spacing: 0.05em;
        color: #ffffff;
        border-radius: 20px;
        background-color: #807570;
    }
    .apply_box input {
        display: none;
    }

    .bg_box label span {
        display: inline-block;
        width: 532px;
        font-size: 20px;
        line-height: 1.4;
        font-weight: bold;
        color: #fff;
        border-radius: 100px;
        border: 2px solid #ec6941;
        padding: 25px 0 24px;
        background-color: #ec6941;
        background-image: url("../img/icon_19_open.png");
        background-repeat: no-repeat;
        background-position: right 33px center;
        background-size: 22px;
        transition-duration: .3s;
        position: absolute;
        left: 0;
        right: 0;
        top: 40px;
        margin: auto;
    }

    .apply_box input:checked + label span {
        background-image: url("../img/icon_19_close.png");
    }
    .bg_box label span:hover {
        background-color: #fff;
        color: #ec6941;
        background-image: url("../img/icon_19_open_on.png");
    }

    .apply_box input:checked + label span:hover {
        background-image: url("../img/icon_19_close_on.png");
    }


    .apply_box .table_wrapper {
        overflow: hidden;
        height: 300px;
        transition: all 0.5s;
    }

    .apply_box input:checked ~ .table_wrapper {
        height: auto;
        padding-bottom: 80px;
        transition: all 0.5s;
    }

    #contents #review_conts {
        display: none;
        padding-top: 33px;
        padding-bottom: 107px;
        background-color: #e6f6fb;
    }

    #contents #review_conts h4 {
        font-size: 32px;
        line-height: 1.3;
        font-weight: bold;
        color: #00b7ee;
        text-align: center;
        margin-bottom: 25px;
    }

    .review-container {
        margin-bottom: 38px;
    }

    .review-container.inactive {
        width: calc((100% - 120px) / 4 * 3 + 90px);
    }

    .review-container.active {
        width: 100%;
    }

    .review-list {
        margin-bottom: 70px;
    }

    .review-list .review-detail {
        background-color: #fff;
        box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08);
        width: calc((100% - 60px) / 3);
        margin-right: 30px;
    }

    .review-list .review-detail:last-of-type {
        margin-right: 0;
    }


    .review-list .review-detail .review-inner {
        margin: 20px 20px 24px;
    }

    #contents .review-detail .img {
        position: relative;
        width: 100%;
        margin: 0 auto 17px;
    }

    #contents .review-detail .img:before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    #contents .review-detail img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        object-fit: cover;
    }

    #contents .review-detail .title {
        font-size: 17px;
        line-height: 1.5;
        font-weight: bold;
        color: #00b7ee;
        margin-bottom: 6px;
    }

    #contents .review-detail .text {
        font-size: 15px;
        line-height: 25px;
        border-bottom: solid 1px #f5f5f5 !important;
        padding-bottom: 4px;
    }

    #contents .review-detail dl {
        font-size: 11px;
        line-height: 1.5;
        padding-left: 17px;
        font-weight: bold;
        background-repeat: no-repeat;
        background-position: left center;
        background-size: 12px;
        margin: 0;
    }

    #contents .review-detail dl.date_a {
        background-image: url("../img/icon_17.png");
        margin: 14px 0 8px;
    }

    #contents .review-detail dl.date_b {
        background-image: url("../img/icon_18.png");
    }

    #contents .review-detail dt,
    #contents .review-detail dd {
        display: inline-block;
        margin: 0 9px 0 0;
    }

    #contents .review-detail .link {
        width: 100%;
        font-size: 12px;
        line-height: 1.5;
        padding-top: 15px;
        text-align: center;
    }

    #contents .review-detail .link a {
        display: inline-block;
        font-weight: bold;
        color: #00b7ee;
        text-decoration: underline;
    }

    .review-button-area {
        text-align: center;
    }

    #contents #review_conts .btn {
        display: inline-block;
        margin-right: 30px;
        width: 305px;
    }

    #contents #review_conts .btn:last-of-type {
        margin-right: 0;
    }

    #contents #review_conts .btn a {
        border-color: #ec6941;
        color: #fff;
        background-color: #ec6941;
    }

    #contents #review_conts .btn a:hover {
        background-color: #fff;
        color: #ec6941;
    }

    #review_conts .swiper-button-prev,
    #review_conts .swiper-button-next {
        width: 78px;
    }

    #review_conts .swiper-button-prev:after,
    #review_conts .swiper-button-next:after{
        height: 78px;
        width: 78px;
        background-size: 78px;
        background-repeat: no-repeat;
        content: ' ';
    }
    #review_conts .swiper-button-next, #review_conts .swiper-button-prev {
    position: absolute;
    top: 21vw;
    }
    #review_conts .swiper-button-prev, #review_conts .swiper-container-rtl #review_conts .swiper-button-next {
    left: 9vw;
    right:auto
}
#review_conts .swiper-button-next, #review_conts .swiper-container-rtl #review_conts .swiper-button-prev {
    right: 9vw;
    left:auto
}

    #review_conts .swiper-button-prev:after{
        background-image: url('../img/icon_20_left.png');
    }

    #review_conts .swiper-button-next:after{
        background-image: url('../img/icon_20_right.png');
    }

    #contents #guide_conts {
        background-image: url("../img/ptn_03.jpg");
        background-repeat: repeat;
        background-position: center center;
        background-size: 22px;
        padding-bottom: 101px;
    }

    #contents #guide_conts .title_box {
        padding-top: 108px;
        margin-bottom: 17px;
    }

    #contents #guide_conts h3 {
        color: #fff;
        background: none;
    }

    #contents #guide_conts .sub_text {
        color: #fff;
        font-size: 20px;
        line-height: 41px;
        margin-bottom: 50px;
    }

    #contents #guide_conts .guide_list {
        width: 878px;
        margin: 0 auto 36px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    #contents #guide_conts .guide_list li {
        width: 424px;
        background-color: #fff;
        margin-bottom: 43px;
    }

    #contents #guide_conts h4 {
        font-size: 44px;
        line-height: 1.3;
        text-align: center;
        margin-bottom: 46px;
    }

    #contents #guide_conts h4 .line {
        font-weight: bold;
        color: #fff;
        display: inline-block;
    }

    #contents #guide_conts h4 .line::before {
        content: "";
        display: block;
        width: 100%;
        height: 4px;
        background-color: #fff;
        margin-bottom: 6px;
    }

    #contents #guide_conts h4 .line::after {
        content: "";
        display: block;
        width: 100%;
        height: 4px;
        background-color: #fff;
        margin-top: 6px;
    }

    #contents #guide_conts .for_customer {
        width: 1080px;
        margin: 0 auto;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    #contents #guide_conts .for_customer li {
        width: 252px;
        background-color: #fff;
    }

    #contents #ski_resort_contents .title_wrapper {
        padding-top: 34px;
        margin-bottom: 138px;
        background-image: url("../img/bg_img_03_pc.png");
        background-repeat: no-repeat;
        background-position: center 58px;
        background-size: 100%;
    }

    #contents #ski_resort_contents .ski_resort_list {
        width: 100%;
        float: left;
        clear: both;
    }

    #contents #ski_resort_contents .ski_resort_list li {
        width: 100%;
        float: left;
        clear: both;
        margin-bottom: 78px;
        background-color: #fff;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.2);
        position: relative;
    }

    #contents #ski_resort_contents .ski_resort_list li:last-of-type {
        margin-bottom: 53px;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box {
        width: 685px;
        float: right;
        padding: 25px 28px 22px 0;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box .fukidashi {
        display: inline-block;
        font-size: 20px;
        line-height: 1.3;
        font-weight: bold;
        padding: 0 28px;
        background: url("../img/parts_01.png"), url("../img/parts_02.png");
        background-repeat: no-repeat, no-repeat;
        background-position: left center, right center;
        background-size: 18px, 18px;
        position: absolute;
        right: 9px;
        top: -40px;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box h4 {
        display: inline-block;
        font-size: 34px;
        line-height: 1.3;
        font-weight: bold;
        color: #00b7ee;
        margin-bottom: 12px;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box .text {
        display: inline-block;
        font-size: 18px;
        line-height: 34px;
        margin-bottom: 24px;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box .btn {
        width: 305px;
        float: right;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box .btn a {
        background-color: #00b7ee;
        border-color: #00b7ee;
    }

    #contents #ski_resort_contents .ski_resort_list li .text_box .btn a:hover {
        background-color: #fff;
        color: #00b7ee;
    }

    #contents #ski_resort_contents .ski_resort_list li .img {
        width: 368px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url("../img/img_04.jpg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    #contents #ski_resort_contents .ski_resort_list li:nth-of-type(2) .img {
        background-image: url("../img/img_05.jpg");
    }

    #contents #ski_resort_contents .ski_resort_list li:nth-of-type(3) .img {
        background-image: url("../img/img_06.jpg");
    }

    #contents #ski_resort_contents .ski_resort_list li:nth-of-type(4) .img {
        background-image: url("../img/img_07.jpg");
    }

    #contents #ski_resort_contents .ski_resort_list li:nth-of-type(5) .img {
        background-image: url("../img/img_08.jpg");
    }

    #contents #reason_contents {
        margin-bottom: 110px;
    }

    #contents #reason_contents .title_wrapper {
        margin-bottom: 0;
        padding-bottom: 38px;
        background-image: url("../img/bg_img_05_pc.png");
        background-repeat: no-repeat;
        background-position: center bottom 44px;
        background-size: 100%;
    }

    #contents #reason_contents .title_wrapper .title_box h3 {
        color: #00479d;
    }

    #contents #reason_contents .movie_box {
        width: 100%;
        height: 0;
        padding-top: 56.25%;
        margin: 0 auto 130px;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.2);
        position: relative;
    }

    #contents #reason_contents .movie_box iframe {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
    }

    #contents #reason_contents .box {
        width: 100%;
        float: left;
        clear: both;
        margin-bottom: 159px;
        position: relative;
    }

    #contents #reason_contents .box:last-of-type {
        margin-bottom: 0;
    }

    #contents #reason_contents .box .text_box {
        width: 631px;
        float: right;
        padding: 48px 25px 58px;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        background-color: #fff;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.2);
        position: relative;
        z-index: 9;
    }

    #contents #reason_contents .box:nth-of-type(2) .text_box {
        float: left;
    }

    #contents #reason_contents .box .text_box .number {
        width: 78px;
        position: absolute;
        top: -28px;
        left: -31px;
    }

    #contents #reason_contents .box .text_box h4 {
        font-size: 30px;
        font-weight: bold;
        line-height: 1.3;
        color: #00479d;
        margin-bottom: 22px;
    }

    #contents #reason_contents .box .text_box .text {
        font-size: 18px;
        line-height: 34px;
    }

    #contents #reason_contents .box .img {
        width: 48%;
        height: calc(100% + 104px);
        position: absolute;
        left: 0;
        top: -52px;
        background-image: url("../img/img_11.jpg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    #contents #reason_contents .box:nth-of-type(2) .img {
        background-image: url("../img/img_12.jpg");
        left: auto;
        right: 0;
    }

    #contents #reason_contents .box:nth-of-type(3) .img {
        background-image: url("../img/img_13.jpg");
    }

    #contents #access_contents {
        background-image: url("../img/ptn_03.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 22px;
        padding-bottom: 65px;
    }

    #contents #access_contents .title_wrapper {
        margin-bottom: 1px;
    }

    #contents #access_contents .title_wrapper h3 {
        color: #fff;
        background: none;
    }

    #contents #access_contents .bg_box {
        width: 100%;
        float: left;
        clear: both;
        padding: 38px 25px 40px;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        background-color: #fff;
    }

    #contents #access_contents .bg_box dl {
        width: 500px;
        float: left;
        margin: 0;
    }

    #contents #access_contents .bg_box dl.f_right {
        float: right;
    }

    #contents #access_contents .bg_box dl:first-of-type {
        width: 100%;
        float: none;
        margin: 0 0 36px;
    }

    #contents #access_contents .bg_box dl dt {
        width: 100%;
        font-size: 30px;
        font-weight: bold;
        line-height: 1.3;
        color: #fff;
        padding: 10px 0 9px;
        position: relative;
        z-index: 9;
        text-align: center;
    }

    #contents #access_contents .bg_box dl dt::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: #5ac4e9;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    #contents #access_contents .bg_box dl dt::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-image: url("../img/ptn_02.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 8px;
        position: absolute;
        top: 8px;
        left: 7px;
        z-index: -2;
    }

    #contents #access_contents .bg_box dl dd {
        width: 100%;
        font-size: 18px;
        line-height: 34px;
    }

    #contents #access_contents .bg_box dl:nth-of-type(2) ul, #contents #access_contents .bg_box dl:nth-of-type(3) ul {
        padding: 20px 0 0;
        min-height: 102px;
    }

    #contents #access_contents .bg_box dl dd ul {
        padding: 20px 0 0;
        margin: 0;
    }

    #contents #access_contents .bg_box dl dd .bus_wrapper {
        width: 100%;
        padding-top: 55px;
        padding-right: 475px;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        margin-bottom: 56px;
    }

    #contents #access_contents .bg_box dl dd .bus_wrapper .bus {
        width: 445px;
        position: absolute;
        right: 0;
        top: 18px;
    }

    #contents #access_contents .bg_box dl dd .img {

    }

    #contents #access_contents .bg_box dl dd h4 {
        font-size: 24px;
        font-weight: bold;
        line-height: 40px;
    }

    #contents #access_contents .bg_box dl dd .btn {
        width: 305px;
    }

    #contents #access_contents .bg_box dl dd .btn a {
        background-color: #194351;
        border-color: #194351;
    }

    #contents #access_contents .bg_box dl dd .btn a:hover {
        background-color: #fff;
        color: #194351;
    }

    #contents #michinoeki_contents .title_wrapper {
        background-image: url("../img/bg_img_07_pc.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100%;
        padding-bottom: 38px;
    }

    #contents #michinoeki_contents .title_wrapper .title_box {
        padding-top: 63px;
        margin-bottom: 20px;
    }

    #contents #michinoeki_contents .title_wrapper .title_box .illust {
        width: 241px;
        margin-bottom: 22px;
    }

    #contents #michinoeki_contents .title_wrapper .title_box h3 {
        color: #ec6941;
    }

    #contents #michinoeki_contents .title_wrapper .title_box .sub_text {
        margin-top: 38px;
    }

    #contents #michinoeki_contents .btn {
        width: 305px;
    }

    #contents #michinoeki_contents .btn a {
        background-color: #ec6941;
        border-color: #ec6941;
    }

    #contents #michinoeki_contents .btn a:hover {
        background-color: #fff;
        color: #ec6941;
    }

    #contents #michinoeki_contents .loop_box {
        background: url(../img/loop_01.jpg);
        background-repeat: repeat-x;
        background-position: left top;
        background-size: cover;
        width: 100%;
        height: 308px;
        -moz-animation: loop 50s linear infinite;
        animation: loop 50s linear infinite;
    }

    @keyframes loop {
        0% {
            background-position: 2000px 0;
        }
        25% {
            background-position: 1500px 0;
        }
        50% {
            background-position: 1000px 0;
        }
        75% {
            background-position: 500px 0;
        }
        100% {
            background-position: 0 0;
        }
    }

    @-moz-keyframes loop {
        0% {
            background-position: 2000px 0;
        }
        25% {
            background-position: 1500px 0;
        }
        50% {
            background-position: 1000px 0;
        }
        75% {
            background-position: 500px 0;
        }
        100% {
            background-position: 0 0;
        }
    }

    #contents #onsen_contents {
        background-image: url("../img/ptn_04.jpg");
        background-repeat: repeat;
        background-position: left top;
        background-size: 64px;
        padding-bottom: 64px;
    }

    #contents #onsen_contents .title_wrapper .title_box {
        padding-top: 54px;
        margin-bottom: 40px;
    }

    #contents #onsen_contents .title_wrapper .title_box .illust {
        width: 195px;
        margin-bottom: 25px;
    }

    #contents #onsen_contents .title_wrapper .title_box h3 {
        color: #a12024;
    }

    #contents #onsen_contents .onsen_list {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    #contents #onsen_contents .onsen_list li {
        width: 340px;
        background-color: #fff;
        padding-bottom: 112px;
        position: relative;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.2);
    }

    #contents #onsen_contents .onsen_list li .img {
        width: 100%;
    }

    #contents #onsen_contents .onsen_list li .text_box {
        width: 100%;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 40px 30px 0;
        font-size: 16px;
        line-height: 28px;
    }

    #contents #onsen_contents .onsen_list li .text_box h4 {
        font-size: 20px;
        line-height: 1.3;
        font-weight: bold;
        color: #a12024;
        margin-bottom: 12px;
    }

    #contents #onsen_contents .onsen_list li .text_box .btn {
        width: calc(100% - 60px);
        position: absolute;
        bottom: 42px;
        left: 30px;
    }

    #contents #onsen_contents .onsen_list li .text_box .btn a {
        background-color: #a12024;
        border-color: #a12024;
    }

    #contents #onsen_contents .onsen_list li .text_box .btn a:hover {
        background-color: #fff;
        color: #a12024
    }

    #contents #link_contents {
        background-color: #ededed;
        padding-top: 105px;
        padding-bottom: 121px;
        text-align: center;
    }

    #contents #link_contents h3 {
        width: 527px;
        margin: 0 auto 45px;
    }

    #contents #link_contents .tel_box {
        width: 457px;
        margin: 0 auto 63px;
        border-radius: 6px;
        border: 3px solid #000;
        -webkit-box-sizing: border-box;
        moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 22px 0 12px;
        position: relative;
    }

    #contents #link_contents .tel_box .fukidashi {
        width: 167px;
        position: absolute;
        top: -28px;
        left: -31px;
    }

    #contents #link_contents .tel_box .text {
        font-size: 22px;
        font-weight: bold;
        line-height: 1.3;
        margin-bottom: 3px;
    }

    #contents #link_contents .tel_box .tel {
        font-size: 30px;
        font-weight: bold;
        line-height: 1.4;
    }

    #contents #link_contents .tel_box .tel a {
        display: inline;
        font-weight: bold;
    }

    #contents #link_contents .tel_box .tel .yellow {
        color: #e4a538;
        font-weight: bold;
    }

    #contents #link_contents .contact_list {
        width: 1000px;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    #contents #link_contents .contact_list li {
        width: 470px;
        box-shadow: 1px 1px 10px 0px rgba(0, 0, 0, 0.2);
    }
}














