@font-face {
    font-family: "main-w3";
    src: url("../fonts/hiragino-kaku-gothic-pro-w3.otf") format("opentype");
}
@font-face {
    font-family: "main-w6";
    src: url("../fonts/hiragino-kaku-gothic-pro-w6.otf") format("opentype");
}
@font-face {
    font-family: "en";
    src: url("../fonts/sf-pro.ttf") format("truetype");
}


* {
    margin: 0;
    padding: 0;
    color: #E8E8E8;
    text-decoration: none;
    font-family: "main-w6", sans-serif;
    --main-color: #852D7D;
}
/* uk 上書き */
.uk-close, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6 {
    color: #E8E8E8;
    font-family: "main-w6", sans-serif;
}
address, dl, fieldset, figure, ol, p, pre, ul,
.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6,
*+.uk-h1, *+.uk-h2, *+.uk-h3, *+.uk-h4, *+.uk-h5, *+.uk-h6, *+.uk-heading-2xlarge, *+.uk-heading-large, *+.uk-heading-medium, *+.uk-heading-small, *+.uk-heading-xlarge, *+h1, *+h2, *+h3, *+h4, *+h5, *+h6 {
    margin: 0;
    padding: 0;
}
a:hover {
    text-decoration: none !important;
}
/* uk 上書き */

html {
    background: #333;
}

video {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    position: sticky;
    overflow: hidden;
    top: 0;
    z-index: -1;
}

/* fade inするアニメーション */
.fade_in{
    opacity: 0;
    transition: .5s cubic-bezier(0.65, 0, 0.35, 1);
}
/* .fade_in_out{
    opacity: 0;
    transition: .5s cubic-bezier(0.65, 0, 0.35, 1);
} */
.is_fade_in{
    margin-top: 0;
    opacity: 1;
}
/* //fade inするアニメーション */

/* 文字の遅延表示 */
.txt_anime{ opacity: 0; }
.is_animated {
    width: 100%;
    opacity: 1;
}

.is_animated>span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
}
.is_animated>span:nth-of-type(1) { animation: slideText .9s linear; }
.is_animated>span:nth-of-type(2) { animation: slideText 1.3s linear; }
.is_animated>span:nth-of-type(3) { animation: slideText 1.5s linear; }
.is_animated>span:nth-of-type(4) { animation: slideText 1.7s linear; }
.is_animated>span:nth-of-type(5) {animation: slideText 1.8s linear; }
.is_animated>span:nth-of-type(6) {animation: slideText 1.9s linear; }
.is_animated>span:nth-of-type(7) { animation: slideText 2s linear; }
.is_animated>span:nth-of-type(8) { animation: slideText 2.2s linear; }
.is_animated>span:nth-of-type(9) { animation: slideText 2.3s linear; }
.is_animated>span:nth-of-type(10) { animation: slideText 2.5s linear; }
@keyframes slideText {
    0% { width: 0; }
    100% { width: 100%; }
}
/* //文字の遅延表示 */


/* ------ header ------ */
/* ------ header ------ */
/* ------ header ------ */
header {
    position: sticky;
    top: 20px;
    margin: 0px 12px -80px;
    display: flex;
    align-items: flex-start;
    z-index: 100;
}
header a {
    font-size: max(1.38vw , 16px);/* PC 20px */
    margin: 0 12px;
}
@media screen and (min-width:856px) {
    header a:hover p {
        color: var(--main-color);
    }
}
header img {
    width: 86px;
    height: auto;
}
.humberger-modal {
    width: 100vw;
    height: 100vh;
    padding: 0;
}
.humberger-modal > div {
    background: #501F74;
    width: 100%;
    height: 100%;
    display: grid;
}
.humberger-modal-card ul {
    display: grid;
    grid-template-columns: 1;
    gap: 30px;
    list-style: none;
}
.humberger-modal-card li {
    font-size: 24px;
    display: inline;
}
.uk-modal-close-inside {
    top: 20px;
    right: 25px;
}
@media screen and (max-width:855px) {
    header {
        justify-content: space-between;
    }
    header img {
        width: 80px;
    }
}


/* ------ main ------ */
/* ------ main ------ */
/* ------ main ------ */
main {
    margin-top: 20px;/* header top */
}
.u-sec,
.l-sec {
    position: relative;/* mov move */
}
@media screen and (max-width:855px) {
    main {
        margin-top: 0px;
    }
}

/* u-sec */
/* ------ main view ------ */
/* ------ main view ------ */
/* ------ main view ------ */
.mv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}
.mv-box {
    position: absolute;
    top: 50vh;
    left: 15vw;
    transform: translateY(-50%);
}
.mv h1 {
    font-size: max(8.33vw , 50px);/* PC 120px */
    font-family: "en", sans-serif;
    font-weight: 700;
    line-height: 0.94;
    margin-bottom: 4px;
}
.mv p {
    font-size: max(1.94vw , 16px);/* PC 28px */
}
@media screen and (max-width:855px) {
    .mv-box {
        top: 40vh;
        left: 10vw;
    }
    .mv h1 {
        line-height: 1.2;
        margin-bottom: 16px;
    }
}


/* ------ sub view ------ */
/* ------ sub view ------ */
/* ------ sub view ------ */
.sv {
    /* height: 150vh; */
    /* padding: calc(148px + 100vh) 0; */
    padding-left: 15vw;
    /* position: relative; */
}
.sv > .sv-txts {
    padding: 20vw 0;
    /* position: sticky; */
    /* top: 20vh; */
}
.sv h2 {
    font-size: max(2.77vw , 24px);/* PC 40px */
    margin-bottom: 60px;
}
.sv h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
}
@media screen and (max-width:855px) {
    .sv {
        padding: 120px 20px;
    }
}

/* ------ transition view ------ */
/* ------ transition view ------ */
/* ------ transition view ------ */
.grid-container {
    width: 100vw;
    height: 206vh;
    position: relative;
    overflow: hidden;
    /* background: #00122E55; */
}
.grid {
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    height: 60vw;
    position: absolute;
}
.gridLayer {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    will-change: transform;
    transform-origin: 50% 50%;
}
.gridLayer img {
    width: 100vw;
    border-bottom: 100vw solid #000;
    will-change: transform;
}
@media screen and (max-width:855px) and (min-width:731px) {
    .gridLayer img {
        border-top: 20vw solid #000;
    }
}
@media screen and (max-width:730px) {
    .gridLayer img {
        border-top: 60vw solid #000;
        border-bottom: 200vw solid #000;
    }
}

