body{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

/* mv */
.section_mv{
    overflow: hidden;
}

.mv_wrap{
    position: relative;
}
.mv_wrap::before{
    content: "";
    background-color: #9F9F9F;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.mv_video{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 56.25vw;
    min-height: 100%;
    min-width: 177.77vh;
    transform: translate(-50%, -50%);
    z-index: -2;
}

.mv_inner{
    padding-top: min(calc(28 * var(--vw-pc)), 28px);
    padding-bottom: min(calc(28 * var(--vw-pc)), 28px);
}

.mv_title_slide{
    width: 100vw;
}

.mv_title{
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(86 * var(--vw-pc)), 86px);
    font-weight: 600;
    line-height: 1.3;
    opacity: .6;
}

.mv_box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: min(calc(1000 * var(--vw-pc)), 1000px);
}

.mv_copy{
    color: #fff;
    font-size: min(calc(50 * var(--vw-pc)), 50px);
    font-weight: 700;
    width: 49%;
    position: relative;
}
.mv_copy::before,
.mv_copy::after{
    content: "";
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-size: contain;
    width: min(calc(44 * var(--vw-pc)), 44px);
    position: absolute;
}
.mv_copy::before{
    background-image: url(../image/common/bracket_left.svg);
    position: absolute;
    top: -40%;
    left: -4%;
}
.mv_copy::after{
    background-image: url(../image/common/bracket_right.svg);
    position: absolute;
    bottom: -40%;
    right: -1%;
}

.mv_text{
    color: #fff;
    font-size: min(calc(15 * var(--vw-pc)), 15px);
    font-weight: 700;
    line-height: 1.8;
    text-align: justify;
    width: 49%;
}

.mv_copy_btn{
    border: min(calc(2 * var(--vw-pc)), 2px) solid #fff;
    border-radius: 1000px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(20 * var(--vw-pc)), 20px);
    font-weight: 500;
    margin-left: auto;
    margin-right: auto;
    margin-top: min(calc(50 * var(--vw-pc)), 50px);
    padding-top: min(calc(15 * var(--vw-pc)), 15px);
    padding-bottom: min(calc(15 * var(--vw-pc)), 15px);
    width: min(calc(400 * var(--vw-pc)), 400px);
}
.mv_copy_btn::after{
    content: "〉";
    color: #fff;
    display: block;
    margin-left: min(calc(10 * var(--vw-pc)), 10px);
}

.mv_page_btn_box{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(calc(15 * var(--vw-pc)), 15px);
    margin-top: min(calc(110 * var(--vw-pc)), 110px);
}

.mv_page_btn{
    border: min(calc(2 * var(--vw-pc)), 2px) solid #009FE8;
    border-radius: min(calc(10 * var(--vw-pc)), 10px);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(26 * var(--vw-pc)), 26px);
    font-weight: 600;
    padding-top: min(calc(7 * var(--vw-pc)), 7px);
    padding-bottom: min(calc(7 * var(--vw-pc)), 7px);
    width: min(calc(450 * var(--vw-pc)), 450px);
}
.mv_page_btn::after{
    content: "〉";
    color: #009FE8;
    display: block;
    margin-left: min(calc(30 * var(--vw-pc)), 30px);
    transform: rotate(90deg);
}
.mv_page_btn::before{
    content: "";
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: min(calc(10 * var(--vw-pc)), 10px);
    width: min(calc(46 * var(--vw-pc)), 46px);
}
.mv_page_btn:nth-child(1):before{
    background-image: url(../image/common/book_icon.svg);
}
.mv_page_btn:nth-child(2):before{
    background-image: url(../image/common/eye_icon.svg);
}

.mv_news_wrap{
    background-color: #009FE8;
    padding-top: min(calc(20 * var(--vw-pc)), 20px);
    padding-bottom: min(calc(20 * var(--vw-pc)), 20px);
}

.mv_news_inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: min(calc(1000 * var(--vw-pc)), 1000px);
}

.mv_news{
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(20 * var(--vw-pc)), 20px);
    font-weight: 600;
}

