/* index page start */
/* banner */
.index-main .container {
    width: 1000px;
    margin: 0 auto;
}
.index-main .banner {
    background: #D4DBE3;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 11px;
    position: relative;
}
.index-main .banner-left {
    position: absolute;
    top: 50%;
    left: 10.41%;
    transform: translateY(calc(-50% - 7px));
    z-index: 1;
}
.index-main .banner-left h1 {
    font-size: 4.51vw;
}
.index-main .banner-left .h-prompt {
    font-size: 1.94vw;
    margin: 26px 0 45px;
}
.index-main .banner-left .btn-group a {
    width: 280px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    position: relative;
    border-radius: 30px;
}
.index-main .banner-left .btn-group a:not(.spe) {
    color: #C1A684;
    background: #fff;
    margin-top: 15px;
}
.index-main .banner-left .btn-group a.spe {
    color: #fff;
    background: #C1A684;
}
.index-main .banner-left .btn-group a::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border-top: 1px solid #C1A684;
    border-right: 1px solid #C1A684;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.index-main .banner-left .btn-group a.spe::before {
    border-color: #fff;
}
.index-main .person-part {
    position: relative;
    display: flex;
    justify-content: center;
    width: 68.43%;             
    aspect-ratio: 122/95;     
    margin: 20px auto;    
    overflow: hidden;  
    margin: 0;
}
/* banner person-part image */
/* .index-main .person-part img {
    width: 57%;
    height: 135%;
    object-fit: cover;
    display: block;
    margin-left: auto;
    margin-right: 9%;
    transform: scale(var(--person-img-scale));
    transform-origin: center center;
} */
.index-main .banner .person-part img {
    --person-img-scale: 0.92;
    width: 57%;
    height: 135%;
    object-fit: cover;
    display: block;
    margin-left: auto;
    margin-right: 9%;
    transform: scale(var(--person-img-scale));
    transform-origin: center center;
}
@media screen and (max-width: 767px) {
    .index-main .banner .person-part img {
        --person-img-scale: 1;
        width: 100%;
        height: 100%;
        margin-left: 0;
        margin-right: 0;
        transform: scale(var(--person-img-scale)) translateY(6%);
        transform-origin: center center;
    }
    /* SP：画像下部をフェードアウトし、banner 背景 #D4DBE3 と融合 */
    .index-main .person-part::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 45%;
        background: linear-gradient(to bottom, transparent, #D4DBE3);
        pointer-events: none;
    }
}
.index-main .part {
    position: absolute;
    top: 0%;
    left: 0%;
    z-index: 10;
    width: 100%;
    height: 100%;
    aspect-ratio: 122/95; 
    padding: 0;
    margin: 0;
}
.index-main .part li {
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 10;
}
.index-main .part .eye {
    width: 8.6%;
    /* width: 84px; */
    /* height: 96px; */
    height: 11.8%;
    top: 47%;
    left: 47%;
    /* width: 5%; */
    /* height: auto; */
}
.index-main .part .spot {
    width: 7.78%;
    height: 1.4%;
    top: 62%;
    left: 48%;
}
.index-main .part .nose {
    width: 9.65%;
    height: 19.1%;
    top: 60%;
    left: 48.5%;
}
.index-main .part .outline {
    height: 25.35%;
    width: 6.6%;
    top: 76%;
    left: 48.5%;
}
.index-main .part .eyelashes {
    height: 15.15%;
    width: 12.4%;
    top: 43%;
    right: 13%;
}
.index-main .part .skin {
    height: 20.01%;
    width: 5%;
    top: 54%;
    right: 17.4%;
}
.index-main .part .acne {
    height: 12.3%;
    width: 4.2%;
    top: 69%;
    right: 22%;
}
.index-main .part li .part-detail {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.index-main .part li .part-detail::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 280px; 
    height: 1px;
    background: #fff;
    transform-origin: 0 0;
    box-shadow: 0 0 0.5px #fff; 
}
.index-main .part li.eye .part-detail::before {
    transform: rotate(48.5deg); 
}
.index-main .part li.spot .part-detail::before {
    transform: rotate(5.5deg); 
}
.index-main .part li.nose .part-detail::before {
    transform: rotate(57deg); 
}
.index-main .part li.outline .part-detail::before {
    transform: rotate(71.5deg); 
}
.index-main .part li.eyelashes .part-detail::before {
    transform: rotate(43.5deg); 
}
.index-main .part li.skin .part-detail::before {
    transform: rotate(72deg); 
}
.index-main .part li.acne .part-detail::before {
    transform: rotate(65.5deg); 
}
.index-main .part li.line-r {
    transform: rotate(90deg);
}
.index-main .part li .text {
    position: absolute;
    left: 0;
    top: 0;
    text-align: center;
    line-height: 50px;
    background: #fff;
    border-radius: 20px;
    height: 50px;
}
.index-main .part li.eye .text {
    width: 130px;
    transform: translate(-130px,-20px);
} 
.index-main .part li.spot .text {
    width: 88px;
    transform: translate(-88px,-20px);
} 
.index-main .part li.nose .text {
    width: 60px;
    transform: translate(-40px, 40px) rotate(-90deg);
} 
.index-main .part li.outline .text {
    width: 88px;
    transform: translate(-65px,10px) rotate(-90deg);
} 
.index-main .part li.eyelashes .text {
    width: 130.6px;
    transform: translate(-51px,-22px) rotate(-90deg);
} 
.index-main .part li.skin .text {
    width: 88px;
    transform: translate(-42.8px,-12px) rotate(-90deg);
} 
.index-main .part li.acne .text {
    width: 98.6px;
    transform: translate(-42.8px,-12px) rotate(-90deg);
} 
.index-main .part li.line-r .text {
    display: inline-block;
    top: auto;
    bottom: 0;
    left: 100%;

}
.index-main .part li.text-r .text {
    left: auto;
    bottom: 100%;
}
/* お悩みから探す：初期は tab 0 の part のみ表示（JS 前の FOUC 対策） */
.index-main .trouble .js-trouble-part li[data-tab]:not([data-tab="0"]) {
    display: none;
}
@media screen and (max-width: 1400px) {
    
}
/* その他の施術一覧 */
.index-main .other-list {
    padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
    .index-main .other-list {
        margin-top: 100px;
    }
}
@media screen and (max-width: 767px) {
    .index-main .case-cont {
        grid-template-columns: repeat(2, 1fr);
        justify-content: stretch;
    }
    .index-main .case-cont .case-image {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
    .index-main .map {
        flex-direction: column;
        gap: 20px;
    }
    .index-main .map-embed {
        aspect-ratio: 1 / 1;
        min-height: 320px;
    }
    .index-main .map.container {
        width: 100%;
    }
}
.index-main .common-title {
    color: #C1A684;
    position: relative;
    margin-bottom: 40px;
    text-align: center;
}
.index-main .common-title.color-w {
    color: #fff;
}
.index-main .common-title h2 {
    font-size: 32px;
    position: relative;
    display: inline-block;
}
.index-main .common-title h2 .color-b {
    color: #414141;
}
.index-main .common-title h2::before,
.index-main .common-title h2::after {
    content: '';
    display: inline-block;
    width: 100px;
    height: 1px;
    background: #C1A684;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.index-main .common-title h2::before {
    left: -120px;
}
.index-main .common-title.color-w h2::before,
.index-main .common-title.color-w h2::after {
    background: #fff;
}
.index-main h2::after {
    right: -120px;
}
.index-main .tab-main {
    
}
.index-main .tab-title {
    display: flex;
    gap: 20px;
    color: #fff;
    margin-bottom: 5px;
}
.index-main .tab-title li {
    background: rgba(193,166,132, .4);
    padding: 13px 0;
    flex: 1;
    text-align: center;
}
.index-main .tab-title li.choosed {
    background: #C1A684;
}
.index-main .tab-cont {
    padding: 30px 6% 40px;
    box-sizing: border-box;
    background: #fff;
}
.index-main .tab-cont-list {
    display: none;
}
.index-main .tab-cont-list.choosed {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    flex-wrap: wrap;
    gap: 10px;
}
.index-main .tab-cont-list a {
    border: 1px solid #C1A684;
    color: #C1A684;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
}
.index-main .swiper {
    background: #D8CBBB;
}
.index-main .swiper-slide {
}
.index-main .swiper-slide img {
    width: 100%;
}
.index-main .swiper-pagination {
    position: relative;
    margin-top: 20px;
}
.index-main .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, 
.index-main .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 24px;
    height: 1.5px;
    background: #C1A684;
    opacity: .4;
    border-radius: 0;
}
.index-main .swiper-pagination-bullet-active {
    opacity: 1 !important;
    background: #C1A684;
}
.index-main .swiper-button-prev,
.index-main .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #C1A684;
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
}
.index-main .swiper-button-prev {
    left: 13.88%;
}
.index-main .swiper-button-next {
    right: 13.88%;
}
.index-main .swiper-button-prev::after,
.index-main .swiper-button-next::after {
    content: '';
    width: 11px;
    height: 11px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% - 3px),-50%) rotate(45deg);
}
.index-main .swiper-button-prev::after {
    transform: translate(calc(-50% + 3px),-50%) rotate(-135deg);
}
/* テーマ swiper スタイル上書き（トップページ限定） */
.index-main .swiper-button-prev,
.index-main .swiper-button-next {
    top: 43% !important;
    left: auto;
    right: auto;
    background: #C1A684 !important;
    color: #fff !important;
    background-image: none !important;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
}
.index-main .swiper-button-prev {
    left: 13.88%;
}
.index-main .swiper-button-next {
    right: 13.88%;
}
/* お悩みから探す */
.index-main .trouble {
    background: #D8CBBB;
    padding: 100px 0;
}
.index-main .trouble .tab-title {
    gap: 11px;
}
.index-main .trouble .person-part {
    width: 100%;
    display: flex; /* .index-main .person-part の flex を上書きし、画像が縮まないようにする */
    aspect-ratio: 451 / 200;
    overflow: hidden;
    background: #D4DBE3;
}
.index-main .trouble .person-part img {
    position: relative;
    left: 10px;
    transition: opacity 0.25s ease;
}

