/* 全体設定 */
body {
  font-family: "Meiryo", sans-serif;
  margin: 0;
  background-color: #FFECCF;
}

/* ===== メニューバー ===== */
#menuBar {
  display: flex;
  width: 100%;
  overflow: hidden;
  background-color: #444;
}

#menuBar .menu-link {
  flex: 1;
  text-align: center;
  padding: 3px 0;              /* フォントに合わせて小さく調整 */
  background: #444;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;
  transition: background 0.3s;
  font-size: 0.8em;            /* フォントを0.8倍 */
}

#menuBar .menu-link:nth-child(even) {
  background: #666;
}

#menuBar .menu-link:hover {
  background: #fff;
  color: #D54054;
}

/* スマホ対応（横スクロール式） */
@media (max-width: 768px) {
  #menuBar {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap; /* ← 折り返し防止！ */
    -webkit-overflow-scrolling: touch; /* ← スマホでスムーズに横スクロール */
  }

  #menuBar .menu-link {
    display: inline-block; /* ← 折り返し防止 */
    flex: 0 0 auto;
    padding: 6px 12px;    /* ← モバイルでは少し余裕を持たせる */
    font-size: 0.9em;
  }
}

/* ===== スクロールバナー ===== */
.scroll-banner {
  background-color: #FF9C38;
  height: 26px;
  line-height: 26px;
  color: #fff;
  font-size: 12px;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.scroll-banner div {
  display: inline-block;
  padding-left: 100%;
  animation: bannerScroll 15s linear infinite;
}

@keyframes bannerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ===== 2カラム全体 ===== */
.container {
  display: flex;
  flex-wrap: wrap;
  max-width: 840px;
  margin: 0 auto;
  border-left: 1px solid #ACA59A;
  border-right: 1px solid #ACA59A;
  background: #FFECCF;
}

.main {
  flex: 1;
  max-width: 100%;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
}

.sidebar {
  width: 307px;
  background-color: #F6ECDD;
  padding: 20px;
  box-sizing: border-box;
}

.main img,
.sidebar img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== メール問い合わせボックス ===== */
.mail-box {
  border: 2px solid firebrick;
  border-radius: 8px;
  background: #FFF;
  text-align: center;
  margin: 20px 0;
}

.mail-box .header {
  background: #D54054;
  color: #FFF;
  font-size: 19px;
  padding: 5px 0;
}

.mail-box .body {
  color: #D54054;
  font-size: 22px;
  padding: 10px 0;
}

/* ===== ニュース項目 ===== */
.news-item {
  border-bottom: 1px dotted #D54054;
  padding: 10px 0;
  font-size: 14px;
}

.news-item a {
  color: #000;
  text-decoration: none;
}

.news-item a:hover {
  color: #D54054;
}

/* ===== フッター ===== */
footer {
  background-color: #FF9C38;
  color: white;
  text-align: center;
  padding: 10px 0;
  font-size: 12px;
}

/* ===== スマホ時（2カラム→1カラム） ===== */
@media (max-width: 768px) {
  .container {
    flex-direction: column;
  }
  .sidebar {
    width: 100%;
  }
}