:root{--ink: #1F1F1D;--ink-soft: #3D3B36;--ink-mute: #7A7670;--kanmon: #1F4A6E;--kanmon-deep: #143654;--kanmon-soft: #3D6E92;--yahata: #2A2E36;--yahata-deep: #181B22;--brick: #A8553A;--brick-soft: #C97658;--brick-deep: #7A3D28;--moji: #D9B048;--moji-soft: #E8C878;--moji-deep: #9A7B26;--paper: #FCFAF4;--paper-soft: #F6EFE0;--paper-warm: #F2E9D4;--line: #E5DCC4;--line-soft: #EFE7CE;--line-dark: #C8B89A;--navy: #143654;--navy-deep: #181B22;--navy-soft: #1F4A6E;--brass: #D9B048;--brass-soft: #E8C878;--brass-deep: #9A7B26;--shudei: #A8553A;--shudei-soft: #C97658;--pine: #1F4A6E;--pine-deep: #143654;--kyo-moss: #3D6E92;--aizumi: #143654;--kashi-cha: #A8553A;--kashi-kin: #D9B048;--nagara: #1F4A6E;--nagara-deep: #143654;--nagara-soft: #3D6E92;--kinka: #2A2E36;--kinka-deep: #181B22;--gold: #D9B048;--gold-soft: #E8C878;--gold-deep: #9A7B26;--kagari: #A8553A;--kagari-soft: #C97658}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Inter,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"palt" 1;background-image:radial-gradient(rgba(217,176,72,.028) 1px,transparent 1px),radial-gradient(rgba(31,74,110,.02) 1px,transparent 1px);background-size:28px 28px,18px 18px;background-position:0 0,14px 14px}.site-header{position:sticky;top:0;z-index:100;background:#fcfaf4f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line-soft);transition:padding .25s ease,background .25s ease}.header-inner{max-width:1280px;margin:0 auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .25s ease}body.scrolled .header-inner{padding:14px 36px}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--kanmon-deep)}.brand-en{font-family:Cormorant Garamond,serif;font-weight:600;font-style:italic;font-size:26px;letter-spacing:.06em;color:var(--kanmon-deep);line-height:1}.brand-jp{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:11px;letter-spacing:.18em;color:var(--ink-soft);margin-top:6px}.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.nav a{font-family:Shippori Mincho B1,serif;font-weight:500;font-size:13px;letter-spacing:.14em;color:var(--ink);text-decoration:none;position:relative;padding:6px 0;transition:color .2s ease}.nav a:hover{color:var(--brick)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;cursor:pointer;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.18em;color:var(--ink)}@media(max-width:1180px){.menu-toggle{display:block}.nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:22px 32px;gap:14px;border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.nav.open{opacity:1;transform:translateY(0);pointer-events:auto}.nav a{font-size:14px;padding:8px 0;width:100%}}main{min-height:60vh}.container{max-width:1240px;margin:0 auto;padding:0 36px}.container-narrow{max-width:960px;margin:0 auto;padding:0 36px}section{padding:120px 0;position:relative}@media(max-width:880px){section{padding:72px 0}.container,.container-narrow{padding:0 22px}}.block.paper{background:var(--paper)}.block.paper2{background:var(--paper-soft)}.block.paper3{background:var(--paper-warm)}.eyebrow{display:inline-block;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.32em;color:var(--brick);text-transform:uppercase;margin-bottom:20px}.eyebrow:before{content:"";display:inline-block;width:26px;height:1px;background:var(--moji);vertical-align:middle;margin-right:12px;margin-bottom:3px}h1.page-title,.page-title{font-family:Shippori Mincho B1,serif;font-weight:700;font-size:clamp(34px,4.6vw,54px);letter-spacing:.05em;line-height:1.4;color:var(--kanmon-deep);margin-bottom:24px}.page-title-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:clamp(28px,3.6vw,42px);letter-spacing:.04em;color:var(--brick);margin-bottom:8px;line-height:1.2}h2.section-title,.section-title{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:clamp(26px,3.4vw,38px);letter-spacing:.05em;line-height:1.5;color:var(--kanmon-deep);margin-bottom:22px}.section-title-en{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:clamp(22px,2.6vw,30px);letter-spacing:.04em;color:var(--brick);line-height:1.2;margin-bottom:6px}h3{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:clamp(18px,2vw,22px);letter-spacing:.04em;line-height:1.6;color:var(--kanmon-deep);margin-bottom:14px}h4{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--kanmon-deep);margin-bottom:10px}p{color:var(--ink-soft)}p.lead{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(15px,1.5vw,18px);line-height:2.1;color:var(--ink)}strong{color:var(--kanmon-deep);font-weight:700}a{color:var(--kanmon-deep);text-decoration:underline;text-decoration-color:var(--moji);text-underline-offset:4px}a:hover{color:var(--brick)}.btn{display:inline-flex;align-items:center;gap:12px;font-family:Shippori Mincho B1,serif;font-weight:500;font-size:13.5px;letter-spacing:.18em;padding:16px 30px;text-decoration:none;border:1px solid var(--kanmon-deep);background:var(--kanmon-deep);color:var(--paper);transition:background .25s ease,color .25s ease,border-color .25s ease;border-radius:2px}.btn:hover{background:var(--brick);border-color:var(--brick);color:var(--paper)}.btn-outline{background:transparent;color:var(--kanmon-deep)}.btn-outline:hover{background:var(--kanmon-deep);color:var(--paper)}.btn-brass{background:var(--moji);border-color:var(--moji);color:var(--kanmon-deep)}.btn-brass:hover{background:var(--kanmon-deep);border-color:var(--kanmon-deep);color:var(--moji)}.btn-kin{background:var(--moji);border-color:var(--moji);color:var(--ink)}.btn-kin:hover{background:var(--kanmon-deep);border-color:var(--kanmon-deep);color:var(--paper)}.btn .arrow{width:20px;height:1px;background:currentColor;position:relative}.btn .arrow:after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg)}.div-rule{width:100%;height:1px;background:var(--line);margin:60px 0}.div-rule-thin{width:60px;height:1px;background:var(--moji);margin:16px 0 28px}table.fee-table{width:100%;border-collapse:collapse;font-family:Noto Sans JP,sans-serif;font-size:14.5px}table.fee-table th,table.fee-table td{padding:18px 22px;border:1px solid var(--line);text-align:left;vertical-align:top}table.fee-table thead th{background:var(--paper-warm);font-family:Shippori Mincho B1,serif;font-weight:600;color:var(--kanmon-deep);letter-spacing:.08em;font-size:14px}table.fee-table tbody tr{transition:background .25s ease}table.fee-table tbody tr:hover{background:var(--paper-warm)}table.fee-table td:first-child{font-family:Shippori Mincho B1,serif;font-weight:500;color:var(--kanmon-deep);width:36%}table.fee-table td .price{font-family:Cormorant Garamond,serif;font-weight:500;font-size:19px;color:var(--brick);margin-right:4px}.site-footer{background:var(--yahata-deep);border-top:1px solid var(--yahata-deep);padding:64px 0 32px;color:#fcfaf4c7}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}@media(max-width:720px){.footer-grid{grid-template-columns:1fr;gap:28px}}.footer-brand-en{font-family:Cormorant Garamond,serif;font-weight:600;font-style:italic;font-size:28px;letter-spacing:.06em;color:var(--paper);line-height:1;margin-bottom:8px}.footer-brand-jp{font-family:Shippori Mincho B1,serif;font-weight:600;color:var(--moji);font-size:14px;letter-spacing:.16em;margin-bottom:16px}.footer h5{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:13px;color:var(--moji);letter-spacing:.2em;margin-bottom:14px}.footer ul{list-style:none}.footer ul li{font-size:13px;margin-bottom:8px;color:#fcfaf4c7}.footer ul li a{color:#fcfaf4c7;text-decoration:none;transition:color .2s}.footer ul li a:hover{color:var(--moji)}.footer p{color:#fcfaf4b3}.footer-bottom{border-top:1px solid rgba(252,250,244,.18);padding-top:24px;display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.2em;color:#fcfaf480;text-transform:uppercase}@media(max-width:720px){.footer-bottom{flex-direction:column;gap:8px}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.25,.1,.25,1),transform .9s cubic-bezier(.25,.1,.25,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.photo-pro{filter:grayscale(6%) saturate(.98) contrast(1.02);transition:filter .5s ease,transform .5s ease}.photo-pro:hover{filter:grayscale(0%) saturate(1) contrast(1)}.photo-zoom{overflow:hidden;background:var(--paper-warm);position:relative}.photo-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo-zoom:hover img{transform:scale(1.03)}.ken-burns{overflow:hidden;position:relative}.ken-burns img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform 12s ease-out}.ken-burns.visible img{transform:scale(1.08) translate(-1%,-1%)}.kanmon-wave{position:absolute;left:0;right:0;bottom:0;height:60px;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'><path fill='%231F4A6E' d='M0,30 C150,12 300,48 450,30 C600,12 750,48 900,30 C1050,12 1200,48 1200,30 L1200,60 L0,60 Z' opacity='0.7'/><path fill='%233D6E92' d='M0,38 C200,22 400,54 600,38 C800,22 1000,54 1200,38 L1200,60 L0,60 Z' opacity='0.5'/><path fill='%23143654' d='M0,46 C180,34 380,58 580,46 C780,34 980,58 1200,46 L1200,60 L0,60 Z' opacity='0.4'/></svg>");background-repeat:no-repeat;background-size:100% 100%}.kanmon-bridge{position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 110' preserveAspectRatio='xMidYEnd slice'><g fill='none' stroke='%231F4A6E' stroke-width='2'><line x1='0' y1='80' x2='1200' y2='80'/><line x1='280' y1='12' x2='280' y2='80'/><line x1='280' y1='12' x2='284' y2='12'/><line x1='920' y1='12' x2='920' y2='80'/><line x1='920' y1='12' x2='924' y2='12'/><path d='M0,80 Q280,12 600,55 Q920,12 1200,80' stroke-width='1.5'/></g><g fill='%231F4A6E'><rect x='276' y='10' width='8' height='72'/><rect x='916' y='10' width='8' height='72'/><rect x='270' y='80' width='20' height='4'/><rect x='910' y='80' width='20' height='4'/></g></svg>");background-repeat:no-repeat;background-size:100% 100%;background-position:bottom}.yahata-chimney{width:56px;height:70px;display:inline-block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 100'><g fill='%232A2E36'><rect x='14' y='20' width='10' height='70'/><rect x='12' y='18' width='14' height='6'/><rect x='34' y='10' width='10' height='80'/><rect x='32' y='8' width='14' height='6'/><rect x='54' y='28' width='10' height='62'/><rect x='52' y='26' width='14' height='6'/><rect x='4' y='88' width='72' height='6'/></g><g fill='%23A8553A' opacity='0.6'><ellipse cx='19' cy='14' rx='8' ry='4'/><ellipse cx='39' cy='4' rx='9' ry='5'/><ellipse cx='59' cy='22' rx='8' ry='4'/></g></svg>");background-repeat:no-repeat;background-size:contain}.moji-retro{width:64px;height:56px;display:inline-block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 70'><g><path fill='%23A8553A' d='M40,8 C32,8 26,14 26,22 L26,28 L54,28 L54,22 C54,14 48,8 40,8 Z'/><circle cx='40' cy='14' r='2' fill='%23D9B048'/><rect x='20' y='28' width='40' height='30' fill='%23A8553A'/><rect x='28' y='34' width='6' height='10' fill='%23F2E9D4'/><rect x='37' y='34' width='6' height='10' fill='%23F2E9D4'/><rect x='46' y='34' width='6' height='10' fill='%23F2E9D4'/><rect x='34' y='48' width='12' height='10' fill='%23181B22'/><rect x='16' y='58' width='48' height='6' fill='%232A2E36'/></g></svg>");background-repeat:no-repeat;background-size:contain}.brick-icon{width:28px;height:28px;display:inline-block;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><g fill='%23A8553A'><rect x='4' y='6' width='14' height='6' rx='1'/><rect x='22' y='6' width='14' height='6' rx='1'/><rect x='4' y='16' width='8' height='6' rx='1'/><rect x='16' y='16' width='14' height='6' rx='1'/><rect x='34' y='16' width='2' height='6' rx='1'/><rect x='4' y='26' width='14' height='6' rx='1'/><rect x='22' y='26' width='14' height='6' rx='1'/></g></svg>");background-repeat:no-repeat;background-size:contain}.hero-full{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden}.hero-full .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-full .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#181b2266,#1f4a6e80 60%,#143654b3);z-index:2}.hero-full .hero-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 8vw;color:var(--paper)}.hero-full .hero-eyebrow{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500;font-size:clamp(18px,2.2vw,26px);letter-spacing:.12em;color:var(--moji-soft);margin-bottom:18px}.hero-full .hero-title{font-family:Shippori Mincho B1,serif;font-weight:700;font-size:clamp(34px,5.4vw,64px);letter-spacing:.05em;line-height:1.4;color:var(--paper);margin-bottom:24px;text-shadow:0 2px 18px rgba(0,0,0,.4)}.hero-full .hero-sub{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(14px,1.4vw,17px);line-height:2;color:#fcfaf4f0;max-width:640px;margin-bottom:36px;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero-full .hero-cta{display:flex;gap:16px;flex-wrap:wrap}.hero-full .btn{background:var(--moji);border-color:var(--moji);color:var(--kanmon-deep)}.hero-full .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--kanmon-deep)}.hero-full .btn-outline{background:transparent;color:var(--paper);border-color:#fcfaf4b3}.hero-full .btn-outline:hover{background:var(--paper);color:var(--kanmon-deep);border-color:var(--paper)}@media(max-width:720px){.hero-full .hero-content{padding:0 28px}}