.mv_news_text_box{
    overflow: hidden;
    font-size: min(calc(20 * var(--vw-pc)), 20px);
    width: min(calc(550 * var(--vw-pc)), 550px);
    position: relative;
}

.mv_news_text{
    color: #fff;
    display: block;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
.mv_news_text:nth-child(n+2){
    position: absolute;
    top: 0;
    left: 0;
}

.mv_news_btn{
    color: #fff;
    display: flex;
    align-items: center;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(20 * var(--vw-pc)), 20px);
    font-weight: 600;
}
.mv_news_btn::after{
    content: ">";
    display: block;
    margin-left: min(calc(5 * var(--vw-pc)), 5px);
}

/* childEdu / visonCre / music */
.childEdu_wrap,
.visonCre_wrap,
.music_wrap{
    overflow: hidden;
    position: relative;
}
.childEdu_wrap::before,
.visonCre_wrap::before,
.music_wrap::before{
    content: "";
    background-color: #9F9F9F;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.childEdu_video,
.visonCre_video,
.music_video{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 56.25vw;
    min-height: 100%;
    min-width: 177.77vh;
    transform: translate(-50%, -50%);
    z-index: -2;
}

.childEdu_inner,
.visonCre_inner,
.music_inner{
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: min(calc(200 * var(--vw-pc)), 200px);
    padding-bottom: min(calc(150 * var(--vw-pc)), 150px);
}

.childEdu_titleEn,
.visonCre_titleEn,
.music_titleEn{
    color: #fff;
    display: flex;
    align-items: center;
    gap: min(calc(17 * var(--vw-pc)), 17px);
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(64 * var(--vw-pc)), 64px);
    font-weight: 600;
}

.childEdu_titleEn_icon,
.visonCre_titleEn_icon,
.music_titleEn_icon{
    border: min(calc(3 * var(--vw-pc)), 3px) solid #fff;
    border-radius: min(calc(10 * var(--vw-pc)), 10px);
    display: block;
    width: min(calc(70 * var(--vw-pc)), 70px);
    height: auto;
}

.childEdu_titleJa,
.visonCre_titleJa,
.music_titleJa{
    color: #fff;
    font-size: min(calc(32 * var(--vw-pc)), 32px);
    font-size: 700;
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
}

.childEdu_text,
.visonCre_text,
.music_text{
    color: #fff;
    font-size: min(calc(15 * var(--vw-pc)), 15px);
    line-height: 1.8;
    margin-top: min(calc(25 * var(--vw-pc)), 25px);
    width: min(calc(600 * var(--vw-pc)), 600px);
    text-align: justify;
}

.childEdu_btn,
.visonCre_btn,
.music_btn{
    margin-left: auto;
    margin-right: auto;
    margin-top: min(calc(35 * var(--vw-pc)), 35px);
    width: min(calc(400 * var(--vw-pc)), 400px);
}

.childEdu_item_wrap,
.visonCre_item_wrap{
    display: flex;
    flex-wrap: wrap;
}

.childEdu_item,
.visonCre_item{
    display: flex;
    flex-direction: column;
    width: calc(100% / 3);
}

.childEdu_item_img_box,
.visonCre_item_img_box{
    aspect-ratio: 16/9;
    display: block;
    overflow: hidden;
    width: 100%;
}

