@charset "UTF-8";
:root {
  --color-base: #93a2b9;
  --color-over: #677b99; }

.sp {
  display: none; }

.curtain {
  position: fixed;
  bottom: -20%;
  left: 0;
  width: 100%;
  height: 120%;
  background: linear-gradient(to bottom, var(--color-base) 80%, rgba(200, 186, 163, 0) 100%);
  z-index: 5;
  pointer-events: none; }

.glass {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 33%;
  height: 100vh;
  z-index: 1;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  background: url("../img/pht/noise.webp") no-repeat left top;
  background-size: cover; }

.glass2 {
  position: absolute;
  display: block;
  left: 33%;
  top: 0;
  width: 33%;
  height: 100vh;
  z-index: 1;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  background: url("../img/pht/noise.webp") no-repeat left top;
  background-size: cover; }

.glass3 {
  position: absolute;
  display: block;
  left: 66%;
  top: 0;
  width: 34%;
  height: 100vh;
  z-index: 1;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  background: url("../img/pht/noise.webp") no-repeat left top;
  background-size: cover; }

.fadeOut {
  animation-name: fadeOutAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 1;
  animation-delay: 1s;
  animation-timing-function: ease-out; }

@keyframes fadeOutAnime {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-100%); } }
.fadeOut2 {
  animation-name: fadeOutAnime2;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 1;
  animation-delay: 1.1s;
  animation-timing-function: ease-out; }

@keyframes fadeOutAnime2 {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-100%); } }
.fadeOut3 {
  animation-name: fadeOutAnime3;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 1;
  animation-delay: 1.2s;
  animation-timing-function: ease-out; }

@keyframes fadeOutAnime3 {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-100%); } }
#mainVisual {
  position: relative;
  overflow: hidden;
  margin-bottom: 5%;
  background: var(--color-base);
  height: 100vh;
  background: url("../img/pht/mv_pc.webp") no-repeat center center;
  background-size: cover; }
  #mainVisual h1 {
    width: 12%;
    position: absolute;
    left: 4%;
    top: 45%;
    z-index: 10; }
  #mainVisual .ttl2 {
    width: 12%;
    position: absolute;
    left: 4%;
    top: 4%;
    z-index: 10; }
  #mainVisual .ttl3 {
    width: 10%;
    position: absolute;
    right: 4%;
    bottom: 4%;
    z-index: 10; }
  #mainVisual .ttl4 {
    width: 4%;
    position: absolute;
    right: 4%;
    top: 3%;
    z-index: 10; }

.hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
  background: #fff; }

/* 写真：最初は「眠い」状態 */
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: blur(12px) brightness(1.15) contrast(2.8);
  transform: scale(1.1);
  transition: opacity 1.6s ease, filter 2.2s cubic-bezier(0.4, 0, 0.2, 1), transform 2.6s cubic-bezier(0.4, 0, 0.2, 1); }

/* 白い光 */
.hero-white {
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: 2;
  opacity: 1;
  transition: opacity 1.4s ease; }

/* 読み込み後 */
.hero.is-loaded .hero-img {
  opacity: 1;
  filter: blur(0px) brightness(1) contrast(1);
  transform: scale(1); }

.hero.is-loaded .hero-white {
  opacity: 0; }

.txtArea {
  padding: 2% 8%;
  font-size: 1.0vw;
  margin-bottom: 5%;
  text-align: center; }

.phtArea {
  position: relative;
  width: 1000px;
  margin: 0 auto 0% auto; }

.subTtl {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 1.6vw;
  letter-spacing: 0;
  position: sticky;
  position: -webkit-sticky;
  top: calc(100% - 95%);
  left: calc(100% - 97%);
  width: 40%;
  z-index: 2; }

.phtWarp1 {
  width: 50%;
  margin: 0 auto 2% auto; }

.phtWarp9 {
  width: 49%;
  margin: 0 auto 5% auto; }

.phtWarp75 {
  width: 49%;
  margin: 0 auto 5% auto; }

.fr {
  width: 49%;
  float: right;
  margin-bottom: 20px; }

.fl {
  width: 49%;
  float: left;
  margin-bottom: 20px; }

.top {
  margin: 0 auto 20px auto; }

.sec {
  margin-top: -80px; }

.warp {
  margin-bottom: 150px;
  clear: both; }

.detail {
  width: 70%;
  padding-top: 20px;
  margin: 0 auto;
  font-size: 14px;
  clear: both; }
  .detail .txt {
    text-align: left;
    margin-bottom: 30px;
    text-align: justify; }
  .detail h3 {
    text-align: center;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 15px;
    margin-bottom: 15px; }
    .detail h3 span {
      border-bottom: 1px solid #000; }
  .detail .read {
    text-align: center;
    margin-bottom: 20px;
    font-size: 11px; }
  .detail .linkBtn {
    width: 40%;
    text-align: center;
    margin: 0 auto 30px auto; }
    .detail .linkBtn a {
      display: block;
      background: var(--color-base);
      border-radius: 2px;
      color: #fff;
      position: relative;
      padding: 5% 0; }
      .detail .linkBtn a .arrow {
        width: 2%;
        position: absolute;
        right: 5%;
        top: 40%; }
    .detail .linkBtn .img {
      display: block;
      background: var(--color-base);
      border-radius: 2px;
      color: #fff;
      position: relative;
      padding: 5% 0; }
      .detail .linkBtn .img .more {
        width: 18%; }
      .detail .linkBtn .img .arrow {
        width: 2%;
        position: absolute;
        right: 5%;
        top: 40%; }
    .detail .linkBtn .pc {
      display: none; }
    .detail .linkBtn a:hover {
      background: var(--color-over); }
  .detail ul.umlink {
    display: flex;
    justify-content: center; }
    .detail ul.umlink li {
      width: 48%; }
      .detail ul.umlink li .linkBtn {
        width: 85%; }

#nouv-salon {
  position: relative;
  width: 1000px;
  margin: 0 auto 0% auto;
  padding-top: 18%; }

#galarie {
  position: relative;
  width: 1000px;
  margin: 0 auto 0% auto; }

#cabinet {
  position: relative;
  width: 1000px;
  margin: 0 auto 0% auto; }

#slender {
  position: relative;
  width: 1000px;
  margin: 0 auto 0% auto; }

#linkArea {
  width: 50%;
  margin: 0 auto 100px auto; }
  #linkArea ul {
    display: flex;
    justify-content: space-between; }
    #linkArea ul li {
      text-align: center;
      width: 48%; }
      #linkArea ul li a {
        display: block;
        background: var(--color-base);
        border-radius: 2px;
        color: #fff;
        position: relative;
        padding: 15px 0;
        font-size: 1.1vw; }
        #linkArea ul li a .arrow {
          width: 2%;
          position: absolute;
          right: 5%;
          top: 40%; }
      #linkArea ul li .img {
        display: block;
        background: var(--color-base);
        border-radius: 2px;
        color: #fff;
        position: relative;
        padding: 15px 0; }
        #linkArea ul li .img .vol {
          width: 14%; }
        #linkArea ul li .img .arrow {
          width: 2%;
          position: absolute;
          right: 5%;
          top: 40%; }
      #linkArea ul li .sp {
        display: none; }
      #linkArea ul li a:hover {
        background: var(--color-over); }

footer {
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 12px;
  padding: 30px 0 20px 0; }
  footer small {
    display: block;
    font-family: "Almarai", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 10px;
    padding: 8px 0; }
