@charset "utf-8";

main:where(.p-main) {
  font-family: "Noto Sans JP", sans-serif;
  /* 500px以下は14px固定・1280px以上は17px固定 780 = 1280 - 500, 3 = 17 - 14 */
  font-size: clamp(14px, calc(14px + 3 * ((100vw - 500px) / 780)), 17px);
  font-weight: 500;
  color: #000;
  /* 行間設定: calc(23 / 14) ≒ 1.643 */
  line-height: 1.643;
  font-feature-settings: "palt";
  letter-spacing: .025em;
  margin: 0;
  overflow-x: clip;
  
  /* Prevents misreading by applying strict line-breaking rules. */
  line-break: strict;

  /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
  overflow-wrap: anywhere;

  @media (min-width: 769px) {
    font-size: 17px;
    /* 行間設定: calc(28 / 17) ≒ 1.647 */
    line-height: 1.647;
  }
}

.p-main :where(a, button) {
  transition: opacity .3s;

  &:hover {
    @media (any-hover: hover) {
      opacity: 0.7;
    }
  }
}

/* 詳細度調整済み */
:where(.p-main) img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(.p-main *) {
  max-height: 100%;
}

:where(.p-main p) {
  text-align: justify;
}

:where(body:is(.page, .post-type-archive-profile) .p-main section:nth-of-type(even)) {
  background-color: var(--gaia-color-neutral-light);
}