@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Sawarabi+Gothic&display=swap");
h1, h2, h3{
  font-family: "Marcellus", "Sawarabi Gothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: normal;
  letter-spacing: 4px;
  line-height: 1.2;
  overflow-wrap: break-word;
}
p {
  margin: 20px 0;
  letter-spacing: 1px;
  text-align: justify;
}

a {
  color: inherit;
  text-decoration-color: #333;
  -moz-text-decoration-color: #333;
  text-underline-offset: 2px;
}

html { background: #315782; font-size: 11.5px; font-weight: 400; font-family: "Sawarabi Gothic", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif; }

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

body { margin: 0; color: #333; }

a { color: #333; }

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 4rem; max-width: 990px; min-height: 100vh; margin: 0 auto; }

.footer { background: #d8d3c5; width: 100%; color: #333; }

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

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

.footer .text a { color: #333; }

.main { background: #d8d3c5; width: 100%; min-height: calc(100vh - 4rem); padding: 2rem; }

@media (max-width: 639px) { .main { padding: 2rem 1rem; } }

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

.main .block { display: flex; flex-direction: column; width: 100%; padding: 2rem 1rem; }

.main .block .categories { font-size: 1.2rem; }

.main .block .categories > a::before { content: "#"; }

.main .block .categories > a + a { margin-left: 1em; }

.main .block .body .readmorebutton { color: #315782; }

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

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

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

.main .block .body + .foot .categories { padding-top: 2rem; }

.main .block .body + .foot .date { padding-top: 1rem; }

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

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

.main .block .foot .categorylink::before { content: "#"; }

.main .block .foot .date { font-size: 1.2rem; text-align: right; }

.main .block + .block { border-top: 1px solid #efefef; }

.main .title { padding: 1rem 0 2rem; letter-spacing: 0.05em; line-height: 1; font-size: 2.8rem; text-align: center; color: #4a4a4a; }

.main .title + .block { padding-top: 1rem; }

.main .title + .text { padding-top: 1rem; }

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

.main .text + .block { padding-top: 2rem; }

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

.main .pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; padding: 1rem 0 3rem; line-height: 1.929em; font-size: 1.4rem; }

.main .pager > a { display: flex; justify-content: center; align-items: center; background: #315782; min-width: 1.929em; padding: 0 0.5em; text-decoration: none; color: #fff; }

.main .pager > a.pagenumhere { background: transparent; font-weight: 700; color: #333; pointer-events: none; }

.main .pager > a:hover { background: #1d334d; }

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

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