:root{--gold:#b08d2e;--gold-dark:#8a6d20;--gold-pale:#faf6ec;--accent-red:#e8542f;--accent-green:#3da93f;--accent-yellow:#f0c93a;--ink:#2b2a26;--ink-soft:#6b6960;--line:#e8e4d8;--bg:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--ink);background:var(--bg);font-family:Noto Sans JP,sans-serif;line-height:1.8}.skip-link{z-index:200;background:var(--gold);color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;transition:top .15s;position:absolute;top:-56px;left:12px}.skip-link:focus{top:12px}main:focus{outline:none}main:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.en{font-family:Montserrat,sans-serif}.inner{max-width:1080px;margin:0 auto;padding:0 24px}.header{z-index:100;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1080px;margin:0 auto;padding:14px 24px;display:flex}.header-logo img{width:auto;height:56px}.gnav ul{align-items:center;gap:28px;list-style:none;display:flex}.gnav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:6px 2px;font-size:14px;font-weight:500;transition:color .2s,border-color .2s}.gnav a:hover,.gnav a.active{color:var(--ink);border-color:var(--gold)}.gnav .nav-cta{background:var(--gold);color:#fff;border-bottom:none;border-radius:99px;padding:8px 22px;transition:background .2s}.gnav .nav-cta:hover{background:var(--gold-dark);color:#fff}.gnav .nav-cta.active{color:#fff}.menu-btn{display:none}.page-head{color:#fff;text-align:center;background:linear-gradient(#14120c80,#14120c99),url(/images/top/img_main_L.jpg) 50%/cover no-repeat;padding:64px 24px 58px}.page-head .en-label{letter-spacing:.3em;color:var(--accent-yellow);margin-bottom:10px;font-size:12px;font-weight:500;display:block}.page-head h1{font-size:clamp(26px,4vw,38px);font-weight:700}.page-head .tricolor{background:linear-gradient(90deg, var(--accent-red) 0 33%, var(--accent-yellow) 33% 66%, var(--accent-green) 66% 100%);border-radius:3px;width:80px;height:5px;margin:20px auto 0}.breadcrumb{background:var(--gold-pale);border-bottom:1px solid var(--line)}.breadcrumb .inner{padding-top:12px;padding-bottom:12px}.breadcrumb ol{color:var(--ink-soft);flex-wrap:wrap;gap:8px;font-size:12.5px;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--gold);margin-right:8px}.breadcrumb a:hover{color:var(--gold-dark)}.section{padding:72px 0}.section.alt{background:var(--gold-pale)}.sec-head{margin-bottom:40px}.sec-head .en-label{letter-spacing:.28em;color:var(--gold);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.sec-head h2{font-size:clamp(22px,3.2vw,30px);font-weight:700}.sec-head p.desc{color:var(--ink-soft);margin-top:12px;font-size:15px}.hero{text-align:center;color:#fff;background:linear-gradient(#14120c8c,#14120c9e),url(/images/top/img_main_L.jpg) 50%/cover no-repeat;padding:120px 24px 130px;position:relative}.hero-label{letter-spacing:.3em;color:var(--accent-yellow);margin-bottom:20px;font-size:12px;font-weight:500;display:inline-block}.hero h1{text-shadow:0 2px 18px #00000059;font-size:clamp(34px,6vw,58px);font-weight:700;line-height:1.25}.hero h1 .grad{background:linear-gradient(90deg, #ff8a65, var(--accent-yellow) 50%, #7bd97e);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{color:#ffffffe0;letter-spacing:.12em;margin-top:22px;font-size:clamp(14px,2vw,17px);font-weight:500}.hero-tricolor{background:linear-gradient(90deg, var(--accent-red) 0 33%, var(--accent-yellow) 33% 66%, var(--accent-green) 66% 100%);border-radius:3px;width:88px;height:6px;margin:32px auto 0}.nav-cards{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.nav-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:30px 26px;transition:transform .25s,box-shadow .25s;display:flex}.nav-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #2b2a2614}.nav-card .en-num{letter-spacing:.2em;color:var(--gold);font-size:12px;font-weight:700}.nav-card h3{font-size:18px;font-weight:700}.nav-card p{color:var(--ink-soft);flex-grow:1;font-size:13.5px}.nav-card .more{color:var(--gold-dark);font-size:13px;font-weight:700}.mission-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.mission-copy{font-size:clamp(19px,2.3vw,23px);font-weight:700;line-height:2}.mission-copy span{background:linear-gradient(#0000 68%,#f0c93a73 68%)}.mission-text p{color:var(--ink-soft);font-size:15px}.mission-text p+p{margin-top:16px}.value-list{margin:14px 0;list-style:none}.value-list li{color:var(--ink);padding-left:20px;font-size:15px;line-height:1.95;position:relative}.value-list li:before{content:"";background:var(--gold);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:3px}.nobr{white-space:nowrap}.profile-table{border-collapse:collapse;width:100%}.profile-table th,.profile-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:18px 8px;font-size:15px}.profile-table th{width:160px;color:var(--gold-dark);white-space:nowrap;font-weight:700}.profile-table a{color:var(--gold-dark);text-decoration:underline}.history{margin-left:6px;list-style:none;position:relative}.history:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:13px;left:-2px}.history li{padding:0 0 26px 28px;position:relative}.history li:last-child{padding-bottom:0}.history li:before{content:"";background:var(--gold);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-7px}.history .date{color:var(--gold-dark);font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;line-height:1.7;display:block}.history .desc{margin-top:2px;font-size:14.5px}.biz-tabs{flex-wrap:wrap;gap:10px;margin-bottom:32px;display:flex}.biz-tab{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:99px;padding:6px 16px;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.biz-tab:hover{border-color:var(--gold);color:var(--gold-dark)}.biz-tab.current{background:var(--gold);color:#fff;border-color:var(--gold)}.biz-tab.current:hover{color:#fff}#system,#skill{scroll-margin-top:88px}.content-row{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;margin-bottom:40px;display:grid}.content-row.reverse{direction:rtl}.content-row.reverse>*{direction:ltr}.content-row img{object-fit:cover;border-radius:14px;width:100%;height:240px}.content-row h3{margin-bottom:12px;font-size:19px;font-weight:700}.content-row p{color:var(--ink-soft);font-size:14.5px}.subsec-title{letter-spacing:.2em;color:var(--gold);margin:8px 0 28px;font-size:13px;font-weight:700}.product-cards{grid-template-columns:1fr;gap:28px;display:grid}.product-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:16px;padding:36px 34px;transition:transform .25s,box-shadow .25s;display:flex}a.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px #2b2a2614}.product-card.featured{border:2px solid var(--gold)}.badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{letter-spacing:.06em;border-radius:99px;padding:4px 14px;font-size:11.5px;font-weight:700}.badge.new{background:var(--accent-red);color:#fff}.badge.platform{background:var(--gold-pale);color:var(--gold-dark);border:1px solid var(--line)}.product-title{align-items:center;gap:14px;display:flex}.product-icon{border:1px solid var(--line);border-radius:14px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.product-icon img{object-fit:cover;width:100%;height:100%}.product-title h3{font-size:22px;font-weight:700}.product-title .yomi{color:var(--ink-soft);letter-spacing:.1em;font-size:12px;display:block}.product-lead{color:var(--ink);max-width:720px;font-size:16px;font-weight:700;line-height:1.85}.product-card p.lead-text{color:var(--ink-soft);max-width:720px;font-size:14.5px;line-height:1.9}.product-card p.lead-text strong{color:var(--ink);font-weight:700}#gyorinki,#hanano{scroll-margin-top:88px}.product-shots{gap:12px;margin-top:4px;display:flex}.product-shots img{border:1px solid var(--line);cursor:zoom-in;border-radius:10px;width:120px}.app-shots{margin-top:6px}.app-shots figure{margin:0}.app-shots img{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:10px;width:100%;transition:transform .15s,box-shadow .15s;display:block}.app-shots img:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2b2a261f}.app-shots figcaption{color:var(--ink-soft);text-align:center;margin-top:7px;font-size:11.5px;line-height:1.5}.app-shots--grid6{grid-template-columns:repeat(6,1fr);gap:18px 12px;display:grid}.app-shots--row{flex-wrap:wrap;gap:16px;display:flex}.app-shots--row figure{width:150px}.app-shots img:focus-visible,.product-shots img:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (width<=860px){.app-shots--grid6{grid-template-columns:repeat(3,1fr)}}.lightbox{z-index:1000;cursor:zoom-out;background:#14120ce0;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox img{background:#fff;border-radius:12px;max-width:92vw;max-height:86vh;box-shadow:0 24px 70px #0000008c}.lightbox .lb-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-family:inherit;font-size:34px;font-weight:300;line-height:1;position:absolute;top:14px;right:20px}.lightbox .lb-close:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #fff}.lightbox .lb-cap{text-align:center;color:#ffffffd9;letter-spacing:.04em;font-size:13px;position:absolute;bottom:24px;left:0;right:0}.product-link{color:var(--gold-dark);align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.product-meta{color:var(--ink-soft);font-size:13px}.product-meta strong{color:var(--ink)}.news-list{border-top:1px solid var(--line)}.news-item{border-bottom:1px solid var(--line);align-items:baseline;gap:28px;padding:20px 6px;transition:background .2s;display:flex}.news-item:hover{background:var(--gold-pale)}.news-item--static{cursor:default}.news-item--static:hover{background:0 0}.news-date{color:var(--gold-dark);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:88px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:500}.news-tag{border:1px solid var(--gold);color:var(--gold-dark);white-space:nowrap;text-align:center;box-sizing:border-box;border-radius:99px;flex-shrink:0;min-width:76px;padding:2px 12px;font-size:11px;font-weight:700}.news-item p{font-size:14.5px}.news-more{margin-top:24px}.article{max-width:760px}.article-head{align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.article-title{border-bottom:1px solid var(--line);padding-bottom:22px;font-size:clamp(20px,2.6vw,26px);font-weight:700;line-height:1.6}.article-body{margin-top:26px}.article-body p{color:var(--ink);font-size:15px;line-height:1.95}.article-body p+p{margin-top:16px}.article-body a{color:var(--gold-dark);text-decoration:underline}.article-body .greeting{margin-bottom:18px;font-weight:700}.article-box{background:var(--gold-pale);border:1px solid var(--line);border-radius:10px;margin:22px 0;padding:18px 20px}.article-box p{font-size:14.5px}.article-box p+p{margin-top:6px}.article-list{margin:18px 0;padding-left:22px;list-style:outside}.article-list li{margin-bottom:12px;font-size:15px;line-height:1.9}.article-sign{text-align:right;color:var(--ink-soft);margin-top:36px;font-size:14px;line-height:1.9}.article-sign span{display:block}.article-back{margin-top:40px}.article-back a{color:var(--gold-dark);font-size:14px;font-weight:700}.article-back a:hover{color:var(--gold)}.not-found{text-align:center}.not-found p{font-size:15px;line-height:1.95}.not-found p+p{margin-top:8px}.not-found .btn-primary{margin-top:32px}.contact-lead{color:var(--ink-soft);margin-bottom:32px;font-size:15px}.form-embed{max-width:720px}.form-embed iframe{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;display:block}.form-mock{max-width:640px}.form-row{margin-bottom:22px}.form-row label{margin-bottom:8px;font-size:14px;font-weight:700;display:block}.form-row label .req{color:var(--accent-red);margin-left:6px;font-size:12px}.form-row input,.form-row textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:14px}.form-row textarea{resize:vertical;min-height:140px}.form-note{color:var(--ink-soft);background:var(--gold-pale);border:1px solid var(--line);border-radius:10px;margin-bottom:26px;padding:14px 16px;font-size:13px}.btn-primary{background:var(--gold);color:#fff;cursor:pointer;border:none;border-radius:99px;padding:13px 48px;font-size:15px;font-weight:700;transition:background .2s,transform .2s;display:inline-block}.btn-primary:hover{background:var(--gold-dark);transform:translateY(-2px)}.cta{text-align:center;background:radial-gradient(ellipse 70% 80% at 50% 120%, #b08d2e29, transparent), var(--ink);color:#fff;padding:56px 24px}.cta h2{font-size:clamp(20px,2.5vw,24px);font-weight:700}.cta p{color:#ffffffb3;margin-top:12px;font-size:14px}.cta-btn{background:var(--gold);color:#fff;border-radius:99px;margin-top:22px;padding:10px 30px;font-size:13.5px;font-weight:700;transition:background .2s,transform .2s;display:inline-block}.cta-btn:hover{background:var(--gold-dark);transform:translateY(-2px)}.footer{border-top:1px solid var(--line);padding:44px 24px 36px}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:1080px;margin:0 auto;display:flex}.footer-logo img{width:auto;height:44px}.footer-nav ul{flex-wrap:wrap;justify-content:center;gap:22px;list-style:none;display:flex}.footer-nav a{color:var(--ink-soft);font-size:13px}.footer-nav a:hover{color:var(--gold-dark)}.footer-security{border-top:1px solid var(--line);width:100%;margin-top:8px;padding-top:28px}.footer-security img{width:auto;height:50px;margin:0 auto}.copyright{color:var(--ink-soft);font-size:12px}.mock-banner{background:var(--ink);color:#fff;text-align:center;letter-spacing:.04em;padding:7px 12px;font-size:12px}.mock-banner b{color:var(--accent-yellow)}@media (width<=860px){.mission-grid,.product-cards,.content-row{grid-template-columns:1fr}.content-row.reverse{direction:ltr}.nav-cards{grid-template-columns:1fr}.gnav{display:none}.gnav.open{border-bottom:1px solid var(--line);background:#fff;padding:12px 24px 20px;display:block;position:absolute;top:100%;left:0;right:0}.gnav.open ul{flex-direction:column;align-items:flex-start;gap:10px}.menu-btn{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:13px;display:block}.hero{padding:72px 24px 84px}.section{padding:56px 0}.profile-table th{width:110px}}
