@charset "utf-8";

/* ------------------------------------------------------------------
- body
------------------------------------------------------------------ */

.p-mainvisual__bg{
    background-image: url(../img/common/mv__bgImage.svg);
    background-position: top right;
    background-repeat: no-repeat;
    background-size:  70.15625vw;
    position: relative;
    z-index: 1;

}

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

}


/* ------------------------------------------------------------------
- mainvisual
------------------------------------------------------------------ */

.p-mainvisual{
    margin-top: 2.83091048202%;
    padding-right: 280px;
}

.p-mainvisual__inner{
    max-width: 1440px;
    width: 100%;
    padding-inline: 40px 20px;
    margin: 0 auto;
    position: relative;
}

/* メインビジュアル1 */
.p-mainvisual__flex01{
    display: flex;
    justify-content: space-between;
    position: relative;
}

.p-mainvisual__boxLeft{
    width: 36.4583333333%;

}

.p-mainvisual__boxLeft.-one{
    margin-top: 11.231884058%;
}

.p-mainText{
    width: 70%;
}

.p-mainvisual__text{
    font-size: 1.25rem;
    line-height: 1.682;
}

.p-mainvisual__text.-one{
    margin-top: 18.9768976898%;
}

.p-mainvisual__boxRight{
    width: 54.8611111111%;
}

.p-mainImage.-imageOne{
    width: 92.3566878981%;
}

.p-mvillust{
    position: absolute;
}

.p-mvillust.-illust01{
    width: 4.72222222222%;
    top: 16.4473684211%;
    left: 35.4166666667%;
}

.p-mvillust.-illust02{
    width: 6.11111111111%;
    top: 91.2828947368%;
    left: 37.8472222222%;
}



/* メインビジュアル2 */
.p-mainvisual__flex02{
    display: flex;
    position: relative;
}

.p-mainvisual__boxLeft.-two{
    margin-top: 8.1679389313%;
}

.p-mainImage.-imageTwo{
    width: 64.380952381%;
    margin-left: 15.6488549618%;
}

.p-mainvisual__text.-two{
    margin-top: 20.4545454545%;
}

.p-mvillust.-illust03{
    width: 5.69444444444%;
    top: 2.29885057471%;
    left: 51.0416666667%;
}

.p-mvillust.-illust04{
    width: 1.38888888889%;
    top: 5.51724137931%;
    right: 12.9861111111%;
}

.p-mvillust.-illust05{
    width: 7.01388888889%;
    top: 19.0804597701%;
    right: 11.4583333333%;
}

.p-mvillust.-illust06{
    width: 5.48611111111%;
    top: 50.8045977011%;
    left: -6.73611111111%;
}

.p-mvillust.-illust07{
    width: 10.9722222222%;
    top: 88.9655172414%;
    left: -3.19444444444%;
}

/* メインビジュアル3 */

.p-mainvisual__boxLeft.-three{
    width: 43.75%;
}

.p-mainvisual__boxRight.-three{
    width: 33.6805555556%;
}

.p-mainvisual__flex03{
    display: flex;
    justify-content: space-between;
    position: relative;
}

.p-mainImage.-imageThree{
    width: 100%;
    margin-top: -11.8320610687%;
}

.p-mainvisual__text.-three{
    margin-top: 7.40458015267%;
    margin-left: 27.7777777778%;
}

.p-mvillust.-illust08{
    width: 5.625%;
    top: 5.18518518519%;
    left: 53.8194444444%;
}

.p-mvillust.-illustNine{
    width: 13.8888888889%;
    top: 78.8888888889%;
    left: 53.8194444444%;
}

.p-mvillust.-illustTen{
    width: 7.63888888889%;
    top: 124.074074074%;
    right: 6.25%;
}

@media screen and (max-width: 999px ){
    .p-mainvisual{
        padding-right: initial;
    }

        .p-mainvisual__flex03{
        margin-top: 3%;
    }
}

