@media screen and (max-width:768px) {
    .concept {
        margin-top: 25px;
    }

    .concept-title {
        position: relative;
        font-size: 1rem;
        margin-bottom: 4em;
    }

    .concept-title::after {
        content: '';
        position: absolute;
        width: 130px;
        height: 2px;
        background-color: white;
        bottom: -25%;
        left: -1%;
    }

    .concept-text {
        font-size: .85rem;
    }

    .concept-logo {
        padding-top: 1em;
        width: 160px;
    }

    .about-title {
        padding-top: 2em;
    }

    .what {
        padding-top: 1em;
        padding-left: 0;
        font-size: 1.3rem;
    }

    .what::after {
        top: 40%;
        right: -70%;
        font-size: 1rem;
    }

    .about-contents {
        display: block;
        margin-top: 1em;
    }

    .about-text {
        width: 100%;
        font-size: .85rem;
    }

    .iwate-img {
        width: 80%;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .slide-pic {
        margin-top: 1em;
    }

    /* ------------------ベン図------------------------ */
    .flow {
        display: block;
        padding-top: 3em;
    }

    .season {
        width: 75%;
        margin-right: auto;
        margin-left: auto;
        line-height: 1.3;
        overflow: hidden;
    }


    .season li {
        display: none;
    }

    .venn {
        max-width: 380px;
        min-width: 250px;
        margin-right: auto;
        margin-left: auto;
    }

    .venn-pc {
        display: none;
    }

    .venn-sp {
        display: block;
        width: 100%;
    }

    .flow-text {
        margin: 50px auto;
        margin-bottom: 100px;
        font-size: .85rem;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding: 0 24px;
    }


    /* ------------------プログラム-------------------- */
    .program01,
    .program02-contents,
    .program03 {
        margin: auto 40px;
    }

    #calendar, 
    .schedule-contents .schedule-pic,
    .schedule-contents .indent {
        margin: auto 20px;
    } 

    .program01-title h2,
    .program02-title h2,
    .program03-title h2 {
        font-size: 1rem;
        margin-left: 5em;
    }

    .program02-title h2 {
        margin: 7em 0 2em 5em;
        font-size: 1rem;
    }

    .program01-contents,
    .program02-text,
    .program03-text,
    .schedule-contents {
        font-size: .85rem;
    }

    .program02-text {
        margin-left: auto;
    }

    .program01-link {
        display: block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .program01-btnBlock {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-left: -10px;
    }

    .program-btn01,
    .program-btn02 {
        margin: 3em 0 0 auto;
    }

    .program-btn01 img {
        width: 100%;
        max-width: 250px;
    }

    .program01-pic {
        width: 100%;
        padding-top: 1em;
    }
    .program01-picVeg {
        padding-top: 1em;
    }

    .program02-memberPic {
        width: 80%;
        margin-right: auto;
        margin-left: auto;
    }

    .program02-memberPic img {
        width: 100%;
    }

    .program02-fudaiMemberTitle {
        font-size: 1.3rem;
    }

    .program02-fudaiMemberTitle::before {
        width: 130px;
        top: -100%;
        left: 30%;
    }

    #calendar {
        margin-bottom: 2em;
    }


    .schedule-pic {
        width: 100%;
        margin-bottom: 5em;
    }

    /* ------------------募集内容-------------------- */

    .recBlock {
        padding-top: 100px;
        padding-bottom: 50px;
        background: #ffffff;
        overflow: hidden;
    }

    .recTitle {
        font-size: 1.3rem;
        font-weight: 700;
        line-height: .1;
        position: relative;
        z-index: 2;
        color: rgb(0, 0, 0);
        top: -1px;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .recTitle::after {
        left: 17%;
        padding-top: 2em;
    }

    .recContent {
        display: block;
        margin-top: 70px;
    }

    .recDetail {
        padding-right: 0;
    }


    .recNatureText {
        font-size: .9rem;
    }

    .recNatureNote {
        font-size: .9rem;
    }


    .recNatureTitle {
        font-size: .9rem;
    }

    
    .recListImages {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        gap: 20px;
        max-width: 100%;
        width: 100%;
        padding-left: 0;
    }


    .recListImages li {
        width: 45%;
        margin-bottom: 0;
    }

    .recLogo {
        width: 25% !important;
        margin-left: auto;
        margin-right: auto;
    }

    .recImg-pc {
        display: none;
    }

    .imp {
        font-size: 1rem;
    }


    /* --------------------ご案内---------------------- */

    .guide-title {
        font-size: 1.3rem;
    }

    .guide-title::after {
        top: 6%;
        left: 12%;
        padding-top: 2em;
    }

    .guide-tabLink {
        font-size: 1rem;
    }

    .guide-tabsContent {
        margin-bottom: 3em;
    }
    .free {
        font-size: 1.4rem;
        font-weight: 500;
    }

    /* ---------------------ワークベースについて----------------------- */
    .blue-baseText {
        font-size: .85rem;
        margin: auto 20px;
    }

    .blue-baseList {
        padding-left: 0;
    }

    
    /* -----------------------/ワークベースについて----------------------- */

    /* -------------------------普代村について--------------------------- */
    .fudai-text {
        margin: auto 40px;
        font-size: .85rem;
    }


    .fudai-text strong {
        font-size: 1.1rem;
    }

    .fudaiMember {
        margin: 7em 40px auto 40px;
    }

    .fudaiMember-title {
        font-size: 1.3rem;
    }

    .fudaiMember-title::before {
        width: 130px;
        top: -150%;
        left: 30%;
    }

    .fudaiMember01,
    .fudaiMember02,
    .fudaiMember03 {
        display: block;
    }

    .member-pic {
        width: 80%;
        margin-right: auto;
        margin-left: auto;
    }

    .member-pic img {
        width: 100%;
    }

    .member-text {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        font-size: .85rem;
    }



    /* -------------------------/普代村について--------------------------- */

    /* -------------------------運営者について--------------------------- */
    .profile {
        display: block;
    }

    .profile-pic {
        width: 50%;
        margin-right: auto;
        margin-left: auto;
    }

    .profile-pic img {
        width: 100%;
    }

    .profile-text {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        font-size: .85rem;
    }

    .story-text {
        margin: 2em 40px auto 40px;
        font-size: .85rem;
    }

    .company-link {
        margin: 1em 40px auto 40px;
    }


    /* -------------------------/運営者について--------------------------- */


    /* --------------------留村プログラムで大事にすること---------------------------- */
    .important {
        margin: auto 40px;
    }

    .important-title {
        padding-top: 2em;
    }

    .important-jaTitle {
        font-size: 1.3rem;
        margin-bottom: 3em;
    }

    .im-sec01,
    .im-sec02,
    .im-sec03 {
        padding-bottom: 4em;
    }

    .im-sec01::after {
        width: 440px;
        height: 440px;
        bottom: -40%;
        right: 5%;
    }

    .im-sec03::after {
        width: 350px;
        height: 350px;
        bottom: 10%;
        right: 5%;
    }

    .im-sec01 h4,
    .im-sec02 h4,
    .im-sec03 h4 {
        font-size: 1rem;
        position: relative;
        padding-left: 3.5em;
    }

    .im-sec01 h4::before {
        width: 90px;
        top: -75%;
        left: -4%;
    }

    .im-sec02 h4::before {
        width: 90px;
        top: -70%;
        left: -4%;
    }

    .im-sec03 h4::before {
        width: 90px;
        top: -70%;
        left: -4%;
    }

    .im-text01, 
    .im-text02,
    .im-text03 {
        font-size: .85rem;
    }

    /* ----------------/留村プログラムで大事にすること----------------------- */

    /* ------------------フッター---------------------------------------- */
    .foot {
        padding-top: 5em;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }


    .foot-logo {
        width: 100%;
    }

    .logo {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .foot-copy {
        font-size: 1rem;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .foot-company {
        width: 100%;
    }

    .footName {
        font-size: 1em;
    }

    .footAddress {
        font-size: .85rem;
    }
}



@media screen and (max-width:430px) {
    .br-sp {
        display: block;
    }

    .br-pc {
        display: none;
    }
    /* ------------------ヘッダー・ナビゲーション--------------------- */
    
    .title {
        font-size: .7rem;
        width: 100%;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .title {
        font-size: .7rem;
    }
    :root .openbtn {
        top: 15px;
    }


    .navLi01::after,
    .navLi02::after,
    .navLi03::after,
    .navLi04::after {
        bottom: -5%;
        left: 35%;

    }

    .navLi02::after {
        left: 37%;
    }

    .navLi03::after {
        left: 37%;
    }

    .navLi04::after {
        left: 39%;
    }
    
    /* -------------------ボタン------------------------ */
    .vert-text {
        /* position: absolute; */
        bottom: 0;
        right: 0;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .vert-text {
        bottom: 3.3rem;
    }

    /* Firefox */
    _:lang(x)::-moz-placeholder,
    .vert-text {
        bottom: 5em;
    }

    .btn-circle {
        padding-top: 2.35em;
    }


    .slide__content {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
    }

    .slide__img {
        width: 43vw;
        height: 30vh;
        min-width: 11.5rem;
    }

    /* ------------------ロゴ------------------------- */
    .top-logo {
        bottom: 5rem;
        width: 250px;
    }

    .top-logo h2 {
        font-size: 1rem;
        width: 350px;
    }

    /* ---------------------コンセプト----------------------- */
    .concept-logo {
        width: 130px;
        margin-left: auto;
        margin-right: auto;
    }

    .parallax-bg {
        height: 40vh;
    }

    /* ----------------------留村とは----------------------- */
    .about-text {
        font-size: .8rem;
    }




    /* ------------------プログラム-------------------- */
    .program01,
    .program02-contents,
    .program03 {
        margin: auto 40px;
    }

    .program01-title h2,
    .program02-title h2,
    .program03-title h2 {
        font-size: .9rem;
        margin-left: 0;
        padding-left: 3.5em;
        width: 330px;
    }

    .program02-title h2 {
        margin: 7em 0 2em 0;
        font-size: .9rem;
    }

    .program01-title h2::before {
        width: 80%;
        top: -50%;
        left: -3%;
    }

    .program02-title h2::before {
        width: 80%;
        top: -100%;
        left: -5%;
    }

    .program03-title h2::before {
        width: 80%;
        top: -50%;
        left: -5%;
    }

    .program-btn01 img {
        width: 100%;
        max-width: 140px;
    }

    .schedule-pic {
        padding-bottom: 2em;
    }

    /* -------------------------プログラム02 普代村について--------------------------- */

    .fudai-text strong {
        font-size: 1rem;
    }

    .program02-fudaiMemberTitle {
        font-size: 1.1rem;
        line-height: 1.8;
    }

    .program02-fudaiMemberTitle::before {
        width: 110px;
        top: -60%;
        left: 15%;
    }

    input+label {
        font-size: .8rem;
    }

    

    /* -------------------------/普代村について--------------------------- */

    .parallax-bg02 {
        height: 40vh;
    }

    /* ------------------募集内容-------------------- */

    .recBlock {
        padding-top: 50px;
    }

    .recNatureList {
        width: 100%;
        margin: 26px 0 50px;
    }

    .recNatureBlock {
        border-bottom: 1px solid #393939;
        padding: 30px 0 10px;
    }

    .recBlockHeading {
        width: 135px;
        text-indent: 1px;
        font-weight: 700;
        margin: 0;
        font-size: .9rem;
        letter-spacing: 0;
    }


    .recNatureText {
        font-size: .8rem;
    }

    .recNatureNote {
        font-size: .8rem;
    }

    .free {
        font-size: 1.2rem;
        font-weight: 700;
    }

    .cost-attention {
        font-size: .8rem;
        font-weight: 300;
        margin-bottom: 0;
        -webkit-margin-after: 0;
                margin-block-end: 0;
    }


    .recNatureTitle {
        font-size: .9rem;
    }


    .recListImages {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        gap: 20px;
        max-width: 100%;
        width: 100%;
        padding-left: 0;
    }


    .recListImages li {
        width: 45%;
        margin-bottom: 0;
    }

    .recLogo {
        width: 25% !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* --------------------ご案内---------------------- */

    .guide-title {
        font-size: 1.3rem;
    }

    .guide-title::after {
        top: 6%;
        left: 12%;
        padding-top: 2em;
    }

    .guide-tabLink {
        font-size: 1rem;
    }

    .guide-tabsContent {
        margin-bottom: 3em;
    }

    /* ---------------------ワークベースについて----------------------- */
    .blue-baseText {
        font-size: .85rem;
        margin: auto 20px;
    }

    .blue-baseList {
        padding-left: 0;
    }

    .sdgs-text {
        font-size: .8rem;
    }

    .sdgs-pic {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }


    /* -----------------------/ワークベースについて----------------------- */

    /* -------------------------普代村について--------------------------- */

    .fudai-text strong {
        font-size: 1rem;
    }

    .fudaiMember-title {
        font-size: 1.1rem;
    }

    .fudaiMember-title::before {
        width: 110px;
        top: -90%;
        left: 15%;
    }


    /* -------------------------/普代村について--------------------------- */


    /* --------------------留村プログラムで大事にすること---------------------------- */
    
    .important-jaTitle {
        font-size: 1.2rem;
    }


    .im-sec01::after {
        width: 350px;
        height: 350px;
        bottom: -20%;
        right: 0%;
    }

    .im-sec03::after {
        width: 280px;
        height: 280px;
        bottom: -15%;
        right: 6%;
    }

    .im-sec01 h4,
    .im-sec02 h4,
    .im-sec03 h4 {
        font-size: .85rem;
    }

    .im-sec01 h4::before {
        width: 90px;
        top: -50%;
        left: -9%;
    }

    .im-sec02 h4::before {
        width: 90px;
        top: -70%;
        left: -8%;
    }

    .im-sec03 h4::before {
        width: 90px;
        top: -50%;
        left: -7%;
    }

    .im-text01,
    .im-text02,
    .im-text03 {
        font-size: .85rem;
    }

    /* ----------------/留村プログラムで大事にすること----------------------- */

    /* ------------------フッター---------------------------------------- */
    .foot {
        padding-top: 8em;
    }

    .foot-copy {
        font-size: .8rem;
        line-height: 1.6;
    }

    .logo {
        max-width: 370px;
    }

    .foot-company {
        width: 80%;
        margin: 20px 40px;
    }

}

@media screen and (max-width:390px) {
    .header {
        padding: 5px 0px 15px 20px;
    }
    .concept-text {
        font-size: .8rem;
    }

    .about-text {
        width: 100%;
        font-size: .75rem;
    }

    .program-staff {
        top: -355%;
        right: 5%;
        z-index: -1;
    }

    .theme-contents {
        padding-top: 2em;
    }

    .theme-contents h3::before {
        width: 90px;
        height: 100vh;
        top: -105%;
        left: 15%;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .theme-contents h3 {
        font-size: 1rem;
    }


    .recBlockHeading {
        width: 105px;
        font-size: .8rem;
    }

    .important-jaTitle {
        font-size: 1.1rem;
    }

    _::-webkit-full-page-media,
    _:future,
    :root .important-jaTitle {
        font-size: 1rem;
    }
    /* :root .im-sec03 h4::before {
        top: -30%;
        left: -7%;
    } */

    .im-sec01::after {
        width: 300px;
        height: 300px;
        bottom: -20%;
        right: 0%;
    }

    .im-sec03::after {
        width: 250px;
        height: 250px;
        bottom: -15%;
        right: 5%;
    }

    .im-sec01 h4,
    .im-sec02 h4,
    .im-sec03 h4 {
        font-size: .75rem;
    }

    .im-sec01 h4::before {
        width: 90px;
        top: -85%;
        left: -6%;
    }

    .im-sec02 h4::before {
        width: 90px;
        top: -130%;
        left: -6%;
    }

    .im-sec03 h4::before {
        width: 90px;
        top: -80%;
        left: -7%;
    }

}

@media screen and (max-width:375px) {
    .title {
        font-size: .65rem;
        width: 100%;
    }

    input+label {
        font-size: .8rem;
    }

    .program-staff {
        top: -365%;
    }

    .im-sec01 {
        padding-top: 1em;
    }
    .im-sec01 h4::before {
        width: 90px;
        top: -80%;
        left: -6%;
    }

    .im-sec02 h4::before {
        width: 90px;
        top: -100%;
        left: -8%;
    }

    .im-sec03 h4::before {
        width: 90px;
        top: -70%;
        left: -7%;
    }

    .footAddress {
        font-size: .7rem;
    }
}