@charset "UTF-8";

/*==============================
  基本タグ設定
==============================*/
html,
body {
  /* モバイルブラウザの文字拡大率を Firefox 相当に合わせる */
  -webkit-text-size-adjust: 200%;  /* Chrome, Safari */
  -moz-text-size-adjust: auto;     /* Firefox は無視して auto のまま */
  text-size-adjust: 200%;          /* 標準プロパティ */
  /* コンテンツ側で定義している最小幅と合わせる */
  min-width: 840px;

  color: #606060;
  background-color: #f0f0f0;
  font-family: "ＭＳ Ｐゴシック", Arial, sans-serif;
  font-size: 100%;
  line-height: 150%;
  padding: 0;
  margin: 0;
}

p {
  margin: 0.7em 0;
}

a {
  color: #a04080;
}

a:hover {
  color: #ff00ff;
}

strong {
  color: red;
  font-weight: bold;
  /* 125% → 20px 相当 */
  font-size: 20px;
  line-height: 100%;
}

em {
  color: red;
  font-weight: normal;
  font-style: normal;
}

sup {
  /* 小さめに固定 */
  font-size: 12px;
  vertical-align: 20%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  line-height: 100%;
}

dt {
  font-weight: bold;
}

dl,
ul,
ol,
form {
  margin: 0;
}

form p {
  margin: 1px;
  line-height: 100%;
}

textarea,
input {
  font-size: 100%;
  line-height: 100%;
}

hr.sep {
  display: none;
}

img {
  border: 0;
}

img.sdbn {
  margin-bottom: 1px;
}

/*==============================
  ヘッダ部分
==============================*/
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#banner {
  width: 100%;
  min-width: 840px;
  padding: 0 20px 0 0;
  border-bottom: 1px solid;
  background: #9f2836 url(https://bunbunmaru-np.com/img/banner_koyo05.webp) no-repeat top right;
  /* 画像をボックス高さいっぱいに拡大して下部の空白を解消 */
  background-size: auto 100%;
  color: #fff;
}

#banner a {
  text-decoration: none;
}

#banner h1 {
  font-family: Georgia, "ＭＳ Ｐゴシック", serif;
  font-size: 250%;
  font-weight: bold;
}

#banner p {
  position: relative;
  top: 50px;
  margin: 0.3em 0;
  font-size: 12px;
  font-weight: bold;
  text-align: right;
  float: right;
}

#banner a img {
  border: 0;
  /* position: top left は無効なので削除 */
}

/* バナーノート */
#banner_note {
  background: #f0f0f0;
  text-align: center;
  padding: 2px;
  border-bottom: 1px solid;
}

/*==============================
  本文エリア
==============================*/
#content {
  position: absolute;
  left: 220px;
  top: auto;
  padding: 8px 10px 8px 5px;
  min-width: 620px;
  width: 70%;

  /* Chrome/Safari の自動文字膨張率を微調整して Firefox 相当に */
  -webkit-text-size-adjust: 180%;
  -moz-text-size-adjust: auto;
  text-size-adjust: 180%;
}

/* 本文１項目 */
#content .item {
  margin-bottom: 16px;
  background: #fff;
  border: 2px groove #fff;
  padding: 8px;
}

/* 見出し */
#content .item h2 {
  /* 見出しは独立してテキスト拡大を無効化 */
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;

  font-family: Arial, "ＭＳ Ｐゴシック", sans-serif;
  /* 150% → 24px 相当 */
  font-size: 24px;
  font-weight: bold;
  border-bottom: 2px dotted;
  line-height: 1.2;
}

/* 見出しの日付部分 */
#content .item h2 .date {
  /* 調整済み */
  font-size: 16px;
  line-height: 1.2;
}

/* カテゴリ */
#content .item .category {
  /* 自動文字膨張を無効化し、px固定で安定表示 */
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;

  font-size: 16px;
  font-weight: bold;
  float: right;
}

/* 本文テキスト */
#content .item .text {
  clear: both;
  margin: 0.5em;
  font-size: 16px;
  line-height: 1.5;
}

