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

html { background: #f1f2f3; font-size: 11px; font-weight: 400; font-family: sans-serif; }

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

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

a { color: #66cdaa; }



.main a:hover {
  color: #2e8b57; /* ?????????? */
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

* { box-sizing: border-box; }

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

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

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

.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: 0.9rem; }

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

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

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

.main .block { display: flex; flex-direction: column; background: #fff; width: 100%; padding: 3rem; box-shadow: 0.3rem 0.3rem 0 #e3e4e6; }

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

.main .block .head .categories { padding-bottom: 2.25rem; font-size: 1.2rem; }

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

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

.main .block .head .date { padding-bottom: 2.25rem; font-size: 1.2rem; text-align: right; }


.main .block .body .readmorebutton {
  margin-top: 0.4rem;
  color: #66cdaa; /* ??????? */
  text-decoration: none; /* ??????????? */
}

.main .block .body .readmorebutton:hover {
  color: #2e8b57; /* ?????????? */
  text-decoration: underline; /* ?????????????? */
}

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

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

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

.main .block + .block { margin-top: 3rem; }

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

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

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

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

.main .pager > a { display: flex; justify-content: center; align-items: center; background: #66cdaa; 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: #2e8b57; }

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

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

  .highlight {
    color: #d4dcda;
  }


img {
  width: 100%;
  height: auto;
}



iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  margin : 0 auto;
}
}

@media (min-width: 768px) {
  img {
    width: 50%;
  }
}



.img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 .05em 0 .1em;
  vertical-align: -0.1em;
}




