@charset "utf-8";

/***header***/
header {
    position: sticky;
    top: 0;
    left: 0;
    background-color: white;
}

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


}

/***commmon***/
.sub_page {
    padding: 160px 0;
}

.sub_page_title {
    text-align: center;
    font-size: 6rem;
    font-weight: bold;
}


.two_column_list > li {
    display: flex;
    justify-content: space-between;
    gap: 80px;
}

.two_column_list > li:nth-of-type(2n) {
    flex-direction: row-reverse;
}

.two_column_list > li:not(:last-of-type) {
    margin-bottom: 100px;
}

.two_column_list > li .image {
    width: calc(50% + 40px);
}

.two_column_list > li .text {
    flex: 1;
}

.two_column_list > li .text .num {
    margin-bottom: 20px;
    color: var(--theme-back-color);
    font-size: 1.5rem;
    font-weight: bold;
}

.two_column_list > li .text h3 {
    margin-bottom: 60px;
    font-size: 2.5rem;
    font-weight: bold;
}

.two_column_list > li .text .ex {

}

.two_column_list > li .text .btn_box {
    margin-top: 70px;
}

.two_column_list > li .text .btn_box a {
    text-align: left;
    justify-content: flex-start;
    padding-left: 20px;
    padding-left: 20px;
}

.back_color {
    background-color: #f5f5f5;
}


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

    .sub_page {
        padding: 10rem 0;
    }

    .two_column_list > li,
    .two_column_list > li:nth-of-type(2n) {
        flex-direction: column;
        gap: 5rem;
    }
    .two_column_list > li:not(:last-of-type) {
        margin-bottom: 7rem;
    }
    .two_column_list > li .image {
        width: 100%;
    }
    .two_column_list > li .text {
        width: 100%;
    }

    .two_column_list > li .text .num {
        margin-bottom: 1rem;
        font-size: 2rem;
    }
    .two_column_list > li .text h3 {
        margin-bottom: 4.5rem;
        font-size: 3rem;
    }

    .two_column_list > li .text .ex {
        font-size: 2.2rem;
    }
    .two_column_list > li .text .btn_box {
        margin-top: 3rem;
    }
    
    .two_column_list > li .text .btn_box a {
        text-align: center;
        justify-content: center;
        margin-left: auto;
        padding: 0;
    }
    
    

    

}

/***FV***/
.sub_page_fv {
    position: relative;
}


.sub_page_fv figure {
    position: relative;
    height: 320px;
    width: 100%;
    overflow: hidden;
}

.sub_page_fv figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sub_page_fv .wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sub_page_fv .jp {
    margin-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
}

.sub_page_fv .en {
    font-size: 6.2rem;
    line-height: 1;
    font-weight: bold;
}

.sub_page_fv .en span {
    color: white;
}


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

    .sub_page_fv figure {
        height: 34rem;
    }
    .sub_page_fv {
        display: flex;
        flex-direction: column-reverse;
        gap: 3rem;
    }
    .sub_page_fv .jp {
        margin-bottom: 0px;
        font-size: 2.6rem;
    }
    .sub_page_fv .en {
        font-size: 5.6rem;
    }

}

/***pan_list***/
.pan_list {
    background-color: #f5f5f5;
    padding: 20px 0;
}
.pan_list > ul {
    display: flex;
    flex-wrap: wrap;
}

.pan_list > ul > li {
    font-size: 1.4rem;
}

.pan_list > ul > li:not(:last-child)::after {
    content: '>';
    margin: 0px 5px;
}


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

    .pan_list {
        padding: 1.5rem 0;
    }

}


/***cando_page_list***/
.cando_page_list_sec h2 {
    margin-bottom: 160px;
}
@media screen and (max-width: 770px) {
    .cando_page_list_sec h2 {
        margin-bottom: 6rem;
    }

}


/***cando_page_store_sec***/
.cando_page_store_sec {
    text-align: center;
    background-color: #f5f5f5;
}

.cando_page_store_sec h2 {
    margin-bottom: 60px;
}

.cando_page_store_sec .ex {
    margin-bottom: 65px;
}

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

    .cando_page_store_sec h2 {
        margin-bottom: 6rem;
    }
    
    .cando_page_store_sec .ex {
        margin-bottom: 4rem;
    }

}

/***cando_page_license_sec***/

.cando_page_license_sec h2 {
    text-align: center;
    margin-bottom: 150px;
}
.sub_page_banner {
    margin-top: 120px;
}
.sub_page_banner figure {
    max-width: 830px;
    margin: 0 auto;
}

.sub_page_banner figure img {
    width: 100%;
}


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

    .cando_page_license_sec h2 {
        margin-bottom: 6rem;
    }
    .sub_page_banner {
        margin-top: 20rem;
    }
    .sub_page_banner figure {
        width: 100%;
        margin: 0 auto;
    }
}





/***tab***/
.video_sec .tab{
    margin: 0 auto;
}

.video_sec .tab-list{
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
margin-bottom: 65px;
}

.video_sec .tab-list-item {
width: 220px;
height: 60px;
display: flex;
padding: 0 20px;
font-size: 1.4rem;
font-weight: bold;
cursor: pointer;
border: 1px solid #d5d5d5;
background-color: white;
position: relative;
align-items: center;
}

