:root{--color-text:#1f2328;--color-muted:#5b636e;--color-bg:#fff;--color-bg-alt:#f4f6f8;--color-border:#d8dee4;--color-primary:#1d4ed8;--color-primary-text:#fff;--color-pending:#b45309;--color-navy:#0a1a3f;--color-accent:#2bb8e6;--food-text:#222;--food-muted:#666;--food-bg:#f1f0ee;--food-border:#d4d2ce;--font-heading:var(--font);--font-mincho:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--font-size-base:16px;--radius:8px;--hero-overlay:95%;--max-width:1080px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);margin:0;line-height:1.8}img{max-width:100%;height:auto}a{color:var(--color-primary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:10;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;min-height:64px;display:flex}.logo{color:var(--color-text);letter-spacing:.04em;font-size:1.4rem;font-weight:700;text-decoration:none}.menu-toggle{font:inherit;cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius);background:0 0;padding:8px 12px}.menu-toggle[aria-expanded=false]+nav{display:none}.menu nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:8px 16px 16px;position:absolute;top:64px;left:0;right:0}.menu ul{margin:0;padding:0;list-style:none}.menu a{color:var(--color-text);padding:8px 0;text-decoration:none;display:block}.menu a[aria-current=page]{color:var(--color-primary);font-weight:700}.menu .sub a{color:var(--color-muted);padding-left:1em;font-size:.9rem}@media (width>=900px){.menu-toggle{display:none}.menu nav,.menu-toggle[aria-expanded=false]+nav{border:0;padding:0;display:block;position:static}.menu>nav>ul{gap:24px;display:flex}.menu li{position:relative}.menu .sub{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);min-width:12em;padding:4px 12px;display:none;position:absolute;top:100%;left:-12px}.menu li:hover>.sub,.menu li:focus-within>.sub{display:block}.menu .sub a{padding-left:0}}.page-head{background:var(--color-bg-alt);margin-bottom:40px;padding:48px 0 32px}.page-head h1{margin:0;font-size:1.8rem}.lead{color:var(--color-muted);margin:8px 0 0}.prose{padding-bottom:64px}.prose h2{border-bottom:2px solid var(--color-border);margin-top:2.5em;padding-bottom:.3em}.hero{background:var(--color-bg-alt);padding:96px 0}.hero h1{margin:0 0 16px;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.4}.hero p{color:var(--color-muted);max-width:40em}.section{padding:64px 0}.section h2{margin:0 0 24px;font-size:1.6rem}.hero-buttons{justify-content:flex-start;margin-top:24px}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;padding:0 0 24px 56px;position:relative}.steps li:before{content:counter(step);background:var(--color-primary);width:36px;height:36px;color:var(--color-primary-text);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:0;left:0}.steps p{margin:4px 0 0}.faq{border-bottom:1px solid var(--color-border);padding:16px 0}.faq summary{cursor:pointer;font-weight:600}.faq summary:before{content:"Q. ";color:var(--color-primary)}.faq p:before{content:"A. ";font-weight:600}.signature{text-align:right}.message{gap:24px;display:grid}.message-photo{max-width:280px;margin:0 auto}.message-photo img{border-radius:var(--radius);display:block}@media (width>=900px){.message{grid-template-columns:320px 1fr;align-items:start;gap:40px}.message-photo{max-width:none}}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;padding:0;list-style:none;display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:20px}.card h3{margin:0 0 8px;font-size:1.1rem}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px 16px;padding:14px 0;display:flex}.post-list time{color:var(--color-muted);font-variant-numeric:tabular-nums}.info-table{border-collapse:collapse;width:100%}.info-table th,.info-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border);padding:12px}.info-table th{background:var(--color-bg-alt);width:10em;font-weight:600}@media (width<=599px){.info-table th,.info-table td{width:auto;display:block}}.form{gap:20px;max-width:640px;display:grid}.form label{gap:6px;font-weight:600;display:grid}.form input,.form textarea,.form select{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:10px 12px}.required{color:#c62828;margin-left:.5em;font-size:.8rem}.button{border-radius:var(--radius);background:var(--color-primary);color:var(--color-primary-text);border:2px solid var(--color-primary);font-weight:600;font:inherit;cursor:pointer;padding:12px 28px;text-decoration:none;display:inline-block}.button.outline{color:var(--color-primary);background:0 0}.button:disabled{opacity:.5;cursor:not-allowed}.cta{background:var(--color-bg-alt);text-align:center;padding:48px 0}.cta p{margin:0 0 16px;font-size:1.2rem;font-weight:600}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.site-footer{color:var(--color-muted);padding:32px 0;font-size:.875rem}.footer-links{flex-wrap:wrap;gap:16px;margin:0 0 8px;padding:0;list-style:none;display:flex}.footer-links a{color:var(--color-muted)}.theme-food{--color-text:var(--food-text);--color-muted:var(--food-muted);--color-primary:var(--food-text);--color-primary-text:#fff;--color-bg-alt:var(--food-bg);--color-border:var(--food-border)}.theme-food h1,.theme-food h2,.theme-food h3,.theme-food .cta p{font-family:var(--font-mincho);letter-spacing:.08em;font-weight:600}.theme-food .prose h2{border-bottom-width:1px}.food-hero{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:80px 0 64px}.food-hero h1{margin:0 0 16px;font-size:clamp(2rem,6vw,3rem)}.food-hero p{max-width:40em}.food-hero-label{letter-spacing:.4em;color:var(--color-muted);margin:0 0 8px}.food-card-category{color:var(--color-muted);margin:0 0 4px;font-size:.85rem}.food-card h3 a{color:inherit;font-size:1.6rem;text-decoration:none}.food-status{border:1px solid var(--color-border);margin:8px 0;padding:2px 12px;font-size:.85rem;display:inline-block}.kasane-hero{text-align:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:96px 0 80px}.kasane-en{letter-spacing:.3em;color:var(--color-muted);margin:0;font-size:.9rem}.kasane-name{letter-spacing:.2em;margin:8px 0 24px;font-size:clamp(2.6rem,9vw,4.2rem)}.kasane-catch{border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-text);font-family:var(--font-mincho);letter-spacing:.1em;margin:0;padding:10px 0;display:inline-block}.kasane-status{color:var(--color-muted);margin:24px 0 0;font-size:.85rem}.kasane-intro{text-align:center;max-width:720px}.kasane-intro h2{line-height:1.7}.kasane-features-section{background:var(--color-bg-alt)}.kasane-features{counter-reset:feature;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.kasane-features li{counter-increment:feature;background:var(--color-bg);border:1px solid var(--color-border);padding:20px}.kasane-features li:before{content:counter(feature, decimal-leading-zero);font-family:var(--font-mincho);color:var(--color-muted)}.kasane-features h3{margin:8px 0;font-size:1.05rem}.kasane-features p{margin:0;font-size:.9rem}.food-banner{background:var(--food-bg);border:1px solid var(--food-border);color:var(--food-text);padding:32px 24px;text-decoration:none;display:block}.food-banner h3{font-family:var(--font-mincho);letter-spacing:.08em;margin:0 0 8px;font-size:1.4rem}.food-banner p{margin:0}.food-banner span{margin-top:16px;font-weight:700;display:inline-block}.pending{color:var(--color-pending);border:1px dashed var(--color-pending);background:#fff7ed;border-radius:4px;padding:2px 6px}.exam-tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.exam-tags li{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:999px;padding:4px 14px;font-weight:600}h1,h2,h3{font-family:var(--font-heading);word-break:auto-phrase;text-wrap:balance}p{text-wrap:pretty}.cta-buttons.hero-buttons{justify-content:flex-start}.section .prose h2{margin:2.5em 0 .8em}.section .prose>h2:first-child,.prose>h2:first-child{margin-top:0}.card{transition:border-color .15s,box-shadow .15s;position:relative}.card h3 a{color:var(--color-text);text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card:has(h3 a):hover{border-color:var(--color-primary);box-shadow:0 4px 16px #0000000f}.card:has(h3 a):hover h3 a{color:var(--color-primary)}@media (width>=700px){.cards.cols-2{grid-template-columns:repeat(2,1fr)}}.footer-inner{gap:24px;display:grid}.footer-company{color:var(--color-text);margin:0}.footer-company strong{margin-bottom:4px;display:block}.footer-nav{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--color-muted);text-decoration:none}.footer-nav a:hover{text-decoration:underline}@media (width>=900px){.footer-inner{grid-template-columns:1fr 2fr;align-items:start}}.cards>li>.food-banner{height:100%}.logo img{width:auto;height:34px;display:block}.hero-ai{background:var(--color-navy);color:#fff;position:relative;overflow:hidden}.hero-ai-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-ai:after{content:"";background:linear-gradient(100deg, color-mix(in srgb, var(--color-navy) var(--hero-overlay), transparent) 0%, color-mix(in srgb, var(--color-navy) calc(var(--hero-overlay) * .8), transparent) 45%, color-mix(in srgb, var(--color-navy) calc(var(--hero-overlay) * .2), transparent) 100%);position:absolute;inset:0}.hero-ai-inner{z-index:1;padding-top:120px;padding-bottom:120px;position:relative}.hero-ai h1{letter-spacing:.04em;margin:0 0 24px;font-size:clamp(2.4rem,7vw,4rem);line-height:1.25}.hero-ai-label{color:var(--color-accent);letter-spacing:.25em;margin:0 0 16px;font-size:.85rem;font-weight:700}.hero-ai-lead{color:#ffffffd9;max-width:34em}.button.on-dark{color:var(--color-navy);background:#fff;border-color:#fff}.button.outline.on-dark{color:#fff;background:0 0}.section-label{color:var(--color-primary);letter-spacing:.25em;margin:0 0 4px;font-size:.8rem;font-weight:700}.section-alt{background:var(--color-bg-alt)}.card-image{padding:0;overflow:hidden}.card-photo{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.card-body{padding:20px 24px 24px}.card-image:has(h3 a):hover .card-photo{opacity:.92}.strength-list{counter-reset:strength;gap:16px;margin:0 0 24px;padding:0;list-style:none;display:grid}.strength-list li{counter-increment:strength;background:var(--color-bg);border-radius:var(--radius);border-top:3px solid var(--color-primary);padding:24px}.strength-list li:before{content:"0" counter(strength);color:var(--color-accent);font-size:1.4rem;font-weight:700}.strength-list h3{margin:4px 0 8px}.strength-list p{margin:0}@media (width>=900px){.strength-list{grid-template-columns:repeat(3,1fr)}}.service-row{gap:16px 40px;margin-bottom:56px;scroll-margin-top:80px;display:grid}.service-row h2{margin-top:0}.service-photo{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);width:100%;display:block}@media (width>=900px){.service-row{grid-template-columns:420px 1fr;align-items:start}.service-row.reverse>:first-child{order:2}}.form-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.privacy-consent{background:var(--color-bg-alt);border-radius:var(--radius);padding:16px 20px}.privacy-consent p{margin:0 0 12px;font-size:.9rem}.form label.checkbox{cursor:pointer;align-items:center;gap:10px;display:flex}.form label.checkbox input{flex:none;width:20px;height:20px;margin:0}.vision{background:var(--color-navy);color:#fff;text-align:center;position:relative;overflow:hidden}.vision-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.vision:after{content:"";background:color-mix(in srgb, var(--color-navy) calc(var(--hero-overlay) * .55), transparent);position:absolute;inset:0}.vision-inner{z-index:1;max-width:760px;padding-top:120px;padding-bottom:120px;position:relative}.vision h2{margin:0 0 24px;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.35}.vision p{color:#ffffffe0}.page-photo{aspect-ratio:21/9;object-fit:cover;border-radius:var(--radius);width:100%;margin-bottom:8px;display:block}.product-category h2{margin-top:.2em}.product-category{margin-top:48px}.card-more{color:var(--color-primary);font-weight:600}@media (width>=700px){.cards.cols-2>li:last-child:nth-child(odd){grid-column:1/-1}.cards.cols-2>li.card-image:last-child:nth-child(odd) .card-photo{aspect-ratio:32/9}}
