@charset "utf-8";

@media screen and (max-width:767px) {
    .flex-left, .flex-right {
        width: 100%;
    }
}

/* -----------------------------------------------------------
    ヘッダー
----------------------------------------------------------- */

@media screen and (max-width:960px) {
    .header-logo {
        padding: 20px 20px;
    }
}

.cta-btn .header-btn-wrapper{
    display: none;
}
@media screen and (max-width:767px) {
    .header-btn-wrapper{
        display: none;
    }
    .cta-btn {
        display: flex;
        position: fixed;
        bottom: 0;
        z-index: 100;
        width: 100%;
    }
    .cta-btn .header-btn-wrapper{
        display: flex;
        width: 100%;
    }
    .cta-btn .header-btn-wrapper .header-btn01{
        width: 50%;
    }
    .cta-btn .header-btn-wrapper .header-btn02{
        width: 50%;
    }
    .cta-btn .header-btn-wrapper .header-btn01 a{
        justify-content: center;
    }
    .cta-btn .header-btn-wrapper .header-btn02 a{
        justify-content: center;
    }
    .message-ttl::before{
        width: 55%;
    }
}

@media screen and (max-width:550px) {
    .message-ttl::before{
        width: 85%;
    }
}

@media screen and (max-width:450px) {
    .header-btn01 a {
        padding: 20px 5px;
        gap: 1px;
    }
    .cta-btn .header-btn-wrapper .header-btn01 a .icon img,
    .cta-btn .header-btn-wrapper .header-btn02 a .icon img{
        width: 80%;
    }
}

@media screen and (max-width:390px) {
    .header-btn01 a {
        font-size: 1.4rem;
    }
    .header-btn02 a {
        font-size: 1.4rem;
    }

}
/* -----------------------------------------------------------
    メインビジュアル
----------------------------------------------------------- */
@media screen and (max-width:1000px) {
    .mv-img .pc-only{
        display: none;
    }
    .mv-img .tablet-only{
        display: block;
    }
    .mv-text-box{
        width: 100%;
        left: auto;
        padding: 0 3%;
        top: 60%;
    }
}
@media screen and (max-width:767px) {
    .mv-bg .tablet-only{
        display: none;
    }
    .mv-bg .sp-only{ 
        display: block;
    }
    .mv-text-box{
        width: 100%;
        left: auto;
        padding: 0 3%;
    }
}


/* -----------------------------------------------------------
    メッセージ
----------------------------------------------------------- */

@media screen and (min-width:1280px) {

}

.b-960{
    display: none;
}

@media screen and (max-width:960px) {
    .mv-btm-text{
        height: 50px;
        background-size: 90% 50px;
    }
    .message-bg{
        padding: 10rem 0;
    }
    .message-text .f-size-26{
        font-size: 2.2rem;
    }
    .message-text .f-size-42{
        font-size: 3.5rem;
    }
    .message-ttl{
        font-size: 2.8rem;
        padding: 0 2rem;
    }
    .message-ttl::before{
        top:-45px;
        width: 100%;
        left: 0;
    }
}

@media screen and (max-width:767px) {
    .message-text .txt02{
        margin-top: 3rem;
    }
    .mv-btm-text {
        height: 50px;
        background-size: 150% 50px;
    }
    .message-text::before {
        width: 20%;
        height: 80%;
    }
    .message-text::after{
        width: 20%;
        height: 80%;
    }
}

@media screen and (max-width:550px) {
    .message-bg {
        padding: 7rem 0;
    }
    .message-text::before {
        width: 18%;
        height: 70%;
    }
    .message-text::after{
        width: 18%;
        height: 70%;
    }

}

@media screen and (max-width:390px) {
    .message-text .f-size-26{
        font-size: 4.8vw;
    }
    .message-text .f-size-42{
        font-size: 7.5vw;
    }
    .message-text::before {
        width: 20%;
        height: 80%;
    }
    .message-text::after {
        width: 20%;
        height: 50%;
    }

}

/* -----------------------------------------------------------
    学科
----------------------------------------------------------- */

@media screen and (min-width:1281px) {
    .department-section .text-future .ttl::after{
        width: 236px;
        height: 183px;
    }
}

