@charset "utf-8";
/* CSS Document */



/*--------------------
01.共通
02.about
02_1.point
02_2.message
03.faculty
03_1.course
03_2.teacher
03_3.company
03_4.study
04.curriculum
04_1.plan
04_2.schedule
04_3.system
05.supoort
06.admission
07.group
08.contact
--------------------*/



/*----------
01.共通
----------*/

#webentry h3 {
    background-image: none;
}

:root {
    --color-materials: #6eb8e7;
    --color-materials-rgb: 110, 184, 231;

    --color-ondemand: #b4d13a;
    --color-ondemand-rgb: 180, 209, 58;

    --color-general: #4a7397;
    --color-general-rgb: 74, 115, 151;

    --color-specialized: #f2a94d;
    --color-specialized-rgb: 242, 169, 77;
}


p,
li {
    font-size: 16px;
    line-height: 2.0;
}

sup {
    font-size: 0.7em;
    vertical-align: super;
}

span.sp_space {
    display: none;
}


.js-scrollable::-webkit-scrollbar {
    background: #e5e5e5;
    max-width: 100%;
    height: 3px;
}

.js-scrollable::-webkit-scrollbar-thumb {
    background: var(--color-green);
    height: 3px;
}


/*
.kv_area{
    display: block;
    margin: 0 auto;
    position: relative;
}
.kv_area .img_slide.pc{
    padding-top: min(33.3%, 500px);
}

.kv_area .kv_text{
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0;
}
*/

.second .kv_area {
    display: block;
    width: 100%;
    height: 500px;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.kv_area .kv_text {
    padding: 0;
    z-index: 2;
}

.kv_area .kv_text h1.text_bg {
    color: var(--color-blue);
    font-size: 50px;
    line-height: 1.5;
    font-weight: 500;
    padding: 16px 22px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.kv_area .kv_text h1.text_bg.appear::before {
    background: #fff;
}

.kv_area .kv_text .kv_en {
    color: #fff;
    font-size: 94px;
    line-height: 0.48;
    position: absolute;
    bottom: 0;
}

.breadcrumb {
    padding: 30px 0 40px;
}

.breadcrumb ul li {
    display: inline-block;
    margin-right: 32px;
    font-size: 12px;
    line-height: 1.5;
}

.breadcrumb ul li a {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: #898989;
    position: relative;
}

.breadcrumb ul li a::after {
    content: '';
    display: block;
    background-color: #898989;
    -webkit-mask-image: url(../images/arrow01.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow01.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    width: 5px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: -22px;
    transform: translateY(-50%);
}


[class^="bg_"] {
    padding: 0px 5px 2px;
    line-height: 1.5em;
    color: #fff;
    width: fit-content;
    font-weight: 600;
    margin-bottom: 6px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}


.bg_green {
    background: var(--color-green);
}

.bg_blue {
    background: var(--color-blue);
}

.bg_yellow {
    background: #f2a94d;
}



h2 {
    font-size: 54px;
    font-weight: 600;
    color: var(--color-blue);
    line-height: 1.5;
}

h2+p {
    margin-top: 30px;
}

h3 {
    font-size: 40px;
    color: var(--color-blue);
    text-indent: -20px;
    padding-left: 20px;
    margin-bottom: 30px;
    line-height: 1.5;
    font-weight: 400;
}

h3::before {
    content: '';
    display: inline-block;
    background: var(--color-blue);
    width: 10px;
    height: 1px;
    margin-right: 10px;
    margin-top: -0.1em;
    vertical-align: middle;
}

h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 12px;
}

h4 span.small {
    font-size: 14px;
    font-weight: 400;
}

h4.underline {
    color: var(--color-blue);
    font-weight: 600;
    text-decoration-color: var(--color-blue);
}

h5 {
    font-size: 18px;
    margin-bottom: 6px;
}



.toggle_g {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}

.toggle_title_area {
    background: var(--color-blue);
    color: #fff;
    line-height: 1.5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 10px 12px 14px;
    position: relative;
    cursor: pointer;
}

.toggle_title_area .toggle_switch {
    display: block;
    width: 32px;
    height: 32px;
    background: #fff;
    position: relative;
    border-radius: 50%;
    margin-left: 10px;
}

.toggle_title_area .toggle_switch:has(.btn_text) {
    margin-left: 72px;
}

.toggle_title_area .toggle_switch .btn_text {
    color: #fff;
    font-size: 13px;
    display: block;
    text-align: end;
    position: absolute;
    right: calc(100% + 10px);
    width: 62px;
    top: 50%;
    transform: translateY(-50%);
}

.toggle_title_area .toggle_title {
    width: calc(100% - 42px);
    margin-bottom: 0;
    font-size: 17px;
}

.toggle_title_area .toggle_title:has(+ .toggle_switch .btn_text) {
    width: calc(100% - 102px);
}

.toggle_g .toggle_area {
    display: none;
}





ol.ol_ptn01 {
    counter-reset: item;
    list-style-type: none;
}

ol.ol_ptn01 li {
    margin-bottom: 8px;
    text-indent: -30px;
    padding-left: 30px;
}

ol.ol_ptn01 li:before {
    counter-increment: item;
    content: counter(item)'';
    color: var(--color-blue);
    background: #fff;
    text-align: center;
    line-height: 20px;
    padding: 0 6px;
    margin-right: 8px;
    border: 1px solid var(--color-blue);
}

.dl_ptn01 {
    border-top: 1px solid;
    /*    border-image: linear-gradient(to left, #004c76 30px, #e5e5e5 30px);*/
    border-image: linear-gradient(to left, #fff 30px, #94c1d9 30px);
    border-image-slice: 1;
}

.dl_ptn01 dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 20px;
    border-bottom: 1px solid #fff;
    border-image: linear-gradient(to left, #fff 30px, #94c1d9 30px);
    border-image-slice: 1;
    line-height: 2.0;
}

.dl_ptn01 dt {
    font-weight: 600;
    color: var(--color-blue);
    width: 180px;
    padding-right: 1em;
    font-size: 18px;
}

.dl_ptn01 dd {
    width: calc(100% - 180px);
}


/* リンクエリア */

.link_area {
    padding: 50px 0 50px;
}

.link_area .link_box {
    /*
    display: flex;
    justify-content: space-between;
    align-items: center;
*/
    max-width: 980px;
    margin: 0 auto;
}

.link_area .link_box .link_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.link_area .link_img {
    width: 50%;
    transition: .3s ease;
}

.link_area .link_img .img_slide {
    padding-top: 80%;
    border-radius: 20px;
}

.link_area .link_text {
    width: 50%;
    padding: 20px 52px;
}

.link_area .link_title {
    font-size: 40px;
    line-height: 1.5;
    color: var(--color-blue);
    margin-bottom: 30px;
}

.link_area .link_box:nth-of-type(even) .link_inner {
    flex-direction: row-reverse;
}

.link_area .link_inner:hover .btn_ptn02 span::before {
    background: var(--color-blue);
}

.link_area .link_inner:hover .link_img {
    opacity: 0.7;
}

.sub_link_area {
    padding: 50px 0 50px;
    background: #efefef;
}

.sub_link_area .link_list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-flow: wrap;
    max-width: 980px;
    margin: 0 auto;
}

.sub_link_area .link_list li {
    display: block;
    background: #fff;
    width: 49%;
}

.sub_link_area .link_list li:nth-of-type(odd) {
    margin-right: 2%;
}

.sub_link_area .link_list li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 20px;
    color: var(--color-blue);
    padding-right: 60px;
    position: relative;
}

.sub_link_area .link_list li .img {
    width: 180px;
    margin-right: 20px;
}

.sub_link_area .link_list li a::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background: #e2e2e2;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: .3s ease;
}

.sub_link_area .link_list li a:hover::before {
    background: var(--color-blue);
}

.sub_link_area .link_list li a::after {
    content: '';
    display: block;
    width: 6px;
    height: 12px;
    background-color: #fff;
    -webkit-mask-image: url(../images/arrow01.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow01.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
}




.second .particles_inner {
    padding-bottom: 200px;
}

/* 第三階層 */


.third .kv_area {
    margin-top: 90px;
    width: 100%;
    height: 208px;
    position: relative;
    background: linear-gradient(135deg, #cfe1ea 20%, #f2e3da 34%, #f2e3da 66%, #cfe1ea 80%);
    background-size: 300% 300%;
    animation: GradietionAnimation 10s ease infinite;
}

.third .kv_area::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, transparent 2px, transparent 4.8px);
    background-size: auto auto;
    position: absolute;
    top: 0;
    left: 0;
}

.third_cnt_area {
    background: linear-gradient(rgb(255 255 255 / 0%), rgb(240 240 240));
    position: relative;
    padding-bottom: 100px;
}

.third_cnt_area::before {
    content: '';
    width: 100%;
    height: 100px;
    display: block;
    background: linear-gradient(135deg, #cfe1ea 20%, #f2e3da 34%, #f2e3da 66%, #cfe1ea 80%);
    background-size: 300% 300%;
    animation: GradietionAnimation 10s ease infinite;
    /*    background: linear-gradient(145deg, #cfe1ea 40%, #f2e3da 60%);*/
    position: absolute;
    bottom: 0;
    left: 0;
}

.third_cnt_area::after {
    content: '';
    display: block;
    width: 100%;
    height: 100px;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, transparent 2px, transparent 4.8px);
    background-size: auto auto;
    position: absolute;
    bottom: 0;
    left: 0;
}


.loop_wrap {
    display: flex;
    width: 100vw;
    height: 114px;
    overflow: hidden;
    margin-inline: calc(50% - 50vw);
    margin-top: 50px;
}

.loop_wrap div {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 120px;
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    width: 1580px;
    display: block;
    line-height: 1;
}

.loop_wrap div:nth-child(odd) {
    animation: MoveLeft 40s -20s infinite linear;
}

.loop_wrap div:nth-child(even) {
    animation: MoveLeft2 40s infinite linear;
}

@keyframes MoveLeft {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes MoveLeft2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}


.third .bg_third {
    display: block;
    width: 1032px;
    height: 587px;
    position: absolute;
    background: url("../images/bg_third.png") no-repeat center;
    background-size: 100% auto;
    z-index: -1;
    top: -208px;
    /*    left: calc(50% - 163px);*/
    right: -110px;
}

/*----------
02.about
----------*/

#about .kv_area {
    background-image: url(../../about/images/kv_pc.webp);
}

#about #spirit {
    position: relative;
    margin-bottom: 165px;
    background: #005a80;
}

#about #spirit .bg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
}

#about #spirit .bg::before {
    content: '';
    width: 110%;
    height: 110%;
    background-image: url(../../about/images/kv_pc.webp);
    background-color: #005a80;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-blend-mode: luminosity;
    filter: blur(8px);
    position: absolute;
    top: -5%;
    left: 0;
    opacity: .3;
}

#about #spirit .contents_in {
    position: relative;
    padding: 60px 0 80px;
}

#about #spirit .spirit_text {
    max-width: 580px;
    margin: 0 auto;
}

#about #spirit .spirit_text p,
#about #spirit .spirit_text h3 {
    color: #fff;
}

#about #spirit .spirit_text h3::before {
    background: #fff;
}

/*
#about #spirit .underline{
    text-decoration-color: #fffd38;
}
*/

#about #spirit .img_g {
    width: 100%;
}

#about #spirit .img_box {
    display: block;
    width: 100%;
    height: auto;
    max-width: 300px;
    position: absolute;
}

#about #spirit .img_box:first-of-type {
    top: 30px;
    right: calc(50% + 360px);
}

#about #spirit .img_box:first-of-type .img_slide {
    padding-top: 120%;
}

#about #spirit .img_box:nth-of-type(2) {
    bottom: -114px;
    right: calc(50% + 70px);
    max-width: 180px;
}

#about #spirit .img_box:nth-of-type(2) .img_slide {
    padding-top: 80%;
    border-radius: 0 30px 0 0;
}

#about #spirit .img_box:nth-of-type(3) {
    top: -30px;
    left: calc(50% + 360px);
    max-width: 254px;
}

#about #spirit .img_box:nth-of-type(3) .img_slide {
    padding-top: 203%;
    border-radius: 30px 0 0 0;
}

#about #policy .toggle_title_area {
    background: var(--color-green);
    display: none;
}

#about #policy .toggle_line {
    background: var(--color-green);
}

#about #policy .toggle_g .toggle_area {
    display: block;
    padding-bottom: 24px;
}

#about #policy .btn_ptn02.pc {
    margin-top: -60px;
    margin-bottom: 30px;
}




/*----------
02_1.point
----------*/

.point_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 680px;
    margin: 30px auto;
}

.point_nav li a {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--color-green);
    color: #FFF;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 30px;
    text-align: center;
    line-height: 1.1;
    padding-top: 11px;
    position: relative;
    transition: .3s ease;
}

.point_nav li a:hover {
    background: var(--color-blue);
}

.point_nav li a span {
    font-size: 11px;
    display: block;
}

.point_nav li a::after {
    content: '';
    display: block;
    width: 6px;
    height: 12px;
    background-color: #fff;
    -webkit-mask-image: url(../images/arrow01.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow01.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    bottom: 8px;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(90deg);
}

.content_type01 .contents_in {
    margin-top: -300px;
    padding: 50px 0 80px;
}

.content_type01 .content_mainimg {
    width: 49.3vw;
    margin: 0 0 0 auto;
    height: 454px;
    border-radius: 80px 0 0 0;
    -webkit-mask-image: linear-gradient(black 34%, transparent 34%), linear-gradient(black 100%, transparent 0%);
    mask-image: linear-gradient(black 34%, transparent 34%), linear-gradient(black 100%, transparent 0%);
    mask-position: top center, bottom right;
    mask-repeat: no-repeat, no-repeat;
    mask-size: 100% 100%, 88% 100%;
    mask-composite: add;
}


.content_type01:nth-of-type(even) .content_mainimg {
    margin: 0 auto 0 0;
    mask-position: top center, bottom left;
    /*	mask-size: 100% 100%,  88% 100%;*/
    border-radius: 0 80px 0 0;
}

.content_type01 .content_mainimg img {
    height: 454px;
    object-fit: cover;
}

.content_type01 .content_textbox {
    max-width: 630px;
    width: 46vw;
    position: relative;
    z-index: 1;
}

.content_type01:nth-of-type(even) .content_textbox {
    margin: 0 0 0 auto;
}

.content_type01 .content_textbox .notes {
    font-size: 12px;
}

.content_type01 .content_textbox h4 {
    margin-bottom: 6px;
}

.content_type01 .content_textbox p {
    margin-bottom: 20px;
}


.content_type01 .point_icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    box-shadow: 1px 2px 8px 0px rgba(0, 0, 0, 0.1);
    position: absolute;
    top: -110px;
    left: -4px;
}

