@charset "utf-8";
/* =========================================================
   Design Tokens
   ========================================================= */
:root{
  --c-bg:        #ffffff;
  --c-bg-cream: #f4f6f6;
  --c-bg-soft:  #f8fafa;
  --c-ink:      #1a2626;
  --c-ink-2:    #2a3838;
  --c-sub:      #617070;
  --c-line:     #e2e8e8;
  --c-line-dk:  #2a3838;
  --c-accent:   #13a6a0;   /* corporate teal (brand) */
  --c-accent-2: #39beb8;
  --c-accent-3: #0a8a85;
  --c-dark:     #0a0a0a;
  --c-darkgray: #444444;

  --f-display: "Shippori Mincho B1", "Yu Mincho", "YuMincho", serif;
  --f-sans:    "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  --f-mono:    "Space Grotesk", "Inter", system-ui, sans-serif;

  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 16px;

  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-5: 48px;
  --sp-6: 64px;
  --sp-7: 96px;
  --sp-8: 128px;

  --max: 1240px;
  --header-h: 72px;

  --ease: cubic-bezier(.2,.7,.1,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}
body{
  font-family:var(--f-sans);
  color:var(--c-ink);
  background:var(--c-bg);
  line-height:1.75;
  font-weight:400;
  letter-spacing:.02em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul,ol{list-style:none}
input,select,textarea{font:inherit;color:inherit}

.ph{
  background:
    linear-gradient(135deg, rgba(10,10,10,.04), rgba(10,10,10,.08)),
    repeating-linear-gradient(45deg, rgba(10,10,10,.04) 0 10px, transparent 10px 20px);
  color:#8a8a8a;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;
  text-align:center;
  border:1px dashed rgba(10,10,10,.12);
  border-radius:var(--r-md);
  position:relative;overflow:hidden;
  aspect-ratio:4/3;
}
.ph--dark{
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.08)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 10px, transparent 10px 20px);
  color:#7a7a7a;
  border-color:rgba(255,255,255,.15);
}
.ph::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 30% 30%, rgba(19,166,160,.05), transparent 60%);
}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--sp-3)}
@media(min-width:768px){ .wrap{padding:0 var(--sp-5)} }

.section{padding:var(--sp-7) 0;position:relative}
@media(min-width:900px){ .section{padding:var(--sp-8) 0} }

.section--dark{background:var(--c-dark);color:#f5f1e8}
.section--cream{background:var(--c-bg-cream)}
.section--soft{background:var(--c-bg-soft)}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--c-accent);
  margin-bottom:var(--sp-3);font-weight:600;
}
.eyebrow::before{ content:"";width:32px;height:1px;background:currentColor; }
.section--dark .eyebrow{color:var(--c-accent-2)}

