/* The event details share the page's paper, ink and hot-pink poster language. */
#event .event-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:64px;align-items:start;margin-top:34px}
#event .event-overview,#event .event-information{min-width:0}
#event .event-overview{display:block}
#event .event-intro{position:relative;isolation:isolate;min-height:270px;padding-top:13px}
#event .event-intro h2{position:relative;z-index:2;font-size:32px;line-height:1.5;padding-top:12px;pointer-events:none}
#event .event-title-lead{display:block;white-space:nowrap}
#event .event-intro h2>.accent{display:block;width:max-content;font-size:94px;line-height:1.38;margin-top:9px;letter-spacing:-.075em}
#event .event-ryoma-sticker{position:absolute;z-index:1;right:-20px;bottom:-8px;width:230px;margin:0;transform:rotate(5deg);pointer-events:none}
#event .event-ryoma-sticker img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;filter:drop-shadow(2px 0 0 var(--paper)) drop-shadow(-2px 0 0 var(--paper)) drop-shadow(0 -2px 0 var(--paper)) drop-shadow(3px 5px 0 var(--ink))}
#event .event-overview>p{position:relative;z-index:2;font-size:15px;line-height:1.9;margin-top:10px}
#event .fee{display:grid;grid-template-columns:138px minmax(0,1fr);gap:0;max-width:none;padding:0;margin-top:29px;border:2px solid var(--ink);background:var(--white,#fffefa);box-shadow:5px 5px 0 var(--ink)}
#event .fee-price{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--pink);border-right:2px solid var(--ink);padding:16px 10px 15px}
#event .fee-price>span{font-size:13px;font-weight:900;letter-spacing:.08em}
#event .fee-value{display:flex;align-items:baseline;font:900 78px/.95 Arial,sans-serif;letter-spacing:-.075em}
#event .fee-value>small{font:900 22px/1.3 "Noto Sans JP",sans-serif;margin-left:7px;letter-spacing:0}
#event .fee-conditions{align-self:center;padding:7px 22px}
#event .fee-conditions li{display:flex;align-items:center;gap:12px;padding-block:13px;font-size:14px;line-height:1.6}
#event .fee-conditions li+li{border-top:1px solid #15151530}
#event .fee-conditions svg{width:27px;height:27px;flex:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#event .fee-conditions strong{font-weight:800}
#event .event-date{padding-left:16px;border-left:4px solid var(--pink);gap:7px;margin-top:32px}
#event .event-date strong{font-size:21px;line-height:1.55;letter-spacing:-.04em}
#event .program-block{border-top:3px solid var(--ink)}
#event .program-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0 15px}
#event .program-heading h3{font-size:23px;line-height:1.5;letter-spacing:-.045em}
#event .program-heading>span{border:1px solid var(--ink);padding:4px 7px;white-space:nowrap;font:900 9px/1.2 Arial,sans-serif;letter-spacing:.08em}
#event .program-steps{position:relative;padding-left:0}
#event .program-steps::before{content:"";position:absolute;left:22px;top:30px;bottom:40px;width:2px;background:var(--ink)}
#event .program-steps>li{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 44px;gap:15px;align-items:center;min-height:100px;padding:15px 0;border-top:1px solid #15151536}
#event .program-steps>li:last-child{border-bottom:2px solid var(--ink)}
#event .program-number{position:relative;display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);background:var(--paper);color:var(--pink);font:900 23px/1 Arial,sans-serif;letter-spacing:-.04em;transform:rotate(-4deg)}
#event .program-steps>li:first-child .program-number{background:var(--pink);color:var(--ink)}
#event .program-steps h4{font-size:17px;font-weight:900;line-height:1.55;letter-spacing:-.035em;margin:0}
#event .program-steps p{font-size:11px;color:var(--muted);line-height:1.7;margin-top:5px}
#event .program-steps svg{width:36px;height:36px;justify-self:center;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#event .program-dots{width:48px;max-width:none;justify-self:center}
#event .event-guide{display:grid;gap:18px;margin-top:30px}
#event .event-guide-card{padding:21px 23px 23px;border:2px solid var(--ink);background:#fffefa;box-shadow:4px 4px 0 var(--ink)}
#event .event-guide-card h3{display:flex;align-items:center;gap:12px;font-size:22px;line-height:1.4;letter-spacing:-.035em;padding-bottom:13px;border-bottom:1px solid #15151535;margin-bottom:14px}
#event .event-guide-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;font-size:26px;line-height:1;letter-spacing:0}
#event .event-guide-card>p{font-size:13px;line-height:1.9}
#event .event-guide-card .event-guide-key{font-size:15px;font-weight:800;line-height:1.7;margin-bottom:7px}
#event .prepare-options{display:grid;gap:11px}
#event .prepare-options>p{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:baseline;font-size:13px;line-height:1.75}
#event .prepare-options span{font-size:11px;font-weight:800;border:1px solid var(--ink);padding:1px 5px;text-align:center;white-space:nowrap;transform:skewX(-4deg)}
#event .prepare-options strong{font-weight:800}
#event .event-information .line-cta{max-width:none;margin-top:29px}