.childEdu_item_img,
.visonCre_item_img{
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.childEdu_item_info,
.visonCre_item_info{
    background-color: #009FE8;
    flex: auto;
    padding: min(calc(25 * var(--vw-pc)), 25px) min(calc(35 * var(--vw-pc)), 35px);
    position: relative;
}

.childEdu_item:not(:nth-child(3n)) .childEdu_item_info::after,
.visonCre_item:not(:nth-child(3n)) .visonCre_item_info::after{
    content: "";
    aspect-ratio: 1/80;
    background-color: #fff;
    display: block;
    width: 1px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.childEdu_item_info_title,
.visonCre_item_info_title{
    color: #fff;
    font-size: min(calc(18 * var(--vw-pc)), 18px);
    font-weight: 700;
    text-align: center;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.childEdu_item_info_text,
.visonCre_item_info_text{
    color: #fff;
    font-size: min(calc(13 * var(--vw-pc)), 13px);
    line-height: 1.6;
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
    height: calc(2em * 1.6);
}

.childEdu_item_info_btn,
.visonCre_item_info_btn{
    color: #fff;
    display: block;
    font-size: min(calc(10 * var(--vw-pc)), 10px);
    margin-top: min(calc(10 * var(--vw-pc)), 10px);
    text-decoration: underline;
    text-align: right;
}

/* column */
.section_column{
    background-image: url(../image/top/column_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-top: min(calc(85 * var(--vw-pc)), 85px);
    padding-bottom: min(calc(110 * var(--vw-pc)), 110px);
}

.column_title{
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(36 * var(--vw-pc)), 36px);
    font-weight: 600;
    text-align: center;
}

.column_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    margin-top: min(calc(65 * var(--vw-pc)), 65px);
    width: min(calc(860 * var(--vw-pc)), 860px);
}

.column_item{
    width: min(calc(250 * var(--vw-pc)), 250px);
}

.column_thumb_box{
    aspect-ratio: 250/200;
    border-radius: min(calc(20 * var(--vw-pc)), 20px);
    display: block;
    overflow: hidden;
    width: 100%;
}

.column_thumb{
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.column_head{
    color: #fff;
    font-size: min(calc(15 * var(--vw-pc)), 15px);
    margin-top: min(calc(20 * var(--vw-pc)), 20px);
    text-align: center;
}

.column_btn{
    margin-left: auto;
    margin-right: auto;
    margin-top: min(calc(100 * var(--vw-pc)), 100px);
    width: min(calc(400 * var(--vw-pc)), 400px);
}

/* story */
.section_story{
    background-image: url(../image/top/story_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-top: min(calc(60 * var(--vw-pc)), 60px);
    padding-bottom: min(calc(115 * var(--vw-pc)), 115px);
}

.story_wrap{
    margin-left: auto;
    margin-right: auto;
    width: min(calc(1000 * var(--vw-pc)), 1000px);
}

.story_title{
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(64 * var(--vw-pc)), 64px);
    font-weight: 600;
    line-height: 1.5;
}

.story_btn_inner{
    margin-left: auto;
    width: min(calc(600 * var(--vw-pc)), 600px);
}

.story_btn{
    border-bottom: min(calc(2 * var(--vw-pc)), 2px) solid #fff;
    color: #fff;
    display: flex;
    align-items: center;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(32 * var(--vw-pc)), 32px);
    font-weight: 600;
    padding-top: min(calc(30 * var(--vw-pc)), 30px);
    padding-bottom: min(calc(20 * var(--vw-pc)), 20px);
}
.story_btn::after{
    content: "〉";
    display: block;
    font-size: min(calc(28 * var(--vw-pc)), 28px);
    margin-left: auto;
}

.story_btn_en{
    width: min(calc(310 * var(--vw-pc)), 310px);
}

.story_btn_ja{
    font-size: min(calc(16 * var(--vw-pc)), 16px);
    font-size: 700;
    margin-left: min(calc(50 * var(--vw-pc)), 50px);
}

/* CONTACT */
.dot_cover{
    background: url(../image/company_mv_cover.png);
    background-repeat: repeat;
    background-position: 0px 0px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;

    animation-name: dot-bg-roop;
    animation-duration: 120s;
    animation-timing-function: linear;
    animation-iteration-count: infinite; 
}

@keyframes dot-bg-roop{
    0%{
        background-position: 0px 0px;
    }
    100%{
        background-position: 700px -700px;
    }
}

.section_contact{
    background-color: #009fe8;
    padding-top: min(calc(90 * var(--vw-pc)), 90px);
    padding-bottom: min(calc(110 * var(--vw-pc)), 110px);
    width: 100%;
    position: relative;
}

.contact_container{
    margin-left: auto;
    margin-right: auto;
    width: min(calc(880 * var(--vw-pc)), 880px);
    position: relative;
}

.contact_title{
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: min(calc(48 * var(--vw-pc)), 48px);
    font-weight: 500;
    text-align: center;
}

.contact_sub_title{
    color: #fff;
    font-size: min(calc(16 * var(--vw-pc)), 16px);
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
    text-align: center;
}

.contact_form_container{
    margin-top: min(calc(30 * var(--vw-pc)), 30px);
    width: 100%;
}

.top_contact_form_must_text{
    color: #fff;
    font-size: min(calc(14 * var(--vw-pc)), 14px);
    margin-bottom: min(calc(5 * var(--vw-pc)), 5px);
    text-align: right;
}

.top_contact_form_line{
    background-color: #f0f0f0;
    display: flex;
    width: 100%;
}
.top_contact_form_line:nth-child(n+2){
    margin-top: min(calc(5 * var(--vw-pc)), 5px);
}

.top_contact_form_head{
    box-sizing: border-box;
    background-color: #0082ff;
    color: #fff;
    font-size: min(calc(14 * var(--vw-pc)), 14px);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    text-align: center;
    width: min(calc(210 * var(--vw-pc)), 210px);
}

.top_contact_form_head .must{
    position: relative;
}
.top_contact_form_head .must::after{
    content: "※";
    color: #fff;
    font-size: min(calc(12 * var(--vw-pc)), 12px);
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
}

.top_contact_form_data{
    border: none;
    box-sizing: border-box;
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
    font-size: min(calc(16 * var(--vw-pc)), 16px);
    outline: none;
    padding: min(calc(10 * var(--vw-pc)), 10px) min(calc(20 * var(--vw-pc)), 20px);
    width: 100%;
    height: min(calc(40 * var(--vw-pc)), 40px);
}
textarea.top_contact_form_data{
    height: min(calc(90 * var(--vw-pc)), 90px);
}

.top_contact_privacy_wrap{
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
    text-align: center;
}
.top_contact_privacy_check{
    display: none;
}

.wpcf7-list-item-label{
    color: #fff;
    display: block;
    font-size: min(calc(12 * var(--vw-pc)), 12px);
    font-weight: bold;
    padding-left: min(calc(260 * var(--vw-pc)), 260px);
    position: relative;
}
.wpcf7-list-item-label::before{
    content: '';
    aspect-ratio: 1/1;
    position: absolute;
    top: -1px;
    left: 0;
    width: min(calc(15 * var(--vw-pc)), 15px);
    box-sizing: border-box;
    background-color: #f0f0f0;
}
.wpcf7-list-item-label::after{
    content: '';
    aspect-ratio: 3/7;
    position: absolute;
    top: 1px;
    left: 5px;
    width: min(calc(3 * var(--vw-pc)), 3px);
    border-right: min(calc(2 * var(--vw-pc)), 2px) solid #0082ff;
    border-bottom: min(calc(2 * var(--vw-pc)), 2px) solid #0082ff;
    transform: rotate(45deg);
    transition: all 0.2s linear;
    opacity: 0;
}
.top_contact_privacy_check:checked + .wpcf7-list-item-label::after{
    opacity: 1;
}

.top_contact_privacy_modal_btn{
    display: inline;
    margin-top: -3px;
    color: #fff;
}
.top_contact_privacy_modal_btn:hover{
    text-decoration: underline;
}

.top_contact_form_submit_btn{
    background-color: #0082ff;
    border-radius: 0px !important; /* Safari対策 */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
    font-size: min(calc(20 * var(--vw-pc)), 20px);
    font-weight: bold;
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
    width: 100%;
    height: min(calc(70 * var(--vw-pc)), 70px);

    opacity: 1 !important; /* Safari対策 */
    -webkit-appearance: none; /* Safari対策 */
}

.modal_privacy_wrap{
    background-color: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1;

    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
}
.modal_privacy_wrap.ready{
    opacity: 1;
    visibility: visible;
}

.modal_privacy_inner{
    box-sizing: border-box;
    background-color: #fff;
    padding: min(calc(90 * var(--vw-pc)), 90px) min(calc(50 * var(--vw-pc)), 50px);
    width: min(calc(770 * var(--vw-pc)), 770px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.modal_privacy_title{
    font-weight: bold;
    font-size: min(calc(16 * var(--vw-pc)), 16px);
}

.modal_privacy_text{
    font-size: min(calc(14 * var(--vw-pc)), 14px);
    margin-top: min(calc(15 * var(--vw-pc)), 15px);
    line-height: 2.0;
    text-align: justify;
    word-break: break-all;
}

.modal_privacy_close_img{
    width: min(calc(25 * var(--vw-pc)), 25px);
    position: absolute;
    top: min(calc(30 * var(--vw-pc)), 30px);
    right: min(calc(30 * var(--vw-pc)), 30px);
}

/* Contact Form 7のCSS */
.wpcf7-form br{
    display: none;
}

.wpcf7-form-control-wrap{
    width: 75%;
}

.section_top_contact .wpcf7-not-valid-tip{
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #e50031;
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    margin-left: max(25%, 205px);
    padding: 10px 10px;
    position: relative;
}
.section_top_contact .wpcf7-not-valid-tip::before{
    content: "";
    border: 10px solid transparent;
    border-bottom: 15px solid #e50031;
    position: absolute;
    top: -25px;
    left: 5%;
}

.wpcf7-response-output,
.ajax-loader,
.wpcf7-form-control-wrap .wpcf7-not-valid-tip{
    display: none !important;
}

.footer_contact_link{
    display: none;
}








@media screen and (max-width: 768px){
    /* mv */
    .mv_video{
        width: 100%;
        height: 56.25vw;
        min-width: 177.78vh;
        min-height: 100%;
    }
    
    .mv_inner{
        padding-top: calc(110 * var(--vw-sp));
        padding-bottom: calc(64 * var(--vw-sp));
    }

    .mv_title{
        font-size: calc(110 * var(--vw-sp));
    }

    .mv_box{
        flex-direction: column;
        margin-top: calc(40 * var(--vw-sp));
        width: calc(650 * var(--vw-sp));
    }

    .mv_copy{
        font-size: calc(63 * var(--vw-sp));
        text-align: center;
        width: 100%;
    }
    .mv_copy::before,
    .mv_copy::after{
        width: calc(55 * var(--vw-sp));
    }
    .mv_copy::before{
        top: -47%;
        left: -2%;
    }
    .mv_copy::after{
        right: 0;
    }

    .mv_text{
        font-size: calc(24 * var(--vw-sp));
        margin-top: calc(34 * var(--vw-sp));
        width: 100%;
    }

    .mv_copy_btn{
        border: calc(2 * var(--vw-sp)) solid #fff;
        font-size: calc(28 * var(--vw-sp));
        margin-top: calc(50 * var(--vw-sp));
        padding-top: calc(25 * var(--vw-sp));
        padding-bottom: calc(25 * var(--vw-sp));
        width: calc(490 * var(--vw-sp));
    }
    .mv_copy_btn::after{
        margin-left: calc(10 * var(--vw-sp));
    }

    .mv_page_btn_box{
        flex-direction: column;
        gap: calc(28 * var(--vw-sp));
        margin-top: calc(270 * var(--vw-sp));
    }

    .mv_page_btn{
        border: calc(2 * var(--vw-sp)) solid #009FE8;
        border-radius: calc(12 * var(--vw-sp));
        font-size: calc(28 * var(--vw-sp));
        padding: calc(7 * var(--vw-sp)) calc(25 * var(--vw-sp));
        width: calc(490 * var(--vw-sp));
    }
    .mv_page_btn::after{
        margin-left: auto;
    }
    .mv_page_btn::before{
        margin-right: calc(10 * var(--vw-sp));
        width: calc(55 * var(--vw-sp));
    }

    .mv_news_wrap{
        padding-top: calc(20 * var(--vw-sp));
        padding-bottom: calc(20 * var(--vw-sp));
    }

    .mv_news_inner{
        width: calc(650 * var(--vw-sp));
    }

    .mv_news{
        font-size: calc(28 * var(--vw-sp));
    }

    .mv_news_text_box{
        font-size: calc(22 * var(--vw-sp));
        width: calc(400 * var(--vw-sp));
    }

    .mv_news_btn{
        font-size: calc(28 * var(--vw-sp));
    }
    .mv_news_btn::after{
        margin-left: calc(8 * var(--vw-sp));
    }

    /* childEdu / visonCre / music */
    .childEdu_video,
    .visonCre_video,
    .music_video{
        width: 100%;
        height: 56.25vw;
        min-width: 177.78vh;
        min-height: 100%;
    }

    .childEdu_inner,
    .visonCre_inner,
    .music_inner{
        padding-top: calc(220 * var(--vw-sp));
        padding-bottom: calc(210 * var(--vw-sp));
    }

    .childEdu_titleEn,
    .visonCre_titleEn,
    .music_titleEn{
        flex-direction: column;
        gap: calc(20 * var(--vw-sp));
        font-size: calc(64 * var(--vw-sp));
    }

    .childEdu_titleEn_icon,
    .visonCre_titleEn_icon,
    .music_titleEn_icon{
        border: calc(4 * var(--vw-sp)) solid #fff;
        border-radius: calc(15 * var(--vw-sp));
        width: calc(105 * var(--vw-sp));
    }

    .childEdu_titleJa,
    .visonCre_titleJa,
    .music_titleJa{
        font-size: calc(32 * var(--vw-sp));
        margin-top: calc(25 * var(--vw-sp));
    }

    .childEdu_text,
    .visonCre_text,
    .music_text{
        font-size: calc(22 * var(--vw-sp));
        margin-top: calc(30 * var(--vw-sp));
        width: calc(650 * var(--vw-sp));
    }

    .childEdu_btn,
    .visonCre_btn,
    .music_btn{
        margin-top: calc(35 * var(--vw-sp));
        width: calc(490 * var(--vw-sp));
    }

    .childEdu_item,
    .visonCre_item{
        width: 100%;
    }

    .childEdu_item_info,
    .visonCre_item_info{
        padding: calc(32 * var(--vw-sp)) calc(50 * var(--vw-sp));
    }

    .childEdu_item_info_title,
    .visonCre_item_info_title{
        font-size: calc(32 * var(--vw-sp));
    }

    .childEdu_item_info_text,
    .visonCre_item_info_text{
        font-size: calc(22 * var(--vw-sp));
        margin-top: calc(30 * var(--vw-sp));
    }

    .childEdu_item_info_btn,
    .visonCre_item_info_btn{
        font-size: calc(20 * var(--vw-sp));
        margin-top: calc(25 * var(--vw-sp));
    }

    /* column */
    .section_column{
        background-image: url(../image/top/column_bg_sp.jpg);
        padding-top: calc(110 * var(--vw-sp));
        padding-bottom: calc(135 * var(--vw-sp));
    }

    .column_title{
        font-size: calc(64 * var(--vw-sp));
    }

    .column_wrap{
        flex-direction: column;
        margin-top: calc(95 * var(--vw-sp));
        width: calc(370 * var(--vw-sp));
    }

    .column_item{
        width: 100%;
    }
    .column_item:nth-child(n+2){
        margin-top: calc(115 * var(--vw-sp));
    }

    .column_thumb_box{
        aspect-ratio: 370/300;
        border-radius: calc(30 * var(--vw-sp));
    }

    .column_head{
        font-size: calc(22 * var(--vw-sp));
        margin-top: calc(25 * var(--vw-sp));
    }

    .column_btn{
        margin-top: calc(120 * var(--vw-sp));
        width: calc(480 * var(--vw-sp));
    }

    /* story */
    .section_story{
        background-image: url(../image/top/story_bg_sp.jpg);
        padding-top: calc(120 * var(--vw-sp));
        padding-bottom: calc(165 * var(--vw-sp));
    }

    .story_wrap{
        width: calc(650 * var(--vw-sp));
    }

    .story_title{
        font-size: calc(78 * var(--vw-sp));
    }

    .story_btn_inner{
        margin-top: calc(80 * var(--vw-sp));
        width: 100%;
    }

    .story_btn{
        border-bottom: calc(2 * var(--vw-sp)) solid #fff;
        font-size: calc(36 * var(--vw-sp));
        padding-top: calc(47 * var(--vw-sp));
        padding-bottom: calc(20 * var(--vw-sp));
    }
    .story_btn::after{
        font-size: calc(28 * var(--vw-sp));
    }

    .story_btn_en{
        width: calc(345 * var(--vw-sp));
    }

    .story_btn_ja{
        font-size: calc(22 * var(--vw-sp));
        margin-left: calc(80 * var(--vw-sp));
    }

    /* CONTACT */
    .contact_container{
        width: 90%;
        min-width: 0px;
    }
    
    .contact_sub_title{
        font-size: calc(22 * var(--vw-sp));
    }

    .contact_form_head{
        min-width: 180px;
    }

    .contact_privacy_modal_btn{
        display: inline;
        color: #fff;
    }

    .contact_form_submit_btn{
        font-size: calc(18 * var(--vw-sp));
        height: calc(50 * var(--vw-sp));
    }

    .pagenation_header_container{
        position: relative;
        z-index: 10;
    }
}













.top_message_dot_cover{
    background: url(../image/company_mv_cover.png);
    background-repeat: repeat;
    background-position: 0px 0px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;

    animation-name: dot-bg-roop;
    animation-duration: 120s;
    animation-timing-function: linear;
    animation-iteration-count: infinite; 
}

@keyframes dot-bg-roop{
    0%{
        background-position: 0px 0px;
    }
    100%{
        background-position: 700px -700px;
    }
}

/* CONTACT */
.section_top_contact{
    background-color: #009fe8;
    padding-top: 180px;
    padding-bottom: 110px;
    width: 100%;
    position: relative;
}

.top_contact_container{
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    min-width: 700px;
    max-width: 900px;
    position: relative;
}

.top_contact_title{
    color: #fff;
    font-size: 48px;
    font-weight: 500;
    text-align: center;
}

.top_contact_sub_title{
    color: #fff;
    font-size: 16px;
    margin-top: 15px;
    text-align: center;
}

.top_contact_form_container{
    margin-top: 30px;
    width: 100%;
}

.top_contact_form_must_text{
    color: #fff;
    font-size: 14px;
    margin-bottom: 5px;
    text-align: right;
}

.top_contact_form_line{
    background-color: #f0f0f0;
    display: flex;
    width: 100%;
}
.top_contact_form_line:nth-child(n+2){
    margin-top: 5px;
}

.top_contact_form_head{
    box-sizing: border-box;
    background-color: #0082ff;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    text-align: center;
    width: 25%;
    min-width: 205px;
}

.top_contact_form_head .must{
    position: relative;
}
.top_contact_form_head .must::after{
    content: "※";
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: 50%;
    right: -15px;
    transform: translateY(-50%);
}

.top_contact_form_data{
    border: none;
    box-sizing: border-box;
    display: block;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 16px;
    outline: none;
    padding: 10px 20px;
    width: 100%;
    height: 40px;
}
textarea.top_contact_form_data{
    height: 90px;
}

.top_contact_privacy_wrap{
    margin-top: 15px;
    text-align: center;
}
.top_contact_privacy_check{
    display: none;
}

.wpcf7-list-item-label{
    color: #fff;
    display: block;
    font-size: 12px;
    font-weight: bold;
    padding-left: 260px;
    position: relative;
}
.wpcf7-list-item-label::before{
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    background-color: #f0f0f0;
}
.wpcf7-list-item-label::after{
    content: '';
    position: absolute;
    top: 1px;
    left: 5px;
    width: 3px;
    height: 7px;
    border-right: 2px solid #0082ff;
    border-bottom: 2px solid #0082ff;
    transform: rotate(45deg);
    transition: all 0.2s linear;
    opacity: 0;
}
.top_contact_privacy_check:checked + .wpcf7-list-item-label::after{
    opacity: 1;
}

.top_contact_privacy_modal_btn{
    display: inline;
    margin-top: -3px;
    color: #fff;
}
.top_contact_privacy_modal_btn:hover{
    text-decoration: underline;
}

.top_contact_form_submit_btn{
    background-color: #0082ff;
    border-radius: 0px !important;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 20px;
    font-weight: bold;
    margin-top: 15px;
    width: 100%;
    height: 70px;

    opacity: 1 !important;
    -webkit-appearance: none;
}

.modal_privacy_wrap{
    background-color: rgba(0,0,0,0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1;

    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
}
.modal_privacy_wrap.ready{
    opacity: 1;
    visibility: visible;
}

.modal_privacy_inner{
    box-sizing: border-box;
    background-color: #fff;
    padding: 90px 50px 90px;
    width: 70%;
    min-width: 700px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

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

.modal_privacy_text{
    font-size: 14px;
    margin-top: 15px;
    line-height: 2.0;
    text-align: justify;
    word-break: break-all;
}

.modal_privacy_close_img{
    width: 25px;
    position: absolute;
    top: 30px;
    right: 30px;
}

/* Contact Form 7のCSS */
.wpcf7-form br{
    display: none;
}

.wpcf7-form-control-wrap{
    width: 75%;
}

.section_top_contact .wpcf7-not-valid-tip{
    box-sizing: border-box;
    border-radius: 5px;
    background-color: #e50031;
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    margin-left: max(25%, 205px);
    padding: 10px 10px;
    position: relative;
}
.section_top_contact .wpcf7-not-valid-tip::before{
    content: "";
    border: 10px solid transparent;
    border-bottom: 15px solid #e50031;
    position: absolute;
    top: -25px;
    left: 5%;
}

.wpcf7-response-output,
.ajax-loader,
.wpcf7-form-control-wrap .wpcf7-not-valid-tip{
    display: none !important;
}


@media screen and (max-width: 959px){
    /* CONTACT */
    .top_contact_container{
        min-width: 500px;
    }

    .top_contact_title{
        font-size: 42px;
    }

    .top_contact_privacy_modal_btn{
        display: inline;
        color: #fff;
    }

    .top_contact_form_submit_btn{
        font-size: 18px;
        height: 50px;
    }

    .modal_privacy_inner{
        padding: 50px 40px 60px;
        min-width: 500px;
    }

    .modal_privacy_title{
        font-size: 14px;
    }

    .modal_privacy_text{
        font-size: 12px;
    }

    .modal_privacy_close_img{
        width: 20px;
    }

    /* Contact Form 7のCSS */
    .wpcf7-form-control-wrap{
        width: 100%;
    }

    .section_top_contact .wpcf7-not-valid-tip{
        margin-left: 0px;
    }
}


@media screen and (max-width: 768px){
    .top_message_gray_cover{
        background-color: rgba(150,150,150,0.5);
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0%;
        left: 0%;
    }
    @media all and (-ms-high-contrast: none){
        .top_message_gray_cover{
            background-color: rgba(150,150,150,0.3);
            mix-blend-mode: normal;
        }
    }

    /* CONTACT */
    .top_contact_container{
        width: 90%;
        min-width: 0px;
    }
    
    .top_contact_sub_title{
        font-size: 22px;
    }

    .top_contact_form_head{
        min-width: 180px;
    }

    .top_contact_privacy_modal_btn{
        display: inline;
        color: #fff;
    }

    .top_contact_form_submit_btn{
        font-size: 18px;
        height: 50px;
    }

    .pagenation_header_container{
        position: relative;
        z-index: 10;
    }
}

@media screen and (max-width: 519px){
    /* CONTACT */
    .section_top_contact{
        padding-top: 120px;
    }

    .top_contact_title{
        font-size: 32px;
    }

    .top_contact_sub_title{
        font-size: 16px;
        margin-top: 10px;
    }

    .top_contact_form_head{
        font-size: 12px;
        min-width: 120px;
    }

    .top_contact_form_data{
        padding: 10px;
    }

    .top_contact_form_head .must::after{
        top: 9px;
    }

    .top_contact_form_submit_btn{
        font-size: 16px;
    }

    .modal_privacy_inner{
        padding: 50px 20px 60px;
        width: 90%;
        min-width: 0px;
    }
}

@media screen and (max-width: 320px){
    /* CONTACT */
    .top_contact_form_submit_btn{
        display: block;
        text-align: center;
    }
}