@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
main {
  line-height: 1;
  /* change colours to suit your needs */
  /* change colours to suit your needs */
  /* change border colour to suit your needs */
}
main body, main main, main div, main span, main object, main iframe,
main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre,
main abbr, main address, main cite, main code,
main del, main dfn, main em, main img, main ins, main kbd, main q, main samp,
main small, main strong, main sub, main sup, main var,
main b, main i,
main dl, main dt, main dd, main ol, main ul, main li,
main fieldset, main form, main label, main legend,
main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td,
main article, main aside, main canvas, main details, main figcaption, main figure,
main hgroup, main menu, main nav, main section, main summary,
main time, main mark, main audio, main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
main article, main aside, main details, main figcaption, main figure,
main footer, main header, main hgroup, main menu, main nav, main section {
  display: block;
}
main nav ul {
  list-style: none;
}
main blockquote, main q {
  quotes: none;
}
main blockquote:before, main blockquote:after,
main q:before, main q:after {
  content: "";
  content: none;
}
main a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
main ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
main mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
main del {
  text-decoration: line-through;
}
main abbr[title], main dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
main table {
  border-collapse: collapse;
  border-spacing: 0;
}
main hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
main input, main select {
  vertical-align: middle;
}

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

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

@media (max-width: 767.98px) {
  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 768px) and (max-width: 1365.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 768px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (max-width: 1365.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 1366px) {
  .u-hidden-lg, .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}
.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

@media screen and (min-width: 1025px) {
  .u-hidden-up-tb {
    display: none !important;
    visibility: hidden;
  }
}
@media screen and (max-width: 1024px) {
  .u-hidden-down-tb, .u-hidden-tb {
    display: none !important;
    visibility: hidden;
  }
}
.u-visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0.0625rem;
  margin: -0.0625rem;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 0.0625rem;
}

.u-visuallyhidden.focusable:active, .u-visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.u-invisible {
  visibility: hidden;
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
}

.u-ubuntu {
  font-family: Ubuntu, sans-serif;
}

.globalHeader {
  background-color: #fff;
  font-family: var(--font-family);
  height: -moz-fit-content;
  height: fit-content;
  inset: 0;
  position: fixed;
  z-index: 10000;
}

@media screen and (min-width: 1025px) {
  .globalHeader {
    --child-menu-duration: 0.2s;
    height: clamp(3.5 * var(--base-size), 7.32065dvw, 6.25 * var(--base-size));
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader {
    --child-menu-duration: 0.2s;
  }
}
.globalHeader button {
  font-family: inherit;
}

.globalHeader__overlay {
  background-color: #000;
  inset: 0;
  position: fixed;
  transition: opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1), visibility var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
  z-index: -1;
}