@media(min-width:701px){
  #event .event-layout{row-gap:34px}
  #event .event-information{display:contents}
  #event .event-guide{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:0}
  #event .event-information .line-cta{grid-column:1/-1;max-width:520px;margin:0 auto}
}
@media(min-width:701px) and (max-width:1100px){
  #event .event-layout{gap:34px}
  #event .event-intro{min-height:230px}
  #event .event-intro h2{font-size:clamp(22px,2.8vw,30px)}
  #event .event-intro h2>.accent{font-size:clamp(64px,7.5vw,82px)}
  #event .event-ryoma-sticker{width:clamp(150px,19vw,207px);right:-15px;bottom:-9px}
  #event .fee{grid-template-columns:110px minmax(0,1fr)}
  #event .fee-value{font-size:68px}
  #event .fee-conditions{padding-inline:12px}
  #event .fee-conditions li{font-size:12px;gap:9px}
  #event .fee-conditions svg{width:23px;height:23px}
  #event .event-date strong{font-size:18px}
  #event .program-heading h3{font-size:19px}
  #event .program-heading>span{font-size:8px;padding:4px 5px}
  #event .program-steps>li{grid-template-columns:37px minmax(0,1fr) 31px;gap:10px}
  #event .program-number{width:36px;height:39px;font-size:20px}
  #event .program-steps::before{left:18px}
  #event .program-steps h4{font-size:15px}
  #event .program-steps p{font-size:10px}
  #event .program-steps svg{width:29px;height:29px}
  #event .program-dots{width:36px}
  #event .event-guide-card{padding:18px}
  #event .event-guide-card h3{font-size:20px}
  #event .event-guide-card .event-guide-key{font-size:14px}
  #event .prepare-options>p{grid-template-columns:67px minmax(0,1fr);gap:9px;font-size:12px}
}
@media(max-width:700px){
  #event .event-layout{grid-template-columns:minmax(0,1fr);gap:37px;margin-top:24px}
  #event .event-intro{min-height:clamp(196px,51vw,255px);padding-top:8px}
  #event .event-intro h2{font-size:clamp(23px,6.05vw,33px);line-height:1.4;padding-top:13px}
  #event .event-intro h2>.accent{font-size:clamp(69px,18vw,94px);line-height:1.3;margin-top:13px;letter-spacing:-.07em}
  #event .event-ryoma-sticker{width:clamp(146px,43vw,225px);right:-7px;bottom:-5px}
  #event .event-overview>p{font-size:14px;line-height:1.85;margin-top:7px}
  #event .fee{grid-template-columns:125px minmax(0,1fr);margin-top:24px;box-shadow:4px 4px 0 var(--ink)}
  #event .fee-price{padding:15px 8px}
  #event .fee-value{font-size:74px}
  #event .fee-conditions{padding-inline:17px}
  #event .fee-conditions li{font-size:13px;gap:11px;padding-block:13px}
  #event .fee-conditions svg{width:26px;height:26px}
  #event .event-date{margin-top:29px;padding-left:13px}
  #event .event-date strong{font-size:clamp(17px,4.35vw,21px)}
  #event .program-heading{padding:17px 0 15px}
  #event .program-heading h3{font-size:23px}
  #event .program-steps>li{grid-template-columns:42px minmax(0,1fr) 38px;gap:13px;min-height:100px;padding-block:16px}
  #event .program-number{width:41px;height:43px;font-size:22px}
  #event .program-steps::before{left:20px}
  #event .program-steps h4{font-size:18px;line-height:1.55}
  #event .program-steps p{font-size:11px}
  #event .program-steps svg{width:34px;height:34px}
  #event .program-dots{width:44px}
  #event .event-guide{gap:20px;margin-top:28px}
  #event .event-guide-card{padding:20px}
  #event .event-guide-card h3{font-size:22px;gap:10px}
  #event .event-guide-card>p{font-size:13px}
  #event .event-guide-card .event-guide-key{font-size:15px}
  #event .prepare-options>p{grid-template-columns:70px minmax(0,1fr);gap:11px;font-size:13px}
  #event .event-information .line-cta{margin-top:29px}
}
@media(max-width:359px){
  #event .event-intro{min-height:190px}
  #event .event-intro h2{font-size:21px}
  #event .event-intro h2>.accent{font-size:66px}
  #event .event-ryoma-sticker{width:143px;right:-4px;bottom:-1px}
  #event .event-overview>p{font-size:13px}
  #event .fee{grid-template-columns:93px minmax(0,1fr)}
  #event .fee-value{font-size:64px}
  #event .fee-value>small{font-size:18px;margin-left:4px}
  #event .fee-price>span{font-size:11px}
  #event .fee-conditions{padding-inline:11px}
  #event .fee-conditions li{font-size:11px;gap:7px}
  #event .fee-conditions svg{width:22px;height:22px}
  #event .program-heading h3{font-size:20px}
  #event .program-heading>span{font-size:8px;padding:4px}
  #event .program-steps>li{grid-template-columns:35px minmax(0,1fr) 27px;gap:10px;min-height:96px}
  #event .program-number{width:35px;height:39px;font-size:20px}
  #event .program-steps::before{left:17px}
  #event .program-steps h4{font-size:15px}
  #event .program-steps p{font-size:10px}
  #event .program-steps svg{width:26px;height:26px}
  #event .program-dots{width:33px}
  #event .event-guide-card{padding:17px 15px}
  #event .event-guide-card h3{font-size:20px}
  #event .event-guide-card .event-guide-key{font-size:13px}
  #event .event-guide-card>p{font-size:12px}
  #event .prepare-options>p{grid-template-columns:61px minmax(0,1fr);gap:9px;font-size:12px}
  #event .prepare-options span{font-size:10px}
}
