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

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}
body {
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.618;
  color: #333333;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

button {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

.l-container {
  width: 100%;
  max-width: 124.8rem;
  margin-inline: auto;
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.c-skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  padding: 1.2rem 1.6rem;
  background: #fff;
  color: #111;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-120%);
  transition: transform 0.2s ease;
}
.c-skip-link:focus, .c-skip-link:focus-visible {
  transform: translateY(0);
  outline: 2px solid #1f64d3;
  outline-offset: 2px;
}

@media screen and (min-width: 1024px) {
  .u-sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 1023px) {
  .u-pc-only {
    display: none !important;
  }
}

@media screen and (max-width: 1023px) {
  br.u-sp-only {
    display: inline !important;
  }
}

@media screen and (min-width: 1024px) {
  br.u-pc-only {
    display: inline !important;
  }
}

.l-header {
  position: fixed;
  top: var(--important-news-h, 0px);
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  padding-top: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .l-header {
    position: fixed;
    padding: 0;
    background: transparent;
    transition: background 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease;
  }
  .l-header:not(.l-header--top):not(.l-header--onestop):not(.l-header--seisansei).is-scrolled {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
  }
  .l-header.l-header--top, .l-header.l-header--onestop, .l-header.l-header--seisansei {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
  }
}

.l-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(100% - 32rem);
  max-width: none;
  height: 9.6rem;
  margin-inline: 16rem;
}
@media screen and (max-width: 1023px) {
  .l-header__inner {
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    max-width: none;
    height: 8rem;
    margin: 0;
  }
}

.l-header__sidebar {
  position: fixed;
  top: var(--important-news-h, 0px);
  left: 0;
  z-index: 101;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 12.8rem;
  height: 64rem;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .l-header__sidebar {
    display: none;
  }
}

.l-header__sidebar-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 2.4rem;
  padding: 1.2rem 0.8rem;
  background: #ffffff;
  border-radius: 0.8rem;
}

.l-header__sidebar-mark {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: fit-content;
}

.l-header__sidebar-logo {
  display: block;
  color: #000000;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}

.l-header__sidebar-copy {
  margin-top: 2.4rem;
  color: #000000;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}

.l-header__sidebar-copy-br {
  display: none;
}
@media (max-height: 560px) {
  .l-header__sidebar-copy-br {
    display: block;
  }
}

.l-header__mobile-brand {
  display: none;
}
@media screen and (max-width: 1023px) {
  .l-header__mobile-brand {
    display: block;
    padding: 2rem 0 0 2rem;
  }
}

.l-header__logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  color: #000000;
  text-decoration: none;
}

.l-header__logo-copy {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1rem;
  color: #000000;
}

.l-header__logo-text {
  display: block;
  color: #000000;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.l-header__logo-img {
  display: block;
  width: 19.6rem;
  height: auto;
}

.l-header__general {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 9.6rem;
  border-radius: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .l-header__general {
    display: none;
  }
}

.l-header--top .l-header__general {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-2rem);
  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
}

.l-header--top:not(.is-visible) .l-header__inner {
  pointer-events: none;
}
.l-header--top:not(.is-visible) .l-header__inner .l-header__menu-btn {
  pointer-events: auto;
}
@media screen and (max-width: 1023px) {
  .l-header--top:not(.is-visible) .l-header__inner {
    pointer-events: auto;
  }
}

.l-header--top.is-visible .l-header__general {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.l-header__nav {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
.l-header__nav a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.l-header__nav a:hover {
  color: #1f64d3;
}

.l-header__nav--general {
  color: #000000;
  gap: 2.4rem;
  border-radius: 4rem;
}
.l-header__nav--general > a {
  font-size: 1.6rem;
}

.l-header__about-link {
  display: inline-flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.l-header__news-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.4rem;
  color: #000000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-header__news-link:hover, .l-header__news-link:focus-visible {
  opacity: 0.8;
}

.l-header__general-contact {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #000000;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: color 0.3s ease;
}
.l-header__general-contact:hover, .l-header__general-contact:focus-visible {
  color: #1f64d3;
}

.l-header__tel-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  background: #000000;
  border-radius: 50%;
}
.l-header__tel-icon img {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  filter: brightness(0) invert(1);
}

.l-header__general-contact-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  line-height: 1;
}

.l-header__general-contact-label {
  font-size: 1.2rem;
  font-weight: 500;
}

.l-header__general-contact-tel {
  font-family: Quicksand, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.l-header__switches {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.l-header__switch {
  position: relative;
  display: grid;
  grid-template-columns: minmax(20.8rem, 1fr) 4.8rem;
  grid-template-rows: auto auto;
  column-gap: 0.8rem;
  align-items: center;
  flex-shrink: 0;
  height: 8rem;
  padding: 1.6rem 1.6rem 1.6rem 2rem;
  overflow: hidden;
  border-radius: 0.8rem;
}
.l-header__switch--onestop {
  background: #1f64d3;
  color: #ffffff;
}
.l-header__switch--seisansei {
  background: #c1e143;
  color: #000000;
}
.l-header__switch strong {
  grid-column: 1;
  grid-row: 2;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 100%;
  text-align: center;
  white-space: nowrap;
}

.l-header__switch-copy {
  grid-column: 1;
  grid-row: 1;
  padding: 0.4rem 0.6rem;
  background: #ffffff;
  color: #333333;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 100%;
  text-align: center;
  white-space: nowrap;
}

.l-header__switch-arrow {
  grid-column: 2;
  grid-row: 1/3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
  background: #000000;
  border-radius: 50%;
  transition: background 0.3s ease;
}
.l-header__switch-arrow img {
  display: block;
  width: 2rem;
  height: 2rem;
  transition: filter 0.3s ease;
}

.l-header__switch:hover .l-header__switch-arrow {
  background: #ffffff;
}
.l-header__switch:hover .l-header__switch-arrow img {
  filter: brightness(0);
}

.l-header__service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 9.6rem;
  padding: 2rem 2.4rem;
  border-radius: 1.6rem;
}
.l-header--onestop .l-header__service {
  background: #1f64d3;
  color: #ffffff;
}
.l-header--seisansei .l-header__service {
  background: #c1e143;
  color: #000000;
}
@media screen and (max-width: 1023px) {
  .l-header__service {
    display: none;
  }
}

.l-header__service-sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .l-header__service-sp {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    width: 100%;
    padding: 1.2rem 2rem;
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
  }
}
.l-header--onestop .l-header__service-sp {
  background: #1f64d3;
  color: #ffffff;
}
.l-header--seisansei .l-header__service-sp {
  background: #c1e143;
  color: #333333;
}

