@charset "utf-8";

html,
body {
  width: 100% !important;
  height: 100% !important;
}

.l-wrap {
  position: fixed;
  top: 0;
  left: 0;
}

.l-header {
  position: relative;
}

.l-main {
  height: calc(100svh - 72px);
}

@media all and (max-width: 576px) {
  .l-main {
    height: calc(100svh - 52px);
  }
}

.p-main {
  opacity: 1;
  transition: opacity 0.3s ease-out;
}

.p-main.is-hide {
  opacity: 0;
  transition: opacity 0s ease-out;
}

.p-main__layer {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #fff;
  z-index: 9999;
  transition: opacity 1s ease-out 1s;
}

body.is-show .p-main__layer {
  opacity: 0;
  pointer-events: none;
}

/* product
------------------------------*/
.p-product {
  width: 100%;
  height: calc(100% - 130px);
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-canvas {
  width: 100% !important;
  height: 100% !important;
}

.p-gsap {
  overflow: auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.is-pc .p-gsap {
  pointer-events: auto;
}

.is-tb .p-gsap,
.is-sp .p-gsap {
  pointer-events: auto;
}

.p-product__btn {
  position: absolute;
  bottom: 50px;
  right: 150px;
  width: 200px;
  height: 70px;
  background-color: #f44336;
  border-radius: 9999px;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease-out;
}

@media all and (max-width: 576px) {
  .p-product__btn {
    top: 100px;
    bottom: auto;
    right: 0;
    width: 100px;
    height: 50px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    font-size: 14px;
    padding-left:12px;
  }
}

.p-product__btn:hover {
  color: #f44336;
  background-color: #fff;
}

.p-product__btn::after {
  content: '';
  width: 16px;
  aspect-ratio: 1;
  margin-left: 10px;
  background: url(../img/common/arrow_right_white.svg) no-repeat center center / contain;
  transition: all 0.3s ease-out;
}

@media all and (max-width: 576px) {
  .p-product__btn::after {
    width: 12px;
    margin-left: 6px;
  }
}

.p-product__btn:hover::after {
  background-image: url(../img/common/arrow_right_red.svg);
  transition: all 0.3s ease-out;
}

/* scale
------------------------------*/
.p-scale {
  width: 35px;
  height: 100%;
  max-height: calc(550px + (72px + 10px) + 10px);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate3d(0, -50%, 0);
  z-index: 1;
  padding: calc(72px + 10px) 0 10px;
}

@media all and (max-width: 576px) {
  .p-scale {
    width: 20px;
    right: -5px;
    max-height: 300px;
    transform: translate3d(0, calc(-50% + 75px), 0);
    padding: 0;
  }
}

.p-scale__inner {
  width: 100%;
  height: 100%;
  position: relative;
}

.p-scale__inner::before {
  content: '1922';
  font-family: 'Poppins', sans-serif;
  position: absolute;
  top: 2.25%;
  right: 140%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  z-index: -1;
}

@media all and (max-width: 576px) {
  .p-scale__inner::before {
    font-size: 12px;
    right: 200%;
  }
}

.p-scale__inner::after {
  content: '2022';
  font-family: 'Poppins', sans-serif;
  position: absolute;
  bottom: 3.75%;
  right: 140%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

@media all and (max-width: 576px) {
  .p-scale__inner::after {
    font-size: 12px;
    right: 200%;
  }
}

.p-scale ul {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.p-scale ul::after {
  content: '';
  width: 13px;
  height: 1px;
  background-color: #212121;
  position: absolute;
  bottom: 0;
  right: 0;
}

.p-scale ul li {
  border-top: solid 1px #212121;
  width: 13px;
  height: calc(10 / 550 * 100%);
}

.p-scale ul li[year='1922'],
.p-scale ul li[year='1932'],
.p-scale ul li[year='1942'],
.p-scale ul li[year='1952'],
.p-scale ul li[year='1962'],
.p-scale ul li[year='1972'],
.p-scale ul li[year='1982'],
.p-scale ul li[year='1992'],
.p-scale ul li[year='2002'],
.p-scale ul li[year='2012'],
.p-scale ul li[year='2022'] {
  width: 100%;
}

.p-scale__pin {
  width: 45px;
  height: 24%;
  background: url(../img/common/pin.svg) no-repeat right center / contain;
  position: absolute;
  right: 0;
  transform: translate3d(0, -50%, 0);
  z-index: -1;
  transition: all 0.3s ease-out;
}

@media all and (max-width: 576px) {
  .p-scale__pin {
    right: -5px;
  }
}

.p-scale__pin::before {
  color: #f44336;
  font-family: 'Poppins', sans-serif;
  position: absolute;
  top: 50%;
  right: 120%;
  transform: translate3d(0, -50%, 0);
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
}

@media all and (max-width: 576px) {
  .p-scale__pin::before {
    font-size: 14px;
    right: 70%;
  }
}

.p-scale__pin.is-1922 {
  top: calc(10 / 550 * 2 * 100%);
}

.p-scale__pin.is-1922::before {
  content: '';
}

.p-scale__pin.is-1933 {
  top: calc(10 / 550 * 7.5 * 100%);
}

.p-scale__pin.is-1933::before {
  content: '1933';
}

.p-scale__pin.is-1955 {
  top: calc(10 / 550 * 18.5 * 100%);
}

.p-scale__pin.is-1955::before {
  content: '1955';
}

.p-scale__pin.is-1956 {
  top: calc(10 / 550 * 19 * 100%);
}

.p-scale__pin.is-1956::before {
  content: '1956';
}

.p-scale__pin.is-1958 {
  top: calc(10 / 550 * 20 * 100%);
}

.p-scale__pin.is-1958::before {
  content: '1958';
}

.p-scale__pin.is-1960 {
  top: calc(10 / 550 * 21 * 100%);
}

.p-scale__pin.is-1960::before {
  content: '1960';
}

.p-scale__pin.is-1963 {
  top: calc(10 / 550 * 22.5 * 100%);
}

.p-scale__pin.is-1963::before {
  content: '1963';
}

.p-scale__pin.is-1966 {
  top: calc(10 / 550 * 24 * 100%);
}

.p-scale__pin.is-1966::before {
  content: '1966';
}

.p-scale__pin.is-1969 {
  top: calc(10 / 550 * 25.5 * 100%);
}

.p-scale__pin.is-1969::before {
  content: '1969';
}

.p-scale__pin.is-1970 {
  top: calc(10 / 550 * 26 * 100%);
}

.p-scale__pin.is-1970::before {
  content: '1970';
}

.p-scale__pin.is-1972 {
  top: calc(10 / 550 * 27 * 100%);
}

.p-scale__pin.is-1972::before {
  content: '1972';
}

.p-scale__pin.is-1973 {
  top: calc(10 / 550 * 27.5 * 100%);
}

.p-scale__pin.is-1973::before {
  content: '1973';
}

.p-scale__pin.is-1974 {
  top: calc(10 / 550 * 28 * 100%);
}

.p-scale__pin.is-1974::before {
  content: '1974';
}

.p-scale__pin.is-1979 {
  top: calc(10 / 550 * 30.5 * 100%);
}

.p-scale__pin.is-1979::before {
  content: '1979';
}

.p-scale__pin.is-1985 {
  top: calc(10 / 550 * 33.5 * 100%);
}

.p-scale__pin.is-1985::before {
  content: '1985';
}

.p-scale__pin.is-1986 {
  top: calc(10 / 550 * 34 * 100%);
}

.p-scale__pin.is-1986::before {
  content: '1986';
}

.p-scale__pin.is-1989 {
  top: calc(10 / 550 * 35.5 * 100%);
}

.p-scale__pin.is-1989::before {
  content: '1989';
}

.p-scale__pin.is-1992 {
  top: calc(10 / 550 * 37 * 100%);
}

.p-scale__pin.is-1992::before {
  content: '1992';
}

.p-scale__pin.is-1993 {
  top: calc(10 / 550 * 37.5 * 100%);
}

.p-scale__pin.is-1993::before {
  content: '1993';
}

.p-scale__pin.is-1994 {
  top: calc(10 / 550 * 38 * 100%);
}

.p-scale__pin.is-1994::before {
  content: '1994';
}

.p-scale__pin.is-1995 {
  top: calc(10 / 550 * 38.5 * 100%);
}

.p-scale__pin.is-1995::before {
  content: '1995';
}

.p-scale__pin.is-1999 {
  top: calc(10 / 550 * 40.5 * 100%);
}

.p-scale__pin.is-1999::before {
  content: '1999';
}

.p-scale__pin.is-2002 {
  top: calc(10 / 550 * 42 * 100%);
}

.p-scale__pin.is-2002::before {
  content: '2002';
}

.p-scale__pin.is-2003 {
  top: calc(10 / 550 * 42.5 * 100%);
}

.p-scale__pin.is-2003::before {
  content: '2003';
}

.p-scale__pin.is-2004 {
  top: calc(10 / 550 * 43 * 100%);
}

.p-scale__pin.is-2004::before {
  content: '2004';
}

.p-scale__pin.is-2005 {
  top: calc(10 / 550 * 43.5 * 100%);
}

.p-scale__pin.is-2005::before {
  content: '2005';
}

.p-scale__pin.is-2006 {
  top: calc(10 / 550 * 44 * 100%);
}

.p-scale__pin.is-2006::before {
  content: '2006';
}

.p-scale__pin.is-2008 {
  top: calc(10 / 550 * 45 * 100%);
}

.p-scale__pin.is-2008::before {
  content: '2008';
}

.p-scale__pin.is-2009 {
  top: calc(10 / 550 * 45.5 * 100%);
}

.p-scale__pin.is-2009::before {
  content: '2009';
}

.p-scale__pin.is-2012 {
  top: calc(10 / 550 * 47 * 100%);
}

.p-scale__pin.is-2012::before {
  content: '2012';
}

.p-scale__pin.is-2013 {
  top: calc(10 / 550 * 47.5 * 100%);
}

.p-scale__pin.is-2013::before {
  content: '2013';
}

.p-scale__pin.is-2014 {
  top: calc(10 / 550 * 48 * 100%);
}

.p-scale__pin.is-2014::before {
  content: '2014';
}

.p-scale__pin.is-2016 {
  top: calc(10 / 550 * 49 * 100%);
}

.p-scale__pin.is-2016::before {
  content: '2016';
}

.p-scale__pin.is-2017 {
  top: calc(10 / 550 * 49.5 * 100%);
}

.p-scale__pin.is-2017::before {
  content: '2017';
}

.p-scale__pin.is-2019 {
  top: calc(10 / 550 * 50.5 * 100%);
}

.p-scale__pin.is-2019::before {
  content: '2019';
}

.p-scale__pin.is-2020 {
  top: calc(10 / 550 * 51 * 100%);
}

.p-scale__pin.is-2020::before {
  content: '2020';
}

/* product panel
------------------------------*/
.p-product__panel {
  padding: 0 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  pointer-events: none;
  overflow: auto;
  opacity: 0;
  transition: opacity 0s ease-out;
}

.p-product__panel.is-show {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease-out;
}

.p-product__panel-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 35px 0;
}

@media all and (max-width: 1400px) {
  .p-product__panel-inner {
    max-width: 1280px;
  }
}

@media all and (max-width: 576px) {
  .p-product__panel-inner {
    padding: 25px 0;
  }
}

.p-product__panel-heading {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  margin: 0 auto 65px;
  text-align: center;
}

@media all and (max-width: 576px) {
  .p-product__panel-heading {
    font-size: 28px;
    margin-bottom: 25px;
  }
}

.p-product__panel-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  row-gap: 16px;
  column-gap: 16px;
}

@media all and (max-width: 1450px) {
  .p-product__panel-list {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media all and (max-width: 1250px) {
  .p-product__panel-list {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media all and (max-width: 1040px) {
  .p-product__panel-list {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media all and (max-width: 840px) {
  .p-product__panel-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media all and (max-width: 630px) {
  .p-product__panel-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media all and (max-width: 576px) {
  .p-product__panel-list {
    row-gap: 10px;
    column-gap: 10px;
  }
}

.p-product__panel-item {
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
}

.p-product__panel-item a {
  width: 100%;
  aspect-ratio: 200/120;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 10%;
  padding-right: 36px;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease-out;
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
}

@media all and (max-width: 1600px) {
  .p-product__panel-item a {
    font-size: 16px;
  }
}

@media all and (max-width: 576px) {
  .p-product__panel-item a {
    aspect-ratio: 170/66;
    font-size: 14px;
    padding-left: 8.8%;
    padding-right: 30px;
  }
}

@media all and (max-width: 390px) {
  .p-product__panel-item a {
    font-size: calc(14 / 390 * 100vw);
  }
}

.p-product__panel-item a:hover {
  background-color: #f44336;
  color: #fff;
}

.p-product__panel-item a::after {
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  background: #f44336 url(../img/common/arrow_right_white.svg) no-repeat center center/10px auto;
  position: absolute;
  right: 0;
  bottom: 0;
  border-top-left-radius: 20px;
  transition: all 0.3s ease-out;
}

@media all and (max-width: 576px) {
  .p-product__panel-item a::after {
    width: 10px;
    height: 8px;
    background: transparent url(../img/common/arrow_right_red.svg) no-repeat center center/contain;
    position: absolute;
    right: 15px;
    bottom: auto;
    top: 50%;
    transform: translate(0, -50%);
    border-top-left-radius: 0;
  }
}

.p-product__panel-item a:hover::after {
  background-color: #fff;
  background-image: url(../img/common/arrow_right_red.svg);
}

.p-product__panel-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 62px;
  height: 62px;
  background-color: rgba(33, 33, 33, 0.3);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: opacity 0.3s ease-out;
  z-index: 1;
}

@media all and (max-width: 576px) {
  .p-product__panel-close {
    top: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
  }
}

.p-product__panel-close:hover {
  opacity: 0.6;
}

.p-product__panel-close::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/common/close.svg) no-repeat center center / 100% auto;
}

@media all and (max-width: 576px) {
  .p-product__panel-close::before {
    width: 18px;
    height: 18px;
  }
}

/* product scroll
------------------------------*/
.p-product__scroll {
  background-color: rgba(0, 0, 0, 0.2);
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  overflow: auto;
  transition: opacity 0.3s ease-out;
}

.p-product__scroll.is-hide {
  opacity: 0;
  pointer-events: none;
}

.p-product__scroll-inner {
  width: 100%;
  max-width: 480px;
  background-color: #fff;
  border-radius: 30px;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
  padding: 88px 20px;
}

@media all and (max-width: 576px) {
  .p-product__scroll-inner {
    max-width: 260px;
    padding: 60px 20px;
  }
}

.p-product__scroll-animation {
  width: 30px;
  height: 75px;
  background-color: #f44336;
  border-radius: 9999px;
  margin: 0 auto 40px;
  position: relative;
  z-index: 0;
}

@media all and (max-width: 576px) {
  .p-product__scroll-animation {
    margin-bottom: 32px;
  }
}

.p-product__scroll-animation::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  animation: scroll 1.5s ease-out 2s forwards;
}

@keyframes scroll {
  0% {
    top: 20%;
  }
  10% {
    top: 20%;
  }
  30% {
    top: 80%;
  }
  70% {
    top: 80%;
  }
  90% {
    top: 50%;
  }
  100% {
    top: 50%;
  }
}

.p-product__scroll-txt {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media all and (max-width: 576px) {
  .p-product__scroll-txt {
    font-size: 20px;
  }
}