.content_type01 .point_icon img {
    width: 68px;
    margin: 0 auto;
}

.content_type01 .point_title {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 30px;
}

.content_type01 .point_title .point_num {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: var(--color-green);
    font-size: 92px;
    display: block;
    margin-right: 16px;
}

.content_type01 .point_title .point_num span {
    font-size: 15px;
    color: var(--color-blue);
    display: block;
    text-align: center;
}

.content_type01 .point_title h3 {
    font-weight: 600;
    margin: 0;
}

.content_type01 .point_title h3 .small {
    font-size: 24px;
}

.content_type01 .point_title h3 .border {
    display: inline-block;
    border: 1px solid var(--color-blue);
    background: #fff;
    padding: 0 6px 2px;
    margin-bottom: 4px;
    text-indent: initial;
    font-size: clamp(34px, 2.66vw, 36px);
}

#point05 .point_title h3 {
    font-size: clamp(34px, 2.66vw, 36px);
}

#point01 .point_title,
#point02 .point_title {
    align-items: center;
}

#point01 .point_title h3,
#point02 .point_title h3 {
    margin-top: .3em;
}

#point05 .point_title h3 {
    margin-top: .6em;
}

#point04 .point_title h3 {
    font-size: clamp(34px, 2.73vw, 38px);
}

.content_type01 .content_textbox .graph_box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 30px 0;
    margin-left: -5%;
    width: 100%;
}

.content_type01 .content_textbox .graph_box img {
    max-width: 280px;
    width: 50%;
}


/*----------
02_2.message
----------*/

#message .en_text {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: var(--color-blue);
    font-size: 18px;
    margin-bottom: .8em;
}

#message h2 {
    font-size: 40px;
    margin-bottom: 50px;
}

#message .btn_ptn03 {
    margin: 20px auto 30px;
}

.president_message_g {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
}

.president_message_g .message_img {
    max-width: 380px;
    width: 32.2%;
}

.president_message_g .message_text {
    max-width: 680px;
    width: 57.6%;
}

.president_message_g .message_text p {
    margin-bottom: 30px;
}

.president_message_g p.name {
    text-align: right;
    line-height: 1;
    margin-bottom: 30px;
}

.president_message_g p.name img {
    width: 140px;
    margin: 5px 0 0 auto;
}

/*----------
03.faculty
----------*/

#faculty .kv_area {
    background-image: url(../../faculty/images/kv_pc.webp);
}

#faculty .faculty_g {
    margin-top: 30px;
    position: relative;
}

#faculty .faculty_g::before {
    content: '';
    display: block;
    width: 605px;
    /*    width: 51.27%;*/
    height: 573px;
    background: url("../../faculty/images/img01.webp") no-repeat center top;
    background-size: contain;
    position: absolute;
    top: 60px;
    left: -60px;
    z-index: -1;
}

#faculty .faculty_box {
    max-width: 830px;
    /*    width: 66.2%;*/
    margin: 0 0 0 auto;
    padding-left: 50px;
}

#faculty .faculty_g .inner {
    margin-bottom: 40px;
}

#faculty .faculty_g h3 {
    font-weight: 600;
    margin-left: -50px;
}

#faculty .faculty_g h3 .underline {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 12px;
    text-decoration-color: var(--color-blue);
}

#faculty .faculty_g h3::before {
    display: none;
}

#faculty .faculty_g [class^="bg_"] {
    margin-right: 10px;
    display: inline-block;
}

#faculty .faculty_g .bg_blue {
    background: var(--color-general);
}

#faculty .faculty_g .bg_yellow {
    background: #ffaa40;
}

#faculty .toggle_title_area {
    display: none;
    background: transparent;
    border: 1px dotted #000;
    color: #000;
}

#faculty .toggle_title_area .toggle_title {
    font-size: 14px;
    font-weight: 600;
}

#faculty .toggle_g .toggle_area {
    display: block;
}

#faculty .faculty_g ul {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    border-left: 1px dotted var(--color-blue);
}

#faculty .faculty_g ul li {
    border-right: 1px dotted var(--color-blue);
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 25%;
    text-align: center;
}

#faculty .faculty_g ul li h5 {
    color: var(--color-blue);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 10px;
}

#faculty .faculty_g ul li h5 .num {
    color: #ffaa40;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    margin-right: 0.2em;
}

#faculty .faculty_g ul li p,
#faculty .faculty_g ul li div {
    font-size: 14px;
    line-height: 1.5
}

#faculty .faculty_g .inner_middle h4 {
    margin-bottom: 6px;
}

#faculty .faculty_g .inner_middle p {
    margin-bottom: 16px;
}

#faculty .faculty_g .inner_middle p:last-of-type {
    margin-bottom: 0;
}

#faculty .faculty_g .inner_bottom {
    margin-bottom: 0;
}

#faculty .faculty_g .inner_bottom ul li {
    width: 33.33%;
}

#faculty .faculty_g .correlation_box {
    width: 100%;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 50px 1fr;
    grid-template-rows: 1fr 20px;
}

#faculty .faculty_g .correlation_box span:last-of-type {
    grid-area: 2 / 1 / 3 / 4;
    /*    padding-top: 30px;*/
}

#faculty .faculty_g .correlation_box span.cursor img {
    max-width: 40px;
    margin: 30px auto 10px;
    animation: 4s linear infinite rotation1;
}

@keyframes rotation1 {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(-360deg);
    }
}

/*
#faculty .faculty_g .correlation_box::before{
    content: '';
    display: block;
    width: 40px;
    height: 40px;
    background: url("../../faculty/images/cursor.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 24%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
*/


/*----------
03_1.course
----------*/

.page_nav {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin: 30px auto;
}

.page_nav li {
    width: 24%;
}

.page_nav li a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 6px;
    background: var(--color-green);
    color: #FFF;
    font-size: 16px;
    line-height: 1.5;
    padding: 10px 34px 12px 20px;
    position: relative;
    transition: .3s ease;
}

.page_nav li a:hover {
    background: var(--color-blue);
}

.page_nav li a span {
    font-size: 11px;
    display: block;
}

.page_nav li a::after {
    content: '';
    display: block;
    width: 6px;
    height: 12px;
    background-color: #fff;
    -webkit-mask-image: url(../images/arrow01.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow01.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(90deg);
}

#course .content_type01:nth-of-type(odd) {
    padding-top: 100px;
    margin-bottom: 100px;
    position: relative;
    z-index: 1;
}

#course .content_type01:nth-of-type(odd)::after {
    content: '';
    display: block;
    max-width: calc(50% + 590px);
    width: calc(50% + 44.3vw);
    height: 100%;
    background: repeating-linear-gradient(135deg, rgba(246, 232, 204, 1), rgba(246, 232, 204, 1) 2px, transparent 2px, transparent 4.8px);
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

#course .content_type01:nth-of-type(odd) .content_textbox {
    padding-left: 50px;
}

#course .content_textbox .course_title h3 {
    font-weight: 600;
}

#course .content_textbox .check_list li {
    font-size: 14px;
    display: inline-block;
    margin-right: 30px;
    vertical-align: text-top;
    margin-bottom: 14px;
}

#course .content_textbox h4.underline {
    margin-bottom: 20px;
}

#course .content_textbox p {
    margin-bottom: 30px;
}

/*----------
03_2.teacher
----------*/

#teacher h2 {
    margin-bottom: 50px;
}

#teacher .btn_ptn03 {
    margin: 0 auto;
}

.teacher_g {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 50px;
}

.teacher_g .teacher_box {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    background: #e1edf4;
    transform: translateY(10%);
    transition: 1s ease;
    transition-delay: .5s;
    opacity: 0;
    border-radius: 0 0 10px 0;
}

.teacher_g .teacher_box.appear {
    transform: translateY(0);
    opacity: 1;
}

.teacher_g .teacher_img {
    display: block;
    width: 48.5%;
}

.teacher_g .teacher_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.teacher_g .teacher_text {
    width: 51.5%;
    display: block;
}

.teacher_g .teacher_text p {
    font-size: 11px;
    line-height: 1.4;
}

.teacher_g .teacher_category {
    display: block;
    width: 100%;
    color: #fff;
    background: var(--color-blue);
    text-align: center;
    line-height: 1.4;
    padding: 4px 10px 5px;
    font-size: 14px;
}

.teacher_g .teacher_text .inner {
    width: 100%;
    padding: 12px 10px 10px;
}

.teacher_g .teacher_text .name {
    max-width: 168px;
    margin: 0 auto 12px;
}

.teacher_g .teacher_text .title {
    color: var(--color-blue);
    margin-bottom: 6px;
}

.teacher_g .teacher_text .profile_text {
    border-top: 1px solid rgba(0, 76, 118, 0.5);
    padding-top: 15px;
}


/*----------
03_3.company
----------*/

#company h2 {
    margin-bottom: 50px;
}

.message_g {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    margin-bottom: 100px;
}

.message_g:nth-of-type(even) {
    flex-direction: row-reverse;
}

.message_g:last-of-type {
    margin-bottom: 0;
}

.message_g .message_box {
    background: url("../../faculty/images/company/bg.png") repeat;
    display: block;
    color: #fff;
    padding: 40px 120px 50px 50px;
    max-width: 800px;
    width: 67.8%;
    position: relative;
}

.message_g:nth-of-type(even) .message_box {
    padding: 40px 50px 50px 120px;
}

.message_g .message_box::before {
    content: '';
    display: block;
    width: 200px;
    height: 200px;
    background: var(--color-blue);
    mix-blend-mode: screen;
    position: absolute;
    bottom: -50px;
    left: -50px;
    opacity: 0.2;
}

.message_g:nth-of-type(even) .message_box::before {
    bottom: unset;
    left: unset;
    top: -50px;
    right: -50px;
}

@media screen and (min-width: 1025px) {

    ::-webkit-full-page-media,
    :future,
    :root .message_g .message_box::before {
        background: #6188a5;
        mix-blend-mode: normal;
    }

}

.message_g .message_box .inner {
    position: relative;
    z-index: 1;
}

.message_g .message_box h3 {
    color: #fff;
    font-weight: 600;
}

.message_g .message_box h3::before {
    background: #fff;
}

.message_g .message_box .name {
    text-align: right;
    display: block;
    line-height: 1;
    margin-bottom: 30px;
}

.message_g .message_box .name img {
    width: 160px;
    margin: 5px 0 0 auto;
}

.message_g .message_box .name span {
    font-size: 14px;
}

.message_g .message_box p+p {
    margin-top: 30px;
}

.message_g .profile_box {
    display: block;
    width: 32.2%;
    max-width: 380px;
    background: repeating-linear-gradient(135deg, rgba(231, 237, 238, 1), rgba(231, 237, 238, 1) 2px, transparent 2px, transparent 4.8px);
    padding: 50px 30px 40px;
}

.message_g .profile_img {
    max-width: 250px;
    margin: 0 0 30px;
    transform: translateX(-80px);
}

.message_g:nth-of-type(even) .profile_img {
    transform: translateX(80px);
    margin: 0 0 30px auto;
}

.message_g .profile_img .img_slide {
    padding-top: 100%;
}

.message_g .toggle_g {
    margin: 0 auto 25px;
    display: none;
}

.message_g .toggle_title_area {
    /*    display: none;*/
    border: 1px dotted #fff;
    background: transparent;
    color: #fff;
    padding: 10px 8px 10px 14px;
}

.message_g .toggle_g .toggle_area {
    display: none;
    padding: 15px;
    background: rgb(255 255 255 / 20%);
}

.message_g .toggle_title_area .toggle_switch {
    width: 32px;
    height: 32px;
}

.message_g .profile_box h4.h4_en {
    color: var(--color-blue);
    font-size: 20px;
    line-height: 1;
}

.message_g .profile_box dl,
.message_g .toggle_area dl {
    font-size: 12px;
    line-height: 1.5;
    display: flex;
    flex-flow: wrap;

}

.message_g .profile_box dt,
.message_g .toggle_area dt {
    width: 65px;
    margin-right: 10px;
}

.message_g .profile_box dd,
.message_g .toggle_area dd {
    width: calc(100% - 75px);
    margin-bottom: 4px;
}

.message_g .profile_box p.notes,
.message_g .toggle_area p.notes {
    font-size: 10px;
    line-height: 1.5;
    margin-top: 1em;
}


/*----------
03_4.study
----------*/


.subject_area h3 {
    text-align: center;
    font-weight: 600;
    padding: 0;
}

.subject_area h3::before {
    display: none;
}

.subject_area .subject_number {
    display: block;
    text-align: center;
    width: 100%;
    background: #fff;
    color: var(--color-blue);
    font-weight: 600;
    font-size: 20px;
    padding: 16px 18px 18px;
    margin-bottom: 30px;
    position: relative;
    line-height: 1.2;
}

.subject_area .subject_number span {
    font-size: 30px;
}

.subject_area .subject_number::after {
    content: '';
    display: block;
    width: 20px;
    height: 18px;
    background: #fff;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    top: 99%;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.subject_g .toggle_title h4 {
    font-size: 14px;
    margin-bottom: -0.5em;
}

.subject_g .toggle_title .sub {
    font-size: 12px;
}

.subject_g .toggle_title .sub span {
    font-size: 24px;
    font-weight: 600;
}

.subject_g .toggle_area {
    background: #fff;
}

.subject_g table {
    width: 100%;
    line-height: 1.5;
    font-size: 12px;
}

