:root{--color-ink:#202020;--color-black:#000;--color-paper:#fff;--color-mist:#ededed;--color-green:#00b88c;--color-yellow:#ffe845;--color-mint:#ccf5d6;--color-gray:#737373;--color-gray-body:#6b6b6b;--color-gray-soft:gray;--color-gray-faint:#8c8c8c;--font-jp:var(--font-noto-sans-jp), "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;--radius-card:36px;--radius-tag:5px;--radius-pill:40px;--radius-btn:8px;--shadow-card:0px 12px 0px 0px #00000038;--container-width:1352px;--section-pad-x:40px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:105px}body{font-family:var(--font-jp);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}img{max-width:100%;display:block}ul,ol{margin:0;padding:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-width);padding-inline:var(--section-pad-x);margin-inline:auto}.section{clip-path:inset(0);contain:paint;position:relative}.section-inner{z-index:2;position:relative}.tile-pattern{z-index:1;pointer-events:none;grid-template-columns:repeat(auto-fill,84px);grid-auto-rows:84px;justify-content:center;gap:20px;width:100%;height:100vh;margin-bottom:-100vh;display:grid;position:sticky;top:0;overflow:hidden}.tile-pattern__cell{width:100%;height:100%;display:block}.tile-pattern__icon{width:100%;height:100%;color:var(--tile-color,#2020200d);transform-origin:50%}.eyebrow{letter-spacing:.02em;text-align:center;color:var(--color-ink);font-size:14px;font-weight:500}.section-heading{letter-spacing:.02em;text-align:center;margin:0 0 10px;font-size:34px;font-weight:700}.tag-label{background:var(--color-yellow);border:2px solid var(--color-black);border-radius:var(--radius-tag);color:var(--color-black);justify-content:center;align-items:center;padding:6px 15px;font-size:16px;font-weight:700;display:inline-flex}.btn{white-space:nowrap;cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--pill{border-radius:var(--radius-pill);padding:10px 30px}.btn--pill-outline{background:var(--color-paper);border-color:var(--color-black);color:var(--color-black)}.btn--pill-dark{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.btn--pill-green{background:var(--color-green);border-color:var(--color-green);color:var(--color-paper)}.btn--square{border-radius:var(--radius-btn);padding:20px 50px;font-size:18px}.btn--square-outline{background:var(--color-paper);border-color:var(--color-black);color:var(--color-black)}.btn--square-dark{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.site-header{z-index:100;background:var(--color-paper);border-bottom:1px solid #0000000f;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;max-width:1600px;margin-inline:auto;padding:22px 40px;display:flex}.site-logo img{width:auto;height:40px}.primary-nav{align-items:center;gap:40px;display:flex}.primary-nav ul{align-items:center;gap:40px;list-style:none;display:flex}.primary-nav ul a{letter-spacing:.02em;color:var(--color-ink);border-bottom:2px solid #0000;padding-bottom:8px;font-size:16px;font-weight:700;transition:border-color .15s}.primary-nav ul a:hover,.primary-nav ul a[aria-current=page]{border-bottom-color:var(--color-green)}.nav-toggle{border:2px solid var(--color-ink);background:0 0;border-radius:8px;flex-shrink:0;width:44px;height:44px;padding:0;display:none}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{background:var(--color-ink);width:20px;height:2px;transition:transform .2s;display:block;position:relative}.nav-toggle__icon:before,.nav-toggle__icon:after{content:"";position:absolute;left:0}.nav-toggle__icon:before{top:-6px}.nav-toggle__icon:after{top:6px}.hero{background:var(--color-paper);padding:60px 40px 80px}.hero__inner{align-items:center;max-width:1000px;min-height:560px;margin-inline:auto;display:flex;position:relative}.hero__art{width:100%;max-width:560px;color:var(--color-yellow);z-index:0;pointer-events:none;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(8deg)}.hero__art-float{animation:4.5s ease-in-out infinite hero-float}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-24px)}}.hero__art svg{width:150%;height:150%;display:block}.hero__text{z-index:1;text-align:left;flex-direction:column;align-items:flex-start;gap:29px;width:min(600px,90%);display:flex;position:relative}.hero__mascot{width:96px}.hero__mascot svg{width:100%;height:auto;display:block}.hero__title{color:var(--color-ink);font-size:clamp(26px,4vw,46px);font-weight:900;display:inline-flex}.hero__copy p{letter-spacing:.02em;color:var(--color-gray-soft);margin:0;font-size:clamp(14px,1.6vw,18px);font-weight:700;line-height:1.9}.why-panel{background:var(--color-paper);border:2px solid var(--color-black);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:42px 60px}.reveal{opacity:0;transform:translateY(28px)}.reveal.is-visible{opacity:1;transition:opacity .7s,transform .7s;transform:translateY(0)}.contact__corner.reveal--rise{opacity:0;transform:translateY(70px)}.contact__corner.reveal--rise.is-visible{opacity:.85;transition:opacity .9s,transform .9s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal,.reveal--rise{opacity:1;transition:none;transform:none}.contact__corner.reveal--rise{opacity:.85}}.why-panel__body{text-align:center;flex-direction:column;align-items:center;gap:30px;max-width:600px;margin-inline:auto;display:flex}.why-panel__body--wide{max-width:100%}.about{background:var(--color-mist)}.about .section-inner{padding:80px 44px}.about .why-panel{max-width:1352px;margin-inline:auto}.about__lead p{letter-spacing:.02em;color:var(--color-gray-body);text-align:justify;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.9}.about__lead p:last-child{margin-bottom:0}.about__image{border-radius:16px;width:100%;overflow:hidden}.product{background:var(--color-yellow)}.product .section-inner{padding:80px 40px}@media (max-width:720px){.product .section-inner{padding:80px 2%}}.product__header{text-align:center;margin-bottom:30px}.product-card{max-width:1352px;margin-inline:auto}.product-card+.product-card{margin-top:30px}.product-card .why-panel{align-items:center;gap:40px;padding:20px;display:flex}.product-card__media{aspect-ratio:1024/500;border-radius:20px;flex:1 1 0;min-width:0;overflow:hidden}.product-card__media img{object-fit:cover;width:100%;height:100%}.product-card__body{text-align:left;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:10px;min-width:0;padding-right:20px;display:flex}.product-card__title{letter-spacing:.02em;margin:0;font-size:36px;font-weight:900}.product-card__subtitle{letter-spacing:.02em;margin:0;font-size:18px;font-weight:500}.product-card__desc{letter-spacing:.02em;color:var(--color-gray-body);text-align:justify;margin:0 0 10px;font-size:16px;font-weight:500;line-height:1.75}.contact{background:var(--color-mist)}.contact__inner{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:20px;max-width:840px;margin-inline:auto;padding:90px 40px;display:flex;position:relative}.contact__heading{letter-spacing:.02em;background-color:var(--color-mist);margin:0;font-size:clamp(20px,3vw,30px);font-weight:900;line-height:1.4}.contact__copy{letter-spacing:.02em;color:var(--color-gray-body);margin:0;font-size:16px;font-weight:500;line-height:1.75}.contact__corner{z-index:0;opacity:.85;pointer-events:none;width:min(460px,28%);position:absolute;top:0;bottom:0;overflow:hidden}.contact__corner--left{left:0;-webkit-mask-image:linear-gradient(90deg,#000 55%,#0000 100%);mask-image:linear-gradient(90deg,#000 55%,#0000 100%)}.contact__corner--right{right:0;-webkit-mask-image:linear-gradient(270deg,#000 55%,#0000 100%);mask-image:linear-gradient(270deg,#000 55%,#0000 100%)}.contact__corner img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.contact__corner--left img{object-position:left center}.contact__corner--right img{object-position:right center}.page-title{background:var(--color-mist);text-align:center}.page-title .section-inner{padding:70px 40px 40px}.page-title h1{letter-spacing:.02em;margin:0 0 10px;font-size:34px;font-weight:700}.page-title .eyebrow{margin:0}.page-content{background:var(--color-mist)}.page-content .section-inner{padding:70px 44px 90px}@media (max-width:720px){.page-content .section-inner{padding:30px 4% 90px}}.page-content .why-panel{max-width:1360px;margin-inline:auto}.page-block+.page-block{margin-top:60px}.page-heading{letter-spacing:.02em;text-align:justify;margin:0;font-size:30px;font-weight:900;line-height:1.4}.page-heading--center{text-align:center}.page-list{color:var(--color-ink);text-align:left;flex-direction:column;gap:14px;width:100%;margin:0;padding:0;font-size:17px;font-weight:700;list-style:none;display:flex}.page-list li{background:var(--color-mint);border:2px solid var(--color-black);border-radius:16px;padding:18px 22px;line-height:1.7}@media (max-width:720px){.page-list{font-size:16px}.page-list li{padding:14px 16px}}.page-media{border-radius:16px;width:100%;overflow:hidden}.company-grid{text-align:left;align-items:flex-start;gap:40px;width:100%;display:flex}.company-grid__image{border-radius:16px;flex-shrink:0;width:600px;max-width:50%;overflow:hidden}.company-grid__image img{object-fit:cover;width:100%;height:100%}.company-facts dt{color:var(--color-gray);margin-top:20px;font-size:18px;font-weight:500}.company-facts dt:first-child{margin-top:0}.company-facts dd{color:var(--color-ink);letter-spacing:.02em;margin:4px 0 0;font-size:18px;font-weight:500}.company-facts ul{margin:4px 0 0;padding-left:22px;list-style:outside}.company-facts li{color:var(--color-ink);font-size:18px;font-weight:500;line-height:1.8}.philosophy-body p{letter-spacing:.02em;color:var(--color-gray);text-align:left;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.9}.philosophy-body p:last-child{margin-bottom:0}.legal-content .why-panel{text-align:left}.legal-content h2{letter-spacing:.02em;text-align:justify;margin:40px 0 16px;font-size:26px;font-weight:900}.legal-content h2:first-child{margin-top:0}.legal-content p{letter-spacing:.02em;margin:0 0 16px;font-size:16px;font-weight:500;line-height:1.75}.legal-content ul,.legal-content ol{margin:0 0 16px;padding-left:22px;font-size:16px;line-height:1.75}.legal-content>:last-child{margin-bottom:0}.contact-lead{color:var(--color-gray);margin:0;font-size:16px;font-weight:700;line-height:1.9}.contact-form{text-align:left;flex-direction:column;gap:24px;width:100%;display:flex}.contact-form__field{flex-direction:column;gap:8px;display:flex}.contact-form__field>label{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.contact-form__req{background:var(--color-green);color:var(--color-paper);border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form select,.contact-form textarea{width:100%;font:inherit;color:var(--color-ink);background:var(--color-paper);border:2px solid var(--color-black);border-radius:10px;padding:12px 14px;font-size:16px}.contact-form textarea{resize:vertical;min-height:180px;line-height:1.7}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--color-green);outline-offset:1px}.contact-form [aria-invalid=true]{background:#fff6f5;border-color:#d93025}.contact-form__error{color:#d93025;margin:0;font-size:14px;font-weight:700}.contact-form__alert{color:#d93025;background:#fff6f5;border:2px solid #d93025;border-radius:10px;margin:0;padding:12px 16px;font-weight:700}.contact-form__field--agree{align-items:center}.contact-form__check{cursor:pointer;align-items:center;gap:10px;font-weight:700;display:inline-flex}.contact-form__check input{width:20px;height:20px;accent-color:var(--color-green)}.contact-form__check a{text-decoration:underline}.contact-form__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form__submit{align-self:center}.contact-form__submit:disabled{opacity:.6;cursor:progress;transform:none}.contact-form__done{flex-direction:column;align-items:center;gap:24px;display:flex}.contact-form__done h2{margin:0;font-size:26px;font-weight:900}.contact-form__done p{color:var(--color-gray);margin:0;font-weight:700;line-height:1.9}.site-footer{background:var(--color-paper);padding:40px 40px 20px}.site-footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;max-width:1360px;margin:0 auto 33px;display:flex}.site-footer .site-logo img{height:40px}.footer-nav{flex-wrap:wrap;gap:60px;display:flex}.footer-nav ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-nav a{font-size:13px;font-weight:500}.site-footer__bottom{text-align:center;color:var(--color-gray-faint);max-width:1360px;margin-inline:auto;font-size:13px}@media (max-width:960px){.primary-nav ul{gap:24px}.hero__inner{flex-direction:column;align-items:center;min-height:0}.hero__text{text-align:center;align-items:center;width:100%}.hero__art{max-width:360px;margin:-80% auto 0;position:static;transform:rotate(8deg)}.product-card .why-panel{flex-direction:column}.product-card__media{flex:none;width:100%}.product-card__body{text-align:left;flex:none;align-items:flex-start;width:100%;padding-right:0}.company-grid{flex-direction:column}.company-grid__image{width:100%;max-width:100%}}@media (max-width:720px){.primary-nav{background:var(--color-paper);opacity:0;visibility:hidden;pointer-events:none;border-bottom:1px solid #00000014;flex-direction:column;align-items:flex-start;gap:0;padding:20px;transition:opacity .28s,transform .28s,visibility 0s linear .28s;position:absolute;top:100%;left:0;right:0;transform:translateY(-12px)}.primary-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s,transform .28s,visibility linear;transform:translateY(0)}.primary-nav ul{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:18px}.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.nav-toggle__icon{transition:background .2s 50ms}.nav-toggle__icon,.nav-toggle__icon:before,.nav-toggle__icon:after{transition:transform .28s,top .28s,opacity .2s}.nav-toggle[aria-expanded=true] .nav-toggle__icon{background:0 0}.nav-toggle[aria-expanded=true] .nav-toggle__icon:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__icon:after{top:0;transform:rotate(-45deg)}.site-header__inner{padding:16px 20px}.hero{padding-bottom:0}.why-panel{padding:30px 24px}.about .section-inner{padding:80px 2%}.section-heading,.page-title h1{font-size:26px}.contact__corner{display:none}.site-footer__top{flex-direction:column;gap:24px}}.legal-table{letter-spacing:.02em;grid-template-columns:1fr;margin:0;font-size:16px;line-height:1.75;display:grid}.legal-table dt{padding:16px 0 0;font-weight:900}.legal-table dd{border-bottom:1px solid #0000001f;margin:4px 0 0;padding:0 0 16px;font-weight:500}.legal-content a{text-decoration:underline}.legal-content li{margin-bottom:6px}.legal-content li>ul,.legal-content li>ol{margin:6px 0 0}.legal-content strong{font-weight:900}.legal-content .legal-table{margin-bottom:16px}.legal-content .legal-date{text-align:right;margin-top:48px}@media (min-width:768px){.legal-table{grid-template-columns:220px 1fr}.legal-table dt,.legal-table dd{border-bottom:1px solid #0000001f;margin:0;padding:18px 0}.legal-table dt{padding-right:24px}}
