@charset "UTF-8";


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

    /* home /////////////////////////////////////////////////////////////////////////////////////////// */
    .home_tourlist a {
        padding: 25% 0 0 0;
    }



}



@media only screen and (max-width: 1800px) {

    /* home /////////////////////////////////////////////////////////////////////////////////////////// */
    .about_desc_list figure {
        display: flex;
        align-items: flex-start;
        min-height: 102%;
    }

    .about_desc_list li:nth-of-type(2n-1) figure {
        justify-content: flex-end;
    }

    .about_desc_list li:nth-of-type(2n) figure {
        justify-content: flex-start;
    }

    .about_desc_list figure img {
        width: auto;
        height: 100%;
    }

}



@media only screen and (max-width: 1000px) {

    /* common /////////////////////////////////////////////////////////////////////////////////////////// */

    /* .spNone {
        display: none;
    }

    .pcNone {
        display: block;
    } */


    .cmn_maxbox {
        padding-left: 5%;
        padding-right: 5%;
        padding-left: 4.5%;
        padding-right: 4.5%;
        /* padding-left: 4%; */
        /* padding-right: 4%; */
    }

    /* aタグ(電話番号) */
    a[href^="tel"] {
        pointer-events: all;
    }

    /* p,
    li,
    dt,
    dd,
    a, */
    body {
        font-size: 1.3rem;
    }



    /* header */

    /* footer */






    /* home /////////////////////////////////////////////////////////////////////////////////////////// */





    /* en /////////////////////////////////////////////////////////////////////////////////////////// */

    .en_tour_wrapper {
        padding: 0 0 60px 0;
    }

    .en_tour {
        padding: 0;
    }

    .en_tour + .en_tour {
        margin-top: 15px;
    }

    .en_tour_imgbox {
        position: static;
        width: 100%;
        padding: 0 4.5%;
    }

    .en_tour_imgbox img {
        width: 100%;
        height: auto;
    }

    .en_tour_imgbox h2.pcNone {
        display: flex;
    }

    .en_tour_txtbox {
        width: 100%;
        max-width: none;
        padding: 4.5%;
        margin: -4.5% 0 0 0;
        background-size: 300px;
    }

    .en_tour:nth-of-type(2n) .en_tour_txtbox {
        margin: -4.5% 0 0 0;
    }

    .en_tour_txtbox_inner {
        position: static;
        padding: 1% 0 4.5%;
    }

    .en_tour:nth-of-type(2n) .en_tour_txtbox_inner {
        padding: 1% 0 4.5%;
    }

    .en_tour h2 {
        padding: 7px 4.5%;
        font-size: 1.9rem;
    }

    .en_tour_txtbox_inner h2.spNone {
        display: none;
    }

    .en_tour:nth-of-type(2n) .en_tour_txtbox_inner h2 {
        background-size: 300px;
    }

    .en_tour h2 span {
        font-size: 1.2rem;
    }

    .en_tour_txtbox_inner p {
        padding: 0 4.5%;
        font-size: 1.4rem;
        line-height: 1.6;
    }

    .en_tour_txtbox_inner dl {
        position: static;
        transform: none;
        max-width: none;
        padding: 0 4.5%;
        margin: 20px 0 0 0;
    }

    .en_tour:nth-of-type(2n) .en_tour_txtbox_inner dl {
        transform: none;
        max-width: none;
    }

    .en_tour_txtbox_inner dt,
    .en_tour_txtbox_inner dd {
        padding-left: 4.5%;
        padding-right: 4.5%;
    }

    .en_tour_txtbox_inner dt {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .en_tour_txtbox_inner dd {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .en_tour_txtbox_inner .cmn_btn {
        margin-top: 30px;
    }




    /* news /////////////////////////////////////////////////////////////////////////////////////////// */





    /* about /////////////////////////////////////////////////////////////////////////////////////////// */
    .about_desc_list {
        position: static;
        padding: 0 0 60px 0;
        margin-top: 30px;
    }

    .about_desc_list li {
        position: static;
        display: block;
    }

    .about_desc_list li:nth-of-type(2),
    .about_desc_list li:nth-of-type(3) {
        margin-top: 30px;
    }

    .about_desc_list figure {
        position: static;
        transform: none;
        width: 100%;
        height: auto;
        min-width: 0;
        padding: 0 4.5%;
    }

    .about_desc_list figure img {
        position: static;
        transform: none;
        width: 100%;
        height: auto;
    }

    .about_desc_list dl {
        padding: 4.5%;
        margin: -4.5% 0 0 0;
    }

    .about_desc_list dl::before {
        background-size: 300px;
    }

    .about_desc_list li:nth-of-type(2n) dl::before {
        background-image: url(../img/about_facility_bg_paint_odd.png);
        background-position: left top;
        background-size: 300px;
    }

    .about_desc_list div {
        position: static;
        width: 100%;
        max-width: none;
        padding: 18px;
        padding: 5% 4.5%;
    }

    .about_desc_list li:nth-of-type(2n-1) div {
        margin: 0;
    }

    .about_desc_list dt {
        max-width: 270px;
        padding: 0 5px 10px 0;
        font-size: 1.7rem;
    }

    .about_desc_list dt::after {
        background-size: 280px;
    }

    .about_desc_list dd {
        margin: 14px 0 0 0;
        font-size: 1.4rem;
        line-height: 1.75;
    }





    /* tour /////////////////////////////////////////////////////////////////////////////////////////// */
    /* カレンダー（予約プラグイン） */
    #tour_book_cale .day-calendar,
    #tour_book_cale [class^="m"][class$="-calendar"] {
        margin: 20px 0 0 0;
    }

    #tour_book_cale .calendar-caption {
        height: 20px;
        font-size: 2.0rem;
        line-height: 20px;
    }

    #tour_book_cale [class^="m"][class$="-calendar"] .monthly-prev > *::after,
    #tour_book_cale [class^="m"][class$="-calendar"] .monthly-next > *::after {
        font-size: 2.0rem;
    }

    .tour_book > ul {
        margin: 20px 0 0 0;
    }

    .tour_book > ul > li {
        padding: 4px 8px;
        font-size: 1.1rem;
        letter-spacing: 0;
    }

    .tour_book > span {
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .tour_book > span .pcNone {
        display: inline;
    }






    /* abouttour /////////////////////////////////////////////////////////////////////////////////////////// */
    .abouttour_clothes_tabs {
        flex-wrap: wrap;
    }

    .abouttour_clothes_tabs label {
        align-items: center;
        width: 33%;
        width: 33.333%;
        height: 54px;
        padding: 0 4px;
        font-size: 1.4rem;
        line-height: 1.4;
        background-size: 110px;
    }

    .abouttour_clothes_tabs label:nth-of-type(n+4) {
        border-top: 1px solid #ffffff;
    }

    .abouttour_clothes_tabs label span {
        font-size: 1.2rem;
    }


    /* faq /////////////////////////////////////////////////////////////////////////////////////////// */






    /* contact /////////////////////////////////////////////////////////////////////////////////////////// */





    /* tour_student /////////////////////////////////////////////////////////////////////////////////////////// */





    /* tour_corporate /////////////////////////////////////////////////////////////////////////////////////////// */





    /* privacy /////////////////////////////////////////////////////////////////////////////////////////// */
    .privacy_detail li {
        padding: 0 0 0 1.65em;
        text-indent: -1.65em;
    }








}













