
:root{--ink:#35253d;--muted:#6f6475;--main:#7b4e9d;--main-dark:#5d3979;--accent:#d98bb8;--soft:#fff2f8;--gold:#b79555;--paper:#fffafc;--line:#eaddea;--bg:#fbf6fb;--shadow:0 16px 40px rgba(73,43,93,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9;background:radial-gradient(circle at 10% 10%,rgba(217,139,184,.18),transparent 26rem),radial-gradient(circle at 90% 0%,rgba(123,78,157,.13),transparent 24rem),linear-gradient(180deg,#fff 0%,var(--bg) 55%,#fff 100%)}a{color:var(--main-dark);text-decoration:none;border-bottom:1px solid rgba(123,78,157,.28)}a:hover{border-bottom-color:var(--main-dark)}img{max-width:100%;height:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,250,252,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{width:min(1120px,92vw);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}.brand{display:flex;align-items:center;gap:12px;border:0;color:var(--ink)}.brand img{width:44px;height:44px}.brand-name{display:flex;flex-direction:column;line-height:1.35;font-weight:700}.brand-name small{color:var(--muted);font-size:12px;font-weight:500}.nav{display:flex;align-items:center;gap:16px;font-size:14px}.nav a{border:0;color:var(--ink);white-space:nowrap}.nav .nav-cta{padding:8px 15px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--main),var(--accent));box-shadow:0 8px 18px rgba(123,78,157,.22)}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.74)),url("../assets/hero-pattern.svg") center/cover no-repeat}.hero-inner{position:relative;width:min(1120px,92vw);margin:auto;min-height:640px;display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center;padding:70px 0}.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--main-dark);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;box-shadow:0 8px 24px rgba(123,78,157,.08)}.kicker:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--accent)}
h1{margin:20px 0 18px;font-size:clamp(32px,5vw,58px);line-height:1.28;letter-spacing:.02em}.h1-sub{display:block;color:var(--main-dark)}.lead{font-size:clamp(16px,2.2vw,19px);color:var(--muted);margin:0 0 26px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 22px;border-radius:999px;border:1px solid var(--line);font-weight:700;box-shadow:0 10px 24px rgba(73,43,93,.09)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--main),var(--accent));border:0}.btn.secondary{color:var(--main-dark);background:#fff}
.hero-card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.hero-card img{border-radius:22px;box-shadow:0 16px 40px rgba(73,43,93,.14)}.hero-card .note{margin:18px 0 0;padding:14px 16px;border-radius:18px;background:var(--soft);color:#5a415c;font-size:14px}
.page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78)),url("../assets/hero-pattern.svg") center/cover no-repeat}.page-hero-inner{position:relative;width:min(1000px,92vw);margin:auto;padding:58px 0}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:10px}.breadcrumb a{border:0;color:var(--muted)}
.section{width:min(1120px,92vw);margin:auto;padding:72px 0}.article{width:min(860px,92vw);margin:auto;padding:58px 0}.section-title{text-align:center;margin-bottom:34px}.section-title .en{color:var(--accent);font-weight:700;letter-spacing:.16em;font-size:12px}h2{margin:6px 0 12px;font-size:clamp(26px,4vw,40px);line-height:1.35}.section-title p{color:var(--muted);margin:0}.article h2{font-size:clamp(24px,3vw,34px);border-bottom:2px dotted var(--accent);padding-bottom:8px;margin-top:34px}.article h3{font-size:22px;margin:28px 0 8px}.article p{color:var(--muted)}.article strong{color:var(--main-dark)}.note-box{background:#fff7f9;border:1px solid #efc7d2;border-left:5px solid var(--accent);border-radius:18px;padding:18px;margin:24px 0}.gold-box{background:#fffbea;border:1px solid #e5d28a;border-radius:18px;padding:18px;margin:24px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 10px 28px rgba(73,43,93,.07)}.card .icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--main),var(--accent));font-weight:800;margin-bottom:12px}.card h3{margin:0 0 8px;font-size:20px}.card p{margin:0;color:var(--muted)}
.two-col{display:grid;grid-template-columns:.92fr 1.08fr;gap:32px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.panel h2{text-align:left;margin-top:0}.panel p{color:var(--muted)}.list{display:grid;gap:12px;padding:0;margin:20px 0 0;list-style:none}.list li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 15px 13px 42px;position:relative}.list li:before{content:"";position:absolute;left:16px;top:21px;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,var(--main),var(--accent))}
.flow{counter-reset:item;display:grid;gap:16px}.flow-item{counter-increment:item;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.flow-item:before{content:counter(item);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--main),var(--accent))}.flow-item h3{margin:0 0 4px}.flow-item p{margin:0;color:var(--muted)}
.contact-box{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.contact-box label{display:block;font-weight:700;margin-top:14px}.contact-box input,.contact-box textarea,.contact-box select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}.contact-box textarea{min-height:180px}.contact-box .small{font-size:13px;color:var(--muted)}
.cta{width:min(1120px,92vw);margin:50px auto 80px;border-radius:34px;padding:42px;background:linear-gradient(135deg,rgba(123,78,157,.93),rgba(217,139,184,.88)),url("../assets/hero-pattern.svg") center/cover no-repeat;color:#fff;box-shadow:0 24px 60px rgba(123,78,157,.25)}.cta h2{margin-top:0}.cta p{margin-bottom:24px}.cta a{background:#fff;color:var(--main-dark);border:0}.site-footer{border-top:1px solid var(--line);background:#fff;color:var(--muted)}.footer-inner{width:min(1120px,92vw);margin:auto;padding:30px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
@media(max-width:860px){.header-inner{align-items:flex-start;flex-direction:column}.nav{overflow-x:auto;width:100%;gap:14px;padding-bottom:2px;white-space:nowrap}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:42px 0 54px}.hero-card{order:-1}.grid3,.grid2,.two-col{grid-template-columns:1fr}.section{padding:52px 0}.article{padding:40px 0}.cta{padding:28px}}@media(max-width:480px){.brand img{width:38px;height:38px}.hero-actions .btn{width:100%}.card,.panel,.hero-card{border-radius:20px}.flow-item{grid-template-columns:1fr}.flow-item:before{width:42px;height:42px}}


