:root{--touch-target-small:44px;--touch-target-medium:48px;--touch-target-large:56px;--safe-area-top:env(safe-area-inset-top,0);--safe-area-right:env(safe-area-inset-right,0);--safe-area-bottom:env(safe-area-inset-bottom,0);--safe-area-left:env(safe-area-inset-left,0);--vh:1vh;--full-height:calc(var(--vh, 1vh) * 100);--font-scale-xs:clamp(0.75rem,2vw,0.875rem);--font-scale-sm:clamp(0.875rem,2.5vw,1rem);--font-scale-base:clamp(1rem,3vw,1.125rem);--font-scale-lg:clamp(1.125rem,3.5vw,1.25rem);--font-scale-xl:clamp(1.25rem,4vw,1.5rem);--font-scale-2xl:clamp(1.5rem,5vw,2rem);--font-scale-3xl:clamp(2rem,6vw,3rem);--font-scale-4xl:clamp(2.5rem,7vw,4rem);--spacing-xs:clamp(0.25rem,1vw,0.5rem);--spacing-sm:clamp(0.5rem,1.5vw,0.75rem);--spacing-md:clamp(1rem,2vw,1.5rem);--spacing-lg:clamp(1.5rem,3vw,2rem);--spacing-xl:clamp(2rem,4vw,3rem);--spacing-2xl:clamp(3rem,5vw,4rem);--spacing-3xl:clamp(4rem,6vw,6rem);--bp-smartwatch:200px;--bp-mobile-small:320px;--bp-mobile:375px;--bp-mobile-large:414px;--bp-phablet:600px;--bp-tablet:768px;--bp-tablet-large:1024px;--bp-desktop:1367px;--bp-desktop-large:1920px;--bp-4k:3840px}[data-market=jp]{--color-primary:#1a2f5a;--color-secondary:#0d47a1;--color-accent:#bf9000;--color-success:#2e7d32;--color-warning:#f57c00;--color-error:#c62828;--color-neutral-100:#fafafa;--color-neutral-200:#f5f5f5;--color-neutral-300:#e0e0e0;--color-neutral-400:#bdbdbd;--color-neutral-500:#9e9e9e;--color-neutral-600:#757575;--color-neutral-700:#616161;--color-neutral-800:#424242;--color-neutral-900:#212121;--font-display:"Noto Serif JP","Yu Mincho",serif;--font-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--font-mono:"Noto Sans Mono",monospace;--content-spacing:0.75rem;--section-spacing:2rem;--card-padding:1rem;--info-density:high;--grid-columns:12;--line-height:1.6}[data-market=west]{--color-primary:#003d82;--color-secondary:#00796b;--color-accent:#ffc107;--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--color-neutral-100:#ffffff;--color-neutral-200:#fafafa;--color-neutral-300:#e8e8e8;--color-neutral-400:#d4d4d4;--color-neutral-500:#a3a3a3;--color-neutral-600:#737373;--color-neutral-700:#525252;--color-neutral-800:#404040;--color-neutral-900:#171717;--font-display:"Playfair Display","Georgia",serif;--font-body:"Inter","Helvetica Neue","Arial",sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--content-spacing:1.5rem;--section-spacing:4rem;--card-padding:1.5rem;--info-density:low;--grid-columns:12;--line-height:1.8}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}@media (min-width:200px){.container{padding-left:.5rem;padding-right:.5rem}}@media (min-width:320px){.container{padding-left:1rem;padding-right:1rem}}@media (min-width:375px){.container{padding-left:1.25rem;padding-right:1.25rem}}@media (min-width:414px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:600px){.container{padding-left:2rem;padding-right:2rem;max-width:640px}}@media (min-width:768px){.container{padding-left:2.5rem;padding-right:2.5rem;max-width:768px}}@media (min-width:1024px){.container{padding-left:3rem;padding-right:3rem;max-width:1024px}}@media (min-width:1367px){.container{padding-left:4rem;padding-right:4rem;max-width:1280px}}@media (min-width:1920px){.container{max-width:1536px}}@media (min-width:3840px){.container{max-width:2560px}}.grid{display:grid;gap:var(--spacing-md)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}@media (min-width:320px){.grid-cols-1{grid-template-columns:repeat(1,1fr)}}@media (min-width:375px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:600px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}@media (min-width:1367px){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}.text-display{font-size:var(--font-scale-4xl);line-height:1.1;letter-spacing:-.02em}.text-display,.text-h1{font-family:var(--font-display);font-weight:700}.text-h1{font-size:var(--font-scale-3xl);line-height:1.2;letter-spacing:-.01em}.text-h2{font-family:var(--font-display);font-size:var(--font-scale-2xl);line-height:1.3;font-weight:600}.text-h3{font-size:var(--font-scale-xl);line-height:1.4}.text-h3,.text-h4{font-family:var(--font-body);font-weight:600}.text-h4{font-size:var(--font-scale-lg);line-height:1.5}.text-body{font-size:var(--font-scale-base);line-height:var(--line-height)}.text-body,.text-small{font-family:var(--font-body);font-weight:400}.text-small{font-size:var(--font-scale-sm);line-height:1.5}.text-xs{font-family:var(--font-body);font-size:var(--font-scale-xs);line-height:1.4;font-weight:400}[data-market=jp] .text-vertical{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.05em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-scale-base);font-weight:500;line-height:1;border-radius:.5rem;transition:all .2s ease;cursor:pointer;min-height:var(--touch-target-medium);position:relative;overflow:hidden}[data-market=jp] .btn{padding:.625rem 1.25rem;font-size:.875rem;border-radius:.25rem}[data-market=west] .btn{padding:.875rem 1.75rem;font-size:1rem;border-radius:.625rem}.card{background:var(--color-neutral-100);border-radius:.75rem;padding:var(--card-padding);box-shadow:0 1px 3px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}[data-market=jp] .card{border:1px solid var(--color-neutral-300);box-shadow:0 1px 2px rgba(0,0,0,.05)}[data-market=west] .card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-neutral-100);position:sticky;top:0;z-index:1000}@media (max-width:767px){.nav-mobile{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--color-neutral-100);box-shadow:0 -2px 10px rgba(0,0,0,.1);padding-bottom:var(--safe-area-bottom)}.nav-mobile-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;font-size:.75rem;color:var(--color-neutral-600);min-height:var(--touch-target-medium)}}@supports (-webkit-touch-callout:none){input,select,textarea{font-size:16px!important}.scroll-container{-webkit-overflow-scrolling:touch}.ios-safe{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}}@supports not (-webkit-touch-callout:none){.android-nav-padding{padding-bottom:48px}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}}@media (hover:hover) and (pointer:fine){.hover\:scale:hover{transform:scale(1.02)}.hover\:shadow:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}}@media (hover:none) and (pointer:coarse){.touch-target{min-height:var(--touch-target-medium);min-width:var(--touch-target-medium)}.touchable:active{opacity:.8;transform:scale(.98)}}@media (min-resolution:192dpi){.retina-image{background-image:url(/images/logo@2x.png);background-size:contain}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--color-neutral-100:#1a1a1a;--color-neutral-900:#ffffff}}@media (orientation:portrait){.portrait\:block{display:block}.portrait\:hidden{display:none}.portrait\:stack{flex-direction:column}}@media (orientation:landscape){.landscape\:block{display:block}.landscape\:hidden{display:none}.landscape\:flex-row{flex-direction:row}}.show-4k,.show-desktop,.show-mobile,.show-smartwatch,.show-tablet{display:none}@media (max-width:319px){.show-smartwatch{display:block}.hide-smartwatch{display:none}}@media (min-width:320px) and (max-width:599px){.show-mobile{display:block}.hide-mobile{display:none}}@media (min-width:600px) and (max-width:1023px){.show-tablet{display:block}.hide-tablet{display:none}}@media (min-width:1024px) and (max-width:1919px){.show-desktop{display:block}.hide-desktop{display:none}}@media (min-width:1920px){.show-4k{display:block}.hide-4k{display:none}}.will-change-transform{will-change:transform}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden}.scroll-smooth{scroll-behavior:smooth}.scroll-snap-x{scroll-snap-type:x mandatory;overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-snap-item{scroll-snap-align:start}.lazy-load{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.font-japanese{font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Yu Gothic,YuGothic,sans-serif;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:640px){.font-japanese{letter-spacing:.02em}.font-japanese h1{font-size:1.5rem;line-height:1.5}.font-japanese h2{font-size:1.25rem;line-height:1.5}.font-japanese h3{font-size:1.125rem;line-height:1.6}.font-japanese li,.font-japanese p{font-size:.875rem;line-height:1.75}.font-japanese .text-xs{font-size:.75rem;line-height:1.5}.font-japanese .text-sm{font-size:.8125rem;line-height:1.6}}@media (min-width:641px) and (max-width:768px){.font-japanese{letter-spacing:.03em}.font-japanese h1{font-size:1.875rem;line-height:1.4}.font-japanese h2{font-size:1.5rem;line-height:1.5}.font-japanese h3{font-size:1.25rem;line-height:1.6}.font-japanese li,.font-japanese p{font-size:.9375rem;line-height:1.8}}@media (min-width:769px){.font-japanese{letter-spacing:.04em}.font-japanese h1{font-size:2.5rem;line-height:1.4}.font-japanese h2{font-size:1.875rem;line-height:1.5}.font-japanese h3{font-size:1.5rem;line-height:1.6}.font-japanese li,.font-japanese p{font-size:1rem;line-height:1.9}}.font-japanese{word-wrap:break-word;overflow-wrap:break-word}.font-japanese *{word-break:keep-all}.font-japanese .currency-jp{font-feature-settings:"tnum" 1}.font-japanese.text-dense{line-height:2;letter-spacing:.05em}.font-japanese .badge,.font-japanese [role=badge]{font-size:.75rem;padding:.125rem .5rem;letter-spacing:.03em}.font-japanese .card-content{padding:1.25rem}@media (max-width:640px){.font-japanese .card-content{padding:.875rem}}.font-japanese [role=button],.font-japanese button{letter-spacing:.05em;font-weight:500}.font-japanese input,.font-japanese select,.font-japanese textarea{font-size:.9375rem;line-height:1.5}.font-japanese td,.font-japanese th{padding:.625rem;font-size:.875rem}.font-japanese .tooltip,.font-japanese [role=tooltip]{font-size:.8125rem;letter-spacing:.02em}.font-japanese.formal{font-weight:400;letter-spacing:.06em;line-height:2}.font-japanese.vertical{writing-mode:vertical-rl;text-orientation:upright}@media print{.font-japanese{font-family:MS Mincho,ヒラギノ明朝 Pro,serif;letter-spacing:0}}@media (prefers-color-scheme:dark){.font-japanese{-webkit-font-smoothing:subpixel-antialiased}}@keyframes fadeInJp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.font-japanese.animate-in{animation:fadeInJp .5s ease-out forwards}.case-study-jp{font-size:clamp(.875rem,1.5vw,1rem);line-height:1.8}@media (max-width:640px){.case-study-jp .title{font-size:1.125rem;margin-bottom:.5rem;line-height:1.5}.case-study-jp .description{font-size:.875rem;line-height:1.75}.case-study-jp .badge{font-size:.75rem;padding:.25rem .5rem}.case-study-jp li{margin-bottom:.5rem;line-height:1.6}}.font-japanese ruby{ruby-align:distribute-space}.font-japanese rt{font-size:.5em;font-weight:400}@media (max-width:640px){[lang=ja] *{min-height:auto}[lang=ja] .text-xs,[lang=ja] [class*=text-xs]{font-size:.75rem!important;line-height:1.5!important}[lang=ja] .text-sm,[lang=ja] [class*=text-sm]{font-size:.875rem!important;line-height:1.6!important}[lang=ja] .grid>div{overflow:hidden;word-wrap:break-word}[lang=ja] [class*=p-3]{padding:.875rem!important}[lang=ja] [class*=p-4]{padding:1rem!important}[lang=ja] [class*=p-6]{padding:1.25rem!important}[lang=ja] li{word-break:auto-phrase;overflow-wrap:break-word;hyphens:none}[lang=ja] [role=button],[lang=ja] button{min-height:44px;line-height:normal}[lang=ja] .text-2xl,[lang=ja] .text-xl{word-break:keep-all}}@media (min-width:641px) and (max-width:1024px){[lang=ja] .text-xs{font-size:.8125rem!important}[lang=ja] .text-sm{font-size:.9375rem!important}[lang=ja] .text-base{font-size:1rem!important}}[lang=ja] .glass-enhanced{overflow:hidden}[lang=ja] .glass-enhanced *{max-width:100%}[lang=ja] h1,[lang=ja] h2,[lang=ja] h3,[lang=ja] h4{word-break:auto-phrase;line-height:1.5}@media (max-width:640px){[lang=ja] h3{font-size:1.125rem!important;line-height:1.5!important}}@media (max-width:480px){[lang=ja]{font-size:14px!important}[lang=ja] .grid{gap:1rem!important}[lang=ja] .space-y-4>*+*{margin-top:.75rem!important}[lang=ja] .space-y-6>*+*{margin-top:1rem!important}}[lang=ja] .badge,[lang=ja] [role=badge]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}[lang=ja] div,[lang=ja] p,[lang=ja] span{word-break:auto-phrase;line-break:strict}[lang=ja] .font-bold{word-break:keep-all}@media (max-width:768px){[lang=ja] .grid-cols-2{grid-template-columns:1fr!important}}@media (max-width:480px){[lang=ja] .flex-row,[lang=ja] .flex-wrap{flex-direction:column!important}}