:root{--font-serif-ja:"Yu Mincho", "Hiragino Mincho ProN", Georgia, serif;--font-serif-zh:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", Arial, sans-serif;--font-sans-zh:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", Arial, sans-serif;color:#242424;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Noto Sans JP,Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{background:#fff;min-height:100vh}.topbar{z-index:20;background:#fffffff0;border-bottom:1px solid #e2e2e2;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:clamp(16px,3vw,36px);min-height:72px;padding:10px clamp(18px,4vw,64px);display:grid;position:sticky;top:0}.home-topbar{color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#04182252,#04182200);border-bottom:0;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:start;min-height:118px;position:fixed;left:0;right:0}.home-topbar .brand-lockup{place-self:start}.home-topbar .brand-logo{width:42px;height:42px}.home-topbar .brand-name{font-size:1rem}.home-topbar .main-nav{color:#fffffff0;place-self:start center;padding-top:12px}.home-topbar .main-nav a{text-shadow:0 2px 14px #00000052}.home-topbar .main-nav a:hover,.home-topbar .main-nav a.active{color:#fff;border-bottom-color:#cda75b}.header-tools{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #102c3a1a;border-radius:999px;justify-self:end;align-items:center;gap:12px;padding:5px;display:inline-flex;box-shadow:0 16px 38px #105d7c14}.home-topbar .header-tools{background:#072c403d;border-color:#ffffff42;place-self:start end;box-shadow:0 18px 42px #0000001f}.home-topbar .language-switch{background:0 0}.home-topbar .language-switch button{color:#ffffffe0}.home-topbar .language-switch button.active{color:#102c3a;background:linear-gradient(135deg,#efd482,#cda75b)}.brand-lockup{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:13px;display:inline-flex}.brand-logo{object-fit:contain;width:48px;height:48px}.brand-name,.brand-tagline{line-height:1.2;display:block}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.brand-tagline{color:#6c6c6c;margin-top:3px;font-size:.74rem}.home-topbar .brand-tagline{color:#ffffffd1}.main-nav{letter-spacing:.02em;justify-content:center;justify-self:center;gap:clamp(22px,2.8vw,42px);font-size:.9rem;font-weight:700;display:flex}.main-nav a{white-space:nowrap;border-bottom:0;padding:9px 0 11px;position:relative}.main-nav a:after{content:"";background:currentColor;height:1px;transition:left .2s,right .2s;position:absolute;bottom:3px;left:50%;right:50%}.main-nav a:hover:after,.main-nav a.active:after{left:0;right:0}.main-nav a.active{color:#102c3a}.language-switch{background:#102c3a0b;border:0;border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.language-switch button{min-height:34px;color:inherit;letter-spacing:.02em;background:0 0;border:0;border-radius:999px;padding:0 13px;font-size:.84rem;font-weight:800;transition:color .2s,background .2s,box-shadow .2s}.language-switch button.active{color:#fff;background:linear-gradient(135deg,#0e6891,#0f8578);box-shadow:0 10px 22px #0e68912e}.home-visual-page{color:#fff;background:#3aaee1;min-height:100vh;position:relative}.home-visual-image{opacity:0;background-position:50%;background-size:cover;min-height:100vh;transition:opacity 1.2s;position:absolute;inset:0;transform:scale(1.04)}.home-visual-image.active{opacity:1;animation:13s ease-in-out infinite alternate templeDrift}.home-visual-page:after{content:"";pointer-events:none;background:linear-gradient(#075a7e2e,#0374ad1a 52%,#00375442),radial-gradient(circle at 50% 42%,#ffffff2e,#0000 28%);position:absolute;inset:0}.home-brand-center{z-index:2;text-align:center;text-shadow:0 2px 18px #00000038;align-content:center;place-items:center;gap:14px;min-height:100vh;display:grid;position:relative}.home-brand-center img{object-fit:contain;filter:drop-shadow(0 8px 24px #0000002e);mix-blend-mode:normal;opacity:.96;width:clamp(96px,12vw,164px);height:clamp(96px,12vw,164px)}.home-brand-center p{color:#fff;letter-spacing:.08em;margin:0;font-size:clamp(1.8rem,4vw,4.4rem);font-weight:800}.home-brand-center span{color:#ffffffeb;letter-spacing:.18em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.6vw,1.5rem)}.slide-indicator{z-index:3;gap:12px;display:grid;position:absolute;top:50%;right:clamp(18px,3vw,52px);transform:translateY(-50%)}.slide-indicator button{background:0 0;border:1px solid #ffffffdb;border-radius:50%;width:12px;height:12px;padding:0}.slide-indicator button.active{background:#fff}.slide-indicator span{width:1px;height:1px;position:absolute;overflow:hidden}.home-carousel-section{z-index:4;color:#1f2d33;background:#fff;padding:clamp(52px,8vw,92px) clamp(18px,5vw,72px) clamp(70px,9vw,110px);position:relative}.model-plan-heading{color:#1f2d33;background:#fff;border-top:1px solid #102c3a3d;border-bottom:1px solid #102c3a2e;grid-template-columns:170px minmax(280px,.92fr) minmax(300px,1fr);align-items:center;gap:0;width:min(1040px,100%);margin:0 auto 34px;padding:18px 0;display:grid}.model-plan-heading>div{color:#cda75b;border-right:1px solid #102c3a33;align-content:center;justify-items:center;min-height:86px;display:grid}.model-plan-heading span{letter-spacing:.24em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:.86rem;font-weight:700;line-height:1.2}.model-plan-heading h1{color:#102c3a;letter-spacing:-.04em;border-right:1px solid #102c3a33;margin:0;padding:0 clamp(26px,4vw,46px);font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.72rem,3vw,2.85rem);font-weight:500;line-height:1.24}.model-plan-heading p{color:#263943;max-width:680px;margin:0;padding:0 clamp(24px,4vw,42px);font-family:Yu Mincho,Georgia,serif;font-size:clamp(.94rem,1.2vw,1.08rem);line-height:1.8}.landmark-marquee{width:100%;padding:4px 0 18px;position:relative;overflow:hidden}.landmark-marquee:before,.landmark-marquee:after{content:"";z-index:2;pointer-events:none;width:min(9vw,120px);position:absolute;top:0;bottom:0}.landmark-marquee:before{background:linear-gradient(90deg,#fff 0%,#fff0 100%);left:0}.landmark-marquee:after{background:linear-gradient(270deg,#fff 0%,#fff0 100%);right:0}.landmark-track{gap:18px;width:max-content;animation:42s linear infinite landmarkSlideLeft;display:flex}.landmark-marquee:hover .landmark-track{animation-play-state:paused}.landmark-card{aspect-ratio:16/9;background:#d9edf5;flex:0 0 clamp(360px,42vw,720px);position:relative;overflow:hidden}.landmark-card img{object-fit:cover;width:100%;height:100%;display:block}.landmark-card div{color:#fff;background:#0046668a;gap:4px;padding:16px 18px;display:grid;position:absolute;bottom:20px;left:20px;right:20px}.landmark-card span{letter-spacing:.08em;font-family:Georgia,Times New Roman,serif}.landmark-card strong{font-size:1.22rem}.home-news-section{z-index:4;background:radial-gradient(circle at 92% 8%,#4db8e01f,#0000 30%),#fff;padding:clamp(84px,10vw,138px) clamp(20px,5vw,72px);position:relative}.home-news-heading{width:min(1120px,100%);margin:0 auto 34px}.home-news-heading h2{color:#102c3a;letter-spacing:-.08em;margin:0;font-family:Georgia,Times New Roman,Yu Mincho,serif;font-size:clamp(2.9rem,6vw,5.4rem);font-weight:400;line-height:.95}.home-news-heading span{color:#536872;margin-top:10px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.2rem,2.2vw,2rem);display:block}.home-news-list{width:min(1120px,100%);margin:0 auto}.news-item-clickable{cursor:pointer;transition:background .22s,padding .22s,border-color .22s}.news-item-clickable:hover{background:#0e68910a;border-color:#0e689142;padding-inline:18px}.news-item-clickable p:after{content:"  ↗";color:#cda75b;font-weight:800}.home-news-actions{text-align:right;width:min(1120px,100%);margin:28px auto 0}.home-news-actions button{color:#0e6891;letter-spacing:.04em;background:#ffffffdb;border:1px solid #cda75b94;min-height:46px;padding:0 24px;font-weight:800;box-shadow:0 16px 34px #105d7c14}.home-news-actions button:hover{color:#fff;background:linear-gradient(135deg,#0e6891,#2aa7d6);border-color:#0000}.news-archive-page{background:radial-gradient(circle at 88% 10%,#4db8e024,#0000 28%),linear-gradient(90deg,#0e689112 1px,#0000 1px) 0 0/72px 100%,linear-gradient(#f5fbff 0%,#fff 34%,#fbfaf6 100%);min-height:100vh;padding:clamp(120px,14vw,170px) clamp(20px,5vw,72px) clamp(80px,10vw,130px);display:block}.news-archive-hero,.news-archive-list{width:min(1120px,100%);margin-inline:auto}.news-archive-hero{margin-bottom:clamp(32px,5vw,58px)}.news-archive-hero:before{content:"";background:#cda75b;width:82px;height:2px;margin-bottom:22px;display:block}.news-archive-hero h1{color:#102c3a;letter-spacing:-.08em;margin:0;font-family:Georgia,Times New Roman,Yu Mincho,serif;font-size:clamp(3.2rem,7vw,6.4rem);font-weight:400;line-height:.95}.news-archive-hero span{color:#536872;margin-top:12px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.2rem,2.1vw,1.9rem);display:block}.news-archive-list{gap:14px;display:grid}.news-archive-item{cursor:pointer;background:#ffffffd1;border:1px solid #0e689124;grid-template-columns:150px minmax(0,1fr) auto;align-items:start;gap:clamp(18px,4vw,48px);padding:clamp(22px,4vw,34px);transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;box-shadow:0 18px 44px #105d7c0f}.news-archive-item:hover{border-color:#cda75b94;transform:translateY(-2px);box-shadow:0 24px 54px #105d7c1a}.news-archive-item time{color:#0b7c73;letter-spacing:.03em;font-weight:900}.news-archive-item h2{color:#102c3a;margin:0 0 10px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:600;line-height:1.35}.news-archive-item p{color:#536872;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.8;display:-webkit-box;overflow:hidden}.news-archive-item b{color:#cda75b;font-size:1.2rem}.journey-panel{color:#17242b;background:radial-gradient(circle at 18% 16%,#4db8e029,#0000 30%),linear-gradient(135deg,#f3fbff 0%,#fff 54%,#f8f4ec 100%);border-top:1px solid #0e689121;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.6fr);min-height:520px;display:grid}.home-journey-panel{z-index:4;position:relative}.journey-social{border-right:1px solid #0e689121;padding:clamp(42px,6vw,76px) clamp(24px,4.2vw,58px)}.journey-social h1,.journey-social h2,.journey-stories h2,.stories-main h1{color:#102c3a;letter-spacing:-.06em;margin:0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:500}.hana-divider{color:#cda75b;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:min(140px,70%);margin:24px 0 30px;display:grid}.hana-divider:before,.hana-divider:after{content:"";background:linear-gradient(90deg,#cda75b00,#cda75b 50%,#cda75b00);height:1px}.social-card{color:#231f1f;background:radial-gradient(circle at 20px 20px,#cda75b21,#0000 24px),#ffffffd1;border:1px solid #cda75b80;grid-template-columns:78px 1fr auto;align-items:center;gap:22px;min-height:134px;margin:0 0 24px;padding:24px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid;box-shadow:0 18px 42px #105d7c14}.social-card:hover{border-color:#0e68916b;transform:translateY(-4px);box-shadow:0 24px 56px #105d7c24}.social-mark{color:#fff;place-items:center;width:72px;height:72px;font-weight:800;display:grid}.social-card.xhs .social-mark{background:#d51f35;border-radius:18px}.social-card.ins .social-mark{background:linear-gradient(135deg,#f8d36d 0%,#e3415f 42%,#8644cf 72%,#405de6 100%);border-radius:22px;font-size:3.8rem;line-height:1}.social-card strong{font-size:clamp(1.35rem,2vw,2rem);font-weight:500;display:block}.social-card em{color:#0e6891;font-family:Georgia,Times New Roman,serif;font-style:normal}.social-card small{color:#4f4946;margin-top:8px;font-size:.96rem;line-height:1.5;display:block}.social-card b{color:#cda75b;font-size:1.7rem;font-weight:300}.journey-stories{align-content:center;gap:18px;padding:clamp(42px,6vw,76px) clamp(24px,6vw,86px);display:grid}.journey-stories p{color:#4f4946;max-width:620px;font-size:1.05rem;line-height:1.9}.story-link-button,.story-card button{color:#0e6891;font:inherit;cursor:pointer;background:0 0;border:1px solid #cda75b94;justify-self:start;padding:13px 22px}.stories-page{background:linear-gradient(90deg,#0e68910d 1px,#0000 1px) 0 0/84px 84px,linear-gradient(#fbfcfb 0%,#fff 48%,#f8f4ec 100%);min-height:100vh;padding:0;display:block}.stories-hero{color:#102c3a;grid-template-columns:minmax(280px,.92fr) minmax(340px,.78fr);align-items:center;gap:clamp(30px,6vw,86px);width:min(1120px,100% - 40px);margin:0 auto;padding:clamp(110px,12vw,148px) 0 clamp(40px,6vw,62px);display:grid}.stories-hero-copy{padding:clamp(18px,3vw,34px) 0 clamp(20px,4vw,42px);position:relative}.stories-hero-copy:before{content:"";background:#cda75b;width:86px;height:1px;margin-bottom:22px;display:block}.stories-hero .section-kicker{color:#0f8578}.stories-hero h1{color:#102c3a;letter-spacing:-.06em;max-width:820px;margin:8px 0 18px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(2.8rem,6vw,5.7rem);font-weight:500;line-height:1.08}.stories-hero p:last-child{color:#536872;max-width:680px;margin:0;line-height:1.9}.stories-hero-visual{background:linear-gradient(#ffffff0f,#09283733),url(/images/japan/torii-gates.png) 50%/cover;min-height:clamp(250px,30vw,390px);position:relative;overflow:hidden;box-shadow:24px 24px #cda75b29}.stories-hero-visual:after{content:"";border:1px solid #ffffffad;position:absolute;inset:16px}.stories-hero-visual span{z-index:1;color:#fff;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 8px 22px #0000003d;font-family:Georgia,Times New Roman,serif;font-size:.9rem;position:absolute;bottom:26px;left:28px}.stories-body{grid-template-columns:1fr;gap:clamp(26px,4vw,46px);width:min(1120px,100% - 40px);margin:0 auto;padding:0 0 clamp(80px,10vw,120px);display:grid}.stories-social{background:linear-gradient(#ffffffe6,#f7fbfdeb),radial-gradient(circle at 0 0,#cda75b26,#0000 36%);border:1px solid #0e689121;grid-template-columns:minmax(220px,.62fr) repeat(2,minmax(220px,1fr));align-self:start;align-items:stretch;gap:16px;padding:clamp(18px,2.8vw,28px);display:grid;box-shadow:0 18px 48px #105d7c0f}.stories-social .section-kicker,.stories-social .hana-divider{display:none}.stories-social h1{align-self:center;font-size:clamp(1.7rem,3vw,2.7rem)}.stories-social .social-card{min-height:100%;box-shadow:none;border-color:#cda75b57;grid-template-columns:54px 1fr auto;gap:16px;margin-bottom:0;padding:16px}.stories-social .social-mark{width:52px;height:52px}.stories-social .social-card.ins .social-mark{font-size:2.8rem}.stories-social .social-card strong{font-size:clamp(1.05rem,1.5vw,1.32rem)}.stories-social .social-card small{margin-top:4px;font-size:.82rem}.stories-main{gap:26px;padding:0;display:grid}.stories-main .section-heading{max-width:760px}.stories-main .section-heading p:last-child{color:#5b534f;font-size:1.05rem;line-height:1.9}.story-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.story-card{background:#ffffffeb;border:1px solid #0e689121;grid-template-columns:1fr;display:grid;overflow:hidden;box-shadow:0 14px 36px #105d7c12}.story-card img{object-fit:cover;width:100%;height:clamp(180px,18vw,240px);min-height:0}.story-card div{align-content:start;gap:10px;padding:clamp(18px,2.6vw,28px);display:grid}.story-card span{color:#0e6891;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.story-card h2{color:#211d1d;margin:0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:500;line-height:1.15}.story-card p{color:#5b534f;margin:0;line-height:1.75}.story-list-actions{justify-content:center;margin-top:clamp(12px,3vw,28px);display:grid}.story-list-actions button{color:#0e6891;letter-spacing:.04em;background:#ffffffdb;border:1px solid #cda75b94;min-width:190px;min-height:46px;padding:0 24px;font-weight:800;box-shadow:0 16px 34px #105d7c14}.story-list-actions button:hover{color:#fff;background:linear-gradient(135deg,#0e6891,#2aa7d6);border-color:#0000}.story-detail-page{background:radial-gradient(circle at 90% 12%,#4db8e026,#0000 30%),linear-gradient(90deg,#0e68910d 1px,#0000 1px) 0 0/84px 84px,linear-gradient(#f5fbff 0%,#fff 38%,#fbfaf6 100%);min-height:100vh;padding:clamp(96px,12vw,138px) clamp(20px,5vw,72px) clamp(80px,10vw,128px)}.story-detail-article,.story-detail-missing{width:min(1120px,100%);margin:0 auto}.story-back-button{color:#0e6891;letter-spacing:.04em;background:#ffffffc7;border:1px solid #cda75b75;margin-bottom:clamp(24px,4vw,42px);padding:12px 20px;font-weight:800}.story-detail-hero{background:#ffffffe6;border:1px solid #0e689121;grid-template-columns:minmax(320px,1.12fr) minmax(300px,.88fr);align-items:stretch;min-height:clamp(420px,54vw,640px);display:grid;box-shadow:0 24px 64px #105d7c17}.story-detail-hero img{object-fit:cover;width:100%;height:100%;min-height:clamp(360px,46vw,620px)}.story-detail-hero>div{align-content:center;gap:14px;padding:clamp(34px,6vw,70px);display:grid}.story-detail-hero time{color:#c18f3d;letter-spacing:.08em;font-size:.86rem;font-weight:900}.story-detail-hero h1,.story-detail-missing h1{color:#102c3a;letter-spacing:-.07em;margin:0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(2.4rem,5vw,5.2rem);font-weight:500;line-height:1.08}.story-detail-hero p:last-child{color:#536872;margin:8px 0 0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9}.story-detail-body{background:#ffffffc7;border-left:2px solid #cda75b;width:min(780px,100%);margin:clamp(48px,8vw,86px) auto 0;padding:clamp(32px,5vw,58px)}.story-detail-body p{color:#334a55;white-space:pre-wrap;margin:0;font-size:clamp(1.05rem,1.45vw,1.18rem);line-height:2.25}.story-detail-missing{background:#ffffffe0;border:1px solid #0e689121;justify-items:start;gap:18px;padding:clamp(42px,7vw,78px);display:grid}.story-modal{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071e2ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.story-modal-card{color:#102c3a;background:#fff;grid-template-columns:minmax(280px,.9fr) minmax(320px,1fr);width:min(980px,100%);max-height:min(760px,92vh);display:grid;position:relative;overflow:auto;box-shadow:0 34px 90px #00000052}.story-modal-card img{object-fit:cover;width:100%;height:100%;min-height:430px}.story-modal-card>div{align-content:center;gap:16px;padding:clamp(30px,5vw,58px);display:grid}.story-modal-card span{color:#0e6891;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800}.story-modal-card h2{color:#102c3a;margin:0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;line-height:1.22}.story-modal-card p{color:#536872;white-space:pre-wrap;margin:0;font-size:1.02rem;line-height:2}.news-modal-card{color:#102c3a;background:linear-gradient(#f4fbfff0,#fffffffa),linear-gradient(90deg,#cda75b24 1px,#0000 1px) 0 0/72px 100%;border:1px solid #cda75b5c;width:min(760px,100%);max-height:min(680px,88vh);padding:clamp(34px,6vw,64px);position:relative;overflow:auto;box-shadow:0 34px 90px #00000052}.news-modal-card:before{content:"";background:#cda75b;width:72px;height:2px;margin-bottom:28px;display:block}.news-modal-card span{color:#0e6891;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:800}.news-modal-card h2{color:#102c3a;letter-spacing:-.04em;max-width:620px;margin:16px 0 22px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.75rem,3.4vw,3.1rem);font-weight:500;line-height:1.28}.news-modal-card p{color:#3f5965;white-space:pre-wrap;margin:0;font-size:1.02rem;line-height:2.05}.story-modal-close{z-index:1;color:#102c3a;background:#ffffffe6;border:1px solid #102c3a2e;min-width:72px;min-height:34px;padding:0 14px;font-size:.88rem;position:absolute;top:18px;right:18px}.admin-link-button{white-space:nowrap;color:#fff;background:linear-gradient(135deg,#0e6891,#2aa7d6);border:1px solid #ffffff75;align-items:center;gap:12px;padding:14px 22px;text-decoration:none;display:inline-flex;box-shadow:0 16px 36px #105d7c2e}@keyframes landmarkSlideLeft{0%{transform:translate(0)}to{transform:translate(calc(-50% - 9px))}}.section-kicker{color:#0f8578;letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:.8rem;font-weight:700}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2{color:inherit;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,Yu Mincho,serif;font-weight:500}h1{font-size:clamp(2.4rem,5vw,4.9rem);line-height:1.08}h2{font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.25}.lang-zh{font-family:var(--font-sans-zh)}.lang-zh :where(h1,h2,h3,.brand-name,.model-plan-heading h1,.model-plan-heading p,.home-news-heading h2,.home-news-heading span,.news-archive-hero h1,.news-archive-hero span,.news-archive-item h2,.journey-social h1,.journey-social h2,.journey-stories h2,.stories-hero h1,.story-card h2,.story-detail-hero h1,.story-detail-missing h1,.story-modal-card h2,.news-modal-card h2,.services-heading-panel h1,.service-card h2,.company-hero h1,.contact-page-heading h1,.confirmation-heading h2,.inquiry-done h2,.section-heading.centered h2){font-family:var(--font-serif-zh);letter-spacing:0;text-wrap:balance;overflow-wrap:normal;word-break:normal;-webkit-font-smoothing:subpixel-antialiased;text-rendering:geometricprecision;font-weight:600}.lang-zh .main-nav,.lang-zh .language-switch,.lang-zh .section-kicker{font-family:var(--font-sans-zh)}.lang-zh .model-plan-heading{grid-template-columns:150px minmax(390px,1fr) minmax(320px,.95fr)}.lang-zh .model-plan-heading h1{font-size:clamp(1.85rem,2.45vw,2.45rem);font-weight:500;line-height:1.42}.lang-zh .model-plan-heading p{color:#334a55;font-size:clamp(.96rem,1.1vw,1.06rem);font-weight:400;line-height:1.9}.lang-zh .services-heading-panel h1{font-size:clamp(3.2rem,5.5vw,5.4rem);font-weight:500;line-height:1.12}.lang-zh .service-card h2,.lang-zh .story-card h2,.lang-zh .news-archive-item h2{line-height:1.42}.lead,.company-intro p{color:#555;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:#0f8578;border-color:#0f8578}.button.secondary{color:inherit;background:0 0}.page-shell{min-height:calc(100vh - 76px);padding:clamp(82px,10vw,128px) clamp(20px,5vw,72px)}.content-section{border-bottom:1px solid #dedede}.compact{padding-left:0;padding-right:0}.split-section{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(36px,7vw,92px);display:grid}.services-page{background:radial-gradient(circle at 92% 10%,#4db8e021,#0000 30%),radial-gradient(circle at 8% 84%,#cda75b1f,#0000 30%),linear-gradient(#f6fbfe 0%,#fff 36% 100%);padding:0;display:block;position:relative;overflow:hidden}.services-heading-panel{text-align:left;color:#fff;background:linear-gradient(#071e2a1a,#071e2a57 56%,#071e2ab3),linear-gradient(90deg,#092837d1,#0e68916b 45%,#0d2f3f1f),url(/images/japan/pagoda-fuji.png) 50%/cover;align-items:end;min-height:clamp(420px,58vh,620px);padding:clamp(98px,12vw,146px) max(28px,50vw - 490px) clamp(62px,8vw,96px);display:grid;position:relative}.services-heading-panel:after{content:"";background:linear-gradient(#0000,#f6fbfee6);height:110px;position:absolute;inset:auto 0 0}.services-heading-panel>*{z-index:1;position:relative}.services-heading-panel>div{border-left:1px solid #cda75bc7;width:min(720px,100%);padding-left:clamp(18px,3vw,34px)}.services-heading-panel h1{color:#fff;letter-spacing:-.06em;text-shadow:0 18px 38px #00000057;margin:8px 0 0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(3rem,6.4vw,6.2rem);font-weight:500;line-height:1.08}.services-heading-panel span{color:#cda75b;letter-spacing:.16em;text-transform:uppercase;border-top:1px solid #cda75bb8;width:fit-content;margin:18px 0 0;padding-top:14px;font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:block}.services-content-panel{width:min(980px,100% - 40px);margin:0 auto;padding:clamp(54px,7vw,88px) 0 clamp(84px,10vw,132px)}.services-intro-block{border-bottom:1px solid #102c3a29;grid-template-columns:190px 1fr;align-items:start;gap:clamp(24px,5vw,72px);padding:clamp(26px,4vw,42px) 0 clamp(34px,5vw,56px);display:grid}.services-content-panel .lead{color:#536872;text-align:left;max-width:none;margin:0;font-size:1.02rem;line-height:2}.lead{max-width:860px;margin:0}.course-gateway{grid-template-columns:1fr;gap:20px;margin-top:clamp(36px,6vw,64px);display:grid}.course-card{color:#fff;background:linear-gradient(90deg,#0e6891f5,#2aa7d6ad),url(/images/japan/fuji-lake.png) 50%/cover;gap:10px;min-height:clamp(170px,20vw,220px);padding:clamp(32px,5vw,54px) clamp(28px,6vw,74px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 52px #105d7c24}.course-card:nth-child(2){background:linear-gradient(90deg,#0b2734f0,#cda75bb8),url(/images/japan/kyoto-garden.png) 50%/cover}.course-card:after{content:"";border-top:1px solid #ffffffb8;border-right:1px solid #ffffffb8;width:42px;height:42px;position:absolute;top:24px;right:24px}.course-card span{font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.course-card strong{font-size:clamp(1.34rem,2.5vw,1.95rem)}.course-card p{opacity:.92;margin:0;line-height:1.7}.service-grid{grid-template-columns:1fr;gap:14px;margin-top:clamp(32px,5vw,52px);display:grid}.service-card{background:linear-gradient(90deg,#fffffffa,#f8fcfee6),#fff;border:1px solid #0e689124;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:clamp(18px,4vw,42px);min-height:auto;padding:clamp(22px,3vw,32px) clamp(22px,4vw,40px);display:grid;position:relative;overflow:hidden;box-shadow:0 18px 48px #105d7c0f}.service-card:before{content:"";background:#cda75b;width:4px;height:auto;margin-bottom:0;position:absolute;top:0;bottom:0;left:0}.service-number{color:#0e689138;letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.service-card h2{color:#102c3a;margin:0;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.35rem,2vw,1.9rem);font-weight:600;line-height:1.35}.service-card p{color:#536872;margin:0;line-height:1.8}.company-page{background:radial-gradient(circle at 92% 16%,#4db8e024,#0000 28%),linear-gradient(#f4fbff 0%,#fff 34% 100%);padding:0;display:block}.company-hero{color:#fff;background:linear-gradient(90deg,#09202cf5,#0f4968db),url(/images/japan/fuji-lake.png) 50%/cover;grid-template-columns:auto 1fr;align-items:center;gap:clamp(22px,4vw,46px);min-height:clamp(250px,34vw,360px);padding:clamp(96px,12vw,132px) max(24px,50vw - 490px) clamp(54px,7vw,84px);display:grid}.company-hero img{object-fit:contain;filter:drop-shadow(0 14px 30px #0000003d);width:clamp(66px,8vw,104px);height:clamp(66px,8vw,104px)}.company-hero .section-kicker{color:#cda75b}.company-hero h1{color:#fff;letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5.1rem)}.company-hero strong{color:#ffffffe6;margin-top:8px;font-size:clamp(1.1rem,2vw,1.5rem);display:block}.company-profile-body{width:min(1040px,100% - 40px);margin:0 auto;padding:clamp(48px,7vw,82px) 0 clamp(58px,8vw,100px)}.company-lead{color:#536872;max-width:820px;margin:0 0 30px;font-size:1.02rem;line-height:1.9}.company-profile-table{border-top:1px solid #0e68912e;margin:0}.company-profile-table div{border-bottom:1px solid #0e68912e;grid-template-columns:190px minmax(0,1fr);gap:clamp(20px,4vw,56px);padding:17px 10px;display:grid}.company-profile-table dt{color:#0e6891;letter-spacing:.04em;font-size:.9rem;font-weight:800}.company-profile-table dd{color:#263943;margin:0;line-height:1.75}.company-map-card{background:#ffffffe6;border:1px solid #cda75b52;grid-template-columns:minmax(280px,1.2fr) minmax(240px,.8fr);gap:28px;margin-top:clamp(42px,7vw,70px);padding:18px;display:grid;box-shadow:0 24px 58px #105d7c1a}.company-map-visual{filter:saturate(.92)contrast(.98);border:0;width:100%;min-height:clamp(230px,34vw,360px);display:block}.company-map-card>div:last-child{align-content:center;gap:12px;padding:clamp(16px,3vw,28px);display:grid}.company-map-card h2,.company-map-card p{margin:0}.company-map-card h2{color:#102c3a;font-size:1.15rem}.company-map-card p{color:#536872;line-height:1.8}.company-map-card a{color:#fff;background:linear-gradient(135deg,#0e6891,#2aa7d6);justify-self:start;margin-top:8px;padding:12px 18px;text-decoration:none;box-shadow:0 16px 36px #105d7c2e}.contact-page-section{background:linear-gradient(#ffffffb8,#f7fbfd 300px),url(/images/japan/kyoto-garden.png) top/100% 300px no-repeat,radial-gradient(circle at 50% 0,#4db8e029,#0000 34%),linear-gradient(#fff 0%,#f7fbfd 100%);padding:0;position:relative;overflow:hidden}.contact-page-inner{width:min(1120px,100% - 40px);margin:0 auto;padding:clamp(92px,10vw,126px) 0 clamp(76px,9vw,112px)}.contact-page-heading{text-align:center;max-width:720px;margin:0 auto clamp(34px,5vw,56px)}.contact-page-heading h1{color:#102c3a;margin:0 0 14px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600}.contact-page-heading p{color:#60717a;max-width:620px;margin:0 auto;line-height:1.85}.contact-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.55fr);align-items:start;gap:clamp(24px,4vw,42px);display:grid}.contact-side-panel{color:#fff;background:linear-gradient(#082634e6,#082634c7),url(/images/japan/nara-temple.png) 50%/cover;gap:18px;padding:clamp(28px,4vw,42px);display:grid;position:sticky;top:100px;box-shadow:0 24px 58px #105d7c29}.contact-side-panel .section-kicker{color:#cda75b}.contact-side-panel h2{font-size:clamp(1.55rem,2.6vw,2.1rem)}.contact-side-panel h2,.contact-side-panel p{margin:0}.contact-side-panel p{color:#ffffffd1;line-height:1.9}.contact-flow{border-top:1px solid #ffffff38;gap:8px;padding-top:14px;display:grid}.contact-flow span{color:#ffffffdb;letter-spacing:.12em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:.92rem}.contact-form-panel{min-width:0}.consultation-form{color:#263943;background:#ffffffeb;border:1px solid #0e689129;overflow:hidden;box-shadow:0 24px 58px #105d7c14}.form-table-row{border-bottom:1px solid #0e689124;grid-template-columns:210px minmax(0,1fr);display:grid}.form-table-row:last-of-type{border-bottom:0}.form-table-label{background:linear-gradient(135deg,#0e68911a,#4db8e014);align-items:center;gap:14px;padding:18px 20px;display:flex}.form-table-label em{color:#fff;letter-spacing:.04em;background:#cda75b;flex:none;padding:4px 7px;font-size:.74rem;font-style:normal;font-weight:800}.form-table-label.optional em{background:#8aa2ad}.form-table-label span{color:#173240;font-weight:700}.form-table-control{background:#fff;align-content:center;min-height:66px;padding:14px 18px;display:grid}.inquiry-options{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.inquiry-options label{color:#263943;cursor:pointer;background:#f7fbfd;border:1px solid #0e689124;justify-content:center;align-items:center;min-width:92px;min-height:38px;padding:9px 16px;font-size:.9rem;line-height:1.35;transition:border-color .2s,background .2s;display:inline-flex;position:relative}.inquiry-options label:has(input:checked){color:#fff;background:linear-gradient(135deg,#0e6891,#2aa7d6);border-color:#0000;box-shadow:0 10px 24px #105d7c29}.inquiry-options input{opacity:0;pointer-events:none;position:absolute}.form-table-control input,.form-table-control textarea{color:#263943;width:100%;font:inherit;background:#fffefa;border:1px solid #0e68912e;border-radius:0;padding:12px 14px}.form-table-control textarea{resize:vertical;min-height:210px;line-height:1.7}.form-table-control input:focus,.form-table-control textarea:focus{border-color:#0e689180;outline:2px solid #2aa7d63d}.form-actions{background:#fff;justify-content:center;padding:26px 20px 30px;display:grid}.form-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e6891,#2aa7d6);border:0;min-width:128px;min-height:44px;padding:0 24px;font-weight:800;box-shadow:0 16px 36px #105d7c2e}.submit-message{color:#173240;text-align:center;background:#f4fbff;border:1px solid #0e68912e;width:min(620px,100%);margin:18px auto 0;padding:12px 16px;line-height:1.7}.submit-message.error{color:#9a2f24;background:#fff7f4;border-color:#9a2f243d}.inquiry-confirmation,.inquiry-done{color:#263943;background:#fffffff0;border:1px solid #0e689129;overflow:hidden;box-shadow:0 24px 58px #105d7c14}.confirmation-heading,.inquiry-done{text-align:center;padding:clamp(28px,4vw,42px)}.confirmation-heading h2,.inquiry-done h2{color:#102c3a;margin:0 0 12px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:600}.confirmation-heading p,.inquiry-done p{color:#60717a;max-width:620px;margin:0 auto;line-height:1.8}.confirmation-list{border-top:1px solid #0e689124;margin:0}.confirmation-list div{border-bottom:1px solid #0e689124;grid-template-columns:230px 1fr;display:grid}.confirmation-list dt{color:#0e6891;background:linear-gradient(135deg,#0e689114,#4db8e00d);padding:18px 22px;font-weight:800}.confirmation-list dd{color:#263943;background:#fff;margin:0;padding:18px 22px;line-height:1.75}.pre-line{white-space:pre-wrap}.confirmation-actions{background:#fff;justify-content:center;gap:16px;padding:30px 20px 36px;display:flex}.back-button{color:#0e6891;cursor:pointer;background:#fff;border:1px solid #0e689152;min-width:128px;min-height:44px;padding:0 24px;font-weight:800}.form-submit:disabled,.back-button:disabled{cursor:wait;opacity:.7}.contact-list{color:#ffffffe6;gap:10px;margin:4px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.contact-list li{border-bottom:1px solid #ffffff29;padding:12px 0}.section-heading{margin-bottom:34px}.news-list{border-top:3px solid #0f8578}.news-list article{border-bottom:1px solid #d9d9d9;grid-template-columns:150px 1fr;gap:24px;padding:24px 0;display:grid}.news-list time{color:#0f8578;font-weight:700}.news-list p{color:#334031;margin:0;line-height:1.7}.section-heading.centered{text-align:center;max-width:720px;margin:0 auto 44px}.section-heading.centered h2{color:#102c3a;margin:0 0 14px;font-family:Yu Mincho,Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:600}.section-heading.centered p{color:#60717a;line-height:1.8}.bottom-contact-panel{background:radial-gradient(circle at 50% 0,#4db8e029,#0000 34%),#fff;border-top:1px solid #0e68911f;padding:clamp(70px,8vw,108px) clamp(20px,5vw,72px) clamp(58px,7vw,92px)}.contact-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,5vw,68px);width:min(960px,100%);margin:0 auto;display:grid}.contact-methods article{color:#24333a;text-align:center;justify-items:center;gap:12px;min-height:190px;display:grid}.contact-icon{color:#30424c;place-items:center;width:82px;height:82px;font-size:4rem;line-height:1;display:grid}.contact-methods h3{margin:0;font-size:1rem}.contact-methods button,.contact-methods a,.contact-methods strong{color:#0e6891;font-size:clamp(1.25rem,2.6vw,2.2rem);font-weight:700;text-decoration:none}.contact-methods button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e6891,#2aa7d6);border:0;padding:12px 22px;font-size:.95rem;box-shadow:0 16px 36px #105d7c2e}.site-footer{color:#fff;background:linear-gradient(#081216e6,#081216e6),url(/images/japan/kyoto-garden.png) 50%/cover;position:relative;overflow:hidden}.footer-inner{grid-template-columns:minmax(180px,.8fr) minmax(160px,.7fr) minmax(240px,1fr) minmax(280px,1.2fr);gap:clamp(28px,5vw,72px);width:min(1120px,100%);margin:0 auto;padding:clamp(52px,7vw,86px) clamp(20px,5vw,52px);display:grid}.footer-brand{align-content:start;gap:10px;display:grid}.footer-brand img{object-fit:contain;width:58px;height:58px}.footer-brand strong,.site-footer h3{color:#fff;font-size:1rem}.footer-brand span,.site-footer p,.site-footer a,.footer-links button{color:#ffffffdb}.footer-links{align-content:start;gap:13px;display:grid}.footer-links button,.footer-links a{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.footer-links button:hover,.footer-links a:hover,.footer-address a:hover{color:#cda75b}.footer-business,.footer-address{align-content:start;gap:9px;font-style:normal;display:grid}.site-footer h3,.site-footer p{margin:0}.address-kana{font-size:.78rem;line-height:1.7}@keyframes templeDrift{0%{transform:scale(1.04)translate(-1.5%,-1%)}to{transform:scale(1.12)translate(1.5%,1%)}}@media (width<=980px){.topbar{grid-template-columns:1fr;gap:12px}.home-topbar{grid-template-columns:1fr}.header-tools{flex-wrap:wrap;justify-self:start;max-width:100%}.language-switch{flex-wrap:nowrap}.main-nav{justify-content:flex-start;justify-self:start;overflow-x:auto}.split-section,.company-page,.journey-panel,.stories-hero,.stories-body,.stories-social,.story-detail-hero{grid-template-columns:1fr}.story-detail-hero img{min-height:clamp(260px,56vw,420px)}.story-list{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-social{border-bottom:1px solid #7c593729;border-right:0}.stories-social{padding-top:clamp(28px,4vw,40px)}.stories-main{padding-top:46px}.company-intro{position:static}.services-intro-block{grid-template-columns:1fr;gap:12px}.company-map-card{grid-template-columns:1fr}.news-archive-item{grid-template-columns:1fr auto}.news-archive-item time{grid-column:1/-1}.service-grid,.course-gateway{grid-template-columns:1fr}.service-card{grid-template-columns:64px minmax(0,1fr)}.contact-methods,.contact-layout,.footer-inner{grid-template-columns:1fr}.contact-side-panel{position:static}.model-plan-heading{grid-template-columns:130px 1fr}.model-plan-heading p{grid-column:1/-1;padding:18px 10px 0}.model-plan-heading h1{border-right:0}}@media (width<=1180px) and (width>=981px){.home-topbar{grid-template-columns:minmax(180px,1fr) auto}.home-topbar .main-nav{grid-column:2;justify-self:end;padding-top:54px}.home-topbar .language-switch{grid-area:1/2}}@media (width<=620px){.home-brand-center{padding:0 18px}.model-plan-heading{grid-template-columns:1fr;align-items:start}.model-plan-heading>div,.model-plan-heading h1{border-right:0}.model-plan-heading h1,.model-plan-heading p{text-align:center;padding:12px 4px 0}.model-plan-heading p{grid-column:1}.landmark-card{flex-basis:82vw}.social-card{grid-template-columns:62px 1fr auto;min-height:112px;padding:18px}.social-mark{width:58px;height:58px}.story-card,.story-modal-card,.admin-blog-panel{grid-template-columns:1fr}.story-modal-card img{min-height:240px;max-height:320px}.story-list{grid-template-columns:1fr}.slide-indicator{right:16px}.hero-actions{flex-direction:column}.button{width:100%}.page-shell{padding:78px 18px 56px}.company-vertical-list div,.company-profile-table div,.news-list article{grid-template-columns:1fr}.company-hero{grid-template-columns:1fr;padding-inline:22px}.contact-page-inner{width:min(100% - 28px,900px);padding:88px 0 52px}.form-table-row{grid-template-columns:1fr}.form-table-label{padding:14px 16px}.confirmation-list div{grid-template-columns:1fr}.confirmation-actions{flex-direction:column}}