.section-title{
  font-family:var(--f-display);
  font-weight:700;
  font-size:clamp(28px, 5vw, 48px);
  line-height:1.35;
  letter-spacing:.02em;
  margin-bottom:var(--sp-3);
}
.section-lead{
  /*max-width:720px;*/
  font-size:clamp(15px, 1.6vw, 17px);
  line-height:2;
  color:var(--c-sub);
  margin-bottom:var(--sp-6);
}
.section--dark .section-lead{color:#b8b3a7}

.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.header.is-scrolled{border-bottom-color:var(--c-line)}
.header__inner{
  max-width:var(--max);margin:0 auto;
  width:100%;padding:0 var(--sp-2);
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
}
@media(min-width:1100px){ .header__inner{padding:0 var(--sp-5)} }

.logo{
  display:flex;align-items:center;gap:12px;
}
.logo__img{
  height:28px;width:auto;display:block;
}
.logo__sub{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;
  color:var(--c-sub);font-weight:500;
  padding-left:12px;border-left:1px solid var(--c-line);
}
.footer__brand .logo__img{ filter:brightness(0) invert(1); }

.nav{display:none}
@media(min-width:1100px){
  .nav{display:flex;align-items:center;gap:var(--sp-4)}
  .nav a{
    font-family:var(--f-mono);font-size:12px;letter-spacing:.15em;font-weight:500;
    color:var(--c-ink-2);transition:color .2s var(--ease);
    position:relative;padding:4px 0;
  }
  .nav a:hover{color:var(--c-accent)}
  .nav a::after{
    content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
    background:var(--c-accent);transform:scaleX(0);transform-origin:right;
    transition:transform .3s var(--ease);
  }
  .nav a:hover::after{transform:scaleX(1);transform-origin:left}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:46px;padding:0 22px;
  font-family:var(--f-sans);font-weight:700;font-size:14px;letter-spacing:.08em;
  border-radius:999px;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease);
  white-space:nowrap;
}
.btn--primary{ background:var(--c-accent);color:#fff; box-shadow:0 8px 20px -8px rgba(19,166,160,.6); }
header .btn--primary{ box-shadow:none; }
.btn--primary--02--bg--white:hover,
.btn--primary--02:hover,
.btn--primary:hover{
  color: white;
  background:#e9471b;
  transform:translateY(-2px);
  box-shadow:0 14px 28px -10px rgba(19,166,160,.6);
  border: none;
}
.btn--primary--02 {
  background: transparent;
  border:1px solid var(--c-accent);
  color: var(--c-accent);
  box-shadow:0 8px 20px -8px rgba(19,166,160,.6);
}
.btn--primary--02--bg--white {
  background: white;
  border:1px solid var(--c-accent);
  color: var(--c-accent);
  box-shadow:0 8px 20px -8px rgba(19,166,160,.6);
}
.btn--ghost{ background:transparent;color:var(--c-ink);border:1px solid var(--c-line-dk); }
.btn--ghost:hover{background:var(--c-ink);color:#fff}
.btn--dark{background:var(--c-ink);color:#fff}
.btn--dark:hover{background:var(--c-accent);color:#fff}
.btn--lg{height:56px;padding:0 32px;font-size:15px}
.btn__arrow{ display:inline-block;transition:transform .3s var(--ease); }
.btn:hover .btn__arrow{transform:translateX(4px)}

.menu-btn{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--c-line);
}
@media(min-width:1100px){ .menu-btn{display:none} }
.menu-btn span{
  display:block;width:18px;height:1.5px;background:var(--c-ink);position:relative;
  transition:transform .3s var(--ease);
}
.menu-btn span::before,.menu-btn span::after{
  content:"";position:absolute;left:0;right:0;height:1.5px;background:var(--c-ink);
  transition:transform .3s var(--ease), top .3s var(--ease);
}
.menu-btn span::before{top:-6px}
.menu-btn span::after{top:6px}
.menu-btn.is-open span{background:transparent}
.menu-btn.is-open span::before{top:0;transform:rotate(45deg)}
.menu-btn.is-open span::after{top:0;transform:rotate(-45deg)}

.drawer{
  position:fixed;top:var(--header-h);left:0;right:0;bottom:0;
  background:#fff;
  padding:var(--sp-5) var(--sp-3);
  transform:translateY(-8px);opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
  z-index:99;overflow-y:auto;
}
.drawer.is-open{opacity:1;transform:none;pointer-events:auto}
.drawer__nav{display:flex;flex-direction:column;gap:var(--sp-3)}
.drawer__nav a{
  font-family:var(--f-display);font-size:22px;font-weight:700;
  padding:12px 0;border-bottom:1px solid var(--c-line);
}
.drawer__cta{margin-top:var(--sp-4)}

.hero{
  position:relative;
  padding-top:var(--header-h);
  /*background:var(--c-dark);color:#fff;*/
  overflow:hidden;
  display:flex;align-items:center;
}
.hero__bg{
  position:absolute;inset:0;
  background:
/*    radial-gradient(1200px 600px at 80% 20%, rgba(19,166,160,.22), transparent 60%),
    radial-gradient(900px 600px at 10% 90%, rgba(19,166,160,.10), transparent 60%),
    linear-gradient(180deg, #ffffff, #e7e7e7 55%, #13a6a0);*/
}
.hero__photo{
  position:absolute;inset:0;
/*  background:
    linear-gradient(180deg, rgba(10,22,22,.78), rgba(10,22,22,.55) 55%, rgba(10,22,22,.85)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 10px, transparent 10px 20px),
    linear-gradient(135deg,#0f2525,#1a3535);*/
  z-index:0;
}
/*.hero__photo::after{
  content:"[ HERO BG — 後日オフィス／収録スタジオ等の実写に差し替え ]";
  position:absolute;right:16px;bottom:16px;
  font-family:var(--f-mono);font-size:9px;letter-spacing:.15em;
  color:rgba(255,255,255,.22);
}*/
.hero__wave{
  position:absolute;left:0;right:0;bottom:0;height:45%;pointer-events:none;
  opacity:.7;
}
.hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--max);margin:0 auto;
  padding:var(--sp-5) var(--sp-3) var(--sp-7);
}
@media(min-width:1440px){
  .hero__wave {
    width: 100%;
  }
}
@media(min-width:768px){
  .hero {
      min-height:100vh;
      min-height:100svh;
  }
  .hero__inner{padding:var(--sp-7) var(--sp-5)}; 
}

.hero__txt {
  position: relative;
  z-index: 1;
}
.hero__img__pc {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 0;
}
.hero__img__sp {
  display: none;
}
.hero__img__sp img {
}
.hero__img__pc img {
  max-width: 200px;
}
.hero__img__pc img:first-child {
  margin-bottom: 30px;
  margin-left: 50px;
}
.hero__img__pc img:last-child {
  margin-right: 50px;
}
@media (min-width: 1024px) {
  .hero__img__pc { display: block; }
  .hero__img__pc img {
    max-width: 450px;
  }
}
@media (max-width: 1023px) {
  .hero__img__sp {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .hero__img__sp {
    gap: 15px;
  }
}

.hero__tag{
  display:inline-flex;align-items:center;gap:12px;
  padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,.06);
  /*border:1px solid rgba(255,255,255,.12);*/
  border: 1px solid rgb(215 191 191 / 12%);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;font-weight:500;
  color:#d6d1c1;margin-bottom:var(--sp-4);
}
.hero__tag .dot{
  width:6px;height:6px;border-radius:50%;background:var(--c-accent);
  box-shadow:0 0 0 6px rgba(19,166,160,.2);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 6px rgba(19,166,160,.2)}
  50%{box-shadow:0 0 0 10px rgba(19,166,160,0)}
}