.subject_g th,
.subject_g td {
    padding: 6px 4px;
    vertical-align: middle;
}

.subject_g th:nth-of-type(n+2),
.subject_g td:nth-of-type(n+2) {
    border-left: 1px dashed #9cb4c5;
    text-align: center;
    width: 28px;
}

.subject_g tr.table_head th {
    font-weight: normal;
    text-align: center;
}

.subject_g tr.table_head th:first-of-type {
    text-align: center;
}

.subject_g tr.table_head th:first-of-type span {
    font-size: 10px;
}

.subject_g tr.table_head th:nth-of-type(n+2) {
    font-size: 10px;
    line-height: 1.1;
}

.subject_g .choice {
    position: relative;
}

.subject_g .choice th {
    padding-bottom: 48px;
}

.subject_g .choice .choice_text {
    display: block;
    width: calc(100% - 20px);
    max-width: 300px;
    color: var(--color-blue);
    font-size: 14px !important;
    font-weight: 600;
    border: 1px solid var(--color-blue);
    background: #fff;
    padding: 3px 6px 4px;
    border-radius: 30px;
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.subject_g tr.type th {
    font-weight: 600;
    text-align: left;
    padding: 6px 10px;
    color: #fff;
}

.subject_g tr.type th span {
    background-color: #fff;
    color: var(--color-specialized);
    padding: 1px 8px;
    margin-left: 8px;
}

.subject_g tr.materials {
    background: var(--color-materials) !important;
}

.subject_g tr.materials~tr:nth-of-type(odd) {
    background: rgba(var(--color-materials-rgb), 0.2);
}

.subject_g tr.materials~tr:nth-of-type(even) {
    background: rgba(var(--color-materials-rgb), 0.1);
}

.subject_g tr.ondemand {
    background: var(--color-ondemand) !important;
}

.subject_g tr.ondemand~tr:nth-of-type(odd) {
    background: rgba(var(--color-ondemand-rgb), 0.1);
}

.subject_g tr.ondemand~tr:nth-of-type(even) {
    background: rgba(var(--color-ondemand-rgb), 0.23);
}


.subject_g td:first-of-type {
    padding-left: 16px;
}

.subject_g td.required {
    position: relative;
}

.subject_g .required::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background: #e64068;
    border-radius: 50%;
    margin-right: .5em;

}

.subject_g td.required::before {
    position: absolute;
    left: 6px;
    top: 13px;
    display: block;
}

.subject_g .inner_toggle {
    margin-bottom: 1px;
}

.subject_g .inner_toggle .toggle_title_area {
    pointer-events: inherit;
    background: var(--color-blue);
    padding: 8px;
}

.subject_g .inner_toggle .toggle_area {
    display: none;
}

.subject_g .inner_toggle:first-of-type .toggle_area {
    display: block;
}

.subject_g .inner_toggle .toggle_title_area .toggle_switch {
    display: block;
}

.subject_g .inner_toggle .toggle_title {
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    width: calc(100% - 40px);
}

.subject_g .inner_toggle .toggle_title span {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: #fffd38;
    margin: .2em .4em 0 0;
}

.subject_g .inner_toggle .toggle_area {
    border-left: 1px solid var(--color-blue);
}

@media screen and (min-width: 1025px) {
    .subject_g {
        display: flex;
        justify-content: flex-start;
        gap: 10px;
    }

    .subject_g .toggle_title_area {
        pointer-events: none;
        padding: 10px 0;
    }

    .subject_g .toggle_title_area .toggle_switch {
        display: none;
    }

    .subject_g .toggle_title,
    .subject_g .toggle_title:has(+ .toggle_switch .btn_text) {
        width: 100%;
        text-align: center;
    }

    .subject_g .toggle_area {
        display: block;
    }

}

#study .notes_list {
    margin-top: 1em;
}

#study .total_box {
    display: block;
    max-width: 782px;
    background: var(--color-green);
    color: #fff;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
    border-radius: 10px;
    /*    padding: 20px 20px 32px;*/
    padding: 20px 20px 26px;
    margin: 50px auto 0;
    position: relative;
    line-height: 1.2;
}

#study .total_box p {
    line-height: 1.2;
}

#study .total_box p.note {
    line-height: 1.5;
    margin-top: 16px;
    display: block;
    font-size: 12px;
    font-weight: 400;
}

#study .total_box+p.note {
    font-size: 12px;
    display: block;
    max-width: 782px;
    margin: 8px auto 0;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
}

#study .total_box:has(+ p.note)::after {
    bottom: -60px;
}

#study .total_box .middle {
    font-size: 30px;
}

#study .total_box .big {
    font-size: 40px;
}

#study .total_box::after {
    content: '';
    display: block;
    width: 32px;
    height: 16px;
    background-color: var(--color-green);
    -webkit-mask-image: url(../images/arrow02.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow02.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    bottom: -30px;
    right: 0;
    left: 0;
    margin: 0 auto;
}

#study .total_box .underline {
    text-decoration-thickness: 3px;
    text-underline-offset: 8px;
    text-decoration-color: #fff;
}

#study #general {
    background: repeating-linear-gradient(135deg, rgba(221, 235, 241, 1), rgba(221, 235, 241, 1) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 30px;
    position: relative;
}

#study #general .plus {
    width: 50px;
    height: 50px;
    display: block;
    background: var(--color-green);
    border-radius: 50%;
    color: #fff;
    font-size: 45px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -40px;
    margin: 0 auto;
}

#study #general .plus span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%);
}

#study #general .plus span:nth-of-type(2) {
    transform: translateY(-50%) rotate(90deg);
}

#study #general .subject_g .toggle_title_area {
    background: var(--color-general);
}

#study #specialized {
    background: repeating-linear-gradient(135deg, rgba(246, 232, 204, 1), rgba(246, 232, 204, 1) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 50px;
}

#study #specialized .subject_g .toggle_title_area {
    background: var(--color-specialized);
}

#study #specialized .subject_g .inner_toggle .toggle_title_area {
    background: var(--color-blue);
}

#study #specialized .toggle_line {
    background-color: #e18301;
}

#study #specialized .inner_toggle .toggle_line {
    background: var(--color-blue);
}

#study .last_content {
    padding: 0;
    margin-bottom: 50px;
}

#study .last_content .total_box::after {
    bottom: 0;
    top: -32px;
}


/*----------
04.curriculum
----------*/


#curriculum .kv_area {
    background-image: url(../../curriculum/images/kv_pc.webp);
}

#curriculum h2+p {
    margin-bottom: 40px;
}

.flow_box {
    display: block;
    background: #fff;
    border: 1px solid var(--color-blue);
    border-radius: 10px;
    max-width: 782px;
    margin: 0 auto;
    padding: 14px 30px 16px;
    position: relative;

}

.flow_box h4 {
    display: block;
    text-align: center;
    font-weight: 600;
    color: var(--color-blue);
    font-size: 24px;
}

.flow_box p {
    font-size: 14px;
}

.arrow_bottom {
    position: relative;
    margin-bottom: 40px;
}

.arrow_bottom::after {
    content: '';
    display: block;
    width: 32px;
    height: 16px;
    background-color: var(--color-blue);
    -webkit-mask-image: url(../images/arrow02.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow02.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    bottom: -30px;
    right: 0;
    left: 0;
    margin: 0 auto;
}


/*--- tabstyle ---*/

.flow_tab {
    width: 100%;
}

/*
.flow_tab .tab_menu{
    display: none;
}
.flow_tab .tab_menu .swiper-wrapper{
    align-items: flex-end;
}
.flow_tab .tab_menu .swiper-slide .tab_title{
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 5px);
    background: #89BBD9;
    color: #fff;
    margin: 0 auto 0 0;
    border-radius: 0 10px 0 0;
    padding: 0 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    height: 90px;
    transition: .3s ease;
}
.flow_tab .tab_menu .swiper-slide.swiper-slide-thumb-active .tab_title{
    height: 100px;
}
.flow_tab .tab_menu .swiper-slide:nth-of-type(2) .tab_title{
    background: #b0c45e;
    margin: 0 0 0 auto;
    border-radius: 10px 0 0 0;
}
.flow_tab .tab_menu .swiper-slide .tab_title .num{
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 20px;
    font-family:  "Oswald", sans-serif;
    text-align: center;
    line-height: 28px;
    padding-bottom: 2px;
    background: #fff;
    color: #89BBD9;
    margin-right: 8px;
}
.flow_tab .tab_menu .swiper-slide:nth-of-type(2) .tab_title .num{
    color: #b0c45e;
}
.flow_tab .tab_menu .swiper-slide .tab_title .text{
    max-width: calc(100% - 38px);
    width: fit-content;
    text-align: left;
}
*/

.flow_tab .tab_content {
    width: 100%;
    margin-top: -1px;
    display: flex;
    align-items: stretch;
}

.flow_tab .flow_tab_inner {
    width: 50%;
    background: #89BBD9;
    border-radius: 10px 0 0 10px;
    padding: 36px 50px;
}

.flow_tab .flow_tab_inner.ondemand {
    background: #b0c45e;
    border-radius: 0 10px 10px 0;
}

.flow_tab_inner .h3_g {
    margin-bottom: 40px;
}

.flow_tab_inner .h3_g .icon {
    width: 78px;
    margin: 0 auto 10px;
}

.flow_tab_inner .h3_g h3 {
    text-align: center;
    color: #fff;
    font-weight: 600;
    line-height: 1.2;
    text-indent: unset;
    padding-left: 0;
    position: relative;
    width: fit-content;
    margin: 0 auto 20px;
}

.flow_tab_inner .h3_g h3 .small {
    font-size: 24px;
}

.flow_tab_inner .h3_g h3::before {
    content: '1';
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 28px;
    font-family: "Oswald", sans-serif;
    text-align: center;
    line-height: 42px;
    background: #fff;
    color: #89BBD9;
    position: absolute;
    top: .2em;
    left: -54px;
}

.flow_tab .flow_tab_inner.ondemand .h3_g h3::before {
    content: '2';
    color: #b0c45e;
}

.flow_tab .flow_tab_inner .h3_sub {
    display: block;
    width: fit-content;
    background: #fff;
    border: 1px solid var(--color-blue);
    color: var(--color-blue);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin: 0 auto;
    padding: 10px 22px 12px;
    border-radius: 10px;
}

.flow_tab .flow_tab_inner p.first_text {
    display: block;
    width: 100%;
    padding: 20px 30px;
    background: rgb(255 255 255 / 30%);
    margin-bottom: 30px;
}

.flow_tab .layer {
    position: relative;
    z-index: 1;
}

.flow_tab .layer .flow_box {
    margin-bottom: 20px;
}

.flow_tab .layer .flow_box::before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: rgb(255 255 255);
    border: 1px solid rgb(16 83 122 / 80%);
    position: absolute;
    top: 6px;
    left: 6px;
    border-radius: 10px;
    z-index: -1;
}

.flow_tab .layer .flow_box::after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: rgb(255 255 255 / 70%);
    border: 1px solid rgb(16 83 122 / 50%);
    position: absolute;
    top: 12px;
    left: 12px;
    border-radius: 10px;
    z-index: -2;
}


.flow_tab p.notes {
    font-size: 16px;
    color: #fff;
    padding: 8px 20px;
    border-radius: 10px;
    background: rgb(16 83 122 / 50%);
    width: calc(100% - 60px);
    margin: 0 auto;
}

.flow_tab_inner .toggle_title_area {
    display: none;
}

.flow_tab_inner .toggle_g .toggle_area {
    display: block;
}

.flow_tab_inner.textlearning .arrow_bottom:nth-child(4) {
    margin-bottom: 0;
}

.flow_tab_inner.textlearning .arrow_bottom:nth-child(4)::after {
    display: none;
}

/*--- tabstyle END ---*/


#curriculum .test_box {
    padding: 14px 0 0;
}

#curriculum .test_box .test_content {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

#curriculum .test_box h4 {
    margin-bottom: 16px;
    font-size: 26px;
}

#curriculum .test_box .test_evaluation {
    display: block;
    width: 62%;
    background: rgb(0 76 118 / 12%);
    padding: 20px 50px 8px;
    border-radius: 0 20px 0 9px;
}

#curriculum .test_box .test_evaluation h5 {
    font-weight: 600;
    color: var(--color-blue);
    text-align: center;
    padding-bottom: 18px;
    border-bottom: 2px solid #fff;
    margin-bottom: 0;
}

#curriculum .test_box .test_evaluation dl {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 10px;
    border-bottom: 1px solid #fff;
    font-size: 18px;
    color: var(--color-blue);
}

#curriculum .test_box .test_evaluation dl:last-of-type {
    border-bottom: none;
}

#curriculum .test_box .test_evaluation dt {
    display: block;
    width: 100px;
    text-align: end;
    margin-right: 30px;
}

#curriculum .test_box .test_evaluation dd {
    display: block;
    width: 60px;
    font-weight: 600;
    background: #fff;
    text-align: center;
    padding: 6px 6px 8px;
    border-radius: 20px;
}

#curriculum .test_box .test_evaluation dl:last-of-type dd {
    background: #bfbfbf;
    color: #fff;
}

#curriculum .test_box .test_sub {
    display: block;
    width: 38%;
    padding: 0 30px 8px;
}

#curriculum .test_box .test_sub p.title {
    font-size: 16px;
    margin-bottom: 12px;
}

#curriculum .test_box .test_sub p {
    margin-bottom: 12px;
}

#curriculum .test_box .test_sub h5 {
    display: block;
    width: 100%;
    background: var(--color-materials);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding: 6px 10px 8px;
}

#curriculum .test_box .test_sub h5.ondemand {
    background: var(--color-ondemand);
}

#curriculum .pass_box {
    border: none;
    background: #FEF9EE;
    padding: 0;
}

#curriculum .pass_box h4 {
    background: var(--color-yellow);
    color: #fff;
    font-size: 30px;
    border-radius: 10px 10px 0 0;
    padding: 14px 0 16px;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

