*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#075b9f;background:#eef9ff}
a{text-decoration:none;color:inherit}

/* 添付トップページと同寸法 */
.site-header{height:95px;background:#fff;position:relative;z-index:20;border-bottom:1px solid #e8f2f8}
.header-inner{max-width:1240px;height:95px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:32px}
.brand{width:390px;display:flex;align-items:center;flex:none}
.header-logo{width:229px;height:113px;display:block;object-fit:contain;transform:translate(15px,2px)}
.global-nav{height:100%;display:flex;align-items:center;gap:42px;flex:1}
.global-nav a{height:100%;display:flex;align-items:center;position:relative;font-size:16px;font-weight:600;white-space:nowrap;color:#075b9f}
.global-nav .active{color:#0878c8}
.global-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:16px;height:3px;border-radius:3px;background:#0878c8}
.header-tools{display:flex;gap:24px;white-space:nowrap;font-size:15px;font-weight:600;color:#0569b6}

/* 4項目サブナビ */
.sub-nav{height:64px;background:linear-gradient(90deg,#effbff,#e0f5ff);border-bottom:1px solid #cdebf8;position:relative;z-index:15}
.sub-nav-inner{max-width:1240px;height:64px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr)}
.sub-nav a{position:relative;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#5a7890;border-right:1px solid #c9e7f4}
.sub-nav a:first-child{border-left:1px solid #c9e7f4}
.sub-nav a.current{color:#0878c8}

/* 添付トップと同じ365px。画像自体も1500×365 */
.hero{height:330px;position:relative;overflow:hidden;background:#eefaff}
.hero-photo{position:absolute;top:50%;right:max(calc((100% - 1240px)/2 + 20px),20px);width:55%;height:100%;overflow:hidden;transform:translateY(-50%)}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.hero-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#eefaff 0%,#eefaff 28%,rgba(238,250,255,.96) 38%,rgba(238,250,255,.62) 50%,rgba(238,250,255,.14) 66%,rgba(238,250,255,0) 82%)}
.hero-copy{position:absolute;z-index:5;left:max(calc((100% - 1240px)/2 + 45px),8%);top:75px}
.hero-copy h1{margin:0;color:#075b9f;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:48px;line-height:1.2;letter-spacing:.07em;font-weight:600;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.hero-copy p{margin:15px 0 0;color:#075b9f;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.75;font-weight:600}
.mountain{position:absolute;z-index:4;left:-5%;width:110%;pointer-events:none}
.mountain-back{bottom:28px;height:85px;background:rgba(109,190,224,.22);clip-path:polygon(0 52%,10% 22%,20% 44%,30% 10%,40% 37%,52% 18%,62% 48%,74% 20%,84% 42%,94% 15%,100% 34%,100% 100%,0 100%)}
.mountain-front{bottom:0;height:66px;background:rgba(185,229,244,.78);clip-path:polygon(0 57%,12% 32%,24% 54%,37% 25%,49% 48%,62% 30%,75% 54%,87% 31%,100% 49%,100% 100%,0 100%)}
.hero-wave{position:absolute;z-index:6;left:-3%;bottom:-28px;width:106%;height:70px;background:#eef9ff;border-radius:50% 50% 0 0/62% 62% 0 0}

.breadcrumb{max-width:1240px;margin:0 auto;padding:11px 20px 15px;color:#49718d;font-size:13px}
.about-section{max-width:1240px;margin:0 auto;padding:0 20px 45px}
.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.section-heading h2{width:260px;margin:0;color:#0871ba;font-size:36px;line-height:1.2;padding-bottom:9px;font-weight:700}
.section-heading h2:after{content:"";display:block;width:260px;height:4px;background:#f8c694;border-radius:4px;margin-top:9px}
.section-heading p{margin:0;font-size:14px;line-height:1.5;color:#376d98}

.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-card{height:88px;background:#fff;border-radius:11px;border:1px solid #d5e7f2;display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;column-gap:1em;padding:0 18px;box-shadow:0 1px 7px rgba(22,112,168,.06);transition:.2s;border-bottom:3px solid transparent}
.about-card:hover,.about-card:focus-visible{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,92,153,.16);border-bottom-color:#f8c694}
.mark{color:#d77c2d;font-size:16px;line-height:1}
.label{font-size:16px;line-height:1.55;font-weight:700;color:#075b9f}
.arrow{width:28px;height:28px;border-radius:50%;background:#0878c8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:.2s}
.about-card:hover .arrow{transform:translateX(3px)}

.footer-visual{height:145px;position:relative;overflow:hidden}
.footer-visual:before{content:"";position:absolute;left:-4%;right:-4%;bottom:-42px;height:110px;background:#cceeff;border-radius:50% 50% 0 0/70% 70% 0 0}
.footer-mountain{position:absolute;bottom:24px;left:32%;width:40%;height:70px;clip-path:polygon(0 100%,14% 58%,25% 83%,41% 36%,53% 74%,65% 43%,78% 82%,91% 56%,100% 100%);background:rgba(115,201,237,.24)}

.site-footer{background:#fff;border-top:1px solid #e0eef6}
.footer-inner{max-width:1240px;margin:0 auto;padding:26px 20px 30px;display:grid;grid-template-columns:370px 1fr;gap:42px;align-items:start}
.footer-info{padding-right:38px;border-right:1px solid #bdd0dc}
.footer-info p{margin:0 0 8px;color:#3a617d;font-size:13px}
.footer-info a{color:#0871ba;font-weight:700;font-size:18px}
.footer-right{min-height:105px;display:flex;flex-direction:column}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 0;margin-top:17px}
.footer-nav a{font-size:12px;color:#496b83;padding:0 14px;border-right:1px solid #adc1cf}
.footer-nav a:first-child{padding-left:0}
.footer-nav a:last-child{border-right:0}
.copyright{margin:auto 0 0;text-align:right;color:#496b83;font-size:12px}

@media(max-width:1050px){
 .brand{width:270px}.global-nav{gap:22px}
 .about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .site-header,.header-inner{height:auto}.header-inner{padding:12px 18px;flex-wrap:wrap}
 .brand{width:100%}.global-nav{order:3;width:100%;height:48px;justify-content:space-between;gap:8px}
 .global-nav a{font-size:13px}.header-tools{position:absolute;right:18px;top:18px;font-size:12px}
 .sub-nav{height:auto}.sub-nav-inner{height:auto;padding:0;grid-template-columns:1fr 1fr}
 .sub-nav a{min-height:50px;font-size:13px}
 .hero{height:310px}.hero-copy{left:7%;top:42px}.hero-copy h1{font-size:31px}.hero-copy p{font-size:14px}
 .about-grid{grid-template-columns:1fr}
 .footer-inner{grid-template-columns:1fr}.footer-info{border-right:0;border-bottom:1px solid #d6e4ed;padding:0 0 20px}
 .copyright{text-align:left;margin-top:22px}
}
@media(max-width:560px){
 .hero{height:275px}.hero-copy h1{font-size:26px}.hero-copy p{font-size:12px}
 .section-heading h2{font-size:30px}.section-heading p{font-size:12px}
 .about-card{height:auto;min-height:82px;padding:14px 16px}
}

/* 上部4項目：既存ページ共通のロールオーバー */

.sub-nav a:not(.current){transition:color .18s,box-shadow .18s,background-color .18s}
.sub-nav a:not(.current):hover,
.sub-nav a:not(.current):focus-visible{
  color:#0878c8;
  box-shadow:inset 0 -5px 0 #f8c694;
  background:rgba(255,255,255,.24);
}


/* ===== フロアマップとピクトグラムページ ===== */
.floor-page-heading,.content-section,.page-jump{max-width:1240px;margin:0 auto}
.floor-page-heading{padding:0 20px 6px}
.floor-page-heading h2{width:auto;display:inline-block;margin:0;color:#0871ba;font-size:36px;line-height:1.2;padding-bottom:9px;font-weight:700}
.floor-page-heading h2:after{content:"";display:block;width:100%;height:4px;background:#f8c694;border-radius:4px;margin-top:9px}
.page-jump{padding:10px 20px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.page-jump a{background:#fff;border:1px solid #cfe4f1;border-radius:8px;padding:13px;text-align:center;font-weight:700}
.page-jump a:hover,.page-jump a:focus-visible{box-shadow:inset 0 -4px #f8c694}
.content-section{padding:22px 20px 42px}
.content-section .section-heading h2{width:auto;display:inline-block;font-size:34px;margin:0 0 8px;padding-bottom:9px}
.content-section .section-heading h2:after{width:100%}
.content-section .section-heading p{color:#376d98}
.floor-panel{margin:20px 0;background:#fff;border:1px solid #d5e7f2;border-radius:14px;padding:22px;text-align:center}
.floor-panel img{width:min(82%,900px);max-width:900px;height:auto;display:block;margin:auto}
.floor-panel figcaption{font-size:13px;color:#607b8d;margin-top:10px}


.legend{display:flex;gap:30px;align-items:center;background:#fff;border:1px solid #d5e7f2;border-radius:10px;padding:14px 18px;margin-bottom:24px}
.legend>div{display:flex;align-items:center;gap:8px}.legend-box{width:28px;height:28px;border-radius:4px}.legend-box.on{background:#0878c8}.legend-box.off{background:#aaa}
.picto-group{margin:28px 0}.picto-group h3{font-size:21px;margin:0 0 12px;color:#075b9f;border-left:5px solid #f8c694;padding-left:10px}
.picto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.picto-card{background:#fff;border:1px solid #d5e7f2;border-radius:11px;min-height:120px;padding:14px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center}
.picto-img{width:76px;height:76px;padding:4px;display:flex;align-items:center;justify-content:center;background:#f8fbfd;border-radius:8px;overflow:hidden;flex:none}
.picto-img img{display:block;width:68px;height:68px;max-width:none;max-height:none;object-fit:contain;object-position:center;image-rendering:auto}
.picto-text h4{margin:0 0 5px;font-size:16px}.picto-text p{margin:0 0 7px;font-size:12px;line-height:1.45;color:#526f82}

.current-card{background:#f7fcff}
@media(max-width:900px){.picto-grid{grid-template-columns:repeat(2,1fr)}.page-jump{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.floor-page-heading h2{font-size:30px}.picto-grid{grid-template-columns:1fr}.picto-card{grid-template-columns:68px minmax(0,1fr)}.picto-img{width:68px;height:68px;padding:4px}.picto-img img{width:60px;height:60px}.legend{flex-direction:column;align-items:flex-start}.floor-panel img{width:100%;max-width:100%}}
.outline-page-heading,.content-section,.page-jump{max-width:1240px;margin:0 auto}.outline-page-heading{padding:0 20px 10px}.outline-page-heading h2{display:inline-block;margin:0;color:#0871ba;font-size:36px;padding-bottom:9px}.outline-page-heading h2:after{content:"";display:block;height:4px;background:#f8c694;border-radius:4px;margin-top:9px}.outline-page-heading p{color:#376d98;line-height:1.8}.page-jump{padding:10px 20px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.page-jump a{background:#fff;border:1px solid #cfe4f1;border-radius:8px;padding:13px;text-align:center;font-weight:700}.content-section{padding:22px 20px 42px}.content-section .section-heading{display:block}.content-section .section-heading h2{width:auto;display:inline-block;font-size:32px}.content-section .section-heading h2:after{width:100%}.overview-card{background:#fff;border:1px solid #d5e7f2;border-radius:14px;overflow:hidden}.overview-table{margin:0}.overview-table>div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid #e2edf4}.overview-table dt{padding:17px 20px;background:#f3faff;font-weight:700}.overview-table dd{margin:0;padding:17px 22px;color:#456b83;line-height:1.7}.subtext{font-size:13px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid article{background:#fff;border:1px solid #d5e7f2;border-radius:12px;padding:22px}.info-grid h3{margin-top:0;color:#075b9f}.info-grid p{color:#526f82;line-height:1.75}.info-grid strong{font-size:20px;color:#0871ba}.history-notice{background:#fff8ef;border:1px solid #f0d5b9;border-left:6px solid #f8c694;border-radius:12px;padding:18px 22px;margin-bottom:22px}.history-notice h3{margin:0 0 6px}.history-notice p{margin:0;color:#526f82;line-height:1.75}.timeline{display:grid;gap:12px}.timeline article{display:grid;grid-template-columns:100px 1fr;gap:24px;align-items:start}.timeline article>b{color:#0871ba;text-align:right;padding-top:18px}.timeline article>div{background:#fff;border:1px solid #d5e7f2;border-radius:11px;padding:16px 20px}.timeline h3{margin:0 0 5px}.timeline p{margin:0;color:#526f82}.current-card{background:#f7fcff;border-bottom-color:#f8c694}@media(max-width:800px){.page-jump,.info-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.page-jump,.info-grid{grid-template-columns:1fr}.overview-table>div{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr}.timeline article>b{text-align:left}}
.history-summary{background:linear-gradient(90deg,#f4fbff,#fff);border:1px solid #cfe4f1;border-left:6px solid #0878c8;border-radius:12px;padding:20px 24px;margin-bottom:28px}.history-summary h3{margin:0 0 8px;color:#075b9f;font-size:19px}.history-summary p{margin:0;color:#526f82;line-height:1.85}.timeline small{font-size:11px;font-weight:600;color:#607b8d}.timeline-current>div{border-color:#f0c99f!important;background:#fffaf5!important}.current-badge{display:inline-block;background:#d77c2d;color:#fff;border-radius:18px;padding:3px 11px;font-size:11px;font-weight:700;margin-bottom:7px}.history-points{margin-top:28px}.history-points>h3{font-size:21px;border-left:5px solid #f8c694;padding-left:10px}.history-point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.history-point-grid article{background:#fff;border:1px solid #d5e7f2;border-radius:11px;padding:19px}.history-point-grid span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e4f5fd;color:#0878c8;font-weight:800}.history-point-grid h4{margin:11px 0 7px;color:#075b9f;font-size:17px}.history-point-grid p{margin:0;color:#526f82;line-height:1.75;font-size:13px}@media(max-width:800px){.history-point-grid{grid-template-columns:1fr}}
.page-jump.five{grid-template-columns:repeat(5,1fr)}.designation-box,.standards-box{background:#fff;border:1px solid #d5e7f2;border-radius:12px;padding:22px 24px}.designation-box{margin-bottom:16px;border-left:6px solid #0878c8}.designation-box h3,.standards-box h3{margin:0 0 12px;color:#075b9f;font-size:20px}.designation-box p{margin:0;color:#526f82;line-height:1.85}.standards-box h3 span{font-size:13px;font-weight:500;color:#607b8d}.standards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.standards-grid div{position:relative;padding:9px 8px 9px 20px;border-bottom:1px solid #e4eef4;color:#526f82;font-size:14px}.standards-grid div:before{content:"";position:absolute;left:4px;top:17px;width:6px;height:6px;border-radius:50%;background:#f8c694}.standards-note{text-align:right;color:#607b8d;font-size:12px}@media(max-width:900px){.page-jump.five{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.page-jump.five,.standards-grid{grid-template-columns:1fr}}

/* パンくずリンク */
.breadcrumb a{color:#0878c8;text-decoration:none}
.breadcrumb a:visited{color:#0878c8}
.breadcrumb a:hover,.breadcrumb a:focus-visible{
  color:#075b9f;
  text-decoration:underline;
  text-underline-offset:2px;
}