.hero__title{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(20px, 8vw, 60px);
  line-height:1.1;letter-spacing:.02em;
  margin-bottom:var(--sp-4);
}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line > span{
  display:inline-block;
  animation:riseIn 1s var(--ease) both;
}
.hero__title .line:nth-child(2) > span{animation-delay:.15s}
.hero__title em{
  font-style:normal;color:var(--c-accent);
  position:relative;display:inline-block;
}
.hero__title em::after{
  content:"";position:absolute;left:0;right:0;bottom:.08em;height:.12em;
  background:var(--c-accent);opacity:.3;
  transform:scaleX(0);transform-origin:left;
  animation:grow 1.2s .8s var(--ease) forwards;
}
@keyframes riseIn{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes grow{to{transform:scaleX(1)}}

.hero__sub{
  max-width:560px;
  font-size:clamp(15px, 1.7vw, 18px);
  line-height:2;
  margin-bottom:var(--sp-5);
  color: var(--c-sub);
}

.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
@media (max-width: 1023px) {
  .hero__sub {
    margin-bottom: var(--sp-3);
  }
  .hero__cta{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
  }
}
@media (max-width: 580px) {
  .hero__cta {
    grid-template-columns: 1fr;
  }
}
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.hero .btn--ghost:hover{background:#fff;color:var(--c-ink)}

.hero__meta{
  display:flex;flex-wrap:wrap;gap:var(--sp-4);
  margin-top:var(--sp-6);padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.1);
}
.hero__meta-item{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:#a19d92;
}
.hero__meta-item b{
  display:block;color:#fff;font-family:var(--f-display);font-size:20px;
  letter-spacing:.02em;font-weight:700;margin-top:4px;
}
.hero__meta-item b span{color:var(--c-accent);font-family:var(--f-mono)}

.hero__scroll{
  position:absolute;left:50%;bottom:24px;transform:translateX(-50%);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:#a19d92;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.hero__scroll::after{
  content:"";width:1px;height:32px;background:linear-gradient(180deg,#a19d92,transparent);
  animation:scrollLine 1.8s var(--ease) infinite;
}
@keyframes scrollLine{
  0%{transform:scaleY(0);transform-origin:top}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/*.marquee{
  position:relative;
  padding:var(--sp-3) 0;
  background:var(--c-dark);color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.marquee__track{
  display:flex;gap:var(--sp-5);
  animation:marquee 40s linear infinite;
  width:max-content;
}
.marquee__item{
  font-family:var(--f-display);font-size:clamp(20px,3vw,32px);font-weight:700;
  color:#d6d1c1;letter-spacing:.02em;white-space:nowrap;
  display:flex;align-items:center;gap:var(--sp-5);
}
.marquee__item::after{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--c-accent);
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}*/

/* 企業ロゴスクロール */
.marquee {
  overflow: hidden;
}
.marquee ul {
  display: flex;
  margin: 0;
  padding: 0;
  width: max-content;
}
.marquee ul.marquee-left {
  animation: marquee-left 30s linear infinite;
}
.marquee ul.marquee-right {
  animation: marquee-right 30s linear infinite;
}
.marquee ul li {
  list-style: none;
  padding: 0 1rem;
  width: calc(100vw / 8 - 2rem);
}
.marquee img {
  display: block;
  width: 100%;
}
@keyframes marquee-left {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}
@keyframes marquee-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}

@media only screen and (max-width: 1200px){
  .marquee ul li {
    width: calc(100vw / 6 - 2rem);
  }
}
@media only screen and (max-width: 580px){
  .marquee ul li {
    padding: 0 0.5rem;
    width: calc(100vw / 3 - 1rem);
  }
}


.market{ background:var(--c-bg); }
.market__grid{
  display:grid;gap:var(--sp-5);
  grid-template-columns:1fr;
  align-items:start;
}
@media(min-width:900px){
  .market__grid{grid-template-columns:1.1fr 1fr;gap:var(--sp-7)}
}
.market__copy .lead-q{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(24px, 3vw, 32px);line-height:1.6;
  margin-bottom:var(--sp-3);
}
.market__copy p{font-size:15px;line-height:2;color:var(--c-sub);margin-bottom:var(--sp-3)}
.market__copy p b{color:var(--c-ink);font-weight:700}
.market__copy mark{
  background:linear-gradient(transparent 60%, rgba(19,166,160,.25) 60%);
  color:var(--c-ink);padding:0 .1em;
}

.compare{
  background:var(--c-bg-cream);
  border-radius:var(--r-lg);
  padding:var(--sp-4);
  border:1px solid var(--c-line);
}
@media(min-width:768px){ .compare{padding:var(--sp-5)} }
.compare__title{
  font-family:var(--f-mono);font-size:16px;letter-spacing:.2em;
  color:var(--c-sub);margin-bottom:var(--sp-3);
}
.compare__row{
  display:grid;
  grid-template-columns:68px 1fr auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  align-items:center;
  text-align: center;
  gap:var(--sp-2);
  padding:var(--sp-2) 0;
  border-bottom:1px dashed rgba(10,10,10,.12);
}
.compare__row:last-child{border-bottom:none;}

.compare__country{
  font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;font-weight:600;color:var(--c-ink);
}
.compare__bar__box {
  position: relative;
}
.compare__bar__box h3 {
  font-size: 14px;
}
.compare__value {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  margin: auto;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
  z-index: 1;
}
.compare__bar__box:nth-child(1) .compare__value {
  top: 70px;
}
.compare__bar__box:nth-child(2) .compare__value {
  top: 50px;
}
.compare__bar__box:nth-child(3) .compare__value {
  top: 20px;
}
.compare__bar__box:nth-child(4) .compare__value {
  top: 0px;
}
.compare__bar__box:nth-child(5) .compare__value {
  top: -40px;
}
@media(max-width:480px){
  .compare__value { font-size: 11px; }
}
.compare__bar{
  height:10px;
  height: 200px;
  width: 20px;
  margin: 0 auto;
  /*background:rgba(10,10,10,.06);*/
  /*border-radius:999px;*/
  overflow:hidden;
}
.compare__bar > span{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2));
  /*border-radius:999px;*/
  transform-origin:bottom;
  transform:scaleY(0);
  transition:transform 1.6s var(--ease);
}
.compare__bar > span.last {
  background:linear-gradient(90deg,#fa805f,#e9471b);
}
.compare.is-visible .compare__bar > span{
  transform:scaleY(var(--y,.5));
}
.compare__val{
  font-family:var(--f-mono);font-weight:700;font-size:14px;color:var(--c-ink);
  min-width:60px;text-align:right;
}
.compare__note{
  font-size:12px;color:var(--c-sub);margin-top:var(--sp-3);line-height:1.8;
}

.market__msg{
  margin-top:var(--sp-6);padding:var(--sp-5);
  border-top:1px solid var(--c-line);
}
.market__msg-q{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(28px, 4vw, 40px);line-height:1.5;
  letter-spacing:.02em;
}
.market__msg-q em{font-style:normal;color:var(--c-accent)}

.biz {background:var(--c-darkgray);color:white;}

.biz__grid{
  display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;margin-top:var(--sp-5);
}
@media(min-width:768px){ .biz__grid{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1100px){ .biz__grid{grid-template-columns:repeat(4,1fr)} }

.biz__card{
  position:relative;
  padding:var(--sp-4);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
  transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease);
  overflow:hidden;
}
.biz__card:hover{
  transform:translateY(-4px);
  border-color:rgba(19,166,160,.4);
  background:rgba(19,166,160,.04);
}
.biz__card-num{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;
  color:var(--c-accent);margin-bottom:var(--sp-3);font-weight:600;
}
.biz__card h3{
  font-family:var(--f-display);font-size:19px;font-weight:700;
  margin-bottom:var(--sp-2);letter-spacing:.02em;line-height:1.5;
}
.biz__card h3 span {
  font-size: 15px;
}
.biz__card p{font-size:13px;color:white;line-height:1.9}
.biz__card-ic{
  width:48px;height:48px;margin-bottom:var(--sp-3);
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(19,166,160,.12);color:var(--c-accent);
}

.partners{
  margin-top:var(--sp-5);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-3);
}
@media (min-width: 900px) {
    .partners{
      grid-template-columns: 150px 1fr;
      align-items: start;
      gap: var(--sp-6);
    }
}
.partners__label{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em; color: var(--c-accent);
  margin-bottom:var(--sp-3);text-transform:uppercase;
}
.partners__grid{
  display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;
}
@media(min-width:768px){ .partners__grid{grid-template-columns:1fr 1fr;} }
.partner{
  background: var(--c-bg-soft);
  border-radius:var(--r-lg);
  padding:var(--sp-4);
  display:flex;flex-direction: column;
  gap:var(--sp-3);align-items:flex-start;
}
/*.partner__badge{
  flex:0 0 auto;
  font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.15em;
  color:var(--c-accent);padding:4px 10px;border:1px solid var(--c-accent);
  border-radius:999px;margin-top:4px;
}*/
.partner h4{
  font-family:var(--f-display);font-size:18px;font-weight:700;
  margin-bottom:6px;letter-spacing:.02em;
}
.partner p{font-size:13px;line-height:1.9;color: var(--c-sub);}
.partner img {
  margin-top: auto;
}

