/* Reference composition for the homepage only. Child pages retain styles.css. */
body[data-page="home"]{--u:min(.05980861244vw,1.15px);--header:calc(78 * var(--u));font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;line-height:1.6;color:#0b2238}
body[data-page="home"] .site-header{background:#fff;backdrop-filter:none;border:0}
body[data-page="home"] .header-inner{height:var(--header);max-width:none;margin:0;padding:0 calc(22 * var(--u)) 0 calc(58 * var(--u));gap:calc(28 * var(--u))}
body[data-page="home"] .brand-horizontal{display:flex;align-items:center;gap:calc(17 * var(--u));width:calc(245 * var(--u));flex:none}
body[data-page="home"] .brand-horizontal .logo-mark{width:calc(83 * var(--u));height:auto;object-fit:contain}
body[data-page="home"] .brand-horizontal .logo-wordmark{width:calc(145 * var(--u));height:auto;object-fit:contain}
body[data-page="home"] .brand-message{display:block;margin:0;padding-left:calc(28 * var(--u));font-size:calc(14 * var(--u));line-height:1.65;letter-spacing:.035em;color:#374b63;border-color:#e1e7ee}
body[data-page="home"] .primary-navigation{display:flex;align-items:center;flex:1;justify-content:space-between;margin-left:calc(154 * var(--u));gap:calc(32 * var(--u))}
body[data-page="home"] .nav-links{display:flex;align-items:center;gap:calc(50 * var(--u))}
body[data-page="home"] .nav-links a{position:relative;display:flex;align-items:center;min-height:calc(54 * var(--u));font-size:calc(15 * var(--u));font-weight:700;text-decoration:none;white-space:nowrap;letter-spacing:.025em}
body[data-page="home"] .nav-links a[aria-current="page"]{color:#0058ff}
body[data-page="home"] .nav-links a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#0058ff}
body[data-page="home"] .primary-navigation .header-contact{gap:calc(14 * var(--u));justify-content:center;min-width:calc(186 * var(--u));height:calc(50 * var(--u));min-height:44px;padding:0 calc(23 * var(--u));margin:0;background:#0085d9;border-radius:calc(12 * var(--u));font-size:calc(15 * var(--u));letter-spacing:.06em}
body[data-page="home"] .header-contact svg{width:calc(24 * var(--u));height:calc(24 * var(--u));fill:none;stroke:currentColor;stroke-width:1.6}
body[data-page="home"] main{outline:none}
.reference-hero{position:relative;height:calc(456 * var(--u));overflow:hidden;background:#eaf5fc}
.reference-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.reference-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f3faffaa 0%,#f4faffe0 25%,#f4faff8c 46%,transparent 59%)}
.reference-hero-copy{position:absolute;z-index:1;left:calc(68 * var(--u));top:calc(64 * var(--u));max-width:calc(520 * var(--u))}
.reference-hero-copy h1{font-size:calc(66 * var(--u));font-weight:800;line-height:1.067;letter-spacing:-.015em;white-space:nowrap;color:#04182a}
.reference-sub{font-size:calc(24 * var(--u));font-weight:800;line-height:1.44;margin-top:calc(4 * var(--u));letter-spacing:.01em}
.reference-description{font-size:calc(18 * var(--u));line-height:1.5;margin-top:calc(18 * var(--u));letter-spacing:.04em;font-weight:500}
.reference-hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:calc(32 * var(--u));width:calc(260 * var(--u));height:calc(55 * var(--u));padding:0 calc(27 * var(--u));border:1.5px solid #0056ff;border-radius:calc(18 * var(--u));color:#0056ff;background:#ffffffb8;text-decoration:none;font-size:calc(19 * var(--u));font-weight:700;letter-spacing:.02em;margin-top:calc(23 * var(--u));white-space:nowrap}
.reference-hero-cta span{font-size:calc(29 * var(--u));font-weight:400;line-height:1}
.reference-hero-cta:hover{background:#fff;box-shadow:0 3px 12px #0066ff16;color:#0056ff}
.reference-cm-brand{position:absolute;z-index:1;top:calc(138 * var(--u));left:32.9%;width:calc(334 * var(--u));text-align:center}
.reference-cm-brand>img{width:100%;height:calc(142 * var(--u));object-fit:contain}
.reference-cm-brand>p{font-size:calc(23 * var(--u));font-weight:700;line-height:1.45;margin-top:calc(6 * var(--u));white-space:nowrap;letter-spacing:0}
.reference-cm-brand>span{display:block;font-size:calc(16 * var(--u));letter-spacing:.3em;margin-top:calc(1 * var(--u));padding-left:.3em}
.reference-points{display:flex;justify-content:space-between;gap:calc(16 * var(--u));margin-top:calc(16 * var(--u));margin-left:calc(-22 * var(--u));margin-right:calc(-22 * var(--u))}
.reference-points>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(4 * var(--u));white-space:nowrap}
.reference-points svg{width:calc(42 * var(--u));height:calc(42 * var(--u));stroke:#007cce;stroke-width:2.6;fill:none;stroke-linejoin:round;stroke-linecap:round}
.reference-points strong{font-size:calc(15 * var(--u));font-weight:700}
.reference-business{display:grid;grid-template-columns:32.1% 34.8% 33.1%;height:calc(270 * var(--u));overflow:hidden}
.reference-service{position:relative;overflow:hidden;background:#0a2740;color:#fff;min-width:0}
.reference-business-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.reference-service:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031b30eb 0%,#031b309e 55%,#031b3030 100%)}
.reference-service-web:after{background:linear-gradient(90deg,#17242bba,#17242b75 52%,#17242b32)}
.reference-service-content{position:relative;z-index:1;padding:calc(20 * var(--u)) calc(48 * var(--u));height:100%;display:flex;align-items:flex-start;flex-direction:column}
.reference-service-label{font-size:calc(12 * var(--u));line-height:1.5;letter-spacing:.13em;white-space:nowrap;display:flex;align-items:center;gap:calc(13 * var(--u));margin-bottom:calc(10 * var(--u))}
.reference-service-label span{display:block;width:calc(30 * var(--u));height:1px;background:#ffffffa6}
.reference-service h2{font-size:calc(27 * var(--u));font-weight:700;color:#fff;line-height:1.25;letter-spacing:-.01em}
.reference-service-catch{font-size:calc(19 * var(--u));font-weight:600;line-height:1.4;margin-top:calc(10 * var(--u))!important;letter-spacing:.01em}
.reference-service-description{font-size:calc(15 * var(--u));line-height:1.45;margin-top:calc(12 * var(--u));letter-spacing:.02em}
.reference-service-link{display:flex;justify-content:space-between;align-items:center;gap:calc(24 * var(--u));padding:0 calc(20 * var(--u));height:calc(36 * var(--u));min-height:32px;width:calc(160 * var(--u));border:1.3px solid white;border-radius:calc(14 * var(--u));margin-top:auto;text-decoration:none;color:white;font-size:calc(15 * var(--u));line-height:1;font-weight:600;background:#09253e15;white-space:nowrap}
.reference-service-link span{font-size:calc(22 * var(--u));font-weight:400}
.reference-service-link:hover{color:white;background:#ffffff20}
.reference-platform-art{position:absolute;inset:0;background-color:#032542;background-image:linear-gradient(115deg,#071b2c 10%,#06427240 60%,#005fc263),repeating-linear-gradient(105deg,transparent 0 24px,#0875c422 25px 26px),repeating-linear-gradient(15deg,transparent 0 24px,#0875c422 25px 26px)}
.reference-platform-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 42%,#18b7ff60,transparent 48%)}
.reference-platform-art img{position:absolute;right:calc(26 * var(--u));top:calc(83 * var(--u));width:calc(195 * var(--u));height:calc(96 * var(--u));object-fit:contain;transform:rotate(13deg) skewY(-8deg);filter:brightness(1.8);opacity:.9}
.reference-service-cm:after{background:linear-gradient(90deg,#031b30c7,transparent 85%)}
.reference-news{height:calc(56 * var(--u));padding:0 calc(36 * var(--u));display:flex;align-items:center;gap:calc(19 * var(--u));border-bottom:1px solid #e1e8ef;background:#fff;letter-spacing:.03em}
.reference-news-date{font-size:calc(14 * var(--u));width:calc(128 * var(--u));color:#3f5269}
.reference-news-category{display:flex;justify-content:center;align-items:center;width:calc(94 * var(--u));height:calc(29 * var(--u));border-radius:3px;font-size:calc(15 * var(--u));font-weight:600;color:#fff;background:#164aab}
.reference-news p{font-size:calc(14 * var(--u));font-weight:500;line-height:1.5}
.reference-news a{margin-left:auto;display:flex;gap:calc(17 * var(--u));align-items:center;font-size:calc(14 * var(--u));font-weight:600;color:#0057ff;text-decoration:none;white-space:nowrap}
.reference-news a span{font-size:calc(23 * var(--u))}
body[data-page="home"] .reference-footer{display:flex;align-items:center;justify-content:space-between;gap:calc(36 * var(--u));height:calc(81 * var(--u));padding:0 calc(29 * var(--u));background:#f7f9fb}
body[data-page="home"] .reference-footer .brand-horizontal{width:calc(232 * var(--u));gap:calc(13 * var(--u))}
body[data-page="home"] .reference-footer .logo-mark{width:calc(74 * var(--u))}
body[data-page="home"] .reference-footer .logo-wordmark{width:calc(143 * var(--u))}
body[data-page="home"] .reference-footer .footer-nav{display:flex;align-items:center;justify-content:center;gap:calc(27 * var(--u));margin:0;flex-wrap:wrap;max-width:calc(700 * var(--u));row-gap:0}
body[data-page="home"] .reference-footer .footer-nav a{font-size:calc(12 * var(--u));font-weight:500;min-height:calc(28 * var(--u));white-space:nowrap}
body[data-page="home"] .reference-footer .footer-message{font-size:calc(13 * var(--u));font-weight:500;text-align:right;white-space:nowrap;line-height:1.7}
body[data-page="home"] .reference-footer small{display:block;font-size:calc(12 * var(--u));margin-top:calc(5 * var(--u))}
body[data-page="home"] .demo-host{top:calc(96 * var(--u));bottom:auto;right:calc(20 * var(--u));width:clamp(280px,calc(274 * var(--u)),315px)}
body[data-page="home"] .demo-panel{border-radius:12px;border-color:#d5e5f8;box-shadow:0 6px 20px #123e5d3a;min-height:calc(346 * var(--u))}
body[data-page="home"] .demo-header{background:#edf4ff;color:#0060ff;padding:9px 10px 9px 13px;gap:4px;border-bottom:1px solid #dbe7f5}
body[data-page="home"] .demo-header-title strong{color:#0060ff;font-size:15px}
body[data-page="home"] .demo-header-title span{color:#517392;font-size:10px}
body[data-page="home"] .demo-icon-button{color:#0060ff;font-size:24px;width:32px;height:32px}
body[data-page="home"] .demo-icon-button:hover{background:#0059ff0f}
body[data-page="home"] .demo-content{padding:13px 17px 8px}
body[data-page="home"] .demo-progress{margin-bottom:12px;background:#d8e2ef;height:6px;border-radius:4px}
body[data-page="home"] .demo-progress>span{background:#0760ff}
body[data-page="home"] .demo-answer{background:#f7fbff;border-color:#c6def2;border-radius:6px;min-height:38px}
body[data-page="home"] .demo-actions{padding-bottom:12px}
body[data-page="home"] .demo-tab{border-radius:10px;background:#006cec;border-color:#006cec}
@media(max-width:1200px){body[data-page="home"] .primary-navigation{margin-left:auto;gap:20px}body[data-page="home"] .nav-links{gap:24px}body[data-page="home"] .brand-message{display:none}.reference-service-content{padding-inline:28px}.reference-service h2{font-size:22px}.reference-service-catch{font-size:16px}.reference-service-description{font-size:13px}.reference-business{height:270px}.reference-footer .footer-nav{gap:16px!important}.reference-footer .footer-message{font-size:10px!important}}
@media(max-width:1000px){body[data-page="home"]{--header:76px;--u:1px}body[data-page="home"] .header-inner{height:76px;padding:0 24px;gap:20px}body[data-page="home"] .brand-horizontal{width:224px;gap:14px}body[data-page="home"] .brand-horizontal .logo-mark{width:76px}body[data-page="home"] .brand-horizontal .logo-wordmark{width:134px}body[data-page="home"] .primary-navigation{display:none;position:absolute;inset:76px 0 auto;padding:18px 24px;background:white;box-shadow:0 10px 18px #092b4b15;gap:14px}body[data-page="home"] .primary-navigation.is-open{display:flex;align-items:stretch;flex-direction:column}body[data-page="home"] .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}body[data-page="home"] .nav-links a{font-size:14px;min-height:44px}body[data-page="home"] .primary-navigation .header-contact{height:48px;font-size:15px}body[data-page="home"] .header-contact svg{width:23px;height:23px}.reference-hero{height:480px}.reference-hero-copy{left:36px;top:54px;max-width:480px}.reference-hero-copy h1{font-size:52px}.reference-sub{font-size:19px}.reference-description{font-size:15px}.reference-hero-cta{font-size:17px;height:50px;width:238px}.reference-cm-brand{left:52%;top:172px;width:245px}.reference-cm-brand>img{height:104px}.reference-cm-brand>p{font-size:17px}.reference-cm-brand>span{font-size:12px}.reference-points{margin-inline:0;gap:10px}.reference-points strong{font-size:11px}.reference-points svg{width:34px;height:34px}.reference-hero:after{background:linear-gradient(90deg,#f4faffeb,#f4faffbd 48%,transparent 84%)}.reference-business{height:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.reference-service-content{padding:22px;height:300px}.reference-service h2{font-size:20px}.reference-service-label{font-size:9px;letter-spacing:.07em;gap:8px}.reference-service-label span{width:16px}.reference-service-catch{font-size:14px}.reference-service-description{font-size:12px}.reference-service-description br{display:none}.reference-service-link{font-size:13px;height:37px;width:148px}.reference-news{height:58px;padding-inline:24px;gap:14px}.reference-news-date{width:65px;font-size:12px}.reference-news-category{width:76px;height:26px;font-size:12px}.reference-news p{font-size:12px}.reference-news a{font-size:12px;gap:8px}body[data-page="home"] .reference-footer{height:auto;padding:24px;gap:22px;flex-wrap:wrap}body[data-page="home"] .reference-footer .footer-nav{max-width:none;flex:1;gap:8px 18px!important}body[data-page="home"] .reference-footer .footer-nav a{font-size:12px;min-height:32px}body[data-page="home"] .reference-footer .footer-message{width:100%;font-size:12px!important}body[data-page="home"] .reference-footer small{font-size:11px}}
@media(max-width:900px){body[data-page="home"] .demo-host{top:auto;right:14px;bottom:14px;width:auto}body[data-page="home"] .demo-panel{min-height:0;border-radius:14px 14px 0 0}body[data-page="home"] .demo-header{padding:14px 18px 12px}body[data-page="home"] .demo-header-title strong{font-size:17px}body[data-page="home"] .demo-header-title span{font-size:12px}body[data-page="home"] .demo-icon-button{width:44px;height:44px;font-size:27px}body[data-page="home"] .demo-content{padding:22px 24px 14px}body[data-page="home"] .demo-answer{min-height:49px}body[data-page="home"] .start-answers .demo-answer{min-height:54px}body[data-page="home"] .demo-actions{padding:5px 24px calc(16px + env(safe-area-inset-bottom))}}
@media(max-width:700px){body[data-page="home"] .header-inner{padding:0 18px;gap:10px}body[data-page="home"] .brand-horizontal{width:212px;gap:13px}body[data-page="home"] .brand-horizontal .logo-mark{width:71px}body[data-page="home"] .brand-horizontal .logo-wordmark{width:128px}.reference-hero{height:590px}.reference-hero-photo{object-position:65% center;opacity:.6}.reference-hero:after{background:linear-gradient(180deg,#f4faffd9,#f4faffc7 66%,#f4faff99)}.reference-hero-copy{left:24px;top:32px;max-width:calc(100% - 48px)}.reference-hero-copy h1{font-size:clamp(34px,9.1vw,48px);line-height:1.2;letter-spacing:-.05em}.reference-sub{font-size:17px;line-height:1.5;margin-top:17px}.reference-description{font-size:13px;line-height:1.65;margin-top:16px;letter-spacing:.015em}.reference-hero-cta{width:232px;height:49px;font-size:16px;margin-top:22px;border-radius:15px}.reference-cm-brand{top:375px;left:50%;transform:translateX(-50%);width:245px}.reference-cm-brand>p{font-size:17px}.reference-cm-brand>span{font-size:11px}.reference-points{margin-top:14px;margin-inline:-24px;gap:15px}.reference-points svg{width:34px;height:34px}.reference-points strong{font-size:12px}.reference-business{grid-template-columns:1fr}.reference-service-content{padding:25px 28px;height:285px}.reference-service-label{font-size:11px;letter-spacing:.09em;gap:13px;margin-bottom:11px}.reference-service-label span{width:24px}.reference-service h2{font-size:25px;line-height:1.3}.reference-service-catch{font-size:16px;margin-top:12px!important}.reference-service-description{font-size:13px;line-height:1.65;margin-top:12px;max-width:305px}.reference-service-description br{display:initial}.reference-service-link{font-size:14px;height:40px;width:160px;border-radius:12px}.reference-service-link span{font-size:22px}.reference-platform-art img{right:14px;top:100px;width:180px}.reference-news{padding:18px 24px;height:auto;flex-wrap:wrap;gap:9px 13px}.reference-news-date{width:auto;font-size:12px}.reference-news-category{width:72px;height:25px;font-size:12px}.reference-news p{order:3;flex-basis:100%;font-size:13px}.reference-news a{font-size:12px}.reference-news a span{font-size:20px}body[data-page="home"] .reference-footer{padding:25px 24px 94px;flex-direction:column;align-items:flex-start;gap:22px}body[data-page="home"] .reference-footer .brand-horizontal{width:230px;gap:13px}body[data-page="home"] .reference-footer .logo-mark{width:74px}body[data-page="home"] .reference-footer .logo-wordmark{width:143px}body[data-page="home"] .reference-footer .footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px 25px!important;width:100%;flex:none}body[data-page="home"] .reference-footer .footer-nav a{font-size:12px}body[data-page="home"] .reference-footer .footer-message{text-align:left;white-space:normal;font-size:11px!important}body[data-page="home"] .reference-footer small{font-size:10px;margin-top:7px}}
@media print{.reference-hero,.reference-business{break-inside:avoid}body[data-page="home"] .site-header{position:static}body[data-page="home"] .reference-footer{padding-bottom:20px}}

/* Photo-only crops retain the reference laptop and temporary tablet artwork. */
.reference-laptop-photo{position:absolute;top:0;left:52.69138756%;width:29.60526316%;height:100%;object-fit:fill;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 98%,transparent)}
.reference-helmet-photo{position:absolute;right:0;bottom:0;width:17.64354067%;height:calc(91 * var(--u));object-fit:fill;mask-image:linear-gradient(180deg,transparent,#000 8%,#000)}
.reference-platform-art .reference-platform-photo{width:calc(183 * var(--u));height:100%;right:0;top:0;object-fit:cover;transform:none;filter:none;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 25%)}
body[data-page="home"] .primary-navigation{margin-left:calc(176 * var(--u))}
body[data-page="home"] .demo-header-title{background:#0874ff;align-self:stretch;padding:7px 9px 6px;margin:-9px 3px -9px -13px;border-radius:0 0 18px 0}
body[data-page="home"] .demo-header-title strong{color:#fff;font-size:18px;line-height:1.2;white-space:nowrap}
body[data-page="home"] .demo-header-title>span{display:block;color:#fff;font-size:9px;line-height:1.4}
body[data-page="home"] .demo-header-title .demo-avatar{float:left;font-size:29px;line-height:1.2;margin-right:7px;color:white}
body[data-page="home"] .demo-panel{display:flex;flex-direction:column}
body[data-page="home"] .demo-header{min-height:50px}
body[data-page="home"] .demo-question{font-size:14px;margin-bottom:11px}
body[data-page="home"] .start-answers .demo-answer{font-size:11px;line-height:1.4;min-height:35px;padding:7px 5px}
body[data-page="home"] .demo-note{font-size:9px;line-height:1.6;margin-top:9px!important}
body[data-page="home"] .demo-content{flex:1}
body[data-page="home"] .demo-actions{padding-top:0}
@media(max-width:1200px){body[data-page="home"] .primary-navigation{margin-left:auto}}
@media(max-width:1000px){.reference-laptop-photo,.reference-helmet-photo{display:none}}
@media(max-width:900px){body[data-page="home"] .demo-header-title{margin:-14px 3px -12px -18px;padding:14px 14px 12px}body[data-page="home"] .demo-header-title strong{font-size:20px}body[data-page="home"] .demo-header-title>span{font-size:11px}body[data-page="home"] .demo-question{font-size:21px;margin-bottom:14px}body[data-page="home"] .start-answers .demo-answer{font-size:14px;line-height:1.6;min-height:54px;padding:10px 14px}body[data-page="home"] .demo-note{font-size:12px;line-height:1.7;margin-top:12px!important}}
@media(max-width:700px){.reference-hero{height:620px}.reference-platform-art .reference-platform-photo{width:195px;height:100%;top:0}}

.reference-factory-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
@media(min-width:1001px){.reference-hero-photo{mask-image:linear-gradient(90deg,#000 44%,transparent 52.7%)}}
@media(max-width:1000px){.reference-factory-photo{display:none}}

.reference-news p a{font-size:inherit;color:inherit;margin:0;display:inline}
@media(min-width:1001px) and (max-width:1200px){body[data-page="home"]{--header:68px}body[data-page="home"] .header-inner{padding-inline:24px;gap:18px}body[data-page="home"] .brand-horizontal{width:190px;gap:12px}body[data-page="home"] .brand-horizontal .logo-mark{width:66px}body[data-page="home"] .brand-horizontal .logo-wordmark{width:112px}body[data-page="home"] .nav-links{gap:22px}body[data-page="home"] .nav-links a{font-size:12px;min-height:46px}body[data-page="home"] .primary-navigation .header-contact{font-size:12px;min-width:140px;height:44px;padding-inline:16px}body[data-page="home"] .header-contact svg{width:20px;height:20px}.reference-hero{height:340px}.reference-hero-copy{top:38px;left:36px}.reference-hero-copy h1{font-size:40px;line-height:1.1}.reference-sub{font-size:15px;line-height:1.5;margin-top:10px}.reference-description{font-size:13px;line-height:1.5;margin-top:15px}.reference-hero-cta{font-size:14px;width:210px;height:44px;margin-top:19px;border-radius:14px}.reference-cm-brand{top:104px;width:210px;left:34%}.reference-cm-brand>img{height:89px}.reference-cm-brand>p{font-size:14px}.reference-cm-brand>span{font-size:10px}.reference-points{margin-inline:-8px;gap:10px;margin-top:14px}.reference-points strong{font-size:10px}.reference-points svg{width:31px;height:31px}.reference-news{height:52px}.reference-news-date,.reference-news p,.reference-news a{font-size:12px}.reference-news-category{font-size:12px;height:27px;width:78px}.reference-footer .footer-nav a{font-size:10px!important}body[data-page="home"] .demo-host{top:84px}.reference-footer .footer-message{font-size:10px!important}.reference-footer small{font-size:10px!important}}
