@charset "UTF-8";

main {
    font-family: var(--main-font);
    padding: 185px 0 50px;
}

.main_area {
    position: relative;
}

.main_area .scroll-containerd {
    position: relative;
}


.main_area.scroll-container {
    overflow-x: scroll;
    /* 横スクロールバーを常に表示（中身に関わらず領域を確保） */
    overflow-y: hidden;
    /* 縦スクロールは完全に禁止してバーも非表示に */
    white-space: nowrap;
    /* 子要素を横並びにする */
    cursor: grab;
    /* 掴めるマーク */
    position: relative;
    /* キャプションの基準点 */

    /* Firefox・IE用の設定 */
    -ms-overflow-style: auto;
    /* IEで標準表示 */
    scrollbar-width: auto;
    /* Firefoxで標準表示 */
}

@media(any-hover: hover) {
    .main_area.scroll-container::-webkit-scrollbar {
        display: none;
    }
}

/* 横スクロールバー自体のデザインや太さを調整したい場合はここ（※お好みで） */
.main_area.scroll-container::-webkit-scrollbar:horizontal {
    height: 8px;
    /* バーの太さ */
}

.main_area.scroll-container::-webkit-scrollbar-thumb {
    background-color: #aaa;
    /* バーの色 */
    border-radius: 4px;
    /* バーの角丸 */
}

/* ドラッグ中のカーソル */
.main_area.scroll-container:active {
    cursor: grabbing;
}

.main_area .cap {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fff;
}

h3 {
    font-size: 20px;
    margin-bottom: 20px;
}

header .global-navigation_list .plan_on span.new {
    position: absolute;
    top: 0px;
    right: 0;
    font-size: 9px;
    background: #403f44;
    color: #fff;
    padding: 0 2px;
    line-height: 1.3em;
    transition: all 0.3s;
    z-index: 2;
    background: #fff;
    color: #403f44;
}

header .global-navigation_list .plan_on:hover .new {
    background: #fff;
    color: #403f44;
}

.plan_on {
    background-color: #403f44;
}

.cap {
    font-size: 11px;
}


.sub_mv {
    position: relative;
}

.sub_mv .cap {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fff;
}

/*サイドナビ*/
.floating-menu .list li.entry,
.floating-menu .list li.limited {
    display: none;
}

@media (max-width: 1000px) {
    .main_area .sub_mv {
        width: 100%;
        overflow-x: scroll;
        /* IE, Edge 用 */
        -ms-overflow-style: none;
        /* Firefox 用 */
        scrollbar-width: none;
        cursor: grab;
    }

    .main_area .sub_mv img {
        height: 260px;
        object-fit: cover;
        width: 1000px;
        object-position: center;
    }

}



@media (max-width: 767px) {
    main {
        padding: 100px 0 50px;
    }

    .main_area .sub_mv img {
        height: 200px;
        object-fit: cover;
        width: 800px;
        object-position: center;
    }

    .floating-menu .list li {

        width: calc(100% / 4);
    }


}

main .plan {
    margin-top: 74px;
}

.plan_area ul li a .open {
    font-size: 16px;
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
}

.plan_area ul li a .open span {
    margin: 0 2em;
}

.plan_area ul li a .open span img {
    width: 100%;
    max-width: 100px;
}


.plan_area ul li a .open::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 1px;
    max-width: 150px;
    background-color: #4e4a53;
    transition: 0.4s;
}

.plan_area ul li a .open::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    display: block;
    width: 1px;
    height: 25px;
    background-color: #4e4a53;
    transform-origin: bottom center;
    transform: rotate(300deg);
    transition: 0.4s;
}

.plan_area .type {
    border-bottom: 1px solid #4e4a53;
    display: flex;
    align-items: center;
    padding: 0 0 10px;

}

.plan_area .type .left_item {
    padding-right: 20px;
    margin-right: 20px;
    width: 25%;
    position: relative;
}

.plan_area .type .left_item::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    height: 30px;
    width: 1px;
    background-color: #4e4a53;
    transform: translate(-50%, -50%);
}

/* 
.plan_area .type .left_item img {
    height: 38px;
} */

.plan_area .type .right_item {
    width: 70%;
}

.plan_area .type .right_item01 {
    text-align: left;
    margin-bottom: 10px;
}

.plan_area .type .right_item01 img {
    height: 20px;
    width: auto;
}

@media (any-hover: hover) {

    .plan_area ul .active a:hover {
        opacity: 0.8;
    }


    .plan_area ul li a:hover .open::before {
        max-width: 150px;
        animation: fadeIn 0.3s ease-out normal;
    }

    @keyframes fadeIn {
        0% {
            max-width: 150px;
        }

        100% {
            max-width: 0;
        }
    }

    .plan_area ul li a:hover .open::after {
        height: 25px;
        animation: fadeIn2 0.4s ease-out normal;
        animation-delay: .3s;
    }

    @keyframes fadeIn2 {
        0% {
            height: 0;

        }

        100% {
            height: 25px;
        }
    }
}


.plan_title img {
    height: 12px;

}


.plan .plan_title {
    display: block;
    margin-bottom: 30px;
}

.plan .lead_area .title {
    font-family: var(--sub-font);
    font-size: 28px;
    text-align: center;
    margin-bottom: 40px;
}

.plan .lead_area .text {
    font-size: 15px;
    text-align: center;
}

.plan .lead_area .text p:nth-of-type(2n) {
    margin-top: .5em;
}

.plan_area {
    margin-top: 60px;
}

.plan_area ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    column-gap: 30px;
    row-gap: 30px;
}

.plan_area ul li {
    width: 48%;
    border: 1px solid #000;
    padding: 20px;
}

@media (max-width: 890px) {
    .plan_area ul li {
        width: 100%;
        padding: 20px;
    }
}



@media (max-width: 767px) {
    .plan_area ul li {
        width: 100%;
        padding: 20px;
    }

    .plan_area .type .left_item img {
        height: 30px;
    }

    .plan_area .type .left_item {
        width: 55%;
    }

    .plan_area .type .right_item01 img {
        height: 15px;
    }

    .plan_area ul li a .open {
        font-size: 14px;
    }

    .plan .lead_area .title {
        font-size: 15px;
    }

    .plan .lead_area .text {
        font-size: 13px;
    }
}


ul.kome {
    padding: 100px 0 0 0;
}


@media (max-width: 767px) {}

.comming {
    opacity: .3;
    pointer-events: none;
}

.comming_soon {
    background-color: #4e4a53;
    text-align: center;
    line-height: 1;
    padding: 5px 0;
    margin-top: 10px;
}

.comming_soon img {
    max-width: 120px;
}

@media (max-width: 767px) {}




/* ポップアップ */
.type-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
}

.type-modal.is-open {
    display: block;
}

.type-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
}

.type-modal__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(1200px, 96vw);
    height: min(92vh, 900px);
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    display: grid;
    grid-template-rows: auto 1fr;
}

.type-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px;
    border-bottom: 1px solid #ddd;
    background: #4d4a52;
}

.type-modal__btn {
    border: 1px solid #4d4a52;
    background: #fff;
    color: #4d4a52;
    font-size: 14px;
    line-height: 1;
    padding: 10px 14px;
    border-radius: 4px;
}

.type-modal__frame {
    width: 100%;
    height: 100%;
    border: 0;
}

.type-modal__btn img {
    max-width: 72px;
}

.type-modal__frame .view_close-icon {
    display: none !important;
}