@charset "utf-8";

/* lineup */
.lineup {
    border-top: max(2em, 2px) solid var(--color-black);
}
.lineup_area_inner {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.lineup_ttl {
    padding-right: 5em;
}
.lineup_txt_in {
    font-weight: 500;
    font-size: max(16em, 12px);
    line-height: 1.75;
}
.lineup_item_wrap,
.lineup_item {
    display: flex;
    flex-direction: column;
}
.lineup_item_img {
    width: 100%;
    height: auto;
}
.lineup_item_note {
    text-align: right;
}
.lineup_item_txt {
    text-align: center;
}
.lineup_item_txt_in {
    font-weight: 900;
    line-height: 1.16;
}
@media (min-width: 521px) {
    .lineup {
        display: flex;
    }
    .lineup_area_wrap,
    .lineup_content {
        width: 50%;
        min-width: 640em;
    }
    .lineup_area,
    .lineup_item_wrap {
        max-width: 720em;
    }
    .lineup_area_wrap {
        background-color: var(--color-lineup);
    }
    .lineup_area {
        margin-left: auto;
        position: sticky;
        top: 0;
        left: 0;
    }
    .lineup_area_inner {
        width: 600em;
        margin-left: auto;
        padding-block: 120em;
        padding-right: 120em;
        gap: 40em;
    }
    .lineup_ttl_in {
        font-size: 96em;
    }

    .lineup_content {
        padding-block: 160em 120em;
        padding-left: 120em;
        border-left: max(2em, 2px) solid var(--color-black);
        position: relative;
    }
    .lineup_item_wrap {
        gap: 115em;
    }
    .lineup_item {
        width: 480em;
        gap: 16em;
    }
    .lineup_item_note_in {
        font-size: max(12em, 12px);
    }
    .lineup_item_txt_in {
        font-size: max(24em, 12px);
    }
}
@media (max-width: 1280px) and (min-width: 521px) {
    .lineup_area_inner {
        padding-right: 40em;
    }
    .lineup_content {
        padding-inline: 40em;
    }
    .lineup_item {
        width: auto;
    }
}
@media (max-width: 520px) {
    .lineup {
        padding-block: 120em;
        background-color: var(--color-lineup);
    }
    .lineup_area_wrap,
    .lineup_content {
        width: 350em;
        margin-inline: auto;
    }
    .lineup_area_inner {
        gap: 48em;
    }
    .lineup_ttl_in {
        font-size: 66em;
    }

    .lineup_content {
        padding-top: 48em;
    }
    .lineup_item_wrap {
        gap: 48em;
    }
    .lineup_item {
        gap: 8em;
    }
    .lineup_item_note_in {
        font-size: max(12em, 12px);
    }
    .lineup_item_txt_in {
        font-size: max(20em, 12px);
    }
}

/* unique */
.unique {
    padding-block: 120em;
    border-top: max(2em, 2px) solid var(--color-black);
    background-color: var(--color-lineup-unique);
}
.unique_ttl_in {
    font-weight: 900;
    line-height: 1.5;
}
.unique_txt_in {
    font-weight: 500;
    font-size: max(16em, 12px);
    line-height: 1.75;
}
.unique_item_wrap {
    display: flex;
    flex-wrap: wrap;
}
.unique_item {
    display: flex;
    flex-direction: column;
}
.unique_item_img {
    width: 100%;
    height: auto;
}
.unique_item_txt_en,
.unique_item_txt_jp {
    display: block;
}
.unique_item_txt_en {
    padding-bottom: 4em;
}
.unique_item_txt_jp {
    padding-top: 4em;
    text-align: right;
    border-top: max(1em, 1px) solid var(--color-black);
}
.unique_item_txt_en_in,
.unique_item_txt_in {
    line-height: 1.16;
    letter-spacing: 0;
}
.unique_item_txt_in {
    font-weight: 500;
}
@media (min-width: 521px) {
    .unique_ttl_in {
        font-size: 32em;
    }
    .unique_txt {
        margin-top: 24em;
    }
    .unique_item_wrap {
        margin-top: 40em;
        gap: 40em 118em;
    }
    .unique_item {
        width: 320em;
        gap: 12em;
    }
    .unique_item_txt_en_in {
        font-size: max(24em, 12px);
    }
    .unique_item_txt_in {
        font-size: max(16em, 12px);
    }
}
@media (max-width: 520px) {
    .unique_ttl_in {
        font-size: 28em;
    }
    .unique_txt {
        margin-top: 40em;
    }
    .unique_item_wrap {
        margin-top: 48em;
        gap: 40em 16em;
    }
    .unique_item {
        width: 167em;
        gap: 6em;
    }
    .unique_item_txt_en_in {
        font-size: max(18em, 12px);
    }
    .unique_item_txt_in {
        font-size: max(12em, 12px);
    }
}