.index-main .trouble .person-part .js-trouble-body-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
}
.index-main .trouble .person-part.person-part--body .js-trouble-person-img {
    opacity: 0;
    pointer-events: none;
}
.index-main .trouble .person-part.person-part--body .js-trouble-body-img {
    opacity: 1;
    pointer-events: auto;
}
.index-main .trouble .person-part.person-part--body .js-trouble-body-img.disPC {
    left: -98px;
}
.index-main .trouble .person-part.person-part--body .js-trouble-body-img.disSP {
    left: -70px;
}
.index-main .trouble .part .eye {
    top: 44%;
    left: 45%;
}
.index-main .trouble .part .spot {
    left: 42%;
    top: 58%;
}
.index-main .trouble .part .nose {
    width: 6.87%;
    height: 23.88%;
    top: 55%;
    left: 42%;
}
.index-main .trouble .part li.nose .part-detail::before {
    transform: rotate(58deg);
}
.index-main .trouble .part .outline {
    height: 33.35%;
    width: 4.9%;
    top: 71%;
    left: 41%;
}
.index-main .trouble .part .eyelashes {
    height: 20%;
    width: 8.3%;
    top: 35%;
    right: 34%;
}
.index-main .trouble .part .skin {
    height: 25.01%;
    width: 3.5%;
    top: 47%;
    right: 36.4%;
}
.index-main .trouble .part .acne {
    height: 15.3%;
    width: 2.9%;
    top: 63%;
    right: 40%;
}
/* からだタブ用 part（body.jpg 上の 4 項目） */
.index-main .trouble .part .body-hair {
    height: 20.3%;
    width: 11.2%;
    top: 53%;
    right: 47%;
}
.index-main .trouble .part .body-slim {
    height: 20.3%;
    width: 4.2%;
    top: 73%;
    right: 60%;
}
.index-main .trouble .part .body-fat {
    height: 12.3%;
    width: 4.2%;
    top: 82%;
    right: 44%;
}
.index-main .trouble .part .body-regen {
    height: 50.3%;
    top: 12%;
    right: 32%;
    width: 14%;
}
.index-main .trouble .part li.body-hair .part-detail::before {
    transform: rotate(36deg);
}
.index-main .trouble .part li.body-slim .part-detail::before {
    transform: rotate(75deg);
}
.index-main .trouble .part li.body-fat .part-detail::before {
    transform: rotate(72deg);
}
.index-main .trouble .part li.body-regen .part-detail::before {
    transform: rotate(39deg);
}
.index-main .trouble .part li.body-hair .text {
    width: 80px;
    transform: translate(-80px, -20px);
}
.index-main .trouble .part li.body-slim .text {
    width: 120px;
    transform: translate(-84px, 65px) rotate(-90deg);
}
.index-main .trouble .part li.body-fat .text {
    width: 93.6px;
    transform: translate(-88px, -67px) rotate(-90deg);
}
.index-main .trouble .part li.body-regen .text {
    width: 140px;
    transform: translate(-90px, -5px) rotate(-90deg);
}
/* 人気施術メニュー */
.index-main .favrite {
    padding-top: 100px;
}
.index-main .favrite-list {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    max-width: 80%;
    margin: 0 auto;
}
.index-main .favrite-list li {
    flex-shrink: 0; 
    height: 50px;
}
.index-main .favrite-list li a {
    display: flex;
    font-size: 18px;
    background: #fff;
    height: 100%;
}
.index-main .favrite-list li .left {
    width: 36%;
}
.index-main .favrite-list li img {
    width: 100%;
}
.index-main .favrite-list li .right {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 15px;
}
/* 今月のキャンペーンバナー */
.index-main .today-banner {
    width: 800px;
    height: 140px;
    background: #D9D9D9;
    text-align: center;
    line-height: 140px;
    margin: 81px auto 20px;
    display: none;
}
/* LINE */
.index-main .btn-line {
    margin-top: 50px;
}
.index-main .btn-line a {
    width: 640px;
    height: 100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    background: #06C755;
    border: 2px solid #fff;
    border-radius: 15px;
    color: #fff;
    padding: 0 34px 0 80px;
    box-sizing: border-box;
}
.index-main .btn-line .left {
    width: 68px;
}
.index-main .btn-line img {
    width: 100%;
}
.index-main .btn-line .center {
    margin: 0 28px 0 18px;
}
.index-main .btn-line .center .icon,
.index-main .btn-line .right {
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.index-main .btn-line .icon img,
.index-main .btn-line .right img {
    width: 16px;
    margin-left: 2px;
}
.index-main .btn-line .font-big {
    font-size: 26px;
    display: flex;
    align-items: center;
}
.index-main .btn-line .right {
}
/* 症例 */
.index-main .case {
    padding: 100px 0;
}
.index-main .case-cont {
    display: grid;
    grid-template-columns: repeat(3, 316px);
    flex-wrap: wrap;
    gap: 26px;
    justify-content: center;
}
.index-main .case-cont li {
    position: relative;
}
.index-main .case-cont img {
    width: 100%;
}
.index-main .case-image {
    display: grid;
    grid-template-rows: 1fr 1fr;
    width: 316px;
    height: 316px;
    overflow: hidden;
}
.index-main .case-image--horizontal {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr;
}
.index-main .case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 症例の遅延読み込み：未読み込み時は透明、読み込み後にキュー順でゆっくりフェードイン */
.index-main .case-cont .js-case-lazy {
    opacity: 0;
    transition: opacity 1s ease;
}
.index-main .case-cont .js-case-lazy.js-case-lazy--loaded {
    opacity: 1;
}
.index-main .case-cont .mask {
    opacity: 0;
    transition: opacity 1s ease;
}
.index-main .case-cont .mask.js-case-lazy--loaded {
    opacity: 1;
}
.index-main .case-cont li::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .5;
    z-index: 1;
}
.index-main .case-cont li .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 17px;
    text-align: center;
    padding: 0 21px;
    box-sizing: border-box;
    z-index: 2;
}
.index-main .case-cont .mask .prompt {
    background: #fff;
    color: #414141;
    padding: 6px 15px;
    border-radius: 18px;
}
.index-main .case-cont .mask .text {
    font-size: 18px;
    line-height: 26px;
}
.index-main .case-cont .to-detail {
    display: flex;
    align-items: center;
    gap: 4px;
}
.index-main .case-cont .to-detail img {
    width: 19.5px;
}
/* アルファクリニックは おもてなしを大事にしています  */
.index-main .cherish {
    width: 100%;
    aspect-ratio: 1440 / 454;
    line-height: 1.7;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.index-main .cherish img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.7;
}
.index-main .cherish::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #000000;
    opacity: 0.5;
    z-index: 0.5;
    pointer-events: none;
}
.index-main .cherish .cheirsh-cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    text-align: center;
}
.index-main .cherish .title {
    font-size: 32px;
    margin-bottom: 20px;
}
.index-main .cherish .font-small {
    font-size: 12px;
}
/* を与える事-,サービス,-心も体 */
.index-main .giving {
    padding-top: 100px;
}
.index-main .giving::after {
    content: '';
    display: block;
    clear: both;
}
.index-main .giving img {
    width: 100%;
}
.index-main .giving dl {
    margin-bottom: 100px;
    display: flex;
    align-items: center;
    background-color: #fff;
    width: 77.78%;
    box-sizing: border-box;
}
.index-main .giving dl.r {
    padding-right: 19.64%;
    float: right;
} 
.index-main .giving dl.l {
    flex-direction: row-reverse;
    padding-left: 19.64%;
    float: left;
}
.index-main .giving dt {
    width: 52.1%;
    flex-shrink: 0;
    position: relative;
    top: -40px;
}
.index-main .giving dl.l dt {
    right: -100px;
}
.index-main .giving dl.r dt {
    left: -100px;
}
.index-main .giving dd {
    line-height: 1.7;
}
.index-main .giving dd .title {
    font-size: 32px;
    color: #C1A684;
    margin-bottom: 12px;
}
/* 診察・施術までの流れ */
.index-main .flow {
    padding-top: 120px;
    width: 800px;
    margin: 0 auto;
}
.index-main .flow-cont {}
.index-main .flow-cont dl {
    background: #D8CBBB;
    position: relative;
    margin-bottom: 20px;
    padding: 30px 6.62% 30px 9.62%;
    box-sizing: border-box;
}
.index-main .flow-cont dl:last-child {
    margin-bottom: 0;
}
.index-main .flow-cont dt {
    width: 100px;
    height: 100px;
    border: 1px solid #A38560;
    border-radius: 50%;
    color: #A38560;
    font-size: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: -50px;
    transform: translateY(-50%);
}
.index-main .flow-cont dt .num {
    font-size: 32px;
}
.index-main .flow-cont dd {}
.index-main .flow-cont .title {
    color: #fff;
    font-size: 24px;
    line-height: 1.7;
    padding-bottom: 6px;
    border-bottom: 1px solid #fff;
}
.index-main .flow-cont .text {
    padding-top: 14px;
    line-height: 1.7;
}
/* アクセス */
.index-main .access {
    padding: 100px 0;
}
.index-main .map {
    display: flex;
    gap: 40px;
    margin-top: 30px;
    align-items: stretch;
}
.index-main .map-embed {
    flex: 1 1 auto;
    min-height: 360px;
}
.index-main .map-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
.index-main .map-info {
    width: 360px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 1.7;
}
.index-main .access-cont {
    display: flex;
    gap: 40px;
    margin-top: 30px;
}
.index-main .access-cont .access-cont-left {
    width: 528px;
    flex-shrink: 0;
}
.index-main .access-cont .access-cont-left li {
    border-bottom: 1px solid #D8CBBB;
    padding: 15px 0;
}
.index-main .access-cont .access-cont-left span {
    display: inline-block;
}
.index-main .access-cont .access-cont-left span.left {
    width: 118px;
    letter-spacing: 0;
}
.index-main .access-cont .access-cont-right {
    position: relative;
}
.index-main .access-cont .mySwiper2 {
    width: 432px;
    background: transparent;
}
.index-main .access-cont .mySwiper2 .swiper-slide {
    height: 271px;
    overflow: hidden;
}
.index-main .access-cont .mySwiper2 .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media screen and (max-width: 767px) {
    .index-main .access-cont .mySwiper2 .swiper-slide {
        height: 300.15px;
    }
    .index-main .map-info {
        width: 100%;
        font-size: 16px;
    }
}
.index-main .access-cont .swiper-button-prev {
    left: -20px;
}
.index-main .access-cont .swiper-button-next {
    right: -20px;
}
/* お知らせ */
.index-main .announcements {
    background: #fff;
    padding: 42px 3.7% 50px;
    box-sizing: border-box;
    margin-bottom: 100px;
}
.index-main .announcements-main {
    display: flex;
    align-items: flex-start;
    gap: 7.2%;
}
.index-main .announcements h2.title {
    font-size: 32px;
    line-height: 1.7;
    position: relative;
    padding-bottom: 20px;
    width: 136px;
    flex-shrink: 0;
}
.index-main .announcements h2.title::after {
    content: '';
    display: inline-block;
    width: 100px;
    height: 1px;
    background: #C1A684;
    position: absolute;
    left: 0;
    bottom: 0;
}
.index-main .announcements-cont {
    width: calc(92.8% - 136px);
}
.index-main .announcements-cont li {
    border-bottom: 1px solid #D8CBBB;
}
.index-main .announcements-cont li a {
    display: flex;
    align-items: center;
    padding: 15px 0;
    width: 100%;
    text-decoration: none;
    color: inherit;
}
.index-main .announcements-cont .date {
    width: 95px;
    flex-shrink: 0;
}
.index-main .announcements-cont .flag-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 14px 0 40px;
    flex-shrink: 0;
}
.index-main .announcements-cont .flag {
    background: #C1A684;
    color: #fff;
    font-size: 14px;
    padding: 5px 11px;
    border-radius: 18px;
    white-space: nowrap;
}
.index-main .announcements-cont .text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.index-main .announcements .to-more {
    display: flex;
    justify-content: flex-end;
}
.index-main .announcements .to-more a {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 13px;
}
.index-main .announcements .to-more span {
    display: inline-block;
    border-bottom: 1px solid #C1A684;
    line-height: 1.7;
}
.index-main .announcements .to-more img {
    width: 25px;
}
/* よくあるご質問 */
.index-main .question {
    background: #D8CBBB;
    padding: 120px 0;
}
.index-main .question .to-more {
    margin-top: 40px;
    text-align: center;
}
.index-main .question .to-more a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #414141;
    border-bottom: 1px solid #414141;
    line-height: 1.7;
}
.index-main .question .to-more img {
    width: 25px;
}
.index-main .questions-cont {}
.index-main .questions-cont li {
    margin-bottom: 20px;
}