.video_sec .tab-list-item:hover {
    opacity: 0.8;
}

.video_sec .tab-list-item::after {
    width: 12px;
    height: 12px;
    background-color: #c4c4c4;
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    border-radius: 50%;
}

.video_sec .is-btn-active::after {
    background-color: var(--theme-color);
}
    

.video_sec .tab-contents{
display: none;
max-width: 870px;
width: 100%;
margin: 0 auto;
}


.video_sec .is-contents-active{
display: block;
}


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


    .video_sec .tab-list{
        gap: 2rem;
        margin-bottom: 7rem;
    }

    .video_sec .tab-list-item {
        width: 20rem;
        height: 5.4rem;
        padding: 0 1.5rem;
        font-size: 1.8rem;
    }

    .video_sec .tab-list-item::after {
        width: 1.6rem;
        height: 1.6rem;
        right: 0.6rem;
    }
    
        


}


/***video_sec***/
.video_sec h2 {
    margin-bottom: 130px;
}

.video_sec .youtube {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.5%;
    overflow: hidden;
}

.video_sec .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video_sec .video_others {
    display: flex;
    gap: 40px;
    margin-top: 120px;
    flex-wrap: wrap;
}

.video_sec .video_others li {
    width: calc(100% / 4 - 120px / 4);
}

.video_sec .video_others li h3 {
    font-size: 1.8rem;
    font-weight: bold;
    padding-left: 16px;
    margin-bottom: 15px;
    position: relative;
}

.video_sec .video_others li h3::before {
    content: '';
    width: 8.5px;
    height: 8.5px;
    position: absolute;
    top: 11.5px;
    left: 0;
    background-color: var(--theme-color);
    border-radius: 50%;
}


.video_sec .video_others.square li figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 65%;
    overflow: hidden;
}

.video_sec .video_others.square li figure img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

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

    .video_sec h2 {
        margin-bottom: 8rem;
    }

    .video_sec .video_others {
        display: flex;
        gap: 4rem;
        margin-top: 5.5rem;
    }

    .video_sec .video_others li {
        width: calc(100% / 2 - 4rem / 2);
    }

    .video_sec .video_others li h3 {
        font-size: 2.4rem;
        font-weight: bold;
        padding-left: 1.5rem;
        margin-bottom: 1.5rem;
    }
    .video_sec .video_others li h3::before {
        width: 0.85rem;
        height: 0.85rem;
        top: 1.6rem;
    }
    

}





/***course_top_sec***/

.course_top_sec h2 {
    margin-bottom: 150px;
}





@media screen and (max-width: 770px) {
    .course_top_sec h2 {
        margin-bottom: 10rem;
    }


}


/***course_page_list_sec***/
.course_page_list_sec h2 {
    margin-bottom: 120px;
}


.course_page_list_sec .wrapper .course_list:not(:last-of-type) {
    margin-bottom: 85px;
}

.course_list {
    display: flex;
    justify-content: center;
    gap: 35px;
}

.course_list > li {
    width: calc(100% / 4 - 105px / 4);
}

.course_list > li figure {
    margin-bottom: 20px;
}

.course_list > li figure img {
    width: 100%;
}

.course_list > li .title {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.course_list > li .title h3 {
    font-weight: bold;
    font-size: 1.8rem;
}

.course_list > li .title h3 small {
    display: inline-block;
    line-height: 1.4;
}

.course_list > li .title .rank {
    background-color: var(--theme-back-color);
    padding: 5px 15px;
    color: white;
    line-height: 1;
    font-size: 1.4rem;
    margin-left: 15px;
}

.course_list > li .ex {
    font-size: 1.4rem;
}

.course_page_list_sec .btn_box {
    margin-top: 70px;
}

.course_page_list_sec .btn_box a {
    margin: 0 auto;
}

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


    .course_page_list_sec h2  {
        margin-bottom: 10rem;
    }

    .course_page_list_sec .wrapper .course_list:not(:last-of-type) {
        margin-bottom: 9rem;
    }

    .course_list {
        flex-direction: column;
        gap: 9rem;
    }
    .course_list > li {
        width: 100%;
    }
    .course_list > li figure {
        margin-bottom: 3rem;
    }
    .course_list > li .title {
        margin-bottom: 2rem;
    }
    

    .course_list > li .title h3 {
        font-size: 2.6rem;
    }

    .course_list > li .title .rank {
        padding: 0.5rem 1.5rem;
        font-size: 2.2rem;
        margin-left: 1.5rem;
    }
    .course_list > li .ex {
        font-size: 1.8rem;
    }

    .course_page_list_sec .btn_box {
        margin-top: 9rem;
    }
    

}


/***chart_sec***/
.chart_sec {
    padding: 120px 0;
}


.chart_title {
    text-align: center;
    margin-bottom: 120px;
}

.chart_title p {
    margin-bottom: 25px;
    color: var(--theme-color);
    padding-bottom: 5px;
    line-height: 1;
    border-bottom: 1px solid var(--theme-color);
    font-size: 2.2rem;
    font-weight: bold;
    display: inline-block;
}

.chart_title h2 {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
}

.chart_table {
    overflow-x: auto;
    max-width: 1200px;
    margin: 0 auto;
}

.chart_table table {
    width: 1200px;
}



