/* arguments inittial */
/* font style */
/* site style */
/* [ writing-mode ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
body {
  background: #F4F4F4;
}

.intro {
  position: relative;
}

.mt50 {
	margin-top: 50px;
}

@media (max-width: 767px) {
  .intro {
    padding: 0 0 20px;
  }
}

.intro__photos {
  width: 100%;
  height: 684px;
  position: relative;
  overflow: hidden;
}

@media (max-width: 767px) {
  .intro__photos {
    height: 420px;
  }
}

.intro__photos .slider {
  width: 100%;
  height: 100%;
}

.intro__photos .dots {
  position: absolute;
  z-index: 3;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5.4%;
}

@media (max-width: 767px) {
  .intro__photos .dots {
    bottom: 10px;
    left: 15px;
    transform: none;
  }
}

.intro__photos .dots .dot {
  margin: 0 9px;
  cursor: pointer;
  display: inline-block;
  background: #b1b1b1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: background .3s, opacity .3s;
  will-change: background, opacity;
  cursor: pointer;
}

@media (max-width: 767px) {
  .intro__photos .dots .dot {
    width: 10px;
    height: 10px;
    margin: 0 5px;
  }
}

.intro__photos .dots .dot.active {
  background: #c3002f;
  opacity: 1 !important;
}

@media only screen and (min-width: 1025px) {
  .intro__photos .dots .dot:hover {
    opacity: .7;
  }
}

.intro__photo {
  opacity: 0;
  transition: all 1s linear;
  transition-property: opacity, transform;
  will-change: opacity, transform;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.intro__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.intro__photo.active {
  opacity: 1;
}

.intro__ttl {
  padding: 15px 15px 10px;
  transition: color 3s;
  will-change: color;
  position: relative;
  color: #c3002f;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.75em;
  letter-spacing: 0.08em;
  font-weight: 400;
}

@media (min-width: 768px) {
  .intro__ttl {
    padding: 0;
    width: 83%;
    position: absolute;
    z-index: 1;
    top: 36.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 37px;
    font-size: 3.7rem;
    line-height: 1.67568em;
    letter-spacing: 0.08em;
    font-weight: 400;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .intro__ttl {
    width: calc(100% - 40px);
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.9375em;
    letter-spacing: 0.08em;
    font-weight: 400;
  }
}

.intro__ttl:before {
  content: '';
  position: absolute;
  left: -21px;
  top: -16px;
  width: 35px;
  height: 35px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.12' height='17.04' viewBox='0 0 21.12 17.04'%3E%3Cpath d='M75.04-50.88v-9.28H70.8c0-2.56.56-3.44,4.24-3.76v-4c-8.56.48-8.72,5.6-8.72,7.76v9.28Zm-12.4,0v-9.28H58.48c0-2.56.56-3.44,4.16-3.76v-4c-8.56.48-8.72,5.6-8.72,7.76v9.28Z' transform='translate(-53.92 67.92)' fill='%23c3002f' opacity='0.1'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 34px auto;
  transition: background 3s;
  will-change: background;
}

@media (max-width: 767px) {
  .intro__ttl:before {
    left: 5px;
    top: 4px;
    width: 20px;
    height: 20px;
    background-size: 20px auto;
  }
}

.intro__txt {
  padding: 0 15px;
}

@media (min-width: 768px) {
  .intro__txt {
    z-index: 1;
    position: absolute;
    bottom: 17.1%;
    left: 50%;
    width: 83%;
    transform: translateX(-50%);
    padding: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .intro__txt {
    width: calc(100% - 40px);
  }
}

.intro__txt .label {
  color: #c3002f;
  font-family: "Nissan Brand" !important;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (max-width: 767px) {
  .intro__txt .label {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1em;
  }
}

.intro__txt .info {
  margin-top: 25px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  letter-spacing: 0.06em;
  font-weight: 400;
}

@media (max-width: 767px) {
  .intro__txt .info {
    margin-top: 10px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em;
  }
}

.intro__pagename {
  z-index: 1;
  position: absolute;
  bottom: 175px;
  right: 15px;
  text-align: right;
}

@media (min-width: 768px) {
  .intro__pagename {
    right: auto;
    bottom: 6%;
    left: 50%;
    width: 87%;
    transform: translateX(-50%);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .intro__pagename {
    width: calc(100% - 40px);
  }
}

.intro__pagename .en {
  color: #c3002f;
  font-family: "Nissan Brand" !important;
  font-size: 54px;
  font-size: 5.4rem;
  line-height: 1.11111em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (max-width: 767px) {
  .intro__pagename .en {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.25em;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .intro__pagename .en {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-weight: 700;
  }
}

.intro__pagename .jp {
  padding-top: 3px;
  padding-right: 4px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  letter-spacing: 0.08em;
  font-weight: 400;
}

@media (min-width: 768px) {
  .intro_kumikohori [data-current-slide="0"] + .intro__ttl {
    color: #FFF;
  }
  .intro_kumikohori [data-current-slide="0"] + .intro__ttl:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.12' height='17.04' viewBox='0 0 21.12 17.04'%3E%3Cpath d='M75.04-50.88v-9.28H70.8c0-2.56.56-3.44,4.24-3.76v-4c-8.56.48-8.72,5.6-8.72,7.76v9.28Zm-12.4,0v-9.28H58.48c0-2.56.56-3.44,4.16-3.76v-4c-8.56.48-8.72,5.6-8.72,7.76v9.28Z' transform='translate(-53.92 67.92)' fill='%23ffffff' opacity='0.1'/%3E%3C/svg%3E%0A");
  }
}

.c-movie a {
  display: block;
}

.interview {
  padding: 110px 0 70px;
}

@media (max-width: 767px) {
  .interview {
    padding: 50px 0 40px;
  }
}

.interview__ttl {
  margin-bottom: 25px;
  color: #c3002f;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em;
  letter-spacing: 0.06em;
  font-weight: 400;
}

@media (max-width: 767px) {
  .interview__ttl {
    margin-bottom: 15px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.8em;
    letter-spacing: 0.03em;
    font-weight: 400;
  }
}

.interview__photo {
  margin: 65px 0 0;
}

@media (max-width: 767px) {
  .interview__photo {
    margin: 35px 0 0;
  }
}

.other {
  padding: 80px 0 51px;
}

@media (max-width: 767px) {
  .other {
    padding: 40px 0 25px;
  }
}

.other__en {
  margin-bottom: 46px;
  text-align: center;
  color: #c3002f;
  font-family: "Nissan Brand" !important;
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

@media (max-width: 767px) {
  .other__en {
    margin-bottom: 16px;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.other__list {
  display: flex;
  flex-wrap: wrap;
}

.other__item {
  width: 100%;
  margin-top: 20px;
}

@media (min-width: 768px) {
  .other__item {
    width: calc(100% / 3 - 28px);
    margin-right: 42px;
    margin-top: 43px;
  }
  .other__item:nth-child(3n) {
    margin-right: 0;
  }
  .other__item:nth-child(-n+3) {
    margin-top: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .other__item {
    width: calc(100% / 3 - 10px);
    margin-right: 15px;
  }
}

.other__item .link {
  display: block;
  position: relative;
}

.other__item .photo:before {
  content: '';
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(rgba(37, 42, 43, 0) 0%, rgba(37, 42, 43, 0.7) 100%);
  mix-blend-mode: multiply;
}

.other__item .photo img {
  width: 100%;
}

.other__item .txt {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0 20px 21px;
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .other__item .txt {
    padding: 0 15px 14px;
  }
}

.other__item .label {
  color: #c3002f;
  font-family: "Nissan Brand" !important;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.other__item .info {
  margin-top: 7px;
  color: #FFF;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.57143em;
  letter-spacing: 0.06em;
  font-weight: 400;
}
