@charset "UTF-8";

body{
    line-height: 2;
}

.font72{
    font-size: 72px;
    color: #002B05;
    font-weight: 600;
}

.font56{
    font-size: 56px;
    font-weight: 600;
}

.font24{
    font-size: 24px;
    font-weight: 600;
}

.font20{
    font-size: 20px;
    font-weight: 600;
}

.font32{
    font-size: 32px;
    font-weight: 600;
}

.font36{
    font-size: 36px;
    font-weight: 600;
}

.font16b{
    font-weight: bold;
}

.font40c{
    font-family: "Fredericka the Great", serif;
    font-size: 40px;
    color: #002B05;
    line-height: 1;
}

.font40{
    font-size: 40px;
    font-weight: 600;
}



.sp01{
    margin: 50px auto;
}

.sp02{
    margin: 0 auto 50px;
}

.sp03{
    margin: 32px auto;
}

.sp04{
    gap: 32px;
    justify-content: center;
}


.bc-g{
    background-color: #CADEC0CC;
    padding: 50px 0;
}

.bc-p{
    background-color: #FEF4F3;
    max-width: 750px;
    height: auto;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.5);
}

.bc-hana01{
    max-width: 455px;
    line-height: 88px;
    background: url(../images/flow_03_455x87.png) center center no-repeat;
    margin: 50px auto;
}


.top-nayami01{
    align-items: center;
    text-align: left;
}

.top-text01 .flex-box{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 16px 80px;
}

.top-text01 p{
    line-height: 32px;
    margin-left: 16px;
}

.bc-g .flex{
    justify-content: center;
}


.top-waku01{
    max-width: 520px;
}

.top-waku02{
    max-width: 550px;
}

.bd01{
    border-bottom: 3px solid #002B05;
    border-radius: 1px;
    margin: 0 auto;
    display: inline-block;
    padding: 0 16px;
}

.mv img{
    display: block;
    margin: 0 -90px 0 auto;
}

.mv h1{
    text-align: left;
    margin: -650px 0 550px 0;
    text-shadow: 0 20px 4px rgba(227, 217, 208, 1);
}

.top-con01{
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
}

.top-con01 img{
    box-shadow: -16px 16px 0 0 rgba(80, 117, 62, 0.5);
    border-radius: 15px;
}

.top-con01 p{
    padding-top: 16px;
}

.top-con01 a{
    transition: transform 0.3s;
}

.top-con01 a:hover{
    transform: translateY(-16px);
}

.top-con02{
    margin: 50px auto;
    justify-content: center;
        /* 確認要 */
        flex-wrap: wrap;
    gap: 40px;
}

.top-con02 dl div{
    margin-bottom: 16px;
}

.top-con02 dl dt{
    margin-right: 40px;
}

.top-waku03{
    width: 120px;
    line-height: 40px;
    border: 1px solid #292626;
    border-radius: 20px;
    background-color: #FEF4F3;
}

.top-waku04{
    max-width: 850px;
    text-align: left;
}

.top-skill{
    margin: 50px auto 16px;
    justify-content: center;
    gap: 16px;
        /* 確認要 */
        flex-wrap: wrap;
}

.top-faq{
    margin: 100px auto 50px;
}

.top-q{
    max-width: 948px;
    border-top: 1px solid #002B05;
    padding: 24px 32px 40px;
    margin: 0 auto;
    text-align: left;
}

.top-q:last-child{
    border-bottom: 1px solid #002B05;
}

.q-text01{
    padding: 0 16px;
    margin-bottom: 32px;
}

.q-text01::after{
    padding-left: 8px;
    content: "-";
}

.q-text01::before{
    padding-right: 8px;
    content: "-";
}

.q-text02{
    align-items: center;
}

.top-q .top-q01{
    align-items: center;
    gap: 40px;
    padding: 0 24px;
    text-align: left;
}

.top-q .top-q02{
    align-items: center;
    gap: 48px;
    padding: 0 32px;
    text-align: left;
}


/* フッターの文字・ボタン */
.ft-text, .to-top{
    line-height: 1;
}



