/* ================================================================
 * News Pages — page-specific CSS (not processed by Vite)
 * ================================================================ */

/* ---- p-news-archive (list page) ---- */

.p-news-archive {
  padding-top: calc(60 / 600 * 100%);
  padding-bottom: calc(200 / 600 * 100%);
}

@media screen and (max-width: 1024px) {
  .p-news-archive {
    padding-top: calc(130 / 16 * 1rem);
  }
}

.p-news-archive__inner {
  padding-left: calc(3 * 1.25rem);
  padding-right: calc(3 * 1.25rem);
}

.p-news-archive__heading {
  display: flex;
  justify-content: space-between;
  column-gap: 0.625rem;
  margin-top: 2rem;
}

.p-news-archive__heading .-ja {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: calc(60 / 40);
  letter-spacing: 0.03em;
}

.p-news-archive__heading .-en {
  font-family: "Lexend", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: calc(60 / 20);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.p-news-archive__list {
  margin-top: 4.1rem;
}

.p-news-archive__item {
  padding-bottom: 1.75rem;
  border-bottom: 2px dashed black;
}

.p-news-archive__item + .p-news-archive__item {
  padding-top: 1.75rem;
}

.p-news-archive__pagination {
  margin-top: 5.625rem;
  display: flex;
  justify-content: center;
}

.p-news-archive__empty,
.p-news-archive__error {
  margin-top: 2rem;
  text-align: center;
}

/* ---- c-news-row link enhancement ---- */

.c-news-row__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* ---- p-news-article (detail page) ---- */

.p-news-article {
  padding-top: calc(60 / 600 * 100%);
  padding-bottom: calc(200 / 600 * 100%);
}
@media screen and (max-width: 1024px) {
  .p-news-article {
    padding-top: calc(130 / 16 * 1rem);
  }
}

.p-news-article__inner {
  padding-left: calc(3 * 1.25rem);
  padding-right: calc(3 * 1.25rem);
}

.p-news-article__head {
  margin-top: 3.7rem;
}

.p-news-article__title {
  font-size: calc(40 / 16 * 1rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.p-news-article__body {
  margin-top: 1.8rem;
  border-top: 2px dashed black;
  padding-top: 1.8rem;
}

/* ---- p-news-article nav (prev/next) ---- */

.p-news-article__nav {
  display: flex;
  justify-content: space-between;
  margin-top: 6rem;
  align-items: center;
}

.p-news-article__prev,
.p-news-article__next {
  display: flex;
  align-items: center;
  column-gap: calc(10 / 16 * 1rem);
  text-decoration: none;
  color: #5b4c47;
  font-size: calc(30 / 16 * 1rem);
  line-height: calc(42 / 30);
  font-weight: 700;
  transition: color 0.3s;
}

.p-news-article__prev:hover,
.p-news-article__next:hover {
  color: #d2653a;
}

.p-news-article__prev-text,
.p-news-article__next-text {
  border-bottom: 3px solid currentColor;
}

.p-news-article__next {
  margin-left: auto;
}

.p-news-article__prev-icon,
.p-news-article__next-icon {
  display: grid;
  place-items: center;
}
.p-news-article__next-icon {
  transform: scaleX(-1);
}

.p-news-article__back {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
}

.p-news-article__more svg {
  color: #5b4c47;
  transition: color 0.3s;
  width: calc(269 / 16 * 1rem);
}

.p-news-article__more:hover svg {
  color: #d2653a;
}

/* ---- v-editor (rich text styling) ---- */

.v-editor {
  font-size: calc(24 / 16 * 1rem);
  line-height: calc(42 / 24);
}

/* ---- 基本余白 ---- */

.v-editor > * + * {
  margin-top: calc(50 / 16 * 1rem);
}

.v-editor > *:first-child {
  margin-top: 0;
}

/* ---- headings ---- */

.v-editor h1 {
  font-size: calc(34 / 16 * 1rem);
  font-weight: 700;
  line-height: calc(48 / 34);
  margin-top: calc(90 / 16 * 1rem);
  margin-bottom: calc(30 / 16 * 1rem);
}

.v-editor h2 {
  font-size: calc(30 / 16 * 1rem);
  font-weight: 700;
  line-height: calc(42 / 30);
  margin-top: calc(80 / 16 * 1rem);
  margin-bottom: calc(30 / 16 * 1rem);
}

.v-editor h3 {
  font-size: calc(26 / 16 * 1rem);
  font-weight: 700;
  line-height: calc(36 / 26);
  margin-top: calc(70 / 16 * 1rem);
  margin-bottom: calc(25 / 16 * 1rem);
}

.v-editor h4 {
  font-size: calc(24 / 16 * 1rem);
  font-weight: 700;
  line-height: calc(34 / 24);
  margin-top: calc(60 / 16 * 1rem);
  margin-bottom: calc(20 / 16 * 1rem);
}

.v-editor h5 {
  font-size: calc(22 / 16 * 1rem);
  font-weight: 700;
  line-height: calc(32 / 22);
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(15 / 16 * 1rem);
}

/* 見出し直後の要素は見出しの margin-bottom で間隔を取る */
.v-editor h1 + *,
.v-editor h2 + *,
.v-editor h3 + *,
.v-editor h4 + *,
.v-editor h5 + * {
  margin-top: 0;
}

/* ---- list ---- */

.v-editor ul,
.v-editor ol {
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
  padding-left: 1.5em;
  list-style-position: outside;
}

.v-editor ul {
  list-style-type: disc;
}

.v-editor ol {
  list-style-type: decimal;
}

.v-editor li {
  line-height: 2;
  display: list-item;
  list-style: inherit;
}

.v-editor li + li {
  margin-top: 0.25em;
}

/* ---- image ---- */

.v-editor img {
  max-width: 100%;
  height: auto;
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
}

.v-editor figure {
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
}

.v-editor figure img {
  margin-top: 0;
  margin-bottom: 0;
}

/* ---- link ---- */

.v-editor a {
  color: #d2653a;
  text-decoration: underline;
  transition: opacity 0.3s;
}

.v-editor a:hover {
  opacity: 0.7;
}

/* 新しいタブで開くリンク（target="_blank"）にアイコン付与 */
.v-editor a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  translate: 0 25%;
  margin-left: 0.25em;
  margin-right: 0.25em;
  background: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
}

/* ---- blockquote ---- */

.v-editor blockquote {
  border-left: 4px solid #5b4c47;
  padding-left: 1em;
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
  color: #666666;
}

/* ---- code block ---- */

.v-editor pre {
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
  padding: 1em;
  border-radius: calc(30 / 16 * 1rem);
  background-color: #f4f0ee;
  border-radius: 0.5rem;
  overflow-x: auto;
  font-size: 0.875em;
}

.v-editor code {
  font-family: monospace;
}

.v-editor :not(pre) > code {
  background-color: #f4f0ee;
  padding: 0.15em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.875em;
  border-radius: calc(30 / 16 * 1rem);
}

/* ---- table (c-top-access-table 参考) ---- */

.v-editor__table-wrap {
  overflow-x: auto;
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
  -webkit-overflow-scrolling: touch;
}

.v-editor table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #353333;
  font-size: 1rem;
  line-height: calc(26 / 16);
  font-weight: 500;
}

.v-editor th,
.v-editor td {
  font-weight: 500;
  padding: 0.5em 0.75em;
  border-top: 1px solid #353333;
  border-bottom: 1px solid #353333;
  vertical-align: middle;
}

.v-editor th {
  background-color: #d2c8c4;
  font-weight: 700;
}

/* ---- hr ---- */

.v-editor hr {
  margin-top: calc(50 / 16 * 1rem);
  margin-bottom: calc(50 / 16 * 1rem);
  border: none;
  border-top: 1px solid #999999;
}

/* ---- v-editor-button-link ---- */

.v-editor-button-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 1rem;
  color: #d2653a;
  line-height: calc(34 / 24);
  text-decoration: underline;
  transition: opacity 0.3s;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.v-editor-button-link::after {
  content: "";
  display: block;
  width: calc(37 / 16 * 1rem);
  height: calc(35 / 16 * 1rem);
  background-image: url("data:image/svg+xml,%3Csvg width='37' height='35' viewBox='0 0 37 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36.9171 17.5462C36.9171 17.9844 36.9695 18.4156 36.9415 18.8398C36.9118 19.2762 37.0428 19.7301 36.9852 20.1508C36.9258 20.5837 36.7145 20.9922 36.6271 21.4094C36.5381 21.8354 36.2237 22.1967 36.1049 22.607C35.9844 23.0242 36.1451 23.5304 35.9949 23.9302C35.8429 24.3369 35.6578 24.7384 35.4761 25.1242C35.2928 25.517 35.0063 25.8609 34.7932 26.2327C34.5784 26.6081 34.4073 27.0148 34.1645 27.3692C33.9217 27.7253 33.4851 27.9365 33.2144 28.2717C32.9436 28.6069 32.8633 29.1114 32.5681 29.4238C32.2712 29.7363 31.7892 29.8603 31.4695 30.1483C31.1499 30.4363 30.8443 30.7314 30.502 30.995C30.1614 31.2568 29.8837 31.6077 29.5221 31.8451C29.1641 32.0808 28.834 32.381 28.455 32.5905C28.0812 32.7982 27.6184 32.8506 27.2272 33.0339C26.8394 33.2155 26.4185 33.3167 26.0151 33.4721C25.6151 33.6257 25.2221 33.7863 24.8082 33.9155C24.3995 34.0429 24.017 34.2716 23.5961 34.3729C23.1804 34.4741 22.742 34.4828 22.3141 34.5596C21.8932 34.6347 21.4758 34.7464 21.0444 34.7953C20.6199 34.8442 20.1833 34.7831 19.7484 34.8093C19.3205 34.8337 18.8944 34.9227 18.4595 34.9227C18.0246 34.9227 17.6106 35.0153 17.1915 34.9978C16.767 34.9804 16.3549 34.8005 15.9392 34.7656C15.5148 34.7307 15.1131 34.5701 14.6974 34.5177C14.2747 34.4636 13.8171 34.6801 13.4049 34.6068C12.9858 34.5317 12.591 34.3502 12.1841 34.2541C11.7702 34.1564 11.351 34.0866 10.9528 33.9661C10.5458 33.8439 10.2175 33.5105 9.82798 33.3656C9.42977 33.2172 9.02806 33.1125 8.64906 32.9396C8.26307 32.7633 7.87883 32.6062 7.5138 32.4037C7.14353 32.1995 6.81343 31.9498 6.46412 31.7177C6.11306 31.4837 5.78995 31.2324 5.46159 30.9705C5.13324 30.7087 4.66691 30.6039 4.36476 30.3107C4.0626 30.0209 3.84254 29.6455 3.56658 29.3243C3.29412 29.0084 3.07929 28.647 2.83303 28.2996C2.592 27.961 2.20252 27.7061 1.98944 27.3378C1.7816 26.9799 1.79383 26.4981 1.61393 26.1123C1.43928 25.7387 1.30479 25.3494 1.15808 24.9479C1.01661 24.5604 0.848941 24.1833 0.731922 23.7696C0.620142 23.3733 0.450726 22.9858 0.363398 22.5668C0.279564 22.1636 0.0699772 21.769 0.0105944 21.3431C-0.0452954 20.9363 0.139839 20.4912 0.104908 20.0635C0.0717238 19.6515 0.101415 19.2343 0.0909359 18.8031C0.0804566 18.3894 0.0909359 17.9757 0.0996687 17.5427C0.108401 17.1098 0.146826 16.6943 0.183503 16.2701C0.221928 15.8389 0.0752169 15.3955 0.141586 14.9748C0.207955 14.5489 0.352919 14.1404 0.44898 13.7249C0.54504 13.3042 0.583465 12.8713 0.70747 12.4645C0.833222 12.0526 0.958974 11.6406 1.11442 11.2426C1.26986 10.8428 1.4026 10.4273 1.58773 10.0415C1.77287 9.65399 1.93879 9.24725 2.15187 8.87716C2.3667 8.50533 2.81032 8.27839 3.05309 7.92577C3.29586 7.57314 3.53689 7.22924 3.80586 6.89581C4.07483 6.56413 4.37 6.26562 4.66516 5.95315C4.95859 5.64241 5.18389 5.27058 5.50176 4.98255C5.81789 4.69625 6.20213 4.49725 6.54096 4.2319C6.8763 3.9718 7.20989 3.71693 7.56968 3.47777C7.92424 3.2421 8.17399 2.83012 8.5495 2.61889C8.91977 2.41116 9.3861 2.37799 9.77733 2.19295C10.1598 2.01139 10.5773 1.91713 10.9807 1.76002C11.3754 1.60465 11.7178 1.30614 12.1299 1.17347C12.5334 1.04429 12.9875 1.09666 13.4067 0.99017C13.8171 0.885429 14.1804 0.550258 14.6066 0.468211C15.0222 0.389655 15.4763 0.51709 15.906 0.461228C16.3269 0.405366 16.7269 0.0981263 17.16 0.0649583C17.5827 0.0317903 18.0263 0.230798 18.4612 0.218578C18.8821 0.206359 19.2996 -0.010106 19.7082 0.000368046C20.1292 0.0108421 20.5536 0.0265533 20.9623 0.0597212C21.3814 0.0946349 21.8076 0.113837 22.2128 0.171445C22.6302 0.230798 23.025 0.424569 23.4267 0.506616C23.8388 0.592154 24.2056 0.83655 24.6003 0.944782C25.0055 1.05651 25.4282 1.08269 25.816 1.21885C26.2124 1.35676 26.6525 1.38644 27.0281 1.55053C27.4123 1.71637 27.6865 2.10741 28.0515 2.29769C28.4218 2.49146 28.7868 2.6765 29.1362 2.89471C29.4907 3.11467 29.8784 3.27876 30.2103 3.52315C30.5456 3.7693 30.9875 3.89499 31.3001 4.16382C31.6163 4.4344 31.8363 4.8202 32.128 5.11173C32.4214 5.40675 32.769 5.65987 33.038 5.97409C33.3069 6.29006 33.3681 6.77187 33.6108 7.10529C33.8536 7.44047 34.2867 7.64995 34.5051 8.00258C34.7216 8.3552 34.7304 8.82828 34.9207 9.19662C35.1111 9.56322 35.4639 9.85649 35.6264 10.237C35.7888 10.6159 35.8761 11.0313 36.0123 11.4241C36.1468 11.8134 36.3389 12.194 36.4472 12.5955C36.5538 12.9935 36.3878 13.4561 36.4682 13.8646C36.5468 14.2678 36.6062 14.6676 36.6603 15.0813C36.7127 15.4898 36.8926 15.8826 36.9188 16.2998C36.945 16.71 36.9188 17.1238 36.9188 17.541L36.9171 17.5462Z' fill='%23D2653A'/%3E%3Cpath d='M15 10C15 10 16.0274 15.469 22.6345 17.6345' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M15 25.2692C15 25.2692 16.0274 19.8001 22.6345 17.6346' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.v-editor a:has(.v-editor-button-link) {
  text-decoration: none;
  color: inherit;
}

.v-editor a:has(.v-editor-button-link):hover {
  opacity: 0.7;
}

/* v-editor-button-link の外部リンクアイコンは不要 */
.v-editor a:has(.v-editor-button-link)::after {
  content: none;
}
