@charset "UTF-8";
*:focus {
  outline: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: startin 1.5s forwards;
          animation: startin 1.5s forwards;
  opacity: 1;
  position: relative;
  line-height: calc(28 / 12);
  font-family: fot-cezanne-pron, sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 13px;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
img {
  width: 100%;
  vertical-align: bottom;
  border: 0;
  pointer-events: none;
}
img[src$=".svg"] {
  width: 100%;
}
a {
  color: #000;
  text-decoration: none;
}
div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
}
p {
  padding: 0;
  margin: 0;
}
ol,
ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
h1,
h2,
h3 {
  padding: 0;
  margin: 0;
}
.font-yu_mincho {
  font-family: yu-mincho-pr6n, sans-serif;
  font-style: normal;
  font-weight: 400;
}
.font-shuei {
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-style: normal;
  font-weight: 400;
}
.font-garamond {
  font-family: adobe-garamond-pro, serif;
  font-style: normal;
  font-weight: 400;
}
.font-instrument {
  font-family: instrument-serif, sans-serif;
  font-style: normal;
  font-weight: 400;
}
main {
  font-size: 0;
}
@-webkit-keyframes startin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes startin {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.topMovieSection {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .topMovieSection {
    position: relative;
  }
}
.topMovieSection.is-hidden {
  visibility: hidden !important;
}
.topMovieWrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
.topMovieArrowLayer {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 1;
  -webkit-transition: opacity ease-in-out 0.25s;
  transition: opacity ease-in-out 0.25s;
}
.topMovieArrowLayer .arrow {
  position: absolute;
  top: initial;
  bottom: 0;
  margin-bottom: -12px;
  left: calc(50% - 0.5px);
  height: 112px;
  width: 1px;
  background-color: #d3d3d3;
  -webkit-animation: scrollbar-anim 3s ease-in-out infinite;
          animation: scrollbar-anim 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .topMovieArrowLayer .arrow {
    left: 100%;
    margin-left: -4.8vw;
    height: 22.400000000000002vw;
  }
}
.topMovie__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  display: none;
}
.topMovieTitle {
  position: fixed;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-left: 10px;
  width: 19.53125vw;
}
@media screen and (max-width: 767px) {
  .topMovieTitle {
    position: relative;
    width: 46.400000000000006vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    margin-top: calc(50vh - (110 / 375 * 100vw));
    margin-left: 2.666666666666667vw;
  }
}
.topMovieTextWrapper {
  position: relative;
  height: 150vh;
  width: 50%;
  margin-top: calc(100vh + 177px);
  margin-left: auto;
  margin-right: 10px;
  color: #d3d3d3;
}
@media screen and (max-width: 767px) {
  .topMovieTextWrapper {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin-top: 50vh;
    padding: 0 2.666666666666667vw 40vh;
    z-index: 3;
  }
}
.topMovieText {
  color: #fff;
  font-size: 0.9375vw;
  line-height: calc(17 / 12);
  letter-spacing: -0.015em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .topMovieText {
    font-size: 3.2vw;
  }
}
section {
  position: relative;
  padding-top: 80px;
  min-height: calc(100vh + 80px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  section {
    min-height: calc(100vh + (48 / 375 * 100vw));
    padding-top: 21.333333333333336vw;
  }
}
.sectionImageWrapper {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100vh;
  margin-left: auto;
  margin-top: 80px;
  cursor: pointer;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sectionImageWrapper {
    position: relative;
    width: 81.6vw;
    margin-top: 0.8vw;
    height: auto;
  }
}
.sectionImage {
  width: 100%;
  height: 100%;
}
.sectionImage img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top left;
     object-position: top left;
  width: 100%;
  height: 100%;
}
.sectionImageIcon {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 1.5625vw 1.5625vw 0;
  width: 1.5625vw;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sectionImageIcon {
    width: 4.8vw;
    margin: 0 2.666666666666667vw 2.666666666666667vw 0;
  }
}
.sectionInfoWrapper {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 70px;
  width: 26.5625vw;
  margin-left: 10px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .sectionInfoWrapper {
    width: 81.6vw;
    padding: 0 2.666666666666667vw 0 0;
    position: relative;
    margin-top: 4.8vw;
    margin-left: auto;
  }
}
.sectionLead {
  font-size: 1.09375vw;
}
@media screen and (max-width: 767px) {
  .sectionLead {
    font-size: 3.733333333333334vw;
    line-height: calc(19 / 14);
    margin-bottom: 2.933333333333333vw;
  }
}
.sectionText {
  font-size: 0.9375vw;
  line-height: calc(17 / 12);
  letter-spacing: -0.015em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .sectionText {
    font-size: 3.2vw;
    margin-bottom: 16vw;
  }
}
.sectionVideoWrapper {
  width: 20.625vw;
  height: 27.500000000000004vw;
  position: absolute;
  bottom: 0;
  left: 0;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .sectionVideoWrapper {
    position: relative;
    width: 47.199999999999996vw;
    height: 62.93333333333333vw;
    margin-left: 2.666666666666667vw;
  }
}
.sectionVideo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.brandSectionTitle {
  line-height: 1;
  position: -webkit-sticky;
  position: sticky;
  top: 90px;
  right: 0;
  text-align: right;
  z-index: 2;
  margin-right: 10px;
  margin-top: 5px;
  font-size: 1.5625vw;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .brandSectionTitle {
    position: relative;
    top: 0;
    font-size: 4.8vw;
    letter-spacing: 0;
    margin-right: 2.666666666666667vw;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .museSection {
    padding-top: 12.8vw;
  }
}
.beamsSection {
  padding-bottom: 80px;
  min-height: calc(100vh + 160px);
}
@media screen and (max-width: 767px) {
  .beamsSection {
    min-height: inherit;
  }
}
.beamsSection .brandSectionTitle {
  text-align: left;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .beamsSection .brandSectionTitle {
    margin-left: 2.666666666666667vw;
    margin-bottom: 1.066666666666667vw;
  }
}
.beamsSection .sectionInfoWrapper {
  left: inherit;
  right: 0;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .beamsSection .sectionInfoWrapper {
    margin-left: 2.666666666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .beamsSection .sectionText {
    margin-bottom: 0;
  }
}
.beamsSection .sectionImageWrapper {
  left: 0;
  margin: 80px auto 0;
  -webkit-transform: translateX(calc(-137 / 1280 * 100vw));
          transform: translateX(calc(-137 / 1280 * 100vw));
}
@media screen and (max-width: 767px) {
  .beamsSection .sectionImageWrapper {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin-top: 0;
    margin-left: 2.666666666666667vw;
  }
}
.beamsSection .sectionImage img {
  -o-object-position: top center;
     object-position: top center;
}
.photoSection {
  min-height: 120vh;
}
@media screen and (max-width: 767px) {
  .photoSection {
    overflow-y: hidden;
  }
}
.photoSection .photoItem {
  -webkit-transform: translate3d(0, var(--parY, 0px), 0);
          transform: translate3d(0, var(--parY, 0px), 0);
}
.photoSection .photo01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 18.28125vw;
  margin-top: 0.390625vw;
  margin-left: 2.65625vw;
}
@media screen and (max-width: 767px) {
  .photoSection .photo01 {
    width: 62.66666666666667vw;
    margin-top: 53.333333333333336vw;
    margin-left: 8.533333333333333vw;
    z-index: 4;
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
}
.photoSection .photo02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 21.5625vw;
  margin-top: 28.984375vw;
  margin-left: 9.84375vw;
}
@media screen and (max-width: 767px) {
  .photoSection .photo02 {
    width: 57.86666666666667vw;
    margin-top: 22.133333333333333vw;
    margin-left: 33.86666666666667vw;
    z-index: 3;
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
}
.photoSection .photo03 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 3.515625vw auto 0;
  width: 32.109375vw;
  -webkit-transform: translateX(calc(24 / 1280 * 100vw)) translate3d(0, var(--parY, 0px), 0);
          transform: translateX(calc(24 / 1280 * 100vw)) translate3d(0, var(--parY, 0px), 0);
}
@media screen and (max-width: 767px) {
  .photoSection .photo03 {
    width: 64.26666666666667vw;
    -webkit-transform: translateX(0) translate3d(0, var(--parY, 0px), 0);
            transform: translateX(0) translate3d(0, var(--parY, 0px), 0);
    margin-top: 107.46666666666667vw;
    margin-left: 17.066666666666666vw;
    z-index: 5;
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
}
.photoSection .photo04 {
  position: absolute;
  top: 0;
  right: 0;
  width: 18.28125vw;
  margin-top: 13.90625vw;
  margin-right: 7.421875vw;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .photoSection .photo04 {
    right: inherit;
    left: 0;
    width: 32vw;
    margin-top: 29.333333333333332vw;
    margin-left: 2.666666666666667vw;
  }
}
.photoSection .sectionVideoWrapper {
  position: absolute;
  top: 0;
  left: inherit;
  right: 0;
  margin-top: 1.171875vw;
  width: 16.796875vw;
}
@media screen and (max-width: 767px) {
  .photoSection .sectionVideoWrapper {
    width: 44.800000000000004vw;
    margin-top: 0vw;
    margin-right: 2.666666666666667vw;
  }
}
.unitedArrowsSection,
.mackintoshSection {
  z-index: 2;
  text-align: center;
}
.unitedArrowsSection .sectionInfoWrapper,
.mackintoshSection .sectionInfoWrapper {
  text-align: left;
}
.unitedArrowsSection .brandSectionTitle,
.mackintoshSection .brandSectionTitle {
  margin: 0 auto;
  display: inline-block;
  -webkit-transform: translateX(calc(-10px - 50%));
          transform: translateX(calc(-10px - 50%));
}
.unitedArrowsSection .sectionImage img,
.mackintoshSection .sectionImage img {
  -o-object-position: top right;
     object-position: top right;
}
@media screen and (max-width: 767px) {
  .unitedArrowsSection {
    text-align: right;
    padding-top: 16vw;
    margin-top: 0;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .unitedArrowsSection .brandSectionTitle {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    text-align: right;
    margin-right: 2.666666666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .unitedArrowsSection .sectionText {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .mackintoshSection {
    min-height: auto;
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .mackintoshSection .brandSectionTitle {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin-right: 2.666666666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .mackintoshSection .sectionText {
    margin-bottom: 0;
  }
}
.armaniSection {
  padding-bottom: 80px;
  min-height: calc(100vh + 160px);
}
@media screen and (max-width: 767px) {
  .armaniSection {
    min-height: auto;
    padding-bottom: 0;
  }
}
.armaniSection .sectionImageWrapper {
  width: 46.875vw;
  right: inherit;
  left: 0;
}
@media screen and (max-width: 767px) {
  .armaniSection .sectionImageWrapper {
    margin-left: 2.666666666666667vw;
    width: 78.66666666666666vw;
  }
}
.armaniSection .sectionInfoWrapper {
  margin-left: 47.65625vw;
}
@media screen and (max-width: 767px) {
  .armaniSection .sectionInfoWrapper {
    margin-left: 2.666666666666667vw;
  }
}
.armaniSection .brandSectionTitle {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .armaniSection .brandSectionTitle {
    margin-left: 2.666666666666667vw;
    text-align: left;
  }
}
.armaniSection .sectionImage img {
  -o-object-position: top center;
     object-position: top center;
}
.armaniSection .sectionVideoWrapper {
  left: inherit;
  right: 0;
  margin-right: 10px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .armaniSection .sectionVideoWrapper {
    margin-left: auto;
    margin-right: 2.666666666666667vw;
  }
}
.photo02Section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.photo02Container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 36.71875vw;
  gap: 2.34375vw;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .photo02Container {
    width: 100%;
    gap: 5.066666666666666vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.photo02Container .photoItem {
  width: 17.1875vw;
}
@media screen and (max-width: 767px) {
  .photo02Container .photoItem {
    width: 38.4vw;
  }
}
.photo02Container .sectionVideoWrapper {
  position: relative;
  margin: 0;
  height: auto;
}
.estnationSection {
  padding-bottom: 80px;
  min-height: calc(100vh + 160px);
}
@media screen and (max-width: 767px) {
  .estnationSection {
    padding-bottom: 0;
    min-height: auto;
  }
}
.estnationSection .brandSectionTitle {
  text-align: left;
  margin-left: 10px;
}
.estnationSection .sectionImageWrapper {
  right: inherit;
  left: 0;
}
@media screen and (max-width: 767px) {
  .estnationSection .sectionImageWrapper {
    margin-left: 2.666666666666667vw;
  }
}
.estnationSection .sectionImage img {
  -o-object-position: top right;
     object-position: top right;
}
.estnationSection .sectionInfoWrapper {
  margin-left: calc(50% + 10px);
}
@media screen and (max-width: 767px) {
  .estnationSection .sectionInfoWrapper {
    margin-left: 2.666666666666667vw;
  }
}
.estnationSection .sectionVideoWrapper {
  left: inherit;
  right: 0;
  margin-right: 10px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .estnationSection .sectionVideoWrapper {
    margin-left: auto;
    margin-right: 2.666666666666667vw;
    margin-bottom: 32vw;
  }
}
.sectionStickyBg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sectionStickyBg {
    height: auto;
    min-height: auto;
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 16vw;
  }
}
.sectionStickyBg .sectionStickyBgImage {
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .sectionStickyBg .sectionStickyBgImage {
    width: 48.8vw;
  }
}
.sectionStickyBg .sectionStickyBgImage img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .sectionStickyBg .sectionStickyBgImage img {
    width: 100%;
    -o-object-fit: initial;
       object-fit: initial;
    height: auto;
  }
}
.ebureSection {
  padding-top: 0;
}
.ebureSection .sectionSeparateImageWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.ebureSection .sectionSeparateImage {
  will-change: transform;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.ebureSection .sectionSeparateImage:nth-of-type(1) {
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
.ebureSection .sectionSeparateImage:nth-of-type(2) {
  -webkit-transform-origin: top right;
          transform-origin: top right;
}
.ebureSection .sectionContainer {
  height: calc(100vh + 80px);
  position: relative;
  z-index: 2;
  padding: 80px 0 0;
}
@media screen and (max-width: 767px) {
  .ebureSection .sectionContainer {
    height: auto;
    margin-top: 0;
    padding-top: 16vw;
  }
}
.ebureSection .sectionContainer .sectionImageWrapper {
  left: 0;
  margin: 80px auto 0;
  -webkit-transform: translateX(calc(-137 / 1280 * 100vw));
          transform: translateX(calc(-137 / 1280 * 100vw));
}
@media screen and (max-width: 767px) {
  .ebureSection .sectionContainer .sectionImageWrapper {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin-top: 1.066666666666667vw;
    margin-left: 2.666666666666667vw;
  }
}
.ebureSection .sectionContainer .sectionImageWrapper img {
  -o-object-position: top center;
     object-position: top center;
}
.ebureSection .sectionContainer .brandSectionTitle {
  text-align: left;
  margin-left: 10px;
  color: #d3d3d3;
}
@media screen and (max-width: 767px) {
  .ebureSection .sectionContainer .brandSectionTitle {
    margin-left: 2.666666666666667vw;
  }
}
.ebureSection .sectionContainer .sectionInfoWrapper {
  left: inherit;
  right: 0;
  margin-right: 10px;
  color: #d3d3d3;
}
@media screen and (max-width: 767px) {
  .ebureSection .sectionContainer .sectionInfoWrapper {
    margin-left: 2.666666666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .ebureSection .sectionContainer .sectionText {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .designworksSection {
    min-height: auto;
  }
}
.designworksSection .brandSectionTitle {
  text-align: left;
  color: #000 !important;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .designworksSection .brandSectionTitle {
    color: #d3d3d3 !important;
    text-align: right;
    margin-right: 2.666666666666667vw;
  }
}
.designworksSection .sectionImageWrapper {
  left: 0;
  right: inherit;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .designworksSection .sectionImageWrapper {
    margin-left: auto;
  }
}
.designworksSection .sectionImageWrapper img {
  -o-object-position: top center;
     object-position: top center;
}
.designworksSection .sectionInfoWrapper {
  margin-left: calc(50% + 10px);
}
@media screen and (max-width: 767px) {
  .designworksSection .sectionInfoWrapper {
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .designworksSection .sectionText {
    margin-bottom: 0;
  }
}
.padSection {
  padding-top: 80px;
  height: auto;
  padding-bottom: 160px;
  min-height: initial;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .padSection {
    padding-top: 21.333333333333336vw;
    min-height: auto;
    padding-bottom: 21.333333333333336vw;
  }
}
.padSection .sectionContainer {
  -webkit-transform: translateX(calc(37 / 1280 * 100vw));
          transform: translateX(calc(37 / 1280 * 100vw));
}
@media screen and (max-width: 767px) {
  .padSection .sectionContainer {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.padSection .sectionImageWrapper {
  position: relative;
  width: 42.8125vw;
  height: auto;
  margin: 0 auto 25px;
}
@media screen and (max-width: 767px) {
  .padSection .sectionImageWrapper {
    width: 78.13333333333333vw;
  }
}
.padSection .sectionImageWrapper img {
  -o-object-fit: initial;
     object-fit: initial;
  width: 100%;
  height: auto;
}
.padSection .brandSectionTitle {
  position: relative;
  margin-bottom: 13px;
  text-align: center;
  top: 0;
}
.padSection .sectionInfoWrapper {
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 44.140625vw;
}
@media screen and (max-width: 767px) {
  .padSection .sectionInfoWrapper {
    width: 78.13333333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .padSection .sectionText {
    margin-bottom: 0;
  }
}
.nhSection {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .nhSection {
    padding-top: 0;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .nhSection .sectionStickyBg {
    position: -webkit-sticky;
    position: sticky;
    width: 100%;
    height: 100vh;
    display: block;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .nhSection .sectionStickyBg .sectionStickyBgImage {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .nhSection .sectionStickyBg .sectionStickyBgImage img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .nhSection .sectionStickyBg .sectionStickyBgImage:nth-of-type(2) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.nhSection .sectionContainer {
  height: calc(100vh + 80px);
  position: relative;
  z-index: 2;
  margin-top: 50vh;
  padding: 80px 0 0;
}
@media screen and (max-width: 767px) {
  .nhSection .sectionContainer {
    margin-top: 80vh;
    height: auto;
    padding-top: 12.8vw;
    padding-bottom: 50vh;
  }
}
.nhSection .sectionContainer .sectionImageWrapper {
  left: 0;
  right: 0;
  margin: 80px auto 0;
  -webkit-transform: translateX(calc(-137 / 1280 * 100vw));
          transform: translateX(calc(-137 / 1280 * 100vw));
}
@media screen and (max-width: 767px) {
  .nhSection .sectionContainer .sectionImageWrapper {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    margin-top: 1.333333333333333vw;
    margin-right: 0;
    margin-left: atuo;
  }
}
.nhSection .sectionContainer .sectionImageWrapper img {
  -o-object-position: top center;
     object-position: top center;
}
.nhSection .sectionContainer .brandSectionTitle {
  text-align: left;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .nhSection .sectionContainer .brandSectionTitle {
    text-align: right;
  }
}
.nhSection .sectionContainer .sectionInfoWrapper {
  left: inherit;
  right: 0;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .nhSection .sectionContainer .sectionInfoWrapper {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .nhSection .sectionContainer .sectionText {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .plageSection {
    min-height: auto;
    margin-top: -50vh;
    z-index: 2;
  }
}
.plageSection .sectionImageWrapper {
  left: 0;
  right: inherit;
}
@media screen and (max-width: 767px) {
  .plageSection .sectionImageWrapper {
    margin-left: 2.666666666666667vw;
    margin-top: 1.333333333333333vw;
  }
}
.plageSection .sectionImageWrapper img {
  -o-object-position: top center;
     object-position: top center;
}
.plageSection .sectionInfoWrapper {
  margin-left: calc(50% + 10px);
}
@media screen and (max-width: 767px) {
  .plageSection .sectionInfoWrapper {
    margin-left: 2.666666666666667vw;
  }
}
.plageSection .brandSectionTitle {
  text-align: left;
  margin-left: 10px;
  color: #000 !important;
}
@media screen and (max-width: 767px) {
  .plageSection .brandSectionTitle {
    color: #d3d3d3 !important;
  }
}
@media screen and (max-width: 767px) {
  .plageSection .sectionText {
    margin-bottom: 0;
  }
}
.denhamSection {
  padding-top: 80px;
  height: auto;
  padding-bottom: 80px;
  min-height: initial;
}
@media screen and (max-width: 767px) {
  .denhamSection {
    padding-bottom: 21.333333333333336vw;
  }
}
.denhamSection .sectionImageWrapper {
  position: relative;
  width: 42.8125vw;
  height: auto;
  margin: 0 auto 25px;
}
@media screen and (max-width: 767px) {
  .denhamSection .sectionImageWrapper {
    width: 78.13333333333333vw;
  }
}
.denhamSection .sectionImageWrapper img {
  -o-object-fit: initial;
     object-fit: initial;
  width: 100%;
  height: auto;
}
.denhamSection .brandSectionTitle {
  position: relative;
  margin-bottom: 13px;
  text-align: center;
  top: 0;
}
.denhamSection .sectionInfoWrapper {
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 42.8125vw;
}
@media screen and (max-width: 767px) {
  .denhamSection .sectionInfoWrapper {
    width: 78.13333333333333vw;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .denhamSection .sectionText {
    margin-bottom: 0;
  }
}
.backtotopBtnWrapper {
  margin-top: -1px;
  text-align: center;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .backtotopBtnWrapper {
    padding-bottom: 21.333333333333336vw;
  }
}
.backtotopBtnWrapper a.backtotopBtn {
  display: inline-block;
  position: relative;
  color: #d3d3d3;
  font-size: 0.9375vw;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .backtotopBtnWrapper a.backtotopBtn {
    font-size: 3.2vw;
  }
}
.backtotopBtnWrapper a.backtotopBtn:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin-bottom: 3.5px;
  background-color: #d3d3d3;
}
@media (max-width: 767px) {
  .nhSection .sectionStickyBgImage:nth-of-type(2) {
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
  .nhSection .sectionStickyBgImage:nth-of-type(2).is-faded {
    opacity: 0;
  }
}
.modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
  background-color: #fff;
  height: 100vh;
  width: 100%;
}
.modal.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.modal__backdrop {
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
  position: absolute;
  inset: 0;
}
.modal__dialog {
  position: absolute;
  background: #fff;
  color: #000;
  overflow: hidden;
  display: grid;
  place-items: center;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.25s ease, transform 0.6s ease;
  transition: opacity 0.25s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
  will-change: opacity, transform;
}
.modal.is-visible .modal__backdrop {
  opacity: 1;
}
.modal.is-visible .modal__dialog {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.modal__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9999;
  width: 2.34375vw;
  height: 2.34375vw;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.modal__slider {
  width: 100vw;
  height: 100%;
}
.modal__slider .modal-slide {
  width: 100%;
  height: 100%;
}
.modal__slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background: #000;
}
.slideInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .slideInner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0;
  }
}
.modalBrand {
  font-size: 1.5625vw;
  margin-left: 10px;
  width: 25%;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.modalImage {
  padding: 1.25vw;
  height: auto;
  max-height: 100vh;
  max-width: 50%;
  background-color: #fafafa;
  aspect-ratio: 575/768;
  max-height: 100vh;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.modalImage img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.modalInfo {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: end;
      align-self: flex-end;
  padding-bottom: 1.25vw;
}
.modalShopInfo {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-right: 10px;
  z-index: 4;
}
.modalShopInfo a {
  font-size: 0.9375vw;
  position: relative;
}
.modalShopInfo a:after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #707070;
  -webkit-transition: background ease-in-out 0.2s;
  transition: background ease-in-out 0.2s;
}
.modalShopInfo a:hover:after {
  background: #000;
}
.modalProductInfoWrapper {
  width: 100%;
}
.modalProductInfo {
  font-size: 0.859375vw;
  line-height: calc(13 / 11);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
}
.modalProductInfo:before {
  content: '';
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ebebeb;
  height: 1px;
  margin-bottom: 3px;
  z-index: -1;
}
.modalProductInfo .parts {
  width: 5.46875vw;
  padding-left: 0.390625vw;
}
.modalProductInfo .price {
  width: 4.6875vw;
}
.modalProductInfo .brand {
  width: 16.40625vw;
}
@media screen and (max-width: 767px) {
  .modalProductInfo .brand {
    width: auto;
  }
}
.slick-arrow,
.slick-dots {
  display: none !important;
}
@media (pointer: fine) {
  .modal.is-open .modal__dialog {
    cursor: none;
  }
  .modal.is-open .modal__dialog * {
    cursor: inherit;
  }
  .modal__cursor {
    background: transparent;
    position: absolute;
    pointer-events: none;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    color: #000;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    left: 0;
    top: 0;
    opacity: 1;
    will-change: transform, opacity;
  }
  .modal__cursor.is-on {
    opacity: 1;
  }
  .modal__icon {
    width: 3.828125vw;
    height: 0.46875vw;
    opacity: 0;
  }
  .modal__cursor[data-dir="left"] .modal__icon-left {
    opacity: 1;
  }
  .modal__cursor[data-dir="right"] .modal__icon-right {
    opacity: 1;
  }
  .modal__counter {
    font-size: 0.859375vw;
    letter-spacing: 0.02em;
  }
}
@media (pointer: coarse) {
  .modal__cursor {
    display: none !important;
  }
  .modal__nav-btn {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 0;
    background: rgba(255,255,255,0.15);
    color: #fff;
    display: grid;
    place-items: center;
    z-index: 3;
  }
  .modal__nav-btn--prev {
    left: 8px;
  }
  .modal__nav-btn--next {
    right: 8px;
  }
  .modal__nav-btn svg {
    width: 22px;
    height: 22px;
  }
}
.modal .modal__close {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.28s ease;
  transition: opacity 0.28s ease; /* JSのfallback 280ms と合わせる */
}
.modal.is-visible .modal__close {
  opacity: 1;
  pointer-events: auto;
}
.modal.is-open:not(.is-visible) .modal__close {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .modal.is-open {
    display: block;
  }
  .modal__slider {
    width: 100vw;
    height: 100vh;
  }
  .slideInner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .modalImage {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    height: 130.66666666666666vw;
    padding: 4.266666666666667vw;
    pointer-events: none;
    margin-bottom: 7.466666666666668vw;
    aspect-ratio: 458/343;
    max-height: none;
    max-width: none;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .modalImage img {
    -o-object-position: center;
       object-position: center;
  }
  .modalBrand {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    font-size: 4.266666666666667vw;
    margin-left: 4.266666666666667vw;
    padding-bottom: 0;
    line-height: 1;
    margin-bottom: 16vw;
  }
  .modalInfo {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
    padding-left: 4.266666666666667vw;
    display: block;
    height: auto;
  }
  .modal__close {
    width: 8vw;
    height: 8vw;
    z-index: 10;
  }
  .modalShopInfo {
    position: relative;
    top: 0;
    -webkit-transform: translateX(calc(-8 / 375 * 100vw));
            transform: translateX(calc(-8 / 375 * 100vw));
    width: 100%;
    text-align: center;
    padding-bottom: 24vw;
  }
  .modalShopInfo a {
    font-size: 2.933333333333333vw;
  }
  .modalProductInfoWrapper {
    width: 100%;
    margin-bottom: 14.666666666666666vw;
  }
  .modalProductInfo {
    font-size: 2.933333333333333vw;
    line-height: calc(13 / 11);
    letter-spacing: 0.02em;
    width: 100%;
  }
  .modalProductInfo .parts {
    width: 18.666666666666668vw;
    padding-left: 1.333333333333333vw;
  }
  .modalProductInfo .price {
    width: 18.666666666666668vw;
  }
  .modal__dialog {
    overflow-y: scroll;
    overflow-x: hidden;
  }
  .modal__counter,
  .modal__counter--fixed {
    font-variant-numeric: tabular-nums;
    -webkit-font-feature-settings: "tnum";
            font-feature-settings: "tnum";
  }
  .modal__nav-btn,
  .modal__counter--fixed {
    display: none;
  }
  .modal__icon img {
    background: #fff;
  }
}
.modal__counter--fixed-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (pointer: coarse) {
  .modal__cursor {
    display: none !important;
  }
  .modal__nav-btn {
    display: grid;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 0;
    background: rgba(255,255,255,0.18);
    color: #fff;
    z-index: 3;
    place-items: center;
  }
  .modal__nav-btn--prev {
    left: 8px;
  }
  .modal__nav-btn--next {
    right: 8px;
  }
}
.modal__counter--fixed-wrapper {
  display: none;
}
@media screen and (max-width: 767px) {
  .modal__icon {
    width: 34.66666666666667vw;
    height: 100%;
  }
  .modal__icon img {
    width: 13.333333333333334vw;
  }
  .modal__counter {
    width: 31.2vw;
    text-align: center;
  }
  .modal__counter--fixed-wrapper {
    width: 100%;
    font-size: 2.933333333333333vw;
    height: 15.466666666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    position: absolute;
    margin-top: 141.86666666666667vw;
    top: 0;
    left: 0;
    z-index: 3;
    color: #000;
    padding: 0;
    background: transparent;
  }
  .modal__icon.modal__icon-left {
    padding-left: 4.266666666666667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .modal__icon.modal__icon-right {
    padding-right: 4.266666666666667vw;
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 767px) {
  .sectionStickyBgImage:nth-of-type(1) {
    opacity: 1;
  }
  .sectionStickyBgImage:nth-of-type(2) {
    opacity: 0;
  }
  .sectionStickyBgImage:nth-of-type(1) {
    -webkit-animation: cf-a 8s linear infinite;
            animation: cf-a 8s linear infinite;
    z-index: 1;
  }
  .sectionStickyBgImage:nth-of-type(2) {
    -webkit-animation: cf-b 8s linear infinite;
            animation: cf-b 8s linear infinite;
    z-index: 0;
  }
}
.modal .modal__cursor {
  -webkit-transition: opacity 0.18s ease;
  transition: opacity 0.18s ease; /* 好みで調整 */
}
.modal .modal__cursor.is-fadeout {
  opacity: 0 !important;
}
.fixedLayerArrowWrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 1;
  -webkit-transition: opacity ease-in-out 0.25s;
  transition: opacity ease-in-out 0.25s;
}
@media screen and (max-width: 767px) {
  .fixedLayerArrowWrapper {
    height: auto;
  }
}
.fixedLayerArrowWrapper .arrow {
  position: absolute;
  top: initial;
  bottom: 0;
  margin-bottom: -12px;
  left: calc(50% - 0.5px);
  height: 112px;
  width: 1px;
  background-color: #d3d3d3;
  -webkit-animation: scrollbar-anim 3s ease-in-out infinite;
          animation: scrollbar-anim 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .fixedLayerArrowWrapper .arrow {
    left: 100%;
    margin-left: -4.8vw;
    height: 22.400000000000002vw;
  }
}
.annotationWrapper {
  background: #000;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .annotationWrapper {
    padding-bottom: 21.333333333333336vw;
  }
}
.annotationContainer {
  width: 42.8125vw;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .annotationContainer {
    width: 78.13333333333333vw;
  }
}
.annotation {
  padding-left: 1.25vw;
  font-size: 0.859375vw;
  letter-spacing: -0.015em;
  line-height: calc(16 / 11);
  color: #d3d3d3;
  position: relative;
}
.annotation:before {
  content: '※';
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .annotation {
    padding-left: 4.266666666666667vw;
    font-size: 2.933333333333333vw;
  }
}
@-webkit-keyframes scrollbar-anim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  40% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  45% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  90%, 100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@keyframes scrollbar-anim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  40% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  45% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  90%, 100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@-webkit-keyframes cf-a {
  0% {
    opacity: 1;
  }
  41.6667% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  91.6667% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes cf-a {
  0% {
    opacity: 1;
  }
  41.6667% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  91.6667% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes cf-b {
  0% {
    opacity: 0;
  }
  41.6667% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  91.6667% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes cf-b {
  0% {
    opacity: 0;
  }
  41.6667% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  91.6667% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
html.no-smooth-scroll,
body.no-smooth-scroll {
  scroll-behavior: auto !important;
}
.u-pc-ele {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-pc-ele {
    display: none !important;
  }
}
.u-sp-inline-block {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-inline-block {
    display: inline-block !important;
  }
}
.u-sp-inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-inline {
    display: inline !important;
  }
}
.u-sp-block {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp-block {
    display: block !important;
  }
}
.u-sp-flex {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.css-btn-hover {
  -webkit-transition: all ease-in-out 0.2s;
  transition: all ease-in-out 0.2s;
  -webkit-box-shadow: 8px 8px rgba(200,200,200,0.4);
          box-shadow: 8px 8px rgba(200,200,200,0.4);
}
@media screen and (max-width: 767px) {
  .css-btn-hover {
    -webkit-box-shadow: 5px 5px rgba(200,200,200,0.4);
            box-shadow: 5px 5px rgba(200,200,200,0.4);
  }
}
.css-btn-hover:hover {
  -webkit-transform: translate(8px, 8px);
          transform: translate(8px, 8px);
  -webkit-box-shadow: 0px 0px;
          box-shadow: 0px 0px;
}
@media screen and (max-width: 767px) {
  .css-btn-hover:hover {
    -webkit-box-shadow: 5px 5px rgba(200,200,200,0.4);
            box-shadow: 5px 5px rgba(200,200,200,0.4);
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.css-hover {
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}
.css-hover:hover {
  opacity: 0.7;
}
.js-slidein {
  -webkit-transition: opacity ease-out 0.6s, -webkit-transform ease-out 0.6s;
  transition: opacity ease-out 0.6s, -webkit-transform ease-out 0.6s;
  transition: opacity ease-out 0.6s, transform ease-out 0.6s;
  transition: opacity ease-out 0.6s, transform ease-out 0.6s, -webkit-transform ease-out 0.6s;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
.js-slidein.is-view {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
section.isBgWhite {
  background-color: #fff;
}
section.isBgGrey {
  background-color: #fff;
  -webkit-transition: background-color 0.25s linear;
  transition: background-color 0.25s linear;
}
section.isBgBlack {
  background-color: #fff;
  -webkit-transition: background-color 0.25s linear;
  transition: background-color 0.25s linear;
}
.isAlwaysBlack {
  background-color: #000;
}
.isAlwaysBlack .brandSectionTitle,
.isAlwaysBlack .sectionInfoWrapper {
  color: #d3d3d3;
}
.sectionImageWrapper .sectionImage {
  overflow: hidden;
}
.sectionImageWrapper .sectionImage img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform ease-out 1s;
  transition: -webkit-transform ease-out 1s;
  transition: transform ease-out 1s;
  transition: transform ease-out 1s, -webkit-transform ease-out 1s;
}
.sectionImageWrapper .sectionImage:hover img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.js-fadein {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
  will-change: opacity;
}
.js-fadein.is-shown {
  opacity: 1;
}
