@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Maven+Pro:wght@400..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: "Maven Pro", sans-serif;
  --en-serif: "", serif;
  --base: #fff;
  --main: #262728;
  --accent: #009900;
  --accent-light: #99CC00;
  --accent-dark: #008000;
  --fill: #F2F4F5;
  --error: #D15242;
  --error-bg: #FBEDEB;
  --sp-base-fs: calc(16/390*100vw);
  --sp-pad: calc(20/390*100vw);
}

@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;
  }
}
@layer foundation {
  html {
    height: 100%;
    scroll-behavior: smooth;
  }
  @media screen and (min-width: 768px) {
    html {
      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);
  }
  body.is-main-nav-expanded {
    overflow: hidden;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  :focus-visible {
    outline: 2px solid blue;
  }
  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;
  }
  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 {
  .l-content-area {
    padding-top: 6.25rem;
    padding-bottom: 10rem;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .l-content-area {
      padding-top: 14.358974359vw;
      padding-bottom: 16.4102564103vw;
    }
  }
  .l-content-area::before {
    content: "";
    position: absolute;
    bottom: -22.625rem;
    left: -15.625rem;
    width: 39.1875rem;
    height: 32.6875rem;
    background: url("../img/content/content_bg.png") no-repeat center top/contain;
    pointer-events: none;
    z-index: -1;
  }
  @media screen and (max-width: 767px) {
    .l-content-area::before {
      bottom: -30.7692307692vw;
      left: inherit;
      right: -31.7948717949vw;
      width: 81.7948717949vw;
      height: 68.9743589744vw;
      background: url("../img/content/content_bg_sp.png") no-repeat center top/contain;
    }
  }
  .l-content-area__btm {
    text-align: center;
    padding-top: 4rem;
  }
  @media screen and (max-width: 767px) {
    .l-content-area__btm {
      padding-top: 12.3076923077vw;
    }
  }
}
@layer layout {
  .l-footer {
    position: relative;
    z-index: 1;
    background: #262728;
    color: #fff;
    font-size: 0.875rem;
  }
  @media screen and (min-width: 768px) {
    .l-footer__inner {
      padding: 6.25rem 0 1.25rem 0;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__inner {
      padding-top: 15.3846153846vw;
      padding-bottom: 7.6923076923vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-footer__row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .l-footer__row2 {
    border-top: 1px solid #404648;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 10.2564102564vw;
    padding-top: 5.1282051282vw;
  }
  @media screen and (min-width: 768px) {
    .l-footer__row2 {
      padding-top: 0.875rem;
      margin-top: 3.125rem;
    }
  }
  .l-footer__logo {
    width: 13.1875rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__logo {
      width: 51.2820512821vw;
    }
  }
  .l-footer__text {
    margin-top: 1.75rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__text {
      margin-top: 5.1282051282vw;
      font-size: 3.0769230769vw;
    }
  }
  .l-footer__addr {
    margin-top: 1rem;
  }
  @media screen and (max-width: 767px) {
    .l-footer__addr {
      margin-top: 5.1282051282vw;
      line-height: 1.4;
      font-size: 3.0769230769vw;
    }
  }
  .l-footer__map-wlink {
    letter-spacing: 0.05em;
    opacity: 0.6;
    margin-top: 1.0256410256vw;
  }
  @media screen and (min-width: 768px) {
    .l-footer__map-wlink {
      margin-top: 1.375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__map-wlink {
      font-size: 3.0769230769vw;
    }
  }
  .l-footer__map-wlink a {
    display: inline-block;
    transition-property: border;
    transition-duration: 0.2s;
    border-bottom: 1px solid #fff;
    line-height: 1.1;
  }
  @media (hover: hover) {
    .l-footer__map-wlink a:hover {
      border-bottom-color: transparent;
    }
  }
  .l-footer__wlink {
    font-size: 3.5897435897vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.0769230769vw;
  }
  @media screen and (min-width: 768px) {
    .l-footer__wlink {
      font-size: 1rem;
      gap: 1.875rem 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-footer__wlink {
      margin-top: 10.2564102564vw;
    }
  }
  .l-footer__link {
    display: inline-block;
    transition-property: border;
    transition-duration: 0.2s;
    border-bottom: 1px solid transparent;
  }
  @media (hover: hover) {
    .l-footer__link:hover {
      border-bottom-color: #fff;
    }
  }
  .l-footer__other {
    opacity: 0.5;
  }
  @media screen and (max-width: 767px) {
    .l-footer__other {
      font-size: 3.0769230769vw;
    }
  }
  .l-footer__other a {
    display: inline-block;
    transition-property: border;
    transition-duration: 0.2s;
    border: 1px solid transparent;
  }
  @media (hover: hover) {
    .l-footer__other a:hover {
      border-bottom-color: #fff;
    }
  }
  .l-footer__copyright {
    display: block;
    text-align: right;
    font-size: 0.75rem;
    color: #939FA3;
    font-family: var(--en-sans);
  }
  @media screen and (max-width: 767px) {
    .l-footer__copyright {
      font-size: 3.0769230769vw;
    }
  }
}
@layer layout {
  .l-header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
  }
  @media screen and (max-width: 767px) {
    .l-header {
      background: #fff;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    }
  }
  .l-header__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  @media screen and (max-width: 767px) {
    .l-header__inner {
      align-items: center;
      padding: 2.5641025641vw;
    }
  }
  .l-header__logo {
    position: relative;
    z-index: 1000;
    font-size: 10px;
  }
  @media screen and (min-width: 768px) {
    .l-header__logo {
      margin: 2.5rem 1.875rem;
      width: 13.1875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-header__logo {
      width: 31.2820512821vw;
    }
  }
  .l-header__logo-white {
    display: none;
  }
}
@layer layout {}
@layer layout {
  @media screen and (min-width: 768px) {
    .l-nav {
      position: fixed;
      padding: 1.875rem;
      width: 100%;
      display: flex;
      justify-content: flex-end;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 1.5384615385vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav.is-expanded .l-nav__body {
      opacity: 1;
      visibility: visible;
    }
  }
  .l-nav.is-expanded .l-nav__main {
    transform: translateY(0);
  }
  .l-nav__btn {
    position: relative;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    background: #F2F4F5;
    border-radius: 6.25rem;
    border: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-1 {
    opacity: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-2 {
    rotate: 45deg;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-3 {
    opacity: 0;
  }
  .l-nav__btn[aria-expanded=true] .l-nav__line.is-4 {
    rotate: -45deg;
  }
  .l-nav__btn svg {
    width: 4.6153846154vw;
    height: 4.6153846154vw;
  }
  .l-nav__line {
    transform-origin: center center;
    transition-property: opacity, rotate;
    transition-duration: 0.25s;
    stroke: #000;
    stroke-width: 4px;
  }
  @media screen and (max-width: 767px) {
    .l-nav__body {
      background: rgba(0, 0, 0, 0.5);
      width: 100%;
      height: 100vh;
      display: block;
      visibility: hidden;
      position: absolute;
      top: 0;
      left: 0;
      overflow: auto;
      overscroll-behavior-y: contain;
      transition: 0.3s ease-in;
      z-index: 99;
      pointer-events: none;
      opacity: 0;
    }
    .l-nav__body a, .l-nav__body button {
      pointer-events: fill;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__main {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0.3125rem;
      font-size: 1.125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__main {
      transform: translateY(-106%);
      transition: 0.6s transform ease-out;
      transition: 0.4s;
      background: #fff;
      padding-top: 17.9487179487vw;
      padding-left: var(--sp-pad);
      padding-right: var(--sp-pad);
      padding-bottom: 7.6923076923vw;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__list {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      border-radius: 2rem;
      background: #fff;
      box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
      padding: 0 2.5rem;
      gap: 2.625rem;
    }
  }
  @media screen and (min-width: 768px) {
    .l-nav__list2 {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__list2 {
      margin-top: 7.6923076923vw;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2.5641025641vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__list3 {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 1.5384615385vw;
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__item {
      border-bottom: 1px solid #DDDDDD;
    }
  }
  .l-nav__item:nth-child(even) .l-nav__link::after {
    background: var(--accent);
  }
  .l-nav__link {
    position: relative;
    display: inline-block;
    padding: 1.25rem 0;
  }
  @media screen and (max-width: 767px) {
    .l-nav__link {
      display: block;
      padding: 5.1282051282vw 0;
      font-size: 3.8461538462vw;
    }
  }
  .l-nav__link::after {
    content: "";
    display: block;
    width: 0%;
    height: 3px;
    background: #99CC00;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: 0.2s width ease-in;
  }
  @media (hover: hover) {
    .l-nav__link:hover::after {
      width: 100%;
    }
  }
  .l-nav__link-arrow {
    width: 2.8205128205vw;
    height: 2.8205128205vw;
    fill: var(--accent);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 767px) {
    .l-nav__link-arrow {
      display: inline-block;
    }
  }
  .l-nav__link-arrow svg {
    width: 2.8205128205vw;
    height: 2.8205128205vw;
    position: absolute;
    left: 0;
    top: 0;
  }
  .l-nav__btn-a, .l-nav__btn-b, .l-nav__btn-c, .l-nav__btn-d {
    display: inline-block;
    padding: 1.25rem 0;
    background: var(--accent);
    color: #fff;
    border-radius: 6.25rem;
    text-align: center;
    transition: 0.25s filter ease-in;
  }
  @media screen and (min-width: 768px) {
    .l-nav__btn-a, .l-nav__btn-b, .l-nav__btn-c, .l-nav__btn-d {
      width: 10rem;
    }
  }
  @media (hover: hover) {
    .l-nav__btn-a:hover, .l-nav__btn-b:hover, .l-nav__btn-c:hover, .l-nav__btn-d:hover {
      filter: brightness(120%);
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn-a, .l-nav__btn-b {
      width: 100%;
    }
  }
  .l-nav__btn-b, .l-nav__btn-d {
    background: #99CC00;
  }
  @media (hover: hover) {
    .l-nav__btn-b:hover, .l-nav__btn-d:hover {
      filter: brightness(110%);
    }
  }
  @media screen and (max-width: 767px) {
    .l-nav__btn-c, .l-nav__btn-d {
      font-size: 3.0769230769vw;
      padding: 2.5641025641vw 3.8461538462vw;
    }
  }
}
@layer layout {
  .l-page {
    overflow: hidden;
  }
}
@layer component {
  .c-box-gray {
    background: var(--fill);
    border-radius: 2rem;
    padding: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .c-box-gray {
      padding: 8.2051282051vw 5.1282051282vw;
      border-radius: 8px;
    }
  }
}
@layer component {
  .c-btn {
    cursor: pointer;
    position: relative;
    display: inline-block;
    line-height: 1.1;
    text-decoration: none;
    user-select: none;
  }
  .c-btn:hover {
    text-decoration: none;
  }
}
@layer component {
  .c-container {
    width: 90rem;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .c-container--normal {
    width: 75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .c-container--normal {
      width: 100%;
      padding-left: var(--sp-pad);
      padding-right: var(--sp-pad);
    }
  }
}
@layer component {
  .c-form-btn {
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0 !important;
    appearance: none;
  }
  .c-form-btn--back {
    width: 11.5rem !important;
  }
  .c-form-btn--submit .p-btn-a__label {
    transition-delay: 0s !important;
  }
  .c-form-btn--submit:disabled {
    pointer-events: none;
  }
  .c-form-btn--submit:disabled .p-btn-a__inner {
    background: #F2F4F5 !important;
  }
  .c-form-btn--submit:disabled .p-btn-a__label {
    color: #bbb !important;
  }
  .c-form-btn--submit:disabled .p-btn-a__arrow::after {
    background: #bbb !important;
  }
  .c-form-btn--submit:disabled .p-btn-a__arrow svg {
    fill: #fff !important;
  }
  .c-form-input input {
    -webkit-appearance: none;
    -moz-appearance: none;
    line-height: 1;
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    height: 3.5rem;
    padding: 0 1.5rem;
    border: 1px solid #bbb;
    background: #fff;
    border-radius: 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .c-form-input input {
      padding: 0 1rem;
    }
  }
  .c-form-input input::placeholder {
    color: #BBB !important;
  }
  .c-form-input--date input {
    padding-right: 3rem;
    background: #fff url("/assets/img/content/icon_calender.svg") no-repeat right 1rem center/1rem 1.125rem;
  }
  .c-form-input--date input::placeholder {
    color: var(--main) !important;
  }
  .c-form-textarea {
    display: inline-block;
    width: 100%;
    vertical-align: bottom;
  }
  .c-form-textarea textarea {
    resize: none;
    width: 100%;
    line-height: 1.5;
    border: 1px solid #bbb;
    background: #fff;
    border-radius: 0.25rem;
    padding: 1rem 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .c-form-textarea textarea {
      padding: 4.1025641026vw 4.1025641026vw;
      height: 89.7435897436vw;
    }
  }
  .c-form-textarea textarea::placeholder {
    color: #BBB !important;
  }
  .c-form-radio {
    display: inline-block;
    cursor: pointer;
    min-height: 1.5rem;
  }
  .c-form-radio span {
    display: block;
    padding: 0 0 0 2.125rem;
    position: relative;
    line-height: 1.5;
  }
  .c-form-radio span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    border: 1px solid #bbb;
    background: #fff;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    box-sizing: border-box;
  }
  .c-form-radio span:after {
    content: "";
    position: absolute;
    left: 0.375rem;
    top: 0.375rem;
    z-index: 1;
    background: var(--accent);
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    visibility: hidden;
    box-sizing: border-box;
  }
  .c-form-radio input[type=radio] {
    opacity: 0;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
  }
  .c-form-radio input[type=radio]:focus + span:before {
    border: 1px solid #aaa;
  }
  .c-form-radio input[type=radio]:checked + span {
    color: var(--accent);
  }
  .c-form-radio input[type=radio]:checked + span:before {
    border-color: #bbb !important;
    background-color: #fff !important;
  }
  .c-form-radio input[type=radio]:checked + span:after {
    visibility: visible;
  }
  .c-form-checkbox {
    display: inline-block;
    cursor: pointer;
    min-height: 1.5rem;
  }
  .c-form-checkbox span {
    display: block;
    padding: 0 0 0 2.125rem;
    position: relative;
    line-height: 1.5;
  }
  .c-form-checkbox span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    border: 1px solid #bbb;
    border-radius: 0.25rem;
    background: #fff;
    width: 1.5rem;
    height: 1.5rem;
    box-sizing: border-box;
  }
  .c-form-checkbox span:after {
    content: "";
    position: absolute;
    left: 0.375rem;
    top: 0.375rem;
    z-index: 1;
    background-image: url("/assets/img/content/icon_check.svg");
    background-repeat: no-repeat;
    background-size: 0.875rem 0.6875rem;
    width: 0.75rem;
    height: 0.625rem;
    visibility: hidden;
  }
  .c-form-checkbox input[type=checkbox] {
    opacity: 0;
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
  }
  .c-form-checkbox input[type=checkbox]:focus + span:before {
    border-color: #aaa !important;
  }
  .c-form-checkbox input[type=checkbox]:checked + span:before {
    border-color: #bbb !important;
    background-color: #fff !important;
  }
  .c-form-checkbox input[type=checkbox]:checked + span:after {
    visibility: visible;
  }
  .c-form-select {
    display: inline-block;
    width: 100%;
    position: relative;
  }
  .c-form-select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 3.5rem;
    padding: 0 3rem 0 1.5rem;
    border: 1px solid #bbb;
    background: #fff url("/assets/img/content/icon_select.svg") no-repeat right 1rem center/1rem 0.625rem;
    border-radius: 0.25rem;
    box-sizing: border-box;
    cursor: pointer;
  }
  @media screen and (max-width: 767px) {
    .c-form-select select {
      padding: 0 3rem 0 1rem;
    }
  }
  .is-error .c-form-input input {
    border-color: var(--error);
    background-color: var(--error-bg);
  }
  .is-error .c-form-radio input[type=radio] + span:before {
    border-color: var(--error);
    background-color: var(--error-bg);
  }
  .is-error .c-form-checkbox input[type=checkbox] + span:before {
    border-color: var(--error);
    background-color: var(--error-bg);
  }
  .is-error .c-form-select select {
    border-color: var(--error);
    background-color: var(--error-bg);
  }
  .is-error .c-form-textarea textarea {
    border-color: var(--error);
    background-color: var(--error-bg);
  }
  .c-form-error-txt {
    color: var(--error);
    font-size: 0.875rem;
    margin-top: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .c-form-error-txt {
      font-size: 3.5897435897vw;
      margin-top: 1.5384615385vw;
    }
  }
}
@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;
  }
  .c-icon-mask {
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    transition: background 0.3s;
  }
  .c-icon-search {
    width: 1rem;
    height: 1rem;
  }
  .c-icon-search svg {
    width: 100%;
    height: 100%;
    fill: var(--accent);
  }
}
@layer component {
  .c-list-notes li {
    font-size: 0.875rem;
    color: #6B7478;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
  }
  @media screen and (max-width: 767px) {
    .c-list-notes li {
      font-size: 3.5897435897vw;
    }
  }
  .c-list-notes li::before {
    content: "※";
  }
  .c-list-dots li {
    line-height: 2;
    position: relative;
    display: flex;
  }
  .c-list-dots li::before {
    content: "";
    min-width: 0.375rem;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 0.375rem;
    background: var(--accent);
    margin-top: 0.875rem;
    margin-right: 0.5rem;
  }
  .c-list-dots li + li {
    margin-top: 1rem;
  }
}
@layer component {
  .c-table {
    width: 100%;
    border-collapse: collapse;
  }
  .c-table table {
    width: 100%;
  }
  .c-table table th,
  .c-table table td {
    padding: 0.5rem 0.625rem;
    text-align: center;
  }
  .c-table table th {
    font-weight: 500;
    background: #D9E1E6;
  }
  .c-table table td {
    background: #F2F4F5;
  }
  .c-table table tr:not(:last-child) th,
  .c-table table tr:not(:last-child) td {
    border-bottom: 1px solid #fff;
  }
  .c-table table th:not(:last-child),
  .c-table table td:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .c-table-scroll {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .c-table-scroll table {
      width: 256.4102564103vw;
      min-width: 256.4102564103vw;
    }
  }
  @media screen and (max-width: 767px) {
    .c-table-scroll__container {
      width: calc(100% + 10.2564102564vw);
      padding-bottom: 4.1025641026vw;
      margin-left: -5.1282051282vw;
      margin-left: -5.1282051282vw;
    }
  }
  @media screen and (max-width: 767px) {
    .c-table-scroll__inner {
      padding-left: 5.1282051282vw;
      padding-right: 5.1282051282vw;
      min-width: 266.6666666667vw;
    }
  }
  @media screen and (max-width: 767px) {
    .c-table-scroll__icon {
      width: 35.8974358974vw;
      height: 30.7692307692vw;
      position: absolute;
      top: calc(50% - 17.9487179487vw);
      left: calc(50% - 15.3846153846vw);
      background: url("../img/content/icon_scroll.png") no-repeat center center/contain;
      pointer-events: none;
      transition: opacity 0.3s;
    }
  }
  .c-table-scroll__icon.is-hide {
    opacity: 0;
  }
  .c-table-scroll ::-webkit-scrollbar {
    display: none !important;
    -webkit-appearance: none !important;
  }
  .c-table-scroll .simplebar-track.simplebar-horizontal {
    background: var(--fill);
    height: 2px !important;
    border-radius: 2px;
  }
  @media screen and (max-width: 767px) {
    .c-table-scroll .simplebar-track.simplebar-horizontal {
      left: 5.1282051282vw !important;
      right: 5.1282051282vw !important;
    }
  }
  .c-table-scroll .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0;
  }
  .c-table-scroll .simplebar-scrollbar::before {
    top: 0 !important;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px !important;
    background: #BEC6CB !important;
    opacity: 1 !important;
  }
}
@layer component {
  .c-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    line-height: 1.2;
    background: #fff;
    border: 1px solid #BEC6CB;
    border-radius: 4px;
    padding: 0.25rem 0.75rem;
    height: 2.25rem;
    transition: 0.25s;
    transition-property: color;
  }
  @media screen and (max-width: 767px) {
    .c-tag {
      font-size: 3.5897435897vw;
      padding: 1.0256410256vw 3.0769230769vw;
      height: 9.2307692308vw;
    }
  }
  .c-tag:hover {
    color: var(--accent);
  }
  .c-tag.is-active, .c-tag.is-selected {
    background: var(--main);
    color: #fff;
    border-color: var(--main);
  }
  .c-tag[aria-selected=true] {
    background: var(--main);
    color: #fff;
    border-color: var(--main);
  }
  .c-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  }
  @media screen and (max-width: 767px) {
    .c-tag-list {
      gap: 1.5384615385vw;
    }
  }
}
@layer component {
  .c-ttl-02 {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding-top: 2rem;
    position: relative;
    margin-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .c-ttl-02 {
      font-size: 5.641025641vw;
      padding-top: 6.1538461538vw;
      margin-bottom: 6.1538461538vw;
    }
  }
  .c-ttl-02::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.25rem;
    background: var(--fill);
    border-radius: 0.125rem;
  }
  .c-ttl-02::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5rem;
    height: 0.25rem;
    background: var(--accent);
    border-radius: 0.125rem;
  }
  @media screen and (max-width: 767px) {
    .c-ttl-02::after {
      width: 16.4102564103vw;
    }
  }
  .c-ttl-03 {
    font-size: 1.625rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 2rem;
    padding-left: 1.8125rem;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .c-ttl-03 {
      font-size: 5.1282051282vw;
      margin-bottom: 6.1538461538vw;
      padding-left: 5.3846153846vw;
    }
  }
  .c-ttl-03::before {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0;
    width: 0.3125rem;
    height: calc(100% - 0.125rem);
    background: var(--accent-light);
    border-radius: 0.1875rem;
  }
  .c-ttl-03::after {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0;
    width: 0.3125rem;
    height: calc(50% - 0.0625rem);
    background: var(--accent);
    border-radius: 0.1875rem;
  }
  .c-ttl-04 {
    color: var(--accent);
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .c-ttl-04 {
      font-size: 4.6153846154vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .c-ttl-05 {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .c-ttl-05 {
      font-size: 4.358974359vw;
      margin-bottom: 4.1025641026vw;
    }
  }
}
@layer project {
  .p-btn-a {
    overflow: hidden;
    width: 17.5rem;
    color: var(--main);
    font-size: 1rem;
    padding: 2px;
    text-align: center;
    border-radius: 6.25rem;
    overflow: hidden;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a {
      font-size: 4.1025641026vw;
      width: 66.6666666667vw;
    }
  }
  .p-btn-a.is-gray .p-btn-a__inner {
    background: #F2F4F5;
  }
  .p-btn-a.is-green .p-btn-a__inner {
    background: var(--accent);
  }
  .p-btn-a__inner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9375rem;
    border-radius: 6.25rem;
    background: #fff;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a__inner {
      gap: 2.0512820513vw;
    }
  }
  .p-btn-a__inner > * {
    position: relative;
    z-index: 2;
  }
  @media (hover: hover) {
    .p-btn-a:hover .p-btn-a__label {
      color: #fff;
    }
    .p-btn-a:hover .p-btn-a__list::before,
    .p-btn-a:hover .p-btn-a__blank::before,
    .p-btn-a:hover .p-btn-a__pdf::before,
    .p-btn-a:hover .p-btn-a__upload::before,
    .p-btn-a:hover .p-btn-a__arrow::before {
      scale: 2000%;
    }
    .p-btn-a:hover .p-btn-a__list::after,
    .p-btn-a:hover .p-btn-a__blank::after,
    .p-btn-a:hover .p-btn-a__pdf::after,
    .p-btn-a:hover .p-btn-a__upload::after,
    .p-btn-a:hover .p-btn-a__arrow::after {
      scale: 130%;
      background: #fff;
    }
    .p-btn-a:hover .p-btn-a__list svg,
    .p-btn-a:hover .p-btn-a__blank svg,
    .p-btn-a:hover .p-btn-a__pdf svg,
    .p-btn-a:hover .p-btn-a__upload svg,
    .p-btn-a:hover .p-btn-a__arrow svg {
      fill: var(--accent);
    }
  }
  .p-btn-a__label {
    width: 11.5rem;
    transition-property: color;
    transition-delay: 0.3s;
  }
  @media screen and (max-width: 767px) {
    .p-btn-a__label {
      width: 41.0256410256vw;
    }
  }
  .p-btn-a__arrow, .p-btn-a__blank, .p-btn-a__pdf, .p-btn-a__upload, .p-btn-a__list {
    --delay: .35s;
    transition-duration: 0.3s;
    transition-property: background, scale;
    transition-timing-function: ease-out;
    transition-delay: var(--delay);
    width: 2rem;
    height: 2rem;
    border-radius: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-btn-a__arrow::before, .p-btn-a__arrow::after, .p-btn-a__blank::before, .p-btn-a__blank::after, .p-btn-a__pdf::before, .p-btn-a__pdf::after, .p-btn-a__upload::before, .p-btn-a__upload::after, .p-btn-a__list::before, .p-btn-a__list::after {
    content: "";
    pointer-events: none;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--accent);
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    transition-property: scale, background;
    transition-duration: 0.5s;
    transition-delay: 0.1s;
    transition-timing-function: ease-in-out;
    border-radius: 6.25rem;
  }
  .p-btn-a__arrow::after, .p-btn-a__blank::after, .p-btn-a__pdf::after, .p-btn-a__upload::after, .p-btn-a__list::after {
    z-index: 2;
    transition-delay: 0.01s;
  }
  .p-btn-a__arrow svg, .p-btn-a__blank svg, .p-btn-a__pdf svg, .p-btn-a__upload svg, .p-btn-a__list svg {
    position: relative;
    z-index: 3;
    fill: #fff;
    width: 0.625rem;
    height: 0.625rem;
    transition-duration: 0.3s;
    transition-property: fill;
    transition-timing-function: ease-out;
  }
  .p-btn-a__arrow--back svg {
    transform: rotate(180deg);
  }
  .p-btn-a__list svg {
    width: 0.75rem;
    height: 0.6875rem;
  }
  .p-btn-a__blank svg {
    width: 0.9375rem;
    height: 0.8125rem;
  }
  .p-btn-a__pdf svg {
    width: 1.25rem;
    height: 0.5rem;
  }
  .p-btn-a__upload svg {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-btn-a.is-green .p-btn-a__label {
    color: #fff;
  }
  .p-btn-a.is-green .p-btn-a__arrow::before,
  .p-btn-a.is-green .p-btn-a__upload::before {
    background: var(--accent-dark);
  }
  .p-btn-a.is-green .p-btn-a__arrow::after,
  .p-btn-a.is-green .p-btn-a__upload::after {
    background: #fff;
  }
  .p-btn-a.is-green .p-btn-a__arrow svg,
  .p-btn-a.is-green .p-btn-a__upload svg {
    fill: var(--accent);
  }
  .p-btn-a.is-green:hover .p-btn-a__arrow svg,
  .p-btn-a.is-green:hover .p-btn-a__upload svg {
    fill: var(--accent-dark);
  }
  .p-btn-b {
    color: var(--main);
    font-size: 1rem;
  }
  .p-btn-b__inner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .p-btn-b__inner > * {
    position: relative;
    z-index: 2;
  }
  @media (hover: hover) {
    .p-btn-b:hover .p-btn-b__label {
      color: var(--accent);
    }
    .p-btn-b:hover .p-btn-b__arrow::before {
      scale: 120%;
    }
  }
  .p-btn-b__label {
    width: 11.5rem;
    transition-property: color;
    transition-duration: 0.3s;
  }
  .p-btn-b__arrow {
    --delay: .35s;
    width: 2rem;
    height: 2rem;
    border-radius: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-duration: 0.3s;
    transition-property: background, scale;
    transition-timing-function: ease-out;
  }
  .p-btn-b__arrow::before {
    content: "";
    pointer-events: none;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--accent);
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    transition-property: scale, background;
    transition-duration: 0.3s;
    transition-delay: 0.1s;
    transition-timing-function: ease-in-out;
    border-radius: 6.25rem;
  }
  .p-btn-b__arrow svg {
    position: relative;
    z-index: 3;
    fill: #fff;
    width: 0.625rem;
    height: 0.625rem;
    transition-duration: 0.3s;
    transition-property: fill;
    transition-timing-function: ease-out;
  }
}
@layer project {
  .p-form__section + .p-form__section {
    margin-top: 7.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-form__section + .p-form__section {
      margin-top: 16.4102564103vw;
    }
  }
  .p-form__section-note {
    margin-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-form__section-note {
      margin-bottom: 6.1538461538vw;
    }
  }
  .p-form__controls {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    padding-top: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-form__controls {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6.6666666667vw;
      padding-top: 13.8461538462vw;
    }
  }
  .p-form__controls .c-form-btn--back {
    grid-column: 1;
  }
  @media screen and (max-width: 767px) {
    .p-form__controls .c-form-btn--back {
      order: 2;
    }
  }
  .p-form__controls .c-form-btn--submit {
    grid-column: 2;
    justify-self: center;
  }
  @media screen and (max-width: 767px) {
    .p-form__controls .c-form-btn--submit {
      order: 1;
    }
  }
  .p-form-block {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-block {
      margin-top: 12.3076923077vw;
    }
  }
  .p-form-group + .p-form-group {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-group + .p-form-group {
      margin-top: 12.3076923077vw;
    }
  }
  .p-form-group__head {
    display: flex;
    align-items: center;
    margin-bottom: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-group__head {
      margin-bottom: 6.1538461538vw;
    }
  }
  .p-form-group__head .c-ttl-03 {
    margin-bottom: 0;
  }
  .p-form-group__tag {
    font-size: 0.8125rem;
    color: #6B7478;
    border: 1px solid #6B7478;
    border-radius: 0.25rem;
    min-width: 3rem;
    height: 1.625rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-group__tag {
      width: 2.5rem;
      margin-left: 2.0512820513vw;
    }
  }
  .p-form-group__tag.is-required {
    color: var(--accent);
    border-color: var(--accent);
  }
  .p-form-group__body p:not([class]) {
    line-height: 2;
  }
  .p-form-column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5rem;
    row-gap: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-column {
      grid-template-columns: 1fr;
      gap: 12.3076923077vw;
    }
  }
  .p-form-column + .p-form-column {
    margin-top: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-column + .p-form-column {
      margin-top: 12.3076923077vw;
    }
  }
  .p-form-column .p-form-group {
    margin-top: 0;
  }
  .p-form-column--wide {
    grid-template-columns: 1fr;
  }
  .p-form-radio-list {
    display: flex;
    gap: 2rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-radio-list {
      flex-direction: column;
      gap: 6.1538461538vw;
      margin-bottom: 3.0769230769vw;
    }
  }
  .p-form-visit {
    display: flex;
    gap: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-visit {
      flex-direction: column;
      gap: 2.5641025641vw;
    }
  }
  .p-form-visit + .p-form-visit {
    margin-top: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-visit + .p-form-visit {
      margin-top: 6.1538461538vw;
    }
  }
  .p-form-visit__ttl {
    font-weight: 500;
    width: 8.75rem;
    padding-top: 0.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-visit__ttl {
      padding-top: 0;
    }
  }
  .p-form-visit__date {
    width: 20rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-visit__date {
      width: 100%;
    }
  }
  .p-form-visit__time {
    width: 20rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-visit__time {
      width: 100%;
    }
  }
  .p-form-address {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .p-form-address__item--zip {
    display: flex;
    gap: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-address__item--zip .c-form-input {
      flex: 1;
    }
  }
  .p-form-address .c-form-btn--zip {
    color: #fff;
    background: var(--accent);
    border-radius: 1.75rem;
    width: 8.75rem;
    padding: 0 1.5rem !important;
    transition: 0.25s filter ease-in;
  }
  @media screen and (max-width: 767px) {
    .p-form-address .c-form-btn--zip {
      width: 8.75rem;
      padding: 0 1rem !important;
    }
  }
  .p-form-address .c-form-btn--zip:hover {
    filter: brightness(120%);
  }
  .p-form-address__item--prefectures {
    width: 18.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-address__item--prefectures {
      width: 100%;
    }
  }
  .p-form-file {
    display: grid;
    grid-template-columns: 1fr auto auto;
    column-gap: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-file {
      grid-template-columns: 1fr;
      gap: 2.5641025641vw;
    }
  }
  .p-form-file__input {
    display: none;
  }
  .p-form-file__label {
    display: flex;
    align-items: center;
    min-height: 3.5rem;
    padding: 0.375rem 1.5rem;
    margin-right: 1rem;
    border: 1px solid #bbb;
    flex: 1;
    justify-content: space-between;
    background: #fff;
    border-radius: 0.25rem;
    overflow: hidden;
    cursor: pointer;
  }
  @media screen and (max-width: 767px) {
    .p-form-file__label {
      line-height: 1.5;
      padding: 0.75rem 1rem;
      margin-right: 0;
      height: auto;
    }
  }
  .p-form-file__name.is-empty {
    color: #bbb;
  }
  .p-form-file__btn {
    width: 14.25rem;
    height: 3.5rem;
    display: flex;
  }
  @media screen and (max-width: 767px) {
    .p-form-file__btn {
      width: 55.8974358974vw;
    }
  }
  .p-form-file__btn .p-btn-a__inner {
    padding: 0.75rem 0.9375rem;
  }
  .p-form-file__btn .p-btn-a__label {
    width: 9.5rem;
  }
  .p-form-file__btn-remove {
    width: 11.5rem;
    height: 3.5rem;
    display: flex;
    pointer-events: none;
    opacity: 0;
  }
  @media screen and (max-width: 767px) {
    .p-form-file__btn-remove {
      width: 35.3846153846vw;
      opacity: 1;
      display: none;
    }
  }
  .p-form-file__btn-remove.is-active {
    pointer-events: auto;
  }
  @media screen and (max-width: 767px) {
    .p-form-file__btn-remove.is-active {
      display: block;
    }
  }
  .p-form-file__btn-remove .p-btn-a {
    border: none;
  }
  .p-form-file__btn-remove .p-btn-a__inner {
    padding: 0.75rem 0.9375rem;
  }
  .p-form-file__btn-remove .p-btn-a__label {
    width: 5.5rem;
  }
  .p-form-file__btn-remove .p-btn-a__arrow svg {
    width: 1rem;
    height: 1rem;
  }
  .p-form-file.is-uploaded .p-form-file__btn-remove {
    opacity: 1;
    pointer-events: auto;
  }
  @media screen and (max-width: 767px) {
    .p-form-file.is-uploaded .p-form-file__btn-remove {
      display: flex;
    }
  }
  .is-error .p-form-file__label {
    border-color: var(--error);
    background: var(--error-bg);
  }
  .p-form-actions {
    text-align: center;
    margin-top: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-actions {
      margin-top: 12.3076923077vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-form-actions__txt {
      font-size: 3.5897435897vw;
    }
  }
  .p-form-actions__txt a {
    color: var(--accent);
    text-decoration: underline;
  }
  .p-form-actions__txt a:hover {
    text-decoration: none;
  }
  .p-form-actions .p-form__controls {
    padding-top: 2rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-actions .p-form__controls {
      padding-top: 6.1538461538vw;
    }
  }
  .p-form-agree {
    margin-top: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-agree {
      margin-top: 8.2051282051vw;
    }
  }
  .p-form-agree .c-form-checkbox span {
    padding-left: 2.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-form-agree .c-form-checkbox span {
      font-size: 3.5897435897vw;
      padding-top: 0.2564102564vw;
    }
  }
}
.ui-datepicker-today {
  opacity: 1 !important;
}
.ui-datepicker-today .ui-state-default {
  background: #fbf79f !important;
}

@layer project {
  .p-icon-tax {
    background: var(--accent);
    color: #fff;
    font-size: 0.875rem;
    padding: 0.5rem;
    text-align: center;
    border-radius: 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-icon-tax {
      padding: 1.0256410256vw;
      border-radius: 1.0256410256vw;
      font-size: 3.0769230769vw;
    }
  }
  .p-icon-arrow {
    --delay: .35s;
    transition-duration: 0.3s;
    transition-property: background, scale;
    transition-timing-function: ease-out;
    transition-delay: var(--delay);
    width: 2rem;
    height: 2rem;
    border-radius: 6.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-icon-arrow::before, .p-icon-arrow::after {
    content: "";
    pointer-events: none;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--accent);
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    transition-property: scale, background;
    transition-duration: 0.5s;
    transition-timing-function: ease-in-out;
    border-radius: 6.25rem;
  }
  .p-icon-arrow svg {
    position: relative;
    z-index: 3;
    fill: #fff;
    width: 0.625rem;
    height: 0.625rem;
    transition-duration: 0.3s;
    transition-property: fill;
    transition-timing-function: ease-out;
  }
  .p-icon-blank {
    width: 2rem;
    height: 2rem;
    border-radius: 6.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--accent);
  }
  @media screen and (max-width: 767px) {
    .p-icon-blank {
      width: 8.2051282051vw;
      height: 8.2051282051vw;
    }
  }
  .p-icon-blank svg {
    position: relative;
    z-index: 3;
    fill: #fff;
    width: 1rem;
    height: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-icon-blank svg {
      width: 4.1025641026vw;
      height: 4.1025641026vw;
    }
  }
}
@layer project {
  .p-nav-row {
    margin-top: 6.6666666667vw;
  }
  @media screen and (min-width: 768px) {
    .p-nav-row {
      margin-top: 3.5rem;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
    }
  }
  .p-nav-row__item-1 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
  }
  @media screen and (min-width: 768px) {
    .p-nav-row__item-2 {
      display: flex;
      justify-content: flex-end;
    }
  }
  @media screen and (max-width: 767px) {
    .p-nav-row__item-2 {
      margin-top: 5.1282051282vw;
    }
    .p-nav-row__item-2 .c-btn {
      width: 56.9230769231vw;
    }
  }
  .p-nav-slick {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    border-radius: 6.25rem;
    overflow: hidden;
  }
  .p-nav-slick:has(.c-btn) {
    width: 7.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-nav-slick:has(.c-btn) {
      width: 24.1025641026vw;
    }
  }
  .p-nav-slick__btn {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: var(--accent);
    height: 4rem;
    border: 0;
    width: 50%;
    transition: 0.25s background;
  }
  @media screen and (max-width: 767px) {
    .p-nav-slick__btn {
      height: 12.8205128205vw;
    }
  }
  .p-nav-slick__btn svg {
    fill: #fff;
    width: 1.125rem;
    height: 1.125rem;
    border: 0;
    transition: 0.25s transform;
  }
  @media screen and (max-width: 767px) {
    .p-nav-slick__btn svg {
      width: 3.8461538462vw;
      height: 3.8461538462vw;
    }
  }
  .p-nav-slick__btn.is-prev svg {
    rotate: -180deg;
  }
  .p-nav-slick__btn.is-prev::before {
    content: "";
    display: block;
    width: 1px;
    height: 2.1875rem;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translate(-1px, -50%);
    border-right: 1px solid #008000;
    border-left: 1px solid #27B227;
  }
  @media (hover: hover) {
    .p-nav-slick__btn:hover {
      background: #008f00;
    }
    .p-nav-slick__btn:hover svg {
      transform: translateX(3px);
    }
  }
  .p-nav-slick-num {
    width: 7.5rem;
    height: 4rem;
    background: #fff;
    border-radius: 6.25rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-family: var(--en-sans);
    gap: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .p-nav-slick-num {
      font-size: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-nav-slick-num {
      width: 23.0769230769vw;
      height: 12.8205128205vw;
    }
  }
  .p-nav-slick-num__sep {
    color: #CCCCCC;
  }
}
@layer project {
  .p-article .l-content-area {
    padding-top: 0;
  }
  .p-article-header {
    padding-top: 10.5rem;
    margin-bottom: 5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-header {
      padding-top: 26.6666666667vw;
      margin-bottom: 8.2051282051vw;
    }
  }
  .p-article-header__inner {
    width: 75rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    margin-right: auto;
    margin-left: auto;
  }
  @media screen and (max-width: 767px) {
    .p-article-header__inner {
      width: 100%;
      padding-left: var(--sp-pad);
      padding-right: var(--sp-pad);
    }
  }
  .p-article-header__data {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-header__data {
      gap: 4.1025641026vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .p-article-header__date {
    font-size: 0.875rem;
    font-family: var(--en-sans);
  }
  @media screen and (max-width: 767px) {
    .p-article-header__date {
      font-size: 3.0769230769vw;
    }
  }
  .p-article-header__tag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .p-article-header__tag .p-icon-tax {
    font-size: 0.875rem;
    min-width: 6.875rem;
    padding: 0.375rem 0.3125rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-header__tag .p-icon-tax {
      font-size: 3.0769230769vw;
      min-width: 26.6666666667vw;
      padding: 1.0256410256vw 1.2820512821vw;
    }
  }
  .p-article-header__ttl {
    margin-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-header__ttl {
      margin-bottom: 0;
    }
  }
  .p-article-header__ttl-main {
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-article-header__ttl-main {
      font-size: 7.1794871795vw;
    }
  }
  @media screen and (max-width: 767px) {
    .p-article-header__breadcrumbs {
      display: none;
    }
  }
  .p-article-main {
    line-height: 2;
    letter-spacing: 0.08em;
  }
  .p-article-main img {
    display: block;
    width: 100%;
    max-width: 62.5rem;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }
  .p-article-main p {
    line-height: 2;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  @media screen and (max-width: 767px) {
    .p-article-main p {
      margin-top: 4.1025641026vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .p-article-main p:first-child {
    margin-top: 0;
  }
  .p-article-main a:not([class]) {
    color: var(--accent);
    text-decoration: underline;
  }
  .p-article-main a:not([class]):hover {
    text-decoration: none;
  }
  .p-article-main a[target=_blank]:not([class]) {
    position: relative;
  }
  .p-article-main a[target=_blank]:not([class])::after {
    content: "";
    display: inline-block;
    position: relative;
    top: 0.125rem;
    right: 0;
    margin-left: 0.125rem;
    width: 1rem;
    height: 1rem;
    background-image: url("/assets/img/content/icon_external.svg");
    background-size: cover;
  }
  .p-article-main h1,
  .p-article-main h2 {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding-top: 2rem;
    position: relative;
    margin-top: 6.25rem;
    margin-bottom: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main h1,
    .p-article-main h2 {
      font-size: 5.641025641vw;
      padding-top: 6.1538461538vw;
      margin-top: 16.4102564103vw;
      margin-bottom: 6.1538461538vw;
    }
  }
  .p-article-main h1::before,
  .p-article-main h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.25rem;
    background: var(--fill);
    border-radius: 0.125rem;
  }
  .p-article-main h1::after,
  .p-article-main h2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5rem;
    height: 0.25rem;
    background: var(--accent);
    border-radius: 0.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main h1::after,
    .p-article-main h2::after {
      width: 16.4102564103vw;
    }
  }
  .p-article-main h3 {
    font-size: 1.625rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-top: 4rem;
    margin-bottom: 2rem;
    padding-left: 1.8125rem;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-article-main h3 {
      font-size: 5.1282051282vw;
      margin-top: 14.358974359vw;
      margin-bottom: 6.1538461538vw;
      padding-left: 5.3846153846vw;
    }
  }
  .p-article-main h3::before {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0;
    width: 0.3125rem;
    height: calc(100% - 0.125rem);
    background: var(--accent-light);
    border-radius: 0.1875rem;
  }
  .p-article-main h3::after {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0;
    width: 0.3125rem;
    height: calc(50% - 0.0625rem);
    background: var(--accent);
    border-radius: 0.1875rem;
  }
  .p-article-main h4 {
    color: var(--accent);
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-top: 3.375rem;
    margin-bottom: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main h4 {
      font-size: 4.6153846154vw;
      margin-top: 8.2051282051vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .p-article-main h5,
  .p-article-main h6 {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-top: 3.375rem;
    margin-bottom: 1.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main h5,
    .p-article-main h6 {
      font-size: 4.358974359vw;
      margin-top: 8.2051282051vw;
      margin-bottom: 4.1025641026vw;
    }
  }
  .p-article-main .p-btn-a {
    width: auto;
    min-width: 17.5rem;
    max-width: 22.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .p-btn-a {
      min-width: inherit;
      max-width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .p-article-main .p-btn-a__label {
      width: auto;
      padding-left: 4.1025641026vw;
      padding-right: 4.1025641026vw;
    }
  }
  .p-article-main ul:not(.note) {
    padding-left: 0.875rem;
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .p-article-main ul:not(.note) li {
    position: relative;
    line-height: 1.5;
  }
  .p-article-main ul:not(.note) li + li {
    margin-top: 0.5rem;
  }
  .p-article-main ul:not(.note) li::before {
    content: "";
    display: block;
    width: 0.375rem;
    height: 0.375rem;
    background: var(--accent);
    border-radius: 50%;
    position: absolute;
    top: 0.625rem;
    left: -0.75rem;
  }
  .p-article-main ul.note {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .p-article-main ul.note li {
    font-size: 0.875rem;
    color: #6B7478;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
  }
  @media screen and (max-width: 767px) {
    .p-article-main ul.note li {
      font-size: 3.5897435897vw;
    }
  }
  .p-article-main ul.note li::before {
    content: "※";
  }
  .p-article-main ol {
    padding-left: 0.875rem;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0.5em;
  }
  .p-article-main ol li {
    list-style-type: decimal;
    line-height: 1.5;
  }
  .p-article-main ol li + li {
    margin-top: 0.5rem;
  }
  .p-article-main .column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .column {
      grid-template-columns: 1fr;
      gap: 6.1538461538vw 0;
    }
  }
  .p-article-main .column + .column {
    margin-top: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .column + .column {
      margin-top: 10.2564102564vw;
    }
  }
  .p-article-main .column p {
    margin-top: 0;
    margin-bottom: 0;
  }
  .p-article-main .column p + p {
    margin-top: 1.5em;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .column p + p {
      margin-top: 1em;
    }
  }
  .p-article-main .caption,
  .p-article-main p.caption {
    font-size: 0.875rem;
    line-height: 1.5;
    margin-top: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .caption,
    .p-article-main p.caption {
      font-size: 3.0769230769vw;
      margin-top: 2.5641025641vw;
    }
  }
  .p-article-main .movie {
    width: 100%;
    max-width: 62.5rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    aspect-ratio: 16/9;
  }
  @media screen and (max-width: 767px) {
    .p-article-main .movie {
      margin-top: 6.1538461538vw;
      margin-bottom: 6.1538461538vw;
    }
  }
  .p-article-main .movie iframe {
    width: 100%;
    height: 100%;
  }
}
@layer project {
  @media screen and (max-width: 767px) {
    .p-breadcrumbs {
      overflow-x: auto;
    }
  }
  @media screen and (max-width: 767px) {
    .p-breadcrumbs__list {
      white-space: nowrap;
    }
  }
  .p-breadcrumbs__list li {
    font-size: 0.8125rem;
    color: #6B7478;
    display: inline-block;
    position: relative;
    padding-right: 1.5rem;
  }
  .p-breadcrumbs__list li:before {
    content: "";
    display: block;
    width: 0.5rem;
    height: 1px;
    position: absolute;
    top: 50%;
    right: 0.5rem;
    background: #ccc;
  }
  .p-breadcrumbs__list li:last-child {
    padding-right: 0;
  }
  .p-breadcrumbs__list li:last-child:before {
    display: none;
  }
  .p-breadcrumbs__list li a {
    color: var(--accent);
    position: relative;
    transition-property: color, text-decoration-color;
    transition-duration: 0.2s;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-color: transparent;
  }
  .p-breadcrumbs__list li a:hover {
    text-decoration-color: var(--accent);
  }
}
@layer project {
  .p-common-nav {
    position: relative;
    z-index: 2;
    background: var(--accent);
    color: #fff;
    border-radius: 2rem;
    overflow: hidden;
  }
  @media screen and (min-width: 768px) {
    .p-common-nav {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-bottom: -2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-common-nav {
      margin-bottom: -5.1282051282vw;
      border-radius: 4.1025641026vw;
    }
  }
  .p-common-nav__item {
    position: relative;
    text-align: center;
    z-index: 1;
    padding: 3.5rem 0 3.75rem 0;
    transition: 0.25s background;
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__item {
      padding-top: 10.2564102564vw;
      padding-bottom: 10.2564102564vw;
    }
  }
  .p-common-nav__item:first-child::before {
    content: "";
    display: block;
    position: absolute;
  }
  @media screen and (min-width: 768px) {
    .p-common-nav__item:first-child::before {
      width: 1px;
      height: 17.875rem;
      left: 100%;
      top: 50%;
      transform: translate(-1px, -50%);
      border-right: 1px solid #008000;
      border-left: 1px solid #27B227;
    }
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__item:first-child::before {
      border-top: 1px solid #008000;
      border-bottom: 1px solid #27B227;
      bottom: 0;
      left: 50%;
      width: 92.3076923077vw;
      transform: translate(-50%, -1px);
    }
  }
  @media (hover: hover) {
    .p-common-nav__item:hover {
      background: #008000;
    }
  }
  .p-common-nav__ttl {
    line-height: 1.8;
    margin-bottom: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__ttl {
      margin-bottom: 2.0512820513vw;
    }
  }
  .p-common-nav__ttl-en {
    font-family: var(--en-sans);
    font-size: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__ttl-en {
      font-size: 3.5897435897vw;
    }
  }
  .p-common-nav__ttl-ja {
    font-size: 2.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__ttl-ja {
      line-height: 1.5;
      font-size: 7.1794871795vw;
    }
  }
  .p-common-nav__text {
    line-height: 2;
    letter-spacing: 0.04em;
  }
  @media screen and (max-width: 767px) {
    .p-common-nav__text {
      font-size: 3.5897435897vw;
    }
  }
  .p-common-nav__wlink {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
}
@layer project {
  .p-news-list {
    border-top: 1px solid #DDDDDD;
  }
  .p-news-list__row {
    border-bottom: 1px solid #DDDDDD;
    position: relative;
  }
  @media screen and (min-width: 768px) {
    .p-news-list__row {
      display: grid;
      grid-template-columns: 15rem 1fr;
      padding: 1.5rem 0;
      gap: 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-news-list__row {
      padding: 5.1282051282vw 0;
      padding-right: 11.7948717949vw;
    }
  }
  .p-news-list__meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 0.5rem;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__meta {
      grid-template-columns: 20vw 26.6666666667vw;
      gap: 0.5128205128vw;
      margin-bottom: 1.0256410256vw;
    }
  }
  .p-news-list__date {
    font-size: 0.875rem;
    font-family: var(--en-sans);
  }
  @media screen and (max-width: 767px) {
    .p-news-list__date {
      font-size: 3.0769230769vw;
    }
  }
  .p-news-list__content {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__content {
      display: block;
    }
  }
  .p-news-list__ttl {
    display: inline-block;
    transition-property: color, text-decoration-color;
    transition-duration: 0.2s;
    text-decoration: underline;
    text-underline-offset: 0.3em;
    text-decoration-color: transparent;
  }
  .p-news-list__icon {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--fill);
    display: flex;
    justify-content: center;
    align-items: center;
    transition-property: background;
    transition-duration: 0.2s;
    opacity: 0;
    pointer-events: none;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-news-list__icon {
      position: absolute;
      top: calc(50% - 4.1025641026vw);
      right: 0;
      width: 8.2051282051vw;
      height: 8.2051282051vw;
    }
  }
  .p-news-list__icon::before {
    content: "";
    width: 1rem;
    height: 1rem;
    display: block;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background: var(--accent);
    transition: background 0.3s;
  }
  .p-news-list a .p-news-list__icon {
    opacity: 1;
    pointer-events: auto;
  }
  .p-news-list a .p-news-list__icon::before {
    mask-image: url("../img/content/icon_arrow.svg");
  }
  .p-news-list a.is-blank .p-news-list__icon::before {
    mask-image: url("../img/content/icon_external.svg");
  }
  .p-news-list a.is-pdf .p-news-list__icon::before {
    width: 1.5rem;
    height: 1.5rem;
    mask-image: url("../img/content/icon_pdf.svg");
  }
  @media (hover: hover) {
    .p-news-list a:hover .p-news-list__ttl {
      text-decoration-color: var(--accent);
      color: var(--accent);
    }
    .p-news-list a:hover .p-news-list__icon {
      background: var(--accent);
    }
    .p-news-list a:hover .p-news-list__icon::before {
      background: #fff;
    }
  }
}
@layer project {
  @media screen and (max-width: 767px) {
    .p-tab-project {
      background: #e7ecef;
      border-radius: 0.5rem;
    }
  }
  .p-tab-project__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .p-tab-project__list {
      display: flex;
    }
  }
  @media screen and (max-width: 767px) {
    .p-tab-project__list {
      padding: 7.1794871795vw 5.1282051282vw 0vw 5.1282051282vw;
      gap: 2.0512820513vw 1.5384615385vw;
    }
  }
  .p-tab-project__btn {
    border: 0;
    line-height: 1.1;
    background: #fff;
    transition: 0.25s;
    transition-property: color, transform;
  }
  @media screen and (min-width: 768px) {
    .p-tab-project__btn {
      border-radius: 0.5rem 0px 0px 0px;
      padding: 1.375rem 3rem 1.375rem 1.75rem;
      background: #D9E1E6 url("../img/content/tab_btn.svg") 100% 0%/auto 100% no-repeat;
      transform: translateY(4px);
    }
  }
  @media screen and (max-width: 767px) {
    .p-tab-project__btn {
      padding: 2.3076923077vw 3.0769230769vw;
      border: 1px solid #BEC6CB;
      border-radius: 1.0256410256vw;
      font-size: 3.5897435897vw;
    }
  }
  @media (hover: hover) {
    .p-tab-project__btn:hover {
      transform: translateY(0);
      color: var(--accent);
    }
  }
  .p-tab-project__btn[aria-selected=true] {
    background-color: #e7ecef;
  }
  @media screen and (min-width: 768px) {
    .p-tab-project__btn[aria-selected=true] {
      background-image: url("../img/content/tab_btn_selected.svg");
      transform: translateY(0);
    }
  }
  @media screen and (max-width: 767px) {
    .p-tab-project__btn[aria-selected=true] {
      background: #262728;
      color: #fff;
      border-color: #262728;
    }
  }
  .p-tab-project__panel {
    transition: 0.3S opacity;
    opacity: 1;
    height: auto;
    position: relative;
    z-index: 2;
  }
  @media screen and (min-width: 768px) {
    .p-tab-project__panel {
      background: #e7ecef;
      border-radius: 0 2rem 2rem 2rem;
    }
  }
  .p-tab-project__panel:not(.is-visible) {
    visibility: hidden;
    overflow: hidden;
    opacity: 0;
    height: 0;
  }
  .p-tab-project__body {
    height: auto;
    background: #e7ecef;
    position: relative;
    z-index: 2;
    border-radius: 0 2rem 2rem 2rem;
  }
  @media screen and (max-width: 767px) {
    .p-tab-project__body {
      border-radius: 0;
    }
  }
  .p-tab-project__content {
    padding: 3.75rem 3.75rem 3.125rem 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .p-tab-project__content {
      overflow: hidden;
      padding: 2.5641025641vw 2.5641025641vw 7.6923076923vw 2.5641025641vw;
    }
  }
}
.p-card-list {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-card-list {
    width: 71.7948717949vw;
  }
}
@media screen and (min-width: 768px) {
  .p-card-list::before {
    pointer-events: none;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    width: 12.5rem;
    height: 100%;
    background: linear-gradient(to left, #e7ecef 0%, rgba(231, 236, 239, 0) 100%);
    transition: 0.4s opacity;
  }
}
.p-card-list.is-last::before {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-card-list .slick-list {
    overflow: visible;
  }
}
.p-card-list .slick-track {
  margin-left: 0;
  margin-right: 0;
}

@layer project {
  .p-card-list__item {
    margin: 0 15px;
  }
  @media screen and (max-width: 767px) {
    .p-card-list__item {
      margin: 10px;
    }
  }
  @media screen and (min-width: 768px) {
    .p-card-item {
      width: 20rem;
    }
  }
  .p-card-item__thumb {
    overflow: hidden;
    position: relative;
    aspect-ratio: 640/240;
  }
  @media screen and (max-width: 767px) {
    .p-card-item__thumb {
      aspect-ratio: 263/120;
    }
  }
  .p-card-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.25s scale;
  }
  .p-card-item__cont {
    display: block;
    transition: 0.25s color;
  }
  @media (hover: hover) {
    .p-card-item__cont:hover {
      color: var(--accent);
    }
    .p-card-item__cont:hover .p-card-item__thumb img {
      scale: 1.2;
    }
  }
  .p-card-item__label {
    position: absolute;
    bottom: 0.625rem;
    left: 0.625rem;
    display: inline-block;
    background: var(--accent);
    color: #fff;
    font-size: 0.875rem;
    padding: 0.3125rem 0.5rem;
    text-align: center;
    border-radius: 0.25rem;
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .p-card-item__label {
      bottom: 2.5641025641vw;
      left: 2.5641025641vw;
      padding: 1.0256410256vw 2.0512820513vw;
      font-size: 3.0769230769vw;
    }
  }
  .p-card-item__name {
    margin-top: 0.375rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-card-item__name {
      font-size: 4.6153846154vw;
    }
  }
  .p-card-item__text {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
  @media screen and (max-width: 767px) {
    .p-card-item__text {
      font-size: 3.5897435897vw;
    }
  }
  .p-card-item__tax {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.625rem;
    font-size: 0.875rem;
    color: #6B7478;
  }
  @media screen and (max-width: 767px) {
    .p-card-item__tax {
      margin-top: 6.1538461538vw;
    }
  }
}
@layer project {
  @media screen and (max-width: 767px) {
    .p-notification-wrap {
      background: var(--fill);
      padding-bottom: 1.0256410256vw;
    }
  }
  .p-notification {
    --padding: 0;
    border-radius: 0.5rem;
    background: #262728;
    border: 2px solid #36393b;
    width: 18.75rem;
    color: #fff;
    padding: 1.75rem 1.125rem;
    z-index: 90;
    transition: 0.1s;
  }
  .p-notification.is-ready {
    transition-duration: 0.5s;
  }
  @media screen and (min-width: 768px) {
    .p-notification {
      position: fixed;
      bottom: 1rem;
      right: 1rem;
    }
  }
  @media screen and (max-width: 767px) {
    .p-notification {
      position: relative;
      width: 89.7435897436vw;
      margin: 0 auto;
      transform: translateY(-50%);
      margin-bottom: var(--padding);
    }
  }
  .p-notification.is-closed {
    transition-duration: 0;
  }
  .p-notification.is-invisible {
    opacity: 0;
    pointer-events: none;
  }
  .p-notification__close-btn {
    background: transparent;
    border: 0;
    padding: 0;
    position: absolute;
    top: 1rem;
    right: 1rem;
  }
  @media (hover: hover) {
    .p-notification__close-btn:hover svg {
      fill: var(--accent);
    }
  }
  .p-notification__close-icon {
    fill: #fff;
    width: 1rem;
    height: 1rem;
    transition: 0.25s fill;
  }
  @media (hover: hover) {
    .p-notification__link:hover .p-notification__text {
      text-decoration: underline;
    }
  }
  .p-notification__date {
    font-size: 0.875rem;
    font-family: var(--en-sans);
  }
  .p-notification__text {
    margin-top: 0.625rem;
    line-height: 1.7;
  }
}
@layer project {
  @media screen and (max-width: 767px) {
    .p-pager {
      margin-left: -5.1282051282vw;
      margin-right: -5.1282051282vw;
    }
  }
  .p-pager ul {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  @media screen and (max-width: 767px) {
    .p-pager ul {
      flex-wrap: wrap;
      margin-left: 15.3846153846vw;
      margin-right: 15.3846153846vw;
    }
  }
  .p-pager li {
    text-align: center;
    margin: 0 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-pager li {
      margin: 0 0.5128205128vw;
    }
  }
  .p-pager li a {
    font-size: 1.25rem;
    font-weight: 500;
    font-family: var(--en-sans);
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-pager li a {
      font-size: 4.1025641026vw;
      width: 8.2051282051vw;
      height: 8.2051282051vw;
    }
  }
  .p-pager li a:hover {
    color: var(--accent);
  }
  .p-pager li a:hover svg {
    fill: var(--accent);
  }
  .p-pager li a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--accent);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.2s;
  }
  .p-pager li a span {
    font-weight: 400;
    position: relative;
    transition: color 0.2s;
  }
  .p-pager li a svg {
    transition: 0.2s;
  }
  .p-pager li.is-current a {
    pointer-events: none;
    color: #fff;
  }
  .p-pager li.is-current a::before {
    opacity: 1;
    background: var(--accent);
  }
  .p-pager li.is-blank {
    text-align: center;
  }
  .p-pager li.is-blank a {
    pointer-events: none;
    line-height: 1.2;
  }
  .p-pager li.is-blank a span {
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow {
      position: absolute;
    }
  }
  .p-pager li.p-pager-arrow a {
    position: relative;
    display: flex;
    width: 6.5rem;
    height: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow a {
      width: 15.3846153846vw;
      height: 12.8205128205vw;
    }
  }
  .p-pager li.p-pager-arrow a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #BEC6CB;
    background: #fff;
    opacity: 1;
    border-radius: 2rem;
    transition: background 0.2s, border-color 0.2s;
  }
  .p-pager li.p-pager-arrow a svg {
    width: 1.125rem;
    height: 1.1875rem;
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow a svg {
      width: 3.8461538462vw;
      height: 3.8461538462vw;
    }
  }
  .p-pager li.p-pager-arrow a:hover::before {
    background: var(--accent);
    border-color: var(--accent);
  }
  .p-pager li.p-pager-arrow a:hover svg {
    fill: #fff;
  }
  .p-pager li.p-pager-arrow--prev {
    margin-right: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow--prev {
      left: 0;
      margin: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow--prev a::before {
      border-radius: 0 6.4102564103vw 6.4102564103vw 0;
      border-left: none;
    }
  }
  .p-pager li.p-pager-arrow--prev a svg {
    transform: rotate(180deg);
  }
  .p-pager li.p-pager-arrow--next {
    margin-left: 4rem;
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow--next {
      right: 0;
      margin: 0;
    }
  }
  @media screen and (max-width: 767px) {
    .p-pager li.p-pager-arrow--next a::before {
      border-radius: 6.4102564103vw 0 0 6.4102564103vw;
      border-right: none;
    }
  }
  .p-pager li .p-pager-arrow__icon {
    position: relative;
    top: 0.125rem;
  }
}
@layer project {
  .p-page-header {
    position: relative;
    height: 23.75rem;
    background: var(--fill);
  }
  @media screen and (max-width: 767px) {
    .p-page-header {
      height: 61.5384615385vw;
    }
  }
  .p-page-header::before {
    content: "";
    position: absolute;
    top: -13.75rem;
    right: -19.5rem;
    width: 73.375rem;
    height: 52.75rem;
    background: url("../img/content/mv_bg.png") no-repeat center top/contain;
    pointer-events: none;
  }
  @media screen and (max-width: 767px) {
    .p-page-header::before {
      top: 0;
      right: 0;
      width: 100vw;
      height: 61.5384615385vw;
      background: url("../img/content/mv_bg_sp.png") no-repeat center top/contain;
    }
  }
  .p-page-header__inner {
    width: 100%;
    max-width: 90rem;
    margin-right: auto;
    margin-left: auto;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
  }
  @media screen and (max-width: 767px) {
    .p-page-header__inner {
      padding-left: var(--sp-pad);
      padding-right: var(--sp-pad);
    }
  }
  .p-page-header__body {
    padding-top: 2rem;
  }
  @media screen and (max-width: 767px) {
    .p-page-header__body {
      padding-top: 14.358974359vw;
    }
  }
  .p-page-header__ttl-sub {
    font-size: 1.5rem;
    font-family: var(--en-sans);
    color: var(--accent);
    line-height: 1.5;
    padding-left: 0.25rem;
  }
  @media screen and (max-width: 767px) {
    .p-page-header__ttl-sub {
      font-size: 5.1282051282vw;
      padding-left: 0.5128205128vw;
    }
  }
  .p-page-header__ttl-main {
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  @media screen and (max-width: 767px) {
    .p-page-header__ttl-main {
      font-size: 8.2051282051vw;
    }
  }
  .p-page-header__breadcrumbs {
    position: absolute;
    bottom: 1rem;
  }
  @media screen and (max-width: 767px) {
    .p-page-header__breadcrumbs {
      display: none;
    }
  }
  .p-page-header__illust {
    position: absolute;
    pointer-events: none;
  }
}
@layer utilities {
  @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;
    }
  }
}
@layer utilities {
  .u-hide {
    display: none;
  }
}
@layer utilities {
  .u-mt-0 {
    margin-top: 0 !important;
  }
  .u-mt-4 {
    margin-top: 0.25rem !important;
  }
  .u-mt-8 {
    margin-top: 0.5rem !important;
  }
  .u-mt-16 {
    margin-top: 1rem !important;
  }
  .u-mt-24 {
    margin-top: 1.5rem !important;
  }
  .u-mt-32 {
    margin-top: 2rem !important;
  }
  .u-mt-48 {
    margin-top: 3rem !important;
  }
  .u-mt-56 {
    margin-top: 3.5rem !important;
  }
  .u-mt-64 {
    margin-top: 4rem !important;
  }
  .u-mt-72 {
    margin-top: 4.5rem !important;
  }
  .u-mt-80 {
    margin-top: 5rem !important;
  }
}
@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);
    }
  }
}
@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 {
    display: inline-block;
    transition-property: color, border;
    transition-duration: 0.2s;
    border-bottom: 1px solid transparent;
  }
  @media (hover: hover) {
    .u-link-text:hover {
      border-bottom-color: var(--accent);
      color: var(--accent);
    }
  }
}