.l-header__service-sp-name {
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.l-header__service-sp-badge {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

@media screen and (max-width: 1023px) {
  body:has(.l-header--onestop),
  body:has(.l-header--seisansei) {
    --header-h: 12rem;
  }
  body:has(.l-header--onestop) .c-page-hero,
  body:has(.l-header--onestop) .c-page-hero--watermark,
  body:has(.l-header--onestop) .p-single__seminar-hero,
  body:has(.l-header--onestop) .p-single__case-hero,
  body:has(.l-header--onestop) .p-single__person-hero-wrap,
  body:has(.l-header--seisansei) .c-page-hero,
  body:has(.l-header--seisansei) .c-page-hero--watermark,
  body:has(.l-header--seisansei) .p-single__seminar-hero,
  body:has(.l-header--seisansei) .p-single__case-hero,
  body:has(.l-header--seisansei) .p-single__person-hero-wrap {
    padding-top: var(--header-h);
  }
}
.l-header__service-brand {
  display: flex;
  align-self: stretch;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.l-header__service-badge {
  width: 100%;
  padding: 0.6rem 0.8rem;
  background: #ffffff;
  color: #333333;
  border-radius: 0.8rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.l-header__service-name {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 100%;
  white-space: nowrap;
}

.l-header__service-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.2rem;
}

.l-header__service-actions {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.l-header__tel {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: inherit;
  font-family: Quicksand, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
.l-header__tel:hover, .l-header__tel:focus-visible {
  opacity: 0.8;
}
.l-header__tel img {
  display: block;
  width: 2rem;
  height: 2rem;
  filter: brightness(0);
}
.l-header--onestop .l-header__tel img {
  filter: brightness(0) invert(1);
}

.l-header__nav .l-header__tel {
  font-size: 2rem;
  font-weight: 700;
}
.l-header__nav .l-header__tel:hover {
  color: inherit;
}

.l-header__service-about {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  background: #000000;
  color: #ffffff;
  border-radius: 1.6rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.l-header__service-about span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: #ffffff;
  color: #000000;
  border-radius: 50%;
  font-weight: 900;
  transition: background 0.3s ease, color 0.3s ease;
}
.l-header__service-about:hover, .l-header__service-about:focus-visible {
  background: #ffffff;
  color: #000000;
}
.l-header__service-about:hover span, .l-header__service-about:focus-visible span {
  background: #000000;
  color: #ffffff;
}

.l-header--onestop .l-header__nav {
  color: #ffffff;
}

.l-header--seisansei .l-header__nav {
  color: #000000;
}

.l-header--onestop .l-header__nav a,
.l-header--seisansei .l-header__nav a {
  transition: opacity 0.3s ease;
}
.l-header--onestop .l-header__nav a:hover, .l-header--onestop .l-header__nav a:focus-visible,
.l-header--seisansei .l-header__nav a:hover,
.l-header--seisansei .l-header__nav a:focus-visible {
  color: inherit;
  opacity: 0.8;
}

.l-header__menu-btn {
  position: fixed;
  top: calc(var(--important-news-h, 0px) + 2.4rem);
  right: 3.2rem;
  left: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 9.6rem;
  height: 9.6rem;
  background: #ffffff;
  border-radius: 4rem;
  padding-top: 0.8rem;
  transition: opacity 0.3s ease;
}
.l-header__menu-btn:hover, .l-header__menu-btn:focus-visible {
  opacity: 0.8;
}
@media screen and (max-width: 1023px) {
  .l-header__menu-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    gap: 0;
    background: transparent;
    border-radius: 3.2rem;
    padding-top: 0;
  }
}

.l-header__menu-btn-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .l-header__menu-btn-icon {
    gap: 0.8rem;
  }
}

.l-header__menu-btn-bar {
  display: block;
  width: 3.8rem;
  height: 0.2rem;
  margin-inline: auto;
  background: #000000;
}
@media screen and (max-width: 1023px) {
  .l-header__menu-btn-bar {
    width: 2.8rem;
    height: 0.2rem;
  }
}

.l-header__menu-btn-text {
  color: #000000;
  font-family: Quicksand, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
  .l-header__menu-btn-text {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .l-header--top {
    background: rgba(255, 255, 255, 0.9);
    transition: background 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease;
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
  }
  .l-header--top .l-header__mobile-brand {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
  }
  .l-header--top.is-visible {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
  }
  .l-header--top.is-visible .l-header__mobile-brand {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .l-header__inner {
    width: calc(100% - 32rem);
    margin-inline: 16rem;
  }
  .l-header__menu-btn {
    left: auto;
    right: 3.2rem;
    width: 9.6rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1365px) {
  .l-header__general .l-header__about-link,
  .l-header__general .l-header__news-link {
    display: none;
  }
  .l-header__service .l-header__nav {
    display: none;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1151px) {
  .l-header__general .l-header__general-contact {
    display: none;
  }
}
.c-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
}
.c-menu.is-open {
  pointer-events: auto;
}

.c-menu[hidden] {
  display: none;
}

.c-menu__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.c-menu.is-open .c-menu__overlay {
  opacity: 1;
  pointer-events: auto;
}

.c-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  width: min(42rem, 100%);
  height: 100%;
  padding: 8.8rem 4.8rem 4.8rem;
  background: #ffffff;
  box-shadow: -1rem 0 1rem rgba(0, 0, 0, 0.1);
  overflow-x: hidden;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  will-change: transform;
}
.c-menu.is-open .c-menu__panel {
  transform: translateX(0);
  pointer-events: auto;
}
@media screen and (max-width: 1023px) {
  .c-menu__panel {
    width: 100%;
    gap: 4.8rem;
    padding: 8.8rem 2rem 4.8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-menu__overlay,
  .c-menu__panel {
    transition: none;
  }
  .c-menu__service-body {
    transition: none;
  }
}
.c-menu__close {
  position: absolute;
  top: 2.4rem;
  right: 3.2rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.6rem;
  height: 9.6rem;
  border-radius: 4rem;
  transition: opacity 0.3s ease;
}
.c-menu__close:hover, .c-menu__close:focus-visible {
  opacity: 0.8;
}
.c-menu__close span,
.c-menu__close span::after {
  display: block;
  width: 3rem;
  height: 0.2rem;
  background: #000000;
}
.c-menu__close span {
  transform: rotate(45deg);
}
.c-menu__close span::after {
  content: "";
  transform: rotate(90deg);
}
@media screen and (max-width: 1023px) {
  .c-menu__close {
    right: 0;
    width: 8rem;
    height: 8rem;
  }
}

.c-menu__primary {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
  max-width: 32.4rem;
  padding-top: 2rem;
  min-width: 0;
}

.c-menu__top {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
  transition: color 0.3s ease;
}
.c-menu__top:hover, .c-menu__top:focus-visible {
  color: #1f64d3;
}

.c-menu__utility {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}

.c-menu__about {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
  transition: color 0.3s ease;
}
.c-menu__about img {
  width: 4.8rem;
  height: 4.8rem;
}
.c-menu__about:hover, .c-menu__about:focus-visible {
  color: #1f64d3;
}

.c-menu__divider {
  width: 0.1rem;
  height: 4rem;
  background: #ccc;
}

.c-menu__minor {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.c-menu__minor a {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.c-menu__minor a img {
  width: 0.8rem;
  height: 1.2rem;
  transform: rotate(90deg);
  flex-shrink: 0;
}
.c-menu__minor a:hover, .c-menu__minor a:focus-visible {
  color: #1f64d3;
}

.c-menu__services {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
  min-width: 0;
}

.c-menu__service {
  min-width: 0;
}
.c-menu__service summary {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  list-style: none;
  cursor: pointer;
}
.c-menu__service summary::-webkit-details-marker {
  display: none;
}
.c-menu__service[open] .c-menu__service-button {
  border-radius: 0.8rem 0.8rem 0 0;
}
.c-menu__service.is-open .c-menu__plus::after {
  transform: translate(-50%, -50%) rotate(0);
}

.c-menu__service-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 100%;
}
.c-menu__service-label i {
  display: block;
  width: 1rem;
  height: 1rem;
  background: #1f64d3;
}
.c-menu__service--seisansei .c-menu__service-label i {
  background: #c1e143;
}

.c-menu__service-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 7.2rem;
  padding: 1.6rem 2.4rem 1.6rem 3.2rem;
  border-radius: 0.8rem;
  background: #1f64d3;
  color: #ffffff;
}
.c-menu__service--seisansei .c-menu__service-button {
  background: #c1e143;
  color: #000000;
}
.c-menu__service-button strong {
  min-width: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
}

.c-menu__plus {
  position: relative;
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  background: #ffffff;
  border-radius: 50%;
}
.c-menu__plus::before, .c-menu__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 0.2rem;
  background: #000000;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.c-menu__plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.c-menu__service-body {
  min-width: 0;
  padding: 0;
  border-radius: 0 0 0.8rem 0.8rem;
  background: rgba(31, 100, 211, 0.1);
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-menu__service-body > [data-accordion-inner] {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 2.4rem 3.2rem 3.2rem;
}
.c-menu__service--seisansei .c-menu__service-body {
  background: rgba(193, 225, 67, 0.2);
}

.c-menu__service-about {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  color: #000000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: color 0.3s ease;
}
.c-menu__service-about img {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}
.c-menu__service-about span {
  min-width: 0;
}
.c-menu__service-about:hover, .c-menu__service-about:focus-visible {
  color: #1f64d3;
}
.c-menu__service--seisansei .c-menu__service-about:hover, .c-menu__service--seisansei .c-menu__service-about:focus-visible {
  color: #18b700;
}

.c-menu__service-links {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
}
.c-menu__service-links a {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  color: #000000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: color 0.3s ease;
}
.c-menu__service-links a::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  background: linear-gradient(#1f64d3, #1f64d3) center/1.2rem 0.2rem no-repeat;
}
.c-menu__service-links a:hover, .c-menu__service-links a:focus-visible {
  color: #1f64d3;
}
.c-menu__service--seisansei .c-menu__service-links a::before {
  background: linear-gradient(#c1e143, #c1e143) center/1.2rem 0.2rem no-repeat;
}
.c-menu__service--seisansei .c-menu__service-links a:hover, .c-menu__service--seisansei .c-menu__service-links a:focus-visible {
  color: #18b700;
}

.c-menu__service-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.6rem 2.4rem;
  border-radius: 0.8rem;
  background: #1f64d3;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.c-menu__service--seisansei .c-menu__service-cta {
  background: #c1e143;
  color: #333333;
}
.c-menu__service-cta:hover, .c-menu__service-cta:focus-visible {
  background: #000000;
  color: #ffffff;
}

.c-menu__contact {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  width: max-content;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .c-menu__contact {
    margin: 0 auto;
  }
}

.c-menu__contact-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.6rem;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.c-menu__contact-label img {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.c-menu__mail > a {
  position: relative;
  display: block;
  width: 100%;
  max-width: 32.4rem;
  padding: 0.2rem;
  border-radius: 8rem;
  isolation: isolate;
  background: #57eeff;
  overflow: hidden;
  text-decoration: none;
}
.c-menu__mail > a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: #000000;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.c-menu__mail > a:hover::before, .c-menu__mail > a:focus-visible::before {
  opacity: 1;
}

.c-menu__mail-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.8rem;
  padding: 1.2rem 1.6rem 1.2rem 4rem;
  background: linear-gradient(180deg, #ffffff 61.8%, #eee);
  border-radius: inherit;
}
.c-menu__mail-inner strong {
  color: #333333;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.c-menu__mail-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  margin-left: auto;
  border-radius: 50%;
  flex-shrink: 0;
}
.c-menu__mail-icon img {
  width: 2.8rem;
  height: 2.8rem;
}

.l-footer {
  width: 100%;
}
.l-footer a:not(.c-btn) {
  transition: opacity 0.3s ease;
}
.l-footer a:not(.c-btn):hover, .l-footer a:not(.c-btn):focus-visible {
  opacity: 0.8;
}

.l-footer__upper {
  padding: 0 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__upper {
    padding: 0;
  }
}

.l-footer__contact {
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .l-footer__contact {
    padding: 0;
  }
}

.l-footer__contact-box {
  max-width: 124.8rem;
  margin: 0 auto;
  padding: 9.6rem 8.8rem;
  border-radius: 4rem;
  background: linear-gradient(26deg, #008dff 24%, #9cceff 76%);
  color: #ffffff;
}
@media screen and (max-width: 1151px) {
  .l-footer__contact-box {
    background: linear-gradient(-51.53deg, #008dff 45.19%, #9cceff 100%);
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-box {
    max-width: none;
    margin: 0 0 -4.8rem;
    padding: 6.4rem 2rem;
    border-radius: 4rem;
    background: linear-gradient(-51.53deg, #008dff 45.19%, #9cceff 100%);
    position: relative;
    z-index: 1;
  }
}

.l-footer__contact-box--green {
  background: linear-gradient(26deg, #c1e143 24%, rgba(193, 225, 67, 0.5) 76%);
  color: #333333;
}
@media screen and (max-width: 1151px) {
  .l-footer__contact-box--green {
    background: linear-gradient(-51.53deg, #c1e143 45.19%, rgba(193, 225, 67, 0.5) 100%);
  }
}
.l-footer__contact-box--green .l-footer__contact-title,
.l-footer__contact-box--green .l-footer__contact-text {
  color: #333333;
}
.l-footer__contact-box--green .l-footer__feature {
  background: rgba(255, 255, 255, 0.8);
}
.l-footer__contact-box--green .l-footer__check {
  background: #c1e143;
}
.l-footer__contact-box--green .l-footer__check img {
  filter: brightness(0) invert(1);
}
.l-footer__contact-box--green .c-phone__label,
.l-footer__contact-box--green .c-phone__number,
.l-footer__contact-box--green .c-phone__hours,
.l-footer__contact-box--green .l-footer__form-label {
  color: #333333;
}
.l-footer__contact-box--green .c-phone__label img,
.l-footer__contact-box--green .l-footer__form-label img {
  filter: none;
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-box--green {
    padding: 6.4rem 2.4rem;
  }
}

.l-footer__contact-main {
  display: contents;
}

.l-footer__contact-head {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  grid-area: head;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-head {
    gap: 0.8rem;
  }
}

.l-footer__contact-title {
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-title {
    font-size: 2.8rem;
  }
}

.l-footer__contact-text {
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-text {
    font-size: 1.4rem;
  }
}

.l-footer__contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "head side" "features side";
  column-gap: 6.4rem;
  row-gap: 2.4rem;
  align-items: stretch;
}
@media screen and (max-width: 1439px) {
  .l-footer__contact-grid {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "head head" "features side";
  }
}
@media screen and (max-width: 1151px) {
  .l-footer__contact-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "features" "side";
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-grid {
    gap: 3.2rem;
  }
}

.l-footer__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  grid-area: features;
  min-width: 0;
  align-content: start;
}
@media screen and (max-width: 1439px) {
  .l-footer__features {
    grid-template-columns: 1fr;
  }
}

.l-footer__feature {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  min-width: 0;
  padding: 1.6rem;
  background: #9cceff;
  border-radius: 1.6rem;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .l-footer__feature {
    min-height: 6.4rem;
    box-sizing: border-box;
  }
}

.l-footer__feature-title {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
  white-space: nowrap;
}

.l-footer__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 3.2rem;
  width: 3.2rem;
  height: 3.2rem;
  background: #ffffff;
  border-radius: 50%;
}
.l-footer__check img {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
}

.l-footer__contact-box:not(.l-footer__contact-box--green) .l-footer__check img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(93%) saturate(1879%) hue-rotate(196deg) brightness(93%) contrast(93%);
}

.l-footer__feature-note {
  min-width: 0;
  font-size: 1.4rem;
  line-height: 100%;
}
@media screen and (max-width: 1439px) {
  .l-footer__feature-note br {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__feature-note br {
    display: none;
  }
}

.l-footer__contact-side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  grid-area: side;
  min-width: 0;
}
@media screen and (max-width: 1439px) {
  .l-footer__contact-side {
    gap: 6.4rem;
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-side {
    gap: 3.2rem;
    width: max-content;
    margin: 0 auto;
  }
}

.l-footer__form {
  width: 100%;
}

.l-footer__form-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.6rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  color: #333333;
}
.l-footer__form-label img {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .l-footer__form-label {
    margin-bottom: 0.4rem;
  }
}

@media screen and (max-width: 1151px) {
  .l-footer__contact-box:not(.l-footer__contact-box--green) .c-phone__label,
  .l-footer__contact-box:not(.l-footer__contact-box--green) .l-footer__form-label,
  .l-footer__contact-box:not(.l-footer__contact-box--green) .c-phone__number,
  .l-footer__contact-box:not(.l-footer__contact-box--green) .c-phone__hours {
    color: #ffffff;
  }
  .l-footer__contact-box:not(.l-footer__contact-box--green) .c-phone__label img,
  .l-footer__contact-box:not(.l-footer__contact-box--green) .l-footer__form-label img {
    filter: brightness(0) saturate(100%) invert(78%) sepia(18%) saturate(1142%) hue-rotate(176deg) brightness(103%) contrast(101%);
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__contact-box:not(.l-footer__contact-box--green) .c-phone__label img,
  .l-footer__contact-box:not(.l-footer__contact-box--green) .l-footer__form-label img {
    filter: brightness(0) saturate(100%) invert(14%) sepia(94%) saturate(3916%) hue-rotate(205deg) brightness(92%) contrast(101%);
  }
}

.l-footer__contact-side .c-btn--cta-footer {
  width: max-content;
  max-width: 100%;
}
.l-footer__contact-side .c-btn--cta-footer .c-btn__label {
  white-space: nowrap;
}

.l-footer__access {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3.2rem;
  width: 112rem;
  max-width: 100%;
  margin: -4.8rem auto 0;
  padding-bottom: 4.8rem;
}
@media screen and (max-width: 1279px) {
  .l-footer__access {
    flex-direction: column;
    align-items: center;
    gap: 4.8rem;
  }
  .l-footer__access .l-footer__access-main {
    flex-direction: column;
    align-items: center;
  }
  .l-footer__access .l-footer__access-symbol {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__access {
    flex-direction: column;
    align-items: center;
    gap: 6.4rem;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem 0;
  }
}

.l-footer__access-title {
  margin: 0 0 2.4rem;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: 0.05em;
}
.l-footer__access-title .num {
  margin-right: 0.8rem;
  color: #1f64d3;
  font-family: Quicksand, sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (max-width: 1023px) {
  .l-footer__access-title {
    margin-bottom: 3.2rem;
    font-size: 2.4rem;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-footer__access-title .num {
    font-size: 4.8rem;
  }
}

.l-footer__access-main {
  display: flex;
  flex: 1;
  align-items: flex-end;
  gap: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__access-main {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 0;
  }
}

.l-footer__access-symbol {
  display: flex;
  flex: 0 0 16rem;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding-bottom: 4rem;
  z-index: 1;
}
.l-footer__access-symbol img {
  width: 16rem;
  height: 16rem;
}
.l-footer__access-symbol span {
  font-family: Quicksand, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .l-footer__access-symbol {
    display: flex;
    flex: none;
    padding-bottom: 1.2rem;
  }
  .l-footer__access-symbol img {
    width: 12rem;
    height: 12rem;
  }
}

.l-footer__access-content {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .l-footer__access-content {
    width: 100%;
  }
}

.l-footer__offices {
  display: flex;
  gap: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__offices {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer__office {
    text-align: center;
  }
}

.l-footer__office-name {
  margin-bottom: 0.4rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.l-footer__office-address {
  display: block;
  margin: 0;
  font-size: 1.4rem;
  font-style: normal;
  line-height: 1.618;
}

.l-footer__map {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  margin: -0.4rem 0 0 0.8rem;
  padding: 0 0.4rem 0.2rem;
  background: #000000;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
  border-radius: 0.4rem;
}

@media screen and (max-width: 1023px) {
  .l-footer__sns {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
    width: 100%;
    max-width: 28.8rem;
  }
}

.l-footer__sns-title {
  margin-bottom: 4.8rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .l-footer__sns-title {
    margin-bottom: 0;
  }
}

.l-footer__sns-list {
  display: flex;
  justify-content: center;
  gap: 3.2rem;
}

.l-footer__related {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  margin: 1.6rem auto 4.8rem;
  box-sizing: border-box;
}
.l-footer__related a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 auto;
  width: fit-content;
  min-width: 0;
  max-width: min(100%, 22.4rem);
  height: 6rem;
  overflow: hidden;
  box-sizing: border-box;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
}
.l-footer__related .l-footer__related-link--framed {
  padding: 0.8rem 1.6rem;
  border: 0.1rem solid #eee;
}
.l-footer__related img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 20rem);
  max-height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 1023px) {
  .l-footer__related {
    display: grid;
    grid-template-columns: repeat(2, 15.6rem);
    justify-content: center;
    gap: 1.2rem;
    max-width: none;
    margin: 3.2rem auto 3.2rem;
    box-sizing: border-box;
  }
  .l-footer__related a {
    width: 15.6rem;
    height: 4rem;
    white-space: normal;
    font-size: 1.2rem;
  }
  .l-footer__related .l-footer__related-link--framed {
    padding: 0.4rem 0.8rem;
  }
}

.l-footer__main {
  position: relative;
  padding: 4.8rem 6.4rem 4.8rem 16rem;
  background: #0047ab;
  color: #ffffff;
}
@media screen and (max-width: 1023px) {
  .l-footer__main {
    padding: 3.2rem 2.4rem 8.2rem;
  }
}

.l-footer__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6.4rem;
  max-width: 112rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .l-footer__columns {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    justify-content: space-between;
  }
}

.l-footer__col {
  display: flex;
  flex: 1;
  gap: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__col {
    flex-direction: column;
    gap: 2rem;
  }
}

.l-footer__col-brand {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.2rem;
}

.l-footer__col-brand-head {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.l-footer__col-label {
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .l-footer__col-label {
    font-size: 1.2rem;
  }
}

.l-footer__col-title {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .l-footer__col-title {
    font-size: 2rem;
  }
}

.l-footer .c-btn.c-btn--blue {
  line-height: 100%;
  transition: background 0.3s ease, color 0.3s ease;
}
.l-footer .c-btn.c-btn--blue:hover, .l-footer .c-btn.c-btn--blue:focus-visible {
  opacity: 1;
  background: #ffffff;
  color: #333333;
}

.l-footer__col-links {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .l-footer__col-links {
    font-size: 1.4rem;
  }
}

.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 112rem;
  margin: 4.8rem auto 0;
  padding: 4.8rem 0 0;
  border-top: 0.1rem solid rgba(255, 255, 255, 0.3);
  font-size: 1.6rem;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom {
    flex-direction: column-reverse;
    align-items: center;
    gap: 3.2rem;
    margin-top: 3.2rem;
    padding-top: 3.2rem;
    text-align: center;
  }
}

.l-footer__bottom-org {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom-org {
    align-items: center;
    gap: 1.6rem;
  }
}

.l-footer__bottom-org-row {
  display: flex;
  align-items: baseline;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom-org-row {
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
  }
}

.l-footer__bottom-org-label {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom-org-label {
    font-size: 1.2rem;
  }
}

.l-footer__bottom-org-name {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom-org-name {
    font-size: 2rem;
  }
}

.l-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 3.2rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom-links {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
}

.l-footer__copy {
  margin: 0;
  font-size: 1.2rem;
  font-family: Quicksand, sans-serif;
  font-weight: 500;
  line-height: 100%;
  text-align: left;
  opacity: 0.9;
}
@media screen and (max-width: 1023px) {
  .l-footer__copy {
    text-align: center;
  }
}

@keyframes bg-text-marquee {
  to {
    transform: translateX(-50%);
  }
}
:root {
  --important-news-h: 0px;
  --header-h: 12rem;
  --grad-highlight-conic: conic-gradient(
    from 0deg,
    #57eeff,
    #ffe95b,
    #57eeff
  );
}

@media screen and (max-width: 1023px) {
  :root {
    --header-h: 8rem;
  }
}
body:has(.c-important-news) {
  --important-news-h: 5.6rem;
  padding-top: var(--important-news-h);
}
@media screen and (max-width: 1023px) {
  body:has(.c-important-news) {
    --important-news-h: 4rem;
  }
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
  height: 14.4rem;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(5rem);
  -webkit-backdrop-filter: blur(5rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
@media screen and (max-width: 1023px) {
  body::before {
    content: none;
    display: none;
  }
}

body.is-scrolled::before {
  opacity: 1;
  visibility: visible;
}

.c-important-news {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 120;
  min-height: var(--important-news-h);
  background: #ffffff;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.08);
}

.c-important-news__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  min-height: var(--important-news-h);
  padding: 1.2rem 1.6rem 1.2rem 1.2rem;
}
@media screen and (max-width: 1023px) {
  .c-important-news__inner {
    padding: 0 0 0 0.8rem;
  }
}

.c-important-news__badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.6rem 0.8rem;
  background: #f00;
  border-radius: 0.8rem;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .c-important-news__badge {
    position: relative;
    z-index: 1;
    padding: 0.5rem 0.8rem 0.6rem;
    font-size: 1.2rem;
  }
}

.c-important-news__main {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 1.6rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .c-important-news__main {
    gap: 0;
  }
}

.c-important-news__track {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 3rem;
}
@media screen and (max-width: 1023px) {
  .c-important-news__track {
    overflow: hidden;
    height: auto;
    min-height: 2.4rem;
  }
}

.c-important-news__marquee {
  position: relative;
  height: 100%;
}
@media screen and (max-width: 1023px) {
  .c-important-news__marquee {
    display: flex;
    align-items: center;
    gap: 4.8rem;
    width: max-content;
    height: auto;
    padding-right: 4.8rem;
    will-change: transform;
    animation: important-news-marquee 40s linear infinite;
  }
}

.c-important-news__item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  min-width: 0;
  color: #000000;
  font-size: 1.6rem;
  line-height: normal;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0.6rem);
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}
.c-important-news__item.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.c-important-news__item.is-active:hover .c-important-news__title, .c-important-news__item.is-active:focus-visible .c-important-news__title {
  color: #1f64d3;
}
.c-important-news__item.is-leaving {
  z-index: 0;
  opacity: 0;
  visibility: visible;
  transform: translateY(-0.6rem);
}
@media screen and (max-width: 1023px) {
  .c-important-news__item {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    flex-shrink: 0;
    gap: 1.2rem;
    width: auto;
    max-width: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: none;
    font-size: 1.4rem;
  }
  .c-important-news__item.is-leaving {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

.c-important-news__tag {
  flex-shrink: 0;
  min-height: 0;
  padding: 0.7rem 1.6rem 0.8rem;
  border-radius: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .c-important-news__tag {
    padding: 0.4rem 1rem 0.5rem;
    font-size: 1.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-important-news__item {
    transition: none;
    transform: none;
  }
  .c-important-news__item.is-leaving {
    transform: none;
  }
}
@media screen and (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .c-important-news__marquee {
    animation: none;
  }
}
.c-important-news__date {
  flex-shrink: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .c-important-news__date {
    font-size: 1.3rem;
  }
}

.c-important-news__title {
  flex: 1;
  min-width: 0;
  color: #000000;
  font-weight: 500;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .c-important-news__title {
    flex: 0 0 auto;
    overflow: visible;
    text-overflow: unset;
  }
}

.c-important-news__nav {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1.2rem;
  width: 2.8rem;
  height: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .c-important-news__nav {
    display: none;
  }
}

.c-important-news__btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 0.8rem;
  height: 1.2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #999;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.c-important-news__btn:hover, .c-important-news__btn:focus-visible {
  opacity: 0.8;
}
.c-important-news__btn img {
  display: block;
  width: 0.8rem;
  height: 1.2rem;
}

@keyframes important-news-marquee {
  to {
    transform: translateX(-50%);
  }
}
.l-main {
  display: block;
  width: 100%;
}

.c-floating-cta {
  position: fixed;
  top: calc(var(--important-news-h, 0px) + 14.4rem);
  right: 0;
  z-index: 95;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2.4rem 1.6rem;
  background: #ff4a2a;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 0.8rem 0 0 0.8rem;
  transition: background 0.3s ease;
}
.c-floating-cta:hover, .c-floating-cta:focus-visible {
  background: #000000;
}
@media screen and (max-width: 1023px) {
  .c-floating-cta {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    padding: 1.6rem 2.4rem;
    box-sizing: border-box;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(1.6rem);
    transition: background 0.3s ease, opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
  }
}

@media screen and (max-width: 1023px) {
  body.is-scrolled .c-floating-cta {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

.c-btn__balloon {
  position: absolute;
  top: -3rem;
  left: 50%;
  z-index: 3;
  transform: translateX(-50%);
  animation: floating-cta-balloon 1.6s ease-in-out infinite;
  padding: 0.7rem 1.2rem 0.8rem;
  background: #333333;
  border: 0.1rem solid #333333;
  border-radius: 5rem;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  white-space: nowrap;
}
.c-btn__balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.7rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.8rem 0.6rem 0;
  border-color: #333333 transparent transparent;
  transform: translateX(-50%);
}
@media screen and (max-width: 1023px) {
  .c-btn__balloon {
    top: -2.6rem;
    font-size: 1.2rem;
    padding: 0.5rem 1rem 0.6rem;
  }
}

@keyframes floating-cta-balloon {
  0%, 100% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, -0.8rem);
  }
}
.c-btn__arrows {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.c-btn__arrows span {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6rem 0 0.6rem 0.8rem;
  border-color: transparent transparent transparent #ccc;
  animation-duration: 1.6s;
  animation-timing-function: steps(1, end);
  animation-iteration-count: infinite;
}
.c-btn__arrows span:nth-child(1) {
  animation-name: floating-cta-arrow-1;
}
.c-btn__arrows span:nth-child(2) {
  animation-name: floating-cta-arrow-2;
}
.c-btn__arrows span:nth-child(3) {
  animation-name: floating-cta-arrow-3;
}

@keyframes floating-cta-arrow-1 {
  0%, 24.9% {
    border-left-color: #ccc;
  }
  25%, 99.9% {
    border-left-color: #ffe95b;
  }
  100% {
    border-left-color: #ccc;
  }
}
@keyframes floating-cta-arrow-2 {
  0%, 49.9% {
    border-left-color: #ccc;
  }
  50%, 99.9% {
    border-left-color: #abecad;
  }
  100% {
    border-left-color: #ccc;
  }
}
@keyframes floating-cta-arrow-3 {
  0%, 74.9% {
    border-left-color: #ccc;
  }
  75%, 99.9% {
    border-left-color: #57eeff;
  }
  100% {
    border-left-color: #ccc;
  }
}
.c-arrow-down {
  --c-arrow-accent: #1f64d3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  width: 4.8rem;
  height: 3.2rem;
  color: #333333;
}
.c-arrow-down--green {
  --c-arrow-accent: #18b700;
}

.c-arrow-down__chevron {
  display: block;
  width: 4.2rem;
  height: 0.9rem;
  overflow: visible;
  flex-shrink: 0;
}
.c-arrow-down__chevron path {
  stroke: currentColor;
}
.c-arrow-down__chevron--top path {
  animation: c-arrow-down-top 1.6s steps(1, end) infinite;
}
.c-arrow-down__chevron--bottom path {
  animation: c-arrow-down-bottom 1.6s steps(1, end) infinite;
}

@keyframes c-arrow-down-top {
  0%, 24.9% {
    stroke: #333;
  }
  25%, 74.9% {
    stroke: var(--c-arrow-accent);
  }
  75%, 100% {
    stroke: #333;
  }
}
@keyframes c-arrow-down-bottom {
  0%, 49.9% {
    stroke: #333;
  }
  50%, 100% {
    stroke: var(--c-arrow-accent);
  }
}
.c-border-grad {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}
.c-border-grad::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 220%;
  aspect-ratio: 1;
  background: var(--grad-highlight-conic);
  transform: translate(-50%, -50%);
  animation: c-grad-spin-centered 6s linear infinite;
}

.c-grad-icon {
  position: relative;
  overflow: hidden;
  background: #57eeff;
}
.c-grad-icon::before {
  content: "";
  position: absolute;
  inset: -50%;
  z-index: 0;
  background: var(--grad-highlight-conic);
  animation: c-grad-spin 6s linear infinite;
}
.c-grad-icon > * {
  position: relative;
  z-index: 1;
}

@keyframes c-grad-spin-centered {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes c-grad-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-border-grad::before,
  .c-grad-icon::before {
    animation: none;
  }
}
.c-stamp {
  --stamp-rotate: -15deg;
  opacity: 0;
  transform: scale(1.08) rotate(var(--stamp-rotate));
  transform-origin: center center;
  will-change: transform, opacity;
}
.c-stamp.is-in {
  animation: c-stamp-press 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes c-stamp-press {
  0% {
    opacity: 0;
    transform: scale(1.08) rotate(var(--stamp-rotate));
  }
  65% {
    opacity: 1;
    transform: scale(0.96) rotate(var(--stamp-rotate));
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(var(--stamp-rotate));
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-btn__balloon,
  .c-btn__arrows span {
    animation: none;
  }
  .c-arrow-down__chevron path {
    animation: none;
    stroke: var(--c-arrow-accent);
  }
  .c-stamp {
    opacity: 1;
    transform: rotate(var(--stamp-rotate));
    animation: none;
    will-change: auto;
  }
}
.c-phone {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.c-phone__label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0 0 0.6rem;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}
.c-phone__label img {
  display: block;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
}

.c-phone__number {
  margin: 0;
  font-family: Quicksand, sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
}
.c-phone__number a {
  color: inherit;
  text-decoration: none;
}

.c-phone__hours {
  margin: 0.8rem 0 0;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.c-btn:not(.c-btn--cta):not(.c-btn--blue-light):hover, .c-btn:not(.c-btn--cta):not(.c-btn--blue-light):focus-visible {
  opacity: 0.8;
}

.c-btn--blue {
  padding: 1.6rem;
  background: #1f64d3;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .c-btn--blue {
    font-size: 1.6rem;
  }
}

.c-btn--blue-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-height: 6.4rem;
  padding: 2.4rem 2.4rem 2.4rem 3.2rem;
  background: #9cceff;
  border-radius: 1.6rem;
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.c-btn--blue-light .c-btn__circle-arrow {
  transition: background-color 0.3s ease;
}
.c-btn--blue-light .c-btn__circle-arrow img {
  transition: filter 0.3s ease;
}
.c-btn--blue-light:hover, .c-btn--blue-light:focus-visible {
  background: #000000;
  color: #ffffff;
}
.c-btn--blue-light:hover .c-btn__circle-arrow, .c-btn--blue-light:focus-visible .c-btn__circle-arrow {
  background: #ffffff;
}
.c-btn--blue-light:hover .c-btn__circle-arrow img, .c-btn--blue-light:focus-visible .c-btn__circle-arrow img {
  filter: brightness(0);
}
.c-btn--blue-light.is-arrow-left {
  padding: 2.4rem 3.2rem 2.4rem 2.4rem;
}
.c-btn--blue-light.is-arrow-left .c-btn__circle-arrow img {
  transform: scaleX(-1);
}
@media screen and (max-width: 1023px) {
  .c-btn--blue-light {
    gap: 0.6rem;
    min-height: 0;
    padding: 2rem 2rem 2rem 2.4rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: inherit;
  }
  .c-btn--blue-light.is-arrow-left {
    padding: 2rem 2.4rem 2rem 2rem;
  }
}

.c-btn__circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  flex-shrink: 0;
  background: #000000;
  border-radius: 50%;
}
.c-btn__circle-arrow img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}
@media screen and (max-width: 1023px) {
  .c-btn__circle-arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
  .c-btn__circle-arrow img {
    width: 1.2rem;
    height: 1.2rem;
  }
}

.c-btn__text {
  white-space: nowrap;
}

.c-btn--cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.2rem;
  background: #57eeff;
  border-radius: 8rem;
  box-shadow: 0 2rem 0.5rem rgba(0, 0, 0, 0.5);
  isolation: isolate;
}
.c-btn--cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: #000000;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.c-btn--cta:hover::before, .c-btn--cta:focus-visible::before {
  opacity: 1;
}
.c-btn--cta .c-btn__inner {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.2rem 1.6rem 1.2rem 4rem;
  background: linear-gradient(180deg, #ffffff 62%, #eeeeee);
  border-radius: 8rem;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #333333;
}
.c-btn--cta .c-btn__em {
  color: #1f64d3;
}
.c-btn--cta .c-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  font-size: 2.4rem;
  flex-shrink: 0;
}
.c-btn--cta .c-btn__icon img {
  display: block;
  width: 2rem;
}
.c-btn--cta .c-btn__arrows {
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .c-btn--cta .c-btn__prefix,
  .c-btn--cta .c-btn__arrows {
    display: none;
  }
  .c-btn--cta .c-btn__inner {
    min-height: auto;
    padding: 1.2rem 1.6rem 1.2rem 4rem;
  }
}

.c-btn--cta-footer {
  padding: 0.2rem;
  background: transparent;
  box-shadow: none;
}
.c-btn--cta-footer .c-btn__icon {
  background: linear-gradient(0deg, #ffe95b 0%, #57eeff 100%);
}
@media screen and (max-width: 1023px) {
  .c-btn--cta-footer {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c-btn--cta::before {
    transition: none;
  }
}
.p-top-fv {
  position: relative;
  z-index: 0;
  isolation: isolate;
  padding: 0 0 4.8rem 12.8rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-fv {
    padding: var(--header-h) 0 0;
  }
}

.p-top-fv ~ section {
  position: relative;
  z-index: 1;
}

.p-top-fv__hero {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__hero {
    height: calc(100svh - var(--header-h) - var(--important-news-h, 0px));
    min-height: 60rem;
  }
}

.p-top-fv__bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  display: flex;
  width: 100%;
  height: calc(100vh - var(--header-h) - var(--important-news-h, 0px));
  min-height: 64rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__bg {
    inset: 0;
    width: 100%;
    height: calc(100% - 14rem);
    min-height: 0;
    overflow: hidden;
    border-radius: 0;
  }
  .p-top-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 20%, rgba(0, 0, 0, 0) 40%);
    pointer-events: none;
  }
}

.p-top-fv.is-fixed-bg .p-top-fv__bg {
  position: fixed;
  top: var(--important-news-h, 0px);
  left: 12.8rem;
  right: 0;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .p-top-fv.is-fixed-bg .p-top-fv__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}

.p-top-fv__bg-left,
.p-top-fv__bg-right {
  position: relative;
  flex: none;
  width: 50%;
  min-width: 0;
  overflow: hidden;
  transition: width 0.3s ease;
}
.p-top-fv__bg-left picture,
.p-top-fv__bg-right picture {
  display: contents;
}
.p-top-fv__bg-left img,
.p-top-fv__bg-right img {
  position: absolute;
  top: 0;
  height: 100%;
  width: auto;
  max-width: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__bg-left,
  .p-top-fv__bg-right {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.8s ease;
  }
  .p-top-fv__bg-left img,
  .p-top-fv__bg-right img {
    inset: auto;
    max-width: none;
    object-fit: cover;
    transform: none;
  }
}

.p-top-fv__bg-left {
  border-bottom-left-radius: 4rem;
}
.p-top-fv__bg-left img {
  left: 0;
  right: auto;
  --fv-bg-x: clamp(-24rem, calc((100vw - 1440px) * 0.6), 0px);
  transform: translateX(var(--fv-bg-x)) scale(1.25);
  transform-origin: 50% 90%;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__bg-left {
    border-bottom-left-radius: 0;
    opacity: 1;
    z-index: 1;
  }
  .p-top-fv__bg-left img {
    width: 100%;
    height: 140%;
    left: 0;
    top: auto;
    right: auto;
    bottom: 0;
    transform: none;
  }
  .p-top-fv__bg.is-slide-2 .p-top-fv__bg-left {
    opacity: 0;
    z-index: 0;
  }
}

.p-top-fv__bg-right img {
  right: 0;
  left: auto;
  --fv-bg-x: clamp(0px, calc((1440px - 100vw) * 0.6), 24rem);
  transform: translateX(calc(6% + var(--fv-bg-x)));
}
@media screen and (max-width: 1023px) {
  .p-top-fv__bg-right {
    border-radius: 0;
    opacity: 0;
    z-index: 0;
  }
  .p-top-fv__bg-right img {
    width: 100%;
    height: 128%;
    left: auto;
    top: auto;
    right: 0;
    bottom: 0;
    object-fit: cover;
    object-position: 80% center;
    transform: none;
  }
  .p-top-fv__bg.is-slide-2 .p-top-fv__bg-right {
    opacity: 1;
    z-index: 1;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-fv:has(.p-top-fv__window--blue:hover) .p-top-fv__bg-left,
  .p-top-fv:has(.p-top-fv__window--blue :focus-visible) .p-top-fv__bg-left {
    width: 100%;
  }
  .p-top-fv:has(.p-top-fv__window--blue:hover) .p-top-fv__bg-right,
  .p-top-fv:has(.p-top-fv__window--blue :focus-visible) .p-top-fv__bg-right {
    width: 0;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-fv:has(.p-top-fv__window--green:hover) .p-top-fv__bg-left,
  .p-top-fv:has(.p-top-fv__window--green :focus-visible) .p-top-fv__bg-left {
    width: 0;
  }
  .p-top-fv:has(.p-top-fv__window--green:hover) .p-top-fv__bg-right,
  .p-top-fv:has(.p-top-fv__window--green :focus-visible) .p-top-fv__bg-right {
    width: 100%;
    border-bottom-left-radius: 4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p-top-fv__bg-left,
  .p-top-fv__bg-right {
    transition: none;
  }
}
@media screen and (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .p-top-fv__bg-left,
  .p-top-fv__bg-right {
    transition: none;
  }
}
.p-top-fv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 16.8rem - var(--important-news-h, 0px));
  padding: 6.4rem 0;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__inner {
    align-items: stretch;
    justify-content: space-between;
    height: 100%;
    min-height: 0;
    padding: 0 0 14rem 0;
    text-align: left;
  }
}

.p-top-fv__windows {
  display: flex;
  gap: 6.4rem;
  margin-bottom: clamp(6.4rem, 8vh, 9.6rem);
  width: 80rem;
  max-width: 100%;
  overflow: visible;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__windows {
    position: absolute;
    z-index: 1;
    bottom: 0;
    gap: 0;
    margin: auto 0 0;
    width: 100%;
    max-width: none;
  }
}

.p-top-fv__window-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: 100%;
  margin-top: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-links {
    gap: 0.4rem;
    margin-top: 0.6rem;
  }
}

.p-top-fv__window-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem;
  border-radius: 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.p-top-fv__window-link--blue {
  background: #ffffff;
  color: #1f64d3;
}
.p-top-fv__window-link--blue:hover, .p-top-fv__window-link--blue:focus-visible {
  background: #000000;
  color: #ffffff;
}
.p-top-fv__window-link--green {
  background: #ffffff;
  color: #000000;
}
.p-top-fv__window-link--green:hover, .p-top-fv__window-link--green:focus-visible {
  background: #000000;
  color: #ffffff;
}

.p-top-fv__cta-wrap {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__cta-wrap {
    margin: 0 auto;
    padding: 2rem 2rem 4rem;
  }
}

.p-top-fv__copy {
  position: relative;
  z-index: 0;
  max-width: 57.6rem;
  margin-bottom: 2.4rem;
}
.p-top-fv__copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 8.8rem;
  width: 100%;
  height: 16.8rem;
  background: rgba(255, 255, 255, 0.5);
  filter: blur(1.5rem);
  backdrop-filter: blur(0.5rem);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__copy::before {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-fv__copy {
    z-index: 1;
    max-width: none;
    margin: 0;
    padding: 2rem;
  }
}

.p-top-fv__heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

.p-top-fv__lead {
  display: block;
  position: relative;
  margin-bottom: 2.4rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__lead {
    margin-bottom: 0.8rem;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 900;
  }
}

.p-top-fv__catch {
  display: block;
  position: relative;
  margin-bottom: 2.4rem;
  font-size: 6.4rem;
  font-weight: 900;
  line-height: 100%;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__catch {
    margin-left: -0.6rem;
    margin-bottom: 1.6rem;
    color: #ffffff;
    font-size: 3.6rem;
    white-space: nowrap;
  }
}

.p-top-fv__catch-em {
  position: relative;
  z-index: 1;
  color: #ffffff;
}
.p-top-fv__catch-em::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-45%);
  height: 6.4rem;
  background: #333333;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__catch-em::before {
    height: 3.9rem;
  }
}

.p-top-fv__desc {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__desc {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 500;
  }
}

.p-top-fv__window {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex: 1;
  padding: 2.4rem 2.4rem 1.6rem 3.2rem;
  color: #ffffff;
  text-align: center;
  transition: none;
}
.p-top-fv__window::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 6rem;
  top: 3.2rem;
  width: 80%;
  height: 8rem;
  background: rgba(0, 0, 0, 0.5);
  filter: blur(0.5rem);
  transform: rotate(5deg);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.p-top-fv__window:has(.p-top-fv__window-main:hover)::before, .p-top-fv__window:has(.p-top-fv__window-main:focus-visible)::before {
  opacity: 0;
}
.p-top-fv__window:has(.p-top-fv__window-main:hover) .p-top-fv__window-ext, .p-top-fv__window:has(.p-top-fv__window-main:focus-visible) .p-top-fv__window-ext {
  background: #000000;
}
.p-top-fv__window:has(.p-top-fv__window-main:hover) .p-top-fv__window-ext img, .p-top-fv__window:has(.p-top-fv__window-main:focus-visible) .p-top-fv__window-ext img {
  filter: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window {
    gap: 0.4rem;
    flex: 1 1 50%;
    width: 50%;
    min-height: 12.8rem;
    padding: 1.6rem 1.2rem 1.6rem;
    border-left-width: 0;
  }
  .p-top-fv__window::before {
    display: none;
  }
}

.p-top-fv__window-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-main {
    gap: 0.4rem;
  }
}

.p-top-fv__window--blue {
  background: #1f64d3;
  border-left: 2rem solid #0047ab;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window--blue {
    border-left: none;
  }
}

.p-top-fv__window--green {
  background: #c1e143;
  border-left: 2rem solid #afd518;
  color: #333333;
}
.p-top-fv__window--green .p-top-fv__window-title {
  color: #000000;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window--green {
    border-left: none;
  }
}

.p-top-fv__window-badge {
  position: absolute;
  top: -1.5rem;
  left: 2rem;
  padding: 0.6rem 0.8rem;
  background: #ff4a2a;
  color: #ffffff;
  font-family: Quicksand, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-badge {
    top: -1rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.2rem;
    padding: 0.4rem 0.6rem;
  }
}

.p-top-fv__window-sub {
  position: relative;
  padding-right: 4.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
}
.p-top-fv__window--green .p-top-fv__window-sub {
  font-size: 1.5rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-sub {
    padding-right: 0;
    font-size: 1.2rem;
    line-height: 1.2;
  }
  .p-top-fv__window--green .p-top-fv__window-sub {
    font-size: 1.2rem;
  }
}

.p-top-fv__window-line {
  position: absolute;
  left: 0;
  top: 1.55rem;
  width: 100%;
  max-width: 22.4rem;
  height: 0.8rem;
  transform: rotate(-2deg);
  transform-origin: left center;
  mix-blend-mode: color-dodge;
  pointer-events: none;
}
.p-top-fv__window--green .p-top-fv__window-line {
  max-width: 18.8rem;
  top: 1.65rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-line {
    display: none;
  }
}

.p-top-fv__window-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-title {
    position: relative;
    display: block;
    font-size: 2rem;
    line-height: 1.2;
    padding-right: 2.4rem;
  }
}

.p-top-fv__window-ext {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  flex-shrink: 0;
  background: #ffffff;
  transition: background-color 0.3s ease;
}
.p-top-fv__window-ext img {
  width: 2rem;
  height: 2rem;
  filter: brightness(0);
  transition: filter 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__window-ext {
    position: absolute;
    right: 0;
    bottom: 0.2rem;
    width: 2rem;
    height: 2rem;
  }
  .p-top-fv__window-ext img {
    width: 1.4rem;
    height: 1.4rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-fv__window--blue .p-top-fv__window-ext {
    right: 2rem;
  }
}

.p-top-fv__stats {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 112rem;
  max-width: calc(100% - 6.4rem);
  margin: 0 auto;
  height: 16.8rem;
  background: #ffffff;
  border: 0.1rem solid #ffffff;
  border-radius: 4rem;
}
@media screen and (min-width: 801px) and (max-width: 1023px) {
  .p-top-fv__stats {
    width: auto;
    max-width: inherit;
  }
}
@media screen and (max-width: 800px) {
  .p-top-fv__stats {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0 5.6rem;
  }
}

.p-top-fv__stat {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 0 1.6rem;
  text-align: center;
}
.p-top-fv__stat:not(:last-child) {
  border-right: 0.2rem solid #eeeeee;
}
@media screen and (max-width: 800px) {
  .p-top-fv__stat:not(:last-child) {
    border-right: none;
    border-bottom: 0.2rem solid #eeeeee;
  }
}
@media screen and (max-width: 800px) {
  .p-top-fv__stat {
    gap: 1.2rem;
    padding: 4rem 0;
  }
}

.p-top-fv__stat-num {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.p-top-fv__stat-num:has(> .p-top-fv__stat-icon:not(.p-top-fv__stat-icon--pin)) {
  transform: translateX(2.75rem);
}
.p-top-fv__stat-num--yen .p-top-fv__stat-unit {
  line-height: 1.9;
}
.p-top-fv__stat-num--yen .p-top-fv__stat-value {
  position: relative;
}
.p-top-fv__stat-num--hubs {
  gap: 0.4rem;
  transform: translateX(-2.75rem);
}
.p-top-fv__stat-num--hubs .p-top-fv__stat-unit {
  line-height: 1.5;
}

.p-top-fv__stat-value {
  color: #1f64d3;
  font-family: Quicksand, sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 100%;
}

.p-top-fv__stat-unit {
  font-size: 2.4rem;
  line-height: 1.618;
}

.p-top-fv__stat-icon {
  position: absolute;
  left: -5.5rem;
  top: 0.2rem;
  width: 5rem;
  height: 5rem;
}
.p-top-fv__stat-icon--pin {
  left: auto;
  right: -5.5rem;
  top: -1rem;
  width: 6.4rem;
  height: 6.4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__stat-icon {
    display: block;
    left: -5.5rem;
    top: 0.2rem;
    transform: none;
  }
  .p-top-fv__stat-icon--pin {
    left: auto;
    right: -5.5rem;
    top: -1rem;
    transform: none;
  }
}

.p-top-fv__stat-rays {
  position: absolute;
  left: 50%;
  top: -0.4rem;
  width: 3.4rem;
  height: 1.06rem;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__stat-rays {
    display: block;
    top: -1rem;
  }
}

.p-top-fv__stat-label {
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__stat-label {
    line-height: 1;
  }
}

.p-top-fv__stat-note {
  font-size: 1.3rem;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__stat-note {
    line-height: 1;
  }
}

.p-top-fv__stamp {
  position: absolute;
  left: -14.8rem;
  top: 56rem;
  z-index: 2;
  width: 18.2rem;
  height: 18.4rem;
  object-fit: contain;
  --stamp-rotate: -15deg;
  pointer-events: none;
}
.p-top-fv__stamp.is-settled {
  animation: none;
  opacity: 1;
  transform: scale(1) rotate(var(--stamp-rotate));
  transition: opacity 0.45s ease;
}
.p-top-fv__stamp.is-out {
  opacity: 0 !important;
  transform: scale(1) rotate(var(--stamp-rotate)) !important;
  transition: opacity 0.45s ease;
}
@media screen and (max-width: 1023px) {
  .p-top-fv__stamp {
    left: auto;
    right: -0.1rem;
    top: 16rem;
    bottom: auto;
    width: 12.8rem;
    height: auto;
    --stamp-rotate: -10deg;
  }
}

.c-btn--light {
  gap: 0.8rem;
  padding: 2.4rem 2.4rem 2.4rem 3.2rem;
  background: var(--service-btn-light, #9cceff);
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 1.6rem;
}

.p-top-challenges {
  padding: 12.8rem 6.4rem 6.4rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges {
    padding: 9.6rem 0 6.4rem;
    overflow: hidden;
  }
}
.p-top-challenges > .l-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges > .l-container {
    gap: 3.2rem;
  }
}

.p-top-challenges__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__head {
    align-items: flex-start;
    gap: 3.2rem;
    padding: 0 4rem;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
  }
}

.p-top-challenges__head-text {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__head-text {
    align-items: flex-start;
    gap: 1.2rem;
    min-height: 19.6rem;
  }
}

.p-top-challenges__illust {
  position: absolute;
  top: 24%;
  right: calc(100% - 16rem);
  z-index: -1;
  width: 28rem;
  max-width: none;
  height: auto;
  object-fit: contain;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__illust {
    top: 3.2rem;
    left: 3.2rem;
    right: auto;
  }
}

.p-top-challenges__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
}
.p-top-challenges__title span {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__title {
    font-size: 3rem;
    line-height: 1.618;
    text-align: left;
  }
}