@media screen and (max-width: 767px ){
    .p-mainvisual__flex01,
    .p-mainvisual__flex03{
        flex-direction: column-reverse;
    }
    .p-mainvisual__boxLeft.-one,
    .p-mainvisual__boxLeft.-three{
        width: 100%;
    }

    .p-mainvisual__text{
        font-size: 1rem;
    }

    .p-mainvisual__boxRight.-one,
    .p-mainvisual__boxRight.-three{
        margin-left: auto;
    }
    .p-mainvisual__boxLeft.-one{
        margin-top: -12%;
    }


    .p-mainText{
        width: 50%;
    }
    .p-mainvisual__text.-one{
        margin-top: 3%;
    }
    .p-mainImage.-one{
        width: 100%;
    }

    .p-mainvisual__boxLeft{
        width: 60%;
    }

    .p-mainvisual__flex02{
        margin-top: 3%;
        flex-direction: column;
    }

    .p-mainImage.-two{
        margin-left: 0;
    }

    .p-mainvisual__boxRight.-two{
        width: 100%;
    }

    .p-mainImage.-two{
        width: 80%;
    }

    .p-mainvisual__text.-two{
        margin-top: 3.454545%;
    }

    .p-mvillust.-illust01{
        width: 7.722222%;
    }

    .p-mvillust.-illust03{
        width: 15.694444%;
        top: 10.298851%;
        left: 56.041667%;
    }

    .p-mvillust.-illust04{
        width: 5.388889%;
        top: 26.517241%;
        right: 4.986111%;
    }

    .p-mvillust.-illust05{
        width: 13.013889%;
        top: 35.08046%;
        right: 3.541667%;
    }

    .p-mvillust.-illust06{
        width: 8.486111%;
        top: 34.804598%;
    }

    .p-mainvisual__boxRight.-three{
        width: 50.680556%;
    }



    .p-mainImage.-imageThree{
        margin-top:0;
    }

    .p-mainvisual__text.-three{
        margin-left: 0;
        margin-top: -4%;
    }

    .p-mvillust.-illust08{
        width: 15.625%;
        top: 8.814815%;
        left: 3.819444%;
    }

    .p-mvillust.-illustNine{
        width: 19.888889%;
        top: 19.888889%;
        left: 20.819444%;
    }
}

/* ------------------------------------------------------------------
- p-services
------------------------------------------------------------------ */

.p-services__content{
    overflow-x: hidden;
}

.p-services {
    position: relative;
    z-index: 0;
    background-color: var(--beigeColor);
    /* padding-bottom: 4.45952496365%; */
    margin-top: 18%;
}

/* .p-services::before{
    content: "";
    position: absolute;
    background-image: url(../img/top/placeBg__above.svg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
    height: auto;
    width: 100%;
    aspect-ratio: 300 / 54;
    bottom: 100%;
} */

.p-services__bg-svg {
    position: fixed; /* 初期はfixed（追従） */
    bottom: 0;
    left: 0;
    width: 100%;
    background-image: url(../img/top/placeBg__above.svg);
    background-repeat: no-repeat;
    background-size: cover;
    aspect-ratio: 300 / 37;
    z-index: 1;
    pointer-events: none;
}

/* JS側で付与するクラス：p-servicesに到達したら */
.p-services__bg-svg.is-stuck {
    position: absolute;
    bottom: 100%; /* p-servicesの直上に吸着 */
    top: auto;
}


.p-service__wrap{
    position: relative;
}


.p-service__textWrap{
    position: relative;
    padding-top: 7.14285714286%;
}

.p-services__text{
    font-size: 1.25rem;
    margin-top: 2.75862068966%;
    line-height: 1.682;
}

.p-services__box{
    display: flex;
    justify-content:space-between;
    flex-wrap: wrap;
    margin-top: 3.44827586207%;
    position: relative;
}

.p-services__item{
    width: calc((100% - 6.25%) / 2);
    background-color: var(--whiteColor);
    border-radius: 35px;
    padding: 25px;
    position: relative;
}

