@charset "UTF-8";
/* reset CSS */
:where(html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video) {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

:where(article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where(button) {
  border: none;
  background: none;
}

:where(ul, ol, summary) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(:any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:where(img, picture, svg) {
  max-inline-size: 100%; /* images should never overflow past the available space */
  block-size: auto; /* アスペクト比を保持 */
  width: 100%;
  height: auto;
}

:where(input, select, button, textarea) {
  color: #333;
  font-family: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
  appearance: none;
  outline: none;
  resize: none;
}

:where(textarea) {
  resize: none;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(label) {
  display: inline-flex;
  align-items: center;
}

:where(input:-webkit-autofill, textarea:-webkit-autofill) {
  box-shadow: 0 0 0 1000px #fff inset;
}

:where(select)::-ms-expand {
  display: none;
}

:where(input) {
  /* 旧Edge対応 */
  /* IE対応 */
}
:where(input)::placeholder {
  color: #b6bcc4;
}
:where(input) ::-ms-input-placeholder {
  color: #b6bcc4;
}
:where(input) :-ms-input-placeholder {
  color: #b6bcc4;
}
:where(input)[type=radio], :where(input)[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

/* ------------------------
  Print Styles
------------------------ */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.u-hidden {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 766.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 766.98px) {
  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 767px) and (max-width: 1279.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 767px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1279.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px; /* `px`などの単位が必要 */
  }
}
.leading-trim {
  margin-block: var(--leading-trim);
}

html {
  overflow-y: scroll;
}

body {
  color: #434D21;
  font-size: 1.09375vw;
  line-height: 1.8571428571;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  background: #D5FD53;
}
@media (max-width: 766.98px) {
  body {
    font-size: 3.4666666667vw;
  }
}

a {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    cursor: default;
    text-decoration: none;
  }
}
a.no-link {
  pointer-events: none;
  cursor: default;
}

.en {
  font-family: "Outfit", sans-serif;
}

@media (max-width: 766.98px) {
  .-pcOnly {
    display: none;
  }
}

.-spOnly {
  display: none;
}
@media (max-width: 766.98px) {
  .-spOnly {
    display: block;
  }
}

.sec-in {
  padding-inline: 3.515625vw;
}
@media (max-width: 766.98px) {
  .sec-in {
    padding-inline: 3.2vw;
  }
}

.l-wrapper {
  overflow: hidden;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 30px;
}
@media (max-width: 766.98px) {
  .l-header {
    padding: 2.6666666667vw 5.3333333333vw 2.6666666667vw 2.6666666667vw;
  }
}
.l-header__logo {
  width: 66px;
}
@media (max-width: 766.98px) {
  .l-header__logo {
    width: 13.3333333333vw;
  }
}

.l-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
  font-size: 15px;
}
@media (max-width: 766.98px) {
  .l-nav__list {
    gap: 5.3333333333vw;
    font-size: 4vw;
  }
}
.l-nav__list a {
  position: relative;
}
.l-nav__list a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #434D21;
  bottom: -2px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
@media (max-width: 1279.98px) {
  .l-nav__list a::before {
    height: 0.0732064422vw;
    bottom: -0.2196193265vw;
  }
}
@media (any-hover: hover) {
  .l-nav__list a:hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

.l-footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 30px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 766.98px) {
  .l-footer {
    padding: 2.6666666667vw;
    position: static;
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-footer__copy {
  font-size: 10px;
}
@media (max-width: 766.98px) {
  .l-footer__copy {
    font-size: 2.4vw;
    margin-top: 200px;
    text-align: right;
    width: 100%;
  }
}

.a-flash {
  opacity: 0;
  animation: flashAnimation 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

@keyframes flashAnimation {
  0%, 60% {
    opacity: 0;
    filter: brightness(100%);
  }
  /* フラッシュ開始 */
  65% {
    opacity: 0.3;
    filter: brightness(120%);
  }
  68% {
    opacity: 1;
    filter: brightness(160%);
  }
  71% {
    opacity: 0.2;
    filter: brightness(100%);
  }
  74% {
    opacity: 1;
    filter: brightness(170%);
  }
  77% {
    opacity: 0.3;
    filter: brightness(110%);
  }
  80% {
    opacity: 1;
    filter: brightness(180%);
  }
  83% {
    opacity: 0.4;
    filter: brightness(120%);
  }
  86% {
    opacity: 1;
    filter: brightness(160%);
  }
  89% {
    opacity: 0.6;
    filter: brightness(130%);
  }
  /* 落ち着く */
  100% {
    opacity: 1;
    filter: brightness(100%);
  }
}
.c-table__tit {
  font-size: 15px;
  letter-spacing: 0.17em;
  font-weight: 500;
}
@media (max-width: 766.98px) {
  .c-table__tit {
    font-size: 4vw;
  }
}
.c-table dl {
  display: grid;
  grid-template-columns: 120px 1fr;
  margin-top: 10px;
  font-size: 13px;
}
@media (max-width: 766.98px) {
  .c-table dl {
    margin-top: 2.6666666667vw;
    grid-template-columns: 26.6666666667vw 1fr;
    font-size: 3.4666666667vw;
  }
}
.c-table dl + dl {
  margin-top: 5px;
}
@media (max-width: 766.98px) {
  .c-table dl + dl {
    margin-top: 1.3333333333vw;
  }
}
.c-table dl dt {
  color: #728046;
}
.c-table dl a {
  position: relative;
}
.c-table dl a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #434D21;
  bottom: -2px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
@media (max-width: 1279.98px) {
  .c-table dl a::before {
    height: 0.0732064422vw;
    bottom: -0.2196193265vw;
  }
}
@media (any-hover: hover) {
  .c-table dl a:hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

#index .secHero {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 100dvh;
}
#index .secHero__logo {
  width: 710px;
}
@media (max-width: 766.98px) {
  #index .secHero__logo {
    width: 53.3333333333vw;
    margin-inline: auto;
  }
}
#index .secHero__txt {
  font-size: 22px;
  font-weight: 500;
  margin-top: 30px;
  letter-spacing: 0.11em;
}
@media (max-width: 766.98px) {
  #index .secHero__txt {
    font-size: 3.7333333333vw;
    margin-top: 16vw;
  }
}/*# sourceMappingURL=style.css.map */