@charset "UTF-8";

/** Common */
p {
    margin-bottom: 1em;
}


/** TOP お知らせ / お知らせ一覧 */
.top-news__item:nth-of-type(1) a .top-news__text,
.top-news__item:nth-of-type(2) a .top-news__text {
    padding-left: 0;
}

.top-news__item:nth-of-type(1) a .top-news__text::before,
.top-news__item:nth-of-type(2) a .top-news__text::before {
    content: none;
}

.top-news__item a .top-news__text.top-news__text--new,
.news-link--new {
    padding-left: 30px;
    position: relative;
}

.top-news__item a .top-news__text.top-news__text--new::before,
.news-link--new::before {
    background: url(../img/top/top-news_new.svg) no-repeat center center/contain;
    content: "";
    display: inline-block;
    height: 26px;
    left: 0;
    margin-right: 4px;
    position: absolute;
    top: -5px;
    vertical-align: text-bottom;
    width: 26px;
}

.news-link--new::before {
    top: 1px;
}

.news-link:hover {
    text-decoration: underline;
}


/** TOP モデルコース */
.top-course > a {
    height: 100%;
}

.top-course__img {
    position: relative;
    top: 20.4678362573%;
    height: calc(100% - 20.4678362573%);
}

@media only screen and (min-width: 1024px) {
    .top-course__img {
        position: relative;
        top: 22.7848101266%;
        height: calc(100% - 22.7848101266%);
    }
}

.top-course__img > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.top-course__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding-left: 1em;
    padding-right: 1em;
}

.top-course__body {
    flex-direction: column-reverse;
}


/** メインビジュアル */
.mainvisual__wrapper {
    height: auto;
    padding-bottom: calc(1.875rem * 1.333);
}

@media only screen and (min-width: 1024px) {
    .mainvisual__wrapper {
        padding-bottom: calc(2.5rem * 1.333);
    }
}

@media only screen and (min-width: 1280px) {
    .mainvisual__wrapper {
        padding-bottom: calc(3.125rem * 1.333);
    }
}

.mainvisual__heading {
    width: fit-content;
    max-width: calc(100% - 1em * 2);
}


/** モデルコース一覧 */
.course-slider__item {
    margin-bottom: 30px;
}

@media only screen and (min-width: 640px) {
    .course-slider__item {
        margin-bottom: 0;
    }
}

.course-slider__item > a
{
    aspect-ratio: 1 / 1;
}

.course-slider__img {
    height: calc(100% - 72px);
    position: relative;
    top: 72px;
}

@media only screen and (min-width: 1024px){
    .course-slider__img {
        height: calc(100% - 76px);
        top: 76px;
    }
}

.course-slider__img > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.course-slider__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding-left: 1em;
    padding-right: 1em;
    overflow: hidden;
}


/** モデルコースページ */
.course-label ~ .course-label {
    margin-top: 80px;
}

.course-label__spot {
    padding-left: calc(60px + 1.25rem / 2.5);
    padding-right: calc(1.25rem * 1);
    display: flex;
    align-items: center;
    justify-content: center;
}
.course-label__spot.course-guide__spot {
    padding-left: calc(70px + 1.25rem / 2.5);
}

.course-label__spot span {
    white-space: nowrap;
    overflow-x: auto;
    padding-left: 0;
    transform: translateX(0);
}

.course-guide__outside {
    margin-left: calc(100% / 0.92 * -0.04);
    margin-right: calc(100% / 0.92 * -0.04);
}

.course-guide__outside + .course-guide__outside {
    margin-top: 60px;
}

@media only screen and (min-width: 768px){
    .course-guide__outside + .course-guide__outside > .course-guide {
        margin-top: 100px;
    }
}

.course-move__text {
    text-align: left;
    max-width: calc((100vw - 100%) /2);
    font-size: min(3vw, 0.9375rem);
}

.course-move__time {
    font-size: min(5vw, 1.25rem);
}


/** 下部ぱんくず */
.course-nav {
    height: auto;
    padding-bottom: 18.667px;
}

@media only screen and (min-width: 1024px){
    .course-nav {
        padding-bottom: 21px;
    }
}

.course-nav__breadcrumbs {
    flex-wrap: wrap;
    line-height: calc(19 / 14);
}

.course-nav__breadcrumbs > li:not(:first-of-type) > a {
    text-decoration: underline;
}


/** パーツ */
.page-contents h2,
.page-contents h3,
.page-contents h4,
.page-contents h5,
.page-contents h6 {
    margin-bottom: 20px;
}

.page-contents ul:not([class]),
.page-contents ol:not([class]) {
    margin-bottom: 1em;
    padding-left: 2.5em;
}

.page-contents ul:not([class]) {
    list-style-type: disc;
}

.page-contents ol:not([class]) {
    list-style: decimal;
}

.alert {
    border: 3px solid #3CA2AA;
    padding: 19px 20px;
}

.alert--white {
    background-color: #fff;
}

.alert > p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    display: -webkit-box;
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.875;
    overflow: hidden;
}

/*　footerスタイル上書き */
.footer__container{
    padding-inline: 15px;
    width: auto;
}
.footer__container-wrap{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.footer__container-wrap .footer__text{
    margin-bottom: 0;
}
@media only screen and (min-width: 1024px){
    .footer__container{
        flex-direction: column;
        gap: 0;
    }
}