.s-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: var(--zIndex-header);
  height: calc(var(--height-header) * 1px);
  padding-top: 17px;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (max-width: 1024px) {
  .s-header {
    height: calc(var(--height-header-sp) * 1px);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 9px;
  }
}

.s-header__inner {
  height: calc(var(--height-header) * 1px - 17px);
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 37px;
  padding-right: 18px;
  column-gap: 35px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
}

@media screen and (max-width: 1024px) {
  .s-header__inner {
    background-color: unset;
    padding-left: unset;
    padding-right: unset;
    background: unset;
    backdrop-filter: unset;
  }
}

.s-header__right {
  display: flex;
  align-items: center;
  column-gap: 35px;
}

@media screen and (max-width: 1200px) {
  .s-header__right {
    column-gap: 20px;
  }
}

@media screen and (max-width: 1024px) {
  .s-header__nav {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .s-header__logo {
    width: 300px;
  }
}

@media screen and (max-width: 1024px) {
  .s-header__logo {
    width: 247px;
  }
}
/* nav */
.s-header-nav {
  height: 100%;
}

.s-header-nav__list {
  display: flex;
  height: 100%;
  column-gap: 35px;
}

@media screen and (max-width: 1200px) {
  .s-header-nav__list {
    column-gap: 20px;
  }
}

.s-header-nav__item {
  flex: 0 0 auto;
  position: relative;
  text-align: center;
  transform-origin: top center;
}

.s-header-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 500;
  transition: transform 0.2s ease;
  transform-origin: center;
}

.s-header-nav__link[aria-current="page"]::before {
  position: absolute;
  background-color: var(--color-logo);
  content: "";
  bottom: 0;
  left: 50%;
  translate: -50% 8px;
  width: 4px;
  height: 4px;
  border-radius: 2px;
}

/* parent arrow */
.s-header-nav__link::after {
  content: none;
}

.s-header-nav__link:not([aria-haspopup="true"]) {
  margin-right: 15px;
}

.s-header-nav__link[aria-haspopup="true"]::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 7px;
  margin-left: 6px;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.58538 1L4.79782 4.75L1.01025 1' stroke='%23498949' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.2s ease;
  transform-origin: center;
}

.s-header-nav__item:hover > .s-header-nav__link[aria-haspopup="true"]::after,
.s-header-nav__item:focus-within
  > .s-header-nav__link[aria-haspopup="true"]::after {
  transform: rotate(180deg);
}

.s-header__contact {
  flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
  .s-header__contact {
    display: none;
  }
}
/* submenu */
.s-header-nav__submenu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  padding: 10px 20px;
  transform: translateX(-50%) translateY(-10px);
  min-width: 140px;
  width: max-content;
  max-width: 70vw;
  text-align: left;

  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 30px color-mix(in srgb, black 25%, transparent);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
}

.s-header-nav__submenu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 10px;
  width: 100%;
  translate: 0 -100%;
}

.s-header-nav__item:hover > .s-header-nav__submenu,
.s-header-nav__item:focus-within > .s-header-nav__submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* submenu link */
.s-header-nav__submenu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 12px;

  position: relative;
  padding: 10px;

  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}

.s-header-nav__submenu-item > a::after {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='10' viewBox='0 0 7 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4.75 4.57233L1 8.14466' stroke='%23498949' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: translate 0.2s;
}

.s-header-nav__submenu-item > a:hover::after,
.s-header-nav__submenu-item > a:focus-visible::after {
  translate: 3px;
}

.s-header__spmenu {
  height: 100vh;
  height: 100dvh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: 0.3s;
  width: 100vw;
  z-index: -1;
}

.s-header__toggle {
  display: none;
  position: fixed;
  z-index: var(--zIndex-toggle);
  top: 4px;
  right: 2%;
}

@media screen and (max-width: 1024px) {
  .s-header__toggle {
    display: block;
  }
}
.s-spmenu {
  opacity: 0;
  pointer-events: none;
  position: relative;
  transition:
    opacity 0.3s var(--ease-in-out-quad),
    translate 0.3s var(--ease-in-out-quad);
  width: 100%;
  padding: 5px 0.5%;
  background-color: var(--color-back-green);
  height: 100lvh;
}

.s-spmenu._is-open {
  opacity: 1;
  pointer-events: auto;
}

.s-spmenu__inner {
  border-radius: calc(10 / 400 * 100vw);
  position: relative;
  padding-top: 60px;
  padding-bottom: 70px;
  overflow-y: auto;
  padding-left: calc(2 * var(--gutter));
  padding-right: calc(2 * var(--gutter));
  max-height: 100lvh;
}
.s-spmenu__contact {
  margin-top: 30px;
}

