.text-teal {
  color: #55C5C9;
}

.text-red {
  color: #D52C2F !important;
}

/* josefin-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../assets/fonts/josefin-sans-v26-latin-regular.woff2") format("woff2"), url("../assets/fonts/josefin-sans-v26-latin-regular.woff") format("woff");
}
/* josefin-sans-500italic - latin */
@font-face {
  font-display: swap;
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 500;
  src: url("../assets/fonts/josefin-sans-v26-latin-500italic.woff2") format("woff2"), url("../assets/fonts/josefin-sans-v26-latin-500italic.woff") format("woff");
}
/* josefin-sans-600italic - latin */
@font-face {
  font-display: swap;
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 600;
  src: url("../assets/fonts/josefin-sans-v26-latin-600italic.woff2") format("woff2"), url("../assets/fonts/josefin-sans-v26-latin-600italic.woff") format("woff");
}
/* josefin-sans-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Josefin Sans";
  font-style: italic;
  font-weight: 700;
  src: url("../assets/fonts/josefin-sans-v26-latin-700italic.woff2") format("woff2"), url("../assets/fonts/josefin-sans-v26-latin-700italic.woff") format("woff");
}
a:link,
a:visited,
a:hover,
a:active,
a {
  text-decoration: none !important;
  color: inherit;
}

h1,
.h1-like {
  font-size: clamp(2.5rem, 5vw, 6.4rem);
  font-weight: 700;
  line-height: 165%;
}

h2,
.h2-like {
  font-size: clamp(4rem, 4vw, 5rem);
  font-weight: 700;
  line-height: 160%;
}

h3,
.h3-like {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
}

h4,
.h4-like {
  font-size: clamp(1.8rem, 2vw, 2rem);
  font-weight: 700;
}

.p-1216 {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.p-1215 {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.p-1418 {
  font-size: clamp(1.4rem, 1.4vw, 1.8rem);
}

.p-1618 {
  font-size: clamp(1.6rem, 1.6vw, 1.8rem);
}

.p-1620 {
  font-size: clamp(1.6rem, 2vw, 2rem);
}

.p-1824 {
  font-size: clamp(1.8rem, 2vw, 2.4rem);
}

.p-2036 {
  font-size: clamp(2rem, 3vw, 3.6rem);
}

.p-2337 {
  font-size: clamp(2.3rem, 3vw, 3.7rem);
}

.p-2032 {
  font-size: clamp(2rem, 3vw, 3.2rem);
}

.p-2430 {
  font-size: clamp(2.4rem, 2.4vw, 3rem);
}

.p-5385 {
  font-size: clamp(5.3rem, 8vw, 8.5rem);
}

.p-70100 {
  font-size: clamp(7rem, 10vw, 10rem);
}

.p-small {
  font-size: clamp(1.2rem, 2vw, 1.4rem);
}

.f-source-b {
  font-family: "source-han-sans-japanese", YuGothic, "YuGothic", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.15em;
}

.f-source-med {
  font-family: "source-han-sans-japanese", YuGothic, "YuGothic", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.15em;
}

.f-josefin-medi {
  font-family: "Josefin Sans", YuGothic, "YuGothic", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.1em;
}

.f-josefin-sbi {
  font-family: "Josefin Sans", YuGothic, "YuGothic", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.1em;
}

.f-josefin-bi {
  font-family: "Josefin Sans", YuGothic, "YuGothic", "Yu Gothic", "Yu Gothic Medium", Meiryo, sans-serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.1em;
}

.med-to-bold {
  font-weight: 500;
}

@media screen and (min-width: 801px) {
  .med-to-bold {
    font-weight: 700;
  }
}
.center-text {
  text-align: center;
}

.bold-text {
  font-weight: 700;
}

.regular-text {
  font-weight: 400;
}

.lh140 {
  line-height: 140%;
}

.lh-200-250 {
  line-height: 200%;
}
@media screen and (min-width: 801px) {
  .lh-200-250 {
    line-height: 250%;
  }
}

section.news-landing,
section.post-landing {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #ffffff;
  background-color: #D52C2F;
  text-align: center;
  min-height: clamp(240px, 30vw, 370px);
}
section.news-landing h1,
section.post-landing h1 {
  letter-spacing: 0.15em;
  text-transform: capitalize;
}
section.news-landing h3,
section.post-landing h3 {
  letter-spacing: 0.1em;
}

.breadcrumbs {
  margin-top: 1em;
  margin-bottom: 2em;
}
.breadcrumbs a:hover {
  opacity: 0.8;
}

.post-img-container {
  width: clamp(300px, 80vw, 1200px);
  max-width: 92%;
  margin: clamp(20px, 6vw, 60px) auto;
}
.post-img-container img {
  width: 100%;
}

.post-body {
  width: 1200px;
  max-width: 96%;
  margin: 0 auto;
  align-self: center;
  position: relative;
  min-height: 40vh;
  box-sizing: border-box;
  padding: 40px 2% clamp(40px, 10vw, 100px) 2%;
  overflow-x: hidden;
}
.post-body p {
  line-height: 180%;
}
.post-body .post-date {
  margin-bottom: 1em;
}
.post-body .tag-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-top: 20px;
}
.post-body .tag-list a {
  color: #D52C2F;
}
.post-body .tag-list a:hover {
  color: #F87373;
}
.post-body .tag-list a {
  margin-right: 10px;
}
.post-body .tag-list a:before {
  content: "#";
}

.post-nav {
  max-width: 92%;
  justify-content: center;
  box-sizing: border-box;
  padding-bottom: clamp(80px, 15vw, 200px);
}
.post-nav .nav-elements {
  margin-top: 0;
  padding-top: 0;
}
.post-nav .nav-links {
  display: flex;
  align-items: center;
}
.post-nav .page-numbers {
  font-size: clamp(18px, 2vw, 26px);
  margin: 0 0.5em;
  color: #A8A8A8;
}
.post-nav .page-numbers.current {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #D52C2F;
  border: 1px solid #D52C2F;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  font-weight: bold;
  pointer-events: none;
}
.post-nav .page-numbers.next, .post-nav .page-numbers.prev {
  display: block;
  width: 1.8em;
  height: 1em;
}
.post-nav .page-numbers.next {
  background: url(../img/common/arrow-right-long-r.svg) center no-repeat;
  background-size: contain;
}
.post-nav .page-numbers.prev {
  background: url(../img/common/arrow-left-long-r.svg) center no-repeat;
  background-size: contain;
}
.post-nav .page-numbers:hover {
  opacity: 0.8;
}
.post-nav.adjacent-nav .nav-elements {
  align-items: flex-start;
}
.post-nav.adjacent-nav .nav-elements a {
  width: 50%;
  line-height: 140%;
}
.post-nav.adjacent-nav .nav-elements a:nth-child(2) {
  text-align: end;
}

/*# sourceMappingURL=post.css.map */