@media screen and (max-width:1260px) {
    .department-section .feature03 .btm-text ul.btm-text-list{
        flex-wrap: wrap;
        gap: 1rem 3rem;
    }
    .department-section .feature03 .btm-text ul.btm-text-list li{
        min-width: 140px;
    }
    .department-section .feature03 .btm-text ul.btm-text-list li:last-of-type{
        min-width: 209px;
    }
    ul.course-list li .ttl-wrap .ttl{
        font-size: 2.2rem;
    }
}

@media screen and (max-width:1210px) {
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl {
        font-size: 4rem;
        line-height: 1.3;
    }
    .department-section .feature02 .text-wrap .ttl.fukidashi02::before{
        width: 190px;
        height: 40px;
        background-position: center;
        top: -45px;
    }
    .department-section .feature03 .text-wrap .ttl.fukidashi06::before{
        width: 195px;
        height: 43px;
    }
    .department-section .feature03 .text-wrap .ttl.fukidashi02::before{
        width: 184px;
        height: 43px;
    }
    .department-section .feature02 .text-wrap p{
        font-size: 1.8rem;
    }
    ul.course-list li:nth-of-type(1)::before{
        width: 235px;
        height: 70px;
        top: -80px;
    }
    ul.course-list li:nth-of-type(2)::before{
        width: 282px;
        height: 70px;
        top: -80px;
    }
    ul.course-list li .ttl-wrap .ttl{
        font-size: 1.8rem;
    }
    ul.course-list{
        gap: 4rem 1rem;
    }
    ul.course-list li {
        width: calc((100% - 20px) / 2);
    }
    ul.course-list li .course-contents .tag{
        font-size: 1.4rem;
    }
}

@media screen and (max-width:1040px) {
    .department-section .white-bg {
        padding: 7rem 8rem;
    }
    .department-section .text-future .ttl{
        font-size: 2.2rem;
    }
    .department-section .text-future .ttl .f-size-40 {
        font-size: 3.2rem;
    }
    .department-section .text-future .ttl::after{
        width: 16vw;
        height: 12.4vw;
    }
    .department-section .text-future .txt{
        font-size: 1.6rem;
        line-height: 1.8;
        font-weight: 600;
        padding-top: 2rem;
        padding-bottom: 3rem;
    }
    .department-section .feature03 .job-image-wrapper{
        margin: 2rem 3rem 0;
    }
    
}
@media screen and (max-width:1000px) {
    .mv-img .sp-none{
        object-position: right;
    }
}
@media screen and (max-width:960px) {
    .department-section .white-bg {
        padding: 4rem 5rem;
    }
    .department-section .feature01 .ttl{
        font-size: 3rem;
    }
    .department-section .feature01 .flex-left{
        padding: 2.5rem;
    }
    .department-section .feature01 .flex-left p{
        font-size: 1.6rem;
    }
    .department-section .feature02 .text-wrap p{
        font-size: 1.8rem;
        line-height: 1.6;
    }
    .department-section .feature02 .img-wrapper{
        gap: 2rem;
    }
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl{
        font-size: 3.2rem;
        line-height: 1.3;
    }
    .department-section .cross-img .cross-img-left{
        font-size: 1.6rem;
    }
    .department-section .cross-img .cross-img-right{
        font-size: 1.6rem;
    }
    .department-section .cross-img .cross-img-right::before{
        width: 100px;
        height: 109px;
    }
    .department-section .feature02 .text-wrap .ttl::before {
        width: 220px;
        height: 45px;
        top: -45px;
    }
    .department-section .cross-img .cross-img-left::before{
        width: 100px;
        height: 109px;
    }
    .department-section .feature03 .job-image-wrapper .txt{
        margin-top: 1rem;
    }
    .department-section .feature03 .job-image-wrapper .ttl {
        font-size: 2rem;
    }
    .department-section .feature03 .job-image-wrapper .img-icon {
        width: 30px;
        height: 30px;
    }
    .department-section .feature03 .btm-text{
        margin-top: 3rem;
    }
    .department-section .feature03 .btm-text ul.btm-text-list{
        padding: 2rem;
        padding-left: 3rem;
    }
    .department-section .text-future .ttl-en{
        font-size: 10rem;
        top: -20px;
    }
    .department-section .cross-img .cross-img-left::before {
        width: 70px;
        height: 77px;
    }
    .department-section .cross-img .cross-img-left{
        padding: 5px 10px 5px 45px;
    }
    .department-section .cross-img .cross-img-right{
        padding: 5px 40px 5px 10px;
    }
    .department-section .cross-img .cross-img-right::before {
        width: 70px;
        height: 77px;
    }
    .gamecreator.department-section .text-future .ttl::after{
        right: -30px;
    }
    .design.department-section .text-wrap.top-text{
        font-size: 3.2rem;
    }
    .design.department-section .top-detail .f-size-30{
        font-size: 2.6rem;
    }
    .design.department-section .top-detail .flex-left {
        max-width: 180px;
    }
    .design.department-section .top-detail .flex-right {
        max-width: 170px;
    }
    .design.department-section .top-detail .flex{
        gap: 2rem;
    }
    .design.department-section .triangle-wrap {
        margin-top: 2.5rem;
        margin-bottom: 1rem;
    }
    ul.course-list li {
        width: calc((100% - 10px) / 2);
    }
    ul.course-list li .ttl-wrap .ttl{
        font-size: 1.6rem;
    }
    ul.course-list li:nth-of-type(2)::before {
        width: 250px;
        height: 70px;
        top: -70px;
    }
    ul.course-list li:nth-of-type(1)::before {
        width: 195px;
        height: 60px;
        top: -69px;
    }
    ul.course-list li .course-contents .tag{
        line-height: 1.3;
        font-size: 1.5rem;
        padding: 2px 8px;
    }
    ul.course-list li .course-inner{
        padding: 2rem;
    }

}