/*
#curriculum .pass_box h4::before{
    content: '';
    display: block;
    width: 172px;
    height: 172px;
    border: 1.5px solid #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%);
}
#curriculum .pass_box h4::after{
    content: '';
    display: block;
    width: 32px;
    height: 15px;
    background: url("../../curriculum/images/deco01.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 22%;
    left: calc(50% + 82px);
    margin: 0 auto;
    transform: rotate(70deg);
}
*/

#curriculum .pass_box .pass_content {
    padding: 12px 50px 16px;
}

#curriculum .pass_box .pass_content .main_text {
    font-size: 20px;
    font-weight: 600;
    color: var(--color-blue);
    text-align: center;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--color-yellow);
    margin-bottom: 12px;
}

#curriculum .goal_box {
    background: var(--color-blue);
    padding: 38px;
}

#curriculum .goal_box h4 {
    color: #fff;
    font-size: 30px;
    line-height: 1;
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

#curriculum .goal_box h4::after {
    content: '';
    display: block;
    width: 56px;
    height: 65px;
    background: url("../../curriculum/images/deco02.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: -80px;
    margin: 0 auto;
    transform: translateY(-50%);
}


/*----------
04_1.plan
----------*/

.subject_area .subject_number.green {
    background: var(--color-green);
    color: #fff;
}

.subject_area .subject_number.green::after {
    background: var(--color-green);
}

.subject_g tr.general {
    background: var(--color-general) !important;
}

.subject_g tr.general~tr:nth-of-type(odd) {
    background: rgba(var(--color-general-rgb), 0.2);
}

.subject_g tr.general~tr:nth-of-type(even) {
    background: rgba(var(--color-general-rgb), 0.1);
}

.subject_g tr.specialized {
    background: var(--color-specialized) !important;
}

.subject_g tr.specialized~tr:nth-of-type(odd) {
    background: rgba(var(--color-specialized-rgb), 0.06);
}

.subject_g tr.specialized~tr:nth-of-type(even) {
    background: rgba(var(--color-specialized-rgb), 0.2);
}


.model_nav {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    /*    margin-bottom: 50px;*/
}

.model_nav li {
    max-width: 250px;
    width: 50%;
    border-radius: 10px;
    border: 1px solid #c9c9c9;
}

.model_nav li a {
    display: flex;
    /*    padding: 20px 26px;*/
    padding: 20px 26px 20px 14px;
    position: relative;

}

.model_nav li a::after {
    content: '';
    display: block;
    width: 6px;
    height: 12px;
    background-color: #c9c9c9;
    -webkit-mask-image: url(../images/arrow01.svg);
    -webkit-mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    mask-image: url(../images/arrow01.svg);
    mask-size: 100% 100%;
    mask-repeat: no-repeat;
    mask-position: 0 0;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%) rotate(90deg);
}

.model_nav li .model_img {
    /*    width: 55px;*/
    width: 68px;
    height: 68px;
    /*    margin-right: 20px;*/
    margin-right: 14px;
    overflow: hidden;
    position: relative;
}

.model_nav li .model_img img {
    width: 78px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-57%) translateX(-53%);
}

.model_nav li .nav_title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin: -4px 0 6px;
}

.model_nav li .model_textbox p {
    font-size: 14px;
    line-height: 1.5;
}

.model_nav li.model01 a {
    color: #3da49f;
}

.model_nav li.model01 a::after {
    background-color: #3da49f;
}

.model_nav li.model02 a {
    color: #1388c5;
}

.model_nav li.model02 a::after {
    background-color: #1388c5;
}

.model_g {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.model_profile {
    width: 180px;
    background: #c9c9c9;
    color: #fff;
    padding: 20px;
    border-radius: 10px;
}

.model_profile .model_img {
    width: 140px;
    height: 140px;
    background: #fff;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 auto 16px;
}

.model_profile .model_img img {
    /*
    width: 98px;
    margin: 20px auto 0;
*/
    width: 100%;
    border-radius: 50%;
}

.model_profile .model_textbox div {
    font-weight: 600;
    line-height: 1.5;
    font-size: 16px;
}

.model_profile .model_textbox .major {
    margin-bottom: 5px;
}

.model_profile .model_textbox .title {
    font-size: 18px;
    margin-bottom: 14px;
}

.model_profile .model_textbox .title_sub {
    color: #fffd38;
}

.model_profile .model_textbox p {
    line-height: 1.5;
    font-size: 14px;
}


.model_content {
    width: calc(100% - 200px);
}

.model_content .js-scrollable {
    margin-bottom: 30px;
}

.model_content .plan_img {
    width: 1732px;
    margin-bottom: 10px;
}

.model_content .supplement .general_sample {
    display: inline-block;
    width: 2em;
    height: 1em;
    background: var(--color-general);
    margin-right: .8em;
    transform: translateY(.15em);
}

.model_content .supplement .specialized_sample {
    display: inline-block;
    width: 2em;
    height: 1em;
    background: var(--color-specialized);
    margin: 0 .8em 0 1.5em;
    transform: translateY(.15em);
}

.model_content .supplement .required {
    display: inline-block;
    width: .45em;
    height: .45em;
    background: #e64068;
    border-radius: 50%;
    margin: 0 .3em 0 1.5em;
    transform: translateY(-.12em);
}


.subject_area h4.color_blue {
    font-size: 30px;
    color: var(--color-blue);
    margin-bottom: 30px;
}

.subject_area h4.color_blue .underline {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
    text-decoration-color: var(--color-blue);
}

.subject_area h4.color_blue .small {
    font-size: 20px;
    font-weight: 600;
}

.subject_g+.credits_g {
    margin-top: 40px;
}

.credits_g .supplement {
    margin-bottom: 24px;
    text-align: center;
    font-size: 14px;
}

.credits_g table {
    max-width: 782px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.credits_g tr {
    border-bottom: 1px dashed #c9c9c9;
}

.credits_g tr:first-of-type,
.credits_g tr:last-child {
    border: none;
}

.credits_g th,
.credits_g td {
    vertical-align: middle;
}

.credits_g tr th {
    padding: 10px 8px 10px 12px;
    text-align: left;
    width: calc(100% - 75px);
}

.credits_g tr th span {
    font-size: 12px;
}

.credits_g tr:first-of-type th {
    background: var(--color-green);
    font-weight: 600;
    color: #fff;
    text-align: center;
}

.credits_g tr td {
    text-align: right;
    font-weight: 600;
    color: #fff;
    width: 75px;
    padding: 10px 15px 10px 15px;
}

.credits_g tr td.general {
    background: var(--color-general);
}

.credits_g tr td.specialized {
    background: var(--color-specialized);
}



.subject_area.model01 {
    background: repeating-linear-gradient(135deg, rgba(216, 237, 241, 1), rgba(216, 237, 241, 1) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 50px;
}

.subject_area.model02 {
    background: repeating-linear-gradient(135deg, rgba(209, 231, 242, 1), rgba(209, 231, 242, 1) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 30px;
}

.model01 .model_profile,
.model01 .subject_g .toggle_title_area,
.model01 .toggle_line {
    background: #3da49f;
}

.model02 .model_profile,
.model02 .subject_g .toggle_title_area,
.model02 .toggle_line {
    background: #1388c5;
}

.model01 h3 {
    color: #3da49f;
}

.model02 h3 {
    color: #1388c5;
}

.bulk .toggle_title_area {
    pointer-events: none;
    padding: 0;
    align-items: stretch;
}

.bulk .toggle_title_area .bulk_text {
    background: #b988b4;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    width: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bulk .toggle_title_area .toggle_title {
    padding: 12px 10px 12px 14px;
    width: calc(100% - 100px);
}

.bulk .toggle_area {
    display: block;
    background: #b988b4;
    color: #fff;
    padding: 15px;
}

.bulk .toggle_area h5 {
    font-weight: 600;
    font-size: 14px;
}

.bulk .toggle_area p {
    line-height: 1.5;
    /*    margin-bottom: 18px;*/
}

.bulk .toggle_area p .big {
    font-size: 20px;
}

.bulk .toggle_area p .small {
    font-size: 12px;
}


.bulk_box {
    background: #b988b4;
    color: #fff;
    margin-bottom: 10px;
    padding: 12px 14px;
}

.bulk_box h4 {
    font-size: 16px;
    margin-bottom: -0.5em;
}

.bulk_box p {
    line-height: 1.8;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.bulk_box p .big {
    font-size: 24px;
}

.bulk_box p.sub {
    font-size: 12px;
    text-decoration: none;
}

.model02 .frame_box {
    margin-top: 50px;
    display: block;
    background: #fff;
    border: 1px solid #1388c5;
    padding: 20px;
    border-radius: 10px;
}

.model02 .frame_box h4 {
    text-align: center;
    font-size: 20px;
    color: #1388c5;
}

.model02 .frame_box h5 {
    font-size: 14px;
    font-weight: 600;
    margin: 18px 0 8px;
    color: var(--color-blue);
}

.model02 .frame_box p {
    font-size: 12px;
}

.model02 .btn_ptn03 {
    margin-bottom: 20px;
}


#plan h2+p {
    margin-bottom: 40px;
}

/*
#plan .subject_area .subject_number{
    margin-bottom: 20px;
}
#plan .subject_area .subject_number::after{
    top: unset;
    bottom: 99%;
    transform: rotate(180deg);
}
*/


/*----------
04_2.schedule
----------*/

.model_nav li.model03 a {
    color: #f6b900;
}

.model_nav li.model03 a::after {
    background-color: #f6b900;
}

.model_nav li.model04 a {
    color: #f18f5f;
}

.model_nav li.model04 a::after {
    background-color: #f18f5f;
}


.subject_area.model03 {
    background: repeating-linear-gradient(135deg, rgb(253 242 204), rgb(253 242 204) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 50px;
}

.subject_area.model04 {
    background: repeating-linear-gradient(135deg, rgb(252 232 223), rgb(252 232 223) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 30px;
}

.model03 .model_profile,
.model03 .subject_g .toggle_title_area,
.model03 .toggle_line {
    background: #f6b900;
}

.model04 .model_profile,
.model04 .subject_g .toggle_title_area,
.model04 .toggle_line {
    background: #f18f5f;
}

.model03 h3 {
    color: #f6b900;
}

.model04 h3 {
    color: #f18f5f;
}

.model_content .day_g {
    margin-bottom: 50px;
}

.model_content .schedule_img img {
    margin-bottom: 10px;
}

.model_content .day_g .schedule_img {
    width: 100%;
    max-width: 884px;
}

.model_content .week_g .schedule_img {
    width: 830px;
    padding-right: 1px;
}

.model_content .week_g .js-scrollable {
    margin-bottom: 0;
}

.model_content .slide_anime {
    transform: translateX(60%);
    transition: 1s ease-out;
    /*    transition-timing-function: cubic-bezier(.29, 1.01, 1, -0.68);*/
    transition-delay: .2s;
    opacity: 0;
}

.model_content .slide_anime.appear {
    transform: translateX(0);
    opacity: 1;
}

/*----------
04_3.system
----------*/

#system h2+div {
    margin-top: 40px;
}

.feature_area .mock_img {
    max-width: 780px;
    margin: 40px auto 50px;
}

.feature_area .feature_g {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: min(1.46vw, 20px);
}

.feature_area .feature_box {
    grid-column: span 2;
    display: block;
    border-radius: 10px;
    border: 1px solid var(--color-green);
    background: #fff;
    padding: min(1.46vw, 22px);
}

.feature_area .feature_box.small {
    grid-column: span 1;
}

.feature_area .feature_box.big {
    grid-column: span 4;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;
}

.feature_area .feature_box.big>div {
    width: calc(50% - 11px);
}

.feature_area .feature_box h4 {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    margin-bottom: 0;
    font-size: clamp(16px, 1.3vw, 18px);
}

.feature_area .feature_box h4 span.num {
    display: inline-block;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: var(--color-green);
    border: 1px solid var(--color-green);
    padding: 0 9px;
    margin-bottom: 6px;
}

.feature_area .feature_box .feature_img {
    max-width: 260px;
    margin: 20px auto 0;
}

.feature_area .feature_box.big .feature_img {
    max-width: none;
}

.feature_area .feature_box .feature_img.frame img {
    border: 1px solid #c9c9c9;
}

.function_area {
    background: repeating-linear-gradient(135deg, rgba(221, 235, 241, 1), rgba(221, 235, 241, 1) 2px, transparent 2px, transparent 4.8px);
    margin-bottom: 30px;
}

.function_area .function_g {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

.function_area .function_box p {
    margin-bottom: 20px;
}


/*----------
05.supoort
----------*/

#support .kv_area {
    background-image: url(../../support/images/kv_pc.webp);
}

#support .page_nav {
    margin-bottom: 100px;
}

#support .support_g {
    width: 100%;
    display: block;
    padding: 40px 50px;
    margin-bottom: 50px;
    background: #fff;
    border-radius: 10px;
}

#support .support_g:last-of-type {
    margin-bottom: 0;
}

#support .support_title .num {
    display: block;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: url(../images/glare.png) no-repeat left -2px;
    background-size: 100% auto;
    background-color: var(--color-blue);
    color: #FFF;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 60px;
    text-align: center;
    line-height: 1.1;
    padding-top: 17px;
    position: relative;
    overflow: hidden;
}

#support .support_title .num span {
    font-size: 12px;
    display: block;
}

#support .support_title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 40px;
}

#support .support_title h3 {
    margin: 0 0 0 20px;
    font-weight: 600;
}

#support .support_g p {
    margin-bottom: 24px;
}

#support .support_g .grid_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 28px 80px;
}

#support .support_g .cnt_box .img {
    max-width: 320px;
    margin: 0 auto;
}

#support #support01 ul li {
    display: block;
    max-width: 350px;
    width: 100%;
    margin: 0 auto 10px;
    text-align: center;
    border-radius: 6px;
    padding: 2px 5px 3px;
}

#support .support_g .box_bg {
    background: #f2f7fd;
    padding: 30px;
    margin-bottom: 10px;
}

#support .support_g .box_bg:last-of-type {
    margin-bottom: 0;
}

#support .support_g .box_bg p {
    margin-bottom: 0;
}

#support .list_type01 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 20px;
}

#support .list_type01 li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f2f7fd;
    border: 1px solid var(--color-blue);
    font-size: 18px;
    font-weight: 600;
    color: var(--color-blue);
    text-align: center;
    padding: 12px;
    line-height: 1.5;
}