.p-services__item img{
    border-radius: 20px;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.c-content__title.-green{
    border-bottom: 1px solid var(--greenColor);
}

.c-content__title.-pink{
    border-bottom: 1px solid var(--pinkColor);
}

.p-services__contentText{
    margin-top: 5.2790346908%;
    line-height: 1.6;
}

.p-services__tag{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 30px;
    font-size: 0.875rem;
    gap: 4px 10px;
    padding-right: 34.2577487765%;
}

.p-services__link{
    padding: 10px;
    color: var(--whiteColor);
    font-weight: bold;
    font-size: 1rem;
    display: flex;
    align-items: center;
    border-radius: 10px;
    position: absolute;
    right: 25px;
    bottom: 25px;
}

.p-services__link.-green{
    background-color: var(--greenColor);
}

.p-services__link.-pink{
    background-color: var(--pinkColor);
}

.p-services__link .c-arrow-wrap{
    width: 15px;
    height: 15px;
}

/* アメリアカレンダー */

.c-content__title.-calendar{
    border-bottom: 1px solid var(--whiteColor);
    color: var(--whiteColor);
}

.p-eventCalendar__wrap{
    position: relative;
    background-color: #51b70f;
    padding-bottom:11.4372469636%;
    margin-top: 9.25282363162%;
}

.p-eventCalendar__wrap::before{
    content: "";
    position: absolute;
    background-image: url(../img/top/serviceImage__back.svg);
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    bottom: 99%;
    aspect-ratio: 300 / 13;
}

.p-eventCalendar__box{
    display: flex;
    justify-content: space-between;
    gap: 60px;
    margin-top: 6.95249130939%;
}

.p-eventCalendar__bg{
    background-color: var(--whiteColor);
    max-width: 580px;
    width: 100%;
    border-radius:  0 15px 15px 15px;
    padding:20px;
    position: relative;
    align-self: flex-start;
}

.p-eventCalendar__tag{
    position: absolute;
    background-color: var(--whiteColor);
    padding: 5px 10px;
    font-size: 1rem;
    border-radius:  15px 15px 0 0;
    bottom: 100%;
    left: 0;
    width: 110px;
    text-align: center;
}

.p-eventCalendar__tag.-beige{
    background-color: var(--beigeColor);
}
.p-eventCalendar__eventWrap{
    max-width: 785px;
    width: 100%;
    margin: 0 auto;
}


.p-eventCalendar,
.p-eventCalendar__finish{
    display: flex;

}

.p-eventCalendar__finish{
    padding: 0 60px 20px 20px;
}


.p-eventCard__info{
    border-bottom: 1px dotted var(--orangeColor);
}

.p-eventCard__status {
    width: 30px;
    color: var(--whiteColor);
    background-color: #ea5016;
    font-weight: bold;
    font-size: 0.875rem;

    display: flex;
    align-items: center;
    justify-content: center;

    writing-mode: vertical-rl;
    text-orientation: upright;

    border-radius: 10px 0 0 10px;
}

.p-eventCard__status.-finishCL{
    background-color: #4d4d4d;
}

.p-eventCard__status p {
    margin: 0;
}

.p-eventCard__content{
    background-color: var(--whiteColor);
    padding: 10px 20px;
    border-radius: 0 10px 10px 0;
    flex: 1;
}

.p-eventCard__meta{
    display: flex;
    align-items: center;
    gap: 20px;
}

.p-eventCard__date{
    color: var(--whiteColor);
    background-color: var(--orangeColor);
    font-size: 1.125rem;
    border-radius: 5px;
    padding: 0 10px;
    display: flex;
    align-items: center;
}

.p-eventCard__date span.day{
    display: inline-block;
    background-color: var(--whiteColor);
    color: var(--orangeColor);
    font-weight: bold;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-align: center;
    line-height: 1.2;
    font-size: 1rem;
    margin-left: 0.5em;
}

.p-eventCard__time,
.p-eventCard__title{
    font-size: 1.125rem;
    font-weight: bold;
}

.p-eventCard__linkWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.p-eventCard__tag{
    display: flex;
    gap: 10px;
}

.p-eventCalendar__linkWrap{
    text-align: center;
    margin-top: 4.2689434365%;
}

.p-eventCalendar__link{
    display: inline-flex;
    align-items: center;
    font-size: 1.175rem;
    font-weight: bold;
    background-color:var(--whiteColor) ;
    color: var(--greenColor);
    padding: 5px 10px;
    border-radius: 5px;
}

.p-eventCard__link{
    background-color: var(--primaryColor);
    color: var(--whiteColor);
    padding: 5px;
    font-size: 0.875rem;
    border-radius: 5px;
    display: flex;
    align-items: center;
}

.p-eventCalendar__reception{
    background-color: var(--beigeColor);
    padding:20px;
    margin-top: 60px;
    position: relative;
    border-radius: 0 15px 15px 15px;
}

.p-eventCalendar__content{
    display: flex;
    flex-direction: column;
    gap: 30px;
    overflow-y: scroll;
    max-height: 550px;
}


/* カスタムスクロール */
.p-eventCalendar__scrollWrap {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.p-eventCalendar__content {
    display: flex;
    flex-direction: column;
    gap: 30px;
    overflow-y: scroll;
    max-height: 550px;
    flex: 1;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.p-eventCalendar__content::-webkit-scrollbar {
    display: none;
}

.p-eventCalendar__scrollNav {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 550px;
    flex-shrink: 0;
}

.p-eventCalendar__scrollArrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--lightgrayColor);
    border: none;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 21px;
    transition: opacity 0.2s;
}
.p-eventCalendar__scrollArrow:hover {
    opacity: 0.7;
}
.p-eventCalendar__scrollArrow.-prev {
    background-image: url(../img/common/sliderArrow__left.svg);
    transform: rotate(90deg);
}
.p-eventCalendar__scrollArrow.-next {
    background-image: url(../img/common/sliderArrow__right.svg);
    transform: rotate(90deg);
}
.p-eventCalendar__scrollArrow:disabled {
    opacity: 0.3;
    cursor: default;
}

/* グレーの縦バー背景 */
.p-eventCalendar__scrollBarWrap {
    flex: 1;
    width: 8px;
    background: var(--lightgrayColor);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

/* アクティブのインジケーター */
.p-eventCalendar__scrollBar {
    width: 100%;
    background: #7a7a7a; /* slick-activeと同じ色 */
    border-radius: 4px;
    position: absolute;
    top: 0;
    transition: top 0.2s ease, height 0.2s ease;
}

.p-eventCalendar__contentSp{
    display: none;
}

/* SP時のスライダーボタン */
.p-eventSlider__prev,
.p-eventSlider__next {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--lightgrayColor);
    z-index: 10;
}


.p-eventSlider__prev::before,
.p-eventSlider__next::before {
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
    width: 20px;
    height: 20px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.p-eventSlider__prev::before {
    background-image: url(../img/common/sliderArrow__left.svg);
}

.p-eventSlider__next::before {
    background-image: url(../img/common/sliderArrow__right.svg);
}



@media screen and (max-width: 767px ){
    .p-eventCalendar__contentSp{
        display: block;
    }

    .p-eventCalendar__contentSp {
    list-style: none;
    margin: 0;
    padding: 0;
    }

    .p-eventCalendar__contentSp li {
    display: block;
    font-size: 0.875rem;
    }

    .p-eventCalendar {
    display: flex;
    height: 100%;
    }

    .p-eventCalendar__link{
        font-size: 1rem;
    }

    .p-eventCard__date,
    .p-eventCard__time, 
    .p-eventCard__title
    {
        font-size: 1rem;
    }

    .p-eventCard__link{
        font-size: 0.75rem;
    }
}

@media screen and (max-width: 560px) {
.p-eventCalendar__contentSp .p-eventSlider__prev,
.p-eventCalendar__contentSp .p-eventSlider__next {
    display: block !important;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--lightgrayColor);
    z-index: 10;
}

.p-eventCalendar__contentSp .p-eventSlider__prev{
    left: -15px;
}

.p-eventCalendar__contentSp .p-eventSlider__next{
    right: -15px;
}
}

/* アメリアカレンダーイベント情報非表示 */
.am-ecs__side{
    display: none !important;
}

/* アメリアカレンダー内レイアウト */

.amelia-v2-booking #amelia-container .am-ecs__filters,
.amelia-v2-booking #amelia-container .am-ecs__filters,
.amelia-v2-booking #amelia-container .am-ecs__header-today.am-button.am-button--small,
.amelia-v2-booking #amelia-container .am-ecs__header-selection{
    display: none !important;
}

