@charset "UTF-8";
@import url("global.css");
.topvision {
  display: flex;
  position: relative;
  margin-bottom: 110px;
}
.topvision .imagearea {
  width: 60%;
  flex-shrink: 0;
  position: relative;
}
.topvision .imagearea .image {
  position: sticky;
  height: 100vh;
  height: 100lvh;
  top: 0;
  width: 100%;
  overflow: hidden;
}
.topvision .imagearea .image .maskbox {
  height: 100%;
  mask-image: url("../concept/img/mask.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 90% 90%;
}
.topvision .imagearea .image .slidebox {
  transform-origin: center;
  width: 100%;
  height: 100%;
}
.topvision .imagearea .image .slidebox .slick-slider, .topvision .imagearea .image .slidebox .slick-list, .topvision .imagearea .image .slidebox .slick-track, .topvision .imagearea .image .slidebox .slick-slide {
  height: 100%;
}
.topvision .pagetitle {
  position: fixed;
  z-index: 0;
  width: 40%;
  top: 0;
  right: 0;
  padding-top: calc( 50lvh - 140px );
  padding-left: calc( (40% - 480px) / 2 );
  box-sizing: border-box;
  transition: opacity .5s linear 0s, filter .3s linear;
}
.topvision .pagetitle .title {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  animation: titleanime 1s linear 0s 1;
  animation-fill-mode: both;
}
.topvision .pagetitle .title span {
  display: block;
}
.topvision .pagetitle .title span.e {
  margin-right: 25px;
  padding-top: 4px;
  font-size: 20px;
}
.topvision .pagetitle .title span.e::before {
  content: "[";
  display: inline-block;
  margin-right: 14px;
}
.topvision .pagetitle .title span.e::after {
  content: "]";
  display: inline-block;
  margin-left: 14px;
}
.topvision .pagetitle .title span.e i {
  font-size: 32px;
  font-family: "Vollkorn", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: italic;
  vertical-align: -3px;
}
.topvision .pagetitle .catch {
  font-size: min(42px,3vw);
  line-height: 1;
  animation: catchanime 1s linear .3s 1;
  animation-fill-mode: both;
}
.topvision .pagetitle .catch span {
  display: inline-block;
  position: relative;
  margin-top: 18px;
  letter-spacing: .05em;
}
.topvision .pagetitle .catch span::before {
  content: "";
  background-color: #fff;
  position: absolute;
  z-index: -1;
  inset: .1em .7em 0 .1em;
}
.topvision .pagetitle.hidden {
  opacity: 0;
  filter: blur(50px);
}
@keyframes titleanime {
  0% {
    filter: blur(50px);
    transform: translateX(-30px);
    opacity: 0;
  }
  100% {
    filter: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes catchanime {
  0% {
    filter: blur(50px);
    transform: translateX(40px);
    opacity: 0;
  }
  100% {
    filter: none;
    transform: none;
    opacity: 1;
  }
}
.topvision .textarea {
  width: 40%;
  padding-block: 300vh 50vh;
}
.topvision .textarea .mainblock {
  padding-left: calc( (100% - 480px) / 2 );
  font-size: min(18px,1.2vw);
}
.topvision .textarea .mainblock p {
  margin-top: 30px;
  line-height: 2;
}
.topvision .textarea .mainblock p.catch {
  font-size: 1.4em;
  font-weight: 700;
  line-height: inherit;
  margin-block: 0 50px;
}

.kodawari {
  position: relative;
  align-content: center;
  padding: 60px 10%;
  min-height: 320px;
  color: #fff;
}
.kodawari::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background-color: #362929;
  opacity: .6;
  mix-blend-mode: multiply;
}
.kodawari .bg {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
}
.kodawari .bg figure {
  height: 120%;
  width: 100%;
}
.kodawari .inner {
  display: flex;
  gap: min(100px,7vw);
  position: relative;
  z-index: 1;
}
.kodawari .inner .title {
  line-height: 1.5;
}
.kodawari .inner .title span {
  display: flex;
  font-family: "Vollkorn", "Zen Old Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-style: italic;
  align-items: center;
  letter-spacing: .04em;
  margin-bottom: 15px;
  gap: 8px;
}
.kodawari .inner .title span::before, .kodawari .inner .title span::after {
  content: "";
  width: 5px;
  height: 1px;
  background-color: #fff;
  display: block;
}
.kodawari .inner .title strong {
  font-size: min(36px,3vw);
  white-space: nowrap;
}
.kodawari .inner .text {
  line-height: 2;
}

#lineup_navi_wide {
  margin-block: 20px;
  border: none;
}
#lineup_navi_wide::before {
  display: none;
}

