@charset "UTF-8";
/* ==========================================================================
  Foundation
========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1;
  color: #333;
  background-color: #fff;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 400;
  line-height: 1;
}
@media (900px <= width) {
  body {
    font-size: 1rem;
  }
}

main {
  position: relative;
  z-index: 222;
}

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

figure {
  margin: 0;
  overflow: hidden;
}

button,
input {
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
}

a,
button,
input[type=button],
input[type=submit],
input[type=reset],
*[role=button] {
  display: inline-block;
  cursor: pointer;
}
a[aria-disabled=true], a:disabled,
button[aria-disabled=true],
button:disabled,
input[type=button][aria-disabled=true],
input[type=button]:disabled,
input[type=submit][aria-disabled=true],
input[type=submit]:disabled,
input[type=reset][aria-disabled=true],
input[type=reset]:disabled,
*[role=button][aria-disabled=true],
*[role=button]:disabled {
  cursor: not-allowed;
}

input[type=radio],
input[type=checkbox] {
  appearance: auto;
}

input:-webkit-autofill {
  transition: background-color 50000s ease-in-out 0s;
  animation-name: onAutoFillStart;
}

fieldset,
legend {
  display: contents;
}

strong {
  font-weight: 700;
}

em {
  font-style: normal;
}

i {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
}

details {
  cursor: pointer;
}

.wp-block-post-content p a {
  word-break: break-all;
}

.clearfix {
  display: block;
}
.clearfix::before, .clearfix::after {
  clear: both;
  display: block;
  content: "";
}

.logo {
  aspect-ratio: 171/38;
}
.logo a {
  display: block;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.logo a:hover, .logo a:focus-visible {
  opacity: 0.5;
}

@media (width < 900px) {
  .--pc {
    display: none !important;
  }
}

@media (900px <= width) {
  .--sp {
    display: none !important;
  }
}

.--bg {
  color: #fff;
  background-color: #333;
}

.--bg-white {
  color: #000;
  background-color: #fff;
}

.--bg-light {
  background-color: #f3f3f3;
}

.--bg-img {
  color: #fff;
  background: url("../img/bg.webp") center/cover no-repeat;
}

.text--warning {
  color: #b90000;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  overflow-wrap: normal !important;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
}

.screen-reader-text:focus {
  top: 5px;
  left: 5px;
  z-index: 100000;
  display: block;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  font-size: 1em;
  line-height: normal;
  color: #444;
  text-decoration: none;
  background-color: #ddd;
  clip: auto !important;
  clip-path: none;
}

/* ==========================================================================
  Program
========================================================================== */
.accordion__trigger + div {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.2s ease-out;
}
.accordion__trigger + div[aria-hidden=false] {
  grid-template-rows: 1fr;
}
.accordion__trigger + div > div {
  overflow: hidden;
}

/* ==========================================================================
  Wrapper
========================================================================== */
.wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: 100dvh;
  margin-inline: auto;
}

