:root { --ink:#14231f; --muted:#65706c; --paper:#f6f7f2; --lime:#d6ec72; --lavender:#ddd9f8; --peach:#ffd8c8; --line:#d9ddd5; --dark:#14231f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Noto Sans JP", sans-serif; line-height:1.7; }
a { color:inherit; text-decoration:none; }
.section-shell { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.site-header { height:88px; width:min(1240px, calc(100% - 48px)); margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; font:700 17px "DM Sans", sans-serif; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:var(--ink); background:var(--lime); font-size:18px; transform:rotate(-8deg); }
.site-nav { display:flex; align-items:center; gap:29px; font-size:13px; font-weight:700; }
.site-nav a:not(.nav-cta) { color:#55615d; }
.nav-cta { padding:10px 15px; border:1px solid var(--ink); border-radius:99px; }
.nav-cta span, .button span, .service-card a span { margin-left:8px; font-size:16px; }
.menu-button { display:none; background:transparent; border:0; font:700 13px inherit; color:var(--ink); }
.hero { min-height:615px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:52px; padding:62px 0 80px; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:#718079; font:700 11px "DM Sans", sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:#d66b4e; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { letter-spacing:-.06em; line-height:1.12; }
h1 { max-width:540px; margin-bottom:25px; font-size:clamp(45px, 6vw, 76px); font-weight:800; }
h1 em, h2 span { color:#c56345; font-style:normal; }
.hero-lead { max-width:485px; margin-bottom:30px; color:var(--muted); font-size:15px; }
.hero-actions { display:flex; align-items:center; gap:25px; }
.button { display:inline-flex; align-items:center; justify-content:center; border-radius:100px; padding:15px 23px; font-size:13px; font-weight:800; }
.button-primary { background:var(--ink); color:white; box-shadow:0 10px 20px rgba(20,35,31,.12); }
.button-light { background:var(--lime); color:var(--ink); }
.text-link { font-size:13px; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.text-link span { padding-left:7px; font-size:17px; }
.hero-note { display:flex; align-items:center; gap:9px; margin-top:43px; color:#8a948e; font-size:11px; }
.note-line { width:25px; border-top:1px solid #a7afa8; }
.hero-visual { position:relative; min-height:450px; display:grid; place-items:center; }
.browser-card { position:relative; z-index:2; width:min(400px, 90%); border:8px solid #20352f; border-radius:17px; background:white; transform:rotate(4deg); box-shadow:22px 24px 0 rgba(20,35,31,.08); overflow:hidden; }
.browser-bar { height:38px; display:flex; align-items:center; gap:6px; padding:0 13px; background:#20352f; color:#c5d1cb; font:10px "DM Sans", sans-serif; }
.browser-bar span { width:6px; height:6px; border-radius:50%; background:#9db3a9; }.browser-bar b { margin-left:13px; font-weight:500; opacity:.8; }
.browser-content { min-height:290px; padding:42px 38px 30px; background:linear-gradient(130deg,#fff 45%,#f1f4eb); }
.mini-kicker { color:#b4654c; font:700 9px "DM Sans", sans-serif; letter-spacing:.16em; }.mini-title { margin-top:14px; color:#22342f; font-size:28px; font-weight:500; letter-spacing:-.08em; line-height:1.2; }.mini-title strong { font-weight:800; }.mini-button { width:82px; height:24px; margin-top:23px; border-radius:99px; background:#d4eb70; }.mini-grid { display:flex; gap:8px; margin-top:28px; }.mini-grid i { width:76px; height:45px; display:block; border-radius:5px; background:#e8ede5; }.mini-grid i:nth-child(2) { background:#dedaf6; }
.visual-orbit { position:absolute; border:1px solid #c6d2c8; border-radius:50%; }.orbit-one { width:450px; height:450px; }.orbit-two { width:320px; height:320px; border-style:dashed; transform:rotate(36deg); }.floating-tag { position:absolute; z-index:3; padding:6px 11px; border:1px solid var(--ink); border-radius:99px; background:white; font:700 11px "DM Sans", sans-serif; box-shadow:4px 5px 0 rgba(20,35,31,.13); }.tag-one { top:88px; left:28px; transform:rotate(-9deg); background:var(--lime); }.tag-two { right:0; top:180px; transform:rotate(8deg); background:var(--lavender); }.tag-three { bottom:72px; left:65px; transform:rotate(5deg); background:var(--peach); }
.section-block { padding:110px 0 125px; }.section-heading { display:flex; align-items:flex-start; justify-content:space-between; }.section-heading h2 { min-width:390px; margin:0; font-size:clamp(38px, 5vw, 61px); }.service-intro { max-width:340px; margin:32px 5% 52px auto; display:flex; gap:24px; align-items:flex-end; color:var(--muted); font-size:14px; }.circle-arrow { flex:0 0 58px; display:grid; place-items:center; width:58px; height:58px; border:1px solid var(--ink); border-radius:50%; font-size:23px; transition:.2s; }.circle-arrow:hover { background:var(--ink); color:white; transform:rotate(8deg); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.service-card { min-height:310px; padding:24px 25px 22px; border-radius:10px; position:relative; }.card-lime { background:var(--lime); }.card-lavender { background:var(--lavender); }.card-peach { background:var(--peach); }.service-number { font:700 12px "DM Sans", sans-serif; }.service-icon { margin:29px 0 16px; font:400 38px "DM Sans", sans-serif; }.service-card h3 { margin-bottom:9px; font-size:22px; letter-spacing:-.06em; }.service-card p { max-width:270px; margin-bottom:25px; color:#52615a; font-size:12px; line-height:1.85; }.service-card a { font-size:12px; font-weight:800; }
.dark-section { padding:110px 0 120px; color:#f7faf5; background:var(--dark); }.light-heading .eyebrow { color:#9baea4; }.light-heading h2 span { color:var(--lime); }.process-wrap { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.process-list { border-top:1px solid #43554d; }.process-item { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid #43554d; }.process-item > span { color:var(--lime); font:700 13px "DM Sans", sans-serif; }.process-item h3 { margin:0 0 5px; font-size:19px; }.process-item p { margin:0; color:#a9b8b0; font-size:12px; }
.price-section { padding-bottom:135px; }.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:65px; }.price-card { position:relative; min-height:340px; padding:28px; border:1px solid var(--line); border-radius:10px; background:#fff; }.price-card.featured { border:2px solid var(--ink); box-shadow:10px 10px 0 var(--lime); }.popular { position:absolute; top:-15px; right:18px; padding:3px 10px; border-radius:99px; background:var(--ink); color:white; font-size:10px; font-weight:700; }.plan-label { margin-bottom:17px; color:#b4654c; font:700 11px "DM Sans", sans-serif; letter-spacing:.16em; }.price-card h3 { margin-bottom:12px; font-size:21px; }.price { margin-bottom:7px; font:700 35px "DM Sans", sans-serif; letter-spacing:-.06em; }.price span { margin-left:4px; color:#718079; font-size:12px; font-weight:500; }.price-card > p:not(.plan-label):not(.price) { min-height:50px; color:var(--muted); font-size:12px; }.price-card ul { margin:22px 0 0; padding:16px 0 0; border-top:1px solid var(--line); list-style:none; color:#52615a; font-size:12px; }.price-card li { margin:6px 0; }.price-card li::before { content:"+"; margin-right:8px; color:#c56345; font-weight:800; }
.contact-section { padding:112px 0 115px; color:white; background:#b96347; text-align:center; }.contact-inner { display:flex; align-items:center; flex-direction:column; }.contact-section .eyebrow { color:#f6d8cc; }.contact-section h2 { margin:0 0 22px; font-size:clamp(38px, 5vw, 61px); }.contact-section h2 em { color:var(--lime); font-style:normal; }.contact-section > .section-shell > p:not(.eyebrow):not(.contact-mail) { max-width:470px; margin-bottom:28px; color:#f3d6cc; font-size:13px; }.contact-mail { margin:22px 0 0; font:12px "DM Sans", sans-serif; }.contact-mail a { border-bottom:1px solid #f4d8cc; }
.site-footer { display:flex; justify-content:space-between; padding-top:23px; padding-bottom:23px; color:#7c8982; font:11px "DM Sans", sans-serif; }
@media (max-width:760px) { .section-shell,.site-header{width:min(100% - 36px,1120px)} .site-header{height:72px}.menu-button{display:block}.site-nav{display:none; position:absolute; z-index:10; top:62px; right:18px; left:18px; padding:18px; flex-direction:column; align-items:stretch; gap:5px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 12px 30px #14231f18}.site-nav.is-open{display:flex}.site-nav a{padding:8px}.nav-cta{text-align:center}.hero{grid-template-columns:1fr; gap:30px; padding-top:55px; min-height:auto}.hero-visual{min-height:370px}.browser-card{width:320px}.browser-content{min-height:245px;padding:32px 27px 22px}.mini-title{font-size:23px}.orbit-one{width:350px;height:350px}.orbit-two{width:260px;height:260px}.tag-one{left:0}.tag-two{right:0}.tag-three{bottom:30px;left:18px}.section-block{padding:80px 0}.section-heading{display:block}.section-heading h2{min-width:0;margin-top:10px}.service-intro{margin:25px 0 35px}.service-grid,.price-grid{grid-template-columns:1fr}.service-card{min-height:270px}.dark-section{padding:80px 0}.process-wrap{grid-template-columns:1fr;gap:50px}.price-grid{margin-top:40px}.price-card{min-height:auto}.contact-section{padding:80px 0}.site-footer{width:calc(100% - 36px)} }

