:root{--blue:#0876b8;--deep:#0066a7;--sky:#55b9e9;--pale:#edf7fc;--ink:#13364b;--line:#92c9e8;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#162d3c;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.7;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{height:82px;display:flex;align-items:center;padding:0 max(22px,calc((100vw - var(--max))/2));gap:50px;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--deep);font-family:serif;font-weight:700;line-height:1.15;white-space:nowrap}.brand small{display:block;font:500 10px/1.3 sans-serif;letter-spacing:.06em}.drop{display:inline-block;width:22px;height:29px;background:#43b5e8;border-radius:55% 55% 58% 58%;clip-path:polygon(50% 0,94% 58%,94% 75%,80% 94%,50% 100%,20% 94%,6% 75%,6% 58%)}.drop.small{width:17px;height:23px;margin-right:10px;vertical-align:-4px}.global-nav{margin-left:auto;display:flex;align-items:center;gap:54px;font-size:14px;font-weight:700}.global-nav a{position:relative}.global-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:.25s}.global-nav a:hover:after{right:0}.menu-button{display:none}
.hero{height:min(610px,45vw);min-height:420px;position:relative;overflow:hidden;border-radius:0 0 48% 8%/0 0 9% 5%}.hero>img{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;inset:13% auto auto max(8vw,calc((100vw - var(--max))/2 + 35px));color:#0669a5;text-shadow:0 1px 1px rgba(255,255,255,.6)}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.2vw,64px);line-height:1.35;font-weight:500;letter-spacing:.13em;margin:0 0 22px}.hero p{font-size:13px;color:#173447;font-weight:600;line-height:1.75}.notice-bar{position:relative;z-index:5;width:min(980px,calc(100% - 48px));min-height:56px;margin:-2px auto 45px;padding:0 12px 0 0;border:1px solid #a6d4ee;border-radius:30px;background:#fff;display:grid;grid-template-columns:215px 115px 1fr auto;align-items:center;font-size:12px;box-shadow:0 8px 14px rgba(0,93,146,.12)}.notice-bar strong{height:56px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:30px}.notice-bar time{padding-left:26px;font-weight:700}.notice-bar a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.notice-bar .more{font-weight:700;color:var(--deep);white-space:nowrap}.notice-bar i{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--blue);color:#fff;font-style:normal;margin-left:8px}
.section{padding:75px 0}.section-title{font:bold clamp(42px,5vw,65px)/1 Arial,sans-serif;letter-spacing:.02em;text-align:center;color:var(--deep);margin:0 0 48px}.section-title small{display:block;font:600 22px/1.5 "Yu Mincho",serif;letter-spacing:.1em}.section-title.align-left{text-align:left}.wave-bg{position:relative;overflow:hidden}.wave-bg:before{content:"";position:absolute;z-index:-1;left:-5%;right:-5%;top:230px;height:420px;background:#eff7fc;border-radius:45% 54% 41% 57%/11% 14% 14% 11%;transform:rotate(1deg)}.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.about-copy h3,.project-intro h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#0872b1;font-size:29px;line-height:1.5;letter-spacing:.05em;margin:0 0 12px;font-weight:500}.about-copy .lead{font-family:serif;text-align:center;margin:10px 0 20px}.about-copy p{font-size:13px}.pill-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.pill-links a,.download{border:2px solid #4ab3e6;border-radius:24px;padding:7px 12px 7px 18px;color:#0473b4;background:#fff;font-size:12px;font-weight:700}.pill-links span{display:inline-grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;width:20px;height:20px;margin-left:9px}.photo-cluster{height:420px;position:relative}.photo-cluster img{position:absolute;object-fit:cover}.photo-main{width:72%;height:285px;right:5%;top:0;border-radius:52% 44% 49% 41%/42% 52% 45% 58%}.photo-river{width:44%;height:170px;left:1%;bottom:5px;border-radius:51% 42% 49% 45%/52% 50% 40% 48%}.photo-falls{width:43%;height:220px;right:0;bottom:-10px;border-radius:48% 50% 45% 55%/52% 43% 57% 47%}.about-note{text-align:center;margin:60px auto 0;font-size:13px}.download{display:inline-block;background:#77c7eb;color:#fff;border:0;margin-top:6px;padding:8px 20px}
.projects-section{padding-top:100px}.project-intro{display:grid;grid-template-columns:.9fr 1.3fr;gap:70px;align-items:center;margin-bottom:20px}.project-intro>div:first-child{padding-left:35px}.eyebrow{font-family:serif;color:#31556b}.project-intro>div:first-child>p:last-child{font-size:13px}.map-wrap{height:560px;position:relative}.map-wrap h3{position:absolute;z-index:2;right:0;top:0;color:var(--deep);font:bold 48px/1.03 Arial,sans-serif}.map-wrap img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.pin{position:absolute;width:25px;height:25px;background:#0077bb;color:#fff;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;font:bold 11px Arial;box-shadow:0 1px 5px #4688aa}.p1{left:58%;top:31%}.p2{left:58%;top:38%}.p3{left:54%;top:55%}.p4{left:43%;top:61%}.p5{left:50%;top:61%}.p6{left:47%;top:68%}.p7{left:38%;top:68%}.p8{left:34%;top:73%}.p9{left:33%;top:79%}.p10{left:20%;top:87%}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.project-card{min-height:128px;border:2px solid var(--blue);border-radius:4px;display:grid;grid-template-columns:35% 1fr;overflow:hidden;background:#fff}.project-card>img,.project-card>.placeholder{width:100%;height:100%;object-fit:cover;background:#d6d9dc}.project-card>div:last-child{position:relative;padding:13px 42px 10px 18px}.project-card b{position:absolute;left:-15px;top:12px;background:var(--blue);color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:17px}.project-card small{display:block;font-size:9px}.project-card h3{font-size:14px;color:#006aaa;margin:1px 0 4px}.project-card p{font-size:10px;line-height:1.5;margin:0}.project-card a{position:absolute;right:10px;bottom:10px;width:24px;height:24px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue)}
.related-section{margin-top:70px;background:#fff;padding-top:120px}.wave-top{position:relative}.wave-top:before{content:"";position:absolute;left:0;right:0;top:0;height:100px;background:#e4f5fd;clip-path:polygon(0 62%,13% 35%,28% 60%,43% 32%,60% 55%,75% 30%,88% 18%,100% 45%,100% 100%,0 100%)}.link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.link-grid a{border:1px solid var(--blue);border-radius:4px;overflow:hidden;background:#fff}.link-grid img{width:100%;aspect-ratio:1.55;object-fit:cover}.link-grid span{display:block;min-height:48px;padding:10px;color:#006aaa;font-size:12px;font-weight:700}.product-section{position:relative;padding-bottom:125px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.product-grid a{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,80,130,.08)}.product-grid img{width:100%;aspect-ratio:1.8;object-fit:cover}.product-grid span{display:block;padding:14px;text-align:center;font-size:12px;font-weight:700}.wave-bottom:after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:#dff4fc;clip-path:polygon(0 45%,13% 60%,30% 38%,47% 64%,62% 44%,78% 60%,91% 36%,100% 43%,100% 100%,0 100%)}
.news-section{padding:75px 0 95px;background:linear-gradient(115deg,#bfe7ed,#e4f4e0)}.news-inner{display:grid;grid-template-columns:230px 1fr;gap:50px;align-items:start}.news-inner h2{font:bold 58px/1 Arial;color:var(--deep);margin:0}.news-inner h2 small{font:500 22px/1.2 serif;margin-left:18px}.news-list{background:#fff;padding:30px 42px}.news-list a{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:11px 0;border-bottom:1px solid #9ccce5;font-size:12px}.news-list time{color:#38708d}
.site-footer{background:#fff}.social-bar{width:min(var(--max),calc(100% - 48px));margin:34px auto;min-height:62px;border-radius:13px;background:#eef7fc;display:flex;align-items:center;gap:20px;padding:12px 28px;color:#006eae}.social-bar strong{font-size:16px;margin-right:auto}.social-bar strong span{font-size:29px}.social-bar a{background:#fff;border:1px solid #a7d2e9;border-radius:22px;padding:6px 25px;font-size:11px;min-width:150px;text-align:center}.footer-main{min-height:190px;position:relative;padding:80px max(24px,calc((100vw - var(--max))/2)) 25px;background:#0874b7;color:#fff;clip-path:polygon(0 27%,14% 17%,31% 25%,48% 12%,64% 24%,80% 18%,100% 27%,100% 100%,0 100%);display:flex;align-items:flex-end}.footer-main p{font-size:10px;margin:1px 0}.moe{margin-left:auto;display:grid;grid-template-columns:38px auto;align-items:center;color:#fff}.moe-mark{width:34px;height:25px;background:#fff;clip-path:polygon(0 75%,35% 0,53% 52%,68% 24%,100% 89%,55% 76%)}.moe strong{font-size:18px}.moe small{grid-column:2;font-size:7px}.copyright{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);font-size:9px;white-space:nowrap}
@media(max-width:800px){.site-header{height:68px;padding:0 18px}.global-nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:24px;box-shadow:0 10px 20px rgba(0,0,0,.1);flex-direction:column;gap:22px}.global-nav.open{display:flex}.menu-button{display:grid;margin-left:auto;border:0;background:none;width:42px;gap:4px;color:var(--blue)}.menu-button span{height:2px;background:var(--blue)}.menu-button b{font-size:8px}.hero{height:560px;border-radius:0 0 45% 8%/0 0 5% 3%}.hero>img{object-position:58% center}.hero-copy{left:28px;top:13%}.hero h1{font-size:37px}.hero p{font-size:11px;width:72%}.hero p br{display:none}.notice-bar{grid-template-columns:105px 1fr;margin-top:0}.notice-bar strong{grid-row:1/3;height:64px}.notice-bar time{padding:6px 12px 0}.notice-bar a{padding:0 12px 7px;font-size:10px}.notice-bar .more{display:none}.section{padding:55px 0}.section-title{text-align:center!important;font-size:44px;margin-bottom:35px}.about-grid,.project-intro{grid-template-columns:1fr;gap:35px}.wave-bg:before{top:390px;height:650px}.about-copy h3,.project-intro h2{font-size:24px}.photo-cluster{height:320px}.photo-main{height:220px}.photo-river{height:130px}.photo-falls{height:165px}.about-note{margin-top:45px}.project-intro>div:first-child{padding-left:0}.map-wrap{height:470px}.map-wrap h3{font-size:38px}.project-list{grid-template-columns:1fr}.project-card{min-height:115px}.link-grid{grid-template-columns:repeat(2,1fr);gap:16px}.product-grid{grid-template-columns:1fr;gap:18px}.news-inner{grid-template-columns:1fr;gap:28px}.news-inner h2{font-size:48px}.news-list{padding:22px}.news-list a{grid-template-columns:90px 1fr;gap:12px}.social-bar{flex-wrap:wrap;justify-content:center;padding:20px}.social-bar strong{width:100%;margin:0;text-align:center}.social-bar a{min-width:130px;padding:6px 12px}.footer-main{clip-path:polygon(0 17%,18% 9%,40% 18%,61% 8%,82% 18%,100% 12%,100% 100%,0 100%);padding-top:65px;display:block}.moe{position:absolute;right:22px;top:55px}.copyright{font-size:7px}.container{width:min(100% - 32px,var(--max))}}
@media(max-width:480px){.brand{font-size:13px}.brand .drop{width:17px;height:23px}.hero{min-height:500px}.hero h1{font-size:31px}.photo-cluster{height:270px}.photo-main{height:180px}.photo-river{height:105px}.photo-falls{height:145px}.map-wrap{height:360px}.map-wrap h3{font-size:31px}.project-card{grid-template-columns:38% 1fr}.project-card h3{font-size:12px}.link-grid{gap:10px}.link-grid span{font-size:10px}.social-bar a{width:100%}.moe{display:none}}

/* supplied SVG assets */
.link-grid a,.product-grid a{position:relative}
.link-grid a::after,.product-grid a::after{content:"";position:absolute;right:9px;bottom:12px;width:15px;height:15px;background:url("../images/external-link.svg") center/contain no-repeat}
.link-grid span{padding-right:30px}
.product-grid span{padding-right:36px}
.social-bar a{display:flex;align-items:center;justify-content:center;gap:7px}
.social-bar a img{width:16px;height:16px}
.moe{display:block;margin-left:auto;width:154px;height:auto;filter:brightness(0) invert(1)}
@media(max-width:800px){.moe{position:absolute;right:22px;top:55px}}
@media(max-width:480px){.moe{display:none}}

/* supplied design assets and layout refinements */
.brand{gap:8px}
.brand-icon{width:18px;height:24px}
.brand-title{width:89px;height:auto}
.hero{height:min(650px,46vw);min-height:460px;border-radius:0;isolation:isolate}
.hero>.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.hero>.hero-top-wave{position:absolute;z-index:2;left:0;right:0;top:-1px;width:100%;height:auto;pointer-events:none}
.hero:after{display:none}
.hero>.hero-bottom-wave{position:absolute;z-index:2;left:0;right:0;bottom:-1px;width:100%;height:auto;pointer-events:none}
.hero-copy{z-index:3;top:17%}
.wave-bg{background:url("../images/about-bg.svg") center 170px/100% 530px no-repeat}
.wave-bg:before{display:none}
.about-section{padding-top:55px;padding-bottom:55px}
.about-grid{gap:45px}
.photo-cluster{height:390px}
.photo-cluster img{object-fit:contain;border-radius:0}
.photo-main{width:76%;height:auto;right:0;top:0}
.photo-river{width:46%;height:auto;left:0;bottom:0}
.photo-falls{width:47%;height:auto;right:-2%;bottom:-8px}
.about-note{margin-top:38px}
.pill-links a{display:flex;align-items:center;padding-right:7px}
.pill-links span{font-size:0;background:url("../images/arrow-btn.svg") center/contain no-repeat;width:20px;height:20px}
.projects-section{padding-top:55px;padding-bottom:55px}
.project-intro{margin-bottom:30px;gap:35px}
.map-wrap{height:500px}
.map-wrap>.projects-map{width:100%;height:100%;object-fit:contain}
.model-heading{position:absolute;z-index:3;right:0;top:3px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:235px}
.model-heading img:first-child{width:150px;height:auto}
.model-heading img:last-child{width:225px;height:auto}
.project-list{gap:17px 26px}
.project-card{min-height:122px}
.project-card>img{object-position:center}
.project-card a{border:0;width:25px;height:25px;background:url("../images/card-arrow.svg") center/contain no-repeat}
.related-section{margin-top:45px;padding-top:98px;padding-bottom:55px;background:url("../images/related-bg.svg") top center/100% 330px no-repeat}
.wave-top:before{display:none}
.image-title>img{display:block;margin:0 auto 2px;width:186px;height:auto}
.image-title.products-heading>img{width:225px}
.link-grid{gap:24px}
.link-grid img{aspect-ratio:auto}
.product-section{padding-top:45px;padding-bottom:105px;background:url("../images/product-bg.svg") bottom center/100% 150px no-repeat}
.wave-bottom:after{display:none}
.product-grid{gap:30px}
.product-grid img{aspect-ratio:auto}
.news-section{padding:70px 0 90px}
.news-inner h2>img{width:144px;height:auto}
.news-inner h2 small{display:block;margin:15px 0 0;font-size:20px}
.social-bar strong{display:flex;align-items:center;gap:10px}
.social-bar strong>img{width:35px;height:35px}
.social-bar a>img{width:18px;height:18px}
.footer-main{min-height:210px;background:#fff url("../images/footer-bg.svg") center bottom/100% 100% no-repeat;clip-path:none}
.moe{width:104px;filter:none}
@media(max-width:800px){
  .hero{height:560px;min-height:560px}
  .hero>.hero-top-wave{height:105px;object-fit:cover;object-position:center top}
  .hero>.hero-bottom-wave{height:76px;object-fit:cover;object-position:center bottom}
  .wave-bg{background-position:center 300px;background-size:auto 650px}
  .photo-cluster{height:320px}
  .map-wrap{height:390px}
  .model-heading{width:180px}
  .model-heading img:first-child{width:112px}
  .model-heading img:last-child{width:170px}
  .related-section{background-size:auto 300px}
  .image-title>img{width:155px}
  .image-title.products-heading>img{width:190px}
  .footer-main{background-size:auto 100%}
}

/* ===== Map links and full-canvas correction (2026-08-05) ===== */
.project-year-tabs button[data-project-year="r7"][aria-selected="true"]{
  border-color:#009481!important;
  background:#009481!important;
}
.projects-section .project-intro .map-wrap{
  aspect-ratio:2048/1359!important;
}
.project-year-map .year-map-links .map-link{
  position:absolute!important;
  display:block!important;
  box-sizing:border-box!important;
  transition:background-color .2s ease,box-shadow .2s ease!important;
}
.project-card[id^="project-"],
.project-card[id^="r7-project-"]{
  scroll-margin-top:120px;
}
#project-list-r7 .project-card b{
  background:#009481!important;
}
#project-list-r7 .project-card:hover,
#project-list-r7 .project-card:focus-within{
  border-color:#009481!important;
}

@media(min-width:801px){
  .project-year-map .year-map-links .map-link{
    height:4.8%!important;
    aspect-ratio:auto!important;
    border-radius:7px!important;
    transform:none!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .project-year-map .r8-map-links .map-link:hover,
  .project-year-map .r8-map-links .map-link:focus-visible{
    background:rgba(8,115,180,.14)!important;
    box-shadow:0 0 0 2px rgba(8,115,180,.2)!important;
  }
  .project-year-map .r7-map-links .map-link:hover,
  .project-year-map .r7-map-links .map-link:focus-visible{
    background:rgba(0,148,129,.15)!important;
    box-shadow:0 0 0 2px rgba(0,148,129,.22)!important;
  }

  .project-year-map .r8-map-links .m1{left:53.5%!important;top:38.5%!important;width:12%!important}
  .project-year-map .r8-map-links .m2{left:52.5%!important;top:47.3%!important;width:15%!important}
  .project-year-map .r8-map-links .m3{left:49.5%!important;top:62%!important;width:23%!important}
  .project-year-map .r8-map-links .m4{left:34%!important;top:51%!important;width:13%!important}
  .project-year-map .r8-map-links .m5{left:52%!important;top:54.8%!important;width:12%!important}
  .project-year-map .r8-map-links .m6{left:49%!important;top:67.5%!important;width:27%!important}
  .project-year-map .r8-map-links .m7{left:24%!important;top:49.8%!important;width:15%!important}
  .project-year-map .r8-map-links .m8{left:15%!important;top:59%!important;width:13%!important}
  .project-year-map .r8-map-links .m9{left:18%!important;top:75%!important;width:15%!important}
  .project-year-map .r8-map-links .m10{left:60%!important;top:74%!important;width:16%!important}

  .project-year-map .r7-map-links .m1{left:61%!important;top:31.5%!important;width:15%!important}
  .project-year-map .r7-map-links .m2{left:55.3%!important;top:42.2%!important;width:13%!important}
  .project-year-map .r7-map-links .m3{left:37%!important;top:69.5%!important;width:11%!important}
  .project-year-map .r7-map-links .m4{left:26.8%!important;top:57.8%!important;width:11%!important}
  .project-year-map .r7-map-links .m5{left:9.5%!important;top:54.7%!important;width:20%!important}
  .project-year-map .r7-map-links .m6{left:29%!important;top:73.5%!important;width:14%!important}
  .project-year-map .r7-map-links .m7{left:4.5%!important;top:65.5%!important;width:13%!important}
  .project-year-map .r7-map-links .m8{left:5%!important;top:80.5%!important;width:13%!important}
  .project-year-map .r7-map-links .m9{left:66%!important;top:65.5%!important;width:21%!important}
  .project-year-map .r7-map-links .m10{left:61%!important;top:73.5%!important;width:14%!important}
}

@media(max-width:800px){
  .projects-section .project-intro .map-wrap{
    aspect-ratio:2048/1359!important;
  }
  .project-year-map .year-map-links .map-link{
    width:9%!important;
    height:auto!important;
    aspect-ratio:1!important;
    border-radius:50%!important;
    transform:translate(-50%,-50%)!important;
    background:transparent!important;
  }
  .project-year-map .r8-map-links .m1{left:51.2%!important;top:41.9%!important}
  .project-year-map .r8-map-links .m2{left:50.9%!important;top:49.9%!important}
  .project-year-map .r8-map-links .m3{left:45.5%!important;top:61.1%!important}
  .project-year-map .r8-map-links .m4{left:37.4%!important;top:56.6%!important}
  .project-year-map .r8-map-links .m5{left:42.6%!important;top:58.9%!important}
  .project-year-map .r8-map-links .m6{left:38.2%!important;top:61.7%!important}
  .project-year-map .r8-map-links .m7{left:33.8%!important;top:61.8%!important}
  .project-year-map .r8-map-links .m8{left:20.1%!important;top:64.5%!important}
  .project-year-map .r8-map-links .m9{left:24.2%!important;top:72.9%!important}
  .project-year-map .r8-map-links .m10{left:58.9%!important;top:75.6%!important}
  .project-year-map .r7-map-links .m1{left:59.5%!important;top:30.6%!important}
  .project-year-map .r7-map-links .m2{left:54%!important;top:43.5%!important}
  .project-year-map .r7-map-links .m3{left:32.2%!important;top:66.3%!important}
  .project-year-map .r7-map-links .m4{left:31.5%!important;top:62.5%!important}
  .project-year-map .r7-map-links .m5{left:28.9%!important;top:62.6%!important}
  .project-year-map .r7-map-links .m6{left:24.2%!important;top:68.8%!important}
  .project-year-map .r7-map-links .m7{left:16.9%!important;top:72.8%!important}
  .project-year-map .r7-map-links .m8{left:14.5%!important;top:81.5%!important}
  .project-year-map .r7-map-links .m9{left:64.9%!important;top:66.2%!important}
  .project-year-map .r7-map-links .m10{left:60.1%!important;top:73.6%!important}
}

/* ===== Enlarged desktop map and accurately aligned place-name links ===== */
@media(min-width:801px){
  .project-intro .map-wrap{
    width:130%!important;
    max-width:1430px!important;
    left:50%!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:translateX(-50%)!important;
  }
  .project-year-map .year-map-links .map-link{
    height:3.5%!important;
    min-height:26px!important;
    padding:0!important;
  }

  /* R8: hit areas cover only the printed place-name text. */
  .project-year-map .r8-map-links .m1{left:53.4%!important;top:39%!important;width:8.8%!important}
  .project-year-map .r8-map-links .m2{left:52.2%!important;top:48.5%!important;width:12.5%!important}
  .project-year-map .r8-map-links .m3{left:49.2%!important;top:63.1%!important;width:12.5%!important}
  .project-year-map .r8-map-links .m4{left:31.8%!important;top:51.3%!important;width:7.8%!important}
  .project-year-map .r8-map-links .m5{left:52.6%!important;top:55%!important;width:8%!important}
  .project-year-map .r8-map-links .m6{left:40.4%!important;top:68%!important;width:19.7%!important}
  .project-year-map .r8-map-links .m7{left:24.1%!important;top:50.3%!important;width:8%!important}
  .project-year-map .r8-map-links .m8{left:15.8%!important;top:60.1%!important;width:8%!important}
  .project-year-map .r8-map-links .m9{left:19.8%!important;top:75.3%!important;width:8.5%!important}
  .project-year-map .r8-map-links .m10{left:60%!important;top:74.2%!important;width:8.5%!important}

  /* R7: hit areas cover only the printed place-name text. */
  .project-year-map .r7-map-links .m1{left:61.1%!important;top:31.6%!important;width:12%!important}
  .project-year-map .r7-map-links .m2{left:55.2%!important;top:42.8%!important;width:8%!important}
  .project-year-map .r7-map-links .m3{left:37%!important;top:69.5%!important;width:9%!important}
  .project-year-map .r7-map-links .m4{left:26.8%!important;top:57.8%!important;width:8%!important}
  .project-year-map .r7-map-links .m5{left:9.3%!important;top:54.7%!important;width:17.5%!important}
  .project-year-map .r7-map-links .m6{left:29.2%!important;top:73.8%!important;width:10%!important}
  .project-year-map .r7-map-links .m7{left:4.4%!important;top:65.6%!important;width:9.5%!important}
  .project-year-map .r7-map-links .m8{left:5%!important;top:80.6%!important;width:10.5%!important}
  .project-year-map .r7-map-links .m9{left:66.8%!important;top:65.5%!important;width:17.5%!important}
  .project-year-map .r7-map-links .m10{left:61.8%!important;top:73.5%!important;width:12%!important}

  /* Increase only the lower-right ABOUT photo. */
  .photo-cluster .photo-falls{
    width:190px!important;
    height:190px!important;
    right:-2%!important;
    bottom:-8px!important;
  }
  .photo-cluster .about-fill-b{
    width:235px!important;
    right:-8%!important;
    bottom:-30px!important;
  }
}

/* section heading scale */
.image-title>img{width:236px;max-width:72vw}
.image-title.products-heading>img{width:277px;max-width:78vw}
.image-title small{font-size:24px}
@media(max-width:480px){
  .image-title>img{width:205px}
  .image-title.products-heading>img{width:238px}
  .image-title small{font-size:20px}
}

/* corrected supplied hero curve */
.hero:before{display:none}
.hero>.hero-top-wave{display:block;height:auto;object-fit:initial;top:-1px}
@media(max-width:800px){.hero>.hero-top-wave{height:auto;object-fit:initial}}

/* full-bleed and map label correction */
.hero>.hero-top-wave{width:100%;height:113px;object-fit:fill}
.about-section,.related-section,.product-section{isolation:isolate;position:relative;background:none}
.about-section:before{display:block;content:"";position:absolute;z-index:0;left:50%;top:145px;width:100vw;height:560px;transform:translateX(-50%);background:url("../images/about-bg.svg") center/100% 100% no-repeat}
.about-section>.container,.related-section>.container,.product-section>.container{position:relative;z-index:1}
.related-section:before{z-index:0;left:50%;width:100vw;transform:translateX(-50%);background-size:100% 100%}
.product-section:after{z-index:0;left:50%;width:100vw;transform:translateX(-50%);background-size:100% 100%}
.map-wrap>.projects-map,.map-links{transform:scale(1.2);transform-origin:50% 50%}
.map-labels{display:block!important;position:absolute!important;inset:0!important;top:0!important;margin:0!important;padding:0!important;font-size:10px!important;line-height:1.2;z-index:6}
.map-labels span{position:absolute!important;width:max-content;max-width:145px;padding:2px 4px!important;background:rgba(255,255,255,.88);border-radius:3px;white-space:nowrap!important}
.map-labels span:before{display:none}
.map-labels .ml1{left:59%!important;top:28%!important}.map-labels .ml2{left:60%!important;top:39%!important}
.map-labels .ml3{left:53%!important;top:63%!important}.map-labels .ml4{left:27%!important;top:47%!important}
.map-labels .ml5{left:53%!important;top:52%!important}.map-labels .ml6{left:25%!important;top:58%!important}
.map-labels .ml7{left:18%!important;top:65%!important}.map-labels .ml8{left:8%!important;top:70%!important}
.map-labels .ml9{left:12%!important;top:79%!important}.map-labels .ml10{left:1%!important;top:94%!important}
.news-label{display:block!important;font-size:24px!important;font-weight:600;margin-top:14px!important}
.site-footer{overflow:hidden}
.footer-main{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
.footer-main .moe{display:block!important;opacity:1!important;z-index:6;bottom:24px;right:max(30px,calc((100vw - var(--max))/2));width:132px!important;filter:brightness(0) invert(1)!important}
@media(max-width:800px){
  .hero>.hero-top-wave{height:78px}
  .about-section:before{top:280px;height:670px}
  .map-labels{font-size:8px!important}
  .map-labels span{max-width:100px;white-space:normal!important}
  .footer-main .moe{right:22px;width:105px!important}
}
@media(max-width:480px){
  .brand-icon{width:15px}.brand-title{width:77px}
  .hero-copy{top:20%}
  .about-section{padding-top:40px}
  .photo-cluster{height:270px}
  .projects-section{padding-top:35px}
  .map-wrap{height:330px}
  .project-card{min-height:110px}
  .related-section{margin-top:25px;padding-top:80px}
}

/* correction pass 2 */
.photo-cluster.is-visible .photo-main{animation:aboutFloat1 6.5s ease-in-out 1.15s infinite}
.photo-cluster.is-visible .photo-river{animation:aboutFloat2 7.2s ease-in-out 1.35s infinite}
.photo-cluster.is-visible .photo-falls{animation:aboutFloat3 5.8s ease-in-out 1.65s infinite}
@keyframes aboutFloat1{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(5px,-7px) rotate(.8deg)}}
@keyframes aboutFloat2{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-6px,5px) rotate(-1deg)}}
@keyframes aboutFloat3{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(6px,6px) rotate(1.1deg)}}
.map-wrap{width:92%;max-width:1020px}
.map-labels{position:absolute!important;inset:auto 0 auto 0!important;top:100%!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:7px 16px!important;margin-top:12px;padding:0 4%;font-size:11px}
.map-labels span,.map-labels .ml1,.map-labels .ml2,.map-labels .ml3,.map-labels .ml4,.map-labels .ml5,.map-labels .ml6,.map-labels .ml7,.map-labels .ml8,.map-labels .ml9,.map-labels .ml10{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;white-space:normal!important}
.news-label{margin:12px 0 0;color:var(--deep);font:500 20px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em}
.footer-main .moe{top:auto;bottom:24px;right:max(25px,calc((100vw - var(--max))/2));width:104px;filter:brightness(0) invert(1)}
@media(prefers-reduced-motion:reduce){.photo-cluster.is-visible img{animation:none}}
@media(max-width:800px){
  .map-wrap{width:100%}
  .map-labels{grid-template-columns:repeat(2,1fr)!important;padding:0}
  .footer-main .moe{top:auto;bottom:22px;right:22px;width:90px}
}

/* correction pass */
.hero>.hero-top-wave{display:none}
.hero:before{content:"";display:block;position:absolute;z-index:2;left:-5%;top:-78px;width:110%;height:145px;background:#fff;border-radius:0 0 50% 50%/0 0 52% 52%;pointer-events:none}
.photo-main{width:65%;right:3%}
.photo-river{width:37%;left:5%;bottom:5px}
.photo-falls{width:38%;right:1%;bottom:0}
.project-intro{display:block;position:relative;margin-bottom:110px;min-height:590px}
.project-intro>div:first-child{position:absolute;left:0;top:155px;width:34%;padding-left:30px}
.map-wrap{width:82%;max-width:900px;margin:0 auto;aspect-ratio:2048/1217}
.map-labels{inset:auto 2% -88px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px 14px;font-size:11px;line-height:1.35}
.map-labels span{position:static;white-space:normal;padding-left:18px;position:relative}
.map-labels span:before{content:counter(map-label);counter-increment:map-label;position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:bold 9px Arial}
.map-labels{counter-reset:map-label}
.related-section:before{width:112vw}
.product-section:after{width:112vw}
.news-inner h2 small{display:block;margin:12px 0 0;font-size:20px}
.news-list{margin-top:22px}
.footer-main .moe{top:64px;width:88px}
@media(max-width:800px){
  .hero:before{top:-55px;height:105px}
  .project-intro{min-height:710px;margin-bottom:100px}
  .project-intro>div:first-child{position:relative;top:auto;width:100%;padding:0;margin-bottom:10px}
  .map-wrap{width:100%}
  .map-labels{bottom:-105px;grid-template-columns:repeat(2,1fr);font-size:10px}
  .footer-main .moe{top:58px;width:78px}
}
@media(max-width:480px){
  .hero:before{top:-42px;height:82px}
  .photo-main{width:63%}.photo-river{width:36%}.photo-falls{width:36%}
  .project-intro{min-height:665px;margin-bottom:125px}
  .map-labels{display:grid;bottom:-120px}
}

/* second visual refinement */
.brand-icon{width:24px;height:32px}
.brand-title{width:116px}
.global-nav{font-size:16px;gap:58px}
.hero>.hero-top-wave{height:105px;object-fit:fill}
.hero h1{opacity:0;animation:heroReveal .9s .55s ease-out forwards}
.hero-copy p{opacity:0;animation:heroReveal .9s 1.3s ease-out forwards;font-size:15px;line-height:1.9}
@keyframes heroReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.notice-bar{font-size:14px}
.notice-bar a{font-size:14px}
.about-copy .lead{text-align:left;margin-left:28px;font-size:16px}
.about-copy p{font-size:16px;line-height:1.9}
.about-copy h3{font-size:31px}
.pill-links a,.download{font-size:13px}
.photo-cluster img{opacity:0;transform:translateY(28px) scale(.96);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.photo-cluster.is-visible .photo-main{opacity:1;transform:none;transition-delay:.1s}
.photo-cluster.is-visible .photo-river{opacity:1;transform:none;transition-delay:.38s}
.photo-cluster.is-visible .photo-falls{opacity:1;transform:none;transition-delay:.68s}
.about-note{font-size:15px}
.project-intro{grid-template-columns:34% 66%;gap:0;align-items:center}
.project-intro>div:first-child{padding-left:30px;position:relative;z-index:4}
.project-intro>div:first-child>p:last-child{font-size:16px;line-height:1.9}
.project-intro h2{font-size:31px}
.map-wrap{width:100%;height:auto;aspect-ratio:2048/1217;margin:0 auto}
.map-wrap>.projects-map{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.model-heading{right:0;top:-8px;width:245px}
.map-links{position:absolute;inset:0;z-index:5}
.map-link{position:absolute;width:38px;height:38px;border-radius:50%;transform:translate(-50%,-50%)}
.map-link:focus-visible{outline:3px solid #f6a800;outline-offset:2px}
.map-link.m1{left:54.3%;top:34.8%}.map-link.m2{left:55.1%;top:43.5%}.map-link.m3{left:50%;top:59%}.map-link.m4{left:45.3%;top:50.1%}.map-link.m5{left:49.7%;top:53.3%}.map-link.m6{left:44.2%;top:59%}.map-link.m7{left:39.7%;top:61.4%}.map-link.m8{left:30.8%;top:62.9%}.map-link.m9{left:32.6%;top:71.1%}.map-link.m10{left:19.5%;top:86.5%}
.map-labels{position:absolute;inset:0;z-index:4;font-size:11px;font-weight:700;color:#17384a;pointer-events:none}
.map-labels span{position:absolute;white-space:nowrap}
.ml1{left:58%;top:33%}.ml2{left:59%;top:42%}.ml3{left:54%;top:59%}.ml4{right:54%;top:48%}.ml5{left:53%;top:51%}.ml6{right:57%;top:57%}.ml7{right:62%;top:62%}.ml8{right:70%;top:60%}.ml9{right:69%;top:70%}.ml10{left:2%;top:84%}
.project-card>div:last-child{padding:14px 46px 12px 58px}
.project-card b{left:12px;top:13px;width:38px;height:38px;font-size:19px;z-index:3}
.project-card small{font-size:11px;font-weight:700;color:#415c6c}
.project-card h3{font-size:17px;line-height:1.35;margin:2px 0 5px;font-weight:800}
.project-card p{font-size:13px;line-height:1.55}
.link-grid span,.product-grid span{font-size:13px;line-height:1.5}
.related-section{background:none;overflow:hidden}
.related-section:before{display:block;content:"";position:absolute;z-index:-1;left:50%;top:0;width:102vw;height:340px;transform:translateX(-50%);background:url("../images/related-bg.svg") center top/100% 100% no-repeat;clip-path:none}
.product-section{background:none;overflow:hidden}
.product-section:after{display:block;content:"";position:absolute;z-index:-1;left:50%;bottom:0;width:102vw;height:155px;transform:translateX(-50%);background:url("../images/product-bg.svg") center bottom/100% 100% no-repeat;clip-path:none}
.news-inner{display:block}
.news-inner h2{margin:0}
.news-inner h2 small{display:none}
.news-list{width:min(780px,100%);margin:32px auto 0;padding:32px 48px}
.news-list a{font-size:14px;grid-template-columns:130px 1fr;padding:13px 0}
.social-bar strong{font-size:18px}
.social-bar a{font-size:13px}
.footer-main{align-items:flex-end}
.footer-main .moe{position:absolute;right:max(25px,calc((100vw - var(--max))/2));top:58px;width:112px;margin:0}
@media(prefers-reduced-motion:reduce){.hero h1,.hero-copy p{opacity:1;animation:none}.photo-cluster img{opacity:1;transform:none;transition:none}}
@media(max-width:800px){
  .brand-icon{width:20px;height:27px}.brand-title{width:98px}
  .hero>.hero-top-wave{height:80px}
  .hero-copy p{font-size:13px}
  .notice-bar,.notice-bar a{font-size:12px}
  .about-copy p{font-size:15px}
  .project-intro{grid-template-columns:1fr}
  .project-intro>div:first-child{padding-left:0}
  .map-wrap{width:min(100%,700px)}
  .map-labels{font-size:8px}
  .project-card>div:last-child{padding-left:52px}
  .project-card h3{font-size:15px}.project-card p{font-size:12px}
  .news-list{padding:25px}
  .footer-main .moe{right:22px;top:52px}
}
@media(max-width:480px){
  .brand-icon{width:18px}.brand-title{width:88px}
  .hero>.hero-top-wave{height:60px}
  .map-labels{display:none}
  .model-heading{width:170px}
  .project-card>div:last-child{padding:12px 38px 10px 46px}
  .project-card b{left:7px;width:32px;height:32px;font-size:16px}
  .news-list a{font-size:12px;grid-template-columns:88px 1fr}
}

/* FINAL OVERRIDES — keep this block at the end of the file */
.hero:before{display:none!important}
.hero>.hero-top-wave{display:block!important;position:absolute!important;z-index:2;top:-1px!important;left:0!important;width:100%!important;height:113px!important;object-fit:fill!important}

.about-section,.related-section,.product-section{position:relative!important;isolation:isolate!important;background:none!important}
.about-section:before{display:block!important;content:"";position:absolute!important;z-index:0!important;left:50%!important;top:145px!important;width:100vw!important;height:560px!important;transform:translateX(-50%)!important;background:url("../images/about-bg.svg") center/100% 100% no-repeat!important}
.about-section>.container,.related-section>.container,.product-section>.container{position:relative!important;z-index:1!important}

.related-section:before{display:block!important;content:"";position:absolute!important;z-index:0!important;left:50%!important;top:0!important;width:100vw!important;height:340px!important;transform:translateX(-50%)!important;background:url("../images/related-bg.svg") center/100% 100% no-repeat!important;clip-path:none!important}
.product-section:after{display:block!important;content:"";position:absolute!important;z-index:0!important;left:50%!important;bottom:0!important;width:100vw!important;height:155px!important;transform:translateX(-50%)!important;background:url("../images/product-bg.svg") center/100% 100% no-repeat!important;clip-path:none!important}

.map-wrap{width:92%!important;max-width:1020px!important;margin:0 auto!important}
.map-wrap>.projects-map,.map-links{transform:scale(1.2)!important;transform-origin:50% 50%!important}
.map-labels{display:block!important;position:absolute!important;inset:0!important;margin:0!important;padding:0!important;font-size:10px!important;line-height:1.2!important;z-index:6!important}
.map-labels span{position:absolute!important;width:max-content!important;max-width:145px!important;padding:2px 4px!important;background:rgba(255,255,255,.9)!important;border-radius:3px!important;white-space:nowrap!important}
.map-labels span:before{display:none!important}
.map-labels .ml1{left:59%!important;top:28%!important}.map-labels .ml2{left:60%!important;top:39%!important}
.map-labels .ml3{left:53%!important;top:63%!important}.map-labels .ml4{left:27%!important;right:auto!important;top:47%!important}
.map-labels .ml5{left:53%!important;top:52%!important}.map-labels .ml6{left:25%!important;right:auto!important;top:58%!important}
.map-labels .ml7{left:18%!important;right:auto!important;top:65%!important}.map-labels .ml8{left:8%!important;right:auto!important;top:70%!important}
.map-labels .ml9{left:12%!important;right:auto!important;top:79%!important}.map-labels .ml10{left:1%!important;top:94%!important}

.news-label{display:block!important;margin:12px 0 0!important;color:var(--deep)!important;font:600 24px/1.4 "Yu Mincho","Hiragino Mincho ProN",serif!important;letter-spacing:.08em!important}
.image-title>img{width:236px!important;max-width:72vw!important}.image-title.products-heading>img{width:277px!important;max-width:78vw!important}.image-title small{font-size:24px!important}

.site-footer{overflow:hidden!important}
.footer-main{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important}
.footer-main .moe{display:block!important;position:absolute!important;z-index:10!important;opacity:1!important;top:auto!important;bottom:24px!important;right:max(30px,calc((100vw - var(--max))/2))!important;width:132px!important;height:auto!important;filter:brightness(0) invert(1)!important}

@media(max-width:800px){
  .hero>.hero-top-wave{height:78px!important}
  .about-section:before{top:280px!important;height:670px!important}
  .map-wrap{width:100%!important}
  .map-labels{font-size:8px!important}
  .map-labels span{max-width:100px!important;white-space:normal!important}
  .footer-main .moe{right:22px!important;width:105px!important}
}
@media(max-width:480px){
  .image-title>img{width:205px!important}.image-title.products-heading>img{width:238px!important}.image-title small{font-size:20px!important}
}

/* FINAL LAYOUT LAYERS */
.full-bg{display:block;position:absolute;z-index:0;left:50%;width:100vw;transform:translateX(-50%);pointer-events:none}
.about-section:before,.related-section:before,.product-section:after{display:none!important}
.about-full-bg{top:135px;height:560px;background:#edf7fc;clip-path:polygon(0 16%,12% 9%,27% 14%,43% 8%,61% 16%,78% 10%,90% 15%,100% 12%,100% 88%,88% 82%,72% 91%,56% 84%,38% 92%,21% 85%,9% 91%,0 86%)}
.related-full-bg{top:0;height:300px;background:#e2f4fc;clip-path:polygon(0 34%,10% 20%,25% 31%,41% 19%,58% 32%,75% 17%,89% 8%,100% 23%,100% 76%,88% 68%,72% 82%,55% 72%,37% 84%,20% 72%,8% 84%,0 76%)}
.product-full-bg{bottom:0;height:165px;background:#dff3fb;clip-path:polygon(0 25%,13% 37%,30% 20%,47% 40%,62% 27%,79% 39%,92% 19%,100% 27%,100% 100%,0 100%)}
.about-section>.container,.related-section>.container,.product-section>.container{position:relative;z-index:1}

.projects-section{padding-top:0!important;margin-top:-48px}
.map-labels{display:none!important}

.hero{height:min(710px,calc(52vw - 50px))!important;min-height:470px!important}

a,.project-card{transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,color .28s ease,opacity .28s ease}
.pill-links a:hover,.download:hover,.notice-bar a:hover,.social-bar a:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,103,164,.2)}
.pill-links a:hover{background:var(--blue);color:#fff}
.link-grid a:hover,.product-grid a:hover{transform:translateY(-7px);box-shadow:0 13px 24px rgba(0,91,145,.22)}
.link-grid a img,.product-grid a img,.project-card>img{transition:transform .45s ease,filter .35s ease}
.link-grid a:hover img,.product-grid a:hover img{transform:scale(1.045);filter:saturate(1.08)}
.project-card:hover{transform:translateY(-4px);box-shadow:0 9px 20px rgba(0,91,145,.16)}
.project-card a:hover{transform:scale(1.16)}
.global-nav a:hover{color:var(--blue)}

.footer-main{position:relative!important;width:100vw!important;min-height:210px!important;margin-left:calc(50% - 50vw)!important;background:#065c9e!important;clip-path:none!important;overflow:hidden}
.footer-main:before{display:block;content:"";position:absolute;z-index:0;left:-2%;top:-1px;width:104%;height:120px;background:#f4fafe;clip-path:polygon(0 24%,13% 5%,30% 24%,48% 48%,66% 33%,84% 9%,100% 26%,100% 70%,84% 53%,67% 73%,49% 82%,31% 64%,14% 47%,0 62%)}
.footer-main>div,.footer-main>.copyright,.footer-main>.moe{z-index:2}

@media(max-width:800px){
  .about-full-bg{top:275px;height:670px}
  .projects-section{margin-top:-20px}
  .hero{height:550px!important;min-height:550px!important}
}
@media(max-width:480px){.hero{height:520px!important;min-height:520px!important}}

/* EXACT SUPPLIED SVG ARTWORK */
img.full-bg{display:block!important;position:absolute!important;z-index:0!important;left:50%!important;width:100vw!important;max-width:none!important;height:auto!important;transform:translateX(-50%);clip-path:none!important;object-fit:fill!important;background:none!important;pointer-events:none}
img.about-full-bg{top:135px!important;bottom:auto!important}
img.related-full-bg{top:0!important;bottom:auto!important}
img.product-full-bg{top:auto!important;bottom:66px!important}

.about-copy h3 .drop.small,.eyebrow .drop.small{width:27px!important;height:36px!important;margin-right:12px!important;vertical-align:-9px!important}
.download{font-size:16px!important;padding:12px 26px!important;border-radius:28px!important}

.map-wrap{width:100%!important;max-width:1100px!important}
.map-wrap>.projects-map,.map-links{transform:none!important}
.model-heading{width:310px!important;right:0!important}
.model-heading img:first-child{width:195px!important}.model-heading img:last-child{width:294px!important}

.project-card:hover{transform:none!important;box-shadow:none!important;background:#eaf7fd!important}
.project-card:hover>img{transform:none!important;filter:none!important}
.project-card a{transition:transform .25s ease!important}
.project-card:hover a{transform:translateX(5px)!important}

.footer-main{background:none!important;overflow:hidden!important}
.footer-main:before,.footer-main:after{display:none!important}
.footer-bg-art{display:block!important;position:absolute!important;z-index:0!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:fill!important;pointer-events:none}
.footer-main>div,.footer-main>.copyright,.footer-main>.moe{position:relative;z-index:2}
.footer-main .moe{position:absolute!important}

@media(max-width:800px){
  img.about-full-bg{top:270px!important}
  .model-heading{width:230px!important}.model-heading img:first-child{width:145px!important}.model-heading img:last-child{width:220px!important}
}

/* DETAIL REFINEMENTS */
.brand-icon{width:30px!important;height:40px!important}
.brand-title{width:145px!important}

.project-intro{margin-bottom:22px!important}
.project-card{min-height:140px!important}
.project-card small{font-size:13px!important;line-height:1.45!important}
.project-card p{font-size:15px!important;line-height:1.55!important}
.project-card a{width:32px!important;height:32px!important;right:8px!important;bottom:8px!important}
.project-card:hover a{transform:translateX(6px)!important}

.model-heading{width:360px!important}
.model-heading img:first-child{width:225px!important}.model-heading img:last-child{width:340px!important}

.map-link{border-radius:4px!important;transform:none!important}
.map-link.m1{left:53%!important;top:31%!important;width:16%!important;height:7%!important}
.map-link.m2{left:53%!important;top:40%!important;width:20%!important;height:7%!important}
.map-link.m3{left:49%!important;top:58%!important;width:28%!important;height:9%!important}
.map-link.m4{left:34%!important;top:46%!important;width:15%!important;height:8%!important}
.map-link.m5{left:48%!important;top:50%!important;width:22%!important;height:8%!important}
.map-link.m6{left:42%!important;top:57%!important;width:34%!important;height:13%!important}
.map-link.m7{left:27%!important;top:54%!important;width:20%!important;height:9%!important}
.map-link.m8{left:19%!important;top:59%!important;width:22%!important;height:9%!important}
.map-link.m9{left:27%!important;top:68%!important;width:21%!important;height:9%!important}
.map-link.m10{left:7%!important;top:83%!important;width:22%!important;height:10%!important}
.map-link:hover{background:rgba(70,180,228,.1)}

.news-section{margin-top:70px!important}

.footer-main{box-shadow:0 0 0 100vmax #065c9e!important;clip-path:inset(0 -100vmax)!important}

@media(max-width:800px){
  .brand-icon{width:25px!important;height:34px!important}.brand-title{width:124px!important}
  .model-heading{width:260px!important}.model-heading img:first-child{width:164px!important}.model-heading img:last-child{width:250px!important}
  .project-card p{font-size:13px!important}.project-card small{font-size:12px!important}
}

/* INTERACTION AND RESPONSIVE CORRECTIONS */
.download{font-size:18px!important;padding:15px 32px!important;border-radius:32px!important}

.project-card a{right:13px!important;bottom:9px!important}
.project-card:hover a{transform:translateX(2px)!important}

.map-link{background:transparent!important;border-radius:8px!important;transform:none!important;z-index:2}
.map-link:hover{background:rgba(70,180,228,.12)!important}
.map-link.m1{left:53.2%!important;top:31.5%!important;width:13.5%!important;height:6%!important}
.map-link.m2{left:53.7%!important;top:40.4%!important;width:17%!important;height:6%!important}
.map-link.m3{left:49.3%!important;top:56.2%!important;width:20.5%!important;height:8.5%!important;z-index:4!important}
.map-link.m4{left:35.4%!important;top:46.8%!important;width:12.5%!important;height:6.5%!important}
.map-link.m5{left:49.5%!important;top:50.2%!important;width:17.5%!important;height:6.5%!important}
.map-link.m6{left:42.8%!important;top:57.5%!important;width:25%!important;height:14%!important;z-index:3!important}
.map-link.m7{left:28.2%!important;top:52.8%!important;width:17.5%!important;height:8%!important}
.map-link.m8{left:20.2%!important;top:59.5%!important;width:17%!important;height:7%!important}
.map-link.m9{left:28.2%!important;top:67.8%!important;width:17%!important;height:7%!important}
.map-link.m10{left:7.5%!important;top:82.5%!important;width:17%!important;height:8%!important}

.notice-bar a:hover{transform:none!important;box-shadow:none!important}
.notice-bar .more{display:flex;align-items:center;white-space:nowrap;transition:transform .25s ease;color:var(--deep);font-weight:700}
.notice-bar:hover .more{transform:translateX(4px)}

.site-footer{position:relative!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;isolation:isolate!important}
.site-footer:after{display:block;content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:210px;background:#065c9e}
.site-footer>.social-bar,.site-footer>.footer-main{position:relative;z-index:1}
.footer-main{box-shadow:none!important}

@media(max-width:800px){
  .map-wrap{width:115vw!important;max-width:none!important;left:50%!important;transform:translateX(-50%)!important;margin-top:85px!important}
  .model-heading{top:-78px!important;right:9vw!important;width:260px!important}
  .model-heading img:first-child{width:164px!important}.model-heading img:last-child{width:250px!important}
  .footer-main{min-height:270px!important;padding:135px 20px 22px!important;display:block!important}
  .footer-main>div:first-of-type{max-width:62%;font-size:11px}
  .footer-main .moe{right:20px!important;bottom:50px!important;width:98px!important}
  .footer-main .copyright{left:50%!important;bottom:12px!important;font-size:7px!important}
  .site-footer:after{height:270px}
}
@media(max-width:480px){
  .map-wrap{width:126vw!important;margin-top:95px!important}
  .model-heading{top:-84px!important;right:13vw!important}
  .notice-bar .more{display:none}
  .download{font-size:16px!important;padding:13px 25px!important}
}

/* FINAL POLISH 2026-07-17 */
.about-note>p{font-size:12px!important;line-height:1.55!important}
.notice-bar:hover .more{transform:translateX(2px)!important}

/* The map image already contains the numbered pins. Only place hit areas over labels. */
.map-link{height:4.5%!important;border-radius:7px!important;z-index:5!important}
.map-link.m1{left:59.2%!important;top:31.4%!important;width:15%!important;height:4.8%!important}
.map-link.m2{left:59.6%!important;top:40.5%!important;width:19%!important;height:4.8%!important}
.map-link.m3{left:55.2%!important;top:59.2%!important;width:20%!important;height:5.2%!important;z-index:5!important}
.map-link.m4{left:32.5%!important;top:46.6%!important;width:12.5%!important;height:4.8%!important}
.map-link.m5{left:55.5%!important;top:50.8%!important;width:14.5%!important;height:4.8%!important}
.map-link.m6{left:46.5%!important;top:64.2%!important;width:28%!important;height:5.2%!important;z-index:5!important}
.map-link.m7{left:27.5%!important;top:52.4%!important;width:13.5%!important;height:5%!important}
.map-link.m8{left:17.3%!important;top:59.4%!important;width:14.5%!important;height:5%!important}
.map-link.m9{left:30.6%!important;top:68.2%!important;width:14.5%!important;height:5%!important}
.map-link.m10{left:4.5%!important;top:82.8%!important;width:15%!important;height:5.2%!important}

/* Align and enlarge the external-link marks with their card labels. */
.link-grid a::after,.product-grid a::after{
  right:11px!important;bottom:50%!important;width:18px!important;height:18px!important;
  transform:translateY(50%)!important
}
.link-grid span,.product-grid span{display:flex!important;align-items:center!important;padding-right:39px!important}

/* Render the supplied footer artwork once; its transparent crest stays white. */
.site-footer:after{display:none!important}
.site-footer{overflow:visible!important;background:#fff!important}
.footer-main{
  width:100vw!important;min-height:263px!important;margin-left:0!important;
  padding:145px max(24px,calc((100vw - var(--max))/2)) 27px!important;
  background:#fff!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important
}
.footer-bg-art{object-fit:fill!important;object-position:center bottom!important}
.footer-main>div:first-of-type{position:relative!important;max-width:none!important}
.footer-main .moe{bottom:27px!important}
.footer-main .copyright{bottom:20px!important}

@media(max-width:800px){
  .map-wrap{width:calc(100vw - 24px)!important;max-width:none!important;margin-top:110px!important}
  .model-heading{top:-100px!important;right:50%!important;transform:translateX(50%)!important;align-items:center!important}
  .footer-main{min-height:255px!important;padding:135px 18px 24px!important;display:block!important}
  .footer-main>div:first-of-type{position:absolute!important;left:18px!important;bottom:24px!important;max-width:58%!important}
  .footer-main .moe{display:block!important;right:18px!important;bottom:32px!important;top:auto!important;width:92px!important}
  .footer-main .copyright{left:50%!important;bottom:8px!important;font-size:6px!important}
}
@media(max-width:480px){
  .map-wrap{width:calc(100vw - 12px)!important;margin-top:115px!important}
  .model-heading{top:-105px!important;right:50%!important;transform:translateX(50%)!important}
  .notice-bar .more{display:none!important}
  .footer-main{min-height:240px!important;padding-top:125px!important}
  .footer-main>div:first-of-type{font-size:9px!important;max-width:60%!important}
  .footer-main .moe{display:block!important;width:82px!important;right:14px!important;bottom:31px!important}
  .link-grid a::after,.product-grid a::after{width:17px!important;height:17px!important;right:8px!important}
}

/* DELIVERY CORRECTIONS */
.project-intro{grid-template-columns:40% 60%!important;gap:0!important}
.project-intro>div:first-child{width:auto!important;padding-left:30px!important;padding-right:38px!important}
.project-intro>div:first-child>p:last-child{max-width:440px!important}

/* Text-only map hit areas, aligned to the lettering in projects-map-text.png. */
.map-link.m1{left:56.7%!important;top:31.4%!important;width:13.8%!important}
.map-link.m2{left:57.1%!important;top:40.5%!important;width:18.2%!important}
.map-link.m3{left:52.8%!important;top:59.2%!important;width:19.2%!important}
.map-link.m4{left:36.1%!important;top:46.6%!important;width:10.7%!important}
.map-link.m5{left:55.6%!important;top:50.8%!important;width:13.8%!important}
.map-link.m6{left:47.0%!important;top:64.2%!important;width:25.8%!important}
.map-link.m7{left:28.0%!important;top:52.4%!important;width:12.8%!important}
.map-link.m8{left:21.6%!important;top:59.4%!important;width:11.3%!important}
.map-link.m9{left:33.8%!important;top:68.2%!important;width:12.4%!important}
.map-link.m10{left:10.1%!important;top:82.8%!important;width:11.8%!important}

/* Use the SVG as a colored mask so its currentColor paths remain visible. */
.link-grid a::after,.product-grid a::after{
  content:""!important;display:block!important;background:#076eac!important;
  -webkit-mask:url("../images/external-link.svg") center/contain no-repeat!important;
  mask:url("../images/external-link.svg") center/contain no-repeat!important;
  width:20px!important;height:20px!important;right:10px!important;bottom:24px!important;
  transform:translateY(50%)!important;opacity:1!important;z-index:4!important
}
.product-grid a::after{bottom:25px!important}
.link-grid span,.product-grid span{min-height:48px!important;padding-right:43px!important}

@media(max-width:800px){
  .project-intro{grid-template-columns:1fr!important}
  .project-intro>div:first-child{padding:0 12px!important;max-width:650px!important}
  .project-intro>div:first-child>p:last-child{max-width:none!important}
  .map-wrap{width:145vw!important;left:50%!important;transform:translateX(-50%)!important;margin-top:115px!important}
  .model-heading{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}
@media(max-width:480px){
  .map-wrap{width:155vw!important;max-width:none!important;margin-top:120px!important}
  .model-heading{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
  .link-grid a::after,.product-grid a::after{width:19px!important;height:19px!important;right:7px!important}
  .link-grid span,.product-grid span{padding-right:34px!important}
}

/* MAP / CARD ICON / FOOTER FINAL FIXES */
.map-wrap{height:auto!important;aspect-ratio:1624/1217!important}
.map-wrap>.projects-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important}
.map-links{inset:0!important}
.map-link{height:4.8%!important;border-radius:6px!important}
.map-link.m1{left:66.2%!important;top:33.1%!important;width:12%!important}
.map-link.m2{left:66.5%!important;top:41.5%!important;width:16.8%!important}
.map-link.m3{left:61.0%!important;top:62.5%!important;width:19%!important}
.map-link.m4{left:40.2%!important;top:48.0%!important;width:10.4%!important}
.map-link.m5{left:64.5%!important;top:52.3%!important;width:11.2%!important}
.map-link.m6{left:53.5%!important;top:67.0%!important;width:25.5%!important}
.map-link.m7{left:29.6%!important;top:54.7%!important;width:12.2%!important}
.map-link.m8{left:21.7%!important;top:61.4%!important;width:11.5%!important}
.map-link.m9{left:37.2%!important;top:72.2%!important;width:11.8%!important}
.map-link.m10{left:7.2%!important;top:85.0%!important;width:12.2%!important}

.link-grid a::after,.product-grid a::after{display:none!important}
.link-grid a>.external-icon,.product-grid a>.external-icon{
  display:block!important;position:absolute!important;z-index:5!important;
  right:10px!important;bottom:14px!important;width:20px!important;height:20px!important;
  max-width:none!important;aspect-ratio:1!important;object-fit:contain!important;
  filter:invert(32%) sepia(92%) saturate(1110%) hue-rotate(165deg) brightness(88%) contrast(101%)!important
}
.link-grid a:hover>.external-icon,.product-grid a:hover>.external-icon{transform:translate(2px,-2px)!important}

html,body{padding-bottom:0!important;margin-bottom:0!important}
.site-footer,.footer-main{margin-bottom:0!important}
.footer-main{background:linear-gradient(to bottom,transparent 52%,#065c9e 52%)!important}
.footer-main .moe img{display:block;width:100%;height:auto}
.footer-bg-art{bottom:0!important}

@media(max-width:800px){
  .map-wrap{width:100vw!important;max-width:100vw!important;height:auto!important;aspect-ratio:1624/1217!important;left:50%!important;transform:translateX(-50%)!important;margin-top:115px!important}
  .model-heading{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}
@media(max-width:480px){
  .map-wrap{width:100vw!important;max-width:100vw!important;height:auto!important;aspect-ratio:1624/1217!important;margin-top:120px!important}
  .link-grid a>.external-icon,.product-grid a>.external-icon{right:7px!important;bottom:14px!important;width:19px!important;height:19px!important}
}

/* NEW TRIMMED MAPTEXT02 ARTWORK */
.map-wrap{aspect-ratio:1596/1326!important}
.map-link{height:4.2%!important;border-radius:6px!important}
.map-link.m1{left:75.2%!important;top:30.2%!important;width:14.8%!important}
.map-link.m2{left:75.7%!important;top:40.3%!important;width:20.2%!important}
.map-link.m3{left:69.0%!important;top:63.5%!important;width:19.7%!important}
.map-link.m4{left:41.4%!important;top:47.6%!important;width:14.7%!important}
.map-link.m5{left:73.4%!important;top:51.9%!important;width:12.4%!important}
.map-link.m6{left:59.8%!important;top:68.3%!important;width:31.8%!important}
.map-link.m7{left:30.5%!important;top:54.7%!important;width:12.5%!important}
.map-link.m8{left:20.5%!important;top:61.9%!important;width:12.6%!important}
.map-link.m9{left:39.5%!important;top:74.3%!important;width:14.7%!important}
.map-link.m10{left:2.4%!important;top:88.8%!important;width:13.5%!important}
@media(max-width:800px){.map-wrap{aspect-ratio:1596/1326!important}}
@media(max-width:480px){.map-wrap{aspect-ratio:1596/1326!important}}

/* LAST SPACING AND HOVER TUNING */
.notice-bar{transition:background-color .25s ease,border-color .25s ease!important}
.notice-bar:hover{background:#eaf7fd!important;border-color:#77c7eb!important}
.notice-bar:hover .more{transform:translateX(4px)!important}

@media(min-width:801px){
  .project-intro>div:first-child{transform:translateY(34px)!important}
  .model-heading{top:-30px!important}
}

/* Pins 1 and 2 were aligned; lift only labels 3–10. */
.map-link.m3{top:61.0%!important}
.map-link.m4{left:42.2%!important;top:46.5%!important}
.map-link.m5{top:50.8%!important}
.map-link.m6{top:66.7%!important}
.map-link.m7{top:53.2%!important}
.map-link.m8{top:60.4%!important}
.map-link.m9{top:72.8%!important}
.map-link.m10{top:87.8%!important}

.news-list a{font-size:16px!important;line-height:1.65!important}

@media(max-width:800px){
  .notice-bar{grid-template-columns:92px minmax(0,1fr)!important;padding:7px 12px!important;min-height:58px!important}
  .notice-bar>strong{display:none!important}
  .notice-bar time{grid-column:1!important;padding:0 10px!important}
  .notice-bar>a:not(.more){grid-column:2!important;padding:0 6px!important}
  .notice-bar .more{display:none!important}
  .model-heading{top:-125px!important}
  .news-list a{font-size:14px!important}
}
@media(max-width:480px){
  .notice-bar{grid-template-columns:78px minmax(0,1fr)!important;width:calc(100% - 24px)!important}
  .notice-bar time{font-size:10px!important;padding-left:4px!important}
  .notice-bar>a:not(.more){font-size:11px!important;padding:0 2px!important}
  .model-heading{top:-130px!important}
}

/* MAKE ENTIRE PROJECT CARD CLICKABLE (stretched link) + REMOVE ARROW */
.project-card{cursor:pointer!important}
.project-card b{pointer-events:none!important}
.project-card a{z-index:2!important;background:none!important;width:0!important;height:0!important;border:none!important}
.project-card a::after{
  content:""!important;position:absolute!important;
  top:-9999px!important;left:-9999px!important;
  right:-9999px!important;bottom:-9999px!important;
  z-index:1!important
}
.project-card>div:last-child{padding-right:14px!important}
@media(max-width:800px){.project-card>div:last-child{padding-right:12px!important}}
/* Expand description text leftward (below badge) */
.project-card p{margin-left:-44px!important}
@media(max-width:800px){.project-card p{margin-left:-48px!important}}
/* Org name font size — fit longest name on one line */
.project-card h3{font-size:15px!important}

/* MOBILE CARD / MAP / SOCIAL FINISHING */
.map-link.m3{top:59.4%!important}
.map-link.m4{top:44.9%!important}
.map-link.m5{top:49.2%!important}
.map-link.m6{top:65.1%!important}
.map-link.m7{top:51.6%!important}
.map-link.m8{top:58.8%!important}
.map-link.m9{top:71.2%!important}

/* Corrected direction: move map labels 3–9 slightly downward. */
.map-link.m3{top:62.2%!important}
.map-link.m4{top:47.7%!important}
.map-link.m5{top:52.0%!important}
.map-link.m6{top:67.9%!important}
.map-link.m7{top:54.4%!important}
.map-link.m8{top:61.6%!important}
.map-link.m9{top:74.0%!important}

/* DESKTOP INTRO ORDER / MOBILE FOOTER COPYRIGHT */
@media(min-width:801px){
  .project-intro>div:first-child{transform:translateY(165px)!important}
}
@media(max-width:800px){
  .footer-main .copyright{
    position:absolute!important;left:50%!important;right:auto!important;
    top:auto!important;bottom:9px!important;margin:0!important;
    transform:translateX(-50%)!important;white-space:nowrap!important;z-index:6!important
  }
}

/* ===== Final desktop spacing for MODEL PROJECTS ===== */
@media(min-width:801px){
  .projects-section{
    margin-top:-450px!important;
    padding-top:55px!important;
  }
  .project-intro>div:first-child{
    position:absolute!important;
    top:200px!important;
    left:0!important;
    width:640px!important;
    max-width:none!important;
    transform:none!important;
  }
  .project-intro .project-subtitle{
    max-width:none!important;
    white-space:nowrap!important;
    font-size:15px!important;
  }
}
@media(max-width:800px){
  .projects-section{
    margin-top:-20px!important;
  }
  .project-intro .project-subtitle{
    white-space:normal!important;
  }
}

/* ===== ABOUT subtitle / left-aligned MODEL PROJECTS heading ===== */
.about-copy .lead{
  font-size:18px!important;
  line-height:1.8!important;
}
.projects-section>.container>.section-model-heading{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  width:245px!important;
  margin:0 0 42px!important;
  transform:none!important;
  align-items:flex-start!important;
}
@media(max-width:800px){
  .about-copy .lead{
    font-size:17px!important;
  }
  .projects-section>.container>.section-model-heading{
    width:225px!important;
    margin:0 auto 34px!important;
    align-items:center!important;
  }
}

/* ===== Circular floating photos and blue ornaments in ABOUT ===== */
.photo-cluster{
  height:420px!important;
  isolation:isolate;
}
.photo-cluster img{
  z-index:2;
  aspect-ratio:1;
  border-radius:50%!important;
  object-fit:cover!important;
}
.photo-cluster .photo-main{
  width:320px!important;
  height:320px!important;
  top:-8px!important;
  right:3%!important;
}
.photo-cluster .photo-river{
  width:162px!important;
  height:162px!important;
  left:22%!important;
  bottom:10px!important;
}
.photo-cluster .photo-falls{
  width:150px!important;
  height:150px!important;
  right:1%!important;
  bottom:12px!important;
}
.about-decor{
  position:absolute;
  display:block;
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transition:opacity .8s ease;
  will-change:transform;
}
.photo-cluster.is-visible .about-decor{
  opacity:1;
}
.about-ring{
  z-index:3;
  border:5px solid rgba(71,184,229,.7);
}
.about-ring-a{
  width:185px;
  top:-76px;
  right:-2%;
  left:auto;
  border-color:rgba(48,174,225,.8);
  animation:aboutDecorDriftA 15s ease-in-out infinite alternate;
}
.about-ring-b{
  width:230px;
  left:4%;
  bottom:5px;
  border-color:rgba(14,121,183,.58);
  animation:aboutDecorDriftB 18s ease-in-out -6s infinite alternate;
}
.about-fill{
  z-index:1;
  background:rgba(88,194,232,.25);
}
.about-fill-a{
  width:125px;
  top:-5px;
  right:auto;
  left:24%;
  background:rgba(88,194,232,.29);
  animation:aboutDecorDriftB 17s ease-in-out -4s infinite alternate;
}
.about-fill-b{
  width:210px;
  left:auto;
  right:-7%;
  bottom:-35px;
  background:rgba(32,128,191,.19);
  animation:aboutDecorDriftA 20s ease-in-out -9s infinite alternate;
}
@keyframes aboutDecorDriftA{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-12px,9px,0) scale(1.04)}
  100%{transform:translate3d(8px,-11px,0) scale(.97)}
}
@keyframes aboutDecorDriftB{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(10px,-13px,0) scale(.96)}
  100%{transform:translate3d(-9px,7px,0) scale(1.035)}
}
@media(max-width:800px){
  .photo-cluster{
    height:330px!important;
  }
  .photo-cluster .photo-main{
    width:235px!important;
    height:235px!important;
    right:4%!important;
  }
  .photo-cluster .photo-river{
    width:120px!important;
    height:120px!important;
    left:20%!important;
  }
  .photo-cluster .photo-falls{
    width:112px!important;
    height:112px!important;
    right:2%!important;
  }
  .about-ring{border-width:4px}
  .about-ring-a{width:135px;top:-52px;right:-2%;left:auto}
  .about-ring-b{width:170px;left:3%;bottom:8px}
  .about-fill-a{width:90px;top:-10px;right:auto;left:20%}
  .about-fill-b{width:155px;left:auto;right:-9%;bottom:-22px}
}
@media(prefers-reduced-motion:reduce){
  .about-decor{animation:none!important}
}

/* ===== SNS hover: border appears and icon grows ===== */
.social-bar a{
  border:2px solid transparent!important;
  box-shadow:none!important;
  transform:none!important;
  transition:border-color .28s ease, background-color .28s ease!important;
}
.social-bar a>img,
.social-bar .note-mark{
  transform:scale(1);
  transition:transform .32s cubic-bezier(.2,.75,.2,1)!important;
}
.social-bar a:hover,
.social-bar a:focus-visible{
  border-color:#55bde8!important;
  box-shadow:none!important;
  transform:none!important;
}
.social-bar a:hover>img,
.social-bar a:focus-visible>img,
.social-bar a:hover .note-mark,
.social-bar a:focus-visible .note-mark{
  transform:scale(1.12);
}

.social-bar a{font-size:13px!important}
.social-bar .note-link{font-weight:700!important}

@media(max-width:800px){
  .model-heading{top:-78px!important}
  .project-card>div:last-child{padding-left:62px!important;padding-right:45px!important}
  .project-card b{left:14px!important;top:14px!important}
}
@media(max-width:480px){
  .model-heading{top:-74px!important}
  .download{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;font-size:10.5px!important;line-height:1!important;padding:12px 14px!important;max-width:calc(100vw - 28px)!important}
  .social-bar{width:calc(100% - 24px)!important;gap:10px!important;padding:16px 12px!important}
  .social-bar strong{width:100%!important}
  .social-bar a{flex:0 0 calc(50% - 5px)!important;width:calc(50% - 5px)!important;min-width:0!important;font-size:13px!important;padding:8px 6px!important}
}

/* Keep the mobile MODEL PROJECTS label fully above the map. */
@media(max-width:800px){.model-heading{top:-88px!important}}
@media(max-width:480px){.model-heading{top:-88px!important}}

/* Desktop: place MODEL PROJECTS fully above the map artwork. */
@media(min-width:801px){.model-heading{top:-175px!important}}

/* ===== Readability and interaction refinement inspired by the reference site ===== */
body{font-size:16px}
.global-nav{font-size:15px}
.hero p{font-size:15px;line-height:1.9}
.about-copy p,.project-intro>div:first-child>p:last-child{font-size:16px;line-height:1.9}

/* Two-item news panel below the hero */
.notice-panel{
  width:min(var(--max),calc(100% - 48px));
  margin:34px auto 54px;
  padding:28px 34px 24px;
  border-top:3px solid var(--blue);
  background:#fff;
}
.notice-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.notice-panel-head h2{
  margin:0;
  color:var(--deep);
  font-size:clamp(26px,3vw,38px);
  line-height:1.2;
  letter-spacing:.04em;
}
.notice-panel-list{border-top:1px solid #a8d5eb}
.notice-panel-list>a{
  display:grid;
  grid-template-columns:120px 92px minmax(0,1fr);
  align-items:center;
  gap:20px;
  min-height:58px;
  padding:10px 4px;
  border-bottom:1px solid #a8d5eb;
  font-size:16px;
  transition:color .2s,background-color .2s;
}
.notice-panel-list>a:hover{color:var(--blue);background:#f4fbfe}
.notice-panel-list time{color:#467187;font-size:14px}
.notice-panel-list strong{
  display:inline-flex;
  justify-content:center;
  padding:4px 10px;
  border-radius:99px;
  background:#e3f4fb;
  color:var(--deep);
  font-size:12px;
}

/* Shared buttons: slight shadow, then light-blue fill and a small downward motion */
.ui-button,.pill-links a,.download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:45px;
  padding:9px 18px;
  border:1px solid #65bce4;
  border-radius:7px;
  background:#fff;
  color:var(--deep);
  box-shadow:0 3px 0 rgba(8,118,184,.16);
  font-size:15px;
  font-weight:800;
  transition:transform .2s,background-color .2s,color .2s,border-color .2s,box-shadow .2s;
}
.ui-button:hover,.pill-links a:hover,.download:hover{
  transform:translateY(3px);
  border-color:transparent;
  background:#bfe9f8;
  color:#035f98;
  box-shadow:none;
}
.notice-all{white-space:nowrap}
.notice-all i{font-style:normal;transition:transform .2s}
.notice-all:hover i{transform:translateX(3px)}
.download{margin-top:10px}

/* Readable, underlined key message */
.about-emphasis{
  margin:22px 0 25px!important;
  color:#174b69;
  font:700 clamp(20px,2.25vw,29px)/1.8 "Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif!important;
  letter-spacing:.035em;
}
.about-emphasis span{
  padding:0 .08em .13em;
  background:linear-gradient(transparent 70%,#bdeaf8 70%);
}

/* Related links and related projects: rounded visual cards with zooming images */
.link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.link-grid a,.product-grid a{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
}
.link-grid a>img:first-child,.product-grid a>img:first-child{
  width:100%;
  aspect-ratio:1.75;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.75,.25,1);
}
.link-grid a:hover>img:first-child,.product-grid a:hover>img:first-child{transform:scale(1.07)}
.link-grid span,.product-grid span{
  position:relative;
  isolation:isolate;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start;
  min-height:58px!important;
  margin:15px;
  padding:11px 44px 11px 15px!important;
  overflow:hidden;
  border:1px solid #76c3e5;
  border-radius:7px;
  background:#fff;
  color:var(--deep);
  font-size:15px;
  font-weight:800;
  line-height:1.5;
  box-shadow:0 3px 0 rgba(8,118,184,.14);
  transition:color .32s,border-color .32s,transform .2s,box-shadow .2s;
}
.link-grid span::before,.product-grid span::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 100% 0 0;
  background:#63bee6;
  transition:inset .38s cubic-bezier(.2,.75,.25,1);
}
.link-grid a:hover span,.product-grid a:hover span{
  transform:translateY(2px);
  border-color:#63bee6;
  color:#fff;
  box-shadow:none;
}
.link-grid a:hover span::before,.product-grid a:hover span::before{inset:0}
.link-grid a>.external-icon,.product-grid a>.external-icon{
  right:29px!important;
  bottom:35px!important;
  filter:invert(32%) sepia(92%) saturate(1110%) hue-rotate(165deg) brightness(88%) contrast(101%)!important;
  transition:transform .25s,filter .25s!important;
}
.link-grid a:hover>.external-icon,.product-grid a:hover>.external-icon{
  transform:translate(2px,-2px)!important;
  filter:brightness(0) invert(1)!important;
}

/* Fixed page-top button */
.back-to-top{
  position:fixed;
  z-index:50;
  right:24px;
  bottom:24px;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid #6fc2e5;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  box-shadow:0 3px 10px rgba(0,72,115,.15);
  color:var(--blue);
  transition:transform .2s,background-color .2s,color .2s;
}
.back-to-top span{
  width:13px;
  height:13px;
  border-top:2px solid currentColor;
  border-left:2px solid currentColor;
  transform:translateY(3px) rotate(45deg);
}
.back-to-top:hover{transform:translateY(-3px);background:var(--blue);color:#fff}

@media(max-width:800px){
  .hero p{font-size:13px}
  .about-copy p,.project-intro>div:first-child>p:last-child{font-size:15px}
  .notice-panel{width:calc(100% - 32px);margin:22px auto 42px;padding:22px 18px 18px}
  .notice-panel-list>a{grid-template-columns:92px minmax(0,1fr);gap:10px;font-size:14px}
  .notice-panel-list strong{display:none}
  .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .link-grid span,.product-grid span{margin:11px;font-size:14px}
  .link-grid a>.external-icon,.product-grid a>.external-icon{right:22px!important;bottom:31px!important}
  .back-to-top{right:14px;bottom:14px;width:49px;height:49px}
}
@media(max-width:480px){
  .notice-panel-head h2{font-size:25px}
  .notice-all{min-height:40px;padding:7px 13px;font-size:13px}
  .notice-panel-list>a{grid-template-columns:76px minmax(0,1fr);font-size:13px}
  .notice-panel-list time{font-size:11px}
  .link-grid{grid-template-columns:1fr}
  .link-grid span,.product-grid span{font-size:15px}
}

/* ===== July 24 layout refinement ===== */

/* ABOUT: keep the original copy and improve readability through type alone. */
.about-copy p{
  font-size:17px!important;
  line-height:2.05!important;
}
.about-copy .lead{
  margin:12px 0 24px;
  font-size:14px!important;
  line-height:1.8!important;
}
.pill-links{gap:14px}
.pill-links a{
  min-height:42px;
  padding:8px 9px 8px 19px;
  border-radius:999px!important;
}

/* Latest information: heading, two rows and the list button sit side by side. */
.notice-panel{
  display:grid;
  grid-template-columns:minmax(150px,.55fr) minmax(0,3.8fr) auto;
  align-items:stretch;
  gap:24px;
  margin-top:38px;
  padding:0;
  border-top:0;
}
.notice-panel-head{display:contents}
.notice-panel-head h2{
  align-self:center;
  grid-column:1;
  font-size:clamp(25px,2.4vw,34px);
}
.notice-panel-list{
  align-self:center;
  grid-column:2;
  border:0;
}
.notice-panel-list>a{
  grid-template-columns:110px 90px minmax(0,1fr) 22px;
  min-height:54px;
  padding:8px 12px;
  border:0;
  font-size:16px;
}
.notice-panel-list>a::after{
  content:"→";
  justify-self:end;
  color:var(--blue);
  transition:transform .2s;
}
.notice-panel-list>a:hover{
  background:#eef9fd;
  color:var(--deep);
}
.notice-panel-list>a:hover::after{transform:translateX(3px)}
.notice-all{
  align-self:stretch;
  grid-column:3;
  grid-row:1;
  min-width:118px;
  border:0;
  border-radius:12px;
  background:#59c1e8;
  color:#fff;
  box-shadow:none;
}
.notice-all:hover{
  transform:none;
  background:#0876b5;
  color:#fff;
}
.notice-all:hover i{transform:none}

/* Model project list: pale-blue field with white, rounded cards. */
.project-list{
  padding:30px;
  border-radius:28px;
  background:#edf8fd;
}
.project-card{
  min-height:150px!important;
  border:2px solid transparent!important;
  border-radius:18px!important;
  background:#fff!important;
  transition:border-color .25s ease!important;
}
.project-card:hover{
  border-color:#5abce6!important;
  background:#fff!important;
}
.project-card>img,
.project-card>.placeholder{
  margin:10px;
  width:calc(100% - 20px);
  height:calc(100% - 20px);
  border-radius:13px;
  transform-origin:center;
  transition:transform .45s cubic-bezier(.2,.75,.25,1)!important;
}
.project-card:hover>img{transform:scale(1.055)!important}
.project-card>div:last-child{background:#fff}

/* RELATED: four across, with a clearly separated image and button. */
.link-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
  align-items:start;
}
.link-grid a{
  overflow:visible;
  border-radius:18px;
  background:transparent;
}
.link-grid .card-image,
.product-grid .card-image{
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:0!important;
  border-radius:18px;
  background:transparent!important;
  box-shadow:none!important;
}
.link-grid .card-image::before,
.product-grid .card-image::before{display:none}
.link-grid .card-image img,
.product-grid .card-image img{
  display:block;
  width:100%;
  aspect-ratio:1.75;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.75,.25,1);
}
.link-grid a:hover .card-image img,
.product-grid a:hover .card-image img{transform:scale(1.07)}
.link-grid .card-button{
  min-height:58px!important;
  margin:-10px 14px 0;
  border-radius:999px;
  background:#fff;
  font-size:clamp(12px,1.1vw,15px);
}
.link-grid a>.external-icon{
  right:31px!important;
  bottom:20px!important;
}

/* PRODUCTS: image and button are distinct; the centre card is stepped down. */
.product-grid{
  align-items:start;
  gap:38px;
  padding-bottom:52px;
}
.product-grid a{
  overflow:visible;
  border-radius:22px;
  background:transparent;
}
.product-grid a:nth-child(2){margin-top:50px}
.product-grid .card-image{border-radius:22px}
.product-grid .card-button{
  min-height:62px!important;
  margin:-12px 20px 0;
  border-radius:999px;
  background:#fff;
  text-align:left;
}
.product-grid a>.external-icon{
  right:37px!important;
  bottom:21px!important;
}

@media(max-width:1000px){
  .notice-panel{
    grid-template-columns:135px minmax(0,1fr) 100px;
    gap:15px;
  }
  .notice-panel-list>a{
    grid-template-columns:96px minmax(0,1fr) 20px;
    gap:12px;
  }
  .notice-panel-list strong{display:none}
  .link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .about-copy p{font-size:15px!important;line-height:1.95!important}
  .notice-panel{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    padding:0;
  }
  .notice-panel-head{display:contents}
  .notice-panel-head h2{grid-column:1}
  .notice-all{grid-column:2;grid-row:1;min-width:92px}
  .notice-panel-list{grid-column:1/-1}
  .project-list{padding:18px}
  .project-card>img,.project-card>.placeholder{
    margin:8px;
    width:calc(100% - 16px);
    height:calc(100% - 16px);
  }
  .product-grid a:nth-child(2){margin-top:0}
}
@media(max-width:560px){
  .notice-panel-head h2{font-size:24px}
  .notice-panel-list>a{
    grid-template-columns:76px minmax(0,1fr) 18px;
    gap:8px;
    padding:8px 2px;
    font-size:13px;
  }
  .notice-all{min-width:82px;padding:7px 10px}
  .project-list{padding:12px;border-radius:20px}
  .link-grid{grid-template-columns:1fr}
  .link-grid span,.product-grid span{margin-left:12px;margin-right:12px}
}

/* ===== Follow-up: full-width list field and fully separated media/buttons ===== */

/* The pale-blue model-project field reaches both viewport edges. */
.project-list{
  position:relative;
  z-index:0;
  border-radius:0;
  background:transparent;
  box-shadow:0 0 0 100vmax #edf8fd;
  clip-path:inset(0 -100vmax);
}

/* RELATED / PRODUCTS have no card-shaped background behind the two parts. */
.link-grid a,
.link-grid a:hover,
.product-grid a,
.product-grid a:hover{
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.link-grid .card-image,
.product-grid .card-image{
  position:relative;
  z-index:1;
}
.link-grid .card-button,
.product-grid .card-button{
  position:relative;
  z-index:2;
  width:auto;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* External-link marks are omitted in this presentation. */
.link-grid a>.external-icon,
.product-grid a>.external-icon{display:none!important}

/* Keep RELATED button labels on one line. */
.link-grid .card-button{
  justify-content:center;
  padding-right:15px!important;
  font-size:clamp(10px,1vw,14px);
}

/* RELATED keeps the left-to-right colour fill. */
.link-grid a:hover .card-button{color:#fff}

/* PRODUCTS uses the same down-and-fill motion as the ABOUT capsule buttons. */
.product-grid .card-button::before{display:none!important}
.product-grid .card-button{
  justify-content:center;
  padding-left:16px!important;
  padding-right:16px!important;
  text-align:center;
}
.product-grid a:hover .card-button{
  transform:translateY(3px)!important;
  border-color:transparent!important;
  background:#bfe9f8!important;
  color:#035f98!important;
  box-shadow:none!important;
}

@media(max-width:800px){
  .project-list{padding-top:22px;padding-bottom:22px}
  .link-grid .card-button{font-size:14px}
}

/* ===== July 24 final alignment ===== */

.project-intro .project-subtitle{
  margin:4px 0 20px;
  color:#31556b;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:16px;
  line-height:1.7;
}
.project-intro .project-description{
  max-width:440px;
  margin:0 0 18px;
  font-size:16px;
  line-height:1.9;
}
@media(max-width:800px){
  .project-intro .project-subtitle,
  .project-intro .project-description{
    max-width:none;
  }
  .project-intro .project-description{
    font-size:15px;
    line-height:1.95;
  }
}

/* The list field itself and the full-bleed area use one continuous blue. */
.project-list{
  background:#edf8fd!important;
}

/* Only the list button links; the two information rows remain static. */
.notice-panel-list>div{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:20px;
  min-height:54px;
  padding:8px 12px;
  border:0;
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
}
.notice-panel-list>div+div{border-top:1px solid #d4e9f3}
.notice-panel-list>div time{color:#467187;font-size:14px}

/* Shared button movement is intentionally subtle. */
.ui-button:hover,
.pill-links a:hover,
.download:hover{
  transform:translateY(1px)!important;
}
.notice-all:hover{transform:none!important}
.link-grid a:hover .card-button,
.product-grid a:hover .card-button{
  transform:translateY(1px)!important;
}

/* Make the two ABOUT navigation capsules easier to read and tap. */
.pill-links a{
  min-height:50px!important;
  padding:11px 14px 11px 23px!important;
  font-size:16px!important;
}

/* Related-business buttons change only very lightly on hover. */
.product-grid a:hover .card-button{
  border-color:#a9dcef!important;
  background:#eef9fd!important;
  color:#035f98!important;
}

@media(max-width:1000px){
  .notice-panel-list>div{
    grid-template-columns:96px minmax(0,1fr);
    gap:12px;
  }
}

/* ===== Final RELATED / PRODUCTS heading and spacing correction ===== */

/* Use live text so both headings follow exactly the same scale as ABOUT. */
.text-title{
  font-size:clamp(42px,5vw,65px)!important;
  line-height:1!important;
}

/* Give the visual cards a little more breathing room. */
.link-grid{gap:36px 34px!important}
.product-grid{gap:46px!important}
.product-section{padding-top:72px!important}

@media(max-width:800px){
  .text-title{font-size:44px!important}
  .link-grid{gap:25px 20px!important}
  .product-grid{gap:28px!important}
  .product-section{padding-top:62px!important}
}

@media(max-width:560px){
  .link-grid{gap:28px!important}
}

/* ===== Final type, spacing and mobile-card alignment ===== */

/* RELATED / PRODUCTS titles use the same visual height as ABOUT. */
.image-title>img,
.image-title.products-heading>img{
  width:auto!important;
  height:clamp(50px,5vw,65px)!important;
  max-width:90vw!important;
}

/* Bring the three related-business cards closer to their heading. */
.product-section .section-title{
  margin-bottom:22px!important;
}

/* Match the model-project introduction copy to the ABOUT body rhythm. */
.project-intro>div:first-child>p:last-child{
  font-size:17px!important;
  line-height:2.05!important;
}

@media(max-width:800px){
  .image-title>img,
  .image-title.products-heading>img{
    height:44px!important;
  }

  /*
   * The number/title group keeps room on the left, while the paragraph below
   * reaches equally close to both card edges.
   */
  .project-card>div:last-child{
    padding:13px 16px 12px 58px!important;
  }
  .project-card p{
    margin-left:-44px!important;
    margin-right:0!important;
  }
  .project-intro>div:first-child>p:last-child{
    font-size:15px!important;
    line-height:1.95!important;
  }
}
@media(max-width:560px){
  .notice-panel-list>div{
    grid-template-columns:76px minmax(0,1fr);
    gap:8px;
    padding:8px 2px;
    font-size:13px;
  }
  .notice-panel-list>div time{font-size:11px}
  .pill-links a{
    min-height:46px!important;
    padding:9px 11px 9px 17px!important;
    font-size:14px!important;
  }
}

/* ===== Clearer SNS buttons, retaining the existing light outline style ===== */
.social-bar a{
  min-height:46px!important;
  gap:10px!important;
  padding:7px 18px!important;
  font-size:15px!important;
  font-weight:700;
}
.social-bar a>img{
  width:27px!important;
  height:27px!important;
  flex:0 0 27px;
}
.social-bar .note-mark{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:27px;
  flex:0 0 40px;
  color:#111;
  font:700 13px/1 Arial,sans-serif;
  letter-spacing:.08em;
}

@media(max-width:800px){
  .social-bar a{
    min-height:50px!important;
    padding:8px 10px!important;
    font-size:14px!important;
  }
  .social-bar a>img{
    width:26px!important;
    height:26px!important;
  }
}

/* ===== SNS icon above / service name below ===== */
.social-bar a{
  flex-direction:column!important;
  min-width:132px!important;
  min-height:78px!important;
  gap:5px!important;
  padding:9px 16px 8px!important;
  line-height:1.15;
}
.social-bar a>img{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
}
.social-bar a>span:last-child{
  display:block;
  font-size:13px;
  font-weight:700;
}
.social-bar .note-mark{
  width:auto!important;
  height:38px!important;
  flex-basis:38px!important;
  color:#111;
  font-size:18px!important;
  letter-spacing:.12em;
}

@media(max-width:800px){
  .social-bar a{
    flex:0 0 calc(50% - 5px)!important;
    width:calc(50% - 5px)!important;
    min-width:0!important;
    min-height:76px!important;
    padding:8px 6px!important;
  }
  .social-bar a>img{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .social-bar .note-mark{
    height:36px!important;
    flex-basis:36px!important;
  }
}

@media(max-width:560px){
  .social-bar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .social-bar strong{
    grid-column:1 / -1;
  }
  .social-bar a{
    width:100%!important;
    min-width:0!important;
  }
}

/* ===== Slowly drifting water rings around the hero ===== */
.hero-rings{
  position:absolute;
  z-index:3;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.hero-rings::before,
.hero-rings::after{
  content:"";
  position:absolute;
  display:block;
  aspect-ratio:1;
  border-radius:50%;
  will-change:transform,border-radius;
}
.hero-rings::before{
  width:clamp(250px,28vw,480px);
  top:-18%;
  right:-8%;
  background:rgba(43,183,225,.42);
  animation:heroFilledDrift1 18s ease-in-out infinite alternate;
}
.hero-rings::after{
  width:clamp(180px,20vw,340px);
  left:-7%;
  bottom:-10%;
  background:rgba(0,105,180,.28);
  animation:heroFilledDrift2 21s ease-in-out -7s infinite alternate;
}
.hero-ring{
  position:absolute;
  display:block;
  border:5px solid rgba(73,190,232,.84);
  border-radius:47% 53% 49% 51% / 52% 45% 55% 48%;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.35));
  transform-origin:center;
  will-change:transform,border-radius;
}
.hero-ring-1{
  width:clamp(190px,19vw,330px);
  aspect-ratio:1;
  top:14%;
  right:-4%;
  border-color:rgba(117,213,241,.82);
  animation:heroRingDrift1 14s ease-in-out infinite alternate;
}
.hero-ring-2{
  width:clamp(125px,12vw,210px);
  aspect-ratio:1;
  right:18%;
  bottom:11%;
  border-color:rgba(14,121,183,.58);
  animation:heroRingDrift2 17s ease-in-out -5s infinite alternate;
}
.hero-ring-3{
  width:clamp(150px,15vw,250px);
  aspect-ratio:1;
  left:-3%;
  bottom:15%;
  border-color:rgba(72,177,222,.58);
  animation:heroRingDrift3 19s ease-in-out -9s infinite alternate;
}
@keyframes heroRingDrift1{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1);border-radius:47% 53% 49% 51% / 52% 45% 55% 48%}
  50%{transform:translate3d(-18px,14px,0) rotate(8deg) scale(1.035);border-radius:54% 46% 56% 44% / 45% 55% 47% 53%}
  100%{transform:translate3d(9px,-12px,0) rotate(-6deg) scale(.98);border-radius:43% 57% 46% 54% / 57% 44% 56% 43%}
}
@keyframes heroRingDrift2{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1);border-radius:51% 49% 44% 56% / 48% 57% 43% 52%}
  50%{transform:translate3d(12px,-17px,0) rotate(-10deg) scale(.96);border-radius:45% 55% 52% 48% / 56% 46% 54% 44%}
  100%{transform:translate3d(-14px,8px,0) rotate(7deg) scale(1.04);border-radius:56% 44% 48% 52% / 43% 54% 46% 57%}
}
@keyframes heroRingDrift3{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(1);border-radius:46% 54% 52% 48% / 55% 47% 53% 45%}
  50%{transform:translate3d(20px,-8px,0) rotate(11deg) scale(1.03);border-radius:55% 45% 47% 53% / 46% 56% 44% 54%}
  100%{transform:translate3d(5px,15px,0) rotate(-8deg) scale(.97);border-radius:49% 51% 57% 43% / 53% 42% 58% 47%}
}
@keyframes heroFilledDrift1{
  0%{transform:translate3d(0,0,0) scale(1);border-radius:50%}
  50%{transform:translate3d(-22px,17px,0) scale(1.035);border-radius:46% 54% 51% 49% / 53% 47% 55% 45%}
  100%{transform:translate3d(10px,-9px,0) scale(.98);border-radius:54% 46% 47% 53% / 45% 55% 48% 52%}
}
@keyframes heroFilledDrift2{
  0%{transform:translate3d(0,0,0) scale(1);border-radius:50%}
  50%{transform:translate3d(24px,-15px,0) scale(.97);border-radius:53% 47% 55% 45% / 48% 52% 46% 54%}
  100%{transform:translate3d(-8px,10px,0) scale(1.04);border-radius:45% 55% 48% 52% / 54% 46% 53% 47%}
}
@media(max-width:800px){
  .hero-ring{border-width:3.5px}
  .hero-rings::before{width:250px;top:-55px;right:-120px}
  .hero-rings::after{width:185px;left:-100px;bottom:-30px}
  .hero-ring-1{width:190px;top:14%;right:-75px}
  .hero-ring-2{width:120px;right:-18px;bottom:18%}
  .hero-ring-3{width:145px;left:-72px;bottom:10%}
}
@media(prefers-reduced-motion:reduce){
  .hero-ring,
  .hero-rings::before,
  .hero-rings::after{animation:none}
}

/* ===== Fixed header and unclipped lower-left hero decoration ===== */
body{
  padding-top:82px;
}
.site-header{
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
  box-shadow:0 2px 12px rgba(0,71,108,.08);
}
.hero,
.hero-rings{
  overflow:visible!important;
}
.notice-panel{
  position:relative;
}
section[id]{
  scroll-margin-top:104px;
}
#news{
  scroll-margin-top:104px;
}
@media(max-width:800px){
  body{padding-top:68px}
  section[id]{scroll-margin-top:88px}
  #news{scroll-margin-top:88px}
}

/* Keep the hero ornaments visible vertically without widening the page. */
html,
body{
  overflow-x:hidden;
  overflow-x:clip;
}

/* Match the PDF button to the latest-information list button. */
.download{
  border:0!important;
  border-radius:12px!important;
  background:#59c1e8!important;
  color:#fff!important;
  box-shadow:none!important;
}
.download:hover{
  transform:none!important;
  border-color:transparent!important;
  background:#0876b5!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* RELATED / PRODUCTS wave backgrounds enter once from left on scroll. */
.related-full-bg{
  opacity:.15;
  transform:translate3d(-85%,0,0);
  will-change:transform,opacity;
}
.product-full-bg{
  opacity:.15;
  transform:translate3d(-15%,0,0);
  will-change:transform,opacity;
}
.related-full-bg.is-wave-visible{
  animation:waveBackgroundSlideIn 1.65s cubic-bezier(.2,.72,.18,1) both;
}
.product-full-bg.is-wave-visible{
  animation:waveBackgroundSlideInFromRight 1.65s cubic-bezier(.2,.72,.18,1) both;
}
@keyframes waveBackgroundSlideIn{
  0%{
    opacity:.15;
    transform:translate3d(-85%,0,0);
  }
  100%{
    opacity:1;
    transform:translate3d(-50%,0,0);
  }
}
@keyframes waveBackgroundSlideInFromRight{
  0%{
    opacity:.15;
    transform:translate3d(-15%,0,0);
  }
  100%{
    opacity:1;
    transform:translate3d(-50%,0,0);
  }
}
@media(prefers-reduced-motion:reduce){
  .related-full-bg,
  .product-full-bg,
  .related-full-bg.is-wave-visible,
  .product-full-bg.is-wave-visible{
    opacity:1;
    transform:translate3d(-50%,0,0);
    animation:none!important;
  }
}
@media(max-width:800px){
  img.product-full-bg{
    bottom:24px!important;
  }
}

/* ===== Continuously moving project-image hero ===== */
.hero-marquee{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  background:#dceef5;
}
.hero-marquee-track{
  display:flex;
  width:max-content;
  height:100%;
  animation:heroProjectMarquee 115s linear infinite;
  will-change:transform;
}
.hero-marquee-group{
  display:flex;
  flex:none;
  height:100%;
  gap:0;
  padding-right:0;
}
.hero-marquee-group img{
  flex:none;
  width:clamp(480px,45vw,840px);
  height:100%;
  max-width:none;
  object-fit:cover;
}
@keyframes heroProjectMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:800px){
  .hero-marquee-group{
    gap:0;
    padding-right:0;
  }
  .hero-marquee-group img{
    width:114vw;
  }
  .hero-marquee-track{
    animation-duration:100s;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-marquee-track{
    animation:none;
  }
}

/* ===== Large logo wave at page top / compact fixed header after scroll ===== */
@media(min-width:801px){
  body{
    padding-top:82px;
  }
  .site-header{
    height:82px!important;
    padding-left:clamp(36px,3vw,48px)!important;
    box-shadow:none;
    overflow:visible;
    transition:box-shadow .42s ease;
  }
  .site-header::before{
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    left:0;
    width:min(680px,68vw);
    height:180px;
    background:url("../images/header-logo-wave.svg") left top/100% 100% no-repeat;
    transform-origin:left top;
    transition:height .42s ease, opacity .3s ease;
    pointer-events:none;
  }
  .site-header .brand{
    position:relative;
    z-index:1;
    gap:18px;
    transform:translateY(26px);
    transition:transform .42s ease, gap .42s ease;
  }
  .site-header .brand-icon{
    width:54px!important;
    height:72px!important;
    transition:width .42s ease, height .42s ease;
  }
  .site-header .brand-title{
    width:280px!important;
    transition:width .42s ease;
  }
  .site-header .global-nav{
    position:relative;
    z-index:1;
    gap:54px;
    font-size:14px;
  }
  .site-header.is-scrolled{
    height:82px!important;
    box-shadow:0 2px 12px rgba(0,71,108,.08);
  }
  .site-header.is-scrolled::before{
    height:82px;
    opacity:0;
  }
  .site-header.is-scrolled .brand{
    gap:8px;
    transform:translateY(0);
  }
  .site-header.is-scrolled .brand-icon{
    width:30px!important;
    height:40px!important;
  }
  .site-header.is-scrolled .brand-title{
    width:145px!important;
  }
}

/* Final type adjustment: keep the ABOUT subtitle visibly larger. */
.about-copy .lead{
  font-size:18px!important;
  line-height:1.8!important;
}
@media(max-width:800px){
  .about-copy .lead{
    font-size:17px!important;
  }
}

/* ===== MODEL PROJECTS heading: equal type, breathing room above, no map gap ===== */
.projects-section{
  padding-top:120px!important;
}
.map-wrap>.section-model-heading{
  position:absolute!important;
  z-index:5!important;
  top:34px!important;
  right:auto!important;
  bottom:auto!important;
  left:0!important;
  width:auto!important;
  margin:0!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.map-wrap>.section-model-heading span{
  display:block;
  color:var(--deep);
  font:800 clamp(52px,5vw,72px)/.93 Arial,sans-serif;
  letter-spacing:0;
}
@media(max-width:800px){
  .projects-section{
    padding-top:90px!important;
  }
  .map-wrap>.section-model-heading{
    top:12px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    align-items:center!important;
  }
  .map-wrap>.section-model-heading span{
    font-size:clamp(38px,10vw,52px);
  }
}

/* MODEL PROJECTS: match the ABOUT drop and give the desktop copy a wider measure. */
.project-intro h2 .drop.small{
  width:27px!important;
  height:36px!important;
  margin-right:12px!important;
  vertical-align:-9px!important;
}
@media(min-width:801px){
  .project-intro>div:first-child{
    width:min(900px,calc(100vw - 180px))!important;
  }
  .project-intro .project-subtitle{
    width:100%!important;
    max-width:none!important;
    white-space:normal!important;
  }
}

/* ===== Stable MODEL PROJECTS flow: remove legacy absolute/negative positioning ===== */
.about-section{
  padding-bottom:30px!important;
}
.projects-section{
  margin-top:0!important;
  padding-top:45px!important;
}
.projects-section>.container>.section-model-heading{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  margin:0 0 28px!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.projects-section>.container>.section-model-heading span{
  display:block!important;
  color:var(--deep)!important;
  font:800 clamp(52px,5vw,72px)/.93 Arial,sans-serif!important;
  letter-spacing:0!important;
}
.project-intro{
  display:block!important;
  position:relative!important;
  min-height:0!important;
  margin:0 0 28px!important;
}
.project-intro>div:first-child{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0 0 8px!important;
  transform:none!important;
}
.project-intro h2{
  margin:0 0 5px!important;
}
.project-intro .project-subtitle{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 8px!important;
  white-space:normal!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.project-intro .map-wrap{
  position:relative!important;
  width:100%!important;
  max-width:1100px!important;
  margin:0 auto!important;
  transform:none!important;
}
@media(max-width:800px){
  .about-section{
    padding-bottom:25px!important;
  }
  .projects-section{
    margin-top:0!important;
    padding-top:42px!important;
  }
  .projects-section>.container>.section-model-heading{
    margin:0 auto 25px!important;
    align-items:center!important;
  }
  .projects-section>.container>.section-model-heading span{
    font-size:clamp(38px,10vw,52px)!important;
  }
  .project-intro>div:first-child{
    padding:0 12px!important;
    margin-bottom:14px!important;
  }
}

/* Desktop: start MODEL PROJECTS and the map on the same horizontal line. */
@media(min-width:801px){
  .about-section{
    padding-bottom:42px!important;
  }
  .projects-section{
    margin-top:0!important;
    padding-top:82px!important;
  }
  .projects-section>.container{
    position:relative!important;
  }
  .projects-section>.container>.section-model-heading{
    position:absolute!important;
    z-index:6!important;
    top:0!important;
    left:0!important;
    margin:0!important;
  }
  .project-intro{
    position:relative!important;
    min-height:0!important;
    margin:0 0 28px!important;
  }
  .project-intro>div:first-child{
    position:absolute!important;
    z-index:6!important;
    top:185px!important;
    left:0!important;
    width:min(900px,calc(100vw - 180px))!important;
    margin:0!important;
    padding:0!important;
  }
  .project-intro .project-subtitle{
    width:900px!important;
    max-width:calc(100vw - 180px)!important;
    white-space:nowrap!important;
  }
  .project-intro .map-wrap{
    position:relative!important;
    width:100%!important;
    max-width:1100px!important;
    margin:0 auto!important;
  }
}

/* Long official PDF labels in ABOUT. */
.about-copy .pill-links{
  flex-direction:column;
  align-items:stretch;
}
.about-copy .pill-links a{
  width:100%;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 14px 11px 20px;
  border-radius:999px;
  white-space:normal;
  line-height:1.55;
  border-width:3px;
}
.about-copy .pill-links a span{
  flex:0 0 20px;
  margin-left:auto;
}

/* ===== Final mobile heading and map correction ===== */
@media(max-width:800px){
  .about-copy h3,
  .project-intro h2{
    font-size:clamp(23px,6.4vw,25px)!important;
    line-height:1.55!important;
    letter-spacing:.025em!important;
  }
  .projects-section .project-intro .map-wrap{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    height:auto!important;
    aspect-ratio:1596/1326!important;
    margin:24px auto 0!important;
    transform:none!important;
    overflow:visible!important;
  }
  .projects-section .map-wrap>.projects-map{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
  .projects-section .map-wrap>.map-links{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
  }
}
@media(max-width:480px){
  .about-copy h3,
  .project-intro h2{
    font-size:23px!important;
  }
}

/* ===== R7 / R8 MODEL PROJECTS switcher ===== */
.projects-section [hidden]{display:none!important}
.project-year-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.project-year-tabs button{
  min-width:126px;
  min-height:42px;
  padding:8px 20px;
  border:2px solid #58bde6;
  border-radius:999px;
  background:#fff;
  color:#0873b4;
  font:700 14px/1.2 "Noto Sans JP","Yu Gothic",sans-serif;
  cursor:pointer;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.project-year-tabs button:hover{transform:translateY(1px)}
.project-year-tabs button:focus-visible{
  outline:3px solid rgba(8,115,180,.28);
  outline-offset:3px;
}
.project-year-tabs button[data-project-year="r8"][aria-selected="true"]{
  border-color:#0873b4;
  background:#0873b4;
  color:#fff;
}
.project-year-tabs button[data-project-year="r7"][aria-selected="true"]{
  border-color:#079987;
  background:#079987;
  color:#fff;
}
.projects-section .project-intro .map-wrap{
  aspect-ratio:1665/1089!important;
  overflow:visible!important;
}
.project-year-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.project-year-map picture{
  display:block;
  width:100%;
  height:100%;
}
.project-year-map .projects-map{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
.project-year-map .year-map-links{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  z-index:5!important;
}
.project-year-map .year-map-links .map-link{
  width:5.4%!important;
  height:auto!important;
  aspect-ratio:1!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%)!important;
  background:transparent!important;
}
.project-year-map .year-map-links .map-link:hover{
  background:rgba(255,255,255,.24)!important;
  box-shadow:0 0 0 3px rgba(8,115,180,.18)!important;
}
.project-year-map .r8-map-links .m1{left:57.6%!important;top:37.4%!important}
.project-year-map .r8-map-links .m2{left:57.2%!important;top:47.3%!important}
.project-year-map .r8-map-links .m3{left:50.6%!important;top:61.2%!important}
.project-year-map .r8-map-links .m4{left:40.6%!important;top:55.6%!important}
.project-year-map .r8-map-links .m5{left:47%!important;top:58.5%!important}
.project-year-map .r8-map-links .m6{left:41.6%!important;top:62.1%!important}
.project-year-map .r8-map-links .m7{left:36.2%!important;top:62.2%!important}
.project-year-map .r8-map-links .m8{left:19.3%!important;top:65.6%!important}
.project-year-map .r8-map-links .m9{left:24.4%!important;top:76%!important}
.project-year-map .r8-map-links .m10{left:67%!important;top:79.4%!important}
.project-year-map .r7-map-links .m1{left:67.7%!important;top:23.2%!important}
.project-year-map .r7-map-links .m2{left:61%!important;top:39.3%!important}
.project-year-map .r7-map-links .m3{left:34.2%!important;top:67.8%!important}
.project-year-map .r7-map-links .m4{left:33.4%!important;top:63%!important}
.project-year-map .r7-map-links .m5{left:30.1%!important;top:63.2%!important}
.project-year-map .r7-map-links .m6{left:24.4%!important;top:70.9%!important}
.project-year-map .r7-map-links .m7{left:15.4%!important;top:75.9%!important}
.project-year-map .r7-map-links .m8{left:12.4%!important;top:86.8%!important}
.project-year-map .r7-map-links .m9{left:74.5%!important;top:67.7%!important}
.project-year-map .r7-map-links .m10{left:68.5%!important;top:76.9%!important}
.project-card[id^="r7-project-"]{scroll-margin-top:120px}

@media(max-width:800px){
  .project-year-tabs{
    justify-content:center;
    margin-top:14px;
  }
  .project-year-tabs button{
    min-width:118px;
    min-height:40px;
    padding:7px 17px;
    font-size:13px;
  }
  .projects-section .project-intro .map-wrap{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    aspect-ratio:1665/1089!important;
    margin:24px auto 0!important;
  }
.project-year-map .year-map-links .map-link{
    width:9%!important;
  }
}

/* Final map canvas, links and R7 colors. Keep this block last. */
.project-year-tabs button[data-project-year="r7"][aria-selected="true"]{border-color:#009481!important;background:#009481!important}
.projects-section .project-intro .map-wrap{aspect-ratio:2048/1359!important}
.project-year-map .year-map-links .map-link{position:absolute!important;display:block!important;box-sizing:border-box!important;transition:background-color .2s ease,box-shadow .2s ease!important}
.project-card[id^="project-"],.project-card[id^="r7-project-"]{scroll-margin-top:120px}
#project-list-r7 .project-card b{background:#009481!important}
#project-list-r7 .project-card:hover,#project-list-r7 .project-card:focus-within{border-color:#009481!important}
@media(min-width:801px){
  .project-year-map .year-map-links .map-link{height:4.8%!important;aspect-ratio:auto!important;border-radius:7px!important;transform:none!important;background:transparent!important;box-shadow:none!important}
  .project-year-map .r8-map-links .map-link:hover,.project-year-map .r8-map-links .map-link:focus-visible{background:rgba(8,115,180,.14)!important;box-shadow:0 0 0 2px rgba(8,115,180,.2)!important}
  .project-year-map .r7-map-links .map-link:hover,.project-year-map .r7-map-links .map-link:focus-visible{background:rgba(0,148,129,.15)!important;box-shadow:0 0 0 2px rgba(0,148,129,.22)!important}
  .project-year-map .r8-map-links .m1{left:53.5%!important;top:38.5%!important;width:12%!important}.project-year-map .r8-map-links .m2{left:52.5%!important;top:47.3%!important;width:15%!important}.project-year-map .r8-map-links .m3{left:49.5%!important;top:62%!important;width:23%!important}.project-year-map .r8-map-links .m4{left:34%!important;top:51%!important;width:13%!important}.project-year-map .r8-map-links .m5{left:52%!important;top:54.8%!important;width:12%!important}.project-year-map .r8-map-links .m6{left:49%!important;top:67.5%!important;width:27%!important}.project-year-map .r8-map-links .m7{left:24%!important;top:49.8%!important;width:15%!important}.project-year-map .r8-map-links .m8{left:15%!important;top:59%!important;width:13%!important}.project-year-map .r8-map-links .m9{left:18%!important;top:75%!important;width:15%!important}.project-year-map .r8-map-links .m10{left:60%!important;top:74%!important;width:16%!important}
  .project-year-map .r7-map-links .m1{left:61%!important;top:31.5%!important;width:15%!important}.project-year-map .r7-map-links .m2{left:55.3%!important;top:42.2%!important;width:13%!important}.project-year-map .r7-map-links .m3{left:37%!important;top:69.5%!important;width:11%!important}.project-year-map .r7-map-links .m4{left:26.8%!important;top:57.8%!important;width:11%!important}.project-year-map .r7-map-links .m5{left:9.5%!important;top:54.7%!important;width:20%!important}.project-year-map .r7-map-links .m6{left:29%!important;top:73.5%!important;width:14%!important}.project-year-map .r7-map-links .m7{left:4.5%!important;top:65.5%!important;width:13%!important}.project-year-map .r7-map-links .m8{left:5%!important;top:80.5%!important;width:13%!important}.project-year-map .r7-map-links .m9{left:66%!important;top:65.5%!important;width:21%!important}.project-year-map .r7-map-links .m10{left:61%!important;top:73.5%!important;width:14%!important}
}
@media(max-width:800px){
  .projects-section .project-intro .map-wrap{aspect-ratio:2048/1359!important}
  .project-year-map .year-map-links .map-link{width:9%!important;height:auto!important;aspect-ratio:1!important;border-radius:50%!important;transform:translate(-50%,-50%)!important;background:transparent!important}
  .project-year-map .r8-map-links .m1{left:51.2%!important;top:41.9%!important}.project-year-map .r8-map-links .m2{left:50.9%!important;top:49.9%!important}.project-year-map .r8-map-links .m3{left:45.5%!important;top:61.1%!important}.project-year-map .r8-map-links .m4{left:37.4%!important;top:56.6%!important}.project-year-map .r8-map-links .m5{left:42.6%!important;top:58.9%!important}.project-year-map .r8-map-links .m6{left:38.2%!important;top:61.7%!important}.project-year-map .r8-map-links .m7{left:33.8%!important;top:61.8%!important}.project-year-map .r8-map-links .m8{left:20.1%!important;top:64.5%!important}.project-year-map .r8-map-links .m9{left:24.2%!important;top:72.9%!important}.project-year-map .r8-map-links .m10{left:58.9%!important;top:75.6%!important}
  .project-year-map .r7-map-links .m1{left:59.5%!important;top:30.6%!important}.project-year-map .r7-map-links .m2{left:54%!important;top:43.5%!important}.project-year-map .r7-map-links .m3{left:32.2%!important;top:66.3%!important}.project-year-map .r7-map-links .m4{left:31.5%!important;top:62.5%!important}.project-year-map .r7-map-links .m5{left:28.9%!important;top:62.6%!important}.project-year-map .r7-map-links .m6{left:24.2%!important;top:68.8%!important}.project-year-map .r7-map-links .m7{left:16.9%!important;top:72.8%!important}.project-year-map .r7-map-links .m8{left:14.5%!important;top:81.5%!important}.project-year-map .r7-map-links .m9{left:64.9%!important;top:66.2%!important}.project-year-map .r7-map-links .m10{left:60.1%!important;top:73.6%!important}
}

/* Final desktop sizing and link alignment. */
@media(min-width:801px){
  .project-intro .map-wrap{width:130%!important;max-width:1430px!important;left:60%!important;margin-left:0!important;margin-right:0!important;transform:translateX(-50%)!important}
  .project-year-map .year-map-links .map-link{height:3.5%!important;min-height:26px!important;padding:0!important}
  .project-year-map .r8-map-links .m1{left:53.4%!important;top:39%!important;width:8.8%!important}.project-year-map .r8-map-links .m2{left:52.2%!important;top:48.5%!important;width:12.5%!important}.project-year-map .r8-map-links .m3{left:49.2%!important;top:63.1%!important;width:12.5%!important}.project-year-map .r8-map-links .m4{left:31.8%!important;top:51.3%!important;width:7.8%!important}.project-year-map .r8-map-links .m5{left:52.6%!important;top:55%!important;width:8%!important}.project-year-map .r8-map-links .m6{left:40.4%!important;top:68%!important;width:19.7%!important}.project-year-map .r8-map-links .m7{left:24.1%!important;top:50.3%!important;width:8%!important}.project-year-map .r8-map-links .m8{left:15.8%!important;top:60.1%!important;width:8%!important}.project-year-map .r8-map-links .m9{left:19.8%!important;top:75.3%!important;width:8.5%!important}.project-year-map .r8-map-links .m10{left:60%!important;top:74.2%!important;width:8.5%!important}
  .project-year-map .r7-map-links .m1{left:61.1%!important;top:31.6%!important;width:12%!important}.project-year-map .r7-map-links .m2{left:55.2%!important;top:42.8%!important;width:8%!important}.project-year-map .r7-map-links .m3{left:37%!important;top:69.5%!important;width:9%!important}.project-year-map .r7-map-links .m4{left:26.8%!important;top:57.8%!important;width:8%!important}.project-year-map .r7-map-links .m5{left:9.3%!important;top:54.7%!important;width:17.5%!important}.project-year-map .r7-map-links .m6{left:29.2%!important;top:73.8%!important;width:10%!important}.project-year-map .r7-map-links .m7{left:4.4%!important;top:65.6%!important;width:9.5%!important}.project-year-map .r7-map-links .m8{left:5%!important;top:80.6%!important;width:10.5%!important}.project-year-map .r7-map-links .m9{left:66.8%!important;top:65.5%!important;width:17.5%!important}.project-year-map .r7-map-links .m10{left:61.8%!important;top:73.5%!important;width:12%!important}
  .photo-cluster .photo-falls{width:190px!important;height:190px!important;right:-2%!important;bottom:-8px!important}
  .photo-cluster .about-fill-b{width:235px!important;right:-8%!important;bottom:-30px!important}
}

/* Image-locked map hit areas. SVG and map share the same 2048 x 1359 canvas. */
.project-year-map .year-map-links-svg{
  position:absolute;
  inset:0;
  z-index:12;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.project-year-map .year-map-links-svg a{pointer-events:all;cursor:pointer}
.project-year-map .year-map-links-svg .desktop-hit,
.project-year-map .year-map-links-svg .desktop-number-hit,
.project-year-map .year-map-links-svg .mobile-hit{
  fill:transparent;
  stroke:transparent;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  transition:fill .2s ease,stroke .2s ease;
}
.project-year-map .year-map-links-svg .desktop-number-hit,.project-year-map .year-map-links-svg .desktop-hit{pointer-events:all}
.project-year-map .year-map-links-svg .mobile-hit{display:none}
.project-year-map .r8-map-links-svg a:hover .desktop-hit,
.project-year-map .r8-map-links-svg a:focus .desktop-hit{
  fill:rgba(8,115,180,.14);
  stroke:rgba(8,115,180,.28);
}
.project-year-map .r7-map-links-svg a:hover .desktop-hit,
.project-year-map .r7-map-links-svg a:focus .desktop-hit{
  fill:rgba(0,148,129,.15);
  stroke:rgba(0,148,129,.3);
}

@media(max-width:800px){
  .project-year-map .year-map-links-svg .desktop-hit,
  .project-year-map .year-map-links-svg .desktop-number-hit{display:none}
  .project-year-map .year-map-links-svg .mobile-hit{display:block}
}

@keyframes projectYearFadeIn{
  from{opacity:0;filter:blur(7px)}
  to{opacity:1;filter:blur(0)}
}
.project-year-map.is-year-entering,
.project-list.is-year-entering,
.project-subtitle.is-year-entering{
  animation:projectYearFadeIn .48s ease both;
}
@media(prefers-reduced-motion:reduce){
  .project-year-map.is-year-entering,
  .project-list.is-year-entering,
  .project-subtitle.is-year-entering{animation:none!important}
}

/* Keep the lower-right ABOUT decoration offset from its photo circle. */
@media(min-width:801px){
  .photo-cluster .about-fill-b{
    right:-13%!important;
    bottom:-55px!important;
  }
}
@media(max-width:800px){
  .photo-cluster .about-fill-b{
    right:-13%!important;
    bottom:-42px!important;
  }
}

/* Use the exact header-logo droplet silhouette for every section heading. */
.drop{
  background:url("../images/site-icon.svg?v=20260806-8") center/contain no-repeat!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}

/* A microscopic paint value keeps SVG number hit areas clickable in Safari. */
.project-year-map .year-map-links-svg .desktop-number-hit,
.project-year-map .year-map-links-svg .mobile-hit{
  fill:rgba(255,255,255,.001)!important;
  pointer-events:all!important;
}

/* Keep the footer artwork full-bleed after viewport resizing. */
html,body{width:100%;overflow-x:hidden}
.site-footer{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:hidden!important;
}
.site-footer .footer-main{
  position:relative!important;
  left:calc(50% - 50vw)!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.site-footer .footer-bg-art{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  height:100%!important;
  transform:translateX(-50%)!important;
  object-fit:fill!important;
  object-position:center bottom!important;
}

/* MODEL PROJECTS: heading, year tabs, then the selected-year label. */
.project-year-tabs{
  margin:16px 0 12px!important;
}
.project-intro .project-subtitle{
  margin:0 0 8px!important;
}
@media(max-width:800px){
  .project-year-tabs{
    margin:14px 0 12px!important;
  }
  /* The mobile map artwork has generous built-in margins. Enlarge the
     complete canvas (image and hit areas together) to fill the viewport. */
  .projects-section .project-intro .map-wrap{
    position:relative!important;
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    aspect-ratio:1134/981!important;
    margin:18px 0 0!important;
    transform:translateX(-50%)!important;
  }
}

/* ===== ABOUT section: pill-links と photo-cluster の間隔（スマホ） ===== */
@media(max-width:800px){
  .about-grid{gap:64px}
}
@media(max-width:480px){
  .about-grid{gap:52px}
}

/* ===== R7 団体名を緑色に ===== */
#project-list-r7 .project-card h3{
  color:#009481!important;
}

/* ===== フッター: copyrightをロゴの下・右揃え ===== */
.footer-main .moe{
  bottom:46px!important;
}
.footer-main .copyright{
  position:absolute!important;
  right:max(30px,calc((100vw - var(--max))/2))!important;
  left:auto!important;
  transform:none!important;
  bottom:12px!important;
  white-space:nowrap!important;
  text-align:right!important;
  font-size:10px!important;
  line-height:1.5!important;
}
@media(max-width:700px){
  .footer-main{min-height:280px!important}
  .footer-main .moe{bottom:52px!important;right:max(20px,calc((100vw - var(--max))/2))!important}
  .footer-main .copyright{
    right:max(20px,calc((100vw - var(--max))/2))!important;
    white-space:normal!important;
    bottom:10px!important;
  }
}
@media(max-width:480px){
  .footer-main .copyright{
    right:18px!important;
    bottom:8px!important;
  }
  .footer-main .moe{bottom:48px!important}
}

/* ===== フッター: 左テキストを上げ・住所電話文字を大きく・copyright文字も大きく ===== */
/* デスクトップ: flex-end で底揃えのdivにmargin-bottomを追加して上へ */
.footer-main>div:first-of-type{
  margin-bottom:18px!important;
}
.footer-main>div:first-of-type strong{
  font-size:13px!important;
}
.footer-main>div:first-of-type p{
  font-size:12px!important;
  line-height:1.7!important;
  margin:2px 0!important;
}
/* copyright を少し大きく */
.footer-main .copyright{
  font-size:11px!important;
}
/* モバイル */
@media(max-width:800px){
  .footer-main>div:first-of-type{
    bottom:36px!important;
  }
  .footer-main>div:first-of-type strong{
    font-size:12px!important;
  }
  .footer-main>div:first-of-type p{
    font-size:11px!important;
  }
  .footer-main .copyright{
    font-size:10px!important;
  }
}
@media(max-width:480px){
  .footer-main>div:first-of-type{
    bottom:38px!important;
  }
  .footer-main>div:first-of-type strong{
    font-size:11px!important;
  }
  .footer-main>div:first-of-type p{
    font-size:10px!important;
  }
  .footer-main .copyright{
    font-size:10px!important;
  }
}

/* ===== お知らせリンク: ホバーで青色に ===== */
.notice-panel-list a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.notice-panel-list a:hover{
  color:var(--blue);
  text-decoration:underline;
}

/* ===== お知らせ: 日付をタグ風ピル型に ===== */
.notice-panel-list time{
  display:inline-block!important;
  color:var(--blue)!important;
  border:1.5px solid var(--blue)!important;
  border-radius:9999px!important;
  padding:2px 12px!important;
  font-size:12px!important;
  font-weight:600!important;
  white-space:nowrap!important;
  line-height:1.6!important;
  flex-shrink:0!important;
}
@media(max-width:480px){
  .notice-panel-list time{
    font-size:11px!important;
    padding:2px 10px!important;
  }
}

/* ===== お知らせ: 日付タグ内テキスト中央揃え ===== */
.notice-panel-list time{
  text-align:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:90px!important;
}

/* ===== R7タブ: 非選択時は薄い緑ボーダー・濃い緑テキスト ===== */
.project-year-tabs button[data-project-year="r7"]:not([aria-selected="true"]){
  border-color:#59b9ad!important;
  color:#009481!important;
}
