:root{--ink: #1F1F1D;--ink-soft: #3D3B36;--ink-mute: #7A7670;--navy: #1F4A7A;--navy-deep: #14305A;--navy-soft: #3D6FA3;--brass: #D67353;--brass-soft: #E89377;--brass-deep: #A85537;--shudei: #C9A864;--shudei-soft: #DFC78C;--pine: #5F8466;--pine-deep: #14305A;--kyo-moss: #8AA681;--paper: #FFFFFF;--paper-soft: #FCFCFC;--paper-warm: #FAFAFA;--line: #E5E0D5;--line-soft: #F1ECDF;--line-dark: #C6BCA0;--aizumi: #1F4A7A;--kashi-cha: #D67353;--kashi-kin: #C9A864}*{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(31,74,122,.022) 1px,transparent 1px),radial-gradient(rgba(214,115,83,.018) 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:#fffffff0;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(--navy)}.brand-en{font-family:Cormorant Garamond,serif;font-weight:600;font-style:italic;font-size:22px;letter-spacing:.06em;color:var(--navy);line-height:1.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:.12em;color:var(--ink);text-decoration:none;position:relative;padding:6px 0;transition:color .2s ease}.nav a:hover{color:var(--brass)}.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)}.tks-deco-wave{position:absolute;left:0;right:0;bottom:0;height:48px;pointer-events:none;opacity:.08;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='%231F4A7A' d='M0,30 Q150,0 300,30 T600,30 T900,30 T1200,30 L1200,60 L0,60 Z'/></svg>");background-repeat:repeat-x;background-size:600px 100%;background-position:bottom}.eyebrow{display:inline-block;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.32em;color:var(--brass);text-transform:uppercase;margin-bottom:20px}.eyebrow:before{content:"";display:inline-block;width:26px;height:1px;background:var(--brass);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(--navy);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(--brass);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(--navy);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(--brass);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(--navy);margin-bottom:14px}h4{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--navy);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(--navy);font-weight:700}a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}a:hover{color:var(--brass)}.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(--navy);background:var(--navy);color:var(--paper);transition:background .25s ease,color .25s ease,border-color .25s ease;border-radius:2px}.btn:hover{background:var(--brass);border-color:var(--brass);color:var(--paper)}.btn-outline{background:transparent;color:var(--navy)}.btn-outline:hover{background:var(--navy);color:var(--paper)}.btn-brass{background:var(--brass);border-color:var(--brass);color:var(--paper)}.btn-brass:hover{background:var(--navy);border-color:var(--navy);color:var(--paper)}.btn-kin{background:var(--shudei);border-color:var(--shudei);color:var(--ink)}.btn-kin:hover{background:var(--navy);border-color:var(--navy);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(--brass);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(--navy);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(--navy);width:36%}table.fee-table td .price{font-family:Cormorant Garamond,serif;font-weight:500;font-size:19px;color:var(--brass);margin-right:4px}.site-footer{background:var(--navy-deep);border-top:1px solid var(--navy-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:24px;letter-spacing:.06em;color:var(--paper);line-height:1.1;margin-bottom:8px}.footer-brand-jp{font-family:Shippori Mincho B1,serif;font-weight:600;color:var(--brass-soft);font-size:13px;letter-spacing:.16em;margin-bottom:16px}.footer h5{font-family:Shippori Mincho B1,serif;font-weight:600;font-size:13px;color:var(--brass-soft);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(--brass-soft)}.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(8%) 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%)}.tks-light-glow{position:absolute;width:360px;height:360px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(214,115,83,.2) 0%,rgba(232,147,119,.1) 35%,transparent 70%);filter:blur(8px)}.trust-tab{position:relative;padding-left:20px}.trust-tab:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--brass)}.tks-lighthouse{width:48px;height:64px;display:inline-block;position:relative}.tks-lighthouse:before{content:"";position:absolute;inset:16px 18px 4px;background:var(--paper);border:1px solid var(--navy);border-bottom-width:2px}.tks-lighthouse:after{content:"";position:absolute;left:14px;right:14px;top:6px;height:14px;background:var(--brass);border-radius:50% 50% 0 0}.tks-wave3{display:inline-flex;flex-direction:column;gap:4px;width:36px}.tks-wave3 span{height:2px;background:var(--brass);border-radius:2px}.tks-wave3 span:nth-child(1){width:100%}.tks-wave3 span:nth-child(2){width:75%}.tks-wave3 span:nth-child(3){width:50%}