#support .list_type02 {
    margin-bottom: 20px;
}

#support .list_type02 li {
    display: inline-block;
    border: 1px solid var(--color-blue);
    border-radius: 6px;
    color: var(--color-blue);
    padding: 0 24px;
    margin: 0 10px 10px 0;
}

#support #support04 h4 {
    margin-bottom: 10px;
}

#support .list_type02:last-of-type {
    margin-bottom: 0;
}




/*----------
06.admission
----------*/

#admission .kv_area {
    background-image: url(../../admission/images/kv_pc.webp);
}

#admission h2 {
    margin-bottom: 40px;
}

#faq h2 {
    margin-bottom: 40px;
}

#admission .fee_box {
    max-width: 460px;
    width: 100%;
    margin: 0 0 30px;
}

#admission .fee_box table {
    width: 100%;
    background: #fff;
    border: 1px solid var(--color-blue);
    text-align: center;
    margin-bottom: 12px;
}

#admission .fee_box tr.top {
    background: #6694ad;
    color: #fff;
}

#admission .fee_box tr.middle {
    background: #99b7c7;
    color: #fff;
}

#admission .fee_box th {
    padding: 20px 10px;
    border-left: 1px dashed var(--color-blue);
}

#admission .fee_box td {
    padding: 30px 10px;
    border-left: 1px dashed var(--color-blue);
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 20px;
}

/*
#admission .fee_box th:last-of-type, 
#admission .fee_box td:last-of-type{
    border-left: 1px solid var(--color-blue);
}
*/
#admission .fee_box .unit {
    text-align: right;
    font-size: 12px;
}

.faq_box {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    border-radius: 10px;
    border: 1px solid var(--color-blue);
    overflow: hidden;
}

.faq_box .toggle_g {
    margin-bottom: 0;
    border-bottom: 1px solid var(--color-blue);
}

.faq_box .toggle_g:last-of-type {
    border: none;
}

.faq_box .toggle_title_area {
    background: #fff;
    padding: 0 20px 0 0;
}

.faq_box .toggle_title {
    color: var(--color-blue);
    font-weight: 600;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 80px;
    font-size: 20px;
}

.faq_box .toggle_title div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.faq_box .toggle_title .q_num {
    background: #99b7c7;
    color: #fff;
    width: 100px;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
}

.faq_box .toggle_title .q_num span {
    margin-right: .2em;
    padding-top: .1em;
    font-family: sans-serif;
}

.faq_box .toggle_title .text {
    width: calc(100% - 100px);
    justify-content: flex-start;
    padding: 12px 0 12px 30px;
}

.faq_box .toggle_g .toggle_area {
    background: #f6fbea;
    padding: 30px 50px 30px 130px;
}


.btn_ptn01 a[href$="pdf"]::before,
.btn_ptn03 a[href$="pdf"]::before {
    content: "";
    display: block;
    width: 18px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: url(../images/icon_pdf.png) no-repeat;
    background-size: contain;
    border-radius: 0;
}

.btn_ptn01 a[href$="pdf"]::after,
.btn_ptn03 a[href$="pdf"]::after {
    display: none;
}

#admission #faq h2+p,
#admission #requirement h2+p {
    margin-bottom: 30px;
}

#admission #requirement .btn_requirement {
    margin: 0 auto 100px;
}

#admission #requirement .btn_g {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    gap: 30px 3.5%;
}

#admission #requirement .btn_g .btn_ptn03 {
    width: 31%;
    max-width: none;
}

#admission #requirement .btn_g .btn_ptn03 a {
    min-height: 62px;
    padding: 0 40px 0 24px;
    line-height: 1.4;
    text-align: start;
    font-size: 15px;
    display: flex;
    align-items: center;
}


#admission #faq .btn_ptn03 {
    max-width: 380px;
    margin: 0 auto;
}

#admission #faq .btn_ptn03 a {
    padding: 22px 0 23px;
}

/*----------
07.group
----------*/

#group .kv_area {
    background-image: url(../../group/images/kv_pc.webp);
}

#group .particles_area {
    background: linear-gradient(135deg, rgb(221 239 246) 0%, rgb(183 209 225) 100%);
}


.content_type02 .contents_in {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;
}

.content_type02:nth-of-type(even) .contents_in {
    flex-direction: row;
}

.content_type02 .content_mainimg {
    width: 49.1%;
    ;
    margin: 0 0 0 auto;
    /*	height: 454px;*/
    -webkit-mask-image: linear-gradient(black 158px, transparent 158px), linear-gradient(black 100%, transparent 0%);
    mask-image: linear-gradient(black 158px, transparent 158px), linear-gradient(black 100%, transparent 0%);
    mask-position: top center, bottom right;
    mask-repeat: no-repeat, no-repeat;
    mask-size: 100% 100%, 86.2% 100%;
    mask-composite: add;
}

.content_type02:nth-of-type(even) .content_mainimg {
    margin: 0 auto 0 0;
    mask-position: top center, bottom left;
}

.content_type02 .content_textbox {
    max-width: 680px;
    width: 57.6%;
    margin-top: 158px;
    margin-left: auto;
    margin-right: -80px;

    padding: 30px 50px 0;
    position: relative;
    z-index: 1;
}

.content_type02:nth-of-type(even) .content_textbox {
    margin-left: -80px;
    margin-right: auto;
}

.content_type02 .num_title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 30px;
}

.content_type02 .num_title .num {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: #fff;
    font-size: 92px;
    display: block;
    margin-right: 16px;
}

.content_type02 .num_title .num span {
    font-size: 15px;
    color: var(--color-blue);
    display: block;
    text-align: center;
}

.content_type02 .num_title h3 {
    font-weight: 600;
    margin: 0;
}

.content_type02 .num_title h3 .small {
    font-size: 28px;
}

.content_type02 .num_title h3 .notes {
    font-size: 12px;
    display: block;
    font-weight: normal;
    text-indent: initial;
}

.content_type02:nth-of-type(odd) {
    padding-top: 50px;
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
}

.content_type02:nth-of-type(odd)::after {
    content: '';
    display: block;
    max-width: calc(50% + 590px);
    width: calc(50% + 44.3vw);
    height: 100%;
    /*    background: repeating-linear-gradient(135deg, rgba(232, 232, 232, 1), rgba(232, 232, 232, 1) 2px, transparent 2px, transparent 4.8px);*/
    /*    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, transparent 2px, transparent 4.8px);*/
    background: rgb(255 255 255 / 30%);
    border-radius: 30px 0 0 30px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

#group h2 {
    margin-bottom: 50px;
}

#group .content_type02 .toggle_title_area {
    background: var(--color-green);
    display: none;
}

#group .content_type02 .toggle_line {
    background: var(--color-green);
}

#group .content_type02 .toggle_g .toggle_area {
    display: block;
    padding-bottom: 24px;
}

#group .content_type02 p+.text_link {
    margin-top: 1em;
}


/*----------
08.contact
----------*/

#contact .kv_area {
    background-image: url(../../contact/images/kv_pc.webp);
}

#contact .cnt_g {
    margin-bottom: 100px;
}

#contact .cnt_g .btn_ptn01,
#contact .cnt_g .btn_ptn03 {
    margin: 0 auto;
}

#contact .cnt_g .btn_ptn03 {
    max-width: 380px;
}

#contact .cnt_g .btn_ptn03 a {
    padding: 22px 0 23px;
}

#contact .cnt_g .btn_ptn01+p {
    margin-top: 40px;
}

#contact h2+p {
    margin-bottom: 40px;
}

#contact .tel_g p {
    margin-bottom: 8px;
}

#contact .tel_g p.tel {
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-size: 50px;
    line-height: 1;
    margin: 0 0 8px;
}

#contact .tel_g p.note {
    font-size: 16px;
    margin-top: 15px;
    line-height: 1.6;
    margin: 0;
}

#contact .tel_box {
    text-align: center;
    background: #fff;
    width: fit-content;
    /*--    padding: 15px 40px; ---*/
    padding: 15px 50px;
    border-radius: 10px;
    /*--    border: 1px solid #e8e8e8; ---*/
    margin: 0 auto;
}

#contact .text_link a {
    color: var(--color-blue);
    font-weight: 600;
}

#contact h3+p {
    margin-bottom: 30px;
}

@media all and (max-width: 1280px) {


    /*----------
01.共通　1280
----------*/





    /*----------
02.about 1280
----------*/

    #about #spirit .spirit_text {
        width: 48vw;
    }

    #about #spirit .img_box:first-of-type {
        right: calc(50% + 28vw);
    }

    #about #spirit .img_box:nth-of-type(2) {
        right: calc(50% + 4vw);
        /*    max-width: 14vw;*/
    }

    #about #spirit .img_box:nth-of-type(3) {
        left: calc(50% + 28vw);
        /*    max-width: 19.8vw;*/
    }


    /*----------
02_1.point 1280
----------*/


    .content_type01 .content_mainimg {
        height: 360px;
    }

    .content_type01 .content_mainimg img {
        height: 360px;
    }

    .content_type01 .contents_in {
        margin-top: -250px;
    }

    .content_type01 .point_title .point_num {
        font-size: 72px;
    }

    .content_type01 .point_title h3 {
        font-size: 34px;
    }

    .content_type01 .point_icon {
        left: -14px;
    }

    #point05 .point_title h3,
    .content_type01 .point_title h3 .border {
        font-size: clamp(26px, 2.5vw, 34px);
    }

    #point04 .point_title h3 {
        font-size: clamp(26px, 2.69vw, 34px);
    }


    /*----------
03_4.study 1280
----------*/

    .subject_g .inner_toggle .toggle_title {
        font-size: 12px;
    }

    .subject_g .choice .choice_text {
        font-size: 12px !important;
    }

    /*----------
04.curriculum 1280
----------*/

    .flow_tab_inner .h3_g h3 {
        font-size: 34px;
    }



    /*----------
07.group 1280
----------*/
    .content_type02 .num_title .num {
        font-size: 72px;
    }

    .content_type02 .num_title h3 {
        font-size: 34px;
    }



}


@media all and (max-width: 1024px) {

    /*----------
01.共通 1024
----------*/

    h2 {
        font-size: 46px;
    }

    h3 {
        font-size: 32px;
    }

    .second .kv_area {
        height: 400px;
    }

    .link_area .link_text {
        padding: 20px 40px;
    }

    .link_area .link_title {
        font-size: 26px;
        margin-bottom: 12px;
    }

    .sub_link_area .link_list li a {
        font-size: 16px;
    }

    .sub_link_area .link_list li .img {
        width: 112px;
        margin-right: 16px;
    }

    .sub_link_area .link_list li a::before {
        right: 10px;
    }

    .sub_link_area .link_list li a::after {
        right: 22px;
    }


    .third .bg_third {
        width: 862px;
        height: 485px;
    }


    /*----------
02.about 1024
----------*/

    #about #spirit {
        margin-bottom: min(84.6vw, 580px);
    }

    #about #spirit .spirit_text {
        width: 100%;
    }

    #about #spirit .img_g {
        width: 100%;
        max-width: 580px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 1.4%;
        position: absolute;
        top: calc(100% - 40px);
        left: 0;
        right: 0;
    }

    #about #spirit .img_box {
        position: static;
        width: 100%;
    }

    #about #spirit .img_box:first-of-type {
        grid-area: 1 / 1 / 2 / 2;
        max-width: none;
    }

    #about #spirit .img_box:nth-of-type(2) {
        grid-area: 2 / 1 / 3 / 2;
        max-width: none;
    }

    #about #spirit .img_box:nth-of-type(3) {
        grid-area: 1 / 2 / 3 / 3;
        max-width: none;
    }


    /*----------
02_1.point 1024
----------*/
    .content_type01 .contents_in {
        margin-top: -80px;
    }

    .content_type01 .content_mainimg {
        width: 80vw;
        mask-image: linear-gradient(black 80%, transparent 80%), linear-gradient(black 100%, transparent 0%);
        mask-size: 100% 100%, 24% 100%;
    }

    .content_type01 .content_textbox {
        max-width: none;
        width: 70vw;
    }

    #point04 .point_title h3 {
        font-size: 32px;
    }

    /*----------
02_2.message 1024
----------*/

    .president_message_g .message_text {
        width: 62%;
    }

    /*----------
03.faculty 1024
----------*/

    #faculty .faculty_box {
        padding-left: 30px;
    }

    #faculty .faculty_g h3 {
        margin-left: -30px;
    }

    #faculty .faculty_g ul li h5 {
        font-size: 16px;
    }

    #faculty .faculty_g ul li p,
    #faculty .faculty_g ul li div {
        font-size: 13px;
    }


    /*----------
03_1.course 1024
----------*/

    .page_nav {
        flex-wrap: wrap;
    }

    .page_nav li {
        width: 49%;
        margin-bottom: 10px;
    }

    .page_nav li a {
        padding: 6px 22px 6px 10px;
        min-height: 52px;
    }

    .page_nav li a::after {
        right: 10px;
    }

    #course .content_type01:nth-of-type(odd)::after {
        max-width: none;
        width: 100%;
        background: repeating-linear-gradient(135deg, rgba(246, 232, 204, 1), rgba(246, 232, 204, 1) 3px, transparent 3px, transparent 6px);
    }

    #course .content_type01:nth-of-type(odd) .content_textbox {
        padding-left: 30px;
    }


    /*----------
03_2.teacher 1024
----------*/

    .teacher_g {
        grid-template-columns: repeat(2, 1fr);
    }



    /*----------
03_3.company 1024
----------*/

    .message_g .message_box {
        padding: 24px 72px 30px 30px;
    }

    .message_g:nth-of-type(even) .message_box {
        padding: 24px 30px 30px 72px;
    }

    .message_g .profile_box {
        padding: 30px 20px 20px;
    }

    .message_g .profile_img {
        max-width: 220px;
        transform: translateX(-60px);
    }

    .message_g:nth-of-type(even) .profile_img {
        transform: translateX(60px);
    }

    .message_g .profile_box dl {
        font-size: 11px;
    }

    .message_g .profile_box dt {
        width: 60px;
    }

    .message_g .profile_box dd {
        width: calc(100% - 70px);
    }


    /*----------
03_4.study 1024
----------*/
    .subject_g {
        max-width: 782px;
        margin: 0 auto;
    }

    .subject_area .subject_number {
        max-width: 782px;
        margin: 0 auto 30px;
    }

    .subject_g .toggle_title h4 {
        font-size: 16px;
    }

    .subject_g .toggle_title .sub {
        font-size: 14px;
    }

    .subject_g .inner_toggle .toggle_title {
        font-size: 14px;
    }

    .subject_g .choice .choice_text {
        font-size: 14px !important;
    }


    /*----------
04.curriculum 1024
----------*/

    .flow_box {
        padding: 12px 14px;
    }

    .flow_box h4 {
        font-size: 22px;
        margin-bottom: 6px;
    }

    .flow_box h4.arrow_bottom,
    .arrow_bottom {
        margin-bottom: 36px;
    }

    .arrow_bottom::after {
        bottom: -28px;
    }

    .flow_tab .flow_tab_inner {
        padding: 36px 30px;
    }

    .flow_tab_inner .h3_g {
        margin-bottom: 20px;
    }

    .flow_tab_inner .h3_g h3 {
        font-size: 25px;
        margin-bottom: 15px;
    }

    .flow_tab_inner .h3_g h3 .small {
        font-size: 20px;
    }

    .flow_tab_inner .h3_g h3::before {
        width: 32px;
        height: 32px;
        font-size: 22px;
        line-height: 30px;
        top: 0.1em;
        left: -38px;
    }

    .flow_tab .flow_tab_inner .h3_sub {
        font-size: 16px;
        border-radius: 5px;
    }

    .flow_tab .flow_tab_inner p.first_text {
        padding: 12px 15px 18px;
        font-size: 14px;
    }

    .flow_tab p.notes {
        font-size: 14px;
        padding: 8px 15px;
        width: calc(100% - 30px);
    }

    #curriculum .test_box h4,
    #curriculum .pass_box h4,
    #curriculum .goal_box h4 {
        font-size: 25px;
    }




    /*----------
04_1.plan 1024
----------*/

    /*----------
04_2.schedule 1024
----------*/

    .model_content .day_g .schedule_img {
        min-width: 724px;
    }

    /*----------
04_3.system 1024
----------*/

    .feature_area .feature_g {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .feature_area .feature_box,
    .feature_area .feature_box.big,
    .feature_area .feature_box.small {
        grid-column: span 1;
        display: block;
        padding: 20px;
    }

    .feature_area .feature_box.big>div {
        width: 100%;
    }

    .feature_area .feature_box h4 {
        font-size: 18px;
    }

    .function_area .function_g {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px;
    }

    /*----------
05.supoort 1024
----------*/

    #support .support_g .grid_box {
        gap: 32px 50px;
    }



    /*----------
06.admission 1024
----------*/

    #admission #requirement .btn_g {
        gap: 20px 4%;
    }

    #admission #requirement .btn_g .btn_ptn03 {
        width: 48%;
    }


    /*----------
07.group 1024
----------*/
    /*
    .content_type02 .contents_in{
        display: block;
    }
    
    .content_type02 .content_mainimg{
        width: 80vw;
    }
    .content_type02 .content_textbox{
        margin: 0 auto 0 0;
        width: 70vw;
        max-width: none;
    }
    .content_type02:nth-of-type(even) .content_textbox{
        margin: 0 0 0 auto;
    }
*/

    .content_type02:nth-of-type(odd)::after {
        width: 100%;
        max-width: none;
        border-radius: 0;
    }

    .content_type02 .content_textbox {
        padding: 30px 0 0 50px;
    }

    .content_type02:nth-of-type(odd) .content_textbox {
        padding: 30px 50px 0 0;
    }

    /*
    #group02 .num_title{
        align-items: flex-start;
    }
*/







}

