@charset "UTF-8";
/* ==========================================================================
  Foundation
========================================================================== */
html {
  color: #4A4A4A;
  background-color: #fff;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
}

/* スクリーンリーダー用テキスト */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  word-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;
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

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

figure {
  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;
  accent-color: #1E4FB1;
}

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;
}

main {
  overflow-x: hidden;
}

:is(header, footer, nav) a {
  white-space: nowrap;
  text-decoration: none;
}

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

/* ==========================================================================
  Layout
========================================================================== */
.l-wrap {
  position: relative;
}
.l-wrap:has(.l-main) {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100dvh;
}
.l-wrap:has(.l-main) .l-main {
  flex: 1;
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 555;
  width: 100%;
}
.l-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(19.2vw, 72px);
  padding: max(5.3333333333vw, 20px);
}
@media (928px <= width) {
  .l-header__inner {
    gap: 1.5rem;
    height: 4.5rem;
    padding: 1.5rem 2rem;
  }
}
.l-header__area1, .l-header__area3 {
  flex-shrink: 0;
}
.l-header__area2 {
  flex-grow: 1;
}
.l-header__brand, .l-header__toggle {
  position: relative;
  z-index: 999;
}
.l-header__primary {
  position: relative;
  z-index: 999;
  background: #fff;
}
@media (928px <= width) {
  .l-header__primary {
    border-bottom: 0.0625rem solid #D9D9D9;
  }
}
.l-header__secondary {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 666;
}

.l-footer {
  padding: 2rem;
  background: #fff;
}
@media (928px <= width) {
  .l-footer {
    padding-bottom: 3rem;
  }
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 680px;
  margin-inline: auto;
}
.thanks .l-footer, .error404 .l-footer {
  border-top: max(0.2666666667vw, 1px) solid #D9D9D9;
}
@media (928px <= width) {
  .thanks .l-footer, .error404 .l-footer {
    border-width: 0.0625rem;
  }
}

.l-container {
  width: 100%;
  margin-inline: auto;
}
@media (928px <= width) {
  .l-container {
    width: 100%;
    max-width: 912px;
  }
}
.l-container--unit {
  display: flex;
  flex-direction: column;
}
@media (928px <= width) {
  .l-container--unit {
    gap: 3rem;
    padding-block: 4rem;
  }
}
.l-container__inner {
  width: max(91.8586666667vw, 344.47px);
  margin-inline: auto;
}
@media (928px <= width) {
  .l-container__inner {
    width: 100%;
    max-width: 640px;
  }
}
.l-container--full {
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin-inline: 0;
}
.l-container--column {
  display: flex;
  gap: 2%;
  justify-content: space-between;
}

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

