.aclp-root{--bg:#f7f1e4;--paper:#fffdf8;--ink:#302a25;--muted:#74685f;--blue:#315b72;--red:#b7453c;--line:#ded3bf}
.aclp-root, .aclp-root *{box-sizing:border-box}
.aclp-root{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;line-height:1.8}
.aclp-root img{max-width:100%;display:block}
.aclp-root a{color:inherit;text-decoration:none}
.aclp-root .wrap{width:min(1080px,calc(100% - 36px));margin:auto}
.aclp-root .site-header{position:sticky;top:0;z-index:30;background:rgba(247,241,228,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.aclp-root .header-inner{height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.aclp-root .brand{font-weight:700;font-size:14px}
.aclp-root .brand small{display:block;font-weight:400;color:var(--muted);font-size:10px;letter-spacing:.08em}
.aclp-root .nav{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted)}
.aclp-root .nav .apply{color:#fff;background:var(--ink);padding:9px 14px;border-radius:999px}
.aclp-root .hero{padding:28px 0 48px;text-align:center}
.aclp-root .hero-animals{max-width:760px;margin:0 auto -58px;position:relative;z-index:2;height:auto;object-fit:contain}
.aclp-root .hero-logo{max-width:560px;margin:-8px auto -8px;position:relative;z-index:3}
.aclp-root .hero-copy{max-width:680px;margin:6px auto 0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:18px}
.aclp-root .invite{display:inline-block;margin-top:18px;padding:7px 16px;font-size:20px;line-height:1.35;font-weight:800;color:var(--red);letter-spacing:.05em;border-top:1px solid rgba(183,69,60,.28);border-bottom:1px solid rgba(183,69,60,.28)}
.aclp-root .hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.aclp-root .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:13px}
.aclp-root .btn.light{background:transparent;color:var(--ink);border:1px solid var(--line)}
.aclp-root .section{padding:64px 0;border-top:1px solid rgba(222,211,191,.7)}
.aclp-root .section-head{max-width:700px;margin:0 auto 30px;text-align:center}
.aclp-root .section-head .en{font-size:11px;letter-spacing:.18em;color:var(--blue);font-weight:700;text-transform:uppercase}
.aclp-root .section-head h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:34px;margin:8px 0 10px}
.aclp-root .section-head p{margin:0;color:var(--muted);font-size:15px}
.aclp-root .series-about{padding-top:50px;padding-bottom:50px}
.aclp-root .series-about-inner{max-width:860px;margin:0 auto;padding:32px 36px;background:var(--paper);border:1px solid var(--line);border-radius:18px;text-align:center}
.aclp-root .series-about-label{font-size:11px;letter-spacing:.18em;color:var(--blue);font-weight:700;margin-bottom:8px}
.aclp-root .series-about-inner h2{margin:0 0 14px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:28px;line-height:1.5}
.aclp-root .series-about-inner p{margin:0;color:var(--muted);font-size:15px;line-height:2}
.aclp-root .features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.aclp-root .feature{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.aclp-root .feature-media{aspect-ratio:4/3;background:#eee7d9;display:grid;place-items:center;overflow:hidden;padding:18px}
.aclp-root .feature-media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:0}
.aclp-root .feature-media.placeholder{color:#9c9084;font-size:13px;letter-spacing:.08em}
.aclp-root .feature-body{padding:18px}
.aclp-root .feature-body b{display:block;color:var(--blue);font-size:12px;margin-bottom:6px}
.aclp-root .feature-body h3{margin:0 0 6px;font-size:19px}
.aclp-root .feature-body p{margin:0;color:var(--muted);font-size:14px}
.aclp-root .two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.aclp-root .simple-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}
.aclp-root .program-ensemble{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:28px;align-items:center}
.aclp-root .program-ensemble-image{min-width:0}
.aclp-root .program-ensemble-image .instruments-image{width:100%;height:auto;max-height:380px;object-fit:contain;margin:0}
.aclp-root .program-ensemble-copy{padding:4px 10px}
.aclp-root .program-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.aclp-root .program-row{display:flex;gap:12px;padding:12px 8px;border-bottom:1px solid var(--line);min-height:72px}
.aclp-root .program-row:nth-child(odd){border-right:1px solid var(--line)}
.aclp-root .program-row .no{font-family:Georgia,serif;color:var(--blue);width:34px;flex:0 0 34px}
.aclp-root .program-row strong{display:block;font-size:14px}
.aclp-root .program-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.aclp-root .instruments-image{margin-bottom:18px;border-radius:12px}
.aclp-root .instrument-copy{font-size:14px;color:var(--muted)}
.aclp-root .artists-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aclp-root .artist-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.aclp-root .artist-photo{aspect-ratio:4/5;background:linear-gradient(135deg,#eee6d8,#f8f3e9);display:grid;place-items:center;color:#a39587;font-size:12px;letter-spacing:.16em;position:relative;overflow:hidden}
.aclp-root .artist-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.aclp-root .artist-main{padding:18px}
.aclp-root .artist-role{font-size:11px;letter-spacing:.12em;color:var(--blue);font-weight:700;text-transform:uppercase}
.aclp-root .artist-main h3{margin:4px 0 12px;font-size:20px}
.aclp-root .artist-bio{border-top:1px solid var(--line);padding-top:10px}
.aclp-root .artist-bio summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:space-between}
.aclp-root .artist-bio summary::-webkit-details-marker{display:none}
.aclp-root .artist-bio summary::after{content:"＋";font-size:18px;color:var(--blue);transition:.2s}
.aclp-root .artist-bio[open] summary::after{content:"－"}
.aclp-root .artist-bio-body{padding-top:10px;color:var(--muted);font-size:13px;line-height:1.8}
.aclp-root .artist-bio-body p{margin:0}
.aclp-root .entry-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.aclp-root .entry-label,.aclp-root .detail-label{font-size:10px;letter-spacing:.17em;color:var(--blue);font-weight:700}
.aclp-root .entry-title{margin:5px 0 17px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:25px}
.aclp-root .schedule-list{display:grid;border-top:1px solid var(--line)}
.aclp-root .schedule-item{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line)}
.aclp-root .schedule-index{font-family:Georgia,serif;color:var(--blue);font-size:17px}
.aclp-root .schedule-item strong{display:block;font-size:15px}
.aclp-root .schedule-item b{display:block;font-size:19px;font-weight:700;margin-top:1px}
.aclp-root .entry-note{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.7}
.aclp-root .entry-note p{margin:3px 0}
.aclp-root .entry-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.aclp-root .entry-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#faf7f0}
.aclp-root .entry-summary span{display:block;font-size:10px;color:var(--blue);font-weight:700;letter-spacing:.08em}
.aclp-root .entry-summary strong{display:block;font-size:15px;margin-top:3px}
.aclp-root .entry-summary small{display:block;color:var(--muted);font-size:11px;margin-top:3px;line-height:1.6}
.aclp-root .web-only{color:var(--red);font-weight:700}
.aclp-root .web-only-note{margin:12px 0 0;color:var(--red);font-size:12px;font-weight:700;line-height:1.6}
.aclp-root .apply-period{margin:16px 0 4px;padding:14px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.aclp-root .apply-period span{display:block;font-size:11px;color:var(--blue);font-weight:700;letter-spacing:.12em;margin-bottom:6px}
.aclp-root .apply-period strong{display:block;font-size:15px}
.aclp-root .apply-period i{display:block;font-style:normal;color:var(--muted);font-size:12px;line-height:1.3}
.aclp-root .event-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.aclp-root .detail-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.aclp-root .detail-card h3{margin:5px 0 8px;font-size:18px}
.aclp-root .detail-card p{margin:0 0 6px}
.aclp-root .detail-card p strong{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:20px}
.aclp-root .detail-card small{display:block;color:var(--muted);font-size:12px;line-height:1.75}
.aclp-root .entry-accordions{display:grid;gap:12px;margin-top:20px}
.aclp-root .entry-accordion{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.aclp-root .entry-accordion summary{cursor:pointer;list-style:none;padding:17px 20px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.aclp-root .entry-accordion summary::-webkit-details-marker{display:none}
.aclp-root .entry-accordion summary::after{content:"＋";font-size:20px;color:var(--blue)}
.aclp-root .entry-accordion[open] summary::after{content:"－"}
.aclp-root .entry-accordion-body{padding:0 20px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.9}
.aclp-root .entry-accordion-body ul{margin:15px 0 0;padding-left:1.35em}
.aclp-root .entry-accordion-body li+li{margin-top:7px}
.aclp-root .invalid-box{margin-top:18px;padding:15px 16px;border-radius:12px;background:#f7f0e5;color:var(--ink)}
.aclp-root .invalid-box>strong{display:block;font-size:13px}
.aclp-root .invalid-box ul{color:var(--muted)}
.aclp-root .schedule{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}
.aclp-root .date{font-family:Georgia,"Times New Roman",serif;font-size:44px;line-height:1.1;margin:0 0 14px}
.aclp-root .times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.aclp-root .time{border-top:1px solid var(--line);padding-top:12px}
.aclp-root .time strong{display:block;font-size:18px;color:var(--blue)}
.aclp-root .apply-box{text-align:center}
.aclp-root .apply-box .invitebig{color:var(--red);font-weight:800;font-size:28px;line-height:1.2}
.aclp-root .qr{max-width:155px;margin:15px auto;background:#fff;padding:8px;border:1px solid var(--line);border-radius:12px}
.aclp-root .notes{font-size:13px;color:var(--muted);margin-top:15px}
.aclp-root .footer{padding:42px 0 70px;text-align:center;color:var(--muted);font-size:12px}
.aclp-root .footer img{max-width:280px;margin:0 auto 12px}
.aclp-root .reveal{opacity:0;transform:translateY(16px);transition:.65s ease}
.aclp-root .reveal.in{opacity:1;transform:none}
.aclp-root .mobile-cta{display:none}
@media(max-width:820px){.aclp-root .entry-top{grid-template-columns:1fr}
.aclp-root .event-detail-grid{grid-template-columns:1fr 1fr}
.aclp-root .nav a:not(.apply){display:none}
.aclp-root .hero{padding:20px 0 46px}
.aclp-root .hero .wrap{overflow:hidden}
.aclp-root .hero-animals{
   width:auto;
   max-width:96%;
   max-height:58svh;
   object-fit:contain;
   margin:0 auto -46px;
 }
.aclp-root .hero-logo{
   width:min(92%,620px);
   max-width:none;
   margin:-8px auto -6px;
 }
.aclp-root .features,.aclp-root .two-col,.aclp-root .schedule,.aclp-root .program-ensemble{grid-template-columns:1fr}
.aclp-root .program-ensemble-copy{padding:0 2px}
.aclp-root .artists-grid{grid-template-columns:1fr 1fr}
.aclp-root .program-list{grid-template-columns:1fr}
.aclp-root .program-row:nth-child(odd){border-right:0}
.aclp-root .performers{grid-template-columns:1fr 1fr}
.aclp-root .mobile-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;gap:8px}
.aclp-root .mobile-cta a{flex:1;min-width:0;padding:11px 7px;font-size:12px;white-space:nowrap}
.aclp-root .mobile-cta .btn.light{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 18px rgba(47,41,36,.10)}
.aclp-root .mobile-cta .apply-link{background:var(--red);color:#fff;border:1px solid var(--red)}
.aclp-root{padding-bottom:72px}}
@media(max-width:520px){.aclp-root .entry-summary,.aclp-root .event-detail-grid{grid-template-columns:1fr}
.aclp-root .schedule-item{grid-template-columns:36px 1fr}
.aclp-root .schedule-item b{font-size:18px}
.aclp-root .entry-accordion summary{padding:15px 16px}
.aclp-root .entry-accordion-body{padding:0 16px 18px}
.aclp-root .series-about{padding-top:40px;padding-bottom:40px}
.aclp-root .series-about-inner{padding:24px 20px;text-align:left}
.aclp-root .series-about-label{text-align:center}
.aclp-root .series-about-inner h2{text-align:center;font-size:24px}
.aclp-root .series-about-inner p{font-size:14px;line-height:1.95}
.aclp-root .hero{padding-top:14px}
.aclp-root .hero-animals{
   max-width:98%;
   max-height:52svh;
   margin-bottom:-34px;
 }
.aclp-root .hero-logo{
   width:94%;
   margin:-6px auto -6px;
 }
.aclp-root .hero-copy{font-size:16px;margin-top:6px}
.aclp-root .invite{margin-top:14px;font-size:18px;padding:6px 13px}
.aclp-root .hero-actions{margin-top:16px}
.aclp-root .section-head h2{font-size:28px}
.aclp-root .features,.aclp-root .performers,.aclp-root .times{grid-template-columns:1fr}
.aclp-root .date{font-size:34px}}
.aclp-root .program-ensemble.no-image{display:block}
.aclp-root .program-ensemble.no-image .program-ensemble-copy{padding:0}
.aclp-root{
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  position:relative;
  isolation:isolate;
  overflow-x:clip;
  background:var(--bg);
  color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
  line-height:1.8;
}
.aclp-root,.aclp-root *{box-sizing:border-box}
.aclp-fullpage-body{margin:0;padding:0;overflow-x:hidden}
.aclp-fullpage-body .aclp-root{margin-left:0;margin-right:0;width:100%}
/* If JS is unavailable, content remains visible. */
.aclp-root .reveal{opacity:1;transform:none}
.aclp-root.aclp-js .reveal{opacity:0;transform:translateY(16px)}
.aclp-root.aclp-js .reveal.in{opacity:1;transform:none}

.aclp-root .feature:nth-child(2) .feature-media img{transform:scale(1.18);transform-origin:center center}
.aclp-root .apply-box{padding-top:58px}
.aclp-root .apply-box .btn{margin-top:8px}
@media(max-width:820px){.aclp-root .apply-box{padding-top:78px}.aclp-root .nav .apply{display:none!important}}

/* v1.0.12 mobile refinements */
@media(max-width:820px){
  .aclp-root .apply-box.simple-panel{padding-top:78px!important;}
  .aclp-root .nav .apply{display:none!important;}
}

/* v1.0.13 visitor benefit notice */
.aclp-root .visitor-benefit-note{
  margin:22px 0 24px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  text-align:center;
}
.aclp-root .visitor-benefit-note strong{
  display:block;
  margin-bottom:4px;
  color:var(--blue);
  font-size:12px;
  letter-spacing:.10em;
}
.aclp-root .visitor-benefit-note span{
  display:block;
  color:var(--ink);
  font-size:14px;
  line-height:1.7;
}
@media(max-width:520px){
  .aclp-root .visitor-benefit-note{
    margin:18px 0 22px;
    padding:15px 14px;
  }
}


/* v1.0.14 flyer section + decorative fish/turtle */
.aclp-root .series-wrap{position:relative;display:flex;flex-direction:column;align-items:center}
.aclp-root .series-fish{position:static;display:block;width:120px;margin:0 auto 18px;transform:none;opacity:.95;z-index:2;pointer-events:none}
.aclp-root .series-about-inner{width:100%}
.aclp-root #aclp-apply .wrap{position:relative}
.aclp-root .apply-turtle{position:static;display:block;margin:18px auto 14px;width:145px;z-index:1;pointer-events:none}
.aclp-root .flyer-section{background:linear-gradient(180deg,rgba(255,253,248,.48),rgba(247,241,228,0))}
.aclp-root .flyer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.aclp-root .flyer-card{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(48,42,37,.05)}
.aclp-root .flyer-card img{width:100%;height:auto;border-radius:12px}
.aclp-root .flyer-card figcaption{text-align:center;margin-top:10px;font-size:13px;color:var(--muted);letter-spacing:.06em}
.aclp-root .footer-fish-school{width:180px;margin:0 auto 14px;opacity:.98}
@media(max-width:1000px){
  .aclp-root .apply-turtle{width:132px;margin:16px auto 12px;opacity:.95}
}
@media(max-width:820px){
  .aclp-root .series-fish{width:92px;margin:0 auto 16px}
  .aclp-root .flyer-grid{grid-template-columns:1fr}
  .aclp-root .apply-turtle{margin:10px auto 6px;width:120px}
}
@media(max-width:520px){
  .aclp-root .series-fish{width:74px;margin:2px auto 14px}
  .aclp-root .flyer-card{padding:10px}
  .aclp-root .footer-fish-school{width:132px;margin-bottom:12px}
}