.chart_table table th,
.chart_table table td {
    border: 1px solid #cccccc;
    padding: 15px 30px;
    vertical-align: middle;
}

.chart_table table th{
    background-color: #d5f0f8;

}
.chart_table table tr th:nth-of-type(1),
.chart_table table tr td:nth-of-type(1) {
    width: 26%;
}
.chart_table table tr th:nth-of-type(2),
.chart_table table tr td:nth-of-type(2),
.chart_table table tr th:nth-of-type(3),
.chart_table table tr td:nth-of-type(3) {
    text-align: center;
}
.chart_table table tr th:nth-of-type(4),
.chart_table table tr td:nth-of-type(4) {
    width: 51%;
}

.chart_table table td small {
    display: inline-block;
    line-height: 1.4;
}

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

    .chart_sec {
        padding: 9rem 0;
    }

    .chart_title {
        margin-bottom: 10rem;
    }


    .chart_title p {
        margin-bottom: 2.5rem;
        padding-bottom: 0.5rem;
    }
        
    .chart_table table {
        width: 130rem;
    }
    

    .chart_table table th,
    .chart_table table td {
        padding: 1.5rem 3rem;
        font-size: 1.6rem;
    }


}



/***cart_in_sec***/
.cart_in_sec {
    padding: 160px 0 120px;
}

.cart_in_list > li {
    display: flex;
    justify-content: space-between;
    gap: 70px;
}

.cart_in_list > li:not(:last-of-type) {
    margin-bottom: 100px;
}


.cart_in_list > li .image {
    width: calc(50% + 30px);
}

.cart_in_list > li .content {
    flex: 1;
}

.cart_in_list .content h2 {
    margin-bottom: 20px;
    line-height: 1;
    font-size: 3rem;
}

.cart_in_list .content .price {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--theme-color);
    margin-bottom: 60px;
}

.cart_in_list .content .price span {
    font-size: 2rem;
}

.cart_in_list .content .ex {
    margin-bottom: 70px;
}

.cart_in_btn a,
.cart_in_btn .single_add_to_cart_button {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 235px;
    margin-left: auto;
    height: 60px;
    padding-left: 30px;
    font-size: 1.4rem;
    font-weight: bold;
    border: 1px solid #d5d5d5;
    position: relative;
    background-color: white;
}

.cart_in_btn a::after,
.cart_in_btn .single_add_to_cart_button::after {
    width: 12px;
    height: 12px;
    content: '';
    background-color: var(--theme-color);
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    border-radius: 50%;
  }

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

    .cart_in_sec {
        padding: 12rem 0;
    }

    .cart_in_list > li {
        display: block;
    }
    .cart_in_list > li:not(:last-of-type) {
        margin-bottom: 10rem;
    }
    .cart_in_list > li .image {
        width: 100%;
        margin-bottom: 30px;
    }
    
    .cart_in_list > li .image img {
        width: 100%;
    }
    
    .cart_in_list .content h2 {
        margin-bottom: 2rem;
        font-size: 3.5rem;
    }
    .cart_in_list .content .price {
        font-size: 1.6rem;
        margin-bottom: 5rem;
    }
    .cart_in_list .content .price span {
        font-size: 2.6rem;
    }

    .cart_in_list .content .ex {
        margin-bottom: 7rem;
        font-size: 1.6rem;
    }
    
    .cart_in_btn a,
    .cart_in_btn .single_add_to_cart_button {
        max-width: 22rem;
        margin-left: auto;
        height: 6rem;
        padding-left: 2.5rem;
        font-size: 1.8rem;
    }
    
    .cart_in_btn a::after,
    .cart_in_btn .single_add_to_cart_button::after {
        width: 1.2rem;
        height: 1.2rem;
        right: 1.5rem;
      }



}



/***license_recommend_sec***/
.license_recommend_sec {
    padding: 140px 0 120px;
    text-align: center;
}

.license_recommend_sec h2 {
    margin-bottom: 70px;
}

.license_recommend_sec .ex {
    margin-bottom: 75px;
    line-height: 2.2;
    font-size: 1.8rem;
}

.license_recommend_sec .ex strong {
    font-size: 2.7rem;
    color: #de0000;
}


.license_recommend_sec figure {
    max-width: 1000px;
    margin: 0 auto;
}

.license_recommend_sec figure img {
    width: 100%;
}


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

    .license_recommend_sec {
        padding: 10rem 0;
    }
    .license_recommend_sec h2 {
        margin-bottom: 5rem;
    }
    .license_recommend_sec .ex {
        margin-bottom: 6rem;
        font-size: 1.8rem;
    }

    .license_recommend_sec .ex strong {
        font-size: 2.6rem;
    }


}



/***license_reason_sec***/
.license_reason_sec {
    padding-top: 190px;
    background: url(../img/national_page_reason_back.jpg) top  center / cover no-repeat;
}

.license_reason_sec h2 {
    color: white;
    font-size: 6rem;
    margin-bottom: 9rem;
    text-align: center;
}

.license_reason_sec .message_box {
    background-color: rgba(255, 255, 255, 0.6);
    position: relative;
    max-width: 1070px;
    margin: 0 auto;
    padding: 80px;
    padding-right: 240px;
}

.license_reason_sec .message_box .ex {
    line-height: 2.4;
}