/* l-sec */
/* ------ Mindset Coaching Academy ------ */
/* ------ Mindset Coaching Academy ------ */
/* ------ Mindset Coaching Academy ------ */
.mca {
    padding: 25vw 15vw;
}
.mca .txt-box{
    position: absolute;
    top: 30vw;
}
.mca h2 {
    font-size: max(3.33vw , 32px);/* PC 48px */
    font-family: "en", sans-serif;
    font-weight: 700;
    margin-bottom: 20px;
}
.mca h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    width: 40vw;
    color: #bbb;
    text-shadow: #555 1px 1px 3px;
    line-height: 1.8;
}
.delayed-section {
    position: absolute;
    width: 30vw;/* 指定がなければimgサイズ30vw */
    height: auto;
    z-index: -1;
}
.delayed-section img {
    width: 100%;
    will-change: transform;
}
.del1 {
    width: 37vw;
    top: 8vw;
    left: 0;
    filter: brightness(0.8);
}
.del2 {
    width: 33vw;
    top: 17vw;
    right: 0;
    filter: brightness(0.8);
}
.del3 {
    width: 25vw;
    top: 25vw;
    right: 18vw;
    filter: brightness(0.8);
}
.del4 {
    width: 28vw;
    top: 55vw;
    right: 4vw;
    filter: brightness(0.8);
}
.del5 {
    width: 20vw;
    top: 66vw;
    right: 39vw;
    filter: brightness(0.8);
}
.del6 {
    width: 14vw;
    top: 75vw;
    left: 18vw;
    filter: brightness(0.8);
}
@media screen and (max-width:855px) {
    .mca {
        padding: 25vw 5vw;
    }
    .mca .txt-box{
        top: 50vw;
    }
    .mca h2 {
        margin-bottom: 8px;
    }
    .mca h3 {
        width: 80%;
        color: #fff;
        line-height: 1.9;
    }
    .del1 {
        width: 68.8vw;
        top: 20vw;
        /* left: 0; */
        filter: brightness(0.6);
    }
    .del2 {
        width: 44.8vw;
        top: 30vw;
        /* right: 0; */
        filter: brightness(0.6);
    }
    .del3 {
        width: 33.86vw;
        top: 48vw;
        /* right: 25vw; */
        filter: brightness(0.6);
    }
    .del4 {
        width: 37.6vw;
        top: 83vw;
        /* right: 4vw; */
        filter: brightness(0.6);
    }
    .del5 {
        width: 37.33vw;
        top: 90vw;
        /* right: 39vw; */
        filter: brightness(0.6);
    }
    .del6 {
        width: 21.6vw;
        top: 100vw;
        left: 8vw;
        filter: brightness(0.6);
    }
}
@media screen and (max-width: 480px) {
    .del1 {
        width: 68.8vw;
        top: 0vw;
        /* left: 0; */
        /* 20 */
    }
    .del2 {
        width: 44.8vw;
        top: 36vw;
        /* right: 0; */
        /* 30 */
    }
    .del3 {
        width: 33.86vw;
        top: 48vw;
        /* right: 25vw; */
    }
    .del4 {
        width: 37.6vw;
        top: 93vw;
        /* right: 4vw; */
        /* 83 */
    }
    .del5 {
        width: 37.33vw;
        top: 120vw;
        /* right: 39vw; */
        /* 90 */
    }
    .del6 {
        width: 21.6vw;
        top: 150vw;
        left: 8vw;
        /* 100 */
    }
}

/* ------ user voice ------ */
/* ------ user voice ------ */
/* ------ user voice ------ */
.uv .txt-box {
    display: flex;
    justify-content: center;
    align-items: center;
}
.uv h2 {
    font-size: max(14.58vw , 184px);/* PC 210px */
    font-family: "en", sans-serif;
    font-weight: 700;
    background: linear-gradient(180deg, #6C297C 0%, #4F6AB0 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.uv h2 small {
    font-size: 25%;
}
.uv h3 {
    font-size: max(2.77vw , 28px);/* PC 40px */
}
.uv p {
    font-size: max(1.11vw , 14px);/* PC 16px */
    text-align: center;
}
.uv {
    overflow: hidden;
}
.infinite-slider {
    width: 2100px;/* 内部のカードの枚数とサイズで算出 */
    margin: 24px 0;
}
.swiper-wrapper {
    display: flex;
    transition-timing-function: linear;
}
.swiper-slide {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
}
.swiper-card {
    width: calc( ( 100% / 6 )  - 30px - 20px * 2);
    height: 200px;
    padding: 12px 20px;
    border-radius: 10px;
    background: var(--30, linear-gradient(180deg, rgba(108, 41, 124, 0.30) 0%, rgba(79, 106, 176, 0.30) 100%));
    margin: 20px 30px 0px 0px;
}
.swiper-slide .swiper-card:nth-child(1) {
    margin-left: -100px;
}
.swiper-card div {
    display: flex;
    margin-bottom: 12px;
}
.swiper-card img {
    width: 68px;
    height: auto;
}
.swiper-card h4 {
    font-size: 12px;
    text-align: left;
    margin-left: 8px;
}
.swiper-card h5 {
    font-size: 14px;
    text-align: left;
    opacity: 0.8;
}
.swiper-card p {
    font-size: 10px;
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    text-align: left;
    margin-top: 6px;
    color: #E8E8E880;
}
@media screen and (max-width:855px) {
    .uv .txt-box {
        display: grid;
    }
    .uv h2 {
        line-height: 0.9;
    }
    .uv > p {
        width: 90vw;
        margin: 24px auto 0;
    }
    .infinite-slider {
        width: 1400px;/* 内部のカードの枚数とサイズで算出 */
    }
    .swiper-card {
        width: calc( ( 100% / 4 )  - 30px - 20px * 2);
    }
    .swiper-slide .swiper-card:nth-child(1) {
        margin-left: -200px;
    }
    .swiper-slide .swiper-card:nth-child(5) {
        margin-left: -100px;
    }
}
/* ------ scroll titiles ------ */
/* ------ scroll titiles ------ */
/* ------ scroll titiles ------ */
.scroll-titile {
    padding: 15vw 0;
    position: relative;
    overflow: hidden;
}

.scroll-titile h2 {
    font-size: max(2.77vw , 28px);/* PC 40px */
    text-align: center;
    position: relative;
    margin-bottom: 20px;
    z-index: 1;
}

.scroll-titile .after-element {
    position: absolute;
    top: -8.33vw;/* PC -120px */
    left: 0;
    z-index: -1;
    font-size: 11.8vw;/* PC 170px */
    font-family: "en", sans-serif;
    font-weight: 900;
    color: #1B1B1B;
    width: max-content;
    /* transform: translateX(800%); */
    width: 220vw;
    overflow: visible;
}
.scroll-titile h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    text-align: center;
    position: relative;
    z-index: 1
    ;
}
.scroll-titile > h3 {
    width: 90vw;
    margin: 0 auto;
    color: #a8a8a8;
}
@media screen and (max-width:855px) {
    .scroll-titile h2 {
        font-size: 20px;
        word-break: auto-phrase;
        width: 91vw;
        text-align: left;
        margin: 0 auto 20px;
    }
    .scroll-titile .after-element {
        top: -65px;
        font-size: 90px;
        width: fit-content;
        white-space: nowrap
    }
    .scroll-titile h3 {
        text-align: left;
    }
}

