@charset "UTF-8";
/* Existing collection foundation: retain global rules and original order. */


:root {
    --series-Txt: #4a403b;
    --series-brown: #87692D;
    --series-gold: #caa77b;
    --series-line: #ddcfbf;
    /* --series-bg: #fffdf9; */
    --series-blue: #d8e8e8;
    --series-cream: #fffced;
}


.seriesPage {
    font-family: "Noto Serif JP", serif;
    color: var(--series-Txt);
    /* background: var(--series-bg); */
    overflow: hidden;
}

.seriesPage *,
.seriesPage *::before,
.seriesPage *::after {
    box-sizing: border-box;
}

.seriesPage img {
    display: block;
    width: 100%;
    height: auto;
}

.txtSpan {
    display: block;
    padding: 20px 0;
}

.seriesSection {
    position: relative;
    padding: 5vh 0;
}


.narrowInner {
    /* width: min(760px, calc(100% - 64px)); */
    margin: 0 auto;
}

.sectionTtl {
    display: flex;
    flex-direction: column;
    align-items: center;
    Text-align: center;

    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 18px;
    color: #666;

    margin: 50px auto;
}

/* 上の装飾 */
.sectionTtl::before {
    content: "";
    display: block;

    width: 250px;
    height: 40px;

    background-image: url("https://maylaclassic.com/maylaclassique/main/collection/images/arch_top.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    margin-bottom: 30px;
}

.sectionTtl span {
    display: block;
    margin-bottom: 8px;

    font-size: 18px;
    font-style: italic;
    font-weight: 300;
    padding-bottom: 10px;
}

/* 下の装飾 */
.sectionTtl::after {
    content: "";
    display: block;

    width: 250px;
    height: 40px;

    background-image: url("https://maylaclassic.com/maylaclassique/main/collection/images/arch_bottom.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    margin-top: 30px;
}

.sectionTxt {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
}

.sectionTxtTtl {
    color: var(--series-brown);
    display: block;
    font-size: 20px;
}

.sectionTxtSpan {
    display: block;
    padding: 10px 0;
}


.sectionLead,
.movieLead,
.leadCopy,
.stylingLead,
.endingCopy,
.storyTxtBox {
    font-size: 14px;
    line-height: 2.25;
    letter-spacing: .09em;
    Text-align: center;
}

.ornament {
    width: 190px;
    margin: 46px auto 0;
}

/* KV */
.seriesKv {
    padding: 0;
}

.sceneMainVisual {
    margin: 0;
}

.seriesKvLogo {
    width: 190px;
    margin: 40px auto 0;
}

.introSection {
    padding-top: 72px;
}

/* Main Visual Video */
.MainVisualVideoWrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 42px auto 0;
    background: var(--series-blue);
    overflow: hidden;
}

.MainVisualVideoWrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}





/* Collection Guide heading: unchanged legacy scene support. */
.collectionGuideTtl {
    text-align: center;

    font-family: "Noto Serif JP", serif;
    font-size: 22px;
    letter-spacing: .08em;
    color: #666;
    line-height: 1.5;
}

.collectionGuideTtl span {
    display: block;

    font-size: 10px;
    letter-spacing: .15em;
    margin-top: 5px;
}

/* Main Products Visual */
.mainVisualContentsWrap {
    margin: 62px 0 0;
    padding: 0;
    list-style: none;
}

.mainVisualWrap {
    margin: 0 0 84px;
}

.mainVisualWrap:last-child {
    margin-bottom: 0;
}

.mainVisualWrap .visual {
    margin: 0 0 30px;
}

/* .mainVisualWrap .visual img {
    width: 100%;
} */

.colorName {
    margin-top: 24px;
    Text-align: center;
}

.colorName .productNameTxt {
    margin: 0;
    color: var(--series-brown);
    font-size: 22px;
    letter-spacing: .08em;
    padding: 10px 0 25px;
}

.colorName .en {
    margin: 0;
    color: var(--series-brown);
    font-size: 22px;
    font-style: italic;
    letter-spacing: .08em;
}

.colorName .jp {
    margin: 10px 0 0;
    font-size: 14px;
    letter-spacing: .14em;
}

.colorCatch {
    margin: 20px 0 0;
    color: #80716a;
    font-size: 14px;
    letter-spacing: .16em;
    Text-align: center;
}

.colotCatchTxt {
    color: #80716a;
    font-size: 16px;
    text-align: center;
    padding: 30px 0;
    line-height: 2.0;
}


.colorThemeWrap {
    Text-align: center;
    padding: 20px 0;
}

.colorTheme {
    color: var(--series-brown);
    font-size: 16px;
    padding: 20px 0;
}

.colorThemeTxt {
    font-size: 14px;
    line-height: 2.0;
}





/* -----------------商品セクション共通--------------- */

.productMainVisual {
    margin: 0;
}

.productMainVisual.second {
    margin-top: 28px;
}

.productIntro {
    width: 60%;
    margin: 38px auto 62px;
    Text-align: center;
}


.productIntro h3 {
    margin: 0 0 16px;
    /* color: var(--series-brown); */
    font-size: 19px;
    font-weight: 400;
    letter-spacing: .1em;
}

.productIntro h3 span {
    display: block;
    font-size: 14px;
    padding: 10px 0;
}

.productIntro p {
    margin: 0;
    font-size: 13px;
    line-height: 2.15;
    letter-spacing: .08em;
}

.line2 {
    width: 100%;
    padding: 50px 0;
}

.line2 {
    width: auto;
}

.wayWrap {
    width: 100%;
    margin: 0 0 100px;
}

.waySpecification {
    width: 80%;
    padding: 30px;
    border: 1px solid #9b7753;
    color: #9b7753;
    text-align: center;
    margin: 50px auto;
    font-size: 20px;
    letter-spacing: 0.08em;
    display: flex;
    justify-content: center;
    align-items: center;

}

.waySpecification span {
    font-size: 30px;
}


.wayVisualWrap {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.wayVisualContainer {
    width: calc(50% - 10px);
}

.wayVisual img {
    width: 100%;
    display: block;
}

.wayTxt {
    font-size: 25px;
    Text-align: center;
    padding: 20px 0;
}

.detailGrid {
    margin-top: 38px;
}

.detailItem {
    display: grid;
    /* grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); */
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;
}

.detailItem.reverse {
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
}

.detailItem.reverse .detailImg {
    order: 2;
}

.detailItem.reverse .detailTxt {
    order: 1;
    Text-align: left;
}

.detailImg {
    margin: 0;
    overflow: hidden;
}

.detailImg img {
    /* aspect-ratio: 1 / 1; */
    object-fit: cover;
}

.detailTxt {
    min-height: 200px;
    padding: 24px 0;
    /* background: var(--series-cream); */
}


.detailTxt .detailNum {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--series-gold);
    font-size: 11px;
    letter-spacing: .2em;
}

.detailTxt h3 {
    margin: 0 0 13px;
    color: var(--series-brown);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.8;
}

