@charset "utf-8";

/* location page
 * ========================================================================== */
/* common style */
.location header .menu-trigger .line {
  background-color: #000;
}

section {
  margin: 0 auto;
  width: 100%;
  position: relative
}

.bg {
  background: linear-gradient(117.47deg, #DEE5EC 0.41%, #FFFBF7 35.76%);
}

.js-trigger.fade {
  opacity: 0;
}

.js-trigger._on.fade {
  opacity: 1;
  transition: opacity 2s;
}

#caption {
  background: #fff;
}

#caption .sectionItem {
  padding: 60px 20px;
  margin: auto;
}

#bnr_bz,
#copyright {
  position: relative;
}

#corpotation_link {
  position: relative;
  background: var(--color-white);
}

footer {
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 619px) {
  #caption {
    margin: 0;
  }
}

/* mainvisual */
#mainvisual {
  overflow: hidden;
  aspect-ratio: 1900 / 780;
}

#mainvisual .mainvisualInner {
  background: #000;
  clip-path: inset(0 0 0 0);
}

#mainvisual .mainvisualCopy picture {
  opacity: 0;
}

#mainvisual._on .mainvisualCopy picture {
  opacity: .9;
  transition: opacity 4s;
}

#mainvisual .mainvisualCopy picture>div {
  height: 100%;
  filter: blur(4px);
  transform: translateY(-10%);
}

#mainvisual._on .mainvisualCopy picture>div {
  filter: blur(0);
  transform: translateY(-20%);
  transition: all 4s ease-out;
}

#mainvisual h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  color: #fff;
  text-align: center;
  text-shadow: rgba(0, 0, 0, .6) 1px 1px 10px, rgba(0, 0, 0, .6) -1px 1px 10px, rgba(0, 0, 0, .6) 1px -1px 10px, rgba(0, 0, 0, .6) -1px -1px 10px;
  font-size: 90px;
  font-weight: 100;
  letter-spacing: 8px;
  line-height: 1;
  opacity: 0;
}

#mainvisual._on h2 {
  opacity: 1;
  transition: opacity 4s 2s;
}

#mainvisual .mainvisualCopy .caption {
  position: absolute;
  right: 10px;
  bottom: 5px;
  color: #fff;
}

/* @media
 * ========================================================================== */
@media screen and (max-width: 1024px) {
  #mainvisual h2 {
    font-size: 60px;
  }
}

@media screen and (max-width: 619px) {
  #mainvisual {
    aspect-ratio: 750 / 685;
  }

  #mainvisual._on .mainvisualCopy picture {
    opacity: .9;
  }

  #mainvisual .mainvisualCopy picture>div {
    transform: translateY(5%);
  }

  #mainvisual._on .mainvisualCopy picture>div {
    transform: translateY(-3%);
    transition: transform 4s ease-out;
  }

  #mainvisual h2 {
    font-size: 38px;
    letter-spacing: 0;
  }

  #mainvisual._on h2 {
    transition: opacity 4s 1s;
  }
}

@media screen and (max-width: 320px) {}

/* lead */
#lead {
  padding: 150px 0;
}

#lead .leadInner {
  margin: auto;
  width: 90%;
  max-width: 1240px;
  text-align: center;
}

#lead .leadCopy {
  position: relative;
}

#lead h3 .font-en {
  display: block;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 100;
  color: var(--color-gold);
  line-height: 1;
  letter-spacing: 2px;
}

#lead h3 .jp {
  display: block;
  margin-bottom: 50px;
  font-family: A1 Mincho, YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 46px;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 4px;
}

#lead p {
  font-size: 20px;
  font-weight: 300;
  line-height: 2.5;
  letter-spacing: 2px;
}

/* @media
 * ========================================================================== */
@media screen and (max-width: 1300px) {}

@media screen and (max-width: 619px) {
  #lead {
    padding: 80px 0;
  }

  #lead .leadCopy {
    position: relative;
  }

  #lead h3 .font-en {
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 1px;
  }

  #lead h3 .jp {
    margin-bottom: 30px;
    font-size: 24px;
  }

  #lead p {
    font-size: 14px;
    line-height: 2.2;
  }
}

@media screen and (max-width: 320px) {}

/* landscape */
#landscape {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1900 / 775;
}

#landscape .landscapeCopy picture {
  position: absolute;
  inset: 0;
}

