@charset "utf-8";

/*-----------------------------------------------
    pageLineup
-----------------------------------------------*/
.pageLineup .main {
    background: linear-gradient(180deg, #fff 0%, var(--ColorTagBg) 50%, var(--ColorTagBg) 100%);
}

/*-----------------------------------------------
    secCmnTop
-----------------------------------------------*/
.secCmnTop {
    background: url(../img/lineup/bgTop.jpg) center / cover no-repeat;
}
@media only screen and (max-width:1215px) {
    .secCmnTop {
        background: url(../img/lineup/bgTop_sp.jpg) center top / cover no-repeat;
    }
    .secCmnTop .engTit::after {
        right: -4.5rem;
        width: 3.5rem;
    }
}

/* スマホ: パンくず（.pnkzWrapper）を .secLogin の下へ（#container を flex + order で入れ替え） */
@media only screen and (max-width: 1215px) {
    #container {
        display: flex;
        flex-direction: column;
    }
    #container>header.cmnHeader {
        order: 1;
    }
    #container>.secCmnTop {
        order: 2;
    }
    #container>.main {
        order: 3;
    }
    #container>.pnkzWrapper {
        order: 4;
        height: 3.5rem;
    }
    #container>footer.cmnFooter {
        order: 6;
    }
    /* <?parts_footer?> 等で #container 直下に追加される要素（フッター直前など） */
    #container>*:not(header.cmnHeader):not(.secCmnTop):not(.main):not(.pnkzWrapper):not(footer.cmnFooter) {
        order: 5;
    }
}