.detailTxt h3 .detailTxtSpan {
    display: block;
    font-size: 20px;
    line-height: 1.5;
}

.detailTxt p {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    letter-spacing: .07em;
}

.subDetailPair {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    width: 76%;
    margin: 10px auto 64px;
}

.subDetailPair img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Collection Story */
.storySection {
    background: linear-gradient(to bottom, #fffdf9 0, #fff 100%);
}

.storyLogo {
    width: 190px;
    margin: 0 auto 36px;
}

.storyTxtBox p {
    margin: 0 0 19px;
}

.storyTxtBox p:last-child {
    margin-bottom: 0;
}

.storyWrap {}

.seriesLogoImg {
    width: 40%;
    margin: 100px auto 30px;
}

.seriesLogoImg img {
    width: 100%;
}

.storyTxt {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    padding: 50px 0;
}

.storyTxtGold {
    color: var(--series-brown);
    font-size: 20px;
    font-weight: 600;
}



.seriesEmblemImg {
    width: 35%;
    margin: 30px auto 0;
}

.seriesEmblemImg img {
    width: 100%;
}


/* 着用 */
.section08 {
    width: 100%;
}

.wearBlock {
    width: 100%;
    margin-bottom: 80px;
}

.wearVisual {
    width: 100%;
}

.wearVisual img {
    width: 100%;
    height: auto;
    display: block;
}

.wearAccordion {
    width: 100%;
    margin-top: 20px;
}

.wearAccordionBtn {
    width: 300px;
    height: 55px;
    margin: 0 auto 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 1px solid #87692D;
    padding: 0;
    background-color: transparent;
    font-family: "Noto Serif JP", serif;
    font-size: 14px;
    letter-spacing: .1em;
    color: #80654b;
    cursor: pointer;
}

.accordionArrow {
    position: absolute;
    right: 35px;
    font-size: 10px;
    transition: .3s;
}

.wearAccordionBtn.active .accordionArrow {
    transform: rotate(180deg);
}

.wearAccordionContents {
    max-height: 0;
    overflow: hidden;
    transition: max-height .5s ease;
}

.wearAccordionContents.active {
    max-height: 450px;
}

.wearProductItem {
    width: 70%;
    height: 100px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    background-image:
        url("https://maylaclassic.com/maylaclassique/main/collection/images/button_frame2.png");

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    text-decoration: none;
    color: #555;
}

.productCategory {
    width: 60px;
    margin-left: 30px;
    background: #80602d;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 6px;
    text-align: center;
}

.productInfo {
    flex: 1;
    text-align: center;
}

.productInfo p {
    margin: 0;
    font-family: "Noto Serif JP", serif;
    font-size: 14px;
    line-height: 1.5;
}

.productInfo span {
    display: block;
    font-size: 10px;
    padding: 5px 0;
}

.wearProductItem img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-right: 30px;
}





/* --------------------------商品ごとの画像スライダー --------------------------------*/
.productVisualSliderWrap .bx-wrapper {
    max-width: 100% !important;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}

.productVisualSlider {
    margin: 0;
    padding: 0;
}

.productVisualSlider li {
    margin: 0;
}

.productVisualSlider img {
    display: block;
    width: 90%;
    height: auto;
    margin: 0 auto;
}

/* サムネイル */
.productVisualPager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.productVisualPager a {
    display: block;
    width: 45px;
    height: auto;
    cursor: pointer;
}

.productVisualPager img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid #ddd;
    box-sizing: border-box;
    opacity: 0.55;
}

.productVisualPager a.active img {
    border-color: #777;
    opacity: 1;
}

/* 左右矢印 */
.productVisualSliderWrap .bx-controls-direction a {
    width: 42px;
    height: 42px;
    margin-top: -21px;
    background: none;
    text-indent: -9999px;
}

.productVisualSliderWrap .bx-controls-direction a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
}

.productVisualSliderWrap .bx-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.productVisualSliderWrap .bx-next::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

.bx-wrapper .bx-prev {
    left: -12px;
}

.bx-wrapper .bx-next {
    right: -12px;
}

/* スライド切り替え中、画像の横幅より外側を非表示 */
.productVisualSliderWrap .bx-viewport {
    overflow: hidden !important;
}

.productVisualSliderWrap .bx-wrapper {
    overflow: hidden;
}

.productVisualSliderWrap .productVisualSlider img {
    display: block;
    height: auto;
}