@media screen and (max-width:767px) {
    .department-section-bg{
        padding: 3.5rem 1rem;
    }
    .department-section .ttl-wrap .top-txt{
        margin-top: 1rem;
    }
    .department-section .ttl-wrap .ttl.ttl-line{
        font-size: 4rem;
        line-height: 1.5;
        padding: 0 3rem;
    }
    .department-section .ttl-wrap .btm-txt{
        font-size: 2rem;
        margin-top: 1rem;
    }
    .department-section .white-bg {
        padding: 4rem 5rem;
    }
    .department-section .feature01 .flex-left{
        border-radius: 5px 5px 0 0;
    }
    .department-section .feature01 .flex-right img{
        border-radius: 0 0 5px 5px;
    }
    .department-section .cross-img .cross-img-left::before {
        width: 50px;
        height: 55px;
    }
    .department-section .cross-img .cross-img-right::before {
        width: 50px;
        height: 54px;
    }
    .department-section .cross-img .cross-img-left {
        padding: 5px 10px 5px 25px;
    }
    .department-section .cross-img .cross-img-right {
        padding: 5px 25px 5px 10px;
    }
    .dli-close {
        width: 1.5rem;
        height: 2px;
        margin: 0 0.5rem;
    }
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl {
        font-size: 2.6rem;
    }
    .department-section .feature02 .text-wrap .ttl::before {
        width: 160px;
        height: 35px;
        top: -35px;
    }
    .department-section .cross-img{
        margin-top: 1rem;
    }
    .department-section .feature02-bg{
        padding: 10rem 2rem 2rem;
    }
    .department-section .feature03-bg{
        padding: 12rem 2rem 2rem;
    }
    .department-section .feature02 .img-wrapper{
        margin-top: 2rem;
    }
    .department-section .feature03 .text-wrap .ttl.fukidashi05::before{
        background: url(../image/top/fukidashi05.svg) no-repeat;
        width: 100%;
        height: 52px;
        background-size: contain;
    }
    .department-section .feature03 .text-wrap .ttl::before{
        width: 100%;
        height: 52px;
    }
    .department-section .feature03-bg .text-wrap.mb40{
        margin-bottom: 20px;
    }
    .department-section .feature03 .job-image-wrapper{
        flex-direction: column;
    }
    .department-section .feature03 .job-image-wrapper .flex-left,
    .department-section .feature03 .job-image-wrapper .flex-right{
        max-width: none;
        text-align: center;
    }
    .department-section .feature03 .job-image-wrapper .flex-left.img img,
    .department-section .feature03 .job-image-wrapper .flex-right.img img{
        width: 80%;
    }
    .department-section .feature03 .job-image-wrapper .flex-left .ttl-wrap,
    .department-section .feature03 .job-image-wrapper .flex-right .ttl-wrap{
        justify-content: center;
    }
    .department-section .text-future .ttl {
        font-size: 3rem;
    }
    .department-section .text-future .ttl .f-size-40 {
        font-size: 2.6rem;
    }
    .department-section .text-future .ttl-en {
        font-size: 5rem;
        top: 19px;
        left: 0;
    }
    .department-accordion .accordion_title {
        font-size: 16px;
        line-height: 1;
        width: 260px;
        margin-top: 3rem;
    }
    .department-section .text-future{
        margin-top: 1rem;
    }
    .department-accordion .icon:before {
        width: 2px;
        height: 18px;
        left: 8px;
    }
    .department-accordion .icon:after{
        width: 18px;
        height: 2px;
        top: 8px;
    }
    /* ul.course-list li .ttl-wrap{
        padding: 1rem;
    }
    ul.course-list li .ttl-wrap .ttl {
        font-size: 1.8rem;
    }
    ul.course-list li .ttl-wrap .icon-img{
        width: 28px;
        height: 28px;
    }
    ul.course-list li .ttl-wrap .icon-img img{
        width: 60%;
    }
    ul.course-list {
        gap: 2rem 1rem;
    } */
    .design.department-section .text-wrap.top-text {
        font-size: 2.8rem;
    }
    .department-section .ttl-wrap .ttl.ttl-line {
        font-size: 3.5rem;
    }
    .design.department-section .top-detail .f-size-30 {
        font-size: 2.4rem;
    }
    ul.course-list li .ttl-wrap .ttl {
        font-size: 2rem;
    }
    ul.course-list{
        flex-direction: column;
        align-items: center;
    }
    ul.course-list li {
        width: 80%;
    }
    ul.course-list li:nth-of-type(1)::before {
        width: 235px;
        height: 70px;
        top: -80px;
    }
    ul.course-list li:nth-of-type(2)::before {
        width: 282px;
        height: 70px;
        top: -80px;
    }
    ul.course-list li:nth-of-type(2){
        margin-top: 10rem;
    }

    .ttl.f-size-41{
        font-size: 2.8rem;
    }
    .features-tag.center{
        margin-top: 3rem;
    }
}