.logo__list{
  display:grid;
  gap:var(--sp-6);
  margin-top:var(--sp-5);
  grid-template-columns:1fr;
  align-items: center;
  justify-content: center;
}
@media(min-width:600px){ .logo__list{grid-template-columns:1fr 1fr} }
@media(min-width:1024px){
.logo__list{
  grid-template-columns:repeat(4,1fr);} 
}
.logo__list img {
  width: 100%;
  max-width: 200px;
  margin-right: auto;
  margin-left: auto;
}
@media(min-width:600px){ .logo__list img{max-width: 100%; } }


.numbers{background:var(--c-bg-soft)}

.num-grid{
  display:grid;gap:0;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--c-line);
  border-left:1px solid var(--c-line);
}
@media(min-width:900px){ .num-grid{grid-template-columns:repeat(4,1fr)} }

.num-cell{
  padding:var(--sp-5) var(--sp-3);
  border-right:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  background:var(--c-bg);
  position:relative;
}
@media(min-width:768px){ .num-cell{padding:var(--sp-4)} }
.num-cell__label{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;
  color:var(--c-sub);margin-bottom:var(--sp-2);text-transform:uppercase;
}
.num-cell__val{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(32px, 5vw, 56px);line-height:1;letter-spacing:.01em;
  color:var(--c-ink);
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
}
.num-cell__val .unit{
  font-family:var(--f-mono);font-size:14px;font-weight:500;color:var(--c-sub);letter-spacing:.05em;
}
.num-cell__val .num{font-family:var(--f-mono);font-weight:700}
.num-cell__note{
  margin-top:var(--sp-2);font-size:12px;color:var(--c-sub);line-height:1.7;
}
.num-cell--accent{background:var(--c-dark);color:#fff}
.num-cell--accent .num-cell__val{color:#fff}
.num-cell--accent .num-cell__val .num{color:var(--c-accent)}
.num-cell--accent .num-cell__label,.num-cell--accent .num-cell__note{color:#a19d92}

.num-disclaimer{
  font-size:11px;color:var(--c-sub);margin-top:var(--sp-3);text-align:right;
}
.graph__row{
  display:grid;
  grid-template-columns: 1fr;
  align-items:center;
  text-align: center;
}
.graph__row:last-child{border-bottom:none;}
.graph__bar__box {
  position: relative;
}
.graph__bar__box h3 {
  font-size: 14px;
}
.graph__bar{
  height: 20px;
  width: 100%;
  margin: 0 auto;
  background: linear-gradient(90deg, #1a2626, #0a0a0a);
  overflow:hidden;
}
.graph__bar > span{
  display:block;
  height: 100%;
  width:100%;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2));
  transform-origin:left;
  transform:scaleX(0);
  transition:transform 1.6s var(--ease);
}
.num-grid.is-visible .graph__bar > span{
  transform:scaleX(var(--x,.5));
}
.graph__value {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  color: white;
  position: absolute;
  z-index: 1;
}
.graph__value.left {
  float: left;
  left: 5px;
}
.graph__value.right{
  float: right;
  right: 5px;
}


.mvv{background:var(--c-bg)}
.mvv__block{padding:var(--sp-5) 0;border-bottom:1px solid var(--c-line)}
.mvv__block:first-of-type{padding-top:0}
.mvv__block:last-of-type{border-bottom:none;padding-bottom:0}
.mvv__row{
  display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;
}
@media(min-width:900px){
  .mvv__row{grid-template-columns:150px 1fr;gap:var(--sp-6);align-items:start}
}
.mvv__tag{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.3em;font-weight:600;
  color:var(--c-accent);
}
.mvv__body h3{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(26px, 4vw, 42px);line-height:1.4;letter-spacing:.02em;
  margin-bottom:var(--sp-3);
}
.mvv__body p{color:var(--c-sub);font-size:15px;line-height:2;max-width:640px}

.values{
  display:grid;gap:var(--sp-2);margin-top:var(--sp-4);
  grid-template-columns:1fr;
}
@media(min-width:600px){ .values{grid-template-columns:1fr 1fr} }
@media(min-width:1024px){
.values{
  grid-template-columns:repeat(5,1fr);} 
}
.value{
  padding:var(--sp-3);
  background:var(--c-bg-soft);border:1px solid var(--c-line);
  border-radius:var(--r-md);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.value:hover{background:#fff;border-color:var(--c-accent);transform:translateY(-2px)}
.value__no{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;
  color:var(--c-accent);font-weight:700;margin-bottom:var(--sp-2);
}
.value h4{
  font-family:var(--f-display);font-size:18px;font-weight:700;
  margin-bottom:6px;letter-spacing:.02em;
}
.value p{font-size:12px;color:var(--c-sub);line-height:1.8}

.who{background:var(--c-bg-cream)}
.who__chart{
  margin-top:var(--sp-5);
  padding:var(--sp-5);
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);
  display:grid;gap:var(--sp-5);
  grid-template-columns:1fr;align-items:center;
}
@media(min-width:900px){
  .who__chart{grid-template-columns:1fr 1fr;padding:var(--sp-6)}
}
.who__axis{
  position:relative;aspect-ratio:1;max-width:420px;margin:0 auto;width:100%;
}
.who__axis svg{width:100%;height:100%}
.who__axis img { border-radius: var(--r-md); }
.who__axis-label{
  position:absolute;font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;
  color:var(--c-sub);font-weight:600;
}
.who__axis-label.top{top:0;left:50%;transform:translate(-50%, -4px)}
.who__axis-label.bottom{bottom:0;left:50%;transform:translate(-50%, 4px)}
.who__axis-label.left{left:0;top:50%;transform:translate(-4px, -50%) rotate(-90deg);transform-origin:center}
.who__axis-label.right{right:0;top:50%;transform:translate(4px, -50%) rotate(-90deg);transform-origin:center}

@media(min-width:900px){
  .who__axis { order: 2; }
}

.who__copy h3{
  font-family:var(--f-display);font-size:28px;font-weight:700;
  line-height:1.5;margin-bottom:var(--sp-3);letter-spacing:.02em;
}
.who__copy h3 em{font-style:normal;color:var(--c-accent)}
.who__copy p{color:var(--c-sub);font-size:14px;line-height:2}

.who__list{
  margin-top:var(--sp-5);
  display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;
  margin-top: 0;
}
@media(min-width:768px){ .who__list{grid-template-columns:1fr 1fr} }
.who__item{
  padding:var(--sp-3);
  background:#fff;border:1px solid var(--c-line);
  border-radius:var(--r-md);
  display:flex;gap:var(--sp-2);align-items:flex-start;
}
.who__item-ic{
  flex:0 0 36px;width:36px;height:36px;border-radius:50%;
  background:var(--c-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-weight:700;font-size:13px;
}
.who__item h4{font-family:var(--f-display);font-size:15px;font-weight:700;margin-bottom:4px}
.who__item p{font-size:12px;color:var(--c-sub);line-height:1.8}

.culture{background:var(--c-bg)}
.culture__gallery{
  display:grid;gap:var(--sp-2);
  grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(110px, auto);
  margin-top:var(--sp-5);
}
.culture__gallery .ph{aspect-ratio:auto;border-radius:var(--r-md)}
.culture__gallery .g1{
  background-image: url(../images/culture/culture01.jpg);
  background-position: center;
  background-size: cover;
  grid-column:span 4;
  grid-row:span 2
}
.culture__gallery .g2{
  background-image: url(../images/culture/culture03.jpg);
  background-position: bottom;
  background-size: cover;
  grid-column:span 2;
  grid-row:span 2
}
.culture__gallery .g3{
  background-image: url(../images/culture/culture05.jpg);
  background-position: bottom;
  background-size: cover;
  grid-column:span 2;
  grid-row:span 2
}
.culture__gallery .g4{
  background-image: url(../images/culture/culture02.jpg);
  background-position: center;
  background-size: cover;
  grid-column:span 4;
  grid-row:span 2
}
.culture__gallery .g5{
  background-image: url(../images/culture/culture00.jpg);
  background-position: bottom;
  background-size: cover;
  grid-column:span 3;
  grid-row:span 2
}
.culture__gallery .g6{
  background-image: url(../images/culture/culture06.jpg);
  background-position: bottom;
  background-size: cover;
  grid-column:span 3;
  grid-row:span 2
}
@media(max-width:767px){
  .culture__gallery{grid-template-columns:repeat(2,1fr)}
  .culture__gallery .g1,.culture__gallery .g2,.culture__gallery .g3,
  .culture__gallery .g4,.culture__gallery .g5,.culture__gallery .g6{
    background-position: center;
    grid-column:span 2;grid-row:span 1
  }
}

.culture__benefits{
  margin-top:var(--sp-6);
  display:grid;gap:var(--sp-3);grid-template-columns:1fr;
}
@media(min-width:768px){ .culture__benefits{grid-template-columns:repeat(3,1fr)} }
.benefit{
  padding:var(--sp-4);
  background:var(--c-bg-soft);border:1px solid var(--c-line);border-radius:var(--r-md);
}
.benefit__ic{
  width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--c-line);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:var(--sp-2);color:var(--c-accent);
}
.benefit h4{font-family:var(--f-display);font-size:16px;font-weight:700;margin-bottom:6px}
.benefit p{font-size:12px;color:var(--c-sub);line-height:1.8}

.jobs{background:var(--c-bg-cream)}
.jobs__list{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}
.job{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);
  overflow:hidden;
}
.job__head{
  padding:var(--sp-3);
  display:grid;gap:var(--sp-2);
  grid-template-columns:auto 1fr auto;align-items:center;
  cursor:pointer;
  transition:background .2s var(--ease);
  width:100%;text-align:left;
}
.job__head:hover{background:var(--c-bg-soft)}
@media(min-width:768px){ .job__head{padding:var(--sp-4)} }
.job__category{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;font-weight:700;
  color:var(--c-accent);padding:4px 10px;border:1px solid var(--c-accent);
  border-radius:999px;white-space:nowrap;
}
.job__title{
  font-family:var(--f-display);font-size:18px;font-weight:700;letter-spacing:.02em;
  line-height:1.5;
}
@media(min-width:768px){ .job__title{font-size:20px} }
.job__toggle{
  width:40px;height:40px;border-radius:50%;
  background:var(--c-bg-soft);border:1px solid var(--c-line);
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s var(--ease), background .2s var(--ease);
}
.job.is-open .job__toggle{transform:rotate(45deg);background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.job__body{
  max-height:0;overflow:hidden;
  transition:max-height .5s var(--ease);
}
.job.is-open .job__body{max-height:2000px}
.job__body-inner{
  padding:0 var(--sp-3) var(--sp-4);
  display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;
  border-top:1px solid var(--c-line);margin-top:4px;padding-top:var(--sp-4);
}
@media(min-width:768px){
  .job__body-inner{padding-left:var(--sp-4);padding-right:var(--sp-4);grid-template-columns:1fr 1fr}
}
.job__section h5{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;
  color:var(--c-accent);margin-bottom:var(--sp-2);font-weight:700;
}
.job__section p{font-size:13px;line-height:1.9;color:var(--c-sub)}
.job__section ul{margin-top:4px}
.job__section ul li{
  font-size:13px;color:var(--c-sub);line-height:1.9;padding-left:18px;position:relative;
}
.job__section ul li::before{
  content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--c-accent);
}
.job__cta{
  grid-column:1/-1;padding-top:var(--sp-3);border-top:1px dashed var(--c-line);
  display:flex;justify-content:flex-end;
}

.flow{background:var(--c-darkgray);color:white;}
.flow__intro{
  display:grid;gap:var(--sp-4);grid-template-columns:1fr;
  margin-bottom:var(--sp-6);
}
@media(min-width:900px){ .flow__intro{grid-template-columns:1fr 1fr;gap:var(--sp-6)} }
.flow__intro p{color:white;font-size:15px;line-height:2}
.flow__intro b{color:#fff}
.flow__commitments{
  margin-top:var(--sp-3);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);padding:var(--sp-3);
}
.flow__commitments h4{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;
  color:var(--c-accent);margin-bottom:var(--sp-2);font-weight:700;
}
.flow__commitments ul{display:flex;flex-direction:column;gap:8px}
.flow__commitments li{
  padding-left:20px;position:relative;font-size:13px;color:white;line-height:1.8;
}
.flow__commitments li::before{
  content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;
  border:2px solid var(--c-accent);border-right:0;border-top:0;
  transform:rotate(-45deg);
}

.flow__steps{
  display:grid;gap:var(--sp-3);grid-template-columns:1fr;
  counter-reset:step;
}
@media(min-width:768px){ .flow__steps{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1100px){ .flow__steps{grid-template-columns:repeat(5,1fr)} }
.step{
  display: flex;
  flex-direction: column;
  padding:var(--sp-4) var(--sp-3);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
  position:relative;
  counter-increment:step;
  transition:transform .4s var(--ease), border-color .4s var(--ease);
}
.step:hover{transform:translateY(-3px);border-color:rgba(19,166,160,.5)}
.step::before{
  content:"STEP " counter(step, decimal-leading-zero);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.25em;
  color:var(--c-accent);font-weight:700;
  display:block;margin-bottom:var(--sp-2);
}
.step h4{
  font-family:var(--f-display);font-size:18px;font-weight:700;
  margin-bottom:var(--sp-2);letter-spacing:.02em;line-height:1.5;
}
.step p{font-size:13px;color:white;line-height:1.9;margin-bottom:var(--sp-2)}
.step__time{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:white;
  padding-top:8px;margin-top: auto;
  border-top:1px dashed rgba(255,255,255,.1);
}

.voice{background:var(--c-bg)}
.voice__grid{
  margin-top:var(--sp-5);display:grid;gap:var(--sp-3);
  grid-template-columns:1fr;
}
@media(min-width:768px){ .voice__grid{grid-template-columns:1fr 1fr 1fr} }
.v-card{
  display: flex;
  flex-direction: column;
  background:var(--c-bg-soft);border:1px solid var(--c-line);
  border-radius:var(--r-lg);padding:var(--sp-3);
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.v-card:hover{transform:translateY(-4px);border-color:var(--c-accent)}
.v-card__photo{
  aspect-ratio:4/3;
  margin-bottom:var(--sp-3);
}
.v-card__photo img {
  object-fit: cover;
  height: 100%;
}
.v-card__role{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--c-accent);
  font-weight:700;margin-bottom:6px;
}
.v-card h4{font-family:var(--f-display);font-size:16px;font-weight:700;margin-bottom:var(--sp-2)}
.v-card blockquote{
  font-size:13px;color:var(--c-sub);line-height:2;
  padding-left:var(--sp-2);border-left:2px solid var(--c-accent);
  margin-bottom:var(--sp-2);
}
.v-card__meta{
  margin-top:auto;padding-top:var(--sp-2);
  border-top:1px dashed var(--c-line);
  display:flex;justify-content:space-between;flex-direction: column;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;color:var(--c-sub);
}

.faq{background:var(--c-bg-soft)}
.faq__list{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:8px}
.faq__item{
  background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);
  overflow:hidden;
}
.faq__q{
  padding:var(--sp-3);
  display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:var(--sp-2);
  cursor:pointer;
  text-align:left;width:100%;
}
.faq__q-mark{
  font-family:var(--f-mono);font-weight:700;color:var(--c-accent);font-size:16px;
}
.faq__q-text{font-family:var(--f-display);font-size:15px;font-weight:700;line-height:1.6}
.faq__toggle{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  transition:transform .3s var(--ease);
}
.faq__item.is-open .faq__toggle{transform:rotate(180deg)}
.faq__a{
  max-height:0;overflow:hidden;transition:max-height .4s var(--ease);
}
.faq__item.is-open .faq__a{max-height:400px}
.faq__a-inner{
  padding:0 var(--sp-3) var(--sp-3) calc(var(--sp-3) + 28px + var(--sp-2));
  font-size:13px;color:var(--c-sub);line-height:2;
}

.cta{
  background:var(--c-dark);color:#fff;
  text-align:center;padding:var(--sp-7) 0;
  position:relative;overflow:hidden;
}
.cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 300px at 50% 100%, rgba(19,166,160,.2), transparent 60%);
}
.cta__title{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(32px,5vw,56px);line-height:1.4;margin-bottom:var(--sp-3);
  position:relative;
}
.cta__sub{color:#b8b3a7;margin-bottom:var(--sp-4);position:relative;font-size:14px}
.cta .btn{position:relative}

.form{background:var(--c-bg)}
.form__wrap{max-width:720px;margin:0 auto}
.form form{display:flex;flex-direction:column;gap:26px;}
.form .row{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

@media(min-width:768px){
  .form .row{grid-template-columns:1fr 1fr;}
}

.form .field{display:flex;flex-direction:column;}
.form label{
  display:flex;align-items:center;gap:6px;
  font-size:14px;font-weight:500;margin-bottom:10px;color:#222831;
}
.form .req{width:6px;height:6px;border-radius:50%;background:var(--c-accent);display:inline-block;flex:none;}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=url],.form textarea, .form select{
  width:100%;
  padding:15px 16px;
  border:1px solid #e1e4e7;
  border-radius:10px;
  font-size:15px;
  font-family:inherit;
  color:#222831;
  background:#fff;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.form input::placeholder,.form textarea::placeholder{color:#b3b8bd;}
.form input:focus,.form textarea:focus,.form select:focus{
  border-color:#15a99d;
  box-shadow:0 0 0 3px rgba(21,169,157,.14);
}
.form textarea{resize:vertical;font-family:inherit;line-height:1.6;}
.form select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  color:#222831;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23666e76' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  padding-right:42px;
}
.form select:invalid{color:#b3b8bd;}
.form .checkbox-field{flex-direction:row;align-items:flex-start;gap:10px;}
.form .checkbox-field input[type=checkbox]{
  width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--c-accent);cursor:pointer;
}
.form .checkbox-field label{margin:0;font-size:14px;cursor:pointer;}
.form button.submit{
  width:100%;padding:20px;border:none;border-radius:999px;
  background:var(--c-accent);color:#fff;font-size:17px;font-weight:700;
  font-family:inherit;cursor:pointer;transition:background .15s;
}
.form button.submit:hover{background:#e9471b;}
.form button.submit:disabled{opacity:.6;cursor:default;}
.form .form__note{text-align:center;color:#8a9099;font-size:13px;margin:0;}


.footer{
  background:#0a0a0a;color:#a19d92;padding:var(--sp-6) 0 var(--sp-4);
  border-top:1px solid #1a1a1a;
}
.footer__top{
  display:grid;gap:var(--sp-4);grid-template-columns:1fr;
  padding-bottom:var(--sp-5);border-bottom:1px solid #1a1a1a;
}
@media(min-width:900px){ .footer__top{grid-template-columns:2fr 1fr 1fr 1fr} }
.footer__brand .logo{color:#fff}
.footer__brand .logo__sub{color:#8a8578;border-left-color:#2a2a2a}
.footer__brand p{font-size:12px;line-height:1.9;margin-top:var(--sp-2);max-width:340px}
.footer__col h5{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:#fff;margin-bottom:var(--sp-2);
  font-weight:600;
}
.footer__col ul{display:flex;flex-direction:column;gap:8px}
.footer__col a{font-size:13px;color:#a19d92;transition:color .2s var(--ease)}
.footer__col a:hover{color:var(--c-accent)}
.footer__bottom{
  padding-top:var(--sp-3);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:#6a6558;
}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal.is-visible.d1{transition-delay:.1s}
.reveal.is-visible.d2{transition-delay:.2s}
.reveal.is-visible.d3{transition-delay:.3s}

.floating-cta{
  position:fixed;right:16px;bottom:16px;z-index:50;
  opacity:0;transform:translateY(20px);pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.floating-cta.is-visible{opacity:1;transform:none;pointer-events:auto}
@media(min-width:900px){ .floating-cta{display:none} }
.floating-cta .btn{
  box-shadow:0 12px 28px -8px rgba(19,166,160,.55);
}

.text-accent{color:var(--c-accent)}
.hidden{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ── Slider wrapper ── */
.slider-section { width: 100%; overflow: hidden; }

.keen-slider {
  display: flex;
  gap: 16px;
  width: max-content;
  /* translateX = -(slideWidth + gap) * originalCount */
  animation: scroll-right 24s linear infinite;
}

/*.keen-slider:hover {
  animation-play-state: paused;
}
*/
/* Reverse direction variant */
.keen-slider.reverse {
  animation-name: scroll-right;
}

@keyframes scroll-left {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0%);
  }
}

@keyframes scroll-right {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-50%);
  }
}

/* ── Slide item ── */
.slide-item {
  width: 300px;
  height: 200px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.slide-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.slide-item:hover img {
  transform: scale(1.06);
}

/* Placeholder cards (when no image is provided) */
.slide-item .placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.4);
  font-weight: 400;
}

.slide-item:nth-child(6n+1) .placeholder { background: #1a1a2e; }
.slide-item:nth-child(6n+2) .placeholder { background: #16213e; }
.slide-item:nth-child(6n+3) .placeholder { background: #1f1f1f; }
.slide-item:nth-child(6n+4) .placeholder { background: #111827; }
.slide-item:nth-child(6n+5) .placeholder { background: #18181b; }
.slide-item:nth-child(6n+6) .placeholder { background: #141414; }

/* Fade edges */
.slider-section {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}
@media(max-width:767px){
  .slide-item {
    width: 200px;
    height: 150px;
  }
}

.other__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5rem;
}
.other__cta a {
  width: 100%;
  font-size: 20px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 999px;
  padding: 10px;
  margin-right: auto;
  margin-left: auto;
  transition: all .3s;
}
.other__cta a img {
  display: block;
  width: 140px;
  height: auto;
  margin: 0 auto;
}
.other__cta a:hover {
  background-color: #ccc;
}


/* ── Thanksページ ── */
.thanks h1{font-size:22px;margin:0 0 16px;font-weight:700;}
.thanks__card{max-width:500px;text-align:center;margin: 0 auto;}
.thanks__icon{
  width:72px;height:72px;border-radius:50%;
  background:var(--c-accent);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 28px;
}
.thanks__card p{font-size:15px;line-height:1.8;color:#8a9099;margin:0 0 32px;}
.thanks__card  a.back{
  display:inline-block;
  padding:14px 32px;
  border-radius:999px;
  background:var(--c-accent);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  transition:background .15s;
}
.thanks__card a.back:hover{background:#e9471b;}
@media (max-width:480px){
  .thanks__card .thanks__icon{width:60px;height:60px;}
}


/* ── テンプレート ── */
.text-white { color: white; }

.mt-20 { margin-top: 20px; }
.mb-30 { margin-bottom: 30px; }
.pt-0 { padding-top: 0; }
.pt-40 { padding-top: 40px; }
.pb-30 { padding-bottom: 30px; }

.pc { display: block; }
.sp { display: none; }

@media(max-width:767px){
  .pc { display: none; }
  .sp { display: block; }
}