@charset "UTF-8";
:root{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.8;overflow-x:clip}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:white}.skip-link{position:fixed;z-index:1000;top:-100px;left:12px;padding:10px 20px;background:#fff;color:#111}.skip-link:focus{top:12px}.site-header{min-height:80px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,4vw,76px);gap:24px;background:#fffc;position:relative;z-index:4;box-shadow:0 1px #0000000d}.brand a{display:flex;flex-direction:column;gap:0;line-height:1.4}.brand strong{font-weight:800;letter-spacing:.09em;font-size:clamp(20px,2vw,32px)}.brand span{font-size:10px;letter-spacing:.24em;text-transform:uppercase}.main-nav{display:flex;gap:clamp(13px,2.5vw,39px);align-items:center}.nav-link{font-size:13px;white-space:nowrap;font-weight:600}.nav-link:hover{color:var(--accent)}.header-action,.cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:45px;padding:11px 20px;background:var(--accent);color:#fff;border-radius:3px;font-weight:700;font-size:13px;transition:transform .2s,filter .2s}.header-action:hover,.cta:hover{filter:brightness(1.1);transform:translateY(-2px)}.hero{min-height:460px;position:relative;display:grid;grid-template-columns:45% 55%;align-items:stretch;overflow:hidden}.hero-copy{padding:clamp(34px,5vw,90px) clamp(24px,6vw,98px);position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{display:block;font-size:11px;letter-spacing:.2em;font-weight:750;text-transform:uppercase;margin-bottom:19px}.hero h1{font-size:clamp(34px,3.7vw,65px);letter-spacing:.055em;line-height:1.45;margin:0 0 25px;font-weight:700}.hero-copy p{white-space:normal;max-width:520px;margin:0 0 30px;font-size:clamp(14px,1.15vw,18px);line-height:2}.hero-photo{width:100%;height:100%;object-fit:cover;min-height:460px}.section{padding:clamp(48px,7vw,100px) clamp(22px,5vw,80px)}.section h2{font-size:clamp(24px,2.6vw,40px);line-height:1.45;letter-spacing:.05em;margin:0 0 25px}.section h3{font-size:21px;margin:10px 0}.section p{margin:.5em 0 1em}.section-header{margin-bottom:35px}.section-header h2{margin-bottom:10px}.section-header p{color:inherit;opacity:.75}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{background:#fff;padding:clamp(23px,3vw,44px);border:1px solid #0001;min-height:210px;display:flex;flex-direction:column;align-items:flex-start}.service-card .num{font-size:12px;letter-spacing:.2em;color:var(--accent)}.service-card h3{font-size:clamp(18px,1.7vw,26px);line-height:1.45}.service-card p{font-size:14px;opacity:.7}.service-card strong{font-size:22px;margin-top:auto}.split-section{padding:0;display:grid;grid-template-columns:50% 50%;min-height:420px;background:#eee7}.split-section>img{width:100%;height:100%;min-height:420px;object-fit:cover}.split-section>div{padding:clamp(50px,6vw,98px);display:flex;flex-direction:column;justify-content:center}.flow-section{background:#f4f1ea}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.steps>div{padding:24px 16px;border-top:2px solid var(--accent);background:#fff;font-weight:650}.short{min-height:280px}.short p{max-width:800px}.site-footer{background:#192b2d;color:white;padding:65px 5vw 42px}.footer-wrap{max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:36px}.footer-brand strong{font-size:28px;display:block}.footer-brand span{display:block;font-size:11px;letter-spacing:.2em}.footer-brand p{font-size:13px;opacity:.7;margin-top:24px}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.footer-links .nav-link{color:#fff9;font-weight:500}.footer-links .nav-link:hover{color:white}.footer-wrap>small{grid-column:1/-1;font-size:10px;letter-spacing:.08em;opacity:.56}.demo-note{background:#182327;color:#dce6e4;text-align:center;font-size:11px;padding:8px 14px;letter-spacing:.02em}.back-top{font-family:inherit;appearance:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;position:fixed;z-index:30;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .28s,transform .28s,visibility .28s;isolation:isolate}.back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.back-top.is-returning{pointer-events:none}.back-top .btt-symbol{font-weight:450;font-size:27px;line-height:1}.back-top .btt-main{font-weight:750;line-height:1.45;text-align:center;letter-spacing:.06em}.back-top .btt-meta{font-size:9px;line-height:1.4;letter-spacing:.11em;text-align:center}.site:not(.site-art) .back-top:hover{filter:brightness(1.1)}@media(max-width:920px){.site-header{flex-wrap:wrap;gap:9px}.main-nav{order:3;flex-basis:100%;display:flex;justify-content:space-between;gap:6px;padding-top:8px;overflow-x:auto}.main-nav .nav-link{font-size:11px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:35px}.hero h1{font-size:clamp(30px,4.7vw,48px)}}@media(max-width:650px){html{scroll-padding-top:16px}.site-header{padding:11px 16px;gap:5px}.brand strong{font-size:20px}.brand span{font-size:9px}.header-action{font-size:11px;padding:8px 11px;min-height:44px}.main-nav{gap:20px;justify-content:flex-start;scrollbar-width:thin}.main-nav .nav-link{font-size:12px}.hero{display:flex;flex-direction:column;min-height:unset}.hero-copy{order:1;min-height:360px;padding:50px 23px 45px}.hero-photo{order:2;height:280px;min-height:280px}.hero h1{font-size:clamp(31px,8vw,43px)}.hero-copy p{font-size:14px}.section{padding:57px 21px}.section h2{font-size:27px}.cards,.steps{grid-template-columns:1fr}.service-card{min-height:170px}.split-section{grid-template-columns:1fr}.split-section>img{height:270px;min-height:0}.split-section>div{padding:50px 24px}.footer-wrap{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr)}.site-footer{padding:52px 23px 40px}.back-top{max-width:112px}.demo-note{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ==================== Site-specific presentation ==================== */
/* TB-2097 — traditional film house: burgundy filmstrip + ticket stub */
.site-cinema{font-family:Georgia,"Noto Serif JP","Yu Mincho",serif}.site-cinema .site-header{background:#fffaf4}.site-cinema .hero{grid-template-columns:42% 58%;background:#281b22;color:#fff}.site-cinema .hero-copy{background:linear-gradient(90deg,#421a28e8,#371823e9)}.site-cinema .hero-photo{object-position:center}.site-cinema .eyebrow{color:#d2b9a4}.site-cinema .cta{background:transparent;border:1px solid #e8d6c3}.site-cinema .intro{background:#f9f5ee}.site-cinema .film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.film{padding-bottom:20px}.film-art{height:240px;background:linear-gradient(135deg,#507089,#132633);padding:20px;color:white;display:flex;justify-content:space-between;align-items:flex-end;font-size:54px;font-style:italic}.film-art small{font-size:11px;font-style:normal;letter-spacing:.16em}.scene-b{background:linear-gradient(135deg,#a6724f,#4b3240)}.scene-c{background:linear-gradient(135deg,#647273,#211d2d)}.film h3{font-size:23px}.film p{font-size:14px}.film .times{border-top:1px solid #cdbfaf;padding:12px 0;font-size:13px;letter-spacing:.06em}.site-cinema .price-band{background:linear-gradient(90deg,#6b1427 0%,#6b1427 27%,#202832 27%,#202832 100%);color:white}.site-cinema .price-band h2{margin-bottom:36px}.fees{display:flex;flex-wrap:wrap;gap:15px}.fees>div{display:flex;flex-direction:column;gap:14px;padding:12px 25px 12px 0;margin-right:15px;border-right:1px solid #8887}.fees strong{font-size:25px}.site-cinema .story{background:#e9dfd4}.site-cinema .site-footer{background:#241f25}
.back-top-2097{right:27px;bottom:40px;width:114px;min-height:130px;padding:13px 11px;background:#f3dfcd;color:#6f1c29;border:3px double #782b38;transform:translateY(15px) rotate(-7deg);box-shadow:0 8px 18px #0005;clip-path:polygon(0 0,5% 3%,0 7%,0 93%,5% 97%,0 100%,100% 100%,95% 97%,100% 93%,100% 7%,95% 3%,100% 0)}.back-top-2097.is-visible{transform:rotate(-7deg)}.back-top-2097:hover{transform:rotate(-2deg) translateY(-8px)}.back-top-2097 .btt-symbol{font-size:30px}.back-top-2097 .ticket-cut{border:2px solid #782b38;border-radius:3px;padding:0 8px;font-size:18px;margin-bottom:3px}.back-top-2097 .btt-main{font-size:13px}.back-top-2097 .ticket-code{font-size:8px;letter-spacing:.2em;margin-top:4px}
/* TB-2098 — watchmaking editorial + milled crown control */
.site-watch{font-family:"Noto Serif JP","Yu Mincho",serif}.site-watch .hero{background:#e5ded4;grid-template-columns:46% 54%}.site-watch .hero-copy{background:linear-gradient(90deg,#f8f5ef 40%,#eae4dc)}.site-watch .hero h1{font-weight:500}.site-watch .split-section{background:#211b19;color:#fff}.site-watch .flow-section{background:#ebe6df}.site-watch .steps>div{border-color:#997d65}.site-watch .site-footer{background:#282323}.back-top-2098{right:20px;top:42%;width:95px;height:116px;background:linear-gradient(105deg,#bebeb5,#f8f5ee 20%,#adada5 47%,#f0eee5 80%,#9e9c91);border-radius:18px;border:4px ridge #ad9e8b;color:#1b2734;box-shadow:4px 6px 15px #0004;padding:15px 9px}.back-top-2098:before,.back-top-2098:after{content:"";position:absolute;inset:4px -6px;border-left:3px solid #99917d;border-right:3px solid #827966;border-radius:20px;pointer-events:none}.back-top-2098 .crown-knurl{position:absolute;top:-16px;width:65%;height:18px;border-radius:8px 8px 2px 2px;background:repeating-linear-gradient(90deg,#938a79 0 4px,#e5ddcc 5px 9px)}.back-top-2098 .btt-main{font-size:13px;font-family:Georgia,serif;letter-spacing:.12em;margin-top:7px}.back-top-2098:hover .btt-symbol{transform:translateY(-5px)}
/* TB-2099 — museum primary illustration and playful rocket */
.site-science{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}.site-science .site-header{background:#fff}.site-science .brand strong{color:#124187}.site-science .hero{background:#d8f5ff;grid-template-columns:46% 54%;border-bottom:13px solid #fff46a}.site-science .hero-copy{background:#ccefff}.site-science .hero h1{font-weight:900;color:#105ca6;letter-spacing:0}.site-science .hero h1::first-line{color:#f04e51}.site-science .hero-photo{object-position:center}.site-science .cta{border-radius:30px;background:#ffde39;color:#15416a}.site-science .exhibit-section{background:white}.science-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.science-grid article{min-height:235px;border-radius:18px;background:#edf6ff;padding:26px 20px;box-shadow:0 9px 0 #143e7711}.science-grid article:nth-child(2){background:#ffefce}.science-grid article:nth-child(3){background:#dcf6ee}.science-grid article:nth-child(4){background:#ffe6e7}.science-grid article>span{font-size:46px;color:#f45b4a}.science-grid article h3{font-size:18px}.science-grid article p{font-size:13px}.site-science .schedule-section{background:#e4f5fd}.event-list p{padding:15px 0;border-bottom:1px solid #aab9c8}.event-list strong{margin-right:24px}.event-list em{font-size:12px;background:#fff2ba;border-radius:20px;padding:4px 14px;margin-left:15px;font-style:normal}.ticket-panel{display:flex;justify-content:space-around;gap:35px;background:#fffef3}.ticket-panel>div{flex:1}.ticket-panel p{border-bottom:1px solid #ddd;padding:12px 0}.ticket-panel p strong{float:right}.site-science .site-footer{background:#12366b}.back-top-2099{right:23px;bottom:26px;width:92px;height:146px;border-radius:45px 45px 15px 15px;background:linear-gradient(125deg,#fff 0%,#fff 63%,#bfe4f6 100%);border:3px solid #2264ac;color:#1d4d8d;box-shadow:0 7px 0 #f5a84d,0 11px 20px #0003;padding:10px 5px}.back-top-2099 .rocket-top{font-family:"Segoe UI Emoji",sans-serif;font-size:53px;line-height:1.1;filter:drop-shadow(1px 2px 1px #bbd4ea)}.back-top-2099 .btt-main{font-size:17px}.back-top-2099 .rocket-flame{height:13px;width:13px;background:#ef9d41;border-radius:60% 60% 100% 100%;margin-top:4px;animation:flame 1.1s ease-in-out infinite alternate}.back-top-2099:hover .rocket-top{transform:translateY(-9px) rotate(-5deg)}@keyframes flame{to{transform:scaleY(1.45);background:#ffc34a}}
/* TB-2100 — left-hand edge tab with street typography */
.site-bicycle{font-family:Arial,"Noto Sans JP",sans-serif}.site-bicycle .hero{grid-template-columns:41% 59%}.site-bicycle .hero-copy{background:#f4f5f2}.site-bicycle .hero h1{font-family:Impact,"Arial Black",sans-serif;font-weight:900;font-size:clamp(57px,6vw,112px);line-height:.96;letter-spacing:-.045em;color:#24282b}.site-bicycle .hero h1::first-line{color:#b4cc00}.site-bicycle .cta{background:#202c31}.site-bicycle .bike-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7dcdf}.site-bicycle .bike-grid .service-card{border:0}.site-bicycle .bike-about{background:#202b2c;color:white}.site-bicycle .flow-section{background:#eff0e9}.site-bicycle .site-footer{background:#232b2b}.back-top-2100{left:0;top:34%;width:77px;height:242px;background:#252c30;border-left:9px solid #afcb00;border-radius:0 14px 14px 0;color:white;box-shadow:3px 5px 10px #0003;align-items:center;gap:19px;padding:15px 5px}.back-top-2100 .btt-symbol{font-size:43px;line-height:1}.back-top-2100 .btt-main{font-size:20px;font-weight:900;line-height:1.05}.back-top-2100 .btt-meta{font-size:9px}.back-top-2100 .tab-lines{font-size:10px;line-height:1}.back-top-2100:hover{width:88px}
/* TB-2101 — moon phase plate over midnight sky */
.site-observatory{font-family:Georgia,"Noto Serif JP",serif;background:#111b30;color:#eeeae0}.site-observatory .site-header{background:#0c1b31;color:#fff;border-bottom:1px solid #fff3}.site-observatory .header-action{background:transparent;border:1px solid #fff9}.site-observatory .hero{display:grid;grid-template-columns:48% 35% 17%;background:radial-gradient(ellipse at 10% 35%,#284a72,#111b31 65%)}.site-observatory .hero-photo{width:100%;min-height:550px}.site-observatory .hero-copy{padding:50px 37px}.site-observatory .hero h1{font-size:clamp(31px,3.5vw,57px);font-weight:400}.site-observatory .eyebrow{color:#d1bb95}.site-observatory .cta{border:1px solid #c4aa7b;background:transparent}.site-observatory .hero-aside{margin:auto 24px auto 0;border-left:1px solid #fff5;padding:25px 15px}.site-observatory .hero-aside span{font-size:11px;letter-spacing:.15em}.site-observatory .hero-aside strong{display:block;font-size:19px}.site-observatory .hero-aside p{font-size:13px}.site-observatory .night-info{background:#182942}.site-observatory .night-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.site-observatory .sky-panel{background:linear-gradient(145deg,#19283e,#314665);border:1px solid #fff2;padding:25px;text-align:center}.site-observatory .sky-moon{font-size:55px;color:#d4c59b}.site-observatory .times-section{background:#0d1830}.site-observatory .times{font-size:32px;letter-spacing:.07em}.site-observatory .service-card{background:#1f3048;border-color:#ffffff24}.site-observatory .site-footer{background:#090f21}.back-top-2101{right:23px;top:47%;width:116px;height:116px;border:2px solid #c9bb91;border-radius:50%;background:radial-gradient(circle at 40% 30%,#3d5370,#101b30 64%);color:#fff6d4;box-shadow:0 0 0 5px #0d1627dd,0 6px 20px #0009}.back-top-2101 .moon-orbit{position:absolute;inset:4px;display:flex;justify-content:space-around;align-items:flex-start}.back-top-2101 .moon-orbit i{font-style:normal;font-size:13px;color:#e9d2a0}.back-top-2101 .btt-main{margin-top:5px;font-size:14px}.back-top-2101 .btt-meta{margin-top:2px}.back-top-2101:hover{box-shadow:0 0 0 5px #0d1627dd,0 0 35px #c8ac6699}
/* TB-2102 — atelier textile label; stitched inset */
.site-tailor{font-family:"Noto Serif JP","Yu Mincho",serif}.site-tailor .site-header{background:#f8f2ec}.site-tailor .hero{grid-template-columns:40% 60%;background:#eaded6}.site-tailor .hero-copy{background:#f6efe8}.site-tailor .hero h1{font-weight:500}.site-tailor .cta{background:#633b45}.site-tailor .atelier-services{background:#f5eee8}.site-tailor .atelier-services .cards{grid-template-columns:repeat(4,1fr)}.site-tailor .portfolio{background:#412a33;color:#fff}.site-tailor .gallery-band{background:#e7d8d2}.site-tailor .site-footer{background:#35212a}.back-top-2102{right:20px;top:48%;width:74px;height:178px;background:linear-gradient(90deg,#ba826f,#ddb8a1 20%,#cca08c 93%);border:1px solid #643946;border-radius:4px;color:#35202c;box-shadow:2px 6px 15px #0003;gap:7px}.back-top-2102:after{content:"";position:absolute;inset:7px;border:2px dashed #653c48;border-radius:3px;pointer-events:none}.back-top-2102 .btt-main{writing-mode:vertical-rl;font-size:16px;letter-spacing:.25em}.back-top-2102 .stitched-star{color:#653946}.back-top-2102 .btt-symbol{font-size:22px}.back-top-2102 .btt-meta{font-size:8px}
/* TB-2103 — nautical timetable and buoy-shaped navigational affordance */
.site-ferry{font-family:"Noto Sans JP",sans-serif}.site-ferry .site-header{background:white}.site-ferry .hero{grid-template-columns:42% 58%;background:#def3ff}.site-ferry .hero-copy{background:linear-gradient(120deg,#d6f5ff,#edf9ff)}.site-ferry .hero h1{font-size:clamp(41px,4.8vw,75px);color:#04638a}.site-ferry .cta{background:#f26c3e}.site-ferry .ferry-dashboard{background:#fff}.site-ferry .status{font-size:15px;color:#2f9c6d;white-space:nowrap;letter-spacing:0;margin-left:25px}.timetable{border:1px solid #c8dce0;border-radius:8px;overflow:hidden}.timetable>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:center;padding:16px 24px;border-bottom:1px solid #d5e5e8}.timetable .table-head{background:#dceef2;color:#29576c;font-size:13px}.timetable strong{font-size:24px}.site-ferry .fare-section{background:#e2f6fc}.site-ferry .site-footer{background:#07516b}.back-top-2103{right:14px;bottom:22px;width:81px;height:173px;background:linear-gradient(to bottom,#f0753c 0 14%,#fbfdff 14% 48%,#e84f32 48% 63%,#fff 63% 87%,#fa6b3f 87%);color:#124562;box-shadow:1px 4px 12px #002a3c4d;border:3px solid white;border-radius:40px 40px 9px 9px;gap:5px}.back-top-2103 .buoy-cap{position:absolute;top:-16px;border:3px solid white;border-radius:50%;width:22px;height:22px;background:#f57139}.back-top-2103 .btt-symbol{font-size:27px;color:#fff;filter:drop-shadow(0 1px #8e3b32)}.back-top-2103 .btt-main{font-size:12px}.back-top-2103 .btt-meta{font-size:8px}.back-top-2103:hover{animation:buoybob .7s ease-in-out infinite alternate}@keyframes buoybob{to{translate:0 -5px}}
/* TB-2104 — patient-friendly foldable paper tab */
.site-dental{font-family:"Noto Sans JP",sans-serif}.site-dental .site-header{background:#fffefa;color:#53635d}.site-dental .hero{grid-template-columns:38% 62%;background:#f5e7df}.site-dental .hero-copy{background:#fbf8f3}.site-dental .hero h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:500;font-size:clamp(32px,3vw,49px)}.site-dental .cta{background:#9bb7a1}.site-dental .clinic-section{background:#fffaf5}.round-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.round-cards article{text-align:center;border-radius:45% 45% 35% 35%;padding:58px 21px;background:#f3e0d5;min-height:280px}.round-cards article:nth-child(2){background:#e6eee3}.round-cards article:nth-child(3){background:#e1eff0}.round-cards article b{font-size:24px;color:#b3796e}.round-cards h3{font-size:18px}.round-cards p{font-size:13px}.site-dental .medical-hours{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:#f0f1e8}.site-dental .medical-hours small{font-size:13px}.site-dental .weekly{border:1px solid #c7ccbf;padding:30px;line-height:3;letter-spacing:.13em}.site-dental .site-footer{background:#697b72}.back-top-2104{right:0;bottom:0;width:107px;height:145px;background:linear-gradient(135deg,#e4c4b8,#fefbf8 40%,#fff9f2);color:#53655a;box-shadow:-6px -6px 13px #0002;padding:30px 9px 12px;align-items:center}.back-top-2104 .paper-fold{position:absolute;top:0;right:0;border-width:0 43px 43px 0;border-style:solid;border-color:transparent #eec8bd transparent transparent;filter:drop-shadow(-2px 3px 3px #0002)}.back-top-2104 .btt-main{font-size:13px;margin-top:15px}.back-top-2104:hover .paper-fold{border-right-width:56px;border-bottom-width:56px}
/* TB-2105 — industrial machined aluminum panel */
.site-precision{font-family:"Noto Sans JP",sans-serif}.site-precision .site-header{background:#fff}.site-precision .hero{grid-template-columns:43% 57%;background:#132235;color:white}.site-precision .hero-copy{background:#142234}.site-precision .hero h1{font-weight:800;font-size:clamp(39px,4.6vw,70px)}.site-precision .hero .eyebrow{color:#ef8b58}.site-precision .cta{background:transparent;border:1px solid #c4cbd3}.site-precision .engineering-section{background:#f8fafb}.site-precision .precision-section{background:#142637;color:white}.site-precision .spec-section{display:flex;justify-content:space-around;gap:40px;background:#1a2c3f;color:#fff}.site-precision .spec-section>div{display:flex;flex-direction:column}.site-precision .spec-section small{color:#ff8d4d;letter-spacing:.2em}.site-precision .spec-section b{font-size:clamp(35px,5vw,82px);letter-spacing:-.04em}.site-precision .spec-section em{font-style:normal;font-size:22px}.site-precision .site-footer{background:#122132}.back-top-2105{right:0;top:56%;width:81px;height:153px;background:linear-gradient(105deg,#9aa6b3,#f6f9fb 23%,#bcc5d0 55%,#eef1f4);border:3px ridge #818c99;border-radius:7px 0 0 7px;color:#2b3945;box-shadow:-2px 5px 16px #0006;padding:17px 9px}.back-top-2105 .btt-symbol{font-size:28px;color:#ec722f}.back-top-2105 .btt-main{font-size:14px;letter-spacing:0}.back-top-2105 .btt-meta{font-size:8px}.back-top-2105 .bolt{position:absolute;font-size:9px;color:#4b5867}.bolt-a{top:5px;left:6px}.bolt-b{top:5px;right:6px}.bolt-c{bottom:6px;left:6px}.bolt-d{bottom:6px;right:6px}.back-top-2105:hover .btt-symbol{translate:0 -7px}
/* TB-2106 — kraft paper bakery product tag */
.site-bakery{font-family:"Noto Serif JP","Yu Mincho",serif}.site-bakery .site-header{background:#fffaf1}.site-bakery .hero{grid-template-columns:50% 50%;background:#f8edcf}.site-bakery .hero-copy{background:linear-gradient(100deg,#fff7e9,#f2deb9)}.site-bakery .hero h1{font-size:clamp(34px,3.9vw,60px)}.site-bakery .baked-section{background:#fdf5e4}.bread-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bread-cards article{min-height:290px;display:flex;flex-direction:column;padding:25px;background:#fff;border:1px solid #dfcba9}.bread-emblem{width:68px;height:68px;border-radius:50%;background:#f0d9a5;display:grid;place-items:center;font-family:Georgia,serif;font-size:29px;margin-bottom:25px}.bread-cards article>b{margin-top:auto;font-size:22px}.site-bakery .bakery-about{background:#e4c996}.site-bakery .info-band{background:#f5e1a8}.site-bakery .site-footer{background:#522e22}.back-top-2106{right:20px;bottom:32px;width:96px;height:150px;background:linear-gradient(115deg,#cfa469,#efcea0);color:#543320;box-shadow:1px 6px 12px #0003;border-radius:12px 9px 8px 8px;clip-path:polygon(0 17%,38% 0,62% 0,100% 17%,100% 100%,0 100%);padding-top:35px}.back-top-2106 .tag-string{position:absolute;height:33px;width:1px;background:#75543f;top:-8px;left:50%}.back-top-2106 .tag-husk{position:absolute;top:27px;font-size:16px;color:#a26731}.back-top-2106 .btt-symbol{font-size:28px}.back-top-2106 .btt-main{font-size:14px}.back-top-2106:hover{transform:rotate(4deg) translateY(-4px)}
/* TB-2107 — true footer-integrated text; NOT a floating corner button */
.site-art{font-family:"Noto Serif JP","Yu Mincho",serif}.site-art .site-header{background:#19332f;color:#fff}.site-art .header-action{background:#cc634f}.site-art .hero{display:grid;grid-template-columns:55% 45%;background:#f7f4ec;min-height:460px}.site-art .hero-copy{padding-left:6vw}.site-art .hero h1{font-weight:400}.site-art .art-hero-sign{background:#d7d8c9;padding:45px;color:#294a43;display:flex;flex-direction:column;justify-content:center;font:700 clamp(55px,7vw,130px)/1 Arial,sans-serif;letter-spacing:-.07em}.site-art .art-hero-sign b{color:#c95846}.site-art .art-hero-sign small{font:14px/1.5 Arial,sans-serif;letter-spacing:.16em;margin-top:27px}.site-art .art-exhibition{background:#fffdf7}.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.art-grid article{background:#edece3;padding:40px;border-left:7px solid #cc634f}.art-grid article:nth-child(2){border-color:#728b78}.art-grid article>span{font-size:12px;letter-spacing:.1em}.art-grid article h3{font-size:clamp(21px,2.5vw,37px)}.site-art .poster-section{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:18px;background:#d7dbd2}.poster{min-height:370px;padding:30px 25px;display:flex;flex-direction:column;color:white}.poster>span{font:12px Arial,sans-serif;letter-spacing:.2em}.poster strong{font:800 clamp(32px,5vw,90px)/1.12 Arial,"Noto Sans JP",sans-serif;margin:auto 0;letter-spacing:-.05em}.poster small{font-size:13px}.poster-one{background:#204e47}.poster-two{background:#c95846}.poster-info{padding:15px}.poster-info dl{display:grid;grid-template-columns:100px 1fr;gap:15px}.poster-info dt{color:#466b60}.poster-info dd{margin:0}.site-art .art-news{background:#f8f1e8}.site-art .site-footer{background:#172c27;color:#fdfaf0;min-height:470px}.site-art .footer-wrap{grid-template-columns:38% 62%}.site-art .footer-brand{padding-right:40px}.site-art .footer-links{display:flex;gap:25px;flex-wrap:wrap}.site-art .footer-wrap>small{grid-column:1/-1;order:3}.back-top-2107{position:relative;z-index:1;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 80px;align-items:center;justify-items:start;background:transparent;color:#faf8e9;border:0;border-top:1px solid #7d9084;border-bottom:1px solid #7d9084;padding:34px 15px 26px;width:100%;min-height:174px;text-align:left;gap:8px}.back-top-2107 .btt-meta{grid-column:1/-1;font-family:Arial,sans-serif;color:#a5b8aa;font-size:12px;text-align:left}.back-top-2107 .btt-main{font-weight:400;text-align:left;font-size:clamp(34px,4.4vw,70px);line-height:1.35}.back-top-2107 .btt-symbol{font-size:59px;font-weight:200;transition:transform .2s}.back-top-2107 .btt-underline{display:block;position:absolute;width:0;height:3px;background:#e7c4a9;bottom:-2px;left:0;transition:width .5s}.back-top-2107:hover .btt-underline{width:100%}.back-top-2107:hover .btt-symbol{transform:translate(8px,-8px)}
/* TB-2108 — transport utility, roadside vertical information sign */
.site-taxi{font-family:"Noto Sans JP",sans-serif}.site-taxi .site-header{background:#122c36;color:white}.site-taxi .header-action{background:#e6ad54;color:#122c36}.site-taxi .hero{grid-template-columns:43% 57%;background:#eef1e9}.site-taxi .hero-copy{padding-top:75px;padding-bottom:75px}.site-taxi .hero h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-weight:500;line-height:1.6}.site-taxi .cta{background:#122c36}.taxi-hero-panel{margin:58px 5vw 58px 0;border:2px solid #a9bcb5;background:#dbe8e3;display:flex;flex-direction:column;justify-content:center;padding:30px;color:#193846}.taxi-map-title{background:#122c36;color:white;padding:12px;font-size:16px}.mini-line{font-size:clamp(20px,3vw,44px);color:#2c7991;white-space:nowrap;text-align:center;padding-top:42px}.mini-line span{font-size:17px;vertical-align:middle;letter-spacing:2px}.mini-steps{display:flex;justify-content:space-between;font-weight:700;padding:25px 8px}.taxi-hero-panel>small{font-size:12px}.taxi-guide{background:#fff}.route-guide{display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:12px;max-width:1130px;margin:45px auto 0}.route-line{position:absolute;height:6px;background:#26728a;top:46px;left:15%;width:70%}.route-guide article{text-align:center;position:relative;z-index:1}.route-guide article>b{display:grid;place-items:center;width:92px;height:92px;border:5px solid #226e87;background:white;border-radius:50%;font-size:20px;margin:auto}.route-guide article h3{margin-top:25px}.route-guide article p{font-size:13px}.site-taxi .taxi-services{background:#f4f2eb}.site-taxi .taxi-support{display:flex;align-items:center;justify-content:space-between;background:#dae9e2}.taxi-support strong{font-size:clamp(80px,11vw,180px);letter-spacing:-.08em;color:#286f83}.site-taxi .site-footer{background:#122d35}.back-top-2108{right:0;bottom:20px;width:109px;height:237px;padding:10px 5px;background:#0c3344;border:3px solid #e6af58;border-right:0;border-radius:7px 0 0 7px;color:#fff;box-shadow:-4px 7px 15px #0005;gap:12px}.back-top-2108 .sign-direction{width:100%;height:59px;background:#e6ad54;color:#102c3a;display:grid;place-items:center;font-size:46px;line-height:1}.back-top-2108 .btt-main{font-size:18px;line-height:1.35}.back-top-2108 .btt-meta{font-size:11px;color:#edc27d}.back-top-2108 .sign-small{font:9px Arial,sans-serif;letter-spacing:.17em;color:#acc9ce}.back-top-2108:hover .sign-direction{background:#f4ca83}
@media(max-width:920px){.site-observatory .hero{grid-template-columns:50% 50%}.site-observatory .hero-aside{display:none}.site-art .poster-section{grid-template-columns:1fr 1fr}.site-art .poster-info{grid-column:1/-1}}
@media(max-width:650px){.site-cinema .hero,.site-watch .hero,.site-science .hero,.site-bicycle .hero,.site-tailor .hero,.site-ferry .hero,.site-dental .hero,.site-precision .hero,.site-bakery .hero,.site-art .hero,.site-taxi .hero,.site-observatory .hero{display:flex;flex-direction:column}.site-observatory .hero-photo{order:2;min-height:280px;height:280px}.site-observatory .hero-copy{order:1;padding:38px 24px}.site-cinema .film-grid,.science-grid,.site-bicycle .bike-grid,.site-tailor .atelier-services .cards,.bread-cards,.round-cards,.art-grid,.site-taxi .route-guide{grid-template-columns:1fr}.site-cinema .film-art{height:165px}.site-science .science-grid{grid-template-columns:repeat(2,1fr)}.science-grid article{min-height:180px}.site-science .ticket-panel{display:block}.site-observatory .night-grid{grid-template-columns:1fr}.site-dental .medical-hours{grid-template-columns:1fr}.site-art .art-hero-sign{min-height:250px;font-size:65px}.site-art .poster-section{grid-template-columns:1fr}.site-art .poster-info{grid-column:auto}.site-art .footer-wrap{grid-template-columns:1fr}.back-top-2107{grid-column:1;grid-row:auto;min-height:144px}.back-top-2107 .btt-main{font-size:35px}.site-taxi .taxi-hero-panel{margin:0 15px 30px;padding:15px;order:2;min-height:245px}.site-taxi .mini-line{font-size:27px}.site-taxi .mini-line span{font-size:10px}.route-line{display:none}.route-guide article{border-bottom:1px solid #dde5e0;padding:13px 0}.site-taxi .taxi-support{flex-direction:column;align-items:flex-start}.site-taxi .taxi-support strong{font-size:95px}.back-top-2097{width:86px;min-height:103px;right:8px;bottom:9px}.back-top-2097 .ticket-cut{font-size:13px}.back-top-2097 .btt-meta,.back-top-2097 .ticket-code{font-size:7px}.back-top-2098{width:67px;height:95px;right:8px;top:auto;bottom:16px}.back-top-2098 .crown-knurl{top:-12px}.back-top-2099{right:9px;bottom:11px;width:75px;height:120px}.back-top-2099 .rocket-top{font-size:40px}.back-top-2100{top:auto;bottom:15%;width:58px;height:169px;left:0;gap:10px}.back-top-2100 .btt-symbol{font-size:30px}.back-top-2100 .btt-main{font-size:14px}.back-top-2100 .btt-meta{font-size:8px}.back-top-2101{width:83px;height:83px;right:9px;top:auto;bottom:15px}.back-top-2101 .moon-orbit i{font-size:9px}.back-top-2101 .btt-main{font-size:12px}.back-top-2101 .btt-symbol{font-size:20px}.back-top-2102{top:auto;bottom:20px;right:8px;width:63px;height:133px}.back-top-2102 .btt-main{font-size:13px}.back-top-2103{right:8px;bottom:12px;width:65px;height:131px}.back-top-2103 .btt-main{font-size:10px}.back-top-2104{width:81px;height:108px}.back-top-2104 .paper-fold{border-right-width:30px;border-bottom-width:30px}.back-top-2104 .btt-main{font-size:11px;margin-top:3px}.back-top-2105{width:64px;height:118px;top:auto;bottom:10px}.back-top-2105 .btt-main{font-size:11px}.back-top-2106{width:70px;height:110px;right:8px;bottom:9px;padding-top:18px}.back-top-2106 .tag-husk{top:21px}.back-top-2106 .btt-main{font-size:10px}.back-top-2108{width:76px;height:170px;bottom:12px}.back-top-2108 .sign-direction{height:43px;font-size:33px}.back-top-2108 .btt-main{font-size:12px}.back-top-2108 .btt-meta{font-size:9px}.site-ferry .timetable>div{padding:13px 7px;font-size:11px}.site-ferry .timetable strong{font-size:17px}.site-ferry .status{display:block;margin:10px 0;font-size:11px}.site-precision .spec-section{flex-direction:column}.site-cinema .fees{gap:7px}.site-cinema .fees>div{width:44%;margin:0}}