@media only screen and (max-width: 767px) {








    /* common /////////////////////////////////////////////////////////////////////////////////////////// */

    /* 見出し（ペンキ：オレンジ） */
    .cmn_tit_orange {
        height: 52px;
    }

    .cmn_tit_orange + * {
        margin-top: 25px;
    }

    /* 見出し（ペンキ：青） */
    .cmn_tit_blue {
        padding-left: 17px;
        padding-right: 17px;
        font-size: 1.6rem;
        background-size: 588px;
    }


    .cmn_btn > button,
    .cmn_btn > a {
        max-width: 234px;
        font-size: 1.6rem;
    }

    /* dlリスト（表形式） */
    .cmn_dl > .row {
        display: block;
    }

    .cmn_dl > .row + .row {
        margin: -1px 0 0 0;
    }

    .cmn_dl .row > .term,
    .cmn_dl .row > .desc {
        padding: 14px 17px;
    }

    .cmn_dl .row > .term {
        width: 100%;
    }

    .cmn_dl .row > .desc {
        border-width: 1px 0 0 0;
        letter-spacing: 0.05rem;
        line-height: 1.6;
    }




    /* SUBメインタイトル */
    .cmn_maintitle {
        height: 230px;
        margin-bottom: 50px;
        background-image: url(../img/about_maintitle_pic_sp.jpg);
    }

    .cmn_maintitle h1 {
        padding: 0 16px 0 0;
    }

    .cmn_maintitle h1 img {
        max-height: 60px;
    }


    /* ページ送り（数字） */
    .cmn_pager_num .first,
    .cmn_pager_num .prev,
    .cmn_pager_num .pager,
    .cmn_pager_num .next,
    .cmn_pager_num .last {
        width: 40px;
        height: 40px;
        padding: 0 0 0 .25rem;
        border-radius: 0.6rem;
        margin: 5px 8px;
        line-height: 40px;
        font-size: 1.7rem;
        letter-spacing: .25rem;
    }



    /* CMSエディタ装飾 */
    .cmn_cms_editor h3 {
        font-size: 2.0rem;
    }

    .cmn_cms_editor h4 {
        font-size: 1.8rem;
    }

    .cmn_cms_editor h5 {
        font-size: 1.6rem;
    }

    .cmn_cms_editor h6 {
        font-size: 1.4rem;
    }




    /* header */
    header::before {
        background-image:
            url(../img/header_bg_paint_sp.png),
            url(../img/header_bg_blue.png);
        background-repeat:
            no-repeat,
            no-repeat;
        background-position:
            left top,
            left top;
        background-size:
            376px auto,
            100% 100%;
    }


    #header_modalmenu_check {
        position: fixed;
        right: 5%;
        top: 30px;
        transform: translate(50%, -50%);
        z-index: -99;
        display: inline-block;
        opacity: 0;
    }

    .header_infobar {
        align-items: center;
        height: 70px;
        padding-bottom: 0;
    }

    .header_logo {
        width: auto;
        min-width: 0;
        margin: 0 2% 0 0;
    }

    .header_logo .pcNone {
        display: inline-block;
    }

    .header_logo .spNone {
        display: none;
    }

    .header_nav {
        display: none;
    }

    .header_btn_reserv {
        flex-shrink: 0;
        display: inline-block;
        width: 80px;
        padding: .38em 0;
        border: 1px solid #FFFFFF;
        border-radius: .5em;
        color: #FFFFFF;
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
        line-height: 1;
        text-align: center;
        background-color: #00508E;
    }

    .header_infobar .header_btn_reserv {
        margin: 0 15px 6px auto;
    }

    .header_infobar .header_modalmenu_btn {
        margin: 0 0 8px 0;
    }

    .header_modalmenu_btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 26px;
        height: 26px;
        cursor: pointer;
    }

    .header_modalmenu_btn .box {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 100%;
    }

    .header_modalmenu_btn .top {
        transform: translateY(-10px);
    }

    .header_modalmenu_btn .bottom {
        transform: translateY(10px);
    }


    .header_modalmenu_btn .box span {
        position: absolute;
        left: 0;
        top: calc((100% - 3px)/2);
        display: block;
        width: 100%;
        height: 3px;
        transition: transform .25s,
                    opacity .25s,
                    background-color .25s;
        background-color: #ffffff;
    }

    #header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .top,
    #header_modalmenu_check:checked ~ #header_modalmenu_area .header_modalmenu_btn .top {
        transform: rotate(45deg);
    }

    #header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .center,
    #header_modalmenu_check:checked ~ #header_modalmenu_area .header_modalmenu_btn .center {
        opacity: 0;
    }

    #header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .bottom,
    #header_modalmenu_check:checked ~ #header_modalmenu_area .header_modalmenu_btn .bottom {
        transform: rotate(-45deg);
    }


    .header_sidefix {
        display: none;
    }

    #header_modalmenu_area {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #00508E;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        overflow: auto;
        transition: opacity.15s, visibility.15s;
    }

    #header_modalmenu_check:checked ~ #header_modalmenu_area {
        opacity: 1;
        visibility: visible;
        pointer-events: all;
    }

    .header_modalmenu_areainner {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        padding-top: 15px;
        padding-bottom: 20px;
        background-image: url(../img/header_modalmenu_bg_paint.png);
        background-repeat: no-repeat;
        /* background-position: left top -4.5px; */
        background-position: left top 0.5px;
        background-size: 376px;
    }

    .header_modalmenu_logo {
        display: block;
        /* width: calc(100% - 40px); */
        width: calc(100% - 140px);
    }

    .header_modalmenu_logo a {
        display: inline-block;
    }

    .header_modalmenu_areainner .header_btn_reserv {
        margin: 4px 15px 0 auto;
    }

    #header_modalmenu_area .header_modalmenu_btn {
        margin: 4px 0 0 0;
    }

    .header_modalmenu_nav {
        width: 100%;
        margin: 25px 0 0 0;
    }

    .header_modalmenu_nav .col02 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        color: #FFFFFF;
    }

    .header_modalmenu_nav .col02 li {
        width: 48.5%;
        margin: 12px 0 0 0;
        text-align: center;
    }

    .header_modalmenu_nav .col02 a {
        display: block;
        height: 100%;
        border: 2px solid #ffffff;
        border-radius: 0.6rem;
        padding: 22px 2px;
    }

    .header_modalmenu_nav .col02 .ja,
    .header_modalmenu_nav .col02 .en {
        display: block;
        font-weight: 700;
        letter-spacing: 0.05rem;
    }

    .header_modalmenu_nav .col02 .ja {
        font-size: 1.8rem;
    }

    .header_modalmenu_nav .col02 .en {
        margin: 4px 0 0 0;
        font-size: 1.4rem;
    }

    .header_modalmenu_nav .col01 li {
        margin: 12px 0 0 0;
    }

    .header_modalmenu_nav .col01 a {
        display: block;
        padding: 6px 2px 5px;
        border-radius: 0.6rem;
        color: #FFFFFF;
        font-size: 1.6rem;
        font-weight: 700;
        text-align: center;
    }

    .header_modalmenu_nav .col01 li:nth-of-type(1) a,
    .header_modalmenu_nav .col01 li:nth-of-type(2) a {
        background-color: #ffffff;
        color: #00508E;
    }

    .header_modalmenu_nav .col01 li:nth-of-type(3) a {
        border: 2px solid #ffffff;
        color: #FFFFFF;
    }

    .header_modalmenu_nav .col01 li:nth-of-type(4) {
        margin: 0;
    }

    .header_modalmenu_nav .col01 li:nth-of-type(4) a {
        padding: 12px 0;
        font-size: 1.3rem;
    }



    /* footer */
    footer {
        margin-top: 60px;
    }





    /* home /////////////////////////////////////////////////////////////////////////////////////////// */
    .home_mainslider .slide01 {
        background-image: url(../img/home_mainslider_pic01_sp.jpg);
        background-position: center;
    }

    .home_mainslider .slide02 {
        background-image: url(../img/home_mainslider_pic02_sp.jpg);
        background-position: center;
    }

    .home_mainslider .slide03 {
        background-image: url(../img/home_mainslider_pic03_sp.jpg);
        background-position: left bottom;
    }

    .home_mainslider .slide04 {
        background-image: url(../img/home_mainslider_pic04_sp.jpg);
        background-position: center center;
    }

    .home_mainslider .slide05 {
        background-image: url(../img/home_mainslider_pic05_sp.jpg);
        background-position: right bottom;
    }

    .home_mainslider .slide06 {
        background-image: url(../img/home_mainslider_pic06_sp.jpg);
        background-position: center;
    }

    .home_mainslider .slide07 {
        background-image: url(../img/home_mainslider_pic07_sp.jpg);
        background-position: center;
    }

    .home_mainslider .slide08 {
        background-image: url(../img/home_mainslider_pic08_sp.jpg);
        background-position: left center;
    }

    .home_mainslider .slide09 {
        background-image: url(../img/home_mainslider_pic09_sp.jpg);
        background-position: 80% center;
    }

    .home_mainslider .swiper-container-horizontal>.swiper-pagination-bullets {
        bottom: 15px;
    }

    .home_mainslider .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 9px;
        height: 9px;
        margin: 0 8px;
    }

    .home_mainslider > p {
        bottom: auto;
        top: 0;
        margin: 0;
        text-align: center;
    }

    .home_mainslider > p img {
        position: absolute;
        left: 50%;
        top: 60px;
        transform: translate(-50%, 0);
        width: 110%;
        /* max-width: 400px; */
        max-width: 600px;
    }

    .home_mainslider > p .pcNone {
        display: inline-block;
    }

    .home_mainslider > p .spNone {
        display: none;
    }




    .home_about {
        padding: 50px 0;
        background-size: 340px;
    }

    .home_about_inner {
        padding-left: 8px;
        padding-right: 8px;
    }

    .home_about_inner h2 {
        font-size: 2.2rem;
    }

    .home_about_inner p {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin: 18px 0 0 0;
        font-size: 1.4rem;
        font-size: calc(13.5px + (16 - 13.5)*(100vw - 320px)/(767 - 320));
        line-height: 2.2;
        /* letter-spacing: 0.05rem; */
        letter-spacing: 0.01em;
        white-space: nowrap;
    }

    .home_about_inner span {
        font-feature-settings: "palt";
    }

    .home_about_inner span + br {
        display: none;
    }

    .home_about_inner p .pcNone {
        display: inline;
    }

    .home_about_btn {
        margin: 24px 0 0 0;
    }




    .home_news {
        padding: 50px 0;
        /* background-size: 1946px; */
        /* background-size: 973px; */
    }

    .home_news_inner {
        padding-left: 0;
        padding-right: 0;
        overflow: hidden;
    }


    .news_list li {
        width: 32%;
    }

    .news_list li:nth-of-type(n+4) {
        margin: 30px 0 0 0;
    }

    .home_news_list .swiper-wrapper {
        flex-wrap: nowrap;
        overflow-x: visible;
    }

    .home_news_list .swiper-wrapper::before,
    .home_news_list .swiper-wrapper::after {
        display: none;
    }

    .home_news_list .swiper-slide {
        /* width: 62%; */
        width: 56%;
        margin: 0 auto;
    }

    .home_news_list .swiper-slide:nth-of-type(4) ~ .swiper-slide {
        display: block;
    }

    .home_news_list .news_thumb::before,
    .home_news_list .news_thumb::after {
        top: 6.5%;
        width: 4.8%;
        padding: 4.8% 0 0 0;
    }

    .home_news_list .news_thumb::before {
        left: 4.8%;
    }

    .home_news_list .news_thumb::after {
        right: 4.8%;
    }


    .news_date {
        border-radius: 0 0.5rem 0.5rem 0;
        font-size: 1.3rem;
    }

    .news_tit {
        font-size: 1.5rem;
    }

    .news_list a:hover,
    .home_news_list a:hover {
        background-color: #ffffff;
    }

    .news_list a:hover .news_date,
    .home_news_list a:hover .news_date {
        color: #ffffff;
        background-color: #00508E;
    }

    .news_list a:hover .news_tit,
    .news_list a:hover .news_excerpt,
    .home_news_list a:hover .news_tit,
    .home_news_list a:hover .news_excerpt {
        color: #00508E;
    }

    .home_insta {
        padding-top: 50px;
    }

    .home_insta_list li {
        width: 33%;
    }

    .home_insta_list li,
    .home_insta_list li:nth-of-type(5n+1) {
        margin-left: 1.7px;
        margin-left: 0.5%;
    }

    .home_insta_list li:nth-of-type(3n+1) {
        margin-left: 0;
    }

    .home_insta_list li:nth-of-type(-n+5),
    .home_insta_list li:nth-of-type(n+6) {
        margin-top: 1.7px;
        margin-top: 0.5%;
    }

    .home_insta_list li:nth-of-type(9) + li {
        display: none;
    }


    .home_youtube {
        margin-top: 50px;
    }

    .home_youtube a {
        height: 106px;
        background-position: left -10px center;
        background-size: 130px;
    }

    .home_youtube img {
        max-width: 94%;
        max-height: 36px;
    }


    /* en /////////////////////////////////////////////////////////////////////////////////////////// */
    .en_about_inner h2 {
        letter-spacing: 0.05rem;
    }

    .en_mainimg {
        background-image: url(../img/en_mainimg_sp.jpg);
    }

    .en_mainimg > h1 {
        bottom: auto;
        top: 0;
        margin: 0;
        text-align: center;
    }

    .en_mainimg > h1 img {
        position: absolute;
        left: 50%;
        top: 80px;
        transform: translate(-50%, 0);
        width: 110%;
        /* max-width: 400px; */
        max-width: 600px;
    }

    .en_mainimg > h1 .pcNone {
        display: inline-block;
    }

    .en_mainimg > h1 .spNone {
        display: none;
    }



    .en_about_inner p {
        display: block;
        padding-left: 3%;
        padding-right: 3%;
        font-size: 1.5rem;
        line-height: 1.7;
        white-space: normal;
    }




    /* news /////////////////////////////////////////////////////////////////////////////////////////// */
    .news_body .cmn_maintitle {
        background-image: url(../img/news_maintitle_pic_sp.jpg);
    }


    .news_pager_num .pagination {
        margin: 55px 0 0 0;
    }



    .news_single_box {
        padding: 36px 18px 18px 18px;
    }

    .news_single_box::before,
    .news_single_box::after {
        top: 12px;
        width: 12px;
        height: 12px;
    }

    .news_single_box::before {
        left: 12px;
    }

    .news_single_box::after {
        right: 12px;
    }

    .news_single_box .news_date {
        padding: 6px 20px;
        font-size: 1.6rem;
    }

    .news_single_box > h2 {
        margin: 16px 0 0 0;
        font-size: 2.1rem;
    }

    .news_single_box > figure {
        max-width: none;
        margin-top: 16px;
    }

    .news_single_box > div {
        margin: 18px auto 0;
        font-size: 1.4rem;
        line-height: 1.75;
    }


    .news_pager_3col {
        margin: 30px 0 0 0;
    }

    .news_pager_3col > div {
        max-width: 134px;
    }

    .news_pager_3col a {
        padding: 6px 14px;
        border-radius: 0.5rem;
        font-size: 1.6rem;
    }


    /* about /////////////////////////////////////////////////////////////////////////////////////////// */
    .about_body .cmn_maintitle {
        background-image: url(../img/about_maintitle_pic_sp.jpg);
    }


    .about_desc_list dl {
        padding-top: 20px;
        padding-bottom: 20px;
        margin: -20px 0 0 0;
    }

    .about_desc_list div {
        padding: 20px;
    }


    .about_faci {
        padding: 60px 0 0 0;
        background-size: 210px;
    }


    .about_faci_orginfo {
        display: block;
        margin: 40px 0 0 0;
    }

    .about_faci_orginfo figure {
        max-width: 120px;
        margin: 0 auto;
    }

    .about_faci_orginfo p {
        display: block;
        margin: 10px 0 0 0;
        font-size: 1.5rem;
    }

    .about_faci_orginfo p span {
        font-size: 2.1rem;
    }

    .about_faci_access {
        display: block;
        margin: 30px 0 0 0;
    }

    .about_faci_access div {
        width: 100%;
        height: 300px;
    }

    .about_faci_access p {
        width: 100%;
        max-width: none;
        padding: 30px 4.5% 60px;
        font-size: 1.4rem;
        line-height: 1.75;
    }





    /* tour /////////////////////////////////////////////////////////////////////////////////////////// */
    .tour_body.tour .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_tour.jpg);
    }

    .tour_body.cycling .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_cycling.jpg);
    }

    .tour_body.guidewalk .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_guidewalk.jpg);
    }

    .tour_body.handcraft .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_handcraft.jpg);
    }

    .tour_body.seakayak .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_seakayak.jpg);
    }

    .tour_body.setplan .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_setplan.jpg);
    }

    .tour_body.snorkel .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_snorkel.jpg);
    }

    .tour_body.sup .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_sup.jpg);
    }

    .tour_body.waterball .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_waterball.jpg);
    }

    .tour_body.withdog .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_withdog.jpg);
    }

    .tour_body.other .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_other.jpg);
    }

    .tour_body.student .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_student.jpg);
    }

    .tour_body.corporate .cmn_maintitle {
        background-image: url(../img/tour_maintitle_pic_sp_corporate.jpg);
    }


    .tour_topmsg_readmore {
        position: relative;
    }

    .tour_topmsg_readmore #readmore_check {
        position: absolute;
        left: 50%;
        bottom: 0;
        z-index: -9999;
        transform: translate(-50%,0);
        display: inline-block;
        opacity: 0;
    }

    .tour_topmsg_readmore {

    }

    .tour_topmsg_readmore.tour_topmsg_readmore p {
        height: auto;
        max-height: 50px;
        overflow: hidden;
        font-size: 1.4rem;
        line-height: 1.9;
        transition: max-height 1.2s;
    }

    .tour_topmsg_readmore #readmore_check:checked + p {
        max-height: 99vh;
        transition: max-height 2.4s ease-out;
    }

    .tour_topmsg_readmore .readmore_btn {
        display: block;
        margin: 10px 0 0 0;
        text-align: center;
    }

    .tour_topmsg_readmore #readmore_check:checked ~ .readmore_btn {
        display: none;
    }

    .tour_topmsg_readmore .readmore_btn label {
        display: inline-block;
        font-size: 1.2rem;
        text-decoration: underline;
        cursor: pointer;
    }



    .tour_lineup {
        margin-top: 60px;
    }

    .tour_lineup_2col {
        display: block;
    }

    .tour_lineup_catbox_pc {
        display: none;
    }

    .tour_lineup_catbox_sp {
        position: relative;
        display: block;
        background-color: #ffffff;
        overflow: hidden;
    }

    #tour_catbox_sp_check {
        position: absolute;
        left: 50%;
        top: 25px;
        transform: translate(-50%,-50%);
        z-index: -99;
        display: inline-block;
        width: auto;
        height: auto;
        opacity: 0;
    }

    #tour_catbox_sp_toggle {
        display: inline-flex;
        align-items: center;
        width: 100%;
        height: 48px;
        padding: 4px 18px;
        border: 1px solid #00508E;
        overflow: hidden;
        cursor: pointer;
    }

    #tour_catbox_sp_toggle small {
        flex-shrink: 0;
        display: inline-block;
        padding: 0 8px 0 0;
        font-size: 1.4rem;
        line-height: 1.2;
        letter-spacing: 0.05rem;
        font-weight: 700;
    }

    #tour_catbox_sp_toggle span {
        display: block;
        width: 100%;
        padding: 0 8px 0 0;
        font-size: 1.4rem;
        line-height: 1.2;
        letter-spacing: 0.05rem;
        transition: opacity.15s;
    }

    #tour_catbox_sp_check:checked ~ #tour_catbox_sp_toggle span {
        opacity: 0;
        transition: opacity.15s;
    }

    #tour_catbox_sp_toggle::after {
        content: '';
        display: block;
        width: 14px;
        height: 14px;
        background-image: url(../img/tour_select_ico_arr.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: transform.15s;
    }

    #tour_catbox_sp_check:checked ~ #tour_catbox_sp_toggle::after {
        transform: rotate(90deg);
        transition: transform.15s;
    }

    .tour_lineup_catbox_sp ul {
        height: auto;
        max-height: 0;
        overflow: hidden;
        transition: max-height 450ms;
    }

    #tour_catbox_sp_check:checked ~ ul {
        max-height: 99vh;
        transition: max-height 550ms;
    }


    .tour_lineup_catbox_sp li {
        border-width: 0 1px 1px 1px;
        border-style: solid;
        border-color: #00508E;
    }

    .tour_lineup_catbox_sp a {
        display: flex;
        align-items: center;
        height: 48px;
        padding: 0 18px;
        font-size: 1.4rem;
        line-height: 1.2;
    }

    .tour_lineup_list {
        margin: 30px 0 0 0;
    }

    .tour_lineup_list a:hover {
        background-color: #ffffff;
    }

    .tour_lineup_list .tit_sp {
        display: block;
        width: 100%;
        padding-left: 8px;
        padding-right: 8px;
        margin: 0 0 5px 0;
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .tour_lineup_list .imgbox {
        position: relative;
        width: 44%;
        padding: 34% 0 0 0;
    }

    .tour_lineup_list .txtbox {
        display: block;
        width: calc(100% - 44%);
        padding: 3px 0 0 0;
    }

    .tour_lineup_list .tit_pc {
        display: none;
    }

    .tour_lineup_list .details {
        display: block;
        margin: 0;
    }

    .tour_lineup_list .details,
    .tour_lineup_list .excerpt,
    .tour_lineup_list .price {
        padding: 0 0 0 8px;
    }

    .tour_lineup_list .details div {
        width: 100%;
    }

    .tour_lineup_list .details div + div {
        margin: 3px 0 0 0;
    }

    .tour_lineup_list .excerpt {
        margin-bottom: 8px;
        font-size: 1.1rem;
        letter-spacing: 0.02rem;
    }

    .tour_lineup_list a:hover .excerpt {
        color: #717071;
    }

    .tour_lineup_list .price span {
        font-size: 1.6rem;
    }

    .tour_lineup_list .price small {
        font-size: 1.3rem;
    }

    .tour_noinfo {
        margin: 30px 0 0 0;
    }

    .tour_pager_num {
        margin-top: 60px;
    }



    .tour_single_body main {
        padding-top: 120px;
    }

    .tour_singlebox > .tit {
        font-size: 1.6rem;
    }

    .tour_singlebox > .thumb {
        margin: 12px 0 0 0;
    }

    .tour_singlebox > .outline {
        margin: 10px 0 0 0;
        font-size: 1.4rem;
    }

    .tour_details {
        margin: 50px 0 0 0;
    }

    .tour_book {
        margin: 30px 0 0 0;
    }

    .tour_book_note {
        margin: 20px 0 5px;
    }

    .tour_book_note dt {
        padding: 3px 15px;
        font-size: 1.3rem;
    }

    .tour_book_note dd {
        padding: 15px 15px;
        font-size: 1.3rem;
    }



    #tour_book_cale [class^="m"][class$="-calendar"] .header-row th {
        font-size: 1.1rem;
    }

    #tour_book_cale [class^="m"][class$="-calendar"] .day-number {
        font-size: 1.1rem;
    }

    #tour_book_cale [class^="m"][class$="-calendar"] .calendar-mark {
        font-size: 1.6rem;
    }


    #tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-left::after,
    #tour_book_cale .day-calendar .mtssb-timetable-link tr:nth-of-type(1) .day-right::after {
        font-size: 1.3rem;
    }




    /* abouttour /////////////////////////////////////////////////////////////////////////////////////////// */
    .abouttour_body .cmn_maintitle {
        background-image: url(../img/abouttour_maintitle_pic_sp.jpg);
    }

    .abouttour_body main > * {
        margin-top: 60px;
    }

    .abouttour_clothes input[name="clothes_tabs"] {
        margin: 15px 0 0 0;
    }

    .abouttour_clothes_showarea {
        margin: 40px 0 0 0;
    }

    #clothes_tab01:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(1),
    #clothes_tab02:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(2),
    #clothes_tab03:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(3),
    #clothes_tab04:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(4),
    #clothes_tab05:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(5),
    #clothes_tab06:checked ~ .abouttour_clothes_showarea .abouttour_clothes_conts:nth-of-type(6) {
        display: block;
    }

    .abouttour_clothes_figure {
        width: 85%;
        margin: 0 auto;
    }

    .abouttour_clothes_figure img {
        width: 100%;
        max-width: 400px;
    }

    .abouttour_clothes_items {
        width: 100%;
        margin: 35px 0 0 0;
    }

    .abouttour_clothes_items li {
        padding: 12px 0;
        font-size: 1.3rem;
    }

    .abouttour_clothes_items li::before {
        width: 17px;
        height: 17px;
        margin: 1px 6px 0 0;
        font-size: 1.0rem;
        line-height: 17px;
    }

    .abouttour_clothes_note {
        padding: 12px 15px;
        margin: 15px 0 0 0;
    }

    .abouttour_clothes_note li {
        padding: 0 0 0 1.44em;
        margin: 8px 0 0 0;
        text-indent: -1.44em;
        letter-spacing: .05rem;
        line-height: 1.45;
    }

    .abouttour_rulebox dd {
        padding: 10px 0 30px;
    }

    .abouttour_rulebox dd p {
        padding: 0 0 0 1.4em;
        line-height: 1.45;
    }

    .abouttour_rulebox dd p + p {
        margin: 20px 0 0 0;
    }

    .abouttour_notebox {
        padding: 10px 15px 12px;
    }

    .abouttour_notebox dt {
        font-size: 1.5rem;
    }

    .abouttour_notebox dd {
        margin: 10px 0 0 0;
    }




    /* faq /////////////////////////////////////////////////////////////////////////////////////////// */
    .faq_body .cmn_maintitle {
        background-image: url(../img/faq_maintitle_pic_sp.jpg);
    }


    .faq_box + .faq_box {
        margin-top: 50px;
    }

    .faq_list dt:hover:hover {
        background-color: #00508E;
    }

    .faq_list > div:nth-of-type(2n) dt:hover {
        background-color: rgba(0, 80, 142, 0.8);
    }

    .faq_list button {
        padding: 6px 18px;
        font-size: 1.5rem;
        line-height: 1.4;
    }

    .faq_list button::before {
        margin-top: 0;
    }

    .faq_list button::after {
        width: 13px;
        height: 13px;
        margin-top: 0;
    }

    .faq_list button::after,
    .faq_list .js-isOpen button::after {
        transition: none;
    }

    .faq_list dd {
        padding: 20px 18px;
    }

    .faq_list dd::before {
        margin: 0 4px 0 0;
    }

    .faq_list > div + div {
        margin: 6px 0 0 0;
    }





    /* contact /////////////////////////////////////////////////////////////////////////////////////////// */
    .contact_body .cmn_maintitle {
        background-image: url(../img/contact_maintitle_pic_sp.jpg);
    }

    .contact_tel p .pcNone {
        display: inline;
    }

    .contact_tel > a {
        font-size: 2.4rem;
        letter-spacing: 0.1rem;
    }

    .contact_tel > span {
        margin: 6px 0 0 0;
        font-size: 1.6rem;
    }

    .contact_form {
        margin-top: 60px;
    }

    .contact_form_inner {
        padding: 50px 20px 50px;
        background-size: 120px;
    }

    .contact_form_note {
        letter-spacing: .05rem;
    }

    .contact_form_note span {
        font-size: 1.1rem;
    }

    .contact_form_list {
        margin: 25px 0 0 0;
    }

    .contact_form_list > div {
        display: block;
        margin: 0;
    }

    .contact_form_list > div + div {
        margin-top: 15px;
    }

    .contact_form_list dt {
        display: block;
        width: 100%;
        min-width: 0;
        max-width: none;
        padding: 0;
        font-size: 1.5rem;
        text-align: left;
    }

    .contact_form_list dt small {
        margin-left: 2px;
    }

    .contact_form_list dd {
        width: 100%;
        margin: 4px 0 0 0;
        font-size: 1.6rem;
    }

    .contact_form_list dd input {
        height: 40px;
    }

    .contact_form_list dd textarea {
        height: 150px !important;
    }

    .contact_form_btn {
        margin-top: 30px;
    }

    .contact_form_btn button {
        /* padding-left: 1.6rem; */
        text-indent: 1.6rem;
        font-size: 1.6rem;
        letter-spacing: 1.6rem;
        overflow: hidden;
    }





    /* tour_student /////////////////////////////////////////////////////////////////////////////////////////// */
    .tour_student_body .cmn_maintitle {
        background-image: url(../img/tour_stud_maintitle_pic_sp.jpg);
    }

    .tour_topmsg,
    .tour_corp_topmsg,
    .tour_stud_topmsg {
        padding: 60px 0;
    }

    .tour_topmsg h1,
    .tour_corp_topmsg h1,
    .tour_stud_topmsg h1 {
        font-size: 2.1rem;
    }

    .tour_topmsg p,
    .tour_corp_topmsg p,
    .tour_stud_topmsg p {
        margin: 20px 0 0 0;
        line-height: 1.8;
        text-align: left;
    }

    .tour_topmsg p .spNone,
    .tour_corp_topmsg p .spNone,
    .tour_stud_topmsg p .spNone {
        display: none;
    }

    .tour_topmsg .cmn_btn,
    .tour_corp_topmsg .cmn_btn,
    .tour_stud_topmsg .cmn_btn {
        margin: 25px 0 0 0;
    }

    .tour_corp_details,
    .tour_stud_details {
        margin-top: 60px;
    }



    /* tour_corporate /////////////////////////////////////////////////////////////////////////////////////////// */
    .tour_corporate_body .cmn_maintitle {
        background-image: url(../img/tour_corp_maintitle_pic_sp.jpg);
    }






    /* privacy /////////////////////////////////////////////////////////////////////////////////////////// */
    .privacy_body main {
        padding-top: 120px;
        line-height: 1.55;
    }

    .privacy_outline span {
        text-align: left;
    }

    .privacy_detail {
        margin: 28px 0 0 0;
    }

    .privacy_detail + .privacy_detail {
        margin: 45px 0 0 0;
    }

    .privacy_detail h3 {
        padding: 0 0 6px 0;
        font-size: 1.3rem;
        font-weight: 500;
    }




    /* booking-form（予約プラグイン） /////////////////////////////////////////////////////////////////////////////////////////// */
    .bookingform_body main {
        padding-top: 120px;
    }

    #bookingform_wrap > p {
        font-size: 2.2rem;
    }

    #bookingform_inner {
        margin: 30px 0 0 0;
    }

    #bookingform_inner * {
        font-size: 1.4rem;
    }

    #bookingform_inner .content-form legend {
        font-size: 1.6rem;
    }

    #bookingform_inner .content-form th {
        display: block;
        width: 100%;
        padding: 12px 0 5px;
        border: 0;
        line-height: inherit;
        text-align: left;
    }

    #bookingform_inner .content-form td {
        display: block;
        width: 100%;
        padding: 5px 0 12px;
        border-right: 0;
        border-bottom: 1px solid #dddddd;
    }

    #bookingform_inner .content-form .booking-form-people-number-row td {
        border-bottom: 0;
    }


    #bookingform_inner #booking-option-fieldset th {
        width: 100%;
    }

    #bookingform_inner #booking-option-fieldset td {
        flex-wrap: wrap;
        padding-right: 0;
    }

    #bookingform_inner #booking-option-fieldset td::before {
        order: 20;
        /* width: 100%; */
    }

    #bookingform_inner #booking-option-fieldset input {
        order: 30;
        width: 50px;
    }

    #bookingform_inner #booking-option-fieldset .unit-price {
        order: 10;
        font-size: 1.7rem;
    }

    #bookingform_inner #booking-option-fieldset td::before,
    #bookingform_inner #booking-option-fieldset input,
    #bookingform_inner #booking-option-fieldset .unit-price {
        margin-top: 8px;
    }






    #bookingform_inner .content-form .booking-seimei {
        width: auto;
        padding: 0 5px;
    }

    #bookingform_inner .content-form .booking-seimei:last-of-type {
        margin-top: 5px;
    }

    #bookingform_inner .content-form input,
    #bookingform_inner .content-form textarea,
    #bookingform_inner .content-form select {
        font-size: 1.6rem;
    }

    #bookingform_inner .content-form input[type="text"],
    #bookingform_inner .content-form textarea {
        width: 100%;
        padding: 5px;
    }









}












