:root{--paper: #FFFFFF;--paper2: #FCFCFC;--paper3: #FAFAFA;--paper4: #F7F8FA;--biwa: #3F6A8F;--biwa-dark: #2A4F70;--biwa-soft: #7FA9C2;--biwa-pale: #D6E5F0;--warm: #E89858;--warm-dark: #C77835;--warm-pale: #FCE6D0;--hiei: #6B8E55;--hiei-dark: #4E6E3D;--hiei-pale: #DCE8DA;--sun: #F4C97A;--sun-pale: #FDF1D7;--ink: #2D3540;--ink-soft: #4F5663;--gray: #888E97;--gray-light: #BFC4CC;--line: #E0E4EA;--line-soft: #F0F2F6}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Zen Maru Gothic,Noto Sans JP,sans-serif;font-weight:500;background:var(--paper);color:var(--ink);line-height:1.95;-webkit-font-smoothing:antialiased;font-size:16px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:Zen Maru Gothic,Noto Sans JP,sans-serif;font-weight:700;line-height:1.6;color:var(--ink)}.font-en{font-family:Cormorant Garamond,serif;font-style:italic}.font-maru{font-family:Zen Maru Gothic,sans-serif}.font-hand{font-family:Klee One,cursive}.font-yomogi{font-family:Yomogi,cursive}.font-min{font-family:Shippori Mincho,serif}.font-sans{font-family:Noto Sans JP,sans-serif}.bridge-bg-deco{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bridge-bg-deco svg{position:absolute;display:block}.bridge-bg-hiei{width:100%;height:320px;bottom:0;left:0;opacity:.5}.bridge-bg-blob-a{width:560px;height:560px;top:-120px;right:-160px;animation:bridge-bg-float-a 22s ease-in-out infinite alternate}.bridge-bg-blob-b{width:480px;height:480px;top:38%;left:-180px;animation:bridge-bg-float-b 26s ease-in-out infinite alternate}.bridge-bg-blob-c{width:440px;height:440px;top:62%;right:-160px;animation:bridge-bg-float-a 24s ease-in-out infinite alternate}.bridge-bg-wave-a,.bridge-bg-wave-b,.bridge-bg-wave-c{color:var(--biwa-soft);opacity:.22}.bridge-bg-wave-a{width:180px;height:90px;top:14%;left:6%;animation:bridge-wave-drift 18s ease-in-out infinite alternate}.bridge-bg-wave-b{width:140px;height:70px;top:48%;right:8%;animation:bridge-wave-drift 22s ease-in-out infinite alternate-reverse}.bridge-bg-wave-c{width:200px;height:100px;top:78%;left:18%;animation:bridge-wave-drift 26s ease-in-out infinite alternate}@keyframes bridge-bg-float-a{0%{transform:translate(0) rotate(0)}to{transform:translate(20px,-16px) rotate(6deg)}}@keyframes bridge-bg-float-b{0%{transform:translate(0) rotate(0)}to{transform:translate(-22px,14px) rotate(-6deg)}}@keyframes bridge-wave-drift{0%{transform:translate(0)}to{transform:translate(14px,-6px)}}main,.bridge-site-header,.bridge-site-footer{position:relative;z-index:1}.bridge-illust-layer{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.bridge-illust{position:absolute;display:block}.bridge-illust svg{width:100%;height:100%}.bridge-illust.c-biwa{color:var(--biwa-dark)}.bridge-illust.c-biwa-soft{color:var(--biwa-soft)}.bridge-illust.c-warm{color:var(--warm-dark)}.bridge-illust.c-warm-soft{color:var(--warm)}.bridge-illust.c-hiei{color:var(--hiei-dark)}.bridge-illust.c-sun{color:var(--sun)}.bridge-illust.c-ink{color:var(--ink-soft);opacity:.55}.bridge-illust.float-a{animation:bridge-il-float-a 7s ease-in-out infinite alternate}.bridge-illust.float-b{animation:bridge-il-float-b 9s ease-in-out infinite alternate}.bridge-illust.float-c{animation:bridge-il-float-c 11s ease-in-out infinite alternate}.bridge-illust.spin-slow{animation:bridge-il-spin 26s linear infinite}@keyframes bridge-il-float-a{0%{transform:translate(0) rotate(0)}to{transform:translate(8px,-10px) rotate(6deg)}}@keyframes bridge-il-float-b{0%{transform:translate(0) rotate(0)}to{transform:translate(-10px,8px) rotate(-5deg)}}@keyframes bridge-il-float-c{0%{transform:translate(0) rotate(-3deg)}to{transform:translate(6px,8px) rotate(7deg)}}@keyframes bridge-il-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bridge-clip-wave{clip-path:url(#bridgeShapeWave);-webkit-clip-path:url(#bridgeShapeWave)}.bridge-clip-bloba{clip-path:url(#bridgeShapeBlobA);-webkit-clip-path:url(#bridgeShapeBlobA)}.bridge-clip-blobb{clip-path:url(#bridgeShapeBlobB);-webkit-clip-path:url(#bridgeShapeBlobB)}.bridge-clip-arch{clip-path:url(#bridgeShapeArch);-webkit-clip-path:url(#bridgeShapeArch)}.bridge-clip-circle{clip-path:circle(48% at 50% 50%);-webkit-clip-path:circle(48% at 50% 50%)}.bridge-photo-wrap{position:relative;display:inline-block;width:100%}.bridge-photo-wrap img{width:100%;display:block}section.block{padding:96px 40px;position:relative;overflow:hidden}section.block.paper{background:var(--paper)}section.block.paper2{background:var(--paper2)}section.block.paper3{background:var(--paper3)}section.block.paper4{background:var(--paper4)}section.block.biwa-pale{background:linear-gradient(135deg,var(--biwa-pale) 0%,#BFD3E1 100%)}section.block.warm-pale{background:linear-gradient(135deg,var(--warm-pale) 0%,#F6D6B5 100%)}section.block.hiei-pale{background:linear-gradient(135deg,var(--hiei-pale) 0%,#C8D7C2 100%)}section.block.sun-pale{background:linear-gradient(135deg,var(--sun-pale) 0%,#F6E2B0 100%)}section.block.bold-biwa{background:#7fa9c2;color:#fff}section.block.bold-biwa .eyebrow{color:#ffffffd9}section.block.bold-biwa .section-h{color:#fff}section.block.bold-biwa .section-h .accent,section.block.bold-biwa .section-h .accent-biwa,section.block.bold-biwa .section-h .accent-hiei{color:#fdf1d7}section.block.bold-biwa .section-lead{color:#ffffffeb}section.block.bold-hiei{background:#8dae7b;color:#fff}section.block.bold-hiei .eyebrow{color:#ffffffd9}section.block.bold-hiei .section-h{color:#fff}section.block.bold-hiei .section-h .accent,section.block.bold-hiei .section-h .accent-biwa,section.block.bold-hiei .section-h .accent-hiei{color:#fdf1d7}section.block.bold-hiei .section-lead{color:#ffffffeb}section.block.bold-warm{background:#e89858;color:#fff}section.block.bold-warm .eyebrow{color:#ffffffd9}section.block.bold-warm .section-h{color:#fff}section.block.bold-warm .section-h .accent,section.block.bold-warm .section-h .accent-biwa,section.block.bold-warm .section-h .accent-hiei{color:#fdf1d7}section.block.bold-warm .section-lead{color:#fffffff0}.section-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2}.section-narrow{max-width:980px;margin:0 auto;position:relative;z-index:2}.eyebrow{display:inline-block;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:18px;color:var(--warm-dark);letter-spacing:.08em;margin-bottom:12px}.section-h{font-family:Shippori Mincho,serif;font-size:clamp(28px,4.4vw,42px);font-weight:700;letter-spacing:.04em;line-height:1.45;margin-bottom:18px;color:var(--ink)}.section-h .accent{color:var(--warm-dark)}.section-h .accent-biwa{color:var(--biwa)}.section-h .accent-hiei{color:var(--hiei-dark)}.section-lead{font-size:17px;line-height:2.1;color:var(--ink-soft);margin-bottom:36px;max-width:760px}.section-deco{display:inline-block;width:56px;height:4px;background:var(--warm);border-radius:4px;margin-bottom:22px;vertical-align:middle}.bridge-site-header{position:sticky;top:0;z-index:100;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft);padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.bridge-brand{display:flex;align-items:center;gap:12px}.bridge-brand-text{display:flex;flex-direction:column;line-height:1.2}.bridge-brand-jp{font-family:Shippori Mincho,serif;font-weight:700;font-size:17px;color:var(--ink);letter-spacing:.06em}.bridge-brand-en{font-family:Cormorant Garamond,serif;font-style:italic;font-size:12px;color:var(--warm-dark);letter-spacing:.1em;margin-top:2px}.bridge-main-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.bridge-main-nav a{font-family:Shippori Mincho,serif;font-size:14.5px;color:var(--ink-soft);letter-spacing:.05em;transition:color .2s}.bridge-main-nav a:hover{color:var(--warm-dark)}.bridge-nav-toggle{display:none;background:none;border:none;width:32px;height:28px;position:relative;cursor:pointer}.bridge-nav-toggle span{display:block;position:absolute;height:2px;width:100%;background:var(--ink);left:0;transition:all .3s}.bridge-nav-toggle span:nth-child(1){top:4px}.bridge-nav-toggle span:nth-child(2){top:13px}.bridge-nav-toggle span:nth-child(3){top:22px}@media(max-width:980px){.bridge-main-nav{display:none;flex-direction:column;position:absolute;top:70px;right:0;left:0;background:var(--paper);padding:24px;border-top:1px solid var(--line);gap:14px}.bridge-main-nav.open{display:flex}.bridge-nav-toggle{display:block}}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:Shippori Mincho,serif;font-size:15px;letter-spacing:.08em;border-radius:36px;transition:all .25s;border:none;cursor:pointer}.btn-primary{background:var(--warm);color:#fff;box-shadow:0 6px 20px #e898584d}.btn-primary:hover{background:var(--warm-dark);transform:translateY(-2px);box-shadow:0 10px 24px #e8985866}.btn-outline{background:transparent;color:var(--biwa-dark);border:1.6px solid var(--biwa)}.btn-outline:hover{background:var(--biwa);color:#fff}.card{background:var(--paper);border-radius:18px;padding:32px;border:1px solid var(--line);transition:all .25s}.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #3f6a8f1f;border-color:var(--biwa-soft)}.reveal{opacity:0;transform:translateY(28px);transition:all .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.page-hero{padding:110px 40px 80px;background:linear-gradient(135deg,var(--biwa-pale) 0%,var(--hiei-pale) 100%);position:relative;overflow:hidden;text-align:center}.page-hero h1{font-family:Shippori Mincho,serif;font-size:clamp(32px,5vw,48px);font-weight:700;color:var(--ink);letter-spacing:.06em;margin-bottom:12px}.page-hero .ph-en{font-family:Cormorant Garamond,serif;font-style:italic;font-size:20px;color:var(--warm-dark);letter-spacing:.16em;margin-bottom:18px}.page-hero .ph-lead{max-width:720px;margin:0 auto;font-size:16.5px;line-height:2;color:var(--ink-soft)}.bridge-site-footer{background:#2a4f70;color:#dde6ef;padding:80px 40px 40px;margin-top:80px;position:relative;z-index:1}.bridge-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr;gap:40px}@media(max-width:880px){.bridge-footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:520px){.bridge-footer-inner{grid-template-columns:1fr}}.bridge-footer-script{font-family:Cormorant Garamond,serif;font-style:italic;font-size:32px;color:var(--sun);letter-spacing:.1em;margin-bottom:8px}.bridge-footer-name{font-family:Shippori Mincho,serif;font-size:16px;color:#fff;font-weight:700;margin-bottom:6px}.bridge-footer-tag{font-size:13px;color:#bfcbd6}.bridge-footer-h{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--sun);font-size:16px;letter-spacing:.1em;margin-bottom:10px}.bridge-footer-info p,.bridge-footer-area p{font-size:13.5px;line-height:1.85;color:#c5d1dc}.bridge-footer-links{display:flex;flex-direction:column;gap:6px}.bridge-footer-links a{font-size:13px;color:#bfcbd6;transition:color .2s}.bridge-footer-links a:hover{color:var(--sun)}.bridge-footer-bottom{max-width:1200px;margin:40px auto 0;text-align:center;border-top:1px solid #3F627F;padding-top:24px}.bridge-footer-bottom p{font-size:12px;color:#8a99a8;margin-bottom:6px}.bridge-footer-copy{font-family:Cormorant Garamond,serif;font-style:italic;font-size:13px;color:var(--sun);letter-spacing:.1em}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}@media(max-width:880px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex-2{display:flex;gap:40px;align-items:center}.flex-2>*{flex:1}@media(max-width:880px){.flex-2{flex-direction:column}}.text-center{text-align:center}.mt-l{margin-top:60px}.mt-xl{margin-top:80px}.mb-l{margin-bottom:60px}table.fees-table{width:100%;border-collapse:collapse;margin:24px 0;background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #3f6a8f0f}table.fees-table th,table.fees-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line-soft);font-size:14.5px}table.fees-table th{background:var(--biwa-pale);color:var(--biwa-dark);font-family:Shippori Mincho,serif;font-weight:700}table.fees-table tr:last-child td{border-bottom:none}@media(max-width:880px){section.block{padding:64px 24px}.page-hero{padding:90px 24px 56px}.bridge-site-header{padding:12px 20px}}