/* カレンダー周りのmarginを無効 */
.amelia-v2-booking #amelia-container .am-ecs{
    margin: initial !important;
}

/* カレンダー周りの枠非表示 */
.amelia-v2-booking #amelia-container .am-ecs__page{
    border: initial !important;
    box-shadow: initial !important;
}

/* 年月センター配置 */
.amelia-v2-booking #amelia-container .am-ecs__header{
    justify-content: center !important;
}

/* 既存前月・翌月ボタン非表示 */
.amelia-v2-booking #amelia-container .am-ecs__header-actions{
    display: none !important;
}

/* カスタム前月・翌月ボタン */

.custom-calendar-nav{
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
}

.p-customCalendar_button{
    display: flex;
    align-items: center;
    background-color: #534741;
    color: var(--whiteColor);
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
}

.p-customCalendar_button:hover{
    opacity: 0.8;
}

/* th・td共通の縦線 */
.amelia-v2-booking #amelia-container .am-ecs .fc-col-header-cell,
.amelia-v2-booking #amelia-container .am-ecs .fc-daygrid-day {
    border-right: 1px dotted #534741 !important;
}

/* 最後の列は縦線なし */
.amelia-v2-booking #amelia-container .am-ecs .fc-col-header-cell.fc-day-sat,
.amelia-v2-booking #amelia-container .am-ecs .fc-daygrid-day.fc-day-sat {
    border-right: none !important;
}

