@charset "UTF-8";

/* === 基本設定 === */
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  margin: 0; padding: 0; color: #333; line-height: 1.7; background-color: #f8f8f8;
}
img { max-width: 100%; height: auto; vertical-align: bottom; border: none; }
.container {
  max-width: 1080px; margin: 0 auto; background-color: #fff; box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

/* === ヘッダー === */
header { padding: 20px; border-bottom: 1px solid #eee; text-align: left; position: relative; }
header h1 { font-size: 13px; color: #666; font-weight: normal; margin: 0 0 10px 0; }
#logo { display: block; margin-bottom: 10px; }
#logo img { width: 233px !important; height: auto !important; }

.header-btns {
  position: absolute; right: 20px; top: 40px; display: flex; flex-direction: column; gap: 10px;
}
.header-btns img { width: 180px !important; height: auto !important; box-shadow: 1px 1px 4px rgba(0,0,0,0.2); }

/* === レイアウト === */
.main-wrapper { display: flex; flex-wrap: wrap; padding: 20px; }
.sidebar-left { width: 200px; order: 1; }
.content-center { flex: 1; min-width: 0; margin: 0 20px; order: 2; text-align: left; }
.sidebar-right { width: 200px; order: 3; text-align: center; }

/* === お知らせエリア === */
.post_menu {
  background: url('images/o5.jpg') repeat !important;
  background-color: #fcf4d0 !important;
  padding: 20px 15px !important;
  border: 1px solid #ddd !important;
  border-radius: 5px;
}
.info-card {
  background-color: #ffffff !important;
  margin-bottom: 20px !important;
  padding: 20px !important;
  border-radius: 8px !important;
  border: 1px solid #dddddd !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* 画像再現：左側にグレーの太線 */
.title-with-bar {
  border-left: 6px solid #666 !important;
  padding-left: 12px !important;
  border-bottom: none !important;
  font-size: 19px !important;
  color: #333 !important;
  margin: 0 0 15px 0 !important;
  font-weight: bold;
}

.info-card h3:not(.title-with-bar) {
  font-size: 17px !important; color: #006400 !important;
  border-bottom: 2px solid #006400 !important;
  padding-bottom: 5px !important; margin: 0 0 12px 0 !important;
}

/* 画像再現：日付ボタンデザイン */
.day-btns-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.day-btn {
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 6px 14px;
  font-weight: bold;
  color: #000;
  font-size: 15px;
  display: inline-block;
}

.text-small { font-size: 14px; margin: 0; line-height: 1.6; }

/* 案内図 */
.kannai-img-wrap { text-align: center; margin-top: 30px; clear: both; }
.kannai-img-wrap img { width: 100% !important; max-width: 450px !important; border: 1px solid #ccc !important; padding: 4px !important; }

/* その他 */
.address-text { font-family: "Yu Mincho", serif; font-size: 14px; text-align: left; border: 1px solid #eee; padding: 10px 5px; background-color: #fafafa; }
footer { background-color: #444; color: #fff; padding: 30px 20px; text-align: center; margin-top: 20px; }

@media (max-width: 850px) {
  .header-btns { position: static; flex-direction: row; justify-content: center; margin-top: 10px; }
  .main-wrapper { flex-direction: column; }
  .content-center { order: 1; width: 100%; margin: 0 0 20px 0; }
}