:root{--paper:#f7f7f7;--ink:#222;--line:#dcdcdc;--accent:#05c8d1}body{background:#fff;color:#222}header{background:#fff;height:100px;border:0;padding:20px 5%}header nav{gap:24px}nav .button{background:#222;color:#fff;border-radius:0;padding:16px 22px}.hero{display:block;position:relative;height:calc(100svh - 100px);min-height:680px;max-height:900px;padding:0;color:white;isolation:isolate;max-width:none}.hero-slides{position:absolute;inset:0;z-index:-2;background:#222}.hero-slides img{width:100%;height:100%;object-fit:cover}.hero-slides img[hidden]{display:none}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000a,#0002);z-index:-1}.hero-copy{padding:60px 7% 115px}.hero .label{font:600 12px Arial,sans-serif;letter-spacing:.2em;color:white}.hero h1{font-family:Arial,sans-serif;font-size:clamp(68px,8vw,125px);font-weight:600;letter-spacing:-.045em;line-height:1.06;margin:25px 0 28px}.hero .hero-jp{font-size:clamp(21px,2vw,30px);font-weight:bold;margin-bottom:18px;letter-spacing:.05em}.hero-copy>p:not(.label):not(.hero-jp){font-size:16px;line-height:2.1}.hero-link{display:flex;align-items:center;justify-content:space-between;width:255px;border:1px solid #ffffff90;padding:13px 20px;margin-top:24px;font:600 13px Arial,sans-serif;letter-spacing:.1em}.hero-link:hover{background:#fff;color:#222}.hero-link span{font-size:25px}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;margin:0;padding:18px 0 0;border-top:1px solid #ffffff70;align-items:center;font-size:10px;gap:20px}.slide-controls{display:flex;gap:15px}.slide-controls button{background:none;color:white;border:0;border-bottom:2px solid transparent;font:14px Arial,sans-serif;padding:8px 7px;cursor:pointer}.slide-controls button[aria-pressed=true]{border-color:white}.section{padding:110px 8%}.label{color:#222}.section .label{font:600 clamp(40px,5.2vw,78px)/1.05 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 35px}.section .label span,.contact .label span{display:block;font:500 15px/1.8 "Yu Gothic",sans-serif;letter-spacing:.08em;color:var(--accent);margin-top:14px}.section h2{font-size:clamp(28px,2.7vw,42px);line-height:1.65}.about{grid-template-columns:1fr 1.8fr;gap:5%;background:#fff;border:0}.about>.label{padding-top:0;color:#222}.about h3{font-size:20px}.about p{max-width:none}.mission-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:50px}.mission-gallery img{width:100%;aspect-ratio:1.25;object-fit:cover}.business{background:#f7f7f7}.heading{align-items:start;gap:50px;margin-bottom:60px}.heading .label{margin-bottom:28px}.heading>p{padding-top:12px}.grid{gap:60px 35px}.grid article,.grid .large{grid-column:span 1;margin:0}.grid article>img,.grid .large>img,.grid article:not(.large)>img{width:100%;aspect-ratio:1.9;object-fit:cover;padding:0;background:#fff;margin-bottom:22px}.grid article:nth-child(n+4)>img{object-fit:contain;padding:45px;background:#fff}.grid h3,.grid .large h3{font-size:24px;line-height:1.6;margin-top:10px}.grid small{font-size:12px;color:var(--accent)}.grid p{font-size:16px;line-height:2.1}.creation{background:#222;padding:95px 8%;gap:7%}.creation h2{font-size:clamp(28px,3vw,43px)}.creation .label{color:#ddd;font-size:13px}.products{transform:none;gap:12px}.button{border-radius:0;min-height:56px}.creation .button{padding:18px 30px}.stores{gap:35px}.store-logo{background:#f7f7f7;height:190px}.stores article{display:flex}.stores h3{font-size:23px;margin-top:25px}.stores h4{font-size:18px}.stores p{line-height:2.1}.store-links a{background:#f7f7f7;border-radius:0;font-size:14px}.news{background:#f7f7f7;border:0}.news .heading h2{display:none}.news .heading{margin-bottom:30px}.news-list>a{border-color:#ccc;padding:29px 0}.company{background:#fff;border:0;grid-template-columns:1fr 1.35fr;gap:8%}.company h2{font-size:34px}.company dl>div{font-size:16px;line-height:2}.company dt{color:#555}.contact{background:#f7f7f7;color:#222;padding:100px 8%}.contact .label{font:600 clamp(52px,6vw,88px)/1.05 Arial,sans-serif;letter-spacing:-.04em;margin-bottom:35px}.contact h2{font-size:clamp(30px,3vw,42px)}.contact .button{background:#222;color:white;padding:20px 35px}.contact .button:hover{background:var(--accent)}footer{background:#222;color:white;padding:65px 8% 30px;gap:45px}footer small{color:#bbb}.footer-brand{font-size:26px}footer>div{font-size:14px}.note{text-align:right}@media(min-width:1500px){header,main,footer{max-width:none}.section,.creation,.contact{padding-left:max(8%,calc((100vw - 1320px)/2));padding-right:max(8%,calc((100vw - 1320px)/2))}}@media(max-width:1100px) and (min-width:701px){header nav{gap:12px;font-size:12px}header nav .button{padding:12px;font-size:12px}.stores{grid-template-columns:1fr}.stores article{display:grid;grid-template-columns:230px 1fr;gap:0 30px}.stores .store-logo{grid-row:span 4}.stores h3{margin-top:0}.about{grid-template-columns:1fr 1.6fr}.hero h1{font-size:90px}.hero{min-height:690px}}@media(max-width:700px){html{scroll-padding-top:76px}header{height:76px;padding:15px 6%}nav{top:76px;background:white}header nav{gap:18px}.hero{height:auto;min-height:760px;max-height:none}.hero-copy{padding:62px 7% 130px}.hero h1{font-size:clamp(60px,16vw,82px);line-height:1.1;margin:26px 0}.hero .hero-jp{font-size:21px}.hero-slides img{object-position:58% center}.hero:after{background:linear-gradient(90deg,#000a,#0003)}.hero-bottom{left:7%;right:7%;bottom:25px;gap:8px;font-size:9px;flex-wrap:wrap}.hero-bottom>span{max-width:none;flex-basis:100%;margin-bottom:8px}.slide-controls{gap:12px}.hero-bottom>a{margin-left:auto}.section{padding:70px 6%}.section .label{font-size:49px;margin-bottom:28px}.section .label span{font-size:14px}.about{display:block}.about h2{font-size:30px}.mission-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:35px}.heading{display:block;margin-bottom:35px}.heading>p{padding:0}.grid{grid-template-columns:1fr;gap:45px}.grid article,.grid .large,.grid article:not(.large){grid-column:auto}.grid h3,.grid .large h3{font-size:23px}.grid article>img,.grid .large>img,.grid article:not(.large)>img{aspect-ratio:1.8;padding:0}.grid article:nth-child(n+4)>img{padding:35px}.creation{padding:65px 6%;gap:35px}.creation h2{font-size:29px}.products{margin:0;max-width:none}.stores{grid-template-columns:1fr;gap:50px}.stores article{display:flex}.stores .store-logo{margin-bottom:0}.stores h3{margin-top:22px}.company{display:block}.company dl{margin-top:35px}.company dl>div{grid-template-columns:1fr;gap:5px}.contact{padding:70px 6%}.contact .label{font-size:58px}.contact h2{font-size:30px}.contact p{max-width:340px}.contact .button{font-size:14px}footer{padding:50px 6% 30px;gap:30px}.note{text-align:left}}

/* Service icons and store links */
.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{object-fit:contain;padding:44px;background:#fff;aspect-ratio:1.9}
.store-logo{background:#fff}
.store-links a{background:#222;color:#fff;border-color:#222}
.store-links a:hover,.store-links a:focus-visible{background:var(--accent);color:#fff;border-color:var(--accent)}
@media(max-width:700px){.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{padding:34px;aspect-ratio:1.8}}

/* Compact service layout */
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px}
.grid article,.grid .large,.grid article:not(.large){grid-column:auto}
.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{width:100%;height:165px;aspect-ratio:auto;padding:32px;object-fit:contain}
.grid h3,.grid .large h3{font-size:22px}
.contact .button{font-size:18px;letter-spacing:.16em;border-radius:7px;padding:20px 42px;min-width:240px}
@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.grid{grid-template-columns:minmax(0,1fr);gap:40px}.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{height:150px;padding:28px}.contact .button{font-size:18px}}

/* Accessible accent and consistent controls */
:root{--accent:#05c8d1;--accent-bright:#47cddb;--button-radius:7px}
.button,nav .button,.contact .button,.creation .button,.store-links a,.hero-link,.slide-controls button,header button{border-radius:var(--button-radius)}
.store-links a:hover,.store-links a:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.news-type{display:inline-flex;align-items:center;justify-content:center;min-height:30px;width:75px;padding:6px 10px;border-radius:5px;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.03em}
.news-type--news{background:#c9f2f5;color:#145c65}
.news-type--topics{background:#e8def7;color:#573c7c}
.news-list>a{grid-template-columns:110px 85px 1fr 25px}
.hero-link span{font-size:22px;font-family:Arial,sans-serif}
@media(max-width:700px){.news-list>a{grid-template-columns:100px 1fr 20px}}

/* Chevrons, social icons and smaller device typography */
.chevron{display:inline-block;font-family:Arial,sans-serif;font-size:1.3em;line-height:1;font-weight:600;vertical-align:-.05em;margin-left:.2em}
.hero-link .chevron{font-size:28px}.hero-link>span>.chevron{margin-left:0}
.news-type--news{background:#176e78;color:#fff}
.news-type--topics{background:#6b4c8f;color:#fff}
footer .footer-social{grid-column:1/-1;display:flex;justify-content:flex-start;gap:14px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #777;border-radius:7px;color:#fff}
.footer-social a:hover,.footer-social a:focus-visible{background:#05c8d1;border-color:#05c8d1;color:#222}
.footer-social svg{width:21px;height:21px}
@media(min-width:701px) and (max-width:1100px){body{font-size:15px}p,.heading>p,.stores p,.contact p,.grid p,.company dl>div{font-size:15px}.hero h1{font-size:76px}.hero .hero-jp{font-size:24px}.hero-copy>p:not(.label):not(.hero-jp){font-size:15px}.section .label{font-size:56px}.section h2,.company h2{font-size:30px}.creation h2{font-size:30px}.grid h3,.grid .large h3{font-size:20px}.stores h3{font-size:21px}.stores h4,.about h3{font-size:18px}.contact .label{font-size:64px}.contact h2{font-size:32px}.contact .button{font-size:17px}.news-list>a{font-size:15px}summary{font-size:15px}}
@media(max-width:700px){body{font-size:14px}p,.heading>p,.stores p,.contact p,.grid p,.company dl>div{font-size:14px}.hero h1{font-size:clamp(48px,13vw,60px)}.hero .hero-jp{font-size:19px}.hero-copy>p:not(.label):not(.hero-jp){font-size:14px}.hero .label{font-size:11px}.hero{min-height:660px}.hero-copy{padding-top:52px}.section .label{font-size:38px}.section .label span{font-size:12px}.section h2,.about h2,.company h2{font-size:26px}.grid h3,.grid .large h3{font-size:20px}.stores h3{font-size:21px}.stores h4,.about h3{font-size:17px}.creation h2{font-size:26px}.contact .label{font-size:46px}.contact h2{font-size:27px}.contact .label span{font-size:13px}.contact .button{font-size:16px}.button,.line-link,.grid a,.store-links a,.news .line-link{font-size:13px}.news-list>a{font-size:14px}.news-list time{font-size:12px}.news-type{font-size:11px;width:70px}.footer-brand{font-size:23px}footer>div{font-size:13px}summary{font-size:14px}nav{font-size:14px}.footer-social a{width:40px;height:40px}}

/* Header and category refinements */
.news-type--news{background:#237f89;color:#fff}
.news-type--topics{background:#8061a3;color:#fff}
@media(min-width:1101px){header>a>img{width:49px;height:49px}.wordmark{font-size:22px}.wordmark small{font-size:10px;margin-top:7px}header>a{gap:12px}}

/* Hero pagination dots */
.slide-controls{gap:4px}
.slide-controls button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;font-size:12px;color:#fff;opacity:.45;cursor:pointer}
.slide-controls button[aria-pressed=true]{border:0;opacity:1}
.slide-controls button:hover{opacity:.8}

.slide-controls .slide-toggle{opacity:1;font-size:13px;border:1px solid #ffffff80;border-radius:50%;margin-left:10px;width:30px;height:30px}
.hero-slides img:not([hidden]){animation:slide-appear .65s ease-out}
@keyframes slide-appear{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-slides img:not([hidden]){animation:none}}

/* Original horizontal logo and gentle hero zoom */
header>a.header-logo{display:block;flex-shrink:0}
header>a.header-logo>img{width:300px;height:auto;max-height:none;filter:brightness(0);object-fit:contain}
.footer-brand img{width:290px;height:auto}
.hero-slides{overflow:hidden}
.hero-slides img:not([hidden]){animation:hero-photo-zoom 5.5s linear both;transform-origin:center}
@keyframes hero-photo-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(min-width:701px) and (max-width:1100px){header>a.header-logo>img{width:225px}}
@media(max-width:700px){header>a.header-logo>img{width:215px}.footer-brand img{width:245px}}
@media(prefers-reduced-motion:reduce){.hero-slides img:not([hidden]){animation:none;transform:none}}

/* Compact header */
header>a.header-logo>img{width:260px}
header nav .button{padding:9px 22px;min-height:42px;line-height:1.6}
@media(min-width:701px) and (max-width:1100px){header>a.header-logo>img{width:205px}header nav .button{padding:8px 14px;min-height:38px}}
@media(max-width:700px){header>a.header-logo>img{width:195px}header nav .button{padding:9px 18px;min-height:40px}}

/* White labels across all button states */
.grid article{background:#fff;padding:0 22px 26px}
.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{width:calc(100% + 44px);max-width:none;margin-left:-22px;margin-right:-22px}
@media(max-width:700px){.grid article{padding:0 20px 24px}.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}}


/* Restore each button's original palette. */
.store-links a,.store-links a:visited{background:#222;border-color:#222;color:#fff}
.store-links a:hover,.store-links a:focus-visible,.store-links a:active{background:#05c8d1;border-color:#05c8d1;color:#fff}
body .creation a.button,body .creation a.button:visited{background:#f7f7f7;border-color:#f7f7f7;color:#222}
body a.button:hover,body a.button:focus-visible,body a.button:active{background:#05c8d1!important;border-color:#05c8d1!important;color:#fff!important}

/* News category palette */
.news-type--news{background:#05c8d1;color:#fff}
.news-type--topics{background:#a490de;color:#fff}

/* Swipeable hero and clearer store labels */
.hero{touch-action:pan-y pinch-zoom}
.hero-slides img{user-select:none;-webkit-user-drag:none}
.store-links a{font-weight:600}
/* Desktop keeps the news link beside the heading; mobile puts it below the list. */
#news{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading link" "list list";column-gap:35px}
#news>.heading{grid-area:heading}
#news>.news-list{grid-area:list}
#news>.news-all{grid-area:link;justify-self:end;align-self:start;margin-top:12px}
@media(max-width:700px){#news{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "list" "link"}#news>.news-all{justify-self:end;margin-top:24px;border-bottom:0;text-decoration:none;gap:18px}}

/* Heading and store-link refinements */
.store-links a{display:inline-flex;align-items:center;column-gap:12px}
.store-links a .chevron{margin-left:0;flex-shrink:0}
#about{row-gap:30px}
#about>.label{grid-column:1/-1;white-space:nowrap}
#about>div{grid-column:2}
.news-list>a{grid-template-columns:96px 85px minmax(0,1fr) 25px;column-gap:18px}
#business .label{white-space:nowrap}
@media(max-width:700px){#about>div{grid-column:auto}#about>.label,#business .label{font-size:clamp(28px,8vw,38px)}.news-list>a{grid-template-columns:88px minmax(0,1fr) 20px;column-gap:10px}}

/* Fixed-color mobile menu and centered store chevrons */
header>button,header>button:hover,header>button:active,header>button:focus-visible{color:#222;-webkit-text-fill-color:#222;appearance:none;-webkit-appearance:none}
header>button svg{display:block;color:#222}
header>button svg path{stroke:#222}
.store-links a .chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;height:16px;font-size:0;line-height:0;vertical-align:initial}
.store-links a .chevron::before{content:"";display:block;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;border-radius:1px;transform:rotate(45deg)}
#about h2{white-space:nowrap}
.news-list>a{grid-template-columns:84px 85px minmax(0,1fr) 25px;column-gap:14px}
@media(max-width:700px){#about h2{font-size:clamp(16px,5vw,22px)}.news-list>a{grid-template-columns:78px minmax(0,1fr) 20px;column-gap:8px}}

/* Larger borderless menu and matching goods-button chevron */
header>button{border:0;background:transparent;box-shadow:none;width:44px;height:44px;padding:7px}
header>button:hover,header>button:active{border:0;background:transparent;box-shadow:none}
header>button svg{width:30px;height:28px;flex-shrink:0}
@media(max-width:700px){header>button{display:inline-flex;align-items:center;justify-content:center}}
body .creation a.button{display:inline-flex;align-items:center;column-gap:12px}
.creation a.button .chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;height:16px;font-size:0;line-height:0;vertical-align:initial;margin-left:0;flex-shrink:0}
.creation a.button .chevron::before{content:"";display:block;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;border-radius:1px;transform:rotate(45deg)}

/* One shared link-chevron shape, independent of font baselines. */
body .chevron{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 12px;width:12px;height:16px;font-size:0!important;line-height:0;vertical-align:middle;margin-left:0}
body .chevron::before{content:none!important}
body .chevron svg{display:block;width:12px;height:16px;flex-shrink:0}
a.button,a.hero-link,.store-links a,.grid article>a,footer a:has(.chevron){display:inline-flex;align-items:center;column-gap:12px}
.line-link{align-items:center;column-gap:12px}
.hero-link>span{display:inline-flex;align-items:center;justify-content:center}
.news-list>a>span:last-child{display:flex;align-items:center;justify-content:flex-end;align-self:center}
.article-related>a{align-items:center}

/* Copyright centering, tighter card spacing and title-only news hover. */
footer>.footer-copyright{grid-column:1/-1;justify-self:center;text-align:center;width:100%}
footer>.note{grid-column:1/-1;justify-self:end}
.grid article>img,.grid .large>img,.grid article:not(.large)>img,.grid article:nth-child(n+4)>img{margin-bottom:12px}
.stores .store-logo{margin-bottom:0}
.stores h3,.subpage .stores h3{margin-top:14px}
.news-list>a,.news-list>a:hover,.news-list>a:active,.news-list>a:focus-visible{color:#222}
.news-list .news-title{transition:color .2s ease}
.news-list>a:hover .news-title,.news-list>a:focus-visible .news-title{color:#05c8d1}

/* Four product examples, arranged clockwise from the top left. */
.creation .products{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto}
.creation .products img,.creation .products img:first-child{grid-row:auto;height:auto;aspect-ratio:1;object-fit:cover}

/* Keep intrinsic image ratios while width/height attributes reserve layout space. */
img{height:auto}
