body {
  margin: 0;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

/* 通常画像だけ最大400px中央寄せ */
body > img {
  max-width: 400px;
  margin: 0 auto;
}

/* リンクを押しやすくする */
a {
  display: block;
  text-decoration: none;
}

a:active {
  opacity: 0.7;
}

/* CTAエリア */
.cta,
.line {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

/* CTA背景 */
.cta-bg,
.line-bg {
  width: 100%;
  height: auto;
  display: block;
}

/* CTA内LINEボタン */
.btn-line {
  position: absolute;
  left: 50%;
  top: 61%;
  transform: translate(-50%, -50%);
  width: 80%;
}

/* CTA内TELボタン */
.btn-tel {
  position: absolute;
  left: 50%;
  top: 76%;
  transform: translate(-50%, -50%);
  width: 80%;
}

/* main_02上のLINEボタン */
.line-btn {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
}

.btn-line img,
.btn-tel img,
.line-btn img {
  width: 100%;
  max-width: none;
  margin: 0;
}

.header {
  background-color: #ffcb00;
  height: 50px;
  max-width: 400px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;
}

.header img {
  height: 30px; /* ロゴサイズ調整 */
  width: auto;
}

.cta {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .cta {
    width: 90%;
    max-width: none; /* ←これがポイント */
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .line-btn {
    width: 85%;
  }
}

.map {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.map iframe {
  width: 100%;
  height: 300px; /* 高さ調整OK */
  border: 0;
  display: block;
}

.fixed-cta {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 400px;
  height: 50px;
  display: flex;
  z-index: 9999;
}

.fixed-cta a {
  width: 50%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
}

/* 背景 */
.fixed-line {
  background-color: rgba(0, 209, 44, 0.9);
}

.fixed-tel {
  background-color: rgba(230, 0, 26, 0.9);
}

/* ←ここ修正ポイント */
.fixed-cta a img {
  height: 50%;       /* ← 80% → 50%に変更 */
  width: auto;
  margin-right: 10px;
  flex-shrink: 0;    /* ← 潰れ防止 */
}

/* テキスト */
.fixed-cta a span {
  line-height: 1;
}

/* 下に隠れないように */
body {
  padding-bottom: 50px;
}