@charset "UTF-8";

/* メディアクエリ（スマートフォン）
------------------------------- */
@media screen and (max-width: 480px) {
    /* 共通 */

    /* フォント関係 */
    .section_title {
        padding: 40px 0 60px;
    }
    
    .index{
        font-size: 2.2rem;
    }
    .sentence {
        font-size: 1.5rem;
        line-height: 1.3;
    }
    .visual_img img{
        height: 50vh;
        padding: 0;
    }
    .wrapper{
        width: 80%;
    }

    /* header
-------------------------------- */

/* ロゴ帯部分（スマホのみ）
------------------------------- */
.top_area{
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.top_area span img{
    width: 100px;
}

    .top_content {
        height: 360px;
        position: relative;
    }

    .top_content h1{
        display: none;
    }

    header h1{
        top: 30%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    header h1 img{
        max-width: 50px;
    }

    header .mainvisual_content{
        background-color: #B7617D;
    }
    
    header .copy {
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: 80%;
    }

    /* menuとグルテンフリーを横並びに */
    header .stecker{
        position: absolute;
        bottom: 30px;
        left: 30px;
    }
    header .stecker img{
        width: 80px;
        height: 80px;
    }

    header .copy {
        right: 30px;
        bottom: 30px;
        font-size: 2rem;
    }

    /* about
    -------------------------------- */
    
    .about_content {
        flex-direction: column-reverse;
    }
    
    .about_content .about_img{
        width: 100%;
        text-align: center;
    }
    .about_img img{
        width: 50%;
        padding: 0 0 40px 0;
    }
    
    .about_content .paragraph {
        padding: 50px 0;
        margin: 0 auto;
        width: 85%;
    }
    .about_content h3{
        font-size: 3rem;
        padding-bottom: 50px;
    }
    
    .about_content .sentence{
        font-size: 1.6rem;
        line-height: 1.9;
        max-width: 700px;
        text-align: left;
    }

    /* quality
    -------------------------------- */
    .quality_content .item{
        flex-direction: column;
    }
    .quality_content .paragraph{
        width: 100%;
        padding: 0;
        margin-bottom: 25px;
    }
    .quality_content .item_img img{
        position: static;
        width: 100%;
        margin-bottom: 20px;
    }
    
    .quality_content .border{
        margin: 0 auto 20px;
    }
    
    /* imgをparagraphにかぶせる */
    .quality_content .item_1 .item_img,.item_3 .item_img{
        margin-left: auto;
    }
    .quality_content .item_2 .item_img{
        margin-right: auto;
        width: 40%;
    }
    
    /* item_2の左右入れ替えを戻す */
    .quality_content .item_2 .paragraph{
        order: 1;
    }
    .quality_content .item_2 .item_img{
        order: 2;
    }

    /* service
-------------------------------- */
.service_content h3{
    padding-bottom: 20px;
}
.service_content .title_area{
    margin-bottom: 60px;
}
.service_content .img_area{
    flex-wrap: wrap;
}
.service_content .item_area{
    width: 46%;
    margin-bottom: 40px;
}
.service_content .item_area.second{
    margin-right: 0;
}

.service_content .item_area h4{
    color: #fff;
    font-size: 2rem;
    margin-bottom: 20px;
    font-weight: 400;
}

/* imgを正方形にする */
.service_content .item_img{
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #fff;
    background-color:rgba(255,255,255,0.1);
}
.service_content .item_img::before {
    content: "";
    display: block;
    padding-top: 100%;
}
.service_content .item_img img {
    position: absolute;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
/* materialを正方形に4つ並べる（ここまで） */


    /* lesson
    -------------------------------- */
    .lesson_content{
        width: 90%;
        margin: 0 auto;
    }
    .lesson_content h4{
        font-size: 1.7rem;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .lesson_content .lead{
        margin-bottom: 40px;
    }
    .lesson_content .material_content{
        margin-bottom: 60px;
    }
    
    /* materialを正方形に2つずつ並べる */
    .lesson_content .item div{
        width: 48%;
        margin: 1%;
    }
    /* materialを正方形に2つずつ並べる（ここまで） */

    .lesson_content .material span{
        font-size: 4vw;
    }

    .lesson_content .btn{
        margin-bottom: 60px;
    }
    
    /* online shop
    -------------------------------- */
    .online_shop_content{
        width: 80%;
        margin: 0 auto;
    }
    #online_shop h3{
        padding-bottom: 40px;
        font-size: 1.8rem;
    }

    .online_shop_content{
        flex-direction: column;
    }

    .online_shop_content .paragraph{
        width: 100%;
    }
    .online_shop_content .sentence{
        margin-bottom: 60px;
        line-height: 1.5;
    }
    .online_shop_content .btn_online{
        margin-bottom: 100px;
    }
    .online_shop_content .btn_online a{
        padding: 20px 50px;
        background-color: #fff;
        border-radius: 15px;
        color: #B7617D;
        font-weight: 900;
        font-size: 1.6rem;
        width: 100%;
    }

    .online_shop_content .online_img_1{
        margin: 0 0 0 auto;
    }

    .online_shop_content .online_img_1 img{
        right: 0;
        padding-right: 0;
    }

    /* access
    -------------------------------- */
    #access{
        padding-bottom: 40px;
    }
    .access_content{
        flex-direction: column;
        margin-bottom: 60px;
    }
    .access_content iframe{
        width: 100%;
    }
    .access_content .address_area{
        height: 100%;
    }
    .access_content .address_area .access{
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
    

    /* footer
    -------------------------------- */
    .footer_container{
        display: flex;
        flex-direction: row-reverse;
        margin-bottom: 40px;
        padding-top: 40px;
    }
    .footer_container .footer_menu{
        width: 50%;
    }
    .footer_container .logo{
        width: 50%;
        text-align: center;
    }

    footer .footer_menu ul{
        flex-direction: column;
    }
    footer .footer_menu ul li{
        margin: 15px 0;
        color: #fff;
        padding: 0 0 10px;
    }
    footer .footer_menu ul li.online_shop{
        border: none;
        padding: 0;
    }
    footer .footer_menu ul li.contact{
        padding: 0;
    }

    .sns_content li{
        margin-right: 40px;
    }

    footer .logo{
        text-align: center;
    }
    footer .logo img{
        padding: 20px 0;
        height: 150px;
    }

    footer .copyright{
        font-size: 1.3rem;
    }

}