.license_reason_sec .message_box .person {
    position: absolute;
    bottom: 0;
    right: -240px;
    width: 448px;
}



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

    .license_reason_sec {
        padding-top: 10rem;
        background: url(../img/national_page_reason_back_sp.png) top  center / cover no-repeat;
    }

    .license_reason_sec h2 {
        text-align: left;
    }
    .license_reason_sec .message_box {
        padding: 5.5rem 3rem;
    }

    .license_reason_sec .message_box .ex {

        font-size: 1.6rem;
    }
        
    .license_reason_sec .message_box .person {
        bottom: inherit;
        top: 0;
        transform: translateY(-100%);
        right: 0;
        width: 23.4rem;
    }
    


}



/***license_course_sec***/
.license_course_sec {
    padding: 120px 0;
}

.license_course_list {
    display: flex;
    flex-wrap: wrap;
    gap: 90px 60px;
    max-width: 1100px;
    margin: 0 auto;
}


.license_course_list li {
    width: calc(100% / 2 - 60px / 2);
    background-color: #f2f8fa;
    padding: 50px 35px;
}

.license_course_list li h3 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 2.5rem;
}

.license_course_list li h4 {
    margin-bottom: 3rem;
    background-color: var(--theme-back-color);
    text-align: center;
    color: white;
    padding: 10px;
    font-size: 1.6rem;
    margin-top: -10px;
}

.license_course_list li figure {
    max-width: 300px;
    margin: 0  auto 30px;
    text-align: center;
}

.license_course_list li table {
    width: 100%;
}

.license_course_list li table th,
.license_course_list li table td {
    font-size: 1.4rem;
}

.license_course_list li table th {
    width: 90px;
}
.license_course_list li .cart_in_btn {
    margin-top: 20px;
}
.license_course_list li .cart_in_btn a {
    margin: 0 auto;
}



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

    .license_course_sec {
        padding: 12rem 0;
    }
    .license_course_list {
        display: block;
    }
    .license_course_list li {
        width: 100%;
        padding: 4.5rem 4rem;
    }
    .license_course_list li:not(:last-of-type) {
        margin-bottom: 8rem;
    }
    .license_course_list li h3 {
        margin-bottom: 2rem;
        font-size: 3.5rem;
    }

    .license_course_list li h4 {
        margin-bottom: 4rem;
        padding: 1rem;
        font-size: 1.8rem;
        margin-top: 0;
    }
    .license_course_list li figure {
        max-width: 33rem;
        margin: 0  auto 3rem;
        text-align: center;
    }
    .license_course_list li table {
        width: 100%;
    }
    
    .license_course_list li table th,
    .license_course_list li table td {
        font-size: 1.6rem;
    }

    .license_course_list li table th {
        width: 14rem;
    }

}




/***license_certificate_sec***/




.license_certificate_sec {
    padding: 80px 0;
    background: url(../img/national_page_back.png) center / cover no-repeat;
}

.license_certificate_sec .wrapper {
    max-width: 1100px;
}
  
.license_certificate_sec .title {
    margin-bottom: 65px;
}

.license_certificate_sec .en {
    margin-bottom: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--theme-back-color);
    line-height: 1;
}

.license_certificate_sec .jp {
    font-size: 2.5rem;
    color: white;
    line-height: 1;
}

.license_certificate_sec .two_column {
    display: flex;
    gap: 70px;
    align-items: stretch;
}

.license_certificate_sec .two_column .image {
    max-width: 365px;
}

.license_certificate_sec .two_column .content {
    flex: 1;
    color: #ffffff;
    display: flex;
    align-items: stretch;
}

.license_certificate_sec .two_column .content h3 {
    font-size: 3.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

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

    .license_certificate_sec {
        padding: 10rem 0;
        background: url(../img/national_page_back_sp.png) center / cover no-repeat;
    }
    .license_certificate_sec .title {
        margin-bottom: 6rem;
    }
    .license_certificate_sec .en {
        margin-bottom: 1.5rem;
        font-size: 1.6rem;
    }
    .license_certificate_sec .jp {
        font-size: 2.6rem;
    }
    
    .license_certificate_sec .two_column {
        flex-direction: column;
        gap: 6rem;
    }
    .license_certificate_sec .two_column .image {
        max-width: 34.4rem;
        margin: 0 auto;
        order: 2;
    }

    .license_certificate_sec .two_column .image img {
        width: 100%;
    }
    .license_certificate_sec .two_column .content {
        width: 100%;
        display: block;
        order: 1;

    }

    .license_certificate_sec .two_column .content h3 {
        font-size: 3.6rem;
        min-height: 20rem;
        margin-bottom: 6rem;
    }

    .license_certificate_sec .two_column .content p {
        font-size: 1.8rem;
        width: 100%;
        margin-bottom: 5rem;
    }




}



/***license_certificate_sec***/
.license_certificate_sec.drograming_page {
    padding: 120px 0;
}
.license_certificate_sec.drograming_page .title {
    margin-bottom: 0;
}
.license_certificate_sec.drograming_page .title h2 {
    line-height: 2;
}




@media screen and (max-width: 770px) {
    .license_certificate_sec.drograming_page {
        padding: 10rem 0;
    }


}



