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

.pc {
  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: 20%;
  background: var(--color-base);
  height: 100vh;
  background: url("../img/pht/mv_sp.webp") no-repeat left bottom;
  background-size: cover; }
  #mainVisual h1 {
    width: 30%;
    position: absolute;
    left: 5%;
    top: 45%;
    z-index: 10; }
  #mainVisual .ttl2 {
    width: 30%;
    position: absolute;
    left: 5%;
    top: 4%;
    z-index: 10; }
  #mainVisual .ttl3 {
    width: 30%;
    position: absolute;
    right: 5%;
    bottom: 4%;
    z-index: 10; }
  #mainVisual .ttl4 {
    width: 8%;
    position: absolute;
    right: 5%;
    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: 5% 8%;
  font-size: 3.6vw;
  margin-bottom: 20%;
  font-feature-settings: "palt" 1; }

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

.phtWarp1 {
  width: 100%;
  margin: 0 auto 5% auto;
  overflow: hidden; }

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

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

.warp {
  padding-top: 5%;
  margin-bottom: 40%; }

.detail {
  width: 75%;
  padding-top: 5%;
  margin: 0 auto;
  font-size: 13px; }
  .detail .txt {
    text-align: left;
    margin-bottom: 5%;
    text-align: justify; }
  .detail h3 {
    text-align: center;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 15px;
    margin-bottom: 5%;
    letter-spacing: 0; }
    .detail h3 span {
      border-bottom: 1px solid #000; }
  .detail .read {
    text-align: center;
    margin-bottom: 4%;
    font-size: 11px; }
  .detail .linkBtn {
    width: 100%;
    text-align: center;
    margin-bottom: 8%; }
    .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); }

#linkArea {
  padding: 0 0 15% 0; }
  #linkArea ul {
    width: 80%;
    margin: 0 auto; }
    #linkArea ul li {
      text-align: center;
      margin-bottom: 4%; }
      #linkArea ul li a {
        display: block;
        background: var(--color-base);
        border-radius: 2px;
        color: #fff;
        position: relative;
        padding: 5% 0; }
        #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: 5% 0; }
        #linkArea ul li .img .vol {
          width: 18%; }
        #linkArea ul li .img .arrow {
          width: 2%;
          position: absolute;
          right: 5%;
          top: 40%; }
      #linkArea ul li .pc {
        display: none; }
      #linkArea ul li a:hover {
        background: var(--color-over); }
    #linkArea ul li:last-child {
      margin-bottom: 0; }

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; }