.p-top-challenges__lead {
  margin: 0;
  max-width: 48rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__lead {
    max-width: none;
    font-size: 1.5rem;
    line-height: 1.618;
    text-align: left;
  }
}

.p-top-challenges__arrow {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__arrow {
    justify-content: flex-start;
  }
}

.p-top-challenges__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__list {
    gap: 0.4rem;
  }
}
@media screen and (max-width: 800px) {
  .p-top-challenges__list {
    grid-template-columns: 1fr 1fr;
  }
}

.p-top-challenges__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 11.2rem;
  padding: 2.4rem 1.6rem;
  border-radius: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.618;
  text-align: center;
}
.p-top-challenges__item.is-blue {
  background: rgba(156, 206, 255, 0.3);
}
.p-top-challenges__item.is-green {
  background: rgba(193, 225, 67, 0.2);
}
@media screen and (max-width: 1023px) {
  .p-top-challenges__item {
    min-height: 10rem;
    padding: 2.4rem 1.2rem;
    font-size: 1.6rem;
    line-height: 1.618;
  }
}

@media screen and (max-width: 800px) {
  .p-top-challenges__list .p-top-challenges__item:nth-child(4n+1), .p-top-challenges__list .p-top-challenges__item:nth-child(4n+4) {
    background: rgba(156, 206, 255, 0.3);
  }
  .p-top-challenges__list .p-top-challenges__item:nth-child(4n+2), .p-top-challenges__list .p-top-challenges__item:nth-child(4n+3) {
    background: rgba(193, 225, 67, 0.2);
  }
  .p-service--green .p-top-challenges__list .p-top-challenges__item:nth-child(4n+1), .p-service--green .p-top-challenges__list .p-top-challenges__item:nth-child(4n+4) {
    background: rgba(24, 183, 0, 0.1);
  }
  .p-service--green .p-top-challenges__list .p-top-challenges__item:nth-child(4n+2), .p-service--green .p-top-challenges__list .p-top-challenges__item:nth-child(4n+3) {
    background: rgba(193, 225, 67, 0.2);
  }
  .p-service--blue .p-top-challenges__list .p-top-challenges__item:nth-child(4n+1), .p-service--blue .p-top-challenges__list .p-top-challenges__item:nth-child(4n+4) {
    background: rgba(31, 100, 211, 0.1);
  }
  .p-service--blue .p-top-challenges__list .p-top-challenges__item:nth-child(4n+2), .p-service--blue .p-top-challenges__list .p-top-challenges__item:nth-child(4n+3) {
    background: rgba(156, 206, 255, 0.2);
  }
}
.p-top-windows {
  padding: 6.4rem 6.4rem 12.8rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-top-windows {
    padding: 6.4rem 0;
  }
}
.p-top-windows > .l-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-windows > .l-container {
    gap: 3.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-windows .p-about-windows__cards {
    padding-inline: 2rem;
    box-sizing: border-box;
  }
}

.p-top-windows__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__head {
    align-items: flex-start;
    gap: 3.2rem;
    padding: 0 4rem;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
  }
}

.p-top-windows__head-text {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  max-width: 60.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__head-text {
    align-items: flex-start;
    gap: 1.2rem;
    max-width: 100%;
    min-height: 19.6rem;
    max-width: 40rem;
  }
}

.p-top-windows__illust {
  position: absolute;
  top: 16%;
  left: calc(100% - 18rem);
  z-index: -1;
  width: 28rem;
  max-width: none;
  height: auto;
  aspect-ratio: 335/280;
  object-fit: contain;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__illust {
    top: 3.6rem;
    left: 2rem;
  }
}

.p-top-windows__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
}
.p-top-windows__title span {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__title {
    font-size: 3rem;
    line-height: 1.618;
    text-align: left;
  }
}

.p-top-windows__lead {
  margin: 0;
  max-width: 60.8rem;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
  text-align: center;
}
.p-top-windows__lead a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-top-windows__lead a:hover, .p-top-windows__lead a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__lead {
    max-width: none;
    font-size: 1.5rem;
    line-height: 1.618;
    text-align: left;
  }
}

.p-top-windows__arrow {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .p-top-windows__arrow {
    justify-content: flex-start;
  }
}

.p-top-about {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 12.8rem 0 12.8rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-top-about {
    overflow: visible;
    padding: 6.4rem 0 0;
  }
}

.p-top-about__bg-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 25.6rem;
  overflow: hidden;
  font-family: Quicksand, sans-serif;
  font-size: 25.6rem;
  font-weight: 700;
  line-height: 100%;
  color: #1f64d3;
  opacity: 0.1;
  white-space: nowrap;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-about__bg-text {
    top: -1rem;
    height: 16rem;
    font-size: 16rem;
  }
}

.p-top-about__bg-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: bg-text-marquee 90s linear infinite;
}
.p-top-about__bg-track span {
  display: block;
  padding-right: 8rem;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .p-top-about__bg-track {
    animation: none;
  }
}

.p-top-about__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 48rem 1fr;
  align-items: stretch;
  gap: 0 6.4rem;
  width: 100%;
  max-width: 140rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-top-about__inner {
    grid-template-columns: 1fr;
    max-width: none;
    gap: 0;
  }
}

.p-top-about__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4.8rem;
  width: 100%;
  padding: 9.6rem 0 4.8rem 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about__body {
    padding: 6.4rem 2rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-about .p-top-about__body {
    align-items: center;
    gap: 3.2rem;
    padding: 0 2rem 6.4rem;
  }
  .p-top-about .p-top-about__copy {
    align-items: center;
    gap: 3.2rem;
    text-align: center;
  }
  .p-top-about .p-top-about__eyebrow {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }
  .p-top-about .p-top-about__title {
    width: 100%;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.618;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .p-top-about .p-top-about__text {
    width: 100%;
    color: #666;
    font-size: 1.5rem;
    line-height: 1.618;
    text-align: center;
  }
}

.p-top-about__copy {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
}

.p-top-about__eyebrow {
  margin: 0;
  color: #1f64d3;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.05em;
}

.p-top-about__title {
  margin: 0;
  color: #333333;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.618;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-top-about__title {
    font-size: 2.4rem;
  }
}

.p-top-about__text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
.p-top-about__text a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-top-about__text a:hover, .p-top-about__text a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}

.p-top-about__media {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-height: 64rem;
  overflow: visible;
}
@media screen and (max-width: 1023px) {
  .p-top-about__media {
    min-height: 20.8rem;
  }
}

.p-top-about__photo {
  display: block;
  width: 100%;
  height: auto;
  min-height: inherit;
  object-fit: cover;
  border-radius: 8rem 0 0 8rem;
}
@media (min-width: 1529px) {
  .p-top-about__photo {
    border-radius: 8rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-about__photo {
    min-height: 20.8rem;
    border-radius: 0;
  }
}

.p-top-about__stamp {
  position: absolute;
  left: -14rem;
  bottom: 2rem;
  z-index: 2;
  width: 18.2rem;
  height: 18.4rem;
  aspect-ratio: 182/184;
  object-fit: contain;
  --stamp-rotate: -10deg;
}
@media screen and (max-width: 1023px) {
  .p-top-about__stamp {
    left: -1rem;
    bottom: -1rem;
    width: 11rem;
    height: auto;
  }
}

.p-top-about--service {
  padding-bottom: 12.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__body {
    align-items: stretch;
    gap: 3.2rem;
    padding: 0 2rem 4rem;
  }
}
.p-top-about--service .p-top-about__inner {
  grid-template-columns: 56rem 1fr;
  overflow: visible;
}
.p-top-about--service .p-top-about__inner > .p-top-about__body {
  grid-column: 1;
  grid-row: 1;
}
.p-top-about--service .p-top-about__inner > .p-top-about__media {
  grid-column: 2;
  grid-row: 1/3;
}
.p-top-about--service .p-top-about__inner > .p-top-about__cross {
  grid-column: 1;
  grid-row: 2;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__inner {
    grid-template-columns: 1fr;
  }
  .p-top-about--service .p-top-about__inner > .p-top-about__body,
  .p-top-about--service .p-top-about__inner > .p-top-about__media,
  .p-top-about--service .p-top-about__inner > .p-top-about__cross {
    grid-column: 1;
    grid-row: auto;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__copy {
    align-items: stretch;
    gap: 3.2rem;
    text-align: left;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__eyebrow {
    color: #0047ab;
  }
}
.p-top-about--service .p-top-about__text--muted {
  color: #666;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__text--muted {
    text-align: left;
  }
}
.p-top-about--service.p-top-about--green .p-top-about__eyebrow {
  color: #18b700;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service.p-top-about--green .p-top-about__eyebrow {
    color: #18b700;
  }
}
.p-top-about--service.p-top-about--green .p-top-about__bg-text {
  color: #18b700;
}
.p-top-about--service.p-top-about--green .p-top-about__bg-text span:nth-child(even) {
  color: #0047ab;
}
.p-top-about--service .p-top-about__org-link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__org-link {
    width: 100%;
    font-size: 1.4rem;
  }
}
.p-top-about--service .p-top-about__org-link:hover, .p-top-about--service .p-top-about__org-link:focus-visible {
  color: #1f64d3;
}
.p-top-about--service .p-top-about__org-link:hover .p-top-about__org-link-icon, .p-top-about--service .p-top-about__org-link:focus-visible .p-top-about__org-link-icon {
  background: #1f64d3;
}
.p-top-about--service .p-top-about__org-link:hover .p-top-about__org-link-text, .p-top-about--service .p-top-about__org-link:focus-visible .p-top-about__org-link-text {
  text-decoration: none;
}
.p-top-about--service .p-top-about__org-link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  flex-shrink: 0;
  background: #000000;
  border-radius: 50%;
  transition: background 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__org-link-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-top-about--service .p-top-about__org-link-icon img {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__org-link-icon img {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.p-top-about--service .p-top-about__org-link-text {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.p-top-about--service .p-top-about__cross {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  width: 88rem;
  max-width: calc(100vw - 12.8rem - 6.4rem);
  margin-top: 0;
  padding: 4.8rem;
  background: #c1e143;
  border-radius: 2.4rem;
  color: #333333;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    width: auto;
    max-width: none;
    margin: 3.2rem 2rem 6.4rem;
    padding: 3.2rem 2.4rem;
  }
}
.p-top-about--service .p-top-about__cross-main {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
  padding-right: 24rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-main {
    width: 100%;
    gap: 3.2rem;
    padding-right: 0;
  }
}
.p-top-about--service .p-top-about__cross-head {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-head {
    gap: 2rem;
  }
}
.p-top-about--service .p-top-about__cross-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-about--service .p-top-about__cross-title br {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-title {
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.618;
    text-align: center;
  }
}
.p-top-about--service .p-top-about__cross-text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-text {
    line-height: 1.618;
    text-align: center;
  }
  .p-top-about--service .p-top-about__cross-text br {
    display: none;
  }
}
.p-top-about--service .p-top-about__cross-action {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-action {
    width: max-content;
    margin: 0 auto;
  }
}
.p-top-about--service .p-top-about__cross-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 100%;
}
.p-top-about--service .p-top-about__cross-label-mark {
  color: #ffffff;
}
.p-top-about--service .p-top-about__cross-btn {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.8rem;
  padding: 1.6rem 2.4rem 1.6rem 3.2rem;
  background: #ffffff;
  border-radius: 0.8rem;
  color: #1e1e1e;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-top-about--service .p-top-about__cross-btn:hover, .p-top-about--service .p-top-about__cross-btn:focus-visible {
  opacity: 0.8;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-btn {
    align-self: stretch;
    width: 100%;
    padding: 1.6rem 2.4rem;
  }
}
.p-top-about--service .p-top-about__cross-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  background: #c1e143;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.p-top-about--service .p-top-about__cross-btn-icon img {
  display: block;
  width: 2rem;
  height: 2rem;
  transition: filter 0.3s ease;
}
.p-top-about--service .p-top-about__cross-illust {
  position: absolute;
  bottom: -0.4rem;
  right: -0.8rem;
  width: 30rem;
  height: auto;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-about--service .p-top-about__cross-illust {
    position: static;
    width: 25rem;
    margin-inline: auto;
  }
}
.p-top-about--service.p-top-about--blue .p-top-about__cross-btn-icon {
  background: #c1e143;
}
.p-top-about--service.p-top-about--blue .p-top-about__cross-btn-icon img {
  filter: brightness(0);
}
.p-top-about--service.p-top-about--green .p-top-about__cross-btn-icon {
  background: #1f64d3;
}
.p-top-about--service.p-top-about--green .p-top-about__cross-btn-icon img {
  filter: none;
}
.p-top-about--service.p-top-about--blue .p-top-about__cross-btn:hover, .p-top-about--service.p-top-about--blue .p-top-about__cross-btn:focus-visible, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:hover, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:focus-visible {
  opacity: 1;
}
.p-top-about--service.p-top-about--blue .p-top-about__cross-btn:hover .p-top-about__cross-btn-icon, .p-top-about--service.p-top-about--blue .p-top-about__cross-btn:focus-visible .p-top-about__cross-btn-icon, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:hover .p-top-about__cross-btn-icon, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:focus-visible .p-top-about__cross-btn-icon {
  background: #000000;
}
.p-top-about--service.p-top-about--blue .p-top-about__cross-btn:hover .p-top-about__cross-btn-icon img, .p-top-about--service.p-top-about--blue .p-top-about__cross-btn:focus-visible .p-top-about__cross-btn-icon img, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:hover .p-top-about__cross-btn-icon img, .p-top-about--service.p-top-about--green .p-top-about__cross-btn:focus-visible .p-top-about__cross-btn-icon img {
  filter: none;
}
.p-top-about--service.p-top-about--green .p-top-about__cross {
  background: #1f64d3;
  color: #ffffff;
}
.p-top-about--service.p-top-about--green .p-top-about__cross-label-mark {
  color: #ffffff;
}

.p-top-points {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 4.8rem 0;
  background: linear-gradient(to right, #ffe95b, #57eeff);
}
@media screen and (max-width: 1023px) {
  .p-top-points {
    padding: 1.6rem 0;
  }
}

.p-top-points__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: points-marquee 40s linear infinite;
}

.p-top-points__list {
  display: flex;
  flex-shrink: 0;
  gap: 6.4rem;
  margin: 0;
  padding: 0 6.4rem 0 0;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .p-top-points__list {
    gap: 4.8rem;
    padding-right: 4.8rem;
  }
}

.p-top-points__item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-top-points__item {
    font-size: 1.8rem;
    line-height: 1;
  }
}

.p-top-points__check {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
}
.p-top-points__check img {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-points__check {
    width: 3.2rem;
    height: 3.2rem;
  }
  .p-top-points__check img {
    width: 1.6rem;
    height: 1.6rem;
  }
}

@keyframes points-marquee {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top-points__track {
    animation: none;
  }
}
.p-top-flow {
  padding: 9.6rem 6.4rem 9.6rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-top-flow {
    padding: 6.4rem 2rem;
  }
}

.p-top-flow__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__inner {
    gap: 6.4rem;
  }
}

.p-top-flow__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  text-align: center;
}

.p-top-flow__title {
  margin: 0;
  color: #333333;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__title {
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}

.p-top-flow__lead {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__lead {
    font-size: 1.5rem;
  }
}

.p-top-flow__list {
  display: flex;
  align-items: stretch;
  gap: 4rem;
  width: 100%;
  max-width: 112rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__list {
    padding-top: 3rem;
  }
}
@media screen and (max-width: 800px) {
  .p-top-flow__list {
    flex-direction: column;
    gap: 4.6rem;
  }
}

.p-top-flow__arrow {
  position: absolute;
  top: 50%;
  left: calc(100% + 1.6rem);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.8rem;
  height: 2.4rem;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .p-top-flow__arrow {
    display: none;
  }
}

.p-top-flow__arrow-icon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 0.8rem;
  transform: rotate(-90deg);
}

.p-top-flow__item {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  min-width: 0;
  min-height: 100%;
  padding: 4.8rem 2.4rem 3.2rem;
  background: #f5f5f5;
  border-radius: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__item {
    gap: 0;
    padding: 3.2rem 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .p-top-flow__item {
    flex: none;
    width: 100%;
    min-height: 0;
  }
}

.p-top-flow__step {
  position: absolute;
  top: -3rem;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  padding-top: 0.4rem;
  background: #333333;
  color: #ffffff;
  border-radius: 50%;
  font-family: Quicksand, sans-serif;
  line-height: 100%;
  transform: translateX(-50%);
}

.p-top-flow__step-label {
  font-size: 1.4rem;
  font-weight: 700;
}

.p-top-flow__step-num {
  font-size: 2.4rem;
  font-weight: 600;
}

.p-top-flow__img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 15.04rem;
}
.p-top-flow__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 800px) {
  .p-top-flow__img {
    width: 16rem;
    height: 16rem;
  }
}

.p-top-flow__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2.4rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__body {
    gap: 1.6rem;
  }
}

.p-top-flow__item-title {
  margin: 0;
  color: #333333;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__item-title {
    font-size: 2.2rem;
    line-height: 1;
  }
}

.p-top-flow__item-text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__item-text {
    font-size: 1.4rem;
  }
}

.p-top-case {
  position: relative;
  z-index: 1;
  padding: 9.6rem 0;
  background: #f5f5f5;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-case {
    padding: 6.4rem 0;
  }
}

.p-top-case__lead {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-top-case__lead {
    width: 100%;
    font-size: 1.3rem;
  }
}

.p-top-news {
  padding: 9.6rem 6.4rem 9.6rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-top-news {
    padding: 6.4rem 2rem;
  }
}

.p-top-news__inner {
  display: flex;
  align-items: center;
  gap: 6.4rem;
  max-width: 124.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-news__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 3.2rem;
  }
}

.p-top-news__side {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 3.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-news__side {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1.6rem;
    row-gap: 3.2rem;
    align-items: start;
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-news__side > .c-btn {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
}

.p-top-news__intro {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-news__intro {
    display: contents;
  }
}

.p-top-news__titles {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-news__titles {
    grid-column: 1;
    grid-row: 1;
    gap: 0.8rem;
  }
}

.p-top-news__en {
  margin: 0;
  font-family: Quicksand, sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 100%;
  color: #333333;
}
.p-top-news__en span {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-top-news__en {
    font-size: 4rem;
    line-height: 1;
  }
}

.p-top-news__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-top-news__title {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}

.p-top-news__lead {
  margin: 0;
  color: #666;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-top-news__lead {
    grid-column: 1/-1;
    grid-row: 2;
    color: #333333;
    font-size: 1.3rem;
    font-weight: 400;
  }
}

.p-top-news__list-wrap {
  flex: 1 1 0;
  min-width: 0;
}

.p-top-news__list {
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  column-gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .p-top-news__list {
    display: block;
  }
}

.p-top-news__item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  border-bottom: 0.1rem solid #ccc;
}
@media screen and (max-width: 1023px) {
  .p-top-news__item {
    display: block;
  }
  .p-top-news__item:first-child {
    border-top: 0.1rem solid #ccc;
  }
}
.p-top-news__item a {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  align-items: center;
  padding: 2.4rem 0;
  color: inherit;
  font-size: 1.6rem;
  text-decoration: none;
}
.p-top-news__item a:hover .p-top-news__item-title, .p-top-news__item a:focus-visible .p-top-news__item-title {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-top-news__item a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 1.2rem;
    padding: 3.2rem 0;
  }
}
.p-top-news__item time {
  flex-shrink: 0;
  color: #333333;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-top-news__item time {
    font-size: 1.4rem;
  }
}

.p-top-news__tag {
  flex-shrink: 0;
  box-sizing: border-box;
  width: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-top-news__tag {
    width: auto;
    padding: 0.5rem 1.2rem 0.6rem;
    font-size: 1.3rem;
  }
}

.p-top-news__item-title {
  min-width: 0;
  color: #000000;
  font-weight: 400;
  line-height: normal;
  text-align: left;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-top-news__item-title {
    flex: 1 1 100%;
    font-size: 1.6rem;
    font-weight: 500;
  }
}

.p-top-case__head {
  margin: 0 0 4.8rem;
  padding: 0 6.4rem 0 16rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .p-top-case__head {
    padding: 0 2rem;
    margin-bottom: 3.2rem;
  }
}

.p-top-case__head-inner {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
}

.p-top-case__head--with-more .p-top-case__head-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6.4rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-top-case__head--with-more .p-top-case__head-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-top-case__more {
  flex-shrink: 0;
}

.p-top-case__intro {
  display: flex;
  align-items: center;
  gap: 3.2rem 6.4rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .p-top-case__intro {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.8rem;
    width: 100%;
  }
}

.p-top-case__heading {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-top-case__heading {
    flex-wrap: nowrap;
    gap: 1.6rem;
  }
}

.p-top-case__en {
  margin: 0;
  font-family: Quicksand, sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
}
.p-top-case__en span {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-top-case__en {
    font-size: 4rem;
  }
}

.p-top-case__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-top-case__title {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}

.p-top-case .p-service-carousel {
  max-width: none;
  width: calc(100% - 32rem);
  margin-inline: 16rem;
  padding-inline: 0;
}
@media screen and (max-width: 1023px) {
  .p-top-case .p-service-carousel {
    align-items: stretch;
    width: 100%;
    margin-inline: 0;
    padding-inline: 2rem 0;
    gap: 3.2rem;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-top-case .p-service-carousel {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-case .p-service-carousel .p-service-carousel__nav--prev {
    left: -3.2rem;
  }
  .p-top-case .p-service-carousel .p-service-carousel__nav--next {
    right: -11.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-top-case .p-service-carousel .p-service-carousel__nav--prev {
    left: 0.8rem;
  }
  .p-top-case .p-service-carousel .p-service-carousel__nav--next {
    right: 0.8rem;
  }
  .p-top-case .p-service-carousel .p-service-carousel__dots {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-right: 2rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-top-case .p-service-carousel .p-service-carousel__dots {
    padding-right: 0;
  }
}
.p-top-case .p-service-carousel .p-service-carousel__dots {
  justify-content: center;
}

.p-top-case .p-archive__card--case .p-archive__card-body {
  background: #ffffff;
}

@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__head--with-more .p-top-case__head-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1.6rem;
    row-gap: 3.2rem;
    align-items: start;
    width: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__intro {
    display: contents;
  }
}
@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__heading {
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.8rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__en {
    font-size: 4rem;
    line-height: 1;
  }
}
@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__lead {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-service .p-top-case .p-top-case__more {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
}
.p-service .p-top-case .p-top-case__en span {
  color: var(--service-accent, #1f64d3);
}
.p-service .p-top-case .p-top-case__more.c-btn--blue-light:not(:hover):not(:focus-visible) {
  background: var(--service-btn-light, #9cceff);
}

.p-top-news--service .p-top-news__en span {
  color: var(--service-accent, #1f64d3);
}

.p-service--green {
  --service-accent: #18b700;
  --service-accent-soft: rgba(50, 205, 26, 0.1);
  --service-accent-bg: #c1e143;
  --service-reasons-color: #333333;
  --service-faq-q-bg: #c1e143;
  --service-faq-q-color: #333333;
  --service-btn-light: #c1e143;
  --service-check-bg: #c1e143;
  --service-coord-grad: linear-gradient(90deg, #c1e143, #abecad);
  --service-cross-bg: #1f64d3;
  --service-cross-btn: #ffffff;
  --service-cross-btn-text: #1f64d3;
}
.p-service--green .p-about-reasons--service {
  background: #c1e143;
  color: #333333;
}
.p-service--green .p-about-reasons__badge {
  color: #333333;
}
.p-service--green .p-about-reasons__badge-label {
  border-color: #333333;
}
.p-service--green .p-about-reasons__item-title span {
  color: #18b700;
}
.p-service--green .p-top-challenges__title span {
  color: #18b700;
}
.p-service--green .p-top-challenges__item.is-blue {
  background: rgba(24, 183, 0, 0.1);
}
.p-service--green .p-top-challenges__item.is-green {
  background: rgba(193, 225, 67, 0.2);
}
.p-service--green .p-service-support__side {
  background: rgba(193, 225, 67, 0.5);
}
.p-service--green .p-service-support__check {
  background: #c1e143;
}
.p-service--green .p-service-coord__watermark {
  background: linear-gradient(90deg, #c1e143, #abecad);
  -webkit-background-clip: text;
  background-clip: text;
}
.p-service--green .c-btn--blue-light:not(:hover):not(:focus-visible) {
  background: #c1e143;
}
.p-service--green .p-service-fv__lead,
.p-service--green .p-service-fv__catch,
.p-service--green .p-service-fv__desc {
  color: #ffffff;
  text-shadow: none;
}
.p-service--green .p-service-fv__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-bottom-left-radius: 4rem;
  background: linear-gradient(100deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.18) 28%, rgba(0, 0, 0, 0) 58%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-service--green .p-service-fv__bg::before {
    border-radius: 0;
    background: linear-gradient(100deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.2) 28%, rgba(0, 0, 0, 0) 58%);
  }
}
.p-service--green .p-service-fv__bg img {
  object-position: 50% 0;
}

.p-service--blue {
  --service-accent: #1f64d3;
  --service-accent-soft: rgba($color-blue, 0.1);
  --service-accent-bg: #1f64d3;
  --service-reasons-color: #ffffff;
  --service-faq-q-bg: #1f64d3;
  --service-faq-q-color: #ffffff;
  --service-btn-light: #9cceff;
  --service-check-bg: #1f64d3;
  --service-coord-grad: linear-gradient(90deg, $color-blue-light, $color-highlight-blue);
  --service-cross-bg: #c1e143;
  --service-cross-btn: #ffffff;
  --service-cross-btn-text: #333333;
}
.p-service--blue .p-top-challenges__item.is-blue {
  background: rgba(31, 100, 211, 0.1);
}
.p-service--blue .p-top-challenges__item.is-green {
  background: rgba(156, 206, 255, 0.2);
}
.p-service--blue .p-about-reasons--service {
  background: #1f64d3;
  color: #ffffff;
}
.p-service--blue .p-about-reasons__badge {
  color: #1f64d3;
}
.p-service--blue .p-about-reasons__badge-label {
  border-color: #1f64d3;
}
.p-service--blue .p-about-reasons__item-title span {
  color: #1f64d3;
}
.p-service--blue .p-service-fv__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-bottom-left-radius: 4rem;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.22) 28%, rgba(255, 255, 255, 0) 58%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-service--blue .p-service-fv__bg::before {
    border-radius: 0;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 60%);
  }
}

.p-service-fv {
  position: relative;
  z-index: 0;
  isolation: isolate;
  padding: 0 0 4.8rem 12.8rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-service-fv {
    padding: var(--header-h) 0 0;
  }
}

.p-service-fv ~ * {
  position: relative;
  z-index: 1;
}

.p-service-fv__hero {
  --fv-pdf-band: 20.8rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-service-fv__hero {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100vh - 16.8rem - var(--important-news-h, 0px));
  }
}
@media screen and (max-width: 1023px) {
  .p-service-fv__hero {
    display: flex;
    flex-direction: column;
    height: calc(100svh - var(--header-h) - var(--important-news-h, 0px));
    min-height: 72rem;
    overflow: hidden;
  }
}

.p-service-fv__bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: calc(100vh - var(--header-h) - var(--important-news-h, 0px));
  min-height: 64rem;
  pointer-events: none;
}
.p-service-fv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-bottom-left-radius: 4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__bg {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: calc(100% - var(--fv-pdf-band));
    min-height: 0;
    overflow: hidden;
  }
  .p-service-fv__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% 50%;
    border-bottom-left-radius: 0;
  }
}