/***スクロール切り替え***/
.mySwiper {
    background: url(../img/national_page_back.png) center / cover no-repeat;
}

.mySwiper .license_certificate_sec  {
    background: none;
}


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

    .mySwiper {
        background: url(../img/national_page_back_sp.png) center / cover no-repeat;
    }
    
    .mySwiper .license_certificate_sec  {
        background: none;
    }
    

}




/***drogaming_course_sec***/
.drogaming_course_sec {
    padding: 140px 0 120px;
}

.drogaming_course_sec .top {
    display: flex;
    justify-content: center;
    gap: 100px;
    margin-bottom: 80px;
}

.drogaming_course_sec .top .box {
    width: 50%;
    max-width: 500px;
}

.drogaming_course_sec .top .box figure {
    margin-bottom: 25px;
}

.drogaming_course_sec .top .box figure img {
    width: 100%;
}

.drogaming_course_sec h3 {
    margin-bottom: 20px;
    font-size: 2.6rem;
}

.drogaming_course_sec .middle {
    max-width: 1100px;
    margin: 0 auto 120px;
}

.drogaming_course_sec .bottom {
    display: flex;
    justify-content: space-between;
    gap: 35px;
}

.drogaming_course_sec .bottom li {

    flex: 1;
}

.drogaming_course_sec .bottom li figure {
    margin-bottom: 20px;
}

.drogaming_course_sec .bottom li figure img {
    width: 100%;
}

.drogaming_course_sec .bottom li h4 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    line-height: 1;
}

.drogaming_course_sec .bottom li p {
    font-size: 1.4rem;
}


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

    .drogaming_course_sec {
        padding: 12rem 0;
    }
    .drogaming_course_sec .top {
        display: block;
        margin-bottom: 8rem;
    }
    .drogaming_course_sec .top .box {
        width: 100%;
        max-width: 500px;

    }

    .drogaming_course_sec .top .box:not(:last-of-type) {
        margin-bottom: 6rem;
    }

    .drogaming_course_sec .top .box figure {
        margin-bottom: 3rem;
    }
    .drogaming_course_sec h3 {
        margin-bottom: 2.5rem;
    }

    .drogaming_course_sec p {
        font-size: 1.8rem;
    }

    .drogaming_course_sec .middle {
        margin-bottom: 9rem;
    }

    .drogaming_course_sec .bottom {
        display: flex;
        justify-content: space-between;
        gap: 35px;
    }



    .drogaming_course_sec .bottom li > * {
        width: 45rem;
        margin-right: 1.5rem;
        margin-left: 1.5rem;
    }

    .drogaming_course_sec .bottom li figure {
        margin-bottom: 2rem;
    }
    
    .drogaming_course_sec .bottom li h4 {
        font-size: 2.6rem;
        margin-bottom: 2rem;
    }

    .drogaming_course_sec .bottom li p {
        font-size: 1.8rem;
    }
    

}




/***drograming_study_sec***/
.drograming_study_sec {
    padding: 150px 0;
}

.season_list {
    display: flex;
    gap: 25px;
    justify-content: space-between;
    margin-bottom: 135px;
}

.season_list li {
    flex: 1;
}

.season_list li figure {
    margin-bottom: 20px;
}

.season_list li figure img {
    width: 100%;
}

.season_list li .num {
    margin-bottom: 5px;
    display: inline-block;
    padding: 5px 10px;
    background-color: var(--theme-back-color);
    color: white;
    font-size: 1.4rem;
    font-weight: bold;
}

