@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Encode+Sans:wght@100..900&display=swap");
@layer foundation, vendor, layout, component, project, page, utilities;
:root {
  --sans-serif: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --serif: "Noto Serif JP", serif;
  --en-sans: "Encode Sans", sans-serif;
  --en-serif: "Encode Sans", serif;
  --base: #fff;
  --main: #222;
  --accent: #3bc5b2;
  --sp-base-fs: 3.7vw;
  --sp-pad: 5vw;
}

@layer foundation {
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  dl,
  dt,
  dd,
  ol,
  ul,
  figure {
    all: unset;
    display: revert;
  }
  body {
    line-height: 1;
  }
  ol,
  ul {
    list-style: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  img {
    vertical-align: middle;
  }
  summary {
    display: block;
  }
  summary::-webkit-details-marker {
    display: none;
  }
}
@layer foundation {
  html {
    height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 6.25rem;
  }
  @media screen and (max-width: 1500px) and (min-width: 767px) {
    html {
      font-size: 1.0612244898vw;
    }
  }
  @media screen and (max-width: 767px) {
    html {
      font-size: var(--sp-base-fs);
    }
  }
  body {
    text-size-adjust: 100%;
    font-feature-settings: "palt" 1;
    font-family: var(--sans-serif);
    line-height: 1.8;
    min-width: 320px;
    color: var(--main);
    background: var(--base);
    font-size: 1rem;
    line-height: 1.8571428571;
    letter-spacing: 0.16em;
    font-weight: 400;
    transition: 0.25s background;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  :focus-visible {
    outline: 2px solid var(--accent);
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
  }
  img,
  svg,
  iframe,
  video,
  picture {
    max-width: 100%;
  }
  img {
    letter-spacing: 0;
    font-size: 12px;
    height: auto;
  }
  svg {
    vertical-align: top;
  }
  a {
    text-decoration: none;
    word-break: break-all;
    color: currentColor;
  }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      display: inline-block;
      pointer-events: none;
    }
  }
  small {
    font-size: 80%;
  }
  button,
  input[type=button],
  input[type=submit] {
    cursor: pointer;
    font: inherit;
  }
  button,
  input,
  select,
  textarea {
    font: inherit;
    color: inherit;
  }
  label {
    cursor: pointer;
    display: inline-block;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
  }
  summary::-webkit-details-marker {
    display: none;
  }
  summary {
    list-style: none;
    display: block;
    cursor: pointer;
    user-select: none;
  }
}
@layer layout {}
@layer layout {
  .l-footer {
    background: #000;
    color: #fff;
    padding-top: 7.1875rem;
    padding-bottom: 5.3125rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer {
      padding-top: 13.3333333333vw;
      padding-bottom: 6.6666666667vw;
    }
  }
  .l-footer a {
    color: currentColor;
  }
  @media (hover: hover) {
    .l-footer a:hover {
      text-decoration: underline;
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__inner {
      display: grid;
      grid-template-columns: 17.5rem 1fr;
      gap: 0 0.625rem;
    }
  }
  .l-footer__sns {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.375rem;
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__sns {
      justify-content: center;
      gap: 12vw;
      margin-top: 12vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__sns > li.is-x {
      width: 1.6875rem;
    }
    .l-footer__sns > li.is-facebook {
      width: 1.625rem;
    }
    .l-footer__sns > li.is-youtube {
      width: 1.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__sns > li {
      width: 9.3333333333vw;
    }
  }
  .l-footer__sns > li img {
    width: 100%;
  }
  .l-footer__logo {
    width: 15rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__logo {
      width: 48.8vw;
      margin: 0 auto;
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__link-wrap {
      display: flex;
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__link-group {
      padding-left: 3.75rem;
    }
  }
  .l-footer__link-group + .l-footer__link-group {
    margin-top: 2.5rem;
  }
  .l-footer__link-label + .l-footer__link-label {
    margin-top: 0.5625rem;
  }
  .l-footer__link-list {
    font-weight: 300;
  }
  @media screen and (min-width: 768px) {
    .l-footer__link-list {
      font-size: 0.875rem;
    }
  }
  .l-footer__link-list > li {
    margin-top: 0.5625rem;
  }
  .l-footer__link-list a {
    display: inline-block;
    position: relative;
    padding-left: 0.5625rem;
  }
  .l-footer__link-list a::before {
    content: "";
    display: block;
    width: 0.25rem;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0.9375rem;
  }
  .l-footer__link-list .c-icon {
    top: 0.5rem;
  }
  @media screen and (min-width: 768px) {
    .l-footer__msg {
      white-space: nowrap;
    }
  }
  .l-footer__copyright {
    display: block;
    margin-top: 1.25rem;
    font-family: var(--en-sans);
    font-size: 0.75rem;
    letter-spacing: normal;
    font-weight: 300;
    opacity: 0.5;
  }
  @media screen and (max-width: 767px) {
    .l-footer__copyright {
      margin-top: 22.6666666667vw;
      font-size: 2.6666666667vw;
      text-align: center;
    }
  }
}
@layer layout {
  .l-header {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10;
    background: white;
  }
  .l-header.is-scrolled {
    background: rgba(255, 255, 255, 0.8);
  }
  @media screen and (min-width: 768px) {
    .l-header.is-scrolled .l-header__logo {
      width: 11.25rem;
      height: 3.75rem;
      background: url("../img/content/logo_black.svg") 0 0/contain no-repeat;
    }
    .l-header.is-scrolled .l-header__logo img {
      display: none;
    }
    .l-header.is-scrolled .l-header__inner {
      padding: 1rem 1.875rem 1rem 2.5rem;
    }
  }
  .l-header__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 5.3333333333vw;
    transition: 0.25s padding;
  }
  @media screen and (min-width: 768px) {
    .l-header__inner {
      padding: 1.625rem 1.875rem 1.625rem 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header__inner {
      align-items: center;
    }
  }
  .l-header__logo {
    position: relative;
    transition-property: width, height;
    transition-duration: 0.25s;
  }
  @media screen and (min-width: 768px) {
    .l-header__logo {
      aspect-ratio: 257/165;
      width: 11.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header__logo {
      width: 36.5333333333vw;
    }
  }
  .l-header__logo a {
    display: inline-block;
    width: 100%;
    height: 100%;
  }
  .l-header__logo-svg {
    position: absolute;
    left: 0;
    top: 0;
  }
  .l-header__logo-svg svg {
    width: 11.125rem;
    height: 11.125rem;
  }
  @media screen and (max-width: 767px) {
    .l-header__logo-svg svg {
      width: 10.6666666667vw;
      height: 10.6666666667vw;
    }
  }
}
@layer layout {}
.country-selector {
  z-index: 1;
}

.country-selector.weglot-dropdown .wgcurrent {
  position: relative;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  width: 10.625rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .country-selector.weglot-dropdown .wgcurrent {
    font-size: 2.1333333333vw;
    width: 26.6666666667vw;
  }
  .country-selector.weglot-dropdown .wgcurrent .c-icon {
    top: 0.6666666667vw;
  }
}
.country-selector.weglot-dropdown .wgcurrent .wglanguage-name {
  padding: 0 1.25rem;
}
.country-selector.weglot-dropdown .wgcurrent::before {
  content: "Language";
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  padding-left: 1.25rem;
  font-size: 100%;
  left: 0;
  top: 0;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .country-selector.weglot-dropdown .wgcurrent::before {
    font-size: 130%;
  }
}
.country-selector.weglot-dropdown .wgcurrent .wglanguage-name {
  opacity: 0;
}

body .country-selector.weglot-dropdown .wgcurrent::after {
  transform: rotate(0deg);
}

body .country-selector.weglot-dropdown[aria-expanded=true] .wgcurrent::after {
  transform: rotate(-180deg);
}

@layer layout {
  [lang=en] .l-nav__sub-ttl span {
    display: none;
  }
  @media screen and (min-width: 768px) {
    .is-scrolled .l-nav {
      padding-top: 0;
    }
  }
  @media screen and (min-width: 768px) {
    .is-scrolled .l-nav__mega {
      top: 5.625rem;
    }
  }
  @media screen and (min-width: 768px) {
    [lang=en] .l-nav__list {
      gap: 1.125rem;
      font-size: 0.875rem;
    }
  }
  .l-nav {
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    .l-nav.is-expanded .l-nav__body {
      visibility: visible;
      right: 0;
      transform: translateX(0%);
    }
  }
  .l-nav__btn {
    position: relative;
    z-index: 100;
    background: transparent;
    border: 0;
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      width: 16vw;
      height: 20vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn svg {
      width: 6.6666666667vw;
      height: 3.7333333333vw;
    }
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line {
    transform-origin: center center;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-1 {
    transform: rotate(45deg);
    translate: 0 4.9333333333vw;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-2 {
    opacity: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-3 {
    transform: rotate(-45deg);
    translate: 0 -4.9333333333vw;
  }
  .l-nav__line {
    transform-origin: left center;
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    fill: none;
    stroke: #231815;
    stroke-miterlimit: 10;
    stroke-width: 4px;
  }
  @media screen and (min-width: 768px) {
    .l-nav__main {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      height: 100%;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__body {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      height: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__body {
      background: #fff;
      width: 100%;
      height: 100%;
      display: block;
      position: fixed;
      top: 16vw;
      overflow: auto;
      overscroll-behavior-y: contain;
      transition: 0.3s ease-in;
      z-index: 99;
      transform: translateX(100%);
      padding-bottom: 200px;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__list {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      gap: 2.125rem;
      font-weight: 500;
      height: 100%;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__item {
      height: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__item:not(.is-other) {
      border-top: 1px solid #e5e5e5;
      transition: 0.25s background;
    }
    .l-nav__item:not(.is-other).is-expanded {
      background: #f9f9f9;
    }
    .l-nav__item:not(.is-other).is-last {
      margin-bottom: 4vw;
      border-bottom: 1px solid #e5e5e5;
    }
  }
  .l-nav__item .c-icon {
    top: 0.5rem;
  }
  .l-nav__item .is-visible.l-nav__mega {
    pointer-events: fill;
    opacity: 1;
    height: auto;
  }
  .l-nav__item div + p {
    line-height: 1.5;
  }
  @media screen and (min-width: 768px) {
    .l-nav__item div + p {
      margin-top: 0.375rem;
    }
  }
  @media (hover: hover) {
    .l-nav__item.is-hover .l-nav__link:not([aria-current=page]) {
      color: var(--accent);
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__item.is-hover .l-nav__link::before {
      opacity: 1;
    }
  }
  .l-nav__link {
    transition: 0.25s color;
  }
  @media screen and (min-width: 768px) {
    .l-nav__link {
      position: relative;
      display: flex;
      align-items: center;
      height: 100%;
    }
    .l-nav__link .p-icon-toggle {
      display: none;
    }
    .l-nav__link::before {
      content: "";
      display: block;
      position: absolute;
      background: var(--accent);
      left: 0;
      bottom: -1.625rem;
      width: 100%;
      height: 0.4375rem;
      opacity: 0;
      transition: 0.25s opacity;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__link .p-icon-toggle {
      top: 0;
      transform: translateX(14.6666666667vw);
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__link:has(.js-SP-accordion-btn) {
      margin-right: 16vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__link:not(.is-other) {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 3.7333333333vw;
      padding: 5.3333333333vw;
      font-weight: 600;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__link.is-other {
      display: block;
      font-size: 3.7333333333vw;
      padding: 2.6666666667vw 5.3333333333vw;
      font-weight: 600;
    }
  }
  .l-nav__link[aria-current=page] {
    color: var(--accent);
  }
  @media (hover: hover) {
    .l-nav__link:hover:not([aria-current=page]) {
      color: var(--accent);
    }
  }
  .l-nav__sub-ttl {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .l-nav__sub-ttl span {
    display: block;
    font-size: 1rem;
    color: var(--accent);
    margin-top: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .l-nav__mega {
      pointer-events: none;
      transition: 0.25s;
      background: #F8F8F8;
      position: absolute;
      z-index: 100;
      left: 0;
      top: 10.5rem;
      width: 100%;
      height: 0;
      opacity: 0;
      overflow: hidden;
      padding: 2.8125rem;
    }
  }
  .l-nav__cat-name {
    margin-bottom: 1.875rem;
  }
  @media screen and (min-width: 768px) {
    .l-nav__cat-name {
      padding-top: 1.125rem;
    }
  }
  .l-nav__cat-name .c-icon {
    top: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .l-nav__children {
      display: flex;
      flex-direction: row;
      gap: 1.875rem 1.375rem;
      font-size: 0.875rem;
      letter-spacing: 0.08em;
    }
    .l-nav__children.is-middle {
      align-items: center;
    }
    .l-nav__children.is-careers, .l-nav__children.is-ir {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.625rem;
    }
    .l-nav__children.is-careers > *, .l-nav__children.is-ir > * {
      max-width: none;
    }
    .l-nav__children.is-careers a, .l-nav__children.is-ir a {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid #ccc;
      padding: 1.25rem 0.625rem;
    }
    .l-nav__children.is-careers p, .l-nav__children.is-ir p {
      display: block;
      font-size: 1rem;
    }
    .l-nav__children.is-careers .c-icon, .l-nav__children.is-ir .c-icon {
      top: 0;
    }
    .l-nav__children + .l-nav__children {
      margin-top: 1.625rem;
    }
    .l-nav__children > * {
      max-width: 16.25rem;
    }
    .l-nav__children a {
      transition: 0.25s color;
    }
  }
  @media screen and (min-width: 768px) and (hover: hover) {
    .l-nav__children a:hover {
      color: var(--accent);
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__children {
      display: none;
    }
    .l-nav__children > li + li {
      margin-top: 1.3333333333vw;
    }
    .l-nav__children li:last-child {
      padding-bottom: 5.3333333333vw;
    }
    .l-nav__children a {
      display: inline-block;
      position: relative;
      padding-left: 12vw;
    }
    .l-nav__children a::before {
      content: "";
      display: block;
      width: 1.0666666667vw;
      height: 1px;
      background: #000;
      position: absolute;
      left: 9.3333333333vw;
      top: 0.75rem;
    }
  }
  .l-nav__children p {
    display: flex;
    gap: 0.5rem;
  }
  .l-nav__thumb img {
    border-radius: 0.3125rem;
  }
  @media screen and (min-width: 768px) {
    .l-nav__lang {
      margin-left: 3.75rem;
      margin-right: 1rem;
    }
  }
  @media screen and (max-width: 1500px) and (min-width: 767px) {
    .l-nav__lang {
      margin-left: 3.125rem;
    }
  }
  .l-nav__lang-btn {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    padding: 0.625rem;
    width: 10.625rem;
    font-weight: 400;
    font-family: var(--en-sans);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
  }
  @media screen and (max-width: 767px) {
    .l-nav__lang-btn {
      font-size: 2.4vw;
      width: 22.6666666667vw;
      padding: 0.8vw 0 1.3333333333vw 0;
      gap: 2.1333333333vw;
    }
    .l-nav__lang-btn .c-icon {
      top: 0.6666666667vw;
    }
  }
  .l-nav__search-btn {
    border: 0;
    background: transparent;
    padding: 0;
    width: 3.75rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .l-nav__search {
    border: 2px solid #f3f3f3;
    margin: 0 var(--sp-pad);
    margin-top: 8vw;
    font-size: 3.4666666667vw;
  }
  @media screen and (min-width: 768px) {
    .l-nav__search {
      display: none;
    }
  }
  .l-nav__search form {
    display: grid;
    grid-template-columns: 1fr 12.8vw;
  }
  .l-nav__search input[type=text] {
    padding: 0 2.6666666667vw;
    border: 0;
    height: 12.8vw;
  }
  .l-nav__search input[type=text]::placeholder {
    color: #d5d5d5;
  }
  .l-nav__search button {
    overflow: hidden;
    border: 0;
    background: url("../img/icon/search.svg") 50% 50%/4vw auto no-repeat;
    text-indent: -200px;
  }
  .l-nav__sns {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 12vw;
    gap: 10.6666666667vw;
  }
  .l-nav__sns > li {
    width: 9.3333333333vw;
  }
  .l-nav__sns > li.is-x {
    width: 8vw;
  }
}
@layer layout {
  @media screen and (min-width: 768px) {
    body.is-hover .l-page__content {
      filter: blur(10px);
    }
  }
  .l-page {
    transition: 0.25s padding;
    padding-top: 20vw;
  }
  @media screen and (min-width: 768px) {
    .l-page {
      padding-top: 10rem;
    }
  }
  .l-page__body {
    padding-bottom: 10rem;
  }
  @media screen and (max-width: 767px) {
    .l-page__body {
      padding-top: 10.6666666667vw;
      padding-bottom: 21.3333333333vw;
    }
  }
  .l-page__content {
    transition: 0.4s filter;
  }
}
@layer component {
  .c-btn {
    cursor: pointer;
    position: relative;
    display: inline-block;
    line-height: 1.1;
    text-decoration: none;
    user-select: none;
    border: 0;
  }
  .c-btn:hover {
    text-decoration: none;
  }
}
@layer component {
  .c-container {
    width: 84.375rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .c-container-s {
    width: 62.5rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
@layer component {
  .c-icon {
    position: relative;
    display: inline-block;
    background: 50% 50% no-repeat;
    background-size: contain;
    vertical-align: top;
    line-height: 1;
    font-style: normal;
  }
}
@layer project {
  .p-btn-a {
    display: inline-flex;
    align-items: center;
    gap: 0.875rem;
    background: #f2f2f2;
    font-size: 1rem;
    padding: 1.75rem 1.875rem;
    border-radius: 6.25rem;
    letter-spacing: 0.1em;
    transition: 0.25s;
    transition-property: background, color;
  }
  .p-btn-a.is-white {
    background: #fff;
  }
  .p-btn-a:has(.p-icon-arrow-btm-a) {
    justify-content: space-between;
  }
  .p-btn-a.is-white {
    background: #fff;
  }
  .p-btn-a:has(.p-icon-cblank) {
    padding: 1.25rem 1.25rem 1.25rem 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a {
      padding: 5.0666666667vw 5.3333333333vw 5.0666666667vw 8vw;
    }
  }
  .p-btn-a .p-icon-arrow-btm-a {
    transition: fill 0.2s;
  }
  .p-btn-a .p-icon-arrow {
    top: 0.0625rem;
    transition: stroke 0.2s;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a .p-icon-arrow {
      top: 0.5333333333vw;
    }
  }
  @media (hover: hover) {
    .p-btn-a:hover {
      color: #fff;
      background: var(--accent);
    }
    .p-btn-a:hover .p-icon-arrow-btm-a {
      fill: #fff;
    }
    .p-btn-a:hover .p-icon-arrow {
      stroke: #fff;
    }
  }
  .p-btn-b {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.875rem;
    background: #f2f2f2;
    font-size: 0.875rem;
    padding: 1.25rem 1.875rem;
    border-radius: 6.25rem;
    letter-spacing: 0.1em;
    transition: 0.25s;
    transition-property: background, color;
    min-width: 13.125rem;
  }
  .p-btn-b:has(.p-icon-arrow-btm-a) {
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .p-btn-b {
      padding: 5.0666666667vw 5.3333333333vw 5.0666666667vw 8vw;
    }
  }
  .p-btn-b .p-icon-arrow-btm-a {
    transition: fill 0.2s;
  }
  .p-btn-b .p-icon-arrow {
    top: 0.0625rem;
    transition: stroke 0.2s;
  }
  @media screen and (max-width: 767px) {
    .p-btn-b .p-icon-arrow {
      top: 0.5333333333vw;
    }
  }
  @media (hover: hover) {
    .p-btn-b:hover {
      color: #fff;
      background: var(--accent);
    }
    .p-btn-b:hover .p-icon-arrow-btm-a {
      fill: #fff;
    }
    .p-btn-b:hover .p-icon-arrow {
      stroke: #fff;
    }
  }
  .p-btn-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.875rem;
    background: #191919 url("../img/icon/arrow.svg") calc(100% - 2.5rem) 50%/0.5rem auto no-repeat;
    font-size: 1rem;
    padding: 1.75rem 3.75rem 1.75rem 2.5rem;
    border-radius: 6.25rem;
    letter-spacing: 0.1em;
    transition: 0.25s;
    transition-property: background, color;
    color: #fff;
    min-width: 16.25rem;
    text-align: left;
  }
  @media screen and (max-width: 767px) {
    .p-btn-submit {
      padding: 5.0666666667vw 5.3333333333vw;
    }
  }
  @media (hover: hover) {
    .p-btn-submit:hover {
      color: #fff;
      background-color: var(--accent);
    }
    .p-btn-submit:hover .p-icon-arrow {
      stroke: #fff;
    }
  }
}
@layer project {
  [lang=en] .p-hdr-page__ttl {
    display: none;
  }
  .p-hdr-page {
    position: relative;
  }
  .p-hdr-page::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    position: absolute;
    left: 0;
    top: 0;
  }
  @media screen and (min-width: 768px) {
    .p-hdr-page__img {
      height: 18.75rem;
      max-height: calc(100vh - 16.875rem);
    }
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__img {
      height: 86.1333333333vw;
    }
  }
  .p-hdr-page__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p-hdr-page__wtxt {
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 2;
    color: #fff;
    padding: 0rem 2.5rem;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__wtxt {
      padding: 0vw 6.1333333333vw;
    }
  }
  .p-hdr-page__en {
    font-family: var(--en-sans);
    font-size: 3.125rem;
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__en {
      font-size: 10.6666666667vw;
    }
  }
  .p-hdr-page__ttl {
    font-size: 1.4375rem;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__ttl {
      margin-top: 1.3333333333vw;
      font-size: 3.4666666667vw;
    }
  }
  .p-hdr-page__en-in {
    font-family: var(--en-sans);
    font-size: 1.25rem;
    line-height: 1.1;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__en-in {
      font-size: 5.3333333333vw;
    }
  }
  .p-hdr-page__ttl-in {
    font-size: 2.0625rem;
    color: var(--accent);
    line-height: 1.5;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-page__ttl-in {
      font-size: 6.1333333333vw;
    }
  }
  .p-hdr-a {
    display: flex;
    align-items: flex-end;
    gap: 4vw;
  }
  @media screen and (min-width: 768px) {
    .p-hdr-a {
      gap: 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a.is-SP-vertical {
      display: block;
    }
  }
  .p-hdr-a__en {
    font-size: 2.5rem;
    font-family: var(--en-sans);
    font-weight: 600;
    line-height: 1;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__en {
      font-size: 6.6666666667vw;
    }
  }
  .p-hdr-a__ttl {
    font-size: 1rem;
    color: var(--accent);
    letter-spacing: 0.1em;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-a__ttl {
      margin-top: 0.2em;
      font-size: 3.4666666667vw;
    }
  }
  .p-hdr-b {
    margin-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-b {
      margin-bottom: 6.6666666667vw;
    }
  }
  .p-hdr-b__ttl {
    font-size: 1.875rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-b__ttl {
      font-size: 5.3333333333vw;
    }
  }
  .p-hdr-c {
    margin: 0.3em 0 0.3em 0;
  }
  .p-hdr-c__ttl {
    font-size: 1rem;
    font-weight: bold;
  }
  .p-hdr-d {
    margin-bottom: 1.875rem;
  }
  .p-hdr-d__ttl {
    font-size: 1.25rem;
    font-weight: bold;
  }
  .p-hdr-e {
    margin-bottom: 1.875rem;
  }
  .p-hdr-e__ttl {
    font-size: 3.125rem;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-e__ttl {
      font-size: 6.9333333333vw;
    }
  }
  .p-hdr-f {
    position: relative;
    height: 40vw;
  }
  @media screen and (min-width: 768px) {
    .p-hdr-f {
      height: 17.5rem;
    }
  }
  .p-hdr-f__bnr {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .p-hdr-f__bnr[src*="/assets/img/page/business/bnr_1.jpg"] {
    object-position: 100% 50%;
  }
  .p-hdr-f__ttl {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    font-size: 1.875rem;
    font-weight: bold;
    background: #fff;
    padding: 1.25rem 2.875rem 0 0;
  }
  @media screen and (max-width: 767px) {
    .p-hdr-f__ttl {
      padding: 4vw 4vw 0 0;
      margin-right: 6.6666666667vw;
      font-size: 4.5333333333vw;
    }
  }
}
@layer project {
  .p-icon-search {
    width: 2.0625rem;
    height: 2.0625rem;
  }
  .p-icon-arrow {
    width: 0.75rem;
    height: 1.125rem;
    stroke: #000;
  }
  @media screen and (max-width: 767px) {
    .p-icon-arrow {
      width: 2.6666666667vw;
      height: 5.0666666667vw;
    }
  }
  .p-icon-arrow-btm {
    width: 0.5625rem;
    height: 0.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-icon-arrow-btm {
      width: 1.6vw;
      height: 1.0666666667vw;
    }
  }
  .p-icon-arrow-btm-a {
    width: 1rem;
    height: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-icon-arrow-btm-a {
      width: 2.1333333333vw;
      height: 1.0666666667vw;
    }
  }
  .p-icon-tax {
    border: 1px solid #a0a0a0;
    background: #fff;
    text-align: center;
    padding: 0.75rem 0.3125rem;
    letter-spacing: 0.1em;
  }
  @media screen and (min-width: 768px) {
    .p-icon-tax {
      min-width: 7.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-icon-tax {
      white-space: nowrap;
      font-size: 2.6666666667vw;
      padding: 1.3333333333vw;
    }
  }
  .p-icon-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
    border-radius: 100rem;
  }
  @media screen and (max-width: 767px) {
    .p-icon-toggle {
      width: 8vw;
      height: 8vw;
    }
  }
  .p-icon-toggle span {
    position: relative;
    display: block;
  }
  @media screen and (max-width: 767px) {
    .p-icon-toggle span {
      width: 3.3333333333vw;
      height: 3.3333333333vw;
    }
  }
  .p-icon-toggle span::before, .p-icon-toggle span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: #333;
    transform: translateY(50%);
    border-radius: 10px;
  }
  .p-icon-toggle span::before {
    transition: 0.25s transform;
    transform: rotate(90deg);
  }
  .p-icon-toggle span::after {
    transform: rotate(0);
  }
  .p-icon-toggle.is span::before {
    transform: rotate(0deg);
  }
  [open] .p-icon-toggle-a::before {
    transform: rotate(0deg);
  }
  .p-icon-toggle-a {
    width: 2rem;
    height: 2rem;
    background: #fff;
    filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.16));
    border-radius: 6.25rem;
  }
  .p-icon-toggle-a::before, .p-icon-toggle-a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 25%;
    width: 50%;
    height: 2px;
    background: #333;
    transform: translateY(50%);
    border-radius: 10px;
  }
  @media screen and (max-width: 767px) {
    .p-icon-toggle-a {
      width: 7.4666666667vw;
      height: 7.4666666667vw;
    }
    .p-icon-toggle-a::before, .p-icon-toggle-a::after {
      left: 28%;
      width: 46%;
    }
  }
  .p-icon-toggle-a::before {
    transition: 0.25s transform;
    transform: rotate(90deg);
  }
  .p-icon-toggle-a::after {
    transform: rotate(0);
  }
  .p-icon-blank,
  .p-icon-blank-white {
    background-image: url("../img/icon/blank_white.png");
    width: 0.625rem;
    height: 0.625rem;
  }
  .p-icon-blank {
    background-image: url("../img/icon/blank.png");
  }
  .p-icon-cblank {
    width: 2.6875rem;
    height: 2.6875rem;
    background: url("../img/icon/c_blank.png") 0 0/contain no-repeat;
  }
  .p-icon-required {
    font-size: 0.8125rem;
    border-radius: 6.25rem;
    background: #FF4D33;
    color: #fff;
    padding: 0.5em 0.8em;
    font-weight: normal;
  }
  .p-icon-pdf {
    background-image: url("../img/icon/c_pdf.png");
    width: 2.25rem;
    height: 2.25rem;
  }
  .p-icon-new {
    color: var(--accent);
    text-align: left;
    font-size: 0.75rem;
    font-family: var(--en-sans);
  }
}
.p-article__tax {
  margin-bottom: 2.5rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-article__tax {
    margin-bottom: 5.3333333333vw;
  }
}
.p-article__tax > li {
  border: 1px solid #a0a0a0;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-article__tax > li {
    min-width: 7.5rem;
  }
}
.p-article__tax > li a {
  display: block;
  padding: 0.375rem 0.625rem;
  transition-property: color, background;
  transition-duration: 0.25s;
}
@media screen and (max-width: 767px) {
  .p-article__tax > li a {
    white-space: nowrap;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw 2.4vw;
  }
}
@media (hover: hover) {
  .p-article__tax > li a:hover {
    background: var(--main);
    color: #fff;
  }
}
.p-article__date {
  font-family: var(--en-sans);
  font-weight: bold;
}
.p-article__ttl {
  font-size: 1.875rem;
}
.p-article__body {
  line-height: 1.7142857143;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-article__body {
    margin-top: 5.3333333333vw;
  }
}
.p-article__body > * + * {
  margin-top: 2em;
}
.p-article__body h2 {
  margin-top: 4em;
  font-size: 1.375rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-article__body h2 {
    margin-top: 2em;
  }
}
.p-article__body ul {
  list-style: disc;
  margin-left: 12px;
}
.p-article__body ol {
  list-style: decimal;
  margin-left: 18px;
}
.p-article__body li + Li {
  margin-top: 1em;
}
.p-article__body a {
  text-decoration: underline;
}
@media (hover: hover) {
  .p-article__body a:hover {
    text-decoration: none;
  }
}
.p-article__body a[target=_blank]::after {
  content: "";
  position: relative;
  top: 0.625rem;
  display: inline-block;
  vertical-align: bottom;
  width: 2.6875rem;
  height: 2.6875rem;
  background: url("../img/icon/c_blank.png") 0 0/contain no-repeat;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-article__body a[target=_blank]::after {
    margin-left: 0.2666666667vw;
  }
}
.p-article__body a[href$=".pdf"]::after {
  background-image: url("../img/icon/c_pdf.png");
}
.p-article__wlink {
  text-align: center;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-article__wlink {
    margin-top: 2.6666666667vw;
  }
}

/*========================================
  breadcrumb
========================================*/
@layer project {
  .p-breadcrumb {
    margin: 3.75rem 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-breadcrumb {
      display: none;
      margin: 8vw 5.3333333333vw;
    }
  }
  .p-breadcrumb__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 0.875rem;
    gap: 1.75rem;
  }
  .p-breadcrumb__link {
    position: relative;
    color: #A5A5A5;
  }
  .p-breadcrumb__link::after {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    background: #3bc5b2;
    border-radius: 100rem;
    position: absolute;
    top: 50%;
    right: -0.625rem;
  }
  .p-breadcrumb__link[aria-current=page] {
    color: var(--main);
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }
  .p-breadcrumb__link[aria-current=page]::after {
    display: none;
  }
}
@layer project {
  .p-news-list {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-news-list {
      margin-top: 4vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-news-list tr {
      padding: 5.3333333333vw 0 2.6666666667vw 0;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      border-bottom: 1px solid #dcdcdc;
    }
  }
  @media screen and (min-width: 768px) {
    .p-news-list th, .p-news-list td {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem;
      border-bottom: 1px solid #dcdcdc;
    }
  }
  .p-news-list th {
    font-family: var(--en-sans);
    letter-spacing: normal;
    font-weight: 600;
    line-height: 1.5;
  }
  @media screen and (min-width: 768px) {
    .p-news-list th {
      text-align: left;
      width: 7.5rem;
    }
  }
  @media screen and (min-width: 768px) {
    .p-news-list__tax {
      width: 6.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-news-list__tax {
      margin-left: 3.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .p-news-list__ttl {
      padding-left: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-news-list__ttl {
      margin-top: 1.3333333333vw;
      width: 100%;
    }
  }
  .p-news-list__ttl p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .p-news-list__ttl p {
      -webkit-line-clamp: 1;
    }
  }
  .p-news-list__ttl a {
    transition: 0.05s color;
  }
  @media (hover: hover) {
    .p-news-list__ttl a:hover {
      color: var(--accent);
      text-decoration: underline;
    }
  }
}
[lang=en] .p-hdr-a__ttl {
  display: none;
}

.p-owned-media .splide__track {
  overflow: visible;
}
.p-owned-media .splide__arrow {
  position: absolute;
  top: 8.75rem;
  z-index: 10;
  background: url("../img/content/slider_arrow.png") 0 0/contain no-repeat;
  padding: 0;
  border: 0;
  width: 6.0625rem;
  height: 6.0625rem;
  transition: 0.25s opacity;
}
@media screen and (max-width: 767px) {
  .p-owned-media .splide__arrow {
    display: none;
  }
}
@media (hover: hover) {
  .p-owned-media .splide__arrow:hover {
    filter: brightness(200%);
  }
}
.p-owned-media .splide__arrow[disabled] {
  opacity: 0;
}
.p-owned-media .splide__arrow--prev {
  left: -3.25rem;
  transform: scale(-1);
}
.p-owned-media .splide__arrow--next {
  right: -3.25rem;
}
.p-owned-media .splide__arrow svg {
  display: none;
}

@layer project {
  .p-owned-media {
    overflow: hidden;
    background: #f6f6f6;
    padding-top: 6.25rem;
    padding-bottom: 9.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media {
      padding-top: 10.6666666667vw;
      padding-bottom: 17.3333333333vw;
    }
  }
  .p-owned-media__lead {
    margin-top: 2.1875rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__lead {
      margin-top: 6.6666666667vw;
    }
  }
  .p-owned-media__splide {
    margin-top: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__splide {
      margin-top: 9.3333333333vw;
      width: 85.3333333333vw;
    }
  }
  .p-owned-media__item {
    padding: 0 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item {
      padding: 0 5.3333333333vw 0 0;
    }
  }
  .p-owned-media__item-cont {
    display: block;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(229, 229, 229);
    padding: 1.25rem;
    transition: 0.25s filter;
    height: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item-cont {
      padding: 3.2vw;
    }
  }
  @media (hover: hover) {
    .p-owned-media__item-cont:hover {
      filter: brightness(112%);
    }
  }
  .p-owned-media__item-hdr {
    display: flex;
    gap: 1.25rem;
    padding: 1.625rem 0 1.375rem 0;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item-hdr {
      padding: 4vw 0 2.9333333333vw 0;
    }
  }
  .p-owned-media__item-hdr > * {
    width: 49%;
  }
  .p-owned-media__item-ttl {
    font-size: 1.25rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item-ttl {
      font-size: 4vw;
    }
  }
  .p-owned-media__item-logo.is-note {
    width: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item-logo.is-note {
      width: 13.3333333333vw;
    }
  }
  .p-owned-media__item-logo.is-blog {
    width: 9.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__item-logo.is-blog {
      width: 29.3333333333vw;
    }
  }
  .p-owned-media__item-text {
    line-height: 1.7142857143;
  }
  .p-owned-media__bnr {
    margin-top: 5rem;
  }
  @media screen and (min-width: 768px) {
    .p-owned-media__bnr {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-owned-media__bnr {
      margin-top: 16vw;
      display: flex;
      flex-direction: column;
      gap: 4.8vw;
    }
  }
  .p-owned-media__bnr a {
    transition: 0.25s filter;
  }
  @media (hover: hover) {
    .p-owned-media__bnr a:hover {
      filter: brightness(150%);
    }
  }
}
@layer project {
  .p-bnr-careers img {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-bnr-careers {
      height: 53.3333333333vw;
    }
    .p-bnr-careers img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  .p-bnr-careers a {
    transition: 0.25s filter;
  }
  @media (hover: hover) {
    .p-bnr-careers a:hover {
      filter: brightness(150%);
    }
  }
}
@layer project {
  .p-contact {
    background: #F7F7F7;
    text-align: center;
    padding: 3.125rem;
  }
  .p-contact__hdr {
    margin-bottom: 1.25rem;
  }
  .p-contact__ttl {
    font-size: 1.375rem;
    font-weight: 600;
  }
  .p-contact__email {
    margin-top: 1rem;
  }
}
@layer project {
  .p-doc__item,
  .p-doc > * + * {
    margin-top: 1.5rem;
  }
  .p-doc__text {
    line-height: 2;
  }
  .p-doc__map-link-inline {
    text-decoration: underline;
  }
  .p-doc__map-link-inline .p-icon-blank {
    top: 0.6em;
    margin-left: 0.4em;
  }
  @media (hover: hover) {
    .p-doc__map-link-inline:hover {
      text-decoration: none;
    }
  }
  .p-doc__map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: underline;
  }
  @media (hover: hover) {
    .p-doc__map-link:hover {
      text-decoration: none;
    }
  }
}
@layer project {
  @media screen and (min-width: 768px) {
    .p-form {
      font-size: 1.0625rem;
    }
  }
  .p-form fieldset {
    display: contents;
    border: 0;
    padding: 0;
  }
  .p-form label {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
  }
  .p-form textarea + label,
  .p-form input[type=checkbox] + label,
  .p-form input[type=radio] + label {
    cursor: pointer;
  }
  .p-form textarea:focus + label,
  .p-form input[type=checkbox]:focus + label,
  .p-form input[type=radio]:focus + label {
    text-decoration: underline;
  }
  .p-form textarea:disabled + label,
  .p-form input[type=checkbox]:disabled + label,
  .p-form input[type=radio]:disabled + label {
    cursor: not-allowed;
    color: #ccc;
  }
  .p-form select {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #D9D9D9;
    background: #F2F2F2 url("../img/icon/arrow_btm.svg") calc(100% - 1.25rem) 50%/0.875rem auto no-repeat;
    padding: 1rem 5.625rem 1rem 1.25rem;
  }
  .p-form input[type=text],
  .p-form input[type=email],
  .p-form input[type=tel] {
    height: 3.75rem;
  }
  .p-form textarea,
  .p-form input[type=text],
  .p-form input[type=email],
  .p-form input[type=tel] {
    width: 100%;
    border: 1px solid #D9D9D9;
    background: #F2F2F2;
    padding: 1.25rem 1.875rem;
  }
  .p-form textarea::placeholder,
  .p-form input[type=text]::placeholder,
  .p-form input[type=email]::placeholder,
  .p-form input[type=tel]::placeholder {
    color: #BEBEBE;
  }
  @media screen and (max-width: 767px) {
    .p-form textarea,
    .p-form input[type=text],
    .p-form input[type=email],
    .p-form input[type=tel] {
      padding: 1.25rem 1rem;
    }
  }
  .p-form input[type=checkbox] {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    width: 1.375rem;
    height: 1.375rem;
    border: 1px solid #C0C0C0;
  }
  .p-form input[type=checkbox]:checked {
    background: url("../img/icon/check.svg") 50% 50%/80% auto no-repeat;
  }
  .p-form input[type=radio] {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    width: 1.375rem;
    height: 1.375rem;
    border: 1px solid #C0C0C0;
    border-radius: 6.25rem;
  }
  .p-form input[type=radio]:checked::before {
    content: "";
    width: 60%;
    height: 60%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #2DACC6;
    border-radius: 6.25rem;
  }
  .p-form__lead {
    margin-bottom: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .p-form__lead {
      margin-bottom: 10.6666666667vw;
    }
  }
  .p-form__type {
    margin-bottom: 3.75rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3.75rem;
  }
  @media screen and (min-width: 768px) {
    .p-form__type {
      font-size: 1.125rem;
    }
  }
  .p-form__row {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-form__label {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-weight: bold;
  }
  @media screen and (min-width: 768px) {
    .p-form__label {
      font-size: 1.0625rem;
    }
  }
  .p-form__row + .p-form__row {
    margin-top: 3.75rem;
  }
  .p-form__row-item + .p-form__row-item {
    margin-top: 1rem;
  }
  .p-form__input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .p-form__zip {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 1rem;
  }
  .p-form__zip input[type=text] {
    width: 13.75rem;
  }
  .p-form__agree {
    margin-top: 5.625rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .p-form__agree {
      margin-top: 10.6666666667vw;
    }
  }
  .p-form__agree dt {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
  }
  .p-form__agree dd {
    margin-top: 1.25rem;
  }
  .p-form__privacy {
    text-align: center;
    margin-top: 2.5rem;
  }
  .p-form__privacy a {
    text-decoration: underline;
  }
  .p-form__wbtn {
    text-align: center;
    margin-top: 5rem;
  }
  @media screen and (max-width: 767px) {
    .p-form__wbtn {
      margin-top: 10.6666666667vw;
    }
  }
}
@layer project {
  .p-modal {
    overflow: auto;
    display: none;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(12px);
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .p-modal.is-show {
    opacity: 1;
  }
  .p-modal.is-show .p-modal__content {
    margin-top: 0;
  }
  .p-modal__wrap {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 60%;
    transition-property: margin;
    transition-duration: 0.4s;
  }
  .p-modal__content {
    overscroll-behavior: contain;
    overflow: auto;
    position: relative;
    background: #fff;
    padding: 2em;
    width: 100%;
    max-height: 90vh;
    box-sizing: border-box;
    padding: 3.75rem 5rem;
  }
  .p-modal__close-btn {
    cursor: pointer;
    background: #000;
    position: fixed;
    right: 0;
    top: 0;
    border: 0;
    width: 5.25rem;
    height: 5.25rem;
    padding: 0;
    transform: translate(50%, -50%);
    border-radius: 100rem;
    transition: 0.25s background;
  }
  .p-modal__close-btn::before, .p-modal__close-btn::after {
    content: "";
    display: block;
    width: 50%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 25%;
  }
  .p-modal__close-btn::before {
    transform: rotate(-45deg);
  }
  .p-modal__close-btn::after {
    transform: rotate(45deg);
  }
  @media (hover: hover) {
    .p-modal__close-btn:hover {
      background-color: var(--accent);
    }
  }
}
@layer project {
  .p-search__ttl {
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
  }
  .p-search__wform {
    border: 2px solid #707070;
  }
  .p-search__wform form {
    display: grid;
    grid-template-columns: 1fr 4.6875rem;
  }
  .p-search__wform input[type=text] {
    padding: 0 1.875rem;
    border: 0;
    height: 4.6875rem;
    font-size: 1.125rem;
  }
  .p-search__wform input[type=text]::placeholder {
    color: #d5d5d5;
  }
  @media screen and (max-width: 767px) {
    .p-search__wform input[type=text] {
      padding: 0 4vw;
      font-size: 4vw;
      width: 100%;
      height: 13.3333333333vw;
    }
  }
  .p-search__wform button {
    overflow: hidden;
    border: 0;
    background: url("../img/icon/search.svg") 50% 50%/2.0625rem auto no-repeat;
    text-indent: -200px;
  }
  .p-search__tags {
    margin-top: 1.875rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.875rem;
  }
  .p-search__tags a {
    display: block;
    padding: 0.875rem 1.25rem;
    background-color: var(--accent);
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-search__tags a {
      padding: 0.625rem 1.25rem;
    }
  }
}
@layer project {
  .p-list-post {
    border-top: 1px solid #DCDCDC;
  }
  @media screen and (max-width: 767px) {
    .p-list-post {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 4vw;
    }
  }
  .p-list-post__item {
    border-bottom: 1px solid #DCDCDC;
  }
  .p-list-post__thumb {
    height: 8.125rem;
    border: 1px solid #DBDBDB;
  }
  @media screen and (max-width: 767px) {
    .p-list-post__thumb {
      height: 33.3333333333vw;
    }
  }
  .p-list-post__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .p-list-post__ttl {
    display: grid;
    grid-template-columns: 0.875rem 1fr;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    margin-bottom: 0.875rem;
    font-weight: 500;
  }
  @media screen and (max-width: 767px) {
    .p-list-post__ttl {
      margin-bottom: 2.6666666667vw;
    }
  }
  .p-list-post__ttl .p-icon-arrow {
    stroke: var(--accent);
  }
  @media screen and (max-width: 767px) {
    .p-list-post__ttl .p-icon-arrow {
      top: 0.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-list-post__ttl {
      align-items: flex-start;
      font-size: 3.4666666667vw;
    }
  }
  .p-list-post__url {
    margin-top: 1em;
  }
  .p-list-post__url a {
    color: #919191;
  }
  .p-list-post__link {
    padding: 1.875rem 0;
    display: grid;
    grid-template-columns: 11.25rem 1fr;
    gap: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-list-post__link {
      padding: 2.6666666667vw 0;
      gap: 2.6666666667vw;
      display: flex;
      flex-direction: column;
    }
  }
  @media screen and (max-width: 767px) {
    .p-list-post__text {
      text-align: justify;
    }
  }
  .p-list-content {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
  @media screen and (min-width: 768px) {
    .p-list-content.is-row-2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.875rem;
    }
  }
  .p-list-content__item {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  }
  @media screen and (min-width: 768px) {
    .p-list-content__item {
      display: grid;
      grid-template-columns: 31.875rem 1fr;
      align-items: center;
    }
  }
  .p-list-content__item.is-plain {
    display: block;
    padding: 2.5rem 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-list-content__item.is-plain {
      padding: 6.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-list-content__item.is-plain .p-list-content__name {
      margin-top: 0;
    }
  }
  .p-list-content__name {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-list-content__name {
      margin-top: 1.25rem;
    }
  }
  .p-list-content__lead {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 0.625rem;
    letter-spacing: -0.01em;
  }
  .p-list-content__wtext {
    padding: 2.5rem 2.5rem 2.5rem 0rem;
  }
  @media screen and (max-width: 767px) {
    .p-list-content__wtext {
      padding: 0 4vw 4vw 4vw;
    }
  }
  .p-list-content__text {
    letter-spacing: -0.01em;
  }
  .p-list-content__kv {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem;
    line-height: 1.7142857143;
  }
  .p-list-content__kv dt::after {
    content: "：";
  }
  .p-list-content__wlink {
    margin-top: 1.875rem;
  }
  .p-list-content__note {
    font-size: 0.75rem;
    margin-top: 1.25rem;
  }
  .p-list-content__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .p-list-content-a {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }
  @media screen and (min-width: 768px) {
    .p-list-content-a__item {
      display: grid;
      grid-template-columns: 22.5rem 1fr;
      gap: 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-list-content-a__item {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
  }
  .p-list-content-a__img img {
    border: 1px solid #CBCBCB;
  }
  .p-list-content-a__name {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1.25rem;
  }
  .p-list-content-a__lead {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 0.625rem;
    letter-spacing: -0.01em;
  }
  .p-list-content-a__text {
    letter-spacing: -0.01em;
  }
  .p-list-content-a__kv {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem;
    line-height: 1.7142857143;
  }
  .p-list-content-a__kv dt::after {
    content: "：";
  }
  .p-list-content-a__wlink {
    margin-top: 1.875rem;
  }
  .p-list-content-a__note {
    font-size: 0.75rem;
    margin-top: 1.25rem;
  }
  .p-list-content-a__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .p-list-content-a__source {
    font-size: 0.8125rem;
    margin-top: 1.25rem;
    color: rgba(0, 0, 0, 0.7);
  }
  .p-list-content-a .p-btn-a {
    width: 20rem;
    display: inline-flex;
    justify-content: space-between;
  }
  .p-list-disc {
    list-style: disc;
    margin-left: 20px;
  }
  .p-list-disc > li + Li {
    margin-top: 0.75rem;
  }
  .p-list-disc-in {
    list-style: disc;
    list-style-position: inside;
  }
  .p-list-disc-in > li + Li {
    margin-top: 0.125rem;
  }
  .p-list-disc-a li {
    text-indent: -0.7em;
    margin-left: 1em;
  }
  .p-list-disc-a li::before {
    content: "・";
  }
  .p-list-disc-a li + li {
    margin-top: 0.2em;
  }
  .p-list-dl dt {
    margin-top: 0.875rem;
  }
  .p-list-dl-a {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
  }
  @media screen and (min-width: 768px) {
    .p-list-dl-a.is-col2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 3rem 2.5rem;
    }
    .p-list-dl-a.is-col2 .p-list-dl-a__row {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }
    .p-list-dl-a.is-col2 .p-list-dl-a__row.is-full {
      grid-column: 1/3;
    }
  }
  @media screen and (min-width: 768px) {
    .p-list-dl-a__row {
      display: grid;
      grid-template-columns: 8.125rem 1fr;
    }
  }
  @media screen and (max-width: 767px) {
    .p-list-dl-a__row {
      line-height: 1.6;
    }
  }
  .p-list-dl-b {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
  .p-list-dl-b__row {
    display: grid;
    grid-template-columns: 5rem 1fr;
  }
  .p-list-decimal {
    counter-reset: my-counter;
  }
  .p-list-decimal > li {
    position: relative;
    list-style: none;
    padding-left: 1.875rem;
  }
  .p-list-decimal > li + li {
    margin-top: 0.75rem;
  }
  .p-list-decimal > li:before {
    content: counter(my-counter) ".";
    counter-increment: my-counter;
    font-family: var(--en-sans);
    font-weight: 600;
    line-height: 1;
    position: absolute;
    top: 0.5em;
    left: 0;
    font-size: 1rem;
  }
  .p-list-cdecimal {
    counter-reset: my-counter;
  }
  .p-list-cdecimal > li {
    position: relative;
    list-style: none;
    padding-left: 1.5rem;
  }
  .p-list-cdecimal > li + li {
    margin-top: 0.75rem;
  }
  .p-list-cdecimal > li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    border: 1px solid var(--main);
    font-weight: 600;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.125rem;
    width: 1.125rem;
    line-height: 1;
    position: absolute;
    padding-left: 0.1em;
    top: 0.5em;
    left: 0;
    font-size: 90%;
  }
  .p-list-cdecimal-a {
    counter-reset: my-counter;
  }
  .p-list-cdecimal-a > li {
    position: relative;
    list-style: none;
    padding-left: 1.25rem;
  }
  .p-list-cdecimal-a > li + li {
    margin-top: 0.125rem;
  }
  .p-list-cdecimal-a > li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    border: 1px solid var(--main);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1rem;
    width: 1rem;
    line-height: 1;
    position: absolute;
    padding-left: 0.2em;
    top: 0.4em;
    left: 0;
    font-size: 86%;
  }
  .p-list-page-link {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
  }
  .p-list-page-link .c-btn {
    min-width: 16.25rem;
  }
  .p-list-page-link .p-btn-a {
    flex-direction: column;
    gap: 1.25rem;
    padding-bottom: 1rem;
  }
}
@layer project {
  .p-sec-a {
    margin-top: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-sec-a {
      margin-top: 5rem;
    }
  }
  .p-sec-b {
    margin-top: 3.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-sec-b {
      margin-top: 1.25rem;
    }
  }
  .p-sec-c + .p-sec-c {
    margin-top: 11.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-sec-c + .p-sec-c {
      margin-top: 6.25rem;
    }
  }
  .p-sec + .p-sec {
    margin-top: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-sec + .p-sec {
      margin-top: 5rem;
    }
  }
}
@layer project {
  .p-table-fixed {
    table-layout: fixed;
    width: 100%;
  }
  .p-table-a th, .p-table-a td {
    border: 1px solid var(--main);
    padding: 1.125rem 1.75rem;
    vertical-align: top;
  }
  @media screen and (max-width: 767px) {
    .p-table-a th, .p-table-a td {
      padding: 2.4vw 3.4666666667vw;
    }
  }
  .p-table-a th {
    background: #F0F0F0;
    font-weight: normal;
  }
  .p-table-b th, .p-table-b td {
    border-bottom: 1px solid #E2E2E2;
    padding: 1.875rem;
    vertical-align: top;
  }
  @media screen and (max-width: 767px) {
    .p-table-b th, .p-table-b td {
      padding: 0;
      display: block;
    }
  }
  .p-table-b tr:first-child th, .p-table-b tr:first-child td {
    padding-top: 0;
  }
  .p-table-b th {
    text-align: left;
  }
  @media screen and (min-width: 768px) {
    .p-table-b th {
      width: 10.125rem;
      padding-right: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-table-b th {
      padding-top: 3.2vw;
      padding-bottom: 2.1333333333vw;
      border-bottom: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-table-b td {
      padding-bottom: 4.8vw;
    }
  }
}
@layer project {
  .p-note {
    margin-top: 1rem;
    line-height: 1.5714285714;
  }
  .p-note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .p-note * + * {
    margin-top: 0.625rem;
  }
}
@layer project {
  .p-pagination {
    margin-top: 6.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .p-pagination {
      margin-top: 10vw;
    }
  }
  .p-pagination .page-numbers {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 50%;
    color: #111;
    font-size: 1.125rem;
    transition: background 0.25s ease, color 0.25s ease;
  }
  @media screen and (max-width: 767px) {
    .p-pagination .page-numbers {
      width: 9vw;
      height: 9vw;
      font-size: 3vw;
      line-height: 8vw;
    }
  }
  .p-pagination .current {
    background: #111;
    color: #fff;
  }
  .p-pagination .prev, .p-pagination .next {
    position: relative;
    overflow: hidden;
    text-indent: -999px;
  }
  .p-pagination .prev:after, .p-pagination .next:after {
    content: "";
    display: block;
    left: 50%;
    top: 50%;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
    transition: border 0.25s ease;
  }
  @media screen and (max-width: 767px) {
    .p-pagination .prev, .p-pagination .next {
      width: 9vw;
      height: 9vw;
    }
  }
  .p-pagination .prev:after {
    transform: rotate(-135deg);
  }
  .p-pagination .next:after {
    transform: rotate(45deg);
  }
  @media screen and (min-width: 768px) {
    .p-pagination a:hover {
      background: #111;
      color: #fff;
    }
    .p-pagination a:hover:after {
      border-color: #fff;
    }
  }
}
@layer project {
  .p-row.is-4 {
    display: grid;
  }
  @media screen and (min-width: 768px) {
    .p-row.is-4 {
      grid-template-columns: repeat(4, 1fr);
      gap: 3.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-row.is-4 {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
    }
  }
  .p-row.is-3 {
    display: grid;
  }
  @media screen and (min-width: 768px) {
    .p-row.is-3 {
      grid-template-columns: repeat(3, 1fr);
      gap: 3.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-row.is-3 {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
    }
  }
  .p-row.is-2 {
    display: grid;
  }
  @media screen and (min-width: 768px) {
    .p-row.is-2 {
      grid-template-columns: repeat(2, 1fr);
      gap: 3.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-row.is-2 {
      gap: 1.25rem;
    }
  }
}
@layer project {
  .p-hr-a {
    border: 0;
    border-top: 1px solid #C9C9C8;
    margin: 4.375rem 0;
  }
  @media screen and (max-width: 767px) {
    .p-hr-a {
      margin: 10.6666666667vw 0;
    }
  }
}
@layer project {
  .p-item__name {
    margin-top: 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
  }
  .p-item__lead {
    margin-top: 0.875rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
  }
  .p-item__text {
    margin-top: 0.875rem;
    line-height: 1.7142857143;
  }
  .p-item__kv {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem;
    line-height: 1.7142857143;
  }
  .p-item__kv dt::after {
    content: "：";
  }
  .p-item-a {
    text-align: center;
    background: #F7F7F7;
    padding: 1.875rem;
  }
  .p-item-a__en {
    font-size: 2.125rem;
    font-family: var(--en-sans);
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-item-a__en {
      font-size: 8vw;
    }
  }
  .p-item-a__ttl {
    color: var(--accent);
    margin-top: 0.25rem;
    font-size: 1rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-item-a__ttl {
      font-size: 4vw;
    }
  }
  .p-item-a__lead {
    margin-top: 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 1.25rem;
    background: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-item-a__lead {
      font-size: 3.4666666667vw;
    }
  }
  .p-item-a__leads {
    margin-top: 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
  }
  @media screen and (min-width: 768px) {
    .p-item-a__leads {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-item-a__leads {
      display: flex;
      flex-direction: column;
      gap: 2.6666666667vw;
      font-size: 3.4666666667vw;
    }
  }
  .p-item-a__leads > li {
    padding: 1.25rem;
    background: #fff;
  }
  @media screen and (min-width: 768px) {
    .p-item-a__leads > li {
      min-width: 17.5rem;
    }
  }
  .p-item-a__img {
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-item-a__img {
      margin-top: 4vw;
    }
  }
  .p-item-b {
    letter-spacing: normal;
  }
  .p-item-b__en {
    color: var(--accent);
    font-size: 0.875rem;
    font-family: var(--en-sans);
    font-weight: 600;
    margin-top: 0.25rem;
  }
  .p-item-b__name {
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-item-b__name {
      margin-top: 2.6666666667vw;
      font-size: 1rem;
    }
  }
  .p-item-b__role {
    font-weight: 600;
  }
  @media screen and (min-width: 768px) {
    .p-item-b__role {
      margin-top: 1rem;
      font-size: 1rem;
    }
  }
}
@layer project {
  .p-result {
    margin-top: 3.125rem;
  }
  .p-result__ttl {
    margin-bottom: 1.875rem;
    font-size: 1rem;
    font-weight: bold;
  }
}
@layer project {
  .p-filter-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2.5rem 0 3.125rem 0;
    font-size: 1rem;
  }
  .p-filter-link > li {
    flex-grow: 1;
  }
  .p-filter-link__item {
    background: #fff;
    border: 1px solid #DEDEDE;
    height: 3.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1em;
    padding-right: 1em;
  }
  .p-filter-link__item[aria-current=page] {
    background: var(--main);
    color: #fff;
  }
}
@layer project {
  .p-video {
    aspect-ratio: 900/506;
    width: 43.75rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .p-video video,
  .p-video iframe {
    object-fit: contain;
    width: 100%;
    height: 100%;
  }
}
@layer project {
  .p-content-nav-year {
    text-align: center;
  }
  .p-content-nav-year select {
    -webkit-appearance: none;
    appearance: none;
    width: 16.5625rem;
    height: 3.75rem;
    background: #f2f2f2 url("../img/icon/arrow_btm.svg") calc(100% - 1.25rem) 50%/0.875rem auto no-repeat;
    border: 0;
    padding: 0 0.9375rem;
  }
  .p-content-nav {
    background: #fff;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
    margin: 13.3333333333vw 2.6666666667vw;
  }
  @media screen and (min-width: 768px) {
    .p-content-nav {
      margin: 8.75rem auto 6.25rem auto;
      display: grid;
      grid-template-columns: 16.75rem 1fr;
    }
  }
  @media screen and (max-width: 767px) {
    .p-content-nav__img {
      margin-top: 18.6666666667vw;
      height: 61.3333333333vw;
    }
  }
  .p-content-nav__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .p-content-nav__main {
    padding: 2.25rem 3.125rem 1.75rem 3.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-content-nav__main {
      padding: 6.6666666667vw 8vw;
    }
  }
  .p-content-nav__ttl {
    font-weight: 600;
    font-size: 1.5625rem;
    font-family: var(--en-sans), var(--sans-serif);
  }
  @media screen and (max-width: 767px) {
    .p-content-nav__ttl {
      font-size: 5.3333333333vw;
    }
  }
  .p-content-nav__body {
    margin-top: 4vw;
    gap: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .p-content-nav__body {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 1.875rem;
      gap: 1.625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-content-nav__body {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .p-content-nav__pttl {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
  }
  .p-content-nav__list + .p-content-nav__list {
    margin-top: 2.5rem;
  }
  .p-content-nav__items {
    line-height: 1.6;
  }
  .p-content-nav__items > li:not(:first-child) {
    margin-top: 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-content-nav__items > li:not(:first-child) {
      margin-top: 2.1333333333vw;
    }
  }
  .p-content-nav__items a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
  }
  @media (hover: hover) {
    .p-content-nav__items a:hover {
      text-decoration: underline;
    }
  }
}
/*========================================
 * hide
 *
 * クラス : u-hide
========================================*/
@layer utilities {
  .u-hide {
    display: none;
  }
}
@layer utilities {
  [lang=ja] .u-hidden-ja {
    display: none;
  }
  [lang=en] .u-hidden-en {
    display: none;
  }
  @media screen and (max-width: 767px) {
    .u-hidden-ltSP {
      display: none;
    }
  }
  @media screen and (max-width: 991px) {
    .u-hidden-ltTAB {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .u-hidden-gtTAB {
      display: none;
    }
  }
  @media screen and (min-width: 992px) {
    .u-hidden-gtPC {
      display: none;
    }
  }
}
/*========================================
 * margin
========================================*/
@layer utilities {
  .u-mt-10 {
    margin-top: 0.625rem;
  }
  .u-mr-10 {
    margin-right: 0.625rem;
  }
  .u-mb-10 {
    margin-bottom: 0.625rem;
  }
  .u-ml-10 {
    margin-left: 0.625rem;
  }
  .u-mt-20 {
    margin-top: 1.25rem;
  }
  .u-mr-20 {
    margin-right: 1.25rem;
  }
  .u-mb-20 {
    margin-bottom: 1.25rem;
  }
  .u-ml-20 {
    margin-left: 1.25rem;
  }
  .u-mt-30 {
    margin-top: 1.875rem;
  }
  .u-mr-30 {
    margin-right: 1.875rem;
  }
  .u-mb-30 {
    margin-bottom: 1.875rem;
  }
  .u-ml-30 {
    margin-left: 1.875rem;
  }
  .u-mt-40 {
    margin-top: 2.5rem;
  }
  .u-mr-40 {
    margin-right: 2.5rem;
  }
  .u-mb-40 {
    margin-bottom: 2.5rem;
  }
  .u-ml-40 {
    margin-left: 2.5rem;
  }
  .u-mt-50 {
    margin-top: 3.125rem;
  }
  .u-mr-50 {
    margin-right: 3.125rem;
  }
  .u-mb-50 {
    margin-bottom: 3.125rem;
  }
  .u-ml-50 {
    margin-left: 3.125rem;
  }
  .u-mt-60 {
    margin-top: 3.75rem;
  }
  .u-mr-60 {
    margin-right: 3.75rem;
  }
  .u-mb-60 {
    margin-bottom: 3.75rem;
  }
  .u-ml-60 {
    margin-left: 3.75rem;
  }
  .u-mt-70 {
    margin-top: 4.375rem;
  }
  .u-mr-70 {
    margin-right: 4.375rem;
  }
  .u-mb-70 {
    margin-bottom: 4.375rem;
  }
  .u-ml-70 {
    margin-left: 4.375rem;
  }
  .u-mt-80 {
    margin-top: 5rem;
  }
  .u-mr-80 {
    margin-right: 5rem;
  }
  .u-mb-80 {
    margin-bottom: 5rem;
  }
  .u-ml-80 {
    margin-left: 5rem;
  }
  .u-mt-90 {
    margin-top: 5.625rem;
  }
  .u-mr-90 {
    margin-right: 5.625rem;
  }
  .u-mb-90 {
    margin-bottom: 5.625rem;
  }
  .u-ml-90 {
    margin-left: 5.625rem;
  }
  .u-mt-100 {
    margin-top: 6.25rem;
  }
  .u-mr-100 {
    margin-right: 6.25rem;
  }
  .u-mb-100 {
    margin-bottom: 6.25rem;
  }
  .u-ml-100 {
    margin-left: 6.25rem;
  }
  .u-mt-110 {
    margin-top: 6.875rem;
  }
  .u-mr-110 {
    margin-right: 6.875rem;
  }
  .u-mb-110 {
    margin-bottom: 6.875rem;
  }
  .u-ml-110 {
    margin-left: 6.875rem;
  }
  .u-mt-120 {
    margin-top: 7.5rem;
  }
  .u-mr-120 {
    margin-right: 7.5rem;
  }
  .u-mb-120 {
    margin-bottom: 7.5rem;
  }
  .u-ml-120 {
    margin-left: 7.5rem;
  }
  .u-mt-130 {
    margin-top: 8.125rem;
  }
  .u-mr-130 {
    margin-right: 8.125rem;
  }
  .u-mb-130 {
    margin-bottom: 8.125rem;
  }
  .u-ml-130 {
    margin-left: 8.125rem;
  }
  .u-mt-140 {
    margin-top: 8.75rem;
  }
  .u-mr-140 {
    margin-right: 8.75rem;
  }
  .u-mb-140 {
    margin-bottom: 8.75rem;
  }
  .u-ml-140 {
    margin-left: 8.75rem;
  }
  .u-mt-150 {
    margin-top: 9.375rem;
  }
  .u-mr-150 {
    margin-right: 9.375rem;
  }
  .u-mb-150 {
    margin-bottom: 9.375rem;
  }
  .u-ml-150 {
    margin-left: 9.375rem;
  }
  .u-mt-160 {
    margin-top: 10rem;
  }
  .u-mr-160 {
    margin-right: 10rem;
  }
  .u-mb-160 {
    margin-bottom: 10rem;
  }
  .u-ml-160 {
    margin-left: 10rem;
  }
  .u-mt-170 {
    margin-top: 10.625rem;
  }
  .u-mr-170 {
    margin-right: 10.625rem;
  }
  .u-mb-170 {
    margin-bottom: 10.625rem;
  }
  .u-ml-170 {
    margin-left: 10.625rem;
  }
  .u-mt-180 {
    margin-top: 11.25rem;
  }
  .u-mr-180 {
    margin-right: 11.25rem;
  }
  .u-mb-180 {
    margin-bottom: 11.25rem;
  }
  .u-ml-180 {
    margin-left: 11.25rem;
  }
  .u-mt-190 {
    margin-top: 11.875rem;
  }
  .u-mr-190 {
    margin-right: 11.875rem;
  }
  .u-mb-190 {
    margin-bottom: 11.875rem;
  }
  .u-ml-190 {
    margin-left: 11.875rem;
  }
  .u-mt-200 {
    margin-top: 12.5rem;
  }
  .u-mr-200 {
    margin-right: 12.5rem;
  }
  .u-mb-200 {
    margin-bottom: 12.5rem;
  }
  .u-ml-200 {
    margin-left: 12.5rem;
  }
  @media screen and (max-width: 767px) {
    .u-SP-mt-10 {
      margin-top: 1.3333333333vw;
    }
    .u-SP-mr-10 {
      margin-right: 1.3333333333vw;
    }
    .u-SP-mb-10 {
      margin-bottom: 1.3333333333vw;
    }
    .u-SP-ml-10 {
      margin-left: 1.3333333333vw;
    }
    .u-SP-mt-20 {
      margin-top: 2.6666666667vw;
    }
    .u-SP-mr-20 {
      margin-right: 2.6666666667vw;
    }
    .u-SP-mb-20 {
      margin-bottom: 2.6666666667vw;
    }
    .u-SP-ml-20 {
      margin-left: 2.6666666667vw;
    }
    .u-SP-mt-30 {
      margin-top: 4vw;
    }
    .u-SP-mr-30 {
      margin-right: 4vw;
    }
    .u-SP-mb-30 {
      margin-bottom: 4vw;
    }
    .u-SP-ml-30 {
      margin-left: 4vw;
    }
    .u-SP-mt-40 {
      margin-top: 5.3333333333vw;
    }
    .u-SP-mr-40 {
      margin-right: 5.3333333333vw;
    }
    .u-SP-mb-40 {
      margin-bottom: 5.3333333333vw;
    }
    .u-SP-ml-40 {
      margin-left: 5.3333333333vw;
    }
    .u-SP-mt-50 {
      margin-top: 6.6666666667vw;
    }
    .u-SP-mr-50 {
      margin-right: 6.6666666667vw;
    }
    .u-SP-mb-50 {
      margin-bottom: 6.6666666667vw;
    }
    .u-SP-ml-50 {
      margin-left: 6.6666666667vw;
    }
    .u-SP-mt-60 {
      margin-top: 8vw;
    }
    .u-SP-mr-60 {
      margin-right: 8vw;
    }
    .u-SP-mb-60 {
      margin-bottom: 8vw;
    }
    .u-SP-ml-60 {
      margin-left: 8vw;
    }
    .u-SP-mt-70 {
      margin-top: 9.3333333333vw;
    }
    .u-SP-mr-70 {
      margin-right: 9.3333333333vw;
    }
    .u-SP-mb-70 {
      margin-bottom: 9.3333333333vw;
    }
    .u-SP-ml-70 {
      margin-left: 9.3333333333vw;
    }
    .u-SP-mt-80 {
      margin-top: 10.6666666667vw;
    }
    .u-SP-mr-80 {
      margin-right: 10.6666666667vw;
    }
    .u-SP-mb-80 {
      margin-bottom: 10.6666666667vw;
    }
    .u-SP-ml-80 {
      margin-left: 10.6666666667vw;
    }
    .u-SP-mt-90 {
      margin-top: 12vw;
    }
    .u-SP-mr-90 {
      margin-right: 12vw;
    }
    .u-SP-mb-90 {
      margin-bottom: 12vw;
    }
    .u-SP-ml-90 {
      margin-left: 12vw;
    }
    .u-SP-mt-100 {
      margin-top: 13.3333333333vw;
    }
    .u-SP-mr-100 {
      margin-right: 13.3333333333vw;
    }
    .u-SP-mb-100 {
      margin-bottom: 13.3333333333vw;
    }
    .u-SP-ml-100 {
      margin-left: 13.3333333333vw;
    }
    .u-SP-mt-110 {
      margin-top: 14.6666666667vw;
    }
    .u-SP-mr-110 {
      margin-right: 14.6666666667vw;
    }
    .u-SP-mb-110 {
      margin-bottom: 14.6666666667vw;
    }
    .u-SP-ml-110 {
      margin-left: 14.6666666667vw;
    }
    .u-SP-mt-120 {
      margin-top: 16vw;
    }
    .u-SP-mr-120 {
      margin-right: 16vw;
    }
    .u-SP-mb-120 {
      margin-bottom: 16vw;
    }
    .u-SP-ml-120 {
      margin-left: 16vw;
    }
    .u-SP-mt-130 {
      margin-top: 17.3333333333vw;
    }
    .u-SP-mr-130 {
      margin-right: 17.3333333333vw;
    }
    .u-SP-mb-130 {
      margin-bottom: 17.3333333333vw;
    }
    .u-SP-ml-130 {
      margin-left: 17.3333333333vw;
    }
    .u-SP-mt-140 {
      margin-top: 18.6666666667vw;
    }
    .u-SP-mr-140 {
      margin-right: 18.6666666667vw;
    }
    .u-SP-mb-140 {
      margin-bottom: 18.6666666667vw;
    }
    .u-SP-ml-140 {
      margin-left: 18.6666666667vw;
    }
    .u-SP-mt-150 {
      margin-top: 20vw;
    }
    .u-SP-mr-150 {
      margin-right: 20vw;
    }
    .u-SP-mb-150 {
      margin-bottom: 20vw;
    }
    .u-SP-ml-150 {
      margin-left: 20vw;
    }
    .u-SP-mt-160 {
      margin-top: 21.3333333333vw;
    }
    .u-SP-mr-160 {
      margin-right: 21.3333333333vw;
    }
    .u-SP-mb-160 {
      margin-bottom: 21.3333333333vw;
    }
    .u-SP-ml-160 {
      margin-left: 21.3333333333vw;
    }
    .u-SP-mt-170 {
      margin-top: 22.6666666667vw;
    }
    .u-SP-mr-170 {
      margin-right: 22.6666666667vw;
    }
    .u-SP-mb-170 {
      margin-bottom: 22.6666666667vw;
    }
    .u-SP-ml-170 {
      margin-left: 22.6666666667vw;
    }
    .u-SP-mt-180 {
      margin-top: 24vw;
    }
    .u-SP-mr-180 {
      margin-right: 24vw;
    }
    .u-SP-mb-180 {
      margin-bottom: 24vw;
    }
    .u-SP-ml-180 {
      margin-left: 24vw;
    }
    .u-SP-mt-190 {
      margin-top: 25.3333333333vw;
    }
    .u-SP-mr-190 {
      margin-right: 25.3333333333vw;
    }
    .u-SP-mb-190 {
      margin-bottom: 25.3333333333vw;
    }
    .u-SP-ml-190 {
      margin-left: 25.3333333333vw;
    }
    .u-SP-mt-200 {
      margin-top: 26.6666666667vw;
    }
    .u-SP-mr-200 {
      margin-right: 26.6666666667vw;
    }
    .u-SP-mb-200 {
      margin-bottom: 26.6666666667vw;
    }
    .u-SP-ml-200 {
      margin-left: 26.6666666667vw;
    }
  }
}
/*========================================
 * padding
========================================*/
@layer utilities {
  @media screen and (max-width: 1500px) and (min-width: 767px) {
    .u-PC-pad {
      padding-right: 4%;
      padding-left: 4%;
    }
  }
  @media screen and (max-width: 767px) {
    .u-SP-pad {
      padding-right: var(--sp-pad);
      padding-left: var(--sp-pad);
    }
  }
}
/*========================================
 * width
========================================*/
@layer utilities {
  .u-w-var {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .u-w-var {
      width: calc(var(--my-width) / 750 * 100vw);
    }
  }
}
@layer utilities {
  .screen-reader-text,
  .u-screen-reader {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
    word-wrap: normal;
  }
}
@layer utilities {
  .u-ta-left {
    text-align: left;
  }
  .u-ta-center {
    text-align: center;
  }
  .u-ta-right {
    text-align: right;
  }
  @media screen and (max-width: 767px) {
    .u-SP-ta-left {
      text-align: left;
    }
    .u-SP-ta-center {
      text-align: center;
    }
    .u-SP-ta-right {
      text-align: right;
    }
  }
}
@layer utilities {
  .u-link {
    text-decoration: underline;
  }
  @media (hover: hover) {
    .u-link:hover {
      text-decoration: none;
    }
  }
  .u-link-blank {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: underline;
  }
}
/*========================================
 * font-size
========================================*/
@layer utilities {
  .u-fs-s {
    font-size: 0.875rem;
  }
  .u-fs-l {
    font-size: 1rem;
  }
  .u-fs-xl {
    font-size: 1.125rem;
  }
}