/* Festival content is scoped to ft-*. The official site's shared components are not edited. */
:root{--ft-green:#215e3f;--ft-dark:#192e25;--ft-ink:#19241e;--ft-soft:#f3f4ee;--ft-line:#dce3da;--ft-ease:cubic-bezier(.22,1,.36,1)}
html.ft-festival{scroll-behavior:smooth;scroll-padding-top:110px}
.ft-page{background:#fff;color:var(--ft-ink);overflow:clip;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-feature-settings:"palt";letter-spacing:.035em}
.ft-page *,.ft-lightbox *{box-sizing:border-box}
.ft-page button,.ft-lightbox button{cursor:pointer;font:inherit;border:0;padding:0;color:inherit}
.ft-page a{word-break:normal}
.ft-page img{display:block;width:100%;height:auto}
.ft-page h1,.ft-page h2,.ft-page h3,.ft-page p,.ft-page figure,.ft-page dl{margin:0}
.ft-page h2{font-size:clamp(30px,3vw,48px);line-height:1.6;font-weight:700;letter-spacing:.025em}
.ft-wrap{width:90%;max-width:1440px;margin-inline:auto}
.ft-label{display:flex;align-items:center;gap:12px;font-family:Figtree,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.4}
.ft-label-year{border-left:1px solid currentColor;margin-left:4px;padding-left:16px}
.ft-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;background:var(--ft-green);border-radius:50%}
.ft-body{font-size:15px;line-height:2.2;letter-spacing:.035em}
.ft-body p+p{margin-top:25px}
.ft-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}
.ft-section-head h2{margin-top:22px}
.ft-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:68px;border-radius:80px;font-size:15px;font-weight:600;line-height:1.6;padding:18px 30px;transition:background .3s,color .3s,transform .4s var(--ft-ease)}
.ft-button svg,.ft-text-link svg{width:24px;height:24px;flex-shrink:0}
.ft-button-green{color:#fff;background:var(--ft-green)}
.ft-button-outline{border:1px solid #7b8c80!important;min-width:300px;background:#fff}
#ft-more-photos{position:relative;justify-content:center;text-align:center;padding:18px 58px;gap:0}
#ft-more-photos>svg{position:absolute;right:24px;top:50%;transform:translateY(-50%);pointer-events:none}
.ft-text-link{display:inline-flex;align-items:center;gap:35px;font-size:14px;font-weight:500;padding-block:13px;border-bottom:1px solid currentColor;line-height:1.5}
.ft-mobile{display:none}
.ft-skip{position:fixed;left:20px;top:-100px;z-index:5000;background:#fff;padding:16px 24px;color:#19241e}
.ft-skip:focus{top:15px}
.ft-page :focus-visible,.ft-lightbox :focus-visible{outline:3px solid #cf8838;outline-offset:5px}
.ft-hero{padding-top:112px;position:relative}
.ft-breadcrumb{display:flex;gap:12px;align-items:center;font-size:11px;color:#778277;line-height:1.6}
.ft-breadcrumb a{font-family:Figtree,Arial,sans-serif;letter-spacing:.1em}
.ft-hero-layout{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:690px;padding-top:38px}
.ft-hero-copy{z-index:2;padding-bottom:65px}
.ft-hero-eyebrow{margin-bottom:30px!important}
.ft-page #ft-title{font-weight:700;font-size:clamp(40px,4.05vw,65px);line-height:1.42;letter-spacing:-.025em}
.ft-title-line{display:block;overflow:hidden}
.ft-title-line>span{display:inline-block}
.ft-title-green{color:var(--ft-green);font-size:clamp(45px,4.8vw,77px);line-height:1.5;margin-top:2px;white-space:nowrap;letter-spacing:-.065em}
.ft-hero-name{font-size:15px;font-weight:700;margin-top:24px!important;letter-spacing:.075em}
.ft-hero-description{font-size:14px;line-height:2.1;margin-top:13px!important}
.ft-hero-cta{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:600;margin-top:26px}
.ft-circle-arrow{height:45px;width:45px;border:1px solid #849b89;border-radius:100%;display:grid;place-items:center;overflow:hidden}
.ft-circle-arrow svg{height:22px;width:22px;transform:rotate(90deg);transition:transform .35s}
.ft-hero-visual{position:relative;min-height:610px;padding:0 0 152px 15px;isolation:isolate}
.ft-hero-main{position:relative;z-index:1;transform:translateY(var(--ft-parallax,0px)) rotate(2deg)}
.ft-hero-main-inner{overflow:hidden;border-radius:3px}
.ft-hero-main img{aspect-ratio:3/2;object-fit:cover}
.ft-hero-photo-year{display:flex;align-items:center;gap:12px;font-size:42px;font-weight:500;font-family:Figtree,Arial,sans-serif;letter-spacing:-.045em;line-height:1;margin-top:16px;transform:rotate(-2deg);color:var(--ft-green)}
.ft-hero-photo-year>span{font-size:9px;letter-spacing:.1em;padding-top:3px}
.ft-hero-small{position:absolute;z-index:3;overflow:hidden;background:#fff;padding:7px;box-shadow:0 12px 35px #152c2112;border-radius:2px}
.ft-hero-small img{aspect-ratio:3/2;object-fit:cover}
.ft-hero-small-a{width:45%;left:-35px;bottom:34px;transform:rotate(-7deg);animation:ft-float-a 8s ease-in-out infinite}
.ft-hero-small-a>span{font-size:10px;display:block;padding:8px 5px 3px;letter-spacing:.08em}
.ft-hero-small-b{width:33%;right:1%;bottom:30px;transform:rotate(6deg);animation:ft-float-b 9s ease-in-out infinite}
.ft-hero-note{position:absolute;bottom:3px;left:46%;z-index:5;transform:rotate(-6deg);color:var(--ft-green);font-size:15px;font-weight:600;letter-spacing:.1em;white-space:nowrap}
.ft-hero-line{position:absolute;width:110%;height:auto;left:-8%;top:1%;z-index:0;color:#a9c19f;transform:rotate(-12deg);pointer-events:none}
.ft-hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:10px 0 32px;border-bottom:1px solid var(--ft-line);font-size:12px;line-height:1.8}
.ft-scroll{display:flex;gap:32px;align-items:center;font-family:Figtree,Arial,sans-serif;font-size:10px;letter-spacing:.12em}
.ft-scroll span{font-size:22px;line-height:1}
@keyframes ft-float-a{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-9px) rotate(-5deg)}}
@keyframes ft-float-b{0%,100%{transform:translateY(0) rotate(6deg)}50%{transform:translateY(9px) rotate(4deg)}}
@keyframes ft-title-in{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes ft-picture-in{from{clip-path:inset(0 100% 0 0);transform:scale(1.08)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes ft-side-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.ft-enhanced .ft-title-line>span{animation:ft-title-in 1s var(--ft-ease) both}
.ft-enhanced .ft-title-line:nth-child(2)>span{animation-delay:.13s}
.ft-enhanced .ft-title-line:nth-child(3)>span{animation-delay:.27s}
.ft-enhanced .ft-hero-main-inner{animation:ft-picture-in 1.4s var(--ft-ease) both}
.ft-enhanced .ft-hero-small{animation-delay:.2s}
.ft-mission{padding:155px 0 140px;background:linear-gradient(#fff 0%,#f7f8f3 100%)}
.ft-mission-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:9%;align-items:center}
.ft-mission-photos{position:relative;padding-bottom:165px}
.ft-mission-main{width:92%;overflow:hidden;transform:rotate(-2deg)}
.ft-mission-main img{aspect-ratio:3/2;object-fit:cover}
.ft-mission-small{width:61%;position:absolute;bottom:40px;right:-10px;border:7px solid #fff;transform:rotate(5deg)}
.ft-mission-small img{aspect-ratio:3/2;object-fit:cover}
.ft-photo-note{position:absolute;bottom:13px;left:0;font-size:12px;letter-spacing:.07em;color:var(--ft-green)}
.ft-mission-copy h2{font-size:clamp(25px,2.35vw,37px);margin-top:25px;line-height:1.75;letter-spacing:.015em}
.ft-mission-text{margin-top:35px!important;font-size:14px}
.ft-memory-heading{padding:115px 0 45px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ft-memory-heading h2{margin-top:22px}
.ft-years{display:flex;gap:12px;flex-wrap:wrap}
.ft-year-tab{border:1px solid var(--ft-green)!important;border-radius:30px;padding:9px 25px!important;min-height:45px;font-family:Figtree,Arial,sans-serif!important;font-size:18px!important;letter-spacing:.02em;transition:background .25s,color .25s}
.ft-year-tab[aria-pressed=true]{background:var(--ft-green);color:#fff}
.ft-year-tab[aria-pressed=false]{background:transparent;color:var(--ft-green)}
.ft-archive{outline:none}
.ft-report-panel{display:grid;grid-template-columns:37% 63%;background:var(--ft-green);color:#fff;position:relative;padding:65px 6%;gap:0;overflow:hidden;border-radius:3px}
.ft-report-year{padding-right:25px;border-right:1px solid #ffffff38}
.ft-report-year .ft-label{font-size:10px;color:#d0decf}
.ft-year-display{font-family:Figtree,Arial,sans-serif;font-size:clamp(80px,10vw,160px);font-weight:500;line-height:1.15;letter-spacing:-.065em;margin-top:8px!important}
.ft-report-thanks{font-family:Figtree,Arial,sans-serif;font-size:clamp(52px,6vw,94px);font-weight:500;line-height:.94;letter-spacing:-.045em;margin-top:20px!important}
.ft-hero-photo-year.ft-without-year{min-height:38px}
.ft-hero-photo-year.ft-without-year>span{font-size:11px;letter-spacing:.13em}
.ft-theme{display:inline-block;border:1px solid #ffffff65;border-radius:30px;font-size:12px;padding:7px 17px;margin-top:19px}
.ft-report-body{padding-left:11%;align-self:center}
.ft-report-kicker{font-size:12px;letter-spacing:.08em;color:#d4e2d4}
.ft-report-body h3{font-size:clamp(22px,2vw,32px);font-weight:600;line-height:1.65;margin-top:12px}
.ft-report-message{font-size:14px;line-height:2;margin-top:20px!important}
.ft-report-body dl{margin-top:23px;font-size:13px;line-height:1.8}
.ft-report-body dl>div{display:flex;gap:20px;margin-top:6px}
.ft-report-body dt{opacity:.65;flex-shrink:0;width:3.2em;font-weight:400}
.ft-report-body dd{margin:0}
.ft-report-body .ft-text-link{margin-top:26px;font-size:12px;gap:70px;border-color:#ffffff6b}
.ft-report-image{margin-top:22px;position:relative}
.ft-report-image .ft-shot img{aspect-ratio:2.1;object-fit:cover}
.ft-photo-tag{position:absolute;bottom:19px;left:24px;color:#fff;background:#192e25cc;border-radius:25px;padding:7px 16px;font-family:Figtree,Arial,sans-serif;letter-spacing:.1em;font-size:10px;pointer-events:none}
.ft-movie{padding:120px 0 90px;background:var(--ft-soft);margin-top:120px}
.ft-movie-expand{width:calc(82% + 14% * var(--ft-expand,1));max-width:1680px;margin:auto;will-change:width}
.ft-player{position:relative;aspect-ratio:16/9;background:#192e25;overflow:hidden;border-radius:3px}
.ft-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ft-movie-play{display:block;position:relative;width:100%;height:100%;text-align:left;background:var(--ft-dark)}
.ft-movie-play>img{height:100%;object-fit:cover;transition:transform 1s var(--ft-ease)}
.ft-movie-shade{position:absolute;inset:0;background:linear-gradient(0deg,#06150fd4,transparent 60%)}
.ft-play-circle{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;width:100px;height:100px;color:#fff;background:#215e3fdd;border:1px solid #ffffff7a;border-radius:100%;transition:scale .4s var(--ft-ease),background .3s}
.ft-play-circle svg{width:29px;height:29px;margin-left:4px}
.ft-play-copy{position:absolute;bottom:7%;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#fff;font-size:clamp(17px,2.3vw,36px);font-weight:500;letter-spacing:.06em;line-height:1.6}
.ft-play-en{display:flex;align-items:center;gap:20px;flex-shrink:0;font-size:11px;letter-spacing:.14em;font-family:Figtree,Arial,sans-serif}
.ft-play-en svg{width:23px;height:23px}
.ft-movie-caption{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-family:Figtree,Arial,sans-serif;font-size:10px;letter-spacing:.1em;color:#5d6c60}
.ft-movie-caption a{font-family:"Noto Sans JP",sans-serif;font-size:12px;border-bottom:1px solid #89998b;padding-bottom:3px}
.ft-highlights{padding:130px 0 65px}
.ft-highlights-head{position:relative;padding-bottom:80px}
.ft-highlights-head h2{margin-top:25px;font-size:clamp(34px,3.8vw,60px);line-height:1.65}
.ft-head-aside{position:absolute;right:0;bottom:102px;writing-mode:vertical-rl;font-size:10px;font-family:Figtree,Arial,sans-serif;letter-spacing:.13em}
.ft-moment{margin-bottom:125px}
.ft-moment-top{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center}
.ft-moment-main{width:100%;overflow:hidden}
.ft-shot{position:relative;display:block;width:100%;overflow:hidden;isolation:isolate;background:#e3e8e0;border-radius:2px;line-height:0;text-align:left}
.ft-shot img{transition:transform .8s var(--ft-ease);object-fit:cover}
.ft-shot-plus{position:absolute;bottom:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffffa6;border-radius:50%;color:#fff;background:#192e253b;opacity:0;transition:opacity .3s,transform .4s;transform:translateY(4px)}
.ft-shot-plus svg{width:18px;height:18px}
.ft-moment-num{font-family:Figtree,Arial,sans-serif;font-weight:400;font-size:58px;letter-spacing:-.03em;color:var(--ft-green);line-height:1.2;display:flex;align-items:center;gap:20px}
.ft-moment-num>span{font-family:"Noto Sans JP",sans-serif;color:#526452;font-size:11px;letter-spacing:.04em;border-left:1px solid #b2c1b0;padding:5px 0 5px 20px;line-height:1.8}
.ft-moment-copy h3{font-size:clamp(29px,2.8vw,44px);font-weight:600;line-height:1.65;letter-spacing:.02em;margin-top:20px}
.ft-moment-copy .ft-body{margin-top:26px;font-size:13px}
.ft-moment-bottom{display:grid;grid-template-columns:29% 23% 48%;align-items:center;margin-top:38px;padding-inline:4%}
.ft-moment-small .ft-shot img{aspect-ratio:4/5;object-fit:cover}
.ft-moment-accent{font-size:18px;letter-spacing:.16em;line-height:1.8;writing-mode:vertical-rl;justify-self:center;font-weight:500;color:var(--ft-green)}
.ft-moment-wide{margin-top:45px}
.ft-moment-wide .ft-shot img{aspect-ratio:3/2}
.ft-moment-2{background:#f6f6f0;padding:90px 0;margin-bottom:100px;position:relative}
.ft-moment-2 .ft-moment-top{grid-template-columns:1fr 1.35fr}
.ft-moment-2 .ft-moment-main{grid-column:2;grid-row:1}
.ft-moment-2 .ft-moment-copy{grid-column:1;grid-row:1;padding-left:4%}
.ft-moment-2 .ft-moment-bottom{grid-template-columns:48% 23% 29%;padding-inline:4%}
.ft-moment-2 .ft-moment-small{grid-column:3;grid-row:1}
.ft-moment-2 .ft-moment-small .ft-shot img{aspect-ratio:4/5}
.ft-moment-2 .ft-moment-wide{grid-column:1;grid-row:1;margin:0}
.ft-moment-2 .ft-moment-accent{grid-column:2;grid-row:1}
.ft-moment-3 .ft-moment-copy h3{font-size:clamp(25px,2.45vw,39px)}
.ft-moment-3 .ft-moment-bottom{grid-template-columns:39% 22% 39%}
.ft-moment-3 .ft-moment-small .ft-shot img{aspect-ratio:3/2}
.ft-moment-3 .ft-moment-wide{margin-top:70px}
.ft-connection{background:var(--ft-green);color:#fff;padding:125px 0 0;overflow:hidden;position:relative}
.ft-connection-grid{display:grid;grid-template-columns:1fr 1.17fr;gap:6.8%;align-items:center}
.ft-connection .ft-dot{background:#c0d396}
.ft-connection .ft-label{color:#d5e2d1}
.ft-connection-copy h2{font-size:clamp(27px,2.8vw,43px);margin-top:28px;line-height:1.8;letter-spacing:.015em}
.ft-connection-copy .ft-body{font-size:14px;margin-top:35px}
.ft-connection-copy .ft-text-link{margin-top:30px;border-color:#ffffff70;gap:60px;font-size:13px}
.ft-connection-photos{position:relative;padding-bottom:210px}
.ft-connection-photos>.ft-connection-small{width:70%;position:absolute;right:-5%;bottom:0;transform:rotate(-5deg);padding:7px;background:#fff;color:var(--ft-ink)}
.ft-connection-small span{display:block;font-size:11px;line-height:1.8;padding:12px 10px 8px;letter-spacing:.07em}
.ft-connection-word{font-size:clamp(45px,8.6vw,138px);font-family:Figtree,Arial,sans-serif;line-height:.95;letter-spacing:-.035em;font-weight:500;white-space:nowrap;text-align:center;margin-top:110px;transform:translateY(.2em);color:#ffffff18}
.ft-gallery{padding:140px 0 125px}
.ft-gallery-hint{font-size:12px;color:#657062;line-height:1.8;margin-bottom:10px!important}
.ft-gallery-hint>span{display:block;font-size:10px;color:#8a9487;margin-top:6px}
.ft-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:35px 30px;align-items:center}
.ft-gallery-item{grid-column:span 4}
.ft-gallery-item:nth-child(8n+1){grid-column:span 7}
.ft-gallery-item:nth-child(8n+2){grid-column:span 5;padding-left:10%;padding-top:10%}
.ft-gallery-item:nth-child(8n+2) .ft-shot img{aspect-ratio:4/5}
.ft-gallery-item:nth-child(8n+3){padding-top:10%}
.ft-gallery-item:nth-child(8n+4){padding-top:26%}
.ft-gallery-item:nth-child(8n+6){grid-column:span 5}
.ft-gallery-item:nth-child(8n+7){grid-column:span 7;padding-left:5%;padding-top:10%}
.ft-gallery-item:nth-child(8n+8){grid-column:span 12;width:55%;margin:30px auto 0}
.ft-gallery-more{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:60px}
.ft-gallery-count{font-family:Figtree,Arial,sans-serif;font-size:11px;letter-spacing:.14em;color:#63705f}
.ft-closing{background:var(--ft-soft);padding:120px 0}
.ft-closing-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}
.ft-closing-photo{position:relative;transform:rotate(-3deg)}
.ft-closing-photo img{aspect-ratio:4/5;object-fit:cover;object-position:65% 50%!important}
.ft-closing-photo-note{position:absolute;right:-18px;bottom:35px;background:#fff;padding:14px 20px;font-size:18px;color:var(--ft-green);letter-spacing:.15em;transform:rotate(6deg)}
.ft-closing-copy h2{font-size:clamp(32px,3.15vw,49px);line-height:1.65;margin-top:25px}
.ft-closing-copy h2 small{display:block;font-size:.64em;margin-top:19px;font-weight:600;line-height:1.8}
.ft-closing-copy .ft-body{font-size:13px;margin-top:30px}
.ft-closing-copy .ft-body p+p{margin-top:15px}
.ft-closing-copy .ft-button{margin-top:34px}
.ft-closing-copy>.ft-text-link{display:flex;width:max-content;margin-top:18px;font-size:13px;gap:65px}
.ft-nojs{font-size:12px;text-align:center;margin-top:20px!important}
.ft-lightbox{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100dvh;max-height:none;max-width:none;border:0;color:#fff;background:#102018f5;overflow:hidden;font-family:"Noto Sans JP",sans-serif}
.ft-lightbox::backdrop{background:#102018e6;backdrop-filter:blur(12px)}
.ft-lightbox[open]{display:flex;flex-direction:column}
.ft-lightbox-bar{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;min-height:90px}
.ft-lightbox-label{font-family:Figtree,Arial,sans-serif;letter-spacing:.15em;font-size:11px}
.ft-lightbox-close{display:flex;align-items:center;gap:16px;padding:10px!important;min-height:44px;color:#fff;font-size:12px!important;background:transparent}
.ft-lightbox-close svg{width:24px;height:24px}
.ft-lightbox-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 100px;touch-action:pan-y pinch-zoom;outline:none}
.ft-lightbox-image{width:100%;height:100%;object-fit:contain;max-height:calc(100dvh - 160px)}
.ft-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;background:#ffffff14!important;color:#fff;border:1px solid #ffffff60!important;border-radius:50%;width:52px;height:52px}
.ft-lightbox-nav svg{height:24px;width:24px}
.ft-lightbox-prev{left:25px}
.ft-lightbox-prev svg{transform:rotate(180deg)}
.ft-lightbox-next{right:25px}
.ft-lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.05em;padding:23px 35px;line-height:1.7}
.ft-lightbox-counter{font-family:Figtree,Arial,sans-serif;letter-spacing:.1em;flex-shrink:0}
.ft-lightbox-status{font-size:11px;opacity:.8;max-width:65ch}
.ft-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ft-enhanced .ft-page [data-reveal]{transition:opacity .9s var(--ft-ease),transform 1.1s var(--ft-ease),clip-path 1.3s var(--ft-ease);will-change:auto}
.ft-enhanced .ft-page [data-reveal]:not(.ft-in-view){opacity:0;transform:translateY(35px)}
.ft-enhanced [data-reveal=left]:not(.ft-in-view){transform:translateX(-45px)}
.ft-enhanced [data-reveal=right]:not(.ft-in-view){transform:translateX(45px)}
.ft-enhanced [data-reveal=mask]:not(.ft-in-view){clip-path:inset(7% 12% 7% 12%);transform:scale(.97)}
.ft-enhanced .ft-page [data-reveal].ft-in-view{opacity:1;transform:translate(0);clip-path:inset(0)}
.ft-motion-off .ft-page *,.ft-motion-off .ft-page *::before,.ft-motion-off .ft-page *::after,.ft-motion-off .ft-lightbox *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.ft-motion-off [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
.ft-motion-off .ft-movie-expand{width:96%!important}
.ft-motion-off .ft-title-line>span{transform:none!important}
.ft-motion-off .ft-hero-main{transform:rotate(2deg)}
/* Exact shared shell markup, with accessible keyboard behavior added in shell.js. */
.l-footer__slider .swiper-wrapper{position:relative;width:100%;height:100%}
.l-footer__slider .swiper-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s}
.l-footer__slider .swiper-slide.is-active{opacity:1}
.l-footer__slider .swiper-slide img{display:block}
.l-drawer[aria-hidden=true]{pointer-events:none}
.l-drawer.is-open{pointer-events:auto}
.c-fixed-btns{z-index:1020}
@media(hover:hover){
 .ft-button-green:hover{background:#143c29;transform:translateY(-2px)}
 .ft-button-outline:hover{background:var(--ft-green);color:#fff}
 .ft-shot:hover img{transform:scale(1.035)}
 .ft-shot:hover .ft-shot-plus,.ft-shot:focus-visible .ft-shot-plus{opacity:1;transform:none}
 .ft-movie-play:hover>img{transform:scale(1.025)}
 .ft-movie-play:hover .ft-play-circle{scale:1.08;background:#215e3f}
 .ft-hero-cta:hover .ft-circle-arrow svg{transform:translateY(3px) rotate(90deg)}
 .ft-text-link:hover svg{transform:translateX(4px);transition:transform .3s}
}
@media(min-width:1600px){.ft-hero-layout{min-height:770px}.ft-hero-visual{min-height:690px}.ft-hero-small-a{bottom:55px}.ft-hero-small-b{bottom:50px}}
@media(min-width:768px) and (max-width:1100px){
 .ft-hero-layout{grid-template-columns:46% 54%;min-height:590px;padding-top:40px}.ft-hero-visual{min-height:480px;padding-bottom:125px}.ft-hero-small-a{bottom:33px;left:-15px}.ft-hero-small-b{bottom:44px}.ft-hero-note{font-size:12px;left:45%;bottom:8px}.ft-hero-copy{padding-bottom:35px}
 .ft-page #ft-title{font-size:41px}.ft-title-green{font-size:47px}.ft-hero-name{font-size:13px}.ft-hero-description{font-size:12px}.ft-hero-photo-year{font-size:30px}
 .ft-mission{padding:100px 0}.ft-mission-grid{gap:6%;grid-template-columns:1fr 1.1fr}.ft-mission-photos{padding-bottom:110px}.ft-mission-copy h2{font-size:26px}.ft-mission-text{font-size:12px}.ft-mission-small{bottom:30px}.ft-photo-note{font-size:10px}
 .ft-report-panel{padding:45px 5%}.ft-report-body{padding-left:8%}.ft-report-message{font-size:12px}.ft-report-year{padding-right:18px}.ft-report-year .ft-label{font-size:8px}
 .ft-moment-top{gap:5%;grid-template-columns:1.25fr 1fr}.ft-moment-copy .ft-body{font-size:12px}.ft-moment-num{font-size:40px;gap:13px}.ft-moment-num>span{font-size:9px;padding-left:13px}.ft-moment-copy h3{font-size:28px}.ft-moment-accent{font-size:15px}
 .ft-connection-grid{gap:5%;grid-template-columns:1fr 1.04fr}.ft-connection-copy h2{font-size:27px}.ft-connection-copy .ft-body{font-size:12px}.ft-connection-photos{padding-bottom:140px}.ft-closing-copy .ft-body{font-size:12px}.ft-closing-grid{gap:6%}.ft-closing-copy h2{font-size:32px}.ft-closing-copy .ft-label{font-size:9px}.ft-closing-copy .ft-button{font-size:13px;padding-inline:22px;gap:20px}
}
@media(max-width:767px){
 html.ft-festival{scroll-padding-top:90px}
 .ft-wrap{width:89.75%}
 .ft-page h2{font-size:28px;line-height:1.75;letter-spacing:.015em}
 .ft-mobile{display:initial}.ft-desktop{display:none!important}
 .ft-label{font-size:10px;gap:9px;letter-spacing:.1em}.ft-dot{width:6px;height:6px}
 .ft-label-year{margin-left:2px;padding-left:12px}
 .ft-body{font-size:13px;line-height:2.1;letter-spacing:.02em}.ft-body p+p{margin-top:23px}
 .ft-section-head{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:30px}.ft-section-head h2{margin-top:19px}
 .ft-button{font-size:13px;min-height:61px;padding:16px 24px;gap:25px}
 #ft-more-photos{padding:16px 54px}#ft-more-photos>svg{right:22px}
 .ft-hero{padding-top:99px}.ft-breadcrumb{font-size:9px;gap:9px}
 .ft-hero-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:32px}
 .ft-hero-copy{padding-bottom:0}.ft-hero-eyebrow{margin-bottom:17px!important}
 .ft-page #ft-title{font-size:clamp(25px,6.55vw,43px);line-height:1.55;letter-spacing:-.065em}
 .ft-title-line:nth-child(1),.ft-title-line:nth-child(2){display:inline}
 .ft-title-line>span{vertical-align:bottom}.ft-title-line:nth-child(1){margin-right:-.17em}
 .ft-title-green{display:block;font-size:clamp(40px,10.7vw,69px);line-height:1.5;letter-spacing:-.065em;margin-top:2px}
 .ft-hero-name{font-size:12px;margin-top:13px!important;letter-spacing:.05em}
 .ft-hero-description{font-size:12px;line-height:1.9;margin-top:9px!important}.ft-hero-description .ft-mobile{display:none}
 .ft-hero-cta{font-size:11px;gap:12px;margin-top:20px}.ft-circle-arrow{height:34px;width:34px}.ft-circle-arrow svg{height:18px;width:18px}
 .ft-hero-visual{margin:28px -8px 0;min-height:0;padding:0 0 118px 0}
 .ft-hero-main{transform:rotate(2deg);margin:0}.ft-hero-main img{aspect-ratio:3/2}
 .ft-hero-photo-year{font-size:30px;margin:13px 0 0 8px;gap:10px}.ft-hero-photo-year>span{font-size:8px}
 .ft-hero-small{padding:5px}.ft-hero-small-a{left:-2%;bottom:19px;width:48%;transform:rotate(-6deg)}.ft-hero-small-a>span{font-size:8px;letter-spacing:.02em;padding:5px 3px 2px}
 .ft-hero-small-b{right:-1%;width:35%;bottom:31px}.ft-hero-note{bottom:3px;left:auto;right:3%;font-size:11px}
 .ft-hero-line{top:-20px;left:-3%;width:108%}
 .ft-hero-bottom{padding:20px 0 27px;gap:15px;font-size:10px}.ft-scroll{font-size:8px;gap:10px}.ft-scroll span{font-size:18px}
 .ft-mission{padding:80px 0 65px}.ft-mission-grid{display:flex;flex-direction:column;gap:45px}.ft-mission-copy{order:0;width:100%}.ft-mission-photos{order:1;width:100%;padding-bottom:110px}
 .ft-mission-copy h2{font-size:clamp(23px,6.1vw,36px);line-height:1.8;margin-top:20px;letter-spacing:0}
 .ft-mission-text{font-size:12px;margin-top:27px!important;line-height:2.2}
 .ft-mission-main{width:85%}.ft-mission-main img{aspect-ratio:1.5}.ft-mission-small{width:58%;right:0;bottom:27px;border-width:5px}.ft-photo-note{font-size:9px;bottom:0}
 .ft-memory-heading{padding:75px 0 30px;align-items:flex-end;gap:10px}.ft-memory-heading h2{font-size:25px;margin-top:18px;line-height:1.7}.ft-memory-heading h2 span{display:block}
 .ft-year-tab{font-size:14px!important;padding:7px 15px!important;min-height:39px}.ft-years{gap:8px;flex-shrink:0}
 .ft-report-panel{display:block;padding:32px 25px 36px}.ft-report-year{border:0;padding:0;position:relative}.ft-report-year .ft-label{font-size:8px;letter-spacing:.07em}.ft-year-display{font-size:96px;margin-top:10px!important;line-height:1}.ft-theme{font-size:10px;padding:6px 12px;position:absolute;right:0;bottom:9px}
 .ft-report-thanks{font-size:60px;margin-top:18px!important}.ft-report-evergreen .ft-theme{bottom:10px}.ft-hero-photo-year.ft-without-year{min-height:30px}.ft-hero-photo-year.ft-without-year>span{font-size:9px}
 .ft-report-body{padding:29px 0 0;margin-top:26px;border-top:1px solid #ffffff40}.ft-report-kicker{font-size:10px}.ft-report-body h3{font-size:21px;line-height:1.7;letter-spacing:.01em}.ft-report-message{font-size:12px;margin-top:15px!important;line-height:1.9}
 .ft-report-body dl{font-size:11px;margin-top:20px}.ft-report-body dl>div{gap:15px}.ft-report-body .ft-text-link{font-size:11px;margin-top:21px;gap:55px}.ft-report-image{margin-top:13px}.ft-report-image .ft-shot img{aspect-ratio:3/2}.ft-photo-tag{font-size:8px;bottom:10px;left:12px;padding:5px 10px}
 .ft-movie{margin-top:75px;padding:70px 0 55px}.ft-movie .ft-mobile{display:none}.ft-movie-expand{width:100%;max-width:none;will-change:auto}.ft-player{border-radius:0}.ft-play-circle{width:62px;height:62px;top:42%}.ft-play-circle svg{width:22px;height:22px}
 .ft-play-copy{font-size:15px;left:6%;bottom:8%;display:block}.ft-play-en{font-size:8px;margin-top:9px;gap:14px}.ft-play-en svg{width:16px;height:16px}.ft-movie-caption{font-size:8px;padding-top:16px;gap:10px}.ft-movie-caption a{font-size:10px}
 .ft-highlights{padding:75px 0 0}.ft-highlights-head{padding-bottom:42px}.ft-highlights-head h2{font-size:31px;margin-top:20px}.ft-head-aside{bottom:53px;right:-3px;font-size:8px}
 .ft-moment{margin-bottom:65px}.ft-moment-top,.ft-moment-2 .ft-moment-top{display:flex;flex-direction:column;gap:28px}
 .ft-moment-main{width:111.42%;margin-inline:-5.71%}.ft-moment-main .ft-shot{border-radius:0}.ft-moment-main .ft-shot img{aspect-ratio:3/2}
 .ft-moment-copy,.ft-moment-2 .ft-moment-copy{width:100%;padding:0;align-self:stretch}.ft-moment-num{font-size:44px;gap:17px}.ft-moment-num>span{font-size:10px;padding-left:17px;line-height:1.8}
 .ft-moment-copy h3,.ft-moment-3 .ft-moment-copy h3{font-size:29px;line-height:1.7;margin-top:17px}.ft-moment-copy .ft-body{font-size:12px;margin-top:17px;line-height:2.05}
 .ft-moment-bottom,.ft-moment-2 .ft-moment-bottom,.ft-moment-3 .ft-moment-bottom{grid-template-columns:44% 56%;padding:0;margin-top:28px;gap:0;align-items:center;position:relative;padding-bottom:46px}
 .ft-moment-small,.ft-moment-2 .ft-moment-small{grid-column:1;grid-row:1;align-self:start;margin-top:0;width:100%}.ft-moment-small .ft-shot img,.ft-moment-2 .ft-moment-small .ft-shot img{aspect-ratio:4/5}
 .ft-moment-wide,.ft-moment-2 .ft-moment-wide,.ft-moment-3 .ft-moment-wide{grid-column:2;grid-row:1;padding-left:14px;margin:60px 0 0;width:100%}.ft-moment-wide .ft-shot img{aspect-ratio:3/2}
 .ft-moment-accent,.ft-moment-2 .ft-moment-accent{position:absolute;left:44%;bottom:0;writing-mode:horizontal-tb;font-size:12px;letter-spacing:.06em;grid-column:auto;grid-row:auto;width:56%;text-align:right;white-space:nowrap}
 .ft-moment-2{padding:55px 0;margin-bottom:60px}.ft-moment-2 .ft-moment-small{grid-column:2;padding-left:14px;margin-top:50px}.ft-moment-2 .ft-moment-wide{grid-column:1;padding-left:0;margin-top:0}.ft-moment-2 .ft-moment-small .ft-shot img{aspect-ratio:1.05}.ft-moment-2 .ft-moment-wide .ft-shot img{aspect-ratio:4/5;object-position:50% 60%!important}
 .ft-moment-3 .ft-moment-small .ft-shot img{aspect-ratio:4/5;object-position:52% 50%!important}.ft-moment-3 .ft-moment-wide .ft-shot img{aspect-ratio:1.2}
 .ft-connection{padding:70px 0 0}.ft-connection-grid{display:flex;flex-direction:column;gap:50px;align-items:stretch}.ft-connection-copy h2{font-size:27px;line-height:1.8;margin-top:23px}.ft-connection-copy .ft-body{font-size:12px;margin-top:26px;line-height:2.2}.ft-connection-copy .ft-text-link{font-size:12px;margin-top:25px;gap:50px}
 .ft-connection-photos{padding-bottom:140px}.ft-connection-photos>.ft-connection-small{width:69%;right:0;bottom:0;padding:5px}.ft-connection-small span{font-size:9px;padding:8px 7px 5px}.ft-connection-word{font-size:9vw;margin-top:65px}
 .ft-gallery{padding:80px 0}.ft-gallery .ft-section-head{gap:20px}.ft-gallery .ft-section-head h2{font-size:30px}.ft-gallery-hint{font-size:11px;margin:0!important}.ft-gallery-hint>span{font-size:9px}
 .ft-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;align-items:center}
 .ft-gallery-item,.ft-gallery-item:nth-child(8n+1),.ft-gallery-item:nth-child(8n+2),.ft-gallery-item:nth-child(8n+6),.ft-gallery-item:nth-child(8n+7),.ft-gallery-item:nth-child(8n+8){grid-column:auto;width:100%;padding:0;margin:0}
 .ft-gallery-item:nth-child(8n+1),.ft-gallery-item:nth-child(8n+7){grid-column:span 2}
 .ft-gallery-item:nth-child(8n+2) .ft-shot img{aspect-ratio:4/5}.ft-gallery-item:nth-child(8n+3) .ft-shot img{aspect-ratio:3/2}.ft-gallery-item:nth-child(8n+4){padding:0}.ft-gallery-item:nth-child(8n+5){padding-top:25px}.ft-gallery-item:nth-child(8n+8){width:75%;grid-column:span 2;justify-self:center;margin-top:8px}
 .ft-gallery-more{gap:18px;margin-top:40px}.ft-gallery-count{font-size:9px}.ft-button-outline{min-width:270px}
 .ft-shot-plus{width:25px;height:25px;bottom:8px;right:8px;opacity:1;transform:none}.ft-shot-plus svg{width:14px;height:14px}
 .ft-closing{padding:65px 0 75px}.ft-closing-grid{display:flex;flex-direction:column;gap:45px}.ft-closing-photo{width:84%;margin-right:auto}.ft-closing-photo img{aspect-ratio:1.25;object-position:65% 50%!important}.ft-closing-photo-note{font-size:13px;bottom:20px;padding:11px 15px;right:-30px}
 .ft-closing-copy{width:100%}.ft-closing-copy h2{font-size:32px;line-height:1.7;margin-top:20px}.ft-closing-copy h2 small{font-size:23px;margin-top:18px;line-height:1.8}.ft-closing-copy .ft-label{font-size:9px}.ft-closing-copy .ft-body{font-size:12px;margin-top:23px;line-height:2.1}.ft-closing-copy .ft-body p+p{margin-top:17px}.ft-closing-copy .ft-button{width:100%;font-size:13px;margin-top:29px;gap:18px}.ft-closing-copy>.ft-text-link{margin:16px auto 0;font-size:12px;gap:50px}
 .ft-lightbox-bar{padding:12px 16px;min-height:70px}.ft-lightbox-label{font-size:9px;letter-spacing:.08em}.ft-lightbox-close{font-size:10px!important;gap:7px}.ft-lightbox-close svg{height:22px;width:22px}
 .ft-lightbox-stage{padding:0 10px;flex:1}.ft-lightbox-image{max-height:calc(100dvh - 210px)}.ft-lightbox-nav{top:auto;bottom:-55px;width:45px;height:45px;transform:none}.ft-lightbox-prev{left:calc(50% - 59px)}.ft-lightbox-next{right:calc(50% - 59px)}
 .ft-lightbox-foot{padding:80px 20px 25px;align-items:center;flex-direction:column;gap:10px;text-align:center;font-size:10px;line-height:1.7}.ft-lightbox-counter{font-size:12px}.ft-lightbox-status{font-size:10px;max-width:95%}
}
@media(max-width:359px){.ft-page #ft-title{font-size:24px}.ft-title-green{font-size:37px}.ft-hero-name{font-size:11px}.ft-hero-description{font-size:11px}.ft-report-panel{padding-inline:20px}.ft-theme{font-size:9px;padding-inline:9px}.ft-year-display{font-size:80px}.ft-mission-copy h2{font-size:21px}.ft-closing-copy h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html.ft-festival{scroll-behavior:auto}.ft-page *,.ft-page *::before,.ft-page *::after,.ft-lightbox *{animation:none!important;transition:none!important}.ft-enhanced .ft-page [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}.ft-title-line>span{transform:none!important}.ft-movie-expand{width:96%!important}}

/* Festival publication notice: restricted to this page's notice only. */
.ft-page .ft-publication-notice{background:var(--ft-soft);color:#566358;padding:0 0 56px;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-break:strict}
.ft-page .ft-publication-notice h2{font-size:12px;font-weight:700;line-height:1.8;letter-spacing:.035em;margin:0 0 8px}
.ft-page .ft-publication-notice p{font-size:12px;font-weight:400;line-height:1.9;letter-spacing:.035em;margin:0}
@media(max-width:767px){.ft-page .ft-publication-notice{padding-bottom:36px}}