@media screen and (max-width:587px) {

    /* 共通*/
    .txtSpan {
        display: block;
        padding: 10px 0;
    }

    #mainTop.seriesPage {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .seriesPage {
        width: 100%;
        overflow: hidden;
    }

    .seriesSection {
        width: 100%;
        overflow: hidden;
        padding: 40px 0 70px;
    }

    .sectionTtl {
        font-size: 14px;
        margin: 0 auto 35px;
    }

    .sectionTxt {
        font-size: 12px;
        line-height: 1.8;
    }


    .sectionTxtTtl {
        font-size: 16px;
    }


    .sectionTxtSpan {
        padding: 10px 0;
    }


    .sectionTtl::before,
    .sectionTtl::after {
        width: 180px;
        height: 30px;
    }

    .sectionTtl::before {
        margin-bottom: 20px;
    }

    .sectionTtl::after {
        margin-top: 20px;
    }

    .sectionTtl span {
        font-size: 14px;
    }

    .mainVisualContentsWrap {
        margin: 30px 0 0;
    }

    .mainVisualWrap {
        margin: 0 0 50px;
    }

    /*  COLLECTION GUIDE heading: unchanged legacy scene support. */
    .collectionGuideTtl {
        font-size: 18px;
    }

    /*  商品紹介 */

    .colorName {
        margin-top: 24px;
        Text-align: center;
    }

    .colorName .productNameTxt {
        font-size: 15px;
        letter-spacing: .08em;
        padding: 10px 0 25px;
    }

    .colorName .en {
        font-size: 18px;
        letter-spacing: .08em;
    }

    .colorName .jp {
        margin: 10px 0 0;
        font-size: 12px;
        letter-spacing: .14em;
    }

    .colorCatch {
        margin: 15px 0 0;
        color: #80716a;
        font-size: 14px;
        letter-spacing: .16em;
        Text-align: center;
    }

    .colotCatchTxt {
        color: #80716a;
        font-size: 12px;
        padding: 30px 0;
        line-height: 2.0;
    }


    .colorThemeWrap {
        Text-align: center;
        padding: 20px 0;
    }

    .colorTheme {
        color: var(--series-brown);
        font-size: 14px;
        padding: 20px 0;
    }

    .colorThemeTxt {
        font-size: 12px;
        line-height: 2.0;
    }

    .line2 {
        width: 100%;
        padding: 50px 0;
    }

    .productIntro {
        width: 85%;
        margin: 15px auto 45px;
    }

    .productIntro h3 {
        font-size: 16px;
    }

    .productIntro h3 span {
        font-size: 12px;
    }

    .productIntro p {
        font-size: 12px;
    }





    /* 2WAY */

    .wayWrap {
        margin: 0 0 40px;
    }

    .waySpecification {
        width: 100%;
        padding: 20px 10px;
        margin: 20px auto 20px;
        font-size: 13px;
    }

    .waySpecification span {
        font-size: 20px;
    }

    .wayVisualWrap {
        width: 100%;
        margin: 0 auto;

        gap: 10px;
    }

    .wayVisualContainer {
        width: calc(50% - 5px);
    }

    .wayTxt {
        font-size: 12px;
        padding: 10px 0;
    }


    /*  商品ディテール */

    .detailGrid {
        margin-top: 20px;
    }

    .detailItem,
    .detailItem.reverse {
        display: block;
        /* margin-bottom: 50px; */

    }

    .detailItem.reverse .detailImg,
    .detailItem.reverse .detailTxt {
        order: initial;
    }

    .detailImg img {
        width: 80%;
        margin: 0 auto;
        aspect-ratio: auto;
    }


    .detailTxt {
        min-height: auto;
        padding: 20px 25px;
        text-align: center;
    }

    .detailItem.reverse .detailTxt {
        text-align: center;

    }


    .detailTxt .detailNum {
        font-size: 10px;
    }

    .detailTxt h3 {
        font-size: 14px;
    }

    .detailTxt h3 .detailTxtSpan {
        font-size: 16px;
    }

    .detailTxt p {
        font-size: 12px;
        line-height: 1.8;
    }


    /*  STORY */

    .seriesLogoImg {
        width: 55%;
        margin: 50px auto 20px;
    }

    .storyTxt {
        font-size: 12px;
        line-height: 2.2;
        padding: 30px 20px;
    }

    .storyTxtGold {
        font-size: 15px;
    }

    .seriesEmblemImg {
        width: 50%;
    }


    /* SECTION08 着用*/

    .wearBlock {
        margin-bottom: 50px;
    }

    .wearAccordion {
        margin-top: 15px;
    }

    .wearAccordionBtn {
        width: 260px;
        height: 45px;

        font-size: 12px;
    }

    .accordionArrow {
        right: 25px;
    }


    .wearProductItem {
        width: 90%;
        height: 75px;
    }

    .productCategory {
        width: 50px;
        margin-left: 20px;

        font-size: 9px;
    }

    .productInfo p {
        font-size: 11px;
    }

    .productInfo span {
        font-size: 8px;
    }

    .wearProductItem img {
        width: 45px;
        height: 45px;
        margin-right: 20px;
    }





    /* --------------------------商品ごとの画像スライダー --------------------------------*/

    .productVisualSlider img {
        width: 85%;
    }

    /* SPでは矢印を画像の内側へ配置 */
    .productVisualSliderWrap .bx-prev {
        left: -12px;
    }

    .productVisualSliderWrap .bx-next {
        right: -12px;
    }





}

/* Alice reusable components. Later heading and purchase rules retain their original specificity and order. */
.alicePage {
    --alice-red: #641b2c;
    --alice-gold: #947147;
    --alice-ink: #322c30;
    width: 100%;
    max-width: 695px;
    min-width: 0;
    margin: 0 auto;
    color: var(--alice-ink);
    font-family: "Noto Serif JP", serif;
}

.alicePage *,
.alicePage *::before,
.alicePage *::after {
    box-sizing: border-box;
}

.alicePage p,
.alicePage h2,
.alicePage h3,
.alicePage figure,
.alicePage ul {
    margin: 0;
    padding: 0;
    font-weight: 400;
}

.alicePage .seriesSection button,
.alicePage .seriesSection a {
    font: inherit;
}

.alicePage .screenReaderTitle {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.alicePage .seriesSection {
    position: relative;
    padding: 5vh 0;
    scroll-margin-top: 90px;
}

#mainTop.alicePage .introSection {
    padding: 50px 0 12px;
}

.alicePage .chapterHeader {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0 auto 50px;
}

.alicePage .chapterHeader::before,
.alicePage .chapterHeader::after {
    content: "";
    display: block;
    width: 250px;
    height: 25px;
    background: center/contain no-repeat;
}

.alicePage .chapterHeader::before {
    background-image: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_arch_top.png');
    margin-bottom: 18px;
}

.alicePage .chapterHeader::after {
    background-image: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_arch_bottom.png');
    margin-top: 22px;
}

.alicePage .chapterNumber {
    color: var(--alice-gold);
    font-size: 20px;
    line-height: 1.5;
    font-style: italic;
}

.alicePage .chapterTitle {
    color: var(--alice-red);
    font-size: 30px;
    line-height: 1.45;
    margin: 8px 0 12px;
    letter-spacing: .02em;
}

.alicePage .chapterSubtitle {
    color: var(--alice-red);
    font-size: 18px;
    line-height: 1.6;
}

.alicePage .imageFrame {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0;
    isolation: isolate;
}

.alicePage .imageFrame img {
    position: absolute;
    display: block;
    max-width: none;
    transform: translate(-50%, -50%);
    object-fit: fill;
}

.alicePage .imageFrame.oval {
    border-radius: 50%;
}

.alicePage .imageFrame.octagon {
    clip-path: polygon(13.115% 0, 86.885% 0, 100% 13.115%, 100% 86.885%, 86.885% 100%, 13.115% 100%, 0 86.885%, 0 13.115%);
    background: var(--alice-gold);
}

.alicePage .imageFrame.octagon::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: var(--alice-gold);
    clip-path: polygon(13.115% 0, 86.885% 0, 100% 13.115%, 100% 86.885%, 86.885% 100%, 13.115% 100%, 0 86.885%, 0 13.115%, 13.115% 0, 13.25% .25%, .25% 13.25%, .25% 86.75%, 13.25% 99.75%, 86.75% 99.75%, 99.75% 86.75%, 99.75% 13.25%, 86.75% .25%, 13.25% .25%);
}

.alicePage .placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    border: 1px solid #dedbda;
    color: #8f8587;
    text-align: center;
    padding: 20px;
}

.alicePage .placeholderLabel {
    font-size: 13px;
    line-height: 1.7;
}

.alicePage .placeholderNote {
    color: #8f8587;
    font-size: 12px;
}

.alicePage .guideTitle {
    text-align: center;
    margin-bottom: 24px;
}

.alicePage .guideTitle h2 {
    font-size: 24px;
    color: var(--alice-red);
}

.alicePage .guideTitle p {
    margin-top: 6px;
    font-size: 13px;
}

/* Alice guide links: Bilitis dimensions; retain Alice artwork and heading styles.
   Explicit descendant rules override global p/span typography in every scene. */
#mainTop.alicePage .collectionGuideWrap {
    width: 100%;
    text-align: center;
    margin: 80px 0 30px;
}

#mainTop.alicePage .collectionGuideContentsTtlWrap {
    width: 400px;
    margin: 30px auto 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}

