@charset "utf-8";

/* 共通 */
.top-ttl{
    font-size:30px;
    font-weight: bold;
    margin-bottom: 50px;
    text-align: center;
}
.top-ttl span{
    display: block;
    font-size: 20px;
    margin-top: 15px;
}
.top-ttl img{
    height: 50px;
    width: auto;
    display: block;
    margin: 0 auto 10px;
}
@media screen and (max-width:768px){
    .top-ttl{
        font-size:24px;
        margin-bottom: 30px;
    }
    .top-ttl span{
        font-size: 18px;
        margin-top: 10px;
    }
    .top-ttl img{
        height: 40px;
    }
}

/* MV
----------------------------------------------------------------------------- */
.top-mv{
    
}
.top-mv video{
    width: 100%;
    height: auto;
}

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

/* ABOUT
----------------------------------------------------------------------------- */
.top-about{
    padding: 60px 0;
    background-image: url("/top/images/top_about_bg.png");
    background-size: 700px auto;
    background-repeat: no-repeat;
    background-position: right top;
}
.top-about .inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.top-about .top-ttl{
    text-align: left;
    margin-bottom: 30px;
}

.top-about-txt{
    width: 50%;
    padding-right: 25px;
}
.top-about-txt{
    font-size: 17px;
    line-height: 1.8em;
}

.top-about-img{
    width: 50%;
    padding-left: 25px;
}
.top-about-img img{
    border-radius: 30px;
}

@media screen and (max-width:768px){
    .top-about{
        padding: 40px 0;
        background-size: 70% auto;
    }
    .top-about .inner{
        display: block;
    }
    .top-about .top-ttl{
        text-align: left;
        margin-bottom: 30px;
    }

    .top-about-txt{
        width: 100%;
        padding-right: 0;
    }
    .top-about-txt{
        font-size: 15px;
        margin-bottom: 20px;
    }

    .top-about-img{
        width: 100%;
        padding-left: 0;
    }
}


/* NEWS
----------------------------------------------------------------------------- */
.top-news{
    background-color: #EDF1F4;
    padding: 50px 0 0;
}

.top-news-box{
    display: flex;
    align-items: flex-start;
}
.top-news-box-ttl{
    width:300px;
}
.top-news-ttl{
    font-size:30px;
    font-weight: bold;
    color: #233479;
    margin-bottom: 20px;
}
.top-news-box-ttl a{
    display: inline-block;
    min-width: 160px;
    text-align: left;
    padding: 8px 20px;
    background-color: #233479;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    background-image: url("/top/images/top_btn_arr.png");
    background-repeat: no-repeat;
    background-size: 18px auto;
    background-position: center right 15px;
}
.top-news-box-ttl a:hover{
    background-position: center right 10px;
}

.top-news-box-main{
    margin-bottom: 50px;
    width:calc( 100% - 300px );
}
.top-news-box-main ul{
    border-top: 1px solid #233479;
}
.top-news-box-main ul li{
    border-bottom: 1px solid #233479;
}
.top-news-box-main ul li a{
    display: block;
    text-decoration: none;
    padding: 20px 65px 20px 0;
    background-image: url("/top/images/top_news_arr.png");
    background-repeat: no-repeat;
    background-size: 37px auto;
    background-position: center right 10px;
    
    font-size:18px;
    font-weight: bold;
    color: #233479;
}
.top-news-box-main ul li a:hover{
    background-position: center right;
}
.top-news-box-main ul li a span.label-category{
    background-color: #233479;
    color: #fff;
    display: inline-block;
    margin-left: 10px;
    font-size:12px;
    padding:5px 15px;
    vertical-align: middle;
}
.top-news-box-main ul li a h3{
    font-weight: normal;
    color: #000;
    font-size:16px;
    margin-top: 10px;
}

@media screen and (max-width:768px){
    .top-news{
        padding: 50px 0;
    }

    .top-news-box{
        display: block;
    }
    .top-news-box-ttl{
        width:100%;
        margin-bottom: 20px;
    }
    .top-news-ttl{
        font-size:24px;
        margin-bottom: 10px;
    }
    .top-news-box-ttl a{
        padding: 5px 15px;
        background-size: 18px auto;
        background-position: center right 15px;
    }
    .top-news-box-ttl a:hover{
        background-position: center right 10px;
    }

    .top-news-box-main{
        margin-bottom: 30px;
        width:100%;
    }
    
    .top-news-box-main ul li a{
        padding: 10px 65px 10px 0;
        font-size:15px;
    }
    .top-news-box-main ul li a span.label-category{
        font-size:12px;
        padding:3px 10px;
        margin-bottom: 5px;
    }
    .top-news-box-main ul li a h3{
        font-size:14px;
        margin-top: 0;
    }
}