.p-service-fv.is-fixed-bg .p-service-fv__bg {
  position: fixed;
  top: var(--important-news-h, 0px);
  left: 12.8rem;
  right: 0;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .p-service-fv.is-fixed-bg .p-service-fv__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}

.p-service-fv__inner {
  position: relative;
  z-index: 1;
  padding: 14.4rem 9.6rem 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__inner {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding: 3.2rem 2rem 0;
  }
}

.p-service-fv__copy {
  max-width: 64rem;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    max-width: none;
    width: 100%;
    padding: 0;
  }
}

.p-service-fv__tag {
  --fv-tag-check-fill: var(--service-check-bg, var(--service-accent, #1f64d3));
  --fv-tag-check-mark: #ffffff;
  --fv-tag-check-bg: rgba(#ffffff, 0.8);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  min-width: 25.6rem;
  margin-bottom: 2.4rem;
  padding: 1.6rem 2rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 5rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 100%;
}
.p-service-fv__tag::after {
  content: "";
  position: absolute;
  left: calc(50% - 0.1rem);
  bottom: -1.2rem;
  width: 1.8rem;
  height: 1.2rem;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.8);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__tag {
    gap: 0.8rem;
    min-width: 0;
    margin-bottom: 0;
    padding: 1.2rem 1.6rem;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .p-service-fv__tag::after {
    left: calc(50% + 0.2rem);
    bottom: -0.8rem;
    width: 1.2rem;
    height: 0.8rem;
  }
}

.p-service--green .p-service-fv__tag {
  --fv-tag-check-mark: #000000;
}

.p-service-fv__tag-check {
  position: relative;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.2rem var(--fv-tag-check-fill);
}
@media screen and (max-width: 1023px) {
  .p-service-fv__tag-check {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-service-fv__tag-check.is-animating {
  animation: fv-tag-check-fill 0.15s ease 0.5s forwards;
}
.p-service-fv__tag-check.is-animating .p-service-fv__tag-cover {
  animation: fv-tag-cover-hide 0.01s ease 0.5s forwards;
}
.p-service-fv__tag-check.is-animating .p-service-fv__tag-cover--1::before {
  animation: fv-tag-check-draw 0.2s var(--ease-in-expo) 0.15s forwards;
}
.p-service-fv__tag-check.is-animating .p-service-fv__tag-cover--2::before {
  animation: fv-tag-check-draw 0.2s var(--ease-out-expo) 0.35s forwards;
}
.p-service-fv__tag-check.is-animating .p-service-fv__tag-mark {
  animation: fv-tag-check-pop 0.4s 0.6s forwards;
  animation-timing-function: linear(0, 1.32, 0.87, 1.05, 0.98, 1.01, 1, 1);
}
.p-service-fv__tag-check.is-complete {
  box-shadow: inset 0 0 0 1.6rem var(--fv-tag-check-fill);
}
@media screen and (max-width: 1023px) {
  .p-service-fv__tag-check.is-complete {
    box-shadow: inset 0 0 0 1.2rem var(--fv-tag-check-fill);
  }
}
.p-service-fv__tag-check.is-complete .p-service-fv__tag-cover {
  display: none;
}
.p-service-fv__tag-check.is-complete .p-service-fv__tag-mark {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
}

.p-service-fv__tag-cover,
.p-service-fv__tag-cover::before {
  position: absolute;
}

.p-service-fv__tag-cover {
  overflow: hidden;
  width: 50%;
  height: 100%;
}
.p-service-fv__tag-cover::before {
  content: "";
}

.p-service-fv__tag-cover--1 {
  left: 49%;
  width: 51%;
}
.p-service-fv__tag-cover--1::before {
  width: 100%;
  height: 200%;
  background: var(--fv-tag-check-bg);
  transform-origin: 0 25%;
}

.p-service-fv__tag-cover--2 {
  left: 0;
}
.p-service-fv__tag-cover--2::before {
  left: -10%;
  width: 110%;
  height: 120%;
  background: var(--fv-tag-check-bg);
  transform-origin: 100% 40%;
}

.p-service-fv__tag-mark {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.8rem;
  height: 1.8rem;
  color: var(--fv-tag-check-mark);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0) rotate(-10deg);
  transform-origin: 50% 50%;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__tag-mark {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.p-service-fv__tag-mark svg {
  display: block;
  width: 100%;
  height: 100%;
}

.p-service-fv__tag-text {
  flex: 1;
  min-width: 0;
  height: 1em;
  overflow: hidden;
  text-align: center;
}

.p-service-fv__tag-text-inner {
  display: inline-block;
}
.p-service-fv__tag-text-inner.is-entering {
  animation: fv-tag-text-enter 0.45s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.p-service-fv__tag-text-inner.is-leaving {
  animation: fv-tag-text-leave 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards;
}

@keyframes fv-tag-text-enter {
  from {
    opacity: 0;
    transform: translateY(1.2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fv-tag-text-leave {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-1rem);
  }
}
@keyframes fv-tag-check-draw {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(180deg);
  }
}
@keyframes fv-tag-cover-hide {
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fv-tag-check-fill {
  from {
    box-shadow: inset 0 0 0 0.2rem var(--fv-tag-check-fill);
  }
  to {
    box-shadow: inset 0 0 0 1.6rem var(--fv-tag-check-fill);
  }
}
@keyframes fv-tag-check-pop {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0) rotate(-10deg);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-service-fv__tag-check {
    box-shadow: inset 0 0 0 1.6rem var(--fv-tag-check-fill);
  }
}
@media screen and (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .p-service-fv__tag-check {
    box-shadow: inset 0 0 0 1.2rem var(--fv-tag-check-fill);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-service-fv__tag-check.is-animating {
    animation: none;
  }
  .p-service-fv__tag-check.is-animating .p-service-fv__tag-cover,
  .p-service-fv__tag-check.is-animating .p-service-fv__tag-cover--1::before,
  .p-service-fv__tag-check.is-animating .p-service-fv__tag-cover--2::before,
  .p-service-fv__tag-check.is-animating .p-service-fv__tag-mark {
    animation: none;
  }
  .p-service-fv__tag-cover {
    display: none;
  }
  .p-service-fv__tag-mark {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
  .p-service-fv__tag-text-inner.is-entering,
  .p-service-fv__tag-text-inner.is-leaving {
    animation: none;
  }
}
.p-service-fv__heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

.p-service-fv__lead {
  display: block;
  margin-bottom: 1.2rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 100%;
  text-shadow: 0 0 2rem rgba(255, 255, 255, 0.8), 0 0 4rem rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 1023px) {
  .p-service-fv__lead {
    margin-bottom: 0;
    font-size: 1.8rem;
  }
}

.p-service-fv__catch {
  display: block;
  margin-bottom: 2.4rem;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.2;
  text-shadow: 0 0 2rem rgba(255, 255, 255, 0.8), 0 0 4rem rgba(255, 255, 255, 0.5);
}
@media screen and (min-width: 1366px) {
  .p-service-fv__catch br {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .p-service-fv__catch {
    margin: 0;
    font-size: 3rem;
    line-height: 1.2;
  }
}

.p-service-fv__desc {
  max-width: 48rem;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__desc {
    max-width: none;
    font-size: 1.4rem;
    line-height: 1.618;
    margin-right: 50%;
    min-width: 17.6rem;
  }
}

.p-service-fv__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.4rem;
  width: 100%;
  padding: 0 12rem 4.8rem 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__actions {
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    margin-top: auto;
    padding: 0;
    gap: 0;
  }
  .p-service-fv__actions .p-about-hero__pdf {
    align-self: stretch;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    justify-content: center;
  }
}

.p-service-fv__cta-wrap {
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__cta-wrap {
    margin: 0 auto;
    padding: 2rem 2rem 4rem;
  }
}

.p-service-fv__cta-balloon {
  position: absolute;
  top: -3.8rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.7rem 1.2rem 0.8rem;
  background: #333333;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 5rem;
  white-space: nowrap;
}
.p-service-fv__cta-balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.6rem;
  transform: translateX(-50%);
  border: 0.6rem solid transparent;
  border-top-color: #333333;
}

.p-service-fv__stamp {
  position: absolute;
  left: -14.8rem;
  top: 56rem;
  z-index: 2;
  width: 18.2rem;
  height: 18.4rem;
  object-fit: contain;
  --stamp-rotate: -15deg;
  pointer-events: none;
}
.p-service-fv__stamp.is-settled {
  animation: none;
  opacity: 1;
  transform: scale(1) rotate(var(--stamp-rotate));
  transition: opacity 0.45s ease;
}
.p-service-fv__stamp.is-out {
  opacity: 0 !important;
  transform: scale(1) rotate(var(--stamp-rotate)) !important;
  transition: opacity 0.45s ease;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__stamp {
    display: none;
  }
}

.p-service-fv__stats {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 112rem;
  max-width: calc(100% - 6.4rem);
  margin: 0 auto;
  height: 16.8rem;
  background: #ffffff;
  border: 0.1rem solid #ffffff;
  border-radius: 4rem;
}
@media screen and (min-width: 801px) and (max-width: 1023px) {
  .p-service-fv__stats {
    width: auto;
    max-width: inherit;
  }
}
@media screen and (max-width: 800px) {
  .p-service-fv__stats {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0 5.6rem;
  }
}

.p-service-fv__stat {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 0 1.6rem;
  text-align: center;
}
.p-service-fv__stat:not(:last-child) {
  border-right: 0.2rem solid #eeeeee;
}
@media screen and (max-width: 800px) {
  .p-service-fv__stat:not(:last-child) {
    border-right: none;
    border-bottom: 0.2rem solid #eeeeee;
  }
}
@media screen and (max-width: 800px) {
  .p-service-fv__stat {
    gap: 1.2rem;
    padding: 4rem 0;
  }
}

.p-service-fv__stat-num {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.p-service-fv__stat-num:has(> .p-service-fv__stat-icon:not(.p-service-fv__stat-icon--pin):not(.p-service-fv__stat-icon--solo)) {
  transform: translateX(2.75rem);
}
.p-service-fv__stat-num--icon {
  align-items: center;
  min-height: 4.8rem;
  transform: none;
}
.p-service-fv__stat-num--yen .p-service-fv__stat-unit {
  line-height: 1.9;
}
.p-service-fv__stat-num--yen .p-service-fv__stat-value {
  position: relative;
}
.p-service-fv__stat-num--hubs {
  gap: 0.4rem;
  transform: translateX(-2.75rem);
}
.p-service-fv__stat-num--hubs .p-service-fv__stat-unit {
  line-height: 1.5;
}

.p-service-fv__stat-value {
  color: var(--service-accent, #1f64d3);
  font-family: Quicksand, sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 100%;
}

.p-service-fv__stat-unit {
  font-size: 2.4rem;
  line-height: 1.618;
}

.p-service-fv__stat-icon {
  position: absolute;
  left: -5.5rem;
  top: 0.2rem;
  width: 5rem;
  height: 5rem;
}
.p-service-fv__stat-icon--pin {
  left: auto;
  right: -5.5rem;
  top: -1rem;
  width: 6.4rem;
  height: 6.4rem;
}
.p-service-fv__stat-icon--solo {
  position: static;
  left: auto;
  top: auto;
  width: 4.8rem;
  height: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__stat-icon {
    display: block;
    left: -5.5rem;
    top: 0.2rem;
    transform: none;
  }
  .p-service-fv__stat-icon--pin {
    left: auto;
    right: -5.5rem;
    top: -1rem;
    transform: none;
  }
  .p-service-fv__stat-icon--solo {
    position: static;
    left: auto;
    top: auto;
    width: 4.8rem;
    height: 4.8rem;
  }
}

.p-service-fv__stat-rays {
  position: absolute;
  left: 50%;
  top: -0.4rem;
  width: 3.4rem;
  height: 1.06rem;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__stat-rays {
    display: block;
    top: -1rem;
  }
}

.p-service-fv__stat-label {
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__stat-label {
    line-height: 1;
  }
}

.p-service-fv__stat-note {
  font-size: 1.3rem;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-service-fv__stat-note {
    line-height: 1;
  }
}

.p-service-challenges {
  padding: 12.8rem 0 6.4rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-service-challenges {
    padding: 6.4rem 0 3.2rem;
  }
}

.p-service-challenges__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__head {
    flex-direction: column;
    gap: 2.4rem;
  }
}

.p-service-challenges__illust {
  width: 28rem;
  max-width: 40%;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__illust {
    max-width: 60%;
  }
}

.p-service-challenges__title {
  margin-bottom: 2.4rem;
  font-size: 3.6rem;
  font-weight: 900;
  text-align: center;
}
.p-service-challenges__title span {
  color: var(--service-accent, #1f64d3);
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__title {
    font-size: 2.4rem;
    text-align: left;
  }
}

.p-service-challenges__lead {
  max-width: 43.2rem;
  font-size: 1.6rem;
  line-height: 1.618;
  text-align: center;
  white-space: pre-line;
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__lead {
    text-align: left;
  }
}

.p-service-challenges__arrow {
  display: flex;
  justify-content: center;
  margin-bottom: 4.8rem;
}

.p-service-challenges__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__list {
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem;
  }
}

.p-service-challenges__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 11.2rem;
  padding: 2.4rem;
  background: var(--service-accent-soft, rgba(31, 100, 211, 0.1));
  border-radius: 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.618;
  text-align: center;
  white-space: pre-line;
}
.p-service--green .p-service-challenges__item:nth-child(even) {
  background: rgba(193, 225, 67, 0.1);
}
@media screen and (max-width: 1023px) {
  .p-service-challenges__item {
    min-height: 10rem;
    padding: 1.6rem;
    font-size: 1.4rem;
    border-radius: 0;
  }
}

.p-service-support {
  padding: 9.6rem 6.4rem 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support {
    padding: 0 0 6.4rem;
  }
}

.p-service-support__inner {
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  max-width: 124.8rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support__inner {
    gap: 0;
  }
}

.p-service-support__block {
  display: flex;
  gap: 6.4rem;
  align-items: stretch;
}
@media screen and (max-width: 1023px) {
  .p-service-support__block {
    flex-direction: column;
    gap: 0;
  }
}

.p-service-support__side {
  position: relative;
  display: flex;
  flex: 0 0 26.4rem;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
  width: 32.8rem;
  padding: 6.4rem 2.4rem 0;
  background: rgba(156, 206, 255, 0.5);
  overflow: visible;
}
@media screen and (max-width: 1023px) {
  .p-service-support__side {
    flex: none;
    align-items: flex-start;
    gap: 0.8rem;
    width: 100%;
    padding: 3.2rem;
    box-sizing: border-box;
    overflow: hidden;
  }
}

.p-service-support__side--industries {
  padding-top: 5.1rem;
  padding-bottom: 2.3rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support__side--industries {
    padding: 3.2rem;
  }
}

.p-service-support__side-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
@media screen and (max-width: 1023px) {
  .p-service-support__side-head {
    flex-direction: row;
    align-items: center;
    gap: 0.6rem;
  }
}

.p-service-support__side-small {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 100%;
  color: #333333;
}

.p-service-support__side-large {
  margin: 0;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 100%;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-service-support__side-large {
    font-size: 4rem;
  }
}

.p-service-support__side-lead {
  margin: 0;
  max-width: 24rem;
  font-size: 1.6rem;
  line-height: 1.618;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-service-support__side-lead {
    max-width: calc(100% - 12rem);
    font-size: 1.4rem;
    text-align: left;
  }
}

.p-service-support__illust {
  position: absolute;
  right: -4.4rem;
  bottom: -2.4rem;
  width: 10.5rem;
  height: 28rem;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-service-support__illust {
    top: 1.6rem;
    right: 1.6rem;
    bottom: auto;
    width: 10.5rem;
    height: 28rem;
    margin: 0;
  }
}

.p-service-support__grid {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(26rem, auto));
  align-content: start;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 2.4rem 0;
  list-style: none;
  gap: 0 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support__grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.2rem 0;
    padding: 3.2rem 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-service-support__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.p-service-support__right {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
  width: auto;
}
@media screen and (max-width: 1023px) {
  .p-service-support__right {
    width: 100%;
    gap: 0;
  }
}

.p-service-support__item {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  padding: 2.4rem 0;
  border-radius: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support__item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 0;
    text-align: center;
  }
}

.p-service-support__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  padding-left: 0.2rem;
  background: #9cceff;
  border-radius: 50%;
}
.p-service-support__check img {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-support__check {
    width: 4rem;
    height: 4rem;
  }
}

.p-service-support__item-body {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-support__item-body {
    flex: none;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
  }
}

.p-service-support__item-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 100%;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-service-support__item-title {
    font-size: 1.8rem;
    text-align: center;
  }
}

.p-service-support__item-text {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  color: #666;
}
@media screen and (max-width: 1023px) {
  .p-service-support__item-text {
    font-size: 1.2rem;
    text-align: center;
  }
}

.p-service-support__note {
  margin: 0;
  padding: 3.2rem;
  background: #f5f5f5;
  border-radius: 1.6rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-service-support__note {
    margin: 0 2rem;
    padding: 2.4rem 1.6rem;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}

.p-service-carousel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8rem;
  width: 100%;
  max-width: 112rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-service-carousel {
    padding-inline: 1.6rem;
  }
}

.p-service-carousel.swiper {
  overflow: visible;
}

.p-service-carousel__track.swiper-wrapper {
  align-items: stretch;
}

.p-service-carousel__item {
  flex: 0 0 auto;
  height: auto;
  box-sizing: border-box;
}

.p-service-carousel--case .p-service-carousel__item,
.p-service-carousel--case .swiper-slide {
  width: 59.6rem;
}
@media screen and (max-width: 1023px) {
  .p-service-carousel--case .p-service-carousel__item,
  .p-service-carousel--case .swiper-slide {
    width: calc(100% - 2.8rem);
    max-width: none;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-carousel--case .p-service-carousel__item,
  .p-service-carousel--case .swiper-slide {
    width: calc((100% - 0.8rem) / 2);
  }
}
@media screen and (max-width: 1023px) {
  .p-service-carousel--case {
    align-items: stretch;
    padding-inline: 2rem 0;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-carousel--case {
    padding-inline: 2rem;
  }
}

.p-service-carousel--events .p-service-carousel__item,
.p-service-carousel--events .swiper-slide {
  width: 38.2rem;
}
@media screen and (max-width: 1023px) {
  .p-service-carousel--events .p-service-carousel__item,
  .p-service-carousel--events .swiper-slide {
    width: calc(100% - 2.8rem);
    max-width: none;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-carousel--events .p-service-carousel__item,
  .p-service-carousel--events .swiper-slide {
    width: calc((100% - 0.8rem) / 2);
  }
}
@media screen and (max-width: 1023px) {
  .p-service-carousel--events {
    align-items: stretch;
    padding-inline: 2rem 0;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-carousel--events {
    padding-inline: 2rem;
  }
}

.p-service-carousel--coord {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: none;
  width: calc(100% - 32rem);
  margin-inline: 16rem;
  padding-inline: 0;
  gap: 4.8rem;
  overflow: visible;
}
.p-service-carousel--coord .p-service-carousel__track {
  display: flex;
  align-self: flex-start;
  gap: 6.4rem;
  width: max-content;
  will-change: transform;
}
.p-service-carousel--coord .p-service-carousel__item {
  flex: 0 0 auto;
  width: min(38.4rem, 85vw);
}
.p-service-carousel--coord .p-service-carousel__dots {
  display: none;
  align-self: center;
}
.p-service-carousel--coord.is-scrollable .p-service-carousel__dots {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 1024px) {
  .p-service-carousel--coord .p-service-carousel__nav--prev {
    left: -3.2rem;
  }
  .p-service-carousel--coord .p-service-carousel__nav--next {
    right: -11.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-service-carousel--coord {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    gap: 3.2rem;
    padding-inline: 2rem 0;
    padding-bottom: 0;
    box-sizing: border-box;
  }
  .p-service-carousel--coord .p-service-carousel__track {
    gap: 2rem;
  }
  .p-service-carousel--coord .p-service-carousel__item {
    width: 33.5rem;
    max-width: calc(100vw - 4rem);
  }
  .p-service-carousel--coord .p-service-carousel__nav--prev {
    left: 0.8rem;
  }
  .p-service-carousel--coord .p-service-carousel__nav--next {
    right: 0.8rem;
  }
  .p-service-carousel--coord .p-service-carousel__dots {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-right: 2rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.p-staff-card-wrap {
  width: min(38.4rem, 85vw);
}
@media screen and (max-width: 1023px) {
  .p-staff-card-wrap {
    width: 33.5rem;
    max-width: calc(100vw - 4rem);
  }
}

.p-service-carousel__nav {
  position: absolute;
  top: var(--carousel-nav-center, 50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.4rem;
  height: 6.4rem;
  padding: 0;
  background: #000000;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 2rem 1rem rgba(0, 0, 0, 0.5);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%);
  transition: background-color 0.2s ease, opacity 0.25s ease, visibility 0.25s ease;
}
.p-service--blue .p-service-carousel__nav {
  background: var(--service-accent, #1f64d3);
}
.p-service--green .p-service-carousel__nav {
  background: var(--service-accent, #18b700);
}
.p-service-carousel.is-scrollable .p-service-carousel__nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.p-service-carousel.is-scrollable .p-service-carousel__nav.swiper-button-disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-service-carousel__nav span {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: center/contain no-repeat url("../images/icons/pagination-arrow.svg");
  transition: filter 0.2s ease;
}
.p-service-carousel__nav:hover, .p-service-carousel__nav:focus-visible {
  background: #ffffff;
}
.p-service-carousel__nav:hover span, .p-service-carousel__nav:focus-visible span {
  filter: invert(1);
}
.p-service-carousel__nav--prev {
  left: -4.8rem;
}
.p-service-carousel__nav--prev span {
  transform: rotate(180deg);
}
.p-service-carousel__nav--next {
  right: -4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-service-carousel__nav {
    width: 4.8rem;
    height: 4.8rem;
    box-shadow: 0 1.2rem 0.8rem rgba(0, 0, 0, 0.45);
  }
  .p-service-carousel__nav span {
    width: 2rem;
    height: 2rem;
  }
  .p-service-carousel__nav--prev {
    left: 0.8rem;
  }
  .p-service-carousel__nav--next {
    right: 0.8rem;
  }
}

.p-service-carousel__dots {
  display: none;
  align-items: center;
  justify-content: center;
}
.p-service-carousel.is-scrollable .p-service-carousel__dots {
  display: flex;
}
.p-service-carousel__dots button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 2.4rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.p-service-carousel__dots button::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 0.8rem;
  background: #d9d9d9;
  border-radius: 0.2rem;
}
.p-service-carousel__dots button.is-active::before {
  background: var(--service-accent, #1f64d3);
}

.p-service-coord {
  padding: 9.6rem 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-service-coord {
    padding: 6.4rem 0;
  }
}

.p-service-coord__inner {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__inner {
    gap: 3.2rem;
  }
}

.p-service-coord__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__head {
    align-items: flex-start;
    gap: 1.6rem;
    padding: 0 2rem;
  }
  .p-service-coord__head .p-service-coord__heading,
  .p-service-coord__head .p-service-coord__row {
    display: contents;
  }
}

.p-service-coord__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 12rem;
}

.p-service-coord__watermark.c-page-hero__watermark {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 0;
  width: 100%;
  margin: 0;
  transform: translateY(-50%);
  font-size: 20rem;
  line-height: 1;
  text-align: center;
  opacity: 0.5;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__watermark.c-page-hero__watermark {
    position: relative;
    top: auto;
    left: auto;
    z-index: auto;
    width: auto;
    margin: 0;
    transform: none;
    font-size: 4rem;
    line-height: 0.8;
    text-align: left;
    opacity: 1;
    overflow: visible;
    order: 1;
  }
}

.p-service-coord__row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
  padding: 0 6.4rem;
  box-sizing: border-box;
}

.p-service-coord__title {
  grid-column: 2;
  margin: 0;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 100%;
  letter-spacing: 0.05em;
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__title {
    order: 2;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-align: left;
  }
}

.p-service-coord__lead {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__lead {
    order: 3;
    font-size: 1.3rem;
    line-height: 1.618;
    text-align: left;
  }
}

.p-service-coord__more {
  grid-column: 3;
  justify-self: end;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-coord__more {
    order: 4;
    justify-self: start;
  }
}

.p-service--green .p-service-coord__more.c-btn--blue-light:not(:hover):not(:focus-visible) {
  background: var(--service-btn-light, #c1e143);
}

.p-service-coord .p-staff-card {
  display: block;
}

.p-service-case,
.p-service-events {
  padding: 9.6rem 0;
  background: #f5f5f5;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-service-case,
  .p-service-events {
    padding: 6.4rem 0;
  }
}

.p-service-case__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3.2rem;
  max-width: 112rem;
  margin: 0 auto 4.8rem;
  padding: 0 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-service-case__head {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 1.6rem;
  }
}

.p-service-events__head {
  position: relative;
  margin: 0 0 4.8rem;
  padding: 0 6.4rem 0 16rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .p-service-events__head {
    padding: 0 2rem;
    margin-bottom: 3.2rem;
  }
}

.p-service-events__head-inner {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
}

.p-service-events__head--with-more .p-service-events__head-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.2rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-service-events__head--with-more .p-service-events__head-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1.6rem;
    row-gap: 3.2rem;
    align-items: start;
    width: 100%;
  }
}

.p-service-events__intro {
  display: flex;
  align-items: center;
  gap: 4.8rem 6.4rem;
  min-width: 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .p-service-events__intro {
    display: contents;
  }
}

.p-service-events__heading {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-events__heading {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    grid-column: 1;
    grid-row: 1;
    gap: 0.8rem;
  }
}

.p-service-events__en-block {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-service-events__en-block {
    flex-direction: column;
    align-items: flex-start;
  }
}

.p-service-case__titles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3.2rem 6.4rem;
}

.p-service-case__en,
.p-service-events__en {
  margin: 0;
  font-family: Quicksand, sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
}
.p-service-case__en span,
.p-service-events__en span {
  color: var(--service-accent, #1f64d3);
}
@media screen and (max-width: 1023px) {
  .p-service-case__en,
  .p-service-events__en {
    font-size: 4rem;
  }
}

.p-service-case__title,
.p-service-events__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-service-case__title,
  .p-service-events__title {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}

.p-service-case__lead,
.p-service-events__lead {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-service-case__lead,
  .p-service-events__lead {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: 1.3rem;
  }
}

.p-service-events__more {
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-events__more {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
}

.p-service-events__badge {
  position: absolute;
  bottom: calc(100% + 0.4rem);
  left: 50%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.8rem;
  margin: 0;
  transform: translateX(-50%);
  white-space: nowrap;
}

.p-service-events__badge-slash {
  position: relative;
  flex-shrink: 0;
  width: 2.3rem;
  height: 2.3rem;
}
.p-service-events__badge-slash::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.2rem;
  height: 0.1rem;
  background: #333333;
  transform: translate(-50%, -50%);
}
.p-service-events__badge-slash--left::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-service-events__badge-slash--right::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-service-events__badge-text {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-family: Quicksand, sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .p-service-events__badge-text {
    font-size: 2.4rem;
  }
}

.p-service-events__badge-num {
  color: var(--service-accent, #1f64d3);
}

.p-service-events__badge-on {
  color: #333333;
}

.p-service-case .p-service-carousel {
  max-width: none;
  width: calc(100% - 32rem);
  margin-inline: 16rem;
}
@media screen and (max-width: 1023px) {
  .p-service-case .p-service-carousel {
    align-items: stretch;
    width: 100%;
    margin-inline: 0;
    padding-inline: 2rem 0;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-case .p-service-carousel {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-service-case .p-service-carousel .p-service-carousel__nav--prev {
    left: -3.2rem;
  }
  .p-service-case .p-service-carousel .p-service-carousel__nav--next {
    right: -11.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-service-case .p-service-carousel .p-service-carousel__nav--prev {
    left: 0.8rem;
  }
  .p-service-case .p-service-carousel .p-service-carousel__nav--next {
    right: 0.8rem;
  }
  .p-service-case .p-service-carousel .p-service-carousel__dots {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-right: 2rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-case .p-service-carousel .p-service-carousel__dots {
    padding-right: 0;
  }
}
.p-service-case .p-service-carousel .p-service-carousel__dots {
  justify-content: center;
}

.p-service-events .p-service-carousel {
  max-width: none;
  width: calc(100% - 32rem);
  margin-inline: 16rem;
}

.p-service-case-card .p-archive__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border: 0.8rem solid #ffffff;
  overflow: hidden;
}

.p-service-event-card .p-archive__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  border: 0.8rem solid transparent;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.p-service-event-card .p-archive__card:hover, .p-service-event-card .p-archive__card:focus-visible {
  background: #ffffff;
  border-color: #1f64d3;
}

.p-service-case-card .p-archive__thumb {
  height: 30.6rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-service-case-card .p-archive__thumb {
    height: auto;
    aspect-ratio: 327/184;
  }
}

.p-service-event-card .p-archive__thumb {
  aspect-ratio: 720/509;
  border-radius: 0;
  overflow: hidden;
}

.p-service-case-card .p-archive__card-body,
.p-service-event-card .p-archive__card-body {
  padding: 2.4rem 3.2rem;
}

.p-service-event-card .p-archive__card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
}

.p-service-event-card .p-archive__item-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-service-event-card .p-archive__excerpt {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.618;
  color: #333333;
}

.p-service-event-card .p-archive__seminar-date {
  margin: 0;
  color: #1f64d3;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.618;
}

.p-service-case-card .p-archive__card-body {
  padding: 3.2rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-service-case-card .p-archive__card-body {
    padding: 2rem 1.6rem;
  }
}

.p-service-faq {
  padding: 9.6rem 6.4rem 9.6rem 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-service-faq {
    padding: 6.4rem 2rem 0;
  }
}

.p-service-faq__inner {
  display: grid;
  grid-template-columns: 19.2rem 1fr;
  gap: 6.4rem;
  max-width: 124.8rem;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__inner {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}

.p-service-faq__side {
  position: sticky;
  top: 20rem;
  align-self: start;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__side {
    position: static;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 0;
  }
}

.p-service-faq__en {
  margin: 0 0 1.2rem;
  font-family: Quicksand, sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
}
.p-service-faq__en span {
  color: var(--service-accent, #1f64d3);
}
@media screen and (max-width: 1023px) {
  .p-service-faq__en {
    margin: 0;
    font-size: 4rem;
  }
}

.p-service-faq__title {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.22rem;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__title {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
  }
}

.p-service-faq__list {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__list {
    gap: 3.2rem;
  }
}

.p-service-faq__item {
  display: flex;
  flex-direction: column;
}

.p-service-faq__question,
.p-service-faq__answer {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
}

.p-service-faq__question {
  padding: 0;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__question {
    align-items: flex-start;
  }
}
.p-service-faq__question::-webkit-details-marker {
  display: none;
}

.p-service-faq__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  font-family: Quicksand, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}
.p-service-faq__mark--q {
  background: var(--service-faq-q-bg, var(--service-accent, #1f64d3));
  color: var(--service-faq-q-color, #ffffff);
  padding-bottom: 0.6rem;
}
.p-service-faq__mark--a {
  background: #f5f5f5;
  color: #333333;
  padding-bottom: 0.4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__mark {
    width: 4rem;
    height: 4rem;
    font-size: 2.4rem;
  }
}

.p-service-faq__q-text {
  flex: 1;
  min-width: 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.618;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__q-text {
    padding-block: 0.4rem;
    font-size: 1.8rem;
    line-height: 1.618;
  }
}

.p-service-faq__toggle {
  position: relative;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__toggle {
    width: 4rem;
    height: 4rem;
  }
}
.p-service-faq__toggle::before, .p-service-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #ccc;
  transform: translate(-50%, -50%);
}
.p-service-faq__toggle::before {
  width: 2rem;
  height: 0.2rem;
}
.p-service-faq__toggle::after {
  width: 0.2rem;
  height: 2rem;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.p-service-faq__item.is-open .p-service-faq__toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.p-service-faq__answer {
  align-items: flex-start;
  padding: 0;
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-service-faq__answer > [data-accordion-inner] {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  width: 100%;
  padding-top: 1.2rem;
}

@media (prefers-reduced-motion: reduce) {
  .p-service-faq__answer {
    transition: none;
  }
}
.p-service-faq__a-text {
  flex: 1;
  min-width: 0;
  padding: 0.6rem 0;
  font-size: 1.6rem;
  line-height: 1.618;
  color: #333333;
  min-height: 6.4rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-service-faq__a-text {
    padding-block: 0.4rem;
    font-size: 1.5rem;
    min-height: 4rem;
  }
}
.p-service-faq__a-text p {
  margin: 0;
}
.p-service-faq__a-text p + p {
  margin-top: 0;
}
.p-service-faq__a-text a {
  font-weight: 500;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-service-faq__a-text a:hover, .p-service-faq__a-text a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}

.p-service-events--service {
  padding: 9.6rem 0;
  background: #f5f5f5;
}
@media screen and (max-width: 1023px) {
  .p-service-events--service {
    padding: 6.4rem 0;
  }
}
.p-service-events--service .p-service-carousel {
  max-width: none;
  width: calc(100% - 32rem);
  margin-inline: 16rem;
  padding-inline: 0;
}
@media screen and (max-width: 1023px) {
  .p-service-events--service .p-service-carousel {
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 2rem 0;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-events--service .p-service-carousel {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-service-events--service .p-service-carousel .p-service-carousel__nav--prev {
    left: -3.2rem;
  }
  .p-service-events--service .p-service-carousel .p-service-carousel__nav--next {
    right: -11.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-service-events--service .p-service-carousel .p-service-carousel__nav--prev {
    left: 0.8rem;
  }
  .p-service-events--service .p-service-carousel .p-service-carousel__nav--next {
    right: 0.8rem;
  }
  .p-service-events--service .p-service-carousel .p-service-carousel__dots {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-right: 2rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-service-events--service .p-service-carousel .p-service-carousel__dots {
    padding-right: 0;
  }
}
.p-service-events--service .p-service-carousel .p-service-carousel__dots {
  justify-content: center;
}
.p-service-events--service .p-service-events__more.c-btn--blue-light:not(:hover):not(:focus-visible) {
  background: var(--service-btn-light, #9cceff);
}

.p-about-hero {
  position: relative;
  overflow: hidden;
  padding: 18rem 9.6rem 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-about-hero {
    overflow: visible;
    padding: 0;
  }
}

.p-about-hero__bg-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 25.6rem;
  overflow: hidden;
  font-family: Quicksand, sans-serif;
  font-size: 25.6rem;
  font-weight: 700;
  line-height: 100%;
  color: #1f64d3;
  opacity: 0.1;
  white-space: nowrap;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__bg-text {
    top: 6.4rem;
    height: 16rem;
    font-size: 16rem;
  }
}

.p-about-hero__bg-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: bg-text-marquee 90s linear infinite;
}
.p-about-hero__bg-track span {
  display: block;
  padding-right: 8rem;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-hero__bg-track {
    animation: none;
  }
}

.p-about-hero__breadcrumb {
  position: relative;
  z-index: 1;
  margin-bottom: 5.6rem;
  font-size: 1.4rem;
}
.p-about-hero__breadcrumb a {
  color: #1f64d3;
  text-decoration: none;
}
.p-about-hero__breadcrumb a:hover {
  color: #000000;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__breadcrumb {
    margin-bottom: 0;
    padding: 0.8rem 0;
    font-size: 1.2rem;
    line-height: 100%;
  }
}

.p-about-hero__breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-about-hero__breadcrumb-list > li {
  display: inline-flex;
  align-items: center;
}
.p-about-hero__breadcrumb-list > li + li::before {
  content: "/";
  margin-right: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__breadcrumb-list {
    gap: 0.6rem;
  }
  .p-about-hero__breadcrumb-list > li + li::before {
    margin-right: 0.6rem;
  }
}

.p-about-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 42rem 1fr;
  gap: 6.4rem;
  align-items: flex-start;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__inner {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: none;
  }
}

.p-about-hero__body {
  padding-top: 0;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__body {
    padding: 8rem 2rem 4rem;
  }
}

.p-about-hero__eyebrow {
  margin-bottom: 4.8rem;
  color: #0047ab;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__eyebrow {
    margin: 3.2rem auto;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.p-about-hero__title {
  margin-bottom: 2.4rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.618;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__title {
    margin-bottom: 3.2rem;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-align: center;
    white-space: normal;
  }
}

.p-about-hero__text {
  max-width: 36.8rem;
  color: #666;
  font-size: 1.6rem;
  line-height: 1.618;
}
.p-about-hero__text a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-about-hero__text a:hover, .p-about-hero__text a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__text {
    max-width: none;
    margin: 0;
    font-size: 1.5rem;
    text-align: center;
  }
}

.p-about-hero__media {
  position: relative;
}

.p-about-hero__visual {
  position: relative;
}

.p-about-hero__photo {
  width: 100%;
  height: 53.4rem;
  object-fit: cover;
  object-position: 70% 50%;
  border-radius: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__photo {
    display: block;
    height: auto;
    border-radius: 0;
    aspect-ratio: 375/208;
  }
}

.p-about-hero__stamp {
  position: absolute;
  left: -5.5rem;
  bottom: -3rem;
  width: 18.2rem;
  height: 18.4rem;
  object-fit: contain;
  --stamp-rotate: -10deg;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__stamp {
    z-index: 2;
    left: -0.8rem;
    bottom: -2rem;
    width: 9.6rem;
    height: auto;
  }
}

.p-about-hero__pdf {
  position: relative;
  display: flex;
  flex-shrink: 0;
  width: 32rem;
  padding: 1.6rem 2.4rem 2.8rem;
  text-decoration: none;
  color: #333333;
  background-color: #ffffff;
  border-radius: 1.6rem;
  box-shadow: 2rem 2rem 1rem rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__pdf {
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    width: 100%;
    padding: 2.4rem 3.2rem;
    background-color: #f5f5f5;
    border-radius: 0;
    box-shadow: none;
  }
}
.p-about-hero__pdf:hover, .p-about-hero__pdf:focus-visible {
  background-color: #ffffff;
}
.p-about-hero__pdf:hover .p-about-hero__pdf-dl, .p-about-hero__pdf:focus-visible .p-about-hero__pdf-dl {
  color: #000000;
}
.p-about-hero__pdf:hover .p-about-hero__pdf-dl-icon, .p-about-hero__pdf:focus-visible .p-about-hero__pdf-dl-icon {
  background-color: #000000;
}
.p-about-hero__pdf:hover .p-about-hero__pdf-title, .p-about-hero__pdf:focus-visible .p-about-hero__pdf-title {
  color: #1f64d3;
}

.p-about-hero__media .p-about-hero__pdf {
  position: absolute;
  right: 0;
  bottom: -2rem;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__media .p-about-hero__pdf {
    position: relative;
    right: auto;
    bottom: auto;
    z-index: 1;
    margin-top: 0;
  }
}

.p-about-hero__pdf-body {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__pdf-body {
    flex: none;
    min-width: 0;
  }
}

.p-about-hero__pdf-dl {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: #1f64d3;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.2;
  transition: color 0.3s ease;
}

.p-about-hero__pdf-dl-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #1f64d3;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.p-about-hero__pdf-dl-icon img {
  width: 2rem;
  height: 2rem;
  filter: brightness(0) invert(1);
}

.p-about-hero__pdf-title {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.2;
  transition: color 0.3s ease;
}

.p-about-hero__pdf-meta {
  font-size: 1.4rem;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__pdf-meta {
    margin-top: -0.6rem;
    line-height: 1;
  }
}

.p-about-hero__pdf-cover {
  position: absolute;
  right: -2.4rem;
  top: -2.4rem;
  width: 12.8rem;
  height: 18rem;
  object-fit: cover;
  transform: rotate(5deg);
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-about-hero__pdf-cover {
    position: relative;
    right: auto;
    top: auto;
    flex-shrink: 0;
    width: 11.4rem;
    height: 16rem;
    transform: none;
  }
}

.p-about-windows {
  padding: 0 6.4rem 12.8rem 16rem;
}
.p-about-windows > .l-container {
  max-width: 124.8rem;
}
@media screen and (max-width: 1023px) {
  .p-about-windows {
    padding: 6.4rem 2rem;
  }
}

.p-about-windows__head {
  display: flex;
  align-items: flex-end;
  gap: 6.4rem;
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__head {
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
    margin-bottom: 6.4rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-about-windows__head-text {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    width: 100%;
  }
}

.p-about-windows__illust {
  width: 32.8rem;
  max-width: 50%;
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__illust {
    width: 19.6rem;
    max-width: none;
    height: 12rem;
    object-fit: contain;
    align-self: center;
  }
}

.p-about-windows__title {
  margin: 0 0 2.4rem;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.618;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__title {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center;
  }
}

.p-about-windows__lead {
  margin: 0;
  max-width: 64rem;
  color: #666;
  font-size: 1.6rem;
  line-height: 1.618;
}
.p-about-windows__lead a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-about-windows__lead a:hover, .p-about-windows__lead a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__lead {
    max-width: none;
    font-size: 1.5rem;
    text-align: center;
  }
}

.p-about-windows__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__cards {
    gap: 2rem;
  }
}
@media screen and (max-width: 800px) {
  .p-about-windows__cards {
    grid-template-columns: 1fr;
  }
}

.p-about-windows__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding: 6.4rem 3.2rem;
  border-radius: 1.6rem;
  text-decoration: none;
  color: #333333;
  text-align: center;
  transition: background-color 0.3s ease;
}
.p-about-windows__card--blue {
  background: rgba(31, 100, 211, 0.1);
}
.p-about-windows__card--blue:hover, .p-about-windows__card--blue:focus-visible {
  background: rgba(31, 100, 211, 0.3);
}
.p-about-windows__card--green {
  background: rgba(193, 225, 67, 0.2);
}
.p-about-windows__card--green:hover, .p-about-windows__card--green:focus-visible {
  background: rgba(193, 225, 67, 0.5);
}
@media screen and (max-width: 1023px) {
  .p-about-windows__card {
    gap: 2.4rem;
    padding: 3.2rem 2.4rem;
  }
}

.p-about-windows__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 2.4rem;
  border-radius: 0.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 100%;
}
.p-about-windows__card--blue .p-about-windows__badge {
  background: #1f64d3;
  color: #ffffff;
}
.p-about-windows__card--green .p-about-windows__badge {
  background: #c1e143;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__badge {
    width: 100%;
    box-sizing: border-box;
    padding: 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

.p-about-windows__card-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__card-title {
    gap: 0.8rem;
    font-size: 2.2rem;
    line-height: 1.2;
  }
}

.p-about-windows__ext {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background-color 0.3s ease;
}
.p-about-windows__ext img {
  width: 2rem;
  height: 2rem;
  transition: filter 0.3s ease;
}
.p-about-windows__card--blue .p-about-windows__ext {
  background: #1f64d3;
}
.p-about-windows__card--green .p-about-windows__ext {
  background: #c1e143;
}
.p-about-windows__card--green .p-about-windows__ext img {
  filter: brightness(0);
}
.p-about-windows__card:hover .p-about-windows__ext, .p-about-windows__card:focus-visible .p-about-windows__ext {
  background: #ffffff;
}
.p-about-windows__card:hover .p-about-windows__ext img, .p-about-windows__card:focus-visible .p-about-windows__ext img {
  filter: brightness(0);
}
@media screen and (max-width: 1023px) {
  .p-about-windows__ext {
    width: 3.2rem;
    height: 3.2rem;
  }
  .p-about-windows__ext img {
    width: 1.6rem;
    height: 1.6rem;
  }
}

.p-about-windows__card-desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__card-desc {
    font-size: 1.5rem;
  }
}

.p-about-windows__card-img {
  display: block;
  width: 30rem;
  max-width: 100%;
}
.p-about-windows__card-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .p-about-windows__card-img {
    width: 19.6rem;
  }
}

.p-about-windows__checks {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 0.6rem 1.6rem;
  align-items: center;
  width: max-content;
  max-width: 100%;
  text-align: left;
  font-size: 1.5rem;
  font-weight: 500;
}
.p-about-windows__checks li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: max-content;
  max-width: 100%;
  line-height: 100%;
}
.p-about-windows__checks li.is-etc {
  justify-self: end;
  color: #333333;
  font-weight: 400;
}
@media screen and (max-width: 1365px) {
  .p-about-windows__checks {
    grid-template-columns: minmax(0, max-content);
  }
  .p-about-windows__checks li.is-etc {
    justify-self: end;
  }
}
@media screen and (max-width: 1023px) {
  .p-about-windows__checks {
    font-size: 1.4rem;
  }
}

.p-about-windows__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  background: #ffffff;
  border-radius: 50%;
}
.p-about-windows__check img {
  display: block;
  width: 2rem;
  height: 2rem;
}

.p-about-reasons {
  padding: 12.8rem 6.4rem 12.8rem 16rem;
  background: #0047ab;
  color: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons {
    overflow: visible;
    padding: 6.4rem 2rem;
  }
}

.p-about-reasons__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__head {
    margin-bottom: 0;
  }
}

.p-about-reasons__title-wrap {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.p-about-reasons__badge {
  position: absolute;
  top: -6.4rem;
  left: -23.2rem;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0.6rem 3.2rem 1.2rem;
  background: #ffe95b;
  color: #0047ab;
  border-radius: 1.6rem;
  transform: translate(-35%, 0) rotate(-8deg);
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__badge {
    top: -14.4rem;
    left: 50%;
    z-index: 1;
    justify-content: center;
    width: fit-content;
    margin: 0;
    padding: 0.3rem 1.6rem 0.6rem;
    border-radius: 0.8rem;
    transform: translateX(-50%) rotate(-8deg);
  }
}

.p-about-reasons__badge-num {
  font-family: Quicksand, sans-serif;
  font-size: 12rem;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__badge-num {
    font-size: 6rem;
  }
}

.p-about-reasons__badge-side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.p-about-reasons__badge-label {
  padding: 0.4rem;
  border: 0.1rem solid #0047ab;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__badge-label {
    padding: 0.2rem;
    font-size: 0.9rem;
  }
}

.p-about-reasons__badge-unit {
  font-size: 5.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__badge-unit {
    font-size: 2.6rem;
  }
}

.p-about-reasons__eyebrow {
  margin-bottom: 1.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__eyebrow {
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.618;
  }
}

.p-about-reasons__title {
  margin-bottom: 2.4rem;
  font-size: 6.4rem;
  font-weight: 900;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__title {
    margin-bottom: 3.2rem;
    font-size: 4rem;
  }
}

.p-about-reasons__lead {
  max-width: 112rem;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__lead {
    max-width: none;
    font-size: 1.5rem;
  }
  .p-about-reasons__lead br {
    display: none;
  }
}

.p-about-reasons__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  padding-top: 12.8rem;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__list {
    gap: 6.4rem 2rem;
    padding-top: 9.6rem;
  }
}
@media screen and (max-width: 800px) {
  .p-about-reasons__list {
    grid-template-columns: 1fr;
  }
}

.p-about-reasons__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  padding: 9.6rem 3.2rem 3.2rem;
  background: #ffffff;
  color: #333333;
  border-radius: 3.2rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__item {
    gap: 1.6rem;
    padding: 6.4rem 3.2rem 3.2rem;
  }
}

.p-about-reasons__illust {
  position: absolute;
  top: -10.4rem;
  left: 50%;
  width: 24rem;
  max-width: 80%;
  height: auto;
  object-fit: contain;
  transform: translateX(-50%);
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__illust {
    top: -5.6rem;
    width: 12rem;
    max-width: none;
    height: 12rem;
  }
}

.p-about-reasons__item-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.618;
}
.p-about-reasons__item-title span {
  display: block;
  color: #0047ab;
  font-size: 2.6rem;
  font-weight: 900;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__item-title {
    font-size: 1.5rem;
    line-height: 100%;
  }
  .p-about-reasons__item-title span {
    margin-top: 0.6rem;
    font-size: 2.4rem;
    line-height: 100%;
  }
}

.p-about-reasons__item-text {
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-about-reasons__item-text {
    font-size: 1.5rem;
  }
}

.p-about-system {
  padding: 9.6rem 0 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-about-system {
    padding: 6.4rem 0 0;
  }
}

.p-about-system__intro {
  position: absolute;
  left: 0;
  max-width: 40rem;
  margin-bottom: 4.8rem;
  white-space: nowrap;
}
@media screen and (min-width: 1024px) {
  .p-about-system__intro {
    zoom: min(1, 100cqi / var(--system-diagram-width));
  }
}
@media screen and (max-width: 1023px) {
  .p-about-system__intro {
    width: 100%;
    max-width: 28rem;
    margin-left: 2rem;
    padding: 3.2rem 2rem;
    text-align: center;
  }
}

.p-about-system__container {
  --system-diagram-width: 123.2rem;
  position: relative;
  max-width: 124.8rem;
  container-type: inline-size;
  container-name: about-system;
}
@media screen and (max-width: 1023px) {
  .p-about-system__container {
    container-type: normal;
  }
}

.p-about-system__title {
  margin-bottom: 1.2rem;
  color: #0047ab;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-about-system__title {
    margin-bottom: 3.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }
}

.p-about-system__lead {
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-about-system__lead {
    font-size: 1.5rem;
  }
}

.p-about-system__diagram-wrap {
  --diagram-offset: 12.8rem;
  max-width: calc(100% + var(--diagram-offset));
  width: calc(100% + var(--diagram-offset));
  margin-left: calc(var(--diagram-offset) * -1);
  padding-left: var(--diagram-offset);
  overflow-x: hidden;
}
@media screen and (max-width: 1023px) {
  .p-about-system__diagram-wrap {
    --diagram-offset: 0;
    max-width: none;
    width: 100%;
    margin-left: 0;
    padding-left: 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .p-about-system__diagram-wrap::-webkit-scrollbar {
    display: none;
  }
}

.p-about-system__diagram {
  position: relative;
  display: grid;
  grid-template-columns: 28rem auto auto;
  gap: 0 3.2rem;
  align-items: flex-end;
  width: 120rem;
  min-width: 120rem;
  padding-right: 3.2rem;
  box-sizing: content-box;
}
@media screen and (min-width: 1024px) {
  .p-about-system__diagram {
    zoom: min(1, 100cqi / var(--system-diagram-width));
  }
}

.p-about-system__audience {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 36.7rem;
  padding: 4rem 3.2rem 12.8rem;
  background: #eeeeee;
  border-radius: 8rem;
  text-align: center;
}

.p-about-system__audience-head {
  position: relative;
  width: 100%;
}

.p-about-system__audience-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.618;
  letter-spacing: 0.05em;
}

.p-about-system__city {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 1;
  max-width: 44rem;
  height: auto;
  transform: translateX(-50%);
}

.p-about-system__arrow {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6.4rem;
  height: 4.8rem;
  margin: 0;
  background: #0047ab;
  border: 0.1rem solid #0047ab;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 100%;
}
.p-about-system__arrow::before, .p-about-system__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.4rem;
  height: 8rem;
  background: url("../images/icons/system-arrow.svg") center/contain no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}
.p-about-system__arrow::after {
  display: none;
}
.p-about-system__arrow--support::before, .p-about-system__arrow--in::before {
  left: -2rem;
}
.p-about-system__arrow--support {
  position: absolute;
  top: calc(2rem * 1.618 * 1.5 - 2.4rem);
  right: -6.4rem;
  left: auto;
  bottom: auto;
  transform: none;
  z-index: 3;
}
.p-about-system__arrow--link::before {
  left: -2rem;
}
.p-about-system__arrow--link::after {
  display: block;
  right: -2rem;
  transform: translateY(-50%) scaleX(-1);
}

.p-about-system__hub {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  align-items: center;
  padding: 3.2rem 2.4rem;
  background: #9cceff;
  border-radius: 1.6rem;
}

.p-about-system__hub-org {
  color: #0047ab;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 100%;
  text-align: center;
}

.p-about-system__hub-box {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  width: 100%;
  padding: 2.4rem;
  background: #ffffff;
  border-radius: 0.8rem;
}
.p-about-system__hub-box .l-header__switch {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) 4.8rem;
}

.p-about-system__hub-name {
  margin-bottom: 1.2rem;
  font-size: 1.8rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 100%;
}

.p-about-system__hub-label {
  color: #0047ab;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 100%;
}

.p-about-system__hub-funcs {
  width: 100%;
  padding: 1.2rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.618;
  text-align: center;
}

.p-about-system__partners {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.p-about-system__partner {
  position: relative;
  padding: 2.4rem;
  background: #eeeeee;
  border-radius: 1.6rem;
  text-align: center;
}

.p-about-system__partner-title {
  margin-bottom: 2.4rem;
  color: #666;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 100%;
}

.p-about-system__partner-text,
.p-about-system__partner-list {
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border-radius: 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.618;
}

.p-about-system__partner-list {
  text-align: center;
}

.p-about-system__partner .p-about-system__arrow {
  position: absolute;
  left: -6.4rem;
  top: 4.8rem;
}

.p-about-system__scroll {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-about-system__scroll {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    margin: 2rem 0 0;
    padding: 0 0 0 2rem;
    color: #333333;
    font-family: Quicksand, sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 100%;
  }
  .p-about-system__scroll::after {
    content: "";
    flex: 1;
    height: 0.6rem;
    background: radial-gradient(circle closest-side, #333333 0.25rem, transparent 0.26rem) left center/0.5rem 0.5rem no-repeat, linear-gradient(#333333, #333333) 0.25rem center/calc(100% - 0.25rem) 0.1rem no-repeat;
  }
}

.p-about-access {
  padding: 9.6rem 0 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-about-access {
    padding: 4rem 0 6.4rem;
  }
}

.p-about-access__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2.4rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-about-access__head {
    gap: 1.2rem;
    margin-bottom: 3.2rem;
  }
}

.p-about-access__en {
  margin: 0;
  color: #0047ab;
  font-family: Quicksand, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-about-access__en {
    font-size: 1.2rem;
  }
}

.p-about-access__title {
  margin: 0;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-access__title {
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }
}

.p-about-access__pin {
  width: 12.8rem;
  height: 12.8rem;
}
@media screen and (max-width: 1023px) {
  .p-about-access__pin {
    width: 4.8rem;
    height: 4.8rem;
  }
}

.p-about-access__list {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .p-about-access__list {
    gap: 6.4rem;
  }
}

.p-about-access__office {
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
  padding-bottom: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-about-access__office {
    gap: 0;
    padding-bottom: 0;
  }
}

.p-about-access__map {
  display: block;
  width: 100%;
  height: 40rem;
  overflow: hidden;
}
.p-about-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 1023px) {
  .p-about-access__map {
    order: 4;
    height: 24rem;
  }
}

.p-about-access__body {
  display: grid;
  grid-template-columns: minmax(0, 56rem) minmax(min(42rem, 100%), 1fr);
  gap: 6.4rem;
  align-items: end;
  max-width: 112rem;
  margin: 0 auto;
  padding: 0 6.4rem 0 0;
}
@media screen and (max-width: 1023px) {
  .p-about-access__body {
    display: contents;
  }
}

.p-about-access__main-photo {
  min-width: 0;
  overflow: hidden;
  background: #ddd;
}
.p-about-access__main-photo img {
  display: block;
  width: 100%;
  height: 42rem;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-about-access__main-photo {
    order: 1;
    margin-bottom: 0.2rem;
  }
  .p-about-access__main-photo img {
    height: auto;
    aspect-ratio: 375/240;
  }
}

.p-about-access__info {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  justify-content: center;
  min-width: 0;
  min-height: 42rem;
}
@media screen and (max-width: 1023px) {
  .p-about-access__info {
    display: contents;
  }
}

.p-about-access__copy {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-about-access__copy {
    order: 3;
    gap: 2.4rem;
    align-items: center;
    padding: 4.8rem 2rem;
    text-align: center;
  }
}

.p-about-access__name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.4rem;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-about-access__name {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
  }
}

.p-about-access__name-org {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-access__name-org {
    font-size: 1.3rem;
    letter-spacing: 0.1em;
  }
}

.p-about-access__name-site {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-access__name-site {
    font-size: 2.8rem;
    font-weight: 700;
  }
}

.p-about-access__address {
  display: block;
  margin: 0;
  font-size: 1.6rem;
  font-style: normal;
  line-height: 1.618;
}
.p-about-access__address br {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-about-access__address {
    font-size: 1.5rem;
  }
  .p-about-access__address br {
    display: inline;
  }
}

.p-about-access__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-about-access__gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-about-access__gallery {
    order: 2;
    gap: 0.2rem;
  }
  .p-about-access__gallery img {
    height: auto;
    aspect-ratio: auto;
  }
}

.c-page-hero {
  position: relative;
  padding: 15.2rem 6.4rem 0 16rem;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .c-page-hero {
    padding: 8rem 0 0;
  }
}

.c-page-hero__inner {
  position: relative;
  z-index: 1;
  max-width: none;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__inner {
    padding-inline: 0;
  }
}

.c-page-hero__panel {
  display: flex;
  align-items: center;
  gap: 4rem;
  min-height: 23.2rem;
  padding: 6.4rem;
  background: rgba(156, 206, 255, 0.2);
  border-radius: 1.6rem;
}
.c-page-hero--seisansei .c-page-hero__panel {
  background: rgba(193, 225, 67, 0.28);
}
@media screen and (max-width: 1023px) {
  .c-page-hero__panel {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    min-height: 0;
    padding: 3.2rem 2rem;
    border-radius: 0;
  }
}

.c-breadcrumb {
  padding: 2.4rem 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 100%;
}
.c-breadcrumb a {
  color: #0047ab;
  text-decoration: none;
}
.c-breadcrumb a:hover {
  color: #000000;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb {
    padding: 0.8rem 2rem;
    font-size: 1.2rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-breadcrumb__list > li {
  display: inline-flex;
  align-items: center;
}
.c-breadcrumb__list > li + li::before {
  content: "/";
  margin-right: 1.6rem;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb__list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0.6rem;
    width: max-content;
    min-width: 100%;
    white-space: nowrap;
  }
  .c-breadcrumb__list > li {
    flex: 0 0 auto;
  }
  .c-breadcrumb__list > li + li::before {
    margin-right: 0.6rem;
  }
}

.c-breadcrumb__current {
  color: #333333;
}

.c-page-hero__heading {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__heading {
    flex-wrap: wrap;
    gap: 1.2rem 1.6rem;
  }
}

.c-page-hero__en-block {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}

.c-page-hero__badge {
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.8rem;
  margin-top: -3.2rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__badge {
    gap: 0.4rem;
    margin-top: -1.6rem;
  }
}

.c-page-hero__badge-slash {
  position: relative;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__badge-slash {
    width: 1.6rem;
    height: 1.6rem;
  }
}
.c-page-hero__badge-slash::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3.2rem;
  height: 0.1rem;
  background: #333333;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1023px) {
  .c-page-hero__badge-slash::before {
    width: 1.6rem;
  }
}
.c-page-hero__badge-slash--left::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-page-hero__badge-slash--right::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-page-hero__badge-text {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-family: Quicksand, sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__badge-text {
    font-size: 1.6rem;
  }
}

.c-page-hero__badge-num {
  color: #1f64d3;
}
.c-page-hero--seisansei .c-page-hero__badge-num {
  color: #18b700;
}

.c-page-hero__badge-on {
  color: #333333;
}

.c-page-hero__en {
  color: #333333;
  font-family: Quicksand, sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 100%;
}
.c-page-hero__en::first-letter {
  color: #0047ab;
}
.c-page-hero--seisansei .c-page-hero__en::first-letter {
  color: #18b700;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__en {
    font-size: 3.2rem;
  }
}

