@charset "utf-8";
/* CSS Document */

/*---------

color & font set

----------------------------**/

:root{
    --result-color: rgb(38, 162, 216);
}

.civil-servant{
    --theme-sub-color: rgba(125, 180, 185, 1); /* 7db4b9 */
    --bg-theme-main: rgba(222, 236, 237, 1); /* deeced */
    --site-plaid: rgba(222, 236, 237, .5);
}

.police-firefighter{
    --theme-sub-color: rgba(136, 181, 133, 1); /* 88b585 */
    --bg-theme-main: rgba(225, 237, 224, 1); /* e1ede0 */
    --site-plaid: rgba(225, 237, 224, .5);
}

.business{
    --theme-sub-color: rgba(51, 173, 241); /* 33adf1 */
    --bg-theme-main: rgb(204, 235, 252); /* ccebfc */
    --site-plaid: rgba(204, 235, 252, .5);
}

.accountant{
    --theme-sub-color: rgba(99, 121, 172); /* 6379ac */
    --bg-theme-main: rgba(216, 221, 234); /* d8ddea */
    --site-plaid: rgba(216, 221, 234, .5);
}

.it{
    --theme-sub-color: rgba(94, 167, 138, 1); /* 5ea78a */
    --bg-theme-main: rgba(215, 233, 226, 1); /* d7e9e2 */
    --site-plaid: rgba(251,241,159, .5);
}

.sports{
    --theme-sub-color: rgba(255, 214, 51); /* ffd633 */
    --bg-theme-main: rgba(251, 242, 159); /* fbf29f */
    --site-plaid: rgba(251, 242, 159);
}

.medical{
    --theme-sub-color: rgba(255, 125, 185); /* ff7db9 */
    --bg-theme-main: rgba(255, 222, 238); /* ffdeee */
    --site-plaid: rgba(255, 222, 238, .5);
}

.nursery{
    --theme-sub-color: rgba(255, 175, 72, 1); /* ffaf48 */
    --bg-theme-main: rgba(255, 235, 209, 1); /* ffebd1 */
    --site-plaid: rgba(251,241,159, .5);
}

.welfare{
    --theme-sub-color: rgba(123, 189, 103, 1); /* 7bbd67 */
    --bg-theme-main: rgba(222, 239, 217, 1); /* deefd9 */
    --site-plaid: rgba(251,241,159, .5);
}

section.theme-stripe{
    background-color: var(--bg-theme-sub);
    background-image: repeating-linear-gradient(90deg, var(--bg-theme-sub), var(--bg-theme-sub) 24px, rgba(255, 255, 255, 1) 24px, rgba(255, 255, 255, 1) 48px );
    background-size: auto auto;
}

section.theme-diagonal-stripe{
    background-color: var(--bg-theme-sub);
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 2px, var(--bg-theme-main) 2px, var(--bg-theme-main) 4px);
    background-size: auto auto;
}