@media only screen and (max-width: 560px) {









    /* common /////////////////////////////////////////////////////////////////////////////////////////// */




    /* header */



    /* footer */
    .footer_nav ul {
        display: block;
        column-count: 2;
    }

    .footer_nav li {
        display: inline-block;
        width: 100%;
        margin: 2px 0;
    }

    .footer_nav .pcNone {
        display: inline-block;
    }

    .footer_nav li + li {
        margin-left: 0;
    }

    .footer_nav a {
        padding: 0;
        font-size: 1.3rem;
    }

    .footer_logo {
        margin: 35px 0 0 0;
    }

    .footer_orginfo {
        padding: 0 4%;
        font-size: 1.2rem;
        letter-spacing: .05rem;
    }

    .footer_copyright {
        padding: 8px 0;
        margin: 30px 0 0 0;
        font-size: 1.1rem;
        letter-spacing: .05rem;
    }





    /* home /////////////////////////////////////////////////////////////////////////////////////////// */

    .home_tourlist {
        display: block;
    }

    .home_tourlist li {
        width: 100%;
    }

    .home_tourlist a {
        padding: 37% 0 0 0;
    }

    .home_tourlist a > .pcNone {
        display: block;
    }

    .home_tourlist a > .spNone {
        display: none;
    }

    .home_tourlist p img {
        max-width: 94%;
        max-height: 42px;
    }


    .home_tourgroup {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .home_tourgroup > a {
        padding: 31% 0 0 0;
    }

    .home_tourgroup .corp {
        margin: 5px 0 0 0;
    }


    .home_tourgroup a > .pcNone {
        display: block;
    }

    .home_tourgroup a > .spNone {
        display: none;
    }

    .home_tourgroup p img {
        max-width: 94%;
        max-height: 36px;
    }


    .news_list li {
        width: 48%;
    }

    .news_list li:nth-of-type(n+3) {
        margin: 15px 0 0 0;
    }



    /* en /////////////////////////////////////////////////////////////////////////////////////////// */





    /* news /////////////////////////////////////////////////////////////////////////////////////////// */





    /* about /////////////////////////////////////////////////////////////////////////////////////////// */
    .about_faci_pic {
        display: block;
    }

    .about_faci_pic::before {
        height: calc(100% + 16px);
    }

    .about_faci_pic div {
        width: 100%;
    }





    /* tour /////////////////////////////////////////////////////////////////////////////////////////// */
    /* #tour_book_cale [class^="m"][class$="-calendar"] .calendar-mark {
        height: 0;
        padding: 100% 0 0 0;
    } */




    /* abouttour /////////////////////////////////////////////////////////////////////////////////////////// */





    /* faq /////////////////////////////////////////////////////////////////////////////////////////// */






    /* contact /////////////////////////////////////////////////////////////////////////////////////////// */





    /* tour_student /////////////////////////////////////////////////////////////////////////////////////////// */





    /* tour_corporate /////////////////////////////////////////////////////////////////////////////////////////// */





    /* privacy /////////////////////////////////////////////////////////////////////////////////////////// */















}



@media only screen and (max-width: 480px) {


    /* home /////////////////////////////////////////////////////////////////////////////////////////// */
    .news_list li {
        width: 100%;
    }

    .news_list li:nth-of-type(n+2) {
        margin: 15px 0 0 0;
    }

    .news_list .news_date {
        padding-top: 6px;
        padding-bottom: 6px;
        margin-top: 20px;
        font-size: 1.6rem;
    }

    .news_list .news_tit {
        font-size: 2.1rem;
    }

    .news_list .news_excerpt {
        font-size: 1.4rem;
    }













}