/* ==========================================================================
  Component
========================================================================== */
.c-logo a {
  display: inline-block;
  opacity: 1;
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-logo a:hover, .c-logo a:focus {
  opacity: 0.5;
}
.c-logo img {
  width: max(25.6vw, 96px);
  height: max(8.2666666667vw, 31px);
}
@media (928px <= width) {
  .c-logo img {
    width: 6.25rem;
    height: 2rem;
  }
}
.c-logo--vertical img {
  width: max(17.0666666667vw, 64px);
  height: max(26.1333333333vw, 98px);
}
@media (928px <= width) {
  .c-logo--vertical img {
    width: 5.625rem;
    height: 8.75rem;
  }
}

.c-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: max(76.336vw, 286.26px);
  padding: max(4.5813333333vw, 17.18px);
  font-size: max(4.5813333333vw, 17.18px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  background: #D72638;
  border-radius: 100vmax;
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-button:hover, .c-button:focus {
  opacity: 0.5;
}
.c-button::before {
  width: 0.875em;
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
}
.c-button::after {
  width: 0.875em;
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  background-image: url("../img/icon_chevron-r.svg");
  filter: invert(89%) sepia(86%) saturate(0%) hue-rotate(257deg) brightness(102%) contrast(101%);
}
.c-button span {
  position: relative;
  z-index: 2;
  color: #fff;
}
@media (928px <= width) {
  .c-button {
    min-width: 20rem;
    padding: 1.1875rem 1rem;
    font-size: 1rem;
  }
}
.c-button[aria-disabled=true], .c-button:disabled {
  color: #D9D9D9;
  background: #D9D9D9;
}
.c-button[aria-disabled=true]:hover, .c-button[aria-disabled=true]:focus-visible, .c-button:disabled:hover, .c-button:disabled:focus-visible {
  color: #D9D9D9;
  background: #D9D9D9;
}
.c-button--black {
  background: #000;
}
.c-button--cancel {
  background: #D9D9D9;
}
.c-button--cancel:hover, .c-button--cancel:focus-visible {
  background: #D9D9D9;
}

.c-buttonList {
  padding: 0;
  list-style-type: none;
}
.c-buttonList--horizontal {
  display: flex;
  flex-flow: column wrap;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
@media (928px <= width) {
  .c-buttonList--horizontal {
    flex-direction: row;
    gap: 1rem;
  }
}
.c-buttonList--vertical {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
@media (928px <= width) {
  .c-buttonList--vertical {
    gap: 1rem;
  }
}

.c-card {
  display: flex;
  flex-direction: column-reverse;
  gap: max(2.0346666667vw, 7.63px);
  padding: max(4.072vw, 15.27px);
  overflow: hidden;
  border-radius: max(1.0186666667vw, 3.82px);
  box-shadow: 0 max(1.0186666667vw, 3.82px) max(2.0346666667vw, 7.63px) max(0.2533333333vw, 0.95px) rgba(0, 0, 0, 0.25);
}
@media (928px <= width) {
  .c-card {
    border-radius: 0.25rem;
  }
}
@media (928px <= width) {
  .c-card {
    box-shadow: 0 0.25rem 0.5rem 0.0625rem rgba(0, 0, 0, 0.25);
  }
}
.c-card__link {
  display: block;
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-card__link:hover, .c-card__link:focus {
  opacity: 0.5;
}
.c-card__title {
  font-size: max(3.816vw, 14.31px);
  line-height: 1.4;
  letter-spacing: 0.06em;
}
.c-card__date {
  font-size: max(2.8vw, 10.5px);
  line-height: 1.5;
  text-align: right;
}
.c-card__image {
  aspect-ratio: 270/202;
}
.c-card__image img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (928px <= width) {
  .c-card {
    gap: 0.5rem;
    padding: 1rem;
  }
  .c-card__title {
    font-size: 0.9375rem;
  }
  .c-card__date {
    font-size: 0.6875rem;
  }
}

.c-hzCard {
  display: flex;
  flex-direction: column-reverse;
  box-shadow: 0 max(1.0186666667vw, 3.82px) max(2.0346666667vw, 7.63px) max(0.2533333333vw, 0.95px) rgba(0, 0, 0, 0.25);
}
@media (928px <= width) {
  .c-hzCard {
    box-shadow: 0 0.25rem 0.5rem 0.0625rem rgba(0, 0, 0, 0.25);
  }
}
.c-hzCard__link {
  display: block;
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-hzCard__link:hover, .c-hzCard__link:focus {
  opacity: 0.5;
}
.c-hzCard__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: max(4.072vw, 15.27px);
}
.c-hzCard__contents {
  display: flex;
  flex-direction: column;
  gap: max(4.072vw, 15.27px);
}
.c-hzCard__title {
  font-size: max(4.5813333333vw, 17.18px);
  font-weight: 700;
  line-height: 1.2;
  color: #1E4FB1;
}
.c-hzCard__text {
  font-size: max(3.5626666667vw, 13.36px);
  line-height: 1.4;
}
.c-hzCard__date {
  font-size: max(5.088vw, 19.08px);
  font-weight: 700;
  line-height: 1.5;
  text-align: right;
}
.c-hzCard__meta {
  display: flex;
  gap: max(2.0346666667vw, 7.63px);
  align-items: center;
  justify-content: flex-end;
}
.c-hzCard__icon {
  height: 1em;
}
.c-hzCard__image {
  aspect-ratio: 722/407;
}
.c-hzCard__image img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (928px <= width) {
  .c-hzCard {
    flex-direction: row-reverse;
  }
  .c-hzCard__body {
    gap: 0.5rem;
    padding: 1rem 1rem 0.5rem;
  }
  .c-hzCard__contents {
    gap: 0.5rem;
  }
  .c-hzCard__title {
    font-size: 1.125rem;
  }
  .c-hzCard__text {
    font-size: 0.875rem;
  }
  .c-hzCard__meta {
    gap: 0.5rem;
    justify-content: flex-start;
  }
  .c-hzCard__date {
    font-size: 1.25rem;
  }
  .c-hzCard__image {
    flex-shrink: 0;
    width: 19.25rem;
    aspect-ratio: 308/173;
  }
}

.c-cardList {
  display: flex;
  flex-direction: column;
  margin-inline: auto;
}
.c-cardList--horizontal {
  gap: max(4.072vw, 15.27px);
}
@media (width < 928px) {
  .c-cardList--horizontal {
    width: max(76.8453333333vw, 288.17px);
  }
}
@media (928px <= width) {
  .c-cardList--horizontal {
    flex-flow: row wrap;
    gap: 3.5rem 2rem;
  }
  .c-cardList--horizontal > li {
    flex-basis: calc((100% - 2rem) / 2);
  }
}
.c-cardList--vertical {
  gap: max(6.1066666667vw, 22.9px);
}
@media (928px <= width) {
  .c-cardList--vertical {
    gap: 1.5rem;
  }
}

.c-table {
  width: 100%;
  border-collapse: collapse;
}
.c-table tr {
  border-bottom: max(0.2666666667vw, 1px) solid #D9D9D9;
}
.c-table th,
.c-table td {
  padding-block: max(4.2666666667vw, 16px);
  font-size: max(4vw, 15px);
  line-height: 1.6;
  vertical-align: middle;
}
.c-table th {
  font-weight: 700;
}
@media (928px <= width) {
  .c-table tr {
    border-bottom-width: 1px;
  }
  .c-table th,
  .c-table td {
    padding-block: 1rem;
  }
  .c-table th {
    font-size: 1rem;
  }
  .c-table td {
    font-size: 0.875rem;
  }
}

.c-embed {
  position: relative;
}
.c-embed--16by9 {
  aspect-ratio: 16/9;
}
.c-embed--4by3 {
  aspect-ratio: 4/3;
}
.c-embed--374by700 {
  aspect-ratio: 374/700;
}
.c-embed--128by60 {
  aspect-ratio: 128/60;
}
.c-embed iframe, .c-embed video {
  width: 100%;
  height: 100%;
}

.c-fixCta {
  width: fit-content !important;
}
.c-fixCta a {
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-fixCta a:hover, .c-fixCta a:focus {
  opacity: 0.5;
}
@media (928px <= width) {
  .c-fixCta {
    width: min(6.0344827586vw, 56px);
  }
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: nowrap;
  gap: max(2.0346666667vw, 7.63px);
  align-items: center;
  padding-inline: max(1.0186666667vw, 3.82px);
  margin-bottom: max(2.0346666667vw, 7.63px);
  font-size: max(3.3066666667vw, 12.4px);
}
.c-breadcrumb__list > li {
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.c-breadcrumb__list > li:not(:last-child)::after {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  background-image: url("../img/icon_chevron-r.svg");
  width: 0.875em;
  margin-left: 0.5em;
}
.c-breadcrumb__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
}
@media (928px <= width) {
  .c-breadcrumb__list {
    gap: 0.5rem;
    margin-inline: 0.25rem;
    margin-bottom: 0.25rem;
    font-size: 0.75rem;
  }
}

.c-dialog {
  background: transparent;
  border: 0;
}
.c-dialog[open] {
  animation: open 1s ease;
}
.c-dialog::backdrop {
  background: rgba(0, 0, 0, 0.9);
}
.c-dialog__open, .c-dialog__close {
  cursor: pointer;
}
@media (width < 928px) {
  .c-dialog__inner > * {
    width: 100%;
  }
}
@media (928px <= width) {
  .c-dialog__inner {
    height: 80dvh;
  }
  .c-dialog__inner > * {
    height: 100%;
  }
}
.c-dialog__close {
  position: fixed;
  top: 5%;
  right: 5%;
  display: block;
  width: max(8.5333333333vw, 32px);
  height: max(8.5333333333vw, 32px);
  filter: invert(89%) sepia(86%) saturate(0%) hue-rotate(257deg) brightness(102%) contrast(101%);
}
@media (928px <= width) {
  .c-dialog__close {
    width: min(3.8793103448vw, 36px);
    height: min(3.8793103448vw, 36px);
  }
}

@keyframes open {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.c-pagination {
  padding-top: max(10.1786666667vw, 38.17px);
}
.c-pagination__title {
  margin-bottom: max(4.2666666667vw, 16px);
  text-align: center;
}
.c-pagination__body {
  display: flex;
  gap: 0 max(3.7333333333vw, 14px);
  align-items: center;
  justify-content: center;
  font-size: max(3.7333333333vw, 14px);
}
.c-pagination__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: max(8.5333333333vw, 32px);
  line-height: 1;
}
.c-pagination__icon i {
  height: max(3.2vw, 12px);
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  filter: invert(89%) sepia(86%) saturate(0%) hue-rotate(257deg) brightness(102%) contrast(101%);
}
.c-pagination__icon.-prev i {
  background-image: url("../img/icon_chevron-l.svg");
}
.c-pagination__icon.-next i {
  background-image: url("../img/icon_chevron-r.svg");
}
.c-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max(8.5333333333vw, 32px);
  line-height: max(8.5333333333vw, 32px);
  color: #fff;
  background: #1E4FB1;
  border-radius: max(2.1333333333vw, 8px);
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.c-pagination .page-numbers:hover, .c-pagination .page-numbers:focus {
  opacity: 0.5;
}
@media (928px <= width) {
  .c-pagination {
    padding-top: 3rem;
  }
  .c-pagination__title {
    margin-bottom: 1rem;
  }
  .c-pagination__body {
    gap: 0 0.875rem;
    font-size: 0.875rem;
  }
  .c-pagination__icon {
    height: 2rem;
  }
  .c-pagination__icon i {
    height: 0.75rem;
  }
  .c-pagination .page-numbers {
    min-width: 2rem;
    line-height: 2rem;
    border-radius: 0.5rem;
  }
}

/* ==========================================================================
  Project
========================================================================== */
.p-headerToggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max(10.6666666667vw, 40px);
  height: max(10.6666666667vw, 40px);
}
.p-headerToggle__line {
  position: relative;
  display: block;
  width: max(6.4vw, 24px);
  height: max(4.8vw, 18px);
}
.p-headerToggle__line span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: max(0.5333333333vw, 2px);
  background: #000;
  transition: all 0.5s;
  transition-property: transform;
}
.p-headerToggle__line span:nth-child(1) {
  top: 0;
}
.p-headerToggle__line span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.p-headerToggle__line span:nth-child(3) {
  bottom: 0;
}
.p-headerToggle[aria-expanded=true] .p-headerToggle__line span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.p-headerToggle[aria-expanded=true] .p-headerToggle__line span:nth-child(2) {
  visibility: hidden;
}
.p-headerToggle[aria-expanded=true] .p-headerToggle__line span:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.p-footer__copyright {
  font-size: max(3.2vw, 12px);
  text-align: center;
}
@media (928px <= width) {
  .p-footer__copyright {
    font-size: 0.75rem;
  }
}
.p-footer__brand p {
  text-align: center;
}

.p-footerInfo {
  font-size: max(2.6666666667vw, 10px);
  line-height: 1.5;
}
@media (928px <= width) {
  .p-footerInfo {
    font-size: 0.75rem;
  }
}
.p-footerInfo__title {
  padding: 0;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}
.p-footerInfo__title::before {
  content: "■";
}
.p-footerInfo__ulist li::before {
  content: "・";
}

.p-globalNav__list {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  width: 100%;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
}
@media (928px <= width < ) {
  .p-globalNav__list {
    font-size: 0.75rem;
  }
}
.p-globalNav__list > li > a {
  display: block;
  padding: 0.5rem;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: all 0.5s;
}
.p-globalNav__list > li > a:hover, .p-globalNav__list > li > a:focus-visible, .p-globalNav__list > li > a[aria-current=page] {
  border-color: #1E4FB1;
}

.p-drawer__bg {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
}
.p-drawer__body {
  width: 100%;
  height: 100vh;
  padding-block: max(19.2vw, 72px);
  overflow-y: auto;
  background: #fff;
}
.p-drawer .c-buttonList--horizontal {
  margin-block: 0.5rem;
}

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

.p-drawerCta .c-button {
  width: max(78.6666666667vw, 295px);
  height: max(18.1333333333vw, 68px);
  padding-block: max(6.4vw, 24px);
  line-height: max(18.1333333333vw, 68px);
  background: #1E4FB1;
}
.p-drawerCta .c-button::after {
  visibility: hidden;
}

.p-section__inner {
  display: flex;
  flex-direction: column;
  gap: max(10.1786666667vw, 38.17px);
  margin-inline: auto;
}
.p-section--border {
  border-top: max(0.2666666667vw, 1px) solid #B3B3B3;
}
@media (928px <= width) {
  .p-section__inner {
    gap: 3rem;
  }
  .p-section--border {
    border-width: 0.0625rem;
  }
}
.p-section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-section__title {
  width: fit-content;
  margin-inline: auto;
  font-size: max(7.2vw, 27px);
  font-weight: 700;
  line-height: 1.4;
  color: #1E4FB1;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-section__title--sub {
  font-size: max(3.5626666667vw, 13.36px);
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: 0.05em;
}
@media (928px <= width) {
  .p-section__title {
    font-size: 2rem;
  }
  .p-section__title--sub {
    font-size: 1rem;
  }
}
.p-section__body {
  display: flex;
  flex-direction: column;
}
.p-section__text {
  font-size: max(4.072vw, 15.27px);
  line-height: 2;
  letter-spacing: 0.03em;
}
.p-section__text p + p {
  margin-top: 2em;
}
@media (width < 928px) {
  .p-section__text {
    width: max(82.9333333333vw, 311px);
    margin-inline: auto;
  }
}
@media (928px <= width) {
  .p-section__text {
    font-size: 1rem;
  }
}
.p-section__contents p {
  font-size: max(4.072vw, 15.27px);
  line-height: 2;
  letter-spacing: 0.03em;
}
.p-section__contents p + p {
  margin-top: 2em;
}
@media (928px <= width) {
  .p-section__contents p {
    font-size: 1rem;
  }
}

.p-contact {
  padding-block: max(12.2133333333vw, 45.8px);
  color: #fff;
  background: #1E4FB1;
}
.p-contact .p-section__title {
  color: #fff;
}
.p-contact__note {
  margin-bottom: max(2.1333333333vw, 8px);
  font-size: max(3.2vw, 12px);
  line-height: 1.4;
  text-align: center;
}
@media (928px <= width) {
  .p-contact {
    padding-block: 3rem;
  }
  .p-contact__note {
    margin-bottom: 1rem;
    font-size: 0.9375rem;
  }
}

.p-page__header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: max(27.2266666667vw, 102.1px);
  background: center/cover no-repeat;
}
.p-page__header__inner {
  padding-inline: max(6.64vw, 24.9px);
}
.p-page__title {
  font-size: max(5.088vw, 19.08px);
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.05em;
}
.p-page__body {
  padding-block: max(14.2506666667vw, 53.44px);
}
.p-page__article .p-section {
  padding-block: max(14.2506666667vw, 53.44px);
}
.p-page__body:has(.p-page__article) {
  padding-block: 0;
}
@media (928px <= width) {
  .p-page__header {
    height: 12rem;
  }
  .p-page__header__inner {
    width: 77.3%;
    padding-inline: 0;
    margin-inline: auto;
  }
  .p-page__title {
    font-size: 2rem;
  }
  .p-page__body {
    padding-block: 3.5rem 4rem;
  }
  .p-page__article .p-section {
    padding-block: 3.5rem;
  }
}

.p-entry {
  padding: max(6.1066666667vw, 22.9px) max(6.1066666667vw, 22.9px) calc(max(6.1066666667vw, 22.9px) + max(6.1066666667vw, 22.9px));
  background: #fff;
}
.p-entry__title {
  padding-block: max(2.0346666667vw, 7.63px);
  font-size: max(5.088vw, 19.08px);
  font-weight: 700;
  line-height: 1.4;
}
.p-entry__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-block: max(1.0666666667vw, 4px);
}
.p-entry__date {
  font-size: max(3.2vw, 12px);
  font-weight: 400;
  line-height: 1.5;
}
@media (928px <= width) {
  .p-entry {
    padding: 2rem 6rem 3rem;
  }
  .p-entry__title {
    padding-block: 0.5rem;
    font-size: 1.5rem;
  }
  .p-entry__meta {
    padding-block: 0.25rem;
  }
  .p-entry__date {
    font-size: 0.75rem;
  }
}

main:has(.p-entry) {
  background: #EFF4FF;
}

.l-container__inner:has(.p-entry) {
  padding-block: max(6.1066666667vw, 22.9px) max(14.2506666667vw, 53.44px);
}
@media (928px <= width) {
  .l-container__inner:has(.p-entry) {
    max-width: 44.375rem;
    padding-block: 1.5rem 4rem;
  }
}

.p-archive__year {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: max(6.1066666667vw, 22.9px);
  font-size: max(9.16vw, 34.35px);
  font-weight: 700;
  color: #000;
  letter-spacing: 0.05em;
}
.p-archive__year a {
  display: flex;
  gap: max(2.1333333333vw, 8px);
  align-items: center;
}
.p-archive__year a::after {
  width: 0.5em;
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  background-image: url("../img/icon_chevron-d.svg");
  filter: invert(13%) sepia(6%) saturate(0%) hue-rotate(122deg) brightness(102%) contrast(86%);
}
@media (928px <= width) {
  .p-archive__year {
    margin-bottom: 1.5rem;
    font-size: 2.25rem;
    line-height: 1.4;
  }
  .p-archive__year a {
    gap: 0.5rem;
  }
}

.-about .p-page__header {
  background-image: url("../img/header_bg-about-sp.webp");
}
@media (928px <= width) {
  .-about .p-page__header {
    background-image: url("../img/header_bg-about-pc.webp");
  }
}
.-about .p-section__body {
  gap: max(14.2506666667vw, 53.44px);
}
@media (928px <= width) {
  .-about .p-section__body {
    gap: 3.5rem;
  }
}
.-about .p-about__list {
  display: flex;
  flex-direction: column;
  gap: max(8.1413333333vw, 30.53px);
}
.-about .p-about__catch {
  margin-bottom: max(2.0346666667vw, 7.63px);
  font-size: max(6.1066666667vw, 22.9px);
  color: #D72638;
  letter-spacing: 0.03em;
}
.-about .p-about__detail {
  font-size: max(4.072vw, 15.27px);
  letter-spacing: 0.03em;
}
@media (width < 928px) {
  .-about .p-about__catch, .-about .p-about__detail {
    text-align: center;
  }
  .-about .p-about__catch {
    font-weight: 900;
  }
  .-about .p-about__detail {
    line-height: 1.4;
  }
}
@media (928px <= width) {
  .-about .p-about__list {
    gap: 2rem;
  }
  .-about .p-about__catch {
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    font-weight: 700;
  }
  .-about .p-about__detail {
    font-size: 1rem;
  }
}
.-about .p-features__list {
  display: flex;
  flex-wrap: wrap;
  gap: max(1.6vw, 6px) 0;
  justify-content: space-between;
}
.-about .p-features__item {
  position: relative;
  z-index: 0;
  display: block;
  cursor: pointer;
}
.-about .p-features__item::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: center/cover no-repeat;
}
.-about .p-features__item.--item01, .-about .p-features__item.--item04 {
  width: max(59.2746666667vw, 222.28px);
}
.-about .p-features__item.--item02, .-about .p-features__item.--item03 {
  width: max(39.432vw, 147.87px);
}
.-about .p-features__item.--item01::before {
  background-image: url("../img/about_features_01_overlay.png");
}
.-about .p-features__item.--item02::before {
  background-image: url("../img/about_features_02_overlay.png");
}
.-about .p-features__item.--item03::before {
  background-image: url("../img/about_features_03_overlay.png");
}
.-about .p-features__item.--item04::before {
  background-image: url("../img/about_features_04_overlay.png");
}
.-about .p-features__item:hover::before, .-about .p-features__item:focus::before {
  z-index: -1;
}
@media (width < 928px) {
  .-about .p-features .l-container__inner {
    width: 100%;
  }
}
@media (928px <= width) {
  .-about .p-features__list {
    gap: 0.4375rem 0;
  }
  .-about .p-features__item.--item01, .-about .p-features__item.--item04 {
    width: 23.75rem;
  }
  .-about .p-features__item.--item02, .-about .p-features__item.--item03 {
    width: 15.75rem;
  }
}
.-about .p-benefits__list {
  display: flex;
  flex-direction: column;
  gap: max(1.0666666667vw, 4px);
}
@media (928px <= width) {
  .-about .p-benefits__list {
    flex-direction: row;
    gap: 0.25rem;
  }
}
.-about .p-benefits__item {
  display: flex;
  flex-direction: column;
  gap: max(5.3333333333vw, 20px);
  padding: max(8.5333333333vw, 32px) max(3.2vw, 12px);
  background: #ECECEC;
}
.-about .p-benefits__item ul > li {
  padding-left: 1em;
  font-size: max(4vw, 15px);
  line-height: 1.5;
  text-indent: -1em;
}
.-about .p-benefits__item ul > li::before {
  content: "・";
}
@media (928px <= width) {
  .-about .p-benefits__item ul > li {
    font-size: 0.9375rem;
  }
}
@media (928px <= width) {
  .-about .p-benefits__item {
    flex-basis: calc((100% - 0.25rem) / 2);
    gap: 1rem;
    padding: 2rem 1.5rem;
  }
}
.-about .p-benefits__side {
  display: flex;
  flex-direction: column;
  gap: max(1.6vw, 6px);
  align-items: center;
  font-size: max(8.5333333333vw, 32px);
  font-weight: 900;
  text-align: center;
}
.-about .p-benefits__side .--en {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: max(4.2666666667vw, 16px);
  font-weight: 300;
}
@media (928px <= width) {
  .-about .p-benefits__side {
    gap: 0.375rem;
    font-size: 1.5rem;
  }
  .-about .p-benefits__side .--en {
    font-size: 0.75rem;
  }
}
.-about .p-forwhom__contents {
  display: flex;
  flex-direction: column;
  gap: max(10.1786666667vw, 38.17px);
}
.-about .p-forwhom__list > li {
  padding-left: 1em;
  font-size: max(4.072vw, 15.27px);
  line-height: 2;
  text-indent: -1em;
}
.-about .p-forwhom__list > li::before {
  content: "・";
}
@media (928px <= width) {
  .-about .p-forwhom__contents {
    flex-direction: row;
    gap: 0;
    align-items: center;
  }
  .-about .p-forwhom__list {
    flex: 1;
  }
  .-about .p-forwhom__list > li {
    font-size: 1rem;
    line-height: 2.7;
    letter-spacing: 0.03em;
  }
  .-about .p-forwhom__chart {
    width: 20.8125rem;
  }
}

.-history .p-page__header {
  background-image: url("../img/header_bg-history-sp.webp");
}
@media (928px <= width) {
  .-history .p-page__header {
    background-image: url("../img/header_bg-history-pc.webp");
  }
}

@media (width < 928px) {
  .-movies .p-page {
    background: #ECECEC;
  }
}
.-movies .p-page__header {
  background-image: url("../img/header_bg-movies-sp.webp");
}
@media (928px <= width) {
  .-movies .p-page__header {
    background-image: url("../img/header_bg-movies-pc.webp");
  }
}
@media (width < 928px) {
  .-movies .p-section__body {
    padding: max(8.1413333333vw, 30.53px) max(6.744vw, 25.29px);
    background: #fff;
  }
  .-movies .p-section .p-archive__year {
    margin-bottom: max(8.1413333333vw, 30.53px);
  }
}
.-movies .p-movies__inner {
  display: flex;
  flex-direction: column;
  gap: max(12.8vw, 48px);
}
.-movies .p-movies__title {
  font-weight: 700;
  letter-spacing: 0.03em;
}
.-movies .p-movies__list {
  display: flex;
  flex-direction: column;
  gap: max(12.8vw, 48px);
}
.-movies .p-movies__note {
  margin-top: max(2.1333333333vw, 8px);
  font-size: max(4.2666666667vw, 16px);
}
.-movies .p-movies .c-dialog__open {
  cursor: pointer;
  opacity: 1;
  transition: all 0.5s;
}
.-movies .p-movies .c-dialog__open:hover, .-movies .p-movies .c-dialog__open:focus {
  opacity: 0.5;
}
@media (width < 928px) {
  .-movies .p-movies__title {
    padding-left: max(1.5253333333vw, 5.72px);
    margin-bottom: max(4.072vw, 15.27px);
    font-size: max(5.088vw, 19.08px);
    border-left: max(2.0346666667vw, 7.63px) solid #1E4FB1;
  }
}
@media (928px <= width) {
  .-movies .p-movies__inner {
    gap: 3rem;
  }
  .-movies .p-movies__title {
    font-size: 2rem;
    line-height: 2;
    text-align: center;
  }
  .-movies .p-movies__list {
    flex-direction: row;
    gap: 1.5rem;
  }
  .-movies .p-movies__list > li {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
  .-movies .p-movies__note {
    margin-top: 0.5rem;
    font-size: 1rem;
  }
}

.-column .p-page__header {
  background-image: url("../img/header_bg-column-sp.webp");
}
@media (928px <= width) {
  .-column .p-page__header {
    background-image: url("../img/header_bg-column-pc.webp");
  }
}

.-thanks .c-buttonList {
  margin-top: max(10.1786666667vw, 38.17px);
}
@media (width < 928px) {
  .-thanks .to-calendar, .-thanks .to-top {
    width: max(91.8586666667vw, 344.47px);
    max-width: 100%;
  }
  .-thanks .to-calendar {
    font-size: max(4.0693333333vw, 15.26px);
  }
}
@media (928px <= width) {
  .-thanks .c-buttonList {
    margin-top: 3rem;
  }
  .-thanks .to-calendar, .-thanks .to-top {
    width: 21.875rem;
  }
}

.error404 .c-buttonList {
  margin-top: max(10.1786666667vw, 38.17px);
}
@media (928px <= width) {
  .error404 .c-buttonList {
    margin-top: 3rem;
  }
}

/* ==========================================================================
  Utility / Mediaquery
========================================================================== */
@media (width < 928px) {
  .u-only--pc {
    display: none !important;
  }
}

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

@media ( <= width) {
  .u-only--sm {
    display: none !important;
  }
}

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

.u-text--warning {
  font-weight: 700;
  color: #D72638;
}

/* ==========================================================================
  System
========================================================================== */
.js-drawer__bg, .js-drawer__body {
  position: fixed;
  top: 0;
  left: -100%;
  opacity: 0;
}
.js-drawer__bg {
  z-index: 666;
}
.js-drawer__body {
  z-index: 777;
  transition: all 0.5s;
}
.js-drawer[aria-hidden=false] .js-drawer__bg, .js-drawer[aria-hidden=false] .js-drawer__body {
  left: 0;
  opacity: 1;
}

#fixCta {
  position: fixed;
  top: 50%;
  left: 0;
  z-index: 5;
  width: 100%;
  opacity: 0;
  transform: translateY(-50%);
  transition: all 0.5s;
}
#fixCta.is-fix {
  opacity: 1;
}