@font-face {
  font-family: 'Yosugara';
  src: url('fonts/yosugaraver1_2.ttf') format('truetype');
}

/* === 基本設定 === */
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  font-family: 'Yosugara', sans-serif;
  scrollbar-width: none;
}

body {
  overflow-y: scroll;
  
}

body::-webkit-scrollbar {
  display: none;
}


/* === ヘッダー === */
header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background-color: rgba(200, 245, 245, 0.7);
  align-items: center;
  z-index: 10;
}

.logo {
  position: absolute;
  top: 0.5%;
  left: 3.13%;
  font-size: 312.5%;
}

.lists {
  list-style: none;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 156.25%;
  display: flex;
}

.TOP_P a,
.SAKUHIN a,
.froom a {
  margin-right: 30px;
  color: #000;
  text-decoration: none;
}

a:hover {
  background-color: rgba(142, 154, 154, 0.1);
  border-radius: 8px;
}


/* === メイン === */
main {
  position: relative;       /* 絶対配置の基準 */
  min-height: calc(100vh - 60px);
  padding-top: 0px;
  padding-bottom: 0px;
}

/* === 作品文 === */
.words1 {
  font-size: 190%;
}

.now3,
.word2 {
  font-size: 150%;
}

/* ===== パソコン版文字配置（top −40% 修正版） ===== */
.now1 {
  position: absolute;
  top: 25%;   /* ← 元の65% − 40% */
  left: 40%;
}

.now2 {
  position: absolute;
  top: 32%;   /* ← 元の72% − 40% */
  left: 40%;
}

.now3 {
  position: absolute;
  top: 50%;   /* ← 元の90% − 40% */
  left: 40%;
  background: linear-gradient(
    transparent 60%,            
    rgba(181, 250, 255, 0.2) 40%
  );
}

.now4 {
  position: absolute;
  top: 65%;   /* ← 元の105% − 40% */
  left: 32%;
}

.now5 {
  position: absolute;
  top: 82%;   /* ← 元の122% − 40% */
  left: 33%;
}

/* === フッター === */
footer {
  position: fixed;
  display: flex;
  height: 40px;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgb(200, 245, 245, 0.7);
  text-align: center;
  padding: 10px 0;
  z-index: 100;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  gap: 20px;
}
.PP {
  color: black;
  text-decoration: none;
}

.menu-btn {
  display: none;
}


/* === スマホ版 === */
@media screen and (max-width: 768px) {
  header {
    height: 60px;
    background-color: rgba(200, 245, 245, 0.7);
    z-index: 5;
  }

  .logo {
    position: absolute;
    left: 3.13%;
    top: 2%;
    font-size: 156.25%;
  }

  .menu-btn {
    position: fixed;
    display: block;
    top: 2%;
    right: 5%;
    font-size: 30px;
    cursor: pointer;
    z-index: 1000;
  }

  .lists {
    position: fixed;
    top: 0;
    right: -100%;
    width: 50%;
    height: 40%;
    background: rgba(212, 243, 245, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: right 0.4s ease;
    border-radius: 20px 0 0 20px;
    z-index: 1500;
  }

  .lists.is-open {
    right: 0;
  }

  .lists li {
    margin: 20px 0;
  }

  .menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 70%;
    height: 100%;
    background-color: rgba(181, 250, 255, 0.2);
    transition: right 0.4s ease;
    z-index: 1500;
  }

  .menu.is-open {
    right: 0;
  }

  .menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 1000;
  }

  .menu-overlay.is-open {
    display: block;
  }

  /* === スマホ文字配置 === */
  .words1 {
    font-size: 125%;
  }

  .now3,
  .word2 {
    font-size: 93.75%;
  }

  .now4,
  .now5 {
    font-size: 75%;
  }

  .now1 {
    position: absolute;
    left: 20%;
    top: 20%;
    font-size: 90%;
  }

  .now2 {
    position: absolute;
    left: 22%;
    top: 25%;
    font-size: 85%;
  }

  .now3 {
    position: absolute;
    top: 35%;
    left: 20%;
    background: linear-gradient(
      transparent 60%,            
      rgba(181, 250, 255, 0.2) 40%
    );
  }

  .now4 {
    position: absolute;
    top: 50%;
    left: 10%;
  }

  .now5 {
    position: absolute;
    top: 53%;
    left: 12%;
  }
footer {
  position: fixed;
  display: flex;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px; /* お問い合わせ基準サイズ */
  background-color: rgba(200, 245, 245, 0.7);
  text-align: center;
  padding: 0;
  z-index: 100;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 63%;
  line-height: 1.2;
  padding-bottom: env(safe-area-inset-bottom); /* ← スマホ（iPhone/Android）UI干渉防止 */
}

.PP {
  color: black;
  text-decoration: none;
}

.PP:hover {
  text-decoration: underline;
}


}