.c-page-hero__title {
  color: #333333;
  font-size: 4rem;
  font-weight: 700;
  line-height: 100%;
}
.c-page-hero--with-en .c-page-hero__title {
  font-size: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__title {
    font-size: 2rem;
  }
  .c-page-hero--with-en .c-page-hero__title {
    font-size: 1.6rem;
  }
}

.c-page-hero__lead {
  max-width: 48rem;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__lead {
    font-size: 1.3rem;
  }
}

.c-page-hero--watermark {
  position: unset;
  margin: 12rem 6.4rem 0 16rem;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark {
    margin: 0;
    padding: 8rem 2rem 0;
  }
}
.c-page-hero--watermark .c-page-hero__inner {
  position: unset;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 124.8rem;
  min-height: 20rem;
  margin: 0;
  padding: 0 0 0 3.2rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-page-hero__inner {
    min-height: 0;
    padding: 0;
  }
}
.c-page-hero--watermark .c-breadcrumb {
  position: relative;
  z-index: 1;
  justify-content: flex-start;
  padding: 0 0 2.4rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-breadcrumb {
    order: 1;
    padding: 0.8rem 0;
  }
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-page-hero__watermark {
    position: relative;
    order: 2;
    width: auto;
    margin: 1.6rem 0 0;
    font-size: 4rem;
    text-align: left;
    opacity: 1;
  }
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-page-hero__row {
    order: 3;
    gap: 0.8rem;
    padding: 0.8rem 0 0;
  }
}
.c-page-hero--watermark .c-page-hero__title {
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-page-hero__title {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
  }
}
.c-page-hero--watermark .c-page-hero__lead {
  max-width: 40rem;
  text-align: right;
}
@media screen and (max-width: 1023px) {
  .c-page-hero--watermark .c-page-hero__lead {
    max-width: none;
    text-align: left;
    font-size: 1.3rem;
  }
}