#mainTop.alicePage .collectionGuideContentsTtlWrap>li {
    margin: 0;
    padding: 0;
    list-style: none;
}

#mainTop.alicePage .collectionGuideContentsTtl {
    width: 100%;
    height: 70px;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_guide.png') center/100% 100% no-repeat;
    text-align: center;
    text-decoration: none;
    color: var(--alice-red);
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    line-height: 1.3;
}

#mainTop.alicePage .collectionGuideContentsTtl :is(p, span) {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: 400;
    line-height: 1.3;
    color: var(--alice-red);
    text-align: center;
}

#mainTop.alicePage .collectionGuideContentsTtl p,
#mainTop.alicePage .collectionGuideContentsTtl .guideEnglish {
    display: block;
    font-size: 17px;
}

#mainTop.alicePage .collectionGuideContentsTtl p span,
#mainTop.alicePage .collectionGuideContentsTtl .guideJapanese {
    display: block;
    font-size: 9px;
    letter-spacing: .12em;
    margin-top: 3px;
}

@media screen and (max-width:587px) {
    #mainTop.alicePage .collectionGuideWrap {
        margin: 50px 0 20px;
    }

    #mainTop.alicePage .collectionGuideContentsTtlWrap {
        width: 90%;
    }

    #mainTop.alicePage .collectionGuideContentsTtl {
        height: 45px;
    }

    #mainTop.alicePage .collectionGuideContentsTtl p,
    #mainTop.alicePage .collectionGuideContentsTtl .guideEnglish {
        font-size: 12px;
    }

    #mainTop.alicePage .collectionGuideContentsTtl p span,
    #mainTop.alicePage .collectionGuideContentsTtl .guideJapanese {
        font-size: 8px;
    }
}

.alicePage a:focus-visible,
.alicePage button:focus-visible {
    outline: 2px solid var(--alice-red);
    outline-offset: 5px;
}

.alicePage .mainVisualContentsWrap {
    display: grid;
    gap: 70px;
    margin-top: 55px;
}

.alicePage .colorCaption {
    text-align: center;
    margin: 24px 0 0;
    font-size: 14px;
    line-height: 2;
}

.alicePage .colorCaption .colorCaptionName {
    font-size: 14px;
}

.alicePage .colorCaption .colorCaptionTitle {
    color: var(--alice-red);
    font-size: 22px;
    margin-bottom: 10px;
}

.alicePage .productIntro {
    width: 60%;
    margin: 38px auto 62px;
    text-align: center;
}

.alicePage .introTitle {
    font-size: 19px;
    line-height: 1.9;
    margin-bottom: 22px;
}

.alicePage .introText {
    font-size: 13px;
    line-height: 2.15;
    letter-spacing: .08em;
}

.alicePage .productContainer {
    margin: 55px 0 0;
    display: grid;
    gap: 55px;
}

.alicePage .productDetail {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
    column-gap: 38px;
    align-items: start;
}

.alicePage .detailText {
    min-width: 0;
    min-height: 200px;
    padding: 24px 0;
}

.alicePage .detailNumber {
    color: var(--alice-gold);
    font-style: normal;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .2em;
    margin-bottom: 12px;
    padding-inline: 0;
}

.alicePage .detailTitle {
    color: var(--alice-red);
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 13px;
}

.alicePage :is(.detailSubtitle, .detailMotif) {
    color: var(--alice-red);
    font-size: 13px;
    line-height: 1.8;
    margin: 0 0 10px;
}

.alicePage .detailBody {
    font-size: 13px;
    line-height: 2.15;
    letter-spacing: .03em;
}

.alicePage button:disabled {
    cursor: default;
}

.alicePage .pendingLink {
    color: #8f8587;
    font-size: 11px;
    margin-top: 8px;
}

.alicePage .wearingContainer {
    display: grid;
    gap: 70px;
}

.alicePage .wearProfile {
    text-align: left;
    font-size: 13px;
    line-height: 1.9;
    margin: 15px 0 20px;
}

.alicePage .wearAccordionBtn {
    border: 0;
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_wear.png') center/100% 100% no-repeat;
    color: var(--alice-red);
    width: 100%;
    min-height: 80px;
    padding: 20px 24px;
    display: flex;
    justify-content: center;
    gap: 12px;
    align-items: center;
    font-size: 16px;
}

.alicePage .accordionArrow {
    font-size: 12px;
}

.alicePage .wearAccordionContents {
    margin: 20px 0 0;
}

.alicePage .wearAccordionContents[hidden] {
    display: none !important;
}

.alicePage .wearProduct {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr) auto;
    align-items: center;
    gap: 25px;
    padding: 16px 0;
    border-bottom: 1px solid #e5dcd6;
    font-size: 13px;
    line-height: 1.9;
}

.alicePage .wearProductThumbnail {
    width: 100%;
    aspect-ratio: 1;
}

.alicePage .wearProductThumbnail img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
}

.alicePage .wearPurchase {
    border: 1px solid #d5c8b9;
    color: #8f8587;
    background: #faf8f5;
    padding: 10px;
    font-size: 11px;
}

@media screen and (max-width:587px) {
    .alicePage {
        padding: 0;
    }

    .alicePage .seriesSection {
        padding: 35px 0;
    }

    #mainTop.alicePage .introSection {
        padding-top: 30px;
    }

    .alicePage .chapterHeader {
        margin-bottom: 32px;
    }

    .alicePage .chapterHeader::before,
    .alicePage .chapterHeader::after {
        width: 190px;
        height: 20px;
    }

    .alicePage .chapterTitle {
        font-size: 23px;
    }

    .alicePage .chapterSubtitle {
        font-size: 15px;
    }

    .alicePage .chapterNumber {
        font-size: 16px;
    }

    .alicePage .guideTitle h2 {
        font-size: 20px;
    }

    .alicePage .mainVisualContentsWrap {
        gap: 42px;
        margin-top: 32px;
    }

    .alicePage .productIntro {
        margin-bottom: 32px;
    }

    .alicePage .introTitle {
        font-size: 15px;
    }

    .alicePage .introText {
        font-size: 12px;
        line-height: 2;
        letter-spacing: 0;
    }

    .alicePage .productContainer {
        gap: 42px;
        margin-top: 35px;
    }

    .alicePage .productDetail {
        column-gap: 18px;
    }

    .alicePage .detailText {
        padding-top: 0;
    }

    .alicePage .detailNumber {
        font-size: 10px;
    }

    .alicePage .detailTitle {
        font-size: 16px;
        margin: 7px 0 14px;
        line-height: 1.6;
        overflow-wrap: normal;
        word-break: normal;
    }

    .alicePage .detailBody {
        font-size: 11px;
        line-height: 1.9;
        letter-spacing: 0;
    }

    .alicePage :is(.detailSubtitle, .detailMotif) {
        font-size: 11px;
    }

    .alicePage .wearingContainer {
        gap: 50px;
    }

    .alicePage .wearAccordionBtn {
        font-size: 12px;
        min-height: 65px;
        padding: 15px;
        gap: 5px;
    }

    .alicePage .wearProduct {
        grid-template-columns: 65px minmax(0, 1fr);
        gap: 15px;
        font-size: 11px;
    }

    .alicePage .wearPurchase {
        grid-column: 2;
        justify-self: start;
    }

}

