:root{--ink:#282828;--paper:#fafafa;--aqua:#70d5ed;--mint:#bddfd1;--brand:#2b8cb0;--footer:#e6ebed;--serif:"Shippori Mincho",serif;--sans:"Noto Sans JP",sans-serif;--latin:"Cabin",sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:5px}
.container{width:75%;max-width:1440px;margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:20;left:12px;top:-100px;padding:8px 16px;background:var(--paper)}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper)}.site-header__inner{height:clamp(80px,5.21vw,100px);display:flex;align-items:center;justify-content:space-between}.site-logo img{width:clamp(42px,3.23vw,62px)}
.global-nav{display:flex;gap:clamp(24px,2.1vw,40px);font-family:var(--latin);font-size:clamp(14px,1.05vw,20px);font-weight:400}.global-nav a:hover{color:var(--brand)}.menu-toggle{display:none}
.hero{position:relative;aspect-ratio:1920/770;overflow:hidden;isolation:isolate}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__inner{position:relative;width:90%;max-width:none;height:100%}.hero__copy{position:absolute;top:20%;left:0}.hero h1{font-family:var(--serif);font-size:clamp(36px,3.85vw,74px);font-weight:400;line-height:1.35;letter-spacing:.025em}.hero__copy>p{font-size:clamp(12px,1vw,19px);line-height:1.6;margin-top:clamp(22px,1.9vw,36px)}
.hero__title.is-split .hero__title-char{display:inline-block;opacity:0;transform:translateY(.35em)}.hero__title.is-split.is-animated .hero__title-char{animation:hero-title-reveal 700ms cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--char-delay)}
@keyframes hero-title-reveal{to{opacity:1;transform:translateY(0)}}
.hero.is-sequenced .hero__copy>p,.hero.is-sequenced .hero__english{opacity:0;transform:translateY(18px);filter:blur(8px)}.hero.is-sequenced .hero__copy>p.is-visible,.hero.is-sequenced .hero__english.is-visible{animation:hero-follow-reveal 900ms cubic-bezier(.22,1,.36,1) forwards}.hero.is-sequenced .hero__english{--reveal-opacity:.86}
@keyframes hero-follow-reveal{to{opacity:var(--reveal-opacity,1);transform:translateY(0);filter:blur(0)}}
.hero__mobile-break{display:none}.hero__english{position:absolute;right:-1%;bottom:10%;color:#fff;font-family:var(--latin);font-size:clamp(32px,4.45vw,86px);font-weight:700;line-height:1;text-align:right;opacity:.86;letter-spacing:-.02em;mix-blend-mode:overlay}.hero__wave{position:absolute;bottom:-1px;left:0;width:100%;height:7.3%;fill:var(--paper)}
.products{padding-top:clamp(68px,6.7vw,128px);scroll-margin-top:calc(clamp(80px,5.21vw,100px) + 24px)}.section-title{display:flex;align-items:center;gap:40px;font-family:var(--latin);font-size:clamp(32px,2.85vw,55px);line-height:1.1;font-weight:600;margin-bottom:clamp(36px,2.7vw,52px)}.section-title span,.gradient-text{color:var(--aqua);background:linear-gradient(90deg,var(--aqua),var(--mint));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-title::after{content:"";height:1px;flex:1;background:#bddfe8}
.products__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.product-card__image{display:block;position:relative}.product-card__image img{width:100%;aspect-ratio:700/423;object-fit:cover}.product-card__new{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--latin);font-size:13px}.product-card__description{display:flex;align-items:baseline;gap:24px;margin-block:18px 16px}.product-card h3{flex-shrink:0;color:var(--brand);font-family:var(--sans);font-size:clamp(20px,1.45vw,28px);font-weight:100}.product-card h3[lang=en]{font-family:var(--latin);font-weight:400}.product-card__description p{font-size:clamp(12px,.83vw,16px);line-height:1.65}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #777;border-radius:100px;line-height:1.2;font-family:var(--latin);background:transparent}.button--small{min-width:168px;padding:6px 24px;font-size:14px}.button:hover{background:var(--footer)}
.philosophy{position:relative;display:grid;grid-template-columns:1fr;align-items:center;margin-top:clamp(100px,6.8vw,132px)}.philosophy__visual{grid-area:1/1;width:71.6%;justify-self:end;position:relative}.philosophy__visual img{width:100%}.philosophy__english{position:absolute;right:-16px;bottom:0;transform:translateY(50%);font-family:var(--latin);font-weight:600;font-size:clamp(36px,2.85vw,55px);line-height:1.1}.philosophy__copy{grid-area:1/1;position:relative;z-index:1;width:43%;padding-block:30px}.philosophy h2{font-family:var(--serif);font-size:clamp(25px,2.3vw,44px);font-weight:400;line-height:1.5;color:var(--brand);white-space:nowrap}.philosophy__copy>p{font-size:clamp(12px,.92vw,17.5px);line-height:1.7;margin-block:22px}.philosophy__copy>p br{display:block}
.page-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(70px,4.4vw,86px);margin-bottom:clamp(76px,4.1vw,80px)}.page-banner{position:relative;display:block;overflow:hidden}.page-banner img{width:100%;aspect-ratio:710/220;object-fit:cover}.page-banner--company{isolation:isolate}.page-banner--company img{filter:grayscale(1)}.page-banner--company::after{content:"";position:absolute;inset:0;background:#70d5ed;mix-blend-mode:color;pointer-events:none}.page-banner--company .page-banner__text{z-index:1}.page-banner__text{position:absolute;left:6%;top:50%;transform:translateY(-50%)}.page-banner__text span{font-family:var(--latin);font-size:16px}.page-banner__text p{font-family:var(--serif);font-size:clamp(20px,1.75vw,34px);margin-top:8px}.page-banner:hover{opacity:.85}
.site-footer{background:var(--footer);padding-block:64px 84px}.site-footer__top{display:flex;justify-content:space-between;gap:40px}.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.site-footer__brand>a img{width:90px}.instagram img{width:51px}.footer-nav{font-size:16px;font-weight:400}.footer-nav__brands{display:flex;flex-direction:column;gap:14px}.footer-nav__brands [lang=en],.footer-nav__pages [lang=en]{font-family:var(--latin);font-weight:400}.footer-nav__pages{display:flex;flex-wrap:wrap;gap:14px 28px;max-width:400px;margin-top:20px}.footer-nav a:hover{color:var(--brand)}.copyright{display:block;font-family:var(--serif);color:#547b8c;font-size:16px;margin-top:50px}
.scroll-reveal{opacity:0;filter:blur(6px);transform:translateY(36px);transition:opacity 1200ms cubic-bezier(.22,1,.36,1),filter 1200ms cubic-bezier(.22,1,.36,1),transform 1200ms cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,filter,transform}.scroll-reveal--left{transform:translateX(-44px)}.scroll-reveal--right{transform:translateX(44px)}.scroll-reveal--scale{transform:scale(1.04)}.scroll-reveal.is-visible{opacity:1;filter:blur(0);transform:translate(0,0)}
.product-card__image{overflow:hidden}.product-card__image img,.page-banner img{transition:transform 700ms cubic-bezier(.22,1,.36,1)}.product-card__image:hover img,.page-banner:hover img{transform:scale(1.035)}.button,.page-banner{transition:background-color 300ms ease,opacity 300ms ease,color 300ms ease}
@media(min-width:1921px){.hero{aspect-ratio:auto;height:770px}.hero__image{object-fit:cover;object-position:center}.hero__copy{top:20%}}
@media(max-width:1800px) and (min-width:769px){.hero{aspect-ratio:auto;height:calc(100vh - clamp(80px,5.21vw,100px));height:calc(100svh - clamp(80px,5.21vw,100px))}.hero__image{object-position:clamp(70%,calc(3.2% + 4.82vw),90%) center}}
@media(max-width:1100px) and (min-width:769px){.container{width:84%}.hero__copy{top:17%}.hero h1{font-size:3.85vw}.hero__english{font-size:4.25vw}.product-card__description{gap:12px;flex-wrap:wrap}.philosophy h2{font-size:2.45vw}.philosophy__copy>p{font-size:12px}.button--small{min-width:130px}.site-footer{padding-block:48px 64px}}
@media(max-width:768px){
  body{font-size:15px}.container{width:calc(100% - 40px)}.site-header__inner{height:76px}.site-logo img{width:38px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle>span:not(.visually-hidden){display:block;width:24px;height:1px;background:var(--ink);transition:transform 400ms ease}.menu-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.global-nav{display:flex;flex-direction:column;flex-wrap:nowrap;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity 400ms ease,transform 400ms ease,visibility 0s 400ms;position:absolute;top:76px;left:0;right:0;z-index:10;background:#62696d;color:#fff;padding:12px 28px;max-height:calc(100dvh - 76px);overflow-y:auto;font-size:28px;line-height:1.4;gap:0}.global-nav.is-open{visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s}.global-nav a{display:block;padding:23px 4px;color:#fff}.global-nav a+a{border-top:1px solid rgba(255,255,255,.4)}.global-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}.global-nav a:focus-visible{outline-color:#fff;outline-offset:-4px}
  .hero{aspect-ratio:auto;height:clamp(400px,110vw,520px);background:#eff8fb}.hero__image{height:100%;object-fit:cover;object-position:clamp(80%,calc(72.5% + .97vw),90%) center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 48%,#000 78%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 48%,#000 78%)}.hero__copy{top:8%;left:24px;right:auto;width:48%;max-width:300px}.hero h1{font-size:clamp(28px,7.7vw,46px);line-height:1.35;white-space:nowrap}.hero__mobile-break{display:inline}.hero__copy>p{font-size:15px;margin-top:22px;line-height:1.75}.hero__copy>p br{display:none}.hero__english{top:auto;bottom:8%;right:18px;font-size:clamp(25px,6.6vw,40px);line-height:1.02}.hero__wave{height:24px}
  .products{padding-top:60px}.section-title{gap:22px;font-size:34px;margin-bottom:28px}.products__grid{grid-template-columns:1fr;gap:44px}.product-card__description{gap:12px;align-items:flex-start;margin-block:14px}.product-card h3{font-size:23px}.product-card__description p{font-size:15px;line-height:1.9}.button--small{font-size:12px;min-width:140px;padding-block:7px}
  .philosophy{display:flex;flex-direction:column;margin-top:78px;align-items:stretch}.philosophy__visual{width:100%}.philosophy__english{font-size:32px;bottom:0;right:0}.philosophy__copy{width:100%;padding:42px 0 0}.philosophy h2{font-size:clamp(23px,5.8vw,34px);white-space:normal}.philosophy__copy>p{font-size:15px;line-height:1.95;margin-block:20px}.philosophy__copy>p br{display:none}
  .page-banners{grid-template-columns:1fr;gap:18px;margin-block:56px}.page-banner__text span{font-size:12px}.page-banner__text p{font-size:23px;margin-top:4px}.site-footer{padding-block:40px}.site-footer__top{flex-direction:column;gap:34px}.site-footer__brand{flex-direction:row;align-items:flex-end;justify-content:space-between}.site-footer__brand>a img{width:60px}.instagram img{width:34px}.footer-nav{font-size:14px}.footer-nav__brands{gap:12px}.footer-nav__pages{gap:14px 22px;max-width:none;margin-top:24px}.copyright{font-size:11px;margin-top:36px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.hero__title.is-split .hero__title-char,.hero.is-sequenced .hero__copy>p{opacity:1;transform:none;filter:none}.hero.is-sequenced .hero__english{opacity:.86;transform:none;filter:none}.scroll-reveal{opacity:1;filter:none;transform:none}}



/* WordPress標準メニューのリスト構造。 */
.global-nav__list,.footer-nav ul{list-style:none;padding:0;margin:0}
.global-nav__list{display:flex;align-items:center;gap:inherit}
.global-nav__list>li,.footer-nav li{margin:0;padding:0}
.footer-nav .footer-nav__pages{margin-top:20px}
@media(max-width:768px){
  .global-nav__list{width:100%;flex-direction:column;align-items:stretch;gap:0}
  .global-nav__list>li+li{border-top:1px solid rgba(255,255,255,.4)}
  .footer-nav .footer-nav__pages{margin-top:24px}
}

.product-card__placeholder{display:flex;aspect-ratio:700/423;align-items:center;justify-content:center;background:var(--footer);color:var(--brand);font-family:var(--serif);font-size:28px}
.product-page__content{line-height:1.9}.product-page__image{max-width:900px;width:100%;margin:0 auto 40px}.product-page__content p{margin-bottom:24px}.product-page__content .entry-content img{height:auto}

#product-title{scroll-margin-top:calc(clamp(80px,5.21vw,100px) + 24px)}
@media(max-width:768px){.products,#product-title{scroll-margin-top:100px}}

/* 2026-10-14：ロゴとFVコピーの左位置を統一。 */
@media(min-width:769px){.site-header__inner{width:90%;max-width:none}}
@media(max-width:768px){
  .hero__inner{width:calc(100% - 40px);max-width:none}
  .hero__copy{left:0}
  .hero__wave{display:block;bottom:0}
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--paper);pointer-events:none}
}

@media(min-width:769px) and (max-width:1100px){.site-header__inner{width:84%}}

/* スマホでは画像・表示演出の横方向のはみ出しを本文内で切る。 */
@media(max-width:768px){#main{overflow-x:hidden;overflow-x:clip}}

@media(max-width:768px){.hero__copy>p br.hero__keep-break{display:revert}}

/* 最初の描画とページ復元時に、完成状態が先に見えることを防ぐ。 */
@media(prefers-reduced-motion:no-preference){
  :root[data-kbg-motion="pending"] .page-heading__english,
  :root[data-kbg-motion="pending"] .page-heading h1,
  :root[data-kbg-motion="pending"] .page-heading__lead{opacity:0;transform:translateY(36px);filter:blur(6px)}
  :root[data-kbg-motion="pending"] .scroll-reveal{transition:none!important}
  :root[data-kbg-motion="pending"] .hero__title,
  :root[data-kbg-motion="pending"] .hero__copy>p,
  :root[data-kbg-motion="pending"] .hero__english{opacity:0}
  :root[data-kbg-motion="pending"] .hero__title-char,
  :root[data-kbg-motion="pending"] .hero__copy>p,
  :root[data-kbg-motion="pending"] .hero__english{animation:none!important}
}
:root[data-kbg-motion="off"] .scroll-reveal,
:root[data-kbg-motion="off"] .hero__title-char,
:root[data-kbg-motion="off"] .hero__copy>p{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
:root[data-kbg-motion="off"] .hero__english{opacity:.86!important;transform:none!important;filter:none!important;animation:none!important}

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