.c-page-hero__watermark {
  overflow: hidden;
  position: absolute;
  left: 0;
  z-index: 0;
  width: 100%;
  margin: 0;
  background: linear-gradient(90deg, #9cceff, #57eeff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: Quicksand, sans-serif;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  opacity: 0.5;
  pointer-events: none;
  -webkit-text-fill-color: transparent;
}
.c-page-hero--seisansei .c-page-hero__watermark {
  background: linear-gradient(90deg, #c1e143, #abecad);
  -webkit-background-clip: text;
  background-clip: text;
}

.c-page-hero__row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 1023px) {
  .c-page-hero__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
  }
}

.p-archive__chip,
.p-archive__tag,
.p-single__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.6rem 0.8rem;
  background: #9cceff;
  color: #1f64d3;
  border-radius: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-archive__chip,
  .p-archive__tag,
  .p-single__tag {
    font-size: 1.2rem;
    padding: 0.5rem 1.2rem 0.6rem;
  }
}
.p-archive__chip.is-blue,
.p-archive__tag.is-blue,
.p-single__tag.is-blue {
  background: #9cceff;
  color: #1f64d3;
}
.p-archive__chip.is-navy,
.p-archive__tag.is-navy,
.p-single__tag.is-navy {
  background: #1f64d3;
  color: #ffffff;
}
.p-archive__chip.is-green,
.p-archive__tag.is-green,
.p-single__tag.is-green {
  background: #c1e143;
  color: #1d7e00;
}
.p-archive__chip.is-seisansei,
.p-archive__tag.is-seisansei,
.p-single__tag.is-seisansei {
  background: #29c30a;
  color: #ffffff;
}
.p-archive__chip.is-yorozu,
.p-archive__tag.is-yorozu,
.p-single__tag.is-yorozu {
  background: #999;
  color: #ffffff;
}
.p-archive__chip.is-news,
.p-archive__tag.is-news,
.p-single__tag.is-news {
  background: #ccc;
  color: #666;
}
.p-archive__chip.is-current,
.p-archive__tag.is-current,
.p-single__tag.is-current {
  background: #000;
  color: #ffffff;
}
.p-archive__chip.is-news.is-current, .p-archive__chip.is-yorozu.is-current, .p-archive__chip.is-seisansei.is-current, .p-archive__chip.is-navy.is-current, .p-archive__chip.is-green.is-current, .p-archive__chip.is-blue.is-current,
.p-archive__tag.is-news.is-current,
.p-archive__tag.is-yorozu.is-current,
.p-archive__tag.is-seisansei.is-current,
.p-archive__tag.is-navy.is-current,
.p-archive__tag.is-green.is-current,
.p-archive__tag.is-blue.is-current,
.p-single__tag.is-news.is-current,
.p-single__tag.is-yorozu.is-current,
.p-single__tag.is-seisansei.is-current,
.p-single__tag.is-navy.is-current,
.p-single__tag.is-green.is-current,
.p-single__tag.is-blue.is-current {
  background: #000;
  color: #ffffff;
}

.p-archive__chip:hover {
  opacity: 0.8;
}

.p-archive {
  padding: 0 6.4rem 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-archive {
    padding: 3.2rem 2rem 6.4rem;
  }
}

.p-archive__tools {
  display: flex;
  align-items: flex-start;
  gap: 3.2rem;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__tools {
    flex-direction: column;
    gap: 1.6rem;
    margin-bottom: 4rem;
  }
}

.p-archive__search-label {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-archive__search-label {
    gap: 0.6rem;
    font-size: 1.4rem;
  }
}

.p-archive__search-icon {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-archive__search-icon {
    width: 1.6rem;
    height: 1.6rem;
  }
}

.p-archive__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__chips {
    gap: 0.8rem 0.6rem;
  }
  .p-archive__chips .p-archive__chip {
    padding: 0.5rem 1.2rem 0.6rem;
    font-size: 1.3rem;
  }
}

.p-archive__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4.8rem;
}
.p-archive__list--people {
  grid-template-columns: repeat(auto-fill, 38.4rem);
  gap: 4.8rem 6.4rem;
  justify-content: start;
}
.p-archive__list--people > .p-archive__item {
  min-width: 0;
  width: max-content;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-archive__list {
    grid-template-columns: 1fr;
  }
  .p-archive__list--people {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-archive__list--people {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.2rem 2.4rem;
  }
}

.p-archive--news .p-archive__list {
  gap: 4.8rem;
  margin-left: auto;
  margin-right: auto;
}

.p-archive--case .p-archive__list {
  grid-template-columns: repeat(2, 1fr);
  gap: 4.8rem;
  max-width: 124.8rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1023px) {
  .p-archive--news .p-archive__list,
  .p-archive--case .p-archive__list,
  .p-archive--seminar .p-archive__list {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
}
@media screen and (max-width: 1023px) and (min-width: 640px) {
  .p-archive--news .p-archive__list,
  .p-archive--case .p-archive__list,
  .p-archive--seminar .p-archive__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem 2rem;
  }
}

.p-archive--news .p-archive__thumb {
  aspect-ratio: 305/229;
  border-radius: 0;
}

.p-archive--news .p-archive__card-body {
  gap: 0.4rem;
  padding-top: 1.2rem;
}

.p-archive--news .p-archive__meta {
  gap: 1.6rem;
  margin-bottom: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-archive--news .p-archive__meta {
    font-size: 1.5rem;
  }
}

.p-archive__news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.p-archive--news .p-archive__item-title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.618;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-archive--news .p-archive__item-title {
    font-weight: 700;
  }
}

@media screen and (max-width: 1023px) {
  .p-archive--case {
    padding: 3.2rem 2rem 6.4rem;
  }
}

.p-archive--news .p-archive__card:hover .p-archive__item-title,
.p-archive--news .p-archive__card:focus-visible .p-archive__item-title {
  color: #1f64d3;
}

.p-archive--case .p-archive__card,
.p-archive__card--case {
  overflow: visible;
  background: #ffffff;
  border: 0.8rem solid #ffffff;
  transition: border-color 0.3s ease;
}
.p-archive--case .p-archive__card:hover, .p-archive--case .p-archive__card:focus-visible,
.p-archive__card--case:hover,
.p-archive__card--case:focus-visible {
  border-color: #1f64d3;
}
.p-archive--case .p-archive__card:hover .p-archive__card-body, .p-archive--case .p-archive__card:focus-visible .p-archive__card-body,
.p-archive__card--case:hover .p-archive__card-body,
.p-archive__card--case:focus-visible .p-archive__card-body {
  background: #ffffff;
}
.p-archive--case .p-archive__card:hover .p-archive__item-title, .p-archive--case .p-archive__card:focus-visible .p-archive__item-title,
.p-archive__card--case:hover .p-archive__item-title,
.p-archive__card--case:focus-visible .p-archive__item-title {
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__card,
  .p-archive__card--case {
    overflow: hidden;
  }
}

.p-archive--case .p-archive__thumb,
.p-archive__card--case .p-archive__thumb {
  height: 30.6rem;
  aspect-ratio: auto;
  background: #eeeeee;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__thumb,
  .p-archive__card--case .p-archive__thumb {
    height: auto;
    aspect-ratio: 327/184;
  }
}

.p-archive__window-tag {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  z-index: 1;
  padding: 0.7rem 1.6rem 0.8rem;
  background: #1f64d3;
  border-radius: 1.6rem;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 100%;
}
.p-archive__window-tag.is-green, .p-archive--seisansei .p-archive__window-tag {
  background: #1d7e00;
}
@media screen and (max-width: 1023px) {
  .p-archive__window-tag {
    display: none;
  }
}

.p-archive--case .p-archive__coord-label,
.p-archive__card--case .p-archive__coord-label {
  font-size: 0.9rem;
  letter-spacing: 0.05em;
}

.p-archive--case .p-archive__coord-name,
.p-archive__card--case .p-archive__coord-name {
  font-size: 1.6rem;
}

.p-archive--case .p-archive__coord,
.p-archive__card--case .p-archive__coord {
  position: absolute;
  top: 24.8rem;
  right: 3.2rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column-reverse;
  gap: 1rem;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__coord,
  .p-archive__card--case .p-archive__coord {
    position: static;
    top: auto;
    right: auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    width: 100%;
    margin-right: auto;
    padding-top: 2rem;
    border-top: 0.1rem solid #ccc;
  }
  .p-archive--case .p-archive__coord .p-archive__coord-photo,
  .p-archive__card--case .p-archive__coord .p-archive__coord-photo {
    order: -1;
  }
}

.p-archive--case .p-archive__coord-text,
.p-archive__card--case .p-archive__coord-text {
  gap: 0.4rem;
  padding-bottom: 0.6rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__coord-text,
  .p-archive__card--case .p-archive__coord-text {
    padding-bottom: 0;
    text-align: left;
  }
}

.p-archive__coord-text {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-bottom: 0.6rem;
  text-align: right;
}
@media screen and (max-width: 1023px) {
  .p-archive__coord-text {
    gap: 0.8rem;
    padding-bottom: 0;
    text-align: left;
  }
}

.p-archive__coord-label {
  font-size: 1rem;
  font-weight: 400;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-archive__coord-label {
    font-size: 0.9rem;
    letter-spacing: 0.05em;
  }
}

.p-archive__coord-name {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-archive__coord-name {
    font-size: 1.6rem;
  }
}

.p-archive__coord-en {
  display: none;
  color: #666;
  font-family: Quicksand, sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .p-archive__coord-en {
    display: block;
  }
}
.p-archive__coord-en .is-cap {
  color: #666;
}

.p-archive--case .p-archive__card-body {
  gap: 2.4rem;
  padding: 3.2rem;
  background: #f5f5f5;
  transition: background 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__card-body {
    gap: 1.6rem;
    padding: 2rem 1.6rem;
    background: #f5f5f5;
  }
}

.p-archive__card--case .p-archive__card-body {
  gap: 2.4rem;
  transition: background 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-archive__card--case .p-archive__card-body {
    gap: 1.6rem;
    padding: 2rem 1.6rem;
    background: #f5f5f5;
  }
}

.p-archive__case-copy {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.p-archive--case .p-archive__item-title,
.p-archive__card--case .p-archive__item-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.618;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__item-title,
  .p-archive__card--case .p-archive__item-title {
    font-size: 1.8rem;
  }
}

.p-archive--case .p-archive__excerpt,
.p-archive__card--case .p-archive__excerpt {
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #333333;
  font-size: 1.4rem;
  line-height: 1.618;
}

.p-archive--case .p-archive__case-tags,
.p-archive__card--case .p-archive__case-tags {
  flex-shrink: 0;
}
.p-archive--case .p-archive__case-tags.is-empty,
.p-archive__card--case .p-archive__case-tags.is-empty {
  min-height: 2.9rem;
}
@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__case-tags,
  .p-archive__card--case .p-archive__case-tags {
    gap: 0.6rem;
  }
  .p-archive--case .p-archive__case-tags.is-empty,
  .p-archive__card--case .p-archive__case-tags.is-empty {
    min-height: 2.4rem;
  }
  .p-archive--case .p-archive__case-tags .p-archive__tag,
  .p-archive__card--case .p-archive__case-tags .p-archive__tag {
    padding: 0.5rem 1.2rem 0.6rem;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-archive--case .p-archive__coord-photo,
  .p-archive__card--case .p-archive__coord-photo {
    width: 6rem;
    height: 6rem;
  }
  .p-archive--case .p-archive__coord-photo img,
  .p-archive__card--case .p-archive__coord-photo img {
    top: -0.4rem;
    right: 0;
    left: auto;
    width: 6.4rem;
    height: 6.4rem;
  }
}

.p-archive--staff {
  padding: 0 0 12.8rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-archive--staff {
    padding: 0 2rem 6.4rem;
  }
}

.p-archive__avatars {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin: 0 0 9.6rem;
  padding: 2.4rem 0 6.4rem 0;
}
@media screen and (max-width: 1023px) {
  .p-archive__avatars {
    gap: 0;
    margin-bottom: 0;
    padding: 3.2rem 0 4.8rem;
  }
}

.p-archive__avatars-group {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__avatars-group {
    gap: 3.2rem;
  }
  .p-archive__avatars-group + .p-archive__avatars-group {
    margin-top: 3.2rem;
  }
}

.p-archive__avatars-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
}
.p-archive__avatars-label::before {
  content: "";
  width: 1.6rem;
  height: 0.2rem;
  background: #1f64d3;
}
.p-archive--seisansei .p-archive__avatars-label::before {
  background: #1d7e00;
}
@media screen and (max-width: 1023px) {
  .p-archive__avatars-label {
    font-weight: 900;
    letter-spacing: 0.1em;
  }
  .p-archive__avatars-label::before {
    width: 1.2rem;
  }
}

.p-archive__avatars-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, 19.2rem);
  gap: 2.4rem;
  margin: 0;
  padding: 0.8rem 0 0;
  list-style: none;
}
.p-archive__avatars-list > li {
  overflow: visible;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-archive__avatars-list {
    grid-template-columns: repeat(auto-fit, minmax(14.4rem, 1fr));
    gap: 1.6rem;
    padding-top: 0.4rem;
  }
}

.p-staff-avatar {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  color: #333333;
  text-decoration: none;
}

.p-staff-avatar__photo,
.p-archive__coord-photo {
  position: relative;
  flex-shrink: 0;
  display: block;
  width: 8rem;
  height: 8rem;
  overflow: visible;
  border-radius: 1.6rem;
  background: #1f64d3;
}
.p-staff-avatar__photo::before,
.p-archive__coord-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(50.5deg, #9cceff 0%, #57eeff 100%);
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.p-staff-avatar__photo.is-green, .p-archive--seisansei .p-staff-avatar__photo,
.p-archive__coord-photo.is-green,
.p-archive--seisansei .p-archive__coord-photo {
  background: #18b700;
}
.p-staff-avatar__photo.is-green::before, .p-archive--seisansei .p-staff-avatar__photo::before,
.p-archive__coord-photo.is-green::before,
.p-archive--seisansei .p-archive__coord-photo::before {
  background: linear-gradient(50.5deg, #c1e143 0%, #ffe95b 100%);
}
.p-staff-avatar__photo img,
.p-archive__coord-photo img {
  position: absolute;
  right: 0;
  top: -0.8rem;
  z-index: 1;
  width: 8.8rem;
  height: 8.8rem;
  object-fit: cover;
  object-position: bottom center;
  border-radius: 0 0 1.6rem 0;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  .p-archive__avatars .p-staff-avatar__photo {
    width: 6.4rem;
    height: 6.4rem;
  }
  .p-archive__avatars .p-staff-avatar__photo img {
    top: -0.4rem;
    width: 6.8rem;
    height: 6.8rem;
  }
}

.p-staff-avatar:hover .p-staff-avatar__photo::before,
.p-staff-avatar:focus-visible .p-staff-avatar__photo::before,
.p-archive__card:hover .p-archive__coord-photo::before,
.p-archive__card:focus-visible .p-archive__coord-photo::before {
  opacity: 0;
}

.p-staff-avatar__info {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-staff-avatar__info {
    gap: 0.8rem;
  }
}

.p-staff-avatar__label {
  color: #333333;
  font-size: 1rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-staff-avatar__label {
    font-size: 0.9rem;
  }
}

.p-staff-avatar__name {
  color: #333333;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-staff-avatar__name {
    font-size: 1.6rem;
  }
}

.p-staff-avatar__en {
  color: #666;
  font-family: Quicksand, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-staff-avatar__en {
    font-size: 0.9rem;
  }
}

.p-archive__card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #333333;
  text-decoration: none;
}

.p-archive--seminar .p-archive__card {
  overflow: hidden;
  background: #f5f5f5;
  border: 0.8rem solid #ffffff;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.p-archive--seminar .p-archive__card:hover, .p-archive--seminar .p-archive__card:focus-visible {
  background: #ffffff;
  border-color: #1f64d3;
}

.p-archive--seminar .p-archive__thumb {
  aspect-ratio: 720/509;
  border-radius: 0;
}

.p-archive--seminar .p-archive__card-body {
  gap: 1.6rem;
  padding: 2.4rem 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-archive--seminar .p-archive__card-body {
    gap: 1.2rem;
    padding: 2rem;
  }
}

.p-archive__seminar-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__seminar-tags {
    gap: 0.6rem;
  }
  .p-archive__seminar-tags .p-archive__status,
  .p-archive__seminar-tags .p-archive__tag {
    min-height: 0;
    padding: 0.5rem 1.2rem 0.6rem;
    font-size: 1.3rem;
  }
}

.p-archive__seminar-date {
  margin: 0;
  color: #1f64d3;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-archive__seminar-date {
    font-size: 1.5rem;
  }
}

.p-archive--seminar .p-archive__item-title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1023px) {
  .p-archive--seminar .p-archive__item-title {
    line-height: 1.618;
  }
}

.p-archive--seminar .p-archive__excerpt {
  margin: 0;
  margin-top: 0;
  color: #333333;
  font-size: 1.4rem;
  line-height: 1.618;
}

.p-archive__thumb {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.p-archive__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.p-archive__card:hover .p-archive__thumb img {
  transform: scale(1.03);
}

.p-archive__thumb-tags {
  position: absolute;
  left: 1.2rem;
  bottom: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  z-index: 1;
}

.p-archive__no-image {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1f64d3;
  font-family: Quicksand, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  opacity: 0.25;
}

.p-archive__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.6rem 0 0;
}

.p-archive__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
  color: #666;
  font-size: 1.3rem;
}

.p-archive__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.7rem 1.6rem 0.8rem;
  background: #ff4a2a;
  color: #ffffff;
  border-radius: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
}
.p-archive__status.is-active {
  background: #ff4a2a;
  color: #ffffff;
}
.p-archive__status.is-full, .p-archive__status.is-ended {
  background: #ccc;
  color: #666;
}

.p-archive__case-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  margin-bottom: 1.6rem;
}

.p-archive__case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.p-archive__coord {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
  font-size: 1.3rem;
  font-weight: 700;
}

.p-single__coord img {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  object-fit: cover;
}

.p-archive__item-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.618;
}

.p-archive__excerpt {
  margin-top: 1.2rem;
  color: #666;
  font-size: 1.4rem;
  line-height: 1.618;
}

.p-archive__jump {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 3.2rem;
  margin-bottom: 4.8rem;
}
.p-archive__jump a {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
.p-archive__jump a::before {
  content: "";
  width: 1.6rem;
  height: 0.2rem;
  background: #1f64d3;
}

.p-archive__office {
  scroll-margin-top: 14rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__office {
    scroll-margin-top: 16rem;
  }
}

.p-archive__office + .p-archive__office {
  margin-top: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__office + .p-archive__office {
    margin-top: 6.4rem;
  }
}

.p-archive__office-title {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 4.8rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 100%;
}
.p-archive__office-title::before {
  content: "";
  width: 2.4rem;
  height: 0.2rem;
  background: #1f64d3;
}
.p-archive--seisansei .p-archive__office-title::before {
  background: #1d7e00;
}
@media screen and (max-width: 1023px) {
  .p-archive__office-title {
    gap: 0.8rem;
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0.1em;
  }
  .p-archive__office-title::before {
    width: 2rem;
    background: #0047ab;
  }
  .p-archive--seisansei .p-archive__office-title::before {
    background: #1d7e00;
  }
}

.p-archive__item {
  position: relative;
  scroll-margin-top: 16rem;
  border-radius: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-archive__item {
    scroll-margin-top: 16rem;
  }
}
.p-archive__item:target .p-staff-card__panel::before {
  background: #ffe95b;
}

.p-staff-card.is-highlight .p-staff-card__panel::before {
  background: #ffe95b;
}

.p-staff-card {
  display: block;
  color: #333333;
  text-decoration: none;
}

.p-staff-card__visual {
  position: relative;
  padding: 4rem 0 0 6.4rem;
}
@media screen and (max-width: 1023px) {
  .p-staff-card__visual {
    display: flex;
    justify-content: flex-end;
    width: 33.5rem;
    max-width: 100%;
    min-height: 32rem;
    padding: 4rem 0 0;
    overflow: visible;
    box-sizing: border-box;
  }
}

.p-staff-card__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 32rem;
  max-width: 100%;
  height: 28rem;
  padding: 3.2rem 4.8rem 2.4rem 0;
  overflow: visible;
  border-radius: 4rem;
  background: #1f64d3;
  isolation: isolate;
}
.p-staff-card__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(67deg, #9cceff 14%, #57eeff 100%);
  transition: opacity 0.3s ease, background 0.3s ease;
  pointer-events: none;
}
.p-archive--seisansei .p-staff-card__panel, .p-service--green .p-staff-card__panel {
  background: #18b700;
}
.p-archive--seisansei .p-staff-card__panel::before, .p-service--green .p-staff-card__panel::before {
  background: linear-gradient(67deg, #c1e143 14%, #abecad 100%);
}
@media screen and (max-width: 1023px) {
  .p-staff-card__panel {
    flex-shrink: 0;
    width: 28rem;
    max-width: none;
    height: 28rem;
    min-height: 0;
    padding: 2.4rem 0;
  }
}

.p-staff-card:hover .p-staff-card__panel::before,
.p-staff-card:focus-visible .p-staff-card__panel::before {
  opacity: 0;
}

.p-staff-card__photo {
  position: absolute;
  z-index: 0;
  top: -4rem;
  right: 0;
  width: 32rem;
  height: 32rem;
  max-width: none;
  object-fit: contain;
  object-position: bottom center;
  pointer-events: none;
  border-bottom-right-radius: 4rem;
}
@media screen and (max-width: 1023px) {
  .p-staff-card__photo {
    top: -4rem;
    width: 32rem;
    height: 32rem;
    object-fit: contain;
    object-position: bottom center;
  }
}

.p-staff-card__catch {
  position: relative;
  z-index: 1;
  left: -6.4rem;
  width: 22.4rem;
  max-width: calc(100% + 6.4rem);
  margin: 0;
  color: #000000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.618;
}
.p-staff-card__catch span {
  background: #ffffff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media screen and (max-width: 1023px) {
  .p-staff-card__catch {
    left: -5.5rem;
    width: 18rem;
    max-width: none;
  }
}

.p-staff-card__namebox {
  position: relative;
  z-index: 1;
  left: -6.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  width: fit-content;
  max-width: calc(100% + 4rem);
  padding: 2.4rem;
  background: #333;
  border-radius: 0.8rem;
  color: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-staff-card__namebox {
    left: -5.5rem;
    max-width: none;
  }
}

.p-staff-card__role {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 100%;
}

.p-staff-card__name {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
}

.p-staff-card__en {
  margin: 0;
  color: #9cceff;
  font-family: Quicksand, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
}
.p-archive--seisansei .p-staff-card__en, .p-service--green .p-staff-card__en {
  color: #abecad;
}

.p-staff-card__arrow {
  position: absolute;
  right: 2.4rem;
  bottom: 2.4rem;
  z-index: 2;
  width: 4.8rem;
  height: 4.8rem;
  border: 0.2rem solid #ffffff;
  border-radius: 2.4rem;
  backdrop-filter: blur(0.5rem);
  background: rgba(255, 255, 255, 0.01);
  transition: background 0.3s ease, border-color 0.3s ease;
}
.p-staff-card__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid #ffffff;
  border-right: 0.2rem solid #ffffff;
  transform: translate(-60%, -50%) rotate(45deg);
  transition: border-color 0.3s ease;
}

