@charset "utf-8";

.p-collab .slant01 {
    height: clamp(210px, calc(430px * var(--r-design)), 430px);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);
    top: 0;
}

.p-collab .slant02 {
    height: clamp(1000px, calc(2480px * var(--r-design)), 2480px);
    clip-path: polygon(0 0, 100% var(--slant), 100% calc(100% - var(--slant)), 0 100% );
    bottom: clamp(460px, calc(920px * var(--r-design)), 920px);
}

.p-collab__title {
    width: min(90%,clamp(240px, calc(480px * var(--r-design)), 480px));
    margin-inline: auto;
    text-align: center;
}

.p-box__text--body {
    --clamp-min: 16;
    --clamp-max: 30;
}

.nowrap {
    white-space: nowrap;
}

.p-box__title {
    margin-block-end: var(--space-rg);
}

article {
    margin-block-end: var(--space-md);
}

.grid {
    display: grid;
}

.grid--2col {
    display: grid;
    grid-template-columns: clamp(72px, calc(143px * var(--r-design)), 143px) 1fr; /* dtは残り幅、ddは内容幅に合わせる */
    column-gap: clamp(10px, calc(14px * var(--r-design)), 26px);
    row-gap: clamp(10px, calc(20px * var(--r-design)), 20px);
    align-items: stretch;
    line-height: 1.3;
}

.grid--2col dt {
    display: grid;
    align-items: center;
    justify-content: center;
    border-radius: clamp(2px, calc(6px * var(--r-design)), 6px);
}

.p-list__table dt, .p-list__table dd {
    letter-spacing: 0em;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.p-list_table--orange dt {
    font-weight: var(--font-weight-medium);
    color: var(--color-white);
    background-color: #f0a61e;
    --clamp-min: 14;
    --clamp-max: 27;
    font-size: var(--clamp);
    justify-content: center;
    text-align: center; 
}

.p-list__table dd {
    margin: 0;
    padding: 0;
    --clamp-min: 14;
    --clamp-max: 27;
    font-size: var(--clamp);
    font-weight: var(--font-weight-regular);
}

.p-table_price {
    line-height: 2;
}

.p-list_table--orange {
    margin-block-end: var(--space-xs);
}

.p-ticket-list {
    --clamp-min: 14;
    --clamp-max: 16;
    font-size: var(--clamp);
    margin-block-end: var(--space-md);
}

.p-title {
    display: block;
    margin-inline: auto;
    text-align: center;
}

.p_square__bg {
    width: 100%;
    padding-block: var(--space-md);
    border-radius: clamp(4px, calc(10px * var(--r-design)), 10px);
}

.p_square__headmark  {
    padding-block-start: var(--space-md);
    padding-block-end: var(--space-sm);
}

.p_square__train .p-title__aqua {
    width: min(80%,clamp(160px, calc(380px * var(--r-design)), 380px));
}

.p_square__headmark .p-title__aqua {
    width: min(90%,clamp(260px, calc(524px * var(--r-design)), 524px));
}

.p_square__bg--aqua {
    background-color: var(--color-aqua);
    margin-bottom: 0.5em;
}

.p-box__image--train {
    margin-inline-start: 0;
    padding-inline-end: 1em;
}

.p-period {
    padding-block-start: clamp(9px, calc(18px * var(--r-design)), 18px);
    padding-block-end: clamp(16px, calc(32px * var(--r-design)), 32px);
    border-top: solid clamp(2px, calc(5px * var(--r-design)), 5px);
    border-bottom: solid clamp(2px, calc(5px * var(--r-design)), 5px);
    border-color: var(--color-darkblue);
    text-align: center;

}

.p-period p {
    letter-spacing: 0.01em;
    line-height: 1;
    --clamp-min: 16;
    --clamp-max: 32;
    font-size: var(--clamp);
    color: var(--color-darkblue);
    font-weight: var(--font-weight-heavy);
    margin-block-start: clamp(2px, calc(5px * var(--r-design)), 5px);
}

.p-period span {
    --clamp-min: 20;
    --clamp-max: 44;
    font-size: var(--clamp);
}

.p-box__img--enjoy {
    width: min(80%,clamp(240px, calc(530px * var(--r-design)), 530px));
}

 .p-title__voice {
    width: min(90%,clamp(280px, calc(573px * var(--r-design)), 573px));
    margin-block-end: var(--space-md);
 }

 .p_square__bg--aqua:last-of-type > *:last-child {
    margin-block-end: 0;
}

.p-box__img--voice {
    max-width: clamp(280px, calc(573px * var(--r-design)), 573px);
}

@media screen and (min-width: 1025px) {
    .p-period {
        margin-inline:clamp(4px, calc(6px * var(--r-design)), 6px);
    }
}

@media (max-width: 374px) {

    .grid--2col {
        column-gap: 8px;
        row-gap: 10x;
    }

    .p-list_table--orange dt {
        line-height: 1.3;
        --clamp-min: 13;
        --clamp-max: 22;
    }

    .p-list__table dd {
        display: inline-block;
        height: fit-content;
        align-items: center;
        --clamp-min: 13;
        --clamp-max: 22;
        font-size: var(--clamp);
        font-weight: var(--font-weight-regular);
    }

    .p-ticket-list {
        --clamp-min: 13;
        --clamp-max: 22;
    }

    .p-list__table dd {
        letter-spacing: -0.05em;
    }
    .p-period p {
        letter-spacing: -0.05em;
    }
}