.index-main .questions-cont dl {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.index-main .questions-cont dl.A {
    display: none;
}
.index-main .questions-cont dl.A.open {
    display: flex;
}
.index-main .questions-cont dt {
    font-size: 24px;
    color: #fff;
    width: 60px;
    height: 60px;
    text-align: center;
    line-height: 60px;
    flex-shrink: 0;
    border-radius: 50%;
    position: relative;
}
.index-main .questions-cont dl.Q dt {
    background: #414141;
}
.index-main .questions-cont dl.A dt {
    background: #A38560;
}
.index-main .questions-cont dd {
    width: calc(100% - 70px);
    flex-shrink: 0;
    border-radius: 30px;
    font-size: 18px;
    padding: 16px 30px;
    box-sizing: border-box;
    position: relative;
}
.index-main .questions-cont dl.Q dd::after,
.index-main .questions-cont dl.Q dd::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 2px;
    background: #414141;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}
.index-main .questions-cont dl.Q dd::after {
    width: 2px;
    height: 25px;
    right: 41px;
}
.index-main .questions-cont dl.Q dd.open::after {
    content: none;
} 
.index-main .questions-cont dl.Q dd {
    background: #fff;
    padding-right: 52px;
}

.index-main .mySwiper3 {
    padding: 100px 0;
    background: #EFEAE3;
}
/* popup */
.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,.6);
    align-items: center;
    justify-content: center;
    z-index: 10;
    display: none;
}
.popup.show {
    display: flex;
}
.popup-cont {
    background: #fff;
    padding: 80px 6% 62px;
    position: relative;
    height: 67.82vh;
    overflow: scroll;
    box-sizing: border-box;
}
.popup-cont .close {
    width: 23px;
    height: 23px;
    position: absolute;
    top: 20px;
    right: 20px;
}
.popup-cont .close::after,
.popup-cont .close::before {
    content: '';
    display: inline-block;
    width: 1px;
    height: 23px;
    background: #414141;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.popup-cont .close::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}
.popup-cont .close::before {
    transform: translate(-50%,-50%) rotate(45deg);
}
.popup-cont .pic {
    width: 315.3px;
    margin: 0 auto 40px;
}
.popup-cont .pic img {
    width: 100%;
}
.popup-cont .art-detail {
    border: 1px solid #D8CBBB;
    margin-bottom: 40px;
}
.popup-cont .art-detail li {
    display: flex;
    border-bottom: 1px solid #D8CBBB;
}
.popup-cont .art-detail li:last-child {
    border-bottom: 0;
}
.popup-cont .art-detail li .left {
    display: block;
    width: 200px;
    color: #fff;
    background: #C1A684;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}
.popup-cont .art-detail li .right {
    width: calc(100% - 200px);
    padding: 16px 10px;
    box-sizing: border-box;
    line-height: 1.7;
}
.popup-cont .to-booking {
    background: #414141;
    color: #fff;
    width: 320px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    position: relative;
    margin: 0 auto;
}
.popup-cont .to-booking::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 23px;
    transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 1400px) {
    .index-main .banner-left h1 {
    }
    .index-main .banner-left .h-prompt {
        margin: 20px 0;
    }
    .index-main .person-part {
        width: 50%;
    }
}
@media screen and (max-width: 1280px) {
    .index-main .container {
        width: 89.33%;
    }
    .index-main .giving dl.r {
        padding-right: 4%;
    }
    .index-main .giving dl.l {
        padding-left: 4%;
    }
    .index-main .flow {
        width: 80%;
    }
    .index-main .today-banner {
        width: 100%;
    }
    .index-main .access-cont {
        justify-content: center;
    }
    .index-main .access-cont .access-cont-left {
        width: 52.8%;
    }
    .index-main .access-cont .access-cont-right {
        width: 43.2%;
        display: flex;
        align-items: center;
    }
    .index-main .access-cont .mySwiper2 {
        width: 100%;
    }
}
@media screen and (max-width: 1000px) {
    .index-main .person-part {
        width: 60%;
    }
    .index-main .banner-left {
        left: 5%;
    }
    .index-main .banner-left h1 {
        font-size: 30px;
    }
    .index-main .banner-left .h-prompt {
        font-size: 16px;
    }
    .index-main .tab-cont {
        padding: 30px 2% 40px;
    }
    .index-main .trouble .tab-cont-list a {
        font-size: 12px;
        line-height: 1.4;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .index-main .favrite-list,
    .index-main .case-cont {
        grid-template-columns: repeat(2,1fr);
    }
    .index-main .cherish .title {
        font-size: 26px;
        margin-bottom: 10px;
        line-height: 1.4;
    }
    .index-main .cherish .text {
        font-size: 14px;
    }
    .index-main .giving dl.r {
        padding: 10px 3% 10px 0;
    }
    .index-main .giving dl.l {
        padding: 10px 0 10px 3%;
    }
}
@media screen and (max-width: 768px) and (min-width: 595px) {
    .index-main .banner-left {
        left: 2%;
    }
    .index-main .banner-left h1 {
        font-size: 24px;
    }
    .index-main .banner-left .h-prompt {
        font-size: 14px;
        margin: 10px 0;
    }
    .index-main .banner-left .btn-group a {
        font-size: 14px;
        width: 210px;
    }
    .index-main .part li .text {
        font-size: 14px;
        height: 22px;
        line-height: 22px;
    }
    .index-main .part li.eye .text {
        width: 90px;
        transform: translate(-90px,-12px);
    } 
    .index-main .part li.spot .text {
        width: 40px;
        transform: translate(-40px,-12px);
    } 
    .index-main .part li.nose .text {
        width: 32px;
        transform: translate(-20px, 20px) rotate(-90deg);
    } 
    .index-main .part li.outline .text {
        width: 40px;
        transform: translate(-25px,20px) rotate(-90deg);
    } 
    .index-main .part li.eyelashes .text {
        width: 92px;
        transform: translate(-51px,-30px) rotate(-90deg);
    } 
    .index-main .part li.skin .text {
        width: 40px;
        transform: translate(-22.8px,0) rotate(-90deg);
    } 
    .index-main .part li.acne .text {
        width: 55px;
        transform: translate(-27.8px,-12px) rotate(-90deg);
    } 
    .index-main .banner-left .btn-group a {
        height: 40px;
        line-height: 40px
    }
    .index-main .cherish .title {
        font-size: 20px;
        margin-bottom: 10px;
        line-height: 1.4;
    }
    .index-main .cherish .text {
        font-size: 12px;
    }
    .index-main .access-cont {
        flex-direction: column;
    }
    .index-main .access-cont .access-cont-left,
    .index-main .access-cont .access-cont-right {
        width: 100%;
    }
}
@media screen and (max-width: 594px) {
    /* お知らせのカテゴリフラグはPCのみ表示 */
    .index-main .announcements-cont .flag-wrap.pc-only {
        display: none !important;
    }
    .index-main .banner {
        flex-direction: column-reverse;
        padding-bottom: 220px;
    }
    .index-main .trouble .person-part .js-trouble-body-img {
        transform: scale(1.1);
    }
    
    /* フロントページ SP バナー内ロゴの大きさ（ここで直接調整） */
    .index-main .banner .logo {
        width: 24.26%;
        position: absolute;
        top: 15px;
        left: 20px;
        z-index: 10;
    }
    .index-main .banner .logo img {
        width: 100%;
    }
    .index-main .banner-left {
        width: 100%;
        top: auto;
        bottom: 36px;
        left: 50%;
        transform: translateX(-50%);
        background: linear-gradient(to bottom,rgba(212,219,227,0),rgba(212,219,227,1));
    }
    .index-main .banner-left h1 {
        padding-left: 5.3%;
        margin-bottom: 20px;
    }
    .index-main .banner-left h1 .title {}
    .index-main .banner-left h1 .title {
        position: relative;
    }
    .index-main .banner-left h1 .title-bg {
        width: 79.4%;
    }
    .index-main .banner-left h1 .title-bg {}
    .index-main .banner-left h1 .title-main {
        width: 75.8%;
        position: absolute;
        top: 0;
        left: 8px;
    }
    .index-main .banner-left .btn-group {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .index-main .banner-left .btn-group a {
        border-radius: 0;
    }
    .index-main .banner-left .btn-group a:not(.spe) {
        margin-top: 8px;
    }
    .index-main .person-part {
        aspect-ratio: 375 / 499;
        width: 100%;
    }
    .index-main .part .eye {
        width: 10%;
        height: 8.1%;
        top: 39%;
        left: 27%;
    }
    .index-main .part .spot {
        width: 9%;
        height: 1%;
        top: 51%;
        left: 27%;
    }
    .index-main .announcements-cont li {
        margin-top: 10px;
    }
    .index-main .part .nose {
        width: 11.4%;
        height: 13.1%;
        top: 51%;
        left: 33%;
    }
    .index-main .part .outline {
        height: 18.25%;
        width: 8.2%;
        top: 66%;
        left: 32%;
    }
    .index-main .part .eyelashes {
        height: 10.9%;
        width: 13.76%;
        top: 35%;
        right: 21%;
        transform: rotate(67deg) !important;
    }
    .index-main .person-part .white-icon.icon_5 {
        top: 78%;
        left: 87%;
    }
    .index-main .part .skin {
        height: 13.71%;
        width: 5.85%;
        top: 47%;
        right: 22%;
    }
    .index-main .part .acne {
        height: 8.4%;
        width: 4.85%;
        top: 61%;
        right: 31%;
    }
    .index-main .part li .text {
        font-size: 11px;
        height: 22.5px;
        line-height: 22.5px;
    }
    .index-main .part li.eye .text {
        width: 72.5px;
        transform: translate(-72.5px,-11.25px);
    } 
    .index-main .part li.spot .text {
        width: 36.5px;
        transform: translate(-36.5px,-11.25px);
    } 
    .index-main .part li.nose .text {
        width: 24.5px;
        transform: translate(-20px, 9px) rotate(-90deg);
    } 
    .index-main .part li.outline .text {
        width: 36.5px;
        transform: translate(-22.5px,18.25px) rotate(-90deg);
    } 
    .index-main .part li.eyelashes .text {
        width: 72.5px;
        transform: translate(-32px,-20px) rotate(-68deg);
    } 
    .index-main .part li.skin .text {
        width: 36.5px;
        transform: translate(-18.25px,0) rotate(-90deg);
    } 
    .index-main .part li.acne .text {
        width: 48.5px;
        transform: translate(-24.8px,-12px) rotate(-90deg);
    }
    .index-main .trouble .part .body-fat {
        height: 24.3%;
        width: 21.2%;
        top: 82%;
        right: 35%;
    }
    .index-main .trouble .part .body-slim {
        height: 24.3%;
        width: 21.2%;
        top: 76%;
        right: 60%;
    }
    .index-main .trouble .part .body-regen {
        height: 24.3%;
        top: 30%;
        right: 15%;
        width: 30%;
    }
    
    .index-main .trouble .part li.body-hair .text,
    .index-main .trouble .part li.body-slim .text,
    .index-main .trouble .part li.body-fat .text,
    .index-main .trouble .part li.body-regen .text {
        font-size: 11px;
        height: 22.5px;
        line-height: 22.5px;
    }
    .index-main .trouble .part li.body-hair .text {
        width: 70px;
        transform: translate(-67px, -11px);
    }
    .index-main .trouble .part li.body-slim .text {
        width: 62px;
        transform: translate(-86px, 24px) rotate(-90deg);
    }
    .index-main .trouble .part li.body-fat .text {
        width: 65.6px;
        transform: translate(-101px, -67px) rotate(-90deg);
    }
    .index-main .trouble .part li.body-regen .text {
        width: 107px;
        transform: translate(-48px, -3px) rotate(-90deg);
    }
    .index-main .common-title {
        margin-bottom: 30px;
    }
    .index-main .common-title h2 {
        font-size: 22px;
    }
    .index-main .common-title h2::before, 
    .index-main .common-title h2::after {
        width: 40px;
    }
    .index-main .common-title h2::after {
        right: -50px;
    }
    .index-main .common-title h2::before {
        left: -50px;
    }
    .index-main .tab-title {
        gap: 7px;
        margin-bottom: 9px;
    }
    .index-main .tab-title li {
        padding: 11px 0;
    }
    .index-main .tab-cont {
        padding: 10px;
    }
    .index-main .tab-cont-list.choosed {
        display: grid;
        grid-template-columns: repeat(2,1fr);
    }
    .index-main .tab-cont-list a {
        width: 100%;
        height: 45px;
        line-height: 45px;
    }
    /* その他の施術一覧 */
    .index-main .other-list {
        padding: 60px 0;
    }
    .index-main .trouble {
        padding: 60px 0;
    }
    .index-main .trouble .tab-title {
        gap: 4px;
        margin-bottom: 5px;
    }
    .index-main .trouble .tab-title li {
        padding: 17px 0;
    }
    .index-main .trouble .person-part {
        aspect-ratio: 335 / 244;
        /* 実機 iPhone SE 等で aspect-ratio が効かず高さがつぶれないよう最小高さを確保 */
        min-height: 150px;
    }
    /* SP：画像が左に寄りすぎないよう少し右にオフセット */
    .index-main .trouble .person-part img {
        left: auto;
        object-fit: contain;
        height: auto;
    }

    .index-main .trouble .tab-cont {
        padding-bottom: 42px;
    }
    .index-main .trouble .tab-cont-list.choosed {
        gap: 5px;
    }
    .index-main .trouble .tab-cont-list a {
        font-size: 14px;
    }
    .index-main .trouble .tab-cont-list a.font-small-sp {
        font-size: 9px;
        line-height: 1.4;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .index-main .favrite {
        padding-top: 60px;
    }
    .index-main .favrite-list {
        gap: 10px;
        display: block;
    }
    .index-main .favrite-list li {
        width: 100%;
        margin-bottom: 10px;
    }
    .index-main .favrite-list li:last-child {
        margin-bottom: 0;
    }
    .index-main .favrite-list li .left {
        width: 34.4%;
    }
    .index-main .today-banner {
        margin: 60px auto 30px;
        width: 89.33%;
    }
    .index-main .btn-line a {
        width: 85%;
        height: auto;
        padding: 8px 0 10px;
        justify-content: center;
        align-items: center;
        text-align: center;
        flex-direction: row-reverse;
    }
    .index-main .btn-line .left {
        width: 12%;
        margin-bottom: 3px;
    }
    .index-main .btn-line .center {
        font-size: 9px;
    }
    .index-main .btn-line .font-big {
        font-size: 13px;
        display: block;
        margin-top: 1px;
    }
    .index-main .btn-line .font-big .icon {
        display: inline-block !important;
        text-align: center;
        width: 10px;
        height: 10px;
        line-height: 5px;
    }
    .index-main .btn-line .font-big .icon img {
        display: inline;
        width: 5px;
    }
    .index-main .case {
        padding: 60px 0;
    }
    .index-main .case-cont {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10px;
        row-gap: 30px;
    }
    .index-main .case-cont li::before {
        content: none;
    }
    .index-main .case-cont li .mask {
        background: transparent;
        position: relative;
        padding: 0;
        justify-content: flex-start;
        align-items: flex-end;
        gap: 0;
    }
    .index-main .case-cont .mask .prompt {
        font-size: 12px;
        width: 100%;
        box-sizing: border-box;
        margin: 10px 0;
    }
    .index-main .case-cont .mask .text {
        font-size: 12px;
        color: #414141;
        text-align: left;
        line-height: 18px;
    }
    .index-main .case-cont .mask .text p {
        display: inline;
    }
    .index-main .case-cont .to-detail {
        color: #414141;
        font-size: 14px;
    }
    .index-main .cherish {
        aspect-ratio: 375 / 424;
    }
    .index-main .cherish .cheirsh-cont {
        font-size: 14px;
        line-height: 1.7;
        padding: 0 5.8%;
        box-sizing: border-box;
    }
    .index-main .cherish .title {
        font-size: 22px;
    }
    .index-main .cherish .font-small {
        font-size: 14px;
    }
    .index-main .cherish .font-small:not(.spe-sp) {
        font-size: 8px;
    }
    .index-main .giving {
        padding-top: 60px;
    }
    .index-main .giving dl {
        flex-direction: column !important;
        float: none !important;
        width: 89.33%;
        margin: 0 auto 80px;
    }
    .index-main .giving dl:last-child {
        margin-bottom: 0;
    }
    .index-main .giving dl.r {
        padding-right: 0;
    }
    .index-main .giving dl.l {
        padding-left: 0;
    }
    .index-main .giving dt {
        width: 100%;
        top: -40px;
    }
    .index-main .giving dl.r dt {
        left: -18px;
    }
    .index-main .giving dl.l dt {
        right: -20px;
    }
    .index-main .giving dl dd {
        padding: 0 22px 30px !important;
        margin-top: -20px;
    }
    .index-main .giving dd .title {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .index-main .flow {
        padding-top: 60px;
    }
    .index-main .flow {
        width: 89.33%;
        margin: 0 auto;
        padding-left: 40px;
        box-sizing: border-box;
    }
    .index-main .flow-cont dl {
        padding-left: 54px;
    }
    .index-main .flow-cont dt {
        width: 80px;
        height: 80px;
        font-size: 14px;
        top: 10px;
        transform: translateY(0);
    }
    .index-main .flow-cont dt .num {
        font-size: 25px;
    }
    .index-main .flow-cont .title {
        font-size: 20px;
        padding-bottom: 3px;
    }
    .index-main .access {
        padding: 60px 0;
    }
    .index-main .access-cont {
        flex-direction: column;
        gap: 30px;
        width: 100%;
    }
    .index-main .access-cont .access-cont-left,
    .index-main .access-cont .access-cont-right {
        width: 100%;
    }
    .index-main .access-cont .access-cont-left li {}
    .index-main .access-cont .access-cont-left li .left {
        display: block;
    }
    .index-main .swiper-button-prev, 
    .index-main .swiper-button-next {
        width: 35px;
        height: 35px;
    }
    .index-main .swiper-button-prev::after, 
    .index-main .swiper-button-next::after {
        width: 9px;
        height: 9px;
    }
    .index-main .access-cont .swiper-button-prev {
        left: -10px;
    }
    .index-main .access-cont .swiper-button-next {
        right: -10px;
    }
    .index-main .announcements {
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
    .index-main .announcements-main {
        flex-direction: column;
    }
    .index-main .announcements h2.title {
        width: 100%;
        font-size: 22px;
        padding-bottom: 0;
        text-align: center;
        margin-bottom: 16px;
    }
    .index-main .announcements h2.title::after {
        content: none;
    }
    .index-main .announcements h2.title span {
        position: relative;
    }
    .index-main .announcements h2.title span::before,
    .index-main .announcements h2.title span::after {
        content: '';
        width: 40px;
        height: 1px;
        background: #C1A684;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .index-main .announcements h2.title span::before {
        left: -50px;
    }
    .index-main .announcements h2.title span::after {
        right: -50px;
    }
    .index-main .announcements-cont {
        width: 100%;
    }
    .index-main .announcements-cont li a {
        flex-wrap: wrap;
    }
    .index-main .announcements .to-more a {
        margin-top: 20px;
    }
    .index-main .question {
        padding: 60px 0 50px;
    }
    .index-main .questions-cont dt {
        width: 45px;
        height: 45px;
        line-height: 45px;
        font-size: 18px;
    }
    .index-main .questions-cont dd {
        border-radius: 10px;
        width: calc(100% - 55px);
        padding: 10px 0 10px 20px;
        font-size: 16px;
    }
    .index-main .questions-cont dl.A dd {
        padding-left: 0;
        padding-bottom: 0;
    }
    /* 小画面で＋アイコンと文字が重ならないよう右余白を確保（iPhone SE 等） */
    .index-main .questions-cont dl.Q dd {
        padding-right: 50px;
    }
    .index-main .questions-cont dl.Q dd::before {
        width: 20px;
    }
    .index-main .questions-cont dl.Q dd::after {
        height: 20px;
        right: 39px;
    }
    .index-main .mySwiper3 {
        padding: 60px 0;
    }
    .index-main .trouble .part .eye {
        width: 11.1%;
        height: 16.4%;
        top: 41%;
        left: 35%;
    }
    .index-main .trouble .part .spot {
        width: 10%;
        height: 1.7%;
        top: 59%;
        left: 36%;
    }
    .index-main .trouble .part .nose {
        width: 12.5%;
        height: 26.45%;
        top: 55%;
        left: 33%;
    }
    .index-main .trouble .part .outline {
        height: 36.86%;
        width: 9%;
        top: 70%;
        left: 31%;
    }
    .index-main .trouble .part .eyelashes {
        height: 22%;
        width: 15.3%;
        top: 33%;
        right: 23%;
    }
    .index-main .trouble .part .body-hair {
        top: 59%;
        right: 50%;
    }

    .index-main .trouble .part .skin {
        height: 27.7%;
        width: 6.5%;
        top: 46%;
        right: 26.4%;
    }
    .index-main .trouble .part .acne {
        height: 19.3%;
        width: 5.35%;
        top: 64%;
        right: 37%;
    }
    .index-main .trouble .part li .text {
        font-size: 10px;
        height: 17px;
        line-height: 17px;
    }
    .index-main .trouble .part li.eye .text {
        width: 70px;
        transform: translate(-61.5px, 0px);
    } 
    .index-main .trouble .part li.spot .text {
        width: 39px;
        transform: translate(-33px, -8.25px);
    }
    .popup-cont {
        padding: 45px 0 40px;
        height: 83.31vh;
    }
    .popup-cont .pic {
        width: 87.76%;
        margin-bottom: 20px;
    }
    .popup-cont .art-detail {
        border: 0;
    }
    .popup-cont .art-detail li {
        flex-direction: column;
        width: 88%;
        margin: 0 auto;
    }
    .popup-cont .art-detail li .left,
    .popup-cont .art-detail li .right {
        width: 100%;
    }
    .popup-cont .art-detail li .left {
        min-height: 45px;
    }
    .popup-cont .art-detail li .right {
        padding: 15px 0;
    }
    .popup-cont .close {
        top: 12px;
        right: 12px;
    }
    .popup-cont .to-booking {
        width: 88%;
    }
}
/* index page end*/