.p-staff-card:hover .p-staff-card__arrow,
.p-staff-card:focus-visible .p-staff-card__arrow {
  background: rgba(255, 255, 255, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .p-staff-card__panel::before,
  .p-staff-card__arrow {
    transition: none;
  }
}
.p-staff-card__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.6rem 1.6rem;
  margin-top: 2.4rem;
  font-size: 1.5rem;
  line-height: 100%;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-staff-card__tags {
    gap: 0.8rem 1.2rem;
    margin-top: 2.4rem;
    font-size: 1.3rem;
  }
}

.p-staff-card__tag {
  display: inline-flex;
  align-items: center;
  color: #1f64d3;
  font-weight: 500;
  white-space: nowrap;
}

.p-staff-card__hash {
  color: #999;
  font-weight: 700;
}

.p-archive__pagination {
  margin-top: 8rem;
}
.p-archive__pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.p-archive__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  min-width: 4.8rem;
  padding: 0;
  color: #333333;
  font-size: 1.6rem;
  text-decoration: none;
  border-radius: 50%;
}
.p-archive__pagination .current {
  background: #9cceff;
  border-radius: 2.4rem;
}
.p-archive__pagination .prev,
.p-archive__pagination .next {
  background: #000000;
  color: #ffffff;
  border-radius: 50%;
}
.p-archive__pagination .prev .p-archive__page-arrow {
  transform: scaleX(-1);
}
@media screen and (max-width: 1023px) {
  .p-archive__pagination {
    margin-top: 6.4rem;
  }
  .p-archive__pagination .nav-links {
    position: relative;
    justify-content: center;
    width: 100%;
    min-height: 3.2rem;
    padding: 0 4rem;
  }
  .p-archive__pagination .page-numbers {
    width: 3.2rem;
    height: 3.2rem;
    min-width: 3.2rem;
  }
  .p-archive__pagination .prev,
  .p-archive__pagination .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-archive__pagination .prev {
    left: 0;
  }
  .p-archive__pagination .next {
    right: 0;
  }
  .p-archive__pagination .current {
    border-radius: 2.4rem;
  }
}

.p-archive__page-arrow {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  color: #ffffff;
}

.p-single {
  padding: 8rem 0 12.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single {
    padding: 4.8rem 0 6.4rem;
  }
}

.p-single--news {
  padding: 0 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single--news {
    padding: 0 0 6.4rem;
  }
}

.p-single__news-hero {
  padding: 15.2rem 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__news-hero {
    padding: 8rem 0 0;
  }
}

@media screen and (max-width: 1023px) {
  .p-single--onestop .p-single__news-hero,
  .p-single--seisansei .p-single__news-hero {
    padding-top: 12rem;
  }
}

.p-single__news-hero-frame {
  position: relative;
}

.p-single__news-hero-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  justify-content: center;
  min-height: 23.2rem;
  padding: 4rem 4.8rem 2.4rem;
  background: rgba(156, 206, 255, 0.2);
  border-radius: 1.6rem;
}
.p-single--seisansei .p-single__news-hero-panel {
  background: rgba(193, 225, 67, 0.28);
}
@media screen and (max-width: 1023px) {
  .p-single__news-hero-panel {
    min-height: 0;
    padding: 2rem;
    border-radius: 0;
  }
}

.p-single__news-label {
  position: absolute;
  top: -1.2rem;
  left: -1.2rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 2rem;
  background: #9cceff;
  border-radius: 0.8rem;
  color: #333333;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-single--seisansei .p-single__news-label {
  background: #daed8e;
}
.p-single__news-label:hover, .p-single__news-label:focus-visible {
  opacity: 0.8;
}
@media screen and (max-width: 1023px) {
  .p-single__news-label {
    position: static;
    width: 100%;
    gap: 1.2rem;
    padding: 1.1rem 2rem;
    border-radius: 0;
  }
}

.p-single__news-label-en {
  font-family: Quicksand, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
}
.p-single__news-label-en span {
  color: #0047ab;
}
.p-single--seisansei .p-single__news-label-en span {
  color: #18b700;
}
@media screen and (max-width: 1023px) {
  .p-single__news-label-en {
    font-size: 1.8rem;
    line-height: 1;
  }
}

.p-single__news-label-ja {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__news-label-ja {
    font-size: 1.2rem;
    line-height: 1;
  }
}

.p-single__news-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__news-hero-meta {
    font-size: 1.5rem;
    line-height: 1;
  }
}

.p-single__news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__news-tags .p-archive__tag {
    padding: 0.6rem 1.2rem;
    font-size: 1.3rem;
  }
}

.p-single--news .p-single__title {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.618;
  letter-spacing: 0;
}
@media screen and (max-width: 1023px) {
  .p-single--news .p-single__title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.618;
  }
}

.c-breadcrumb--news {
  padding-right: 6.4rem;
  padding-left: 16rem;
}
.c-breadcrumb--news .c-breadcrumb__current {
  color: #666;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb--news {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.p-single__news-main {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin: 0 auto;
  padding: 0 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__news-main {
    gap: 3.2rem;
    padding: 3.2rem 2rem 0;
  }
}

.p-single__news-body {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__news-body {
    gap: 3.2rem;
  }
}

.p-single__news-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__news-figure {
    gap: 0.8rem;
  }
}

.p-single__news-thumb {
  width: 100%;
  overflow: hidden;
}
.p-single__news-thumb img {
  display: block;
  max-width: 100%;
  height: auto;
}

.p-single__news-caption {
  width: 100%;
  color: #666;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.618;
  text-align: center;
}

.p-single__content--news {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news {
    font-size: 1.5rem;
  }
}
.p-single__content--news > * + * {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news > * + * {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--news > *:first-child {
  margin-block-start: 0;
}
.p-single__content--news h2,
.p-single__content--news h3,
.p-single__content--news h4,
.p-single__content--news h5,
.p-single__content--news h6,
.p-single__content--news .wp-block-heading {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news h2,
  .p-single__content--news h3,
  .p-single__content--news h4,
  .p-single__content--news h5,
  .p-single__content--news h6,
  .p-single__content--news .wp-block-heading {
    margin-block-start: 3.2rem;
    font-size: 1.8rem;
  }
}
.p-single__content--news h2:where(:not([class*=font-size])),
.p-single__content--news h3:where(:not([class*=font-size])),
.p-single__content--news h4:where(:not([class*=font-size])),
.p-single__content--news h5:where(:not([class*=font-size])),
.p-single__content--news h6:where(:not([class*=font-size])),
.p-single__content--news .wp-block-heading:where(:not([class*=font-size])) {
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news h2:where(:not([class*=font-size])),
  .p-single__content--news h3:where(:not([class*=font-size])),
  .p-single__content--news h4:where(:not([class*=font-size])),
  .p-single__content--news h5:where(:not([class*=font-size])),
  .p-single__content--news h6:where(:not([class*=font-size])),
  .p-single__content--news .wp-block-heading:where(:not([class*=font-size])) {
    font-size: 1.8rem;
  }
}
.p-single__content--news h2.has-background,
.p-single__content--news h3.has-background,
.p-single__content--news h4.has-background,
.p-single__content--news h5.has-background,
.p-single__content--news h6.has-background,
.p-single__content--news .wp-block-heading.has-background {
  padding: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news h2.has-background,
  .p-single__content--news h3.has-background,
  .p-single__content--news h4.has-background,
  .p-single__content--news h5.has-background,
  .p-single__content--news h6.has-background,
  .p-single__content--news .wp-block-heading.has-background {
    padding: 1.6rem;
  }
}
.p-single__content--news > .wp-block-heading:first-child,
.p-single__content--news > h2:first-child,
.p-single__content--news > h3:first-child,
.p-single__content--news > h4:first-child,
.p-single__content--news > h5:first-child,
.p-single__content--news > h6:first-child {
  margin-block-start: 0;
}
.p-single__content--news p {
  margin-block-start: 1.5em;
  margin-block-end: 0;
}
.p-single__content--news ul,
.p-single__content--news ol {
  margin-block-start: 1.5em;
  padding-inline-start: 1.5em;
}
.p-single__content--news ul {
  list-style: disc;
}
.p-single__content--news ol {
  list-style: decimal;
}
.p-single__content--news li > ul,
.p-single__content--news li > ol {
  margin-block-start: 1.5em;
}
.p-single__content--news a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-single__content--news a:hover, .p-single__content--news a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
.p-single__content--news .wp-block-image,
.p-single__content--news figure:not(.wp-block-video):not(.wp-block-audio) {
  margin: 4.8rem auto;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-image,
  .p-single__content--news figure:not(.wp-block-video):not(.wp-block-audio) {
    margin: 3.2rem auto;
  }
}
.p-single__content--news .wp-block-image img,
.p-single__content--news figure:not(.wp-block-video):not(.wp-block-audio) img {
  margin-inline: auto;
}
.p-single__content--news figcaption,
.p-single__content--news .wp-element-caption {
  margin-block-start: 1.2rem;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news figcaption,
  .p-single__content--news .wp-element-caption {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--news .wp-block-table {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-table {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--news .wp-block-group {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-group {
    margin-block-start: 3.2rem;
  }
}
.p-single__content--news .wp-block-group:first-child {
  margin-block-start: 0;
}
.p-single__content--news .wp-block-group > *:first-child {
  margin-block-start: 0;
}
.p-single__content--news .wp-block-file {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-file {
    margin-block: 3.2rem;
  }
}
.p-single__content--news .wp-block-file .wp-block-file__embed {
  margin-block-end: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-file .wp-block-file__embed {
    margin-block-end: 1.6rem;
  }
}
.p-single__content--news .wp-block-file > a:not(.wp-block-file__button) {
  font-size: 1.6rem;
}
.p-single__content--news .wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: 1.6rem;
  padding: 1rem 2rem;
  background: #000000;
  border: 0;
  border-radius: 3.2rem;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
}
.p-single__content--news .wp-block-video,
.p-single__content--news .wp-block-audio {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--news .wp-block-video,
  .p-single__content--news .wp-block-audio {
    margin-block: 3.2rem;
  }
}

.p-single--news .p-single__back,
.p-single--case .p-single__back,
.p-single--seminar .p-single__back {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
  text-align: left;
}

.p-single--seisansei .p-single__back .c-btn--blue-light:not(:hover):not(:focus-visible) {
  background: #c1e143;
}

.p-single__article {
  width: 100%;
  max-width: 88rem;
  margin: 0 auto;
}

.p-single__header {
  margin-bottom: 4.8rem;
  padding-bottom: 3.2rem;
  border-bottom: 0.1rem solid #eeeeee;
}

.p-single__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2rem;
  color: #666;
  font-size: 1.4rem;
}

.p-single__title {
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 1.618;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1023px) {
  .p-single__title {
    font-size: 2.6rem;
  }
}

.p-single__lead {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  line-height: 1.618;
}

.p-single__thumb {
  overflow: hidden;
  border-radius: 1.6rem;
}
.p-single__thumb img {
  width: 100%;
  height: auto;
}

.p-single__coord {
  margin-bottom: 3.2rem;
  font-size: 1.4rem;
}
.p-single__coord a {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: #333333;
  font-weight: 700;
  text-decoration: none;
}

.p-single--seminar {
  padding: 0 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single--seminar {
    padding-bottom: 6.4rem;
  }
}

.p-single--case {
  position: relative;
  padding: 0 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single--case {
    padding: 0 0 6.4rem;
  }
}

.p-single__case {
  position: relative;
}

.p-single__case-hero {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  padding: 15.2rem 6.4rem 4.8rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__case-hero {
    gap: 0;
    padding: 12rem 0 3.2rem;
  }
}

.c-breadcrumb--case {
  justify-content: flex-start;
  max-width: none;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb--case {
    padding: 0.8rem 2rem;
  }
}

.p-single__case-label {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-single__case-label {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    width: 100%;
    padding: 1.2rem 2rem;
    background: #9cceff;
    color: #333333;
    text-decoration: none;
  }
  .p-single--seisansei .p-single__case-label {
    background: #daed8e;
  }
}

.p-single__case-label-en {
  font-family: Quicksand, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}
.p-single__case-label-en span {
  color: #0047ab;
}
.p-single--seisansei .p-single__case-label-en span {
  color: #18b700;
}

.p-single__case-label-ja {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
}

.p-single__case-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, min(50%, 64rem));
  gap: 6.4rem;
  align-items: start;
  max-width: 124.8rem;
  margin: 0 auto;
}
.p-single__case-hero-grid--no-photo {
  grid-template-columns: minmax(0, 1fr);
}
@media screen and (max-width: 1365px) {
  .p-single__case-hero-grid {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .p-single__case-hero-grid {
    padding: 3.2rem 2rem 0;
  }
}

.p-single__case-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__case-hero-copy {
    gap: 1.6rem;
  }
}

.p-single__case-date {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.618;
}

.p-single__case-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__case-meta {
    gap: 1.6rem;
  }
}

.p-single__case-meta-main {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__case-meta-main {
    gap: 1.6rem;
  }
}

.p-single--case .p-single__case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.p-single--case .p-single__title {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single--case .p-single__title {
    font-size: 2rem;
  }
}

.p-single__case-company {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  padding-top: 2.4rem;
  border-top: 0.1rem solid #ddd;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__case-company {
    padding-top: 1.6rem;
    font-size: 1.5rem;
  }
}

a.p-single__case-company-name {
  text-underline-offset: 0.2em;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
a.p-single__case-company-name:hover, a.p-single__case-company-name:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}

.p-single__case-company-name {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.p-single__case-reason {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 3.2rem;
  background: rgba(156, 206, 255, 0.2);
  border-radius: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single__case-reason {
    margin-top: 0.4rem;
    padding: 2.4rem;
  }
}

.p-single__case-reason-title {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  color: #0047ab;
  font-size: 2rem;
  font-weight: 900;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__case-reason-title {
    font-size: 1.8rem;
  }
}

.p-single__case-reason-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  background: #1f64d3;
  border-radius: 50%;
}
.p-single__case-reason-check::before {
  content: "";
  width: 0.55rem;
  height: 1rem;
  margin-top: -0.2rem;
  border-right: 0.2rem solid #ffffff;
  border-bottom: 0.2rem solid #ffffff;
  transform: rotate(45deg);
}

.p-single__case-reason-text {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__case-reason-text {
    font-size: 1.5rem;
  }
}
.p-single__case-reason-text p {
  margin: 0;
}
.p-single__case-reason-text p + p {
  margin-top: 0.6rem;
}

.p-single__case-hero-photo {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.p-single__case-hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-single__case-hero-photo {
    height: auto;
    aspect-ratio: 4/3;
  }
}

.p-single__case-staff {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  flex-shrink: 0;
  gap: 1.6rem;
  width: fit-content;
  max-width: 100%;
  overflow: visible;
  border-radius: 1.6rem;
  color: #333333;
  text-decoration: none;
}
.p-single__case-staff .p-staff-avatar__info {
  gap: 0.4rem;
}
.p-single__case-staff .p-staff-avatar__label {
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__case-staff {
    gap: 1.2rem;
  }
  .p-single__case-staff .p-staff-avatar__info {
    gap: 0.2rem;
  }
  .p-single__case-staff .p-staff-avatar__label {
    margin-bottom: 0.2rem;
  }
  .p-single__case-staff .p-staff-avatar__photo {
    width: 6.4rem;
    height: 6.4rem;
  }
  .p-single__case-staff .p-staff-avatar__photo img {
    top: -0.4rem;
    width: 6.8rem;
    height: 6.8rem;
  }
}

.p-single__case-main {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  margin: 0 auto;
  padding: 0 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__case-main {
    gap: 3.2rem;
    padding: 0 2rem;
  }
}

.p-single__case-body {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__case-body {
    gap: 3.2rem;
  }
}

.p-single__case-lead {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__case-lead {
    font-size: 1.5rem;
  }
}

.p-single__case-profile {
  display: flex;
  align-items: stretch;
  width: 100%;
  background: #f5f5f5;
}
@media screen and (max-width: 1023px) {
  .p-single__case-profile {
    flex-direction: column;
  }
}

.p-single__case-profile-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.4rem;
  justify-content: center;
  padding: 2.4rem 6.4rem;
  min-width: 0;
  color: #333333;
}
@media screen and (max-width: 1023px) {
  .p-single__case-profile-text {
    gap: 1.2rem;
    padding: 2.4rem;
  }
}
.p-single__case-profile-text p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__case-profile-text p {
    font-size: 1.5rem;
  }
}

.p-single__case-profile-title {
  margin: 0;
  padding: 0;
  background: transparent;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__case-profile-title {
    font-size: 1.8rem;
  }
}

.p-single__case-profile-photo {
  flex-shrink: 0;
  width: 35rem;
  height: 26.8rem;
  overflow: hidden;
}
.p-single__case-profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-single__case-profile-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 350/268;
  }
}

.p-single__content--case {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case {
    font-size: 1.5rem;
  }
}
.p-single__content--case > * + * {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case > * + * {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--case > *:first-child {
  margin-block-start: 0;
}
.p-single__content--case h2,
.p-single__content--case h3,
.p-single__content--case h4,
.p-single__content--case h5,
.p-single__content--case h6,
.p-single__content--case .wp-block-heading {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case h2,
  .p-single__content--case h3,
  .p-single__content--case h4,
  .p-single__content--case h5,
  .p-single__content--case h6,
  .p-single__content--case .wp-block-heading {
    margin-block-start: 3.2rem;
    font-size: 1.8rem;
  }
}
.p-single__content--case h2:where(:not([class*=font-size])),
.p-single__content--case h3:where(:not([class*=font-size])),
.p-single__content--case h4:where(:not([class*=font-size])),
.p-single__content--case h5:where(:not([class*=font-size])),
.p-single__content--case h6:where(:not([class*=font-size])),
.p-single__content--case .wp-block-heading:where(:not([class*=font-size])) {
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case h2:where(:not([class*=font-size])),
  .p-single__content--case h3:where(:not([class*=font-size])),
  .p-single__content--case h4:where(:not([class*=font-size])),
  .p-single__content--case h5:where(:not([class*=font-size])),
  .p-single__content--case h6:where(:not([class*=font-size])),
  .p-single__content--case .wp-block-heading:where(:not([class*=font-size])) {
    font-size: 1.8rem;
  }
}
.p-single__content--case h2.has-background,
.p-single__content--case h3.has-background,
.p-single__content--case h4.has-background,
.p-single__content--case h5.has-background,
.p-single__content--case h6.has-background,
.p-single__content--case .wp-block-heading.has-background {
  padding: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case h2.has-background,
  .p-single__content--case h3.has-background,
  .p-single__content--case h4.has-background,
  .p-single__content--case h5.has-background,
  .p-single__content--case h6.has-background,
  .p-single__content--case .wp-block-heading.has-background {
    padding: 1.6rem;
  }
}
.p-single__content--case > .wp-block-heading:first-child,
.p-single__content--case > h2:first-child,
.p-single__content--case > h3:first-child,
.p-single__content--case > h4:first-child,
.p-single__content--case > h5:first-child,
.p-single__content--case > h6:first-child {
  margin-block-start: 0;
}
.p-single__content--case p {
  margin-block-start: 1.5em;
  margin-block-end: 0;
}
.p-single__content--case ul,
.p-single__content--case ol {
  margin-block-start: 1.5em;
  padding-inline-start: 1.5em;
}
.p-single__content--case ul {
  list-style: disc;
}
.p-single__content--case ol {
  list-style: decimal;
}
.p-single__content--case li > ul,
.p-single__content--case li > ol {
  margin-block-start: 1.5em;
}
.p-single__content--case a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-single__content--case a:hover, .p-single__content--case a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
.p-single__content--case .wp-block-image,
.p-single__content--case figure:not(.wp-block-video):not(.wp-block-audio) {
  margin: 4.8rem auto;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-image,
  .p-single__content--case figure:not(.wp-block-video):not(.wp-block-audio) {
    margin: 3.2rem auto;
  }
}
.p-single__content--case .wp-block-image img,
.p-single__content--case figure:not(.wp-block-video):not(.wp-block-audio) img {
  margin-inline: auto;
}
.p-single__content--case figcaption,
.p-single__content--case .wp-element-caption {
  margin-block-start: 1.2rem;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case figcaption,
  .p-single__content--case .wp-element-caption {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--case .wp-block-table {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-table {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--case .wp-block-group {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-group {
    margin-block-start: 3.2rem;
  }
}
.p-single__content--case .wp-block-group:first-child {
  margin-block-start: 0;
}
.p-single__content--case .wp-block-group > *:first-child {
  margin-block-start: 0;
}
.p-single__content--case .wp-block-file {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-file {
    margin-block: 3.2rem;
  }
}
.p-single__content--case .wp-block-file .wp-block-file__embed {
  margin-block-end: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-file .wp-block-file__embed {
    margin-block-end: 1.6rem;
  }
}
.p-single__content--case .wp-block-file > a:not(.wp-block-file__button) {
  font-size: 1.6rem;
}
.p-single__content--case .wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: 1.6rem;
  padding: 1rem 2rem;
  background: #000000;
  border: 0;
  border-radius: 3.2rem;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
}
.p-single__content--case .wp-block-video,
.p-single__content--case .wp-block-audio {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--case .wp-block-video,
  .p-single__content--case .wp-block-audio {
    margin-block: 3.2rem;
  }
}
.p-single__content--case {
  max-width: none;
  margin: 0;
}
.p-single__content--case > *:first-child {
  margin-block-start: 0;
}

.p-single__seminar-hero {
  padding: 15.2rem 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-hero {
    padding: 8rem 0 0;
  }
}

@media screen and (max-width: 1023px) {
  .p-single--onestop .p-single__seminar-hero,
  .p-single--seisansei .p-single__seminar-hero {
    padding-top: 12rem;
  }
}

.p-single__seminar-hero-frame {
  position: relative;
}

.p-single__seminar-hero-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  justify-content: center;
  min-height: 23.2rem;
  padding: 4rem 4.8rem 2.4rem;
  background: rgba(156, 206, 255, 0.2);
  border-radius: 1.6rem;
}
.p-single--seisansei .p-single__seminar-hero-panel {
  background: rgba(193, 225, 67, 0.28);
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-hero-panel {
    min-height: 0;
    padding: 2rem;
    border-radius: 0;
  }
}

.p-single__seminar-label {
  position: absolute;
  top: -1.2rem;
  left: -1.2rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 2rem;
  background: #9cceff;
  border-radius: 0.8rem;
  color: #333333;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-single--seisansei .p-single__seminar-label {
  background: #daed8e;
}
.p-single__seminar-label:hover, .p-single__seminar-label:focus-visible {
  opacity: 0.8;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-label {
    position: static;
    width: 100%;
    gap: 1.2rem;
    padding: 1.1rem 2rem;
    border-radius: 0;
  }
}

.p-single__seminar-label-en {
  font-family: Quicksand, sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
}
.p-single__seminar-label-en span {
  color: #0047ab;
}
.p-single--seisansei .p-single__seminar-label-en span {
  color: #18b700;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-label-en {
    font-size: 1.8rem;
    line-height: 1;
  }
}

.p-single__seminar-label-ja {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-label-ja {
    font-size: 1.2rem;
    line-height: 1;
  }
}

.p-single__seminar-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-hero-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
}

.p-single__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__badges {
    gap: 0.6rem;
  }
  .p-single__badges .p-single__badge,
  .p-single__badges .p-archive__tag {
    min-height: 0;
    padding: 0.5rem 1.2rem 0.6rem;
    font-size: 1.3rem;
  }
}

.p-single__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.7rem 1.6rem 0.8rem;
  border-radius: 1.6rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 100%;
}
.p-single__badge.is-open, .p-single__badge.is-active {
  background: #ff4a2a;
  color: #ffffff;
}
.p-single__badge.is-full, .p-single__badge.is-ended, .p-single__badge.is-warn {
  background: #ccc;
  color: #666;
}

.p-single__seminar-date {
  margin: 0;
  color: #1f64d3;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-date {
    font-size: 1.5rem;
  }
}

.p-single--seminar .p-single__title {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single--seminar .p-single__title {
    font-size: 2rem;
  }
}

.p-single--seminar .p-single__lead {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single--seminar .p-single__lead {
    font-size: 1.4rem;
  }
}

.c-breadcrumb--seminar {
  justify-content: flex-end;
  max-width: none;
  padding: 2.4rem 6.4rem 2.4rem 12.8rem;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb--seminar {
    justify-content: flex-start;
    padding: 0.8rem 2rem;
  }
}

.p-single__seminar-frame {
  margin: 0 auto;
  padding: 4.8rem 6.4rem 4.8rem 16rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-frame {
    padding: 3.2rem 2rem;
  }
}

.p-single__seminar-layout {
  display: grid;
  grid-template-columns: 1fr 32rem;
  gap: 4.8rem;
  align-items: stretch;
  padding: 0;
  border-radius: 0.8rem;
  box-sizing: border-box;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-layout {
    grid-template-columns: 1fr;
    gap: 4rem;
    padding: 2.4rem 1.6rem;
  }
}

.p-single__seminar-main {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-main {
    gap: 3.2rem;
  }
}

.p-single__seminar-body {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  width: 100%;
}

.p-single--seminar .p-single__thumb {
  overflow: hidden;
  border-radius: 0;
  aspect-ratio: 720/509;
}
.p-single--seminar .p-single__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-single__seminar-side {
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__seminar-side {
    order: -1;
  }
}

.p-single__summary {
  position: sticky;
  top: 20rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 32rem;
  padding: 2.4rem;
  background: rgba(156, 206, 255, 0.2);
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__summary {
    position: static;
    top: auto;
    min-width: 0;
    padding: 2.4rem 2rem;
  }
}

.p-single__summary-label {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
}
.p-single__summary-label::before {
  content: "■ ";
  color: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-single__summary-label {
    font-size: 1.4rem;
    font-weight: 900;
  }
}

.p-single__summary-list {
  display: grid;
  gap: 1.6rem;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__summary-list {
    gap: 0.8rem;
  }
}
.p-single__summary-list div {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1.2rem;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .p-single__summary-list div {
    grid-template-columns: 7.2rem minmax(0, 1fr);
  }
}
.p-single__summary-list dt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.4rem 0.8rem 0.5rem;
  border: 0.1rem solid #1f64d3;
  border-radius: 0.4rem;
  color: #1f64d3;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__summary-list dt {
    font-size: 1.4rem;
    padding: 0.3rem 0.2rem 0.4rem;
  }
}
.p-single__summary-list dd {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
}
.p-single__summary-list dd a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-single__summary-list dd a:hover, .p-single__summary-list dd a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}

.p-single__summary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 2.2rem 2.4rem;
  background: #ff4a2a;
  border-radius: 0.8rem;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.p-single__summary-btn:hover, .p-single__summary-btn:focus-visible {
  background: #000000;
  color: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-single__summary-btn {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    width: 100%;
    padding: 1.6rem 2.4rem;
    border-radius: 0;
    font-size: 1.8rem;
    font-weight: 900;
    letter-spacing: 0.1em;
  }
}

.p-single__note {
  margin: 0;
  color: #ff4a2a;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.618;
}
.p-single__note a {
  color: inherit;
}
@media screen and (max-width: 1023px) {
  .p-single__note {
    font-size: 1.4rem;
  }
}