#landscape .landscapeCopy picture img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  clip-path: inset(0 10% 0 10%);
  filter: blur(20px);
  transition: clip-path 1s ease 1s, filter 1s ease 1s;
}

#landscape._on .landscapeCopy picture img {
  clip-path: inset(0 0 0 0);
  filter: blur(0);
}

#landscape .caption {
  position: absolute;
  right: 10px;
  bottom: 5px;
  color: var(--color-white);
}

/* @media
 * ========================================================================== */
@media screen and (max-width: 1024px) {}

@media screen and (max-width: 619px) {
  #landscape {
    aspect-ratio: 750 / 398;
  }
}
@media screen and (max-width: 320px) {}

/* spot */
.spot {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
}

.spot .spotCopy {
  position: relative;
}

.spot h3 {
  display: block;
  margin-bottom: 40px;
  font-size: 80px;
  font-weight: 200;
  color: var(--color-gold);
  line-height: 1.4;
  letter-spacing: 4px;
}

.spot .txt {
  font-size: 20px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 1px;
}

#shopping .spotCopy {
  padding: 12% 0 0 17%;
}

#nature .spotInner {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  padding-right: 17%;
}

#nature .spotCopy {
  padding-top: 12%;
  text-align: center;
  max-width: 500px;
}

#nature .spotCopy .txt {
  text-align: right;
}

/* @media
 * ========================================================================== */
@media screen and (max-width: 1024px) {
  .spot h3 {
    font-size: 60px;
    letter-spacing: 2px;
  }
  
  .spot .txt {
    font-size: 16px;
  }
}

@media screen and (max-width: 619px) {
  .spot {
    position: static;
    height: auto;
  }
  
  .spot h3 {
    margin-bottom: 20px;
    font-size: 30px;
  }
  
  .spot .txt {
    font-size: 14px;
  }
  
  #shopping .spotCopy {
    padding: 15% 5%;
  }
  
  #nature .spotInner {
    padding: 0 5%;
  }
  
  #nature .spotCopy {
    padding-top: 20%;
    text-align: right;
  }

}

@media screen and (max-width: 320px) {}

/* photo */
.photo {
  position: relative;
  padding-bottom: 15%;
  z-index: 2;
}

.photo .img {
  position: relative;
  overflow: hidden;
}

.photo .img picture {
  display: block;
  width: 100%;
  height: 100%;
}

.photo .img picture img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 30px);
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
  clip-path: inset(0 0 0);
  filter: blur(30px);
  transition: clip-path 1s ease, filter 1s ease, opacity 1s ease, transform 1s ease .2s;
}

.photo .img._on picture img {
  clip-path: inset(0 0 0 0);
  filter: blur(0);
  opacity: 1;
  transform: translate(-50%, 0);
}

.photo .img .caption {
  position: absolute;
  right: 10px;
  bottom: 5px;
  color: var(--color-white);
  text-shadow: rgba(0,0,0,.5) 1px 1px 3px, rgba(0,0,0,.5) -1px 1px 3px, rgba(0,0,0,.5) 1px -1px 3px, rgba(0,0,0,.5) -1px -1px 3px;
  opacity: 0;
  transition: opacity 1s ease 1s;
}

.photo .img._on .caption {
  opacity: 1;
}

#shopping2 .img01 {
  margin-left: 57.2%;
  width: 42.8%;
  aspect-ratio: 841 / 890;
}

#shopping2 .img02 {
  margin-top: -32%;
  width: 42.2%;
  aspect-ratio: 803 / 525;
}

#shopping2 .img03 {
  margin: 15% 0 0 9%;
  width: 41.0%;
  aspect-ratio: 780 / 500;
}

#shopping2 .img04 {
  margin: -18% 0 0 65.3%;
  width: 34.7%;
  aspect-ratio: 660 / 792;
}

#shopping2 .img05 {
  margin-top: -8%;
  width: 42.2%;
  aspect-ratio: 803 / 521;
}

#shopping2 .img06 {
  margin: -6% 0 0 58%;
  width: 33.3%;
  aspect-ratio: 633 / 450;
}

#shopping2 .img07 {
  margin-top: -4%;
  width: 41.0%;
  aspect-ratio: 780 / 510;
}

#shopping2 .img08 {
  margin: -10% 0 0 69%;
  width: 31.0%;
  aspect-ratio: 590 / 660;
}

#shopping2 .img02 .caption {
  text-shadow: none;
}