/* ヘッダー背景色・上下線 */
.amelia-v2-booking #amelia-container .am-ecs .fc-col-header-cell .fc-scrollgrid-sync-inner {
    background-color: var(--beigeColor);
    border-top: 1px solid #534741;
    border-bottom: 1px solid #534741;
}

/* ヘッダー文字色 */
.amelia-v2-booking #amelia-container .am-ecs .fc-col-header-cell-cushion {
    color: #534741 !important;
}

/* tdのborderリセットと横線 */
.amelia-v2-booking #amelia-container .am-ecs .fc-daygrid-day {
    border: initial !important;
    border-right: 1px dotted #534741 !important;
}

.amelia-v2-booking #amelia-container .am-ecs .fc-daygrid-day:not(:first-of-type){
    border-bottom: 1px solid var(--whiteColor) !important;
}

.amelia-v2-booking #amelia-container .am-ecs .fc-daygrid-day.fc-day-sat {
    border-right: none !important;
}

/* 日曜背景色変更 */
.amelia-v2-booking #amelia-container .am-ecs .fc-col-header-cell.fc-day-sun .fc-scrollgrid-sync-inner,
.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table td:first-of-type {
    background-color: #edeceb !important;
}

/* 当日に着く赤丸削除 */
.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .am-evt-day-wrapper .fc-daygrid-day-top:before{
    display: none;
}

/* 当日テキストカラー変更 */
.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .am-evt-day-wrapper.mobile.fc-day-today .fc-daygrid-day-number{
    color: #1A2C37 !important;
}
.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .am-evt-day-wrapper .fc-day-today .fc-daygrid-day-number{
    color: #1A2C37 !important;
}

/* 日付位置修正 */
.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .am-evt-day-wrapper .fc-daygrid-day-number{
    text-align: left !important;
}

.fc .fc-daygrid-day-top{
    justify-content: left !important;
}

/* イベント表示の丸位置調整 */

.amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .am-evt-day-wrapper .fc-daygrid-day-events{
    height: calc(100% - 26px);
}

.amelia-v2-booking #amelia-container .am-ecs .am-evt-more-link-inner.mobile{
    width: 20px !important;
    height: 20px !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* カレンダー内スクロール無効 */
.fc-scroller {
    overflow: hidden !important;
}

/* カレンダー内ドットスタイル */
.p-eventCalendar__timePeriod{
    display: inline-flex;
    gap: 20px;
    background-color: var(--beigeColor);
    padding: 5px;
    margin-top: 10px;
}

.p-eventCalendar__timePeriodItem{
    font-size: 1rem;
    position: relative;
    color: #1A2C37;

    padding-left: 44px;
}

.p-eventCalendar__timePeriodItem::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.p-eventCalendar__timePeriodItem.-morning::before{
    background-color: #ffa200;
}
.p-eventCalendar__timePeriodItem.-afternoon::before{
    background-color: #ff6c7a;
}
.p-eventCalendar__timePeriodItem.-night::before{
    background-color: #51b70f;
}


.p-eventCalendar__timePeriodItem::after{
    content: "";
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    border-bottom: 3px dotted #1A2C37;
}





@media (max-width: 767px) {
    .p-eventCalendar__box{
        margin-top: 20.952491%;
    }

    .p-eventCalendar__bg{
        padding: 10px;
    }

    .p-eventCalendar__tag{
        font-size: 0.875rem;
    }

    .amelia-v2-booking #amelia-container .am-ecs .am-evt-more-link-inner.mobile{
        width: 15px !important;
        height: 15px !important;
    }

    .p-eventCalendar__timePeriodItem{
        font-size: 0.875rem;
    }

    .p-eventCalendar__timePeriodItem::before{
        width: 15px;
        height: 15px;
    }

    .p-customCalendar_button{
        font-size: 0.875rem;
    }

}

