:root {
  --o:#f26830;
  --k:#090909;
  --w:#f5f2eb;
  --g:#aaa
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--k);
  color:#fff;
  font-family:"Noto Sans JP","Yu Gothic",sans-serif;
  overflow-x:hidden
}
a {
  color:inherit;
  text-decoration:none
}
img {
  display:block;
  width:100%
}
.label {
  font:900 11px/1.4 Arial,sans-serif;
  letter-spacing:.2em
}
.orange {
  color:var(--o)
}
    .progress {
  position:fixed;
  left:0;
  top:0;
  width:5px;
  height:100svh;
  z-index:20;
  background:#ffffff10
}
.progress i {
  display:block;
  width:100%;
  height:var(--p,0%);
  background:var(--o);
  box-shadow:0 0 16px var(--o)
}
    .ticker {
  height:28px;
  background:var(--o);
  color:#111;
  overflow:hidden;
  white-space:nowrap;
  font:900 11px/28px Arial;
  letter-spacing:.15em
}
.ticker span {
  display:inline-block;
  width:max-content;
  animation:roll 22s linear infinite
}
@keyframes roll {
  to {
    transform:translateX(-50%)
  }
}
    .hero {
  height:calc(100svh - 28px);
  min-height:720px;
  position:relative;
  overflow:hidden;
  background:#111
}
.hero-bg {
  position:absolute;
  inset:0
}
.hero-bg img {
  height:100%;
  object-fit:cover;
  object-position:61% center;
  filter:saturate(.8) brightness(.58);
  animation:breathe 12s ease-in-out infinite
}
@keyframes breathe {
  50% {
    transform:scale(1.045)
  }
}
.hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#000e 0,#0009 43%,transparent 75%),linear-gradient(0deg,#000d 0,transparent 48%)
}
    header {
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  top:0;
  padding:28px 38px;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.logo {
  width:190px;
  filter:brightness(0) invert(1)
}
nav {
  display:flex;
  gap:28px;
  font:900 11px Arial;
  letter-spacing:.15em
}
nav a {
  position:relative
}
nav a:after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-7px;
  height:2px;
  background:var(--o);
  transition:right .3s
}
nav a:hover:after {
  right:0
}
    .hero-copy {
  position:absolute;
  z-index:3;
  left:5vw;
  top:47%;
  transform:translateY(-50%);
  max-width:850px
}
.hero-copy .label {
  display:flex;
  align-items:center;
  gap:14px
}
.hero-copy .label:before {
  content:"";
  width:52px;
  height:4px;
  background:var(--o)
}
h1 {
  font:900 clamp(76px,11vw,180px)/.76 Arial;
  margin:34px 0 28px;
  letter-spacing:-.08em
}
.hero-copy h2 {
  font-size:clamp(28px,3.2vw,52px);
  line-height:1.14;
  margin:0;
  letter-spacing:-.05em;
  max-width:12em
}
.hero-copy p {
  max-width:570px;
  margin:26px 0 0;
  font-size:15px;
  line-height:1.9;
  color:#ddd
}
    .hero-social {
  position:absolute;
  z-index:4;
  right:4vw;
  top:25%;
  display:flex;
  gap:10px
}
.social {
  width:66px;
  height:66px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--o);
  display:grid;
  place-items:center;
  transition:.3s
}
.social:hover {
  transform:translateY(-7px);
  background:#fff
}
.social svg {
  width:27px;
  height:27px;
  fill:#111
}
    .ig-strip {
  position:absolute;
  z-index:4;
  right:4vw;
  bottom:32px;
  width:min(520px,41vw)
}
.ig-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:11px
}
.ig-head b {
  font:900 11px Arial;
  letter-spacing:.18em
}
.ig-head span {
  font-size:10px;
  color:#bbb
}
.ig-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px
}
.ig-card {
  aspect-ratio:1.45;
  position:relative;
  overflow:hidden;
  border:1px solid #ffffff70;
  background:#222
}
.ig-card img {
  height:100%;
  object-fit:cover;
  transition:.5s
}
.ig-card:hover img {
  transform:scale(1.08)
}
.ig-card:after {
  content:"↗";
  position:absolute;
  right:7px;
  bottom:6px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  background:var(--o);
  color:#111;
  font-weight:900
}
    .profile {
  background:var(--w);
  color:#111;
  padding:105px 5vw 115px;
  position:relative;
  overflow:hidden
}
.profile:before {
  content:"PROFILE";
  position:absolute;
  right:-.05em;
  top:-.08em;
  color:#00000008;
  font:900 20vw/.8 Arial;
  letter-spacing:-.1em
}
.section-head {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6vw;
  align-items:end;
  margin-bottom:75px;
  position:relative;
  z-index:1
}
.section-head h2 {
  font-size:clamp(48px,6vw,90px);
  line-height:.92;
  letter-spacing:-.06em;
  margin:18px 0 0
}
.section-head p {
  font-size:15px;
  line-height:2;
  margin:0;
  max-width:34em
}
.timeline {
  position:relative;
  z-index:1;
  border-top:4px solid #111
}
.event {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:5vw;
  padding:30px 0;
  border-bottom:1px solid #777;
  transition:.3s
}
.event:hover {
  padding-left:18px;
  background:#00000005
}
.year {
  color:var(--o);
  font:900 34px/1 Arial
}
.event p {
  margin:0;
  font-size:17px;
  line-height:1.8;
  font-weight:700;
  max-width:760px
}
    .policy {
  padding:110px 5vw 0;
  position:relative;
  overflow:hidden
}
.policy:before {
  content:"NO SALES";
  position:absolute;
  right:-.05em;
  top:0;
  color:#ffffff07;
  font:900 18vw/.9 Arial;
  white-space:nowrap
}
.policy-intro {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:8vw;
  margin-bottom:90px;
  position:relative
}
.policy-intro h2 {
  font-size:clamp(48px,6vw,88px);
  line-height:.95;
  margin:20px 0 0;
  letter-spacing:-.06em
}
.policy-copy {
  font-size:17px;
  line-height:2
}
.policy-copy strong {
  display:block;
  color:var(--o);
  font-size:clamp(24px,2.4vw,38px);
  line-height:1.45;
  margin-bottom:24px
}
.structure {
  display:grid;
  grid-template-columns:1fr 90px 1fr;
  background:#111;
  border-top:14px solid var(--o)
}
.structure>div {
  padding:70px 5vw
}
.structure .arrow {
  padding:0;
  display:grid;
  place-items:center;
  background:var(--o);
  color:#111;
  font-size:36px
}
.structure .ours {
  background:var(--o);
  color:#111
}
.structure h3 {
  font-size:clamp(34px,4vw,58px);
  line-height:1;
  margin:14px 0 42px
}
.structure ul {
  list-style:none;
  padding:0;
  margin:0;
  border-top:2px solid currentColor
}
.structure li {
  padding:18px 0;
  border-bottom:1px solid currentColor;
  font-weight:800
}
.structure li span {
  display:inline-block;
  width:40px;
  font:900 11px Arial;
  color:var(--o)
}
.structure .ours li span {
  color:#111
}
    .operation {
  background:var(--o);
  color:#111;
  position:relative;
  overflow:hidden;
  padding:115px 5vw
}
.operation:before {
  content:"365";
  position:absolute;
  right:-.06em;
  bottom:-.26em;
  color:#0000000b;
  font:900 42vw/.8 Arial;
  letter-spacing:-.12em
}
.op-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8vw;
  position:relative;
  z-index:1
}
.operation h2 {
  font-size:clamp(56px,8vw,120px);
  line-height:.8;
  margin:20px 0 35px;
  letter-spacing:-.08em
}
.operation .lead {
  font-size:clamp(25px,3vw,42px);
  line-height:1.35;
  font-weight:900;
  margin:0
}
.op-copy {
  font-size:17px;
  line-height:2
}
.week {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border:3px solid #111;
  margin-top:45px
}
.week span {
  padding:18px 4px;
  text-align:center;
  border-right:1px solid #111;
  font:900 12px Arial
}
.week span:last-child {
  border:0
}
.week .hot {
  background:#111;
  color:#fff;
  animation:pulse 2.8s ease-in-out infinite
}
.week .hot:nth-child(7) {
  animation-delay:.4s
}
@keyframes pulse {
  50% {
    background:#fff;
    color:#111
  }
}
    footer {
  padding:38px 5vw;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #333;
  color:#888;
  font-size:11px
}
.footer-logo {
  width:145px;
  filter:brightness(0) invert(1)
}
    .reveal {
  opacity:0;
  transform:translateY(34px);
  transition:opacity .75s,transform .75s
}
.reveal.in {
  opacity:1;
  transform:none
}
    @media(max-width:760px) {
  .ticker {
    height:24px;
    line-height:24px
  }
  .hero {
    height:auto;
    min-height:880px
  }
  header {
    padding:20px
  }
  .logo {
    width:145px
  }
  nav {
    display:none
  }
  .hero-bg img {
    object-position:61% center
  }
  .hero:after {
    background:linear-gradient(0deg,#000f 0,#0008 68%,#0004)
  }
  .hero-copy {
    left:20px;
    right:20px;
    top:170px;
    transform:none
  }
  .hero-copy .label:before {
    width:34px
  }
  h1 {
    font-size:72px;
    margin:24px 0 22px
  }
  .hero-copy h2 {
    font-size:34px;
    max-width:9em
  }
  .hero-copy p {
    font-size:14px;
    line-height:1.75;
    max-width:25em
  }
  .hero-social {
    left:20px;
    right:auto;
    top:520px
  }
  .social {
    width:56px;
    height:56px
  }
  .ig-strip {
    left:20px;
    right:20px;
    bottom:28px;
    width:auto
  }
  .ig-head span {
    display:none
  }
  .ig-grid {
    gap:5px
  }
  .ig-card {
    aspect-ratio:1
  }
  .profile {
    padding:78px 20px
  }
  .section-head {
    display:block;
    margin-bottom:50px
  }
  .section-head h2 {
    font-size:52px
  }
  .section-head p {
    margin-top:28px;
    font-size:14px
  }
  .event {
    grid-template-columns:78px 1fr;
    gap:12px;
    padding:24px 0
  }
  .year {
    font-size:25px
  }
  .event p {
    font-size:14px
  }
  .policy {
    padding:82px 20px 0
  }
  .policy-intro {
    display:block;
    margin-bottom:60px
  }
  .policy-intro h2 {
    font-size:52px;
    margin-bottom:36px
  }
  .policy-copy {
    font-size:15px;
    line-height:1.85
  }
  .policy-copy strong {
    font-size:25px
  }
  .structure {
    display:block;
    border-top-width:9px
  }
  .structure>div {
    padding:58px 20px
  }
  .structure .arrow {
    height:56px;
    padding:0;
    transform:none
  }
  .structure h3 {
    font-size:42px;
    margin-bottom:32px
  }
  .structure li {
    font-size:14px
  }
  .operation {
    padding:82px 20px 90px
  }
  .op-grid {
    display:block
  }
  .operation h2 {
    font-size:82px
  }
  .operation .lead {
    font-size:30px;
    margin-bottom:42px
  }
  .op-copy {
    font-size:15px;
    line-height:1.85
  }
  .week span {
    font-size:10px;
    padding:14px 0
  }
  footer {
    display:block;
    line-height:2.2
  }
  .footer-logo {
    margin-bottom:18px
  }
  .progress {
    width:4px
  }
}
    @media(max-width:760px) {
  header {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding:18px 20px 0
  }
  header nav {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    width:100%;
    gap:0;
    border-top:1px solid #ffffff66;
    border-bottom:1px solid #ffffff66
  }
  header nav a {
    display:block;
    padding:9px 2px;
    border-right:1px solid #ffffff40;
    text-align:center;
    font-size:9px;
    line-height:1;
    letter-spacing:.06em;
    white-space:nowrap
  }
  header nav a:last-child {
    border-right:0
  }
  .hero-copy {
    top:190px
  }
}
    @media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important
  }
  .reveal {
    opacity:1;
    transform:none
  }
  .progress {
    display:none
  }
}
header {
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:100!important;
  padding:22px 38px!important;
  align-items:center!important;
  background:linear-gradient(180deg,rgba(9,9,9,.86),rgba(9,9,9,.34))!important;
  border-bottom:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px)
}
header .logo {
  width:190px!important;
  flex:0 0 auto
}
header nav {
  align-items:center
}
@media(max-width:760px) {
  header {
    padding:9px 14px 8px!important;
    gap:7px!important;
    background:rgba(9,9,9,.88)!important
  }
  header .logo {
    width:118px!important
  }
  header nav {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
    border-top:1px solid rgba(255,255,255,.28)!important;
    border-bottom:0!important
  }
  header nav a {
    display:block!important;
    padding:7px 1px!important;
    border:0!important;
    border-right:1px solid rgba(255,255,255,.2)!important;
    text-align:center!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important
  }
  header nav a:last-child {
    border-right:0!important
  }
}
@media(max-width:760px) {
  header {
    background:linear-gradient(180deg,rgba(9,9,9,.86),rgba(9,9,9,.34))!important
  }
}
.ig-head .instagram-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.ig-head .instagram-label svg {
  width: 18px;
  height: 18px;
  fill: var(--o);
  flex: none;
}