@media (prefers-reduced-motion:reduce) {
    .alicePage {
        scroll-behavior: auto;
    }

}

#mainTop.alicePage {
    box-sizing: border-box;
}

#mainTop.alicePage .chapterHeader {
    position: static;
    inset: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 30px auto 50px;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    text-align: center;
}

#mainTop.alicePage .chapterHeader::before {
    content: none;
    display: none;
}

#mainTop.alicePage .chapterHeader .chapterNumber {
    position: relative;
    display: block;
    flex: none;
    order: 0;
    width: 150px;
    height: 45px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #947147;
    font-family: "Times New Roman", Times, serif;
    font-size: 28px;
    font-weight: 400;
    font-style: normal;
    line-height: 45px;
    letter-spacing: 0;
    text-align: center;
}

#mainTop.alicePage .chapterHeader .chapterNumber::before {
    content: "";
    position: absolute;
    inset: 50% auto auto 0;
    display: block;
    width: 150px;
    height: 20px;
    margin: 0;
    transform: translateY(-50%);
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_arch_top.png') center / 150px auto no-repeat;
    pointer-events: none;
}

#mainTop.alicePage .chapterHeader .chapterNumber::after {
    content: none;
    display: none;
}

#mainTop.alicePage .chapterHeader .chapterTitle {
    order: 0;
    flex: none;
    max-width: 100%;
    margin: 8px 0 10px;
    padding: 0;
    color: #641b2c;
    font-family: "Times New Roman", Times, serif;
    font-size: 42px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: .02em;
    white-space: normal;
    overflow-wrap: break-word;
    text-align: center;
}

#mainTop.alicePage .chapterHeader .chapterSubtitle {
    order: 0;
    flex: none;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: #322c30;
    font-family: "Noto Serif JP", "Yu Mincho", serif;
    font-size: 30px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: .02em;
    white-space: normal;
    overflow-wrap: break-word;
    text-align: center;
}

#mainTop.alicePage .chapterHeader::after {
    content: "";
    position: static;
    display: block;
    order: 1;
    flex: none;
    width: 250px;
    max-width: 100%;
    height: 50px;
    margin: 18px 0 0;
    padding: 0;
    border: 0;
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_arch_bottom.png') center / contain no-repeat;
    transform: none;
    pointer-events: none;
}

/* Alice purchase: Bilitis layout, scoped to purchase components only. */
#mainTop.alicePage .purchaseWrap {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

#mainTop.alicePage .purchaseWrap .productBtn {
    width: 100%;
    margin: 50px auto 0;
}

#mainTop.alicePage .purchaseWrap .productBtn> :is(a, button) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 110px;
    margin: 20px auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    appearance: none;
    font: inherit;
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_purchase.png') center/100% 100% no-repeat;
    color: var(--alice-gold);
    text-align: center;
    text-decoration: none;
    opacity: 1;
}

#mainTop.alicePage .purchaseWrap .productBtn>button:disabled {
    cursor: default;
}

#mainTop.alicePage .purchaseWrap .productBtn>a:hover {
    opacity: .7;
}

@media screen and (min-width:588px) {
    #mainTop.alicePage .purchaseWrap .productBtn> :is(a, button) {
        background-size: contain;
    }
}

#mainTop.alicePage .purchaseWrap .productImg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 100%;
    padding: 10px;
    background: transparent;
    flex-shrink: 0;
}

#mainTop.alicePage .purchaseWrap .productImg img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

#mainTop.alicePage .purchaseWrap .productTxtWrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 320px;
    height: 100%;
    text-align: center;
}

#mainTop.alicePage .purchaseWrap .productName {
    font-family: "Noto Serif JP", serif;
    font-size: 17px;
    letter-spacing: .12em;
    line-height: 1.8;
}

#mainTop.alicePage .purchaseWrap .productYen {
    font-family: "Noto Serif JP", serif;
    font-size: 14px;
    letter-spacing: .12em;
    line-height: 1.8;
}

#mainTop.alicePage .purchaseWrap .goToPage {
    font-size: 15px;
    letter-spacing: .1em;
    margin-top: 5px;
}

#mainTop.alicePage .purchaseWrap .pendingLink {
    margin-top: 8px;
    text-align: right;
}

@media screen and (max-width:587px) {
    #mainTop.alicePage .purchaseWrap .productBtn {
        margin: 20px auto 0;
    }

    #mainTop.alicePage .purchaseWrap .productBtn> :is(a, button) {
        margin: 10px auto;
        height: 85px;
    }

    #mainTop.alicePage .purchaseWrap .productImg {
        width: 70px;
        padding: 10px;
    }

    #mainTop.alicePage .purchaseWrap .productTxtWrap {
        width: 230px;
        min-width: 0;
        flex: 0 1 230px;
    }

    #mainTop.alicePage .purchaseWrap .productName {
        font-size: 12px;
        letter-spacing: .08em;
        line-height: 1.8;
    }

    #mainTop.alicePage .purchaseWrap .productYen {
        font-size: 10px;
    }

    #mainTop.alicePage .purchaseWrap .goToPage {
        font-size: 10px;
        letter-spacing: .15em;
        margin-top: 5px;
    }
}

/* Customer-facing content and Bilitis wear component sizing. */
#mainTop.alicePage [hidden] {
    display: none !important;
}

#mainTop.alicePage .purchaseWrap .productImg {
    overflow: hidden;
}

#mainTop.alicePage .purchaseWrap .productImg img[src*="pumpsThumbnail"] {
    transform: translateY(-15%);
}

#mainTop.alicePage .wearAccordion {
    width: 100%;
    margin-top: 20px;
}

#mainTop.alicePage .wearAccordionBtn {
    width: 300px;
    height: 55px;
    min-height: 0;
    margin: 0 auto 15px;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--alice-red);
    padding: 0;
    background: transparent;
    color: var(--alice-red);
    font-size: 14px;
    letter-spacing: .1em;
}

#mainTop.alicePage .wearAccordionBtn>span {
    color: var(--alice-red);
}

#mainTop.alicePage .accordionArrow {
    color: var(--alice-red);
    position: absolute;
    right: 35px;
    font-size: 10px;
}

#mainTop.alicePage .wearAccordionContents {
    display: block;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height .5s ease;
}

#mainTop.alicePage .wearAccordionContents.active {
    max-height: 450px;
}

#mainTop.alicePage .wearProductItem {
    width: 70%;
    height: 100px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    background: url('https://maylaclassic.com/maylaclassique/main/collection/aliceLiddell/images/aliceLiddell_frame_wear_product.png') center/100% 100% no-repeat;
    color: var(--alice-ink);
}