.globalHeader__overlay[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.globalHeader__overlay[aria-hidden=false] {
  opacity: 0.6;
  pointer-events: auto;
  visibility: visible;
}

.globalHeader__inner {
  background-color: #fff;
  border-block-end: calc(var(--base-size) * 0.0625) solid #bebebe;
  display: grid;
}

@media screen and (min-width: 1025px) {
  .globalHeader__inner {
    grid-template-columns: clamp(9.375 * var(--base-size), 11.56662dvw, 9.875 * var(--base-size)) 1fr auto auto;
    min-height: clamp(3.5 * var(--base-size), 7.32065dvw, 6.25 * var(--base-size));
  }
}
@media (width <= 1146px) {
  .globalHeader__inner {
    grid-template-columns: calc(var(--base-size) * 6.6875) 1fr auto;
  }
}
@media (max-width: 767.98px) {
  .globalHeader__inner {
    grid-template-columns: calc(var(--base-size) * 6.6875) 1fr auto;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__inner:after {
    background-color: #fff;
    content: "";
    display: block;
    inset: 0;
    opacity: 0;
    position: absolute;
  }
  .is-global-nav-open .globalHeader__inner:after {
    border-block-end: calc(var(--base-size) * 0.0625) solid #bebebe;
    opacity: 1;
  }
}
.globalHeader__logo {
  align-items: center;
  display: flex;
  position: relative;
  transition: opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
  z-index: 1;
}

@media screen and (min-width: 1025px) {
  .globalHeader__logo {
    margin-inline-start: clamp(0.9375 * var(--base-size), 2.04979dvw, 1.75 * var(--base-size));
  }
}
@media (width <= 1146px) {
  .globalHeader__logo {
    margin-inline-start: clamp(0.9375 * var(--base-size), 2.04979dvw, 1.75 * var(--base-size));
  }
}
@media (max-width: 767.98px) {
  .globalHeader__logo {
    padding-block: calc(var(--base-size) * 0.4375);
  }
}
@media (min-width: 768px) {
  .globalHeader__logo:focus-visible, .globalHeader__logo:hover {
    opacity: 0.8;
  }
}
.globalHeader__logo img {
  width: 100%;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .globalHeader__nav {
    padding-block-start: calc(var(--base-size) * 7.5) !important;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__nav {
    --child-menu-duration: 0.15s;
    background-color: #fff;
    height: -moz-fit-content;
    height: fit-content;
    inset: 0 0 auto;
    max-height: 100dvh;
    overflow-y: auto;
    padding-block: calc(var(--base-size) * 5) calc(var(--base-size) * 1.875);
    padding-inline: calc(var(--base-size) * 1.25);
    position: absolute;
    transition: opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1), visibility var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .globalHeader__nav[aria-hidden=true] {
    opacity: 0;
    visibility: hidden;
  }
  .globalHeader__nav[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
}
.globalHeader__nav__inner {
  display: grid;
  overflow-y: clip;
}

@media screen and (min-width: 1025px) {
  .globalHeader__nav__inner {
    gap: clamp(0.3125 * var(--base-size), 0.73207dvw, 0.625 * var(--base-size)) clamp(0.5 * var(--base-size), 1.17131dvw, 1 * var(--base-size));
    grid-template-columns: 1fr auto auto;
    grid-template-rows: auto auto;
    height: 100%;
    padding-block: clamp(0.375 * var(--base-size), 0.87848dvw, 0.75 * var(--base-size)) clamp(0.1875 * var(--base-size), 0.43924dvw, 0.375 * var(--base-size));
  }
  .globalHeader__main {
    display: flex;
    grid-area: 2/1/3/2;
    justify-content: flex-end;
  }
}
.globalHeader__main .globalHeader__item {
  font-weight: 700;
}

@media screen and (min-width: 1025px) {
  .globalHeader__main .globalHeader__item {
    font-size: calc(var(--base-size) * 0.9375);
    letter-spacing: 0;
    line-height: 2;
  }
}
@media (width <= 1146px) {
  .globalHeader__main .globalHeader__item {
    font-size: calc(var(--base-size) * 0.8125);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__main .globalHeader__item {
    border-block: calc(var(--base-size) * 0.0625) solid #bebebe;
    font-size: calc(var(--base-size) * 1);
    letter-spacing: 0.1em;
    line-height: 1.25;
    margin-block: calc(var(--base-size) * -0.0625);
    position: relative;
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__sub .globalHeader__item {
    font-size: calc(var(--base-size) * 0.875);
    letter-spacing: 0.04em;
    line-height: 2;
  }
}
@media (width <= 1146px) {
  .globalHeader__sub .globalHeader__item {
    font-size: calc(var(--base-size) * 0.75);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__sub .globalHeader__item {
    font-size: calc(var(--base-size) * 0.875);
    letter-spacing: 0.1em;
    line-height: 1.42;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__item:has([aria-expanded=true]) {
    border-color: #00a041;
    z-index: 0;
  }
}
.globalHeader__item__link {
  align-items: center;
  color: inherit;
  display: flex;
  font-size: inherit;
  font-weight: 400;
  height: 100%;
  transition: color var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
  white-space: nowrap;
}

@media screen and (min-width: 1025px) {
  .globalHeader__item__link {
    padding: 0 clamp(0.375 * var(--base-size), 0.87848dvw, 0.75 * var(--base-size));
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__item__link {
    width: 100%;
  }
}
.globalHeader__main .globalHeader__item__link {
  font-weight: 700;
}

@media screen and (max-width: 1024px) {
  .globalHeader__main .globalHeader__item__link {
    padding: calc(var(--base-size) * 1.125) 0;
  }
  .globalHeader__sub .globalHeader__item__link {
    padding-block: calc(var(--base-size) * 0.4375) !important;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.globalHeader__item__link:is(button) {
  background-color: transparent;
  border: none;
  justify-content: space-between;
  position: relative;
}

@media screen and (min-width: 1025px) {
  .globalHeader__item__link:is(button) {
    gap: clamp(0.1875 * var(--base-size), 0.51245dvw, 0.4375 * var(--base-size));
  }
}
.globalHeader__item__link:is(button):before {
  transition: transform var(--child-menu-duration) cubic-bezier(0.165, 0.84, 0.44, 1), visibility var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__item__link:is(button):before {
    background-color: #00a041;
    border-radius: calc(var(--base-size) * 0.625) calc(var(--base-size) * 0.625) 0 0;
    content: "";
    display: block;
    height: calc(var(--base-size) * 0.375);
    inset: auto 0 0;
    position: absolute;
    transform: translateY(200%);
    visibility: hidden;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__item__link:is(button):before {
    display: none;
  }
}
.globalHeader__item__link:is(button):after {
  content: "";
  display: block;
  margin-block: auto;
  transition: transform var(--child-menu-duration) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__item__link:is(button):after {
    border-block-end: calc(var(--base-size) * 0.0625) solid var(--color-green);
    border-inline-end: calc(var(--base-size) * 0.0625) solid var(--color-green);
    height: calc(var(--base-size) * 0.4375);
    transform: rotate(45deg);
    transform-origin: 75%;
    width: calc(var(--base-size) * 0.4375);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__item__link:is(button):after {
    display: none;
  }
}
.globalHeader__item__link[aria-expanded=true] {
  color: #00a041;
}

@media screen and (max-width: 1024px) {
  .globalHeader__item__link[aria-expanded=true] .globalHeader__item__link__toggle:before {
    transform: translate(-50%, -50%) rotate(0);
  }
}
@media (min-width: 768px) {
  .globalHeader__item__link:focus-visible, .globalHeader__item__link:hover {
    color: #00a041;
  }
  .globalHeader__item__link:focus-visible:is(button):before, .globalHeader__item__link:hover:is(button):before {
    transform: translateY(100%);
    visibility: visible;
  }
  .globalHeader__item__link:focus-visible:is(button):after, .globalHeader__item__link:hover:is(button):after {
    transform: rotate(225deg);
  }
}
.globalHeader__item__link__toggle {
  background-color: hsla(0, 0%, 80%, 0.5);
  border-radius: calc(var(--base-size) * 624.9375);
  display: block;
  height: calc(var(--base-size) * 2);
  position: relative;
  width: calc(var(--base-size) * 2);
}

.globalHeader__item__link__toggle:before {
  transform: translate(-50%, -50%) rotate(-90deg);
  transition: transform var(--child-menu-duration) cubic-bezier(0.165, 0.84, 0.44, 1), visibility var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

.globalHeader__item__link__toggle:after, .globalHeader__item__link__toggle:before {
  background-color: var(--base-color);
  content: "";
  display: block;
  height: calc(var(--base-size) * 0.0625);
  left: 50%;
  margin-block: auto;
  position: absolute;
  top: 50%;
  width: calc(var(--base-size) * 0.9375);
}

.globalHeader__item__link__toggle:after {
  transform: translate(-50%, -50%);
  transition: transform var(--child-menu-duration) cubic-bezier(0.165, 0.84, 0.44, 1);
}

.globalHeader__child {
  background-color: #fff;
}

@media screen and (min-width: 1025px) {
  .globalHeader__child {
    border: calc(var(--base-size) * 0.0625) solid #bebebe;
    inset: auto 0 0;
    max-height: calc(100dvh - clamp(4.5625 * var(--base-size), 9.51684dvw, 8.125 * var(--base-size)));
    overflow: auto;
    padding: clamp(1.75 * var(--base-size), 3.66033dvw, 3.125 * var(--base-size)) clamp(2.0625 * var(--base-size), 4.39239dvw, 3.75 * var(--base-size)) clamp(2.4375 * var(--base-size), 5.12446dvw, 4.375 * var(--base-size));
    position: absolute;
    transform: translateY(97%);
    transition: visibility var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1), opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
    z-index: -1;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child {
    padding-inline: calc(var(--base-size) * 0.875);
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__child[aria-hidden=true] {
    opacity: 0;
    visibility: hidden;
  }
  .globalHeader__child[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
}
.globalHeader__child__inner {
  display: grid;
  grid-column-gap: calc(var(--base-size) * 3.75);
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__inner {
    align-items: baseline;
    grid-template-columns: auto 1fr;
  }
  .globalHeader__child__line {
    background-color: #bebebe;
    border: none;
    height: 100%;
    width: calc(var(--base-size) * 0.0625);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child__line {
    display: none;
  }
}
.globalHeader__child__wrap {
  display: grid;
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__wrap {
    align-items: center;
    -moz-column-gap: calc(var(--base-size) * 1.25);
    column-gap: calc(var(--base-size) * 1.25);
    flex-wrap: wrap;
    grid-template-columns: repeat(2, 1fr);
    padding-block: clamp(0.125 * var(--base-size), 0.36604dvw, 0.3125 * var(--base-size));
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child__wrap {
    flex-direction: column;
    padding-block-end: calc(var(--base-size) * 1.375);
    position: relative;
    z-index: 1;
  }
}
.globalHeader__child__wrap.globalHeader__child__wrap--column {
  align-items: normal;
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__wrap.globalHeader__child__wrap--column {
    gap: 0 calc(var(--base-size) * 3.125);
  }
}
.globalHeader__child__lead {
  --child-menu-duration: 0.2s;
  align-items: center;
  display: flex;
  font-weight: 400;
  gap: calc(var(--base-size) * 0.625);
  transition: opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__lead {
    color: #00a041;
    font-size: calc(var(--base-size) * 1.75);
    letter-spacing: 0;
    line-height: 2;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child__lead {
    display: none;
  }
}
@media (min-width: 768px) {
  .globalHeader__child__lead:focus-visible, .globalHeader__child__lead:hover {
    color: #00a041;
  }
  .globalHeader__child__lead:focus-visible .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__lead:focus-visible .globalHeader__blank:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__lead:hover .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__lead:hover .globalHeader__blank:has(.globalHeader__circle) .globalHeader__circle {
    background-color: var(--color-white);
    transform: scale(1.2);
  }
  .globalHeader__child__lead:focus-visible .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__lead:focus-visible .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__lead:hover .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__lead:hover .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-green);
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__child__img__wrap {
    display: grid;
  }
}
.globalHeader__child__img__wrap .globalHeader__arrow {
  height: calc(var(--base-size) * 2);
  margin-top: calc(var(--base-size) * 0.25);
  width: calc(var(--base-size) * 2);
}

.globalHeader__child__img {
  border-radius: calc(var(--base-size) * 1.25);
  filter: var(--drop-shadow-10);
  overflow: hidden;
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__img {
    height: calc(var(--base-size) * 12.5);
    margin-top: calc(var(--base-size) * 1.875);
    max-width: calc(var(--base-size) * 18.75);
  }
}
.globalHeader__child__img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.globalHeader__child__group {
  display: grid;
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__group {
    gap: calc(var(--base-size) * 2.125);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child__group {
    gap: calc(var(--base-size) * 1.5);
  }
}
.globalHeader__child__item {
  font-style: normal;
  font-weight: 400;
  transition: color var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__child__item {
    align-items: center;
    border-bottom: solid calc(var(--base-size) * 0.0625) var(--color-lightgray);
    display: flex;
    font-size: calc(var(--base-size) * 1.25);
    grid-column-gap: calc(var(--base-size) * 1.25);
    justify-content: space-between;
    line-height: 1.25;
    padding: calc(var(--base-size) * 1.25);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__child__item {
    font-size: calc(var(--base-size) * 1);
    line-height: 1.25;
    padding-block: calc(var(--base-size) * 0.5);
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media (min-width: 768px) {
  .globalHeader__child__item:focus-visible, .globalHeader__child__item:hover {
    color: #00a041;
  }
  .globalHeader__child__item:focus-visible .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__item:focus-visible .globalHeader__blank:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__item:hover .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__circle, .globalHeader__child__item:hover .globalHeader__blank:has(.globalHeader__circle) .globalHeader__circle {
    background-color: var(--color-white);
    transform: scale(1.2);
  }
  .globalHeader__child__item:focus-visible .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__item:focus-visible .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__item:hover .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon, .globalHeader__child__item:hover .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-green);
  }
}
.globalHeader__child__item__lead {
  align-items: center;
  border-bottom: calc(var(--base-size) * 0.0625) solid var(--color-green);
  display: flex;
  font-size: calc(var(--base-size) * 1.375);
  font-weight: 700;
  height: calc(var(--base-size) * 4.125);
  line-height: 1.63;
}

@media screen and (max-width: 1024px) {
  .globalHeader__child__item__lead {
    font-size: calc(var(--base-size) * 1);
    height: auto;
    line-height: 1.25;
    padding-bottom: calc(var(--base-size) * 0.5) !important;
  }
}
.globalHeader__child__item__grid {
  display: grid;
}

@media screen and (max-width: 1024px) {
  .globalHeader__child__item__grid {
    margin-top: calc(var(--base-size) * 0.75);
  }
}
.globalHeader__arrow {
  align-items: center;
  border-radius: calc(var(--base-size) * 624.9375);
  display: inline-flex;
  height: calc(var(--base-size) * 1.5);
  justify-content: center;
  position: relative;
  width: calc(var(--base-size) * 1.5);
}

@media screen and (max-width: 1024px) {
  .globalHeader__arrow {
    left: calc(var(--base-size) * -0.3125);
  }
}
.globalHeader__arrow .globalHeader__icon {
  -webkit-mask-image: url(../img/common/icon_arrow.svg);
  mask-image: url(../img/common/icon_arrow.svg);
}

@media screen and (min-width: 1025px) {
  .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__arrow:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-green);
  }
}
.globalHeader__blank {
  align-items: center;
  border-radius: calc(var(--base-size) * 624.9375);
  display: inline-flex;
  height: calc(var(--base-size) * 1.5);
  justify-content: center;
  position: relative;
  width: calc(var(--base-size) * 1.5);
}

.globalHeader__blank .globalHeader__icon {
  height: calc(var(--base-size) * 1.125);
  -webkit-mask-image: url(../img/common/icon_blank03.svg);
  mask-image: url(../img/common/icon_blank03.svg);
  -webkit-mask-size: cover;
  mask-size: cover;
  width: calc(var(--base-size) * 1.125);
}

@media screen and (max-width: 1024px) {
  .globalHeader__blank:has(.globalHeader__circle) {
    left: calc(var(--base-size) * -0.3125);
    top: calc(var(--base-size) * 0.1875);
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-white);
    height: calc(var(--base-size) * 0.875);
    width: calc(var(--base-size) * 0.875);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__blank:has(.globalHeader__circle) .globalHeader__icon {
    background-color: var(--color-green);
    height: calc(var(--base-size) * 1.125);
    width: calc(var(--base-size) * 1.125);
  }
}
.globalHeader__circle {
  background-color: var(--color-green);
  border: solid calc(var(--base-size) * 0.0625) var(--color-green);
  border-radius: calc(var(--base-size) * 624.9375);
  display: block;
  inset: 0;
  position: absolute;
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media screen and (max-width: 1024px) {
  .globalHeader__circle {
    background-color: transparent;
    border: none;
  }
}
.globalHeader__icon {
  background-color: var(--color-green);
  display: block;
  height: calc(var(--base-size) * 0.625);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  position: relative;
  transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  width: calc(var(--base-size) * 0.625);
}

@media screen and (max-width: 1024px) {
  .globalHeader__icon {
    background-color: var(--color-green);
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__sub {
    align-items: center;
    display: flex;
    grid-area: 1/1/2/2;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__sub {
    border-block-end: calc(var(--base-size) * 0.0625) solid #bebebe;
    padding-block: calc(var(--base-size) * 1.4375) !important;
  }
}
@media screen and (min-width: 1025px) {
  .globalHeader__line {
    background-color: #bebebe;
    border: none;
    grid-area: 1/2/3/3;
    width: calc(var(--base-size) * 0.0625);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__line {
    display: none;
  }
}
.globalHeader__info {
  display: flex;
  flex-direction: column;
  transition: color var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__info {
    align-items: center;
    gap: clamp(0.125 * var(--base-size), 0.36604dvw, 0.3125 * var(--base-size));
    grid-area: 1/3/3/4;
    justify-content: center;
    padding: clamp(0 * var(--base-size), 0.07321dvw, 0.0625 * var(--base-size)) clamp(0.9375 * var(--base-size), 2.04979dvw, 1.75 * var(--base-size)) clamp(0.25 * var(--base-size), 0.58566dvw, 0.5 * var(--base-size)) clamp(0.375 * var(--base-size), 0.80528dvw, 0.6875 * var(--base-size));
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__info {
    gap: calc(var(--base-size) * 0.5);
    padding-block: calc(var(--base-size) * 1.75);
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media (min-width: 768px) {
  .globalHeader__info:focus-visible, .globalHeader__info:hover {
    color: #00a041;
  }
}
.globalHeader__info__text {
  font-weight: 400;
  white-space: nowrap;
}

@media screen and (min-width: 1025px) {
  .globalHeader__info__text {
    font-size: calc(var(--base-size) * 0.6875);
    letter-spacing: 0.05em;
    line-height: 1.7;
    padding-right: clamp(0.125 * var(--base-size), 0.36604dvw, 0.3125 * var(--base-size));
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__info__text {
    font-size: calc(var(--base-size) * 0.875);
    letter-spacing: 0.06em;
    line-height: 1.35;
  }
  .globalHeader__info__text br {
    display: none;
  }
}
.globalHeader__info__lead {
  align-items: center;
  display: flex;
  font-weight: 700;
  position: relative;
  white-space: nowrap;
}

@media screen and (min-width: 1025px) {
  .globalHeader__info__lead {
    font-size: calc(var(--base-size) * 0.9375);
    letter-spacing: 0.09em;
    line-height: 1;
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__info__lead {
    font-size: calc(var(--base-size) * 1);
    letter-spacing: 0.1em;
    line-height: 1.25;
  }
}
.globalHeader__reservations {
  display: grid;
  font-weight: 700;
  margin-inline-start: auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
}

.globalHeader__reservations a {
  align-items: center;
  color: #fff;
  display: flex;
  font-weight: 700;
  justify-content: center;
  transition: opacity var(--child-menu-duration) cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (min-width: 768px) {
  .globalHeader__reservations a {
    font-size: calc(var(--base-size) * 0.875);
    gap: calc(var(--base-size) * 0.4375);
    letter-spacing: 0;
    line-height: 2;
    min-width: calc(var(--base-size) * 11.5);
  }
}
@media (max-width: 767.98px) {
  .globalHeader__reservations a {
    font-size: calc(var(--base-size) * 0.75);
    font-weight: 700;
    gap: calc(var(--base-size) * 0.25);
    letter-spacing: 0;
    line-height: 1.6;
    padding-block: calc(var(--base-size) * 0.5);
    padding-inline: calc(var(--base-size) * 1) calc(var(--base-size) * 0.6875);
  }
}
.globalHeader__reservations a:first-of-type {
  background-color: #00a041;
}

.globalHeader__reservations a:nth-of-type(2) {
  background-color: #0b318f;
}

@media (min-width: 768px) {
  .globalHeader__reservations a:focus-visible, .globalHeader__reservations a:hover {
    opacity: 0.8;
  }
}
.globalHeader__reservations a:after {
  background-color: #fff;
  content: "";
  display: block;
  height: calc(var(--base-size) * 0.875);
  -webkit-mask-image: url(../img/common/icon_blank.svg);
  mask-image: url(../img/common/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: calc(var(--base-size) * 0.875);
}

.globalHeader__hamburger {
  align-items: center;
  background-color: transparent;
  border: none;
  display: flex;
  gap: calc(var(--base-size) * 0.375);
  height: 100%;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 1025px) {
  .globalHeader__hamburger {
    display: none;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .globalHeader__hamburger {
    width: calc(var(--base-size) * 6.25);
  }
}
@media (max-width: 767.98px) {
  .globalHeader__hamburger {
    width: calc(var(--base-size) * 4.0625);
  }
}
.globalHeader__hamburger__line {
  background-color: #414042;
  display: block;
  height: calc(var(--base-size) * 0.0625);
  inset: 0;
  margin: auto;
  position: absolute;
  transition: transform var(--child-menu-duration) cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (min-width: 1025px) {
  .globalHeader__hamburger__line {
    display: none;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .globalHeader__hamburger__line {
    width: calc(var(--base-size) * 2);
  }
}
@media (max-width: 767.98px) {
  .globalHeader__hamburger__line {
    width: calc(var(--base-size) * 1.375);
  }
}
@media screen and (max-width: 1024px) {
  .globalHeader__hamburger__line:first-of-type {
    transform: translateY(calc(var(--base-size) * -0.25));
  }
  .globalHeader__hamburger__line:nth-of-type(2) {
    transform: translateY(calc(var(--base-size) * 0.25));
  }
  .globalHeader__hamburger[aria-expanded=true] .globalHeader__hamburger__line:first-of-type {
    transform: translateY(0) rotate(45deg);
  }
  .globalHeader__hamburger[aria-expanded=true] .globalHeader__hamburger__line:nth-of-type(2) {
    transform: translateY(0) rotate(-45deg);
  }
}
.globalFooter {
  position: relative;
}

.globalFooter__top {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  height: calc(var(--base-size) * 26.5);
  position: relative;
}

@media screen and (max-width: 1024px) {
  .globalFooter__top {
    grid-template-columns: 1fr;
    height: auto;
  }
}
.globalFooter__top:before {
  background-color: var(--base-color);
  content: "";
  opacity: 0.5;
}

.globalFooter__top:before, .globalFooter__top__bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.globalFooter__top__bg img {
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  width: 100%;
}

.globalFooter__top__inner {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: calc(var(--base-size) * 1.875);
  position: relative;
}

@media screen and (max-width: 1024px) {
  .globalFooter__top__inner {
    padding: calc(var(--base-size) * 2.75);
  }
}
@media (max-width: 767.98px) {
  .globalFooter__top__inner {
    padding: calc(var(--base-size) * 2.75) calc(var(--base-size) * 1.25) calc(var(--base-size) * 2.25);
  }
}
.globalFooter__top__inner:first-child:before {
  background-color: var(--color-white);
  content: "";
  height: calc(var(--base-size) * 18.75);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(var(--base-size) * 0.0625);
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .globalFooter__top__inner:first-child:before {
    bottom: 0;
    height: calc(var(--base-size) * 0.0625);
    left: 50%;
    right: auto;
    top: auto;
    transform: translateX(-50%);
    width: calc(100% - var(--base-size) * 2.5);
  }
}
.globalFooter__top__link {
  align-items: center;
  display: flex;
  flex-flow: column;
  height: 100%;
  justify-content: center;
  padding: calc(var(--base-size) * 1.25);
  position: relative;
  width: 100%;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .globalFooter__top__link {
    padding: calc(var(--base-size) * 1.25) 0;
  }
}
.globalFooter__top__link:before {
  background: hsla(0, 0%, 100%, 0.35);
  border-radius: calc(var(--base-size) * 1.25);
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
  width: 100%;
  z-index: -1;
}

@media (min-width: 768px) {
  .globalFooter__top__link:focus-visible:before, .globalFooter__top__link:hover:before {
    opacity: 1;
  }
  .globalFooter__top__link:focus-visible .globalFooter__arrow__circle, .globalFooter__top__link:hover .globalFooter__arrow__circle {
    background-color: transparent;
    transform: scale(1.2);
  }
  .globalFooter__top__link:focus-visible .globalFooter__arrow__icon, .globalFooter__top__link:hover .globalFooter__arrow__icon {
    background-color: var(--color-white);
  }
}
.globalFooter__top__heading {
  color: var(--color-white);
  font-family: Ubuntu, sans-serif;
  font-size: calc(var(--base-size) * 2.875);
  line-height: 1;
  text-align: center;
}

@media (max-width: 767.98px) {
  .globalFooter__top__heading {
    font-size: calc(var(--base-size) * 2.625);
  }
}
.globalFooter__top__sub {
  align-items: center;
  color: var(--color-white);
  display: flex;
  font-size: calc(var(--base-size) * 1.75);
  gap: calc(var(--base-size) * 0.625);
  justify-content: center;
  line-height: 1;
  margin-top: calc(var(--base-size) * 2.5) !important;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  .globalFooter__top__sub {
    line-height: normal;
  }
}
@media (max-width: 767.98px) {
  .globalFooter__top__sub {
    font-size: calc(var(--base-size) * 1.125);
    margin-top: calc(var(--base-size) * 0.75) !important;
  }
}
.globalFooter__top__text {
  color: var(--color-white);
  font-size: calc(var(--base-size) * 1);
  margin-top: calc(var(--base-size) * 1.25) !important;
  text-align: center;
}

@media (max-width: 767.98px) {
  .globalFooter__top__text {
    text-align: left;
  }
}
.globalFooter__inner {
  display: grid;
  gap: calc(var(--base-size) * 7.875);
  grid-template-columns: calc(var(--base-size) * 14.375) 1fr;
  margin-inline: auto;
  max-width: calc(var(--base-size) * 64.25);
  padding-block: calc(var(--base-size) * 9.375) calc(var(--base-size) * 5.625);
  padding-inline: calc(var(--base-size) * 1.25);
}

@media screen and (max-width: 1024px) {
  .globalFooter__inner {
    gap: calc(var(--base-size) * 3.125);
    grid-template-columns: 1fr;
    padding-block: calc(var(--base-size) * 5.625) calc(var(--base-size) * 2.5);
    padding-inline: calc(var(--base-size) * 3.75);
  }
}
@media (max-width: 767.98px) {
  .globalFooter__inner {
    gap: calc(var(--base-size) * 1.25);
    padding-block: calc(var(--base-size) * 5.625) calc(var(--base-size) * 2.9375);
    padding-inline: calc(var(--base-size) * 1.25);
  }
}
.globalFooter__logo {
  height: -moz-fit-content;
  height: fit-content;
}

@media (min-width: 768px) {
  .globalFooter__logo {
    width: calc(var(--base-size) * 12.6875);
  }
}
@media (max-width: 767.98px) {
  .globalFooter__logo {
    margin-inline: auto;
    width: calc(var(--base-size) * 12.5);
  }
}
.globalFooter__logo img {
  width: 100%;
}

@media (max-width: 767.98px) {
  .globalFooter__logo__link {
    margin-left: calc(var(--base-size) * -0.25);
  }
}
.globalFooter__nav {
  margin-top: calc(var(--base-size) * 1.125);
}

.globalFooter__main {
  display: grid;
  gap: 4.39238653vw;
  grid-template-columns: repeat(3, auto);
}

@media screen and (max-width: 1024px) {
  .globalFooter__main {
    gap: 0;
    grid-template-columns: 1fr;
  }
}
.globalFooter__item {
  display: flex;
  flex-flow: column;
  gap: calc(var(--base-size) * 1.25);
}

@media (min-width: 768px) {
  .globalFooter__item.globalFooter__item--large {
    gap: calc(var(--base-size) * 3.25);
  }
}
@media (max-width: 767.98px) {
  .globalFooter__item.globalFooter__item--large {
    gap: calc(var(--base-size) * 2.5);
  }
}
@media screen and (max-width: 1024px) {
  .globalFooter__item, .globalFooter__item.globalFooter__item--large {
    gap: 0;
  }
  .globalFooter__item:last-child {
    border-bottom: calc(var(--base-size) * 0.0625) solid var(--color-gray);
  }
}
@media screen and (max-width: 1024px) {
  .globalFooter__item:has(.globalFooter__item__button[aria-expanded=true]) {
    border-color: var(--color-green);
  }
  .globalFooter__item:has(.globalFooter__item__button[aria-expanded=true]) + .globalFooter__item .globalFooter__item__link:first-child {
    border-color: var(--color-green);
  }
}
.globalFooter__item__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  display: inline-block;
  line-height: 1;
  position: relative;
  text-align: left;
}

@media screen and (min-width: 1025px) {
  .globalFooter__item__button {
    display: none;
  }
}
.globalFooter__item__button:after, .globalFooter__item__button:before {
  background-color: rgba(30, 30, 30, 0.5);
  content: "";
  height: calc(var(--base-size) * 0.0625);
  position: absolute;
  right: calc(var(--base-size) * 1.25);
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  width: calc(var(--base-size) * 0.9375);
}

.globalFooter__item__button:after {
  transform: translateY(-50%) rotate(90deg);
}

.globalFooter__item__button[aria-expanded=true] {
  border-color: var(--color-green);
}

.globalFooter__item__button[aria-expanded=true]:after {
  transform: translateY(-50%) rotate(0deg);
}

.globalFooter__item__link {
  font-size: calc(var(--base-size) * 1.125);
  font-weight: 700;
  line-height: 1;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  white-space: nowrap;
}

@media screen and (max-width: 1024px) {
  .globalFooter__item__link {
    border-top: calc(var(--base-size) * 0.0625) solid var(--color-gray);
    font-size: calc(var(--base-size) * 1);
    padding: calc(var(--base-size) * 1.25) 0;
  }
}
@media (min-width: 768px) {
  .globalFooter__item__link:focus-visible, .globalFooter__item__link:hover {
    color: var(--color-green);
  }
}
.globalFooter__child__wrap {
  overflow: hidden;
}

.globalFooter__child__wrap[aria-hidden=true] {
  height: 0;
}

.globalFooter__child {
  display: flex;
  flex-flow: column;
  gap: calc(var(--base-size) * 0.4375);
}

@media screen and (max-width: 1024px) {
  .globalFooter__child {
    padding-bottom: calc(var(--base-size) * 1.25) !important;
    padding-left: calc(var(--base-size) * 0.875) !important;
  }
}
.globalFooter__child__item a {
  font-size: calc(var(--base-size) * 0.875);
  font-weight: 400;
  line-height: 1;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (min-width: 768px) {
  .globalFooter__child__item a:focus-visible, .globalFooter__child__item a:hover {
    color: var(--color-green);
  }
}
.globalFooter__other {
  display: flex;
  flex-flow: wrap;
  gap: calc(var(--base-size) * 0.9375);
  justify-content: center;
  padding-bottom: calc(var(--base-size) * 2.25) !important;
}

@media screen and (max-width: 1024px) {
  .globalFooter__other {
    gap: calc(var(--base-size) * 0.875) calc(var(--base-size) * 1.875);
    padding-inline: calc(var(--base-size) * 3.75) !important;
  }
}
@media (max-width: 767.98px) {
  .globalFooter__other {
    flex-flow: column;
    gap: calc(var(--base-size) * 0.4375);
    justify-content: flex-start;
    padding-inline: calc(var(--base-size) * 1.25) !important;
  }
}
.globalFooter__other a {
  font-size: calc(var(--base-size) * 0.875);
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (min-width: 768px) {
  .globalFooter__other a:focus-visible, .globalFooter__other a:hover {
    color: var(--color-green);
  }
}
.globalFooter__copyright {
  align-items: center;
  background-color: var(--base-color);
  display: flex;
  font-family: Ubuntu, sans-serif;
  justify-content: center;
  text-align: center;
}

@media (min-width: 768px) {
  .globalFooter__copyright {
    height: calc(var(--base-size) * 3.125);
  }
}
@media (max-width: 767.98px) {
  .globalFooter__copyright {
    height: calc(var(--base-size) * 5.5);
  }
}
.globalFooter__copyright small {
  color: var(--color-white);
  font-size: calc(var(--base-size) * 0.875);
}

.globalFooter__arrow {
  align-items: center;
  border-radius: calc(var(--base-size) * 624.9375);
  display: inline-flex;
  height: calc(var(--base-size) * 2);
  justify-content: center;
  position: relative;
  width: calc(var(--base-size) * 2);
}

.globalFooter__arrow .globalFooter__arrow__circle {
  background-color: var(--color-white);
  border: solid calc(var(--base-size) * 0.0625) var(--color-white);
  border-radius: calc(var(--base-size) * 624.9375);
  display: block;
  inset: 0;
  position: absolute;
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.globalFooter__arrow .globalFooter__arrow__icon {
  background-color: var(--color-green);
  display: block;
  height: calc(var(--base-size) * 0.625);
  -webkit-mask-image: url(../img/common/icon_arrow.svg);
  mask-image: url(../img/common/icon_arrow.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition: background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: calc(var(--base-size) * 0.625);
}

.globalFooter__arrow .globalFooter__arrow__icon.globalFooter__arrow__icon--blank {
  height: calc(var(--base-size) * 1.125);
  margin: calc(var(--base-size) * 0.375) 0 0 calc(var(--base-size) * 0.375);
  -webkit-mask-image: url(../img/common/icon_blank02.svg);
  mask-image: url(../img/common/icon_blank02.svg);
  width: calc(var(--base-size) * 1.125);
}

.globalFooter__service {
  background-color: #eef7f0;
  padding-block: calc(var(--base-size) * 3.75) calc(var(--base-size) * 7.5);
}

@media (max-width: 767.98px) {
  .globalFooter__service {
    padding-block: calc(var(--base-size) * 3.125) calc(var(--base-size) * 5);
  }
}
.globalFooter__service .globalFooter__service__inner {
  margin-inline: auto;
  width: 100%;
}

@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__inner {
    max-width: calc(var(--base-size) * 125);
  }
}
.globalFooter__service .globalFooter__service__head {
  align-items: baseline;
  display: flex;
  position: relative;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head {
    flex-flow: column;
  }
}
.globalFooter__service .globalFooter__service__head:before {
  background-color: var(--color-green);
  border-bottom-right-radius: calc(var(--base-size) * 0.625);
  border-top-right-radius: calc(var(--base-size) * 0.625);
  content: "";
  height: 100%;
  position: absolute;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head:before {
    width: calc(var(--base-size) * 0.375);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__head:before {
    width: calc(var(--base-size) * 0.5);
  }
}
.globalFooter__service .globalFooter__service__head__top {
  -webkit-background-clip: text;
  background-clip: text;
  background-image: url(../img/common/bg_section_head_01.webp);
  background-position: 0 0;
  color: transparent;
  font-family: Ubuntu, sans-serif;
  letter-spacing: 0.01em;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head__top {
    font-size: calc(var(--base-size) * 2.625);
    line-height: 1.1428571429;
    margin-left: calc(var(--base-size) * 1.25);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__head__top {
    font-size: calc(var(--base-size) * 4);
    line-height: 1.15625;
    margin-left: calc(var(--base-size) * 3.25);
  }
}
.globalFooter__service .globalFooter__service__head__small {
  display: block;
  font-weight: 700;
  letter-spacing: 0.01em;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head__small {
    font-size: calc(var(--base-size) * 1.125);
    line-height: 1.4444444444;
    margin-left: calc(var(--base-size) * 1.25);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__head__small {
    font-size: calc(var(--base-size) * 1.25);
    line-height: 1.45;
    margin-left: calc(var(--base-size) * 1.5625);
  }
}
.globalFooter__service .globalFooter__service__head__large {
  color: var(--base-color);
  display: block;
  font-weight: 700;
  letter-spacing: 0;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head__large {
    font-size: calc(var(--base-size) * 1.625);
    line-height: 1.4615384615;
    margin-left: calc(var(--base-size) * 1.25);
    margin-right: calc(var(--base-size) * 1.25);
    padding-block: calc(var(--base-size) * 0.625);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__head__large {
    font-size: calc(var(--base-size) * 2);
    line-height: 1.4375;
    margin-left: calc(var(--base-size) * 3.6875);
    margin-right: calc(var(--base-size) * 3.6875);
    padding-block: calc(var(--base-size) * 0.8125);
  }
}
.globalFooter__service .globalFooter__service__head__star {
  position: absolute;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__head__star {
    left: calc(var(--base-size) * 0.9375);
    top: 0;
    width: calc(var(--base-size) * 0.6875);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__head__star {
    left: calc(var(--base-size) * 2.375);
    top: calc(var(--base-size) * 0.1875);
    width: calc(var(--base-size) * 0.875);
  }
}
.globalFooter__service .globalFooter__service__container__large {
  display: grid;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__container__large {
    grid-row-gap: calc(var(--base-size) * 1.875);
    margin-top: calc(var(--base-size) * 1.875);
    padding-inline: calc(var(--base-size) * 1.25);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__container__large {
    grid-gap: calc(var(--base-size) * 2.5);
    grid-template-columns: repeat(2, 1fr);
    margin-top: calc(var(--base-size) * 3.875);
    padding-inline: calc(var(--base-size) * 1.875);
  }
}
@media (min-width: 1366px) {
  .globalFooter__service .globalFooter__service__container__large {
    grid-gap: calc(var(--base-size) * 2.5);
    grid-template-columns: repeat(3, 1fr);
    margin-top: calc(var(--base-size) * 3.875);
    padding-inline: calc(var(--base-size) * 3.75);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__item:focus-visible .globalFooter__service__item__img img, .globalFooter__service .globalFooter__service__item:hover .globalFooter__service__item__img img {
    scale: 1.1;
  }
  .globalFooter__service .globalFooter__service__item:focus-visible .globalFooter__service__item__purpose, .globalFooter__service .globalFooter__service__item:hover .globalFooter__service__item__purpose {
    color: var(--color-green);
  }
  .globalFooter__service .globalFooter__service__item:focus-visible .globalFooter__service__blank__circle, .globalFooter__service .globalFooter__service__item:hover .globalFooter__service__blank__circle {
    background-color: var(--color-white);
    transform: scale(1.2);
  }
  .globalFooter__service .globalFooter__service__item:focus-visible .globalFooter__service__blank__icon, .globalFooter__service .globalFooter__service__item:hover .globalFooter__service__blank__icon {
    background-color: var(--color-green);
  }
}
.globalFooter__service .globalFooter__service__blank {
  align-items: center;
  border-radius: 624.9375rem;
  display: inline-flex;
  justify-content: center;
  position: relative;
  top: -0.1em;
  vertical-align: middle;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__blank {
    height: 1.75rem;
    width: 1.75rem;
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__blank {
    height: calc(var(--base-size) * 2);
    vertical-align: baseline;
    width: calc(var(--base-size) * 2);
  }
}
.globalFooter__service .globalFooter__service__blank__circle {
  background-color: var(--color-green);
  border: 0.0625rem solid var(--color-green);
  border-radius: 624.9375rem;
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.globalFooter__service .globalFooter__service__blank__icon {
  background-color: var(--color-white);
  display: inline-block;
  height: 0.875rem;
  -webkit-mask-image: url(../img/common/icon_blank03.svg);
  mask-image: url(../img/common/icon_blank03.svg);
  -webkit-mask-size: cover;
  mask-size: cover;
  transition: scale 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  vertical-align: middle;
  width: 0.875rem;
}

.globalFooter__service .globalFooter__service__item__img {
  filter: var(--drop-shadow-20);
  will-change: filter;
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__item__img {
    height: calc(var(--base-size) * 7.5);
  }
}
.globalFooter__service .globalFooter__service__item__img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: scale 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  width: 100%;
}

.globalFooter__service .globalFooter__service__item__img__wrap {
  border-radius: calc(var(--base-size) * 1.25);
  height: 100%;
  overflow: hidden;
  position: relative;
}

.globalFooter__service .globalFooter__service__item__purpose {
  letter-spacing: 0.01em;
  transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (max-width: 767.98px) {
  .globalFooter__service .globalFooter__service__item__purpose {
    font-size: calc(var(--base-size) * 1.25);
    line-height: 1.7;
    margin-top: calc(var(--base-size) * 0.625);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__item__purpose {
    font-size: calc(var(--base-size) * 1.5);
    line-height: 1.5;
    margin-top: calc(var(--base-size) * 1.375);
  }
}
@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__item__link:focus-visible .globalFooter__service__item__img img, .globalFooter__service .globalFooter__service__item__link:hover .globalFooter__service__item__img img {
    scale: 1.1;
  }
  .globalFooter__service .globalFooter__service__item__link:focus-visible .globalFooter__service__item__purpose, .globalFooter__service .globalFooter__service__item__link:hover .globalFooter__service__item__purpose {
    color: var(--color-green);
  }
  .globalFooter__service .globalFooter__service__item__link:focus-visible .globalFooter__service__item__purpose__link__blank__circle, .globalFooter__service .globalFooter__service__item__link:hover .globalFooter__service__item__purpose__link__blank__circle {
    background-color: var(--color-white);
    transform: scale(1.2);
  }
  .globalFooter__service .globalFooter__service__item__link:focus-visible .globalFooter__service__item__purpose__link__blank__icon, .globalFooter__service .globalFooter__service__item__link:hover .globalFooter__service__item__purpose__link__blank__icon {
    background-color: var(--color-green);
  }
}
.globalFooter__service .globalFooter__service__item__purpose__link__blank {
  top: -0.1em;
}

@media (min-width: 768px) {
  .globalFooter__service .globalFooter__service__item__purpose__link__blank {
    height: calc(var(--base-size) * 2);
    margin-left: calc(var(--base-size) * 0.5);
    vertical-align: baseline;
    width: calc(var(--base-size) * 2);
  }
}
.globalFooter, .globalHeader {
  color: var(--base-color);
  font-family: var(--font-family);
  font-size: var(--base-size);
  font-size: calc(var(--base-size) * 0.875);
  letter-spacing: 0.1em;
  line-height: 2;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-wrap: break-word;
  --font-family: "Zen Kaku Gothic New", -apple-system, "メイリオ", meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  --base-size: 1rem;
  --base-color: #203424;
  --color-black: #201412;
  --color-gray: #ccc;
  --color-darkgray: #757575;
  --color-red: #f24822;
  --color-red-light: #fcf0f0;
  --color-blue: #0d99ff;
  --color-white: #fff;
  --color-green: #00a041;
  --color-green-light: #eef7f0;
  --color-green-dark: #165630;
  --color-orange: #ea3333;
  --color-lightgray: #ccc;
  --drop-shadow-50: drop-shadow(calc(var(--base-size)*0.3125) calc(var(--base-size)*1.25) calc(var(--base-size)*3.125) rgba(0, 0, 0, .5));
  --drop-shadow-20: drop-shadow(0 calc(var(--base-size)*1.25) calc(var(--base-size)*1.25) rgba(0, 0, 0, .2));
  --drop-shadow-10: drop-shadow(0 calc(var(--base-size)*1.25) calc(var(--base-size)*0.625) rgba(0, 0, 0, .1)) ;
}

.globalFooter :where(a), .globalHeader :where(a) {
  color: var(--color-black);
  text-decoration: none;
}

.globalFooter :where(a):active, .globalHeader :where(a):active {
  text-decoration: none;
}

.globalFooter :where(a)[href^="tel:"], .globalHeader :where(a)[href^="tel:"] {
  color: var(--color-black);
  text-decoration: none;
}

.globalFooter :where(a)[href^="tel:"]:active, .globalHeader :where(a)[href^="tel:"]:active {
  color: var(--color-black);
}

.globalFooter :where(svg), .globalHeader :where(svg) {
  height: auto;
}

.globalFooter button, .globalFooter input, .globalFooter select, .globalFooter textarea, .globalHeader button, .globalHeader input, .globalHeader select, .globalHeader textarea {
  color: inherit;
  font-family: inherit;
}

.globalFooter li, .globalFooter p, .globalFooter ul, .globalHeader li, .globalHeader p, .globalHeader ul {
  margin: 0;
  padding: 0;
}

.globalFooter th, .globalHeader th {
  font-weight: 400;
}

.globalFooter table, .globalHeader table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.globalFooter th, .globalHeader th {
  text-align: left;
}

.globalFooter aside, .globalFooter main, .globalHeader aside, .globalHeader main {
  display: block;
}

.globalFooter h1, .globalFooter h2, .globalFooter h3, .globalFooter h4, .globalFooter h5, .globalFooter h6, .globalHeader h1, .globalHeader h2, .globalHeader h3, .globalHeader h4, .globalHeader h5, .globalHeader h6 {
  font-size: 100%;
  font-weight: 400;
}

.globalFooter fieldset, .globalFooter img, .globalHeader fieldset, .globalHeader img {
  border: 0;
}

.globalFooter img, .globalHeader img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

.globalFooter li, .globalHeader li {
  list-style-type: none;
}

.globalFooter button, .globalFooter select, .globalHeader button, .globalHeader select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.globalFooter button, .globalFooter input[type=submit], .globalFooter label, .globalFooter select, .globalHeader button, .globalHeader input[type=submit], .globalHeader label, .globalHeader select {
  cursor: pointer;
}

.globalFooter select::-ms-expand, .globalHeader select::-ms-expand {
  display: none;
}

.globalFooter br, .globalHeader br {
  line-height: 0;
}

.globalFooter *, .globalFooter :after, .globalFooter :before, .globalHeader *, .globalHeader :after, .globalHeader :before {
  box-sizing: border-box;
}

.globalFooter .clearfix, .globalHeader .clearfix {
  clear: both;
}

.globalFooter a, .globalHeader a {
  text-decoration: none;
}

body {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

main input,
main button,
main select,
main textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
main textarea {
  resize: vertical;
}
main input[type=checkbox],
main input[type=radio] {
  display: none;
}
main input[type=submit],
main input[type=button],
main label,
main button,
main select {
  cursor: pointer;
}
main select::-ms-expand {
  display: none;
}
main ul, main li {
  list-style: none;
}
main * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: 0;
}

:root {
  --vw: 1vw;
}

:root {
  --color-blueGray-light: #EDEEF0;
  --color-blueGray-medium: #CDD2D7;
  --color-blueGray-dark: #737D87;
  --color-black: #222;
  --color-white: #fff ;
}

/* 共通：ホバーで半透明にするクラス */
.u-hover-alpha {
  /* 透明度の変化を0.3秒かけてスムーズにします */
  transition: opacity 0.3s ease;
  /* マウスを乗せた時の処理 */
  /* 画像などの場合、下の隙間を防ぐために block 化しておくと安心です */
}
.u-hover-alpha:hover {
  opacity: 0.6; /* 0.6は「40%透ける」状態です。お好みで 0.7 などに調整してください */
}
.u-hover-alpha img {
  display: block;
}

body {
  /* --- 追記: フェードイン → 5秒キープ → フェードアウト --- */
}
body main {
  position: relative;
  z-index: 1;
  color: #040000;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background-color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-weight: 400;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 767.98px) {
  body main {
    width: 100%;
    min-width: inherit;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 1024px) {
  body main {
    padding-top: 7.3vw;
  }
}
@media screen and (min-width: 1374px) {
  body main {
    padding-top: 100px;
  }
}
@media screen and (max-width: 1024px) {
  body main {
    padding-top: 5.6vw;
  }
}
@media only screen and (max-width: 767.98px) {
  body main {
    padding-top: 71.375px;
  }
}
body sup {
  font-size: 0.7em;
  vertical-align: top;
}
body a {
  text-decoration: none;
  color: #333;
}
body img {
  width: 100%;
}
body .inner {
  width: calc(var(--vw) * 900 / 1000 * 100);
  max-width: 900px;
  margin: 0 auto;
}
body .kv {
  /* 幅を100%にして、比率をPC用に 16:9 に設定します */
  width: 100%;
  aspect-ratio: 16/9;
  /* 古い高さの指定は削除またはコメントアウトします */
}
@media only screen and (max-width: 767.98px) {
  body .kv {
    width: 100%;
    /* SP用の比率 9:16 に設定します */
    aspect-ratio: 9/16;
    /* 以前のheight指定は上書きされるよう、念のためautoにするかコメントアウトします */
    height: auto;
  }
}
body .kv .mv_wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body .kv .mv_wrap .mv_video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body .kv .mv_wrap .kv_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 70vw;
  /* --- ここから追記 --- */
  /* 1s: 1秒かけてフワッと消える
    ease: スムーズな変化
    5s: 5秒間待ってから開始する（遅延）
    forwards: アニメーション終了後の状態（透明）をキープする
  */
  animation: fadeInOutTitle 3.5s ease forwards;
  /* --- ここまで追記 --- */
}
@media only screen and (max-width: 767.98px) {
  body .kv .mv_wrap .kv_ttl {
    width: 80vw;
    top: 70%;
    display: none;
  }
}
@keyframes fadeInOutTitle {
  0% {
    opacity: 0;
    visibility: visible;
  }
  15% { /* 最初の約1秒でフワッと表示されます */
    opacity: 1;
  }
  85% { /* そこから5秒間、表示された状態をキープします */
    opacity: 1;
  }
  100% { /* 最後の約1秒でフワッと消えます */
    opacity: 0;
    visibility: hidden; /* 後ろの要素に触れられるように、完全に隠します */
  }
}
body .lead {
  /* 以前変更したvwの指定はそのままです */
  padding-top: 10vw;
  padding-bottom: 10vw;
}
@media only screen and (max-width: 767.98px) {
  body .lead {
    padding-top: calc(var(--vw) * 130 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .lead {
    padding-bottom: calc(var(--vw) * 130 / 750 * 100);
  }
}
body .lead .inner {
  /* display: table; を削除し、現代的な width: fit-content; に変更します */
  width: fit-content;
  margin: 0 auto;
  /* ここがポイント！ ベースの制限を解除して、変な改行を防ぎます */
  max-width: none;
}
@media only screen and (max-width: 767.98px) {
  body .lead .inner {
    width: auto;
    margin: 0 0vw 0 8.8vw;
  }
}
body .lead .lead_t01, body .lead .lead_t02 {
  opacity: 0;
}
body .lead.is-active .lead_t01, body .lead.is-active .lead_t02 {
  /* 前回作った fadeInUp アニメーションを再利用します！ */
  animation: fadeInUp 0.8s ease forwards;
}
body .lead.is-active .lead_t01 {
  animation-delay: 0.2s;
}
body .lead.is-active .lead_t02 {
  animation-delay: 0.5s;
}
body .lead .lead_t01 {
  /* fz(28) を vw に変更 (28px / 1000 * 100 = 2.8vw) */
  font-size: 2.8vw;
  letter-spacing: 0.24em;
}
@media only screen and (max-width: 767.98px) {
  body .lead .lead_t01 {
    font-size: calc(var(--vw) * 48 / 750 * 100);
  }
}
body .lead .lead_t02 {
  line-height: 2.7;
  /* fz(17) を vw に変更 (17px / 1000 * 100 = 1.7vw) */
  font-size: 1.7vw;
  letter-spacing: 0.3em;
  /* emは現在のフォントサイズに対する割合なので、そのままで可変になります */
  margin-top: 0.4em;
}
@media only screen and (max-width: 767.98px) {
  body .lead .lead_t02 {
    font-size: calc(var(--vw) * 29 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .lead .lead_t02 {
    margin-top: calc(var(--vw) * 30 / 750 * 100);
  }
}
body .team .person_list li {
  aspect-ratio: 1000/470;
  position: relative;
  width: 100%;
  z-index: 1;
  overflow: hidden;
  /* --- 追記: フェードインの動きの定義 --- */
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list li {
    aspect-ratio: 750/1080;
  }
}
body .team .person_list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.1);
  transition: transform 1.5s ease-out;
}
body .team .person_list li.is-active::before {
  transform: scale(1);
}
body .team .person_list li:after {
  z-index: -1;
  content: "";
  width: 60%;
  height: 100%;
  position: absolute;
  top: 0;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list li:after {
    width: 70%;
  }
}
body .team .person_list li:nth-child(odd):after {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.4784313725), transparent);
  left: 0;
}
body .team .person_list li:nth-child(odd) .link {
  left: 0;
}
body .team .person_list li:nth-child(even):after {
  background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4784313725));
  right: 0;
}
body .team .person_list li:nth-child(even) .link {
  right: 0;
}
body .team .person_list li .job, body .team .person_list li .txt .t01, body .team .person_list li .txt .t02, body .team .person_list li .link {
  opacity: 0;
}
body .team .person_list li.is-active .job, body .team .person_list li.is-active .txt .t01, body .team .person_list li.is-active .txt .t02, body .team .person_list li.is-active .link {
  /* forwards をつけることで、アニメーション終了後の状態（100%の時の状態）を維持します */
  animation: fadeInUp 1.2s ease forwards;
}
body .team .person_list li.is-active .job {
  animation-delay: 0.3s;
}
body .team .person_list li.is-active .txt .t01 {
  animation-delay: 0.6s;
}
body .team .person_list li.is-active .txt .t02 {
  animation-delay: 0.9s;
}
body .team .person_list li.is-active .link {
  animation-delay: 1.2s;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px); /* 最初は20px下に配置 */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻りながら表示 */
  }
}
body .team .person_list .person01::before {
  background-image: url(../img/person01_img.png);
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person01::before {
    background-image: url(../img/person01_img_sp.png);
  }
}
body .team .person_list .person01 .txt {
  top: 9.5vw;
  left: 3vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person01 .txt {
    top: calc(var(--vw) * 224 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person01 .txt {
    left: calc(var(--vw) * 30 / 750 * 100);
  }
}
body .team .person_list .person01 .txt .t01 {
  width: 42.7vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person01 .txt .t01 {
    width: calc(var(--vw) * 422 / 750 * 100);
    max-width: none;
  }
}
body .team .person_list .person02::before {
  background-image: url(../img/person02_img.png);
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person02::before {
    background-image: url(../img/person02_img_sp.png);
  }
}
body .team .person_list .person02 .txt {
  top: 8.8vw;
  right: 6vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person02 .txt {
    top: calc(var(--vw) * 200 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person02 .txt {
    right: calc(var(--vw) * 5 / 750 * 100);
  }
}
body .team .person_list .person02 .txt .t01 {
  width: 40.4vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person02 .txt .t01 {
    width: calc(var(--vw) * 372 / 750 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person02 .txt {
    text-align: center;
  }
}
body .team .person_list .person03::before {
  background-image: url(../img/person03_img.png);
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person03::before {
    background-image: url(../img/person03_img_sp.png);
  }
}
body .team .person_list .person03 .txt {
  top: 8vw;
  left: 4vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person03 .txt {
    top: calc(var(--vw) * 185 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person03 .txt {
    left: calc(var(--vw) * 30 / 750 * 100);
  }
}
body .team .person_list .person03 .txt .t01 {
  width: 35.9vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person03 .txt .t01 {
    width: calc(var(--vw) * 387 / 750 * 100);
    max-width: none;
  }
}
body .team .person_list .person04::before {
  background-image: url(../img/person04_img.png);
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person04::before {
    background-image: url(../img/person04_img_sp.png);
  }
}
body .team .person_list .person04 .txt {
  top: 12.6vw;
  right: 6vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person04 .txt {
    top: calc(var(--vw) * 263 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person04 .txt {
    right: calc(var(--vw) * 5 / 750 * 100);
  }
}
body .team .person_list .person04 .txt .t01 {
  width: 41.6vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .person04 .txt .t01 {
    width: calc(var(--vw) * 310 / 750 * 100);
    max-width: none;
  }
}
body .team .person_list .job {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  letter-spacing: 0.2em;
  position: absolute;
  top: calc(var(--vw) * 20 / 1000 * 100);
  left: calc(var(--vw) * 20 / 1000 * 100);
  color: #fff;
  border: 1px solid #fff;
  padding: 0.2em 1.3em;
  font-size: 1.5vw;
}
@media screen and (min-width: 1000px) {
  body .team .person_list .job {
    top: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .job {
    top: calc(var(--vw) * 20 / 750 * 100);
  }
}
@media screen and (min-width: 1000px) {
  body .team .person_list .job {
    left: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .job {
    left: calc(var(--vw) * 20 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .job {
    top: calc(var(--vw) * 30 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .job {
    left: calc(var(--vw) * 30 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .job {
    font-size: calc(var(--vw) * 25 / 750 * 100);
  }
}
body .team .person_list .txt {
  position: absolute;
  color: #fff;
}
body .team .person_list .txt .t02 {
  line-height: 2.1;
  letter-spacing: 0.2em;
  margin-top: calc(var(--vw) * 10 / 1000 * 100);
  padding-left: calc(var(--vw) * 45 / 1000 * 100);
  margin-top: 1vw;
  padding-left: 4.5vw;
  font-size: 1.4vw;
}
@media screen and (min-width: 1000px) {
  body .team .person_list .txt .t02 {
    margin-top: 10px;
  }
}
@media screen and (min-width: 1000px) {
  body .team .person_list .txt .t02 {
    padding-left: 45px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .txt .t02 {
    margin-top: calc(var(--vw) * 10 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .txt .t02 {
    padding-left: calc(var(--vw) * 35 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .txt .t02 {
    font-size: calc(var(--vw) * 28 / 750 * 100);
  }
}
body .team .person_list .link {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  display: table;
  background: #fff;
  text-align: center;
  letter-spacing: 0.24em;
  padding: 0.6em 3em 0.6em 3em;
  position: absolute;
  bottom: 3.6vw;
  transition: 0.4s;
  font-size: 1.06vw;
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .link {
    font-size: calc(var(--vw) * 24 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .link {
    bottom: calc(var(--vw) * 80 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .person_list .link {
    padding: 0.4em 3em 0.4em 3em;
  }
}
body .team .person_list .link:hover {
  transition: 0.4s;
  background: #009F5E;
}
body .team .person_list .link:hover span {
  color: #fff;
}
body .team .person_list .link:hover span:after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
body .team .person_list .link span {
  position: relative;
  color: #009F5E;
}
body .team .person_list .link span:after {
  content: "";
  display: inline-block;
  margin-left: 0.3em;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid #009F5E;
  border-right: 1px solid #009F5E;
  transform: rotate(45deg) translateY(-25%);
}
body .team .photo {
  line-height: 1;
  overflow: hidden;
}
body .team .photo img {
  transform: scale(1.1);
  transition: transform 1.5s ease-out;
}
body .team .photo.is-active img {
  transform: scale(1);
}
body .team .teampolus {
  padding-top: calc(var(--vw) * 55 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .teampolus {
    padding-top: 55px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus {
    padding-top: calc(var(--vw) * 130 / 750 * 100);
  }
}
body .team .teampolus .logo, body .team .teampolus .txt {
  opacity: 0;
}
body .team .teampolus.is-active .logo, body .team .teampolus.is-active .txt {
  animation: fadeInUp 0.8s ease forwards;
}
body .team .teampolus.is-active .logo {
  animation-delay: 0.2s;
}
body .team .teampolus.is-active .txt {
  animation-delay: 0.5s;
}
body .team .teampolus .logo {
  margin: 0 auto;
  width: calc(var(--vw) * 587 / 1000 * 100);
  max-width: 587px;
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .logo {
    width: calc(var(--vw) * 600 / 750 * 100);
    max-width: none;
  }
}
body .team .teampolus .txt {
  text-align: center;
  line-height: 2;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  font-size: calc(var(--vw) * 17 / 1000 * 100);
  margin-top: 1.5em;
}
@media screen and (min-width: 1000px) {
  body .team .teampolus .txt {
    font-size: 17px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .txt {
    font-size: calc(var(--vw) * 28 / 750 * 100);
  }
}
body .team .teampolus .mv_list {
  margin-top: calc(var(--vw) * 90 / 1000 * 100);
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  gap: calc(var(--vw) * 89 / 1000 * 100) calc(var(--vw) * 89 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .teampolus .mv_list {
    margin-top: 90px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list {
    margin-top: calc(var(--vw) * 120 / 750 * 100);
  }
}
@media screen and (min-width: 1000px) {
  body .team .teampolus .mv_list {
    gap: 89px 89px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list {
    gap: calc(var(--vw) * 45 / 750 * 100) calc(var(--vw) * 45 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list {
    flex-direction: column;
    align-items: center;
  }
}
body .team .teampolus .mv_list li {
  width: calc(var(--vw) * 331 / 1000 * 100);
  max-width: 331px;
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list li {
    width: calc(var(--vw) * 613 / 750 * 100);
    max-width: none;
  }
}
body .team .teampolus .mv_list li a .thum {
  position: relative;
  z-index: 1;
}
body .team .teampolus .mv_list li a .thum:after {
  content: "";
  display: inline-block;
  width: calc(var(--vw) * 55 / 1000 * 100);
  max-width: 55px;
  height: calc(var(--vw) * 55 / 1000 * 100);
  background: url(../img/mv_arrow.png) 0 0/100% 100% no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1000px) {
  body .team .teampolus .mv_list li a .thum:after {
    height: 55px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list li a .thum:after {
    width: calc(var(--vw) * 101 / 750 * 100);
    max-width: none;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list li a .thum:after {
    height: calc(var(--vw) * 101 / 750 * 100);
  }
}
body .team .teampolus .mv_list li a p {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.3em;
  font-size: calc(var(--vw) * 15 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .teampolus .mv_list li a p {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .teampolus .mv_list li a p {
    font-size: calc(var(--vw) * 26 / 750 * 100);
  }
}
body .team .more {
  width: calc(var(--vw) * 900 / 1000 * 100);
  max-width: 900px;
  margin: 0 auto;
  border-top: 1px solid #000;
  margin-top: calc(var(--vw) * 90 / 1000 * 100);
  padding-top: calc(var(--vw) * 80 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .more {
    margin-top: 90px;
  }
}
@media screen and (min-width: 1000px) {
  body .team .more {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more {
    margin-top: calc(var(--vw) * 90 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more {
    padding-top: calc(var(--vw) * 80 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more {
    width: 90%;
    max-width: none;
  }
}
body .team .more .txt {
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-align: center;
  font-size: calc(var(--vw) * 17 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .more .txt {
    font-size: 17px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more .txt {
    font-size: calc(var(--vw) * 30 / 750 * 100);
  }
}
body .team .more .more_list {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  margin-top: calc(var(--vw) * 30 / 1000 * 100);
  gap: calc(var(--vw) * 30 / 1000 * 100) calc(var(--vw) * 30 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  body .team .more .more_list {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1000px) {
  body .team .more .more_list {
    gap: 30px 30px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more .more_list {
    margin-top: calc(var(--vw) * 50 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more .more_list {
    gap: calc(var(--vw) * 40 / 750 * 100) calc(var(--vw) * 40 / 750 * 100);
  }
}
body .team .more .more_list li {
  width: calc(var(--vw) * 190 / 1000 * 100);
  max-width: 190px;
}
@media only screen and (max-width: 767.98px) {
  body .team .more .more_list li {
    width: calc(var(--vw) * 300 / 750 * 100);
    max-width: none;
  }
}
body .team .more .more_list li a {
  display: block;
  position: relative;
  z-index: 1;
  /* --- ここから追記 --- */
  /* --- ここまで追記 --- */
}
body .team .more .more_list li a img {
  display: block; /* 画像をブロック要素にして下部の隙間を消します */
  width: 100%;
}
body .team .more .more_list li a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #999;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
body .team .more .more_list li a span {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-size: calc(var(--vw) * 17 / 1000 * 100);
  color: white;
  position: absolute;
  text-align: center;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-right: -50%;
  z-index: 2;
}
@media screen and (min-width: 1000px) {
  body .team .more .more_list li a span {
    font-size: 17px;
  }
}
@media only screen and (max-width: 767.98px) {
  body .team .more .more_list li a span {
    font-size: calc(var(--vw) * 25 / 750 * 100);
  }
}

.foot_wrap {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  padding-top: calc(var(--vw) * 80 / 1000 * 100);
}
.foot_wrap * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
@media screen and (min-width: 1000px) {
  .foot_wrap {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap {
    padding-top: calc(var(--vw) * 80 / 750 * 100);
  }
}
.foot_wrap .foot__logo {
  margin: 0 auto;
  width: calc(var(--vw) * 118 / 1000 * 100);
  max-width: 118px;
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__logo {
    width: calc(var(--vw) * 278 / 750 * 100);
    max-width: none;
  }
}
.foot_wrap .foot__link {
  padding: 1em 0;
  font-size: calc(var(--vw) * 13 / 1000 * 100);
  text-align: center;
  background: #379E49;
  margin-top: calc(var(--vw) * 20 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__link {
    font-size: 13px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__link {
    font-size: calc(var(--vw) * 25 / 750 * 100);
  }
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__link {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__link {
    margin-top: calc(var(--vw) * 50 / 750 * 100);
  }
}
.foot_wrap .foot__link a {
  color: #fff;
}
.foot_wrap .foot__title {
  text-align: center;
  font-size: calc(var(--vw) * 13 / 1000 * 100);
  padding: 2em 0 1.6em;
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__title {
    font-size: 13px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__title {
    font-size: calc(var(--vw) * 25 / 750 * 100);
  }
}
.foot_wrap .foot__list {
  list-style: none;
  width: 86%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: calc(var(--vw) * 10 / 1000 * 100) calc(var(--vw) * 10 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__list {
    gap: 10px 10px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__list {
    gap: calc(var(--vw) * 16 / 750 * 100) calc(var(--vw) * 16 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__list {
    grid-template-columns: repeat(2, 1fr);
    width: 92%;
  }
}
.foot_wrap .foot__list li {
  border-radius: 10px;
  overflow: hidden;
}
.foot_wrap .foot__list a {
  display: block;
  position: relative;
}
.foot_wrap .foot__list a span {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: calc(var(--vw) * 12 / 1000 * 100);
  margin-right: -50%;
  z-index: 1;
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__list a span {
    font-size: 12px;
  }
}
.foot_wrap .foot__list a img {
  display: block;
}
.foot_wrap .foot__copy {
  display: block;
  letter-spacing: 0.24em;
  text-align: center;
  font-weight: 500;
  line-height: 1.8;
  font-size: calc(var(--vw) * 9 / 1000 * 100);
  padding-top: calc(var(--vw) * 50 / 1000 * 100);
  padding-bottom: calc(var(--vw) * 20 / 1000 * 100);
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__copy {
    font-size: 9px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__copy {
    font-size: calc(var(--vw) * 19 / 750 * 100);
  }
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__copy {
    padding-top: 50px;
  }
}
@media screen and (min-width: 1000px) {
  .foot_wrap .foot__copy {
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__copy {
    padding-top: calc(var(--vw) * 50 / 750 * 100);
  }
}
@media only screen and (max-width: 767.98px) {
  .foot_wrap .foot__copy {
    padding-bottom: calc(var(--vw) * 50 / 750 * 100);
  }
}

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

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