.s-spmenu__contact > .c-button-arrow {
  width: 100%;
  border: unset;
}

.s-spmenu__links {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-top: 30px;
}

.s-spmenu__link {
  display: flex;
  align-items: center;
  column-gap: 4px;
}

.s-spmenu__link:hover .c-icon-arrow-circle circle,
.s-spmenu__link:focus-visible .c-icon-arrow-circle circle {
  transform: scale(calc(20 / 17));
}

.s-nav-accordion__link {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 20px;
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid #8dad99;
  padding-top: 20px;
  padding-bottom: 20px;
  align-items: center;
}
.s-nav-accordion__link .-icon {
  display: grid;
  place-items: center;
}
.s-nav-accordion__submenu {
  padding-left: 20px;
}

.s-nav-accordion__submenu-link {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 20px;
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid #8dad99;
  padding-top: 15px;
  padding-bottom: 15px;
}

.s-nav-accordion__submenu-link .-icon {
  display: grid;
  place-items: center;
}

.s-footer {
  position: relative;
  padding-bottom: 70px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.s-footer__inner {
  border-top: 1px solid var(--color-gray-light);
  padding-top: 40px;
}

@media screen and (max-width: 768px) {
  .s-footer__inner {
    padding-top: 20px;
  }
}

.s-footer__layout {
  display: grid;
  column-gap: 50px;
  row-gap: 30px;
}
.s-footer__layout > *:nth-child(1) {
  grid-area: 1 / 1 / 2 / 2;
}
.s-footer__layout > *:nth-child(2) {
  justify-self: flex-end;
  align-self: flex-end;
  grid-area: 1 / 2 / 3 / 3;
}
.s-footer__layout > *:nth-child(3) {
  grid-area: 2 / 1 / 3 / 2;
}

@media screen and (max-width: 768px) {
  .s-footer__layout {
    display: grid;
    row-gap: unset;
  }
  .s-footer__layout > *:nth-child(1) {
    grid-area: auto;
    width: 110px;
  }
  .s-footer__layout > *:nth-child(2) {
    grid-area: auto;
    justify-self: unset;
    align-self: unset;
    margin-top: 45px;
  }
  .s-footer__layout > *:nth-child(3) {
    margin-top: 25px;
    grid-area: auto;
  }
}

.s-footer__links {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  column-gap: 40px;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .s-footer__links {
    flex-direction: column;
    row-gap: 10px;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.s-footer__link {
  display: flex;
  align-items: center;
  column-gap: 4px;
}

.s-footer__link:hover .c-icon-arrow-circle circle,
.s-footer__link:focus-visible .c-icon-arrow-circle circle {
  transform: scale(calc(20 / 17));
}

.s-footer__copyright {
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .s-footer__copyright {
    font-size: 12px;
    text-align: center;
  }
}

.s-pageheader-catch {
  padding-top: calc(var(--height-header) * 1px + 60px);
  background-color: var(--color-back-green);
  --top-mv-slider-max-height: 400px;
}

@media screen and (max-width: 1024px) {
  .s-pageheader-catch {
    --top-mv-slider-max-height: 200px;
  }
}

@media screen and (max-width: 1024px) {
  .s-pageheader-catch {
    padding-top: calc(var(--height-header) * 1px + 30px);
  }
}
.s-pageheader-catch._bg-white {
  background-color: white;
}

.s-pageheader-catch__upper {
  padding-bottom: 55px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 1024px) {
  .s-pageheader-catch__upper {
    padding-bottom: 30px;
  }
}

.s-pageheader-catch__catch {
  background: var(--color-gradient-primary);
  -webkit-background-clip: text;
  background-clip: text;
  width: fit-content;
  -webkit-text-fill-color: transparent;
}

.s-pageheader-catch__lower {
  position: relative;
}

.s-pageheader-catch__slider .swiper,
.p-top-mv__slider .swiper-wrapper,
.p-top-mv__slider .swiper-slide {
  height: 100%;
  max-height: var(--top-mv-slider-max-height);
}

.s-pageheader-catch__figure {
  max-height: var(--top-mv-slider-max-height);
}

.s-pageheader-catch__figure .-img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: var(--top-mv-slider-max-height);
  object-fit: cover;
}

@media screen and (max-width: 1024px) {
  .s-pageheader-catch__figure .-img {
    aspect-ratio: 120 / 200;
  }
}

.s-pageheader-catch__news {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

@media screen and (max-width: 1024px) {
  .s-pageheader-catch__news {
    position: static;
  }
}

.s-pageheader-catch__visual {
  max-height: 421px;
}

.s-pageheader-catch__visual .-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 421px;
}

.s-pageheader-catch__subheading {
  font-size: 16px;
  line-height: calc(28 / 16);
  font-weight: 700;
  margin-top: 25px;
}

.s-pageheader-catch__intro {
  margin-top: 25px;
}

.s-news-pickup {
  position: relative;
  z-index: 2;
}

.s-news-pickup__layout {
  background-color: white;
  max-width: 1220px;
  margin-left: auto;
  padding: 30px 50px 30px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

@media screen and (max-width: 768px) {
  .s-news-pickup__layout {
    padding: 20px 20px 30px;
  }
}

.s-news-pickup__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 52px;
}

@media screen and (max-width: 768px) {
  .s-news-pickup__list {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

.s-section-company {
  padding-top: var(--spacing-lg);
  padding-bottom: 145px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .s-section-company {
    padding-bottom: 100px;
  }
}

.s-section-company__logo {
  display: grid;
  place-items: center;
}

.s-section-company__layout {
  display: grid;
  margin-top: var(--spacing-lg);
  grid-template-columns: 194px 1fr;
}

@media screen and (max-width: 768px) {
  .s-section-company__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}
.s-section-company__layout > *:nth-child(1) {
  padding-right: 20px;
}

.s-section-company__heading {
  font-size: 20px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .s-section-company__heading {
    font-size: 16px;
  }
}

.s-section-company__list {
  display: grid;
  grid-template-columns: 205fr 700fr;
  margin-top: -20px;
}

@media screen and (max-width: 768px) {
  .s-section-company__list {
    margin-top: unset;
    grid-template-columns: 1fr;
  }
}

.s-section-company__head {
  padding-right: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-gray);
  border-bottom: 1px solid var(--color-gray-light);
}

@media screen and (max-width: 768px) {
  .s-section-company__head {
    padding-top: 10px;
    border-bottom: unset;
    padding-bottom: unset;
    font-size: 14px;
    line-height: 2;
  }
}
.s-section-company__body {
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 16px;
  border-bottom: 1px solid var(--color-gray-light);
  line-height: calc(28 / 16);
}

@media screen and (max-width: 768px) {
  .s-section-company__body {
    font-size: 14px;
    line-height: calc(28 / 16);
    padding-top: 10px;
  }
}

.s-section-company__button {
  margin-top: 50px;
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .s-section-company__button {
    margin-top: 30px;
    justify-content: center;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}
.s-section-contact {
  background-image: var(--color-gradient-primary);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 55px;
  padding-bottom: 55px;
}

.s-section-sponsor {
  padding-bottom: var(--spacing-sm);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 70px;
}

@media screen and (max-width: 768px) {
  .s-section-sponsor {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.s-section-sponsor__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  column-gap: 20px;
  row-gap: 30px;
}
@media screen and (max-width: 768px) {
  .s-section-sponsor__list {
    row-gap: 20px;
  }
}

.s-section-sponsor__name {
  font-size: 12px;
  text-align: center;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .s-section-sponsor__name {
    text-align: left;
  }
}

.s-section-sponsor__logo {
  display: grid;
  place-items: center;
}

.s-section-special {
  background-color: var(--color-back-green);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: var(--spacing-sm);
  padding-bottom: var(--spacing-lg);
}

@media screen and (max-width: 768px) {
  .s-section-special {
    padding-bottom: 80px;
  }
}

.s-section-special__list {
  margin-top: 50px;
  display: grid;
  row-gap: 60px;
  column-gap: 60px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.s-section-special__item {
  display: grid;
}

@media screen and (max-width: 768px) {
  .s-section-special__heading {
    text-align: center;
  }
  .s-section-special__list {
    margin-top: 30px;
    row-gap: 30px;
  }
}
.s-section-news {
  padding-top: var(--spacing-md);
  padding-bottom: var(--spacing-lg);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background-color: var(--color-gray-light);
}

@media screen and (max-width: 768px) {
  .s-section-news {
    padding-top: 35px;
    padding-bottom: 80px;
  }
}

.s-section-news__layout {
  display: flex;
  justify-content: space-between;
  column-gap: 25px;
  align-items: center;
}

.s-section-news__heading .-main {
  font-size: 39px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .s-section-news__heading .-main {
    font-size: 22px;
    margin-top: 15px;
  }
}

.s-section-news__heading .-sub {
  line-height: 1;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-primary);
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .s-section-news__button {
    align-self: flex-end;
  }
  .s-section-news__button .c-button-arrow {
    --btn-h: 33px;
    --btn-gap: 5px;
    --btn-pad-x: 15px;
    --arrow-size: 12px;
  }
  .s-section-news__button .c-button-arrow__text {
    padding-left: unset;
  }
}
.s-section-news__list {
  margin-top: 35px;
  display: grid;
  grid-template-columns: 80px auto 1fr 57px;
}
.s-section-news__item {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
}

@media screen and (max-width: 768px) {
  .s-section-news__list {
    margin-top: 15px;
    grid-template-columns: 90px 1fr 32px;
  }
}

.s-section-seminar {
  padding-top: var(--spacing-sm);
  padding-bottom: 60px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background-color: #d3ddd1;
}

@media screen and (max-width: 768px) {
  .s-section-seminar {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.s-section-seminar__layout {
  display: grid;
  grid-template-columns: 450fr 650fr;
}

@media screen and (max-width: 768px) {
  .s-section-seminar__layout {
    grid-template-columns: 1fr;
    row-gap: 35px;
  }
}

.s-section-seminar__layout > *:nth-child(2) {
  padding-left: 16%;
}

@media screen and (max-width: 768px) {
  .s-section-seminar__layout > *:nth-child(2) {
    padding-left: unset;
  }
}
.s-section-seminar__heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-primary);
  margin-right: -0.5em;
}

.s-section-seminar__text {
  font-weight: 500;
  font-size: 16px;
  line-height: calc(28 / 16);
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .s-section-seminar__text {
    font-size: 14px;
    line-height: calc(28 / 14);
  }
}

.s-section-seminar__button {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .s-section-seminar__button {
    display: grid;
    place-items: center;
  }

  .s-section-seminar__button .c-button-arrow {
    --btn-h: 39px;
  }
}

.s-section-seminar__subheading {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-primary);
}

.s-section-seminar__pic {
  margin-top: 15px;
  display: flex;
  column-gap: 30px;
}

@media screen and (max-width: 768px) {
  .s-section-seminar__pic {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    row-gap: 30px;
  }
}

.s-section-seminar__figure {
  flex: 1;
}

.s-section-seminar__figure .-img {
  width: 100%;
}
.s-section-seminar__figure .-figcaption {
  font-size: 14px;
  margin-top: 5px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .s-section-contact {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.s-section-contact__layout {
  display: flex;
  align-items: center;
  column-gap: 10px;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .s-section-contact__layout {
    flex-direction: column;
  }
}

.s-section-contact__heading {
  color: white;
  font-size: 32px;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .s-section-contact__heading {
    font-size: 20px;
  }
}

.s-section-contact__lead {
  color: white;
  font-weight: 700;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .s-section-contact__lead {
    font-size: 14px;
    margin-top: 15px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.s-section-contact__button {
  justify-self: flex-end;
}

@media screen and (max-width: 768px) {
  .s-section-contact__button {
    justify-self: center;
    margin-top: 20px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.s-section-about {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: var(--spacing-lg);
}

.s-section-about__inner {
  padding-bottom: var(--spacing-md);
}

.s-section-about__figure {
  margin-top: var(--spacing-sm);
  display: grid;
  place-items: center;
}

.s-section-faq {
  padding-top: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.s-section-faq__heading {
  text-align: center;
}

.s-section-faq__intro {
  text-align: center;
  margin-top: 30px;
}

.s-section-faq__list {
  margin-top: var(--spacing-sm);
  display: flex;
  flex-direction: column;
  row-gap: 50px;
}
.s-section-anchor {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.s-section-anchor__inner {
  padding-top: 70px;
  padding-bottom: var(--spacing-sm);
  border-top: 1px solid var(--color-gray-light);
}

@media screen and (max-width: 768px) {
  .s-section-anchor__inner {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
  }
}
.s-section-anchor__list {
  display: flex;
  justify-content: center;
  column-gap: 50px;
}

@media screen and (max-width: 768px) {
  .s-section-anchor__list {
    flex-direction: column;
    row-gap: 30px;
    max-width: 300px;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
  }
}

.s-section-anchor__item {
  flex-basis: 300px;
}

@media screen and (max-width: 768px) {
  .s-section-anchor__item {
    flex-basis: unset;
    width: 100%;
  }
}

.s-section-pdf {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: var(--spacing-lg);
}

.s-section-pdf__radius {
  background-color: var(--color-gray-light);
  border-radius: 10px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: var(--spacing-sm);
  padding-bottom: var(--spacing-sm);
}
.s-section-pdf__heading {
  font-size: 25px;
  font-weight: 700;
  text-align: center;
}

.s-section-pdf__list {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