section.theme-dot{
    background-color   : var(--bg-theme-main);
    background-image   : radial-gradient(#ffffff 16%, rgba(255, 255, 255, 0) 16%),
                         radial-gradient(#ffffff 16%, rgba(255, 255, 255, 0) 16%);
    background-position: 0 0, .9rem .9rem;
    background-size    : 1.8rem 1.8rem;
}

section.theme-plaid{
    background-color: var(--bg-theme-main);
    background-image: url(../images/bg_plaid.png);
    background-repeat: repeat;
    background-blend-mode: multiply;
}

/* section.theme-plaid{
    margin-bottom: 5rem;
    background-size: 3.2rem 3.2rem;
    background-position: 50% 50%;
    background-image: repeating-linear-gradient( 90deg, rgba(255, 255, 255, .5), rgba(255 , 255, 255, .5) 1px, transparent 1px, transparent 32px),
                      repeating-linear-gradient( 0deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .5) 1px, var(--bg-theme-main) 1px, var(--bg-theme-main) 32px)
} */

section.results{ margin-bottom: 5rem; padding-top: 5rem; padding-bottom: 5rem;}
section.results:not(:last-of-type){ margin-bottom: 0;}

/*--- color
----------------------------**/

span.theme-color{ color: var(--theme-color);}

/*---------

course introduction 

----------------------------**/

.section-wrap:first-child .theme-plaid{ padding-top: 3rem; padding-bottom: 3rem;}
.section-wrap:first-child .theme-plaid .section-inner{ padding-top: 2.4rem;}
.section-wrap:first-child .theme-plaid h2{ font-size: 2.1rem; padding-bottom: 0;}
.section-wrap:first-child .theme-plaid h2 span{ font-size: 1.6rem;}
.section-wrap:first-child .theme-plaid h2::after{ display: none;}

.section-wrap.future{
    display: grid;
    place-content: center;
    background-color: var(--bg-theme-main);
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin: 0 auto 5rem;
}

.section-wrap.future > section{ max-width: var(--width);}

.year{
    color: #fff;
    background-color: var(--theme-sub-color);
    display: inline-block;
    padding: 0 1em;
}

@media not all and (min-width:768px){

    .section-wrap.future{
        grid-template-columns: 1fr;
        row-gap: 1.6rem;
    }
}

@media (min-width:768px){

    .section-wrap:first-child .theme-plaid h2{ font-size: 3.8rem;}
    .section-wrap:first-child .theme-plaid h2 span{ font-size: 3.0rem;}

    .section-wrap.future{
        grid-template-columns: repeat(auto-fit, 50rem);
        gap: 4rem 0;
    }
}

/*---------

bg setting

----------------------------**/

.theme-stripe,
.theme-diagonal-stripe{ background-size: auto auto;}

/*---------

lower-introduction

----------------------------**/

.lower-introduction{ background-color: var(--bg-theme-sub);}

/*---------

point-number

----------------------------**/

.point-number::before,
.point-list_item p{ color: var(--theme-color);}

/*---------

check-mark

----------------------------**/

ul.check-mark li::after{
    border-left: 1px solid var(--theme-color);
    border-bottom: 1px solid var(--theme-color);;
}

/*--- dl
----------------------------**/

dl dt.check-mark{ color: var(--theme-color);}
dl dt.check-mark::after{
    border-left-color: var(--theme-color);
    border-bottom-color: var(--theme-color);
}

@media not all and (min-width:768px){

    dl dt.check-mark + dd{ font-size: 1.2rem;}
}

/*---------

key-visual

----------------------------**/

.kv-employment_item,
.kv-employment .employment-rate{ color: var(--theme-color);}
.kv-employment_item{ border: 1px solid  var(--theme-color);}

.kv-employment,
.kv-employment_item{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.kv-employment > p{
    font-size: 1.4rem;
    line-height: 1.4;
    flex-basis: 100%;
    margin-top: 1em;
    margin-bottom: 1rem;
}

.kv-employment_item{
    font-size: 1.0rem;
    line-height: 1.5;
    text-align: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    justify-content: center;
    transform: translateY(-.5rem);
}

.kv-employment .employment-rate{ font-size: 5rem;}
.kv-employment .employment-rate span{ font-size: 2rem;}
.kv-body p.notes{ line-height: 1.5;}

.kv-body .border{
    line-height: 1.4;
    display: inline-block;
    padding: 0.2rem 0.5em;
    margin-top: 0.5em;
    border: 1px solid #000
}

.kv-body .year{ line-height: 1.7; margin-bottom: 0.25em;}

@media not all and (min-width:768px){

    .kv-employment p.notes{ font-size: 1rem;}
    .kv-body .border,
    .kv-body .year{ font-size: 1.2rem;}
}

@media (min-width:768px){

    .kv-employment_item{
        font-size: 1.6rem;
        width: 8rem;
        height: 8rem;
        transform: translateY(-10px);
    }
    
    .kv-employment > p{ font-size: 1.8rem;}
    .kv-employment .employment-rate{ font-size: 10rem;}
    .kv-employment .employment-rate span{ font-size: 4rem;}
    .kv-body .border,
    .kv-body .year{ font-size: 1.6rem;}
}

/*---------

course-lineup

----------------------------**/

/*--- course-lineup
----------------------------**/

.course-lineup{
    display: grid;
    grid-template-columns: repeat(auto-fit ,49%);
    grid-auto-rows: auto;
    row-gap: 1.6rem;
    justify-content: space-between;
    background-repeat: no-repeat;
    background-position: right 15px bottom;
}

.course-lineup a{
    display: grid;
    border-radius: 1rem;
    background-color: #fff;
    overflow: hidden;
}

.course-lineup_img img{ object-fit: cover;}
.course-lineup_item { line-height: 1.7;}

.course-lineup_item .course-name{
    position: relative;
    padding-left: 2rem;
	line-height: 1.2;
}

.course-lineup_item .course-name span{ font-size: 1.7rem;}

.course-lineup_item .course-name::before,
.course-lineup_item .course-name::after{
    content: "";
    position: absolute;
    left: 0;
}

.course-lineup_item .course-name::before{
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    top: .7rem;
}

.course-lineup_item .course-name::after{
    width: .6rem;
    height: .6rem;
    top: 1.2rem;
    left: .4rem;
    transform: rotate(45deg);
}

.course-lineup_item .course-name sup{ color: var(--theme-color);}
.course-lineup_item .course-name:before{ border: 1px solid var(--theme-color);}
.course-lineup_item .course-name::after{ border-top: 1px solid var(--theme-color); border-right: 1px solid var(--theme-color);}

.course-lineup::after{
    content: "";
    display: block;
    width: 34vw;
    max-width: 24rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    position: relative;
    left: 20%;
    bottom: 0;
}

@media not all and (min-width:768px){

    .civil-servant .course-lineup::after     { background-image: url(../images/course/bg-civil-servant_sp.png);}
    .police-firefighter .course-lineup::after{ background-image: url(../images/course/bg-police-firefighter_sp.png);}
    .business .course-lineup::after          { background-image: url(../images/course/bg-business_sp.png);}
    .accountant .course-lineup::after        { background-image: url(../images/course/bg-accountant_sp.png);}
    .sports .course-lineup::after            { background-image: url(../images/course/bg-sports_sp.png);}
    .it .course-lineup::after                { background-image: url(../images/course/bg-it_sp.png);}
    .medical .course-lineup::after           { background-image: url(../images/course/bg-medical_sp.png);}
    .nursery .course-lineup::after           { background-image: url(../images/course/bg-nursery_sp.png);}
    .welfare .course-lineup::after           { background-image: url(../images/course/bg-welfare_sp.png);}

    .course-lineup a{
        grid-template-columns: 100%;
        grid-template-rows: 10.4rem auto;
        justify-content: center;
        position: relative;
    }

    .course-lineup_img img{ height: 10.6rem;}

    .course-lineup_item{
        padding: 1.6rem 1rem;
        align-self: center;
    }

    .course-lineup_item .year{
        font-size: 1.1rem;
        position: absolute;
        top: 8.73rem;
        left: 0;
    }

    .course-lineup_item .course-name:before{ top: .2rem;}
    .course-lineup_item .course-name::after{ top: .7rem;}
}

@media (min-width:768px){

    .course-lineup::after{ left: 25%;}
    .civil-servant .course-lineup::after     { background-image: url(../images/course/bg-civil-servant_pc.png);}
    .police-firefighter .course-lineup::after{ background-image: url(../images/course/bg-police-firefighter_pc.png);}
    .accountant .course-lineup::after { background-image: url(../images/course/bg-accountant_pc.png);}
    .business .course-lineup::after   { background-image: url(../images/course/bg-business_pc.png);}
    .it .course-lineup::after         { background-image: url(../images/course/bg-it_pc.png);}
    .medical .course-lineup::after         { background-image: url(../images/course/bg-medical_pc.png);}
    .nursery .course-lineup::after         { background-image: url(../images/course/bg-nursery_pc.png);}
    .welfare .course-lineup::after         { background-image: url(../images/course/bg-welfare_pc.png);}
    .sports .course-lineup::after     { background-image: url(../images/course/bg-sports_pc.png);}

    .course-lineup_item{ padding: 1.25em .5em 1.25em 1em; }
    .course-lineup_item .year{ margin-bottom: .5em; }

    .course-lineup a{
        grid-template-columns: 46% 54%;
        grid-auto-rows: auto;
        align-items: center;
    }

    .course-lineup_item .course-name{ padding-left: 2.6rem;}
	.course-lineup_item .course-name span{ font-size: 2.1rem;}

    .course-lineup_item .course-name::before{
        width: 2.1rem;
        height: 2.1rem;
        top: .3rem;
    }
    
    .course-lineup_item .course-name::after{
        width: .7rem;
        height: .7rem;
        top: 1.0rem;
        left: .6rem;
        transform: rotate(45deg);
    }
}

/*--- course-lineup a hover
----------------------------**/

.course-lineup > a::before,
.course-lineup > a::after {
    content:"";
    width: 0;
    height: 0;
    display: block;
    border-radius: 1rem;
    position: absolute;
    box-sizing: border-box;
    opacity: 0;
    transition: width 0.5s, height 0.5s, opacity 0.5s;
}

.course-lineup > a::before {
    top: 0;
    left: 0;
    border-top: .1rem solid #FFF;
    border-left: .1rem solid #FFF;
}

.course-lineup > a::after {
    right:0;
    bottom:0;
    border-right: .1rem solid #FFF;
    border-bottom: .1rem solid #FFF;
}

.course-lineup > a:hover{ opacity: 1;}

.course-lineup > a:hover::before,
.course-lineup > a:hover::after {
    width:100%;
    height:100%;
    opacity:1;
}

.course-lineup > a::before,
.course-lineup > a::before{ border-top-color: var(--theme-color); border-left-color: var(--theme-color);}
.course-lineup > a::after,
.course-lineup > a::after { border-bottom-color: var(--theme-color); border-right-color: var(--theme-color);}

/*---------

results

----------------------------**/

.results{ color: #fff; background-color: var(--result-color);}
/* section.results > h2::after{ background-image: url(../images/h2-line_white.png);} */

.employment_wrap{
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;    
    gap: 3.2rem 2%;
}

@media (min-width:768px){
    
    .employment_wrap{
        grid-template-columns: repeat(2, 49%);
        gap: 3.2rem 2%;
    }
}

/*--- employment
----------------------------**/

.employment-rate_body{ margin-bottom: 2.4rem;}

.employment-rate_body{
    text-align: center;
    margin-bottom: 1em;
}

.employment-rate_body .employment-rate{
    font-size: 8rem;
    color: var(--site-point-color);
    text-align: center;
}

.employment-rate_body .employment-rate span{ font-size: 5rem;}
.employment-rate_body .notes-list{ text-align: left;}

.employment-place_body{
    background-color: #fff;
    color: initial;
    padding: 1em;
    border-radius: 1.6rem;
}

.employment-place_body h3{
    padding-bottom: .4em;
    border-bottom: .2rem solid var(--result-color);
}

.employment-place_body p:last-child{  text-align: right;}

.employment-banner_body a img:hover,
.employment-banner_body a img:active{ opacity: .75;}

.iryo-sokuhou .employment-banner_body {
        padding-top: 6.4rem;
    }

@media(min-width:768px) {
    .iryo-sokuhou .employment-banner_body {
        width: 49%;
        margin:auto;
        padding-top: 3.2rem;
    }
}

.employment-rate_body .graph_img {
    width: 100%;
    max-width: 436px;
    margin: 0 auto 1rem;
}
   
@media (min-width:768px){

.employment-rate_body .graph_img {
    width: 86%;
}
}

/*--- qualification
----------------------------**/

.qualification-list{
    display: grid;
    grid-template-columns: repeat(auto-fit ,17.6rem);
    grid-auto-rows: 17.6rem;
    gap: 1rem .8vw;
    justify-content: center;
    margin-bottom: 3rem;
}

.qualification-list_body{
    border: 1px solid #FFF;
    border-radius: 50%;
    overflow: hidden;
    text-align: center;
}

.qualification-list_item{
    display: grid;
    grid-template-columns: 100%;
    grid-auto-rows:1fr 32%;
    height: 100%;
}

.qualification-list_head{
    /* height: 100%; */
    align-self: center;
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: auto;
    margin-top: auto;
    padding-top: 1.5em;
}

.qualification-list_head span{
    font-size: .9rem;
    display: block;
    margin-top: 1em;
}

.qualification-list_number{
    font-size: 3rem;
    color: var(--result-color);
    padding-top: 8%;
    flex-basis: 30%;
    background-color: #FFF;
}

.qualification-list_number span{ font-size: 1.6rem;}
.qualification-list ~ .notes:last-of-type { text-align: center;}
.qualification-list ~ p.notes:last-child:not(.text-right){
	margin-top: 1em;
}

@media (min-width:768px){

    .qualification-list{
        grid-template-columns: repeat(auto-fit , 24rem);
        grid-auto-rows: 24rem;
        gap: 2.4rem;
    }

    .qualification-list_head{font-size: 1.8rem;}
    .qualification-list_head span{font-size: 1.2rem;}
    .qualification-list_number{ font-size: 4rem;}
    .qualification-list_number span{font-size: 2rem;}
}

@media (max-width: 768px) {
    .accountant .qualification-list_head{
        font-size: 1.4rem;
        line-height: 1.4;
        margin-bottom: auto;
        margin-top: auto;
        padding-top: 2.5rem;
    }
}

/*---------

distinctive

----------------------------**/

.distinctive-list h4{
    flex-basis: 100%;
    width: 100%;
    padding: .8em;
    background-color: var(--site-point-color);
}

.distinctive-list > p{ margin-bottom: 1em; }
.distinctive-list_item{ margin-bottom: 4%;}

/*--- item > dl
----------------------------**/

.distinctive-list_item > dl{
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr 45%;
}

.distinctive-list_item dl > div{
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    margin-right: 8%;
}

.distinctive-list_item div > img{
    max-width: 32rem;
    padding: .4rem;
    margin-bottom: 1em;
    box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, .1);
}

.distinctive-list_item dl dt{
    line-height: 1.5;
    color: var(--theme-color);
    position: relative;
    padding-left: 24px;
    margin-bottom: 0.8em;
}

.distinctive-list_item dl dt:before,
.distinctive-list_item dl dt:after{
    content: "";
    position: absolute;
}

.distinctive-list_item dl dt:before{
    width: 1.4rem;
    height: 1.4rem;
    border: .1rem solid #000;
    top: .5rem;
    left: 0;
}

.distinctive-list_item dl dt:after{
    width: 1.4rem;
    height: .8rem;
    top: .4rem;
    left: .3rem;
    border-left: 1px solid  var(--theme-color);
    border-bottom: 1px solid  var(--theme-color);
    transform: rotate(-45deg);
}

@media not all and (min-width:768px){

    .distinctive-list_item:nth-child(2n-1) dl:not([class]){
        grid-template-columns: 45% 1fr;
    }
    
    .distinctive-list_item:nth-child(2n) dl:not([class]) > div{
        grid-column: 2 / 2;
        margin-right: 0;
        margin-left: 8%;
    }

    .distinctive-list_item > dl.column{ grid-template-columns: 1fr;}
    .distinctive-list_item dl.column > div{ margin: 0 auto;}

    .distinctive-list_item dl dd,
    .distinctive-list_item > div.column p{ font-size: 1.2rem; }
}

@media (min-width:768px){

    .distinctive-list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .distinctive-list_item{ flex:0 0 49%;}
    .distinctive-list_item dl{ grid-template-columns: 1fr 60%;}
    .distinctive-list_item dl dt{ font-size: 1.8rem;}
    .distinctive-list_item dl dt:before{ top:.7rem}
    .distinctive-list_item dl dt::after{ top:.5rem}
}

/*--- item > div
----------------------------**/

.distinctive-list_item > div.column{
    display: grid;
    justify-items: center;
}

/*---------

graduate-message

----------------------------**/

.graduate-message{
    max-width: var(--width-min);
    display: grid;
    margin-left: auto;
    margin-right: auto;
}

.graduate-message:nth-of-type(1) .toggle-item{ display: block;}

.graduate-message_img img{
    overflow: hidden;
    position: relative;
    z-index: 1;
    border: .4rem solid #FFF;
    border-radius: 1rem;
}

.graduate-message_img figure{ position: relative;}

.graduate-message_img figure::after{
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: rgb(94,201,255);
    background: linear-gradient(90deg, rgba(94,201,255,.5) 0%, rgba(248,140,204,.5) 100%);
    position: absolute;
    top: 8px;
    left: 8px;
    display: block;
}

.graduate-message_text > p{
    font-size: 1.8rem;
    line-height: 1.6;
    color: var(--theme-color);
}

.graduate-message_text .name{
    width: 100%;
    margin-left:auto;
    align-items: flex-start;
    margin-bottom: 1em;
}

.graduate-message_text .toggle-item{
    padding: 0;
    margin-bottom: 1rem;
    display: none;
}

.graduate-message_text .toggle-button{
    display: block;
    line-height: 2.5em;
    min-width: 20rem;
    max-width: 32rem;
    border-radius: 2rem;
    margin-left: auto;
    margin-right: auto;
    border:1px solid #ccc;
    background-color: #FFF;
    transition: bottom 0.8s ease;
    position: relative;
    left: auto;
    right: auto;
}

@media not all and (min-width:768px){

    .graduate-message_img{
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2.4rem;
    }

    .graduate-message{ margin-bottom: 3.2rem; }
    .graduate-message_text .toggle-button{ font-size: 1.3rem;}
}

@media (min-width:768px){

    .graduate-message{
        grid-template-columns: 28rem 1fr;
        grid-auto-rows: 1fr;
        column-gap: 2.4rem;
        margin-bottom: 3.2rem;
    }

    .graduate-message_text{ grid-auto-rows: auto auto 1fr auto;}
    .graduate-message_text > p{ font-size: 2.0rem;}
    .graduate-message_text .name{ width: 72%;}
}

/*---------

employee

----------------------------**/

.employee-information{ text-align: center;}

.employee-information .button-area {
    max-width: 48rem;
    grid-template-columns: repeat(auto-fit , 23rem);
    gap: 1.6rem;
}

.employee-information .button-area div a{
    width: 100%;
    height: 100%;
    min-height: 7.5rem;
    max-width: 23rem;
    margin: 0 auto;
    display: grid;
    place-content: center;
    border-radius: .8rem;
}

.employee-information .theme-color a{
    color: #fff;
	border: none;
    background-color: var(--theme-color);
}

.employee-information .button-area a small {
    display: block;
    font-size: 1.2rem;
    padding-top: 0.5em;
}

/*--- employee hover
----------------------------**/

.employee-information .button-area div a:hover{
    background-color: var(--theme-color);
    color: #FFF;
    border: 1px solid var(--theme-color);
}

.employee-information .button-area .theme-color a:hover{
    background-color: #FFF;
    color: var(--theme-color);
    border: 1px solid var(--theme-color);
}

/*---------

curriculum & timetable

----------------------------**/

/*--- curriculum
----------------------------**/

.curriculum-img + .notes-list,
.timetable + .notes-list{ margin-top: 1rem;}

.curriculum-img,
.timetable{ padding-bottom: 1rem;}

.curriculum-img{ width: 100%;}

.curriculum-img + .notes-list .square{
    line-height: 1.0;
    display: inline-block;
    width: 2em;
    margin-right: 0.25em;
    background-color: #fff9c2;
    border: 1px solid #898989;
}

@media not all and (min-width:768px){

    .curriculum-img{ overflow-x: scroll;}
    .curriculum-img img{ width: 103.6rem;}
}

/*--- timetable
----------------------------**/

.timetable table tr:nth-of-type(2n-1) td:not([rowspan]){ background-color: var(--site-point-color);}
.timetable table th{ font-weight: normal;}
.timetable table th small{ font-size: 1.2rem;}

.timetable table th,
.timetable table td{
    padding: .5em 1em;
    text-align: center;
    vertical-align: middle;
}

.timetable table td p:last-child{ margin-bottom: 0;}

.timetable table thead th:not(:last-child),
.timetable table tbody th:not(:last-child),
.timetable table tbody td:not(:last-child){ border-right: 1px solid #000;}

.timetable table tbody tr:not(:last-child) th,
.timetable table tbody tr:not(:last-child) td{ border-bottom: 1px dotted #7c7c7c;}

.timetable table tbody{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}


@media not all and (min-width:768px){

    .timetable{ overflow-x: scroll;}

    .timetable table{
        width: 110rem;
        margin: .5em auto .8em;
    }
}


/*---------

message

----------------------------**/

.message{
    max-width: 56rem;
    padding: 1em;
    margin: 0 auto;
    border-radius: 1rem;
    background-color: #fff;
    box-shadow: .8rem .8rem 0 -.2rem var(--bg-theme-main);
}

.message h3{ text-align: left;}
article .message_text p{ margin-bottom: 0;}

.message:after {
    display: block;
    clear: both;
    content: "";
}

.message_img{
    max-width: 20rem;
    width: 54%;
    float: right;
    transform: translateX(1em);
}

@media (min-width:768px){
    
    .message{ padding-left: 2.8rem;}
    .message_img{ margin-left: 2.4rem;}
}

/*---------

course-curriculum

----------------------------**/

.course-curriculum h3{
    background-color: var(--site-point-color);
    border-bottom: 1px solid #000;
}

.course-curriculum h3:not(:nth-of-type(1)){ margin-top: 3rem;}
.course-curriculum{ padding-top: 5rem;}
.course-curriculum .check-mark{ display: flex; flex-wrap: wrap;}
.course-curriculum .check-mark li{ flex: 1 0 48%; margin-right: 0;}
.course-curriculum .check-mark li.type-full{ flex-basis: 100%;}

/*---------

occupation-list & objective-list

----------------------------**/

.occupation-list,
.objective-list{ display: flex;}

.occupation-list::before,
.objective-list::before{
    content: "";
    display: block;
    min-width: 32px;
    min-height: 32px;
    background-size: contain;
    margin-left: 1rem;
}

.occupation-list ul,
.objective-list ul{
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 1px solid #000;
    padding-left: 1.6rem;
    margin-left: 1.6rem;
}

.occupation-list ul li,
.objective-list ul li{ line-height: 1.6;}

.occupation-list li:not(:first-child),
.objective-list li:not(:first-child){ margin-top: .5em;}

.occupation-list::before{ background-image: url(../images/icon/icon-occupation.png);}
.objective-list::before{ background-image: url(../images/icon/icon-objective.png);}

.occupation-list span,
.objective-list span{ display: inline-block;}

@media (min-width:768px){

    .occupation-list::before,
    .objective-list::before{ min-width: 6.4rem; min-height: 6.4rem;}

    .occupation-list ul,
    .objective-list ul{ padding-left: 2.4rem; margin-left: 2.4rem;}
}

/*---------

occupation-list & objective-list

----------------------------**/

.site-theme-bg-main.university .section-inner:not(:last-child) figure{ margin-bottom: 3rem;}

@media (min-width:768px){
    .site-theme-bg-main.university .section-inner:not(:last-child) figure{ margin-bottom: 5rem;}
}


/*--- winning-results
----------------------------**/

dl.winning-results{
    display: grid;
    grid-template-columns: 4em 1fr;
    grid-auto-rows: auto;
}

dl.winning-results dt{ font-weight: normal;}

@media not all and (min-width:768px){

    dl.winning-results{ font-size: 1.2rem;}
}

/*---------

experience

----------------------------**/

/*--- practical-experience
----------------------------**/

.practical-experience .heading-area{ padding: 0;}
.practical-experience .heading-area h4{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    font-size: 2rem;
    padding-top: 1em;
}

.practical-experience .flow-body:not(.flow-accent-color) .heading-area h4::before{
    content: "";
    display: block;
    width: 3.2rem;
    height: 3.2rem;
    background-repeat: no-repeat;
    background-size: contain;
}

.practical-experience .flow-body:nth-of-type(1) .heading-area h4::before{ background-image:url(../images/icon/medical/time01.png);}
.practical-experience .flow-body:nth-of-type(2) .heading-area h4::before{ background-image:url(../images/icon/medical/time02.png);}
.practical-experience .flow-body:nth-of-type(3) .heading-area h4::before{ background-image:url(../images/icon/medical/time03.png);}
.practical-experience .flow-body:nth-of-type(4) .heading-area h4::before{ background-image:url(../images/icon/medical/time04.png);}
.practical-experience .flow-body:nth-of-type(5) .heading-area h4::before{ background-image:url(../images/icon/medical/time05.png);}

.practical-experience .flow-item::before{ display: none;}
.practical-experience .flow-item figure{ margin-top: 0;}


.flow-body.flow-accent-color h4{ margin-bottom: 0;}
.flow-body.flow-accent-color p ,.flow-body.flow-accent-color .flow-item p{ text-align: center;}

@media (min-width:768px){

    .flow-item ul.figure-list{
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1.6rem;
    }

    .flow-item ul.figure-list figure{ margin-bottom: 0;}
}

/*---------

story

----------------------------**/

/*--- growth-story-introduction
----------------------------**/

.site-point-color{
    font-weight: 600;
    padding: .5em;
    background-color: var(--site-point-color);
    border-bottom: 1px solid #000;
}

.growth-story{
    padding: 5rem 0;
    margin-bottom: 5rem;
    background: rgb(251,242,222);
    background: linear-gradient(0deg, rgba(251,242,222,1) 0%, rgba(222,247,236,1) 50%, rgba(210,240,255,1) 100%);
}

.growth-story-introduction{
    display: grid;
    grid-template-columns: 50% 50%;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
}

.growth-story-introduction > img{
    max-width: 34rem;
    transform: translateY(2rem);
}

.growth-story-detail{
    display: flex;
    flex-direction: column;
    font-size: 1.1rem;
    padding: 2.5em 1em .5em;
    /*margin-top: 6.2rem;*/
    background-color: var(--theme-color);
    color: #FFF;
    transform: translateY(2rem);
}

.growth-story-detail > p{ color: #FFF;line-height:1.5;}
.growth-story-detail > p span{
    line-height: 1.2;
    display: inline-block;
    padding: 0 .5em;
    margin-left: 0.25em;
    border-radius: 1em;
    border:.1rem solid #FFF;
}

.growth-story-detail > div{ margin-top: 1.5rem;}
.growth-story-detail > div span{ color: #FFF;}
.growth-story-detail > div img{ vertical-align: baseline;}

@media (min-width:768px){

    .growth-story-introduction{
        max-width: var(--width-min);
        grid-template-columns: 32rem auto;
        gap: 3.2rem;
    }

    .growth-story-detail{
        width: 37rem;
        max-height: 30rem;
        min-height: 16rem;
    }
    
    .growth-story-introduction > img{max-width: 28rem;}
    .growth-story-detail p {font-size: 2.2rem;line-height:2.0;}
    .growth-story-detail > div{ margin-top: auto;font-size: 1.4rem;}
    .growth-story-detail > div img {width: 240px;display: block;margin-bottom: 1rem;}
}

/*--- growth-story
----------------------------**/

.growth-story figure{ text-align: center;}
.growth-story figure img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 34rem;
    margin: 0 auto 1rem;
    border: .4rem solid #FFF;
    box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
    object-fit: scale-down;
}

@media (min-width:768px){

    .growth-story figure img{
        max-width: 60rem;
        max-height: 42rem;
        width: auto;
        
    }
}

/*--- annual-schedule
----------------------------**/

.annual-schedule-list{ position: relative;}
.annual-schedule-list::before{
    content: "";
    display: block;
    width: .1rem;
    height: 100%;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
}

.annual-schedule-list:nth-of-type(1)::before{ background-color: #fec52e;}
.annual-schedule-list:nth-of-type(2)::before{ background-color: #ff8ca9;}

.annual-schedule-list h3{ padding: .25em; color: #FFF;}
.annual-schedule-list:nth-of-type(1) h3{ background-color: #fec52e;}
.annual-schedule-list:nth-of-type(2) h3{ background-color: #ff8ca9;}

.annual-schedule-body{
    border-radius: .4rem;
    border: .1rem solid #000;
    background-color: #FFF;
}

.annual-schedule-body:not(:first-child){ margin-top: 1em;}

.annual-schedule-body dl{
    display: grid;
    grid-template-columns: 3em 1fr;
    grid-auto-rows: auto;
    position: relative;
    z-index: 0;
}

.annual-schedule-body dl.attention dt,
.annual-schedule-body dl.attention dd{
    background-color: var(--bg-site-main-cream);
}

.annual-schedule-body dl.attention .ribbon{
    font-size: 1.8rem;
    color: #FFF;
    padding: 0 .5em;
    position: relative;
    z-index: 1;
    display: inline-block;
}

.annual-schedule-body dl.attention .ribbon::before{
    content: "";
    display: block;
    width: 4.8em;
    height: 1.25em;
    background-color: #ff5ca8;
    clip-path: polygon(50% 0%, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%, 0 0);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translateY(0.2rem);    
}

.annual-schedule-list:nth-of-type(1) .annual-schedule-body{ border-color: #fec52e; background-color: #fec52e;}
.annual-schedule-list:nth-of-type(2) .annual-schedule-body{ border-color: #ff8ca9; background-color: #ff8ca9;}
.annual-schedule-list:nth-of-type(2) .annual-schedule-body.graduate{ border-color: #9acd31; background-color: #9acd31; border-radius: 0;}
.annual-schedule-list:nth-of-type(2) .annual-schedule-body.graduate dt,
.annual-schedule-list:nth-of-type(2) .annual-schedule-body.graduate dd{ border-radius: 0;}

.annual-schedule-body dl div{
    color: #FFF;
    font-size: 1.4rem;
    background-color: inherit;
    grid-row: span 2;
    justify-content: center;
    align-self: center;
    justify-self: center;
}

.annual-schedule-body dl div span{ font-size: 2rem;}

.annual-schedule-body dl dt,
.annual-schedule-body dl dd{
    line-height: 1.6;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    background-color: #FFF;
}

.annual-schedule-body dl dt{
    font-size: 2rem;
    padding-top: .8rem;
    border-radius: 0 .3rem 0 0;
}
.annual-schedule-body dl dt:last-child{
    padding-bottom: .8rem;
    border-radius: 0 .3rem .3rem 0;
}

.annual-schedule-body dl dd{
    border-radius: 0 0 .3rem 0;
    padding-bottom: .8rem;
}

.annual-schedule-list:nth-of-type(2) figure{
    background-color: #FFF;
    padding-top: 2.4rem;
}

@media not all and (min-width:768px){

    .annual-schedule-list:not(:first-child){
        margin-top: 1.6rem;
    }
}

@media (min-width:768px){

    .annual-schedule .section-inner{
        display: flex;
        align-items: flex-start;
        gap: 1.6rem;
    }

    

    .annual-schedule-list:nth-of-type(2) figure img{
        width: 100%;
        max-width: 50rem;
        max-height: 50rem;
        object-fit: contain;
    }
}

/*---------

interview

----------------------------**/

.interview_wrap{
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.6rem;
    align-self: flex-start;
}

.interview{
    padding: 1.6rem;
    border-radius: 1rem;
    background-color: #FFF;
}

.interview:has(.interview-inner) {
    background: none;
    padding: 0;
}
.interview > .interview-inner {
    background-color: #fff;
    padding: 1.6rem;
    border-radius: 1rem;
}
.interview h3.theme-color,
.interview h4.theme-color{ text-align: left;}

.interview .toggle-button{
    display: block;
    line-height: 2.5em;
    min-width: 20rem;
    max-width: 32rem;
    border-radius: 2rem;
    margin-left: auto;
    margin-right: auto;
    border:1px solid #ccc;
    background-color: #FFF;
    transition: bottom 0.8s ease;
    position: relative;
    left: auto;
    right: auto;
}

.interview .toggle-item{ padding-bottom: 1em;}


/*--- interviewee
----------------------------**/

.interviewee{
    max-width: max-content;
    display: grid;
    grid-template-columns: 32vw 1fr;
    gap: 1.6rem;
}

.interviewee figure img{
    width: 100%;
    height: auto;
    max-width: max-content;
    max-height: 48rem;
    margin: 0 auto 1rem;
    background-color: #FFF;
    padding: 4px;
    box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
    object-fit: contain;
}

.interviewee p{ line-height: 1.6;}
.interviewee p span{ font-size: 1.1rem;}
.interviewee p img{
    width: 15rem;
    object-fit: contain;
    display: block;
}

.interview .toggle-button{ margin-top: 1.6rem;}

@media not all and (min-width:768px){

    .interview .toggle-button{ font-size: 1.3rem;}
}

@media (min-width:768px){

    .interview_wrap{ grid-template-columns: 1fr 1fr;}
    .interviewee{ grid-template-columns: 18rem 1fr; gap: 2.4rem;}

}

/*---------

course-banner

----------------------------**/

/* .course-banner{
    width: 100%;
    max-width: var(--width);
    margin: 5rem auto;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

@media not all and (min-width:768px){

    .course-banner{ padding-left: 1rem; padding-right: 1rem;}
}

@media (min-width:768px){

    .course-banner{
        flex-direction: row;
    }
} */

/*---------

experiences

----------------------------**/

/*--- flow-item practical-list
----------------------------**/

.flow-item figure{
    width: 100%;
    margin: 2.4rem auto;
}

.flow-item figure figcaption{
    text-align: center;
    margin-top: 1em;
}

.practical-list{
    width: 100%;
    max-width: 68rem;
    padding: 1.6vh;
    margin: 5rem auto 0;
    border-radius: 1rem;
    background-color: #FFF;
}

.practical-list dl dt{
    font-size: 2rem;
    text-align: center;
    padding: .5em 0;
    border-bottom: .1rem solid #26a2d8;
}

.practical-list dl dd:nth-of-type(1){ line-height: 1.4; margin: 1em 0 .5em ;}
.practical-list dl dd:nth-of-type(2){ font-size: 1.4rem; line-height: 1.6;}
.practical-list dl dd div{ text-align: right; margin-top: 0.25em;}

@media not all and (min-width:768px){}
@media (min-width:768px){

    .flow-item > figure{
        width: 80%;
    }
}


/* 学科ページ accountant 会計士・税理士系 */
.accountant .accountant-course-list{
	display: block;
}

.accountant .accountant-course-list:last-of-type{
	margin-bottom: 8%;
}

.accountant .accountant-course-list dl > div.img{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto 10px;
	max-width: 700px;
}
.accountant .accountant-course-list div.img > img{
	width: 49%;
}
.accountant .accountant-course-list dl{
	display: block;
}
.accountant .accountant-course-list dl > div.text{
	margin: 0 auto;
}
.accountant .accountant-course-list .text > p{
	display: block;
/*	color: var(--theme-color);*/
	font-size: 1.4rem;
	line-height: 2rem;
	margin-bottom: 0.6em;
}

@media (min-width:768px){
	
	.accountant .accountant-course-list:last-of-type{
		margin-bottom: 4%;
	}
	.accountant .accountant-course-list .text > p{
		font-size: 1.8rem;
		line-height: 2.2rem;
	}


}
@media not all and (min-width: 768px){
	.accountant .accountant-course-list dl > div.text, 
	.accountant .accountant-course-list dl > div.img{
		margin: 0 auto;
	}
	
}


/* コースページ */

.accountant section.faq{
	grid-column: 1 / 3;
	padding-top: 0;
}
.accountant section.faq .faq_box{
	display: block;
	background: #fff;
	padding: 1em;
	border-radius: 1rem;
	background-color: #fff;
}
.accountant section.faq .faq_box dt{
	font-size: 1.8rem;
	color: var(--theme-color);
	margin-bottom: 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--theme-color);
}
.accountant section.faq .faq_box dt.question,
.accountant section.faq .faq_box dd.answer{
	padding-left: 3.8rem;
	text-indent: -3.8rem;
}
.accountant section.faq .faq_box dt.question::before, 
.accountant section.faq .faq_box dd.answer::before{
	content: 'Q';
	display: inline-block;
	color: #fff;
	background: var(--theme-color);
	font-weight: 600;
	width: 3rem;
	height: 3rem;
	text-align: center;
	margin-right: 0.8rem;
	font-size: 1.6rem;
	text-indent: 0;
}
.accountant section.faq .faq_box dd.answer::before{
	content: 'A';
	background: var(--bg-theme-sub);
	color: var(--theme-color);
}

.accountant .distinctive-list_item > div.column p{
	font-size: 1.6rem;
    line-height: 2.0;
}

@media not all and (min-width: 768px){
.accountant section.faq{
	grid-column: unset;
}
}

.accountant .flex_cnt{
	max-width: var(--width-min);
	margin: 0 auto;
}

.accountant .flex_cnt .img{
	max-width: 280px;
    padding: 0.4rem;
    margin-bottom: 1em;
    box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
	display: block;
	margin: 0 auto 1em;
}
.accountant .flex_cnt .text_box{
	flex-basis: 64.8%;
}

@media (min-width: 768px){
	.accountant .flex_cnt{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.accountant .flex_cnt .img{
		flex-basis: 32%;
		margin: 0;
	}
}


.successful .graduate-message_text > p{
	font-size: 1.6rem;
	line-height: 2.0;
	color: #000;
}

.successful .graduate-message_text > p.theme-color,
.successful .graduate-message_text .toggle-item p.theme-color{
	font-size: 1.8rem;
	line-height: 1.6;
	color: var(--theme-color);
}

.successful .graduate-message_text .toggle-item p.theme-color{
	margin: 1.6rem 0 0.8rem;
}

.successful .graduate-message_img figure::after{
	background: var(--bg-theme-main);
}

.successful .toggle-switch-area{
	padding: 0.8em 0 0.5em;
}
.graduate-message.successful:nth-of-type(1) .toggle-item{
	display: none;
}

.graduate-message.successful .toggle-item .inner_img{
	overflow: hidden;
    position: relative;
    z-index: 1;
	width: 80%;
	max-width: 320px;
	margin: 10px auto 30px;
}

@media (min-width: 768px){
.successful .graduate-message_text > p.theme-color,
.successful .graduate-message_text .toggle-item p.theme-color{
	font-size: 2.0rem;
}
}

/* 状況に応じて選べる学習期間 */

.period .timetable table tr:nth-of-type(2n-1) td:not([rowspan]){
	background-color: #ededed;
}

@media not all and (min-width: 768px){
.period .timetable table{
	width: 100%;
}
.period	.timetable table th, .timetable table td{
	padding: 0.5em 0.5em;
    font-size: 1.4rem;
    line-height: 1.8;
}
}

/* 在校生の１日 */

.day-student{
	background-image:  repeating-linear-gradient(90deg, var(--bg-site-main-blue), var(--bg-site-main-blue) 18px, rgba(255, 255, 255, 1) 18px, rgba(255, 255, 255, 1) 26px );
}

.day-student .graduate-message_img img{
	border-radius: 0;
	transform: rotate(-4deg);
	box-shadow: 10px 10px 4px 1px rgb(0 0 0 / 10%);
}

.day-student .graduate-message_img figure::after{
/*	background: rgb(94,201,255,0.4);*/
	background: rgb(93 102 175 / 40%);
	border-radius: 0;
	transform: rotate(-4deg);
	display: none;
}

.btn-day a{
	display: block;
    line-height: 2.5em;
    min-width: 20rem;
    max-width: 20rem;
    border-radius: 2rem;
    border: 1px solid #ccc;
    background-color: #FFF;
	font-size: 1.4rem;
	text-align: center;
	margin: 0 auto;
}

.graduate-message_text > p.text-day{
	color: #2547a2;
/*	color: #000;*/
}

/* 在校生の1日ページ */

.day{
    padding: 5rem 0;
    margin-bottom: 5rem;
    background: rgb(251,242,222);
    background: linear-gradient(0deg, rgba(251,242,222,1) 0%, rgba(222,247,236,1) 50%, rgba(210,240,255,1) 100%);
}

.day h3{
	color: #5d66af;
	font-size: 1.6rem;
}

.day-introduction{
    display: grid;
    grid-template-columns: 45% 55%;
    justify-content: center;
    align-items: flex-end;
    margin-left: auto;
    margin-right: auto;
	margin-bottom: 1.5rem;
}

.day-introduction > img{
    max-width: 34rem;
    transform: translateY(2rem);
}

.day-detail{
    display: flex;
    flex-direction: column;
    font-size: 1.1rem;
    padding: 1em 1em .5em;
    /*margin-top: 6.2rem;*/
    background-color: #5d66af;
    color: #FFF;
    transform: translateY(2rem);
	text-align: justify;
	margin-bottom: 2.5rem;
}

.day-detail > p{
	color: #FFF;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	font-size: 1.4rem;
	letter-spacing: -0.02em;
	line-height: 1.8em;
}
.day-detail > p span{
    line-height: 1.2;
    display: inline-block;
    padding: 0 .5em;
    margin-left: 0.25em;
    border-radius: 1em;
    border:.1rem solid #FFF;
}

.day-detail > div{ margin: 1rem 0 0 auto;}
.day-detail > div span{ color: #FFF;}
.day-detail > div img{ width: 108px; vertical-align: baseline;}

@media (min-width:768px){

    .day h3{
        font-size: 1.8rem;
	}
    
    .day-introduction{
        max-width: var(--width-min);
        grid-template-columns: 32rem auto;
        gap: 3.2rem;
		align-items:center;
    }

    .day-detail{
        width: 37rem;
        max-height: 30rem;
        min-height: 20rem;
		padding: 2.5em 1.5em 2em;
		margin-bottom: 0;
    }
    
    .day-introduction > img{max-width: 28rem;}
    .day-detail p {font-size: 1.6rem;letter-spacing: normal;line-height: 2em;}
    .day-detail > div{ margin: auto 0 0 auto; ;font-size: 1.4rem;}
    .day-detail > div img {width: 128px; display: block;margin-bottom: 1rem;}
}

/*---------

flow-list

----------------------------**/

.day .flow-list{
    max-width: 94rem;
    position: relative;
    z-index: 10;
}

.flow-list::after{
    content: " ";
    width: 0.2rem;
    height: 100%;
    display: block;
    background-color: #00c6ff;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: -1;
}

.flow-list:not(.application-flow) .flow-list_title{
    font-weight: bold;
    padding-bottom: .5em;
    margin-left: 0;
    margin-bottom: 1em;
    border-bottom: 2px solid #000;
}

.flow-list .special .flow-list_title{
    border: none;
}

.flow-list .special .flow-list_title::after{
    content: "";
    display: block;
    width: 100%;
    height: .2rem;
    background: linear-gradient(111deg, rgba(207,175,108,1) 0%, rgba(141,80,26,1) 14%, rgba(153,98,50,1) 23%, rgba(174,128,68,1) 39%, rgba(84,36,8,1) 52%, rgba(253,254,239,1) 64%, rgba(156,96,22,1) 74%, rgba(198,158,72,1) 85%, rgba(253,254,239,1) 91%, rgba(132,103,60,1) 100%);;
}

.flow-list_body{
    padding: 4%;
    margin-bottom: 1rem;
    background-color: #FFF;
    border-radius: .8rem;
    text-align: left;
}

.flow-list_body.special{
    background-color: #fffeb2;
    background: url(../images/bg_event-sp.png) repeat center top;
}

.flow-list_title span{
    color: #FFF;
    font-size: 2.0rem;
    font-weight: 400;
    padding: 0 .25em;
    margin-right: 0.5em;
    font-family:HelveticaNeue, nimbus-sans, sans-serif;
    background: linear-gradient(to right,  #65c4f3 0%, #df89bc 100%);
}

.flow-list .flow-list_item{ border: none;}

.flow-list figure{
    margin: 0 auto 1rem;
    padding: 4px;
    box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
    background-color: #FFF;
}

.flow-list_body:last-of-type {
	padding: 4% 4% 0 4%;
}
.flow-list_body:last-of-type .heading-area{
	margin-bottom: 2em;
}

.flow-list_body:last-of-type figure{
	padding: 0;
	box-shadow: none;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	background: none;
}

.flow-list_body:last-of-type .last_img{
	display: block;
	position: relative;
}
.flow-list_body:last-of-type .last_img .icon{
	display: block;
	max-width: 60px;
	width: 8%;
	position: absolute;
}

.flow-list_body:last-of-type .last_img .icon01{
	bottom: 16%;
	right: 4%;
	width: 13%;
}
.flow-list_body:last-of-type .last_img .icon02{
	top: 26%;
	left: 3%;
	width: 8%;
	transform: rotate(-10deg);
}
.flow-list_body:last-of-type .last_img .icon03{
	top: -10%;
	left: 20%;
	width: 10%;
}
.flow-list_body:last-of-type .last_img .icon04{
	top: 12%;
	right: 15%;
	width: 12%;
}

.day p.notes{
	max-width: 94rem;
	margin: 0 auto;
}

@media not all and (min-width:768px){

    .flow-list_title ~ p{ text-align: left;}
    .flow-list_body figure{ width: 80%;}
}

@media (min-width:768px){

    .flow-list_body{
        display: grid;
        grid-template-columns: repeat(2 ,48%);
        grid-auto-rows: 1fr;
        gap: 2% 4%;
    }
    
    .flow-list_title{ font-size: 2.5rem;}
    .flow-list_body{ margin-bottom: 2rem;}
    .heading-area{ align-self: center;}
	
	.flow-list_body:last-of-type .last_img .icon03{
	top: -8%;
	left: 21%;
	width: 11%;
}
}

/*---------

.course-day-schedule

----------------------------**/

.course-day-schedule .flow-list::after{
		left: 50%;
		background-color: #f7dd00;
	}
.course-day-schedule .flow-body{
		border: 1px solid #9f9f9f;
		border-radius: 0;
		background-color: #fff;
		text-align: center;
		margin-bottom: 2rem;
		
	}
.course-day-schedule .flow-body.white{
	padding: 0.6rem;
}
.course-day-schedule .flow-body:first-child{
	background-color: #fff9c3;
/*					background: var(--site-point-color);*/
}
.course-day-schedule .flow-body p{
	padding: 1.6vh; 
}
.course-day-schedule .flow-subtext{
	margin-bottom: 1.6rem;
	text-align: center;
	padding-left: 6rem;
}
.course-day-schedule .flow-body dl{
	display: flex;
	justify-content: flex-start;
    align-items: center;
    width: calc(100% - 100px);
}
.course-day-schedule .flow-body dl dt{
	background: var(--site-point-color);
	padding: 0.6rem;
	width: 100px;
	border-right: 1px dotted #9f9f9f;
}
.course-day-schedule .flow-body dl dd{
	text-align: center;
	padding: 0.6rem;
	display: block;
	width: calc(100% - 100px);
}


@media (min-width:768px){
.course-day-schedule .flow-body dl{
    width: calc(100% - 140px);
}
.course-day-schedule .flow-body dl dt{
	width: 140px;
}
.course-day-schedule .flow-body dl dd{
	width: calc(100% - 140px);
}

}
/* graduate-message_daigaku */
.daigaku p, .flow-body.flow-accent-color p {
    text-align: left;
}
.daigaku ul.career {
    background: #c3eaff;
    padding: 0.8em 1.6em;
    border-radius: 0.8rem;
    margin-top: 1em;
    font-size: 1.4rem;
    line-height: 1.6;
    /* border: 1px solid rgba(94,201,255,.5); */
}
/* --graduate-message_daigaku */

/*---------

course-banner

----------------------------**/

.course-banner{
    max-width: var(--width);
    margin-left: auto;
    margin-right: auto;
    padding-top: 0rem;
    padding-bottom: 7rem;
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    row-gap: 1rem;
}

@media not all and (min-width:768px){
    
    .course-banner{
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (min-width:768px){

    .course-banner{ row-gap: 2.5rem; padding-bottom: 10rem;}
}

.course-banner a img:hover,
.course-banner a img:active{ opacity: .75;}

/* --course-banner */

/*---------

在校生の1日／キャンパスライフ

----------------------------**/

/* 学科ページ */

.school-life-cnt{
	margin-bottom: 4.5rem;
}

.school-life-cnt section {
	margin: 0;
	padding: 5rem 0;
	background-color: #e2f7ff;
}

.school-life-cnt #day{
	background-image:  repeating-linear-gradient(90deg, #e2f7ff, #e2f7ff 10px, rgba(255, 255, 255, 1) 10px, rgba(255, 255, 255, 1) 20px );
}

.school-life-cnt h2{
	padding-bottom: 0;
}

.school-life-cnt h2::after{
	display: none;
}

.school-life-cnt .cnt_g{
	
	max-width: var(--width-min);
	margin: 0 auto;
}

.school-life-cnt .cnt_img{
	width: 80%;
	margin: 0 auto 2.4rem;
}

.school-life-cnt .cnt_img img{
	border: 0.4rem solid #fff;
	border-radius: 0;
	box-shadow: 10px 10px 4px 1px rgb(0 0 0 / 10%);
}

.school-life-cnt .cnt_text{
	display: block;
	max-width: 56rem;
	width: 100%;
	margin: 0 auto;
}


.school-life-cnt .cnt_text p{
	color: #2547a2;
	font-size: 1.6rem;
	line-height: 1.6;	
    margin-bottom: 1rem;
}

.school-life-cnt .cnt_text .name {
    width: 100%;
	max-width: 403px;
    margin-left: auto;
    align-items: flex-start;
    margin-bottom: 1em;
	margin-top: -1rem;
}


.school-life-cnt .btn-ptn01 a{
	display: block;
    line-height: 2.5em;
    min-width: 20rem;
    max-width: 20rem;
    border-radius: 2rem;
    border: 1px solid #ccc;
    background-color: #FFF;
	font-size: 1.4rem;
	text-align: center;
	margin: 0 auto;
}

@media (min-width:768px){
	
	.school-life-cnt h2{
		padding-bottom: 2rem;
	}
	
	.school-life-cnt .cnt_g{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	.school-life-cnt #campus .cnt_g{
		flex-direction: row-reverse;
	}
	
	.school-life-cnt .cnt_img{
		max-width: 280px;
		width: 32.4%;
		margin: 0;
	}
	
	.school-life-cnt .cnt_text{
		width: 64.8%;
		margin: 0;
	}
	
	.school-life-cnt .cnt_text p{
		margin-bottom: 2rem;
		font-size: 2rem;
	}

	.school-life-cnt .cnt_text .name {
    width: 72%;
	margin-top: -2rem;
	}

}

/*---------

レイアウトパターン 

----------------------------**/

.section-inner + .section-inner{
    padding-top: 5rem;
}

@media (min-width: 768px){
.section-inner + .section-inner{
    padding-top: 8rem;
}
}

/* キャンパスライフページ */

.campus h3{
	color: #5d66af;
	font-size: 1.6rem;
}

.campus .campus-introduction{
	display: block;
}

.campus .campus-introduction .cnt_text{
	position: relative;
	width: 100%;
	max-width: 440px;
	padding-bottom: 2rem;
	margin: 0 auto;
}

.campus .campus-introduction .cnt_text::after{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	z-index: -1;
	background: url("../../course/images/campus/fukidasi_sp.png") no-repeat center bottom;
	background-size: contain;
	position: absolute;
	bottom: -2rem;
}

.campus .campus-introduction .top_img{
	max-width: 100px;
	margin: -1rem auto;
}

@media (min-width:768px){
	.campus h3{
	font-size: 1.8rem;
	}
	
	.campus .campus-introduction{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	
	.campus .campus-introduction .cnt_text{
		width: 78.7%;
		max-width: 680px;
		margin: 0 0 2rem;
		padding-bottom: 3rem;
	}
	
	.campus .campus-introduction .cnt_text::after{
		background: url("../../course/images/campus/fukidasi_pc.png") no-repeat center bottom;
		background-size: contain;
		bottom: -3rem;
	}
	.campus .campus-introduction .top_img{
		max-width: 153px;
		width: 17.7%;
	}
}


.campus .calendar_area{
	padding: 0;
	margin-top: -14px;
}

.campus .calendar_g dl{
	display: grid;
	grid-template-columns: 68px 1fr;
/*	grid-gap: 2px;*/
	margin-bottom: 1px;
}

.campus .calendar_g dl:first-of-type dt{
	border-radius: 1rem 0 0 0;
}
.campus .calendar_g dl:first-of-type dd{
	border-radius: 0 1rem 0 0;
}

.campus .calendar_g dl:last-of-type dt{
	border-radius: 0 0 0 1rem;
}
.campus .calendar_g dl:last-of-type dd{
	border-radius: 0 0 1rem 0;
}

.campus .calendar_g dl dt{
	padding: 2rem 0 1.2rem;
	text-align: center;
	color: #fff;
	background: linear-gradient(0deg, var(--theme-sub-color) 0%, var(--theme-color) 100%);
}
.campus .calendar_g dl dt .month{
	color: #fff;
	line-height: 1.0;
	font-weight: normal;
}

.campus .calendar_g dl dt .month span{
	font-family: 'Spartan', sans-serif;
	font-weight: 200;
	font-size: 3.6rem;
}

.campus .calendar_g dl dd{
	padding: 2rem;
	background: var(--bg-theme-main);
	min-width: 0;
}

.campus .calendar_g dl:nth-of-type(even) dd{
	background: var(--bg-theme-sub);
}

.campus .calendar_g dl dd h4{
	text-align: left;
	font-size: 2rem;
	color: var(--theme-color);
	margin-bottom: 0.4em;
}
.campus .calendar_g dl dd .calendar_text{
	margin-bottom: 1rem;
}

.campus .calendar_g dl dd h4:only-child, 
.campus .calendar_g dl dd .calendar_text:last-of-type{
	margin-bottom: 0;
}

.campus .swiper:not(.KvSwiper){
	padding-bottom: 0;
}

.campus .swiper-wrapper{
	aspect-ratio: 3/2;
}
.campus .swiper-wrapper li img{
	height: 100%;
	max-height: none;
}

.campus .calendar_img{
	width: 100%;
	max-width: 416px;
	border: 4px solid #fff;
	box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
	aspect-ratio: 3/2;
    overflow: hidden;
	margin: 0 auto 0.8rem;
}

@media (min-width:768px){
	.campus .calendar_g dl dt{
		padding: 3.4rem 0 1.2rem;
	}
	.campus .calendar_g dl dd{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		column-gap: 3rem;
		padding: 3rem;
	}
	.campus .calendar_g dl dd h4{
		font-size: 2.8rem;
	}
	.campus .calendar_g dl dd .calendar_text{
		width: 44.7%;
	}
	.campus .calendar_img{
		max-width: 416px;
		width: 55%;
		margin: 0;
	}
	.campus .calendar_g dl dd .calendar_text:last-of-type{
		width: 100%;
	}
	
	.campus .calendar_g dl:first-of-type dt{
		border-radius: 1.5rem 0 0 0;
	}
	.campus .calendar_g dl:first-of-type dd{
		border-radius: 0 1.5rem 0 0;
	}

	.campus .calendar_g dl:last-of-type dt{
		border-radius: 0 0 0 1.5rem;
	}
	.campus .calendar_g dl:last-of-type dd{
		border-radius: 0 0 1.5rem 0;
	}

}

/*--- 学科のポイント　アコーディオン
----------------------------**/

.point-g.faq-list{
	max-width: 86rem;
	background: #fff;
	border: 1px solid var(--theme-color);
}

.point-g.faq-list dl:not(:last-child){
	border-bottom: 1px solid var(--theme-color);
}

.point-g dt{
	display: flex;
	align-items: center;
	padding: 4.6% 3.2%;
	padding-right: 4rem;
}

.point-g dt .point-number{
	font-size: 2rem;
	border: none;
	margin-right: 1.2rem;
	padding: 0;
	display: inherit;
    align-items: center;
}

.point-g dt .point-number::before{
	display: inline;
	font-size: 1.2rem;
	margin-bottom: -2px;
}

.point-g dt p{
	font-size: 1.8rem;
	line-height: 1.4em;
/*	font-weight: 600;*/
}



.point-g dd img{
	width: 100%;
	display: block;
	margin: 0 auto 1rem;
}

@media (min-width:768px){

	.point-g dt{
		padding: 3.2% 3.2%;
    	padding-right: 4rem;
	}
	
	.point-g dt .point-number{
		font-size: 3.5rem;
		margin-right: 5rem;
	}
	.point-g dt .point-number::before{
		font-size: 2rem;
		margin-bottom: -3px;
	}
	.point-g dt p{
		font-size: 2.4rem;
	}
	
	.point-g dd{
		padding-left: calc(14.2rem + 3.2%);
	}
	
	.point-g dd .img-g{
		display: flex; 
		gap: 0 3%; 
		justify-content: center;
	}
	.point-g dd img{
		max-width: 320px;
		margin: 0;
	}

	
}

.point_event_none .toggle-switch-area{
    pointer-events: none;
}


/*--- .link_area
----------------------------**/	

.link_area .link_box {
    background: var(--bg-theme-sub);
    display: grid;
    margin: 0 auto 3rem;
    position: relative;
}

.link_area [class^="theme-"] .link_box {
    background: #fff;
}

.link_area .link_box::before,
.link_area .link_box::after{
    content: "";
    width: 0;
    height: 0;
    display: block;
    position: absolute;
    box-sizing: border-box;
    opacity: 0;
    transition: width 0.5s, height 0.5s, opacity 0.5s;
}

.link_area .link_box:hover{
    opacity: 1;
}

.link_area .link_box::before{
    top: 0;
    left: 0;
    border-top: 1px solid var(--theme-color);
    border-left: 1px solid var(--theme-color);
}

.link_area .link_box::after{
    right: 0;
    bottom: 0;
    border-right: 0.1rem solid var(--theme-color);
    border-bottom: 0.1rem solid var(--theme-color);
}

.link_area .link_box:hover::before, .link_area .link_box:hover::after {
    width: 100%;
    height: 100%;
    opacity: 1;
}

.link_area .link_box .link_img{
    width: 100%;
    height: 100%;
}

.link_area .link_box .link_img img{
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.link_area .link_box .link_text{
/*	padding: 1.6rem 6rem 1.6rem 1.6rem; */
    padding: 1.6rem 1.6rem 5rem 1.6rem; 
    position: relative;
}
.link_area .link_box .link_text .title{
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 500;
    color: var(--theme-color);
    margin-bottom: 0.8rem;
}

.link_area .link_box .link_text .title .small{
    font-size: 0.8em;
}

.link_area .link_box .link_text .title .frame{
    background: var(--theme-sub-color);
    color: #fff;
    font-size: 0.8em;
    font-weight: 400;
    padding: 4px 12px;
    line-height: 1.0;
/*    margin-left: 0.8em;*/
    margin-bottom: 4px;
    display: inline-block;
}

.link_area .link_box .link_text::before, 
.link_area .link_box .link_text::after{
    content: "";
    position: absolute;
    right: 1rem;
}

.link_area .link_box .link_text::before{
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    bottom: 1rem;
    background: var(--theme-color);
}

.link_area .link_box .link_text::after{
    width: 1rem;
    height: 1rem;
    bottom: 2.4rem;
    right: 2.7rem;
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    margin-top: -1px;
}

.link_area h3.fukidashi{
    display: block;
    width: fit-content;
    margin: 0 auto 40px;
    position: relative;
    border-bottom: 2px solid var(--theme-color);
    padding: 0 8px 8px;
}


.link_area h3.fukidashi::after{
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skew(-25deg);
    height: 20px;
    width: 12px;
    border-right: 2px solid var(--theme-color);
    background-color: white;
    content: "";
}

.link_area.theme-sub .link_box {
    background: #fff;
}



@media (min-width:768px){
    .link_area .link_box {
        grid-template-columns: 35% 65%;
        grid-auto-rows: auto;
        align-items: center;
    }

    .link_area .link_box .link_text{
        padding: 2rem 8rem 2rem 3rem;
    }

    .link_area .link_box .link_text .title{
        font-size: 2.2rem;
        margin-bottom: 1.2rem;
    }
    .link_area .link_box .link_text::before, 
    .link_area .link_box .link_text::after{
        right: 1.5rem;
    }

    .link_area .link_box .link_text::before{
        width: 5rem;
        height: 5rem;
        top: 50%;
        transform: translateY(-50%);
    }
    .link_area .link_box .link_text::after{
        width: 1.2rem;
        height: 1.2rem;
        right: 4.1rem;
        margin-top: -1px;
        top: 50%;
        transform: rotate(45deg) translateY(-50%);
    }

}


/*---------

recruit-a 就職安心Point

----------------------------**/

.recruit-a{
    --bg-site-stripe: repeating-linear-gradient(
    90deg,
    rgba(226, 243, 255, 1),
    rgba(226, 243, 255, 1) 24px,
    transparent 24px,
    transparent 48px
  );
}

.success-point-top{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 500px;
    margin: 0 auto;
}

.success-point-top .qualification-list_body{
    width: 18.6rem;
    height: 18.6rem;
    border-color: var(--result-color);
    background-color: #fff;
    margin-bottom: 2rem;
}
.success-point-top .qualification-list_item{
    grid-auto-rows: 1fr 36%;
}

.success-point-top .qualification-list_head{
    padding-top: 1em;
}

.success-point-top .qualification-list_number{
    background-color: var(--result-color);
    color: #fff;
}

.success-point-top .img{
    max-width: 220px;
    width: calc(100% - 19rem);
}

@media (min-width: 768px){
    .success-point-top .qualification-list_body{
        width: 24rem;
        height: 24rem;
    }
}

.success-point-list .point-detail p{
    margin-bottom: 1.6rem;
}

.success-point-list .results p, 
.success-point-list .message_g p{
    margin-bottom: 0;
}

.recruit-a section.results{
    margin-bottom: 0;
}

.success-point-list .results{
    background: none;
    padding: 0;
    margin: 3rem auto 0;
    color: #000;
    max-width: 680px;
}
.success-point-list .results h4{
    font-size: 1.8rem;
}
.success-point-list .results h4.bg{
    color: #fff;
    background: var(--theme-color);
    width: fit-content;
    padding: 0.6rem 2rem;
    margin: 0 auto 2rem;
    border-radius: 2rem;
}

.success-point-list .employment-rate_body .employment-rate{
    color: var(--theme-color);
}

.success-point-list .employment-rate_body .employment-rate span{
    font-size: 4rem;
    letter-spacing: normal;
    margin-left: 0.1em
}

.success-point-list .results .employment-place_body{
    background:var(--bg-theme-sub);
}

.recruit-a .message_g{
    background: var(--bg-theme-sub);
    border-radius: 0.8rem;
    padding: 2rem 2vw;
    margin: 0 auto;
    max-width: var(--width-min);
}

.recruit-a .message_g h4{
    background: var(--theme-color);
    color: #fff;
    display: block;
    padding: 0.6rem 3rem;
    width: fit-content;
    margin: 0 auto 2rem;
    transform: translateY(-50%);
    border-radius: 2rem;
}

.recruit-a .teacher_g .interviewee {
    grid-template-columns: 12rem 1fr;
    gap: 1.2rem;
}

.recruit-a .teacher_g .interviewee .text{
    font-size: 1.4rem;
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--theme-color);
}


/*---------

success

----------------------------**/

.success{
    --bg-site-stripe: repeating-linear-gradient(90deg, rgba(226, 243, 255, 1) , rgba(226, 243, 255, 1) 24px, transparent 16px, transparent 48px );
    /* (226, 243, 255, 1) */
}

.success-point-list{
    margin: 0 auto;
    position: relative;
    display: block;
}
.success-point-list .point-body{

    border-radius: 0.8rem;
    padding: 4vw 2vw;
    background-color: #fff;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 8%);
    max-width: var(--width-min);
    margin: 0 auto 3vh;
}

.success-point-list .point-body .heading-area{
    margin-bottom: 0.8em;
}

.success-point-list .point-body .point-detail ol {
    border-radius: 0.8rem;
    max-width: 680px;
    margin: 0 auto 1.2em;
    background: #fff;
    padding: 1.6rem 2rem 1em 4rem;
    background-color: rgba(226, 243, 255, 1);
}

.success-point-list .point-body .point-detail .img_box{
    max-width: 680px;
    margin: 0 auto;
    width: 80%;
}

.success-point-list .point-body .point-detail .img_box .img{
    margin-bottom: 0.8em;
}

/*教育のポイント　情報IT*/
.success-point-list .center-img{
    max-width:480px;
    width:80%;
    margin: 0 auto ;
    margin-top: 1.2em;
}

@media not all and (min-width: 768px){

.success-point-list .point-list_item p {
    text-align: left;
}
}


@media (min-width: 768px){
.success-point-list .point-body{
    padding: 2vw;
}

.success-point-list .point-body .point-detail ol {
    margin: 0 auto 2vw;
}

.success-point-list .point-body .point-detail .img_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.success-point-list .point-body .point-detail .img_box{
    width: 100%;	
}

.success-point-list .point-body .point-detail .img_box .img{
    display: block;
    width: 48%;
    margin-bottom: 1.2em;
}

}


/*---------

employment

----------------------------**/

.employment-list{
    /* max-width: 68rem; */
    margin:0 auto;
    position: relative;
}

.employment-list::after {
    content: "";
    display: block;
    width: 0.2rem;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    background-color: #00c6ff;
    z-index: -1;
}

.employment-list > div:not([class]),
.employment-body > div:not([class]){
    font-weight: 600;
    text-align: center;
    padding: .4em;
    margin-bottom: 1em;
    background-color: var(--site-point-color);
}

.employment-list .employment-body{
    margin-bottom: 2vh;
    border-radius: .8rem;
    padding: 2vw;
}

/*--- employment heading-area
----------------------------**/

.employment-body .heading-area{
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 1rem;
    position: relative;
}

.employment-body .heading-area .stage-lank{
    display: block;
    width: 8em;
    padding: 1em 1em 0;
    color: #FFF;
    line-height: 1.0;
    border-radius: 2em;
    position: absolute;
    top: 0;
    left: 0;
}

.employment-body .heading-area .stage-lank .number{
    font-size: 2.5rem;
    margin-left: 0.25em;
}

.employment-body .heading-area .stage-lank + div{
    font-weight: 600;
    align-self: center;
    position: relative;
}

.employment-body .heading-area h3{ margin-top: 0;}

@media not all and (min-width:768px){

    .employment-body .heading-area .stage-lank{ font-size: 1rem;}
}

@media (min-width:768px){

    .employment-body .heading-area .stage-lank{ padding: .5em 1em .25em; font-size: 2.5rem;}
    .employment-body .heading-area .stage-lank .number{  margin-left: 0.5em;}
    .employment-body .heading-area .stage-lank + div{ font-size: 1.8rem;}
}

/*--- circle & toggle
----------------------------**/

.employment-item .circle li{ margin-bottom: 0;}

.employment-item .toggle-switch-area{
    background-color: #FFF;
    border: 1px solid #a0a0a0;
    text-align: center;
}

.employment-item figure{
    width: 64%;
    border: .4rem solid #FFF;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, .25);
    margin: 3vh auto;
}

@media not all and (min-width:768px){

    .employment-item .circle li{ font-size: 1.1rem;}
}

@media (min-width:768px){

    .column-box{ gap: 2vw 3vh;}
}

/*--- color set
----------------------------**/

.employment-list .employment-body:nth-child(2){ background-color: rgba(220, 241, 251, 1);} /* dcf1fb */
.employment-list .employment-body:nth-child(2) .stage-lank{ background-color: rgba(0, 185, 239, 1);} /* 00b9ef */

.employment-list .employment-body:nth-child(3){ background-color: rgba(220, 230, 240, 1);} /* e4e1f0 */
.employment-list .employment-body:nth-child(3) .stage-lank{ background-color: rgba(76, 140, 203, 1);} /* 4c8ccb */

.employment-list .employment-body:nth-child(4){ background-color: rgba(228, 225, 240, 1);} /* e4e1f0 */
.employment-list .employment-body:nth-child(4) .stage-lank{ background-color: rgba(100, 85, 164, 1);} /* 6455a4 */

.employment-list:nth-child(3) .employment-body:nth-child(2){ background-color: rgba(237, 223, 237, 1);} /* eddfed */
.employment-list:nth-child(3) .employment-body:nth-child(2) .stage-lank{ background-color: rgba(175, 98, 164, 1);} /* af62a4 */

.employment-list:nth-child(3) .employment-body:nth-child(3){ background-color: rgba(251, 222, 234, 1);} /* fbdeea */
.employment-list:nth-child(3) .employment-body:nth-child(3) .stage-lank{ background-color: rgba(233, 82, 151, 1);} /* e95297 */


/*---------

course-sub-title

----------------------------**/
.course-sub-title,
.section-inner > p.course-sub-title {
    color: #5d66af;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0.8em;
}

h2 + .course-sub-title{
    margin-top: 3rem;
}

@media (min-width:768px) {
    .course-sub-title:not(:first-child),
    .section-inner > p.course-sub-title {
        font-size: 1.8rem;
    }
}


/*---------

medical　医療系

----------------------------**/


/*--- 学科ページ
----------------------------**/

.theme-sub .distinctive-list_item .sub_cnt{
    background: #fff;
}

.job-list .distinctive-list_item dl dt{
    margin-bottom: 0.2rem;
}

.job-list .distinctive-list_item{
    margin-bottom: 4rem;
}

.job-list .distinctive-list_item .sub_cnt li{
    font-size: 1.6rem;
}


.distinctive-list_item .sub_cnt{
    margin-top: 0.5rem;
    font-size: 1.2rem;
    display: block;
    background: var(--bg-theme-sub);
    padding: 8px;
    border-radius: 0.8em;
    font-size: 12px;
    line-height: 1.6;
    width: 100%;
}

.distinctive-list_item .sub_cnt .title{
    background: var(--theme-color);
    color: #fff;
    display: block;
    padding: 0 8px;
    border-radius: 1em;
    margin-bottom: 4px;
    width: fit-content;
}

@media not all and (min-width: 768px){
    .seika .distinctive-list_item .column > img{
        width: 80%;
    }
    
    .sp-column .distinctive-list_item > dl{
        display: block;
        margin-bottom: 2em;
    }
    .sp-column .distinctive-list_item div,
    .sp-column .distinctive-list_item:nth-child(2n) dl:not([class]) > div{
        margin: 0 auto;
        max-width: 32rem;
        width: 80%;
    }
    
    
}



/*---------

swiper

----------------------------**/

.swiper-wrapper li img{ width: auto; max-height: 20rem;}

.swiper-free-mode > .swiper-wrapper{
    -webkit-transition-timing-function:linear!important;
    -o-transition-timing-function:linear!important;
    transition-timing-function:linear!important;
}

@media (min-width:768px){

    .swiper-wrapper li img{ max-height: 32rem;}
}


.swiper.swiper-horizontal{ overflow: hidden;}




/*---------

レイアウトパターン 

----------------------------**/


/*--- テキストデザイン
----------------------------**/	
.bg_round{
	background: var(--theme-color);
    color: #fff;
    display: inline-block;
    padding: 0 0.6em;
    border-radius: 1em;
    margin-right: 0.6rem; 
	line-height: 1.6;
}

.border_round{
	border: 1px solid var(--theme-color);
    color: var(--theme-color);
    display: inline-block;
    padding: 0 0.6em;
    border-radius: 1em;
    margin-right: 0.6rem; 
	line-height: 1.6;
}

.text_center{
	text-align: center;
}

.colordot-list li{
    padding-left: 1em;
    position: relative;
}

.colordot-list li::before{
    content: '';
    display: block;
    background: var(--theme-sub-color);
    width: 0.8em;
    height: 0.8em;
    position: absolute;
    top: 0.6em;
    left: 0;
    border-radius: 50%;
}

.list_type01 {
    display: grid;
    grid-template-columns: 7em 1fr;
    grid-template-rows: auto;
    gap: 0.4rem 0.6rem;
    font-size: 0.8em;
    line-height: 1.6;
    margin-top: 1.2rem;
}

.list_type01 dt{
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    background: var(--bg-theme-sub);
    padding: .2rem .2rem;
}

.list_type02 {
    display: grid;
    grid-template-columns: auto 6em;
    grid-template-rows: auto;
    gap: 0.6rem 0;
    font-size: 0.8em;
    line-height: 1.6;
    margin-top: 1.2rem;
}

.list_type02 dd{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 2em;
    color: var(--theme-color);
    border-bottom: 1px solid var(--theme-color);
}

.list_type02 dt{
    display: block;
    font-weight: normal;
    width: 100%;
    border-bottom: 1px solid var(--theme-color);
}


.h3_number{
    color: var(--theme-color);
    font-family: 'Petit Formal Script', cursive;
    line-height: 1;
    padding-bottom: 1.8rem;
    position: relative;
    margin: 0 auto;
    text-align: center;
}

.h3_number span{
    font-size: 3rem;
    font-family: 'Noto Serif Display', serif;
    margin-left: 0.4rem;
    color: #000;
}

.h3_number::after {
    content: '';
    width: 50px;
    height: 1px;
    display: block;
    border-bottom: 1px solid #000;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}


h4.bg_yellow{
    width: 100%;
    padding: .8em;
    background-color: var(--site-point-color);
}

h4.theme-bg {
    width: 100%;
    padding: 0.5em;
    background-color: var(--bg-theme-main);
}


/*--- 画像
----------------------------**/	
.img.vertical img{
    display: block;
    width: 90%;
    margin: 0 auto;
}

@media (min-width: 768px){
.img.vertical img{
    width: 80%;
}
}




/*--- .flex_cnt (テキスト＋画像)
----------------------------**/	

.flex_cnt{
/*	max-width: var(--width-min);*/
	margin: 0 auto;
    display: flex;
    flex-flow: column;
    width: 100%;
}

.flex_cnt .img{
	max-width: 360px;
    padding: 0.4rem;
    margin-bottom: 1em;
    box-shadow: 2px 2px 3px 1px rgb(0 0 0 / 10%);
	display: block;
	margin: 0 auto 1em;
    background: #fff;
}
.flex_cnt .text_box{
	flex-basis: 62%;
	margin-bottom: 1em;
}
.flex_cnt .text_box p{
	margin-bottom: 1em;
}

.flex_cnt.reverse{
    flex-flow: column-reverse;
}

@media (min-width: 768px){
	.flex_cnt, 
	.flex_cnt.reverse{
		display: flex;
        flex-flow: row;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 0;
	}
	.flex_cnt .img{
		flex-basis: 36%;
		margin: 0;
	}
}

.flex_cnt .img.nostyle{
    padding: 0;
    box-shadow: none;
    background: none;
}

.flex_cnt .img.vertical img{
    display: block;
    width: 60%;
    margin: 0 auto;
}

@media (min-width: 768px){
.flex_cnt .img.vertical img{
    width: 80%;
}
}

/*--- テキスト＋画像
----------------------------**/


.column_style .img{
    width: 100%;
    margin: 0 auto 1rem;
    position: relative;
}

.column_style .photo_style img{
    padding: 0.4rem;
    box-shadow: 2px 2px 3px 1px rgba(0, 0, 0, .1);
    background: #fff;
}

.column_style .img span.badge{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 68px;
    height: 68px;
    background: var(--theme-color);
    color: #fff;
    font-weight: 600;
    border-radius: 50%;
    position: absolute;
    top: -18px;
    left: -12px;
}

.column_style .item_title{
    font-weight: bold;
    margin-bottom: 0.6rem;
    line-height: 1.6;
}

.column_style .item_title .sub{
    font-weight: normal;
    display: block;
    font-size: 0.8em;
}

.column_style .colordot-list li{
    font-size: 0.8em;
    line-height: 1.4;
}

.column_style .colordot-list li::before{
    top: 0.3em;
}

.column_style .item_title.check-mark{
    color: var(--theme-color);
    padding-left: 2.4rem;
    position: relative;
}

.column_style .item_title.check-mark::before {
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
    border: 1px solid #000;
    background-color: #FFF;
    top: 0.6rem;
    left: 0;
}

.column_style .item_title.check-mark::after{
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 0.8rem;
    top: 0.5rem;
    left: 0.2rem;
    border-left: 0.1rem solid var(--theme-color);
    border-bottom: 0.1rem solid var(--theme-color);
    transform: rotate(-45deg);
}

.column_style .item_title.theme-color{
    color: var(--theme-color);
}

.column_style p{
    line-height: 1.6;
    margin-bottom: 0.6rem;
}

.column_style .small{
    font-size: 0.8em;
}

.column_style p.name{
    width: 100%;
    object-fit: contain;
    display: block;
    line-height: 1.2;
}

.column_style p.name img{
    max-width: 15rem;
    width: 100%;
}

.column_style p.name span{
    font-size: 0.8em;
}

.column_style .column_item.bg_theme{
	background: var(--bg-theme-sub);
    padding: 1em 0.6em;
	border-radius: 0.8rem;
}

.column_style p.name + p{
    margin-top: 1.2rem;
}


.column_2-1{
	display: block;
}

.column_2-1 .column_item{
	max-width: 480px;
    width: 100%;
    margin: 0 auto 3rem;
}

.column_3-1{
	display: block;
}

.column_3-1 .column_item{
	max-width: 400px;
    margin: 0 auto 4rem;
}

.column_3-2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 3rem 2rem;
}

.column_4-2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 3rem 2rem;
}


@media (min-width: 768px){
    
    .column_2-1{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		gap: 2rem 4rem;
	}
	
	.column_3-2, 
	.column_3-1{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto;
		gap: 3rem 4rem;
	}
    
    .column_3-1 .column_item{
        margin: 0 auto;
    }
	
	.column_4-2{
		grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 3rem 2rem;
	}
	
}


/*--- 背景色ありBOX
----------------------------**/

.bg_box{
    background: var(--bg-theme-sub);
    padding: 2rem;
    margin-bottom: 3rem;
}

.bg_box.white{
    background: #fff;
}



/*--- 学科の特色アコーディオン
----------------------------**/

.accordion_g{
	margin-bottom: 24px;
}

.accordion_g .acc_label{
	position: relative;
	padding-right: calc(40px + 0.4em);
	padding-left: 0.8em;
	background: #fff;
	text-align: left;
    cursor: pointer;
}

section:not([class]) .accordion_g .acc_label{
	background: var(--bg-theme-sub);
}

.accordion_g .acc_label::before {
	content: '';
	display: inline-block;
	width: 40px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: var(--theme-color);
}

.accordion_g .acc_label::after {
	content: '';
	display: inline-block;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	transition: .3s;
}
.accordion_g .acc_label.open::after {
	transform: rotate(180deg) translateY(50%);
}


.accordion_g .acc_inner{
	display: none;
	padding: 0 0.8em;
}

.accordion_g .acc_inner dd{
	font-size: 1.4rem;
	line-height: 1.8;
}


@media (min-width:768px){

.accordion_g .acc_inner dd{
	font-size: 1.6rem;
	line-height: 1.8;
}
	
	
}

.accordion_g .acc_label span.theme-bg{
    background: var(--theme-color);
    color: #fff;
    display: inline-block;
    padding: 0 1.4rem;
    border-radius: 1em;
    margin-right: 1rem;
}




/*--- レイアウトパターン　ここまで
----------------------------**/



/*--- .accredited-school
----------------------------**/	

.accredited-school{
	display: block;
    background: var(--theme-sub-color);
    padding: 10px;
    border-radius: 1rem;
    margin-top: 10px;
    font-size: 1.4rem;
}




/*---------

デジタル教材

----------------------------**/

.label-digital {
    display: inline-block;
    background: var(--theme-color);
    color: #fff;
    padding: .5em;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    vertical-align: middle;
}

@media (min-width: 768px) {
    .label-digital {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .curriculum-label {
        margin-bottom: 2rem;
    }
}


/*----------------------

240425 実績部分CSS

----------------------*/

.results{
	background: #EFEFEF;
	color: #000;
}

.results .section-inner + h2{
    margin-top: 50px;
}

.results .results-style01{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
    margin-bottom: 1rem;
}
.results .results-style02{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 1rem;
    margin-bottom: 1rem;
}
.results .results-style03{
    display: block;
    max-width: 684px;
    margin: 0 auto;
}
.results .results-style03 .results-box{
    margin: 0 auto 1rem;
}
.results .results-style05{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    margin-bottom: 1rem;
    gap: 1px; 
    background-color: var(--theme-color); 
    border-radius:1rem;
    padding: 0.9rem;
}

.results .results-style05 .summary-box{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    align-items: center;
    border-radius: 0;
}

.results .results-style05 .summary-box .num{
    color: #1859b6;
    font-size: 5.0rem
}

.section-narrow{
    max-width: 85rem;
}

.summary-box .sub{
    display: block;
    text-align: center;
    line-height: 1.5;
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
}

.summary-box .pt-extra{
    padding-top: 30px;
}

.summary-box .note{
    font-size: 1.0rem;
}

.summary-box .sub-title{
    background: var(--theme-color);
}

.sub-title{
    display: inline-block;
    /* background: var(--heading-site-main-color); */
    background: var(--theme-color);
    color: #ffffff;
    padding: 3px 10px;
    border-radius:6px;
    margin-bottom: 5px;
    font-size: 14px;
}

.no-decoration::before{
    content: none !important;
}

.no-pt{
    padding-top: 0 !important;
}

.results .summary-g a:hover{
	opacity:0.9;
}


@media not all and (min-width:768px){

    .results .results-style05 .summary-box{
        padding: 1.0rem;
    }
    .results .results-style05 .summary-box .num::after{
        width: 1.1rem;
        height: 1.1rem;
    }
    .results .results-style05 .summary-box .num{
        font-size: 2.5rem;
    }
    .results .results-style05 .summary-box .num span{
        font-size: 1.2rem;
    }
    .summary-box .sub {
        font-size: 1.2rem;
    }
    .summary-box .pt-extra{
        padding-top: 25px;
    }
    .summary-box .sub-title {
        padding: 2px 8px;
        border-radius:5px;
        margin-bottom: 5px;
        font-size: 1.0rem;
    }
}

@media (min-width:768px) {
	.results .results-style01{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		gap: 2rem 2rem;
        margin-bottom: 2rem;
	}
	.results .results-style02{
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: auto;
		gap: 2rem 2rem;
        margin-bottom: 2rem;
	}
    .results .results-style03 .results-box{
        margin: 0 auto 2rem;
    }
    .results .results-style05{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
        margin-bottom: 2rem;
        padding: 1rem;
    }
    .summary-box .note{
        font-size: 1.0rem;
    }
}

.results-box{
	display: block;
	background: #fff;
	border-radius: 1rem;
	padding: 1.6rem;
}
.results-box .num{
	font-size: 6.2rem;
    color: var(--theme-color);
	font-family: 'Spartan', sans-serif;
    letter-spacing: -.08em;
    line-height: 1.0;
	text-align: center;
}
.results-box .num span{
	font-size: 4rem;
}
.results-box .num:has(+ .notes_box) {
	margin-bottom: 1.2rem;
}
.results-box .notes_box{
	display: block;
	border-top: 1px solid var(--bg-theme-main);
	padding-top: 1.6rem;
	font-size: 14px;
}
.results-box .notes_box p{
	font-size: 14px;
	line-height: 1.8;
}
.results-box .notes_box p + p{
	margin-top: .8rem;
}
.results-box .notes_box p.notes{
    padding-left: 1em;
    text-indent: -1em;
}
.banner-box{
    display: block;
    max-width: 508px;
    width: 100%;
    margin: 0 auto;
}

.employment-box .title .sub{
	display: block;
	text-align: center;
	line-height: 1.5;
	font-size: 1.6rem;
	margin-bottom: 1.2rem;
}
.employment-box .title h4{
	margin: 0 auto 2.4rem;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
	background: var(--theme-color);
	width: fit-content;
	border-radius: 60px;
	padding: 2px 14px 2px;
}

.company-box h4{
	border-bottom: 1px solid var(--bg-theme-main);
	margin-bottom: 1.2rem;
	padding-bottom: 1.2rem;
	font-size: 16px;
}
.company-box p{
	font-size: 14px;
}
.company-box p.other{
	text-align: end;
}

.qualification-box{
	position: relative;
}
.qualification-box::before{
	content: '';
	display: block;
	background: #fff69f;
	width: 40px;
	height: 80px;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 50% 80%, 0 100%);
	position: absolute;
	top: 0;
	left: 12px;
	z-index: 0;
/*    opacity: 0.8;*/
}
.qualification-box h4{
	font-weight: bold;
	text-align: start;
	margin-bottom: 2rem;
	min-height: 62px;
	position: relative;
	z-index: 1;
}
.qualification-box .num{
	font-size: 3.6rem;
	text-align: right;
	position: relative;
	z-index: 1;
}
.qualification-box .num span{
	font-size: 2.4rem;
}
.results-box .notes_box p{
	font-size: 12px;
}
.qualification-box.big{
	grid-column: span 2;
}

.qualification-box h4.big{
    font-size: 16px;
}
.qualification-box .num.big{
    font-size: 5.6rem;
}
.qualification-box .num.big span{
    font-size: 3rem;
}

.graph-box{
    text-align: center;
}
.graph-box .graph-img{
    max-width: 440px;
    margin: 0 auto 2rem;
}

@media (min-width:768px) {
    .employment-box .title h4{
        font-size: 20px;
    }
	.company-box h4{
		font-size: 18px;
	}
	.company-box p{
		font-size: 16px;
	}
	.qualification-box::before{
		width: 52px;
		height: 100px;
	}
	.qualification-box h4{
		min-height: 82px;
	}
	.qualification-box .num{
		font-size: 4.6rem;
	}
	.qualification-box .num span{
		font-size: 2.8rem;
	}
    .qualification-box h4.big{
        font-size: 20px;
    }
    .qualification-box .num.big{
        font-size: 6.2rem;
    }
    .qualification-box .num.big span{
        font-size: 4rem;
    }
}

/*--------------
区切り線追加　20240624 大原追加
-------*/


.two-column-a{
    border-bottom: 1px solid #000;}

.two-column-a dl{
    padding-top:4%;
    border-top: 1px solid #000;}

.two-column-a .distinctive-list_item{
    margin-bottom: 2%;}

.two-column-b{
    margin-bottom: 2%;}

.two-column-b .distinctive-list_item{
    padding-top:4%;
    border-top: 1px solid #000;}

.two-column-b .distinctive-list_item{
    margin-bottom: 2%;}

.two-column-b .distinctive-list_item:nth-of-type(-n+2){
    border-top: 0;
    }

@media not all and (min-width:768px) {

.two-column-b .distinctive-list_item:nth-of-type(2){
   border-top: 1px solid #000;}

.two-column-b .distinctive-list_item{
    padding-top: 4%;
    border-top:1px solid #000;}
}

.two-column-c .distinctive-list_item{
   padding-top:4%;
   border-top: 1px solid #000;}
.two-column-c .distinctive-list_item:nth-of-type(-n+2){
    border-top: 0;
    }

@media not all and (min-width:768px) {
.two-column-c .distinctive-list_item:nth-of-type(-n+2){
    border-top: 1px solid #000;
    }
}

/*--------------
見出しの背景色変更　20240626 大原追加
-------*/


.distinctive-list h4{
    background-color: var(--bg-theme-main);
    color: #000;
}

/*--------------
ボタンデザイン修正　20240722 大原修正
-------*/

/*ページ遷移のボタン*/

.btn-ptn01 a::before,
.btn-ptn01 a::after{
    content: "";
    position: absolute;
    right: 1.2rem;
}

.btn-ptn01 a::after{
    width: .6rem;
    height: .6rem;
    top: 1.5rem;
    left: auto;
    right: 2rem;
    transform: rotate(45deg);
}

.btn-ptn01 a sup{ color: var(--theme-color);}
.btn-ptn01 a:before{ border: 1px solid var(--theme-color);}
.btn-ptn01 a::after{
    border-top: 1px solid var(--theme-color);
    border-right: 1px solid var(--theme-color);
    }


.btn-ptn01 a::before{
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    top: 0.7rem;
    }

.school-life-cnt .btn-ptn01 a{
	min-width: 24rem;
	max-width: 24rem;
}

.teacher .btn-ptn01 a{
    min-width: 24rem;
    max-width: 24rem;
}

/*展開ボタン*/

.graduate-message_text .toggle-button:before{
    content: "";
    position: absolute;
    right: 1.2rem;
}

.graduate-message_text .toggle-button:before{
  content: '';
  width: 7px;
  height: 7px;
  border: 0;
  border-bottom: 1px solid var(--theme-color);
  border-right: 1px solid var(--theme-color);
  transform: rotate(45deg);
  position: absolute;
  top: -0.3rem;
  right: 2rem;
  bottom: 0;
  margin: auto;
}
.graduate-message_text .toggle-button{
    min-width: 24rem;
    max-width: 24rem;
}

.graduate-message_text .toggle-button.active:before{
	transform: rotate(-135deg);
	top: 0.5rem;
}


.interview .toggle-button:before{
    content: "";
    position: absolute;
    right: 1.2rem;
}

.interview .toggle-button:before{
  content: '';
  width: 7px;
  height: 7px;
  border: 0;
  border-bottom: 1px solid var(--theme-color);
  border-right: 1px solid var(--theme-color);
  transform: rotate(45deg);
  position: absolute;
  top: -0.3rem;
  right: 2rem;
  bottom: 0;
  margin: auto;
}

.interview .toggle-button{
    min-width: 24rem;
    max-width: 24rem;
}

.interview .toggle-button.active:before{
	transform: rotate(-135deg);
	top: 0.5rem;
}

/*-----------
医療事務系 実習先リスト
--------------------*/

.practical-list dl dd:nth-of-type(2) {
    font-size: 1.3rem;
}

.practical-list ul{
    display:flex;
    flex-wrap:wrap;
    justify-content: flex-start;/*20250131修正*/
    /*justify-content:space-between;*/
}

.practical-list dd li{
    width: 32%;
    line-height:2em;
}

@media (max-width: 768px) {
.practical-list ul{
    justify-content: flex-start;
}
    
.practical-list dd li{
    width:auto;
    margin-right: 2em;
}
}

.practical-list dd li::before{
    content: "";
    display: inline-block;
    position: relative;
    left: -3px;
    top: -4px;
    width: 5px;
    height: 5px;
    background: #26a2d8;
}

/*-------------------
　202408　主な就職先
--------------------*/
.results .results-style04{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
    margin-bottom: 1rem;
}

@media (min-width:768px) {
    .results .results-style04{
		display: grid;
		grid-template-rows: auto;
		gap: 2rem 2rem;
		margin-bottom: 5rem;
	}
}

/*-------------------
　202502　公務員　スケジュールの無料授業
--------------------*/
.distinctive-list_item.curriculum-free_tuition {
    border: 1px solid var(--theme-color);
    border-radius: 10px;
}
.distinctive-list_item.curriculum-free_tuition dl div{
    border-radius: 10px 0 0 10px;
    padding: 1rem 2rem;
    background: var(--bg-theme-sub);
}
.distinctive-list_item.curriculum-free_tuition dl div h4{ font-weight: bold;}
.distinctive-list_item.curriculum-free_tuition dl dd{ padding: 1rem;}
@media (max-width:768px) {
    .distinctive-list_item.curriculum-free_tuition dl{ display: block;}
    .distinctive-list_item.curriculum-free_tuition .notes{ line-height: 1.6;}
    .distinctive-list_item.curriculum-free_tuition dl > div{
        margin-right: 0;
        border-radius: 10px 10px 0 0;
    }
}

/* 複4デザイン特殊 */

.curriculum-free_tuition h4[class^="theme-"] span{font-size: 1.8rem;display: inline;}

/*---------
万全の公務員合格サポート体制
----------------------------**/

.recruit-komuin .pass-schedule-area{
    margin: 3rem 0;
}
@media (min-width:768px){
.recruit-komuin .pass-schedule-area{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}
.recruit-komuin .annual-schedule-list{
    width: calc(50% - 10px);
}
}
.recruit-komuin .annual-schedule-body dl dt{
    font-size: 1.8rem;
}
.recruit-komuin .annual-schedule-body dl dt .bg_round{
    font-size: 1.5rem;
}
.recruit-komuin .after-graduation, 
.recruit-komuin .primary-exam{
    color: #0068b7;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    display: block;
    padding: 0.5rem 1rem;
    background: rgba(54, 104, 183, 0.1);
    border-radius: 5px;
    margin: 0.7rem 0;
}
.recruit-komuin .after-graduation{
    color: #00b765;
    background: rgba(0, 183, 101, 0.1);
}
.recruit-komuin .notes-list .after-graduation, 
.recruit-komuin .notes-list .primary-exam{
    display: inline-block;
    padding: 0 .4rem;
    margin: 0 .3rem 0 0;
    font-size: 1em;
}
.recruit-komuin .annual-schedule-list:nth-of-type(1)::before, 
.recruit-komuin .annual-schedule-list:nth-of-type(1) h3{
    background-color: oklch(from var(--theme-color) 78% c h);
}
.recruit-komuin .annual-schedule-list:nth-of-type(1) .annual-schedule-body{
    border-color:oklch(from var(--theme-color) 78% c h);
    background-color: oklch(from var(--theme-color) 78% c h);
}

.recruit-komuin .annual-schedule-list:nth-of-type(2)::before, 
.recruit-komuin .annual-schedule-list:nth-of-type(2) h3{
    background-color: var(--theme-color);
}
.recruit-komuin .annual-schedule-list:nth-of-type(2) .annual-schedule-body{
    border-color: var(--theme-color);
    background-color: var(--theme-color);
}



.recruit-komuin .annual-schedule-body dl.has_image {
    grid-template-columns: 3em 50% calc(50% - 3em);
    grid-auto-rows: auto;
    align-items: center;
}
.recruit-komuin .annual-schedule-body dl.has_image dt {
    display: flex;
    align-items: center;
    padding-bottom: 0.8rem;
    height: 100%;
    border-radius: 0;
}
.recruit-komuin .annual-schedule-body dl.has_image dd {
    padding: 0;
    border-radius: 0 0.3rem 0.3rem 0;
}
.recruit-komuin .annual-schedule-body dl.has_image dd img {
    object-fit: cover;
    height: 100%;
    min-height: 80px;
    border-radius: 0 0.3rem 0.3rem 0;
}

.list_3-2{
    column-count: 2;
}
.list_3-2 li{
    break-inside: avoid;
    font-size: 1.3rem;
}
@media (min-width:768px){
.list_3-2{
    column-count: 4;
}
}

/*--------------
KV実績値 複数対応　20250213
--------------*/

.employment-container .kv-employment > p {
    font-size: 1.1rem;
}

.employment-container .kv-employment > p span {
    display: inline-block;
    color: var(--theme-color);
    font-size: 1.2rem;
    margin-bottom: .2em;
}

@media (min-width: 768px) {

    .employment-container .kv-employment > p {
        font-size: 1.6rem;
    }
    
    .employment-container .kv-employment > p span {
        font-size: 1.8rem;
    }

    .kv-employment > p {
        margin-top: 2rem;
        margin-bottom: 1.5rem;
    }

}

/*----------------------
202505 主な就職先もっと見る
-----------------------*/

/*inputを非表示 & 閉じた時の位置調整*/
.open-company-box{
  position: relative;
}
input[type="checkbox"].on-off{
  position: absolute;
  bottom: 0;
  display: block;
  opacity: 0;
}

/*ラベル（「開く」ボタン）*/
.open-company-label{
  margin: 0 auto 1.5em;
  display: block;
  text-align: center;
  background: #ffffff;
  border-radius: 2rem;
  position: relative;
  max-width: 24rem;
  border: 1px solid #ccc;
  font-size: 1.3rem;
  line-height: 2.5em;
  cursor: pointer;
}
.open-company-label:before{
  content: '';
  width: 7px;
  height: 7px;
  border: 0;
  border-bottom: 1px solid var(--theme-color);
  border-right: 1px solid var(--theme-color);
  transform: rotate(45deg);
  position: absolute;
  top: -0.3rem;
  right: 2rem;
  bottom: 0;
  margin: auto;
}
/*ボタンっぽい効果*/
.open-company-label:active{
  box-shadow: 0 0 0 0;
}
/*ラベルに表示するテキスト*/
.open-company-label::after{
  content:'もっと見る'; 
}
.on-off:checked ~ .open-company-label::after{
  content: '閉じる';
}

.on-off:checked ~ .open-company-label:before{
	transform: rotate(-135deg);
	top: 0.5rem;
}
/*開閉エリア*/
.open-company{
  padding: 1em;
  border-radius: 8px;
  height: 180px;/*ちらっと見える部分の高さ*/
  overflow: hidden;
  transition: .5s;
  position: relative;
  font-size: 14px;
}
.on-off:checked ~ .open-company{
  padding: 1.5em 1em;
  height: auto;
}
/*開閉エリアにぼかしを乗せる*/
.open-company::before{
  content:'';
  background: linear-gradient(to bottom, transparent,rgba(255,255,255,1)100%);
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index: 3;
}
/*開いたらぼかしを消す*/
.on-off:checked ~ .open-company::before{
  background: none;
  z-index: -1;
}

/*---------------------
  202505 その他のコース追加
----------------------------**/
.other-courses{
	background: #EFEFEF;
	padding: 8rem 0 6rem;
}
.other-courses-box{
    display: grid;
    grid-template-columns: repeat(auto-fit ,22%);
    grid-auto-rows: auto;
    row-gap: 1.6rem;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: right 15px bottom;
}
.other-courses-box a{
    display: grid;
    border-radius: 1rem;
    background-color: #fff;
    overflow: hidden;
    margin-left: 1em;
    position: relative;
}
.other-courses_img img{object-fit: cover;}
.other-courses_item { line-height: 1.7;}

.other-courses_item .course-name{
    position: relative;
    padding-left: 2rem;
	line-height: 1.2;
}
.other-courses_item .course-name span{font-size: 1.5rem;}
.other-courses_item .course-name::before,
.other-courses_item .course-name::after{
    content: "";
    position: absolute;
    left: 0;
}
.other-courses_item .course-name::before{
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    top: .7rem;
}
.other-courses_item .course-name::after{
    width: .6rem;
    height: .6rem;
    top: 1.2rem;
    left: .4rem;
    transform: rotate(45deg);
}
.other-courses_item .course-name sup{ color: var(--theme-color);}
.other-courses_item .course-name:before{ border: 1px solid var(--theme-color);}
.other-courses_item .course-name::after{
    border-top: 1px solid var(--theme-color);
    border-right: 1px solid var(--theme-color);}
.other-courses_item .year{
        font-size: 1.3rem;
        position: absolute;
        top: 8.73rem;
        left: 0;
    }

@media not all and (min-width:768px){
    .other-courses-box a{
        grid-template-columns: 100%;
        grid-template-rows: 10.4rem auto;
        justify-content: center;
        
    }
    .other-courses_img img{ height: 10.6rem;}
    .other-courses_item{
        padding: 1.6rem 1rem;
        align-self: center;
    }
    .other-courses_item .course-name:before{ top: .2rem;}
    .other-courses_item .course-name::after{ top: .7rem;}
}

@media (min-width:768px){
    .other-courses_item{ padding: .8em 1em; }
    .other-courses_item .year{margin-bottom: .5em;}
    .other-courses_item .course-name{ padding-left: 2.6rem;}
	.other-courses_item .course-name span{font-size: 1.6rem;}
    .other-courses_item .course-name::before{
        width: 2.1rem;
        height: 2.1rem;
        top: .3rem;
    }
    .other-courses_item .course-name::after{
        width: .7rem;
        height: .7rem;
        top: 1.0rem;
        left: .6rem;
        transform: rotate(45deg);
    }
}
@media (max-width:768px){
.other-courses-box{
    grid-template-columns: repeat(auto-fit ,48%);
}
}
.other-courses-box > a::before,
.other-courses-box > a::after {
    content:"";
    width: 0;
    height: 0;
    display: block;
    border-radius: 1rem;
    position: absolute;
    box-sizing: border-box;
    opacity: 0;
    transition: width 0.5s, height 0.5s, opacity 0.5s;
}
.other-courses-box > a::before {
    top: 0;
    left: 0;
    border-top: .1rem solid var(--theme-color);
    border-left: .1rem solid var(--theme-color);
}
.other-courses-box > a::after {
    right:0;
    bottom:0;
    border-right: .1rem solid var(--theme-color);
    border-bottom: .1rem solid var(--theme-color);
}
.other-courses-box > a:hover{ opacity: 1;}
.other-courses-box > a:hover::before,
.other-courses-box > a:hover::after {
    width:100%;
    height:100%;
    opacity:1;
}
/* 20250710視認性の悪い背景の調整 */
.school-life-cnt #day{
    background: #CAEFFD;
}
section.block-bg--gray{
    background: #efefef;
}

/* 20250711 視認性の悪い背景　*/
.point-list{
    border: 1px solid #c9c9c9;
    padding: 3.2rem 1.6rem;
    background: #fff;
    border-radius: 1rem;
}