/* カレンダー内の丸の色味変更*/
/* .is-morning {
  background: #ffa200 !important;
}

.is-afternoon {
  background: #ff6c7a !important;
}

.is-night {
  background: #51b70f !important;
} */

/* 独自ドット表示（検証中） */

/* Ameliaのドットを非表示 */
.am-evt-more-link-inner.mobile {
    display: none !important;
}

/* 独自ドットラッパー */
.my-event-dots {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding-bottom: 4px;
}

/* ドット本体 */
.my-event-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
}

.my-event-dot.is-morning   { background-color: #ffa200 !important; }
.my-event-dot.is-afternoon { background-color:  #ff6c7a !important; }
.my-event-dot.is-night     { background-color:  #51b70f !important; }






/* servicesイラスト */
.p-servicesillust{
    position: absolute;
}

.p-servicesillust.-illust01{
    width: 14.8854961832%;
    min-width: 120px;
    top: 18.6507936508%;
    left: 73.9694656489%;
    z-index: 1;
}

.p-servicesillust.-illust02{
    width: 6.40625%;
    bottom: 88.9894419306%;
    right: 3.22916666667%;
}

.p-servicesillust.-illust03{
    width: 5.15625%;
    bottom: 52.036199095%;
    right: 4.11458333333%;
}

.p-servicesillust.-illust04{
    width: 7.03125%;
    left: 7.8125%;
    bottom: 79.5180722892%;
}

.p-servicesillust.-illust05{
    width: 15.4166666667%;
    right: 10.6770833333%;
    bottom: 85.3012048193%;
}

.p-servicesillust.-illust06{
    width: 3.54166666667%;
    right: 2.60416666667%;
    bottom: 13.0158730159%;
}

.p-servicesillust.-illust07{
    width: 4.27083333333%;
    right: 22.8125%;
    bottom: 35.1807228916%;
}

.p-servicesillust.-illust08{
    width: 4.11458333333%;
    left: 5.36458333333%;
    bottom: 13.0120481928%;
}

@media (max-width: 1770px){
.p-servicesillust.-illust04{
    width: 5.03125%;
    bottom: 88.518072%;
    left: 7.8125%;
}

.p-servicesillust.-illust08{
    left: 1%;
    bottom: 14%;
}


}

@media screen and (min-width: 1025px ){
.p-eventCalendar__link:hover{
    opacity: 0.8;
}

.p-services__link.-green:hover{
    background-color: var(--greenHover);
}

.p-services__link.-pink:hover{
    background-color: var(--pinkHover);
}


}


@media screen and (max-width: 999px ){
    .p-services{
        margin-top: 23%;
    }

    .p-services__layer{
        padding-right: initial;
    }

        .p-eventCalendar__box{
        flex-direction: column;
        gap: 30px;
    }

    .p-eventCalendar__bg{
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px ){
    .p-services__box{
        flex-direction: column;
        gap: 20px;
    }

    .p-services__item{
        width: 100%;
    }

    .p-services__text{
        font-size: 1rem;
    }

    .p-eventCalendar__listLink{
        margin-top: 5.614458%; 
    }
    
    .p-eventCalendar__wrap::before{
        bottom: 100%;
    }



    .p-calendarTest__reception{
    margin-top: initial;
    }

    .amelia-v2-booking #amelia-container .am-ecs .fc.fc-theme-standard .fc-scrollgrid-liquid .fc-scrollgrid-sync-table .fc-daygrid-day-number{
        font-size: 13px !important;
    }
}

@media screen and (max-width: 430px ){
    .p-servicesillust.-illust01{
        display: none;
    }
}





/* ------------------------------------------------------------------
- p-voice
------------------------------------------------------------------ */

.p-voice {
    position: relative;
    background-color: var(--beigeColor);
    z-index: 1;
    /* background-image: url(../img/top/placeBg__under.svg);
    background-repeat: no-repeat; */
}

.p-voice::before{
    content: "";
    position: absolute;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    bottom: 99%;

    background-image: url(../img/top/voiceImage__back.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 102% auto;

    aspect-ratio: 150 / 7;
}

.p-voice__content{
    /* background-image: url(../img/top/voiceBg.svg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover; */
    position: relative;
    text-align: left;
    padding: 4.82298614674% 5.98130841121% 13.8009049774% 0;
}

.p-voice__content .slick-slide{
    height: auto;
}

.p-voice__content .slick-slide a:hover{
    opacity: 0.8;
}

.c-content__title.-brown{
    display: inline-block;
    border-bottom: 1px solid #998675;
    line-height: 2.621;
    margin-left: clamp(10px, 2vw, 35px);
}

.p-voice__slider{
    max-width: 1550px;
    margin: 2.66803488969% auto 0;
}

.p-voice__sliderItem{
    padding-left: clamp(10px, 2vw, 35px); 
    text-align: left;
    padding-top: clamp(10px, 1.5vw, 20px);
}

.p-voice__sliderItemBg{
    background-color: var(--whiteColor);
    padding: 20px;
    border-radius: 20px;
    min-height: 420px;
}

.p-voice__imageWrap{
    position: relative;
    overflow: visible;
}

.p-voice__type{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: bold;
    color: var(--whiteColor);
    width: 126px;
    height: 33px;
    text-align: center;
    border-radius: 10px;
    position: absolute;
    right: 1%;
    top: -5.26315789474%;
}

.p-voice__type.-green{
    background-color: var(--greenColor);
}

.p-voice__type.-pink{
    background-color: var(--pinkColor);
}

.p-voice__type span{
    font-size: 0.4375rem;
    display: block;
}

.p-voice__imageWrap img{
    width: 100%;
    aspect-ratio: 295 / 196;
    object-fit: cover;
    border-radius: 20px;
}

.p-voice__text{
    margin-top: 5.3050397878%;
}

/* スライダー矢印（上部） */
.p-voice__slider .slick-prev,
.p-voice__slider .slick-next {
    background: var(--lightgrayColor) !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    z-index: 10;
}

.slick-prev{
    left: 5px;
}

.p-voice__slider .slick-next{
    right: -60px;
}

.p-voice__slider .slick-prev::before,
.p-voice__slider .slick-next:before{
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: block;
    width: 35px;
    height: 35px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.slick-prev::before{
    background-image: url(../img/common/sliderArrow__left.svg);
}

.p-voice__slider .slick-next:before{
    background-image: url(../img/common/sliderArrow__right.svg);
}

/* ===== カスタムドット（横棒バー） ===== */
.p-voice__barNav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    height: 8px;
}

/* 矢印ボタン */
.p-voice__barArrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--lightgrayColor);
    border: none;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.p-voice__barArrow.-prev {
    background-image: url(../img/common/sliderArrow__left.svg);
    background-size: 21px;
}

.p-voice__barArrow.-next {
    background-image: url(../img/common/sliderArrow__right.svg);
    background-size: 21px;
}

/* dotsのラッパー */
.p-voice__dotsWrapper {
    display: flex;
    width: 315px;
    height: 8px;
    background: var(--lightgrayColor);
    border-radius: 2px;
    overflow: hidden;
}

/* 横棒コンテナ */
.p-voice__dotsWrapper .slick-dots {
    position: static !important;
    display: flex !important;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 各ドット */
.p-voice__dotsWrapper .slick-dots li {
    flex: 1;
    height: 8px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    transition: background 0.3s ease;
    border-radius: 3px;
}

/* アクティブ状態 */
.p-voice__dotsWrapper .slick-dots li.slick-active {
    background: #7a7a7a;
}

/* ボタン非表示 */
.p-voice__dotsWrapper .slick-dots li button {
    display: none;
}

/* イラスト */
.p-voiceillust{
    position: absolute;
}

.p-voiceillust.-illust01{
    width: 10.3623649078%;
    bottom: 88.1615598886%;
    right: 80.9281627463%;
}
.p-voiceillust.-illust02{
    width: 12.81%;
    bottom: 26.026119403%;
    right: 2.08333333333%;
}
.p-voiceillust.-illust03{
    width: 6.25%;
    /* top: 98.0501392758%; */
    /* left: 86.4589955499%; */
    right: 14.3229166667%;
    bottom: 7.64925373134%;
}


@media screen and (max-width: 1400px ){
    .p-voice__slider .slick-prev,
    .p-voice__slider .slick-next {
        width: 30px;
        height:30px;

    }

    .slick-prev{
        left: 10px;
    }

    .p-voice__slider .slick-next{
        right: -35px;
    }

    .p-voice__slider .slick-prev::before,
    .p-voice__slider .slick-next:before{

        width: 25px;
        height: 25px;

}
}


@media screen and (max-width: 999px ){
    .p-voice{
        padding-right: initial;
    }

    .p-voiceillust.-illust01{
        width: 17.362365%;
        bottom: 94.16%;
    }

    .p-voiceillust.-illust02{
        width: 12.638907%;
        bottom: 4.45682451253%;
        left: 86.307692%;
    }

    .p-voiceillust.-illust03{
        width: 5.628735%;
        top: 95.050139%;
        left: 80.458996%;
    }

    .p-voice__type{
        top: -3.736842%;
    }
}

@media screen and (max-width: 560px ){
.p-voice__slider .slick-next,.p-voice__slider .slick-prev{
    display: none !important;
}


}

@media screen and (max-width: 430px) {
    .p-voice__content {
        padding: 4.82298614674% 5.98130841121% 12.055413% 5.98130841121%;
    }

    .p-voice__sliderItem {
        padding-left: 0;
    }
}

/* スクロール回数で出てくるアニメーション */

.js-scroll-move {
  will-change: transform;
}

/* ------------------------------------------------------------------
- report
------------------------------------------------------------------ */

.p-report{
    position: relative;
    background-color: #bde27d;
    padding-bottom: 6.82401231401%;
}

.p-report::before{
    content: "";
    position: absolute;
    z-index: 1;
    background-image: url(../img/top/reportBg__top.svg);
    background-repeat: no-repeat;
    width: 100%;
    aspect-ratio: 300 / 32;
    bottom: 100%;
}

/* .p-report::after{
    content: "";
    position: absolute;
    background-image: url(../img/top/archiveBg.svg);
    background-repeat: no-repeat;
    background-position: bottom center;
    width: 100%;
    aspect-ratio: 300 / 23;
    top: 99%;
} */

.p-report .c-content__heading {
    margin-top: 3.33504361211%;
}

.p-report__wrap{
    margin-top: 7.01330108827%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: clamp(24px, 3vw, 60px);
}

.p-report__item{
    background-color: var(--whiteColor);
    border-radius: 0 38px 38px 0;
    text-align: center;
    box-shadow: 6px 6px #afafaf;
}

.p-report__item.-yellow{
    border-left:10px solid #ffde1a;
}

.p-report__item.-lightpink{
    border-left:10px solid #ffa9a9;
}

.p-report__item.-lightblue{
    border-left:10px solid #95e5d0;
}

.p-report__item.-purple{
    border-left:10px solid #d9afdd;
}

.p-report__item.-lightgreen{
    border-left:10px solid #7ddb82;
}

.p-report__cardLink{
    display: block;
    width: 100%;
    height: 100%;
    padding: 13.4099616858% 9.36329588015% 7.66283524904%;
}  



.p-report__date{
    font-size: 0.875rem;
}

.p-report__title{
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2.125;
    border-bottom: 1px solid #998675;
}

.p-report__text{
    text-align: left;
    margin: 8.62745098039% 0 6.27450980392%;
}

.p-report__listLink{
    text-align: center;
    margin-top: 7.25513905683%;
}

.p-report__link{
    display: inline-flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    background-color: var(--greenColor);
    color: var(--whiteColor);
    padding: 5px 10px;
    border-radius: 5px;
    line-height: 1.48;
    gap: 15px;
    
}



.p-reportillust{
    position: absolute;
}


.p-reportillust.-illust01{
    width: 4.89583333333%;
    top: 6.15671641791%;
    right: 8.33333333333%;
}
.p-reportillust.-illust02{
    width: 4.58333333333%;
    right: 13.5416666667%;;
    top: 14.9253731343%;
}



@media screen and (min-width: 1025px ){
.p-report__item:hover .c-arrow-wrap.-white{
    background-color: var(--pinkColor);
}

.p-report__link:hover{
    background-color: var(--greenHover);
}

}


@media screen and (max-width: 999px ){
    .p-report{
        padding-right: initial;
        padding-top: 40px;
    }
}
@media screen and (max-width: 767px ){
    .p-report__link{
        font-size: 1.125rem;
    }

    .p-report__cardLink{
        padding: 5.4099616858% 9.36329588015% 5.4099616858%;
    }
}

