:root{--accent-color:#bd7184;--accent-color-inverse:#fff;--primary-color:#2e3440;--text-color:#34363b;--bg-color:#fffdfa;--header-height:90px;--space-large:8vw;--space-small:4vw}
body.blossom-lp{background:#fffdfa;color:#34363b}
#logo a{display:flex;align-items:center;gap:12px;text-decoration:none}.logo-mark{font-family:Georgia,serif;font-size:50px;line-height:1;color:#2e3440;position:relative}.logo-mark:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#e99aad;right:-2px;top:7px}.logo-text{font-family:serif;font-size:16px;line-height:1.3;color:#2e3440}.logo-text small{display:block;font-family:sans-serif;font-size:9px;letter-spacing:.18em;color:#bd7184;margin-top:4px}
#svg-box{position:relative}.slide-type1 .slide img{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;z-index:6;left:8%;top:50%;transform:translateY(-40%);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28);max-width:680px}.hero-en{letter-spacing:.28em;font-size:12.5px}.hero-ja{font-family:serif;font-size:clamp(31px,5vw,64px);line-height:1.45;margin:.4em 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-copy a{display:inline-block;padding:12px 22px;border:1px solid #fff;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(3px)}.hero-copy .academy-link{border-color:#c7929d;background:#a85f72;box-shadow:0 8px 24px rgba(76,26,40,.32);font-weight:700;letter-spacing:.06em}.hero-copy .academy-link:hover{background:#8f4d5e;transform:translateY(-2px)}.hero-copy .business-link{background:rgba(20,32,47,.32)}
.box1{background:linear-gradient(135deg,#fffdfa,#fff4f5)}.box1 .image img{object-fit:cover}.title-bg{background:linear-gradient(135deg,#f5e5e8,#fff8f8)}
.list1.business1{background-image:url('../images/sakura-space.jpg')}.list1.business2{background-image:url('../images/group-course.jpg')}.list1.business3{background-image:url('../images/course-flowers.jpg')}.list1{background-size:cover;background-position:center}.list1:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.16);pointer-events:none}.list1 .text{position:relative;z-index:1}
.slide-thumbnail1 img{height:220px;object-fit:cover}.instructor-lp{max-width:920px;margin:auto;display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:48px;align-items:center;padding:0 var(--space-small)}.instructor-lp figure img{width:100%;max-height:420px;object-fit:cover;object-position:center 20%;border-radius:48% 48% 8px 8px}.instructor-lp h3{font-family:serif;font-size:clamp(22px,2.7vw,34px);line-height:1.6;margin:15px 0}.instructor-label{color:#bd7184;letter-spacing:.12em}
.news-lp,.faq-lp{max-width:960px;margin:auto}.new{display:grid;grid-template-columns:150px 1fr;border-top:1px solid #ddd}.new dt,.new dd{padding:18px;border-bottom:1px solid #ddd}.faq-lp details{border-bottom:1px solid #ddd;padding:16px 0}.faq-lp summary{cursor:pointer;font-weight:bold}.faq-lp details p{padding:15px 10px 0;color:#666}
.contact-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:0;background:#f8e9ec}.contact-band>div{padding:6.8vw}.contact-band img{width:100%;height:100%;min-height:360px;object-fit:cover}.contact-en{color:#bd7184;letter-spacing:.3em}.contact-band h2{font-family:serif;font-size:clamp(24px,3.2vw,38px);line-height:1.6;margin:15px 0}.footer-b{font-family:Georgia,serif;font-size:78px;line-height:1;margin:0}
@media(max-width:899px){:root{--header-height:68px}.logo-mark{font-size:34px}.logo-text{font-size:12.5px}.hero-copy{left:7%;right:7%;top:55%}.hero-en{font-size:10px}.hero-ja{font-size:clamp(25px,8vw,40px)}#btn-special{display:none}.box1 .image{min-height:280px}.list1{min-height:470px}.list1 .text,.list1 .text.reverse{width:86%;margin:0 auto;background:rgba(255,255,255,.9);padding:24px 20px}.instructor-lp{grid-template-columns:1fr;gap:28px}.instructor-lp figure{max-width:320px;margin:auto}.new{grid-template-columns:1fr}.new dt{padding-bottom:0;border-bottom:0}.new dd{padding-top:6px}.contact-band{grid-template-columns:1fr}.contact-band>div{padding:56px 8vw}.contact-band img{min-height:230px;order:-1}.slide-thumbnail1 img{height:150px}}
@media(max-width:480px){.hero-copy a{padding:9px 14px;font-size:12.5px}.list1{min-height:470px}.list1 .text,.list1 .text.reverse{width:90%;padding:20px 16px}.contact-band h2{font-size:25px}footer .text{display:block}}

#logo a{display:block}.header-logo{width:230px;max-width:32vw;height:auto;display:block}.footer-logo-lp{width:200px;max-width:100%;height:auto;display:block;margin:0 auto 12px}.footer-b{display:none}.logo-mark,.logo-text{display:none}@media(max-width:899px){.header-logo{width:170px;max-width:52vw}.footer-logo-lp{width:160px}}

/* logo fit adjustment */
#logo{width:clamp(140px,16vw,200px);left:3.2vw;top:1.2vw}
#logo img.header-logo{width:100%;height:auto;max-height:150px;object-fit:contain}
@media(max-width:899px){#logo{width:120px;left:18px;top:8px}#logo img.header-logo{max-height:88px}}
@media(max-width:500px){#logo{width:78px;left:14px;top:3px}#logo img.header-logo{max-height:56px}}

/* Homepage image positioning and accessible interaction states. */
body.blossom-lp .instructor-lp {
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
}
body.blossom-lp .instructor-lp figure {
  width: 240px;
  max-width: 100%;
  margin: 0 auto;
}
body.blossom-lp .instructor-lp figure img {
  width: 100%;
  max-height: none;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  box-shadow: none;
}
body.blossom-lp .list1.business1 {
  background-position: center top;
}
body.blossom-lp a:focus-visible,
body.blossom-lp button:focus-visible,
body.blossom-lp summary:focus-visible,
body.blossom-lp [role="button"]:focus-visible,
body.blossom-lp [tabindex]:focus-visible {
  outline: 3px solid var(--accent-color);
  outline-offset: 4px;
}
@media (max-width: 899px) {
  body.blossom-lp .instructor-lp {
    grid-template-columns: 1fr;
  }
  body.blossom-lp .instructor-lp figure {
    width: min(200px, 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.blossom-lp a,
  body.blossom-lp button,
  body.blossom-lp summary,
  body.blossom-lp [role="button"],
  body.blossom-lp [tabindex] {
    animation: none;
    transition: none;
  }
  body.blossom-lp a:hover,
  body.blossom-lp a:focus-visible,
  body.blossom-lp button:hover,
  body.blossom-lp button:focus-visible {
    transform: none;
  }
}
/* Improve hero text readability on bright slides. */
body.blossom-lp .hero-copy {
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid rgba(233, 225, 222, 0.9);
  border-radius: 8px;
  color: #34363b;
  background: rgba(255, 255, 255, 0.92);
  text-shadow: none;
}
body.blossom-lp .hero-copy .hero-en,
body.blossom-lp .hero-copy .hero-ja {
  color: #34363b;
  text-shadow: none;
}

/* Improve readability of the three business panels without obscuring their photos. */
body.blossom-lp #business .list1 .text {
  box-sizing: border-box;
  padding: clamp(24px, 3vw, 40px);
  color: #fff;
  background: rgba(46, 52, 64, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.24);
}
body.blossom-lp #business .list1 h3 {
  font-size: clamp(28px, 3.2vw, 46px);
  font-weight: 700;
  line-height: 1.35;
}
body.blossom-lp #business .list1 h3 .large {
  font-size: 1.45em;
  line-height: 1;
}
body.blossom-lp #business .list1 h3 > span:not(.large) {
  font-size: clamp(10px, 0.9vw, 13px);
  line-height: 1.5;
  letter-spacing: 0.14em;
}
body.blossom-lp #business .list1 .text > p:not(.btn2) {
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.9;
}

@media (max-width: 899px) {
  body.blossom-lp #business .list1 .text,
  body.blossom-lp #business .list1 .text.reverse {
    color: #34363b;
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(189, 113, 132, 0.18);
    text-shadow: none;
  }
  body.blossom-lp #business .list1 h3 {
    font-size: clamp(26px, 6.5vw, 38px);
  }
  body.blossom-lp #business .list1 h3 > span:not(.large) {
    font-size: clamp(10px, 2.6vw, 12px);
  }
  body.blossom-lp #business .list1 .text > p:not(.btn2) {
    font-size: clamp(15px, 3.8vw, 17px);
    line-height: 1.85;
  }
}