@media screen and (max-width:550px) {
    .department-section .white-bg {
        padding: 3rem;
    }
    .design.department-section .text-wrap.top-text {
        font-size: 2.4rem;
    }
    ul.course-list li {
        width: 100%;
    }
    ul.course-list li:nth-of-type(1)::before {
        width: 195px;
        height: 60px;
        top: -70px;
    }
    ul.course-list li:nth-of-type(2)::before {
        width: 230px;
        height: 60px;
        top: -70px;
    }
    .department-section .cross-img{
        margin-right: 0;
    }
    .department-section .cross-img .cross-img-right::before {
        width: 40px;
        height: 44px;
        right: -15px;
    }
    .department-section .cross-img .cross-img-left::before {
        width: 40px;
        height: 44px;
        left: -15px;
    }
    .department-section .feature02 .text-wrap p {
        font-size: 1.6rem;
        margin-top: 1rem;
    }
    .design.department-section .top-detail .f-size-30 {
        font-size: 2.2rem;
    }
    .department-section .feature03 .job-image-wrapper {
        margin: 2rem 2rem 0;
    }
    .department-section .feature03 .btm-text {
        margin-top: 2rem;
    }
    .department-section .text-future .ttl::after {
        width: 32vw;
        height: 24.8vw;
    }
    .gamecreator.department-section .text-future .ttl::after {
        right: -20px;
        width: 32vw;
        height: 27.1vw;
    }
    .department-section-bg .inner-wide{
        padding: 0;
    }
    .department-section .white-bg {
        padding: 3rem 1rem;
        background: transparent;
        margin-top: 0;
    }
    .department-section .ttl-wrap .ttl.ttl-line {
        font-size: 3rem;
    }
    .department-section .text-future .txt{
        padding: 3rem 3rem 4rem;
    }
    .department-section .feature01 .ttl {
        font-size: 2.4rem;
    }
    .department-section .feature01 .ttl {
        margin: 1rem 0;
    }
}

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

    .design.department-section .text-wrap.top-text {
        font-size: 2.2rem;
    }
    .design.department-section .top-detail{
        padding: 2rem;
    }
    .design.department-section .top-detail .f-size-30 {
        font-size: 2rem;
    }
    .design.department-section .triangle{
        width: 70px;
        height: 20px;
    }
    .department-section .text-future .txt{
        padding: 2rem 2rem 3rem;
    }
    ul.course-list{
        margin-top: 14rem;
    }
    ul.course-list li:nth-of-type(1)::before{
        width: 80%;
        height: -webkit-fill-available;
        top: -90px;
    }
    ul.course-list li:nth-of-type(2)::before {
        width: 90%;
        height: -webkit-fill-available;
        top: -80px;
    }
    .department-section .feature03 .job-image-wrapper {
        margin: 2rem 1rem 0;
    }
    .department-section .ttl-wrap .ttl.ttl-line {
        font-size: 2.8rem;
        padding: 0 1rem;
    }
    .department-section .ttl-wrap .btm-txt {
        font-size: 1.8rem;
    }
    .department-section .feature01 .ttl {
        font-size: 2.2rem;
    }
    .department-section .feature02 .img-wrapper{
        flex-direction: column;
        gap: 1rem;
    }
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl {
        font-size: 2.4rem;
    }
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl span{
        font-size: 2.4rem;
    }
    .department-section .feature03-bg {
        padding: 12rem 1rem 2rem;
    }
    .department-section .cross-img .cross-img-right {
        padding: 5px 22px 5px 7px;
    }
    .department-section .cross-img .cross-img-left {
        padding: 5px 5px 5px 27px;
    }

}

