
/*====================================================
////id |  main
====================================================*/
.main-inner {
    padding-top: min(10vw, 60px);

}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .page_title-head {
        font-size: min(8vw, 8rem);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  course
====================================================*/
.course-inner {
    width: 100%;
        max-width: none;
}

.course-item-link {
    display: block;
    position: relative;
}
.course-item-img-figure::after {
    background: #000;
    content: '';
    display: block;
    margin: auto;
    opacity: .5;
    position: absolute;
        top: 0;
        left: 0;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}
.course-item-text {
    color: #fff;
    display: flex;
        align-items: center;
        justify-content: center;
    font-weight: 500;
    position: absolute;
        top: 0;
        left: 0;
    text-align: center;
    width: 100%;
    height: 100%;
}
.course-item-text .en {
    line-height: 1;
    margin-bottom: .5em;
}
.course-item-text .arrow {
    filter: invert(10);
    margin-left: 0;
    margin-top: .5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .course-item-wrapper {
        display: grid;
    }
    .course-item-img-figure {
        padding-top: min(65vw, 350px);
    }
    .course-item-text {
        filter: drop-shadow(0 0 .3em #000);
    }
    .course-item-text .en {
        font-size: min(11vw, 5rem);
        margin-bottom: .2em;
    }
    .course-item-text .arrow {
        font-size: min(7vw, 4rem);
        margin-top: .3em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .course-item-wrapper {
        display: flex;
            flex-wrap: wrap;
    }
    .course-item {
        flex: 1;
        min-width: 50%;
    }
    .course-item-wrapper.items_odd .course-item:first-child {
        min-width: 100%;
    }
    .course-item-img-figure {
        padding-top: min(48vw, 640px);
    }
    .course-item-text .en {
        font-size: min(6vw, 7rem);
    }
    .course-item-text .arrow {
        font-size: min(5vw, 8rem);
    }
}

@media screen and (min-width: 1080px) {
    .course-item {
        min-width: calc(100% / 3);
    }
    .course-item-wrapper.items_odd .course-item:first-child {
        min-width: calc(100% / 3);
    }
    .course-item-img-figure {
        padding-top: min(33vw, 640px);
    }
    .course-item-text .en {
        font-size: min(4vw, 7rem);
    }
    .course-item-text .arrow {
        font-size: min(3.5vw, 8rem);
    }
}

@media (hover: hover) {
    a:hover .course-item-img-figure::after {
        opacity: .8;
    }
}

/*====================================================
////id |  flow
====================================================*/
#flow {
    overflow: hidden;
}
.flow-inner {
    max-width: none;
}
.flow-slider {
    display: grid;
        grid-gap: 20px;
}
.flow-slider.is-overflow {
    margin: auto;
    width: 90%;
}
.flow-slider .splide__track {
    overflow: visible;
}
.flow-slider .splide__track.is-overflow {
    display: flex;
    justify-content: center;
}
.flow-slider .splide__arrows {
    display: flex;
        gap: min(5vw, 100px);
        justify-content: space-between;
    grid-row: 2;
    position: unset;
}
.flow-slider .splide__arrow {
    background: var(--gray);
    flex: 1;
    margin: 0;
    max-width: 80px;
    position: unset;
}
.flow-slider .splide__arrow::before {
    display: none;
}
.flow-slider .splide__arrow svg {
    display: block;
    height: 60%;
}
.flow-slider-progress {
    margin-top: 0;
}

.flow-item {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
    padding: min(6vw, 45px) 20px;
    position: relative;
}
.flow-item::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 40"><path fill="%23888888" d="M40,20c0,11.05-8.95,20-20,20S0,31.05,0,20,8.95,0,20,0s20,8.95,20,20Z" /><path fill="%23ffffff" d="M24.72,24.18v-3.32H7.41v-1.72h17.31v-3.32l7.87,4.18-7.87,4.18Z" /></svg>') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: calc(100% + 7px);
        bottom: 0;
    width: 26px;
    height: 26px;
}
.flow-item:last-child::after {
    display: none;
}
.flow-item-img {
    margin: auto;
    width: min(60%, 150px);
}
.flow-item dt {
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.4;
    margin: .3em 0;
    min-height: 3.5em;
    text-align: center;
}
.flow-item dd {
    font-size: .9em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .flow-slider.is-overflow {
        width: min(calc(100% - 100px), 400px);
    }

}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

@media (hover: hover) {}

/*====================================================
////id |  coach
====================================================*/
#coach {
    background: #fff;
    overflow: hidden;
}
.coach-inner {
    max-width: none;
}
.coach-item-wrapper {
    margin: auto;
    width: 90%;
}
.coach-slider .splide__track {
    overflow: visible;
}
.coach-slider .splide__arrows {
    display: none;
}
.coach-item-link {
    display: block;
    text-align: center;
}
.coach-item-img {
    margin-bottom: 10px;
}
.coach-item-img-figure {
    padding-top: 100%;
}
.coach-item-text {
    line-height: 1.4;
}
.coach-item-text .position {
    font-size: .5em;
}
.coach-item-name {
    font-weight: 500;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    .coach-item-wrapper {
        max-width: 540px;
    }
}
@media screen and (max-width: 769px) {
    .coach-item-wrapper {
        max-width: min(60%, 300px);
    }
    .coach-item-text {
        font-size: min(4.5vw, 2.8rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .coach-item-text {
        font-size: min(2.6vw, 2.5rem);
    }
}

@media screen and (min-width: 1300px) {
    .coach-item {
        width: calc(100% / 4 - min(4vw, 40px) * 3 / 4);
    }
    .coach-item-text {
        font-size: min(1.8vw, 2.5rem);
    }
}


@media (hover: hover) {}

/*====================================================
////id |  voice
====================================================*/
#voice {
    background: #fff;
}
.voice-item {
    background-image: repeating-linear-gradient(90deg, var(--d_gray), var(--d_gray) 2px, transparent 2px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    font-size: .9em;
    padding: min(7vw, 50px) 0;
}
.voice-item:first-child {
    padding-top: 0;
}
.voice-item-img {
    width: min(30vw, 180px);
}
.voice-item:nth-child(odd) .voice-item-img {
    float: left;
    margin: 0 1em .25em 0;
}
.voice-item:nth-child(even) .voice-item-img {
    float: right;
    margin: 0 0 .25em 1em;
}
.voice-item-img-figure {
    border-radius: 100%;
    border: solid 1px var(--gray);
    padding-top: 100%;
}
.voice-item-user {
    text-align: center;
}
.voice-item ul {
    list-style: disc;
    margin: .4em 0;
    transform: translateX(1.5em);
    width: calc(100% - 1.5em);
}
.voice-item ul li {
    padding: 0;
}
.voice-item ul li::before {
    display: none;
}
.voice-item ul li + li {
    margin-top: .4em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .voice-item-user {
        font-size: .8em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .voice-item-user {
        font-size: 1.4rem;
    }

}

@media (hover: hover) {}

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

@media (hover: hover) {}
