:root{--rose:#9b405e;--rose-dark:#703047;--pink:#f8e8eb;--blush:#fff5f3;--cream:#fbf7ef;--beige:#eee0d0;--brown:#4e3934;--muted:#76635d;--white:#fff;--shadow:0 24px 60px rgba(101,57,65,.14);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--brown);background:var(--cream);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.9}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem}.site-header{height:78px;padding:0 max(4vw,24px);display:flex;align-items:center;gap:28px;background:rgba(255,253,249,.95);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(141,84,96,.1)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}.brand img{width:48px;height:48px;object-fit:contain}.brand span{line-height:1.15}.brand small{font-size:10px;letter-spacing:.2em;color:#8d736b;display:block}.brand strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;font-weight:500}.site-header nav{display:flex;gap:24px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:700}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;background:var(--rose);color:#fff;font-weight:700;padding:14px 25px;box-shadow:0 8px 20px rgba(155,64,94,.2);transition:.25s}.header-cta{padding:11px 20px}.btn:hover,.header-cta:hover{transform:translateY(-2px);background:var(--rose-dark)}.btn-outline{background:transparent;color:var(--rose);border:1px solid #c88aa0;box-shadow:none}.btn-light{background:#fff;color:var(--rose)}.full{width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,calc(100% - 40px));margin:auto}.section-pad{padding:100px 0}.section-kicker,.eyebrow{color:var(--rose);font-weight:800;letter-spacing:.12em;font-size:13px;text-transform:uppercase}.section-kicker:before{content:"";display:inline-block;width:36px;border-top:1px solid currentColor;margin-right:12px;vertical-align:middle}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.35;margin-top:0}h2{font-size:clamp(30px,4vw,48px);font-weight:500;margin-bottom:28px}p{margin:0 0 1.25em}.hero{position:relative;overflow:hidden;padding:72px 0 42px;background:radial-gradient(circle at 10% 10%,#fff 0 16%,transparent 36%),linear-gradient(135deg,#fffaf6 0%,#f7e7e8 48%,#eacfc7 100%)}.hero:after{content:"";position:absolute;inset:auto -10% -170px;width:65%;height:300px;border-radius:50%;background:rgba(255,255,255,.38);transform:rotate(-7deg)}.hero-inner{width:min(1220px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.08fr .72fr;gap:64px;align-items:center;position:relative;z-index:2}.hero-copy{padding:18px 0}.hero h1{font-size:clamp(40px,5.6vw,78px);font-weight:500;color:var(--rose-dark);margin:14px 0}.hero h1 span{display:block;font-size:.82em}.theme-copy{font-family:"Yu Mincho",serif;font-size:clamp(22px,2.6vw,34px);letter-spacing:.06em;margin:24px 0 34px}.hero-meta{display:grid;gap:12px;border-left:2px solid rgba(155,64,94,.35);padding-left:20px}.hero-meta div{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.meta-label{font-size:12px;color:var(--rose);font-weight:800;width:48px}.hero-meta strong{font-size:18px}.hero-meta small{color:var(--muted)}.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.badge-row span{background:#fff;border:1px solid rgba(155,64,94,.22);color:var(--rose);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:800}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.poster-frame{background:#fff;padding:12px;box-shadow:var(--shadow);transform:rotate(1.5deg);border-radius:10px}.poster-frame img{width:100%;aspect-ratio:1/1;object-fit:cover}.poster-caption{text-align:center;font-size:13px;color:var(--muted);margin-top:20px}.hero-decor{position:absolute;color:rgba(155,64,94,.18);font-size:90px}.hero-decor--one{right:3%;top:4%}.hero-decor--two{left:4%;bottom:7%;font-size:56px}.hero-guests{width:min(1120px,calc(100% - 40px));margin:50px auto 0;position:relative;z-index:3}.guest-strip-label{text-align:center;color:var(--rose);font-size:13px;font-weight:800;letter-spacing:.18em}.guest-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guest-strip a{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.88);border:1px solid rgba(155,64,94,.14);border-radius:20px;padding:12px;text-decoration:none;box-shadow:0 12px 35px rgba(102,67,67,.08)}.guest-strip img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:center 20%;border:4px solid #fff}.guest-strip strong{display:block}.guest-strip small{color:var(--muted)}.message{background:#fff}.message h2{text-align:center}.message .section-kicker{text-align:center}.message-box{position:relative;background:linear-gradient(135deg,#fff8f5,#f8e6e8);border:1px solid #ead0d4;border-radius:var(--radius);padding:46px 52px;box-shadow:var(--shadow)}.message-box:before,.message-box:after{content:"♡";position:absolute;color:#d9a7b5;font-size:36px}.message-box:before{left:20px;top:12px}.message-box:after{right:20px;bottom:5px}.about{background:var(--cream)}.split{display:grid;grid-template-columns:1.15fr .65fr;gap:70px;align-items:center}.split p{font-size:16px}.about-poster{margin:0}.about-poster img{border-radius:18px;box-shadow:var(--shadow)}.about-poster figcaption{text-align:center;color:var(--muted);font-size:13px;margin-top:12px}.program{background:#f4e5df}.timeline{list-style:none;padding:0;margin:45px 0 0;display:grid;gap:0}.timeline li{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:23px 0;border-top:1px solid rgba(112,48,71,.16);position:relative}.timeline time{color:var(--rose);font-weight:800;font-size:18px}.timeline strong{font-size:19px}.timeline p{margin:.35em 0 0;color:var(--muted)}.timeline .movie{background:#fff8f7;border:1px solid #e6bcc6;border-radius:20px;padding:24px;margin:12px 0;box-shadow:0 14px 35px rgba(145,76,91,.1)}.talks{background:#fff}.talk-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.talk-grid article{position:relative;background:var(--cream);border-radius:var(--radius);padding:38px;border:1px solid #eee0d3}.talk-number{position:absolute;right:24px;top:18px;font:italic 52px/1 Georgia,serif;color:rgba(155,64,94,.12)}.talk-type{font-size:12px;font-weight:800;color:var(--rose)}.talk-grid h3{font-size:30px;color:var(--rose-dark)}.speaker{font-weight:800}.guests{background:#fff8f6}.guest-cards{display:grid;gap:28px}.guest-cards article{display:grid;grid-template-columns:250px 1fr;gap:34px;background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 16px 45px rgba(101,57,65,.1)}.guest-cards img{width:100%;height:300px;object-fit:cover;object-position:center 20%;border-radius:18px}.guest-cards h3{font-size:30px;margin-bottom:10px}.guest-cards h3 small{font-size:15px}.role{font-weight:800;color:var(--rose);line-height:1.65}.profile-toggle{display:none;border:1px solid #c78da0;color:var(--rose);background:#fff;border-radius:999px;padding:10px 18px;font-weight:800}.facts-apply{background:#f0ded7}.two-col{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:start}.facts{margin:0;background:#fff;border-radius:22px;padding:12px 28px}.facts div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #eee}.facts div:last-child{border:0}.facts dt{font-weight:800;color:var(--rose)}.facts dd{margin:0}.apply-card{background:#fff;border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}.google-form{width:100%;height:780px;border:0;border-radius:16px;background:#f8f8f8;margin:14px 0}.access{background:#fff}.access-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:28px}.map{width:100%;height:390px;border:0;border-radius:24px}.access-note{background:var(--cream);border-radius:24px;padding:32px}.faq{background:var(--cream)}.faq details{background:#fff;border-radius:16px;margin:12px 0;padding:0 22px;border:1px solid #eadfd7}.faq summary{cursor:pointer;font-weight:800;padding:20px 0}.faq details p{padding-bottom:20px;color:var(--muted)}.final-cta{text-align:center;color:#fff;background:linear-gradient(135deg,var(--rose-dark),var(--rose))}.final-cta h2{font-size:clamp(34px,5vw,58px)}footer{background:#402e2d;color:#eee1dc;padding:58px 0 100px}.footer-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:35px}.footer-label{font-weight:800;color:#e9afbd;margin-bottom:4px}.footer-home{display:inline-flex;margin-top:10px;color:#fff;border-bottom:1px solid #fff}.floating-apply{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:68px;padding:0 16px}.site-header nav{display:none}.brand img{width:40px;height:40px}.brand strong{font-size:17px}.header-cta{font-size:12px;padding:9px 13px}.hero{padding:40px 0 28px}.hero-inner,.split,.two-col,.access-grid{grid-template-columns:1fr}.hero-inner{gap:35px}.hero-copy{order:1}.hero-visual{order:2;width:min(72%,420px);margin:auto}.guest-strip{grid-template-columns:1fr}.talk-grid{grid-template-columns:1fr}.guest-cards article{grid-template-columns:180px 1fr}.footer-grid{grid-template-columns:1fr}.section-pad{padding:75px 0}}
@media(max-width:620px){body{font-size:15px}.wrap,.narrow,.hero-inner,.hero-guests{width:calc(100% - 28px)}.hero h1{font-size:40px}.theme-copy{font-size:22px}.hero-meta div{display:block}.meta-label{display:block;width:auto}.hero-actions .btn{width:100%}.guest-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.guest-strip a{display:block;text-align:center;padding:8px 4px}.guest-strip img{width:64px;height:64px;margin:auto}.guest-strip strong{font-size:12px;margin-top:6px}.guest-strip small{display:none}.section-pad{padding:64px 0}h2{font-size:31px}.message-box{padding:40px 24px}.timeline li{grid-template-columns:84px 1fr;gap:10px}.timeline time{font-size:15px}.timeline strong{font-size:16px}.talk-grid article{padding:28px 22px}.guest-cards article{grid-template-columns:1fr;padding:18px}.guest-cards img{height:340px}.guest-cards h3{font-size:25px}.long-profile{max-height:170px;overflow:hidden;position:relative}.long-profile:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,#fff)}.long-profile.expanded{max-height:none}.long-profile.expanded:after{display:none}.profile-toggle{display:inline-block}.facts{padding:8px 18px}.facts div{grid-template-columns:75px 1fr}.apply-card{padding:25px 16px}.google-form{height:720px}.floating-apply{display:block;position:fixed;right:14px;bottom:14px;z-index:60;background:var(--rose);color:#fff;text-decoration:none;padding:13px 19px;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(112,48,71,.3)}footer{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.header-cta:hover{transform:none}}

/* v14: 登壇ゲストの顔写真を専用サムネイルで統一 */
.guest-strip img{
  width:84px;
  height:84px;
  object-fit:cover;
  object-position:center;
  transform:none;
}
.guest-strip a{
  min-height:108px;
  padding:12px 16px;
}
.guest-cards img{
  height:320px;
}
@media(max-width:620px){
  .guest-strip img{width:68px;height:68px;object-position:center;transform:none}
  .guest-strip a{min-height:auto;padding:8px 4px}
  .guest-cards img{height:360px}
  #guest-yamada>img{object-position:center 40%}
}

/* v16: 託児申込みフォーム案内 */
.text-link{
  color:var(--rose);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.childcare-callout{
  position:relative;
  overflow:hidden;
  margin:28px 0 34px;
  padding:28px 30px 24px;
  border:1px solid #e7c7d0;
  border-radius:22px;
  background:linear-gradient(135deg,#fffaf5 0%,#f8e7eb 100%);
}
.childcare-callout:after{
  content:"♡";
  position:absolute;
  right:18px;
  top:2px;
  color:rgba(155,64,94,.12);
  font:72px/1 Georgia,serif;
  pointer-events:none;
}
.childcare-label{
  position:relative;
  z-index:1;
  margin:0 0 8px;
  color:var(--rose);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.childcare-callout h3{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  color:var(--rose-dark);
  font-size:clamp(23px,2.2vw,29px);
}
.childcare-callout p{
  position:relative;
  z-index:1;
}
.childcare-btn{
  position:relative;
  z-index:1;
  margin-top:4px;
}
.childcare-note{
  margin:12px 0 0!important;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}
.event-form-label{
  margin:0 0 8px;
  color:var(--rose);
  font-weight:800;
  letter-spacing:.05em;
}
.faq .text-link{
  display:inline;
}
@media(max-width:620px){
  .childcare-callout{
    margin:24px 0 28px;
    padding:24px 20px 20px;
  }
  .childcare-callout:after{
    right:10px;
    font-size:58px;
  }
  .childcare-callout h3{
    padding-right:22px;
    font-size:23px;
  }
}

