/* アニメーション */
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
    display: block;
}

.matrix .bg-wrap {
    overflow: hidden;
    opacity: 0;
}
.matrix .bg-wrap .inn {
    opacity: 0;
    transform: matrix(1, 0, 0, 1, 0, 100);
    transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.matrix-anime .bg-wrap {
    opacity: 1;
}

.matrix.matrix-anime .bg-wrap .inn {
    opacity: 1;
    transform: matrix(1, 0, 0, 1, 0, 0);
}

/* 下層ページ */
.inner {
    margin-inline: auto;
    max-width: 1087px;
    width: 90%;
}

.lower-mv {
    display: grid;
    grid-template: 1fr / 1fr;
}
.lower-mv > * {
    display: grid;
    grid-area: 1/1/-1/-1;
}
.lower-mv-bg {
    height: 237px;
}
.lower-mv-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lower-mv-ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.lower-mv-ttl-en {
    text-transform: uppercase;
    background: linear-gradient(to left, #fa9f00, #ea3f00);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 45px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: "Inter", sans-serif;
}
.lower-mv-ttl-ja {
    font-size: 17.39px;
    font-weight: 400;
}

.inter {
    font-family: "Inter", sans-serif;
}

.sec-ttl {
    letter-spacing: 0;
}

.sec-para {
    margin-inline: auto;
    max-width: 704px;
    font-weight: normal;
    font-size: 18px;
    line-height: calc(34 / 18);
    letter-spacing: 0;
}

.advance {
    margin-top: 80px;
    padding: 95px 0 81px;
    background: rgba(238, 83, 0, 0.12) url(/img/land05/voice/advance-bg.png) no-repeat right center/auto 100%;
}
.advance-inner {

}
.advance-ttl {
    font-size: 32px;
    line-height: 1;
    text-align: left;
    margin-bottom: 0;
}
.advance-ttl::before {
    display: none !important;
}
.advance-ttl span {
    border-bottom: 2px dashed #ee5300;
}
.advance-para {
    margin-top: 41px;
    width: 524px;
    max-width: 100%;
    font-size: 18px;
    line-height: calc(34 / 18);
    font-weight: 400;
    letter-spacing: 0;
}

/* 卒業生の声 */
.voice-list {
    margin-top: 80px;
}
.voice-item + .voice-item {
    margin-top: 119px;
}
.voice-item-main {
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: center;
    gap: 20px;
}
.voice-item-img {
    aspect-ratio: 1;
}
.voice-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.voice-item-txt {

}
.voice-item-ttl {
    margin-bottom: 0;
    font-size: 38px;
    line-height: 1.25;
    letter-spacing: -0.03em;
    font-feature-settings: "palt";
    text-align: left;

}
.voice-item-ttl::before {
    display: none;
}
.voice-item-name {
    margin-top: 17px;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
}
.voice-item-name span {
    font-weight: 400;
}
.voice-item-course {
    width: fit-content;
    margin-top: 13px;
    padding-bottom: 7px;
    font-size: 18px;
    line-height: calc(17.54 / 18);
    letter-spacing: -0.04em;
    border-bottom: 1px dashed #ee5300;
}
.voice-item-ba {
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.voice-item-ba-box {
    padding: 31px 32px 52px 41px;
    border-radius: 12px;
    position: relative;
}
.voice-item-ba-ttl {
    padding: 5px 20px 6px;
    color: #fff;
    border-radius: 999em;
    font-size: 17.08px;
    letter-spacing: 0.1em;
}
.voice-item-ba-para {
    margin-top: 18px;
    font-size: 18px;
    line-height: calc(33/18);
    letter-spacing: 0.02em;
    font-weight: normal;
}
.voice-item-ba-box:nth-of-type(1)::before {
    content: "";
    display: block;
    width: 55px;
    aspect-ratio: 55/37;
    background: url(/img/land05/voice/ba-arrow.png) no-repeat center/contain;
    position: absolute;
    top: 70px;
    right: 0;
    transform: translateX(100%);
    z-index: 1;
}
.voice-item-interview {
    padding: 26px 35px 22px 33px;
    margin-top: 38px;
    background: url(/img/land05/voice/interview-bg.png) no-repeat center/cover;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.voice-item-interview-body {
    display: grid;
    grid-template-columns: 134px 1fr;
    align-items: center;
    gap: 22px;
}
.voice-item-interview-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.voice-item-interview-para {
    font-size: 16px;
    line-height: calc(25 / 16);
    letter-spacing: 0.03em;
}
.voice-item-interview-btn {
    width: 415px;
    height: 64px;
    line-height: 62px;
    text-align: center;
    background: #fff;
    border: 2px solid #ee5300;
    border-radius: 999em;
    font-size: 19.58px;
    letter-spacing: 0.05em;
    position: relative;
}
.voice-item-interview-btn::after {
    content: "";
    display: block;
    width: 7px;
    aspect-ratio: 1;
    border-top: 1px solid #ee5300;
    border-left: 1px solid #ee5300;
    position: absolute;
    top: 50%;
    right: 37px;
    transform: translate(0, -50%) rotate(135deg);
    pointer-events: none;
}
.voice-item-interview-contact {
    margin-top: 30px;
}



/* マジキャリの特徴 */
.can {
    margin-top: 57px;
    padding: 71px 0 72px;
    background: url(/img/land05/about/can-bg.png) no-repeat center/cover;
}
.can-list {
    margin-top: 42px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 30px;
}
.can-item {
    width: calc((100% - 60px) / 3);
    aspect-ratio: 1;
    background: #fff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.can-item-img {
    margin-inline: auto;
    height: 193px;
}
.can-item:nth-child(1) .can-item-img {
    width: 252px;
    transform: translate(-5px, -6px);
}
.can-item:nth-child(2) .can-item-img {
    width: 209px;
    transform: translate(-6px, -6px);
}
.can-item:nth-child(3) .can-item-img {
    width: 241px;
}
.can-item:nth-child(4) .can-item-img {
    width: 211px;
    transform: translate(-2px, -14px);
}
.can-item:nth-child(5) .can-item-img {
    width: 189px;
    transform: translate(-12px, -13px);
}
.can-item-img img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}
.can-item-ttl {
    margin-top: 13px;
    font-size: 20px;
    line-height: calc(28 / 20);
    letter-spacing: 0.05em;
    text-align: center;
    transform: translateY(-12px);
}

.about {
    padding-block: 73px 121px;
    background: url(/img/land05/about/about-bg.png) no-repeat center/cover;
}

.number {
    padding-block: 85px 88px;
}
.number-list {
    margin-top: 70px;
}
.number-item {
    background: #fff3cc;
    border-radius: 20px;
}
.number-item + .number-item {
    margin-top: 51px;
}
.number-item:nth-child(1) {
    padding: 70px 57px 59px 109px;
    display: grid;
    align-items: center;
    grid-template-columns: 361px 1fr;
    gap: 86px;
}
.number-item:nth-child(2) {
    padding: 41px 74px 44px 80px;
    display: grid;
    grid-template-columns: 1fr 419px;
    align-items: center;
    gap: 42px;
}
.number-item-img img {
    width: 100%;
    max-width: 100%;
    object-fit: contain;
}
.number-item-ttl {
    width: fit-content;
    font-size: 26px;
    line-height: calc(49 / 25);
    letter-spacing: 0.01em;
    border-bottom: 1px dashed #ed6d00;
}
.number-item-content {
    margin-top: 38px;
    margin-bottom: 25px;
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-template-rows: repeat(4, max-content);
    grid-auto-flow: column;
    gap: 14px 0;
}
.number-item-label {
    font-size: 17.38px;
    line-height: calc(24.24 / 17.38);
    letter-spacing: 0.04em;
    font-weight: 400;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.number-item-label:before {
    content: "";
    display: block;
    margin-top: 2px;
    width: 16px;
    aspect-ratio: 1;
}
.number-item-label:nth-of-type(1)::before {
    background: #e03d00;
}
.number-item-label:nth-of-type(2)::before {
    background: #ed6c00;
}
.number-item-label:nth-of-type(3)::before {
    background: #f6ab00;
}
.number-item-label:nth-of-type(4)::before {
    background: #fbc006;
}
.number-item-label:nth-of-type(5)::before {
    background: #2d86f9;
}
.number-item-label:nth-of-type(6)::before {
    background: #3166f6;
}
.number-item-label:nth-of-type(7)::before {
    background: #2b4cd7;
}
.number-item-para {
    margin-top: 36px;
    letter-spacing: 0;
}

.works {
    padding: 95px 0 152px;
    background: url(/img/land05/about/works-bg.png) no-repeat center/cover;
}
.works-img {
    margin-top: 60px;
    margin-inline: auto;
    max-width: 860px;
}
.works-img img {
    width: 100%;
    max-width: 100%;
}

.thought {
    margin-top: 63px;
    padding: 134px 0 95px;
    background: #f6f6f6;
}
.thought-flex {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    gap: 80px;
}
.thought-img {
    margin-top: -100px;
    margin-right: -100px;
}
.thought-img img {
    max-width: 100%;
}
.thought-txt {
    padding-left: 114px;
}
.thought-catch {
    font-size: 34.84px;
    line-height: calc(54.44/34.84);
}
.thought-name {
    margin-top: 24px;
    margin-bottom: 35px;
}

.stance {
    padding: 70px 0 131px;
    background: url(/img/land05/about/stance-bg.png) no-repeat center/100% 100%;
}
.stance-img {
    margin-top: 80px;
}
.stance-img img {
    max-width: 100%;
}
.stance-para {
    margin-top: 50px;
}

.feature {
    padding: 96px 0 49px;
}
.feature-list {
    margin-top: 94px;
    display: flex;
    flex-direction: column;
    gap: 45px;
}
.feature-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 82px;
}
.feature-item-number {
    width: 106px;
    height: 106px;
}
.feature-item-number img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.feature-item:nth-child(even) {
    flex-direction: row-reverse;
}
.feature-item-img {
    width: 471px;
    flex-shrink: 0;
}
.feature-item-img img {
    max-width: 100%;
}
.feature-item-ttl {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    font-size: 23px;
    line-height: calc(41 / 28);
    font-weight: 900;
}
.feature-item-para {
    margin-top: 43px;
}

/* コーチ紹介 */
.coach {
    margin-top: 60px;
    padding: 84px 0 102px;
    background: #ffefbf;
}
.coach .sec-ttl {
    line-height: calc(41.28 / 32);
}

.intro {
    margin-bottom: 130px;
}
.intro-list {
    margin-top: 111px;
    display: flex;
    flex-direction: column;
    gap: 130px;
}
.intro-item-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 29px;
}
.intro-item-img img {
    max-width: 100%;
}
.intro-item-name-en {
    font-size: 14px;
    letter-spacing: 0.2em;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    display: block;
}
.intro-item-name-ja {
    display: block;
    margin-top: 12px;
    font-size: 45px;
    letter-spacing: 0.05em;
    line-height: 1;
}
.intro-item-para {
    margin-top: 34px;
}
.intro-item-interview {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #cccccc;
    display: grid;
    grid-template-columns: 197px 1fr;
    gap: 33px;
}
.intro-item-interview-thumbnail img {
    max-width: 100%;
}
.intro-item-interview-para {
    letter-spacing: 0.03em;
    line-height: calc(26 / 16);
}
.intro-item-interview-btn {
    padding-bottom: 4px;
    margin-top: 10px;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #ed6d00;
    position: relative;
}
.intro-item-interview-btn::after {
    content: "";
    display: block;
    width: 6px;
    aspect-ratio: 1;
    border-top: 1px solid #ed6d00;
    border-left: 1px solid #ed6d00;
    transform: rotate(135deg);
}
.intro-item-interview-btn::before {
    content: "";
    display: block;
    width: calc(100% + 12px);
    height: 3px;
    background: #ed6d00;
    border-radius: 99em;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* コース紹介 */
.course {
}
.course-list {
    margin-top: 63px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 26px;
}
.course-item {
    border-radius: 10px;
    border: 2px solid;
}
.course-item:nth-of-type(1) {
    border-color: #ffcd1d;
}
.course-item:nth-of-type(2) {
    border-color: #ff8913;
}
.course-item:nth-of-type(3) {
    border-color: #e73d00;
}
.course-item:nth-of-type(4) {
    border-color: #e9006e;
}
.course-item-ttl {
    min-height: 112px;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    position: relative;
}
.course-item:nth-of-type(1) .course-item-ttl {
    background: #ffe699;
}
.course-item:nth-of-type(2) .course-item-ttl {
    background: #ffd3ad;
}
.course-item:nth-of-type(3) .course-item-ttl {
    background: #f4bba6;
}
.course-item.no1 .course-item-ttl::after {
    content: "";
    display: block;
    width: 90px;
    aspect-ratio: 180/253;
    background: url(/img/land05/course/course-no1.png) no-repeat center/contain;
    position: absolute;
    bottom: -3px;
    left: -8px;
}
.course-item.no2 .course-item-ttl::after {
    content: "";
    display: block;
    width: 91px;
    aspect-ratio: 180/253;
    background: url(/img/land05/course/course-no2.png) no-repeat center/contain;
    position: absolute;
    bottom: -3px;
    left: -8px;
}
.course-item:nth-of-type(4) .course-item-ttl {
    background: #f4afaa;
}
.course-item-ttl span:nth-of-type(1) {
    color: #4d4d4d;
    font-size: 12.64px;
    line-height: calc(17.5 / 12.64);
    letter-spacing: 0.06em;
    position: relative;
    font-weight: 500;
}
.course-item-ttl span:nth-of-type(1)::before,
.course-item-ttl span:nth-of-type(1)::after{
    content: "";
    display: block;
    position: absolute;
    top: 38%;
    background: #4d4d4d;
    width: 1px;
    height: 70%;
}
.course-item-ttl span:nth-of-type(1)::before {
    left: -9px;
    transform: rotate(-20deg) translateY(-50%);
}
.course-item-ttl span:nth-of-type(1)::after {
    right: -9px;
    transform: rotate(20deg) translateY(-50%);
}
.course-item-ttl h3 {
    font-size: 24px;
    letter-spacing: 0;
    line-height: 1.5;
}
.course-item-body {
    padding: 16px 17px 15px;
}
.course-item-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.course-item-box {
    letter-spacing: 0;
}
.course-item-heading {
    height: 32px;
    line-height: 32px;
    text-align: center;
    font-size: 14px;
    border-radius: 999em;
}
.course-item:nth-of-type(1) .course-item-heading {
    background: #ffe699;
}
.course-item:nth-of-type(2) .course-item-heading {
    background: #ffd3ad;
}
.course-item:nth-of-type(3) .course-item-heading {
    background: #f4bba6;
}
.course-item:nth-of-type(4) .course-item-heading {
    background: #f4afaa;
}
.course-item-number {
    padding-top: 12px;
    font-size: 16.92px;
    display: flex;
    align-items: baseline;
    justify-content: center;
}
.course-item-number:nth-of-type(2) {
    padding-bottom: 7px;
}
.course-item-number + .course-item-number {
    border-top: 1px dashed #cdcdcd;
}
.course-item-number .large {
    font-size: 35px;
    line-height: 1.25;
    letter-spacing: 0;
}
.course-item-number .small {
    font-size: 9.45px;
    letter-spacing: 0;
    font-weight: 500;
}
.smaller {
    font-size: 12px;
    line-height: calc(12.64/8.75);
    color: #808080;
    font-weight: 400;
    letter-spacing: 0;
}
.course-item-plus {
    margin-top: 7px;
    border-top: 1px solid #cdcdcd;
    height: 45px;
    padding-block: 16px;
    position: relative;
}
.course-item-plus::before,
.course-item-plus::after {
    content: "";
    display: block;
    width: 17px;
    height: 2px;
    background: #333333;
    position: absolute;
    top: 50%;
    left: 50%;
}
.course-item-plus::before {
    transform: translate(-50%, -50%);
}
.course-item-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.course-item-enter {
    padding: 0 0 8px 21px;
    background: #f5f5f5;
}
.course-item-para {
    margin-top: 14px;
    font-weight: 400;
}