@charset "UTF-8";


html.scroll {
    scroll-behavior: smooth;
    scroll-padding-top: 6.5rem;
}

@media screen and (min-width: 1440px) {
    html.scroll {
        scroll-padding-top: 65px;
    }
}

@media screen and (max-width: 768px) {
    html.scroll {
        scroll-padding-top: 9rem;
    }
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
}

section {
    margin-bottom: 0;
    margin-top: 0;
}

p {
    line-height: 1.5;
    letter-spacing: normal;
}

.spec_container {
    width: 115rem;
    margin: auto;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .spec_container {
        width: 32.4rem;
    }
}

@media screen and (min-width: 1440px) {
    .spec_container {
        width: 1150px;
    }
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.mb-\[4rem\] {
    margin-bottom: 4rem;
}

.TemplateSpec_wrapper {
    word-break: break-word;
}

.TemplateSpec_title {
    padding: 8rem 0;
    font-size: 4.2rem;
    text-align: center;
    letter-spacing: .084rem;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_title {
        padding: 4rem 0;
        font-size: 2.8rem;
        letter-spacing: .056rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_title {

        font-size: 42px;

    }
}

.TemplateSpec_img{
        padding: 0 0 80px 0;
        width:85%;
        margin:0 auto;
        max-width:800px;

}

.TemplateSpec_specSeat {
    position: relative;
    display: grid;
    max-width: 1150px;
    margin: 0 auto;
    width: 80%;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_specSeat {
        grid-template-columns: 100%;
    }
}

.TemplateSpec_specSeat tr {
    display: grid;
    grid-template-columns: 30rem 1fr;
    padding: 4rem 0;
    border-bottom: 1px solid #f5f5f5;
}

    .TemplateSpec_specSeat tr:first-of-type {
        border-top: 1px solid #f5f5f5;
    }

@media screen and (max-width: 768px) {
    .TemplateSpec_specSeat tr {
        grid-template-columns: 100%;
        padding: 2.6rem 0;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat tr {
        grid-template-columns: 300px 1fr;
        padding: 40px 0;
    }
}

.TemplateSpec_specSeat th {
    display: block;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    letter-spacing: .04rem;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_specSeat th {
        margin-bottom: 1.2rem;
        font-size: 1.5rem;
        letter-spacing: .032rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat th {
        font-size: 20px;
    }
}

.TemplateSpec_specSeat td {
    display: block;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .028rem;
    padding: 1px;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_specSeat td {
        padding: 0 1.8rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat td {
        font-size: 14px;
    }
}

.TemplateSpec_specSeat ul:not([class]) li {
    font-size: 1.5rem;
}

    .TemplateSpec_specSeat ul:not([class]) li:not(:first-child) {
        margin-top: 1.6rem;
    }

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat ul:not([class]) li {
        font-size: 15px;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat ul:not([class]) li:not(:first-child) {
        margin-top: 16px;
    }
}

.TemplateSpec_specSeat figure {
    text-align: center;
}

.TemplateSpec_specSeat figcaption {
    display: block;
    margin-top: 1rem;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: .07rem;
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_specSeat figcaption {
        font-size: 14px;
    }
}

.TemplateSpec_listColor {
    display: flex;
    gap: 0 4rem;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_listColor {
        display: grid;
        grid-template-columns: 33% 33% 33%;
        gap: 2rem 0;
    }

        .TemplateSpec_listColor img {
            padding: 0 0.5rem;
        }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_listColor {
        gap: 0 40px;
    }
}

.TemplateSpec_listData {
    display: grid;
    grid-template-columns: 25.5rem 1fr;
    gap: 1.6rem 0;
}

    .TemplateSpec_listData dt {
        font-weight: 500;
    }

@media screen and (max-width: 768px) {
    .TemplateSpec_listData {
        grid-template-columns: 100%;
        gap: 0;
    }

        .TemplateSpec_listData.clm2 {
            grid-template-columns: 50% 50%;
            gap: 1.6rem;
        }

        .TemplateSpec_listData dt {
            margin-bottom: .5rem;
        }

            .TemplateSpec_listData dt:not(:first-of-type) {
                margin-top: 1.4rem;
            }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_listData {
        grid-template-columns: 255px 1fr;
        gap: 16px 0;
    }
}

.TemplateSpec_innerTable {
    margin-top: -1.8rem;
    border-spacing: 0 1.8rem;
    border-collapse: separate;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_innerTable {
        display: block;
        margin-top: 0;
        border-spacing: 0;
    }

        .TemplateSpec_innerTable th[colspan="2"] + td {
            padding-left: 0;
        }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_innerTable {
        margin-top: -18px;
    }
}

.TemplateSpec_innerTable col:first-child {
    width: 5rem;
}

.TemplateSpec_innerTable col:nth-child(2) {
    width: 20.5rem;
}

.TemplateSpec_innerTable col:nth-child(3) {
    width: auto;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_innerTable col:first-child {
        width: 100%;
    }

    .TemplateSpec_innerTable col:nth-child(2) {
        width: 100%;
    }

    .TemplateSpec_innerTable col:nth-child(3) {
        width: 100%;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_innerTable col:first-child {
        width: 50px;
    }

    .TemplateSpec_innerTable col:nth-child(2) {
        width: 205px;
    }
}

.TemplateSpec_innerTable td {
    display: table-cell;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_innerTable td {
        display: block;
        padding-right: 0;
        margin-bottom: .4rem;
    }
}

.TemplateSpec_innerTable th {
    display: table-cell;
    font-size: 1.5rem;
    font-weight: 500;
}

    .TemplateSpec_innerTable th:nth-child(2) {
        font-size: 1.4rem;
        font-weight: 400;
    }

    .TemplateSpec_innerTable th.TemplateSpec_thTop {
        font-size: 1.4rem;
        font-weight: 400;
    }

@media screen and (max-width: 768px) {
    .TemplateSpec_innerTable th {
        display: block;
        margin-bottom: .4rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_innerTable th {
        font-size: 15px;
    }

        .TemplateSpec_innerTable th:nth-child(2) {
            font-size: 14px;
        }
}

.TemplateSpec_innerTable tr {
    display: table-row;
    margin-top: 1.8rem;
    border: 0 !important;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_innerTable tr {
        display: block;
        padding: 0;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_innerTable tr {
        margin-top: 18px;
    }
}

.TemplateSpec_innerTable tr:first-of-type {
    margin-top: 0;
}

.TemplateSpec_innerTable tr:has(th:empty) {
    margin-top: 0;
}

.TemplateSpec_listLogo {
    display: flex;
    gap: 0 2rem;
    align-items: center;
    justify-content: flex-start;
    padding: .5rem;
    margin: 3.8rem auto;
}

    .TemplateSpec_listLogo li {
        width: auto;
        height: 8rem;
    }

        .TemplateSpec_listLogo li img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

@media screen and (max-width: 768px) {
    .TemplateSpec_listLogo {
        gap: 0 1rem;
        margin: 3rem auto;
    }

        .TemplateSpec_listLogo li {
            height: 5.4rem;
        }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_listLogo {
        gap: 0 20px;
        margin: 38px auto;
    }

        .TemplateSpec_listLogo li {
            height: 80px;
        }
}

.TemplateSpec_note {
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: .026rem;
    counter-reset: item;
    margin: 50px auto;
    width:80%; 

}

    .TemplateSpec_note li:not(:first-child) {
        margin-top: .5rem;
    }

    .TemplateSpec_note li:before {
        display: inline-block;
        margin-right: .5em;
        content: "*" counter(item);
        counter-increment: item;
    }

@media screen and (max-width: 768px) {
    .TemplateSpec_note li:not(:first-child) {
        margin-top: .8rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_note {
        font-size: 13px;
    }

        .TemplateSpec_note li:not(:first-child) {
            margin-top: 5px;
        }
}

.TemplateSpec_importantNotice {
    margin-top: 8.5rem;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_importantNotice {
        margin-top: 3rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_importantNotice {
        margin-top: 85px;
    }
}

.TemplateSpec_importantNotice h1 {
    padding: 3rem 0;
    margin-bottom: 5rem;
    font-size: 3.2rem;
    font-weight: 400;
    letter-spacing: .064rem;
    border-bottom: 1px solid #000;
}

@media screen and (max-width: 768px) {
    .TemplateSpec_importantNotice h1 {
        padding: 2rem 0;
        margin-bottom: 3.4rem;
        font-size: 2rem;
        letter-spacing: .04rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_importantNotice h1 {
        padding: 30px 0;
        margin-bottom: 50px;
        font-size: 32px;
    }
}

.TemplateSpec_importantNotice h2 {
    margin-bottom: 2rem;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .044rem;
    text-align: left;
}

    .TemplateSpec_importantNotice h2:not(:first-child) {
        margin-top: 4rem;
    }

@media screen and (max-width: 768px) {
    .TemplateSpec_importantNotice h2 {
        font-size: 1.6rem;
        letter-spacing: .032rem;
    }

        .TemplateSpec_importantNotice h2:not(:first-child) {
            margin-top: 4rem;
        }

        .TemplateSpec_importantNotice h2:not(:first-child) {
            margin-top: 2.4rem;
        }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_importantNotice h2 {
        margin-bottom: 20px;
        font-size: 22px;
    }

        .TemplateSpec_importantNotice h2:not(:first-child) {
            margin-top: 40px;
        }
}

.TemplateSpec_importantNotice ul {
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .026rem;
}

    .TemplateSpec_importantNotice ul li {
        margin-top: .5rem;
    }

        .TemplateSpec_importantNotice ul li:before {
            display: inline-block;
            content: "?";
        }

@media screen and (max-width: 768px) {
    .TemplateSpec_importantNotice ul li {
        margin-top: .8rem;
    }
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_importantNotice ul {
        font-size: 13px;
    }

        .TemplateSpec_importantNotice ul li {
            margin-top: 5px;
        }
}

.TemplateSpec_importantNotice p {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .026rem;
}

@media screen and (min-width: 1440px) {
    .TemplateSpec_importantNotice p {
        font-size: 13px;
    }
}

.TemplateSpec_felicaIcon {
    display: inline-block;
    width: auto;
    height: 1rem;
    padding-right: .3rem;
}

    .TemplateSpec_felicaIcon img {
        width: auto;
        height: 100%;
    }

@media screen and (min-width: 1440px) {
    .TemplateSpec_felicaIcon {
        height: 10px;
        padding-right: 3px;
    }
}
