.program-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative;margin-top:32px;margin-bottom:-14px;align-items:start;color:#b9d1ba;font-size:15px;line-height:1.6;font-weight:600;letter-spacing:.03em}
.program-timeline-before{grid-column:1 / 4}.program-timeline-after{grid-column:4;color:#f1d67a}
.program-timeline-before,.program-timeline-after{display:flex;align-items:center;gap:12px;min-width:0;white-space:nowrap}
.program-timeline-before:before,.program-timeline-before:after,.program-timeline-after:before,.program-timeline-after:after{content:"";height:1px;background:currentColor;flex:1;opacity:.7}
.program-timeline-plane{position:absolute;left:calc(75% + 7px);top:-5px;transform:translateX(-50%);width:26px;height:30px;color:#f5f2e7;display:grid;place-items:center}
.program-timeline-plane svg{width:23px;height:23px}
@media(max-width:999px){.program-timeline{display:none}.program .phases>article:first-child:before,.program .phases>article:last-child:before{display:block;font-size:14px;font-weight:600;letter-spacing:.03em;line-height:1.7;color:#b9d1ba;margin-bottom:16px;padding-bottom:7px;border-bottom:1px solid #adc7aa66}.program .phases>article:first-child:before{content:"渡航前 約12週間"}.program .phases>article:last-child:before{content:"✈　現地90日間";color:#f1d67a;border-color:#f1d67a66}}
@media(min-width:1000px){
.program-timeline{display:grid;grid-template-columns:calc(75% - 31px) 76px minmax(0,1fr);gap:0;margin-top:44px;margin-bottom:36px;position:relative;align-items:start;font-size:20px;font-weight:800;line-height:1.5;letter-spacing:0}
.program-timeline-before,.program-timeline-after{display:block;text-align:center;border-top:5px solid currentColor;padding-top:12px;white-space:nowrap;border-radius:3px 3px 0 0}
.program-timeline-before{grid-column:1;color:#b9d1ba}.program-timeline-after{grid-column:3;color:#f4df8b}
.program-timeline-before:before,.program-timeline-before:after,.program-timeline-after:before,.program-timeline-after:after{display:none}
.program-timeline-plane{left:calc(75% + 7px);top:-21px;width:48px;height:48px;border:2px solid #f5f3e9;border-radius:50%;color:#f5f3e9;display:grid;place-items:center;transform:translateX(-50%)}
.program-timeline-plane svg{width:35px;height:35px}
.program-flight-label{position:absolute;top:54px;left:50%;transform:translateX(-50%);font-size:20px;font-weight:800;line-height:1.5;white-space:nowrap}
}