#mainTop.alicePage .productCategory {
    width: 60px;
    margin-left: 30px;
    background: var(--alice-gold);
    color: white;
    font-size: 12px;
    line-height: 1;
    padding: 6px;
    text-align: center;
    flex-shrink: 0;
}

#mainTop.alicePage .productInfo {
    flex: 1;
    min-width: 0;
    text-align: center;
}

#mainTop.alicePage .productInfo p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

#mainTop.alicePage .productInfo span {
    display: block;
    font-size: 10px;
    padding: 5px 0;
}

#mainTop.alicePage .wearProductItem img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-right: 30px;
    flex-shrink: 0;
}

#mainTop.alicePage .wearProductItem img[src*="pumpsThumbnail"] {
    transform: translateY(-15%);
}

#mainTop.alicePage .detailBody {
    font-size: 14px;
    line-height: 2;
    letter-spacing: .07em;
}

#mainTop.alicePage .introText {
    font-size: 13px;
    line-height: 2.15;
    letter-spacing: .08em;
}

#mainTop.alicePage .poemText {
    font-size: 14px;
    line-height: 2.25;
    letter-spacing: .09em;
}

#mainTop.alicePage .eventText {
    font-size: 16px;
    line-height: 2;
    letter-spacing: .03em;
}

@media(max-width:587px) {
    #mainTop.alicePage .wearAccordion {
        margin-top: 15px;
    }

    #mainTop.alicePage .wearAccordionBtn {
        width: 260px;
        height: 45px;
        font-size: 12px;
    }

    #mainTop.alicePage .accordionArrow {
        right: 25px;
    }

    #mainTop.alicePage .wearProductItem {
        width: 90%;
        height: 75px;
    }

    #mainTop.alicePage .productCategory {
        width: 50px;
        margin-left: 20px;
        font-size: 9px;
    }

    #mainTop.alicePage .productInfo p {
        font-size: 11px;
    }

    #mainTop.alicePage .productInfo span {
        font-size: 8px;
    }

    #mainTop.alicePage .wearProductItem img {
        width: 45px;
        height: 45px;
        margin-right: 20px;
    }

    #mainTop.alicePage .detailBody {
        font-size: 12px;
        line-height: 1.8;
    }

    #mainTop.alicePage .introText {
        font-size: 12px;
    }

    #mainTop.alicePage .poemText {
        font-size: 12px;
    }

    #mainTop.alicePage .eventText {
        font-size: 12px;
    }
}

/* Heading scale follows Bilitis; retain Alice's heading order and artwork. */
#mainTop.alicePage .chapterHeader {
    margin: 50px auto;
}

#mainTop.alicePage .chapterHeader .chapterNumber {
    width: 250px;
    height: 40px;
    font-size: 18px;
    line-height: calc(40 / 18);
    margin: 0 0 18px;
}

#mainTop.alicePage .chapterHeader .chapterNumber::before {
    width: 250px;
    height: 20px;
}

#mainTop.alicePage .chapterHeader .chapterTitle {
    font-size: 24px;
    line-height: 1.35;
    min-height: 1.35em;
    margin: 0 0 8px;
}

#mainTop.alicePage .chapterHeader .chapterSubtitle {
    font-size: 18px;
    line-height: 1.5;
    margin: 0;
}

#mainTop.alicePage .chapterHeader::after {
    width: 250px;
    height: 40px;
    margin-top: 30px;
}

#mainTop.alicePage .guideTitle h2 {
    font-size: 22px;
}


/* Story logo uses the original PNG outside cropped photo frames. */
#mainTop.alicePage #story p.seriesLogoImg {
    width: 40%;
    margin: 100px auto 30px;
}

#mainTop.alicePage #story p.seriesLogoImg img {
    display: block;
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
}

/* Only new copy spans inherit their original paragraph typography; shared resets stay unchanged. */
#mainTop.alicePage :is(.copySentence, .copyLine, .copyQuote, .copyPhrase, .copyKeep) {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    letter-spacing: inherit;
    color: inherit;
    overflow-wrap: inherit;
    word-break: inherit;
    line-break: inherit;
}

/* Keep product names together at the series/type boundary. */
#mainTop.alicePage .productName :is(.productSeriesName, .productTypeName) {
    font: inherit;
    letter-spacing: inherit;
    display: inline;
}

@media screen and (max-width:587px) {
    #mainTop.alicePage .productName :is(.productSeriesName, .productTypeName) {
        display: inline-block;
        white-space: nowrap;
        max-width: 100%;
    }
}

/* Editorial wrappers are boxless on PC; original wideImage columns remain intact. */
@media screen and (min-width:588px) {
    .alicePage .productDetail:not(.wideImage) :is(.detailHeading, .detailCopy) {
        display: contents;
    }

    .alicePage .ringCaptionName {
        display: none;
    }
}

