@charset "UTF-8";
h1, h2, h3, p { margin: 0; padding: 0; }

html { background: #e8e8e8; font-size: 10px; font-weight: 400; font-family: futura; }

@media (max-width: 524px) { html { font-size: 2.667vw; } }

body { margin: 0; color: #635E5C; padding: 0; }

a { color: #170f0e; text-decoration: none; }

a:hover { text-decoration: none; }

* { box-sizing: border-box; }

*::before, *::after { box-sizing: border-box; }

.wrapper { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr 5rem; max-width: 525px; min-height: 100vh; margin: 0 auto; }

.footer { width: 100%; color: #170f0e; }

.footer .inner { display: flex; justify-content: right; align-items: center; height: 100%; padding: 0.75rem 3rem 2.25rem; }

@media (max-width: 524px) { .footer .inner { padding: 1.5rem 3rem; } }

.footer .text { line-height: 1; font-size: 1.2rem; }

.footer .text a { color: #170f0e; text-decoration: none; }

.main { width: 100%; min-height: calc(100vh - 5rem); padding: 2.25rem 0 0; }

.main img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1rem;
}

.main .inner { display: flex; flex-direction: column; justify-content: space-between; width: 100%; min-height: 100%; }

.main .block { display: flex; flex-direction: column; background: #e8e8e8; width: 100%; padding: 3rem; box-shadow: none; }

@media (max-width: 524px) {
  .main .block {
    padding: 2rem 1rem;
    width: 100vw;
  }
}

.main .block .head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; }

.main .block .head .categories,
.main .block .head .date {
  padding-bottom: 0;
  margin-bottom: 0.75rem;
  font-size: 1.2rem;
  color: #95918D;
}

.main .block .head .categories a {
  color: #95918D;
  text-decoration: none;
}

.main .block .head .categorylink { display: inline-block; margin-right: 1em; }

.main .block .head .categorylink::before { content: ""; }

.main .block .body .readmorebutton { margin-top: 0.75rem; color: #170f0e; }

.main .block .body .readmoreopen::before { content: "▼"; }

.main .block .body .readmoreclose { display: block; }

.main .block .body .readmoreclose::before { content: "▲"; }

.main .block + .block { margin: 0; }

.main .title { padding: 1.5rem 0 3rem; letter-spacing: 0.05em; line-height: 1; font-size: 2.8rem; text-align: center; color: #170f0e; }

.main .title a {
  text-decoration: none;
  color: #170f0e;
}

.main .text { line-height: 1.929em; font-size: 1.4rem; }

.main .note { line-height: 1.667em; font-size: 1.2rem; }

.main .pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 3rem 1rem; /* ← 横方向に1remのパディング追加 */
  line-height: 1.929em;
  font-size: 1.4rem;
  max-width: 40rem;  /* ← 全体幅の制限を入れる */
  margin-left: auto;
  margin-right: auto;
}

.main .pager > a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #95918D;
  width: 2.5em;
  height: 2.em;
  padding: 0;
  text-decoration: none;
  color: #fff;
  margin: 0.5rem 0;
  box-sizing: border-box;
}

.main .pager > a.pagenumhere {
  background: transparent;
  font-weight: 700;
  color: #170f0e;
  pointer-events: none;
  width: 2em;
  height: 1.7em;
}

.main .pager > a:hover { background: #170f0e; }

.main .pager > a + a { margin-left: 1.5rem; }

.main .pager + .foot { margin-top: auto; }

.footer-combined {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2rem;
  padding: 0 1rem; /* ← 横方向に余白を追加（お好みで） */
}

.footer-combined .note,
.footer-combined .text {
			margin: 0;
		}
		
		}
@media screen and (max-width: 768px) {
			.select-category {
				width: 50%;
				border-radius: 0;
			}
		}

/* プルダウン本体のスタイル */
select.catpull {
  appearance: none;              /* OS標準UIを無効化 */
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #e8e8e8;
  color: #170f0e;
  border: 1px solid #170f0e;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  width: 100%;                   /* ←横幅100%で親要素に揃える */
  max-width: 20rem;              /* ←上限幅を指定して整える */
  border-radius: 0;
  box-sizing: border-box;
}

/* フォームを中央寄せ＆余白調整 */
.catpullbox {
  display: flex;
  justify-content: center;
  padding: 1rem 1rem 2rem;
}