/* Human-readable additions */
.news-list p { margin: 0 0 10px; }
.compact { margin: 10px 0 0; padding-left: 1.2em; color: var(--muted); }
.compact li { margin: 4px 0; }
.article.wide { width: min(1040px, 92vw); }
.price { width: 100%; border-collapse: collapse; margin: 18px 0 26px; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: table; }
.price th, .price td { border: 1px solid var(--line); padding: 12px; text-align: left; vertical-align: top; }
.price th { background: var(--soft); color: var(--main-dark); }
.mail { font-size: 1.25em; font-weight: 800; color: var(--main-dark); background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; }
@media(max-width:700px){ .price { display:block; overflow-x:auto; white-space:nowrap; } }


/* =====================
   Legacy migrated content
===================== */
.legacy-content img { max-width: 100%; height: auto; border-radius: 14px; }
.legacy-content #new, .legacy-content #main { max-width: 100%; }
.legacy-content p { margin: 0 0 1.1em; }
.legacy-content h2, .legacy-content h3 { margin-top: 1.8em; }
.legacy-content table { max-width: 100%; border-collapse: collapse; }
.legacy-content td, .legacy-content th { vertical-align: top; padding: .35em; }
.legacy-content .profile, .legacy-content .photo { text-align: center; }
.card-grid a.card { text-decoration: none; color: inherit; display: block; }
.article .btn { display: inline-block; }


/* =====================
   UKEOI modernized pages
===================== */
.ukeoi-hero .page-hero-inner { padding-top: 64px; padding-bottom: 64px; }
.ukeoi-modern { display: grid; gap: 28px; }
.ukeoi-index { background: rgba(255, 250, 252, .92); }
.ukeoi-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.ukeoi-service-grid a { border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 15px 16px; color: var(--ink); box-shadow: 0 8px 22px rgba(73,43,93,.06); }
.ukeoi-service-grid a span { display: block; color: var(--main-dark); font-weight: 800; }
.ukeoi-service-grid a small { display: block; color: var(--muted); line-height: 1.55; margin-top: 3px; }
.ukeoi-service-grid a.active { background: linear-gradient(135deg, rgba(123,78,157,.95), rgba(217,139,184,.9)); color: #fff; border: 0; }
.ukeoi-service-grid a.active span, .ukeoi-service-grid a.active small { color: #fff; }
.ukeoi-sub-grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 4px; }
.ukeoi-sub-grid a { border: 1px solid var(--line); border-radius: 999px; padding: 8px 15px; background: #fff; font-weight: 700; }
.ukeoi-sub-grid a.active { background: var(--main-dark); color: #fff; border-color: var(--main-dark); }
.ukeoi-lead-card, .ukeoi-detail-card { position: relative; overflow: hidden; background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 30px; padding: 30px; box-shadow: var(--shadow); }
.ukeoi-lead-card:before, .ukeoi-detail-card:before { content: ""; position: absolute; inset: 0 auto 0 0; width: 7px; background: linear-gradient(180deg, var(--accent), var(--gold)); }
.ukeoi-detail-card { display: grid; grid-template-columns: 76px 1fr; gap: 22px; align-items: start; }
.ukeoi-detail-number { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 20px; color: #fff; font-weight: 900; background: linear-gradient(135deg, var(--main), var(--accent)); box-shadow: 0 12px 24px rgba(123,78,157,.18); }
.ukeoi-detail-body h2 { margin-top: 0; border-bottom: 2px dotted var(--accent); }
.ukeoi-text { color: var(--muted); }
.ukeoi-text p { margin-top: 0; }
.ukeoi-text strong { color: var(--main-dark); background: linear-gradient(transparent 62%, rgba(217,139,184,.22) 0); }
.ukeoi-next-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 10px 0 20px; }
@media(max-width:860px){ .ukeoi-service-grid{ grid-template-columns:1fr; } .ukeoi-detail-card{ grid-template-columns:1fr; } .ukeoi-detail-number{ width:50px; height:50px; border-radius:16px; } }