/* Alice mobile reading layout: Bilitis dedicated CSS scale; scene overrides resolved here. */
@media screen and (max-width:587px) {
    #mainTop.alicePage {
        padding-inline: 0;
    }

    #mainTop.alicePage .seriesSection {
        padding: 40px 0 70px;
    }

    #mainTop.alicePage .introSection {
        padding: 30px 0 12px;
    }

    #mainTop.alicePage .chapterHeader {
        margin: 0 auto 35px;
    }

    #mainTop.alicePage .chapterHeader .chapterNumber {
        width: 180px;
        max-width: 100%;
        height: 30px;
        font-size: 14px;
        line-height: calc(30 / 14);
    }

    #mainTop.alicePage .chapterHeader .chapterNumber::before {
        width: 180px;
        max-width: 100%;
        height: 16px;
    }

    #mainTop.alicePage .chapterHeader .chapterTitle {
        font-size: 18px;
        line-height: 1.4;
        min-height: 1.4em;
    }

    #mainTop.alicePage .chapterHeader .chapterSubtitle {
        font-size: 14px;
        line-height: 1.5;
    }

    #mainTop.alicePage .chapterHeader :is(.chapterTitle, .chapterSubtitle) {
        text-wrap: balance;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .chapterHeader::after {
        width: 180px;
        height: 30px;
        margin-top: 20px;
    }

    #mainTop.alicePage .productContainer {
        gap: 20px;
        margin-top: 20px;
    }

    #mainTop.alicePage .productDetail {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        min-width: 0;
    }

    #mainTop.alicePage .productDetail>.imageFrame {
        grid-column: auto;
        grid-row: auto;
        order: 0;
        width: 80%;
        margin-inline: auto;
    }

    #mainTop.alicePage .productDetail>.detailText {
        grid-column: auto;
        grid-row: auto;
        order: 1;
        display: flex;
        flex-direction: column;
        min-height: auto;
        padding: 20px 25px;
        text-align: center;
    }

    #mainTop.alicePage .productDetail .detailNumber {
        font-size: 10px;
        line-height: 1;
        letter-spacing: .2em;
        margin-bottom: 12px;
        padding-inline: 0;
    }

    #mainTop.alicePage .productDetail .detailTitle {
        font-size: 14px;
        line-height: 1.8;
        margin: 0 0 13px;
    }

    #mainTop.alicePage .productDetail .detailTitle span {
        font-size: 16px;
        line-height: 1.8;
    }

    #mainTop.alicePage .productDetail :is(.detailSubtitle, .detailMotif) {
        font-size: 12px;
        line-height: 1.8;
        margin-bottom: 8px;
    }

    #mainTop.alicePage .productDetail .detailBody {
        font-size: 12px;
        line-height: 1.8;
        letter-spacing: .07em;
    }

    #mainTop.alicePage .productDetail :is(.detailHeading, .detailCopy, .detailNumber, .detailTitle, .detailSubtitle, .detailMotif, .detailBody) {
        max-width: 100%;
        text-align: center;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .productDetail :is(.detailHeading, .detailCopy) {
        display: contents;
    }

    #mainTop.alicePage .productDetail .detailNumber {
        order: 0;
    }

    #mainTop.alicePage .productDetail .detailTitle {
        order: 1;
    }

    #mainTop.alicePage .productDetail .detailSubtitle {
        order: 2;
    }

    #mainTop.alicePage .productDetail .detailMotif {
        order: 3;
    }

    #mainTop.alicePage .productDetail .detailBody {
        order: 4;
    }

    #mainTop.alicePage :is(.detailBody, .eventText) br {
        display: none;
    }

    #mainTop.alicePage .copySentence {
        display: block;
        text-wrap: balance;
    }

    #mainTop.alicePage .copySentence+.copySentence {
        margin-top: .4em;
    }

    #mainTop.alicePage .copySentence+br+.copySentence {
        margin-top: .4em;
    }

    #mainTop.alicePage .eventText .copySentence~.copySentence {
        margin-top: 19px;
    }

    #mainTop.alicePage .copyQuote {
        display: block;
    }

    #mainTop.alicePage .copyLine {
        text-wrap: balance;
    }

    #mainTop.alicePage :is(.introTitle, .chapterTitle, .chapterSubtitle, .detailTitle, .detailSubtitle, .detailMotif, .colorCaptionTitle, .colorCaptionName, .colorCaptionCatch, .eventHeading, .eventName, .ringClosing, .closing p) {
        text-wrap: balance;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage :is(.introText, .poemText) .copyLine {
        display: block;
    }

    #mainTop.alicePage :is(.introText, .poemText) br {
        display: none;
    }

    #mainTop.alicePage :is(.introText, .eventText, .ringClosing, .closing) {
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
        text-wrap: pretty;
    }

    #mainTop.alicePage .productIntro {
        width: 85%;
        margin: 15px auto 45px;
    }

    #mainTop.alicePage .introTitle {
        font-size: 16px;
        line-height: 1.8;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .introText {
        font-size: 12px;
        line-height: 2.15;
    }

    #mainTop.alicePage .mainVisualContentsWrap {
        margin-top: 30px;
        gap: 50px;
    }

    #mainTop.alicePage .mainVisualContentsWrap>.mainVisualWrap {
        margin-bottom: 0;
        min-width: 0;
    }

    #mainTop.alicePage .colorCaption {
        font-size: 12px;
        line-height: 2;
        max-width: 100%;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .colorCaption .colorCaptionTitle {
        font-size: 18px;
        line-height: 1.8;
        margin: 0;
        letter-spacing: .08em;
    }

    #mainTop.alicePage .colorCaption .colorCaptionName {
        font-size: 12px;
        margin: 10px 0 0;
        letter-spacing: .14em;
    }

    #mainTop.alicePage .colorCaption .colorCaptionCatch {
        font-size: 14px;
        margin: 15px 0 0;
        letter-spacing: .16em;
    }

    #mainTop.alicePage .colorCaption .colorCaptionDescription {
        font-size: 12px;
        line-height: 2;
        text-wrap: pretty;
    }

    #mainTop.alicePage .guideTitle h2 {
        font-size: 18px;
    }

    #mainTop.alicePage .guideTitle p {
        font-size: 10px;
        letter-spacing: .15em;
    }

    #mainTop.alicePage .wearProfile {
        font-size: 11px;
    }

    #mainTop.alicePage .wearingContainer {
        gap: 50px;
    }

    #mainTop.alicePage #story p.seriesLogoImg {
        width: 55%;
        margin: 50px auto 20px;
    }

    #mainTop.alicePage .poemText {
        font-size: 12px;
        line-height: 2.2;
        padding: 30px 20px;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .seriesSection .ringClosing {
        font-size: 12px;
        line-height: 2;
        padding-inline: 20px;
    }

    #mainTop.alicePage .eventContainer {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .eventContainer> :is(p, h3) {
        padding-inline: 20px;
    }

    #mainTop.alicePage .eventHeading {
        font-size: 18px;
        line-height: 1.8;
    }

    #mainTop.alicePage .eventDate {
        font-size: 22px;
        max-width: 100%;
    }

    #mainTop.alicePage .eventName {
        font-size: 20px;
        line-height: 1.6;
    }

    #mainTop.alicePage .eventText {
        font-size: 12px;
        line-height: 2;
    }

    #mainTop.alicePage .closing {
        font-size: 12px;
        line-height: 2;
        padding-inline: 20px;
        overflow-wrap: normal;
        word-break: normal;
        line-break: strict;
    }

    #mainTop.alicePage .closingEnglish {
        font-size: 18px;
    }

    #mainTop.alicePage .brandName {
        font-size: 18px;
    }
}

/* Keep clause boundaries and product vocabulary readable on narrow screens. */
@media screen and (max-width:587px) {
    #mainTop.alicePage .copyPhrase {
        display: inline-block;
        max-width: 100%;
        vertical-align: top;
        text-wrap: balance;
    }

    #mainTop.alicePage .copyKeep {
        white-space: nowrap;
    }
}

/* Alice product visuals: static frames keep original crops; controls appear only for real multi-photo slides. */
#mainTop.alicePage .productVisualSliderWrap {
    position: relative;
    width: 100%;
    min-width: 0;
}

#mainTop.alicePage .productVisualSlider {
    list-style: none;
    margin: 0;
    padding: 0;
}

#mainTop.alicePage .productVisualSlider>li {
    list-style: none;
    margin: 0;
    padding: 0;
}

#mainTop.alicePage .productVisualSliderWrap:not(.is-multiphoto) .productVisualSlider>li:not(:first-child) {
    display: none;
}

#mainTop.alicePage .productVisualSlider .imageFrame {
    width: 90%;
    margin: 0 auto;
}

#mainTop.alicePage .productVisualSlider .imageFrame img {
    display: block;
    margin: 0;
}

#mainTop.alicePage .productVisualSliderWrap .bx-wrapper {
    max-width: 100% !important;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

#mainTop.alicePage .productVisualSliderWrap .bx-viewport {
    left: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden !important;
    touch-action: pan-y;
}

