
  :root{
    --rose:#d4a5b4;
    --rose-deep:#a05d75;
    --gold:#b8954a;
    --gold-light:#d6b87a;
    --cream:#faf6f1;
    --ivory:#fffdf9;
    --charcoal:#1f1518;
    --soft:#4a3a40;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;font-size:19px}
  @media(max-width:768px){
    html{font-size:16px}
  }
  @media(max-width:480px){
    html{font-size:15px}
  }
  body{
    font-family:"Noto Serif JP","Cormorant Garamond",serif;
    color:var(--charcoal);background:var(--cream);
    line-height:1.85;font-weight:500;letter-spacing:.02em;
  }
  p{font-weight:500}
  strong{font-weight:700}
  a{color:var(--rose-deep);text-decoration:none;transition:all .3s}
  img{max-width:100%;display:block}

  /* Tulip SVG as repeating background */
  .tulip-bg{
    position:absolute;inset:0;pointer-events:none;opacity:.08;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='160' viewBox='0 0 120 160'><g fill='%23b87a8c'><path d='M60 40c-12 0-22 10-22 22 0 14 10 28 22 38 12-10 22-24 22-38 0-12-10-22-22-22zm-8 22c0-4 3-8 8-8s8 4 8 8-3 8-8 8-8-4-8-8z' opacity='.6'/></g><path d='M60 100 L60 150' stroke='%238fa877' stroke-width='2' fill='none'/><path d='M60 130 Q50 125 45 115' stroke='%238fa877' stroke-width='2' fill='none'/></svg>");
    background-size:180px 240px;
  }

  /* Navbar */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:18px 40px;backdrop-filter:blur(12px);
    background:rgba(255,253,249,.75);
    border-bottom:1px solid rgba(201,169,97,.2);
    display:flex;justify-content:space-between;align-items:center;
  }
  nav .logo{
    font-family:"Great Vibes",cursive;font-size:1.8rem;color:var(--rose-deep);
    display:flex;align-items:center;gap:10px;
  }
  nav .logo img{
    width:90px;height:90px;border-radius:50%;
    object-fit:cover;background:#fffefa;
    border:2px solid var(--gold-light);
    box-shadow:0 6px 14px rgba(184,122,140,.25);
  }
  nav ul{display:flex;gap:28px;list-style:none}
  nav ul a{font-size:.82rem;letter-spacing:.2em;color:var(--charcoal);text-transform:uppercase}
  nav ul a:hover{color:var(--gold)}

  /* Hero */
  .hero{
    min-height:100vh;position:relative;overflow:hidden;
    background:
      linear-gradient(135deg,rgba(245,230,234,.85) 0%,rgba(250,246,241,.8) 50%,rgba(245,234,213,.85) 100%),
      url("images/cleaning-1.jpg") center/cover no-repeat;
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:170px 20px 80px;
  }
  .hero::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(255,253,249,.3) 0%,transparent 30%,transparent 70%,rgba(255,253,249,.3) 100%);
    pointer-events:none;
  }
  .hero-inner{position:relative;z-index:2;max-width:800px}
  .hero .script{
    font-family:"Great Vibes",cursive;
    font-size:4.5rem;color:var(--rose-deep);line-height:1;
    margin-bottom:12px;
  }
  .hero h1{
    font-family:"Cormorant Garamond",serif;
    font-size:3rem;font-weight:300;letter-spacing:.5em;
    color:var(--charcoal);margin-bottom:30px;
    padding-left:.5em;
  }
  .hero .divider{
    display:flex;align-items:center;justify-content:center;gap:16px;
    margin:30px auto;max-width:300px;
  }
  .hero .divider::before,.hero .divider::after{
    content:"";flex:1;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
  }
  .hero .divider span{color:var(--gold);font-size:1.2rem}
  .hero .catch{
    font-size:1.15rem;color:var(--soft);font-weight:400;
    margin-bottom:20px;letter-spacing:.15em;
  }
  .hero .sub{font-size:.9rem;color:var(--soft);letter-spacing:.2em}
  .hero-stats{
    display:flex;justify-content:center;gap:30px;
    margin:0 auto 28px;flex-wrap:wrap;
    padding:18px 30px;background:rgba(255,253,249,.7);
    border-top:1px solid rgba(201,169,97,.4);
    border-bottom:1px solid rgba(201,169,97,.4);
    backdrop-filter:blur(6px);max-width:680px;
  }
  .hero-stat{text-align:center;flex:1;min-width:90px}
  .hero-stat .num{
    font-family:"Cormorant Garamond",serif;
    font-size:2.2rem;font-weight:500;color:var(--rose-deep);
    line-height:1;margin-bottom:4px;
  }
  .hero-stat .num .plus{font-size:1.4rem;color:var(--gold)}
  .hero-stat .lbl{
    font-size:.72rem;color:var(--charcoal);letter-spacing:.2em;
    font-weight:500;
  }
  @media(max-width:600px){
    .hero-stats{
      gap:8px;padding:18px 14px;
      background:rgba(255,253,249,.95);
      border:2px solid var(--gold);
      box-shadow:0 6px 18px rgba(184,122,140,.2);
    }
    .hero-stat .num{
      font-size:2rem;font-weight:600;
      color:var(--rose-deep);
    }
    .hero-stat .num .plus{font-size:1.2rem;color:var(--gold);font-weight:700}
    .hero-stat .lbl{
      font-size:.75rem;letter-spacing:.08em;
      font-weight:600;color:var(--charcoal);
    }
  }
  .cta{
    display:inline-block;margin-top:40px;padding:18px 50px;
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);
    color:#fff;font-family:"Noto Serif JP",serif;font-size:.85rem;
    letter-spacing:.3em;font-weight:500;
    border:1px solid var(--gold);border-radius:0;
    box-shadow:0 8px 24px rgba(201,169,97,.3);
    transition:all .4s;position:relative;overflow:hidden;
  }
  .cta:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(201,169,97,.45);color:#fff}

  /* Main character mascot */
  .mascot{
    position:absolute;animation:float 5s ease-in-out infinite;
    pointer-events:none;z-index:3;
  }
  .mascot img{
    filter:drop-shadow(0 8px 20px rgba(184,122,140,.25));
    border-radius:50%;
    object-fit:cover;
    aspect-ratio:1/1;
    width:100%;
    border:3px solid rgba(255,255,255,.6);
    background:#fffefa;
  }
  .mascot.hero-mascot{
    top:30%;right:12%;width:180px;
  }
  .mascot.about-mascot{
    bottom:-10px;right:-20px;width:140px;animation-delay:1s;
  }
  .mascot.footer-mascot{
    top:-40px;left:50%;transform:translateX(-50%);width:100px;
    animation:float 4s ease-in-out infinite;
  }
  @media(max-width:900px){
    .mascot.hero-mascot{width:140px;top:20%;right:5%}
    .mascot.about-mascot{width:100px}
  }

  /* Mama art decorations */
  .mama-art{
    position:absolute;opacity:.85;pointer-events:none;z-index:1;
    filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));
  }

  /* Floating tulips in hero */
  .float-tulip{
    position:absolute;font-size:40px;opacity:.25;
    animation:float 6s ease-in-out infinite;
  }
  .float-tulip:nth-of-type(1){top:18%;left:6%;animation-delay:0s}
  .float-tulip:nth-of-type(2){top:32%;right:8%;animation-delay:1.5s;font-size:32px}
  .float-tulip:nth-of-type(3){bottom:25%;left:16%;animation-delay:3s;font-size:36px}
  .float-tulip:nth-of-type(4){bottom:14%;right:14%;animation-delay:4.5s}
  @keyframes float{
    0%,100%{transform:translateY(0) rotate(-5deg)}
    50%{transform:translateY(-20px) rotate(5deg)}
  }

  /* Section base */
  section{padding:120px 20px;position:relative}
  .container{max-width:1100px;margin:0 auto;position:relative;z-index:2}
  .section-title{text-align:center;margin-bottom:80px;position:relative}
  .section-title .en{
    font-family:"Cormorant Garamond",serif;
    font-size:2.8rem;font-weight:300;letter-spacing:.4em;
    color:var(--charcoal);margin-bottom:8px;margin-top:20px;padding-left:.4em;
  }
  .section-title .script{
    font-family:"Great Vibes",cursive;
    font-size:1.8rem;color:var(--rose-deep);
    position:absolute;top:-50px;left:50%;transform:translateX(-50%);
    opacity:.7;
  }
  .section-title .jp{
    font-size:.85rem;color:var(--gold);letter-spacing:.5em;margin-top:10px;
  }
  .section-title .ornament{
    display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;
  }
  .section-title .ornament::before,.section-title .ornament::after{
    content:"";width:40px;height:1px;background:var(--gold);
  }
  .section-title .ornament span{color:var(--rose);font-size:1rem}

  /* Personas (こんな方におすすめ) */
  .personas-section{
    background:
      linear-gradient(135deg,rgba(255,253,249,.92) 0%,rgba(250,246,241,.88) 50%,rgba(245,234,213,.92) 100%),
      url("images/chulip2.jpg") center/cover no-repeat;
    position:relative;overflow:hidden;
  }
  .personas-section .container{position:relative;z-index:1}
  .personas-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  }
  .persona-card{
    background:linear-gradient(135deg,#faf6f1 0%,#f5e6ea 50%,#fff8ed 100%);
    padding:36px 32px;border:1px solid var(--gold-light);
    position:relative;transition:all .4s;overflow:hidden;
  }
  .persona-card::before{
    content:"";position:absolute;inset:10px;
    border:1px solid rgba(201,169,97,.25);pointer-events:none;
  }
  .persona-card:hover{
    transform:translateY(-6px);border-color:var(--gold);
    box-shadow:0 20px 40px rgba(184,122,140,.18);
  }
  .persona-card .persona-icon{
    font-size:42px;margin-bottom:18px;display:block;line-height:1;
  }
  .persona-card h3{
    font-family:"Noto Serif JP",serif;font-size:1.15rem;
    color:var(--rose-deep);letter-spacing:.1em;margin-bottom:8px;
    font-weight:500;
  }
  .persona-card .en-name{
    font-family:"Cormorant Garamond",serif;font-size:.8rem;
    color:var(--gold);letter-spacing:.3em;margin-bottom:18px;
  }
  .persona-card p{
    font-size:.92rem;color:var(--soft);line-height:1.95;margin-bottom:14px;
  }
  .persona-card .recommend{
    margin-top:18px;padding-top:18px;border-top:1px dashed var(--gold-light);
    font-size:.85rem;color:var(--charcoal);
  }
  .persona-card .recommend strong{
    color:var(--rose-deep);font-weight:500;
  }

  /* Worries (共感) */
  .worries-section{
    background:linear-gradient(135deg,#faf6f1 0%,#f5e6ea 100%);
    position:relative;
  }
  .worries-lead{
    text-align:center;font-size:1.1rem;color:var(--soft);
    margin-bottom:50px;letter-spacing:.1em;line-height:2;
  }
  .worries-grid{
    display:grid;grid-template-columns:1fr;gap:14px;
    max-width:780px;margin:0 auto;
  }
  .worry-card{
    background:var(--ivory);padding:28px 30px;border:1px solid var(--gold-light);
    display:flex;align-items:flex-start;gap:18px;position:relative;
    transition:all .3s;
  }
  .worry-card:hover{
    border-color:var(--gold);transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(184,122,140,.12);
  }
  .worry-card .check{
    flex:0 0 32px;height:32px;border-radius:50%;
    background:linear-gradient(135deg,var(--rose-deep),var(--rose));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:1rem;
  }
  .worry-card p{
    font-size:.95rem;color:var(--charcoal);line-height:1.8;margin:0;
  }
  .worries-conclusion{
    text-align:center;margin-top:50px;padding:30px;
    background:var(--ivory);border:2px solid var(--gold);
    max-width:680px;margin-left:auto;margin-right:auto;
  }
  .worries-conclusion p{
    font-size:1.15rem;color:var(--rose-deep);font-weight:500;
    letter-spacing:.1em;line-height:1.9;margin:0;
  }

  /* Flow (ご利用の流れ) */
  .flow-section{
    background:linear-gradient(135deg,#fff8ed 0%,#faf6f1 100%);
  }
  .flow-steps{
    display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
    position:relative;
  }
  .flow-step{
    background:var(--ivory);padding:36px 18px 28px;text-align:center;
    border:1px solid var(--gold-light);position:relative;
    transition:all .3s;
  }
  .flow-step:hover{
    transform:translateY(-4px);border-color:var(--gold);
    box-shadow:0 12px 28px rgba(184,122,140,.12);
  }
  .flow-step .step-num{
    position:absolute;top:-18px;left:50%;transform:translateX(-50%);
    width:36px;height:36px;border-radius:50%;
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-family:"Cormorant Garamond",serif;font-size:1.2rem;font-weight:500;
    box-shadow:0 4px 10px rgba(201,169,97,.4);
  }
  .flow-step .icon{font-size:32px;display:block;margin:14px 0 12px}
  .flow-step h4{
    font-family:"Noto Serif JP",serif;font-size:.92rem;
    color:var(--rose-deep);letter-spacing:.1em;margin-bottom:8px;
  }
  .flow-step p{
    font-size:.78rem;color:var(--soft);line-height:1.7;
  }
  .flow-step::after{
    content:"›";position:absolute;top:50%;right:-14px;transform:translateY(-50%);
    font-size:24px;color:var(--gold);font-weight:300;z-index:2;
  }
  .flow-step:last-child::after{display:none}

  /* FAQ */
  .faq-section{background:var(--ivory)}
  .faq-list{max-width:820px;margin:0 auto}
  .faq-item{
    background:var(--cream);margin-bottom:14px;
    border:1px solid var(--gold-light);overflow:hidden;
    transition:all .3s;
  }
  .faq-item:hover{border-color:var(--gold)}
  .faq-question{
    padding:22px 28px;cursor:pointer;display:flex;
    align-items:flex-start;gap:16px;
    font-family:"Noto Serif JP",serif;font-size:.95rem;
    color:var(--charcoal);font-weight:500;letter-spacing:.05em;
    list-style:none;position:relative;
  }
  .faq-question::-webkit-details-marker{display:none}
  .faq-question .q-mark{
    flex:0 0 28px;height:28px;border-radius:50%;
    background:linear-gradient(135deg,var(--rose-deep),var(--rose));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-family:"Cormorant Garamond",serif;font-size:1rem;
  }
  .faq-question .q-text{flex:1}
  .faq-question .arrow{
    color:var(--gold);font-size:1.4rem;transition:transform .3s;line-height:1;
  }
  .faq-item[open] .arrow{transform:rotate(180deg)}
  .faq-answer{
    padding:0 28px 22px 72px;font-size:.9rem;
    color:var(--soft);line-height:2;
  }
  .faq-answer .a-mark{
    display:inline-block;width:28px;height:28px;border-radius:50%;
    border:1px solid var(--gold);color:var(--gold);
    text-align:center;line-height:26px;
    font-family:"Cormorant Garamond",serif;font-size:1rem;
    margin-right:10px;vertical-align:middle;
  }

  @media(max-width:900px){
    .worries-grid{grid-template-columns:1fr;gap:14px}
    .worry-card{padding:22px 24px}
    .flow-steps{grid-template-columns:1fr 1fr;gap:24px}
    .flow-step::after{display:none}
    .faq-question{padding:18px 22px;font-size:.88rem}
    .faq-answer{padding:0 22px 18px 60px;font-size:.85rem}
  }
  @media(max-width:500px){
    .flow-steps{grid-template-columns:1fr}
  }

  /* Brand Story */
  .story-section{
    background:
      linear-gradient(135deg,rgba(255,248,237,.88) 0%,rgba(250,246,241,.85) 50%,rgba(245,230,234,.88) 100%),
      url("images/chulip1.jpg") center/cover no-repeat;
    position:relative;overflow:hidden;
  }
  .story-section .container{position:relative;z-index:1}
  .story-wrap{
    max-width:780px;margin:0 auto;background:var(--ivory);
    padding:50px 50px;border:1px solid var(--gold-light);position:relative;
  }
  .story-wrap::before{
    content:"";position:absolute;inset:12px;border:1px solid rgba(201,169,97,.3);
    pointer-events:none;
  }
  .story-equation{
    text-align:center;margin-bottom:24px;
  }
  .story-equation .yua{
    font-family:"Noto Serif JP",serif;font-size:2rem;color:var(--rose-deep);
    line-height:1.2;margin-bottom:8px;letter-spacing:.15em;font-weight:600;
  }
  .story-equation .equal{
    font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:var(--gold);
    letter-spacing:.3em;margin:4px 0;
  }
  .story-equation .your{
    font-family:"Cormorant Garamond",serif;font-size:1.9rem;color:var(--charcoal);
    letter-spacing:.2em;font-weight:300;
  }
  .story-equation .meaning{
    font-size:.9rem;color:var(--rose-deep);letter-spacing:.4em;margin-top:10px;
    font-weight:500;
  }
  .story-divider{
    display:flex;align-items:center;justify-content:center;gap:14px;
    margin:20px auto;max-width:260px;
  }
  .story-divider::before,.story-divider::after{
    content:"";flex:1;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
  }
  .story-divider span{color:var(--gold);font-size:1rem}
  .story-motto{
    text-align:center;font-family:"Noto Serif JP",serif;
    font-size:1.15rem;color:var(--charcoal);font-weight:500;
    letter-spacing:.2em;margin:18px 0 14px;line-height:1.6;
  }
  .story-motto small{
    display:block;font-family:"Cormorant Garamond",serif;
    font-size:.75rem;color:var(--gold);letter-spacing:.4em;
    margin-top:6px;font-weight:300;
  }
  .story-text{
    margin-top:24px;padding-top:24px;border-top:1px dashed var(--gold-light);
  }
  .story-text p{
    font-size:.88rem;color:var(--soft);line-height:1.9;margin-bottom:12px;
  }
  .story-text p strong{color:var(--rose-deep);font-weight:500}
  .story-signature{
    text-align:right;margin-top:30px;
    font-family:"Great Vibes",cursive;font-size:1.8rem;color:var(--rose-deep);
  }
  @media(max-width:900px){
    .story-wrap{padding:50px 28px}
    .story-equation .yua{font-size:2.6rem}
    .story-equation .your{font-size:1.8rem}
    .story-motto{font-size:1.1rem}
  }

  /* About */
  .about-section{background:var(--ivory)}
  .about-grid{
    display:grid;grid-template-columns:0.35fr 2fr;gap:50px;align-items:center;
  }
  .about-visual{
    aspect-ratio:3/4.5;
    background:linear-gradient(135deg,#f5e6ea,#f5ead5);
    position:relative;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--gold-light);overflow:hidden;
  }
  .about-visual::before{
    content:"";position:absolute;inset:12px;border:1px solid var(--gold);
  }
  .about-visual .big-tulip{font-size:140px;filter:drop-shadow(0 4px 20px rgba(184,122,140,.3))}
  .about-text h3{
    font-family:"Cormorant Garamond",serif;font-weight:400;
    font-size:1.6rem;letter-spacing:.15em;margin-bottom:6px;color:var(--rose-deep);
  }
  .about-text .name{
    font-family:"Great Vibes",cursive;font-size:2.4rem;
    color:var(--charcoal);margin-bottom:24px;
  }
  .about-text p{margin-bottom:16px;color:var(--soft);font-size:.95rem}
  .badges{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
  .badge{
    padding:8px 18px;background:transparent;
    border:1px solid var(--gold);color:var(--gold);
    font-size:.75rem;letter-spacing:.2em;
  }

  /* Team message */
  .team-message{
    padding:50px 60px;
    background:var(--ivory);
    position:relative;
    border-radius:16px;
    border:1px solid var(--gold-light);
    box-shadow:0 12px 30px rgba(184,122,140,.12);
  }
  .team-message::before{
    content:"";position:absolute;inset:12px;
    border:1px solid rgba(201,169,97,.25);border-radius:10px;
    pointer-events:none;
  }
  .team-message-content{
    display:grid;grid-template-columns:0.8fr 1.8fr;gap:40px;align-items:center;
  }
  .team-message-image{
    border-radius:12px;overflow:hidden;
    border:2px solid var(--gold-light);
    box-shadow:0 8px 20px rgba(184,122,140,.15);
  }
  .team-message-image img{
    width:100%;height:auto;display:block;
  }
  .team-message h4{
    font-family:"Noto Serif JP",serif;font-size:1.2rem;
    color:var(--rose-deep);letter-spacing:.18em;margin-bottom:18px;
    font-weight:700;line-height:1.6;
  }
  .team-message p{
    font-size:1rem;color:var(--charcoal);line-height:2;margin:0 0 16px;
    font-weight:500;
  }
  .team-message p strong{color:var(--rose-deep);font-weight:600}
  .team-staff-tags{
    display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;
  }
  .team-staff-tag{
    display:inline-flex;align-items:center;gap:6px;
    padding:8px 16px;background:#fff;
    border:1px solid var(--gold);color:var(--rose-deep);
    font-size:.82rem;font-weight:600;letter-spacing:.1em;
    border-radius:999px;
  }
  .team-staff-tag.male{
    border-color:#7ba6c9;color:#4a7ba0;
  }
  .team-staff-tag.female{
    border-color:#d4a5b4;color:var(--rose-deep);
  }
  @media(max-width:900px){
    .team-message-content{grid-template-columns:1fr;gap:18px}
  }

  /* Stats */
  .stats-section{
    background:linear-gradient(135deg,#2a2024 0%,#3d2e34 100%);
    color:var(--cream);padding:80px 20px;
  }
  .stats{
    display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto;gap:40px;
  }
  .stat{text-align:center;position:relative}
  .stat:not(:last-child)::after{
    content:"🌷";position:absolute;right:-20px;top:50%;transform:translateY(-50%);
    font-size:24px;opacity:.4;
  }
  .stat .num{
    font-family:"Cormorant Garamond",serif;
    font-size:3.8rem;font-weight:300;color:var(--gold-light);
    display:block;line-height:1;
  }
  .stat .lbl{
    font-size:.8rem;letter-spacing:.35em;margin-top:16px;
    color:var(--cream);opacity:.85;
  }

  /* Gallery */
  .gallery-section{
    background:#fffaf3;position:relative;overflow:hidden;
  }
  .gallery-section::before{
    content:"";position:absolute;top:8%;left:-60px;
    width:280px;height:280px;
    background:url("images/chulip1.jpg") center/contain no-repeat;
    opacity:.12;pointer-events:none;z-index:0;
    transform:rotate(-12deg);
  }
  .gallery-section::after{
    content:"";position:absolute;bottom:8%;right:-60px;
    width:280px;height:280px;
    background:url("images/chulip2.jpg") center/contain no-repeat;
    opacity:.12;pointer-events:none;z-index:0;
    transform:rotate(12deg);
  }
  .gallery-section .container{position:relative;z-index:1}
  .section-title-with-flower{
    display:flex;align-items:center;justify-content:center;gap:18px;
    margin-bottom:34px;text-align:center;flex-direction:column;
  }
  .section-title-with-flower h2{
    font-family:"Noto Serif JP",serif;font-size:1.7rem;
    color:var(--rose-deep);letter-spacing:.2em;font-weight:500;
    margin-bottom:8px;
  }
  .section-title-with-flower p{
    font-size:.9rem;color:var(--soft);letter-spacing:.1em;
    margin:0;line-height:1.8;
  }
  .main-photo-gallery{
    max-width:1050px;margin:0 auto 22px;
    display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;
  }
  .main-photo-gallery img{
    width:100%;height:300px;object-fit:cover;
    border-radius:22px;border:1px solid var(--gold-light);
    box-shadow:0 8px 18px rgba(184,122,140,.15);
    transition:all .4s;
  }
  .main-photo-gallery img:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(184,122,140,.25);
    border-color:var(--gold);
  }
  .sub-photo-gallery{
    max-width:1050px;margin:0 auto;
    display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
  }
  .sub-photo-gallery img{
    width:100%;height:145px;object-fit:cover;
    border-radius:16px;border:1px solid var(--gold-light);
    box-shadow:0 5px 13px rgba(184,122,140,.12);
    transition:all .4s;
  }
  .sub-photo-gallery img:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 24px rgba(184,122,140,.22);
    border-color:var(--gold);
  }
  @media(max-width:900px){
    .section-title-with-flower{gap:10px}
    .section-title-with-flower .flower-icon{width:42px;height:42px}
    .section-title-with-flower h2{font-size:1.3rem}
    .main-photo-gallery{grid-template-columns:1fr;gap:14px}
    .main-photo-gallery img{height:240px}
    .sub-photo-gallery{grid-template-columns:repeat(2,1fr);gap:10px}
    .sub-photo-gallery img{height:150px}
  }
  .gallery-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    grid-auto-rows:220px;gap:16px;
  }
  .gallery-item{position:relative;overflow:hidden}
  .gallery-item.tall{grid-row:span 2}
  .gallery-placeholder{
    width:100%;height:100%;
    background:linear-gradient(135deg,#f5e6ea 0%,#f5ead5 100%);
    border:1px solid var(--gold-light);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;color:var(--rose-deep);position:relative;
    transition:all .4s;cursor:pointer;
  }
  .gallery-placeholder:hover{
    border-color:var(--gold);
    box-shadow:0 12px 28px rgba(184,122,140,.2);
    transform:translateY(-4px);
  }
  .gallery-placeholder::before{
    content:"";position:absolute;inset:10px;border:1px solid rgba(201,169,97,.4);
    pointer-events:none;
  }
  .gallery-placeholder .icon{font-size:40px;opacity:.7}
  .gallery-placeholder .label{
    text-align:center;font-size:.9rem;letter-spacing:.15em;color:var(--charcoal);
  }
  .gallery-placeholder .label small{font-size:.7rem;color:var(--gold);letter-spacing:.3em}
  .gallery-placeholder.video{
    background:linear-gradient(135deg,#3d2e34 0%,#2a2024 100%);
    color:var(--gold-light);
  }
  .gallery-placeholder.video .label{color:var(--cream)}
  .gallery-placeholder.video::after{
    content:"▶";position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);font-size:30px;color:var(--gold);
    opacity:0;transition:opacity .3s;
  }
  .gallery-placeholder.video:hover::after{opacity:1}

  /* Mama Art Section */
  .mama-art-section{
    background:linear-gradient(135deg,#fff8ed 0%,#fde4ec 50%,#fff3d6 100%);
    position:relative;
  }
  .mama-art-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .art-card{
    background:var(--ivory);padding:24px 24px 24px;
    border:1px solid var(--gold-light);position:relative;
    transition:all .4s;overflow:hidden;border-radius:24px;
    text-align:center;
  }
  .art-card::before{
    content:"";position:absolute;inset:10px;
    border:1px solid rgba(201,169,97,.25);border-radius:18px;
    pointer-events:none;z-index:1;
  }
  .art-card:hover{
    transform:translateY(-6px) rotate(-.5deg);
    box-shadow:0 20px 40px rgba(184,122,140,.2);
    border-color:var(--gold);
  }
  .art-card.featured{
    grid-column:span 1;
    background:linear-gradient(135deg,#f5e6ea 0%,#fff3d6 100%);
    border:2px solid var(--gold);
  }
  .art-card.featured::after{
    content:"★ 公式キャラクター";position:absolute;top:14px;right:-1px;
    background:var(--gold);color:#fff;font-size:.7rem;
    padding:6px 14px;letter-spacing:.15em;z-index:2;
    border-radius:12px 0 0 12px;
  }
  .art-card img{
    width:200px;height:200px;object-fit:cover;
    background:#fffefa;padding:8px;
    position:relative;z-index:0;
    border-radius:50%;
    border:2px solid var(--gold-light);
    margin:0 auto;display:block;
  }
  .art-card.featured img{
    border:3px solid var(--gold);
    box-shadow:0 8px 24px rgba(201,169,97,.3);
  }
  .art-card.no-image{
    min-height:240px;
    background:linear-gradient(135deg,#f5e6ea,#f5ead5);
    display:flex;align-items:center;justify-content:center;
  }
  .art-card.no-image::after{
    content:"🎨 画像を追加";font-size:.9rem;color:var(--rose-deep);
    letter-spacing:.2em;
  }
  .art-card.no-image img{display:none}
  .art-card figcaption{
    text-align:center;margin-top:14px;
    font-family:"Noto Serif JP",serif;font-size:.9rem;
    color:var(--rose-deep);letter-spacing:.1em;
    position:relative;z-index:2;
  }
  .art-card figcaption small{
    display:block;font-family:"Cormorant Garamond",serif;
    font-size:.7rem;color:var(--gold);letter-spacing:.25em;margin-top:2px;
  }

  /* Plans */
  .plans-section{background:var(--cream);position:relative;overflow:hidden}
  .plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .plan{
    background:var(--ivory);padding:50px 24px 40px;text-align:center;
    border:1px solid rgba(201,169,97,.3);position:relative;
    transition:all .4s;
  }
  .plan:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
    box-shadow:0 20px 40px rgba(184,122,140,.15);
  }
  .plan .tulip-icon{font-size:36px;margin-bottom:20px;display:block}
  .plan h3{
    font-family:"Cormorant Garamond",serif;font-weight:400;
    font-size:1.1rem;letter-spacing:.2em;color:var(--rose-deep);
    margin-bottom:8px;min-height:2.4em;
  }
  .plan .jp-name{font-size:.75rem;color:var(--soft);letter-spacing:.3em;margin-bottom:24px}
  .plan .price-box{
    padding:20px 0;border-top:1px solid var(--gold-light);
    border-bottom:1px solid var(--gold-light);margin-bottom:20px;
  }
  .plan .price{
    font-family:"Cormorant Garamond",serif;font-size:2.2rem;
    font-weight:400;color:var(--charcoal);
  }
  .plan .price .unit{font-size:.8rem;color:var(--soft);margin-left:4px}
  .plan .desc{font-size:.82rem;color:var(--soft);line-height:1.8}

  /* Price examples */
  .price-examples{
    margin-top:60px;padding:50px 40px;
    background:var(--ivory);border:1px solid var(--gold-light);
    position:relative;
  }
  .price-examples::before{
    content:"";position:absolute;inset:10px;
    border:1px solid rgba(201,169,97,.25);pointer-events:none;
  }
  .price-examples h3{
    text-align:center;font-family:"Noto Serif JP",serif;font-size:1.2rem;
    color:var(--rose-deep);letter-spacing:.2em;font-weight:500;
    margin-bottom:8px;
  }
  .price-examples .en-sub{
    text-align:center;font-family:"Cormorant Garamond",serif;
    font-size:.85rem;color:var(--gold);letter-spacing:.3em;
    margin-bottom:40px;
  }
  .examples-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  }
  .example-card{
    background:linear-gradient(135deg,#faf6f1,#f5e6ea);
    padding:28px 22px;text-align:center;border:1px solid var(--gold-light);
    position:relative;border-radius:12px;
  }
  .example-card.recommended{
    border:3px solid var(--rose-deep);
    background:linear-gradient(135deg,#fff8ed 0%,#fde4ec 100%);
    box-shadow:0 16px 36px rgba(184,122,140,.25);
    transform:translateY(-8px);
  }
  .example-card.recommended .recommend-badge{
    position:absolute;top:-18px;left:50%;transform:translateX(-50%);
    background:linear-gradient(135deg,var(--rose-deep) 0%,#c97891 100%);
    color:#fff;padding:8px 24px;border-radius:999px;
    font-size:.9rem;font-weight:700;letter-spacing:.2em;
    box-shadow:0 6px 16px rgba(184,122,140,.4);
    white-space:nowrap;
  }
  .example-card.recommended .hours strong{color:var(--rose-deep)}
  .example-card.recommended .price{color:var(--rose-deep);font-weight:600}
  .example-card .hours{
    font-family:"Cormorant Garamond",serif;font-size:1.6rem;
    color:var(--charcoal);font-weight:400;letter-spacing:.1em;
  }
  .example-card .hours strong{
    color:var(--rose-deep);font-size:2.4rem;font-weight:500;
  }
  .example-card .price{
    font-family:"Cormorant Garamond",serif;font-size:1.4rem;
    color:var(--gold);margin:8px 0 16px;letter-spacing:.05em;
  }
  .example-card ul{
    list-style:none;text-align:left;margin-top:16px;
  }
  .example-card ul li{
    font-size:.85rem;color:var(--soft);padding:6px 0;
    padding-left:20px;position:relative;line-height:1.6;
  }
  .example-card ul li::before{
    content:"🌷";position:absolute;left:0;font-size:.7rem;
  }
  @media(max-width:900px){
    .price-examples{padding:36px 22px}
    .examples-grid{grid-template-columns:1fr;gap:14px}
  }

  /* Monitor Campaign */
  .monitor-section{
    background:linear-gradient(135deg,#fff8ed 0%,#f5e6ea 50%,#ffe8d6 100%);
    position:relative;overflow:hidden;
  }
  .monitor-section::before{
    content:"";position:absolute;top:-100px;right:-80px;
    width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,200,150,.4),transparent 70%);
    pointer-events:none;
  }
  .monitor-section::after{
    content:"";position:absolute;bottom:-100px;left:-80px;
    width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(245,200,210,.4),transparent 70%);
    pointer-events:none;
  }
  .monitor-wrap{
    max-width:880px;margin:0 auto;background:var(--ivory);
    padding:60px 50px;position:relative;
    border:3px solid var(--gold);
    box-shadow:0 20px 50px rgba(184,122,140,.15);
  }
  .monitor-wrap::before{
    content:"";position:absolute;inset:14px;border:1px dashed rgba(201,169,97,.5);
    pointer-events:none;
  }
  .monitor-badge{
    display:inline-block;padding:10px 26px;
    background:linear-gradient(135deg,#ff6b6b 0%,#ee5a5a 100%);
    color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.2em;
    border-radius:999px;margin-bottom:24px;
    box-shadow:0 6px 16px rgba(238,90,90,.4);
    animation:pulse 2s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.05)}
  }
  .monitor-title{
    text-align:center;font-family:"Noto Serif JP",serif;
    font-size:2.6rem;color:#ee5a5a;font-weight:700;
    letter-spacing:.05em;margin-bottom:14px;line-height:1.4;
    text-shadow:0 2px 8px rgba(238,90,90,.15);
  }
  .monitor-title .small{
    display:block;font-size:1.1rem;color:var(--charcoal);
    font-weight:500;margin-top:8px;letter-spacing:.15em;
  }
  .monitor-hero-images{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
    margin:24px 0;
  }
  .monitor-hero-image{
    border-radius:16px;overflow:hidden;
    border:3px solid #ee5a5a;position:relative;
    box-shadow:0 12px 30px rgba(238,90,90,.2);
  }
  .monitor-hero-image img{
    width:100%;height:240px;object-fit:cover;display:block;
  }
  @media(max-width:600px){
    .monitor-hero-images{grid-template-columns:1fr;gap:10px}
  }
  .monitor-hero-caption{
    position:absolute;bottom:0;left:0;right:0;
    background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 100%);
    color:#fff;padding:30px 24px 20px;
    font-size:.95rem;font-weight:600;letter-spacing:.05em;
    text-align:center;
  }
  @media(max-width:600px){
    .monitor-hero-image img{height:200px}
    .monitor-hero-caption{font-size:.85rem;padding:24px 16px 16px}
  }

  .monitor-highlight-box{
    background:#ee5a5a;color:#fff;padding:14px 24px;
    text-align:center;margin:24px 0;border-radius:8px;
    font-size:1.05rem;font-weight:600;letter-spacing:.15em;
    box-shadow:0 6px 18px rgba(238,90,90,.3);
  }
  .monitor-highlight-box strong{
    font-size:1.3rem;color:#fff8a0;display:inline-block;margin:0 4px;
  }
  .monitor-subtitle{
    text-align:center;font-size:.95rem;color:var(--soft);
    letter-spacing:.05em;margin-bottom:36px;line-height:1.9;
  }
  .monitor-price-box{
    background:linear-gradient(135deg,#fff8ed 0%,#fde4ec 100%);
    padding:40px 30px;text-align:center;margin:24px 0;
    border:3px solid #ee5a5a;border-radius:12px;
    box-shadow:0 10px 30px rgba(238,90,90,.15);
  }
  .monitor-price-box .label{
    display:inline-block;background:#ee5a5a;color:#fff;
    padding:6px 20px;border-radius:999px;
    font-size:.9rem;letter-spacing:.2em;
    margin-bottom:24px;font-weight:600;
  }
  .monitor-price-box .price-comparison{
    display:flex;justify-content:center;align-items:baseline;
    gap:18px;flex-wrap:wrap;margin-bottom:20px;
  }
  .monitor-price-box .original{
    font-family:"Cormorant Garamond",serif;
    font-size:1.8rem;color:#999;
    text-decoration:line-through;text-decoration-color:#cc6666;
    text-decoration-thickness:3px;
  }
  .monitor-price-box .arrow{
    color:#ee5a5a;font-size:2rem;font-weight:700;
  }
  .monitor-price-box .new-price{
    font-family:"Cormorant Garamond",serif;
    font-size:4rem;color:#ee5a5a;font-weight:700;
    line-height:1;text-shadow:0 4px 12px rgba(238,90,90,.25);
  }
  .monitor-price-box .new-price small{font-size:1.2rem;color:var(--charcoal);font-weight:500}
  .monitor-price-box .pack{
    margin-top:24px;padding:22px 20px;
    background:#fff;border:2px dashed #ee5a5a;border-radius:8px;
    font-size:1.4rem;color:var(--charcoal);font-weight:600;
  }
  .monitor-price-box .pack .pack-price{
    color:#ee5a5a;font-size:2.4rem;font-weight:700;
    font-family:"Cormorant Garamond",serif;
    display:inline-block;margin:0 6px;line-height:1;
  }
  .monitor-price-box .pack .save{
    display:inline-block;background:#ffd700;color:#7a4a24;
    padding:6px 16px;border-radius:4px;font-size:1rem;
    margin-left:10px;font-weight:700;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
  }
  .monitor-price-box .pack .original-pack{
    display:block;font-size:.95rem;color:#999;margin-top:10px;
    text-decoration:line-through;font-weight:400;
  }
  .monitor-meta{
    display:flex;justify-content:space-around;gap:20px;
    margin:30px 0;flex-wrap:wrap;
  }
  .monitor-meta .meta-item{
    text-align:center;flex:1;min-width:140px;
  }
  .monitor-meta .meta-icon{font-size:32px;display:block;margin-bottom:8px}
  .monitor-meta .meta-label{
    font-size:.8rem;color:var(--gold);letter-spacing:.2em;
    margin-bottom:4px;font-weight:500;
  }
  .monitor-meta .meta-value{
    font-size:.95rem;color:var(--charcoal);font-weight:500;
  }
  .monitor-cooperation{
    background:#faf6f1;padding:24px 28px;
    border-left:4px solid var(--gold);margin:30px 0;
  }
  .monitor-cooperation h4{
    font-family:"Noto Serif JP",serif;font-size:1rem;
    color:var(--rose-deep);letter-spacing:.15em;margin-bottom:14px;
    font-weight:500;
  }
  .monitor-cooperation ul{list-style:none}
  .monitor-cooperation li{
    padding:6px 0;padding-left:28px;position:relative;
    font-size:.92rem;color:var(--charcoal);line-height:1.7;
  }
  .monitor-cooperation li::before{
    content:"✅";position:absolute;left:0;
  }
  .monitor-notes{
    font-size:.78rem;color:var(--soft);line-height:1.9;
    text-align:left;margin-top:20px;padding:14px 18px;
    background:rgba(255,255,255,.6);border-radius:6px;
  }
  .monitor-notes p{margin-bottom:4px}
  .monitor-cta-wrap{
    text-align:center;margin-top:30px;
  }
  .monitor-cta{
    display:inline-block;padding:24px 60px;
    background:linear-gradient(135deg,#ee5a5a 0%,#ff8a5a 100%);
    color:#fff;font-family:"Noto Serif JP",serif;font-size:1.3rem;
    letter-spacing:.2em;font-weight:700;
    border-radius:999px;border:none;cursor:pointer;
    box-shadow:0 10px 28px rgba(238,90,90,.5);
    transition:all .3s;
    animation:ctaShake 3s ease-in-out infinite;
  }
  @keyframes ctaShake{
    0%,90%,100%{transform:translateY(0) scale(1)}
    93%{transform:translateY(-3px) scale(1.03)}
    96%{transform:translateY(0) scale(1)}
  }
  .monitor-cta:hover{
    transform:translateY(-3px) scale(1.05);
    box-shadow:0 14px 36px rgba(238,90,90,.6);
    color:#fff;
    animation:none;
  }
  @media(max-width:900px){
    .monitor-wrap{padding:40px 24px}
    .monitor-title{font-size:1.4rem}
    .monitor-price-box .new-price{font-size:1.9rem}
    .monitor-meta{gap:14px}
  }

  /* Reviews */
  .reviews-section{background:var(--ivory)}
  .reviews{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .review{
    background:var(--cream);padding:36px 28px;position:relative;
    border-top:3px solid var(--gold);
  }
  .review::before{
    content:"❝";position:absolute;top:8px;left:16px;
    font-family:"Cormorant Garamond",serif;font-size:3rem;
    color:var(--rose);opacity:.4;line-height:1;
  }
  .review .who{
    font-family:"Cormorant Garamond",serif;font-size:1rem;
    color:var(--rose-deep);letter-spacing:.1em;
    margin-top:20px;margin-bottom:4px;font-weight:500;
  }
  .review .date{
    font-size:.7rem;color:var(--gold);letter-spacing:.3em;margin-bottom:16px;
  }
  .review p{font-size:.88rem;color:var(--soft);line-height:1.9}

  /* Info */
  .info-section{
    background:linear-gradient(135deg,#f5e6ea 0%,#faf6f1 100%);
    position:relative;overflow:hidden;
  }
  .info-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:40px 60px;
    background:var(--ivory);padding:60px;
    border:1px solid var(--gold-light);
  }
  .info-item h4{
    font-family:"Cormorant Garamond",serif;font-weight:400;
    font-size:.95rem;letter-spacing:.3em;color:var(--gold);
    margin-bottom:8px;text-transform:uppercase;
  }
  .info-item .jp-label{
    font-size:.75rem;color:var(--rose-deep);letter-spacing:.2em;margin-bottom:14px;
  }
  .info-item p{font-size:.88rem;color:var(--soft);line-height:1.9}

  /* Recruit */
  .recruit-section{
    background:linear-gradient(135deg,#f5ead5 0%,#faf6f1 50%,#f5e6ea 100%);
    position:relative;overflow:hidden;
  }
  .recruit-wrap{
    background:var(--ivory);padding:60px;
    border:1px solid var(--gold-light);position:relative;
  }
  .recruit-wrap::before{
    content:"";position:absolute;inset:12px;border:1px solid rgba(201,169,97,.3);
    pointer-events:none;
  }
  .recruit-lead{
    text-align:center;font-size:1.15rem;color:var(--charcoal);
    font-weight:500;margin-bottom:10px;letter-spacing:.1em;
  }
  .recruit-sub{
    text-align:center;font-size:.9rem;color:var(--soft);
    margin-bottom:40px;line-height:2;
  }
  .welcome-tags{
    display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:40px;
  }
  .welcome-tag{
    padding:12px 28px;
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
    color:#fff;font-size:.9rem;letter-spacing:.2em;font-weight:500;
    border-radius:999px;box-shadow:0 6px 16px rgba(201,169,97,.3);
  }
  .welcome-tag.pink{
    background:linear-gradient(135deg,var(--rose-deep) 0%,var(--rose) 100%);
    box-shadow:0 6px 16px rgba(184,122,140,.3);
  }
  .recruit-points{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0;
  }
  .recruit-point{
    text-align:center;padding:24px 18px;
    border-top:2px solid var(--gold);background:var(--cream);
  }
  .recruit-point .icon{font-size:32px;margin-bottom:12px;display:block}
  .recruit-point h5{
    font-family:"Noto Serif JP",serif;font-size:.95rem;
    color:var(--rose-deep);margin-bottom:8px;letter-spacing:.15em;
  }
  .recruit-point p{font-size:.82rem;color:var(--soft);line-height:1.8}
  .recruit-details dl{
    display:grid;grid-template-columns:140px 1fr;gap:14px 20px;
    margin-top:30px;padding-top:30px;border-top:1px dashed var(--gold-light);
  }
  .recruit-details dt{
    color:var(--rose-deep);font-weight:500;font-size:.85rem;
    letter-spacing:.15em;
  }
  .recruit-details dd{font-size:.88rem;color:var(--soft)}

  /* Contact */
  .contact-section{
    background:linear-gradient(135deg,#2a2024 0%,#3d2e34 100%);
    color:var(--cream);text-align:center;padding:120px 20px;
  }
  .contact-section .section-title .en{color:var(--cream)}
  .contact-section .section-title .jp{color:var(--gold-light)}
  .contact-section .section-title .script{color:var(--rose)}
  .contact-section p{max-width:500px;margin:0 auto 20px;color:var(--cream);opacity:.85;font-size:.95rem}
  .contact-section .big-tulip{font-size:60px;margin-bottom:20px;opacity:.7}

  /* Contact buttons */
  .contact-buttons{
    display:flex;justify-content:center;gap:18px;flex-wrap:wrap;
    margin-top:30px;
  }
  .contact-btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 36px;font-size:.85rem;letter-spacing:.2em;
    border:1px solid var(--gold);color:var(--gold-light);
    background:transparent;font-weight:500;font-family:"Noto Serif JP",serif;
    transition:all .3s;
  }
  .contact-btn:hover{
    background:var(--gold);color:#fff;
    box-shadow:0 8px 20px rgba(201,169,97,.3);
    transform:translateY(-2px);
  }
  .contact-btn.primary{
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
    color:#fff;border:none;
  }
  .contact-btn.instagram{
    background:linear-gradient(135deg,#f5e6ea 0%,#e1306c 100%);
    color:#fff;border:none;
  }
  .contact-btn.instagram:hover{
    background:linear-gradient(135deg,#e1306c 0%,#c13584 100%);
    color:#fff;
  }
  .contact-btn.youtube{
    background:linear-gradient(135deg,#cc0000 0%,#ff0000 100%);
    color:#fff;border:none;
  }
  .contact-btn.youtube:hover{
    background:linear-gradient(135deg,#990000 0%,#cc0000 100%);
    color:#fff;
  }
  .contact-btn .icon{font-size:1.1rem}

  /* Social links in footer */
  .footer-social{
    display:flex;justify-content:center;gap:20px;margin:20px 0;
  }
  .footer-social a{
    color:var(--gold-light);font-size:.8rem;letter-spacing:.2em;
    border:1px solid rgba(201,169,97,.3);padding:8px 18px;
    transition:all .3s;
  }
  .footer-social a:hover{
    background:var(--gold);color:#fff;border-color:var(--gold);
  }

  /* Legal section */
  .legal-section{
    background:#f5f1ec;padding:80px 20px;
  }
  .privacy-section{
    background:#ebe5dc;padding:80px 20px;
  }
  .privacy-wrap{
    max-width:880px;margin:0 auto;background:var(--ivory);
    padding:50px 50px;border:1px solid var(--gold-light);
    border-radius:8px;
  }
  .privacy-wrap h3{
    font-family:"Noto Serif JP",serif;font-size:1.05rem;
    color:var(--rose-deep);letter-spacing:.15em;margin-top:30px;
    margin-bottom:14px;font-weight:600;padding-bottom:8px;
    border-bottom:1px solid var(--gold-light);
  }
  .privacy-wrap h3:first-child{margin-top:0}
  .privacy-wrap p{
    font-size:.92rem;color:var(--charcoal);line-height:1.95;
    margin-bottom:14px;
  }
  .privacy-wrap ul{
    margin:10px 0 14px 0;padding-left:24px;
  }
  .privacy-wrap li{
    font-size:.92rem;color:var(--charcoal);line-height:1.9;
    margin-bottom:6px;
  }
  @media(max-width:700px){
    .privacy-wrap{padding:30px 24px}
  }
  .legal-wrap{
    max-width:880px;margin:0 auto;background:var(--ivory);
    padding:50px 50px;border:1px solid var(--gold-light);
    border-radius:8px;
  }
  .legal-wrap dl{
    display:grid;grid-template-columns:200px 1fr;gap:18px 24px;
    margin-top:30px;
  }
  .legal-wrap dt{
    color:var(--rose-deep);font-weight:600;font-size:.92rem;
    letter-spacing:.1em;padding:8px 0;
    border-right:1px solid var(--gold-light);padding-right:20px;
  }
  .legal-wrap dd{
    font-size:.92rem;color:var(--charcoal);line-height:1.9;padding:8px 0;
  }
  @media(max-width:700px){
    .legal-wrap{padding:30px 24px}
    .legal-wrap dl{grid-template-columns:1fr;gap:6px 0}
    .legal-wrap dt{
      border-right:none;border-bottom:1px solid var(--gold-light);
      padding:8px 0 6px;margin-top:14px;
    }
    .legal-wrap dt:first-child{margin-top:0}
    .legal-wrap dd{padding:0 0 8px;font-size:.9rem}
  }

  /* Footer */
  footer{
    background:#1f171a;color:var(--cream);text-align:center;
    padding:50px 20px;font-size:.75rem;letter-spacing:.2em;
  }
  footer .logo{font-family:"Great Vibes",cursive;font-size:2rem;color:var(--gold-light);margin-bottom:12px;letter-spacing:0}
  footer p{opacity:.7;margin:4px 0}

  /* Responsive */
  @media(max-width:900px){
    nav{padding:16px 20px}
    nav ul{display:none}
    .hero .script{font-size:3rem}
    .hero h1{font-size:1.8rem;letter-spacing:.3em}
    .section-title .en{font-size:2rem;letter-spacing:.25em}
    .about-grid{grid-template-columns:1fr;gap:30px}
    .about-visual{max-width:200px;margin:0 auto;aspect-ratio:3/4}
    .stats{grid-template-columns:1fr;gap:50px}
    .stat:not(:last-child)::after{display:none}
    .plans{grid-template-columns:1fr 1fr;gap:14px}
    .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
    .mama-art-grid{grid-template-columns:1fr 1fr;gap:14px}
    .art-card img{width:160px;height:160px}
    .reviews{grid-template-columns:1fr}
    .info-grid{grid-template-columns:1fr;padding:40px 24px;gap:28px}
    .recruit-wrap{padding:40px 24px}
    .recruit-points{grid-template-columns:1fr;gap:14px}
    .recruit-details dl{grid-template-columns:1fr;gap:6px}
    .recruit-details dt{margin-top:10px}
    section{padding:80px 20px}
  }
  @media(max-width:500px){
    .plans{grid-template-columns:1fr}
    .hero .script{font-size:2.4rem}
    .hero h1{font-size:1.4rem}
  }