@media screen and (orientation: portrait) {}


@media all and (max-width: 768px) {


    /*----------
01.共通 768
----------*/

    span.sp_space {
        display: inline-block;
        width: 2em;
    }

    .second .kv_area {
        height: 300px;
    }

    .kv_area .kv_text h1.text_bg {
        font-size: 26px;
        padding: 12px 14px;
    }

    .kv_area .kv_text .kv_en {
        font-size: 64px;
    }

    .breadcrumb {
        padding: 20px 0;
        /*        border-bottom-width: 100%;*/
        overflow-x: scroll;
    }

    .breadcrumb ul {
        width: max-content;
    }

    h2 {
        font-size: 32px;
    }

    h3 {
        font-size: 25px;
        margin-bottom: 20px;
    }

    h4 {
        font-size: 17px;
    }

    h4 span.small {
        font-size: 12px;
        font-weight: 400;
    }

    h5 {
        font-size: 17px;
    }

    .dl_ptn01 dl {
        display: block;
        padding: 12px 0;
    }

    .dl_ptn01 dt {
        width: 100%;
        font-size: 16px;
    }

    .dl_ptn01 dd {
        width: 100%;
        font-size: 14px;
    }


    .toggle_title_area .toggle_title {
        font-size: 17px;
    }


    .lower .breadcrumb+.contents_in {
        padding: 30px 0;
    }

    .link_area .link_box {
        display: block;
        margin-bottom: 50px;
    }

    .link_area .link_box .link_inner {
        display: block;
        pointer-events: none;
    }

    .link_area .contents_in {
        width: 100%;
        padding: 0;
    }

    .link_area .link_img {
        width: 86.6%;
    }

    .link_area .link_img .img_slide {
        border-radius: 0;
    }

    .link_area .link_text {
        width: 95.3%;
        background: #fff;
        border-radius: 20px 0 0 0;
        padding: 24px 13.4% 0 24px;
        margin: -50px 0 0 auto;
        position: relative;
        z-index: 1;
    }

    .link_area .link_title {
        font-weight: 600;
        font-size: 20px;
    }

    .link_area .link_text p {
        font-size: 14px;
    }

    .link_area .btn_ptn01 {
        max-width: 218px;
        margin-top: 20px;
    }

    .link_area .link_box:last-of-type {
        margin-bottom: 0;
    }

    .link_area .link_inner:hover .link_img {
        opacity: 1;
    }

    .sub_link_area .link_list {
        display: block;
    }

    .sub_link_area .link_list li,
    .sub_link_area .link_list li:nth-of-type(odd) {
        margin: 0 auto 25px;
        width: 100%;
        max-width: 400px;
    }

    .sub_link_area .link_list li:last-of-type {
        margin: 0 auto;
    }

    .sub_link_area .contents_in {
        padding: 0;
    }


    .second .particles_inner {
        padding-bottom: 70px;
    }

    .third .kv_area {
        height: 145px;
        margin-top: 56px;
    }

    .third .kv_area::before {
        background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 3px, transparent 3px, transparent 6px);
    }

    .loop_wrap {
        height: 48px;
        margin-top: 30px;
    }

    .loop_wrap div {
        font-size: 50px;
        width: 660px;
    }

    .third_cnt_area {
        padding-bottom: 75px;
    }

    .third_cnt_area::before,
    .third_cnt_area::after {
        height: 75px;
    }

    .third_cnt_area::after {
        background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 3px, transparent 3px, transparent 6px);
    }

    .third .bg_third {
        display: none;
    }

    /*----------
02.about 768
----------*/

    #about .kv_area {
        background-image: url(../../about/images/kv_sp.webp);
    }

    #about #spirit .contents_in {
        padding: 50px 0 60px;
    }

    #about #spirit .img_g {
        top: calc(100% - 25px);
    }

    #about #policy .toggle_title_area {
        display: flex;
    }

    #about #policy .toggle_title_area h4 {
        font-size: 17px;
        font-weight: 600;
    }

    #about #policy .toggle_g .toggle_area {
        background: #fff;
        padding: 15px 15px 15px;
        display: none;
    }

    #about #policy .toggle_g .toggle_area p,
    #about #policy .toggle_g .toggle_area li {
        font-size: 13px;
    }

    #about #policy .btn_ptn03 {
        margin-top: 40px;
    }


    /*----------
02_1.point 768
----------*/
    .point_nav {
        width: 100%;
        max-width: 400px;
        margin-bottom: 0;
    }

    .point_nav li a {
        width: 60px;
        height: 60px;
        font-size: 22px;
        padding-top: 10px;
    }

    .point_nav li a span {
        font-size: 9px;
    }

    .point_nav li a::after {
        width: 5px;
        height: 11px;
        bottom: 6px;
    }

    .content_type01 .content_mainimg,
    .content_type01:nth-of-type(even) .content_mainimg {
        width: 95.3vw;
        height: auto;
        border-radius: 40px 0 0 0;
        mask-image: none;
        overflow: hidden;
    }

    .content_type01:nth-of-type(even) .content_mainimg {
        border-radius: 0 40px 0 0;
    }

    .content_type01 .content_mainimg img {
        height: auto;
    }

    .content_type01 .contents_in {
        margin: 0 auto;
        padding: 30px 0 50px;
    }

    .content_type01 .content_textbox {
        width: 100%;
        margin: 0 auto;
    }

    .content_type01 .point_icon {
        width: 85px;
        height: 85px;
        top: -95px;
    }

    .content_type01 .point_icon img {
        width: 55px;
    }

    .content_type01 .point_title .point_num {
        font-size: 60px;
        margin-right: 8px;
    }

    .content_type01 .point_title .point_num span {
        font-size: 10px;
    }

    .content_type01 .point_title h3 {
        font-size: 25px;
    }

    .content_type01 .point_title h3 .small {
        font-size: 16px;
    }

    .content_type01 .content_textbox .graph_box {
        display: block;
        margin: 0 auto;
    }

    .content_type01 .content_textbox .graph_box img {
        margin: 0 auto 30px;
        width: 100%;
        max-width: 300px;
    }

    .content_type01 .point_title h3 .border {
        font-size: clamp(18px, 4.9vw, 24px);
        letter-spacing: -0.03em;
    }

    #point05 .point_title h3 {
        font-size: clamp(18px, 4.9vw, 24px);
    }

    #point05 .content_textbox p {
        margin-bottom: 0;
    }

    #point04 .point_title h3 {
        font-size: 25px;
    }

    /*----------
02_2.message 768
----------*/
    #message .en_text {
        font-size: 16px;
    }

    #message h2 {
        font-size: 25px;
        margin-bottom: 40px;
    }

    #message .btn_ptn03 {
        margin: 20px auto 0px;
    }

    .president_message_g {
        display: block;
    }

    .president_message_g .message_img {
        margin: 0 auto 28px;
        width: 100%;
        max-width: 420px;
    }

    .president_message_g .message_text {
        width: 100%;
        max-width: none;
    }

    .president_message_g p.name span {
        font-size: 14px;
    }

    .president_message_g p.name img {
        width: 112px;
        margin: 3px 0 0 auto;
    }


    /*----------
03.faculty 768
----------*/

    #faculty .kv_area {
        background-image: url(../../faculty/images/kv_sp.webp);
    }

    #faculty .faculty_g::before {
        width: 500px;
        top: 56px;
        left: -78px;
    }

    #faculty .faculty_g h3 {
        margin-bottom: 14px;
    }

    #faculty .faculty_g h3 .underline {
        text-underline-offset: 8px;
        text-decoration-thickness: 1.5px;
    }

    #faculty .faculty_g h4 {
        font-size: 16px;
        margin-bottom: 6px;
    }

    #faculty .faculty_g [class^="bg_"] {
        margin-bottom: 5px;
        margin-right: 7px;
    }

    #faculty .faculty_g .inner_middle {
        margin-bottom: 32px;
    }

    #faculty .faculty_g .inner_middle h4 {
        margin-bottom: 0px;
    }

    #faculty .faculty_g .inner_middle p {
        line-height: 1.5;
        font-size: 14px;
    }

    #faculty .toggle_title_area {
        display: flex;
    }

    #faculty .toggle_g .toggle_area {
        background: rgb(255 255 255 / 80%);
        padding: 0 15px;
        display: none;
    }

    #faculty .faculty_g ul,
    #faculty .faculty_g .inner_bottom ul {
        display: block;
        border: none;
    }

    #faculty .faculty_g ul li {
        width: 100%;
        border-right: none;
        border-bottom: 1px dotted var(--color-blue);
        padding: 16px 0 14px;
        display: block;
        text-align: left;
    }

    #faculty .faculty_g .inner_bottom ul li {
        width: 100%;
        border-right: none;
        border-bottom: 1px dotted var(--color-blue);
    }

    #faculty .faculty_g ul li:last-of-type {
        border: none;
    }

    #faculty .faculty_g ul li p,
    #faculty .faculty_g ul li div {
        font-size: 14px;
    }

    #faculty .faculty_g .correlation_box {
        text-align: center;
    }

    /*----------
03_1.course 768
----------*/

    .page_nav li a {
        font-size: 13px;
    }

    .page_nav li a::after {
        width: 5px;
        height: 10px;
        right: 8px;
    }

    .page_nav {
        margin: 30px auto 0;
    }

    #course .content_type01:nth-of-type(odd) {
        padding-top: 50px;
        margin-bottom: 50px;
    }

    #course .content_type01:nth-of-type(odd) .content_textbox {
        padding-left: 0px;
    }

    #course .content_textbox .check_list {
        /*
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
*/
        column-count: 2;
    }

    #course .content_textbox .check_list li {
        display: block;
        margin-right: 0;
        padding-left: 1.4em;
        margin-bottom: 6px;
    }

    #course .content_textbox .check_list li::after {
        width: 0.8em;
        height: 0.4em;
        top: 0.4em;
        left: 0.2em;
    }

    #course #course04 {
        margin-bottom: 80px;
    }


    /*----------
03_2.teacher 768
----------*/

    .teacher_g {
        max-width: 400px;
        margin: 0 auto 50px;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
    }

    .teacher_g .teacher_box:nth-of-type(even) {
        flex-direction: row-reverse;
        border-radius: 0 0 0 10px;
    }

    .teacher_g .teacher_img,
    .teacher_g .teacher_text {
        width: 50%;
    }

    .teacher_g .teacher_category {
        font-size: 12px;
    }

    .teacher_g .teacher_text .name {
        max-width: 150px;
    }

    .teacher_g .teacher_text .inner {
        padding: 10px;
    }

    .teacher_g .teacher_text p {
        font-size: 10px;
    }


    /*----------
03_3.company 768
----------*/

    #company h2 {
        margin-bottom: 40px;
    }

    .message_g {
        display: block;
        margin-bottom: 60px;
        width: 95.3vw;
        margin: 0 auto 50px -4.7vw;
    }

    .message_g:nth-of-type(even) {
        margin: 0 -4.7vw 50px auto;
    }

    .message_g .message_box {
        width: 100%;
        max-width: none;
        padding: 24px 4.7vw 30px 9.4vw;
    }

    .message_g:nth-of-type(even) .message_box {
        padding: 24px 9.4vw 30px 4.7vw;
    }

    .message_g .message_box h3 {
        margin-bottom: 25px;
    }

    .message_g .message_box p+p {
        margin-top: 20px;
    }

    /*
    .message_g .message_box .name + p{
        margin-top: 12px;
    }
*/
    .message_g .message_box::before {
        bottom: unset;
        left: unset;
        top: 140px;
        right: -4.7vw;
    }

    .message_g:nth-of-type(even) .message_box::before {
        top: 180px;
        right: unset;
        left: -4.7vw;
    }

    .message_g .message_box .name {
        margin-bottom: 25px;
    }

    .message_g .toggle_g {
        display: block;
    }

    .message_g .profile_box {
        display: none;
        /*
        width: 100%;
        max-width: none;
        padding: 0 4.7vw 14px 9.4vw;
        background: repeating-linear-gradient(135deg, #b3cad6, #b3cad6 2px, transparent 2px, transparent 4.8px);
*/
    }

    .message_g:nth-of-type(even) .profile_box {
        padding: 0 9.4vw 14px 4.7vw;
    }

    .message_g .profile_img,
    .message_g:nth-of-type(even) .profile_img {
        max-width: 180px;
        /*        margin: 0 auto -6px;*/
        margin: 0 auto 20px;
        /*        transform: translateY(-30px);*/
        transform: none;
    }

    /*
    .message_g .profile_box .toggle_title_area{
        display: flex;
    }
    .message_g .profile_box .toggle_g .toggle_area{
        background: #fff;
        padding: 15px 15px 15px;
        display: none;
    }
*/
    .message_g .profile_box dl,
    .message_g .toggle_area dl {
        font-size: 12px;
    }

    .message_g .profile_box dt,
    .message_g .toggle_area dt {
        width: 65px;
    }

    .message_g .profile_box dd,
    .message_g .toggle_area dd {
        width: calc(100% - 75px);
    }

    .message_g:last-of-type {
        margin-bottom: 0;
    }


    /*----------
03_4.study 768
----------*/

    .subject_area .subject_number {
        font-size: 16px;
        padding: 12px 12px 14px;
        margin: 0 auto 26px;
    }

    #study section+section>.contents_in {
        padding-top: 0;
    }

    #study .subject_area .contents_in {
        padding: 40px 0;
    }

    #study #general {
        background: repeating-linear-gradient(135deg, rgba(221, 235, 241, 1), rgba(221, 235, 241, 1) 3px, transparent 3px, transparent 6px);
    }

    #study #general .plus {
        width: 44px;
        height: 44px;
        bottom: -35px;
    }

    #study #general .plus span {
        width: 16px;
    }

    #study #specialized {
        margin-bottom: 30px;
        background: repeating-linear-gradient(135deg, rgba(246, 232, 204, 1), rgba(246, 232, 204, 1) 3px, transparent 3px, transparent 6px);
    }

    #study .total_box {
        font-size: 16px;
        padding: 12px 10px 24px;
        margin: 30px auto 0;
    }

    #study .total_box .middle {
        font-size: 26px;
    }

    #study .total_box .big {
        font-size: 35px;
    }

    #study .total_box:has(+ p.note)::after {
        bottom: -68px;
    }

    #study .last_content {
        padding: 0;
        margin-bottom: 50px;
    }

    #study .last_content .total_box {
        margin: 50px auto 0;
    }

    #study .last_content .total_box::after {
        bottom: 0;
        top: -32px;
    }


    /*----------
04.curriculum 768
----------*/

    #curriculum .kv_area {
        background-image: url(../../curriculum/images/kv_sp.webp);
    }

    .flow_box {
        border-radius: 20px;
        border: 2px solid var(--color-blue);
    }

    .flow_tab {
        width: 100vw;
        margin-left: -4.7vw;
        margin-bottom: 0;
    }

    .flow_tab.arrow_bottom::after {
        display: none;
    }

    /*
    .flow_tab .tab_menu{
        display: block;
    }
    .flow_tab .swiper-wrapper{
        align-items: stretch;
    }
    .flow_tab .tab_content .swiper-slide:first-of-type{
        background: #b0c45e;
        height: auto;
    }
    .flow_tab .tab_content .swiper-slide:nth-of-type(2){
        background: #89BBD9;
        height: auto;
    }


    .flow_tab .swiper-slide-active .flow_tab_inner {
        width: calc(100% - 10px);
        margin: 0 auto 0 0;
        border-radius: 0 20px 0 0;
    }
    .flow_tab .swiper-slide-active .flow_tab_inner.ondemand {
        width: calc(100% - 10px);
        margin: 0 0 0 auto;
        border-radius: 20px 0 0 0;
    }
    
*/

    .flow_tab .flow_tab_inner {
        padding: 24px 4.7vw;
        width: 100%;
        border-radius: 0;
    }

    .flow_tab .flow_tab_inner.ondemand {
        border-radius: 0;
    }

    .flow_tab .tab_content {
        width: 100%;
        display: block;
    }

    .flow_tab .flow_tab_inner .h3_sub {
        font-size: 14px;
        padding: 7px 20px 8px;
    }

    .flow_tab .flow_box .btn_ptn03 {
        margin-top: 12px;
    }

    .flow_tab .layer .flow_box {
        margin-bottom: 16px;
    }

    .flow_tab .layer .flow_box::before {
        top: 3px;
        left: 3px;
        border: 2px solid rgb(16 83 122 / 80%);
        border-radius: 22px;
    }

    .flow_tab .layer .flow_box::after {
        top: 8px;
        left: 8px;
        border: 2px solid rgb(16 83 122 / 50%);
        border-radius: 22px;
    }

    .flow_tab .flow_tab_inner p.first_text {
        margin-bottom: 0;
    }

    .flow_tab_inner .toggle_title_area {
        display: block;
    }

    .flow_tab_inner .toggle_title_area .toggle_title {
        text-align: center;
        width: 100%;
    }

    .flow_tab_inner .toggle_title_area .toggle_switch {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 10px;
    }

    .flow_tab_inner .toggle_g .toggle_area {
        display: none;
        background: rgb(255 255 255 / 30%);
        padding: 24px 16px;
    }

    .flow_tab_inner.textlearning .arrow_bottom:nth-child(4) {
        margin-bottom: 40px;
    }

    .flow_tab_inner.textlearning .arrow_bottom:nth-child(4)::after {
        display: block;
    }

    .arrow_bottom_sp {
        position: relative;
        margin-bottom: 36px !important;
    }

    .arrow_bottom_sp::after {
        content: '';
        display: block;
        width: 32px;
        height: 16px;
        background-color: var(--color-blue);
        -webkit-mask-image: url(../images/arrow02.svg);
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: 0 0;
        mask-image: url(../images/arrow02.svg);
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        mask-position: 0 0;
        position: absolute;
        bottom: -28px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }



    #curriculum .test_box {
        padding: 12px 0 0;
    }

    #curriculum .test_box h4 {
        font-size: 22px;
        margin-bottom: 12px;
    }

    #curriculum .test_box .test_content {
        display: block;
    }

    #curriculum .test_box .test_evaluation {
        width: 100%;
        border-radius: 0;
        padding: 14px 20px 12px;
        margin-bottom: 14px;
    }

    #curriculum .test_box .test_evaluation h5 {
        font-size: 16px;
        padding-bottom: 14px;
    }

    #curriculum .test_box .test_evaluation dl {
        font-size: 16px;
        padding: 10px 0;
    }

    #curriculum .test_box .test_evaluation dt {
        margin-right: 20px;
        width: 86px;
    }

    #curriculum .test_box .test_evaluation dd {
        width: 56px;
        padding: 4px 6px 6px;
    }

    #curriculum .test_box .test_sub {
        width: 100%;
        padding: 0 14px 0px;
    }

    #curriculum .test_box .test_sub p.title {
        text-align: center;
        font-size: 14px;
        margin-bottom: 4px;
    }

    #curriculum .test_box .test_sub h5 {
        font-size: 12px;
    }

    #curriculum .test_box .test_sub p {
        font-size: 12px;
    }

    #curriculum .pass_box h4 {
        padding: 8px 0 10px;
        border-radius: 20px 20px 0 0;
    }

    #curriculum .pass_box h4::before {
        width: 128px;
        height: 128px;
    }

    #curriculum .pass_box h4::after {
        width: 24px;
        height: 12px;
        left: calc(50% + 62px);
    }

    #curriculum .pass_box .pass_content {
        padding: 10px 20px 18px;
    }

    #curriculum .pass_box .pass_content .main_text {
        font-size: 16px;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid var(--color-yellow);
    }

    #curriculum .pass_box .pass_content .notes {
        font-size: 12px;
        padding: 0;
        background: none;
        color: #333;
        width: 100%;
        margin-bottom: 0;
    }

    #curriculum .goal_box {
        padding: 24px 0 26px;
        background: var(--color-yellow);
        border: 2px solid var(--color-blue);
    }

    #curriculum .goal_box h4 {
        color: var(--color-blue);
    }

    #curriculum .goal_box h4::after {
        width: 45px;
        height: 52px;
        right: -60px;
    }


    /*----------
04_1.plan 768
----------*/

    .model_nav {
        max-width: 308px;
        justify-content: space-between;
        margin: 0 auto;
    }

    .model_nav li {
        width: 130px;
    }

    .model_nav li a {
        display: block;
        text-align: center;
        padding: 8px 8px 30px;
    }

    .model_nav li a::after {
        top: unset;
        left: 0;
        right: 0;
        margin: 0 auto;
        bottom: 10px;
        transform: rotate(90deg);
    }

    .model_nav li .model_img {
        margin: 0 auto 10px;
        width: 84px;
        height: 64px;
        overflow: hidden;
    }

    .model_nav li .model_img img {
        width: 100%;
        top: unset;
        bottom: -12px;
        left: 50%;
        transform: translateX(-53%);
    }

    .model_nav li .nav_title {
        font-size: 14px;
        margin: 0 0 4px;
    }

    .model_nav li .model_textbox p {
        font-size: 12px;
    }

    .model_g {
        display: block;
    }

    .model_profile {
        width: 100%;
        max-width: 340px;
        margin: 0 auto 20px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 12px;
    }

    .model_profile .model_img {
        width: 125px;
        height: 125px;
        margin: 0 12px 0 0;
    }

    .model_profile .model_textbox {
        width: calc(100% - 137px);
    }

    .model_profile .model_textbox div {
        font-size: 14px;
        line-height: 1.8;
    }

    .model_profile .model_textbox .major {
        margin-bottom: 3px;
    }

    .model_profile .model_textbox .title {
        font-size: 16px;
        margin-bottom: 0;
    }

    .model_profile .model_textbox p {
        font-size: 12px;
    }

    .model_content {
        width: 100%;
    }

    .subject_area h4.color_blue {
        font-size: 20px;
        text-align: center;
        margin-bottom: 20px;
    }

    .subject_area h4.color_blue .small {
        font-size: 16px;
    }

    .subject_area.model01 {
        background: repeating-linear-gradient(135deg, rgba(216, 237, 241, 1), rgba(216, 237, 241, 1) 3px, transparent 3px, transparent 6px);
    }

    .subject_area.model02 {
        background: repeating-linear-gradient(135deg, rgba(209, 231, 242, 1), rgba(209, 231, 242, 1) 3px, transparent 3px, transparent 6px);
    }

    /*
    #plan .subject_area .subject_number::after{
        top: 92%;;
        bottom: unset;
    transform: rotate(0deg);
    }
*/


    /*----------
04_2.schedule 768
----------*/

    .model_content .day_g {
        margin-bottom: 40px;
    }

    .model_content .day_g .schedule_img {
        width: 100%;
        min-width: 0;
        max-width: 420px;
        margin: 0 auto;
    }

    .model_content .slide_anime {
        transform: translateY(20%);
    }

    .model_content .slide_anime.appear {
        transform: translateY(0);
        opacity: 1;
    }

    .subject_area.model03 {
        background: repeating-linear-gradient(135deg, rgb(253 242 204), rgb(253 242 204) 3px, transparent 3px, transparent 6px);
    }

    .subject_area.model04 {
        background: repeating-linear-gradient(135deg, rgb(252 232 223), rgb(252 232 223) 3px, transparent 3px, transparent 6px);
    }



    /*----------
04_3.system 768
----------*/

    .feature_area .feature_g {
        grid-template-columns: repeat(1, 1fr);
        gap: 12px;
    }

    .feature_area .feature_box,
    .feature_area .feature_box.big,
    .feature_area .feature_box.small {
        padding: 20px 16px;
        border: 1.5px solid var(--color-green);
        border-radius: 10px;
    }

    .feature_area .feature_box h4 {
        font-size: 17px;
    }

    .feature_area .feature_box .feature_img {
        max-width: none;
        width: 100%;
    }

    .function_area {
        background: repeating-linear-gradient(135deg, rgba(221, 235, 241, 1), rgba(221, 235, 241, 1) 3px, transparent 3px, transparent 6px);
    }

    .function_area .function_g {
        grid-template-columns: repeat(1, 1fr);
    }

    /*----------
05.supoort 768
----------*/

    #support .kv_area {
        background-image: url(../../support/images/kv_sp.webp);
    }

    #support .page_nav {
        margin-bottom: 50px;
    }

    #support .support_g {
        padding: 18px;
    }

    #support .support_title {
        margin-bottom: 24px;
    }

    #support .support_title .num {
        width: 90px;
        height: 90px;
        font-size: 50px;
        padding-top: 14px;
    }

    #support .support_title .num span {
        font-size: 10px;
    }

    #support .support_title h3 {
        margin: 0 0 0 10px;
    }

    #support .support_g .grid_box {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #support .support_g .cnt_box .img {
        width: 82%;
    }

    #support #support01 ul li {
        max-width: 280px;
        margin: 0 auto 8px;
    }

    #support .support_g .box_bg {
        padding: 20px 20px 16px;
    }

    #support .list_type01 {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #support .list_type01 li {
        font-size: 16px;
        padding: 8px 12px;
    }

    #support .list_type02 {
        margin-bottom: 10px;
    }

    #support .list_type02 li {
        font-size: 14px;
        padding: 0 10px;
        border-radius: 4px;
        margin: 0 6px 10px 0;
    }


    /*----------
06.admission 768
----------*/

    #admission .kv_area {
        background-image: url(../../admission/images/kv_sp.webp);
    }

    #admission h2 {
        margin-bottom: 30px;
    }

    #faq h2 {
        margin-bottom: 30px;
    }


    #admission .fee_box {
        margin: 0 0 20px 0;
    }

    #admission .fee_box .unit {
        margin-top: 10px;
    }


    .faq_box .toggle_title_area {
        padding: 0 5px 0 0;
    }

    .faq_box .toggle_title {
        font-size: 16px;
    }

    .faq_box .toggle_title .q_num {
        width: 50px;
    }

    .faq_box .toggle_title .text {
        width: calc(100% - 50px);
        padding: 12px 0 12px 15px;
    }

    .faq_box .toggle_g .toggle_area {
        padding: 15px 15px 15px 65px;
    }

    .faq_box .toggle_g .toggle_area p {
        font-size: 14px;
    }

    #admission #requirement .btn_requirement {
        margin: 0 auto 50px;
    }

    #admission #requirement .btn_g {
        display: block;
    }

    #admission #requirement .btn_g .btn_ptn03 {
        max-width: 338px;
        width: 100%;
        margin: 0 auto 10px;
    }

    #admission #requirement .btn_g .btn_ptn03 a {
        min-height: 56px;
        font-size: 14px;
    }

    #admission #faq .btn_ptn03 {
        max-width: 338px;
        margin: 0 auto;
    }

    /*----------
07.group 768
----------*/

    #group .kv_area {
        background-image: url(../../group/images/kv_sp.webp);
    }

    .content_type02:nth-of-type(odd) {
        padding-top: 0;
        margin-bottom: 0;
    }

    .content_type02 .contents_in {
        display: block;
    }

    .content_type02 .content_mainimg,
    .content_type02:nth-of-type(even) .content_mainimg {
        width: 100%;
        margin: 0 auto 24px;
        mask-image: none;
    }

    .content_type02 .content_textbox,
    .content_type02:nth-of-type(odd) .content_textbox,
    .content_type02:nth-of-type(even) .content_textbox {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }

    .content_type02 .num_title .num {
        font-size: 60px;
        margin-right: 8px;
    }

    .content_type02 .num_title h3 {
        font-size: 25px;
    }

    .content_type02 .num_title h3 .small {
        font-size: 20px;
    }

    #group h2 {
        margin-bottom: 30px;
    }

    #group .content_type02 .toggle_title_area {
        display: flex;
    }

    #group .content_type02 .toggle_g .toggle_area {
        background: #fff;
        padding: 15px 15px 17px;
        display: none;
        border: 1px solid var(--color-green);
    }

    #group .content_type02 .toggle_g .toggle_area p {
        font-size: 13px;
    }

    #group .content_type02 .toggle_g:last-of-type {
        margin-bottom: 0;
    }



    /*----------
08.contact
----------*/

    #contact .kv_area {
        background-image: url(../../contact/images/kv_sp.webp);
    }

    #contact .cnt_g {
        margin-bottom: 50px;
    }

    #contact h2+p {
        margin-bottom: 30px;
    }

    #contact .tel_g p.tel {
        font-size: 40px;
    }

    #contact .cnt_g .btn_ptn01+p {
        margin-top: 20px;
    }

    #contact .cnt_g .btn_ptn03 {
        max-width: 338px;
    }



}

