@charset "UTF-8";


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

    .spNone {
        display: none;
    }

    .pcNone{
        display: block;
    }

/* cmn_maxbox */

.cmn_maxbox_650,
.cmn_maxbox_700,
.cmn_maxbox_800,
.cmn_maxbox,
.cmn_maxbox_1200,
.cmn_maxbox_1400{
    padding-left: 3%;
    padding-right: 3%;
}

/* cmn ///////////////////////////////////// */

/* header */

.header_infobar{
    height: 60px;
    padding-left: 3%;
}

.header_btn{
    width: 60px;
    height: 60px;
}

.header_btn.shop{
    padding-top: 0px;
    background-position: center 15px;
}

.header_btn.contact{
    padding-top: 0px;
    background-position: center 18px;
}

/* footer */

.footer_top{
    padding-left: 3%;
    padding-right: 3%;
}

/* lesson ///////////////////////////////////// */

.lesson_profile_contents > div > div > div{
    padding: 0 40px;
}

.lesson_profile_contents > div > div > div p{
    background-image: none;
    border: dashed 1px #9580a1;
    border-radius: 5px;
}

.lesson_profile_contents > div > div > div p::after{
    content: none;
}



}




















@media (max-width: 800px) {
    
/* font-size */

.fs14{
    font-size: 1.3rem;
}

.fs15{
    font-size: 1.4rem;
}

.fs16{
    font-size: 1.5rem;
}

.fs18{
    font-size: 1.7rem;
}

.fs20{
    font-size: 1.9rem;
}

.fs21{
    font-size: 2.0rem;
}

.fs24{
    font-size: 2.2rem;
}

.fs28{
    font-size: 2.5rem;
}

.fs30{
    font-size: 2.6rem;
}

.fs32{
    font-size: 2.8rem;
}

.fs36{
    font-size: 3.2rem;
}

.fs48{
    font-size: 3.6rem;
}

/* box_inner */

.cmn_boxinner_50{
    padding-top: 40px;
    padding-bottom: 40px;
}

.cmn_boxinner_80{
    padding-top: 65px;
    padding-bottom: 65px;
}

.cmn_boxinner_100{
    padding-top: 80px;
    padding-bottom: 80px;
}

/* box_outer */

.cmn_boxouter_50{
    margin-top: 40px;
    margin-bottom: 40px;
}


.cmn_boxouter_80{
    margin-top: 65px;
    margin-bottom: 65px;
}


.cmn_boxouter_100{
    margin-top: 80px;
    margin-bottom: 80px;
}

/* padding */

.pt50{
    padding-top: 40px;
}

.pt80{
    padding-top: 65px;
}

.pt100{
    padding-top: 80px;
}

.pb50{
    padding-bottom: 40px;
}

.pb80{
    padding-bottom: 65px;
}

.pb100{
    padding-bottom: 80px;
}

/* margin */

.mt50{
    margin-top: 40px;
}

.mt80{
    margin-top: 65px;
}

.mt100{
    margin-top: 80px;
}

.mb50{
    margin-bottom: 40px;
}

.mb60{
    margin-bottom: 45px;
}

.mb80{
    margin-bottom: 65px;
}

.mb100{
    margin-bottom: 80px;
}

/* cmn ///////////////////////////////////// */

/* footer */

.footer_top > div{
    display: block;
}

.footer_sns{
    position: relative;
    margin: 0 auto 30px;
}

.footer_top_left{
    margin-bottom: 30px;
}

.footer_nav{
    display: block;
}

.footer_nav li{
    text-align: center;
}

.footer_nav li::after{
    content: none;
}

.footer_top_left > a{
    text-align: center;
}

.footer_top_right{
    width: 100%;
    text-align: center;
}


/* cmn_mainimg */

.cmn_mainimg{
    height: 400px;
}

/* cmn_subimg */

.cmn_subimg{
    height: 180px;
}

/* cmn_dl */

.cmn_dl > div{
    display: block;
    margin-bottom: 10px;
}

.cmn_dl > div:last-of-type{
    margin-bottom: 0;
}

.cmn_dl > div dt{
    width: 100%;
    padding: 15px 20px 0 20px;
    border-right: none;
    font-weight: 700;
}

.cmn_dl > div dd{
    width: 100%;
    padding: 15px 20px;
}


/* home ///////////////////////////////////// */

/* home_mainimg */
.home_mainimg{
    height: 465px;
}

.home_maintitle{
    height: 400px;
    width: 150px;
}

.home_maintitle > figure{
    height: 350px;
}

.home_maintitle > figure img{
    height: 100%;
}

.home_body .swiper-container-fade .swiper-slide > img:first-of-type,
.home_body .swiper-container-fade .swiper-slide > img:nth-of-type(2){
    width: calc(50% - 75px);
}

/* home_about */
.home_sub_link > div h2{
    font-size: 2.2rem;
    letter-spacing: 0;
}

/* home_sub_link */

.home_sub_link > div{
    padding: 70px 30px 40px;
}

/* home_copyright */

.home_copyright{
    padding-top: 60px;
    padding-bottom: 75px;
}

.home_copyright > div > div{
    background-image: none;
    border: dashed 1px #9580a1;
    border-radius: 5px;
}

.home_copyright > div > div::after{
    content: none;
}

/* home_news */

.home_news > div {
    display: block;
}

.home_news_list{
    width: 100%;
    height: 300px;
    margin-right: 0px;
    margin-bottom: 30px;
}

.home_facebook{
    width: 100%;
    text-align: center;
}

/* iserozashi ///////////////////////////////////// */

.iserozashi_about_1 h2{
    line-height: 1.3;
}

.iserozashi_about > div > h3{
    margin-bottom: 20px;
}

.iserozashi_about > div{
    padding: 20px 30px;
}

.iserozashi_about_2 .cmn_maxbox ul li{
    margin-bottom: 110px;
}

.iserozashi_about_2 .cmn_maxbox ul li:last-of-type{
    margin-bottom: 30px;
}

.iserozashi_about_2 .cmn_maxbox ul li > div h3{
    padding: 10px 30px 20px;
}

.iserozashi_about_2 .cmn_maxbox ul li > div p{
    padding: 30px 30px 0;
}

.iserozashi_list ul li{
    width: 32%;
    margin-bottom: 50px;
}


/* lesson ///////////////////////////////////// */

.lesson_profile_contents > div > div > h3{
    padding: 20px 30px;
}

.lesson_profile_contents > div > div > p{
    padding: 20px 30px 50px;
}

.lesson_profile_contents > div > div > div{
    padding: 0 30px;
}

.lesson_exhibition> div > ul > li{
    display: block;
    padding: 12px 20px 12px 20px;
}

.lesson_exhibition> div > ul > li::before{
    content: none;
}

.lesson_exhibition> div > ul > li .fs13{
    width: 100%;
    font-weight: bold;
}

.lesson_exhibition> div > ul > li > div{
    width: 100%;
}

.lesson_classroom > div > ul > li > div > h3{
    padding: 15px 25px;
}

.lesson_classroom > div > ul > li > div > dl > div{
    padding: 0 25px;
}

/* contact ///////////////////////////////////// */


.contact_works ul li{
    width: 49%;
    margin-bottom: 10px;
}

.contact_works ul li.delay2,
.contact_works ul li.delay4,
.contact_works ul li.delay6{
    animation-delay: 0s;
}

.privacy_check{
    width: 450px;
}

.contact_form .input05{
    left: 50px;
}

/* contact_form */

.contact_body .cmn_dl > div dt{
    width: 100%;
    font-weight: bold;
}

.contact_body .cmn_dl > div dd{
    width: 100%;
}

.contact_select > dd::after{
    top: 29px;
    left: 295px;
}

.required {
    position: relative;
    margin-left: 30px;
    top: 10px;
    right: 0;
}





}
























