/* 基本的なフォントと背景色の設定 */
body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #FDFCFB; /* 少し温かみのある白 */
    -webkit-font-smoothing: antialiased; /* iOSでの文字を滑らかにする設定 */
    -moz-osx-font-smoothing: grayscale;
}

h1, h2 {
    font-family: 'Zen Old Mincho', serif; /* 見出し用のフォント */
}

/* テキストのグラデーション効果 */
.text-gradient {
    background-image: linear-gradient(to right, #00A4C6, #00C6A9);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* サンプルサイトのスマホ風フレームのスタイル */
.mobile-frame {
  display: inline-block;
  width: 100%;
  max-width: 281px; /* 375pxから75%に縮小 */
  height: 500px; /* 667pxから75%に縮小 */
  border: 6px solid #000; /* 8pxから縮小 */
  border-radius: 20px; /* 25pxから縮小 */
  padding: 11px 4px; /* 15px 5pxから縮小 */
  background: #000;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  margin: 20px auto;
  position: relative;
  box-sizing: content-box;
}

/* スマホ風フレームの上部ノッチ */
.mobile-frame::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 4px;
  background: #333;
  border-radius: 2px;
}

.mobile-frame iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 12px; /* 15pxから縮小 */
  background: white;
}

/* スマホ風フレームのホームボタン */
.mobile-frame .home-button-mock {
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px; /* 24pxから縮小 */
    height: 18px; /* 24pxから縮小 */
    background: #444;
    border-radius: 50%;
    border: 1px solid #555;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.1);
}


/* === 全体のサイズ感を調整 === */
html {
    font-size: 15px; /* PC表示の基準サイズを少し小さく（デフォルトは16px）*/
}


/* === スマホ表示用の設定 (768px以下) === */
@media (max-width: 768px) {
  /*
   * htmlの基本フォントサイズをさらに小さくすることで、
   * rem単位を使用しているTailwindの文字サイズ全体が相対的に小さくなります。
   */
  html {
    font-size: 12px;
  }

  /* 画面が小さい時のスマホ風フレームの調整 */
  .mobile-frame {
    max-width: 240px; /* 320pxから75%に縮小 */
    height: 426px; /* 568pxから75%に縮小 */
    border-width: 5px;
    border-radius: 15px;
    padding: 8px 2px;
  }
  .mobile-frame iframe {
    border-radius: 10px;
  }
  .mobile-frame .home-button-mock {
    width: 15px;
    height: 15px;
  }
}