/* ==========================================================================
  Header
========================================================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 555;
  width: 100%;
  padding: max(7.4666666667vw, 28px) max(4.2666666667vw, 16px);
  overflow-x: hidden;
}
@media (900px <= width) {
  .header {
    padding: min(1.9444444444vw, 28px);
  }
}
.header__inner {
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin-inline: 0;
  display: flex;
  gap: max(6.4vw, 24px);
  align-items: center;
  justify-content: space-between;
  height: max(8vw, 30px);
  padding-inline: max(4.2666666667vw, 16px);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 100vmax;
  box-shadow: 0 max(1.0666666667vw, 4px) max(1.0666666667vw, 4px) 0 rgba(0, 0, 0, 0.25);
}
@media (900px <= width) {
  .header__inner {
    gap: min(0.5555555556vw, 8px);
    height: min(4.4444444444vw, 64px);
    padding-inline: min(2.2222222222vw, 32px);
    box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  }
}
.header__area1 {
  flex-shrink: 0;
}
.header__area2 {
  flex-grow: 1;
}
.header__brand, .header__toggle {
  position: relative;
  z-index: 999;
}
.header__secondary {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 666;
}
.header__brand .logo {
  display: block;
  width: auto;
  height: max(8vw, 30px);
}
@media (900px <= width) {
  .header__brand .logo {
    height: min(2.6388888889vw, 38px);
  }
}

.headerToggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max(10.6666666667vw, 40px);
  height: max(10.6666666667vw, 40px);
}
.headerToggle__line {
  position: relative;
  display: block;
  width: max(8.5333333333vw, 32px);
  height: max(2.4vw, 9px);
}
.headerToggle__line span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: max(0.2666666667vw, 1px);
  background: #000;
  border-radius: 100vmax;
  transition: all 0.5s;
  transition-property: transform;
}
.headerToggle__line span:nth-child(1) {
  top: 0;
}
.headerToggle__line span:nth-child(2) {
  bottom: 0;
  width: 80%;
}
.headerToggle[aria-expanded=true] .headerToggle__line span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.headerToggle[aria-expanded=true] .headerToggle__line span:nth-child(2) {
  top: 50%;
  width: 100%;
  transform: translateY(-50%) rotate(-45deg);
}

.globalNav__list {
  display: flex;
  gap: min(0.5555555556vw, 8px);
  justify-content: flex-end;
  width: 100%;
  font-size: min(0.9722222222vw, 14px);
  font-weight: 700;
  line-height: 1.5;
  color: #333;
}
@media (900px <= width < 1440px) {
  .globalNav__list {
    font-size: min(0.8333333333vw, 12px);
  }
}
.globalNav__list {
  letter-spacing: 0.06em;
}
.globalNav__list > li > a {
  position: relative;
  display: block;
  padding: min(0.5555555556vw, 8px);
  white-space: nowrap;
}
.globalNav__list > li > a::after {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  width: min(3.3333333333vw, 48px);
  height: min(0.0694444444vw, 1px);
  margin-inline: auto;
  content: "";
  background-color: currentcolor;
  transform: scaleX(0);
  transform-origin: center;
  transition: all 0.5s;
}
.globalNav__list > li > a:hover::after {
  transform: scaleX(1);
}
.globalNav__list > li > a:focus-visible, .globalNav__list > li > a[aria-current=page] {
  color: #313151;
}
.globalNav__list > li.current-menu-item a {
  color: #d39906;
  pointer-events: none;
  cursor: default;
}

.drawer__bg, .drawer__body {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100vh;
  opacity: 0;
}
.drawer__bg {
  z-index: 666;
  background: rgba(0, 0, 0, 0.5);
}
.drawer__body {
  z-index: 777;
  padding-top: max(19.2vw, 72px);
  overflow-y: auto;
  background: #fff;
  transition: all 0.5s;
}
.drawer[aria-hidden=false] .drawer__bg,
.drawer[aria-hidden=false] .drawer__body {
  left: 0;
  opacity: 1;
}

.drawerNav {
  padding: max(10.6666666667vw, 40px) max(10.6666666667vw, 40px) max(14.9333333333vw, 56px);
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  color: #000;
}
.drawerNav__list {
  display: flex;
  flex-direction: column;
}
.drawerNav__list li {
  position: relative;
  border-bottom: max(0.2666666667vw, 1px) solid currentcolor;
}
.drawerNav__list li a {
  display: block;
  padding-block: max(5.3333333333vw, 20px);
}

/* ==========================================================================
  Footer
========================================================================== */
.footer {
  position: relative;
  z-index: 555;
  padding: max(8.5333333333vw, 32px) max(8.5333333333vw, 32px) max(12.8vw, 48px);
  color: #666;
  letter-spacing: 0;
  background-color: #fff;
}
@media (900px <= width) {
  .footer {
    padding: 1.5rem 5rem;
  }
}
.footer__inner {
  display: flex;
  flex-direction: column;
  gap: max(2.1333333333vw, 8px);
  margin-inline: auto;
}
@media (900px <= width) {
  .footer__inner {
    gap: 0.5rem;
  }
}
.footer__copyright {
  font-size: max(3.2vw, 12px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media (900px <= width) {
  .footer__copyright {
    font-size: 0.75rem;
  }
}
.footer__brand {
  text-align: center;
}
.footer__brand .logo {
  display: inline-block;
}
.footer__brand .logo img {
  width: max(45.6vw, 171px);
}
@media (900px <= width) {
  .footer__brand .logo img {
    width: 10.6875rem;
  }
}

.footerInfo {
  font-size: max(3.2vw, 12px);
}
@media (900px <= width) {
  .footerInfo {
    font-size: 0.75rem;
  }
}
.footerInfo__title::before {
  content: "■";
}

.footerNav__list {
  display: flex;
  flex-direction: row;
  gap: 1em;
  justify-content: center;
  font-size: max(3.2vw, 12px);
  font-weight: 500;
}
.footerNav__list > li:not(:last-child)::after {
  margin-left: 1em;
  content: "|";
}
.footerNav__list a {
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
}
.footerNav__list a:hover, .footerNav__list a:focus-visible {
  border-color: currentcolor;
}
@media (900px <= width) {
  .footerNav__list {
    font-size: 0.75rem;
  }
}

/* ==========================================================================
  Container
========================================================================== */
.container {
  margin-inline: auto;
}
@media (width < 900px) {
  .container {
    width: max(90.6666666667vw, 340px);
  }
}
@media (900px <= width) {
  .container {
    width: 100%;
    max-width: 888px;
  }
}
.container--full {
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin-inline: 0;
}
.container--unit {
  display: flex;
  flex-direction: column;
  gap: max(9.6vw, 36px);
  padding-bottom: max(17.0666666667vw, 64px);
}
@media (900px <= width) {
  .container--unit {
    gap: 2.25rem;
    padding-bottom: 4.5rem;
  }
}

.cont-queries {
  container-type: inline-size;
}

/* ==========================================================================
  Page Layout
========================================================================== */
.page__header {
  padding-block: max(17.6vw, 66px) max(4.8vw, 18px);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.page__header .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page__header.--header2 {
  background-color: #313151;
}
@media (900px <= width) {
  .page__header {
    padding-block: 9.5rem 3.8125rem;
  }
}
.page__title {
  font-size: max(7.4666666667vw, 28px);
  line-height: 2;
}
@media (900px <= width) {
  .page__title {
    font-size: 2rem;
  }
}
.page__title-sub {
  font-size: max(4.2666666667vw, 16px);
}
@media (900px <= width) {
  .page__title-sub {
    font-size: 1rem;
  }
}
.page__contents > *, .page__contents > * > *:not(picture, img) {
  margin-block: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .page__contents > *, .page__contents > * > *:not(picture, img) {
    margin-block: 2rem;
  }
}
.page__contents h2 {
  padding-top: 1em;
  font-size: max(5.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.16;
  color: #333;
}
@media (900px <= width) {
  .page__contents h2 {
    font-size: 1.25rem;
  }
}
.page__contents p {
  font-family: "Noto Serif JP", serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media (900px <= width) {
  .page__contents p {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.page__contents figure {
  width: 100%;
  border-radius: max(2.6666666667vw, 10px);
}
.page__contents figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .page__contents figure {
    border-radius: 0.625rem;
  }
}
.page__contents .buttonList > li {
  width: 100%;
}
.page__contents .button {
  margin-inline: auto;
}
.page__contents .button.to-calendar, .page__contents .button.to-top {
  font-size: max(4vw, 15px);
}
@media (900px <= width) {
  .page__contents .button.to-calendar, .page__contents .button.to-top {
    min-width: 23.75rem;
    font-size: 1.125rem;
  }
}

/* ==========================================================================
  Case Study Layout
========================================================================== */
.--case,
.post-type-archive-case {
  letter-spacing: 0.1em;
}
.--case .case,
.post-type-archive-case .case {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--case .case,
  .post-type-archive-case .case {
    margin-bottom: 2rem;
  }
}
.--case .case__meta,
.post-type-archive-case .case__meta {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--case .case__meta,
  .post-type-archive-case .case__meta {
    margin-bottom: 2rem;
  }
}
.--case .case__tags,
.post-type-archive-case .case__tags {
  display: flex;
  flex-wrap: wrap;
  gap: max(2.1333333333vw, 8px);
}
@media (900px <= width) {
  .--case .case__tags,
  .post-type-archive-case .case__tags {
    gap: 0.5rem;
  }
}
.--case .case__tag,
.post-type-archive-case .case__tag {
  padding-inline: max(2.4vw, 9px) max(2.6666666667vw, 10px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 700;
  line-height: max(6.4vw, 24px);
  color: #313151;
  pointer-events: none;
  cursor: default;
  background-color: #c9c9cc;
  border: max(0.2666666667vw, 1px) solid transparent;
  border-radius: max(0.8vw, 3px);
}
.--case .case__tag::before,
.post-type-archive-case .case__tag::before {
  content: "#";
}
.--case .case__tag:hover, .--case .case__tag:focus-visible,
.post-type-archive-case .case__tag:hover,
.post-type-archive-case .case__tag:focus-visible {
  color: #fff;
  background-color: #313151;
}
.--case .case__tag.--service,
.post-type-archive-case .case__tag.--service {
  color: #fff;
  background-color: #313151;
}
.--case .case__tag.--service:hover, .--case .case__tag.--service:focus-visible,
.post-type-archive-case .case__tag.--service:hover,
.post-type-archive-case .case__tag.--service:focus-visible {
  color: #313151;
  background-color: #c9c9cc;
}
@media (900px <= width) {
  .--case .case__tag,
  .post-type-archive-case .case__tag {
    padding-inline: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    border-width: 0.0625rem;
    border-radius: 0.1875rem;
  }
}
.--case .case__service,
.post-type-archive-case .case__service {
  display: flex;
  flex-direction: column;
}
.--case .case__service dt,
.post-type-archive-case .case__service dt {
  padding-inline: max(4.5333333333vw, 17px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 500;
  line-height: max(6.4vw, 24px);
  color: #313151;
  background-color: #fff;
  border: max(0.2666666667vw, 1px) solid currentColor;
}
.--case .case__service dd,
.post-type-archive-case .case__service dd {
  padding-inline: max(2.6666666667vw, 10px);
  font-size: max(4.8vw, 18px);
  font-weight: 700;
  line-height: max(8.5333333333vw, 32px);
  color: #fff;
  background-color: #313151;
}
@media (900px <= width) {
  .--case .case__service,
  .post-type-archive-case .case__service {
    flex-direction: row;
  }
  .--case .case__service dt,
  .post-type-archive-case .case__service dt {
    padding-inline: 1.0625rem;
    font-size: 0.875rem;
    line-height: 2.8125rem;
    border-width: 0.0625rem;
  }
  .--case .case__service dd,
  .post-type-archive-case .case__service dd {
    flex: 1;
    padding-inline: 0.625rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 2.8125rem;
  }
}
.--case .case__header,
.post-type-archive-case .case__header {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667vw, 16px);
  padding: max(3.4666666667vw, 13px) max(2.4vw, 9px) max(2.6666666667vw, 10px) max(2.6666666667vw, 10px);
  margin-bottom: max(8.5333333333vw, 32px);
  background-color: #f3f3f3;
}
@media (900px <= width) {
  .--case .case__header,
  .post-type-archive-case .case__header {
    gap: 1.5rem;
    padding: 1.75rem 1.6875rem 1.8125rem;
    margin-bottom: 2rem;
  }
}
.--case .case__title,
.post-type-archive-case .case__title {
  font-size: max(5.6vw, 21px);
  font-weight: 700;
  line-height: 1.14;
  color: #313151;
  letter-spacing: 0;
}
@media (900px <= width) {
  .--case .case__title,
  .post-type-archive-case .case__title {
    font-size: 2rem;
    line-height: 1.43;
  }
}
.--case .case__interviewee,
.post-type-archive-case .case__interviewee {
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1.31;
}
@media (900px <= width) {
  .--case .case__interviewee,
  .post-type-archive-case .case__interviewee {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.--case .case__thumb,
.post-type-archive-case .case__thumb {
  aspect-ratio: 340/184;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--case .case__thumb img,
.post-type-archive-case .case__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--case .case__thumb,
  .post-type-archive-case .case__thumb {
    aspect-ratio: 888/480;
    border-radius: 0.625rem;
  }
}
.--case .case .caseSummary,
.post-type-archive-case .case .caseSummary {
  display: flex;
  flex-direction: column;
  gap: max(2.1333333333vw, 8px);
  margin-block: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--case .case .caseSummary,
  .post-type-archive-case .case .caseSummary {
    gap: 0.5rem;
    margin-block: 2rem;
  }
}
.--case .case .caseSummary__item,
.post-type-archive-case .case .caseSummary__item {
  display: flex;
  flex-direction: column;
  gap: max(0.5333333333vw, 2px);
  padding: max(3.7333333333vw, 14px) max(3.7333333333vw, 14px) max(3.7333333333vw, 14px) max(7.2vw, 27px);
  background-color: #f3f3f3;
  border-left: max(1.3333333333vw, 5px) solid #313151;
}
.--case .case .caseSummary__item dt,
.post-type-archive-case .case .caseSummary__item dt {
  font-size: max(3.7333333333vw, 14px);
  font-weight: 700;
  color: #313151;
}
.--case .case .caseSummary__item dd,
.post-type-archive-case .case .caseSummary__item dd {
  font-size: max(3.2vw, 12px);
  line-height: 1.5;
}
@media (900px <= width) {
  .--case .case .caseSummary__item,
  .post-type-archive-case .case .caseSummary__item {
    flex-direction: row;
    gap: 2.625rem;
    align-items: center;
    padding: 0.875rem 1.6875rem 0.9375rem;
    border-width: 0.3125rem;
  }
  .--case .case .caseSummary__item dt,
  .post-type-archive-case .case .caseSummary__item dt {
    flex-shrink: 0;
    font-size: 1.125rem;
  }
  .--case .case .caseSummary__item dd,
  .post-type-archive-case .case .caseSummary__item dd {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}
.--case .case .caseInfo,
.post-type-archive-case .case .caseInfo {
  padding: max(3.7333333333vw, 14px) max(3.7333333333vw, 14px) max(3.7333333333vw, 14px) max(7.2vw, 27px);
  background-color: #f3f3f3;
  border-left: max(1.3333333333vw, 5px) solid #313151;
}
@media (900px <= width) {
  .--case .case .caseInfo,
  .post-type-archive-case .case .caseInfo {
    padding: 0.875rem 1.6875rem 0.9375rem;
    border-width: 0.3125rem;
  }
}
.--case .case .caseInfo__company,
.post-type-archive-case .case .caseInfo__company {
  margin-bottom: max(1.0666666667vw, 4px);
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1.75;
  color: #313151;
}
@media (900px <= width) {
  .--case .case .caseInfo__company,
  .post-type-archive-case .case .caseInfo__company {
    margin-bottom: 0.875rem;
    font-size: 1.125rem;
    line-height: 1.55;
  }
}
.--case .case .caseInfo__item,
.post-type-archive-case .case .caseInfo__item {
  display: flex;
  gap: max(0.5333333333vw, 2px);
}
.--case .case .caseInfo__item dt,
.--case .case .caseInfo__item dd,
.post-type-archive-case .case .caseInfo__item dt,
.post-type-archive-case .case .caseInfo__item dd {
  font-size: max(3.7333333333vw, 14px);
  line-height: 1.5;
}
.--case .case .caseInfo__item dt,
.post-type-archive-case .case .caseInfo__item dt {
  flex-shrink: 0;
  width: 5em;
}
.--case .case .caseInfo__item a:hover, .--case .case .caseInfo__item a:focus-visible,
.post-type-archive-case .case .caseInfo__item a:hover,
.post-type-archive-case .case .caseInfo__item a:focus-visible {
  text-decoration: underline;
}
@media (900px <= width) {
  .--case .case .caseInfo__item,
  .post-type-archive-case .case .caseInfo__item {
    gap: 1rem;
    align-items: center;
  }
  .--case .case .caseInfo__item dt,
  .--case .case .caseInfo__item dd,
  .post-type-archive-case .case .caseInfo__item dt,
  .post-type-archive-case .case .caseInfo__item dd {
    font-size: 0.875rem;
    line-height: 1.71;
  }
}
.--case .case__contents > *, .--case .case__contents > * > *:not(picture, img),
.post-type-archive-case .case__contents > *,
.post-type-archive-case .case__contents > * > *:not(picture, img) {
  margin-block: max(8.5333333333vw, 32px);
  letter-spacing: 0.1em;
}
@media (900px <= width) {
  .--case .case__contents > *, .--case .case__contents > * > *:not(picture, img),
  .post-type-archive-case .case__contents > *,
  .post-type-archive-case .case__contents > * > *:not(picture, img) {
    margin-block: 2rem;
  }
}
.--case .case__contents h2,
.post-type-archive-case .case__contents h2 {
  padding-top: 1em;
  font-size: max(6.4vw, 24px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
@media (900px <= width) {
  .--case .case__contents h2,
  .post-type-archive-case .case__contents h2 {
    font-size: 1.5rem;
  }
}
.--case .case__contents h3,
.post-type-archive-case .case__contents h3 {
  position: relative;
  padding-top: 1em;
  padding-left: max(3.4666666667vw, 13px);
  font-size: max(4.8vw, 18px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
.--case .case__contents h3::after,
.post-type-archive-case .case__contents h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: max(1.3333333333vw, 5px);
  height: calc(100% - 1em);
  content: "";
  background-color: #313151;
}
@media (900px <= width) {
  .--case .case__contents h3,
  .post-type-archive-case .case__contents h3 {
    padding-left: 0.8125rem;
    font-size: 1.125rem;
  }
  .--case .case__contents h3::after,
  .post-type-archive-case .case__contents h3::after {
    width: 0.3125rem;
  }
}
.--case .case__contents h4,
.post-type-archive-case .case__contents h4 {
  font-weight: 700;
  line-height: 1.33;
}
.--case .case__contents p,
.post-type-archive-case .case__contents p {
  font-family: "Noto Serif JP", serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media (900px <= width) {
  .--case .case__contents p,
  .post-type-archive-case .case__contents p {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.--case .case__contents figure,
.post-type-archive-case .case__contents figure {
  width: 100%;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--case .case__contents figure img,
.post-type-archive-case .case__contents figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--case .case__contents figure,
  .post-type-archive-case .case__contents figure {
    border-radius: 0.625rem;
  }
}

/* ==========================================================================
  Column Layout
========================================================================== */
.--column,
.post-type-archive-column,
.tax-column_category {
  letter-spacing: 0.1em;
}
.--column .columnPost,
.post-type-archive-column .columnPost,
.tax-column_category .columnPost {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--column .columnPost,
  .post-type-archive-column .columnPost,
  .tax-column_category .columnPost {
    margin-bottom: 2rem;
  }
}
.--column .columnPost__meta,
.post-type-archive-column .columnPost__meta,
.tax-column_category .columnPost__meta {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--column .columnPost__meta,
  .post-type-archive-column .columnPost__meta,
  .tax-column_category .columnPost__meta {
    margin-bottom: 2rem;
  }
}
.--column .columnPost__categories,
.post-type-archive-column .columnPost__categories,
.tax-column_category .columnPost__categories {
  display: flex;
  flex-direction: column;
  gap: max(2.1333333333vw, 8px);
}
@media (900px <= width) {
  .--column .columnPost__categories,
  .post-type-archive-column .columnPost__categories,
  .tax-column_category .columnPost__categories {
    flex-direction: row;
    gap: 0.5rem;
  }
}
.--column .columnPost__category,
.post-type-archive-column .columnPost__category,
.tax-column_category .columnPost__category {
  display: block;
  width: max(48vw, 180px);
  padding-inline: max(2.4vw, 9px) max(2.6666666667vw, 10px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 700;
  line-height: max(6.4vw, 24px);
  color: #313151;
  text-align: center;
  background-color: #c9c9cc;
  border: max(0.2666666667vw, 1px) solid transparent;
  border-radius: max(0.8vw, 3px);
}
.--column .columnPost__category.--current,
.post-type-archive-column .columnPost__category.--current,
.tax-column_category .columnPost__category.--current {
  color: #fff;
  background-color: #313151;
}
.--column .columnPost__category:is(a):hover, .--column .columnPost__category:is(a):focus-visible,
.post-type-archive-column .columnPost__category:is(a):hover,
.post-type-archive-column .columnPost__category:is(a):focus-visible,
.tax-column_category .columnPost__category:is(a):hover,
.tax-column_category .columnPost__category:is(a):focus-visible {
  color: #fff;
  background-color: #313151;
}
@media (900px <= width) {
  .--column .columnPost__category,
  .post-type-archive-column .columnPost__category,
  .tax-column_category .columnPost__category {
    width: 11.25rem;
    padding-inline: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    border-width: 0.0625rem;
    border-radius: 0.1875rem;
  }
}
.--column .columnPost__date,
.post-type-archive-column .columnPost__date,
.tax-column_category .columnPost__date {
  margin-top: max(8.5333333333vw, 32px);
  font-size: max(3.4666666667vw, 13px);
  line-height: 1.61;
  color: #000;
  letter-spacing: 0;
}
@media (900px <= width) {
  .--column .columnPost__date,
  .post-type-archive-column .columnPost__date,
  .tax-column_category .columnPost__date {
    margin-top: 2rem;
    font-size: 0.8125rem;
  }
}
.--column .columnPost__header,
.post-type-archive-column .columnPost__header,
.tax-column_category .columnPost__header {
  margin-block: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--column .columnPost__header,
  .post-type-archive-column .columnPost__header,
  .tax-column_category .columnPost__header {
    margin-block: 2rem;
  }
}
.--column .columnPost__title,
.post-type-archive-column .columnPost__title,
.tax-column_category .columnPost__title {
  font-size: max(6.4vw, 24px);
  font-weight: 700;
  line-height: 1.33;
}
@media (900px <= width) {
  .--column .columnPost__title,
  .post-type-archive-column .columnPost__title,
  .tax-column_category .columnPost__title {
    font-size: 1.5rem;
  }
}
.--column .columnPost__thumb,
.post-type-archive-column .columnPost__thumb,
.tax-column_category .columnPost__thumb {
  aspect-ratio: 340/184;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--column .columnPost__thumb img,
.post-type-archive-column .columnPost__thumb img,
.tax-column_category .columnPost__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--column .columnPost__thumb,
  .post-type-archive-column .columnPost__thumb,
  .tax-column_category .columnPost__thumb {
    aspect-ratio: 888/480;
    border-radius: 0.625rem;
  }
}
.--column .columnPost__contents > *, .--column .columnPost__contents > * > *:not(picture, img),
.post-type-archive-column .columnPost__contents > *,
.post-type-archive-column .columnPost__contents > * > *:not(picture, img),
.tax-column_category .columnPost__contents > *,
.tax-column_category .columnPost__contents > * > *:not(picture, img) {
  margin-block: max(8.5333333333vw, 32px);
  letter-spacing: 0.1em;
}
@media (900px <= width) {
  .--column .columnPost__contents > *, .--column .columnPost__contents > * > *:not(picture, img),
  .post-type-archive-column .columnPost__contents > *,
  .post-type-archive-column .columnPost__contents > * > *:not(picture, img),
  .tax-column_category .columnPost__contents > *,
  .tax-column_category .columnPost__contents > * > *:not(picture, img) {
    margin-block: 2rem;
  }
}
.--column .columnPost__contents h2,
.post-type-archive-column .columnPost__contents h2,
.tax-column_category .columnPost__contents h2 {
  padding-top: 1em;
  font-size: max(5.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
@media (900px <= width) {
  .--column .columnPost__contents h2,
  .post-type-archive-column .columnPost__contents h2,
  .tax-column_category .columnPost__contents h2 {
    font-size: 1.25rem;
  }
}
.--column .columnPost__contents h3,
.post-type-archive-column .columnPost__contents h3,
.tax-column_category .columnPost__contents h3 {
  position: relative;
  padding-top: 1em;
  padding-left: max(3.4666666667vw, 13px);
  font-size: max(4.8vw, 18px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
.--column .columnPost__contents h3::after,
.post-type-archive-column .columnPost__contents h3::after,
.tax-column_category .columnPost__contents h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: max(1.3333333333vw, 5px);
  height: calc(100% - 1em);
  content: "";
  background-color: #313151;
}
@media (900px <= width) {
  .--column .columnPost__contents h3,
  .post-type-archive-column .columnPost__contents h3,
  .tax-column_category .columnPost__contents h3 {
    padding-left: 0.8125rem;
    font-size: 1.125rem;
  }
  .--column .columnPost__contents h3::after,
  .post-type-archive-column .columnPost__contents h3::after,
  .tax-column_category .columnPost__contents h3::after {
    width: 0.3125rem;
  }
}
.--column .columnPost__contents h4,
.post-type-archive-column .columnPost__contents h4,
.tax-column_category .columnPost__contents h4 {
  font-weight: 700;
  line-height: 1.33;
}
.--column .columnPost__contents p,
.post-type-archive-column .columnPost__contents p,
.tax-column_category .columnPost__contents p {
  font-family: "Noto Serif JP", serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media (900px <= width) {
  .--column .columnPost__contents p,
  .post-type-archive-column .columnPost__contents p,
  .tax-column_category .columnPost__contents p {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.--column .columnPost__contents figure,
.post-type-archive-column .columnPost__contents figure,
.tax-column_category .columnPost__contents figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--column .columnPost__contents figure img,
.post-type-archive-column .columnPost__contents figure img,
.tax-column_category .columnPost__contents figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--column .columnPost__contents figure,
  .post-type-archive-column .columnPost__contents figure,
  .tax-column_category .columnPost__contents figure {
    border-radius: 0.625rem;
  }
}

/* ==========================================================================
  Post Layout
========================================================================== */
.--post,
.category,
.--news {
  letter-spacing: 0.1em;
}
.--post .post,
.category .post,
.--news .post {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--post .post,
  .category .post,
  .--news .post {
    margin-bottom: 2rem;
  }
}
.--post .post__meta,
.category .post__meta,
.--news .post__meta {
  margin-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--post .post__meta,
  .category .post__meta,
  .--news .post__meta {
    margin-bottom: 2rem;
  }
}
.--post .post__categories,
.category .post__categories,
.--news .post__categories {
  display: flex;
  flex-direction: column;
  gap: max(2.1333333333vw, 8px);
}
@media (900px <= width) {
  .--post .post__categories,
  .category .post__categories,
  .--news .post__categories {
    flex-direction: row;
    gap: 0.5rem;
  }
}
.--post .post__category,
.category .post__category,
.--news .post__category {
  display: block;
  width: max(48vw, 180px);
  padding-inline: max(2.4vw, 9px) max(2.6666666667vw, 10px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 700;
  line-height: max(6.4vw, 24px);
  color: #313151;
  text-align: center;
  background-color: #c9c9cc;
  border: max(0.2666666667vw, 1px) solid transparent;
  border-radius: max(0.8vw, 3px);
}
.--post .post__category.--current,
.category .post__category.--current,
.--news .post__category.--current {
  color: #fff;
  background-color: #313151;
}
.--post .post__category:is(a):hover, .--post .post__category:is(a):focus-visible,
.category .post__category:is(a):hover,
.category .post__category:is(a):focus-visible,
.--news .post__category:is(a):hover,
.--news .post__category:is(a):focus-visible {
  color: #fff;
  background-color: #313151;
}
@media (900px <= width) {
  .--post .post__category,
  .category .post__category,
  .--news .post__category {
    width: 11.25rem;
    padding-inline: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    border-width: 0.0625rem;
    border-radius: 0.1875rem;
  }
}
.--post .post__date,
.category .post__date,
.--news .post__date {
  margin-top: max(8.5333333333vw, 32px);
  font-size: max(3.4666666667vw, 13px);
  line-height: 1.61;
  color: #000;
  letter-spacing: 0;
}
@media (900px <= width) {
  .--post .post__date,
  .category .post__date,
  .--news .post__date {
    margin-top: 2rem;
    font-size: 0.8125rem;
  }
}
.--post .post__header,
.category .post__header,
.--news .post__header {
  margin-block: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .--post .post__header,
  .category .post__header,
  .--news .post__header {
    margin-block: 2rem;
  }
}
.--post .post__title,
.category .post__title,
.--news .post__title {
  font-size: max(6.4vw, 24px);
  font-weight: 700;
  line-height: 1.33;
}
@media (900px <= width) {
  .--post .post__title,
  .category .post__title,
  .--news .post__title {
    font-size: 1.5rem;
  }
}
.--post .post__thumb,
.category .post__thumb,
.--news .post__thumb {
  aspect-ratio: 340/184;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--post .post__thumb img,
.category .post__thumb img,
.--news .post__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--post .post__thumb,
  .category .post__thumb,
  .--news .post__thumb {
    aspect-ratio: 888/480;
    border-radius: 0.625rem;
  }
}
.--post .post__contents > *, .--post .post__contents > * > *:not(picture, img),
.category .post__contents > *,
.category .post__contents > * > *:not(picture, img),
.--news .post__contents > *,
.--news .post__contents > * > *:not(picture, img) {
  margin-block: max(8.5333333333vw, 32px);
  letter-spacing: 0.1em;
}
@media (900px <= width) {
  .--post .post__contents > *, .--post .post__contents > * > *:not(picture, img),
  .category .post__contents > *,
  .category .post__contents > * > *:not(picture, img),
  .--news .post__contents > *,
  .--news .post__contents > * > *:not(picture, img) {
    margin-block: 2rem;
  }
}
.--post .post__contents h2,
.category .post__contents h2,
.--news .post__contents h2 {
  padding-top: 1em;
  font-size: max(5.3333333333vw, 20px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
@media (900px <= width) {
  .--post .post__contents h2,
  .category .post__contents h2,
  .--news .post__contents h2 {
    font-size: 1.25rem;
  }
}
.--post .post__contents h3,
.category .post__contents h3,
.--news .post__contents h3 {
  position: relative;
  padding-top: 1em;
  padding-left: max(3.4666666667vw, 13px);
  font-size: max(4.8vw, 18px);
  font-weight: 700;
  line-height: 1.33;
  color: #333;
}
.--post .post__contents h3::after,
.category .post__contents h3::after,
.--news .post__contents h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: max(1.3333333333vw, 5px);
  height: calc(100% - 1em);
  content: "";
  background-color: #313151;
}
@media (900px <= width) {
  .--post .post__contents h3,
  .category .post__contents h3,
  .--news .post__contents h3 {
    padding-left: 0.8125rem;
    font-size: 1.125rem;
  }
  .--post .post__contents h3::after,
  .category .post__contents h3::after,
  .--news .post__contents h3::after {
    width: 0.3125rem;
  }
}
.--post .post__contents h4,
.category .post__contents h4,
.--news .post__contents h4 {
  font-weight: 700;
  line-height: 1.33;
}
.--post .post__contents p,
.category .post__contents p,
.--news .post__contents p {
  font-family: "Noto Serif JP", serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  line-height: 1.5;
}
@media (900px <= width) {
  .--post .post__contents p,
  .category .post__contents p,
  .--news .post__contents p {
    font-size: 1rem;
    line-height: 1.625;
  }
}
.--post .post__contents figure,
.category .post__contents figure,
.--news .post__contents figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: max(2.6666666667vw, 10px);
}
.--post .post__contents figure img,
.category .post__contents figure img,
.--news .post__contents figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (900px <= width) {
  .--post .post__contents figure,
  .category .post__contents figure,
  .--news .post__contents figure {
    border-radius: 0.625rem;
  }
}

/* ==========================================================================
  Breadcrumb
========================================================================== */
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: max(8.5333333333vw, 32px);
  font-size: max(3.7333333333vw, 14px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.breadcrumb__list li {
  display: flex;
  align-items: center;
}
.breadcrumb__list li:not(:last-child)::after {
  margin-inline: 0.25em;
  content: "-";
}
@media (900px <= width) {
  .breadcrumb__list {
    flex-wrap: nowrap;
    margin-bottom: 2rem;
    font-size: 0.875rem;
  }
}
.breadcrumb__item a {
  white-space: nowrap;
}
.breadcrumb__title.--upper {
  text-transform: uppercase;
}
@media (900px <= width) {
  .breadcrumb__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
  }
}

/* ==========================================================================
  Button
========================================================================== */
.button {
  position: relative;
  display: flex;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: space-between;
  width: max(64vw, 240px);
  height: max(10.6666666667vw, 40px);
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #d71618 0%, #b72021 100%);
  border: max(0.5333333333vw, 2px) solid transparent;
  border-radius: max(0.8vw, 3px);
  box-shadow: max(1.0666666667vw, 4px) max(1.0666666667vw, 4px) max(1.0666666667vw, 4px) 0 rgba(0, 0, 0, 0.25);
}
@media (900px <= width) {
  .button {
    box-shadow: 0.25rem 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  }
}
.button > span {
  position: relative;
  z-index: 2;
  flex: 1;
  text-align: center;
}
.button.--secondary {
  background: linear-gradient(135deg, #12099d 0%, #0c0660 100%);
}
@media (900px <= width) {
  .button {
    gap: 1rem;
    width: 18.75rem;
    height: 3.25rem;
    font-size: 1.25rem;
    border-width: 0.125rem;
    border-radius: 0.1875rem;
    transition: color 0.3s ease, border-color 0.3s ease;
  }
  .button::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    content: "";
    background: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .button:hover, .button:focus-visible {
    color: #d71618;
    border-color: currentcolor;
  }
  .button:hover::after, .button:focus-visible::after {
    opacity: 1;
  }
  .button.--manager:hover, .button.--manager:focus-visible {
    color: #12099d;
  }
}

.buttonList {
  padding: 0;
  list-style-type: none;
}
.buttonList.--horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
  margin: max(8.5333333333vw, 32px) auto 0;
}
@media (900px <= width) {
  .buttonList.--horizontal {
    gap: 1.125rem;
    margin: 2rem auto 0;
  }
}
.buttonList.--vertical {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
  margin: max(8.5333333333vw, 32px) auto 0;
}
@media (900px <= width) {
  .buttonList.--vertical {
    gap: 1.125rem;
    margin: 2rem auto 0;
  }
}

/* ==========================================================================
  Column
========================================================================== */
.column {
  display: flex;
  flex-direction: column;
  gap: max(5.8666666667vw, 22px);
}
@media (900px <= width) {
  .column {
    flex-flow: row wrap;
    gap: 1.375rem;
  }
  .column--col2 > * {
    flex-basis: calc((100% - 1.375rem) / 2);
  }
  .column--col3 > * {
    flex-basis: calc((100% - 2.75rem) / 3);
  }
}

/* ==========================================================================
  FAQ
========================================================================== */
.faq {
  margin-block: max(8vw, 30px) max(10.6666666667vw, 40px);
}
@media (900px <= width) {
  .faq {
    margin-block: 1.875rem 3.375rem;
  }
}
.faq__list {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  line-height: 2;
}
@media (900px <= width) {
  .faq__list {
    font-size: 1rem;
  }
}
.faq__item {
  display: flex;
  flex-direction: column;
}
.faq__question::before {
  content: "Q.";
}
.faq__answer {
  padding-left: 1em;
}
.faq__answer::before {
  content: "A.";
}

/* ==========================================================================
  Section
========================================================================== */
.section {
  position: relative;
}
.section .container {
  position: relative;
}
.section .article {
  padding-block: max(10.6666666667vw, 40px);
  padding-left: max(12.2666666667vw, 46px);
  font-family: "Noto Serif JP", serif;
}
@media (900px <= width) {
  .section .article {
    padding-block: 3.8125rem 6.875rem;
    padding-left: 4.3125rem;
  }
}
.section__title-sub {
  position: absolute;
  top: 0;
  left: 0;
  height: max(39.4666666667vw, 148px);
  padding-right: max(4vw, 15px);
  font-size: max(3.7333333333vw, 14px);
  font-weight: 700;
  text-align: right;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.section__title-sub::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: max(0.2666666667vw, 1px);
  height: 100%;
  content: "";
  background-color: currentcolor;
}
.section__title-sub.--en {
  font-family: "Inter", sans-serif;
}
@media (900px <= width) {
  .section__title-sub {
    height: 9.25rem;
    padding-right: 0.9375rem;
    padding-left: 0.3125rem;
    font-size: 0.875rem;
  }
  .section__title-sub::after {
    width: 0.0625rem;
  }
}
.section__title {
  margin-bottom: max(5.8666666667vw, 22px);
  font-size: max(5.6vw, 21px);
  font-weight: 700;
  line-height: 1.52;
}
@media (900px <= width) {
  .section__title {
    margin-bottom: 2.5rem;
    font-size: 2.5rem;
    line-height: 1.59;
  }
}
.section__title2 {
  padding-bottom: max(5.3333333333vw, 20px);
  margin-bottom: max(5.3333333333vw, 20px);
  font-family: "Noto Serif JP", serif;
  font-size: max(6.4vw, 24px);
  font-weight: 600;
  line-height: 1.58;
  text-align: center;
  border-bottom: max(0.2666666667vw, 1px) solid rgba(255, 255, 255, 0.25);
}
@media (900px <= width) {
  .section__title2 {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    border-width: 0.0625rem;
  }
}
.section__header.--header2 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: max(22.9333333333vw, 86px);
  padding-left: max(12.2666666667vw, 46px);
  margin-bottom: max(8.2666666667vw, 31px);
  font-family: "Noto Serif JP", serif;
}
.section__header.--header2 .section__title {
  margin-block: auto 0;
}
.section__header.--header2 .section__title-sub {
  height: 100%;
}
@media (900px <= width) {
  .section__header.--header2 {
    height: 9.25rem;
    padding-left: 4.3125rem;
    margin-bottom: 1.9375rem;
  }
}
.section__body {
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.section__body p + p {
  margin-top: 1.5em;
}
@media (900px <= width) {
  .section__body {
    font-size: 1rem;
    line-height: 1.8;
  }
}

.articles .container {
  width: max(75.2vw, 282px);
}
@media (900px <= width) {
  .articles .container {
    width: 55.625rem;
  }
}

.cta {
  padding-block: max(10.6666666667vw, 40px);
  font-family: "Noto Sans JP", sans-serif;
}
@media (900px <= width) {
  .cta {
    padding-block: 2.5rem;
  }
}
.cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.cta__caption {
  display: block;
  flex-shrink: 0;
  width: 100%;
  margin: 0 auto max(4.2666666667vw, 16px);
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.5;
  text-align: center;
  letter-spacing: -0.05em;
}
@media (900px <= width) {
  .cta__caption {
    margin-bottom: 1rem;
    font-size: 1rem;
  }
}
.cta__caption span {
  display: inline-block;
}
.cta__list {
  display: flex;
  flex-flow: column wrap;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  width: fit-content;
  font-weight: bold;
}
@media (900px <= width) {
  .cta__list {
    flex-direction: row;
    gap: 1rem;
  }
}
@media (900px <= width) {
  .cta__list.--vertical {
    flex-direction: column;
  }
}
.cta__item {
  flex: 1;
}
.cta__link {
  position: relative;
  display: flex;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: space-between;
  width: max(64vw, 240px);
  height: max(10.6666666667vw, 40px);
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, #d71618 0%, #b72021 100%);
  border: max(0.5333333333vw, 2px) solid transparent;
  border-radius: max(0.8vw, 3px);
  box-shadow: max(1.0666666667vw, 4px) max(1.0666666667vw, 4px) max(1.0666666667vw, 4px) 0 rgba(0, 0, 0, 0.25);
}
@media (900px <= width) {
  .cta__link {
    box-shadow: 0.25rem 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  }
}
.cta__link > span {
  position: relative;
  z-index: 2;
  flex: 1;
  text-align: center;
}
.cta__link.--manager {
  background: linear-gradient(135deg, #12099d 0%, #0c0660 100%);
}
@media (900px <= width) {
  .cta__link {
    gap: 1rem;
    width: 18.75rem;
    height: 3.25rem;
    font-size: 1.25rem;
    border-width: 0.125rem;
    border-radius: 0.1875rem;
    transition: color 0.3s ease, border-color 0.3s ease;
  }
  .cta__link::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    content: "";
    background: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .cta__link:hover, .cta__link:focus-visible {
    color: #d71618;
    border-color: currentcolor;
  }
  .cta__link:hover::after, .cta__link:focus-visible::after {
    opacity: 1;
  }
  .cta__link.--manager:hover, .cta__link.--manager:focus-visible {
    color: #12099d;
  }
}

/* ==========================================================================
  Component / SNS
========================================================================== */
.sns__list {
  display: flex;
  gap: max(2.6666666667vw, 10px);
  align-items: center;
  justify-content: center;
}
@media (900px <= width) {
  .sns__list {
    gap: 0.625rem;
  }
  .sns__list a {
    transition: opacity 0.3s ease;
  }
  .sns__list a:hover, .sns__list a:focus-visible {
    opacity: 0.5;
  }
}
.sns__list .--disabled {
  pointer-events: none;
  opacity: 0.2;
}
.sns__list .--facebook {
  width: max(5.3333333333vw, 20px);
}
@media (900px <= width) {
  .sns__list .--facebook {
    width: 1.25rem;
  }
}
.sns__list .--instagram {
  width: max(4.2666666667vw, 16px);
}
@media (900px <= width) {
  .sns__list .--instagram {
    width: 1rem;
  }
}
.sns__list .--x {
  width: max(4vw, 15px);
}
@media (900px <= width) {
  .sns__list .--x {
    width: 0.9375rem;
  }
}

@media (width < 900px) {
  .follow {
    display: none;
  }
}
@media (900px <= width) {
  .follow {
    position: fixed;
    top: 50%;
    right: 2rem;
    z-index: 555;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    align-items: center;
    font-weight: 700;
    transform: translateY(-50%);
  }
  .follow__text {
    position: relative;
    font-family: "Inter", sans-serif;
    font-size: 0.875rem;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
  .follow .sns__list {
    flex-direction: column;
  }
}

/* ==========================================================================
  FV
========================================================================== */
.fvMedia {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 111;
  width: 100%;
}
.fvMedia__inner video,
.fvMedia__inner source,
.fvMedia__inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.--cvc .fv .container,
.--manager .fv .container {
  position: relative;
}
@media (width < 900px) {
  .--cvc .fv .container,
  .--manager .fv .container {
    width: 100%;
    height: max(106.6666666667vw, 400px);
  }
}
@media (900px <= width) {
  .--cvc .fv .container,
  .--manager .fv .container {
    height: min(37.1527777778vw, 535px);
  }
}
.--cvc .fv__contents,
.--manager .fv__contents {
  position: absolute;
  inset-inline: 0;
  top: max(26.4vw, 99px);
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-inline: auto;
  animation: fv-slide-in 0.8s ease forwards;
}
@media (900px <= width) {
  .--cvc .fv__contents,
  .--manager .fv__contents {
    top: min(12.0833333333vw, 174px);
  }
}
@keyframes fv-slide-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.--cvc .fv__tagline,
.--manager .fv__tagline {
  font-family: "Noto Serif JP", serif;
  font-size: max(8vw, 30px);
  font-weight: 700;
  line-height: 1.46;
  text-align: center;
  text-shadow: 0 0 max(4.2666666667vw, 16px) rgba(0, 0, 0, 0.8);
}
@media (900px <= width) {
  .--cvc .fv__tagline,
  .--manager .fv__tagline {
    text-shadow: 0 0 1rem rgba(0, 0, 0, 0.8);
  }
}
@media (width < 900px) {
  .--cvc .fv__tagline,
  .--manager .fv__tagline {
    letter-spacing: -0.05em;
  }
}
@media (900px <= width) {
  .--cvc .fv__tagline,
  .--manager .fv__tagline {
    font-size: min(3.3333333333vw, 48px);
    line-height: 1.37;
  }
}
.--cvc .fv__logo,
.--manager .fv__logo {
  width: max(75.4666666667vw, 283px);
  margin-inline: auto;
  margin-top: max(2.1333333333vw, 8px);
  filter: drop-shadow(0 0 max(4.2666666667vw, 16px) rgba(0, 0, 0, 0.8));
}
@media (900px <= width) {
  .--cvc .fv__logo,
  .--manager .fv__logo {
    filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.8));
  }
}
@media (900px <= width) {
  .--cvc .fv__logo,
  .--manager .fv__logo {
    width: min(32.6388888889vw, 470px);
    margin-top: min(0.9027777778vw, 13px);
  }
}
.--cvc .fv__text,
.--manager .fv__text {
  font-size: max(4.8vw, 18px);
  font-weight: 700;
  line-height: 1.33;
  text-align: center;
  text-shadow: 0 0 max(4.2666666667vw, 16px) rgba(0, 0, 0, 0.8);
}
@media (900px <= width) {
  .--cvc .fv__text,
  .--manager .fv__text {
    text-shadow: 0 0 1rem rgba(0, 0, 0, 0.8);
  }
}
@media (900px <= width) {
  .--cvc .fv__text,
  .--manager .fv__text {
    font-size: min(1.9444444444vw, 28px);
    line-height: 2.35;
  }
}
.--cvc .fv .cta,
.--manager .fv .cta {
  padding-block: 0 !important;
  margin-top: max(23.7333333333vw, 89px);
}
@media (900px <= width) {
  .--cvc .fv .cta,
  .--manager .fv .cta {
    margin-top: min(4.4444444444vw, 64px);
  }
}

/* ==========================================================================
  Card
========================================================================== */
.card {
  display: flex;
  flex-direction: column;
  gap: max(3.2vw, 12px);
  color: #666;
}
@media (900px <= width) {
  .card {
    gap: 0.75rem;
  }
}
.card__link {
  display: block;
}
@media (any-hover: hover) {
  .card__link figure {
    overflow: hidden;
  }
  .card__link img {
    transition: transform 0.5s ease;
  }
  .card__link:hover img {
    transform: scale(1.1);
  }
}
@media (900px <= width) {
  .card__link {
    margin-bottom: 1.875rem;
  }
}
.card__body {
  display: flex;
  flex-direction: column;
  gap: max(3.2vw, 12px);
}
@media (900px <= width) {
  .card__body {
    gap: 0.75rem;
  }
}
.card__title {
  display: -webkit-box;
  order: 2;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: max(5.6vw, 21px);
  font-weight: 700;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  letter-spacing: -0.05em;
}
@media (900px <= width) {
  .card__title {
    font-size: 1rem;
    line-height: 1.6;
  }
}
.card__text {
  display: -webkit-box;
  order: 3;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: max(3.7333333333vw, 14px);
  line-height: 1.78;
  -webkit-box-orient: vertical;
  letter-spacing: -0.05em;
}
@media (900px <= width) {
  .card__text {
    font-size: 0.875rem;
  }
}
.card__meta {
  display: flex;
  flex-direction: column;
  gap: max(3.2vw, 12px);
  align-items: flex-start;
  order: 1;
}
@media (900px <= width) {
  .card__meta {
    gap: 0.75rem;
  }
}
.card__date {
  font-size: max(3.4666666667vw, 13px);
  color: #000;
}
@media (900px <= width) {
  .card__date {
    font-size: 0.8125rem;
  }
}
.card__category {
  padding-inline: max(3.2vw, 12px);
  font-size: max(3.4666666667vw, 13px);
  line-height: max(5.6vw, 21px);
  color: #fff;
  text-transform: uppercase;
  background-color: #313151;
  border-radius: max(0.8vw, 3px);
}
@media (900px <= width) {
  .card__category {
    padding-inline: 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.3125rem;
    border-radius: 0.1875rem;
  }
}
.card__image {
  order: -1;
  aspect-ratio: 700/395;
  overflow: hidden;
  border-radius: max(0.8vw, 3px);
}
@media (900px <= width) {
  .card__image {
    border-radius: 0.1875rem;
  }
}
.card__image img {
  object-fit: cover;
}

.detailsCard {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
  align-items: center;
  padding: max(6.4vw, 24px) max(5.3333333333vw, 20px);
  overflow: hidden;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #d71618 0%, #b72021 100%);
  border-radius: max(2.6666666667vw, 10px);
}
.detailsCard.--manager {
  background: linear-gradient(135deg, #12099d 0%, #0c0660 100%);
}
@media (900px <= width) {
  .detailsCard {
    gap: 1.5rem;
    padding: 2.5rem 1.75rem 3.125rem;
    border-radius: 0.625rem;
    transition: transform 0.3s ease;
  }
  .detailsCard:hover {
    transform: scale(1.1);
  }
}
.detailsCard__link {
  display: block;
}
.detailsCard__title {
  font-size: max(8.5333333333vw, 32px);
  font-weight: 700;
  letter-spacing: -0.05em;
}
@media (900px <= width) {
  .detailsCard__title {
    font-size: 2rem;
  }
}
.detailsCard__attention {
  padding-block: max(3.4666666667vw, 13px);
  font-size: max(3.2vw, 12px);
  line-height: 1.5;
  letter-spacing: -0.05em;
  border-top: max(0.2666666667vw, 1px) solid currentColor;
  border-bottom: max(0.2666666667vw, 1px) solid currentColor;
}
@media (900px <= width) {
  .detailsCard__attention {
    width: 16.3125rem;
    padding-block: 1.125rem;
    font-size: 0.875rem;
    border-top-width: 0.0625rem;
    border-bottom-width: 0.0625rem;
  }
}
.detailsCard__text {
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.81;
}
@media (900px <= width) {
  .detailsCard__text {
    font-size: 1rem;
  }
}
.detailsCard__list {
  font-size: max(4.2666666667vw, 16px);
  font-weight: 500;
  line-height: 1.81;
}
@media (900px <= width) {
  .detailsCard__list {
    font-size: 1rem;
  }
}
.detailsCard__item {
  display: flex;
  flex-flow: row wrap;
}
.detailsCard__item dt span {
  margin-right: -1em;
  letter-spacing: 1em;
}
.detailsCard__item dt::after {
  display: inline-block;
  margin-right: 1em;
  content: "：";
}
.detailsCard__item.--date span:not(:first-child)::before {
  content: "・";
}
.detailsCard__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max(64vw, 240px);
  height: max(10.6666666667vw, 40px);
  font-size: max(5.3333333333vw, 20px);
  border: max(0.2666666667vw, 1px) solid currentColor;
}
@media (900px <= width) {
  .detailsCard__cta {
    width: 16.5rem;
    height: 3.4375rem;
    margin-block: auto 0;
    font-size: 1.25rem;
    border-width: 0.0625rem;
  }
}
.detailsCard:hover .detailsCard__cta {
  color: #d71618;
  background-color: #fff;
}
.detailsCard.--manager:hover .detailsCard__cta {
  color: #12099d;
}

/* ==========================================================================
  Sponsor Box
========================================================================== */
.sponsorBox {
  padding-block: max(5.3333333333vw, 20px);
  color: #000;
  background-color: #fff;
}
@media (900px <= width) {
  .sponsorBox {
    padding-block: 2.4375rem 1.25rem;
  }
}
.sponsorBox__inner {
  display: flex;
  flex-direction: column;
  gap: max(8.5333333333vw, 32px);
  align-items: center;
  width: max(71.4666666667vw, 268px);
  margin-inline: auto;
}
@media (900px <= width) {
  .sponsorBox__inner {
    gap: 2.5rem;
    width: 43.6875rem;
  }
}
.sponsorBox__title {
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1.43;
  color: #515151;
}
@media (900px <= width) {
  .sponsorBox__title {
    font-size: 1rem;
  }
}
.sponsorBox__item {
  width: 100%;
  padding-bottom: max(8.5333333333vw, 32px);
}
@media (900px <= width) {
  .sponsorBox__item {
    padding-bottom: 2.5rem;
  }
}
.sponsorBox__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: max(5.0666666667vw, 19px);
  margin-bottom: max(4.2666666667vw, 16px);
  font-family: "Noto Serif JP", serif;
  font-size: max(3.7333333333vw, 14px);
  font-weight: 500;
  text-align: center;
  border-bottom: max(0.2666666667vw, 1px) solid rgba(0, 0, 0, 0.25);
}
.sponsorBox__heading em {
  font-size: max(6.4vw, 24px);
  font-style: normal;
  font-weight: 700;
  text-box: trim-both cap alphabetic;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
}
@media (900px <= width) {
  .sponsorBox__heading {
    padding-bottom: 1.1875rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    border-width: 0.0625rem;
  }
  .sponsorBox__heading em {
    font-size: 1.5rem;
  }
}
.sponsorBox .--diamond .sponsorBox__heading em {
  background: linear-gradient(180deg, #00aaed 0%, #6cb4d1 29%, #06b8ff 97%);
}
.sponsorBox .--gold .sponsorBox__heading em {
  background: linear-gradient(180deg, #e1aa1c 7%, #e2b74a 20%, #c79516 32%);
}
@media (width < 900px) {
  .sponsorBox .--gold .sponsorBox__list {
    flex-direction: column;
  }
}
.sponsorBox .--silver .sponsorBox__heading em {
  background: linear-gradient(180deg, #9d9d9d 7%, #c8c8c8 20%, #8c8c8a 32%);
}
.sponsorBox .--bronze .sponsorBox__heading em {
  background: linear-gradient(180deg, #c46c00 7%, #cab295 20%, #b86b0c 32%);
}
.sponsorBox__list {
  display: flex;
  flex-wrap: wrap;
  gap: max(2.6666666667vw, 10px);
  align-items: center;
  justify-content: center;
}
.sponsorBox__list + .sponsorBox__list {
  margin-top: max(2.6666666667vw, 10px);
}
@media (900px <= width) {
  .sponsorBox__list {
    gap: 0.625rem;
  }
  .sponsorBox__list + .sponsorBox__list {
    margin-top: 0.625rem;
  }
}
.sponsorBox__list > li.--nishikawa-mc {
  width: max(67.7333333333vw, 254px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--nishikawa-mc {
    width: 15.875rem;
  }
}
.sponsorBox__list > li.--k-innovate {
  width: max(52.8vw, 198px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--k-innovate {
    width: 12.375rem;
  }
}
.sponsorBox__list > li.--tkj {
  width: max(27.7333333333vw, 104px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--tkj {
    width: 6.5rem;
  }
}
.sponsorBox__list > li.--salescrowd {
  width: max(38.4vw, 144px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--salescrowd {
    width: 9rem;
  }
}
.sponsorBox__list > li.--meet-in {
  width: max(39.4666666667vw, 148px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--meet-in {
    width: 9.25rem;
  }
}
.sponsorBox__list > li.--adift {
  width: max(27.7333333333vw, 104px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--adift {
    width: 6.5rem;
  }
}
.sponsorBox__list > li.--migaku {
  width: max(27.7333333333vw, 104px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--migaku {
    width: 6.5rem;
  }
}
.sponsorBox__list > li.--keypersons {
  width: max(35.2vw, 132px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--keypersons {
    width: 8.25rem;
  }
}
.sponsorBox__list > li.--mamaworks {
  width: max(43.2vw, 162px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--mamaworks {
    width: 10.125rem;
  }
}
.sponsorBox__list > li.--ma-mirai {
  width: max(58.1333333333vw, 218px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--ma-mirai {
    width: 13.625rem;
  }
}
.sponsorBox__list > li.--kurapro {
  width: max(15.7333333333vw, 59px);
}
@media (900px <= width) {
  .sponsorBox__list > li.--kurapro {
    width: 3.6875rem;
  }
}
.sponsorBox__link {
  display: block;
  padding-inline: 1.5rem;
  text-align: right;
}
.sponsorBox__link a {
  font-size: max(3.7333333333vw, 14px);
  font-weight: 500;
  line-height: 1.64;
  letter-spacing: 0.05em;
}
.sponsorBox__link a::after {
  margin-left: 1em;
  content: " ＞";
}
@media (900px <= width) {
  .sponsorBox__link {
    padding-inline: 1.25rem;
  }
  .sponsorBox__link a {
    font-size: 0.875rem;
    border-bottom: 0.0625rem solid transparent;
  }
  .sponsorBox__link a:hover, .sponsorBox__link a:focus-visible {
    border-color: currentcolor;
  }
}

/* ==========================================================================
  Eligibility
========================================================================== */
.eligibility {
  padding-block: max(10.6666666667vw, 40px);
  font-size: max(3.4666666667vw, 13px);
  font-weight: 500;
  line-height: 1.38;
}
@media (900px <= width) {
  .eligibility {
    padding-block: 5rem;
    font-size: 1rem;
    line-height: 2;
  }
}
.eligibility__title {
  padding-bottom: max(5.3333333333vw, 20px);
  margin-bottom: max(5.3333333333vw, 20px);
  font-size: max(5.6vw, 21px);
  font-weight: 700;
  line-height: 1.8;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.eligibility__title::before {
  content: "＊";
}
@media (900px <= width) {
  .eligibility__title {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
    border-width: 0.0625rem;
  }
}
.eligibility__heading {
  margin-top: 2em;
}
.eligibility__heading::before {
  content: "■";
}
.eligibility__olist {
  margin-bottom: 1em;
}
.eligibility__ulist > li {
  margin-left: 1em;
  text-indent: -1em;
}
.eligibility__ulist > li::before {
  content: "・ ";
}

.parallax-slide-to-up {
  transform: translateY(50px);
  transition: transform 0.8s ease-out;
}
.parallax-slide-to-up.visible {
  transform: translateY(0);
}

/* ==========================================================================
  Component / Dialog
========================================================================== */
.dialog {
  background-color: transparent;
  border: 0;
}
.dialog__thumbnail {
  overflow: hidden;
  border-radius: max(1.0666666667vw, 4px);
}
@media (900px <= width) {
  .dialog__thumbnail {
    border-radius: 0.25rem;
  }
}
.dialog[open] {
  animation: open 0.8s ease;
}
.dialog::backdrop {
  background: rgba(0, 0, 0, 0.8);
}
.dialog:has(figure) figure img {
  max-height: 70vh;
  object-fit: contain;
}

@keyframes open {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ==========================================================================
  Table
========================================================================== */
.table {
  width: 100%;
}
.table tr {
  border-bottom: max(0.2666666667vw, 1px) solid #c9c9cc;
}
@media (900px <= width) {
  .table tr {
    border-width: 0.0625rem;
  }
}
.table th,
.table td {
  padding-block: max(6.9333333333vw, 26px) max(5.8666666667vw, 22px);
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (900px <= width) {
  .table th,
  .table td {
    padding-block: 1.625rem 1.375rem;
    font-size: 1rem;
  }
}
.table th {
  font-weight: 700;
  white-space: nowrap;
}
.table td {
  padding-left: max(10.1333333333vw, 38px);
}
@media (900px <= width) {
  .table td {
    padding-left: 2.375rem;
  }
}
.table dl dt {
  margin-bottom: max(1.3333333333vw, 5px);
  font-weight: 700;
}
@media (900px <= width) {
  .table dl dt {
    margin-bottom: 0.3125rem;
  }
}
.table dl dd + dt {
  margin-top: 1.5em;
}

/* ==========================================================================
  Component / Embed
========================================================================== */
.embed {
  position: relative;
}
.embed.--16by9 {
  aspect-ratio: 16/9;
}
.embed.--4by3 {
  aspect-ratio: 4/3;
}
.embed.--786by400 {
  aspect-ratio: 786/400;
}
.embed video,
.embed iframe {
  width: 100%;
  height: 100%;
}
.embed .movie__button {
  position: absolute;
  inset: 0;
  margin: auto;
  cursor: pointer;
}
.embed .movie__button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
  Post Navigation
========================================================================== */
.postNav {
  padding-block: max(2.6666666667vw, 10px);
  margin-bottom: max(10.6666666667vw, 40px);
  letter-spacing: 0.1em;
  border-top: max(0.2666666667vw, 1px) solid #c9c9cc;
}
@media (900px <= width) {
  .postNav {
    padding-block: 2rem 2.5rem;
    margin-bottom: 4.5625rem;
    border-width: 0.0625rem;
  }
}
.postNav__links {
  display: flex;
  gap: max(3.7333333333vw, 14px);
  align-items: center;
  justify-content: space-between;
  margin-inline: auto;
  font-size: max(3.7333333333vw, 14px);
}
@media (900px <= width) {
  .postNav__links {
    gap: 0.875rem;
    width: 46.4375rem;
    font-size: 0.875rem;
  }
}
.postNav__item a {
  display: flex;
  gap: 0 max(3.7333333333vw, 14px);
  align-items: center;
  font-weight: 700;
  border-bottom: max(0.2666666667vw, 1px) solid transparent;
}
@media (900px <= width) {
  .postNav__item a {
    gap: 0 0.875rem;
    border-width: 0.0625rem;
  }
}
.postNav__item a:hover, .postNav__item a:focus-visible {
  border-color: currentcolor;
}
.postNav__item.is-inactive {
  pointer-events: none;
  opacity: 0.5;
}
.postNav__item.is-prev a::before {
  content: "＜";
}
.postNav__item.is-next a::after {
  content: "＞";
}

/* ==========================================================================
  Pagination
========================================================================== */
.pagination {
  padding-block: max(2.6666666667vw, 10px);
  margin-bottom: max(10.6666666667vw, 40px);
  letter-spacing: 0.1em;
  border-top: max(0.2666666667vw, 1px) solid #c9c9cc;
}
@media (900px <= width) {
  .pagination {
    padding-block: 2rem 2.5rem;
    margin-bottom: 4.5625rem;
    border-width: 0.0625rem;
  }
}
.pagination__body {
  display: flex;
  gap: max(5.3333333333vw, 20px);
  align-items: center;
  justify-content: center;
  font-size: max(3.7333333333vw, 14px);
}
@media (900px <= width) {
  .pagination__body {
    gap: 1.25rem;
    font-size: 0.875rem;
  }
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max(7.2vw, 27px);
  font-weight: 700;
  line-height: max(7.2vw, 27px);
  background-color: #c9c9cc;
}
@media (900px <= width) {
  .pagination .page-numbers {
    min-width: 1.6875rem;
    line-height: 1.6875rem;
  }
}
.pagination .page-numbers:hover, .pagination .page-numbers:focus-visible {
  color: #fff !important;
  background-color: #313151 !important;
}
.pagination .page-numbers:hover .icon, .pagination .page-numbers:focus-visible .icon {
  filter: invert(89%) sepia(86%) saturate(0%) hue-rotate(257deg) brightness(102%) contrast(101%);
}
.pagination .page-numbers.current {
  color: #fff;
  background-color: #313151;
}
.pagination .page-numbers.dots {
  background-color: transparent;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  margin: 0 max(4.2666666667vw, 16px);
  background-color: transparent;
}
@media (900px <= width) {
  .pagination .page-numbers.prev, .pagination .page-numbers.next {
    margin: 0 1rem;
  }
}