/* activity
----------------------------------------------------------------------------- */
.top-activity{
    background-image: url("/top/images/top_activity_bg.png");
    background-repeat: no-repeat;
    background-size: 900px auto;
    background-position: left top 204px;
    padding-top: 50px;
    margin-bottom: 50px;
}

.top-activity .inner{
    
}
.top-activity-box{
    background-color: #fff;
    border-radius: 30px;
    padding: 50px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    width:600px;
    float:right;
    margin-top: 80px;
}
.top-activity-box ul{
    border-top: 1px solid #D1D1D1;
}
.top-activity-box ul li{
    border-bottom: 1px solid #d1d1d1;
}
.top-activity-box ul li a{
    display: block;
    text-decoration: none;
    padding: 20px 55px 20px 60px;
    position: relative;
    background-image: url("/top/images/top_activity_icn.png");
    background-repeat: no-repeat;
    background-size: 37px auto;
    background-position: right 10px center;
}
.top-activity-box ul li a:hover{
    background-position: right center;
}
.top-activity-box ul li a span{
    display: inline-block;
    position: absolute;
    color: #0168B7;
    font-weight: bold;
    font-size:40px;
    top:10px;
    left:0;
    font-family: "dinalternate",sans-serif;
}
.top-activity-box ul li a p strong{
    color: #0168B7;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    font-size: 25px;
}

@media screen and (max-width:768px){
    .top-activity{
        background-image:none;
        padding-top: 50px;
        margin-bottom: 50px;
    }

    .top-activity .inner{

    }
    .top-activity-box{
        padding: 30px;
        width:100%;
        float:none;
        margin-top: 0;
    }
    .top-activity-box ul li a{
        padding: 10px 55px 10px 40px;
    }
    .top-activity-box ul li a span{
        font-size:30px;
        top:2px;
    }
    .top-activity-box ul li a p strong{
        margin-bottom: 5px;
        font-size: 18px;
    }
}



/* learn
----------------------------------------------------------------------------- */
.top-learn .top-ttl{
    text-align: left;
}
.top-learn .top-ttl img{
    margin-left: 0;
}

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

/* activity
----------------------------------------------------------------------------- */
.top-activity-main{
    background-color: #EDF1F4;
    padding: 50px 0;
}
.top-activity-main ul{
    display: flex;
    align-content: center;
}
.top-activity-main ul li{
    margin-right: 50px;
    width: calc( (100% - 150px) / 4 );
}
.top-activity-main ul li:nth-child(4n){
    margin-right: 0;
}
.top-activity-main ul li a{
    background-color: #fff;
    width:211px;
    height: 211px;
    border-radius: 106px;
    display: block;
    text-decoration: none;
    text-align: center;
    padding-top: 45px;
    font-size:18px;
    font-weight: bold;
    line-height: 1.2em;
}
.top-activity-main ul li a:hover{
    box-shadow: 0px 0 12px rgba(0, 0, 0, 0.16);
}
.top-activity-main ul li a img{
    height: 70px;
    width: auto;
    display: block;
    margin: 0 auto 25px;
}
.top-activity-main ul li:nth-child(2) a img{
    margin-bottom: 10px;
}


@media screen and (max-width:768px){
    .top-activity-main{
        padding: 30px 0 10px;
    }
    .top-activity-main ul{
        flex-wrap: wrap;
    }
    .top-activity-main ul li{
        margin-right: 20px;
        width: calc( (100% - 20px) / 2 );
        margin-bottom: 20px;
    }
    .top-activity-main ul li:nth-child(2n){
        margin-right: 0;
    }
    .top-activity-main ul li a{
        background-color: #fff;
        width:100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 106px;
        text-align: center;
        padding-top: 20%;
        font-size:4vw;
    }
    .top-activity-main ul li a img{
        height: 13.3333vw;
        width: auto;
        display: block;
        margin: 0 auto 20px;
    }
    .top-activity-main ul li:first-child a img{
        margin-bottom: 10px;
    }
}
