
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: "M PLUS Rounded 1c", sans-serif;
}


.image-container1 {
  background-color: #ffffff;
  border: 6px solid #8BA873;  
  border-radius: 8px;
  padding: 16px;
  margin: 0 auto 24px;       
  width: 90%;                 
  max-width: 700px;         
  box-sizing: border-box;    
}

.mb50 {
  background-color: #f2fce6;
  padding-top: 5%; 
  padding-bottom: 5%;
}


/* 左側のテキスト部分 */
.header-left p {
  margin: 0;
  font-size: 25px;
  color: white;
  font-weight: bold;
}

/* 右側リンク部分 */
.header-right {
  margin-right: 5%;
  display: flex;
  gap: 50px;
}

.header-right a {
  color: white;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}

.header-right a:hover {
  text-decoration: underline;
}


.hyou-wrapper {
  position: relative;
  width: 100%;
  max-width: 800px;   /* 必要に応じて変えてOK */
  margin: 0 auto 40px auto;  /* 既存のマージン設定をそのまま活かす */
}

/* (B) 見出し画像 */
.hyou-img {
  display: block;
  width: 100%;
  height: auto;
}

.overlay-btn {
  position: absolute;
  /* 画像（hyou-img）の下端から 8.5％ 上に配置 */
  bottom: 8.5%;
  /* ボタン幅は見出し画像幅の20% */
  width: 20%;
  height: auto;
  z-index: 10;
}

/* ボタン１～３それぞれの左右位置を指定 */
.btn1 {
  left: 19.5%;
    top: 89%;
  position: absolute;
  width: 20%;
}
.btn2 {
  left: 48%;
  top: 89%;
  position: absolute;
  width: 20%;
}
.btn3 {
  left: 75.8%;
  top: 89%;
  position: absolute;
  width: 20%;
}


/* 画像同士の余白などが必要なら、たとえば */
.image-container .ranking-img,
.image-container .jikan-img,
.image-container .bunshou-img,
.image-container .botan-img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8px;  /* 必要に応じて上下間隔 */
}

/* jikan-img（最短時間アイコン） */
.jikan-img {
  display: block;
  width: 70%;
  height: auto;
  margin: 5% auto 0 auto;
}

/* bunshou-img（説明文アイコン） */
.bunshou-img {
  display: block;
  width: 70%;
  height: auto;
  margin: 5% auto 0 auto;
}

/* botan-img（ボタンアイコン） */
.botan-img {
  display: block;
  width: 60%;
  height: auto;
  margin: 5% auto 2% auto;
  padding-top: 3%;
  padding-bottom: 2%;
}

/* ranking-img（ランキング画像） */
.ranking-img {
  display: block;
  width: 80%;
  height: auto;
  margin: 0 auto;
}

/* ----------------------------------------------
   5. フッター（.footer）
---------------------------------------------- */
.footer {
  position: relative;
  width: 100%;
  background-color: #8BA873;
  padding: 10px 0;
  text-align: center;
  font-size: 16px;
}

.footer p {
  margin: 0;
  font-size: 80%;
  color: #ffffff;
}

/* ----------------------------------------------
   6. 共通：PC 769px 以上
---------------------------------------------- */
@media screen and (min-width: 769px) {
  /* PC表示時は .pc クラスを block、.sp クラスを none */
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }

  /* メインコンテナ幅を80%にして中央寄せ */
  .main {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  /* moji-img（説明画像）の大きさを PC で 58% に */
  .moji-img {
    display: block !important;
    width: 58% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 3%;
  }

  /* ランキング見出し画像はPCでも幅100% */
  .hyou-img {
    width: 100% !important;
    display: block !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 5%;
  }

  
  .image-container1 {
    margin: 0 auto 24px;
  }

  /* jikan-img / bunshou-img / botan-img / ranking-img はPCで上書き不要 */
}



/* ----------------------------------------------
   7. タブレット（769px ～ 1024px）の共通調整
---------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  .mb50 {
    border-width: 5vw;
    padding: 3%;
  }
  .btn1 {
    left: 23.5%;
    top: 88%;
    position: absolute;
    width: 20%;
  }
  .btn2 {
    left: 46%;
    top: 88%;
    position: absolute;
    width: 20%;
  }
  .btn3 {
    left: 68.8%;
    top: 88%;
    position: absolute;
    width: 20%;
  }

  /* 見出し画像をタブレットでは 80% に縮める */
  .hyou-img {
    width: 80% !important;
    display: block !important;
    height: auto !important;
    margin: 0 auto 30px auto;
  }

  .overlay-btn {
    /* 幅を 25% に変えたいなら… */
    width: 25%;
    bottom: 10%;  /* 微調整 */
    max-width: 180px;
  }
  .image-container1 {
    margin: 0 auto 24px;
  }
}


/* ----------------------------------------------
   8. スマホ（768px 以下）の共通調整
---------------------------------------------- */
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  .mb50 {
    border-width: 4vw;
    padding: 5%;
  }

  .header {
    display: none;
  }

  .main {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  /* 説明画像をスマホで 50％ に */
  .moji-img {
    display: block !important;
    width: 50% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 3%;
  }

  /* 見出し画像をスマホで 80％ に */
  .hyou-img {
    width: 80% !important;
    display: block !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 20px;
  }

  .btn1 {
    left: 23.5%;
    top: 88%;
    position: absolute;
    width: 20%;
  }
  .btn2 {
    left: 46%;
    top: 88%;
    position: absolute;
    width: 20%;
  }
  .btn3 {
    left: 68.8%;
    top: 88%;
    position: absolute;
    width: 20%;
  }

  /* jikan-img / bunshou-img / botan-img / ranking-img をスマホ用に調整 */
  .jikan-img {
    display: block !important;
    width: 70% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 5%;
  }
  .bunshou-img {
    display: block !important;
    width: 80% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 5%;
  }
  .botan-img {
    display: block !important;
    width: 60% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 5%;
    margin-bottom: 2%;
  }
  .ranking-img {
    display: block !important;
    width: 80% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .image-container1 {
    margin: 0 auto 24px;
  }
}
