@charset "utf-8";

.article-container {
  background-color: var(--color-gray);
}

.article-heading-wrapper {
  padding-block: clamp(6rem, 4.239rem + 7.51vw, 11rem) clamp(2rem, 0.944rem + 4.51vw, 5rem);
  position: relative;
}

.article-heading-inner {
  position: relative;
}

#heading-background-logo {
  width: clamp(17rem, 11.014rem + 25.54vw, 34rem);
  height: auto;
  flex-shrink: 0;
  position: absolute;
  z-index: 1;
  inset-block-start: 10%;
  inset-inline-start: 72%;
  transform: translate(-50%, -50%);
  transition: opacity 2s cubic-bezier(0.075, 0.82, 0.165, 1);
  opacity: 0;
}

#heading-background-logo.visible {
  opacity: 1;
}

.heading-wrapper {
  max-width: 60rem;
  margin: 0 auto;
}

.meta {
  display: flex;
  align-items: center;
  z-index: 2;
  position: relative;
  max-width: 50rem;
}

.post-categories {
  color: var(--color-white);
  background-color: var(--color-blue);
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-bold-ja);
  letter-spacing: var(--spacing-text-ja);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.meta time {
  font-family: var(--font-en);
  font-weight: var(--font-weight-bold-en);
  color: #a2a2a2;
  margin-inline-start: 1.5rem;
}

.article-heading {
  position: relative;
  z-index: 2;
  color: var(--color-black);
  font-family: var(--font-ja);
  font-size: clamp(1.148rem, 0.848rem + 1.28vw, 2rem);
  font-weight: var(--font-weight-bold-ja);
  line-height: 1.7;
  margin-block-start: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
  letter-spacing: var(--spacing-text-ja);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.article-contents {
  position: relative;
  z-index: 2;
}

.news-contents-inner {
  display: flex;
  flex-direction: column;
  max-width: 60rem;
  background-color: var(--color-white);
  padding: clamp(2rem, 0.843rem + 4.94vw, 4rem);
  border-radius: var(--border-radius-base);
}

.news-contents-inner p,
.news-contents-inner h1,
.news-contents-inner h2,
.news-contents-inner h3,
.news-contents-inner h4,
.news-contents-inner h5,
.news-contents-inner h6 {
  line-height: 2;
  letter-spacing: var(--spacing-accent-ja);
  color: var(--color-black);
  font-family: var(--font-ja);
}

.news-contents-inner h1,
.news-contents-inner h2,
.news-contents-inner h3,
.news-contents-inner h4,
.news-contents-inner h5,
.news-contents-inner h6 {
  font-weight: var(--font-weight-bold-ja);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.news-contents-inner h1 {
  font-size: xx-large;
}
.news-contents-inner h2 {
  font-size: x-large;
}
.news-contents-inner h3 {
  font-size: larger;
}
.news-contents-inner h4 {
  font-size: large;
}
.news-contents-inner h5 {
  font-size: medium;
}
.news-contents-inner h6 {
  font-size: small;
}

.news-figure {
  width: 100%;
  height: auto;
  aspect-ratio: 19 / 12;
  overflow: hidden;
  margin: 0 auto;
  margin-block-end: clamp(1.5rem, 0.62rem + 3.76vw, 4rem);
}

.news-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.article-footer {
  background-color: var(--color-gray);
  display: flex;
  justify-content: center;
  padding-block: clamp(3rem, 1.592rem + 6.01vw, 7rem) clamp(4rem, 2.592rem + 6.01vw, 8rem);
}

.button-common {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.8rem;
  gap: 1.2rem;
  border-radius: 2.02225rem;
  background: var(--color-blue);
  color: var(--color-white);
  font-weight: var(--font-weight-bold-ja);
  font-size: var(--font-size-accent-text);
  border: 2px solid var(--color-blue);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  letter-spacing: var(--spacing-accent-ja);
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.button-common span {
  display: inline-block;
  transition: transform 0.3s ease, color 0.3s ease;
  transform-origin: center;
  line-height: 1.4;
}

.button-common svg.icon--arrow {
  transform: scaleX(-1);
  aspect-ratio: 15 / 14;
  flex-shrink: 0;
  stroke: currentColor;
  width: 1rem;
  height: auto;
  vertical-align: middle;
}

@media (min-width: 64rem) {
  .article-container {
    padding-inline: 10rem;
  }

  .button-common {
    background: linear-gradient(90deg, var(--color-blue) 45%, var(--color-white) 80%);
    background-size: 500% 500%;
    background-position: 0% 0%;
    transition: background-position 0.7s ease, color 0.3s ease-in-out;
    overflow: hidden;
    outline-offset: -2px;
  }

  .button-common span {
    transition: transform 0.3s ease, color 0.3s ease;
    transform-origin: center;
  }

  .button-common:hover {
    background-position: 100% 0%;
    color: var(--color-blue);
  }

  .button-common:hover span {
    transform: rotateX(-15deg);
    line-height: 1.4;
  }

  @keyframes gradient-slide {
    from {
      background-position: 0% 0%;
    }
    to {
      background-position: -100% 0%;
    }
  }
}

/* cta */

.cta {
  background-color: var(--color-blue);
}