/*-----------------------------------------------
    secIndex
-----------------------------------------------*/
.secIndex {
    padding: 4rem 0 0;
}
.secIndex .boxLineupInner {
    position: relative;
}
.secIndex .listLineupAnchor {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem;
    margin-bottom: 8rem;
}
.secIndex .itemLineupAnchor {
    width: calc((100% - 4rem) / 2);
}
.secIndex .linkLineupAnchor {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 9rem;
    padding: 2.2rem 2rem 2rem;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 0.1rem solid #d6d3cd;
    color: var(--colorBrown);
    font-size: var(--pcFontSize20);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
    background: var(--whiteColor);
    transition: border-color 0.4s ease, color 0.4s ease;
}
.secIndex .linkLineupAnchor::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--colorBrown);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
.secIndex .linkLineupAnchor:hover {
    opacity: 1;
    border-color: var(--colorBrown);
    color: var(--whiteColor);
}
.secIndex .linkLineupAnchor:hover::before {
    transform: scaleX(1);
}
.secIndex .linkLineupAnchor .cmnIconArrow {
    position: relative;
    z-index: 1;
    margin-left: 1.5rem;
}
.secIndex .linkLineupAnchor:hover .cmnIconArrow.isBrown {
    background: url(../img/common/iconArrowBlack02.png) #fff center / 0.7rem no-repeat;
}
.secIndex .secLineupSelect + .secLineupSelect {
    margin-top: 9rem;
}
.secIndex .boxDetailsSecHead {
    margin-bottom: 4rem;
}
.secIndex .titDetailsSecEng {
    display: flex;
    align-items: center;
    gap: 0 1.8rem;
    margin-bottom: 1.2rem;
    color: var(--orangeColor);
    font-size: var(--pcFontSize50);
    font-weight: 200;
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing100);
}
.secIndex .titDetailsSecEng::after {
    content: "";
    display: block;
    width: 10rem;
    height: 0.1rem;
    background-color: var(--orangeColor);
    opacity: 0.25;
}
.secIndex .titDetailsSecJp {
    color: var(--colorBrown);
    font-size: var(--pcFontSize16);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
@media only screen and (max-width: 1215px) {
    .secIndex {
        padding-top: 2rem;
    }
    .secIndex .listLineupAnchor {
        gap: 1.5rem;
        margin-bottom: 3rem;
    }
    .secIndex .itemLineupAnchor {
        width: calc((100% - 1.5rem) / 2);
    }
    .secIndex .linkLineupAnchor {
        min-height: 5rem;
        padding: 0.8rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secIndex .linkLineupAnchor .cmnIconArrow {
        margin-left: 1rem;
    }
    .secIndex .secLineupSelect + .secLineupSelect {
        margin-top: 4rem;
    }
    .secIndex .boxDetailsSecHead {
        margin-bottom: 2rem;
    }
    .secIndex .titDetailsSecEng {
        gap: 0 0.8rem;
        margin-bottom: 0.4rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secIndex .titDetailsSecEng::after {
        width: 3.8rem;
    }
    .secIndex .titDetailsSecJp {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secIndex .secReservation {
        margin-top: 1rem;
    }
}

/*-----------------------------------------------
    secLineupPerformance
-----------------------------------------------*/
.secLineupPerformance .listPerformanceLineup {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: calc(100vw - 16rem);
    max-width: calc(192rem - 16rem);
    margin: 0 auto;
}
.secLineupPerformance .itemPerformanceLineup {
    width: calc((100% - 2rem) / 2);
}
.secLineupPerformance .boxPerformanceLineup {
    height: 100%;
}
.secLineupPerformance .linkPerformanceLineup {
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--whiteColor);
}
.secLineupPerformance .linkPerformanceLineup:hover {
    opacity: 1;
}
.secLineupPerformance .linkPerformanceLineup::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #222428;
    opacity: 0.7;
    pointer-events: none;
    mix-blend-mode: multiply;
}
.secLineupPerformance .imgPerformanceLineup {
    aspect-ratio: 870 / 840;
    overflow: hidden;
}
.secLineupPerformance .imgPerformanceLineup img {
    transition: transform 0.5s ease-out;
}
.secLineupPerformance .linkPerformanceLineup:hover .imgPerformanceLineup img {
    transform: scale(1.05);
}
.secLineupPerformance .boxPerformanceBody {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10rem 4rem 20rem;
    text-align: center;
}
.secLineupPerformance .txtPerformanceLabel {
    margin-bottom: 0.4rem;
    font-size: var(--pcFontSize30);
    line-height: calc(50 / 30);
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 700;
}
.secLineupPerformance .boxPerformanceAward {
    display: flex;
    justify-content: center;
    gap: 9rem;
    margin-bottom: 3rem;
}
.secLineupPerformance .txtPerformanceAward {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: 17.5rem;
    min-height: 9.2rem;
    margin: 0;
    font-size: var(--pcFontSize32);
    line-height: calc(40 / 32);
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
    background: linear-gradient(180deg, #c9bb98 0%, #f0ddb0 52%, #f6ecd4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.secLineupPerformance .txtPerformanceAward.isPrice {
    min-width: 20rem;
    gap: 0.1rem;
    font-size: var(--pcFontSize22);
    line-height: 1.2;
    letter-spacing: var(--pcLetterSpacing30);
}
.secLineupPerformance .txtAwardNum,
.secLineupPerformance .txtAwardSub,
.secLineupPerformance .txtAwardYen,
.secLineupPerformance .txtAwardTax {
    background: linear-gradient(180deg, #c9bb98 0%, #f0ddb0 52%, #f6ecd4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.secLineupPerformance .txtAwardSub {
    font-size: var(--pcFontSize18);
}
.secLineupPerformance .txtAwardNum {
    font-size: var(--pcFontSize26);
    letter-spacing: 0;
}
.secLineupPerformance .txtAwardNum.isLarge {
    font-size: var(--pcFontSize40);
}
.secLineupPerformance .txtAwardYen {
    font-size: var(--pcFontSize22);
}
.secLineupPerformance .txtAwardTax {
    margin-top: 0.2rem;
    font-size: var(--pcFontSize18);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing50);
}
.secLineupPerformance .txtPerformanceAward::before,
.secLineupPerformance .txtPerformanceAward::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 4.1rem;
    height: 11rem;
    background: url("../img/lineup/imgLineupAward.png") center / contain no-repeat;
    transform: translateY(-50%);
}
.secLineupPerformance .txtPerformanceAward::before {
    left: -2.6rem;
}
.secLineupPerformance .txtPerformanceAward::after {
    right: -2.6rem;
    transform: translateY(-50%) scaleX(-1);
}
.secLineupPerformance .titPerformanceLogo {
    margin: 1rem 0;
}
.secLineupPerformance .titPerformanceName {
    font-size: var(--pcFontSize22);
    line-height: calc(44 / 22);
    letter-spacing: var(--pcLetterSpacing30);
    margin-bottom: 1.8rem;
}
.secLineupPerformance .boxPerformancePrice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.3rem;
    margin: 1.5rem 0 6.3rem;
}
.secLineupPerformance .txtPerformanceBadge {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.2rem 0;
    width: 5.7rem;
    height: 5.7rem;
    border-radius: 50%;
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    line-height: calc(16 / 12);
    letter-spacing: 0;
    font-weight: 700;
}
.secLineupPerformance .txtPerformanceRow {
    line-height: 1;
}
.secLineupPerformance .txtPerformanceNum {
    font-size: var(--pcFontSize20);
    letter-spacing: 0;
}
.secLineupPerformance .txtPerformancePrice {
    display: flex;
    align-items: flex-end;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing100);
}
.secLineupPerformance .txtPerformancePriceNum {
    font-size: var(--pcFontSize70);
    line-height: 0.6;
    letter-spacing: 0;
    margin-right: 0.4rem;
}
.secLineupPerformance .txtPerformancePriceNum .txtSmall {
    font-size: var(--pcFontSize50);
}
.secLineupPerformance .txtPerformanceNote {
    margin: 0 0 6.8rem;
    font-size: var(--pcFontSize18);
    line-height: calc(32 / 18);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secLineupPerformance .cmnBtnMore.isLineup {
    min-width: 0;
    max-width: 40rem;
    min-height: 7rem;
    border-color: rgba(255, 255, 255, 0.9);
    color: var(--whiteColor);
    font-size: var(--pcFontSize18);
    position: absolute;
    bottom: 8rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.secLineupPerformance .cmnBtnMore.isLineup .cmnIconArrow {
    width: 1.4rem;
    height: 1.4rem;
}
@media only screen and (max-width: 1800px) {
    .secLineupPerformance .listPerformanceLineup {
        max-width: calc(100% - 10rem);
        width: 140rem;
    }
    .secLineupPerformance .boxPerformanceBody {
        padding: 5rem 4rem 20rem;
    }
    .secLineupPerformance .txtPerformanceLabel {
        font-size: var(--pcFontSize20);
    }
    .secLineupPerformance .titPerformanceLogo img {
        width: auto;
        height: 7rem;
    }
    .secLineupPerformance .txtPerformanceNote {
        font-size: var(--pcFontSize16);
    }
    .secLineupPerformance .cmnBtnMore.isLineup {
        max-width: 40rem;
        min-height: 7rem;
        bottom: 5rem;
    }
}
@media only screen and (max-width: 1215px) {
    .secLineupPerformance .listPerformanceLineup {
        gap: 3rem;
        width: 100%;
        max-width: none;
        padding: 0;
    }
    .secLineupPerformance .itemPerformanceLineup {
        width: 100%;
    }
    .secLineupPerformance .imgPerformanceLineup {
        aspect-ratio: 335 / 435;
        min-height: 43.5rem;
    }
    .secLineupPerformance .boxPerformanceBody {
        padding: 7.5rem 2rem 10rem;
    }
    .secLineupPerformance .txtPerformanceLabel {
        margin-bottom: 0.3rem;
        font-size: var(--spFontSize15);
        line-height: calc(25 / 15);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secLineupPerformance .boxPerformanceAward {
        gap: 5rem;
        margin-top: 1rem;
        margin-bottom: 2.8rem;
    }
    .secLineupPerformance .txtPerformanceAward {
        min-width: 8.8rem;
        min-height: 5.2rem;
        font-size: var(--spFontSize18);
        line-height: calc(22 / 18);
    }
    .secLineupPerformance .txtPerformanceAward.isPrice {
        min-width: 11rem;
        font-size: var(--spFontSize14);
        line-height: 1.1;
    }
    .secLineupPerformance .txtAwardSub {
        font-size: var(--spFontSize12);
    }
    .secLineupPerformance .txtAwardNum {
        font-size: var(--spFontSize16);
    }
    .secLineupPerformance .txtAwardNum.isLarge {
        font-size: var(--spFontSize26);
    }
    .secLineupPerformance .txtAwardYen {
        font-size: var(--spFontSize14);
    }
    .secLineupPerformance .txtAwardTax {
        margin-top: 0.1rem;
        font-size: var(--spFontSize12);
    }
    .secLineupPerformance .txtPerformanceAward::before,
    .secLineupPerformance .txtPerformanceAward::after {
        width: 2.4rem;
        height: 6.4rem;
    }
    .secLineupPerformance .txtPerformanceAward::before {
        left: -1.8rem;
    }
    .secLineupPerformance .txtPerformanceAward::after {
        right: -1.8rem;
    }
    .secLineupPerformance .titPerformanceLogo {
        margin: 0.4rem 0 0;
    }
    .secLineupPerformance .titPerformanceLogo img {
        width: auto;
        height: 5.5rem;
    }
    .secLineupPerformance .titPerformanceName {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize18);
    }
    .secLineupPerformance .boxPerformancePrice {
        gap: 0.8rem;
        margin: 0
    }
    .secLineupPerformance .txtPerformanceBadge {
        width: 5rem;
        height: 5rem;
        font-size: var(--spFontSize10);
        line-height: 1.2;
    }
    .secLineupPerformance .txtPerformanceNum {
        font-size: var(--pcFontSize16);
    }
    .secLineupPerformance .txtPerformancePrice {
        font-size: var(--spFontSize12);
        padding-top: 0.8rem;
    }
    .secLineupPerformance .txtPerformancePriceNum {
        padding-bottom: 0.4rem;
        font-size: var(--spFontSize40);
        line-height: 0.5;
    }
    .secLineupPerformance .txtPerformancePriceNum .txtSmall {
        font-size: var(--pcFontSize30);
    }
    .secLineupPerformance .txtPerformanceNote {
        max-width: 24rem;
        margin-bottom: 1.8rem;
        font-size: var(--spFontSize10);
        line-height: calc(18 / 10);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secLineupPerformance .cmnBtnMore.isLineup {
        min-width: 0;
        width: 100%;
        max-width: 26.5rem;
        min-height: 4.6rem;
        padding: 0.9rem;
        font-size: var(--spFontSize13);
        bottom: 3rem;
    }
    .secLineupPerformance .txtPerformanceDescription {
        margin: 1.4rem 0 0;
        font-size: var(--spFontSize13);
        line-height: calc(26 / 13);
        letter-spacing: var(--spLetterSpacing50);
        text-align: center;
    }
}
@media only screen and (max-width: 360px) {
    .secLineupPerformance .txtPerformancePriceNum {
        font-size: var(--spFontSize46);
    }
}

/*-----------------------------------------------
    secLineupLifestyle
-----------------------------------------------*/
.secLineupLifestyle {
    padding-bottom: 4.5rem;
}
.secLineupLifestyle .listLifestyleLineup {
    display: flex;
    flex-wrap: wrap;
    gap: 13rem 5.6rem;
}
.secLineupLifestyle .itemLifestyleLineup {
    width: calc((100% - 11.2rem) / 3);
}
.secLineupLifestyle .boxLifestyleLineup {
    height: 100%;
}
.secLineupLifestyle .linkLifestyleLineup {
    position: relative;
    display: block;
    min-height: 100%;
    overflow: hidden;
    color: var(--whiteColor);
}
.secLineupLifestyle .linkLifestyleLineup:hover {
    opacity: 1;
}
.secLineupLifestyle .linkLifestyleLineup::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(54, 64, 67, .25) 0%, rgba(54, 64, 67, 1) 100%);
    mix-blend-mode: multiply;
    pointer-events: none;
}
.secLineupLifestyle .imgLifestyleMain {
    aspect-ratio: 430 / 600;
    overflow: hidden;
}
.secLineupLifestyle .imgLifestyleMain img {
    transition: transform 0.5s ease-out;
}
.secLineupLifestyle .linkLifestyleLineup:hover .imgLifestyleMain img {
    transform: scale(1.05);
}
.secLineupLifestyle .boxLifestyleBody {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8.5rem 2rem 0;
    text-align: center;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.18);
}
.secLineupLifestyle .txtLifestyleLabel {
    margin-bottom: 1.2rem;
    font-size: var(--pcFontSize20);
    line-height: 1.4;
    letter-spacing: var(--pcLetterSpacing35);
    font-weight: 200;
}
.secLineupLifestyle .titLifestyleLineup {
    font-size: var(--pcFontSize45);
    line-height: 6.3rem;
    letter-spacing: var(--pcLetterSpacing60);
    font-weight: 700;
}
.secLineupLifestyle .titLifestyleLineup .txtSmall {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing10);
}
.secLineupLifestyle .txtLifestyleLead {
    margin: 0;
    min-height: 5.2rem;
    font-size: var(--pcFontSize13);
    line-height: calc(26 / 13);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secLineupLifestyle .btnLifestyleIcon {
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    background: url("../img/common/iconArrow04.png") rgba(29, 32, 34, 0.5) center / 1.3rem no-repeat;
    margin: 2rem auto 0;
}
.secLineupLifestyle .imgLifestyleSub {
    position: absolute;
    right: 50%;
    bottom: -6rem;
    width: 40rem;
    height: 20rem;
    transform: translateX(50%);
}
@media only screen and (max-width: 1215px) {
    .secLineupLifestyle {
        padding-bottom: 4rem;
    }
    .secLineupLifestyle .listLifestyleLineup {
        gap: 5rem 1.5rem;
    }
    .secLineupLifestyle .itemLifestyleLineup {
        width: calc((100% - 1.5rem) / 2);
    }
    .secLineupLifestyle .boxLifestyleBody {
        padding: 2.7rem 0.8rem 0;
    }
    .secLineupLifestyle .txtLifestyleLabel {
        margin-bottom: 1rem;
        font-size: var(--spFontSize12);
    }
    .secLineupLifestyle .titLifestyleLineup {
        margin-bottom: 0.5rem;
        font-size: var(--spFontSize26);
        line-height: 3rem;
    }
    .secLineupLifestyle .titLifestyleLineup .txtSmall {
        font-size: var(--spFontSize18);
        display: inline-block;
        vertical-align: top;
        margin-top: 1rem;
    }
    .secLineupLifestyle .titLifestyleLineup .txtLife {
        font-size: var(--spFontSize18);
    }
    .secLineupLifestyle .btnLifestyleIcon {
        width: 3.4rem;
        height: 3.4rem;
        margin: 1rem auto 0;
        background-size: 0.8rem;
    }
    .secLineupLifestyle .imgLifestyleSub {
        bottom: -3.4rem;
        width: 15rem;
        height: 7.5rem;
    }
}

/*-----------------------------------------------
    pageLineup
-----------------------------------------------*/
.pageLineup .main {
    background: linear-gradient(180deg, #fff 0%, #f8f7f4 18%, #edece5 64%, #e6e4dc 100%);
}

/*-----------------------------------------------
    secDetails
-----------------------------------------------*/
.secDetails {
    margin-bottom: 10rem;
}
.secDetails .boxDetailsSecHead {
    margin-bottom: 4rem;
}
.secDetails .titDetailsSecEng {
    color: var(--orangeColor);
    font-size: var(--pcFontSize50);
    font-weight: 200;
    letter-spacing: var(--pcLetterSpacing30);
    line-height: 1;
    margin-bottom: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0 1.5rem;
}
.secDetails .titDetailsSecEng::after {
    content: "";
    display: block;
    width: 10rem;
    height: 1px;
    background-color: var(--orangeColor);
    opacity: 0.25;
}
.secDetails .titDetailsSecJp {
    color: var(--colorBrown);
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1.4;
}
@media only screen and (max-width: 1215px) {
    .secDetails {
        margin-bottom: 6rem;
    }
    .secDetails .boxDetailsSecHead {
        margin-bottom: 2rem;
    }
    .secDetails .titDetailsSecEng {
        font-size: var(--spFontSize30);
        margin-bottom: 0.5rem;
        gap: 0 0.8rem;
    }
    .secDetails .titDetailsSecEng::after {
        width: 3.5rem;
    }
    .secDetails .titDetailsSecJp {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing100);
    }
}

/*-----------------------------------------------
    secDetailsFv
-----------------------------------------------*/
.secDetailsFv .boxDetailsFv {
    position: relative;
    min-height: 70rem;
    width: 100%;
    padding: 4.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
.secDetailsFv .imgDetailsFv {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.secDetailsFv .boxDetailsFv > :not(.imgDetailsFv) {
    position: relative;
    z-index: 1;
}
.secDetailsFv .txtDetailsFvLead {
    margin: 0 0 4rem;
}
.secDetailsFv .txtDetailsFvLead.isLined {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
}
.secDetailsFv .txtDetailsFvLead.isCloneLines,
.secDetailsFv .txtDetailsFvLeadLine {
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding: 1.2rem 1.2rem 1rem;
    background: var(--colorBrown);
    color: var(--whiteColor);
    font-size: var(--pcFontSize26);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 1.67;
    font-weight: 700;
}
.secDetailsFv .txtDetailsFvLead.isCloneLines + .boxDetailsFvLogo,
.secDetailsFv .txtDetailsFvLeadLine + .boxDetailsFvLogo {
    margin-top: 4rem;
}
.secDetailsFv .boxDetailsFvLogo {
    width: 100rem;
    text-align: center;
    aspect-ratio: 1000 / 150;
}
.secDetailsFv .boxDetailsFvLogo img {
    filter: drop-shadow(0 0 1rem rgba(0,0,0,0.3));
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
@media only screen and (max-width: 1215px) {
    .secDetailsFv .boxDetailsFv {
        min-height: 56rem;
        padding: 2rem 1.6rem;
    }
    .secDetailsFv .txtDetailsFvLead {
        margin-bottom: 2rem;
    }
    .secDetailsFv .txtDetailsFvLead.isLined {
        gap: 0.4rem;
    }
    .secDetailsFv .txtDetailsFvLead.isCloneLines,
    .secDetailsFv .txtDetailsFvLeadLine {
        padding: 0.8rem;
        font-size: var(--spFontSize16);
        letter-spacing: 0;
    }
    .secDetailsFv .txtDetailsFvLead.isCloneLines + .boxDetailsFvLogo,
    .secDetailsFv .txtDetailsFvLeadLine + .boxDetailsFvLogo {
        margin-top: 2rem;
    }
    .secDetailsFv .boxDetailsFvLogo {
        max-width: 100%;
    }
}

/*-----------------------------------------------
    secDetailsOverview
-----------------------------------------------*/
.secDetailsOverview {
    background: var(--ColorTagBg);
    margin-bottom: 13rem;
    padding: 0 0 10rem;
}
.secDetailsOverview .boxDetailsOverview {
    display: flex;
    align-items: center;
    gap: 8rem;
    padding-top: 4rem;
}
.secDetailsOverview .imgDetailsOverview {
    width: 66rem;
    flex-shrink: 0;
}
.secDetailsOverview .imgDetailsOverview img {
    width: 100%;
    height: auto;
}
.secDetailsOverview .titOverview {
    margin: 0 0 2rem;
    font-size: var(--pcFontSize30);
    line-height: calc(49 / 30);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secDetailsOverview .txtOverviewLead {
    margin: 0 0 3.2rem;
    font-size: var(--pcFontSize15);
    line-height: calc(30 / 15);
    letter-spacing: var(--pcLetterSpacing50);
}
.secDetailsOverview .boxOverviewPrice {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1.3rem;
    margin: 0 0 4rem;
}
.secDetailsOverview .txtOverviewBadge {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.2rem 0;
    width: 5.7rem;
    height: 5.7rem;
    border-radius: 50%;
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    line-height: calc(16 / 12);
    letter-spacing: 0;
    font-weight: 700;
    margin: 0;
}
.secDetailsOverview .txtOverviewRow {
    line-height: 1;
}
.secDetailsOverview .txtOverviewNum {
    font-size: var(--pcFontSize20);
    letter-spacing: 0;
}
.secDetailsOverview .txtOverviewPrice {
    display: flex;
    align-items: flex-end;
    margin: 0;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing100);
}
.secDetailsOverview .txtOverviewPriceNum {
    font-size: var(--pcFontSize70);
    line-height: 0.6;
    letter-spacing: 0;
    margin-right: 0.4rem;
}
.secDetailsOverview .listOverviewTag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.secDetailsOverview .itemOverviewTag {
    background: var(--colorBrown);
    color: var(--whiteColor);
    padding: 0.7rem 1rem 0.5rem;
    font-size: var(--pcFontSize16);
    line-height: 1.2;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
}
@media only screen and (max-width: 1215px) {
    .secDetailsOverview {
        margin-bottom: 4rem;
        padding: 0;
    }
    .secDetailsOverview .boxDetailsOverview {
        display: block;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .secDetailsOverview .imgDetailsOverview {
        width: 100%;
        margin-bottom: 1.6rem;
    }
    .secDetailsOverview .boxDetailsOverviewText {
        padding-top: 0;
    }
    .secDetailsOverview .titOverview {
        margin-bottom: 1rem;
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing100);
        line-height: calc(27 / 16);
    }
    .secDetailsOverview .txtOverviewLead {
        margin-bottom: 2rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
        line-height: calc(24 / 12);
    }
    .secDetailsOverview .boxOverviewPrice {
        gap: 0.8rem;
        margin-bottom: 1.4rem;
    }
    .secDetailsOverview .txtOverviewBadge {
        width: 5rem;
        height: 5rem;
        font-size: var(--spFontSize10);
        line-height: 1.2;
    }
    .secDetailsOverview .txtOverviewNum {
        font-size: var(--spFontSize16);
    }
    .secDetailsOverview .txtOverviewPrice {
        font-size: var(--spFontSize13);
        padding-top: 0.8rem;
    }
    .secDetailsOverview .txtOverviewPriceNum {
        padding-bottom: 0.4rem;
        font-size: var(--spFontSize56);
        line-height: 0.5;
    }
    .secDetailsOverview .listOverviewTag {
        gap: 1px;
    }
    .secDetailsOverview .itemOverviewTag {
        padding: 0.4rem 0.7rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
}
@media only screen and (max-width: 360px) {
    .secDetailsOverview .txtOverviewPriceNum {
        font-size: var(--spFontSize46);
    }
}

/*-----------------------------------------------
    secDetailsGallery
-----------------------------------------------*/
.secDetailsGallery {
    background: var(--whiteColor);
    padding: 0 0 13rem;
    overflow: hidden;
}
.secDetailsGallery .boxVoiceGalleryInner {
    max-width: none;
    margin: 0 auto;
    text-align: center;
}
.secDetailsGallery .titGallery {
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing30);
    color: var(--orangeColor);
    font-weight: 200;
    margin-bottom: 1rem;
}
.secDetailsGallery .txtGallerySub {
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing100);
    color: var(--textColor);
    margin-bottom: 4.4rem;
}
.secDetailsGallery .boxGallerySlider {
    overflow: visible;
    position: relative;
}
.secDetailsGallery .imgGallerySlide {
    background: #fff;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border: solid 1px #bfbfbf;
}
.secDetailsGallery .swiper-button-prev,
.secDetailsGallery .swiper-button-next {
    width: 6.4rem;
    height: 6.4rem;
    margin-top: -3.2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.12);
    color: transparent;
}
.secDetailsGallery .swiper-button-prev {
    left: -4.4rem;
}
.secDetailsGallery .swiper-button-next {
    right: -4.4rem;
}
.secDetailsGallery .swiper-button-prev::after,
.secDetailsGallery .swiper-button-next::after {
    content: "";
    width: 0.9rem;
    height: 0.9rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
}
.secDetailsGallery .swiper-button-prev::after {
    transform: rotate(-135deg);
    margin-left: 0.4rem;
}
.secDetailsGallery .swiper-button-next::after {
    transform: rotate(45deg);
    margin-right: 0.4rem;
}
.secDetailsGallery .boxGalleryPager {
    position: static;
    margin-top: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet {
    position: relative;
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 0 0 20px;
    background-color: #59473a;
    opacity: 0.5;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet:first-child {
    margin-left: 0;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet svg {
    position: absolute;
    top: -4px;
    left: -4px;
    margin: auto;
    pointer-events: none;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet svg circle {
    fill: transparent;
    stroke: #59473a;
    stroke-width: 1;
    stroke-dasharray: 0 78.5;
    will-change: stroke-dasharray;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet.swiper-pagination-bullet-active svg circle {
    opacity: 1;
    animation-name: bulletLoading;
    animation-duration: 6000ms;
    animation-timing-function: linear;
}
.secDetailsGallery .boxGalleryPager .swiper-pagination-bullet-active {
    opacity: 1;
}
@keyframes bulletLoading {
    0% {
        stroke-dasharray: 0 78.5;
    }
    100% {
        stroke-dasharray: 78.5 78.5;
    }
}
@media only screen and (max-width: 1215px) {
    .secDetailsGallery {
        padding-bottom: 5rem;
    }
    .secDetailsGallery .titGallery {
        font-size: var(--spFontSize30);
        margin-bottom: 1rem;
    }
    .secDetailsGallery .txtGallerySub {
        font-size: var(--spFontSize13);
        margin-bottom: 2.5rem;
    }
    .secDetailsGallery .swiper-slide {
        width: 100%;
    }
    .secDetailsGallery .swiper-button-prev,
    .secDetailsGallery .swiper-button-next {
        width: 4rem;
        height: 4rem;
        margin-top: -2rem;
    }
    .secDetailsGallery .swiper-button-prev {
        left: -1rem;
    }
    .secDetailsGallery .swiper-button-next {
        right: -1rem;
    }
    .secDetailsGallery .boxGalleryPager {
        margin-top: 2rem;
    }
    .secDetailsGallery .boxGalleryPager .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 0 0 8px;
    }
    .secDetailsGallery .boxGalleryPager .swiper-pagination-bullet svg {
        top: -3px;
        left: -3px;
    }
}

/*-----------------------------------------------
    secDetailsPoint
-----------------------------------------------*/
.secDetailsPoint {
    margin-bottom: 13rem;
}
@media only screen and (max-width: 1215px) {
    .secDetailsPoint {
        margin-bottom: 5rem;
    }
}

/*-----------------------------------------------
    secDetailsFloor
-----------------------------------------------*/
.secDetailsFloor {
    margin: 0 auto 13rem;
}
.secDetailsFloor .boxFloorList {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}
.secDetailsFloor .boxFloorItem {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.secDetailsFloor .boxFloorHead {
    background: var(--ColorTagBg);
    width: 100%;
    padding: 4rem 4.5rem;
    display: flex;
    justify-content: space-between;
    align-content: stretch;
}
.secDetailsFloor .boxFloorHeadMain {
    flex: 1;
    padding: 0 5rem 0 0;
}
.secDetailsFloor .boxFloorPlanInfo {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 1.5rem;
    margin: 0 0 0.8rem;
}
.secDetailsFloor .txtFloorPlan {
    margin: 0;
    font-size: var(--pcFontSize24);
    letter-spacing: var(--pcLetterSpacing100);
    color: var(--orangeColor);
    font-weight: 700;
}
.secDetailsFloor .txtFloorPlanNum {
    font-size: var(--pcFontSize34);
    letter-spacing: var(--pcLetterSpacing20);
    margin-right: 0.3rem;
    position: relative;
    top: 0.2rem;
}
.secDetailsFloor .txtFloorPlanPrice {
    margin: 0.5rem 0 0;
    padding: 0.6rem 0.8rem;
    background: var(--colorBrown);
    color: #fff;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing30);
}
.secDetailsFloor .titFloor {
    margin: 0 0 0.8rem;
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing100);
    line-height: calc(33 / 20);
    font-weight: 700;
}
.secDetailsFloor .txtFloorLead {
    margin: 0;
    font-size: var(--pcFontSize15);
    line-height: calc(30 / 15);
    letter-spacing: var(--pcLetterSpacing50);
}
.secDetailsFloor .listFloorData {
    width: 30.5rem;
    margin: 0;
    padding: 0 0 0 5rem;
    border-left: 1px solid var(--ColorBorder);
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: var(--pcFontSize15);
    line-height: calc(30 / 15);
    letter-spacing: var(--pcLetterSpacing50);
}
.secDetailsFloor .boxFloorBody {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 2%;
}
.secDetailsFloor .boxFloorPlan {
    width: 66.33%;
    aspect-ratio: 3 / 2;
    position: relative;
    display: block;
    border: 1px solid var(--ColorBorder);
    background: #fff;
    text-decoration: none;
}
.secDetailsFloor .listFloorPhoto {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    gap: 2rem;
}
.secDetailsFloor .itemFloorPhoto {
    aspect-ratio: 3 / 2;
}
.secDetailsFloor .boxFloorPlan .btnZoom {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 6.5rem;
    height: 6.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--colorBrown);
}
@media only screen and (max-width: 1215px) {
    .secDetailsFloor {
        margin-bottom: 4rem;
    }
    .secDetailsFloor .boxFloorList {
        gap: 4rem;
    }
    .secDetailsFloor .boxFloorItem {
        gap: 2rem;
    }
    .secDetailsFloor .boxFloorHead {
        display: block;
        width: 100%;
        padding: 2rem 1.5rem;
    }
    .secDetailsFloor .boxFloorHeadMain {
        width: 100%;
        margin-bottom: 1.2rem;
        padding: 0;
    }
    .secDetailsFloor .boxFloorPlanInfo {
        gap: 0 0.6rem;
        margin-bottom: 1.1rem;
    }
    .secDetailsFloor .txtFloorPlan {
        font-size: var(--spFontSize18);
    }
    .secDetailsFloor .txtFloorPlanNum {
        font-size: var(--spFontSize24);
        top: 0;
    }
    .secDetailsFloor .txtFloorPlanPrice {
        margin: 0;
        padding: 0.6rem 0.7rem;
        font-size: var(--spFontSize10);
    }
    .secDetailsFloor .titFloor {
        margin-bottom: 0.6rem;
        font-size: var(--spFontSize14);
        line-height: calc(24 / 14);
    }
    .secDetailsFloor .txtFloorLead {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
        line-height: calc(24 / 12);
    }
    .secDetailsFloor .listFloorData {
        width: 100%;
        padding: 1.5rem 0 0;
        border-left: none;
        border-top: 1px solid var(--ColorBorder);
        font-size: var(--spFontSize11);
        line-height: calc(22 / 11);
    }
    .secDetailsFloor .boxFloorBody {
        width: 100%;
        display: block;
        gap: 1rem;
    }
    .secDetailsFloor .listFloorPhoto {
        display: flex;
        flex-direction: row;
        width: 100%;
        gap: 1.5rem;
        margin-top: 1.5rem;
    }
    .secDetailsFloor .itemFloorPhoto {
        width: calc((100% - 1.5rem) / 2);
    }
    .secDetailsFloor .boxFloorPlan {
        width: 100%;
    }
    .secDetailsFloor .boxFloorPlan .btnZoom {
        width: 3.5rem;
        height: 3.5rem;
    }
    .secDetailsFloor .boxFloorPlan .btnZoom img {
        width: 1.9rem;
        height: auto;
    }
}

/*-----------------------------------------------
    secDetailsBnr
-----------------------------------------------*/
.secDetailsBnr {
    margin-bottom: 4rem;
}
.secDetailsBnr .listDetailsBnr {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}
.secDetailsBnr .itemDetailsBnr a {
    display: block;
}
@media only screen and (max-width: 1215px) {
    .secDetailsBnr {
        margin-bottom: 0;
    }
    .secDetailsBnr .listDetailsBnr {
        gap: 2rem;
    }
}

/*-----------------------------------------------
    secBackBtn
-----------------------------------------------*/
.secBackBtn {
    display: flex;
    justify-content: center;
    margin-top: 13rem;
    padding: 8rem 0 0;
    border-top: 0.1rem solid var(--borderColor);
}

.secBackBtn .btnBackList {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 30rem;
    height: 5.5rem;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    color: var(--textColor);
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing100);
    text-decoration: none;
    border: 0.1rem solid var(--borderColor);
    font-weight: bold;
    background: var(--whiteColor);
    transition: border-color 0.4s ease, color 0.4s ease;
}

.secBackBtn .btnBackList::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--textColor);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}

.secBackBtn .btnBackList:hover {
    border-color: var(--textColor);
    color: var(--whiteColor);
}

.secBackBtn .btnBackList:hover::before {
    transform: scaleX(1);
}

.secBackBtn .btnBackListIcon {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--textColor);
}

.secBackBtn .btnBackList:hover .btnBackListIcon {
    background: var(--whiteColor);
}

.secBackBtn .btnBackListIcon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.7rem;
    height: 0.1rem;
    margin-left: -0.45rem;
    transform: translateY(-50%);
    background: var(--whiteColor);
}

.secBackBtn .btnBackList:hover .btnBackListIcon::before {
    background: var(--textColor);
}

.secBackBtn .btnBackListIcon::after {
    content: "";
    position: absolute;
    left: calc(50% + -0.2rem);
    top: 50%;
    width: 0.4rem;
    height: 0.4rem;
    border-top: 0.1rem solid var(--whiteColor);
    border-right: 0.1rem solid var(--whiteColor);
    transform: translateY(-50%) rotate(45deg);
    box-sizing: border-box;
}

.secBackBtn .btnBackList:hover .btnBackListIcon::after {
    border-color: var(--textColor);
}

@media only screen and (max-width:1215px) {
    .secBackBtn {
        margin: 5rem auto 0;
        padding: 3rem 0 0;
    }

    .secBackBtn .btnBackList {
        width: 20rem;
        max-width: 100%;
        height: 4.4rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
}