#shopping2 .img04 .caption {
  color: var(--color-balck);
  text-shadow: none;
}

#nature2 .img01 {
  margin-top: -40%;
  width: 42.8%;
  aspect-ratio: 798 / 1000;
}

#nature2 .img02 {
  margin: -16% 0 0 57.8%;
  width: 42.2%;
  aspect-ratio: 803 / 528;
}

#nature2 .img03 {
  margin: 15% 0 0 9%;
  width: 41.0%;
  aspect-ratio: 780 / 640;
}

#nature2 .img04 {
  margin: -12% 0 0 67.7%;
  width: 32.3%;
  aspect-ratio: 614 / 670;
}

#nature2 .img05 {
  margin-top: -7%;
  width: 42.2%;
  aspect-ratio: 803 / 549;
}

#nature2 .img06 {
  margin: 9% 0 0 13%;
  width: 20.7%;
  aspect-ratio: 391 / 278;
}

#nature2 .img07 {
  margin: -24% 0 15% 62.2%;
  width: 37.8%;
  aspect-ratio: 720 / 524;
}

#nature2 .img08 {
  margin: -8% 0 0 8%;
  width: 42.0%;
  aspect-ratio: 799 / 497;
}

#nature2 .img03 .caption {
  color: var(--color-balck);
  text-shadow: none;
}

#nature2 .img08 .caption {
  color: var(--color-balck);
  text-shadow: white 1px 1px 1px,white -1px 1px 1px,white 1px -1px 1px,white -1px -1px 1px,white 0 0 2px,white 0 0 2px,white 0 0 2px;
}
/* @media
 * ========================================================================== */
@media screen and (max-width: 1024px) {}

@media screen and (max-width: 619px) {
  #shopping2 .img01 {
    margin-left: 20%;
    width: 80%;
    aspect-ratio: 623 / 681;
  }
  
  #shopping2 .img02 {
    margin: 15% 0 0 0;
    width: 75%;
    aspect-ratio: 596 / 390;
  }
  
  #shopping2 .img03 {
    margin: 15% 10% 0;
    width: 80%;
    aspect-ratio: 600 / 385;
  }
  
  #shopping2 .img04 {
    margin: 15% 0 0 25%;
    width: 75%;
    aspect-ratio: 560 / 673;
  }
  
  #shopping2 .img05 {
    margin-top: 15%;
    width: 75%;
    aspect-ratio: 550 / 358;
  }
  
  #shopping2 .img06 {
    margin: 15% 0 0 25%;
    width: 75%;
    aspect-ratio: 550 / 393;
  }
  
  #shopping2 .img07 {
    margin-top: 15%;
    width: 75%;
    aspect-ratio: 550 / 354;
  }
  
  #shopping2 .img08 {
    margin: 15% 0 0 35%;
    width: 65%;
    aspect-ratio: 496 / 554;
  }
  
  #shopping2 .img02 .caption {
    left: 10px;
  }
  
  #shopping2 .img06 .caption {
    text-align: right;
  }
  
  #nature2 .img01 {
    margin-top: 20%;
    width: 80%;
    aspect-ratio: 623 / 681;
  }
  
  #nature2 .img02 {
    margin: 15% 0 0 25%;
    width: 75%;
    aspect-ratio: 596 / 390;
  }
  
  #nature2 .img03 {
    margin: 15% 0 0 0;
    width: 65%;
    aspect-ratio: 470 / 411;
  }
  
  #nature2 .img04 {
    margin: 15% 0 0 25%;
    width: 75%;
    aspect-ratio: 600 / 655;
  }
  
  #nature2 .img05 {
    margin-top: 15%;
    width: 70%;
    aspect-ratio: 550 / 377;
  }
  
  #nature2 .img06 {
    margin: 15% 20%;
    width: 60%;
    aspect-ratio: 391 / 278;
  }
  
  #nature2 .img07 {
    margin: 10% 0 0 25%;
    width: 75%;
    aspect-ratio: 560 / 408;
  }
  
  #nature2 .img08 {
    margin: 15% 0 0 0;
    width: 85%;
    aspect-ratio: 640 / 399;
  }
  
  #nature2 .img02 .caption {
    left: 10px;
  }
  
  #nature2 .img06 .caption {
    color: var(--color-balck);
    text-shadow: none;
  }
  
  #nature2 .img08 .caption {
    text-shadow: none;
  }
}

@media screen and (max-width: 320px) {}