@charset "UTF-8";

html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 2100px) {
  html {
    font-size: calc(10 * (100vw / 2100));
  }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

.feature {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #000;
  font-family: "magister", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.feature__inner {
  width: 100%;
  padding: 0 2.2rem;
  margin: auto;
}


.feature a {
  color: #000;
  transition: 0.5s;
  display: block;
  transform: none;
  text-decoration: none;
}

.feature a:hover {
  opacity: 0.6;
  text-decoration: none;
}

.feature img,
svg,
video {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

.l-container {
  width: 100%;
  overflow: hidden;
}

.feature #sp-only {
  display: none !important;
}

.feature .js-fade {
  opacity: 0;
  transition: opacity 800ms, transform 500ms;
}

.feature .js-fade.active {
  opacity: 1;
}

.feature .js-fade.--1 {
  transition-delay: .2s;
}

.feature .js-fade.--2 {
  transition-delay: .4s;
}

.feature .js-fade.--3 {
  transition-delay: .6s;
}

.feature .js-fade.--4 {
  transition-delay: .8s;
}

.feature .typing {
  font-size: 3.8rem;
  letter-spacing: 0.01em;
  word-break: break-all;
}

.feature .typing span {
  display: none;
}

@keyframes typingCursor {
  from {
    opacity: 0;
  }

  to {
    opacity: 1
  }
}

/* credit */

.feature .creditList {
  bottom: 0;
  left: 0;
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity .6s ease;
  width: 100%;
  z-index: 2;
}

.feature .creditList.on {
  pointer-events: all;
  opacity: 1;
}

.feature .credit {
  display: flex;
  flex-direction: column;
  gap: 1.5rem 0;
  padding: 0 0 2.8rem 2.4rem;
  position: relative;
}

.feature .credit li {
  color: #fff;
  display: flex;
  line-height: 1;
  position: relative;
  z-index: 2;
}

.feature .credit li a {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.043em;
  line-height: 1;
  font-family: "magister", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.feature .credit li a .price {
  margin-left: 0.7rem;
}

.feature .creditBtn {
  display: block;
  bottom: 2.1rem;
  right: 2.1rem;
  position: absolute;
  height: 3rem;
  width: 3rem;
  z-index: 10;
}

.feature .creditBtn span {
  display: block;
  opacity: .8;
  position: relative;
  height: 100%;
  width: 100%;
}

.feature .creditBtn span::before,
.feature .creditBtn span::after {
  background: #fff;
  content: "";
  display: block;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  height: 1.6px;
  width: 100%;
}

.feature .creditBtn span::after {
  transition: transform .6s ease, opacity .6s ease;
  height: 100%;
  width: 1.6px;
}

.feature .creditBtn.on span::after {
  transform: rotate(-90deg);
}

.feature .creditBtn:hover {
  cursor: pointer;
}

.feature .sec__model .sec__img::before,
.feature .sec__model .sec__slide::before {
  background-color: rgba(0,0,0,0.15);
  content: "";
  bottom: 0;
  left: 0;
  position: absolute;
  pointer-events: none;
  transition: opacity .6s ease;
  opacity: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.feature .sec__model .sec__img.on::before,
.feature .sec__model .sec__slide.on::before {
  opacity: 1;
}

/* hero */

.feature .hero {
  margin: 22rem auto 12.2rem;
  width: 100%;
  text-align: center;
}

.feature .hero p:first-child {
  font-size: 6.7rem;
  letter-spacing: 0.03em;
}

.feature .hero p:last-child {
  font-size: 3.4rem;
  letter-spacing: 0.03em;
  margin-top: 1.4rem;
}

/* sec */

.feature .section {
  position: relative;
  width: 100%;
  margin-top: 0.8rem;
}

.feature .section .inner {
  margin: auto;
  position: relative;
  width: 100%;
}

.feature .section .sec__model {
  display: flex;
  gap: 0.8rem;
  justify-content: space-between;
}

.feature .section .set {
  display: flex;
  flex-wrap: wrap;
  width: 50%;
  gap: 0.8rem;
  justify-content: left;
}

.feature .section.sec02 .text {
  width: 50rem;
  top: 53rem;
  left: 3rem;
  line-height: 1.3;
}

.feature .section.sec04 .text {
  top: 7.1rem;
  right: -51.8rem;
  line-height: 1.3;
}

.feature .section.sec04 .text {
  transform: rotate(-90deg);
}

.feature .section .sec__model .set .sec__img {
  width: 49.6%;
}

.feature .section .sec__model .sec__img {
  overflow: hidden;
  position: relative;
  width: 50%;
}

.feature .section .sec__model>.sec__img {
  width: 50%;
}

.feature .section .sec__model>.sec__img>a,
.feature .section .sec__model>.sec__img>a>img {
  height: 100%;
}

.feature .section .sec__model .sec__img>a {
  position: relative;
  z-index: 1;
}

.feature .section .sec__slide {
  overflow: clip;
  position: relative;
  width: 50%;
}

.feature .slick-slide{
  height: auto!important;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
}

.feature .section .sec__model .sec__slider {
  width: 100%;
}

/** btn **/
.feature .btn {
  font-size: 2.4rem;
  text-align: center;
  font-family: "magister", sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
  font-style: normal;
  margin: 24.7rem auto 24.5rem;
}

.feature .liner {
  margin: 0.8rem auto 0;
  background-color: #000;
  height: 1px;
}

.feature .liner {
  width: 0%;
  transition: all 1s ease;
}

.feature .liner.active {
  width: 13rem;
}

.pc-header-main.is-fixed {
  display: none;
}

.l-footer {
  padding: 0;
}

.pc-footer {
  margin: 0;
}
