/* CECIL Official v1.0.127 — critical/common foundation */
/*
Theme Name: CECIL Official
Theme URI: https://cecil-fk.com/
Author: Growth Partners Japan
Description: リラクゼーションサロン CECIL 専用。アイボリー、オフホワイト、ウォームベージュ、ブラウンを基調に、柔らかな黄緑をアクセントとして採用したオリジナルWordPressテーマ。
Version: 1.0.127
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: cecil-official
License: GPL-2.0-or-later
*/

:root {
  --cecil-green-950:#665D52;
  --cecil-green-900:#756A5D;
  --cecil-green-850:#847767;
  --cecil-green-800:#756A5D;
  --cecil-accent:#C9D8A6;
  --cecil-accent-light:#E3EBCF;
  --cecil-accent-dark:#A7B77D;
  /* Compatibility aliases only. The former deep-green/gold palette is retired permanently. */
  --cecil-gold:var(--cecil-accent);
  --cecil-gold-light:var(--cecil-accent-light);
  --cecil-gold-dark:var(--cecil-accent-dark);
  --cecil-ivory:#F7F3EA;
  --cecil-cream:#EAE2D3;
  --cecil-white:#FAF7EF;
  --cecil-ink:#4B4238;
  --cecil-muted:#736C62;
  --cecil-border:rgba(201,216,166,.38);
  --cecil-shadow:0 20px 50px rgba(75,66,56,.10);
  --cecil-radius:18px;
  --cecil-header:80px;
  --content:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cecil-ivory);color:var(--cecil-ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--cecil-gold);color:var(--cecil-green-950)}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#FAF7EF;padding:12px 18px;z-index:9999;border-radius:6px;color:#4B4238}