.p-single__content--seminar {
  width: 100%;
  max-width: 124.8rem;
  margin: 0 auto;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar {
    font-size: 1.5rem;
  }
}
.p-single__content--seminar > * + * {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar > * + * {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--seminar > *:first-child {
  margin-block-start: 0;
}
.p-single__content--seminar h2,
.p-single__content--seminar h3,
.p-single__content--seminar h4,
.p-single__content--seminar h5,
.p-single__content--seminar h6,
.p-single__content--seminar .wp-block-heading {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar h2,
  .p-single__content--seminar h3,
  .p-single__content--seminar h4,
  .p-single__content--seminar h5,
  .p-single__content--seminar h6,
  .p-single__content--seminar .wp-block-heading {
    margin-block-start: 3.2rem;
    font-size: 1.8rem;
  }
}
.p-single__content--seminar h2:where(:not([class*=font-size])),
.p-single__content--seminar h3:where(:not([class*=font-size])),
.p-single__content--seminar h4:where(:not([class*=font-size])),
.p-single__content--seminar h5:where(:not([class*=font-size])),
.p-single__content--seminar h6:where(:not([class*=font-size])),
.p-single__content--seminar .wp-block-heading:where(:not([class*=font-size])) {
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar h2:where(:not([class*=font-size])),
  .p-single__content--seminar h3:where(:not([class*=font-size])),
  .p-single__content--seminar h4:where(:not([class*=font-size])),
  .p-single__content--seminar h5:where(:not([class*=font-size])),
  .p-single__content--seminar h6:where(:not([class*=font-size])),
  .p-single__content--seminar .wp-block-heading:where(:not([class*=font-size])) {
    font-size: 1.8rem;
  }
}
.p-single__content--seminar h2.has-background,
.p-single__content--seminar h3.has-background,
.p-single__content--seminar h4.has-background,
.p-single__content--seminar h5.has-background,
.p-single__content--seminar h6.has-background,
.p-single__content--seminar .wp-block-heading.has-background {
  padding: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar h2.has-background,
  .p-single__content--seminar h3.has-background,
  .p-single__content--seminar h4.has-background,
  .p-single__content--seminar h5.has-background,
  .p-single__content--seminar h6.has-background,
  .p-single__content--seminar .wp-block-heading.has-background {
    padding: 1.6rem;
  }
}
.p-single__content--seminar > .wp-block-heading:first-child,
.p-single__content--seminar > h2:first-child,
.p-single__content--seminar > h3:first-child,
.p-single__content--seminar > h4:first-child,
.p-single__content--seminar > h5:first-child,
.p-single__content--seminar > h6:first-child {
  margin-block-start: 0;
}
.p-single__content--seminar p {
  margin-block-start: 1.5em;
  margin-block-end: 0;
}
.p-single__content--seminar ul,
.p-single__content--seminar ol {
  margin-block-start: 1.5em;
  padding-inline-start: 1.5em;
}
.p-single__content--seminar ul {
  list-style: disc;
}
.p-single__content--seminar ol {
  list-style: decimal;
}
.p-single__content--seminar li > ul,
.p-single__content--seminar li > ol {
  margin-block-start: 1.5em;
}
.p-single__content--seminar a {
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-single__content--seminar a:hover, .p-single__content--seminar a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
.p-single__content--seminar .wp-block-image,
.p-single__content--seminar figure:not(.wp-block-video):not(.wp-block-audio) {
  margin: 4.8rem auto;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-image,
  .p-single__content--seminar figure:not(.wp-block-video):not(.wp-block-audio) {
    margin: 3.2rem auto;
  }
}
.p-single__content--seminar .wp-block-image img,
.p-single__content--seminar figure:not(.wp-block-video):not(.wp-block-audio) img {
  margin-inline: auto;
}
.p-single__content--seminar figcaption,
.p-single__content--seminar .wp-element-caption {
  margin-block-start: 1.2rem;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar figcaption,
  .p-single__content--seminar .wp-element-caption {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--seminar .wp-block-table {
  margin-block-start: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-table {
    margin-block-start: 1.6rem;
  }
}
.p-single__content--seminar .wp-block-group {
  margin-block-start: 4.8rem;
  margin-block-end: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-group {
    margin-block-start: 3.2rem;
  }
}
.p-single__content--seminar .wp-block-group:first-child {
  margin-block-start: 0;
}
.p-single__content--seminar .wp-block-group > *:first-child {
  margin-block-start: 0;
}
.p-single__content--seminar .wp-block-file {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-file {
    margin-block: 3.2rem;
  }
}
.p-single__content--seminar .wp-block-file .wp-block-file__embed {
  margin-block-end: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-file .wp-block-file__embed {
    margin-block-end: 1.6rem;
  }
}
.p-single__content--seminar .wp-block-file > a:not(.wp-block-file__button) {
  font-size: 1.6rem;
}
.p-single__content--seminar .wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: 1.6rem;
  padding: 1rem 2rem;
  background: #000000;
  border: 0;
  border-radius: 3.2rem;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
}
.p-single__content--seminar .wp-block-video,
.p-single__content--seminar .wp-block-audio {
  margin-block: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__content--seminar .wp-block-video,
  .p-single__content--seminar .wp-block-audio {
    margin-block: 3.2rem;
  }
}

.p-single__cancel {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0;
  padding: 3.2rem;
  background: #f5f5f5;
  border-radius: 0;
  font-size: 1.6rem;
  line-height: 1.618;
  color: #666;
}
@media screen and (max-width: 1023px) {
  .p-single__cancel {
    padding: 2rem;
  }
}
.p-single__cancel p {
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__cancel p {
    font-size: 1.5rem;
  }
}

.p-single__cancel-title {
  color: #333333;
  font-weight: 700;
}

.p-single--staff {
  padding: 0 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single--staff {
    padding: 0 0 6.4rem;
  }
}

.p-single__person-hero-wrap {
  padding: 16.8rem 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__person-hero-wrap {
    padding: 8rem 0 0;
  }
}

.p-single__person-hero {
  display: grid;
  grid-template-columns: min(50%, 52rem) 1fr;
  grid-template-rows: auto 1fr;
  min-height: min(100vh - 19.2rem);
  max-width: 124.8rem;
  margin: 0 auto;
  gap: 6.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__person-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0;
  }
}
.p-single__person-hero--no-photo {
  grid-template-columns: 1fr;
  min-height: 0;
}
.p-single__person-hero--no-photo .c-breadcrumb--person,
.p-single__person-hero--no-photo .p-single__person-copy {
  grid-column: 1/-1;
  max-width: none;
  width: 100%;
}

.c-breadcrumb--person {
  grid-column: 1;
  grid-row: 1;
  justify-content: flex-start;
  padding: 2.4rem 0 0 0;
}
.c-breadcrumb--person .c-breadcrumb__list {
  justify-content: flex-start;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb--person {
    padding: 0.8rem 2rem;
  }
}

.p-single__person-copy {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  padding: 0 0 4.8rem 0;
  background: #ffffff;
}
@media screen and (max-width: 1023px) {
  .p-single__person-copy {
    gap: 3.2rem;
    padding: 3.2rem 2rem 6.4rem;
  }
}

.p-single__person-photo {
  position: relative;
  grid-column: 2;
  grid-row: 1/-1;
  max-height: calc(100vh - 20rem);
  overflow: hidden;
  background: #f5f5f5;
}
.p-single__person-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media screen and (max-width: 1023px) {
  .p-single__person-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
  }
  .p-single__person-photo img {
    height: 100%;
  }
}

.p-single__profile-intro {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__profile-intro {
    gap: 0;
  }
  .p-single__profile-intro .p-single__profile-role {
    margin-bottom: 0.8rem;
  }
  .p-single__profile-intro .p-single__profile-name {
    margin-bottom: 3.2rem;
  }
}

.p-single__profile-role {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__profile-role {
    font-size: 1.4rem;
  }
}

.p-single__profile-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__profile-name {
    gap: 0.8rem 1.2rem;
  }
}
.p-single__profile-name .p-single__title {
  margin: 0;
  font-size: 4rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__profile-name .p-single__title {
    font-size: 2.8rem;
  }
}

.p-single__profile-en {
  margin: 0;
  color: #333333;
  font-family: Quicksand, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__profile-en {
    font-size: 1.2rem;
  }
}

.p-single--staff .p-single__lead {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single--staff .p-single__lead {
    font-size: 1.5rem;
  }
}
.p-single--staff .p-single__lead p {
  margin: 0;
}
.p-single--staff .p-single__lead p + p {
  margin-top: 1.6rem;
}

.p-single__qualifications {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.p-single__qualifications-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0;
  padding: 1.2rem 2.4rem;
  background: rgba(31, 100, 211, 0.2);
  border-radius: 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__qualifications-title {
    font-size: 1.4rem;
  }
}

.p-single__qualifications-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__qualifications-list {
    font-size: 1.6rem;
  }
}
.p-single__qualifications-list li::before {
  content: "・";
  color: #0047ab;
}

.p-single__fields-wrap {
  margin: 0 auto;
  padding: 0 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__fields-wrap {
    padding: 0;
  }
}

.p-single__fields-head {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  max-width: 124.8rem;
  margin: 0 auto 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__fields-head {
    gap: 1.6rem;
    min-height: 6.4rem;
    margin: 0;
    padding: 0 2rem;
  }
}

.p-single__fields-icon {
  display: block;
  width: 5.7rem;
  height: 4.8rem;
  object-fit: contain;
}
@media screen and (max-width: 1023px) {
  .p-single__fields-icon {
    width: 3.2rem;
    height: 2.7rem;
  }
}

.p-single__fields-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__fields-title {
    font-size: 1.8rem;
  }
}

.p-single__fields-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.4rem;
  list-style: none;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__fields-list {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
  }
}

.p-single__field-card {
  display: flex;
  flex-direction: column;
  min-height: 23rem;
  padding: 1.2rem;
  border-radius: 1.6rem;
  background: rgba(31, 100, 211, 0.1);
}
.p-single__field-card.is-inactive {
  background: #f5f5f5;
}
.p-single__field-card.is-inactive .p-single__field-head {
  background: #eee;
}
.p-single__field-card.is-inactive .p-single__field-name {
  color: #999;
}
.p-single__field-card.is-inactive .p-single__field-icon {
  filter: grayscale(1);
  opacity: 0.55;
}
@media screen and (max-width: 1023px) {
  .p-single__field-card {
    min-height: 0;
    padding: 0;
    border-radius: 0;
  }
}

.p-single__field-head {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  min-height: 6.4rem;
  padding: 1.2rem 1.6rem;
  background: rgba(31, 100, 211, 0.1);
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__field-head {
    min-height: 0;
    padding: 1.6rem 2rem;
    border-radius: 0;
  }
}

.p-single__field-icon {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
}
.p-single__field-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 1023px) {
  .p-single__field-icon {
    width: 3.2rem;
    height: 3.2rem;
  }
}

.p-single__field-name {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__field-name {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
  }
}

.p-single__field-bullets {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 2.4rem 2.8rem;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .p-single__field-bullets {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem 1.2rem;
    padding: 2.4rem;
  }
}
.p-single__field-bullets li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__field-bullets li {
    font-size: 1.4rem;
  }
}
.p-single__field-bullets li::before {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  background: #333333;
  border-radius: 50%;
}

.p-single__about-wrap {
  margin: 0 auto;
  padding: 9.6rem 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-single__about-wrap {
    padding: 0;
    margin-top: 6.4rem;
  }
}

.p-single__about {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6.4rem;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-single__about {
    flex-direction: column;
    gap: 6.4rem;
  }
}
.p-single__about--no-photo .p-single__about-body {
  flex: 1 1 100%;
  max-width: none;
  width: 100%;
}

.p-single__about-body {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body {
    padding: 0 2rem;
  }
}
.p-single__about-body .p-single__about-block + .p-single__about-block {
  margin-top: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body .p-single__about-block + .p-single__about-block {
    margin-top: 6.4rem;
  }
}
.p-single__about-body h2 {
  margin: 0;
  padding: 0;
  background: transparent;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body h2 {
    font-size: 2rem;
  }
}
.p-single__about-body h2::after {
  content: "";
  display: block;
  width: 4.8rem;
  height: 0.1rem;
  margin-top: 2.4rem;
  background: #1f64d3;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body h2::after {
    width: 3.2rem;
    margin-top: 1.6rem;
  }
}
.p-single__about-body p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body p {
    font-size: 1.5rem;
    line-height: 1.618;
  }
}
.p-single__about-body h2 + p {
  margin-top: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body h2 + p {
    margin-top: 3.2rem;
  }
}
.p-single__about-body p + p {
  margin-top: 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__about-body p + p {
    margin-top: 1.6rem;
  }
}

.p-single__about-photo {
  position: sticky;
  top: 20rem;
  flex-shrink: 0;
  width: 50%;
  min-width: 40rem;
  height: 100%;
  overflow: hidden;
}
.p-single__about-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-single__about-photo {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 410/504;
  }
}

.p-single__cases {
  background: #f5f5f5;
  padding: 9.6rem 0;
  margin-bottom: 0;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-single__cases {
    padding: 6.4rem 0 3.2rem;
  }
}

.p-single__cases-head {
  display: flex;
  align-items: center;
  gap: 6.4rem;
  max-width: 112rem;
  margin: 0 auto 9.6rem;
  padding: 0 12.8rem;
}
@media screen and (max-width: 1023px) {
  .p-single__cases-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 3.2rem;
    padding: 0 2rem;
  }
}

.p-single__cases-titles {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .p-single__cases-titles {
    flex-wrap: wrap;
    gap: 1.2rem;
  }
}

.p-single__cases-en {
  margin: 0;
  color: #333333;
  font-family: Quicksand, sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 100%;
}
.p-single__cases-en span {
  color: #0047ab;
}
@media screen and (max-width: 1023px) {
  .p-single__cases-en {
    font-size: 3.2rem;
  }
}

.p-single__cases-title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-single__cases-title {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}

.p-single__cases-lead {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-single__cases-lead {
    font-size: 1.3rem;
  }
}

.p-single__cases .p-service-carousel {
  padding-inline: 6.4rem;
}
@media screen and (max-width: 1023px) {
  .p-single__cases .p-service-carousel {
    padding-inline: 2rem;
  }
}

.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case),
.p-contact__content {
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
  max-width: 124.8rem;
  margin: 0 auto;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) > * + *,
.p-contact__content > * + * {
  margin-top: 2.4rem;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) h2,
.p-contact__content h2 {
  margin-top: 4.8rem;
  padding: 2.4rem;
  background: #0047ab;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) h3,
.p-contact__content h3 {
  margin-top: 4.8rem;
  padding: 2.4rem;
  background: #9cceff;
  font-size: 2rem;
  font-weight: 700;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) img,
.p-contact__content img {
  max-width: 100%;
  height: auto;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) a,
.p-contact__content a {
  color: #1f64d3;
  text-decoration: underline;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) ul,
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) ol,
.p-contact__content ul,
.p-contact__content ol {
  padding-left: 2.4rem;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) ul,
.p-contact__content ul {
  list-style: disc;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) ol,
.p-contact__content ol {
  list-style: decimal;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) table,
.p-contact__content table {
  width: 100%;
  border-collapse: collapse;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) th,
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) td,
.p-contact__content th,
.p-contact__content td {
  padding: 1.2rem;
  border: 0.1rem solid #ccc;
}
.p-single__content:not(.p-single__content--news):not(.p-single__content--seminar):not(.p-single__content--case) th,
.p-contact__content th {
  background: #f5f5f5;
}

.p-single__apply {
  margin-top: 6.4rem;
  padding: 4rem;
  background: linear-gradient(135deg, #eaf5ff, #cfe8ff);
  border-radius: 2.4rem;
  text-align: center;
}
.p-single__apply h2 {
  margin-bottom: 1.6rem;
  font-size: 2.4rem;
}
.p-single__apply p {
  margin-bottom: 2.4rem;
}

.p-single__back {
  margin-top: 6.4rem;
  text-align: center;
}
.p-single__back > a:not(.c-btn) {
  display: inline-flex;
  padding: 1.4rem 3.2rem;
  border: 0.1rem solid #1f64d3;
  color: #1f64d3;
  border-radius: 5rem;
  text-decoration: none;
}

.p-contact {
  padding: 0 6.4rem 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-contact {
    padding: 3.2rem 2rem 6.4rem;
  }
}

.p-contact__layout {
  display: grid;
  grid-template-columns: 32rem minmax(0, 1fr);
  gap: 6.4rem;
  align-items: start;
  max-width: 124.8rem;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {
  .p-contact__layout {
    grid-template-columns: 1fr;
    gap: 4.8rem;
  }
}

.p-contact__aside {
  position: sticky;
  top: 19.2rem;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__aside {
    position: static;
    gap: 4rem;
  }
}

.p-contact__lead {
  font-size: 1.6rem;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-contact__lead {
    font-size: 1.5rem;
  }
}

.p-contact__form {
  width: 100%;
  justify-self: end;
  padding: 4.8rem;
  background: #f5f5f5;
  border-radius: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__form {
    justify-self: stretch;
    padding: 3.2rem 2rem;
    border-radius: 0.8rem;
  }
}

.p-contact__content .c-form,
.p-seminar-apply__form .c-form {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.p-contact__content .c-form__item,
.p-seminar-apply__form .c-form__item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__content .c-form__item,
  .p-seminar-apply__form .c-form__item {
    gap: 0.8rem;
  }
}
.p-contact__content .c-form__head,
.p-seminar-apply__form .c-form__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.2rem 1.6rem;
  width: 100%;
}
.p-contact__content .c-form__head-main,
.p-seminar-apply__form .c-form__head-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__content .c-form__head-main,
  .p-seminar-apply__form .c-form__head-main {
    gap: 0 0.8rem;
  }
}
.p-contact__content .c-form__label,
.p-seminar-apply__form .c-form__label {
  display: inline;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.618;
}
.p-contact__content .c-form__note,
.p-seminar-apply__form .c-form__note {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
@media screen and (max-width: 1023px) {
  .p-contact__content .c-form__note,
  .p-seminar-apply__form .c-form__note {
    font-size: 1.2rem;
  }
}
.p-contact__content .c-form__badge,
.p-seminar-apply__form .c-form__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.5rem 0.8rem 0.6rem;
  margin-left: auto;
  border-radius: 0.8rem;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 100%;
  flex-shrink: 0;
}
.p-contact__content .c-form__badge.is-required,
.p-seminar-apply__form .c-form__badge.is-required {
  background: #f22;
}
.p-contact__content .c-form__badge.is-optional,
.p-seminar-apply__form .c-form__badge.is-optional {
  background: #999;
}
.p-contact__content .c-form__datetime,
.p-seminar-apply__form .c-form__datetime {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  width: 100%;
}
.p-contact__content .c-form__file,
.p-seminar-apply__form .c-form__file {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 4.8rem;
  padding: 1.2rem 4.4rem 1.2rem 1.6rem;
  background: #ffffff;
  border: 0.1rem solid #999;
  border-radius: 0.8rem;
  cursor: pointer;
}
.p-contact__content .c-form__file::after,
.p-seminar-apply__form .c-form__file::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.2rem;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
}
.p-contact__content .c-form__file .wpcf7-form-control-wrap,
.p-seminar-apply__form .c-form__file .wpcf7-form-control-wrap {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.p-contact__content .c-form__file input[type=file],
.p-seminar-apply__form .c-form__file input[type=file] {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.p-contact__content .c-form__file-text,
.p-seminar-apply__form .c-form__file-text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.618;
}
.p-contact__content .wpcf7-radio,
.p-contact__content .wpcf7-checkbox,
.p-seminar-apply__form .wpcf7-radio,
.p-seminar-apply__form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 2.4rem;
}
@media screen and (max-width: 1023px) {
  .p-contact__content .wpcf7-radio,
  .p-contact__content .wpcf7-checkbox,
  .p-seminar-apply__form .wpcf7-radio,
  .p-seminar-apply__form .wpcf7-checkbox {
    gap: 0 1.6rem;
  }
}
.p-contact__content .wpcf7-list-item,
.p-seminar-apply__form .wpcf7-list-item {
  margin: 0;
}
.p-contact__content .wpcf7-list-item label,
.p-seminar-apply__form .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-weight: 400;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .p-contact__content .wpcf7-list-item label,
  .p-seminar-apply__form .wpcf7-list-item label {
    gap: 0.4rem;
  }
}
.p-contact__content .wpcf7-list-item-label,
.p-seminar-apply__form .wpcf7-list-item-label {
  font-weight: 400;
}
.p-contact__content label,
.p-seminar-apply__form label {
  display: block;
  font-weight: 700;
}
.p-contact__content input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]),
.p-contact__content textarea,
.p-contact__content select,
.p-seminar-apply__form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]),
.p-seminar-apply__form textarea,
.p-seminar-apply__form select {
  width: 100%;
  min-height: 4.8rem;
  padding: 1.2rem 1.6rem;
  background: #ffffff;
  border: 0.1rem solid #999;
  border-radius: 0.8rem;
  font: inherit;
}
.p-contact__content select,
.p-seminar-apply__form select {
  padding-right: 3.6rem;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
}
.p-contact__content textarea,
.p-seminar-apply__form textarea {
  max-height: 8rem;
}
.p-contact__content .c-form__item--agreement,
.p-seminar-apply__form .c-form__item--agreement {
  gap: 0.8rem;
}
.p-contact__content .c-form__item--agreement a,
.p-seminar-apply__form .c-form__item--agreement a {
  color: #1f64d3;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-contact__content .c-form__item--agreement a:hover, .p-contact__content .c-form__item--agreement a:focus-visible,
.p-seminar-apply__form .c-form__item--agreement a:hover,
.p-seminar-apply__form .c-form__item--agreement a:focus-visible {
  color: #000000;
  text-decoration: none;
}
.p-contact__content .c-form__agreement-note,
.p-seminar-apply__form .c-form__agreement-note {
  margin: 0;
  font-size: 1.4rem;
}
.p-contact__content .c-form__agreement-note a,
.p-seminar-apply__form .c-form__agreement-note a {
  color: #1f64d3;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-contact__content .c-form__agreement-note a:hover, .p-contact__content .c-form__agreement-note a:focus-visible,
.p-seminar-apply__form .c-form__agreement-note a:hover,
.p-seminar-apply__form .c-form__agreement-note a:focus-visible {
  color: #000000;
  text-decoration: none;
}
.p-contact__content .c-form__submit,
.p-seminar-apply__form .c-form__submit {
  width: 100%;
}
.p-contact__content .c-form__submit .c-btn--blue-light,
.p-contact__content .c-form__submit button.wpcf7-submit,
.p-seminar-apply__form .c-form__submit .c-btn--blue-light,
.p-seminar-apply__form .c-form__submit button.wpcf7-submit {
  width: 100%;
  margin: 0;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

.p-contact__setup {
  padding: 2.4rem;
  background: #fff8dc;
  border-radius: 0.8rem;
  line-height: 1.618;
}

.p-complete {
  padding: 4.8rem 6.4rem 9.6rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-complete {
    padding: 6.4rem 2rem;
  }
}

.p-complete__inner {
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-complete__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }
}

.p-complete__title {
  margin: 0 0 4.8rem;
  color: #333333;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {
  .p-complete__title {
    margin: 0;
    font-size: 2.4rem;
  }
}

.p-complete__text {
  margin: 0;
  color: #333333;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.618;
  text-align: center;
}

.p-complete__back {
  margin-top: 4.8rem;
}
@media screen and (max-width: 1023px) {
  .p-complete__back {
    margin-top: 0;
  }
}

.p-seminar-apply {
  padding: 0 0 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-seminar-apply {
    padding: 0 0 6.4rem;
  }
}

.p-seminar-apply__layout {
  display: grid;
  grid-template-columns: minmax(0, 83.2rem) 32rem;
  gap: 4.8rem;
  align-items: stretch;
  max-width: 150.8rem;
  margin: 0 auto;
  padding: 4.8rem 6.4rem 0 16rem;
}
@media screen and (max-width: 1023px) {
  .p-seminar-apply__layout {
    grid-template-columns: 1fr;
    gap: 3.2rem;
    padding: 3.2rem 2rem 0;
  }
}

.p-seminar-apply__main {
  min-width: 0;
  max-width: 83.2rem;
}

.p-seminar-apply__form {
  width: 100%;
  padding: 4.8rem;
  background: #f5f5f5;
  border-radius: 0.8rem;
}
@media screen and (max-width: 1023px) {
  .p-seminar-apply__form {
    padding: 2.4rem 1.6rem;
  }
}

.p-seminar-apply__setup {
  padding: 2.4rem;
  background: #fff8dc;
  border-radius: 0.8rem;
  line-height: 1.618;
}

@media screen and (max-width: 1023px) {
  .p-seminar-apply__side {
    order: -1;
  }
}
.p-seminar-apply__side .p-single__summary {
  min-width: 0;
}

.p-terms {
  padding: 0 6.4rem 4.8rem 16rem;
}
@media screen and (max-width: 1023px) {
  .p-terms {
    padding: 3.2rem 2rem;
  }
}

.p-terms__article {
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.618;
  max-width: 124.8rem;
  margin: 0 auto;
}
.p-terms__article > * + * {
  margin-top: 2.4rem;
}
.p-terms__article h2 {
  margin-top: 4.8rem;
  padding: 2.4rem;
  background: #0047ab;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
}
.p-terms__article h3 {
  margin-top: 4.8rem;
  padding: 2.4rem;
  background: #9cceff;
  font-size: 2rem;
  font-weight: 700;
}
.p-terms__article .p-terms__lead-title {
  margin: 0 0 4.8rem;
  padding: 0;
  background: none;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.618;
}
.p-terms__article .p-terms__section {
  margin-top: 4.8rem;
}
.p-terms__article .p-terms__section h3,
.p-terms__article .p-terms__section h4 {
  margin-top: 0;
  margin-bottom: 1.2rem;
  padding: 0;
  padding-bottom: 0;
  border-bottom: none;
  background: none;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.618;
}
.p-terms__article .p-terms__section h4 {
  font-size: 1.6rem;
}
.p-terms__article .p-terms__section .p-terms__section {
  margin-top: 2.4rem;
}
.p-terms__article .p-terms__section p + p,
.p-terms__article .p-terms__section p + ul,
.p-terms__article .p-terms__section ul + p {
  margin-top: 1.2rem;
}
.p-terms__article ul {
  padding-left: 2.4rem;
  list-style: disc;
}
.p-terms__article a {
  word-break: break-all;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.3s ease;
}
.p-terms__article a:hover, .p-terms__article a:focus-visible {
  color: #1f64d3;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-terms__article {
    font-size: 1.5rem;
  }
  .p-terms__article > * + * {
    margin-top: 3.2rem;
  }
  .p-terms__article .p-terms__lead-title {
    margin: 0;
    font-size: 1.8rem;
  }
  .p-terms__article .p-terms__section {
    margin-top: 3.2rem;
  }
  .p-terms__article .p-terms__section h3,
  .p-terms__article .p-terms__section h4 {
    margin-bottom: 0.8rem;
  }
  .p-terms__article .p-terms__section .p-terms__section {
    margin-top: 2.4rem;
  }
  .p-terms__article .p-terms__section p + p,
  .p-terms__article .p-terms__section p + ul,
  .p-terms__article .p-terms__section ul + p {
    margin-top: 0.8rem;
  }
  .p-terms__article ul {
    padding-left: 2.1rem;
  }
}

.p-terms__notes {
  margin-top: 2.4rem;
  padding: 4.8rem 3.2rem;
  background: #f5f5f5;
}
.p-terms__notes ul {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-terms__notes {
    margin-top: 3.2rem;
    padding: 2rem 1.6rem 2rem 0.8rem;
  }
}

.p-terms__offices {
  margin-top: 9.6rem;
}
@media screen and (max-width: 1023px) {
  .p-terms__offices {
    margin-top: 6.4rem;
  }
}

.p-terms__offices-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 4.8rem;
}
.p-terms__offices-head h2 {
  margin: 0;
  padding: 0;
  background: none;
  color: #333333;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-terms__offices-head {
    flex-direction: column;
    align-items: stretch;
    gap: 1.6rem;
    margin-bottom: 3.2rem;
  }
  .p-terms__offices-head h2 {
    font-size: 1.8rem;
  }
}

.p-terms__hours {
  display: inline-flex;
  align-items: center;
  padding: 1.2rem 1.6rem;
  background: #eeeeee;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 1023px) {
  .p-terms__hours {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.618;
  }
}

.p-terms__office {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  line-height: 1.618;
}
.p-terms__office address {
  display: block;
  margin: 0;
  font-style: normal;
}
@media screen and (max-width: 1023px) {
  .p-terms__office {
    margin-top: 3.2rem;
  }
}

.p-terms__office-name {
  margin-bottom: 0.6rem;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .p-terms__office-name {
    margin-bottom: 0.8rem;
  }
}

.p-terms__updated {
  margin-top: 4.8rem;
  font-size: 1.6rem;
  line-height: 1.618;
  text-align: right;
}
@media screen and (max-width: 1023px) {
  .p-terms__updated {
    margin-top: 3.2rem;
    font-size: 1.4rem;
  }
}

.p-terms__meta {
  max-width: 112rem;
  margin: 6.4rem auto 0;
  padding: 2.4rem;
  background: #f5f5f5;
  font-size: 1.3rem;
  line-height: 1.618;
}
