:root{--bg:#f8fafc;--surface:#fff;--surface-2:#eef4f7;--text:#13212f;--muted:#607080;--line:#dce5ea;--primary:#0c5971;--accent:#e48956;--shadow:0 16px 50px #1f3a4b17;--radius:22px;color-scheme:light dark;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}:root[data-theme=dark]{--bg:#0e171e;--surface:#15222b;--surface-2:#192a35;--text:#edf6fa;--muted:#a8bac5;--line:#2b414d;--primary:#69bdd3;--accent:#ef9c6c;--shadow:0 18px 55px #0000004d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e171e;--surface:#15222b;--surface-2:#192a35;--text:#edf6fa;--muted:#a8bac5;--line:#2b414d;--primary:#69bdd3;--accent:#ef9c6c;--shadow:0 18px 55px #0000004d}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-size:16px;line-height:1.75}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(1120px,100% - 40px);margin-inline:auto}.narrow{max-width:760px}.skip-link{z-index:1000;background:var(--text);color:var(--bg);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{z-index:100;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 30%);background:color-mix(in srgb,var(--bg),transparent 10%);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{object-fit:cover;border-radius:11px;width:38px;height:38px}.site-header nav{align-items:center;gap:8px;display:flex}.site-header nav a{color:var(--muted);padding:10px 12px;font-size:.92rem;font-weight:700}.site-header nav a.active{color:var(--primary)}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%}.hero{background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--primary),transparent 88%),transparent 35%);padding:72px 0 88px;overflow:hidden}.hero-grid{grid-template-columns:1.02fr .98fr;align-items:center;gap:54px;display:grid}.hero-copy h1,.page-hero h1,.article-header h1{letter-spacing:-.065em;margin:.2em 0 .35em;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.12}.hero-copy h1 em{color:var(--primary);font-style:normal}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:620px;font-size:1.12rem}.eyebrow{letter-spacing:.18em;color:var(--primary);text-transform:uppercase;font-weight:900;font-size:.76rem!important}.hero-visual{box-shadow:var(--shadow);background:var(--surface);border-radius:32px;overflow:hidden;transform:rotate(1.5deg)}.button-row{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:11px 22px;font-weight:800;display:inline-flex}.button.primary{background:var(--primary);color:var(--bg)}.button.secondary{border:1px solid var(--line);background:var(--surface)}.hero-note{color:var(--muted);margin-top:24px;font-size:.9rem}.hero-note span{color:#3b9561}.section{padding:96px 0}.section.compact{padding-top:32px}.soft-section{background:var(--surface-2)}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section-heading h2,.philosophy-grid h2,.cta h2{letter-spacing:-.045em;margin:.15em 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.25}.text-link{color:var(--primary);font-weight:800}.section-count{color:var(--muted);white-space:nowrap;font-size:.9rem;font-weight:800}.card-grid,.blog-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.app-card{padding:24px;position:relative;overflow:hidden}.app-card:before{content:"";background:var(--brand);height:5px;position:absolute;inset:0 0 auto}.app-card-head{justify-content:space-between;align-items:start;display:flex}.app-card img,.app-icon-large{box-shadow:0 10px 25px color-mix(in srgb,var(--brand),transparent 72%);border-radius:22%}.status{background:color-mix(in srgb,var(--status-color,var(--brand,var(--primary))),transparent 86%);color:var(--status-color,var(--brand,var(--primary)));border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:900;display:inline-flex}.status[data-status=公開中]{--status-color:#2fae60}.status[data-status=開発中]{--status-color:#d98a1e}.status[data-status=企画中]{--status-color:#8a93a3}.status[data-status=テスト中]{--status-color:#7d6bd9}.status[data-status=公開準備中]{--status-color:#2f86c9}.app-card h3,.blog-card h3{margin:.3em 0;font-size:1.3rem;line-height:1.4}.app-card>p:not(.eyebrow),.blog-card p{color:var(--muted)}.tags{flex-wrap:wrap;gap:7px;margin:18px 0;display:flex}.tags span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:.75rem}.blog-card{overflow:hidden}.blog-card>img{aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}.card-body{padding:20px}.meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.8rem;display:flex}.philosophy-grid{grid-template-columns:.8fr 1.2fr;gap:80px;display:grid}.principles article{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:18px;padding:22px 0;display:grid}.principles article>span{color:var(--accent);font-weight:900}.principles h3{margin:0}.principles p{color:var(--muted);margin:.3em 0}.cta-section{padding-top:0}.cta{color:#fff;background:linear-gradient(135deg,#123f50,#0c667c);border-radius:30px;justify-content:space-between;align-items:center;gap:34px;padding:46px;display:flex}.cta .eyebrow{color:#a8dbea!important}.cta p{color:#d7e7ec}.cta .button.primary{color:#163f4c;background:#fff}.cta .button.secondary{background:0 0;border-color:#66919e}.ad-slot{text-align:center;max-width:970px;color:var(--muted);margin:24px auto;padding:8px;font-size:.72rem}.ad-slot span{display:block}.breadcrumbs{padding-top:24px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:var(--line);margin-left:8px}.page-hero{max-width:900px;padding:70px 0 38px}.page-hero h1{font-size:clamp(2.4rem,6vw,4.2rem)}.page-hero>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.app-detail-hero{background:linear-gradient(145deg,color-mix(in srgb,var(--brand),transparent 89%),transparent);padding:68px 0}.app-detail-grid{grid-template-columns:170px 1fr;align-items:center;gap:38px;display:grid}.app-detail-grid h1{letter-spacing:-.06em;margin:.08em 0;font-size:clamp(2.5rem,6vw,4.3rem);line-height:1.1}.lead{font-size:1.25rem;font-weight:700}.store-row{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.store-button{color:#fff;background:#0e151a;border-radius:12px;padding:11px 16px;font-size:.9rem;font-weight:800}.store-button.disabled{opacity:.55}.store-button.small{border-radius:10px;padding:8px 13px;font-size:.8rem}.app-card-tagline{margin:.2em 0;font-weight:800}.app-card-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.store-cta{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--brand,var(--primary)),transparent 94%);flex-wrap:wrap;align-items:center;gap:16px;margin:28px 0;padding:20px 22px;display:flex}.store-cta img{box-shadow:0 8px 18px color-mix(in srgb,var(--brand,var(--primary)),transparent 75%);border-radius:22%}.store-cta-copy{flex-direction:column;flex:1;gap:2px;min-width:160px;display:flex}.store-cta-copy strong{font-size:1.05rem}.store-cta-copy span{color:var(--muted);font-size:.85rem}.detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:60px;padding-block:72px;display:grid}.prose{font-size:1.02rem}.prose h1{letter-spacing:-.05em;font-size:clamp(2.4rem,5vw,4rem);line-height:1.15}.prose h2{margin:2.3em 0 .7em;font-size:1.65rem;line-height:1.3}.prose h3{margin-top:1.8em}.prose p,.prose li{color:var(--muted)}.prose a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.feature-list{grid-template-columns:1fr 1fr;gap:10px;padding:0;list-style:none;display:grid}.feature-list li{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px}.feature-list span{color:#3b9561;margin-right:8px}.screenshots{gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.screenshots img{border:1px solid var(--line);background:var(--surface-2);border-radius:24px;width:min(240px,70vw)}.detail-sidebar{flex-direction:column;gap:18px;display:flex}.info-card,.link-card{padding:22px}.info-card h2{margin-top:0;font-size:1.1rem}.info-card dl{margin:0}.info-card dl div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.info-card dt{color:var(--muted)}.info-card dd{margin:0;font-weight:700}.link-card{flex-direction:column;display:flex}.link-card a{border-bottom:1px solid var(--line);color:var(--primary);padding:11px 0;font-weight:700}.timeline article{border-left:2px solid var(--line);padding:0 0 22px 22px}.timeline time{color:var(--muted);font-size:.85rem}.timeline h3{margin:.2em 0}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800}.faq p{margin-bottom:0}.article{max-width:860px;padding-top:60px;padding-bottom:90px}.article-header{text-align:center}.article-header h1{font-size:clamp(2.4rem,6vw,4rem)}.article-header .meta,.article-header .tags{justify-content:center}.article-cover{aspect-ratio:16/9;object-fit:cover;background:var(--surface-2);border-radius:28px;margin:40px 0}.article-body{max-width:720px;margin:0 auto}.entry-actions{border-top:1px solid var(--line);justify-content:space-between;max-width:720px;margin:50px auto 0;padding-top:20px;display:flex}.entry-actions a{color:var(--primary);font-weight:800}.legal{max-width:820px;padding-top:64px;padding-bottom:96px}.notice{border-left:4px solid var(--accent);background:var(--surface-2);border-radius:0 12px 12px 0;padding:18px}.support-list{gap:14px;display:grid}.support-item{align-items:center;gap:18px;padding:18px;display:flex}.support-item>span:nth-child(2){flex-direction:column;flex:1;display:flex}.support-item small{color:var(--muted)}.app-support{align-items:center;gap:22px;display:flex}.contact-panel{margin-bottom:24px;padding:30px}.contact-panel h2{margin-top:0}.small{color:var(--muted);font-size:.8rem}.contact-links{color:var(--primary);flex-wrap:wrap;gap:16px;display:flex}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;display:flex}.error-code{color:color-mix(in srgb,var(--primary),transparent 60%);margin:0;font-size:clamp(6rem,20vw,12rem);font-weight:900;line-height:.8}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:62px 0 24px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:50px;display:grid}.footer-grid>div{flex-direction:column;gap:10px;display:flex}.footer-grid p,.footer-grid a{color:var(--muted);font-size:.9rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);margin-top:46px;padding-top:20px;font-size:.8rem}@media (width<=850px){.hero-grid,.philosophy-grid,.detail-layout{grid-template-columns:1fr}.hero-visual{order:-1;max-width:600px}.card-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}.detail-sidebar{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.cta{flex-direction:column;align-items:flex-start}.app-detail-grid{grid-template-columns:120px 1fr}.app-icon-large{width:120px}}@media (width<=600px){.container{width:min(100% - 28px,1120px)}.site-header nav a{display:none}.header-inner{height:64px}.hero{padding:32px 0 64px}.hero-grid{gap:30px}.hero-copy h1{font-size:2.55rem}.section{padding:68px 0}.section-heading{flex-direction:column;align-items:flex-start}.card-grid,.blog-grid{grid-template-columns:1fr}.app-detail-hero{padding:40px 0}.app-detail-grid{grid-template-columns:76px 1fr;gap:18px}.app-icon-large{width:76px}.app-detail-grid>div>p:not(.eyebrow){grid-column:1/-1}.detail-layout{gap:34px;padding-block:48px}.feature-list,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.cta{padding:30px 24px}.page-hero{padding-top:45px}.app-support{align-items:flex-start}.app-support img{width:72px}.store-row{grid-column:1/-1}.store-button{text-align:center;flex:1}}.prose table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.prose th{background:var(--surface-2);white-space:nowrap;font-weight:800}.prose td{color:var(--muted)}.entry-actions{align-items:center}.entry-actions-label{color:var(--muted);letter-spacing:.04em;font-size:.85rem;font-weight:700}.entry-actions-row{align-items:center;gap:10px;display:flex}.entry-action-primary,.entry-action-secondary{cursor:pointer;box-sizing:border-box;border-radius:999px;align-items:center;gap:7px;min-height:44px;padding:12px 22px;font-size:.92rem;font-weight:800;line-height:1;transition:opacity .15s,background .15s;display:inline-flex}.entry-action-primary{background:var(--primary);color:#fff;border:0}.entry-action-primary:hover{opacity:.88}.entry-action-secondary{border:1px solid var(--line);background:var(--surface);color:var(--text)}.entry-action-secondary:hover{background:var(--surface-2)}.entry-actions-note{width:100%;color:var(--muted);margin-top:12px;font-size:.85rem}.entry-actions-note input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:10px;margin-top:6px;padding:10px 12px;font-size:.85rem}.article-related-app{max-width:720px;margin:0 auto 28px}.article-related-app>.eyebrow{margin-bottom:-16px}.article-related-app .store-cta{box-shadow:none}.sticky-store-cta{display:none}@media (width<=480px){.entry-actions{flex-direction:column;align-items:flex-start;gap:12px}.entry-actions-row{flex-wrap:wrap;width:100%}.entry-action-primary,.entry-action-secondary{flex:1;justify-content:center}}.support-item img,.app-support img{border-radius:22%}.app-scroller{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:22px;padding-bottom:6px;scroll-padding-inline:2px;display:flex;overflow-x:auto}.app-scroller>*{scroll-snap-align:start;flex:0 0 min(340px,82vw)}.app-carousel{position:relative}.carousel-arrow{z-index:3;border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;line-height:1;display:flex;position:absolute;top:calc(50% - 7px);transform:translateY(-50%)}.carousel-arrow:hover{background:var(--surface-2)}.carousel-arrow.prev{left:-8px}.carousel-arrow.next{right:-8px}.carousel-arrow[hidden]{display:none}.carousel-dots{justify-content:center;gap:8px;margin-top:18px;display:flex}.carousel-dots button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:width .2s,background .2s}.carousel-dots button[aria-current=true]{background:var(--primary);border-radius:4px;width:24px}@media (width<=640px){.carousel-arrow{display:none}}.sticky-store-cta img{box-shadow:0 5px 14px color-mix(in srgb,var(--brand),transparent 72%);border-radius:22%}.sticky-store-cta>span{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.sticky-store-cta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.sticky-store-cta small{color:var(--muted);font-size:.7rem}.sticky-store-cta .store-button{white-space:nowrap;padding:9px 15px}@media (width<=700px){body:has(.sticky-store-cta){padding-bottom:82px}.sticky-store-cta{z-index:110;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));border:1px solid var(--line);border-top:3px solid var(--brand);background:color-mix(in srgb,var(--surface),transparent 4%);backdrop-filter:blur(16px);border-radius:18px;align-items:center;gap:11px;padding:10px 11px;display:flex;position:fixed;box-shadow:0 14px 40px #0000004d}}.app-scroller::-webkit-scrollbar{display:none}.video-embed{aspect-ratio:16/9;background:var(--surface-2);border:1px solid var(--line);border-radius:18px;margin:1.6em 0;position:relative;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.store-button.web-try{background:var(--surface);color:var(--primary);border:1px solid var(--line)}.web-try-cta{border:1px solid var(--line);border-left:5px solid var(--brand,var(--primary));border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 28px;padding:20px 22px;display:flex}.web-try-cta div{flex-direction:column;flex:1;gap:2px;min-width:200px;display:flex}.web-try-cta span{color:var(--muted);font-size:.88rem}.prose .web-try-cta a.button{color:var(--bg);text-decoration:none}.menu-toggle{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;display:none;position:relative}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{background:currentColor;border-radius:2px;width:16px;height:2px;transition:transform .2s,opacity .2s;position:absolute;left:50%}.menu-toggle span{top:50%;transform:translate(-50%,-50%)}.menu-toggle span:before,.menu-toggle span:after{content:"";transform:translate(-50%)}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}.menu-toggle[aria-expanded=true] span{background:0 0}.menu-toggle[aria-expanded=true] span:before{transform:translate(-50%,5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:after{transform:translate(-50%,-5px)rotate(-45deg)}.site-menu{border-top:1px solid var(--line);background:var(--bg)}.site-menu ul{margin:0 auto;padding:6px 0 14px;list-style:none}.site-menu a{border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;align-items:center;padding:15px 4px;font-weight:800;display:flex}.site-menu li:last-child a{border-bottom:0}.site-menu a.active{color:var(--primary)}.site-menu a span{color:var(--muted)}@media (width<=600px){.menu-toggle{display:inline-block}}@media (width>=601px){.site-menu{display:none!important}}.post-figure{text-align:center;margin:1.8em 0}.post-figure img{border:1px solid var(--line);background:var(--surface);border-radius:16px;max-width:100%;height:auto;margin:0 auto;display:block}.post-figure.phone img{width:min(280px,72%)}.post-figure figcaption{color:var(--muted);margin-top:.6em;font-size:.85rem;line-height:1.6}.prose a.button{text-decoration:none}