.season_list li h4 {
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.season_list li .time {
    font-weight: bold;
    font-size: 1.4rem;
    color: var(--theme-color);
}
.season_list li .ex {
    font-size: 1.4rem;
}


.drograming_study_sec .tab{
    margin: 0 auto;
}

.drograming_study_sec .tab-list{
display: flex;
justify-content: center;
margin: 0 auto;
margin-top: 80px;
max-width: 1100px;
}

.drograming_study_sec .tab-list-item{
flex: 1;
text-align: center;
padding: 20px 0;
cursor: pointer;
color: white;
background-color: #000000;
font-size: 1.4rem;
}

.drograming_study_sec .tab-list .tab-list-item:not(:last-of-type) {
    border-right: 1px solid #424242;
}

.drograming_study_sec .tab-list .tab-list-item:first-of-type {
    border-radius: 7px 0 0 7px;
}

.drograming_study_sec .tab-list .tab-list-item:last-of-type {
    border-radius: 0px 7px 7px 0;
}

.drograming_study_sec .tab-contents{
display: none;
}


.drograming_study_sec .tab-contents .two_column {
    display: flex;
    justify-content: space-between;
    gap: 70px;
}

.drograming_study_sec .tab-contents .image {
    width: calc(50% + 30px);
}

.drograming_study_sec .tab-contents .content {
    flex: 1;
}

.drograming_study_sec .tab-contents .content .num {
    color: var(--theme-color);
    margin-bottom: 15px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
}
.drograming_study_sec .tab-contents .content h2 {
    font-size: 3rem;
}
.drograming_study_sec .tab-contents .content .ex {
    margin-top: 20px;
}

.drograming_study_sec .is-btn-active{
background-color: #2b2b2b;
}

.drograming_study_sec .is-contents-active{
display: block;
}


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

    .drograming_study_sec {
        padding: 9rem 0;
    }

    .season_list {
        margin-bottom: 12rem;
    }

    .season_list li > * {
        width: 45rem;
        margin-right: 1.5rem;
        margin-left: 1.5rem;
    }

    .season_list li figure {
        margin-bottom: 2rem;
    }

    .season_list li > .num {
        width: auto;
        margin-bottom: 1.5rem;
        padding: 0.5rem 1.5rem;
        font-size: 2rem;
    }

    .season_list li h4 {
        font-size: 2.2rem;
        margin-bottom: 2remx;
    }

    .season_list li .time {
        font-size: 1.8rem;
    }
    .season_list li .ex {
        font-size: 1.8rem;
    }

    .drograming_study_sec .tab-list{
        flex-wrap: wrap;
        margin-top: 6rem;
    }

    .drograming_study_sec .tab-list-item{
        flex: inherit;
        min-height: 8.5rem;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2.2rem;
    }

    .drograming_study_sec .tab-list .tab-list-item:not(:last-of-type) {
        border-right: inherit;
    }

    
    .drograming_study_sec .tab-list .tab-list-item:first-of-type {
        border-radius: inherit;
    }
    
    .drograming_study_sec .tab-list .tab-list-item:last-of-type {
        border-radius: inherit;
    }
        

    
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(1),
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(2),
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(3) {
        width: calc(100% / 3);
    }

    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(4),
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(5),
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(6),
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(7) {
        width: calc(100% / 4);
    }

    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(1) {
        border-radius: 0.7rem 0 0 0;
    }

    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(3) {
        border-radius: 0 0.7rem 0 0;
    }

    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(4) {
        border-radius: 0 0 0 0.7rem ;
    }
    .drograming_study_sec .tab-list .tab-list-item:nth-of-type(7) {
        border-radius: 0 0 0.7rem  0 ;
    }
    .drograming_study_sec .tab-contents .two_column {
        display: block;
    }
    .drograming_study_sec .tab-contents .image {
        width: 100%;
        margin-bottom: 3rem;
    }

    .drograming_study_sec .tab-contents .image img {
        width: 100%;
    }
    .drograming_study_sec .tab-contents .content {
        width: 100%;
    }
    .drograming_study_sec .tab-contents .content .num  {
        margin-bottom: 1.5rem;
    }
    .drograming_study_sec .tab-contents .content h2 {
        font-size: 3.5rem;
    }
    .drograming_study_sec .tab-contents .content .ex {
        margin-top: 2rem;
        font-size: 1.8rem;
    }





}

.bottom_banner {
    padding-bottom: 120px;
}


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

    .bottom_banner {
        padding-bottom: 10rem;
    }
    
    .bottom_banner .sub_page_banner {
        margin-top: 10rem;
    }


}






/***event_list_page_sec***/
.event_list_page_sec {
    padding: 160px 0 120px;
}

.event_list_page_sec h2 {
    margin-bottom: 110px;
}

.event_list_page_sec .two_column {
    display: flex;
    justify-content: space-between;
    gap: 70px;
}




.event_list_page_sec .two_column .image {
    width: calc(50% + 30px);
}

.event_list_page_sec .two_column .content {
    flex: 1;
}

.event_list_page_sec .two_column .content h3 {
    margin-bottom: 20px;
    line-height: 1;
    font-size: 3rem;
}


.event_list_page_sec .two_column .content .ex {
    margin-bottom: 70px;
}

.more_btn a {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 235px;
    margin-left: auto;
    height: 60px;
    padding-left: 30px;
    font-size: 1.4rem;
    font-weight: bold;
    border: 1px solid #d5d5d5;
    position: relative;
    background-color: white;
}

.more_btn a::after {
    width: 12px;
    height: 12px;
    content: '';
    background-color: var(--theme-color);
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    border-radius: 50%;
  }


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

    .event_list_wrap .event_list_page_sec:nth-of-type(2n) .two_column {
        flex-direction: row-reverse;
    }

  }

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

    .event_list_page_sec {
        padding: 12rem 0;
    }

    .event_list_page_sec h2.sub_page_title {
        margin-bottom: 9rem;
        font-size: 5rem;
    }

    .event_list_page_sec .two_column {
        display: block;
    }

    .event_list_page_sec .two_column .image {
        width: 100%;
        margin-bottom: 3rem;
    }
    
    .event_list_page_sec .two_column .image img {
        width: 100%;
    }
    
    .event_list_page_sec h3 {
        margin-bottom: 2rem;
        font-size: 3.5rem;
    }


    .cart_in_list .content .ex {
        margin-bottom: 7rem;
        font-size: 1.6rem;
    }
    
    .more_btn a {
        max-width: 22rem;
        margin-left: auto;
        height: 6rem;
        padding-left: 2.5rem;
        font-size: 1.8rem;
    }
    
    .more_btn a::after {
        width: 1.2rem;
        height: 1.2rem;
        right: 1.5rem;
      }



}



/***event_single_sec***/
.event_single_sec {
    padding: 120px 0;
}

.event_single_sec h2 {
    margin-bottom: 120px;
}

.event_single_sec .two_column {
    display: flex;
    justify-content: space-between;
    gap: 70px;
    margin-bottom: 120px;
}