@media only screen and (max-width: 1500px) {
  .topvision .pagetitle {
    padding-left: 4.2vw;
  }
  .topvision .textarea .mainblock {
    padding-left: 4.2vw;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  .topvision .pagetitle .title {
    display: block;
  }
  .topvision .pagetitle .title span.e {
    margin-bottom: -10px;
  }
  .topvision .textarea .mainblock p.catch {
    font-size: 1.7em;
  }

  .kodawari {
    padding: 60px 5%;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  .topvision {
    display: block;
  }
  .topvision .imagearea {
    width: 100%;
    display: flex;
  }
  .topvision .imagearea::before {
    content: "";
    width: 0;
    height: 500vh;
    display: block;
  }
  .topvision .imagearea .image {
    height: 60vh;
    height: 60svh;
  }
  .topvision .pagetitle {
    width: fit-content;
    margin-inline: auto;
    top: 60svh;
    height: 40svh;
    left: 0;
    align-content: center;
    padding: 0;
  }
  .topvision .pagetitle .title {
    display: flex;
  }
  .topvision .pagetitle .title span.e {
    margin: 0 20px 0 0;
  }
  .topvision .pagetitle .catch {
    font-size: min(38px,8vw);
    padding-bottom: 20px;
  }
  .topvision .pagetitle .catch span {
    margin-top: 12px;
  }
  .topvision .textarea {
    width: 100%;
    padding-block: 120px 0;
  }
  .topvision .textarea .mainblock {
    width: fit-content;
    margin-inline: auto;
    padding: 0;
    font-size: 18px;
  }
  .topvision .textarea .mainblock p.catch {
    font-size: 1.5em;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  .topvision {
    margin-bottom: 100px;
  }
  .topvision .imagearea::before {
    height: 300vh;
  }
  .topvision .imagearea .image {
    height: 60svh;
  }
  .topvision .pagetitle {
    top: 60svh;
    height: 40svh;
  }
  .topvision .pagetitle .title {
    display: block;
    margin-bottom: 15px;
    margin-left: 5px;
    align-items: center;
  }
  .topvision .pagetitle .title span {
    display: block;
  }
  .topvision .pagetitle .title span.e {
    margin: 0 0 -10px 0;
    padding-top: 0;
  }
  .topvision .pagetitle .title span.e::before {
    margin-right: 12px;
  }
  .topvision .pagetitle .title span.e::after {
    margin-left: 12px;
  }
  .topvision .pagetitle .catch span {
    margin-top: 10px;
  }
  .topvision .textarea {
    padding-block: 100px 0;
  }
  .topvision .textarea .mainblock {
    font-size: min(16px,3.2vw);
  }
  .topvision .textarea .mainblock p.catch {
    font-size: 1.6em;
    margin-bottom: 40px;
  }

  .kodawari {
    margin-inline: -5vw;
    padding: 70px 5vw 80px;
  }
  .kodawari .inner {
    display: block;
  }
  .kodawari .inner .title {
    text-align: center;
    margin-bottom: 40px;
  }
  .kodawari .inner .title span {
    justify-content: center;
    margin-bottom: 10px;
    font-size: 14px;
  }
  .kodawari .inner .title strong {
    font-size: min(24px,5.4vw);
  }
  .kodawari .inner .title strong br {
    display: none;
  }
  .kodawari .inner .text {
    line-height: inherit;
  }
}

/*# sourceMappingURL=concept.css.map */
