@charset "UTF-8";
:root{--pink:#e85b83;--pink-dark:#d94370;--pink-light:#fff1f5;--rose:#fff7f9;--cream:#fffaf8;--text:#4d4145;--muted:#76686d;--line:#ead9de;--brown:#5a4b50}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85}
a{color:inherit}.container{width:min(1100px,calc(100% - 32px));margin:auto}.narrow{width:min(780px,calc(100% - 32px))}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #f0dce2}
.header-inner{width:min(1160px,calc(100% - 32px));min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;flex-direction:column;text-decoration:none}.brand-sub{font-size:9px;letter-spacing:.16em;color:var(--muted);line-height:1.2}.brand-name{font:700 20px/1.4 serif;color:var(--pink-dark)}
.desktop-nav{display:flex;align-items:center;gap:20px}.desktop-nav a{font-size:11px;text-decoration:none;white-space:nowrap}.nav-contact{padding:9px 15px;border-radius:999px;background:var(--pink);color:#fff;font-weight:700}
.hero{padding:82px 0 78px;text-align:center;background:radial-gradient(circle at 8% 35%,rgba(245,220,228,.85),transparent 26%),radial-gradient(circle at 92% 65%,rgba(255,226,235,.9),transparent 27%),linear-gradient(180deg,#fff,#fff5f8)}
.section-label{margin:0 0 10px;color:var(--pink);font-size:11px;font-weight:800;letter-spacing:.22em}
.hero h1{margin:0;color:#493b40;font:700 clamp(34px,5vw,54px)/1.45 serif}.hero h1 span{color:var(--pink-dark)}.hero .lead{margin:20px 0 24px;color:var(--muted);font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 25px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:800}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 10px 24px rgba(232,91,131,.18)}.btn-white{background:#fff;color:var(--pink-dark)}
.section{padding:76px 0}.section h2{margin:0 0 30px;text-align:center;color:#493b40;font:700 clamp(28px,4vw,40px)/1.5 serif}
.about,.service,.flow{background:#fff}.copy{color:var(--muted);font-size:13px}.copy p{text-align:center}.copy strong{color:var(--text)}
.worries,.faq{background:var(--rose)}.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.worry-grid div{padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;text-align:center;font-size:13px;font-weight:700;box-shadow:0 8px 22px rgba(82,52,62,.04)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{padding:24px;background:#fff7f9;border:1px solid var(--line);border-radius:19px;text-decoration:none;transition:.2s}.service-card:hover{transform:translateY(-2px);border-color:#ef9db5}.service-card span{color:var(--pink-dark);font-size:19px;font-weight:800}.service-card p{min-height:58px;color:var(--muted);font-size:12px}.service-card b{color:var(--pink-dark);font-size:11px}
.philosophy{background:linear-gradient(145deg,#fff,#fff1f5);text-align:center}.philosophy p{color:var(--muted);font-size:13px}.philosophy .large-copy{color:var(--pink-dark);font-size:19px;font-weight:800}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.flow-grid div{padding:23px 18px;background:var(--rose);border-radius:18px;border:1px solid var(--line)}.flow-grid span{display:block;color:var(--pink);font-size:13px;font-weight:900}.flow-grid h3{margin:5px 0;font-size:17px}.flow-grid p{margin:0;color:var(--muted);font-size:11px}
.faq-list{border-top:1px solid var(--line)}details{background:#fff;border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:18px 8px;font-size:14px;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"＋";float:right;color:var(--pink);font-size:18px}details[open] summary:after{content:"−"}details p{margin:0;padding:0 8px 20px;color:var(--muted);font-size:12px}
.final-cta{padding:80px 20px;text-align:center;background:linear-gradient(145deg,#e85b83,#d94370);color:#fff}.final-cta .section-label{color:#ffe5ed}.final-cta h2{margin:0 0 12px;font:700 clamp(28px,4vw,42px)/1.5 serif;color:#fff}.final-cta p:not(.section-label){margin:0 0 24px;font-size:13px}.site-footer{padding:32px 20px;background:var(--brown);color:#fff;text-align:center}.footer-logo{margin:0 0 10px;font:700 18px serif}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.site-footer nav a{font-size:10px;text-decoration:none}.site-footer small{display:block;margin-top:10px;font-size:9px;opacity:.8}
@media(max-width:900px){.desktop-nav{gap:10px}.desktop-nav a{font-size:10px}.service-grid{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.header-inner{min-height:64px;width:calc(100% - 24px)}.brand-sub{display:none}.brand-name{font-size:17px}.desktop-nav a:not(.nav-contact){display:none}.desktop-nav .nav-contact{padding:8px 12px;font-size:10px}.hero{padding:58px 0 55px}.hero h1{font-size:33px}.hero .lead{font-size:13px}.section{padding:58px 0}.container,.narrow{width:calc(100% - 30px)}.section h2{font-size:29px}.worry-grid,.service-grid,.flow-grid{grid-template-columns:1fr}.service-card p{min-height:0}.final-cta{padding:62px 15px}.final-cta h2{font-size:30px}}


/* ==========================================
   セリシール共通固定ボトムナビ
   ========================================== */

.cerisier-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100%;
    height: 70px;

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

    background: rgba(255, 255, 255, 0.97);

    border-top: 1px solid #ead1d8;

    box-shadow: 0 -3px 15px rgba(90, 50, 50, 0.12);

    z-index: 10000;

    box-sizing: border-box;

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}


/* 各ボタン */

.cerisier-bottom-nav__item {

    flex: 1 1 0;

    display: flex;
    flex-direction: column;

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

    min-width: 0;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    color: #654848;

    background: #ffffff;

    border-right: 1px solid #eadde1;

    box-sizing: border-box;

    transition:
        background-color .2s ease,
        color .2s ease,
        transform .1s ease;
}


/* 最後の罫線 */

.cerisier-bottom-nav__item:last-child {
    border-right: none;
}


/* アイコン */

.cerisier-bottom-nav__icon {

    display: block;

    margin-bottom: 3px;

    font-size: 21px;

    line-height: 1;

}


/* 電話 */

.cerisier-bottom-nav__phone
.cerisier-bottom-nav__icon {
    color: #c85d72;
}


/* 相談メニュー */

.cerisier-bottom-nav__service
.cerisier-bottom-nav__icon {
    color: #d47b91;
}


/* 予約 */

.cerisier-bottom-nav__reserve {

    background: #d95b78;

    color: #ffffff;

}

.cerisier-bottom-nav__reserve
.cerisier-bottom-nav__icon {

    color: #ffffff;

}


/* マウスオーバー */

.cerisier-bottom-nav__phone:hover,
.cerisier-bottom-nav__service:hover {

    background: #fff3f6;

    color: #c94f6d;

}


.cerisier-bottom-nav__reserve:hover {

    background: #c94f6d;

}


/* タップ時 */

.cerisier-bottom-nav__item:active {

    transform: scale(.98);

}


/* ==========================================
   スマートフォン
   ========================================== */

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

    .cerisier-bottom-nav {

        height: 64px;

    }


    .cerisier-bottom-nav__item {

        font-size: 11px;

    }


    .cerisier-bottom-nav__icon {

        font-size: 19px;

        margin-bottom: 2px;

    }

}


/* ==========================================
   ボトムナビにコンテンツが隠れないための余白
   ========================================== */

body {

    padding-bottom: 70px;

}


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

    body {

        padding-bottom: 64px;

    }

}