.event_single_sec .two_column .image {
    width: calc(50% + 30px);
}

.event_single_sec .two_column .content {
    flex: 1;
}

.event_slider {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.event_slider li {
    width: calc(100% / 5 - 100px / 5);
}

.event_slider li figure {
    margin-bottom: 20px;
}

.event_slider li figure img {
    width: 100%;
}

.event_slider li p {
    font-size: 1.4rem;
}

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

    .event_single_sec {
        padding: 12rem 0;
    }
    
    .event_single_sec h2 {
        margin-bottom: 12rem;
    }
    


    .event_single_sec .two_column {
        display: block;
        margin-bottom: 12rem;
    }

    .event_single_sec .two_column .image {
        width: 100%;
        margin-bottom: 3rem;
    }
    
    .event_single_sec .two_column .image img {
        width: 100%;
    }

    .event_single_sec .two_column p {
        font-size: 1.8rem;
    }

    .event_slider li .box {
        width: 50rem;
        margin: 0 15px;
    }

    .event_slider li figure {
        margin-bottom: 1.5rem;
    }
    



}


/***instagram_sec***/
.instagram_sec {
    padding: 120px 0;
}

.instagram_sec h2 {
    margin-bottom: 120px;
}


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

    .instagram_sec {
        padding: 12rem 0;
    }
    
    .instagram_sec h2 {
        margin-bottom: 12rem;
    }


}




/***news_list_sec***/

.news_list_sec {
    padding: 120px 0;
}


.news_page_list {
    display: flex;
    gap: 80px 50px;
    flex-wrap: wrap;
    align-items: stretch;
}

.news_page_list li {
    width: calc(100% / 3 - 100px / 3);
    padding: 30px;
    border: 1px solid #cccccc;

}

.news_page_list li figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.5%;
    overflow: hidden;
    margin-bottom: 20px;
}

.news_page_list li figure img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

.news_page_list li .title {
    color: var(--theme-color);
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
}



.news_page_list li .ex {
    font-size: 1.4rem;
    margin-bottom: 25px;
}

.news_page_list .btn_box a {
    margin-left: auto;
    min-height: 32px;
    max-width: 135px;
    font-size: 1.2rem;
}

.news_page_list .btn_box a::after {
    width: 8.5px;
    height: 8.5px;
    right: 8px;
}

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

    .news_list_sec {
        padding: 12rem 0;
    }
    
    
    .news_page_list {
        flex-direction: column;
        align-items: center;
        gap: 6rem;
    }

    .news_page_list li {
        width: calc(100% - 4rem);
        padding: 4rem;    
    }
    
    .news_page_list li figure {
        margin-bottom: 3rem;
    }

.news_page_list li .title {
    font-size: 2.6rem;
    margin-bottom: 3rem;
}


.news_page_list li .ex {
    font-size: 2rem;
    margin-bottom: 3rem;
}

.news_page_list .btn_box a {
    min-height: 4.5rem;
    max-width: 17.6rem;
    font-size: 1.8rem;
}

.news_page_list .btn_box a::after {
    width: 1.2rem;
    height: 1.2rem;
    right: 1.2rem;
}
    

}



/***news_single_sec***/
.news_single_sec {
    padding: 80px 0 120px;
}

.news_single_sec .article_date {
    font-size: 1.4rem;
    margin-bottom: 90px;
}

.news_single_sec .title {
    font-size: 4.8rem;
    margin-bottom: 90px;
}

.single_content > * {
    margin-bottom: 45px;
}

.single_content > h2,
.single_content > h3,
.single_content > h4,
.single_content > h5
.single_content > h6 {
    margin-top: 70px;
}

.single_content > p {
    padding-left: 20px;
}

.single_content > h2 {
    padding: 20px;
    background-color: #e6f6fd;
    font-size: 3rem;
}

.single_content > h3 {
    font-size: 2rem;
    padding: 15px 20px;
    background-color: #f4f4f4;
}

.single_content > h4 {
    border-left: 5px solid var(--theme-color);
    font-size: 2.2rem;
    padding-left: 10px;
}

.single_content > h5 {
    font-size: 2rem;
    padding-bottom: 5px;
    border-bottom: 1px solid #f0f0f0;
}

.single_content > h6 {
    font-size: 1.8rem;
    padding-bottom: 5px;
    border-bottom: 1px solid #f0f0f0;
}

.single_content table {
    width: 100%;
}

.single_content > ul,
.single_content > ol {
    background-color: #f2f8fa;
    padding: 20px;
    padding-left: 40px;
    max-width: max-content;
}

.single_content > ul {
    list-style: disc;
}
.single_content > ol {
    list-style: decimal;
}


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

    .news_single_sec {
        padding: 4rem 0 12rem;
    }
    .news_single_sec .article_date {
        font-size: 1.6rem;
        margin-bottom: 6rem;
    }
    .news_single_sec .title {
        font-size: 3.5rem;
        margin-bottom: 6rem;
    }
    .single_content > * {
        margin-bottom: 3rem;
    }

    .single_content > h2,
    .single_content > h3,
    .single_content > h4,
    .single_content > h5
    .single_content > h6 {
        margin-top: 9.5rem;
    }
    .single_content > p {
        padding-left: 3rem;
    }

    .single_content > h2 {
        padding: 2rem;
        font-size: 2.6rem;
    }
    
    .single_content > h3 {
        font-size: 2.2rem;
        padding: 1.5rem 2rem;
    }
    
    .single_content > h4 {
        border-left: 0.5rem solid var(--theme-color);
        font-size: 2rem;
        padding-left: 10rem;
    }
    
    .single_content > h5 {
        font-size: 1.8rem;
        padding-bottom: 0.5rem;
    }
    
    .single_content > h6 {
        font-size: 1.6rem;
        padding-bottom: 0.5rem;
    }

    .single_content > ul,
    .single_content > ol {
        padding: 2rem;
        padding-left: 4rem;
    }

}


