/* sp */
@media (max-width: 767px) {

    body {
        padding: 0;
        margin: 0;
    }

    .story::before {
        width: 100%;
        left: 0;
        transform: skewY(-6deg);
    }

    .wrapper {
        max-width: none;
        width: 100%;
        margin: 0;
    }

    .line {
        width: 160px;
        height: 1.5px;
        margin-top: 15px;
        margin: 16px 0 0;
        margin-left: calc(-2 * 18px);
        background-color: #6aa791
    }



    /* ===========
     NONE
    =========== */
    .header {
        display: none;
    }

    /* ===========
     HERO
    =========== */

    /* === logo === */
    .hero_logo {
        position: absolute;
        top: 20px;
        left: 20px;
        z-index: 2;
        display: block;
    }

    .hero_logo img {
        width: 60px;
        height: auto;
        display: block;
    }

    /* === logo === */

    .hero {
        position: relative;
        height: 100svh;
        overflow: hidden;
        padding-top: 0;
    }

    .hero_inner {
        position: relative;
        display: block;
        height: 100%;
        width: 100%;
        margin: 0;
    }

    .hero_content {
        position: absolute;
        bottom: 0;
        left: 20px;
        right: 20px;
        margin: 0;
        padding-top: 0;
        width: auto;
        z-index: 2;
        color: #ffffff;
    }

    .hero_title {
        margin: 0 0 10px;
        font-size: 28px;
        line-height: 1.15;
        color: #ffffff;
    }

    .hero_subtitle {
        margin: 0 0 6px;
        font-size: 14px;
        line-height: 1.4;
        color: rgba(255, 255, 255, 0.9);
    }

    .hero_text {
        margin: 0;
        font-size: 10px;
        line-height: 1.6;
        color: rgba(255, 255, 255, 0.9);
    }

    /* === visual === */

    .hero_visual {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .hero_visual img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        display: block;
    }

    /* === INSTAGRAM === */
    .ig_logo {
        position: fixed;
        bottom: 10px;
        right: 10px;
        z-index: 2;
    }

    .ig_logo img {
        width: 72px;
        height: auto;
        display: block;
    }



    /* ===========
     SCENE
    =========== */
    .scene {
        padding: 72px 0 100px;
    }

    .scene_inner {
        width: auto;
        margin: 0 30px;
        text-align: left;
    }

    .scene_title {
        font-size: 24px;
        line-height: 1;
    }

    .scene_text {
        margin-top: 40px;
        display: block;
    }

    .scene_text p {
        margin: 0;
        font-size: 14px;
        line-height: 3.2;
        color: #6aa79a;

    }



    /* ===========
     STORY
    =========== */
    .story {
        padding: 72px 0 100px;
    }

    .story_inner {
        width: auto;
        margin: 0 20px;
        text-align: left;
    }

    .story_inner {
        width: auto;
        margin: 0 30px;
        text-align: left;
    }

    .story_title {
        font-size: 24px;
        line-height: 1;
    }

    .story_text {
        margin-top: 14px;
        display: block;
    }


    /* ===========
     ABOUT
    =========== */

    .about {
        padding: 72px 0 100px;
    }

    .about br {
        display: none;
    }

    .about_inner {
        width: auto;
        margin: 0 30px;
        text-align: left;
    }

    .about_text {
        margin-top: 40px;
        display: block;
        line-height: 3.2;
    }

    .about_text p {
        display: inline;
    }

    .story_scroll {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .story_columns {
        display: flex;
        gap: 40px;
        padding: 40px 20px;
        width: max-content;
    }

    .story_columns p {
        writing-mode: vertical-rl;
        white-space: nowrap;
        font-size: 16px;
        line-height: 1.8;
    }

    /* .story_columns {
        display: flex;
        flex-direction: row-reverse;
    } */


    /* ===========
     PROGRAM
    =========== */

    .program {
        background-color: #dbe95e;
        padding: 0;
    }

    .program_board {
        display: block;
        padding: 72px 0 80px;
    }

    .program_content {
        width: 100%;
    }

    .program_label {
        margin: 0;
        color: #4ea29b;
        font-family: 'Inter', sans-serif;
        font-size: 12px;
        font-weight: 500;
    }

    .program_title {
        margin: 5px 0 0;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 24px;
        font-weight: 600;
        line-height: 1.4;
    }

    .program_text {
        margin-top: 40px;
        text-align: justify;
    }

    .program_text p {
        margin: 0;
        color: #000000;
        font-family: 'Inter', sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 2.4;
        display: inline;
    }

    .program_line {
        width: 220px;
        height: 1.5px;
        margin-top: 20px;
        margin: 16px 0 0;
        background-color: #000000;
    }

    .program_visual {
        width: 100%;
        padding: 40px 0 0;
        text-align: center;
    }

    .program_visual img {
        width: 140px;
        /* 好きなサイズ */
        height: auto;
    }



    /* ===========
     FOOTER
    =========== */
    .footer {
        padding: 50px 0 50px;
        background-color: #4ea29b;
        overflow: hidden;
    }

    .footer_inner {
        width: auto;
        margin: 0 20px;
        text-align: center;
    }

    .footer_links {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .footer_link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;

        color: #ffffff;
        text-decoration: none;
        font-family: 'Inter', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        line-height: 1.5;
        word-break: break-word;
    }

    .footer_icon {
        display: inline-block;
        line-height: 1;
        font-size: 16px;
    }

    .footer_operator {
        margin: 30px 0 0;
        color: #ffffff;
        font-family: 'Inter', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        line-height: 1.6;
    }

    .footer_copy {
        margin: 22px 0 0;
        color: #ffffff;
        font-family: 'Inter', 'Noto Sans JP', sans-serif;
        font-size: 14px;
        line-height: 1.6;
    }

}