/*----------
webentry
----------*/
#webentry #entry01 {
    background: linear-gradient(135deg, rgb(221 239 246) 0%, rgb(183 209 225) 100%);
}

#webentry .function_area {
    background: repeating-linear-gradient(135deg, rgba(246, 232, 204, 1), rgba(246, 232, 204, 1) 2px, transparent 2px, transparent 4.8px);
}

#webentry h2 {
    margin-bottom: 50px;
}

#webentry .content_textbox>div:not(:last-child) {
    margin-bottom: 4rem;
}

#webentry h4.bg_blue {
    /* margin-top: 30px; */
    margin-bottom: 10px;
}

#webentry .mb_30 {
    margin-bottom: 30px;
}

#webentry .bg_gray {
    background: #f4f4f4;
}

#webentry .bg_white {
    background: #fff;
}

#webentry span.link_blue {
    color: #2a72f5;
}

#webentry .notes_list {
    margin-top: 0.5rem;
}

#webentry .content_inner {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    border: 1px solid var(--color-blue);
    padding: 10px;
}

/* エントリーボタン */
#webentry .webentry_button a {
    max-width: 360px;
    min-width: 360px;
    display: block;
    margin: 30px auto 10px;
    padding: 30px;
    background-color: var(--color-yellow);
    border: 2px solid var(--color-yellow);
    border-radius: 10px;
    position: relative;
}