/***company_page_sec***/
.company_page_sec {
    padding: 120px 0;
}


.company_page_sec h2 {
    margin-bottom: 100px;
}


.outline_table {
    max-width: 1090px;
    margin: 0 auto;
}

.outline_table dl {
    display: flex;
    padding: 35px 0;
    border-bottom: 1px solid #dcdcdc;
}

.outline_table dl:first-of-type {
    border-top: 1px solid #dcdcdc;
}
.outline_table dl dt,
.outline_table dl dd {
    font-size: 1.8rem;
}
.outline_table dl dt {
    width: 190px;
}
.outline_table dl dd {
    flex: 1;
}

@media screen and (max-width: 770px) {
    .company_page_sec {
        padding: 12rem 0;
    }
    
    
    .company_page_sec h2 {
        margin-bottom: 10rem;
    }
    

    
    .outline_table dl {
        padding: 3rem 0;
    }
    

    .outline_table dl dt,
    .outline_table dl dd {
        font-size: 2.2rem;
    }
    .outline_table dl dt {
        width: 19rem;
    }


}


/***policy_page_sec***/
.policy_page_sec {
    padding: 12rem 0;
}
.policy_page_sec .content h3,
.policy_page_sec .content p,
.policy_page_sec .content li {
    font-size: 1.4rem;
}

.policy_page_sec .content p,
.policy_page_sec .content ol {
    margin-bottom: 3rem;
}

.policy_page_sec .content ol {
    list-style: decimal;
    padding-left: 2rem;
}

@media screen and (max-width: 770px) {
    .policy_page_sec {
        padding: 12rem 0;
    }
    .policy_page_sec .content h3,
    .policy_page_sec .content p,
    .policy_page_sec .content li {
        font-size: 2.2rem;
    }
    
    .policy_page_sec .content p,
    .policy_page_sec .content ol {
        margin-bottom: 4rem;
    }
    
    .policy_page_sec .content ol {
        list-style: decimal;
        padding-left: 3rem;
    }


}

/**+contact_sec***/
.contact_sec {
    padding: 12rem 0;
}

.contact_sec .wrapper {
    max-width: 1090px;
}

.contact_sec h2 {
    margin-bottom: 10rem;
}


.contact_wrap dl {
    display: flex;
    padding: 35px 0;
    border-bottom: 1px solid #dcdcdc;
}

.contact_wrap dl:first-of-type {
    border-top: 1px solid #dcdcdc;
}

.contact_wrap dt {
    width: 260px;
    position: relative;
    padding-right: 50px;
}

.contact_wrap dl.req dt::after {
    content: '必須';
    background-color: red;
    color: white;
    font-size: 1.4rem;
    position: absolute;

    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: inline-block;
    padding: 2px 5px;
    border-radius: 2px;
}

.contact_wrap dd {
    flex: 1;
}

.contact_wrap dd input[type="text"],
.contact_wrap dd input[type="email"],
.contact_wrap dd input[type="tel"],
.contact_wrap dd select,
.contact_wrap dd textarea {
    width: 100%;border: 1px solid #bfbfbf;
    background-color: #f5f5f5;
    border-radius: 10px;
    padding: 10px;
    font-size: 1.6rem;
}

.contact_wrap dd input[type="checkbox"] {
    border: 1px solid #bfbfbf;
    background-color: #f5f5f5;
    border-radius: 10px;
    width: 20px;
    height: 20px;
}
.contact_wrap dd .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
}
.contact_wrap dd textarea {
    min-height: 200px;
}
.contact_wrap .submit_box {
    margin-top: 90px;
}
.contact_wrap .submit_box input {
    margin: 0 auto;
    background-color: var(--theme-color);
    color: white;
    width: 100%;
    max-width: 31rem;
    height: 6.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 50px;
}

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


    .contact_wrap dl {
        display: block;
        padding: 1.4rem 0;
    }
    .contact_wrap dt {
        width: 100%;
        font-size: 2.2rem;
        margin-bottom: 0.5rem;
    }
    
    .contact_wrap dd input[type="text"],
.contact_wrap dd input[type="email"],
.contact_wrap dd textarea {

    border-radius: 1rem;
    padding: 1.5rem;
    font-size: 2.2rem;
}
    
.contact_wrap dd textarea {
    min-height: 35rem;
}
.contact_wrap .submit_box {
    margin-top: 9rem;
}

.contact_wrap .submit_box input {
    max-width: 35rem;
    height: 7rem;
    font-size: 2.4rem;
    border-radius: 7rem;
}


}





/***CF7***/
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    font-size: 1.6rem;
}