@media (max-width: 560px) {

/* font-size */

.fs18{
    font-size: 1.6rem;
}

.fs20{
    font-size: 1.8rem;
}

.fs21{
    font-size: 1.9rem;
}

.fs24{
    font-size: 2.0rem;
}

.fs28{
    font-size: 2.2rem;
}

.fs30{
    font-size: 2.3rem;
}

.fs32{
    font-size: 2.4rem;
}

.fs36{
    font-size: 2.8rem;
}

.fs48{
    font-size: 3.0rem;
}


/* box_inner */

.cmn_boxinner_50{
    padding-top: 30px;
    padding-bottom: 30px;
}

.cmn_boxinner_80{
    padding-top: 50px;
    padding-bottom: 50px;
}

.cmn_boxinner_100{
    padding-top: 60px;
    padding-bottom: 60px;
}

/* box_outer */

.cmn_boxouter_50{
    margin-top: 30px;
    margin-bottom: 30px;
}


.cmn_boxouter_80{
    margin-top: 50px;
    margin-bottom: 50px;
}


.cmn_boxouter_100{
    margin-top: 60px;
    margin-bottom: 60px;
}

/* padding */

.pt50{
    padding-top: 30px;
}

.pt80{
    padding-top: 50px;
}

.pt100{
    padding-top: 60px;
}

.pb50{
    padding-bottom: 30px;
}

.pb80{
    padding-bottom: 50px;
}

.pb100{
    padding-bottom: 60px;
}

/* margin */

.mt50{
    margin-top: 30px;
}

.mt80{
    margin-top: 50px;
}

.mt100{
    margin-top: 60px;
}

.mb50{
    margin-bottom: 30px;
}

.mb60{
    margin-bottom: 35px;
}

.mb80{
    margin-bottom: 50px;
}

.mb100{
    margin-bottom: 60px;
}



/* cmn ///////////////////////////////////// */

/* header */

.header_logo .fs28{
    font-size: 1.8rem;
}

/* cmn_mainimg */

.cmn_mainimg{
    height: 300px;
}

/* cmn_subimg */

.cmn_subimg{
    height: 150px;
}

/* cmn_maintitle */

.cmn_maintitle{
    width: 155px;
    height: 202px;
    padding: 25px 62px 25px 25px;
    transform: translateX(17.5px);
}

.cmn_maintitle h1{
    font-size: 2.0rem;
}

.needle{
    right: 1%;
}

/* cmn_dl */

.cmn_dl > div{
    display: block;
    margin-bottom: 10px;
}
.cmn_dl > div:last-of-type{
    margin-bottom: 0;
}

.cmn_dl > div dt{
    padding: 10px 10px 0 10px;
}

.cmn_dl > div dd{
    padding: 10px;
}



/* home ///////////////////////////////////// */

/* home_mainimg */
.home_mainimg{
    height: 350px;
}

.home_maintitle{
    height: 300px;
    width: 100px;
}

.home_maintitle > figure{
    height: 250px;
}

.home_body .swiper-container-fade .swiper-slide > img:first-of-type,
.home_body .swiper-container-fade .swiper-slide > img:nth-of-type(2){
    width: calc(50% - 50px);
}

/* home_about */
.home_sub_link > div h2{
    font-size: 2.2rem;
    letter-spacing: 0;
}

/* home_about */

.home_about{
    padding-bottom: 0;
}

.home_about > .cmn_maxbox_1200{
    padding-top: 50px;
    padding-bottom: 50px;
}

/* home_sub_link */

.home_sub_link{
    display: block;
    position: relative;
    left: 0;
    transform: translateX(0);
    padding: 0;
}

.home_sub_link > div{
    height: auto;
    width: 100%;
    padding: 30px;
}

.home_sub_link .cmn_btn2{
    position: relative;
    left: 0;
    transform: translateX(0);
    padding-top: 20px;
}

/* home_copyright */

.home_copyright{
    padding-top: 50px;
    padding-bottom: 60px;
}

.home_copyright > div > div{
    padding: 30px 20px;
}

/* home_news */

.home_news_list > dl > div{
    display: block;
    padding: 15px 10px;
}


.home_instagram_pc {
    display: none;
}

.home_instagram_sp {
    display: block;
}


/* iserozashi ///////////////////////////////////// */

.iserozashi_body .cmn_maintitle p{
    top: 15px;
    right: 50px;
}

.iserozashi_about{
    display: block;
}

.iserozashi_about > figure {
    width: 80%;
    height: 200px;
    margin: 0 auto;
}

.iserozashi_about > div{
    margin-top: 30px;
    width: 100%;
    height: auto;
}

.iserozashi_about_2 .cmn_maxbox ul li{
    display: block;
    margin-bottom: 80px;
}

.iserozashi_about_2 .cmn_maxbox ul li figure{
    width: 80%;
    height: 200px;
    margin: 0 auto;
}

.iserozashi_about_2 .cmn_maxbox ul li > div{
    width: 100%;
}

.iserozashi_about_2 .cmn_maxbox ul li:last-of-type{
    margin-bottom: 20px;
}

.iserozashi_about_2 .cmn_maxbox ul li > div h3{
    padding: 0 20px 20px;
}

.iserozashi_about_2 .cmn_maxbox ul li > div p{
    padding: 20px 20px;
}

.iserozashi_list ul li{
    width: 48%;
    margin-bottom: 30px;
}

.iserozashi_list ul li:nth-last-of-type(3){
    margin-bottom: 30px;
}

/* lesson ///////////////////////////////////// */

.lesson_profile_contents > div{
    display: block;
}

.lesson_profile_contents > div > figure{
    width: 250px;
    margin: 0 auto;
}

.lesson_profile_contents > div > div{
    width: 100%;
}

.lesson_profile_contents > div > div > h3{
    padding: 30px 20px 15px;
}

.lesson_profile_contents > div > div > p{
    padding: 15px 20px 40px;
}

.lesson_profile_contents > div > div > div{
    padding: 0 20px;
}

.lesson_profile_contents > div > div > div > span{
    top: -15px;
    left: 30px;
}

.lesson_story dl >div{
    display: block;
}

.lesson_exhibition > div > ul > li > div{
    display: block;
}

.lesson_exhibition > div > ul > li ul li{
    display: block;
}

.lesson_exhibition> div > ul > li .fs15{
    text-align: right;
    font-size: 1.3rem;
}

.lesson_exhibition > div > ul > li .fs18{
    width: 100%;
    min-width: 100%;
}

.lesson_classroom > div > ul > li{
    display: block;
    margin-bottom: 40px;
}

.lesson_classroom > div > ul > li > div{
    width: 100%;
    margin-bottom: 30px;
}

.lesson_classroom > div > ul > li > div > h3{
    padding: 10px 20px;
}

.lesson_classroom > div > ul > li > div > dl > div{
    padding: 0 20px;
}

.lesson_classroom > div > ul > li > figure{
    width: 80%;
    margin: 0 auto;
}



/* contact ///////////////////////////////////// */

.contact_body .cmn_maintitle{
    padding-top: 20px;
    padding-bottom: 20px;
}

.privacy_check{
    width: 100%;
    display: flex;
    align-items: flex-start;
}

.contact_form .input05{
    top: 0;
    left: 0;
}

.privacy_check label{
    width: auto;
    height: auto;
    line-height: 20px;
    color: #463c33;
    background-color: transparent;
    margin: 0;
    padding-left: 30px;

}

/* contact_form */

.contact_form select{
    width: 100%;
    padding: 0 10px;
}

.contact_select > dd{
    position: relative;
}

.contact_select > dd::after{
    transform: translateX(0);
    position: absolute;
    top: 23px;
    left: auto;
    right: 20px;
}

.contact_form input{
    padding: 0 10px;
}

.contact_form .input01,
.contact_form .input02,
.contact_form .input03{
    width: 100%;
}

.reenter{
    display: block;
    text-align: right;
}

.contact_form textarea{
    padding: 10px;
}







}








@media (max-width: 430px) {

.header_btn{
    display: none;
}
.header_modalmenu_btn{
    right: 0;
}

}