.container{width:min(calc(100% - 40px),var(--content));margin-inline:auto}
.section{padding:88px 0}.section--compact{padding:62px 0}.section--dark{background:var(--cecil-green-950);color:var(--cecil-white)}
.section-head{text-align:center;margin:0 auto 42px;max-width:760px}.section-kicker{display:block;color:var(--cecil-gold-dark);font-family:Georgia,"Yu Mincho",serif;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:9px}.section-title{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.06em;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.35;margin:0}.section-lead{margin:14px auto 0;color:var(--cecil-muted);max-width:680px}.section--dark .section-lead{color:rgba(250,247,239,.73)}
.gold-line{width:58px;height:1px;background:linear-gradient(90deg,transparent,var(--cecil-gold),transparent);margin:18px auto 0}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(102,93,82,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,216,166,.25);height:var(--cecil-header)}
.header-inner{height:100%;display:flex;align-items:center;gap:24px;width:min(calc(100% - 32px),1320px);margin:auto}
.site-brand{display:flex;align-items:center;min-width:132px;max-width:170px}.site-brand img{max-height:62px;width:auto;object-fit:contain}
.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a{color:#F7F3EA;font-size:.86rem;white-space:nowrap;position:relative}.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--cecil-gold);transition:.25s}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{right:0}
.header-actions{display:flex;gap:8px;align-items:center}.header-btn{height:42px;padding:0 14px;border:1px solid var(--cecil-border);display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#FAF7EF;font-size:.82rem;white-space:nowrap}.header-btn--gold{background:linear-gradient(135deg,var(--cecil-gold-light),var(--cecil-gold-dark));color:#4B4238;border-color:transparent;font-weight:700}.header-btn:hover{filter:brightness(1.08)}
.lang-switch{display:flex;gap:6px;color:rgba(250,247,239,.68);font-size:.68rem;margin-left:3px}.lang-switch span,.lang-switch a{color:inherit}.lang-switch .active{color:var(--cecil-gold-light)}
.menu-toggle{display:none;margin-left:auto;width:46px;height:42px;border:1px solid var(--cecil-border);background:transparent;border-radius:6px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:22px;height:1px;background:#FAF7EF;display:block;transition:.25s}

/* Hero */
.hero{position:relative;min-height:720px;display:flex;align-items:center;background:var(--cecil-green-950);color:#FAF7EF;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(102,93,82,.96) 0%,rgba(102,93,82,.84) 32%,rgba(102,93,82,.23) 62%,rgba(102,93,82,.06) 100%),url('../images/cecil-bodycare-woman-v134.webp');background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 24%,rgba(201,216,166,.12),transparent 28%);pointer-events:none}
.hero-inner{position:relative;z-index:1;width:min(calc(100% - 40px),var(--content));margin:auto;padding:90px 0 50px}.hero-copy{max-width:630px}.hero-kicker{color:var(--cecil-gold-light);letter-spacing:.18em;font-size:.83rem;margin-bottom:14px}.hero h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:.07em;line-height:1.25;margin:0;text-shadow:0 2px 24px rgba(75,66,56,.25)}.hero-lead{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.95;margin:20px 0 28px;color:rgba(250,247,239,.88)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 24px;border-radius:7px;border:1px solid var(--cecil-border);font-weight:700;transition:transform .2s,filter .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn--gold{background:linear-gradient(135deg,var(--cecil-gold-light),var(--cecil-gold-dark));color:#4B4238;border-color:transparent;box-shadow:0 10px 28px rgba(201,216,166,.23)}.btn--green{background:rgba(102,93,82,.88);color:#FAF7EF;border-color:rgba(201,216,166,.55)}.btn--ivory{background:var(--cecil-white);color:var(--cecil-green-900);border-color:transparent}.btn svg{width:20px;height:20px}
.hero-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:820px;margin-top:38px;border:1px solid rgba(201,216,166,.5);background:rgba(102,93,82,.66);backdrop-filter:blur(5px);border-radius:10px;overflow:hidden}.hero-feature{display:flex;align-items:center;gap:10px;padding:15px 17px;border-right:1px solid rgba(201,216,166,.32);font-size:.86rem;color:#F7F3EA}.hero-feature:last-child{border-right:0}.hero-feature svg{width:23px;height:23px;color:var(--cecil-gold-light);flex:0 0 auto}

/* Choice cards */
.choice-wrap{margin-top:-52px;position:relative;z-index:5}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.choice-card{background:var(--cecil-white);border:1px solid var(--cecil-border);border-radius:var(--cecil-radius);overflow:hidden;box-shadow:var(--cecil-shadow);transition:.25s}.choice-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(102,93,82,.18)}.choice-image{aspect-ratio:16/9;overflow:hidden}.choice-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.choice-card:hover .choice-image img{transform:scale(1.035)}.choice-body{padding:24px 26px 26px;text-align:center}.choice-body h2{font-family:Georgia,"Yu Mincho",serif;font-weight:500;font-size:1.35rem;margin:0 0 7px;color:var(--cecil-green-900)}.choice-body p{margin:0 0 16px;color:var(--cecil-muted);font-size:.9rem}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--cecil-gold-dark);font-weight:700;font-size:.85rem}.text-link:after{content:"→";transition:transform .2s}.text-link:hover:after{transform:translateX(4px)}

/* Reasons + Aroma */
.dual-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px}.dark-panel{background:linear-gradient(145deg,var(--cecil-green-900),var(--cecil-green-950));border:1px solid rgba(201,216,166,.42);border-radius:var(--cecil-radius);padding:32px;color:#FAF7EF;box-shadow:var(--cecil-shadow)}.panel-title{font-family:Georgia,"Yu Mincho",serif;font-weight:500;letter-spacing:.06em;font-size:1.65rem;margin:0 0 24px;color:#F7F3EA}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(201,216,166,.25);border-left:1px solid rgba(201,216,166,.25)}.reason{padding:24px 17px;text-align:center;border-right:1px solid rgba(201,216,166,.25);border-bottom:1px solid rgba(201,216,166,.25)}.reason svg{width:34px;height:34px;color:var(--cecil-gold-light);margin:0 auto 10px}.reason strong{display:block;font-family:Georgia,"Yu Mincho",serif;font-size:.98rem;color:#F7F3EA;margin-bottom:5px}.reason small{display:block;color:rgba(250,247,239,.69);line-height:1.6;font-size:.72rem}
.aroma-panel{padding:0;overflow:hidden}.aroma-visual{height:270px;position:relative}.aroma-visual img{width:100%;height:100%;object-fit:cover}.aroma-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,var(--cecil-green-950))}.aroma-copy{padding:25px 30px 30px;margin-top:-18px;position:relative;z-index:2}.aroma-copy p{color:rgba(250,247,239,.76);font-size:.9rem;margin:0 0 20px}.service-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-thumb{background:#FAF7EF;color:var(--cecil-ink);border-radius:8px;overflow:hidden}.service-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-thumb div{padding:10px;text-align:center}.service-thumb strong{font-size:.8rem;color:var(--cecil-green-900);display:block}.service-thumb small{font-size:.68rem;color:var(--cecil-muted)}

/* Pricing */
.info-shell{background:var(--cecil-white);border:1px solid rgba(201,216,166,.24);border-radius:var(--cecil-radius);box-shadow:var(--cecil-shadow);overflow:hidden}.pricing-purpose{display:grid;grid-template-columns:1.05fr .95fr}.pricing-box,.purpose-box{padding:36px}.pricing-box{border-right:1px solid #EAE2D3}.small-title{font-family:Georgia,"Yu Mincho",serif;font-weight:500;color:var(--cecil-green-900);font-size:1.55rem;margin:0 0 22px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.price-card{border:1px solid #C9D8A6;border-radius:9px;text-align:center;padding:15px 8px;background:#FAF7EF}.price-card span{display:block;color:var(--cecil-muted);font-size:.8rem}.price-card strong{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.35rem;color:var(--cecil-green-900)}.price-wide{grid-column:1/-1}.price-note{font-size:.78rem;color:var(--cecil-muted);margin:13px 0 0}
.purpose-tags{display:flex;flex-wrap:wrap;gap:10px}.purpose-tag{display:inline-flex;align-items:center;padding:9px 15px;border:1px solid #C9D8A6;border-radius:999px;background:#FAF7EF;font-size:.82rem;color:#4B4238}

/* Representative */
.representative{display:grid;grid-template-columns:.78fr 1.22fr;align-items:stretch;background:linear-gradient(110deg,#F7F3EA,#FAF7EF);border:1px solid rgba(201,216,166,.3);border-radius:var(--cecil-radius);overflow:hidden;box-shadow:var(--cecil-shadow)}.representative-photo{min-height:470px;position:relative;overflow:hidden}.representative-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%}.representative-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(250,247,239,.18))}.representative-copy{padding:50px 54px;display:flex;flex-direction:column;justify-content:center}.representative-copy .section-kicker{margin-bottom:4px}.representative-copy h2{font-family:Georgia,"Yu Mincho",serif;color:var(--cecil-green-900);font-weight:500;font-size:2rem;margin:0 0 4px}.representative-copy .role{color:var(--cecil-gold-dark);font-weight:700;margin:0 0 18px}.representative-copy p{color:#4B4238;margin:0 0 18px}.credential-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin-top:5px}.credential{display:flex;gap:9px;align-items:flex-start;font-size:.84rem}.credential svg{width:18px;height:18px;color:var(--cecil-gold-dark);flex:0 0 auto;margin-top:4px}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-item{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.035)}.gallery-label{position:absolute;left:14px;bottom:14px;background:rgba(102,93,82,.82);color:#FAF7EF;border:1px solid rgba(201,216,166,.38);padding:7px 11px;border-radius:5px;font-size:.72rem;backdrop-filter:blur(6px)}

/* Media + Access */
.trust-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:20px}.media-card,.access-card{background:var(--cecil-white);border:1px solid rgba(201,216,166,.25);border-radius:var(--cecil-radius);overflow:hidden;box-shadow:var(--cecil-shadow)}.media-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.media-body{padding:25px}.media-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.media-pill{border:1px solid #C9D8A6;padding:6px 10px;border-radius:999px;font-size:.72rem;color:var(--cecil-green-900)}.media-body p{font-size:.85rem;color:var(--cecil-muted);margin:0}
.access-card{display:grid;grid-template-columns:.9fr 1.1fr}.access-info{padding:32px}.access-list{list-style:none;padding:0;margin:0;display:grid;gap:13px}.access-list li{display:grid;grid-template-columns:92px 1fr;gap:12px;font-size:.84rem}.access-list strong{color:var(--cecil-green-900)}.access-note{margin:18px 0 0;color:var(--cecil-muted);font-size:.75rem}.map-wrap{min-height:100%}.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* FAQ */
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:10px}.faq-item{border:1px solid rgba(201,216,166,.35);border-radius:10px;background:rgba(102,93,82,.82);overflow:hidden}.faq-q{width:100%;border:0;background:transparent;color:#FAF7EF;text-align:left;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-q span:first-child{display:flex;align-items:center;gap:12px}.faq-q .qmark{color:var(--cecil-gold-light);font-family:Georgia,serif;font-size:1.15rem}.faq-q svg{width:18px;height:18px;color:var(--cecil-gold-light);transition:transform .25s}.faq-item.open .faq-q svg{transform:rotate(180deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-a>div{overflow:hidden}.faq-a p{margin:0;padding:0 54px 20px;color:rgba(250,247,239,.76);font-size:.85rem}.faq-item.open .faq-a{grid-template-rows:1fr}

/* CTA/footer */
.contact-band{background-image:linear-gradient(90deg,rgba(102,93,82,.96),rgba(102,93,82,.88)),url('../images/cecil-bodycare-woman-v134.webp');background-size:cover;background-position:center;border-top:1px solid var(--cecil-border);border-bottom:1px solid var(--cecil-border);padding:48px 0;color:#FAF7EF}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-inner h2{font-family:Georgia,"Yu Mincho",serif;font-weight:500;font-size:clamp(1.5rem,3vw,2.15rem);margin:0}.contact-inner p{margin:5px 0 0;color:rgba(250,247,239,.7);font-size:.83rem}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.safety-note{background:#F7F3EA;padding:14px 20px;text-align:center;color:#4B4238;font-size:.78rem;border-bottom:1px solid #EAE2D3}.safety-note strong{color:var(--cecil-green-900)}
.site-footer{background:#665D52;color:rgba(250,247,239,.72);padding:42px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:28px}.footer-brand img{max-width:150px;max-height:78px;object-fit:contain;margin-bottom:12px}.footer-brand p{font-size:.76rem;margin:0;max-width:220px}.footer-col h3{font-size:.8rem;color:var(--cecil-gold-light);margin:0 0 10px;font-weight:700}.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.footer-col a{font-size:.74rem;color:rgba(250,247,239,.68)}.footer-col a:hover{color:#FAF7EF}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(201,216,166,.18);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.68rem}.socials{display:flex;gap:9px}.socials a{width:34px;height:34px;border:1px solid rgba(201,216,166,.35);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#FAF7EF}.socials svg{width:16px;height:16px}
.mobile-contact{display:none}

/* Generic pages */
.content-page{padding:90px 0}.page-header{background:linear-gradient(135deg,var(--cecil-green-900),var(--cecil-green-950));color:#FAF7EF;padding:80px 0 60px;border-bottom:1px solid var(--cecil-border)}.page-header h1{font-family:Georgia,"Yu Mincho",serif;font-weight:500;font-size:clamp(2rem,4vw,3rem);margin:0}.entry-content{max-width:820px;margin:0 auto}.entry-content h2,.entry-content h3{font-family:Georgia,"Yu Mincho",serif;color:var(--cecil-green-900)}

@media (max-width:1180px){
  .primary-nav{display:none}.header-actions .header-btn:not(.header-btn--gold){display:none}.lang-switch{display:none}.menu-toggle{display:flex}.site-header.nav-open{height:auto;min-height:var(--cecil-header)}.site-header.nav-open .primary-nav{display:block;position:absolute;top:79px;left:0;right:0;background:rgba(102,93,82,.98);padding:16px 20px 30px;border-bottom:1px solid var(--cecil-border)}.site-header.nav-open .primary-nav ul{flex-direction:column;align-items:flex-start;gap:0}.site-header.nav-open .primary-nav li{width:100%;border-bottom:1px solid rgba(250,247,239,.08)}.site-header.nav-open .primary-nav a{display:block;padding:13px 2px;width:100%;font-size:.92rem}.site-header.nav-open .primary-nav a:after{display:none}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}
@media (max-width:900px){
  :root{--cecil-header:70px}.site-brand{max-width:138px}.site-brand img{max-height:54px}.header-actions .header-btn--gold{display:none}.hero{min-height:650px}.hero:before{background-image:linear-gradient(90deg,rgba(102,93,82,.95) 0%,rgba(102,93,82,.78) 58%,rgba(102,93,82,.42) 100%),url('../images/cecil-bodycare-woman-v134.webp');background-position:64% center}.hero-inner{padding-top:74px}.hero-features{grid-template-columns:repeat(2,1fr);max-width:570px}.hero-feature{border-bottom:1px solid rgba(201,216,166,.25)}.choice-grid{grid-template-columns:1fr}.choice-wrap{margin-top:-36px}.dual-grid,.pricing-purpose,.representative,.trust-grid,.access-card{grid-template-columns:1fr}.pricing-box{border-right:0;border-bottom:1px solid #EAE2D3}.representative-photo{min-height:520px;max-height:650px}.representative-copy{padding:38px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.access-info{padding:28px}.contact-inner{flex-direction:column;text-align:center}.contact-actions{justify-content:center}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.mobile-contact{position:fixed;z-index:990;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(102,93,82,.95);border:1px solid var(--cecil-border);border-radius:12px;overflow:hidden;box-shadow:0 10px 35px rgba(75,66,56,.28);backdrop-filter:blur(10px)}.mobile-contact a{min-height:50px;color:#FAF7EF;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.74rem;border-right:1px solid rgba(201,216,166,.26)}.mobile-contact a:last-child{border-right:0}.mobile-contact a:first-child{background:linear-gradient(135deg,var(--cecil-gold-light),var(--cecil-gold-dark));color:#4B4238;font-weight:700}.site-footer{padding-bottom:88px}
}
@media (max-width:620px){
  .container{width:min(calc(100% - 28px),var(--content))}.section{padding:64px 0}.hero{min-height:680px}.hero-inner{width:calc(100% - 28px)}.hero h1{font-size:2.35rem}.hero-lead{font-size:.92rem}.hero-cta .btn{width:100%}.hero-features{margin-top:26px}.hero-feature{padding:12px 10px;font-size:.74rem}.choice-body{padding:20px}.dark-panel{padding:21px}.reason-grid{grid-template-columns:repeat(2,1fr)}.service-thumbs{grid-template-columns:1fr}.service-thumb{display:grid;grid-template-columns:120px 1fr;align-items:center}.service-thumb img{height:100%;aspect-ratio:auto}.price-grid{grid-template-columns:repeat(2,1fr)}.price-card:last-of-type{grid-column:auto}.pricing-box,.purpose-box{padding:25px}.credential-list{grid-template-columns:1fr}.representative-photo{min-height:430px}.representative-copy{padding:30px 24px}.gallery-grid{grid-template-columns:1fr}.trust-grid{gap:14px}.access-list li{grid-template-columns:1fr;gap:1px}.map-wrap iframe{min-height:320px}.faq-q{padding:16px}.faq-a p{padding:0 42px 18px 16px}.contact-actions{width:100%}.contact-actions .btn{flex:1 1 100%}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-bottom{flex-direction:column;text-align:center}.header-inner{width:calc(100% - 22px)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v1.0.2: Fixed-page scaffold / dropdown navigation */
.primary-nav li{position:relative}
.primary-nav .sub-menu{display:none;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);min-width:260px;padding:10px;background:rgba(102,93,82,.985);border:1px solid rgba(201,216,166,.32);border-radius:10px;box-shadow:0 20px 50px rgba(75,66,56,.28);z-index:1100;gap:0}
.primary-nav .sub-menu:before{content:"";position:absolute;top:-15px;left:0;right:0;height:15px}
.primary-nav .sub-menu li{width:100%;border-bottom:1px solid rgba(250,247,239,.07)}
.primary-nav .sub-menu li:last-child{border-bottom:0}
.primary-nav .sub-menu a{display:block;padding:10px 12px;white-space:nowrap;font-size:.78rem;color:rgba(250,247,239,.82)}
.primary-nav .sub-menu a:after{display:none}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}
.cecil-coming-soon-text{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2rem,5vw,3.5rem);color:var(--cecil-green-900);letter-spacing:.04em;text-align:center;margin:80px 0 120px}

@media (max-width:1180px){
  .site-header.nav-open .primary-nav .sub-menu{display:block;position:static;transform:none;min-width:0;padding:0 0 8px 16px;background:transparent;border:0;border-radius:0;box-shadow:none}
  .site-header.nav-open .primary-nav .sub-menu li{border-bottom:0}
  .site-header.nav-open .primary-nav .sub-menu a{padding:8px 2px;color:rgba(250,247,239,.66);font-size:.82rem}
}

/* v1.0.2: Complete header/footer sitemap navigation */
:root{--cecil-header:118px}
.site-header{height:var(--cecil-header)}
.header-main{height:69px;display:flex;align-items:center;gap:22px;width:min(calc(100% - 32px),1380px);margin:0 auto}
.header-main .site-brand{margin-right:auto}
.header-main .header-actions{margin-left:auto}
.primary-nav{height:49px;margin:0;border-top:1px solid rgba(201,216,166,.12);display:flex;align-items:center;justify-content:center;width:100%;padding:0 16px}
.primary-nav>ul{width:min(100%,1380px);display:flex;align-items:center;justify-content:center;gap:clamp(9px,1vw,18px);list-style:none;margin:0 auto;padding:0}
.primary-nav>ul>li{display:flex;align-items:center;height:48px}
.primary-nav>ul>li>a{font-size:clamp(.68rem,.72vw,.78rem);line-height:1.2;padding:16px 0;color:#F7F3EA}
.primary-nav>ul>li>a:after{bottom:8px}
.primary-nav>ul>li.menu-item-has-children>a{padding-right:12px}
.primary-nav>ul>li.menu-item-has-children>a:before{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;border-right:1px solid var(--cecil-gold-light);border-bottom:1px solid var(--cecil-gold-light);transform:translateY(-68%) rotate(45deg)}
.primary-nav .sub-menu{top:calc(100% + 1px);min-width:280px;max-height:min(68vh,620px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--cecil-gold-dark) rgba(250,247,239,.05)}
.primary-nav>ul>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:0;transform:none}

.site-footer{padding-top:46px}
.footer-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start}
.footer-brand img{max-width:160px;max-height:82px}
.footer-brand p{max-width:200px}
.footer-sitemap>ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;list-style:none;padding:0;margin:0}
.footer-sitemap>ul>li{min-width:0}
.footer-sitemap>ul>li>a{display:inline-block;color:var(--cecil-gold-light);font-size:.78rem;font-weight:700;line-height:1.45;margin-bottom:9px}
.footer-sitemap .sub-menu{display:grid;gap:6px;list-style:none;padding:0;margin:0}
.footer-sitemap .sub-menu li{margin:0}
.footer-sitemap .sub-menu a{display:block;color:rgba(250,247,239,.68);font-size:.7rem;line-height:1.55;transition:color .2s}
.footer-sitemap .sub-menu a:hover,.footer-sitemap .sub-menu a:focus-visible{color:#FAF7EF}

@media (max-width:1180px){
  :root{--cecil-header:70px}
  .site-header{height:var(--cecil-header)}
  .header-main{height:70px;width:min(calc(100% - 28px),1180px)}
  .primary-nav{display:none;height:auto;padding:0}
  .site-header.nav-open{height:70px;min-height:70px}
  .site-header.nav-open .primary-nav{display:block;position:absolute;top:70px;left:0;right:0;max-height:calc(100vh - 70px);overflow-y:auto;background:rgba(102,93,82,.99);padding:12px 20px 28px;border-top:1px solid rgba(201,216,166,.18);border-bottom:1px solid var(--cecil-border)}
  .site-header.nav-open .primary-nav>ul{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:0}
  .site-header.nav-open .primary-nav>ul>li{display:block;width:100%;height:auto;border-bottom:1px solid rgba(250,247,239,.08)}
  .site-header.nav-open .primary-nav>ul>li>a{display:block;width:100%;padding:13px 3px;font-size:.9rem}
  .site-header.nav-open .primary-nav>ul>li.menu-item-has-children>a:before{right:4px}
  .site-header.nav-open .primary-nav .sub-menu{display:block;position:static;transform:none;max-height:none;overflow:visible;min-width:0;padding:0 0 10px 16px;background:transparent;border:0;border-radius:0;box-shadow:none}
  .site-header.nav-open .primary-nav .sub-menu li{border:0}
  .site-header.nav-open .primary-nav .sub-menu a{padding:7px 2px;font-size:.8rem;color:rgba(250,247,239,.68)}
  .footer-layout{grid-template-columns:1fr;gap:30px}
  .footer-brand{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:20px}
  .footer-brand p{max-width:520px}
  .footer-sitemap>ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:900px){
  .footer-sitemap>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
}

@media (max-width:620px){
  .footer-brand{display:block}
  .footer-brand p{max-width:280px}
  .footer-sitemap>ul{grid-template-columns:1fr;gap:22px}
  .footer-sitemap>ul>li{padding-bottom:18px;border-bottom:1px solid rgba(201,216,166,.12)}
  .footer-sitemap>ul>li:last-child{border-bottom:0}
}

/* v1.0.3: Homepage section order, desktop navigation readability, mobile pricing rows */
.section--soft{background:#F7F3EA}
.homepage-section{position:relative}
.homepage-section + .homepage-section{border-top:1px solid rgba(201,216,166,.12)}
.section-head--choice{margin-bottom:30px}
.section-head--dark .section-title{color:#F7F3EA}
.section-kicker--light{color:var(--cecil-gold-light)}
.section-intro{margin:-10px 0 24px;color:var(--cecil-muted);font-size:.92rem}
.section-action{margin-top:24px}
.section-action--center{text-align:center}
.homepage-single-box{overflow:visible}
.pricing-box--standalone,.purpose-box--standalone{padding:44px;border:0}
.pricing-box--standalone{border-right:0}
.purpose-box--standalone{border:0}
.purpose-tags--links .purpose-tag{transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.purpose-tags--links .purpose-tag:hover,.purpose-tags--links .purpose-tag:focus-visible{transform:translateY(-2px);border-color:var(--cecil-gold);background:#FAF7EF;box-shadow:0 8px 22px rgba(102,93,82,.09)}
.aroma-panel--wide{display:grid;grid-template-columns:1.02fr .98fr;min-height:520px}
.aroma-panel--wide .aroma-visual{height:auto;min-height:520px}
.aroma-panel--wide .aroma-visual:after{inset:0;background:linear-gradient(90deg,transparent 64%,var(--cecil-green-950) 100%)}
.aroma-panel--wide .aroma-copy{margin:0;padding:54px 48px;display:flex;flex-direction:column;justify-content:center}
.reasons-panel--wide{padding:44px}
.reasons-panel--wide .section-head{margin-bottom:34px}
.home-reasons-section{position:relative;padding:56px 0;background:radial-gradient(circle at 18% 18%,rgba(201,216,166,.10),transparent 24%),radial-gradient(circle at 84% 82%,rgba(201,216,166,.08),transparent 22%),linear-gradient(135deg,#665D52 0%,#665D52 48%,#665D52 100%);overflow:hidden}
.home-reasons-section:before,.home-reasons-section:after{content:"";position:absolute;inset:0;pointer-events:none}
.home-reasons-section:before{background:linear-gradient(90deg,rgba(201,216,166,.06),transparent 10%,transparent 90%,rgba(201,216,166,.04)),repeating-linear-gradient(90deg,rgba(250,247,239,.012) 0 3px,transparent 3px 88px);opacity:.55}
.home-reasons-section:after{background:linear-gradient(180deg,rgba(250,247,239,.02),transparent 26%,transparent 74%,rgba(250,247,239,.015));mix-blend-mode:screen}
.home-reasons-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.18fr);align-items:stretch;gap:22px}
.home-reasons-media{position:relative;min-height:min(56vh,460px);margin:0;border:1px solid rgba(201,216,166,.45);border-radius:0 78px 0 0;overflow:hidden;box-shadow:0 20px 46px rgba(75,66,56,.23)}
.home-reasons-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(102,93,82,.08),rgba(102,93,82,.24) 45%,rgba(102,93,82,.42));pointer-events:none}
.home-reasons-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(.88) brightness(.74)}
.home-reasons-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 0}
.home-reasons-head{text-align:center;max-width:760px;margin:0 auto 16px}
.home-reasons-kicker{color:#C9D8A6;letter-spacing:.18em;margin-bottom:5px}
.home-reasons-kicker-line{width:28px;height:1px;background:rgba(201,216,166,.78);margin:0 auto 12px}
.home-reasons-title{font-size:clamp(1.95rem,3.2vw,3.1rem);line-height:1.18;margin-bottom:12px;color:#F7F3EA;text-shadow:0 10px 22px rgba(75,66,56,.16)}
.home-reasons-intro{margin:0;color:rgba(250,247,239,.82);font-size:.9rem;line-height:1.68;letter-spacing:.03em}
.home-reasons-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:10px;align-items:stretch}
.home-reasons-stack{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}
.home-reason-card{position:relative;border:1px solid rgba(201,216,166,.44);background:linear-gradient(180deg,rgba(102,93,82,.80),rgba(102,93,82,.72));overflow:hidden;box-shadow:0 18px 40px rgba(75,66,56,.18)}
.home-reason-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 18%,rgba(201,216,166,.12),transparent 26%),linear-gradient(135deg,rgba(250,247,239,.03),transparent 42%);pointer-events:none}
.home-reason-card--primary{min-height:320px}
.home-reason-card-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%;padding:26px 20px 22px}
.home-reason-card--side{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:4px;padding:14px 14px 13px}
.home-reason-card--side .home-reason-icon{justify-self:center}
.home-reason-copy{position:relative;z-index:1}
.home-reason-icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;color:#C9D8A6}
.home-reason-card--primary .home-reason-icon{width:68px;height:68px;margin-bottom:6px}
.home-reason-card--primary .home-reason-icon svg{width:48px;height:48px}
.home-reason-card--side .home-reason-icon svg{width:38px;height:38px}
.home-reason-no{display:block;font-family:Georgia,"Yu Mincho",serif;color:#C9D8A6;font-size:clamp(1rem,1.35vw,1.3rem);letter-spacing:.08em;line-height:1;margin-bottom:7px}
.home-reason-card h3{margin:0;color:#F7F3EA;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.06em}
.home-reason-card--primary h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.24}
.home-reason-card--side h3{font-size:clamp(1rem,1.3vw,1.3rem);line-height:1.22}
.home-reason-divider{width:24px;height:1px;background:rgba(201,216,166,.82);margin:7px 0 8px}
.home-reason-card--primary .home-reason-divider{margin-left:auto;margin-right:auto}
.home-reason-card p{margin:0;color:rgba(247,243,234,.82);font-size:.84rem;line-height:1.5;letter-spacing:.03em}
.home-reason-card--primary p{font-size:.92rem}
.home-reason-card--side p{font-size:.82rem}
.home-reasons-cta{display:flex;justify-content:center;margin-top:14px}
.home-reasons-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:min(100%,340px);padding:12px 18px;border:1px solid rgba(201,216,166,.55);color:#EAE2D3;font-family:Georgia,"Yu Mincho",serif;font-size:.94rem;letter-spacing:.08em;background:linear-gradient(90deg,rgba(102,93,82,.58),rgba(102,93,82,.38));transition:background-color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.home-reasons-link:hover{background:rgba(201,216,166,.10);border-color:rgba(201,216,166,.88);transform:translateY(-1px);box-shadow:0 10px 24px rgba(75,66,56,.18)}
.home-reasons-link b{font-size:1.25rem;line-height:1;color:#C9D8A6;font-weight:400}
.menu-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.menu-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1px solid #C9D8A6;border-radius:999px;background:#FAF7EF;color:var(--cecil-green-900);font-size:.8rem;font-weight:700;transition:.2s}
.menu-links a:hover,.menu-links a:focus-visible{border-color:var(--cecil-gold);background:#FAF7EF;transform:translateY(-1px)}
.media-section-card{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;background:var(--cecil-white);border:1px solid rgba(201,216,166,.25);border-radius:var(--cecil-radius);box-shadow:var(--cecil-shadow)}
.media-section-image{min-height:360px}
.media-section-image img{width:100%;height:100%;object-fit:cover}
.media-body--wide{padding:48px;display:flex;flex-direction:column;justify-content:center}
.media-body--wide p{font-size:.9rem;line-height:1.9}
.access-card--standalone{box-shadow:var(--cecil-shadow)}

/* PC header: increase parent and dropdown menu readability */
@media (min-width:1181px){
  .header-main{width:min(calc(100% - 36px),1480px)}
  .primary-nav{padding:0 18px}
  .primary-nav>ul{width:min(100%,1480px);gap:clamp(7px,.75vw,14px)}
  .primary-nav>ul>li>a{font-size:clamp(.82rem,.8vw,.92rem);font-weight:600;letter-spacing:.015em}
  .primary-nav .sub-menu a{font-size:.84rem;line-height:1.5;padding:11px 13px}
}

@media (max-width:900px){
  .aroma-panel--wide{grid-template-columns:1fr;min-height:0}
  .aroma-panel--wide .aroma-visual{min-height:360px;height:360px}
  .aroma-panel--wide .aroma-visual:after{inset:55% 0 0;background:linear-gradient(transparent,var(--cecil-green-950))}
  .aroma-panel--wide .aroma-copy{padding:34px 30px 38px;margin-top:-20px}
  .media-section-card{grid-template-columns:1fr}
  .media-section-image{min-height:300px}
  .media-body--wide{padding:34px}
  .pricing-box--standalone,.purpose-box--standalone{padding:32px}
  .reasons-panel--wide{padding:30px}
}

@media (max-width:620px){
  .section-head--choice{margin-bottom:24px}
  .pricing-box--standalone,.purpose-box--standalone{padding:25px}
  .aroma-panel--wide .aroma-visual{height:270px;min-height:270px}
  .aroma-panel--wide .aroma-copy{padding:28px 22px 30px}
  .reasons-panel--wide{padding:22px}
  .media-body--wide{padding:28px 24px}
  .media-section-image{min-height:240px}

  /* Requested smartphone menu/price layout: horizontal row items, stacked vertically. */
  .pricing-box--standalone .price-grid{grid-template-columns:1fr;gap:8px}
  .pricing-box--standalone .price-card,.pricing-box--standalone .price-wide{grid-column:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:13px 16px;min-height:58px}
  .pricing-box--standalone .price-card span{display:block;font-size:.88rem;color:var(--cecil-green-900);font-weight:700}
  .pricing-box--standalone .price-card strong{display:block;font-size:1.28rem;text-align:right;white-space:nowrap}
  .menu-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .menu-links a{padding:9px 8px;font-size:.74rem;text-align:center}
  .purpose-tags--links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .purpose-tags--links .purpose-tag{justify-content:center;text-align:center;padding:10px 8px;font-size:.75rem}
}


@media (max-width:1180px){.home-reasons-shell{grid-template-columns:1fr;gap:18px}.home-reasons-media{min-height:320px;max-width:760px;width:min(100%,760px);margin:0 auto}.home-reasons-content{padding:0}.home-reasons-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.home-reasons-section{padding-top:48px;padding-bottom:48px}.home-reasons-title{font-size:clamp(1.8rem,7vw,2.5rem)}.home-reasons-intro{font-size:.84rem;line-height:1.68}.home-reasons-grid{grid-template-columns:1fr;gap:12px}.home-reason-card--primary{min-height:0}.home-reason-card-inner{padding:28px 18px 24px}.home-reasons-stack{gap:12px}.home-reason-card--side{grid-template-columns:62px minmax(0,1fr);padding:15px 14px}.home-reason-card--side .home-reason-icon svg{width:44px;height:44px}.home-reason-card--primary .home-reason-icon{width:68px;height:68px}.home-reason-card--primary .home-reason-icon svg{width:52px;height:52px}.home-reason-card--primary h3{font-size:1.6rem}.home-reason-card p{font-size:.84rem}.home-reason-card--primary p{font-size:.9rem}.home-reasons-link{min-width:100%}}
@media (max-width:640px){.home-reasons-section{padding-top:44px;padding-bottom:44px}.home-reasons-shell{gap:16px}.home-reasons-media{min-height:220px;border-radius:0 42px 0 0}.home-reasons-head{margin-bottom:16px}.home-reasons-kicker{font-size:.72rem}.home-reasons-kicker-line{margin-bottom:10px}.home-reasons-title{font-size:clamp(1.7rem,9vw,2.2rem);line-height:1.22}.home-reasons-intro{font-size:.76rem;line-height:1.65}.home-reason-card--primary{min-height:auto}.home-reason-card-inner{padding:24px 16px 22px}.home-reason-card--side{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:14px 12px}.home-reason-card--side .home-reason-icon{justify-self:center}.home-reason-card--side .home-reason-icon svg{width:38px;height:38px}.home-reason-card--primary .home-reason-icon{width:60px;height:60px}.home-reason-card--primary .home-reason-icon svg{width:44px;height:44px}.home-reason-no{margin-bottom:8px;font-size:1rem}.home-reason-card--side h3{font-size:1.08rem}.home-reason-card--primary h3{font-size:1.45rem}.home-reason-card--side p,.home-reason-card--primary p{font-size:.8rem;line-height:1.6}.home-reason-divider{margin:8px 0 10px}.home-reasons-link{padding:13px 16px;font-size:.9rem;letter-spacing:.06em}.home-reasons-link b{font-size:1.15rem}}

/* v1.0.5: canonical navigation rendering / duplicate-menu hotfix */
.primary-nav .cecil-menu-fallback{list-style:none}
.footer-sitemap .cecil-menu-fallback{list-style:none;margin:0;padding:0}

/* v1.0.24: visual editor persistence/stale-save fix. */

/* ==========================================
   v1.0.28 — server-side fixed-page editing
========================================== */
.cecil-edit-variant{display:inline}
.cecil-edit-variant--mobile{display:none}
.cecil-native-editable-body{padding:56px 0;background:#FAF7EF;border-top:1px solid rgba(201,216,166,.28)}
.cecil-native-editable-body .entry-content{max-width:980px}
.cecil-native-editable-body .entry-content>:first-child{margin-top:0}
.cecil-native-editable-body .entry-content>:last-child{margin-bottom:0}
@media(max-width:760px){
  .cecil-edit-variant--desktop{display:none}
  .cecil-edit-variant--mobile{display:inline}
  .cecil-native-editable-body{padding:38px 0}
}


/* ==========================================
   v1.0.31 — Header 店舗・出張 navigation
========================================== */
.primary-nav .sub-menu .menu-item-has-children>a{position:relative;padding-right:30px}
.primary-nav .sub-menu .menu-item-has-children>a:before{content:"";position:absolute;right:13px;top:50%;width:5px;height:5px;border-right:1px solid var(--cecil-gold-light);border-bottom:1px solid var(--cecil-gold-light);transform:translateY(-60%) rotate(45deg);opacity:.8}
/* Third level is intentionally visible inside the first dropdown. This keeps
   自宅 / ホテル discoverable without requiring a precise desktop hover. */
.primary-nav .sub-menu .sub-menu{display:block;position:static;transform:none;min-width:0;max-height:none;overflow:visible;margin:0;padding:2px 0 7px 18px;background:rgba(250,247,239,.025);border:0;border-radius:0;box-shadow:none}
.primary-nav .sub-menu .sub-menu:before{display:none}
.primary-nav .sub-menu .sub-menu li{border-bottom:0}
.primary-nav .sub-menu .sub-menu a{padding:7px 10px;font-size:.74rem;color:rgba(250,247,239,.66)}
.primary-nav .sub-menu .sub-menu a:before{content:"—";position:static;display:inline-block;margin-right:7px;color:var(--cecil-gold-dark);border:0;width:auto;height:auto;transform:none}
.primary-nav .menu-path-access>a{font-weight:600}
@media(max-width:1180px){
  .site-header.nav-open .primary-nav .sub-menu .sub-menu{padding:0 0 5px 18px;background:transparent}
  .site-header.nav-open .primary-nav .sub-menu .sub-menu a{padding:7px 2px;font-size:.78rem;color:rgba(250,247,239,.58)}
}

