.ckj-pr{
  --ckj-pink:#ef3f70;
  --ckj-purple:#6040bc;
  --ckj-ink:#26272c;
  --ckj-text:#34363d;
  --ckj-muted:#72757e;
  --ckj-line:#d8dae0;
  --ckj-paper:#fff;
  --month-step:58px;
  --rail-pad:46px;
  width:100%;
  background:#fff;
  color:var(--ckj-text);
  overflow:hidden;
}
.ckj-pr,.ckj-pr *{box-sizing:border-box}
.ckj-pr__title{
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
  font-weight:600;
}
.ckj-pr__text-body{font-family:"Noto Sans JP",sans-serif}
.ckj-pr__inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:58px 0 76px}

/* intro */
.ckj-pr__intro{max-width:760px;margin:0 0 40px}
.ckj-pr.is-enhanced .ckj-pr__intro{opacity:0;transform:translateY(12px);transition:opacity .58s ease,transform .68s cubic-bezier(.22,.61,.36,1)}
.ckj-pr.is-enhanced .ckj-pr__intro.is-visible{opacity:1;transform:none}
.ckj-pr__eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 10px;color:var(--ckj-pink);font-size:17px;line-height:1.4;letter-spacing:.035em}
.ckj-pr__eyebrow::before{content:"";width:24px;height:1.5px;background:currentColor}
.ckj-pr__intro-rule{width:100%;height:1px;background:linear-gradient(90deg,#bfc1c7 0%,#e7e8eb 72%,transparent 100%);margin-bottom:18px}
.ckj-pr__lead-title{margin:0 0 15px;color:#202126;font-size:clamp(27px,3vw,39px);line-height:1.28;letter-spacing:.015em}
.ckj-pr__intro-copy{max-width:720px;color:#51535a;font-size:14px;line-height:1.95;letter-spacing:.01em}
.ckj-pr__intro-copy p{margin:.32em 0}

/* desktop timeline */
.ckj-pr__schedule{position:relative;--timeline-progress:0;height:730px;isolation:isolate}
.ckj-pr__rail{position:absolute;inset:0;z-index:3;pointer-events:none}
.ckj-pr__rail-line,.ckj-pr__rail-progress{position:absolute;left:50%;top:var(--rail-pad);width:1px;height:calc(var(--month-step) * 11);transform:translateX(-50%);transform-origin:top}
.ckj-pr__rail-line{background:#d7d9de}
.ckj-pr__rail-progress{background:linear-gradient(180deg,var(--ckj-purple) 0%,#8f56b2 45%,var(--ckj-pink) 100%);transform:translateX(-50%) scaleY(var(--timeline-progress));transition:transform .08s linear}

.ckj-pr__month{--month-accent:#8a8d95;position:absolute;left:50%;top:calc(var(--rail-pad) + var(--month-index) * var(--month-step));z-index:4;width:68px;height:32px;display:flex;align-items:baseline;justify-content:center;gap:4px;padding:0 4px;transform:translate(-50%,-50%);border:1px solid #d5d7dc;border-radius:3px;background:#fff;color:#4a4c52;box-shadow:0 0 0 4px #fff}
.ckj-pr.is-enhanced .ckj-pr__month{opacity:.28;transform:translate(-50%,-50%) translateY(7px) scale(.9);transition:border-color .3s ease,color .3s ease,opacity .38s ease,transform .62s cubic-bezier(.16,1,.3,1)}
.ckj-pr__month--online{--month-accent:var(--ckj-purple)}
.ckj-pr__month--research{--month-accent:var(--ckj-pink)}
.ckj-pr__month--other{--month-accent:#555861}
.ckj-pr__month-num{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:22px;font-weight:500;line-height:1;letter-spacing:-.035em;flex:0 0 auto}
.ckj-pr__month-en{font-family:"Hiragino Sans","Noto Sans JP",sans-serif;font-size:7.2px;font-weight:400;line-height:1;color:#787b83;letter-spacing:0;white-space:nowrap;min-width:0}
.ckj-pr__month--double{gap:3px;padding-inline:3px}
.ckj-pr__month--double .ckj-pr__month-num{font-size:19px;letter-spacing:-.055em}
.ckj-pr__month--double .ckj-pr__month-en{font-size:6.5px}
.ckj-pr.is-enhanced .ckj-pr__month.is-visible{opacity:1;transform:translate(-50%,-50%)}
.ckj-pr__month.is-passed{border-color:var(--month-accent);color:var(--month-accent)}

.ckj-pr__event-layer{position:absolute;inset:0;z-index:5;pointer-events:none}
.ckj-pr__event-position{position:absolute;top:calc(var(--rail-pad) + var(--month-index) * var(--month-step));width:min(420px,calc(50% - 62px));pointer-events:auto;will-change:transform,opacity,clip-path}
.ckj-pr__event-position--left{right:calc(50% + 62px)}
.ckj-pr__event-position--right{left:calc(50% + 62px)}
.ckj-pr.is-enhanced .ckj-pr__event-position{opacity:0;transform:translateY(17px) scale(.965);filter:blur(1.6px);transition:opacity .38s ease,filter .4s ease;will-change:transform,opacity,filter}
.ckj-pr.is-enhanced .ckj-pr__event-position.is-visible{opacity:1;filter:blur(0);animation:ckj-pr-pop-in .72s cubic-bezier(.16,1,.3,1) both}
@keyframes ckj-pr-pop-in{
  0%{opacity:0;transform:translateY(17px) scale(.965)}
  68%{opacity:1;transform:translateY(-2px) scale(1.006)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

.ckj-pr__connections{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}
.ckj-pr__connection{fill:none;stroke:#c7c9cf;stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-linecap:square;stroke-linejoin:miter;opacity:.92}
.ckj-pr__connection-dot{fill:#fff;stroke-width:1.25;vector-effect:non-scaling-stroke}
.ckj-pr__connection.is-animated{transition:stroke-dashoffset .62s cubic-bezier(.22,.61,.36,1)}

/* editorial event panel */
.ckj-pr__event-card{--event-accent:#555861;--event-border:#a7a9b0;position:relative;width:100%;overflow:hidden;border:1px solid var(--event-border);border-radius:2px;background:var(--ckj-paper);color:var(--ckj-text);box-shadow:none}
.ckj-pr__event-card--online{--event-accent:var(--ckj-purple);--event-border:#7b63c7}
.ckj-pr__event-card--research{--event-accent:var(--ckj-pink);--event-border:#f06d91}
.ckj-pr__event-card--other{--event-accent:#555861;--event-border:#8d9098}

.ckj-pr__event-head{display:grid;grid-template-columns:minmax(122px,1.05fr) minmax(94px,.9fr) auto;min-height:30px;align-items:stretch;background:#fff;border-bottom:1px solid rgba(30,31,36,.08)}
.ckj-pr .ckj-pr__event-title{display:flex;align-items:center;margin:0!important;padding:6px 11px!important;background:var(--ckj-ink)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13px!important;line-height:1.35!important;letter-spacing:.012em!important;text-transform:none!important}
.ckj-pr__event-date{display:flex;align-items:center;padding:6px 10px;color:var(--event-accent);font-size:10.8px;line-height:1.35;letter-spacing:.01em;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ckj-pr__event-band{position:relative;display:flex;align-items:center;justify-content:center;min-width:94px;padding:6px 12px 6px 16px;background:var(--event-accent);color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:9.4px;line-height:1.35;white-space:nowrap;letter-spacing:.015em;clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,8px 50%)}
.ckj-pr__event-content{padding:10px 12px 10px}
.ckj-pr__event-main{display:block}
.ckj-pr__event-main.has-image{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:12px;align-items:start}
.ckj-pr__event-body{min-width:0;color:#3d3f45;font-size:12.25px;line-height:1.72;letter-spacing:.006em}
.ckj-pr__event-body p{margin:.12em 0}
.ckj-pr__event-photo{margin:1px 0 0;width:78px;aspect-ratio:4/3;overflow:hidden;background:#f2f2f4;border:1px solid #e0e1e5}
.ckj-pr__event-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.ckj-pr__event-card:hover .ckj-pr__event-photo img{transform:scale(1.025)}

/* staged reveal inside each panel */
.ckj-pr.is-enhanced .ckj-pr__event-head{transform-origin:left center;transform:scaleX(.86);opacity:.1;transition:transform .42s cubic-bezier(.16,1,.3,1) .08s,opacity .28s ease .08s}
.ckj-pr.is-enhanced .ckj-pr__event-position--left .ckj-pr__event-head{transform-origin:right center}
.ckj-pr.is-enhanced .ckj-pr__event-content{opacity:0;transform:translateY(5px);transition:opacity .38s ease .18s,transform .46s cubic-bezier(.16,1,.3,1) .18s}
.ckj-pr.is-enhanced .ckj-pr__event-position.is-visible .ckj-pr__event-head{transform:scaleX(1);opacity:1}
.ckj-pr.is-enhanced .ckj-pr__event-position.is-visible .ckj-pr__event-content{opacity:1;transform:none}

/* inline video */
.ckj-pr__video-details{margin:8px -12px -10px;border-top:1px solid #e5e6e9;background:#fbfbfc}
.ckj-pr__video-summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:31px;padding:5px 10px;cursor:pointer;color:#4a4c52;font-size:10px;line-height:1.35;letter-spacing:.03em;transition:background .2s ease,color .2s ease}
.ckj-pr__video-summary::-webkit-details-marker{display:none}
.ckj-pr__video-summary:hover{background:#f5f5f6;color:var(--event-accent)}
.ckj-pr__video-play{display:flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%}
.ckj-pr__video-play span{width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid currentColor;margin-left:1px}
.ckj-pr__video-plus{position:relative;width:12px;height:12px;justify-self:end}
.ckj-pr__video-plus::before,.ckj-pr__video-plus::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .25s ease}
.ckj-pr__video-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.ckj-pr__video-details[open] .ckj-pr__video-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.ckj-pr__video-panel{padding:0 10px 10px}
.ckj-pr__video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111}
.ckj-pr__video-frame iframe,.ckj-pr__video-frame video,.ckj-pr__video-mounted{display:block;width:100%;height:100%;border:0}
.ckj-pr__video-mounted iframe,.ckj-pr__video-mounted video{display:block;width:100%;height:100%;border:0;object-fit:contain}

/* mobile */
.ckj-pr__schedule-mobile{display:none}

@media (max-width:980px) and (min-width:821px){
  .ckj-pr{--month-step:60px;--rail-pad:46px}
  .ckj-pr__inner{width:min(940px,calc(100% - 34px));padding:54px 0 70px}
  .ckj-pr__event-position{width:min(350px,calc(50% - 58px))}
  .ckj-pr__event-position--left{right:calc(50% + 58px)}
  .ckj-pr__event-position--right{left:calc(50% + 58px)}
  .ckj-pr__event-head{grid-template-columns:minmax(108px,1.05fr) minmax(78px,.85fr) auto}
  .ckj-pr .ckj-pr__event-title{font-size:11.7px!important;padding-inline:9px!important}
  .ckj-pr__event-date{font-size:9.7px;padding-inline:8px}
  .ckj-pr__event-band{min-width:82px;font-size:8.6px;padding-inline:12px 9px}
  .ckj-pr__event-content{padding:9px 10px}
  .ckj-pr__event-body{font-size:11.4px;line-height:1.68}
  .ckj-pr__event-main.has-image{grid-template-columns:minmax(0,1fr) 66px;gap:9px}
  .ckj-pr__event-photo{width:66px}
  .ckj-pr__video-details{margin:8px -10px -9px}
}

@media (max-width:820px){
  .ckj-pr__inner{width:min(100% - 28px,680px);padding:48px 0 64px}
  .ckj-pr__intro{margin-bottom:34px}
  .ckj-pr__eyebrow{font-size:15px}
  .ckj-pr__lead-title{font-size:29px}
  .ckj-pr__intro-copy{font-size:13.5px;line-height:1.88}
  .ckj-pr__schedule--desktop{display:none}
  .ckj-pr__schedule-mobile{display:block;position:relative}
  .ckj-pr__mobile-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;position:relative;min-height:43px;padding:0 0 9px}
  .ckj-pr.is-enhanced .ckj-pr__mobile-row{opacity:0;transform:translateY(13px) scale(.985);transition:opacity .4s ease,transform .66s cubic-bezier(.16,1,.3,1)}
  .ckj-pr.is-enhanced .ckj-pr__mobile-row.is-visible{opacity:1;transform:none}
  .ckj-pr__mobile-row.is-empty{min-height:41px;padding-bottom:2px}
  .ckj-pr__mobile-axis{position:relative;min-height:100%}
  .ckj-pr__mobile-line{position:absolute;left:36px;top:0;bottom:-10px;width:1px;background:#d8dae0}
  .ckj-pr__mobile-row:last-child .ckj-pr__mobile-line{bottom:calc(100% - 17px)}
  .ckj-pr__month--mobile{position:relative;left:36px;top:0;width:72px;height:30px;transform:translateX(-50%);box-shadow:0 0 0 4px #fff;opacity:1}
  .ckj-pr.is-enhanced .ckj-pr__month--mobile{opacity:1;transform:translateX(-50%)}
  .ckj-pr__month--mobile .ckj-pr__month-num{font-size:19px}
  .ckj-pr__month--mobile .ckj-pr__month-en{font-size:6.4px}
  .ckj-pr__month--mobile.ckj-pr__month--double .ckj-pr__month-num{font-size:16.5px}
  .ckj-pr__month--mobile.ckj-pr__month--double .ckj-pr__month-en{font-size:5.8px}
  .ckj-pr__mobile-events{display:grid;gap:8px;min-width:0}
  .ckj-pr__mobile-row.is-empty .ckj-pr__mobile-events{display:none}
  .ckj-pr__event-card{border-radius:2px}
  .ckj-pr__event-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title band' 'date date';min-height:29px}.ckj-pr__event-title{grid-area:title}.ckj-pr__event-band{grid-area:band}.ckj-pr__event-date{grid-area:date;width:100%;white-space:normal;overflow:visible;text-overflow:clip;border-top:1px solid rgba(30,31,36,.06)}
  .ckj-pr .ckj-pr__event-title{font-size:11.5px!important;padding:6px 8px!important}
  .ckj-pr__event-date{font-size:9.5px;padding:6px 7px}
  .ckj-pr__event-band{min-width:78px;padding:6px 9px 6px 12px;font-size:8.5px}
  .ckj-pr__event-content{padding:9px 10px}
  .ckj-pr__event-body{font-size:11.6px;line-height:1.7}
  .ckj-pr__event-main.has-image{grid-template-columns:minmax(0,1fr) 72px;gap:9px}
  .ckj-pr__event-photo{width:72px}
  .ckj-pr__video-details{margin:8px -10px -9px}
}

@media (max-width:520px){
  .ckj-pr__inner{width:calc(100% - 20px);padding:42px 0 56px}
  .ckj-pr__intro{margin-bottom:30px}
  .ckj-pr__eyebrow{font-size:14px;gap:8px}.ckj-pr__eyebrow::before{width:19px}
  .ckj-pr__lead-title{font-size:25px;margin-bottom:13px}
  .ckj-pr__intro-copy{font-size:13px;line-height:1.85}
  .ckj-pr__mobile-row{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .ckj-pr__mobile-line{left:36px}
  .ckj-pr__month--mobile{left:36px;width:72px;height:29px}
  .ckj-pr__month--mobile .ckj-pr__month-num{font-size:18px}
  .ckj-pr__month--mobile .ckj-pr__month-en{font-size:5.9px}
  .ckj-pr__month--mobile.ckj-pr__month--double .ckj-pr__month-num{font-size:15.7px}
  .ckj-pr__month--mobile.ckj-pr__month--double .ckj-pr__month-en{font-size:5.3px}
  .ckj-pr__event-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title band' 'date date'}
  .ckj-pr .ckj-pr__event-title{font-size:10.7px!important;padding-inline:7px!important}
  .ckj-pr__event-date{font-size:8.8px;padding-inline:6px}
  .ckj-pr__event-band{min-width:66px;max-width:92px;padding:6px 7px 6px 10px;font-size:8px;white-space:normal;text-align:center}
  .ckj-pr__event-body{font-size:11.3px}
  .ckj-pr__event-main.has-image{grid-template-columns:1fr}
  .ckj-pr__event-photo{width:100%;aspect-ratio:16/6}
}

@media (prefers-reduced-motion:reduce){
  .ckj-pr *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ckj-pr__intro,.ckj-pr__mobile-row,.ckj-pr__event-position,.ckj-pr__event-head,.ckj-pr__event-content{opacity:1!important;transform:none!important;clip-path:none!important}
  .ckj-pr__month{opacity:1!important}
}