@media (max-width: 480px) {
  body.blossom-lp #business .list1 .text,
  body.blossom-lp #business .list1 .text.reverse {
    padding: 20px 16px;
    overflow-wrap: anywhere;
  }
  body.blossom-lp #business .list1 h3 {
    font-size: clamp(24px, 7vw, 32px);
    line-height: 1.4;
  }
  body.blossom-lp #business .list1 h3 > span:not(.large) {
    letter-spacing: 0.1em;
  }
}

/* Final refinements for the three business panels. */
body.blossom-lp #business .title-bg h2 .tate {
  font-size: clamp(2.1rem, 4.5vw, 3.5rem);
  line-height: 1.4;
}
body.blossom-lp #business .list1 .text,
body.blossom-lp #business .list1 .text.reverse {
  color: #34363b;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(189, 113, 132, 0.22);
  border-radius: 8px;
  box-shadow: none;
  text-shadow: none;
}
body.blossom-lp #business .list1 h3 {
  font-size: clamp(30px, 3.4vw, 48px);
  font-weight: 700;
  line-height: 1.35;
}
body.blossom-lp #business .list1 h3 .large,
body.blossom-lp #business .list1 h3 > span:not(.large) {
  color: #bd7184;
}

@media (max-width: 899px) {
  body.blossom-lp #business .list1 h3 {
    font-size: clamp(27px, 6.5vw, 38px);
  }
}

@media (max-width: 480px) {
  body.blossom-lp #business .list1 h3 {
    font-size: clamp(24px, 7vw, 32px);
  }
}

/* Keep the small-screen menu hidden in the desktop layout. */
body.blossom-lp.large-screen #menubar {
  display: none;
}
