@charset "UTF-8";
.wp { --wp-ink: #2a2826; --wp-muted: #6b6760; --wp-line: #d4cfc6; --wp-accent: #7d7368; --wp-accent-light: #9a9085; --wp-bg: #f5f4f2; --wp-bg-warm: #eceae6; --wp-bg-dark: #35322e; --wp-bg-hero: #2a2826; --wp-max: 1100px; color: var(--wp-ink); font-size: 15px; line-height: 1.8; margin: 0; padding: 0 0 48px 0; }
.wp-wrap { max-width: var(--wp-max); margin: 0 auto; padding: 0 20px; }
.wp-h-en { display: block; font-family: 'Oswald', sans-serif; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--wp-accent-light); margin: 0 0 8px 0; }
.wp-h-ja { display: block; font-weight: 600; letter-spacing: 0.08em; line-height: 1.5; }
.wp-sec { padding: 64px 0; }
.wp-sec-head { margin: 0 0 36px 0; text-align: center; }
.wp-hero { position: relative; min-height: 85vh; background: var(--wp-bg-hero); overflow: hidden; }
.wp-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.wp-hero-overlay { position: absolute; inset: 0; background: rgba(42,40,38,0.65); }
.wp-hero-wrap { position: relative; z-index: 2; min-height: 85vh; display: flex; align-items: center; padding: 100px 0 56px 0; }
.wp-hero-in { width: 100%; color: #f0ece6; text-align: center; }
.wp-kakomi { display: inline-block; padding: 0.45em 1.1em; border: 1px solid currentColor; font-size: 11px; font-weight: 500; letter-spacing: 0.18em; line-height: 1.4; }
.wp-kakomi--hero { display: table; margin: 0 auto 20px auto; color: #f0ece6; border-color: rgba(240, 236, 230, 0.55); }
.wp-kakomi--sec { display: table; margin: 0 auto 14px auto; color: var(--wp-accent); border-color: var(--wp-accent-light); }
.wp-hero-title-line { display: block; text-align: center; font-size: 27px; line-height: 1.55; }
.wp-hero-lead { font-size: 15px; text-align: center; margin: 0 0 32px 0; }
.wp-iceberg-grid { display: block; }
.wp-fig { width: 100%; height: auto; max-width: 100%; }
.wp-infoviz--frame { border: 1px solid var(--wp-line); background: #fff; padding: 20px 16px; overflow: hidden; }
.wp-infoviz-bars { gap: 20px; height: 130px; }
.wp-infoviz-cards { display: flex; flex-direction: column; gap: 12px; }
.wp-plans { position: relative; overflow: hidden; background-color: var(--wp-bg-warm); background-image: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,255,255,0.3) 0%, transparent 55%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%239a9085' stroke-width='0.35' opacity='0.2'%3E%3Cpath d='M0 16h64M0 32h64M0 48h64M16 0v64M32 0v64M48 0v64'/%3E%3C/g%3E%3C/svg%3E"); background-size: 100% 100%, 64px 64px; }
.wp-plans .wp-wrap { position: relative; z-index: 1; }
.wp-plans-sub-grid { display: flex; flex-direction: column; gap: 12px; }
.wp-plans-main { padding: 24px 16px; overflow: hidden; margin: 0 0 20px 0; }
.wp-plan-grid--main { display: flex; flex-direction: column; gap: 14px; }
.wp-chart-wrap { height: 220px; }
.wp-position-in { display: block; }
.wp-position-fig { margin-bottom: 24px; padding: 16px; background: #fff; border: 1px solid var(--wp-line); overflow: hidden; }
.wp-steps { padding-left: 28px; }
.wp-steps::before { left: 27px; top: 28px; bottom: 28px; }
.wp-step { gap: 16px; margin-bottom: 32px; }
.wp-step-circle { width: 56px; height: 56px; font-size: 18px; }
.wp-step-marker { flex: 0 0 56px; }
.wp-benefit-list { display: flex; flex-direction: column; gap: 12px; }
.wp-specs { background: var(--wp-bg); }
.wp-spec-grid { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 0; padding: 0; }
.wp-spec-item { background: #fff; padding: 24px 20px; border: 1px solid var(--wp-line); }
.wp-spec-item--opt { border-style: dashed; background: var(--wp-bg); }
.wp-spec-icon { font-family: 'Oswald', sans-serif; font-size: 23px; font-weight: 300; color: var(--wp-accent-light); display: block; margin: 0 0 10px 0; line-height: 1; }
.wp-spec-item h3 { font-size: 15px; font-weight: 600; margin: 0 0 8px 0; line-height: 1.5; }
.wp-spec-opt { font-size: 11px; font-weight: normal; color: var(--wp-muted); }
.wp-spec-item p { font-size: 13px; color: var(--wp-muted); margin: 0; line-height: 1.75; }
.wp-roadmap-fig { padding: 16px; margin-bottom: 28px; overflow: hidden; }
.wp-faq-q { padding: 18px 40px 18px 16px; font-size: 15px; }
.wp-faq-panel-in p { padding: 0 16px 18px 16px; font-size: 14px; }
