@charset "UTF-8";

@media screen and (min-width:768px) {  /*PC用*/
    div.sp-navigation {
        display: none;
    }
}

@media screen and (max-width:767px) { /*SP用*/

    /*** Base ***/
    html {
        font-size: 90%;
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif;
        /* footer最下部 */
        min-height: 100%;
        position: relative;
    }
    body,
    #main {
        margin: 0;
        padding: 0;
        background: #ffffff;
        line-height: 1.2em;
        color: black;
        /* footer最下部 */
        margin-bottom: 75px;
    }

    #wrap {
        width: auto;
        max-width: 90%;
        margin: 0 auto;
        padding: 72px 0 20px 0;
        background: #ffffff;
    }
    .main-contents {
        margin: 0;
        width: auto;
        height: auto;
    }
    .main-inner {
        padding: 20px 0;
        max-width: 950px;
        width: 100%;
    }
    .top-page-cont {
        margin: 0;
        padding: 10px 0 0 0;
    }
    .page-cont {
        margin: 0;
        padding: 30px 0 0 0;
    }

    h1 {
        font-size: 150%;
    }

    video {
        width: 100%;
    }


    /*** Header ***/
    header {
        width: 100%;
        height: 72px;
        padding: 15px 0;
        margin: 0;
    }
    header p {
        margin: 0;
        padding: 0;
        font-size: 90%;
        font-weight: normal;
        color: #999999;
    }
    header form.search_box {
        width: auto;
        margin: 0;
        padding: 0;
        position: unset;
        top: 0;
        right: 0;
        cursor: pointer;
    }
    /*header form.search_box input {
        border: #b9c8d7 solid 1px;
        height: 20px;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 26px;
        right: 38px;
        text-align: left;
        line-height: normal;
        vertical-align: baseline;
    }*/
    header form.search_box i.fa-search {
        position: absolute;
        top: 29px;
        right: 20px;
    }
    header form.search_box i.fa-search:hover {
        opacity: 0.6;
    }

    header form.search_box input {
        transform: translate(6px);
        transition: all 0.5s;
        position: absolute;
        top: 34px;
        right: 38px;
        width: 0;
        height: 0px;
        margin: 0;
        padding: 0;
        border: #b9c8d7 solid 1px;
    }
    header form.search_box input.pop {
        transform: translate(0);
        position: fixed;
        top: 26px;
        right: 38px;
        width: 150px;
        height: 20px;
        background-color: #fff;
        border: #b9c8d7 solid 1px;
    }


    /*** site-navigation ***/
    div.site-navigation {
        display: none;
    }

    .nav_hbg {
        position: absolute;
        top: 20px;
        left: 20px;
    }
    .nav_hbg div {
        display: flex;
        flex-wrap: wrap;
        align-content: space-around;
        width: 30px;
        height: 30px;
        padding: 5px;
        border: 1px solid #000;
        box-sizing: border-box;
    }
    .nav_hbg div.clicked  {
        padding: 3px;
    }
    .nav_hbg div span {
        width: 100%;
        height: 2px;
        background-color: #000;
        transition: opacity 0.1s ease, transform 0.3s ease-in-out;
    }
    .clicked span:nth-child(1) {
        transform: translateY(7px) rotate(136deg);
    }
    .clicked span:nth-child(2) {
        opacity: 0;
    }
    .clicked span:nth-child(3) {
        transform: translateY(-7px) rotate(-136deg);
    }

    nav.nav-menu {
        position: fixed;
        top: 72px;
        left: 0;
        width: 300px;
        height: 100%;
        background-color: #b9c8d7;
        color: #000;
        transition: all 0.5s;
        transform: translate(-300px);
        z-index: 1000;
    }
    nav.nav-menu.open {
        transform: translate(0);
    }
    nav.nav-menu ul {
        margin: 0;
        padding: 1em;
        list-style-type: none;
    }
    nav.nav-menu ul li {
        padding: 1em 0;
        border-bottom: 1px solid #000066;
    }
    nav.nav-menu ul li a,
    nav.nav-menu ul li font {
        display: block;
        text-align: left;
        padding-left: 15px;
    }


    /*** TOP ***/
     div.article h3 {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 100%;
        display: inline;
    }
    div.article p {
        margin: 5px 0 0;
        padding: 0;
    }
    div.article p.blogtext {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    div.article p.blogcat,
    div.article p.blogtime {
        font-size: 70%;
        color: #999999;
        display: block;
    }
    div.article p.blogtime {
        margin: 0;
        position: unset;
    }
    div.article p.blogtime2 {
        font-size: 70%;
        color: #999999;
        text-align: left;
    }


    /*** 各ページ ***/
    .page-header {
        width: 80%;
        margin: 0 auto;
        padding: 10px 0;
    }

    .slick-arrow {
        width: 8vw;
        height: 11vw;
        bottom: -25%;
    }
    .prev_arrow, .next_arrow {
        width: 3.5vw;
        height: 3.5vw;
    }
    .prev_arrow_bg .prev_arrow {
        margin: 48% 0 0 40%;
    }
    .next_arrow_bg .next_arrow {
        margin: 48% 0 0 20%;
    }
    .slick-dotted.slick-slider {
        margin-bottom: 15vw;
    }
    .rules_slider,
    .improsive_slider {
        margin-bottom: 15%;
    }
    .rules_slider .slick-slide,
    .improsive_slider .slick-slide {
        width: calc(100vw - 50px);
    }
    .slick-dots {
        bottom: -18%;
    }
    #sousa video {
        width: 100%;
    }

    .mailform {
        font-size: 80%;
    }
    td input[type="text"], td textarea {
        width: 100%;
        padding: 2px 5px;
    }

    .policy {
        width: 100%;
        margin: 0 auto;
        font-size: 80%;
    }
    .policy h2 {
        font-size: 130%;
        font-weight: normal;
        border-left: #b9c8d7 solid 5px;
        padding: 0 0 0 8px;
        margin: 0 0 20px 0;
        line-height: 1.5;
    }
    .policy h3 {
        font-size: 115%;
        margin: 12px 0;
        padding: 0;
    }

    .error-box {
        padding: 8% 5%;
    }

}