/* 強調文字 */
#content .item .text strong {
  font-size: 20px;
}

/* 脚注 */
#content .item .text sup {
  font-size: 12px;
}

/* メインビジュアル */
#content .item .text .auto-resize {
  display: block;
  max-width: 100%;
  height: auto;
}

/*==============================
  前後移動ナビゲーション
==============================*/
#menu {
  background: #fff;
  font-weight: bold;
  line-height: 100%;
  padding: 8px;
  margin-bottom: 16px;
  border: 2px groove #fff;
}

#menu p {
  margin: 0;
  padding: 2px;
}

#menu .btn_prev,
#menu .btn_next {
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
  font-size: 0;
}

#menu a {
  text-decoration: none;
}

/*==============================
  サイドバーエリア
==============================*/
/* 自動文字膨張を無効化して従来のまま固定 */
#links,
#links * {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

#links {
  padding: 30px 10px 0 20px;
  width: 190px;
  margin: 0;
}

#links .side {
  margin-left: 16px;
  margin-bottom: 16px;
}

#links img {
  border: 0;
}

/* カレンダー */
#links table.calendar th,
#links table.calendar td {
  text-align: center;
  line-height: 100%;
  padding: 1px 2px;
  font-size: 14px;
}

#links table.calendar tr.caption td,
#links table.calendar tr.caption th {
  text-align: center;
  font-weight: bold;
  border-bottom: 1px solid;
}

#links table.calendar a {
  font-weight: bold;
}

#links h1,
#links h2,
#links h3 {
  font-family: Geneva, Arial, Helvetica, sans-serif;
  /* 200% → 32px 相当 */
  font-size: 32px;
  font-weight: bold;
  margin: 0 0 4px;
}

#links h4,
#links h5,
#links h6 {
  font-family: Geneva, Arial, Helvetica, sans-serif;
  /* 150% → 24px 相当 */
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 10px;
}

#links ul {
  margin: 0;
  padding-left: 0;
  list-style-type: square;
  /* 16px 固定 */
  font-size: 16px;
}

#links ul li {
  line-height: 125%;
  margin-left: 12px;
}

/*==============================
  追加
==============================*/
div.info {
  padding: 1em;
  margin: 1em;
  background: #eeedfd;
}

td.title {
  background: #e6e6fa;
}

td.data {
  background: #eee;
}

/* テーブル全体 */
.event-info {
  border-collapse: separate;  /* セル間の隙間を有効化 */
  border-spacing: 3px;        /* cellspacing="3" に相当 */
  border: none;               /* border="0" に相当 */
  background: transparent;
  margin-left: 0;   /* 左余白なし */
  margin-right: auto; /* 右余白は自動（左寄せ） */
}

/* セル共通 */
.event-info td {
  padding: 3px 1em 3px 3px; /* 上 右 下 左：右端だけ2em */
  vertical-align: top;
  background-color: #fff;
}

/* 左カラム（見出し） */
.event-info td.title {
  font-weight: bold;
  background-color: #e6e6fa;  /* 例: 元の td.title 背景色 */
}

/* 右カラム（データ） */
.event-info td.data {
  background-color: #eee;     /* 例: 元の td.data 背景色 */
  line-height: 1.5;
}

/* リンク装飾 */
.event-info td.data a {
  color: #a04080;
  text-decoration: none;
}
.event-info td.data a:hover {
  text-decoration: underline;
}
/* モバイルFirefox専用: テーブル内テキストの拡大を有効化 */
@-moz-document url-prefix() {
  @media (max-width: 860px) {
    table.event-info td {
      -moz-text-size-adjust: 150% !important;
      text-size-adjust: 150% !important;
      font-size: 1.5rem !important;
      line-height: 1.5 !important;
    }
  }
}
/* モバイルChrome/Safari専用: テーブル文字拡大幅を縮小 */
@media (-webkit-min-device-pixel-ratio:0) {
  table.event-info td {
    -webkit-text-size-adjust: 150% !important;
    text-size-adjust: 150% !important;
  }
}