#mainTop.alicePage .productVisualPager[hidden] {
    display: none !important;
}

#mainTop.alicePage .productVisualPager {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 10px 0 0;
    padding: 0;
}

#mainTop.alicePage .productVisualPager a {
    display: block;
    position: relative;
    width: 45px;
    height: auto;
    margin: 0;
    padding: 0;
}

#mainTop.alicePage .productVisualPager img {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    transform: none;
    object-fit: cover;
    border: 1px solid #ddd;
    opacity: .55;
}

#mainTop.alicePage .productVisualPager a.active img {
    border-color: #777;
    opacity: 1;
}

#mainTop.alicePage .productVisualSliderWrap .bx-controls-direction a {
    position: absolute;
    top: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    padding: 0;
    background: none;
    text-indent: -9999px;
    z-index: 10;
}

#mainTop.alicePage .productVisualSliderWrap .bx-prev {
    left: -12px;
}

#mainTop.alicePage .productVisualSliderWrap .bx-next {
    right: -12px;
}

#mainTop.alicePage .productVisualSliderWrap .bx-controls-direction a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
}

#mainTop.alicePage .productVisualSliderWrap .bx-prev::before {
    transform: translate(-35%, -50%) rotate(-135deg);
}

#mainTop.alicePage .productVisualSliderWrap .bx-next::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

#mainTop.alicePage .productVisualSliderWrap a:focus-visible {
    outline: 2px solid #777;
    outline-offset: 2px;
}

@media screen and (max-width:587px) {
    #mainTop.alicePage .productVisualSlider .imageFrame {
        width: 85%;
    }
}

/* XD typography by role. Variables belong to editorial sections, never shared lower content. */
#mainTop.alicePage .seriesSection {
    --alice-jp: "Ten Mincho", ten-mincho, "Noto Serif JP", serif;
    --alice-en: Garamond, "EB Garamond", "Times New Roman", serif;
    font-family: var(--alice-jp);
    color: #322c30;
}

#mainTop.alicePage .seriesSection .chapterHeader .chapterNumber {
    font-family: var(--alice-en);
    font-style: normal;
    color: #947147;
}

#mainTop.alicePage .seriesSection .chapterHeader .chapterTitle {
    font-family: "Footlight MT Light", "EB Garamond", Garamond, serif;
    color: #641b2c;
}

#mainTop.alicePage .seriesSection .chapterHeader .chapterSubtitle {
    font-family: "Yu Mincho", "Noto Serif JP", serif;
    color: #322c30;
}

#mainTop.alicePage .seriesSection .guideTitle :is(h2, p) {
    color: #947147;
}

#mainTop.alicePage .seriesSection .guideTitle h2 {
    font-family: var(--alice-en);
}

#mainTop.alicePage .seriesSection .collectionGuideContentsTtl :is(p, span) {
    color: #322c30;
}

#mainTop.alicePage .seriesSection .collectionGuideContentsTtl .guideEnglish {
    font-family: var(--alice-en);
}

#mainTop.alicePage .seriesSection .collectionGuideContentsTtl .guideJapanese {
    font-family: var(--alice-jp);
}

#mainTop.alicePage .seriesSection .introTitle {
    font-family: var(--alice-jp);
    color: #641b2c;
    font-weight: 400;
}

#mainTop.alicePage .seriesSection :is(.introText, .detailBody, .detailSubtitle, .colorCaptionDescription, .colorCaptionName) {
    font-family: var(--alice-jp);
    color: #322c30;
    font-weight: 400;
}

#mainTop.alicePage .seriesSection .colorCaptionTitle {
    font-family: var(--alice-en);
    color: #322c30;
}

#mainTop.alicePage .seriesSection .colorCaptionCatch {
    font-family: var(--alice-jp);
    color: #322c30;
    font-weight: 400;
    font-size: 14px;
}

#mainTop.alicePage .ringSection .colorCaptionCatch {
    color: #641b2c;
}

#mainTop.alicePage .seriesSection .detailNumber {
    font-family: "Pauline Didone Variable", pauline-didone-variable, "Times New Roman", serif;
    font-style: normal;
    font-weight: 400;
    color: #947147;
}

#mainTop.alicePage .seriesSection .detailTitle {
    font-family: var(--alice-jp);
    font-weight: 400;
    color: #641b2c;
}

#mainTop.alicePage .seriesSection .detailTitleEnglish {
    font-family: "dnp-shuei-nshogomincho-std", "DNPShueiNShogoMinStd Hv", "EB Garamond", Garamond, serif;
    font-weight: 700;
    font-style: normal;
    font-size: calc(16px * 54 / 50);
}

#mainTop.alicePage .seriesSection .detailMotif {
    font-family: var(--alice-jp);
    color: #947147;
    font-weight: 400;
}

#mainTop.alicePage .seriesSection .purchaseWrap :is(.productName, .productYen, .goToPage) {
    font-family: var(--alice-jp);
    color: #775520;
}

@media screen and (max-width:587px) {
    #mainTop.alicePage .seriesSection .detailTitleEnglish {
        font-size: calc(14px * 54 / 50);
    }
}

/* Alice chapter artwork and accessible heading text. */
#mainTop.alicePage .chapterHeader .chapterTitle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#mainTop.alicePage .chapterTitleText {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

#mainTop.alicePage .chapterHeader .chapterTitleImage {
    width: var(--chapter-title-image-width);
    max-width: 100%;
    height: auto;
    display: block;
    position: static;
    margin: 0;
    transform: none;
    object-fit: contain;
}

#mainTop.alicePage .MainVisualVideoWrap video {
    display: block;
}

/* Detail separators exported from the original XD vector path. */
#mainTop.alicePage .line2 {
    width: 100%;
    padding: 50px 0;
    margin: 0;
}

#mainTop.alicePage .line2 img {
    display: block;
    width: 100%;
    height: auto;
    position: static;
    transform: none;
    margin: 0;
}

#mainTop.alicePage :is(.ringSection, .pumpsSection, .skirtSection)>.productContainer {
    row-gap: 0;
}

#mainTop.alicePage .ringSection>.line2+.ringClosing {
    margin-top: 0;
}

/* 着用モデル情報（collection cmn.cssと同じ仕様） */
.wearModelProfile {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 12px;
    color: #87692D;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.wearModelProfile span+span::before {
    content: "／";
    margin: 0 10px;
    color: #87692D;
}

.wearModelName {
    font-size: 13px;
}

.wearModelName small {
    margin-right: 6px;
    color: #87692D;
    font-size: 9px;
    letter-spacing: 0.18em;
}

.wearModelProfile[hidden] { display:none; }

@media screen and (max-width:587px) {
.wearModelProfile {
        justify-content: center;
        margin-top: 8px;
        font-size: 10px;
    }

.wearModelProfile span+span::before {
        margin: 0 6px;
    }

.wearModelName {
        font-size: 11px;
    }

.wearModelName small {
        margin-right: 4px;
        font-size: 8px;
    }
}