/* レスポンシブ対応 */
@media screen and (max-width:1620px){

    .mv img{
        /* max-width: 1300px;
        height: auto;
        margin: 0 auto; */
        display: none;
    }

    /* .mv h1{
        margin: -300px 0 200px;
        text-align: right;
    } */

    .main-visual {
        background-image: url(../images/mv02_1440x800.png);
        background-size: cover;
        background-position: center;
        height: 100vh; /* 画面の高さいっぱい */
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: white;
        position: relative;
      }
      
      .main-visual::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.3); /* 文字を見やすくする半透明のオーバーレイ */
        z-index: 1;
      }
      
      .main-visual-content {
        position: relative;
        z-index: 2;
        padding: 1rem;
      }
      
      .main-visual-content h1 {
        color: #FEF4F3;
        /* font-size: 3rem; */
        margin:0 0 -100px;
        text-align: right;
        text-shadow: none;
      }
}


@media screen and (max-width:1300px){
    .mv img{
        max-width: 1000px;
        height: auto;
    }

    .mv h1{
        margin: -150px 0 0;
    }

    .font56 span{
        display: block;
        line-height: 1;
    }
}


@media screen and (max-width:1000px){
    .mv img{
        max-width: 768px;
    }

    .font72{
        font-size: 64px;
    }

    .font56{
        font-size: 40px;
    }

    .font36{
        font-size: 32px;
    }

    .sp02 .font24{
        text-align: left;
        margin: 0 20px;
        line-height: 1.5;
    }

    .bd01{
        line-height: 1.5;
    }

    .bd01 span{
        display: block;
    }

    .top-waku04{
        max-width: 750px;
    }

    .top-nayami01{
        flex-direction: column-reverse;
    }
}


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

    .main-visual {
        height: 60vh;
      }

    .mv h1{
        margin: 0;
    }

    .font72{
        font-size: 48px;
    }

    .font56{
        font-size: 32px;
    }

    .font36, .font32{
        font-size: 28px;
        font-weight: bold;
    }

    .font24{
        font-size: 20px;
        text-align: left;
        margin: 0 20px;
    }

    .top-con01 .font24{
        text-align: center;
    }

    .font40{
        font-size: 32px;
        font-weight: bold;
    }

    .sp01{
        margin: 30px auto;
    }

    .bc-p{
        margin: 0 10px;
        padding: 40px 20px;
    }

    .top-nayami01{
        text-align: left;
    }

    .top-nayami02{
        width: 250px;
        height: auto;
    }

    .top-text01 .flex-box{
        margin: 0 30px 16px;
    }

    .sp04{
        flex-direction: column;
        gap: 0;
        justify-content: center;
    }

    .sp04 img{
        width: 100px;
        height: auto;
        margin: 0 auto;
    }

    .top-con01 img{
        width: 280px;
        height: auto;
    }

    .top-waku02{
        margin: 0 auto;
    }

    .top-con02{
        margin: 50px 20px;
    }

    .top-con02 img{
        width: 250px;
        height: auto;
    }

    .top-q{
        padding: 24px 0 40px;
    }

    .top-q .top-q01{
        gap: 24px;
        padding: 0 16px 16px;
        line-height: 1.5;
    }
    
    .top-q .top-q02{
        gap: 8px;
        padding: 0 16px;
        line-height: 1.5;
    }
}

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

    .mv img{
        /* height: 280px;
        object-fit: cover;
        object-position: bottom; */
        display: none;
    }

    /* .mv h1{
        background: url(../images/hana01_80x76.png) 10% center no-repeat;
        padding: 40px 0 20px;
        text-align: center;
    } */

    span{
        display: block;
    }

    .top-con02 dl div{
        flex-direction: column;
    }

    .top-waku02{
        padding: 0 8px;
    }

    .bc-hana01{
        background-size: 90%;
        max-width: 320px;
        margin: 20px auto 50px;
    }

    .font72{
        font-size: 32px;
    }

    .font56{
        font-size: 20px;
    }

    .font36{
        font-size: 20px;
    }
    
    .font32{
        font-size: 24px;
    }

    .font24{
        font-size: 16px;
    }

    .font20{
        font-size: 16px;
        font-weight: bold;
    }

    .top-nayami02{
        width: 150px;
        height: auto;
    }

}











