/* Attraction — human-centered technology */
:root{--ink:#123137;--muted:#526665;--green:#057851;--lime:#d3f36b;--line:#dce3e0;--paper:#fff;--soft:#f3f6f4;--font:'Manrope','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:white;padding:16px}.skip-link:focus{top:10px}.header{height:94px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{object-fit:contain}.brand span{font-weight:800;font-size:23px;letter-spacing:.03em;line-height:1.25}.brand small{display:block;font-weight:500;font-size:11px;letter-spacing:.15em;margin-bottom:4px}.header nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.header nav>a:not(.nav-contact):hover{color:var(--green)}.nav-contact{padding:15px 22px;background:var(--ink);color:white;border-radius:5px;display:flex;gap:30px}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;padding:42px 4.4% 0;display:grid;grid-template-columns:1.12fr 1fr;column-gap:38px}.hero-copy{padding:24px 0 16px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;margin:0 0 24px;display:flex;align-items:center;gap:11px}.eyebrow>span{width:8px;height:8px;border-radius:50%;background:var(--green)}h1{font-size:clamp(36px,4.35vw,67px);letter-spacing:-.035em;line-height:1.47;margin:0 0 22px;font-weight:800}.highlight{background:linear-gradient(transparent 76%,var(--lime) 76%,var(--lime) 94%,transparent 94%)}.hero-intro{font-size:18px;line-height:1.9;letter-spacing:.025em;margin:0 0 16px;font-weight:600}.hero-detail{font-size:14px;color:var(--muted);line-height:1.95;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:21px 25px;font-size:14px;font-weight:700;border-radius:5px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.button-dark:hover,.nav-contact:hover{background:var(--green)}.button span{font-size:23px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:700;padding:12px 0;border-bottom:1px solid var(--ink)}.hero-visual{position:relative;min-height:570px;border-radius:7px 7px 80px 7px;overflow:hidden;background:#397179}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;object-position:53% center}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10303808 10%,#0b303235 45%,#082b36d9 100%)}.photo-label{position:absolute;top:26px;left:28px;font-size:11px;letter-spacing:.14em;color:white;font-weight:700;border:1px solid #ffffff70;padding:9px 13px;border-radius:30px}.photo-caption{position:absolute;left:37px;bottom:45px;color:white}.photo-caption>span{display:block;font-size:14px;margin-bottom:14px;letter-spacing:.08em}.photo-caption strong{font-size:46px;line-height:1.5;font-weight:700;letter-spacing:.03em}.vertical-label{position:absolute;right:19px;top:32px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.16em;color:white}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:26px 0 28px;font-size:11px;letter-spacing:.1em;color:var(--muted)}.hero-bottom a{display:flex;gap:15px;font-size:10px;font-weight:700}.credentials{padding:25px 4.4%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}.credentials>span{font-weight:700}.credentials p{margin:0;font-weight:600}.credentials b{font-weight:400;color:#92a5a0;padding:0 14px}.credentials small{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.section{max-width:1440px;padding:98px 6.4%;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:42px}.section-heading .eyebrow,.journal .eyebrow{color:var(--green);margin-bottom:17px}h2{font-size:clamp(27px,2.7vw,40px);line-height:1.55;letter-spacing:-.035em;margin:0;font-weight:700}.section-heading>p{font-size:14px;line-height:1.95;color:var(--muted);margin:0 0 3px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.product-card{min-width:0}.product-cover{display:block;border-radius:7px;overflow:hidden;background:#e8f1ec;padding:22px 26px 0;transition:background .25s}.cover-label{display:flex;justify-content:space-between;gap:16px;font-size:11px;font-weight:700;letter-spacing:.06em;padding-bottom:20px}.cover-label span:last-child{font-family:'Noto Sans JP',sans-serif;font-weight:500;letter-spacing:0}.product-cover img{width:100%;height:215px;object-fit:contain;object-position:center bottom;transition:transform .35s}.product-cover:hover img{transform:translateY(-4px)}.business .product-cover{background:#eaf0f8}.product-body{padding:24px 0 0}.category{font-size:12px;color:var(--green);font-weight:600;letter-spacing:.02em;margin:0 0 10px}h3{font-size:24px;font-weight:700;line-height:1.65;margin:0}.product-body h3 a{display:flex;justify-content:space-between;align-items:center;gap:12px}.product-body h3 span{font-size:24px;font-weight:400}.product-body>p:not(.category){font-size:14px;line-height:1.9;color:var(--muted);margin:14px 0 22px}.category-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 0;font-size:12px;font-weight:600}.category-link:hover{color:var(--green)}.services-section{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:30px 28px;background:white;border:1px solid #e6ebe8;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start}.service-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:33px}.service-number{font-size:14px;color:#839890}.service-top svg{width:44px;height:44px;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card .category{font-size:11px}.service-card h3{font-size:28px;line-height:1.5}.service-card>p:not(.category){font-size:14px;line-height:1.95;color:var(--muted);margin:20px 0 30px}.service-card>a{margin-top:auto;font-size:12px;font-weight:600;width:100%;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line)}.service-card>a:hover{color:var(--green)}.journal{display:grid;grid-template-columns:.8fr 1.3fr;gap:75px}.journal-heading .text-link{margin-top:30px}.article-list>a{position:relative;display:block;padding:25px 40px 25px 0;border-top:1px solid var(--line)}.article-list>a:last-child{border-bottom:1px solid var(--line)}.article-meta{display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted);margin-bottom:12px}.article-meta time{font-family:Manrope,sans-serif;letter-spacing:.04em}.article-meta>span{padding:4px 10px;background:var(--soft);border-radius:3px}.article-list h3{font-size:16px;line-height:1.85}.article-arrow{position:absolute;right:0;top:50%;font-size:22px}.article-list>a:hover h3{color:var(--green)}.contact-section{margin:0 4.4%;padding:64px 7%;background:var(--ink);color:white;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;overflow:hidden}.contact-section .eyebrow{color:var(--lime);margin-bottom:20px}.contact-section h2{font-size:40px;line-height:1.55}.contact-section p:not(.eyebrow){font-size:14px;color:#c5d4cf;line-height:1.9;margin:20px 0 0}.contact-actions{min-width:300px}.button-light{background:var(--lime);color:var(--ink);padding:25px 30px}.button-light:hover{background:#e2ff91}.phone{display:flex;flex-direction:column;align-items:center;font-family:Manrope,sans-serif;font-size:27px;letter-spacing:.04em;margin-top:24px;gap:7px}.phone small{font-family:'Noto Sans JP',sans-serif;font-size:11px;letter-spacing:.05em;color:#c5d4cf}footer{padding:64px 4.4% 25px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;font-weight:500}.footer-links a:hover{color:var(--green)}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:38px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer-bottom p{margin:0;line-height:1.85}.footer-bottom small{margin-left:auto;font-size:10px;letter-spacing:.08em}.footer-bottom>a{width:35px;height:35px;border:1px solid var(--line);display:grid;place-items:center;font-size:17px;margin-left:25px}
@media(min-width:1500px){.hero-visual{min-height:650px}.hero-copy{padding-top:45px}.hero-intro{font-size:20px}.header nav{font-size:14px;gap:30px}}
@media(max-width:1100px){.header{padding:0 4%;height:80px}.brand span{font-size:20px}.header nav{gap:15px;font-size:12px}.nav-contact{padding:14px;gap:16px}.hero{padding-top:28px;gap:24px}.hero-visual{min-height:530px}.hero-actions{gap:15px}.button{padding:19px;gap:20px}.hero-intro{font-size:16px}.hero-detail{font-size:13px}.photo-caption{left:25px}.photo-caption strong{font-size:39px}.credentials{flex-wrap:wrap;justify-content:center;gap:12px 25px}.credentials small{border:0;padding:0}.section{padding:75px 5%}.section-heading>p{font-size:13px}.product-cover{padding:18px 20px 0}.product-cover img{height:185px}.product-body h3{font-size:21px}.service-card{padding:25px 21px}.service-card h3{font-size:25px}.journal{gap:45px}.footer-links{gap:17px}}
@media(max-width:800px){html{scroll-padding-top:90px}.header{height:76px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;padding:18px 6% 28px;background:white;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #12313712;font-size:15px;gap:0}.header nav.open{display:flex}.header nav>a{padding:14px}.header nav .nav-contact{margin-top:10px;justify-content:space-between}.menu-toggle{border:1px solid var(--line);border-radius:5px;width:44px;height:44px;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{width:19px;height:1.5px;background:var(--ink)}.hero{column-gap:20px}.hero-copy{padding-top:16px}.eyebrow{font-size:10px;letter-spacing:.1em}.hero h1{font-size:34px}.hero-intro{font-size:14px}.hero-detail{font-size:12px}.hero-visual{min-height:490px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.hero-actions .button{font-size:13px;gap:28px}.photo-caption strong{font-size:32px}.photo-caption>span{font-size:11px}.photo-label{font-size:8px;left:18px;padding:7px 10px}.vertical-label{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.section-heading>p{font-size:14px}.service-grid{gap:14px}.service-card{padding:22px 16px}.service-card h3{font-size:22px}.service-card .category{font-size:10px}.service-card>p:not(.category){font-size:13px}.service-card>a{font-size:11px}.product-grid{gap:22px}.product-cover img{height:155px}.product-body h3{font-size:18px}.product-body>p:not(.category){font-size:13px}.cover-label{font-size:9px;gap:8px}.journal{grid-template-columns:.8fr 1.3fr;gap:30px}.journal h2{font-size:28px}.article-list h3{font-size:14px}.contact-section{padding:45px 6%;gap:25px}.contact-section h2{font-size:31px}.contact-actions{min-width:255px}.contact-actions .button{font-size:13px;padding:22px 18px}.contact-section p:not(.eyebrow){font-size:13px}.footer-main{align-items:flex-start;flex-direction:column}.footer-links{font-size:13px}}
@media(max-width:600px){.brand span{font-size:21px}.hero{padding:25px 5% 0;grid-template-columns:1fr;gap:22px}.hero-copy{padding:4px 0 0}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero h1{font-size:clamp(33px,9vw,50px);line-height:1.45;letter-spacing:-.04em;margin-bottom:20px}.hero-intro{font-size:15px;line-height:1.9;margin-bottom:15px}.hero-detail{font-size:12px;line-height:1.9;margin-bottom:24px}.hero-actions{flex-direction:row;align-items:center;gap:18px}.hero-actions .button{font-size:12px;padding:18px;gap:20px}.hero-actions .text-link{font-size:11px;gap:10px}.hero-visual{min-height:315px;border-radius:5px 5px 60px 5px}.hero-photo{object-position:center 46%}.photo-label{top:20px;left:22px;font-size:9px}.photo-caption{left:25px;bottom:25px}.photo-caption strong{font-size:32px}.photo-caption>span{font-size:12px;margin-bottom:8px}.hero-bottom{padding:0 0 20px;font-size:9px;gap:8px}.hero-bottom a{font-size:8px;gap:6px}.credentials{padding:22px 5%;gap:12px;text-align:center;flex-direction:column}.credentials>span{font-size:12px}.credentials p{font-size:10px;line-height:1.8}.credentials b{padding:0 6px}.credentials small{font-size:10px}.section{padding:58px 5%}.section-heading{margin-bottom:28px}.section-heading .eyebrow{font-size:11px;margin-bottom:14px}h2{font-size:26px}.section-heading>p{font-size:13px}.product-grid{grid-template-columns:1fr;gap:36px}.product-cover{padding:20px 22px 0}.cover-label{font-size:10px}.product-cover img{height:auto;aspect-ratio:1.95;object-fit:contain}.product-body{padding-top:20px}.product-body h3{font-size:21px}.product-body>p:not(.category){font-size:14px;margin:12px 0 20px}.category-link{font-size:12px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:27px}.service-top{margin-bottom:15px}.service-card .category{font-size:12px}.service-card h3{font-size:26px}.service-card h3 br{display:none}.service-card>p:not(.category){font-size:14px;margin:15px 0 22px}.service-card>a{font-size:13px}.journal{grid-template-columns:1fr;gap:30px}.journal h2{font-size:28px}.journal h2 br{display:none}.journal-heading .text-link{margin-top:12px}.article-list h3{font-size:15px}.article-meta{font-size:11px}.contact-section{margin:0 5%;padding:36px 27px;flex-direction:column;align-items:stretch;gap:30px}.contact-section h2{font-size:30px}.contact-section .eyebrow{font-size:11px}.contact-section p:not(.eyebrow){font-size:13px}.contact-actions{min-width:0}.contact-actions .button{padding:22px;font-size:13px}.phone{font-size:25px;margin-top:23px}footer{padding:44px 5% 22px}.footer-links{gap:16px 22px;font-size:12px;line-height:1.8}.footer-bottom{margin-top:26px;flex-wrap:wrap;gap:20px}.footer-bottom p{width:100%;font-size:11px}.footer-bottom small{margin-left:0;font-size:10px}.footer-bottom>a{margin-left:auto}.desktop-only{display:none}}
/* Readable body copy and comfortably sized navigation across viewports. */
.hero-detail,.section-heading>p,.product-body>p:not(.category),.service-card>p:not(.category),.contact-section p:not(.eyebrow){font-size:16px}
.header nav,.button,.hero-actions .button,.text-link,.hero-actions .text-link,.category-link,.service-card>a,.footer-links{font-size:14px}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.contact-section .eyebrow,.category,.service-card .category,.cover-label,.article-meta,.photo-label,.vertical-label,.credentials,.credentials p,.credentials small,.hero-bottom,.hero-bottom a,.phone small,.footer-bottom,.footer-bottom p,.footer-bottom small{font-size:12px}
.hero-bottom{flex-wrap:wrap;row-gap:12px}.header nav{gap:20px}.hero-detail{line-height:1.9}
@media(min-width:801px) and (max-width:1100px){.header nav{gap:12px;font-size:12px}}
@media(max-width:600px){.hero-actions{gap:14px}.hero-actions .button{padding:17px 14px;gap:12px}.hero-actions .text-link{gap:8px;font-size:12px}.hero-bottom{font-size:11px}.hero-bottom a{font-size:10px}.credentials p{line-height:2}.service-card .category{font-size:12px}.contact-actions .button{font-size:14px}.hero-copy{padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