#webentry .webentry_button a::before {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    /* right: 8px; */
    right: 10%;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #fff;
}

#webentry .webentry_button a::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    /* right: 16px; */
    right: 12.5%;
    width: 10px;
    height: 10px;
    border-top: 3px solid var(--color-yellow);
    border-right: 3px solid var(--color-yellow);
    transform: rotate(45deg);
}

@media (max-width: 768px) {
    #webentry .webentry_button p {
        font-size: 20px!important;
    }
    #webentry .webentry_button a::before {
        right: 5%;
    }
    #webentry .webentry_button a::after {
        right: 7.25%;
    }
}

@media (min-width: 500px) and (max-width: 768px) {
    #webentry .webentry_button a::after {
        right: 6.4%;
    }
}

#webentry .webentry_button p {
    font-weight: 600;
    font-size: 21px;
}

#webentry .webentry_button a:hover {
    background-color: #fff;
}

#webentry .webentry_button a:hover::before {
    background: var(--color-yellow);
}

#webentry .webentry_button a:hover::after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

/* Web出願の流れ部分 */
#webentry .step>.step_inner {
    max-width: 950px;
    margin: 0 auto 20px;
    background-color: #fff;
    position: relative;
    border: 1px solid var(--color-green);
}

#webentry .step>.step_inner:not(:last-child):after {
    content: "";
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid var(--color-green);
    width: 0;
    height: 0;
    position: absolute;
    bottom: -1.15rem;
    left: 50%;
}

#webentry .step>.step_inner>.step_title>span {
    padding: 0 2em;
}

#webentry .step>.step_inner>.step_title {
    background-color: #f4f4f4;
}

#webentry .step>.step_inner>.step_title>h3 {
    padding: 0.5rem 10px 0.5rem 20px;
    margin-bottom: 10px;
    font-weight: 600;
}

#webentry .step>.step_inner>.step_title>h3::before {
    visibility: hidden;
}

#webentry .step>.step_inner ul,
#webentry .step>.step_inner p {
    padding: 0 1rem;
}

#webentry .step>.step_inner ul:last-child,
#webentry .step>.step_inner p:last-child {
    padding-bottom: 1rem;
}

#webentry .step>.step_inner li:last-child {
    padding-bottom: 1rem;
}


/* 提出 */
#webentry .webentry_preparation .contents_in {
    padding: 20px 0;
}

/* 写真部分 */
#webentry .document_picture .flex_2 {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    vertical-align: middle;
    gap: 20px;
}

#webentry .document_picture .flex_2 div {
    flex: 1;
}

#webentry .document_picture .pic_box {
    display: flex;
}

#webentry .document_picture .pic_box img {
    max-width: 120px;
    width: auto;
    padding: 0.5em;
}

/* 3つのメリット */
#webentry .webentry_merit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 20px;
}

#webentry .webentry_merit .merit_box {
    background: #fff;
    padding: 1rem;
    border: 1px solid var(--color-blue);
    border-radius: 1rem;
}

#webentry .support_title .num {
    width: 80px;
    height: 80px;
    font-size: 40px;
}

/* 各学科　募集期間 */
#webentry .schedule .schedule_inner {
    display: grid;
    grid-template-columns: 6em 1fr;
}

#webentry .department .schedule .schedule_inner,
#webentry .transfer .schedule .schedule_inner {
    grid-template-columns: 8em 1fr;
}

/* テーブルレイアウト */
#webentry table,
#webentry table th,
#webentry table td {
    border: 1px solid #bfbfbf;
    border-spacing: 0;
    border-collapse: collapse;
    vertical-align: middle;
    background: #fff;
}

#webentry table td,
#webentry table th {
    padding: .5em 1.5em;
    vertical-align: middle;
}

#webentry .table-style table tr>*:first-child{
    text-align:center;
}

#webentry table thead th,
#webentry table tbody th {
    text-align: center;
    background-color: #ddebf1;
}

#webentry .type-scroll_nav {
    display: inline-block;
    margin-top: 1em;
    position: relative;
}

#webentry .type-scroll_nav::before,
#webentry .type-scroll_nav::after {
    content: "";
    height: 1px;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -48%;
    background-color: #000;
}

#webentry .type-scroll_nav::before {
    width: 40%;
}

#webentry .type-scroll_nav::after {
    width: 6px;
    transform: translateY(-3px) rotate(45deg);
}

#webentry .document tr:nth-child(1) th:nth-child(2) {
    width: 25%;
}

#webentry .document tr:last-child td {
    background: initial;
    border: unset;
    font-size: 70%;
    line-height: 1.2;
}

@media not all and (min-width:768px) {
    #webentry .step>.step_inner:not(:last-child):after {
        left: 48%;
    }

    #webentry .document_picture .flex_2 {
        display: block;
    }

    #webentry .document_picture .pic_box img {
        max-width: 70px;
    }

    #webentry .webentry_merit {
        display: block;
    }

    #webentry .webentry_merit .merit_box {
        margin-bottom: 10px;
    }

    #webentry .department .schedule .schedule_inner,
    #webentry .transfer .schedule .schedule_inner {
        display: block;
    }

    #webentry .department .schedule .schedule_inner p:nth-child(2),
    #webentry .transfer .schedule .schedule_inner p:nth-child(2) {
        margin-left: 1em;
    }

    #webentry .table-style table {
        margin: .75em auto .8em;
    }

    #webentry .table-style table td,
    #webentry .table-style table th {
        padding: .5em;
        vertical-align: middle;
    }

    #webentry .table-style table tr>*:first-child{
        text-align:center;
    }

    #webentry table td,
    #webentry table th {
        padding: .5em .7em;
    }

    #webentry .table-style table thead th,
    #webentry .table-style table tbody th {
        text-align: center;
        background-color: #ededed;
    }

    #webentry .type-scroll_nav {
        font-size: 0.8rem;
    }

    #webentry .table-style.type-scroll {
        overflow-x: scroll;
    }

    #webentry .table-style.type-scroll table {
        width: 100%;
        width: 60rem;
    }

    #webentry .table-style table .type-scroll table {
        width: max-content;
    }
}

@media not all and (min-width:1024px) {
    #webentry .webentry_merit {
        gap: 10px;
    }

    #webentry .support_title {
        display: block;
    }
}

@media (min-width:768px) {
    #webentry .step>.step_inner>.step_title>h3 {
        font-size: 30px;
    }

    #webentry table:not(.schedule) th,
    #webentry table:not(.schedule) td {
        padding: .75em .8em;
    }

    #webentry .type-scroll_nav {
        display: none;
    }
}


.ta-center {
    text-align: center;
}

@media (max-width: 768px) {

    /* エントリーボタン */
    #webentry .webentry_button a {
        max-width: 100%;
        min-width: 100%;
        display: block;
        margin: 30px auto 10px;
        padding: 30px;
    }
    .one_img {
            text-align: center;
    }
    .one_img img {
        max-width: 60% !important;
        margin: 0 auto;
    }

    .many_img {    
        text-align: center;
    }

    .many_img img{
        max-width:45%!important;
    }    
    #webentry .document_picture .pic_box {
        display: block;
    }
}

.text_indent li {
    padding-left: 1em;
    text-indent: -1em;
    display: block;
}

.text_indent_inli {
    padding-left: 2em!important;
    text-indent: -1em;
    display: block;
}

.text_indent_only {
    padding-left: 1em;
    text-indent: -1em;
    display: block;
}

.text_indent_zero {}

.contents_in h3 p {
    text-indent: 0;
}

.to_top {
    color: -webkit-activelink;
    font-size: 80%;
}

.to_top a {
    text-decoration: underline;
    color: -webkit-link;
}

div.div_Header{
    margin:1px;
}

.fs_12 li{
    font-size: 12px!important;
}

/* sample licence */
.sample_licence{
    display: flex;
}

.sample_licence .car_licence{
    width: 50%;
    float: left;
}

.sample_licence .car_licence p{
    text-align: center;
    padding: 1em 1em 0 1em;
}

.sample_licence .pass_licence{
    width: 50%;
    float: right;
}

.sample_licence .pass_licence p{
    text-align: center;
    padding: 1em 1em 0 1em;
}

.sample_licence img{
    width: 100%;
    margin: 0 auto;
    padding:1em;
}

@media (max-width: 768px) {

    .sample_licence{
        display:grid;
    }

    .sample_licence .car_licence{
        width: 100%;
    }

    .sample_licence .pass_licence{
        width: 100%;
    }

}

/* sample licence */

/* color */
.f_c_red{
    color:red;
}