/* ------ leadership Coaching ------ */
/* ------ leadership Coaching ------ */
/* ------ leadership Coaching ------ */
.lc > img {
    width: 45vw;
    height: auto;
    margin: 50px calc(55vw / 2);
}
@media screen and (max-width:855px) {
    .lc > img {
        width: 90vw;
        margin: 50px calc(10vw / 2);
    }
}
/* ------ use case ------ */
/* ------ use case ------ */
/* ------ use case ------ */
.uc > img {
    width: 50vw;
    height: auto;
    margin: 50px calc(50vw / 2);
}
@media screen and (max-width:855px) {
    .uc > img {
        width: 70vw;
        margin: 50px calc(30vw / 2);
    }
}
/* ------ Curriculum ------ */
/* ------ Curriculum ------ */
/* ------ Curriculum ------ */
.cur > img {
    width: 74vw;
    height: auto;
    margin: 50px calc(26vw / 2);
}
/* ------ Learning Structure ------ */
/* ------ Learning Structure ------ */
/* ------ Learning Structure ------ */
.ls {
    background: #4F206C;
    padding: 40vw 0 10vw;
    clip-path: circle(90% at 50% 90%);
}
.ls h3 {
    margin-bottom: 28px;
}
.ls .after-element {
    margin-left: 52vw;
}
.ls-cards {
    display: grid;
    grid-template-columns: repeat(3, 21vw);
    justify-content: center;
    gap: 20px;
}
.ls-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 10px;
    padding: 16px;
    border-radius: 10px;
    background: linear-gradient(109deg, #1D1D1D 0.59%, #0E0E0E 100%);
}
.ls-card h4 {
    color: #A8A8A8;
    text-align: center;
    font-size: max(1.11vw , 14px);/* PC 16px */
}
.ls-card img {
    width: 100%;
}
.ls-card h5 {
    color: #A8A8A8;
    text-align: left;
    font-size: 12px;
    font-family: "main-w3", sans-serif;
    font-weight: 300;
}
@media screen and (max-width:855px) {
    .ls {
        padding: 45vw 0 10vw;
        clip-path: circle(90% at 50% 70%);
    }
    .ls-cards {
        grid-template-columns: repeat(2, 46.4vw);
        column-gap: 6px;
        row-gap: 12px;
    }
}
/* ------ gradient-p ------ */
/* ------ gradient-p ------ */
/* ------ gradient-p ------ */
.gradient-p {
    background: linear-gradient(180deg, #4F206C 18.25%, #343872 79.91%);
}
@media screen and (max-width:855px) {
    .gradient-p .scroll-titile .after-element{
        margin-left: -200px;
    }
}
/* ------ instructor ------ */
/* ------ instructor ------ */
/* ------ instructor ------ */
.ins h2 {
    margin-bottom: 32px;
}
.ins-container {
    width: fit-content;
    margin: 0 auto;
    background: #000;
    border-radius: 10px;
    padding: 60px 42px;
}
.ins-area {
    display: grid;
    grid-template-columns: 24.86vw calc(17.36vw * 4 + 2.78vw * 3 - 24.86vw - 4.51vw);/* PC 358px 604px; */
    column-gap: 4.51vw;/* PC 65px; */
    row-gap: 1.11vw;/* PC 16px; */
    margin-bottom: 6.25vw;/* PC 90px; */
}
.ins-img {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.sns-icons {
    margin-top: 16px;
}
.sns-icons a {
    margin-right: 16px;
}
.sns-icons img {
    height: max(2.77vw, 30px);/* PC 40px */
}
@media screen and (min-width:856px) {
    .sns-icons img:hover {
        opacity: 0.7;
    }
}
.ins-explain {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}
.ins-explain h3 {
    font-size: max(2.5vw , 20px);/* PC 36px */
    text-align: left;
    margin-bottom: 16px;
}
.ins-explain h4 {
    font-size: 14px;
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    margin-bottom: 21px;
}
.ins-profile {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.ins-explain h5,
.ins-profile h5 {
    font-size: 10px;
    font-weight: 500;
}
.ins-profile-img {
    width: max(7.63vw, 90px);/* PC 110px */
    margin-top: 12px;
}
.ins-profile ul {
    margin-bottom: 10px;
}
.ins-profile li {
    font-size: 10px;
    font-weight: 500;
    list-style: inside "・";
}
.ins-mentor h3 {
    font-size: max(1.38vw , 16px);/* PC 20px */
    font-weight: 900;
    text-align: left;
    margin-bottom: 16px;
}
.ins-mentor-cards {
    display: grid;
    grid-template-columns: repeat(4, 17.36vw);/* PC 250px */
    justify-content: center;
    gap: 2.78vw;/* PC 40px */
}
@media screen and (min-width:856px) {
    .ins-mentor-card:hover {
        opacity: 0.7;
    }
}
.ins-mentor-card img {
    width: 100%;
}
.ins-mentor-card h4 {
    font-size: max(1.11vw , 11px);/* PC 14px */
    font-weight: 600;
}
.ins-mentor-card h5 {
    font-size: max(0.9vw , 10px);/* PC 12px */
    font-family: "main-w3";
    font-weight: 300;
}
.ins-mentor-card p {
    color: #E8E8E8;
    font-size: max(0.9vw , 10px);/* PC 12px */
    font-weight: 600;
    text-decoration-line: underline;
    margin-top: 8px;
}
.ins-mentor-cv {
    margin: 60px auto 0;
    width: fit-content;
}
.ins-mentor-cv a {
    display: inline-block;
}
.ins-mentor-cv p {
    font-size: max(1.38vw , 16px);/* PC 20px */
    padding: 17px 60px;
    border-radius: 999px;
    background: linear-gradient(180deg, #6C297C 0%, #4F6AB0 100%);
}
@media screen and (min-width:856px) {
    .ins-mentor-cv p:hover {
        opacity: 0.7;
    }
}
@media screen and (max-width:855px) {
    .ins-container {
        padding: 24px 20px;
    }
    .ins-area {
        grid-template-columns: repeat(1, 80vw);
        gap: 0;
        margin-bottom: 6.25vw;
    }
    .ins-img {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .ins-explain {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .ins-explain h3 {
        margin-top: 16px;
    }
    .ins-profile {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }
    .ins-mentor-cards {
        grid-template-columns: repeat(2, 37.5vw);
        column-gap: 5vw;
        row-gap: 16px;
    }
    .ins-mentor-cv {
        margin: 24px auto 0;
    }
}

/* ------ Graduation Support ------ */
/* ------ Graduation Support ------ */
/* ------ Graduation Support ------ */
.gs h3 {
    margin-bottom: 28px;
}
.gs-cards {
    display: grid;
    grid-template-columns: repeat(4, 21vw);
    justify-content: center;
    gap: 20px;
}
.gs-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 10px;
    padding: 16px;
    border-radius: 10px;
    background: linear-gradient(109deg, #1D1D1D 0.59%, #0E0E0E 100%);
}
.gs-card h4 {
    color: #A8A8A8;
    text-align: center;
    font-size: max(1.11vw , 12px);/* PC 16px */
}
.gs-card img {
    width: 100%;
}
.gs-card h5 {
    color: #A8A8A8;
    text-align: left;
    font-size: 12px;
    font-family: "main-w3", sans-serif;
    font-weight: 300;
}
@media screen and (max-width:855px) {
    .gs-cards {
        grid-template-columns: repeat(2, 46.4vw);
        column-gap: 6px;
        row-gap: 12px;
    }
}

/* ------ Graduates in Action ------ */
/* ------ Graduates in Action ------ */
/* ------ Graduates in Action ------ */
.gia {
    background: #343872;
    padding: 20vw 0 40vw;
    clip-path: circle(90% at 50% 10%);
}
.gia-modals {
    display: grid;
    grid-template-columns: repeat(5, calc(17.36vw + 2.3vw));
    overflow: auto; /* 変更点：必要に応じて 'scroll' を 'auto' に変更 */
    scrollbar-width: thin; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    gap: 2.3vw;
    margin-top: 50px;
    padding: 30px 10vw;
    cursor: grab;
    cursor: -webkit-grab;
}
.gia-modals.active {
    cursor: grabbing;
    cursor: -webkit-grabbing;
}
.gia-modals::-webkit-scrollbar { 
    height: 8px;
    display: none; /* Chrome, Safari, Opera */
}
.gia-modals::-webkit-scrollbar-thumb {
    background-color: rgba(100, 100, 100, 0.5);
    border-radius: 4px;
}
.gia-modal img {
    width: 100%;
    margin-bottom: 8px;
    position: relative;
}
.gia-modal img::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    background: linear-gradient(180deg, rgba(31, 31, 31, 0.00) 0%, #1F1F1F 154.26%);
}
@media screen and (min-width:856px) {
    .gia-modal:hover img {
        box-shadow: 0px 0px 30px #1B1B1B;
    }
}
.gia-modal h4 {
    font-size: 16px;
    margin-bottom: 10px;
}
.gia-modal h5 {
    font-size: 12px;
}
.gia-modalr h4,
.gia-modalr h5 {
    text-shadow: 0px 0px 30px #1B1B1B;
}
[id^="gia_modal0"] {
    z-index: 1112; /* ctaボタンを下にする */
}
.gia-modal-card {
    width: 70vw;
    height: fit-content;
    border-radius: 10px;
    background: #191919;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.gia-modal-card-main {
    width: 100%;
    display: grid;
    grid-template-columns: 21.5vw 34.7vw;/* bttonの分だけ0追加 */
    align-items: flex-start;
    justify-content: center;
    gap: 2.5vw;
    margin-bottom: 3vw;
}
.card-left img {
    width: 100%;
    margin-bottom: 1vw;
}
.card-left h3 {
    font-size: max(1.11vw , 11px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    margin-bottom: 0.9vw;
}
.card-left h4 {
    font-size: max(0.9vw , 10px);/* PC 12px */
    color: #a8a8a8;
    font-weight: 300;
    font-family: "main-w3", sans-serif;
}
.card-right {
    height: calc( 30vw - 30px );
    overflow: scroll;
    padding-bottom: 30px;
}
.card-right-cover {
    height: fit-content;
    position: relative;
}
.card-right-cover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, #19191900 0%, #191919 110%);
    pointer-events: none;
}
.card-right h4 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    line-height: 2;
}
.card-right h5 {
    font-size: max(1.11vw , 10px);/* PC 12px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    line-height: 1.8;
    margin-bottom: 10px;
    color: #a8a8a8;
}
.modal_btn_center{
    text-align: center;
}
@media screen and (max-width:855px) {
    .gia {
        padding: 20vw 0 80vw;
    }
    .gia-modals {
        grid-template-columns: repeat(5, 225px);
        margin-top: 0px;
        padding: 14px 5vw;
    }
    .gia-modal-card {
        width: 90vw;
        height: 90vh;
    }
    .gia-modal-card-main {
        grid-template-columns: repeat(1, 1fr);
    }
    .card-left img {
        width: auto;
        height: 36vh;
    }
    .card-right {
        height: calc(23vh - 30px);
    }
    .modal_btn_center{
        font-size: 14px;
    }
}
/* ------ Price & Plan ------ */
/* ------ Price & Plan ------ */
/* ------ Price & Plan ------ */
.pp h3 a {
    color: #a8a8a8;
    text-decoration: underline;
}
@media screen and (min-width:856px) {
    .pp h3 a:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
}
.price-table {
    display: grid;
    grid-template-columns: repeat(4, 20vw);
    justify-content: center;
    margin: 45px 0 30px;
}
.price-cell {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    text-align: center;
    position: relative;
}
.price-table .price-cell:nth-child(3) {
    background: #d9d9d911;
    border: 3px solid #692cb955;
}
.price-cell h4 {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    font-size: max(1.38vw , 14px);/* PC 20px */
    font-family: "en", "main-w6", sans-serif;
    font-weight: 700;
    border-bottom: 1px solid #E8E8E8;
    padding: 20px 0;
}
.price-cell h4 a {
    width: 90%;
    margin: 30px auto 0;
    border-radius: 10px;
    background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
}
.price-cell h4 p {
    font-size: max(2.08vw , 20px);/* PC 30px */
    font-family: "en", "main-w3", sans-serif;
    font-weight: 300;
    width: 80%;
    display: inline-block;
    padding: 20px 0;
}
.price-cell h4 p small {
    font-size: 50%;
}
@media screen and (min-width:856px) {
    .price-cell h4 p:hover {
        opacity: 0.7;
    }
}
.price-cell h5 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    border-bottom: 0.5px solid #545454;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center; 
}
.price-table .price-cell:nth-child(1) h5 {
    font-size: max(1.38vw , 14px);/* PC 20px */
}
.pp h6 {
    font-size: 10px;
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    line-height: 1.8;
    margin-left: 10vw;
}
@media screen and (max-width:855px) {
    .pp > h2 {
        text-align: center;
    }
    .price-table {
        grid-template-columns: 40px 150px 150px 150px;
        padding-left: 3vw;
        overflow: scroll;
        justify-content: flex-start;
    }
    .price-cell h4 p {
        width: 100%;
    }
    .price-cell h5 {
        font-size: 12px;
        height: 115px;
    }
    .price-table .price-cell:nth-child(1) h5 {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        letter-spacing: 4px;
    }
    .pp h6 {
        margin-left: 3vw;
    }
}


/* ------ FLOW ------ */
/* ------ FLOW ------ */
/* ------ FLOW ------ */
.flo > img {
    width: 45vw;
    height: auto;
    margin: 50px calc(55vw / 2);
}
@media screen and (max-width:855px) {
    .flo > h2 {
        text-align: center;
    }
    .flo > img {
        width: 93vw;
        margin: 24px calc(7vw / 2);
    }
}
/* ------ EVENT ------ */
/* ------ EVENT ------ */
/* ------ EVENT ------ */
.event-cards {
    display: grid;
    grid-template-columns: repeat(2, 26.52vw);
    justify-content: center;
}
.event-cards a {
    margin: 1.11vw;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 6;
}
@media screen and (min-width:856px) {
    .event-card:hover {
        background: rgba(14, 14, 14, 0.99);
    }
}
.event-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 6;
    border-radius: 10px;
    padding: 1.11vw;
    background: rgba(14, 14, 14, 0.40);
    -webkit-transition: background .3s ease;
    transition: background .3s ease;
}
.event-card img {
    width: 100%;
    margin-bottom: 0.83vw;
}
.event-card p:first-of-type {
    font-size: 10px;
    color: #a8a8a8;
}
.event-card h5 {
    font-size: 12px;
    color: #e8e8e8;
}
.event-card h4 {
    font-size: 20px;
    color: #fff;
    margin-bottom: 8px;
}
.event-card h6 {
    font-size: 12px;
    color: #a8a8a8;
    margin-bottom: 14px;
}
.event-card p:last-of-type {
    font-size: 16px;
    color: #fff;
    width: fit-content;
    padding: 6px 8px;
    border-radius: 10px;
    background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
}
@media screen and (max-width:855px) {
    .eve > h2 {
        text-align: center;
    }
    .event-cards {
        display: grid;
        grid-template-columns: repeat(1, 93vw);
        justify-content: center;
    }
    .event-card {
        padding: 16px;
    }
}
/* ------ movie ------ */
/* ------ movie ------ */
/* ------ movie ------ */
.cm{
    height: 175vh;
    position: relative;
}
.concept_txt{
    width: 100vw;
    height: 100vh;
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.playback_box{
    text-align: center;
}
.playback_box>h2{
    font-size: max(2.08vw , 20px);/* PC 30px */
    color: #fff;
    margin-bottom: 60px;
    
}
.playback_box>p{
    font-size: 40px;
    color: #fff;
    margin-top: 20px;
}
/* mov大きくなって留まる */
.concept_mov{
    display: flex;
    justify-content: center;
    position: sticky;
    top: 0;
    overflow: hidden;
    scale: 0.8;
    filter:brightness(1);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.concept_mov_adjust{
    scale: 1;
    filter:brightness(0.4);
}
.conv {
    width: 100%;
    height: auto;
    max-width: none;
    z-index: 100;
}
/* //mov大きくなって留まる */

#youtube_modal01 {
    z-index: 1112; /* sticky cta より前 */
}
.youtube_modal {
    width: 72vw;
    height: fit-content;
    background: none;
    padding: 0;
}
.youtube_modal iframe{
    width: 72vw;
    height: 40.5vw;
}
@media screen and (min-width:856px) {
    .playback_box svg:hover {
        fill: #ffffff55;
    }
    .playback_box svg:hover * {
        stroke: transparent;
    }
}
@media screen and (max-width:855px) {
    .playback_box>h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .playback_box svg {
        width: 80px;
    }
    .playback_box>p {
        font-size: 20px;
        margin-top: 10px;
    }
    .youtube_modal {
        width: 90vw;
    }
}

/* ------ Q&A ------ */
/* ------ Q&A ------ */
/* ------ Q&A ------ */
.questions{
    width: 62.5vw;
    max-width: 900px;
    text-align: left;
    margin: 50px auto 0;
}
.question{
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.10);
    padding: 24px;
    margin-bottom: 24px;
}
.question div{
    display: flex;
    align-items: baseline;
    margin-bottom: 0.7vw;
}
.question div:nth-child(1) p {
    font-size: max(1.11vw , 14px);/* PC 16px */
}
.question div:nth-child(1)::before{
    content: "Q";
    font-size: max(1.66vw , 16px);/* PC 24px */
    font-weight: 800;
    margin-right: 2.1vw;
}
.question div:nth-child(2) p {
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    color: #a8a8a8;
}
.question div:nth-child(2)::before{
    content: "A";
    font-size: max(1.66vw , 16px);/* PC 24px */
    font-weight: 800;
    margin-right: 2.1vw;
    height: 100%;
    color: #a8a8a8;
}
@media screen and (max-width:855px) {
    .qa > h2 {
        text-align: center;
    }
    .questions {
        width: calc( 100% - 40px );
        max-width: none;
        padding: 20px;
        margin: 25px auto 0;
    }
    .question p {
        font-size: 12px;
    }
    .question div:nth-child(1)::before,
    .question div:nth-child(2)::before {
        font-size: 16px;
    }
}

/* ------ read-more ------ */
/* ------ read-more ------ */
/* ------ read-more ------ */
.read-more {
    display: flex;
    justify-content: center;
}
.read-more a {
    display: flex;
    align-items: center;
}
@media screen and (min-width:856px) {
    .read-more a:hover {
        opacity: 0.7;
    }
}
.read-more p {
    font-size: 24px;
    font-weight: 900;
    background: linear-gradient(91deg, #6C297C 25.18%, #4F6AB0 79.39%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.read-more img {
    width: 50px;
    height: auto;
    margin-left: 8px;
}


.prev-footer.curriculum-page {
    padding-bottom: 20vw;
    display: grid;
    grid-template-columns: repeat(2, 280px);
    justify-content: center;
}
.prev-footer a {
    display: flex;
    justify-content: center;
    align-items: center;
}
.prev-footer p {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    display: inline-block;
}
.prev-footer img {
    width: 50px;
    height: auto;
    margin-left: 8px;
}

/* ------ footer ------ */
/* ------ footer ------ */
/* ------ footer ------ */
footer {
    position: relative;
    z-index: 100;
}
.footer-contents {
    display: grid;
    justify-content: center;
    align-items: flex-start;
    grid-template-columns: 198px 165px 204px;
    gap: min(12.5vw, 180px);/* PC 180px; */
    background: #fff;
    padding: 80px 0 160px;
}
.footer-line {
    width: 100%;
    height: 12px;
    background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
}
@media screen and (min-width:856px) {
    [class^="footer-icons-"]:hover {
        opacity: 0.7;
    }
}
.footer-icons-logo {
    width: 198px;
    height: auto;
    margin-bottom: 20px;
}
.footer-icons-youtube {
    width: 53px;
    height: auto;
}
.footer-icons-note {
    width: 37px;
    height: auto;
    margin-left: 12px;
}
.footer-contents a {
    width: fit-content;
    height: fit-content;
}
.footer-contents li {
    font-size: 16px;
    color: #6C297C;
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
}
.footer-contents li::before {
    content: '';
}
@media screen and (min-width:856px) {
    .footer-contents li:hover {
        text-decoration: underline;
    }
}
.footer-contents li.footer-line {
    width: fit-content;
    height: fit-content;
    color: #fff;
    background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
    padding: 8px;
    margin-left: -8px;
}
@media screen and (max-width:855px) {
    .footer-contents ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
    .footer-contents li {
        font-size: 14px;
    }
    .footer-contents {
        grid-template-columns: repeat(1, 60%);
        gap: 0;
        padding: 45px 0;
    }
    .footer-outsite-icons {
        margin-bottom: 32px;
    }
}


/* ------ 追従CTA ------ */
/* ------ 追従CTA ------ */
/* ------ 追従CTA ------ */
.cta {
    z-index: 1111;/* 最前面(Uikit-momdalより前) */
    position: sticky;
    bottom: 2vw;
    right: 2vw;
    display: flex;
    justify-content: end;
    margin-top: -10vw;
    pointer-events: none;
}
.entry_btn {
    margin: 0 .75vw;
    position: relative;
    display: flex;
    align-items: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    pointer-events: all;
}
.cta>a>div {
    position: relative;
    width: 135px;
}
.cta>a img {
    width: 100%;
}
.cta>a>p {
    font-size: max(1.11vw , 14px);/* PC 16px */
    color: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 20;
}
.cv_entry > p,
.cv_infosession > p {
    margin-left: -16px;
    padding-right: 8px;
}
.cv_entry::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #ffffff00 0%, #000 40%);
    z-index: 11;
}
.cv_infosession::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #ffffff00 0%, #6C297C 40%, #4F6AB0 100%);
    z-index: 11;
}
@media screen and (min-width:856px) {
    .cv_entry:hover::before,
    .cv_infosession:hover::before {
        background: linear-gradient(-90deg, #fff 65%, transparent 70%);
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }
    .cv_entry:hover p,
    .cv_infosession:hover p {
        color: #000;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
    }
}
@media screen and (min-width:856px) {
    .sp {
        display: none;
    }
}
@media screen and (max-width:855px) {
    .pc {
        display: none;
    }
    .cta {
        bottom: 8vw;
        margin-top: -16vw;
        justify-content: center;
    }
    .cta>a {
        width: 47vw;
        margin: 0;
    }
    .cta>a>p {
        font-size: 12px;
        width: 100%;
        text-align: center;
    }
    .cv_entry > p,
    .cv_infosession > p {
        margin: 0px;
    }
    .entry_btn p {
        color: #000;
        padding: 12px;
    }
    .cv_entry::before {
        background: linear-gradient(90deg, #555 0%, #111 40%);
    }
    .cv_infosession {
        padding-right: 0px;
    }
    .cv_infosession::before {
        background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
    }
}
@media screen and (max-width: 480px) {
    .cta {
        bottom: 8vw;
        justify-content: space-around;
    }
}


/* ---------------------------------------------- */
/* ------------------ sub page ------------------ */
/* ---------------------------------------------- */
.sub-page video {
    margin-bottom: -97vh;
}
.sub-page .scroll-titile {
    padding: 20vw 0 15vw;
}
.title {
    width: 94vw;
    padding: 11vw 3vw 8.33vw;
    background-image:
        linear-gradient(0deg, #ffffff00 85.96%, #000 101.04%), /* 上方向のグラデーション */
        linear-gradient(180deg, #ffffff00 85.96%, #000 101.04%), /* 下方向のグラデーション */
        url(../img/subpage_title_bg.png); /* 背景画像 */
    /* background-repeat: no-repeat; */
    background-position: center;
    background-size: cover;
    margin-top: -20px;
}
.title h1 {
    font-size: max( 5.55vw , 40px );/* PC 80px */
    font-family: "en", sans-serif;
    font-weight: 900;
    line-height: 1;
}
.title p {
    font-size: max( 1.66vw , 20px );/* PC 24px */
}
.sub-page-top-sec {
    background: linear-gradient(0deg, #ffffff00 85.96%, #000 101.04%);
}
@media screen and (max-width:855px) {
    .title {
        padding: 23vw 3vw 18vw;
    }
}
/* ------------------------- */
/* ------ infosession ------ */
/* ------------------------- */
/* ------ sub page(infosession): Information session ------ */
/* ------ sub page(infosession): Information session ------ */
/* ------ sub page(infosession): Information session ------ */
.is-container {
    display: grid;
    grid-template-columns: 37.22vw 45vw;
    gap: 10px;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
}
.is-container img {
    width: 100%;
    height: auto;
}
.is-container h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    text-align: left;
}
@media screen and (max-width:855px) {
    .is > h2 {
        text-align: center;
    }
    .is-container {
        grid-template-columns: repeat(1, 90vw);
        gap: 10px;
        justify-content: center;
        align-items: flex-start;
        margin-top: 4vw;
    }
}
/* ------ sub page(infosession): Agenda ------ */
/* ------ sub page(infosession): Agenda ------ */
/* ------ sub page(infosession): Agenda ------ */
.age > img {
    width: 62vw;
    height: auto;
    margin: 50px calc(38vw / 2) 12px;
}
.age p {
    font-size: 12px;
    margin-left: 19vw;
}

@media screen and (max-width:855px) {
    .age > h2 {
        text-align: center;
    }
    .age > img {
        width: 90vw;
        margin: 20px calc(10vw / 2) 6px;
    }
    .age p {
        margin-left: 5vw;
    }
}

/* ------　sub page(infosession): FLOW ------ */
/* ------　sub page(infosession): FLOW ------ */
/* ------　sub page(infosession): FLOW ------ */
.sub-page .flo img {
    width: 45vw;
    height: auto;
    margin: 50px calc(55vw / 2);
}
@media screen and (min-width:856px) {
    .sub-page .flo img:hover {
        opacity: 0.7;
    }
}
@media screen and (max-width:855px) {
    .sub-page .flo img {
        width: 90vw;
        margin: 50px calc(10vw / 2);
    }
}
/* ------　sub page(infosession): instructor ------ */
/* ------　sub page(infosession): instructor ------ */
/* ------　sub page(infosession): instructor ------ */
@media screen and (max-width:855px) {
    .sub-page .ins > h2 {
        text-align: center;
    }
}


/* ------------------------- */
/* ------ Curriculum ------ */
/* ------------------------- */
/* ------ sub page(Curriculum): Learning Style ------ */
/* ------ sub page(Curriculum): Learning Style ------ */
/* ------ sub page(Curriculum): Learning Style ------ */
.lst > img {
    width: 62vw;
    height: auto;
    margin: 50px calc(38vw / 2) 12px;
}
.lst p {
    font-size: 12px;
    margin-left: 19vw;
}

@media screen and (max-width:855px) {
    .lst > img {
        width: 90vw;
        margin: 20px calc(10vw / 2) 6px;
    }
    .lst p {
        margin-left: 5vw;
    }
}
/* ------ sub page(Curriculum): Self Application ------ */
/* ------ sub page(Curriculum): Self Application ------ */
/* ------ sub page(Curriculum): Self Application ------ */

/* ------ sub page(aboutcoaching): Processを共通で利用 ------ */
[class^="proc-container-curriculum-0"] {
    margin-left: 15vw;
}
[class^="proc-container-curriculum-0"] h3 {
    font-size: max(2.08vw , 20px);/* PC 30px */
    font-weight: 600;
    margin-bottom: 12px;
}
[class^="proc-container-curriculum-0"] h4 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-weight: 600;
    margin-bottom: 32px;
}
[class^="proc-container-curriculum-0"]:not(:last-of-type) {
    margin-bottom: 104px;
}
@media screen and (max-width:855px) {
    [class^="proc-container-curriculum-0"] {
        margin-left: 0vw;
    }
    [class^="proc-container-curriculum-0"] h3 {
        display: inline-block;
        position: relative;
        background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
        padding-left: 14vw;
        padding-right: 8vw;
    }
    [class^="proc-container-curriculum-01"] h3::before {
        content: '01';
        position: absolute;
        margin-left: -8vw;
    }
    [class^="proc-container-curriculum-02"] h3::before {
        content: '02';
        position: absolute;
        margin-left: -8vw;
    }
    [class^="proc-container-curriculum-0"] h4 {
        width: 90vw;
        color: #E8E8E8;
        font-family: "en", "main-w3", sans-serif;
        font-weight: 300;
        margin-left: 5vw;
    }
}
.self_adaptation {
    width: 70.5vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 12px;
    column-gap: 24px;
}
.self_adaptation_card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    background: linear-gradient(180deg, rgba(108, 41, 124, 0.30) 0%, rgba(79, 106, 176, 0.30) 100%);
    border-radius: 10px;
    padding: 16px;
}
.self_adaptation_card_header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.self_adaptation_card_header img {
    width: max(4.16vw , 40px);/* PC 60px */
    height: auto;
    margin-right: 8px;
}
.self_adaptation_card_header h5 {
    font-size: max(0.83vw , 10px);/* PC 12px */
}
.self_adaptation_card_content {
    display: flex;
    gap: 24px;
}
.self_adaptation_card_text h6 {
    font-size: max(0.97vw , 12px);/* PC 14px */
    color: #E8E8E8;
    margin-bottom: 4px;
}
.self_adaptation_card_text p:first-of-type {
    font-size: max(0.97vw , 12px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    color: rgba(232, 232, 232, 0.80);
    margin-bottom: 12px;
}
.self_adaptation_card_text p:last-of-type {
    font-size: max(0.83vw , 10px);/* PC 12px */
    color: #fff;
    background: linear-gradient(180deg, #6C297C 0%, #4F6AB0 100%);
    border-radius: 100px;
    display: inline;
    padding: 8px 20px;
}
.self_adaptation_card_image {
    width: auto;
    height: 12.5vw;
    margin-top: -3vw;
}
[id^="self_adaptation"],
[id^="other_user_adaptation"] {
    z-index: 1112; /* ctaボタンを下にする */
}
.self_adaptation_modal {
    width: 55vw;
    padding: 2.5vw 4.2vw;
    height: fit-content;
    border-radius: 10px;
    background: #191919;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.self_adaptation_modal_header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 24px;
}
.self_adaptation_modal_header img {
    width: 60px;
    height: auto;
    margin-right: 8px;
}
.self_adaptation_modal_header h5 {
    font-size: max(0.83vw , 10px);/* PC 12px */
}
.self_adaptation_modal_content {
    display: flex;
    gap: 24px;
    margin-bottom: max(2.08vw , 20px);/* PC 30px */
}
.self_adaptation_modal_text h6 {
    font-size: max(1.11vw , 14px);/* PC 15px */
    color: rgba(232, 232, 232, 0.80);
    margin-bottom: 8px;
}
.self_adaptation_modal_text p {
    font-size: max(1.11vw , 12px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    color: rgba(232, 232, 232, 0.80);
}
.self_adaptation_modal_image {
    width: auto;
    height: 17.2vw;
}
.self_adaptation_modal_btn_center{
    text-align: center;
}
@media screen and (max-width:855px) {
    .self_adaptation {
        width: calc(100% - 5vw);
        grid-template-columns: repeat(6, 70.5vw);
        overflow: scroll;
        padding-left: 5vw;
    }
    .self_adaptation_card_content {
        flex-direction: column-reverse;
        gap: 8px;
        justify-content: flex-end;
    }
    .self_adaptation_card_image {
        width: 100%;
        height: auto;
        margin-top: 0;
    }
    .self_adaptation_modal {
        width: 90vw;
        padding: 8.4vw 4.2vw;
    }
    .self_adaptation_modal_content {
        flex-direction: column-reverse;
    }
    .self_adaptation_modal_image {
        width: 100%;
        height: auto;
        margin-top: 0;
    }
    .self_adaptation_modal_btn_center {
        font-size: 14px;
    }
}
.other_user_adaptation {
    width: 80vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 12px;
    column-gap: 24px;
}
.other_user_adaptation_card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    background: linear-gradient(180deg, rgba(108, 41, 124, 0.30) 0%, rgba(79, 106, 176, 0.30) 100%);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
}
.other_user_adaptation_card_headers {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.other_user_adaptation_card_headers > img {
    width: max(4.16vw , 40px);/* PC 60px */
    height: auto;
    margin: 0 max(1.35vw , 10px);/* PC 18px */
}
.other_user_adaptation_card_header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.other_user_adaptation_card_header > img {
    width: max(4.16vw , 40px);/* PC 60px */
    height: auto;
    margin-right: 8px;
}
.other_user_adaptation_card_header h5 {
    font-size: max(0.9vw , 10px);/* PC 12px */
}
.other_user_adaptation_card_content {
    display: flex;
    gap: 24px;
}
.other_user_adaptation_card_text h6 {
    font-size: max(1.11vw , 12px);/* PC 14px */
    color: rgba(232, 232, 232, 0.80);
}
.other_user_adaptation_card_text p:first-of-type {
    font-size: max(1.11vw , 12px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    color: rgba(232, 232, 232, 0.80);
    margin-bottom: 12px;
}
.other_user_adaptation_card_text p:last-of-type {
    font-size: max(0.9vw , 10px);/* PC 12px */
    color: #fff;
    background: linear-gradient(180deg, #6C297C 0%, #4F6AB0 100%);
    border-radius: 100px;
    display: inline;
    padding: 8px 20px;
}
.other_user_adaptation_modal {
    width: 50vw;
    padding: 2.5vw 4.2vw;
    height: fit-content;
    border-radius: 10px;
    background: #191919;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.other_user_adaptation_modal_headers {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 20px;
}
.other_user_adaptation_modal_headers > img {
    width: max(4.16vw , 40px);/* PC 60px */
    height: auto;
    margin: 0 30px;
}
.other_user_adaptation_modal_header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.other_user_adaptation_modal_header > img {
    width: max(4.16vw , 40px);/* PC 60px */
    height: auto;
    margin-right: 8px;
}
.other_user_adaptation_modal_header h5 {
    font-size: max(0.9vw , 10px);/* PC 12px */
}
.other_user_adaptation_modal_content {
    display: flex;
    gap: 24px;
}
.other_user_adaptation_modal_text h6 {
    font-size: max(1.11vw , 12px);/* PC 14px */
    color: rgba(232, 232, 232, 0.80);
    margin-bottom: 6px;
}
.other_user_adaptation_modal_text p {
    font-size: max(1.11vw , 12px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    color: rgba(232, 232, 232, 0.80);
    margin-bottom: 30px;
}
.other_user_adaptation_modal_btn_center{
    text-align: center;
}
@media screen and (max-width:855px) {
    .other_user_adaptation {
        width: calc(100% - 5vw);
        grid-template-columns: repeat(6, 60vw);
        overflow: scroll;
        column-gap: 12px;
        padding-left: 5vw;
    }
    .other_user_adaptation_card_headers,
    .other_user_adaptation_modal_headers {
        align-items: flex-start;
        flex-direction: column;
    }
    .other_user_adaptation_card_headers > img,
    .other_user_adaptation_modal_headers > img {
        width: 26px;
        margin: 6px 7px;
    }
    .other_user_adaptation_modal {
        width: 90vw;
        padding: 8.4vw 4.2vw;
    }
    .other_user_adaptation_modal_btn_center {
        font-size: 14px;
    }
}


@media screen and (max-width:855px) {}
/* ------ sub page(Curriculum): Program ------ */
/* ------ sub page(Curriculum): Program ------ */
/* ------ sub page(Curriculum): Program ------ */
.prog > img {
    width: 62vw;
    height: auto;
    margin: 50px calc(38vw / 2) 12px;
}
.prog p {
    font-size: 12px;
    margin-left: 19vw;
}

@media screen and (max-width:855px) {
    .prog > h2 {
        text-align: center;
    }
    .prog > img {
        width: 90vw;
        margin: 20px calc(10vw / 2) 6px;
    }
    .prog p {
        margin-left: 5vw;
    }
}
/* ------ sub page(Curriculum): Sub Program ------ */
/* ------ sub page(Curriculum): Sub Program ------ */
/* ------ sub page(Curriculum): Sub Program ------ */
.subprog {
    margin-bottom: -15vw;
}
.subprog-container {
    display: grid;
    grid-template-columns: 45vw 37.22vw;
    gap: 32px;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
    padding-bottom: 15vw;
    position: relative;
}
.hoge {
    position: sticky;
    top: 4vw;
}
.hoge img {
    width: 100%;
    height: auto;
}
.subprogram-detail {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    gap: max(2.77vw , 24px);/* PC 40px */
    padding: max(2.77vw , 16px);/* PC 40px */
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.10);
}
.subprogram-detail h3 {
    font-size: max(2.08vw , 20px);/* PC 30px */
    text-align: left;
}
.subprogram-detail h4 {
    font-size: 12px;read-more
    text-align: left;
    margin: 12px 0;
}
.subprogram-detail h5 {
    font-size: max(0.83vw , 10px);/* PC 12px */
    text-align: left;
    color: #a8a8a8;
}
@media screen and (max-width:855px) {
    .subprog > h2 {
        text-align: center;
    }
    .hoge {
        position: static;
    }
    .subprog-container {
        grid-template-columns: repeat(1, 90vw);
        gap: 20px;
        justify-content: center;
        align-items: flex-start;
        margin-top: 4vw;
    }
}
/* ------ sub page(Curriculum): Textbook ------ */
/* ------ sub page(Curriculum): Textbook ------ */
/* ------ sub page(Curriculum): Textbook ------ */
.txtb-container {
    display: grid;
    grid-template-columns: 34.5vw 31.73vw;
    gap: 4.5vw;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
}
.txtb-container h3 {
    font-size: max(2.08vw , 20px);/* PC 30px */
    font-family: "main-w6", sans-serif;
    text-align: left;
    margin-bottom: max(1.11vw , 14px);/* PC 16px */
}
.txtb-container h4{
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    text-align: left;
}
@media screen and (max-width:855px) {
    .txtb > h2 {
        text-align: center;
    }
    .txtb-container {
        grid-template-columns: repeat(1, 90vw);
        gap: 12px;
        justify-content: center;
        align-items: flex-start;
        margin-top: 4vw;
    }
}

/* ------ sub page(Curriculum): prev-footer ------ */
/* ------ sub page(Curriculum): prev-footer ------ */
/* ------ sub page(Curriculum): prev-footer ------ */
.prev-footer.curriculum-page {
    padding-bottom: 16vw;
    display: grid;
    grid-template-columns: repeat(2, 410px);
    justify-content: center;
}
.prev-footer.curriculum-page a {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width:856px) {
    .prev-footer.curriculum-page a:hover * {
        opacity: 0.7;
    }
}
.prev-footer.curriculum-page p {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    display: inline-block;
}
.prev-footer.curriculum-page img {
    width: 50px;
    height: auto;
    margin-left: 8px;
}
@media screen and (max-width:855px) {
    .prev-footer.curriculum-page {
        grid-template-columns: repeat(1, 90vw);
        gap: 20px;
    }
    .prev-footer.curriculum-page a {
        width: fit-content;
    }
    .prev-footer.curriculum-page p {
        font-size: 20px;
    }
    .prev-footer.curriculum-page img {
        width: 32px;
    }
}

/* ------ sub page(aboutcoaching): Why Coaching ------ */
/* ------ sub page(aboutcoaching): Why Coaching ------ */
/* ------ sub page(aboutcoaching): Why Coaching ------ */
.wc h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    text-align: left;
    line-height: 1.75;
}
.wc-container {
    display: grid;
    grid-template-columns: 27.84vw 39.93vw;
    gap: 4.1vw;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
}
.wc-container img {
    width: 100%;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:855px) {
    .wc-container {
        grid-template-columns: repeat(1, 91vw);
        gap: 24px;
    }

}

/* ------ sub page(aboutcoaching): Coaching ------ */
/* ------ sub page(aboutcoaching): Coaching ------ */
/* ------ sub page(aboutcoaching): Coaching ------ */
.coa h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    text-align: left;
    line-height: 1.75;
}
.coa-container {
    display: grid;
    grid-template-columns: 27.84vw 41.66vw;
    gap: 1.73vw;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
}
.coa-container img {
    width: 100%;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:855px) {
    .coa-container {
        grid-template-columns: repeat(1, 91vw);
        gap: 24px;
    }
}

/* ------ sub page(aboutcoaching): Approach ------ */
/* ------ sub page(aboutcoaching): Approach ------ */
/* ------ sub page(aboutcoaching): Approach ------ */
.app h3 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    text-align: left;
    line-height: 1.75;
}
.app-container {
    display: grid;
    grid-template-columns: 29.51vw 38.19vw;
    gap: 1.87vw;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4vw;
}
.app-container img {
    width: 100%;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:855px) {
    .app-container {
        grid-template-columns: repeat(1, 91vw);
        gap: 24px;
    }
}

/* ------ sub page(aboutcoaching): Process ------ */
/* ------ sub page(aboutcoaching): Process ------ */
/* ------ sub page(aboutcoaching): Process ------ */
.proc.scroll-titile{
    margin-bottom: -15vw;
}
.wrap-proc {
    margin-top: 4vw;
    padding-bottom: 15vw;
}
.sidemenu-proc {
    position: sticky;
    top: 10vw;
    width: fit-content;
}
.sidemenu-proc li {
    font-size: max(1.11vw , 12px);/* PC 16px */
    color: #a8a8a8;
    line-height: 2;
    transition: background-color 0.3s ease;
    padding: 0 1.4vw;
}
@media screen and (min-width:856px) {
    .sidemenu-proc li:hover {
        color: #fff;
    }
}
.wrap-proc > section {
    margin-top: calc(max(1.11vw , 12px) * 2 * 5 * -1);
    /* サイドメニューの高さ分せり出す = 文字の高さ * lineheight * 個数 * 上に迫り出す */
}
[class^="proc-container-0"]:not(:last-of-type) {
    margin-bottom: 104px;
}
[class^="proc-container-0"] h3 {
    font-size: max(2.08vw , 20px);/* PC 30px */
    font-family: "main-w6", sans-serif;
    text-align: left;
    margin-bottom: max(1.11vw , 14px);/* PC 16px */
}
[class^="proc-container-0"] h4 {
    font-size: max(1.11vw , 14px);/* PC 16px */
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    text-align: left;
}
/* コンテンツ内CSS */
/* コンテンツ内CSS */
.proc-container-01 {
    display: grid;
    grid-template-columns: 29.79vw 27.36vw;
    gap: 2.22vw;
    justify-content: center;
    align-items: flex-start;
}
.proc-container-01 img {
    width: 100%;
}
.proc-container-01 h3 {
    margin-top: 27px;
}
.proc-container-02 {
    display: grid;
    grid-template-columns: 29.79vw 27.22vw;
    gap: 2.36vw;
    justify-content: center;
    align-items: flex-start;
}
.proc-container-02 img {
    width: 100%;
}
.proc-container-02 h3 {
    margin-top: 74px;
}
.proc-container-03 {
    display: grid;
    grid-template-columns: 29.79vw 23.05vw;
    gap: 6.53vw;
    justify-content: center;
    align-items: flex-start;
}
.proc-container-03 img {
    width: 100%;
}
.proc-container-03 h3 {
    margin-top: 46px;
}
.proc-container-04 {
    display: grid;
    grid-template-columns: 29.79vw 24.09vw;
    gap: 5.49vw;
    justify-content: center;
    align-items: flex-start;
}
.proc-container-04 img {
    width: 100%;
}
.proc-container-04 h3 {
    margin-top: 37px;
}
.proc-container-05 {
    display: grid;
    grid-template-columns: 29.79vw 28.68vw;
    gap: 0.90vw;
    justify-content: center;
    align-items: flex-start;
}
.proc-container-05 img {
    width: 100%;
}
.proc-container-05 h3 {
    margin-top: 37px;
}
/* コンテンツ内CSS */
/* コンテンツ内CSS */
@media screen and (max-width:855px) {
    .wrap-proc > section {
        margin-top: 0;
    }
    .proc-container-01,
    .proc-container-02,
    .proc-container-03,
    .proc-container-04,
    .proc-container-05
    {
        grid-template-columns: repeat(1, 91vw);
        gap: 24px;
    }
    .proc-container-01 h3,
    .proc-container-02 h3,
    .proc-container-03 h3,
    .proc-container-04 h3,
    .proc-container-05 h3
    {
        margin-top: 0;
        margin-left: -4.5vw;
        background: linear-gradient(90deg, #6C297C 0%, #4F6AB0 100%);
        padding: 3px 20px;
        width: fit-content;
    }
}

/* ------ sub page(aboutcoaching): prev-footer ------ */
/* ------ sub page(aboutcoaching): prev-footer ------ */
/* ------ sub page(aboutcoaching): prev-footer ------ */
.prev-footer.aboutcoaching-page {
    padding-bottom: 16vw;
    display: grid;
    grid-template-columns: repeat(2, 280px);
    justify-content: center;
}
.prev-footer.aboutcoaching-page a {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width:856px) {
    .prev-footer.aboutcoaching-page a:hover * {
        opacity: 0.7;
    }
}
.prev-footer.aboutcoaching-page p {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    display: inline-block;
}
.prev-footer.aboutcoaching-page img {
    width: 50px;
    height: auto;
    margin-left: 8px;
}
@media screen and (max-width:855px) {
    .prev-footer.aboutcoaching-page {
        grid-template-columns: repeat(1, 90vw);
        gap: 20px;
    }
    .prev-footer.aboutcoaching-page a {
        width: fit-content;
    }
    .prev-footer.aboutcoaching-page p {
        font-size: 20px;
    }
    .prev-footer.aboutcoaching-page img {
        width: 32px;
    }
}

/* ------ sub page(term): term-txts ------ */
/* ------ sub page(term): term-txts ------ */
/* ------ sub page(term): term-txts ------ */
.term-txts {
    margin-left: 18.95vw;
    margin-right: 18.54vw;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.10);
    padding: 24px 24px 24px 30px;
}

.term-txts * {
    font-size: max(1.11vw , 12px);/* PC 16px */
    font-family: "main-w3", sans-serif;
    font-weight: 300;
    text-align: left;
}
.term-txts h3:first-of-type {
    /* 順番 .term-txts *の下必須 */
    font-size: max(1.11vw , 12px);/* PC 16px */
    font-family: "main-w6", sans-serif;
    text-align: left;
}
.term-txts h4 {
    margin-top: max(1.11vw , 14px);/* PC 16px */
}
.term-txts ol.top-level {
    margin-left: 24px;
    list-style-position: outside;
    list-style-type: decimal;
}
.term-txts ol.top-level > li > ol {
    list-style-position: inside;
    list-style-type: none;
    counter-reset: item;
}
.term-txts ol.top-level > li > ol > li {
    counter-increment: item;
}
.term-txts ol.top-level > li > ol > li::before {
    content: "(" counter(item) ") ";
}

@media screen and (max-width:855px) {
    .term-txts {
        margin-left: 8px;
        margin-right: 8px;
        padding: 12px 12px 12px 15px;
    }
}

/* ------------------------- */
/* -- instructorandmentor -- */
/* ------------------------- */
/* ------ sub page(instructorandmentor): instructor ------ */
/* ------ sub page(instructorandmentor): instructor ------ */
/* ------ sub page(instructorandmentor): instructor ------ */
[id^="ins_mentor"] {
    z-index: 1112; /* ctaボタンを下にする */
}
.ins-mentor-modal {
    width: 70vw;
    height: fit-content;
    border-radius: 10px;
    background: #191919;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.ins-mentor-modal-main {
    width: 100%;
    display: grid;
    grid-template-columns: 21.5vw 34.7vw;/* bttonの分だけ0追加 */
    align-items: flex-start;
    justify-content: center;
    gap: 2.5vw;
    margin-bottom: 3vw;
}
.ins-mentor-modal-left img {
    width: 100%;
    margin-bottom: 1vw;
}
.ins-mentor-modal-right {
    height: calc( 30vw - 30px );
    overflow: scroll;
    padding-bottom: 30px;
}
.ins-mentor-modal-right-cover {
    height: fit-content;
    position: relative;
}
.ins-mentor-modal-right-cover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, #19191900 0%, #191919 110%);
    pointer-events: none;
}
.ins-mentor-modal-right-cover h3 {
    font-size: max(1.11vw , 14px);/* PC 14px */
    font-weight: 600;
}
.ins-mentor-modal-right-cover h4 {
    font-size: max(1.11vw , 12px);/* PC 14px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    margin-bottom: 10px;
}
.ins-mentor-modal-right h5 {
    font-size: max(1.11vw , 12px);/* PC 12px */
    font-weight: 300;
    font-family: "main-w3", sans-serif;
    line-height: 1.8;
    color: #a8a8a8;
}
.ins-mentor-modal_btn_center{
    text-align: center;
}
@media screen and (max-width:855px) {
    .ins-mentor-modal {
        width: 90vw;
        height: 90vh;
    }
    .ins-mentor-modal-main {
        grid-template-columns: repeat(1, 1fr);
    }
    .ins-mentor-modal-left img {
        width: auto;
        height: 36vh;
    }
    .ins-mentor-modal-right {
        height: calc(30vh - 30px);
    }
    .ins-mentor-modal_btn_center{
        font-size: 14px;
    }
}
/* ------ sub page(instructorandmentor): prev-footer ------ */
/* ------ sub page(instructorandmentor): prev-footer ------ */
/* ------ sub page(instructorandmentor): prev-footer ------ */
.prev-footer.instructorandmentor-page {
    padding-bottom: 16vw;
    display: grid;
    grid-template-columns: repeat(1, 280px);
    justify-content: center;
}
.prev-footer.instructorandmentor-page a {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width:856px) {
    .prev-footer.instructorandmentor-page a:hover * {
        opacity: 0.7;
    }
}
.prev-footer.instructorandmentor-page p {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    display: inline-block;
}
.prev-footer.instructorandmentor-page img {
    width: 50px;
    height: auto;
    margin-left: 8px;
}
@media screen and (max-width:855px) {
    .prev-footer.instructorandmentor-page {
        grid-template-columns: repeat(1, 90vw);
        gap: 20px;
    }
    .prev-footer.instructorandmentor-page a {
        width: fit-content;
    }
    .prev-footer.instructorandmentor-page p {
        font-size: 20px;
    }
    .prev-footer.instructorandmentor-page img {
        width: 32px;
    }
}