@media screen and (max-width:340px) {
    .department-section .feature02 .text-wrap .ttl, .department-section .feature03 .text-wrap .ttl {
        font-size: 2.2rem;
    }
}

/* -----------------------------------------------------------
    フッター
----------------------------------------------------------- */

@media screen and (max-width:960px) {
    .footer-wrapper{
        flex-direction: column;
        align-items: center;
        gap: 4rem;
    }
    .footer-wrapper .flex-left .flex{
        justify-content: center;
    }
    .footer-wrapper .flex-left .img{
        text-align: center;
    }
    .footer-wrapper .flex-left .img img{
        width: 50%;
    }
}

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


    footer {
        padding: 8rem 0 14rem;
    }
}
@media screen and (max-width:550px) {
    .footer-wrapper .flex-left .img img {
        width: 70%;
    }
}
@media screen and (max-width:390px) {
    .footer-wrapper .flex-left .img img {
        width: 100%;
    }
    .footer-wrapper .flex-right {
        max-width: none;
        width: 90%;
    }
    .footer-btn a{
        justify-content: center;
        padding: 20px 70px ;
    }
    .department-accordion .accordion_title{
        width: 90%;
    }
}


/* -----------------------------------------------------------
    br
----------------------------------------------------------- */
.b-1210{
    display: none;
}

.n-1210{
    display: block;
}

.b-960{
    display: none;
}

.b-767{
    display: none;
}

.b-550{
    display: none;
}

.b-390{
    display: none;
}

.n-1040{
    display: block;
}

.n-960{
    display: block;
}




@media screen and (max-width:1210px) {
    .b-1210{
        display: block;
    }
    .n-1210{
        display: none;
    }
}
@media screen and (max-width:1040px) {
    .n-1040{
        display: none;
    }
}
@media screen and (max-width:960px) {
    .b-960{
        display: block;
    }
    .n-960{
        display: none;
    }
}
@media screen and (max-width:767px) {
    .b-767{
        display: block;
    }
}
@media screen and (max-width:550px) {
    .b-550{
        display: block;
    }
}

@media screen and (max-width:390px) {
    .b-390{
        display: block;
    }
}