@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* GROUND animation
***********************************/
.upShow {
  animation: jsUpShow 1.2s 1s cubic-bezier(0.165, 0.84, 0.44, 1) backwards;
}

@keyframes jsUpShow {
  0% {
    opacity: 0;
    transform: translateY(60px) rotate(0.01deg);
    visibility: hidden;
  }
  60% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
    visibility: visible;
  }
}
@keyframes jsDownShow {
  0% {
    opacity: 0;
    transform: translateY(-30px);
    visibility: hidden;
  }
  60% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }
}
@keyframes jsFedeShow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes jsFedeHide {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes moveFromTop {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes moveFromLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes moveFromRight {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes moveFromBottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes moveToTop {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes moveToLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes moveToRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes moveToBottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes maskFromTop {
  0% {
    clip-path: inset(0 0 100% 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
}
@keyframes maskFromLeft {
  0% {
    clip-path: inset(0 0 0 100%);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
}
@keyframes maskFromRight {
  0% {
    clip-path: inset(0 100% 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
}
@keyframes maskFromBottom {
  0% {
    clip-path: inset(100% 0 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
}
@keyframes maskToTop {
  0% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 100% 0);
    visibility: visible;
  }
}
@keyframes maskToLeft {
  0% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 100% 0 0);
    visibility: visible;
  }
}
@keyframes maskToRight {
  0% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(0 0 0 100%);
    visibility: visible;
  }
}
@keyframes maskToBottom {
  0% {
    clip-path: inset(0 0 0 0);
    visibility: visible;
  }
  100% {
    clip-path: inset(100% 0 0 0);
    visibility: visible;
  }
}
[data-mask=FromTop] {
  animation: maskFromTop 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=FromLeft] {
  animation: maskFromLeft 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=FromRight] {
  animation: maskFromRight 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=FromBottom] {
  animation: maskFromBottom 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=ToTop] {
  animation: maskToTop 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=ToLeft] {
  animation: maskToLeft 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=ToRight] {
  animation: maskToRight 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

[data-mask=ToBottom] {
  animation: maskToBottom 0.5s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

@keyframes ScalefadeIn {
  0% {
    transform: scale(1.12);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes ScalefadeInIconSp {
  0% {
    transform: scale(1.5);
    opacity: 0;
    visibility: hidden;
  }
  100% {
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes accordionHeight {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
@keyframes maskShowFromLeft {
  0% {
    clip-path: inset(0% 100% 0% 0%);
  }
  100% {
    clip-path: inset(0% 0% 0% 0%);
  }
}
@keyframes maskShowFromRight {
  0% {
    clip-path: inset(0% 0% 0% 100%);
  }
  100% {
    clip-path: inset(0% 0% 0% 0%);
  }
}
@keyframes arrowMoveRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(70px * var(--scale)));
  }
}
@keyframes iconArrowMoveRight {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(20px * var(--scale)));
  }
}
.jsStanby {
  visibility: hidden;
}

.scrAnim {
  position: relative;
}

.bottomShow {
  overflow: hidden;
}
.bottomShow span {
  display: inline-block;
}

@keyframes jsBlurShow {
  0% {
    filter: blur(8px);
    opacity: 0;
  }
  50% {
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
.animShow {
  animation: jsUpShow 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.animShow.blur {
  animation: jsBlurShow 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.animShow.ScalefadeIn {
  animation: ScalefadeInIconSp 0.7s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s forwards;
  opacity: 0;
}
.animShow.fadeIn {
  animation: jsFedeShow 1.2s 1s cubic-bezier(0.165, 0.84, 0.44, 1) backwards;
}
.animShow.maskShowFromLeft {
  animation: maskShowFromLeft 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.animShow.maskShowFromRight {
  animation: maskShowFromRight 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.animShow.bottomShow {
  animation: none;
}
.animShow.bottomShow span {
  animation: moveToBottom 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.animShow.side-menu {
  animation: jsUpShow 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s backwards;
}
.animShow.side-menu.franchise {
  animation: jsUpShow 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s backwards;
}

.scrAnimScale {
  transition: all 0.7s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  opacity: 0;
  transform: scale(0.5) translateY(0);
}
.scrAnimScale.animationShown {
  transition: none;
}

.scrAnimScale.animShowScale {
  opacity: 1;
  transform: scale(1);
}

.scrAnimMask {
  visibility: hidden;
}

.animMaskShow {
  visibility: visible;
  animation: maskFromTop 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}

@keyframes moveAround {
  0% {
    transform: translateY(-15px);
  }
  50% {
    transform: translateY(15px);
  }
  100% {
    transform: translateY(-15px);
  }
}
.moveAround {
  animation: moveAround 10s ease-in-out infinite;
}

@keyframes chara1 {
  0% {
    transform: rotate(-5deg);
  }
  30% {
    transform: rotate(5deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(-5deg);
  }
}
@keyframes chara2 {
  0% {
    transform: rotate(5deg);
  }
  20% {
    transform: rotate(-5deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  80% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(5deg);
  }
}
@keyframes chara3 {
  0% {
    transform: translateY(0px);
  }
  60% {
    transform: translateY(0px);
  }
  80% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes chara4 {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(15deg);
  }
  60% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes chara5 {
  0% {
    transform: rotate(2deg);
  }
  20% {
    transform: rotate(-5deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  80% {
    transform: rotate(2deg);
  }
  100% {
    transform: rotate(2deg);
  }
}
body {
  --scale:1;
  --headerHeight:60px;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-feature-settings: "palt";
  overflow-wrap: anywhere;
  word-break: auto-phrase;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 500;
  visibility: unset;
  opacity: unset;
  width: 100%;
}
body::before {
  content: "";
  background-color: #fff;
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  transition: 0.3s;
}
body.ready::before {
  opacity: 0;
}

.browser-bg {
  position: fixed;
  background-color: #000;
  height: 5px;
  width: 100%;
  left: 0;
  mix-blend-mode: lighten;
  pointer-events: none;
  z-index: 10000;
}
.browser-bg.top {
  top: 0;
}
.browser-bg.bottom {
  bottom: 0;
}

.wrap:not(:has(.home-main)) {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.wrap:not(:has(.home-main)) > *:has(+ footer.footer) {
  margin-bottom: auto;
  padding-bottom: 0;
}
.wrap:not(:has(.home-main)) .footer.footer {
  margin-top: calc(140px * var(--scale));
}

.light {
  font-weight: 300;
}

.medi {
  font-weight: 500;
}

.semi-bold {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.ex-bold {
  font-weight: 900;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

a {
  text-decoration: none;
  outline: none;
}

a, a:visited {
  color: inherit;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

i {
  display: inline-block;
}

ul, ol {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  backface-visibility: hidden;
  vertical-align: top;
  height: auto;
}

canvas, video {
  vertical-align: top;
}

button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  text-transform: inherit;
  white-space: normal;
  cursor: pointer;
}

label {
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  appearance: none;
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  backface-visibility: hidden;
}

input:focus, textarea:focus, input[type]:focus, .uneditable-input:focus {
  outline: 0;
  box-shadow: none;
  border: none;
  background-color: transparent;
}

select,
input[type=text],
input[type=search],
input[type=tel],
input[type=url],
input[type=email],
input[type=password],
input[type=number],
input[type=file],
input[type=date],
textarea,
select:focus,
input[type=text]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=file]:focus,
input[type=date]:focus,
textarea:focus {
  -webkit-appearance: none;
}
select.error,
input[type=text].error,
input[type=search].error,
input[type=tel].error,
input[type=url].error,
input[type=email].error,
input[type=password].error,
input[type=number].error,
input[type=file].error,
input[type=date].error,
textarea.error,
select:focus.error,
input[type=text]:focus.error,
input[type=search]:focus.error,
input[type=tel]:focus.error,
input[type=url]:focus.error,
input[type=email]:focus.error,
input[type=password]:focus.error,
input[type=number]:focus.error,
input[type=file]:focus.error,
input[type=date]:focus.error,
textarea:focus.error {
  border: 1px solid #FFE500;
}
.section-login select.error,
.section-login input[type=text].error,
.section-login input[type=search].error,
.section-login input[type=tel].error,
.section-login input[type=url].error,
.section-login input[type=email].error,
.section-login input[type=password].error,
.section-login input[type=number].error,
.section-login input[type=file].error,
.section-login input[type=date].error,
.section-login textarea.error,
.section-login select:focus.error,
.section-login input[type=text]:focus.error,
.section-login input[type=search]:focus.error,
.section-login input[type=tel]:focus.error,
.section-login input[type=url]:focus.error,
.section-login input[type=email]:focus.error,
.section-login input[type=password]:focus.error,
.section-login input[type=number]:focus.error,
.section-login input[type=file]:focus.error,
.section-login input[type=date]:focus.error,
.section-login textarea:focus.error {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #FFE500;
}
select:-ms-input-placeholder, input[type=text]:-ms-input-placeholder, input[type=search]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=url]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=file]:-ms-input-placeholder, input[type=date]:-ms-input-placeholder, textarea:-ms-input-placeholder, select:focus:-ms-input-placeholder, input[type=text]:focus:-ms-input-placeholder, input[type=search]:focus:-ms-input-placeholder, input[type=tel]:focus:-ms-input-placeholder, input[type=url]:focus:-ms-input-placeholder, input[type=email]:focus:-ms-input-placeholder, input[type=password]:focus:-ms-input-placeholder, input[type=number]:focus:-ms-input-placeholder, input[type=file]:focus:-ms-input-placeholder, input[type=date]:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
select::placeholder,
input[type=text]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=number]::placeholder,
input[type=file]::placeholder,
input[type=date]::placeholder,
textarea::placeholder,
select:focus::placeholder,
input[type=text]:focus::placeholder,
input[type=search]:focus::placeholder,
input[type=tel]:focus::placeholder,
input[type=url]:focus::placeholder,
input[type=email]:focus::placeholder,
input[type=password]:focus::placeholder,
input[type=number]:focus::placeholder,
input[type=file]:focus::placeholder,
input[type=date]:focus::placeholder,
textarea:focus::placeholder {
  color: rgba(0, 0, 0, 0.3);
}

select:has(option:checked[value=""]) {
  color: rgba(0, 0, 0, 0.3);
}

select option {
  color: #000;
}
select option[value=""] {
  color: rgba(0, 0, 0, 0.3);
}

input[type=date] {
  text-align: center;
}
input[type=date]::-webkit-date-and-time-value {
  text-align: center;
}

input[type=search]::-webkit-search-cancel-button {
  display: none;
}

input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0;
}

input[type=radio],
input[type=radio]:focus {
  position: relative;
  appearance: none;
  display: none;
}

input[type=checkbox],
input[type=checkbox]:focus {
  position: relative;
  appearance: none;
}

* {
  -webkit-tap-highlight-color: transparent;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

svg {
  overflow-x: initial;
  overflow-y: initial;
}

img, svg {
  width: 100%;
  height: auto;
}

img {
  backface-visibility: hidden;
}

picture {
  display: block;
}

.invisible {
  visibility: hidden;
}

@media (min-width: 1200px) {
  .mobileOnly {
    display: none;
  }
}

@media (min-width: 1023.5px) {
  .spOnly {
    display: none !important;
  }
}
@media (max-width: 1023.4px) {
  .pcOnly {
    display: none !important;
  }
}
@media ((min-width: 768px) and (max-width: 1023px)) {
  .noTb {
    display: none !important;
  }
}
.bg-muted {
  background-color: var(--base);
}

.hide {
  display: none;
}

/**
 * Swiper 11.1.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 9, 2024
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  -ms-scroll-snap-type: none;
      scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

/* light */
.article-body {
  color-scheme: light;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  color: #18361F;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-word;
}
.article-body .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}
.article-body h1:hover .anchor .octicon-link:before, .article-body h2:hover .anchor .octicon-link:before, .article-body h3:hover .anchor .octicon-link:before, .article-body h4:hover .anchor .octicon-link:before, .article-body h5:hover .anchor .octicon-link:before, .article-body h6:hover .anchor .octicon-link:before {
  width: 16px;
  height: 16px;
  content: " ";
  display: inline-block;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
}
.article-body details, .article-body figcaption, .article-body figure {
  display: block;
}
.article-body summary {
  display: list-item;
}
.article-body [hidden] {
  display: none !important;
}
.article-body abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
.article-body b, .article-body strong {
  font-weight: 600;
}
.article-body dfn {
  font-style: italic;
}
.article-body h1 {
  margin: 0.67em 0;
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 2em;
}
.article-body mark {
  background-color: #fff8c5;
  color: #1f2328;
}
.article-body small {
  font-size: 90%;
}
.article-body sub, .article-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.article-body sub {
  bottom: -0.25em;
}
.article-body sup {
  top: -0.5em;
}
.article-body img {
  border-style: none;
  max-width: 100%;
  box-sizing: content-box;
}
.article-body code, .article-body kbd, .article-body pre, .article-body samp {
  font-family: monospace;
  font-size: 1em;
}
.article-body hr {
  box-sizing: content-box;
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid rgba(209, 217, 224, 0.7019607843);
  height: 0.25em;
  padding: 0;
  margin: 1.5rem 0;
  background-color: #d1d9e0;
  border: 0;
}
.article-body input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.article-body [type=button], .article-body [type=reset], .article-body [type=submit] {
  appearance: button;
}
.article-body [type=checkbox], .article-body [type=radio] {
  box-sizing: border-box;
  padding: 0;
}
.article-body [type=number]::-webkit-inner-spin-button, .article-body [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.article-body [type=search]::-webkit-search-cancel-button, .article-body [type=search]::-webkit-search-decoration {
  appearance: none;
}
.article-body ::-webkit-file-upload-button {
  appearance: button;
  font: inherit;
}
.article-body a:hover {
  text-decoration: underline;
}
.article-body hr::before {
  display: table;
  content: "";
}
.article-body hr::after {
  display: table;
  clear: both;
  content: "";
}
.article-body table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  font-variant: tabular-nums;
}
.article-body td, .article-body th {
  padding: 0;
}
.article-body details summary {
  cursor: pointer;
}
.article-body a:focus, .article-body [role=button]:focus {
  outline: 2px solid #0969da;
  outline-offset: -2px;
  box-shadow: none;
}
.article-body input[type=radio]:focus, .article-body input[type=checkbox]:focus {
  outline: 2px solid #0969da;
  outline-offset: -2px;
  box-shadow: none;
}
.article-body a:focus:not(:focus-visible), .article-body [role=button]:focus:not(:focus-visible) {
  outline: solid 1px transparent;
}
.article-body input[type=radio]:focus:not(:focus-visible), .article-body input[type=checkbox]:focus:not(:focus-visible) {
  outline: solid 1px transparent;
}
.article-body a:focus-visible, .article-body [role=button]:focus-visible {
  outline: 2px solid #0969da;
  outline-offset: -2px;
  box-shadow: none;
}
.article-body input[type=radio]:focus-visible, .article-body input[type=checkbox]:focus-visible {
  outline: 2px solid #0969da;
  outline-offset: -2px;
  box-shadow: none;
}
.article-body a:not([class]):focus, .article-body a:not([class]):focus-visible {
  outline-offset: 0;
}
.article-body input[type=radio]:focus, .article-body input[type=radio]:focus-visible {
  outline-offset: 0;
}
.article-body input[type=checkbox]:focus, .article-body input[type=checkbox]:focus-visible {
  outline-offset: 0;
}
.article-body kbd {
  display: inline-block;
  padding: 0.25rem;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: #1f2328;
  vertical-align: middle;
  background-color: #f6f8fa;
  border: solid 1px rgba(209, 217, 224, 0.7019607843);
  border-bottom-color: rgba(209, 217, 224, 0.7019607843);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 rgba(209, 217, 224, 0.7019607843);
}
.article-body h1, .article-body h2, .article-body h3, .article-body h4, .article-body h5, .article-body h6 {
  font-weight: 600;
  line-height: 1.25;
}
.article-body h2 {
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 1.5em;
}
.article-body h3 {
  font-weight: 600;
  font-size: 1.25em;
}
.article-body h4 {
  font-weight: 600;
  font-size: 1em;
}
.article-body h5 {
  font-weight: 600;
  font-size: 0.875em;
}
.article-body h6 {
  font-weight: 600;
  font-size: 0.85em;
  color: #59636e;
}
.article-body p {
  margin-top: 0;
}
.article-body blockquote {
  margin: 0;
  padding: 0 1em;
  color: #59636e;
  border-left: 0.25em solid #d1d9e0;
}
.article-body ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}
.article-body ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}
.article-body ol ol {
  list-style-type: lower-roman;
}
.article-body ul ol {
  list-style-type: lower-roman;
}
.article-body ul ul ol, .article-body ul ol ol {
  list-style-type: lower-alpha;
}
.article-body ol ul ol, .article-body ol ol ol {
  list-style-type: lower-alpha;
}
.article-body dd {
  margin-left: 0;
}
.article-body tt, .article-body code, .article-body samp {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
}
.article-body pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
  word-wrap: normal;
}
.article-body .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}
.article-body input::-webkit-outer-spin-button, .article-body input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}
.article-body .mr-2 {
  margin-right: 0.5rem !important;
}
.article-body > *:first-child {
  margin-top: 0 !important;
}
.article-body > *:last-child {
  margin-bottom: 0 !important;
}
.article-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}
.article-body .absent {
  color: #d1242f;
}
.article-body .anchor {
  float: left;
  padding-right: 0.25rem;
  margin-left: -20px;
  line-height: 1;
}
.article-body .anchor:focus {
  outline: none;
}
.article-body p, .article-body blockquote, .article-body ul, .article-body ol, .article-body dl, .article-body table, .article-body pre, .article-body details {
  margin-top: 0;
}
.article-body blockquote > :first-child {
  margin-top: 0;
}
.article-body blockquote > :last-child {
  margin-bottom: 0;
}
.article-body h1 .octicon-link, .article-body h2 .octicon-link, .article-body h3 .octicon-link, .article-body h4 .octicon-link, .article-body h5 .octicon-link, .article-body h6 .octicon-link {
  color: #1f2328;
  vertical-align: middle;
  visibility: hidden;
}
.article-body h1:hover .anchor, .article-body h2:hover .anchor, .article-body h3:hover .anchor, .article-body h4:hover .anchor, .article-body h5:hover .anchor, .article-body h6:hover .anchor {
  text-decoration: none;
}
.article-body h1:hover .anchor .octicon-link, .article-body h2:hover .anchor .octicon-link, .article-body h3:hover .anchor .octicon-link, .article-body h4:hover .anchor .octicon-link, .article-body h5:hover .anchor .octicon-link, .article-body h6:hover .anchor .octicon-link {
  visibility: visible;
}
.article-body h1 tt, .article-body h1 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body h2 tt, .article-body h2 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body h3 tt, .article-body h3 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body h4 tt, .article-body h4 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body h5 tt, .article-body h5 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body h6 tt, .article-body h6 code {
  padding: 0 0.2em;
  font-size: inherit;
}
.article-body summary h1, .article-body summary h2, .article-body summary h3, .article-body summary h4, .article-body summary h5, .article-body summary h6 {
  display: inline-block;
}
.article-body summary h1 .anchor, .article-body summary h2 .anchor, .article-body summary h3 .anchor, .article-body summary h4 .anchor, .article-body summary h5 .anchor, .article-body summary h6 .anchor {
  margin-left: -40px;
}
.article-body summary h1, .article-body summary h2 {
  padding-bottom: 0;
  border-bottom: 0;
}
.article-body ul.no-list {
  padding: 0;
  list-style-type: none;
}
.article-body ol.no-list {
  padding: 0;
  list-style-type: none;
}
.article-body ol[type="a s"] {
  list-style-type: lower-alpha;
}
.article-body ol[type="A s"] {
  list-style-type: upper-alpha;
}
.article-body ol[type="i s"] {
  list-style-type: lower-roman;
}
.article-body ol[type="I s"] {
  list-style-type: upper-roman;
}
.article-body ol[type="1"] {
  list-style-type: decimal;
}
.article-body div > ol:not([type]) {
  list-style-type: decimal;
}
.article-body ul ul, .article-body ul ol {
  margin-top: 0;
  margin-bottom: 0;
}
.article-body ol ol, .article-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}
.article-body li > p {
  margin-top: 1rem;
}
.article-body li + li {
  margin-top: 0.25em;
}
.article-body dl {
  padding: 0;
}
.article-body dl dt {
  padding: 0;
  margin-top: 1rem;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}
.article-body dl dd {
  padding: 0 1rem;
  margin-bottom: 1rem;
}
.article-body table th {
  font-weight: 600;
  padding: 6px 13px;
  border: 1px solid #d1d9e0;
}
.article-body table td {
  padding: 6px 13px;
  border: 1px solid #d1d9e0;
}
.article-body table td > :last-child {
  margin-bottom: 0;
}
.article-body table tr {
  background-color: #ffffff;
  border-top: 1px solid rgba(209, 217, 224, 0.7019607843);
}
.article-body table tr:nth-child(2n) {
  background-color: #f6f8fa;
}
.article-body table img {
  background-color: transparent;
}
.article-body img[align=right] {
  padding-left: 20px;
}
.article-body img[align=left] {
  padding-right: 20px;
}
.article-body .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: transparent;
}
.article-body span.frame {
  display: block;
  overflow: hidden;
}
.article-body span.frame > span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid #d1d9e0;
}
.article-body span.frame span img {
  display: block;
  float: left;
}
.article-body span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: #1f2328;
}
.article-body span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}
.article-body span.align-center > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}
.article-body span.align-center span img {
  margin: 0 auto;
  text-align: center;
}
.article-body span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}
.article-body span.align-right > span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}
.article-body span.align-right span img {
  margin: 0;
  text-align: right;
}
.article-body span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}
.article-body span.float-left span {
  margin: 13px 0 0;
}
.article-body span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}
.article-body span.float-right > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}
.article-body code, .article-body tt {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: rgba(129, 139, 152, 0.1215686275);
  border-radius: 6px;
}
.article-body code br, .article-body tt br {
  display: none;
}
.article-body del code {
  text-decoration: inherit;
}
.article-body samp {
  font-size: 85%;
}
.article-body pre code {
  font-size: 100%;
}
.article-body pre > code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
}
.article-body .highlight {
  margin-bottom: 1rem;
}
.article-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
  padding: 1rem;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: #1f2328;
  background-color: #f6f8fa;
  border-radius: 6px;
}
.article-body pre {
  padding: 1rem;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: #1f2328;
  background-color: #f6f8fa;
  border-radius: 6px;
}
.article-body pre code, .article-body pre tt {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}
.article-body .csv-data td, .article-body .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}
.article-body .csv-data .blob-num {
  padding: 10px 0.5rem 9px;
  text-align: right;
  background: #ffffff;
  border: 0;
}
.article-body .csv-data tr {
  border-top: 0;
}
.article-body .csv-data th {
  font-weight: 600;
  background: #f6f8fa;
  border-top: 0;
}
.article-body [data-footnote-ref]::before {
  content: "[";
}
.article-body [data-footnote-ref]::after {
  content: "]";
}
.article-body .footnotes {
  font-size: 12px;
  color: #59636e;
  border-top: 1px solid #d1d9e0;
}
.article-body .footnotes ol {
  padding-left: 1rem;
}
.article-body .footnotes ol ul {
  display: inline-block;
  padding-left: 1rem;
  margin-top: 1rem;
}
.article-body .footnotes li {
  position: relative;
}
.article-body .footnotes li:target {
  color: #1f2328;
}
.article-body .footnotes li:target::before {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  bottom: -0.5rem;
  left: -1.5rem;
  pointer-events: none;
  content: "";
  border: 2px solid #0969da;
  border-radius: 6px;
}
.article-body .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}
.article-body body:has(:modal) {
  padding-right: var(--dialog-scrollgutter) !important;
}
.article-body .pl-c {
  color: #59636e;
}
.article-body .pl-c1, .article-body .pl-s .pl-v {
  color: #0550ae;
}
.article-body .pl-e, .article-body .pl-en {
  color: #6639ba;
}
.article-body .pl-smi, .article-body .pl-s .pl-s1 {
  color: #1f2328;
}
.article-body .pl-ent {
  color: #0550ae;
}
.article-body .pl-k {
  color: #cf222e;
}
.article-body .pl-s, .article-body .pl-pds, .article-body .pl-s .pl-pse .pl-s1 {
  color: #0a3069;
}
.article-body .pl-sr {
  color: #0a3069;
}
.article-body .pl-sr .pl-cce, .article-body .pl-sr .pl-sre, .article-body .pl-sr .pl-sra {
  color: #0a3069;
}
.article-body .pl-v, .article-body .pl-smw {
  color: #953800;
}
.article-body .pl-bu {
  color: #82071e;
}
.article-body .pl-ii {
  color: #f6f8fa;
  background-color: #82071e;
}
.article-body .pl-c2 {
  color: #f6f8fa;
  background-color: #cf222e;
}
.article-body .pl-sr .pl-cce {
  font-weight: bold;
  color: #116329;
}
.article-body .pl-ml {
  color: #3b2300;
}
.article-body .pl-mh {
  font-weight: bold;
  color: #0550ae;
}
.article-body .pl-mh .pl-en {
  font-weight: bold;
  color: #0550ae;
}
.article-body .pl-ms {
  font-weight: bold;
  color: #0550ae;
}
.article-body .pl-mi {
  font-style: italic;
  color: #1f2328;
}
.article-body .pl-mb {
  font-weight: bold;
  color: #1f2328;
}
.article-body .pl-md {
  color: #82071e;
  background-color: #ffebe9;
}
.article-body .pl-mi1 {
  color: #116329;
  background-color: #dafbe1;
}
.article-body .pl-mc {
  color: #953800;
  background-color: #ffd8b5;
}
.article-body .pl-mi2 {
  color: #d1d9e0;
  background-color: #0550ae;
}
.article-body .pl-mdr {
  font-weight: bold;
  color: #8250df;
}
.article-body .pl-ba {
  color: #59636e;
}
.article-body .pl-sg {
  color: #818b98;
}
.article-body .pl-corl {
  text-decoration: underline;
  color: #0a3069;
}
.article-body [role=button]:focus:not(:focus-visible), .article-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible), .article-body button:focus:not(:focus-visible), .article-body summary:focus:not(:focus-visible), .article-body a:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
.article-body [tabindex="0"]:focus:not(:focus-visible), .article-body details-dialog:focus:not(:focus-visible) {
  outline: none;
}
.article-body g-emoji {
  display: inline-block;
  min-width: 1ch;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1em;
  font-style: normal !important;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.075em;
}
.article-body g-emoji img {
  width: 1em;
  height: 1em;
}
.article-body .task-list-item {
  list-style-type: none;
}
.article-body .task-list-item label {
  font-weight: 400;
}
.article-body .task-list-item.enabled label {
  cursor: pointer;
}
.article-body .task-list-item + .task-list-item {
  margin-top: 0.25rem;
}
.article-body .task-list-item .handle {
  display: none;
}
.article-body .task-list-item-checkbox {
  margin: 0 0.2em 0.25em -1.4em;
  vertical-align: middle;
}
.article-body ul:dir(rtl) .task-list-item-checkbox, .article-body ol:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em 0.25em 0.2em;
}
.article-body .contains-task-list:hover .task-list-item-convert-container, .article-body .contains-task-list:focus-within .task-list-item-convert-container {
  display: block;
  width: auto;
  height: 24px;
  overflow: visible;
  clip: auto;
}
.article-body ::-webkit-calendar-picker-indicator {
  filter: invert(50%);
}
.article-body .markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: inherit;
  border-left: 0.25em solid #d1d9e0;
}
.article-body .markdown-alert > :first-child {
  margin-top: 0;
}
.article-body .markdown-alert > :last-child {
  margin-bottom: 0;
}
.article-body .markdown-alert .markdown-alert-title {
  display: flex;
  font-weight: 500;
  align-items: center;
  line-height: 1;
}
.article-body .markdown-alert.markdown-alert-note {
  border-left-color: #0969da;
}
.article-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #0969da;
}
.article-body .markdown-alert.markdown-alert-important {
  border-left-color: #8250df;
}
.article-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #8250df;
}
.article-body .markdown-alert.markdown-alert-warning {
  border-left-color: #9a6700;
}
.article-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #9a6700;
}
.article-body .markdown-alert.markdown-alert-tip {
  border-left-color: #1a7f37;
}
.article-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #1a7f37;
}
.article-body .markdown-alert.markdown-alert-caution {
  border-left-color: #cf222e;
}
.article-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #d1242f;
}
.article-body > *:first-child > .heading-element:first-child {
  margin-top: 0 !important;
}
.article-body .highlight pre:has(+ .zeroclipboard-container) {
  min-height: 52px;
}

body:has([data-page-id=contact]) .grecaptcha-badge {
  z-index: 2;
  visibility: unset;
}
@media (min-width: 1023.5px) {
  body:has([data-page-id=contact]) footer.footer .footer-bottom {
    padding-right: 40px;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

/* ボタンのホバー
*******************************/
.btn-opacity {
  transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-opacity:focus-visible {
  opacity: 0.4;
}
@media (hover: none) and (pointer: coarse) {
  .btn-opacity:active {
    opacity: 0.4;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn-opacity:hover {
    opacity: 0.4;
  }
}

/* 角丸の画像
*******************************/
.round {
  overflow: hidden;
}
@media all and (min-width: 1023.5px) {
  .round {
    border-radius: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .round {
    border-radius: calc(10px * var(--scale));
  }
}

/* 角丸のボタン
*******************************/
a.btn-round,
button.btn-round,
input.wpcf7-submit {
  position: relative;
  color: #fff;
  background-color: #000;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-radius: 100px;
}
@media all and (min-width: 1023.5px) {
  a.btn-round,
  button.btn-round,
  input.wpcf7-submit {
    height: calc(60px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round,
  button.btn-round,
  input.wpcf7-submit {
    height: calc(60px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  a.btn-round,
  button.btn-round,
  input.wpcf7-submit {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round,
  button.btn-round,
  input.wpcf7-submit {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  a.btn-round,
  button.btn-round,
  input.wpcf7-submit {
    width: calc(440px * var(--scale));
  }
}
a.btn-round:focus-visible,
button.btn-round:focus-visible,
input.wpcf7-submit:focus-visible {
  opacity: 0.6;
}
@media (hover: none) and (pointer: coarse) {
  a.btn-round:active,
  button.btn-round:active,
  input.wpcf7-submit:active {
    opacity: 0.6;
  }
}
@media (hover: hover) and (pointer: fine) {
  a.btn-round:hover,
  button.btn-round:hover,
  input.wpcf7-submit:hover {
    opacity: 0.6;
  }
}
a.btn-round.white,
button.btn-round.white,
input.wpcf7-submit.white {
  color: #487A41;
  border: none;
  background-color: rgba(220, 214, 193, 0.8);
}
a.btn-round.invert,
button.btn-round.invert,
input.wpcf7-submit.invert {
  color: #000;
  background-color: #FFF;
}
a.btn-round.invert:focus-visible,
button.btn-round.invert:focus-visible,
input.wpcf7-submit.invert:focus-visible {
  opacity: 0.3;
}
@media (hover: none) and (pointer: coarse) {
  a.btn-round.invert:active,
  button.btn-round.invert:active,
  input.wpcf7-submit.invert:active {
    opacity: 0.3;
  }
}
@media (hover: hover) and (pointer: fine) {
  a.btn-round.invert:hover,
  button.btn-round.invert:hover,
  input.wpcf7-submit.invert:hover {
    opacity: 0.3;
  }
}
@media all and (min-width: 1023.5px) {
  a.btn-round.small,
  button.btn-round.small,
  input.wpcf7-submit.small {
    height: calc(60px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round.small,
  button.btn-round.small,
  input.wpcf7-submit.small {
    height: calc(47px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  a.btn-round.small,
  button.btn-round.small,
  input.wpcf7-submit.small {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round.small,
  button.btn-round.small,
  input.wpcf7-submit.small {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
a.btn-round .icon,
button.btn-round .icon,
input.wpcf7-submit .icon {
  position: absolute;
  display: flex;
  margin: auto;
  top: 0;
  bottom: 0;
}
@media all and (min-width: 1023.5px) {
  a.btn-round .icon,
  button.btn-round .icon,
  input.wpcf7-submit .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round .icon,
  button.btn-round .icon,
  input.wpcf7-submit .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  a.btn-round .icon,
  button.btn-round .icon,
  input.wpcf7-submit .icon {
    right: calc(25px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  a.btn-round .icon,
  button.btn-round .icon,
  input.wpcf7-submit .icon {
    right: calc(25px * var(--scale));
  }
}

/* header
*************************/
header.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
body:has([data-page-id=home]) header.header {
  height: 0;
  opacity: 0;
}
@media (max-width: 1023.4px) {
  body:has([data-page-id=home]) header.header {
    transition: top 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    top: calc(48px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  body[data-home-top-news=false] header.header {
    top: 0;
  }
}
.modal-menu-open header.header {
  z-index: 20;
}
header.header .header-inner {
  width: 100%;
  display: flex;
  align-items: center;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media all and (min-width: 1023.5px) {
  header.header .header-inner {
    height: calc(68px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .header-inner {
    height: calc(60px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .header-inner {
    padding: calc(0px * var(--scale)) calc(80px * var(--scale)) calc(0px * var(--scale)) calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .header-inner {
    padding: calc(0px * var(--scale)) calc(14px * var(--scale)) calc(0px * var(--scale)) calc(20px * var(--scale));
  }
}
body[data-scroll-up=false] header.header .header-inner {
  transform: translateY(-100%);
}
header.header .brand-logo {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media all and (min-width: 1023.5px) {
  header.header .brand-logo {
    width: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .brand-logo {
    width: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .brand-logo {
    margin-right: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .brand-logo {
    margin-right: auto;
  }
}
@media (max-width: 1023.4px) {
  body:has([data-page-id=home]) header.header .brand-logo {
    display: none;
  }
}
header.header .brand-logo .logo {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
  overflow: hidden;
  text-indent: -99999px;
  background-color: #000;
  mask: url("../images/common/logo.svg") no-repeat center/100% auto;
  aspect-ratio: 70/22.48;
}
header.header .nav-menu {
  color: #000000;
}
@media (min-width: 1023.5px) {
  header.header .nav-menu {
    display: flex;
    gap: calc(30px * var(--scale));
  }
}
header.header .nav-menu .nav-link {
  position: relative;
}
@media all and (min-width: 1023.5px) {
  header.header .nav-menu .nav-link {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  header.header .nav-menu .nav-link {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
header.header .nav-menu .nav-link.current::before {
  content: "";
  display: block;
  position: absolute;
  background-color: currentColor;
  border-radius: 50%;
  left: 0;
  right: 0;
  margin: auto;
}
@media all and (min-width: 1023.5px) {
  header.header .nav-menu .nav-link.current::before {
    top: calc(-8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .nav-menu .nav-link.current::before {
    top: calc(-8px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .nav-menu .nav-link.current::before {
    width: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .nav-menu .nav-link.current::before {
    width: calc(4px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .nav-menu .nav-link.current::before {
    height: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .nav-menu .nav-link.current::before {
    height: calc(4px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .section-instagram {
    padding-top: calc(66px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .section-instagram {
    padding-top: calc(66px * var(--scale));
  }
}
header.header .button-menu-icon {
  margin-left: auto;
  flex-shrink: 0;
}
@media all and (min-width: 1023.5px) {
  header.header .button-menu-icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .button-menu-icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  header.header .button-menu-icon {
    height: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  header.header .button-menu-icon {
    height: calc(32px * var(--scale));
  }
}
header.header .button-menu-icon .icon-menu {
  width: 100%;
  height: 100%;
}

/* footer
*************************/
footer.footer {
  color: #000;
  background-color: #fff;
  background-image: url(../images/common/pattern.svg);
  background-position: center top;
  background-repeat: repeat;
  position: relative;
  z-index: 2;
}
@media all and (min-width: 1023.5px) {
  footer.footer {
    background-size: calc(130px * var(--scale)) auto;
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer {
    background-size: calc(100px * var(--scale)) auto;
  }
}
footer.footer .footer-inner {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-inner {
    gap: calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-inner {
    gap: calc(56px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-inner {
    padding: calc(42px * var(--scale)) calc(80px * var(--scale)) calc(80px * var(--scale)) calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-inner {
    padding: calc(70px * var(--scale)) calc(34px * var(--scale)) calc(70px * var(--scale)) calc(34px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  footer.footer .footer-inner {
    flex-direction: column;
    align-items: center;
  }
}
footer.footer .footer-top {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1023.4px) {
  footer.footer .footer-top {
    align-items: center;
  }
}
footer.footer .footer-top .footer-logo {
  background-color: #000;
  mask: url("../images/common/logo.svg") no-repeat center/100% auto;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .footer-logo {
    width: calc(93px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .footer-logo {
    width: calc(121px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .footer-logo {
    height: calc(30px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .footer-logo {
    height: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .footer-to-text {
    margin-top: calc(21px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .footer-to-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .footer-to-text {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .footer-to-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  footer.footer .footer-top .footer-to-text {
    line-height: 1.75;
  }
}
footer.footer .footer-top .sns-link {
  display: flex;
  width: fit-content;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .sns-link {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .sns-link {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .sns-link .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .sns-link .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-top .sns-link .icon {
    height: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-top .sns-link .icon {
    height: calc(24px * var(--scale));
  }
}
footer.footer .footer-nav {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav {
    gap: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  footer.footer .footer-nav {
    margin-left: auto;
    grid-template-columns: repeat(2, calc(280px * var(--scale)));
  }
}
@media (max-width: 1023.4px) {
  footer.footer .footer-nav {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
  }
}
footer.footer .footer-nav .nav-menu {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav .nav-menu {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu {
    gap: calc(20px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav .nav-menu {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu {
    line-height: 1.75;
  }
}
footer.footer .footer-nav .nav-menu .nav-link {
  display: flex;
  width: fit-content;
}
footer.footer .footer-nav .nav-menu-sub {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav .nav-menu-sub {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu-sub {
    gap: calc(20px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav .nav-menu-sub {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu-sub {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-nav .nav-menu-sub .copyright {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-nav .nav-menu-sub .copyright {
    margin-top: calc(0px * var(--scale));
  }
}
footer.footer .footer-bottom {
  grid-column: 1/3;
  display: flex;
  justify-content: space-between;
}
footer.footer .footer-bottom .sns-link {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  footer.footer .footer-bottom .sns-link {
    width: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .footer-bottom .sns-link {
    width: calc(20px * var(--scale));
  }
}
footer.footer .copyright {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  footer.footer .copyright {
    gap: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .copyright {
    gap: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  footer.footer .copyright {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  footer.footer .copyright {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  footer.footer .copyright {
    align-items: center;
  }
}

/* modal-menu
*************************/
.modal-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100dvh + 40px);
  z-index: 10;
  flex-direction: column;
  overflow: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
  background: #fff;
}
.modal-menu::-webkit-scrollbar {
  display: none;
}
@keyframes modalShowSp {
  from {
    opacity: 1;
    transform: translate(0, -60px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes modalHideSp {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(0, -60px);
  }
}
.modal-menu .modal-menu-header {
  position: sticky;
  top: 0;
  height: 0;
  width: 100%;
  z-index: 1;
}
.modal-menu .modal-menu-header .modal-menu-header-inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .modal-menu-header-inner {
    padding: calc(10px * var(--scale)) calc(14px * var(--scale)) calc(10px * var(--scale)) calc(34px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .modal-menu-header-inner {
    padding: calc(10px * var(--scale)) calc(14px * var(--scale)) calc(10px * var(--scale)) calc(20px * var(--scale));
  }
}
.modal-menu .modal-menu-header .brand-logo {
  display: flex !important;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .brand-logo {
    width: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .brand-logo {
    width: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .brand-logo {
    height: calc(22.5px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .brand-logo {
    height: calc(22.5px * var(--scale));
  }
}
.modal-menu .modal-menu-header .button-menu-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.05);
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    width: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    width: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    height: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    height: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    border-radius: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .button-menu-icon {
    border-radius: calc(8px * var(--scale));
  }
}
.modal-menu .modal-menu-header .button-menu-icon .icon-close {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .button-menu-icon .icon-close {
    width: calc(18px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .button-menu-icon .icon-close {
    width: calc(18px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-header .button-menu-icon .icon-close {
    height: calc(18px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-header .button-menu-icon .icon-close {
    height: calc(18px * var(--scale));
  }
}
.modal-menu .modal-menu-inner {
  width: 100%;
  min-height: calc(100% + 1px);
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-menu-inner {
    padding: calc(116px * var(--scale)) calc(34px * var(--scale)) calc(0px * var(--scale)) calc(34px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-menu-inner {
    padding: calc(116px * var(--scale)) calc(34px * var(--scale)) calc(0px * var(--scale)) calc(34px * var(--scale));
  }
}
.modal-menu .modal-nav-menu {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-nav-menu {
    gap: calc(21px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-nav-menu {
    gap: calc(21px * var(--scale));
  }
}
.modal-menu .modal-nav-link {
  display: flex;
  width: fit-content;
}
@media all and (min-width: 1023.5px) {
  .modal-menu .modal-nav-link {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .modal-nav-link {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .modal-menu .section-instagram {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-menu .section-instagram {
    padding-bottom: calc(110px * var(--scale));
  }
}
.modal-menu-open .modal-menu {
  display: flex;
  animation: fadeIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (max-width: 1023.4px) {
  .modal-menu-open .modal-menu .modal-menu-inner {
    animation: modalShowSp 0.5s forwards cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}
.modal-menu-close .modal-menu {
  display: flex;
  animation: fadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
@media (max-width: 1023.4px) {
  .modal-menu-close .modal-menu .modal-menu-inner {
    animation: modalHideSp 0.5s forwards cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}

/* modal 共通
*********************************/
body.lock {
  overflow-y: clip;
  padding-right: var(--scroll-bar-width);
}

@keyframes modalShow {
  from {
    opacity: 1;
    transform: translate(0, 60px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes modalHide {
  from {
    opacity: 1;
    transform: translate(0, 0);
  }
  to {
    opacity: 0;
    transform: translate(0, 60px);
  }
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100vw;
  height: calc(100% + 40px);
  display: none;
  overflow-y: auto;
  overscroll-behavior-y: none;
  -ms-overflow-style: none;
  color: #000000;
  background-color: #ffffff;
  scrollbar-width: none;
  padding-bottom: 40px;
}
.modal::-webkit-scrollbar {
  display: none;
}
.modal > .overlay {
  position: fixed;
  inset: 0;
}
.modal .button-modal-close {
  position: fixed;
  z-index: 1;
}
@media all and (min-width: 1023.5px) {
  .modal .button-modal-close {
    top: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal .button-modal-close {
    top: calc(10px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal .button-modal-close {
    right: auto;
  }
}
@media all and (max-width: 1023.4px) {
  .modal .button-modal-close {
    right: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .modal .button-modal-close {
    left: calc(50% + 500px * var(--scale));
  }
}
.modal .modal-inner {
  opacity: 0;
  min-height: calc(100% + 1px);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media all and (min-width: 1023.5px) {
  .modal .modal-inner {
    padding: calc(70px * var(--scale)) calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal .modal-inner {
    padding: calc(42px * var(--scale)) calc(0px * var(--scale));
  }
}
.modal.modal-open {
  display: block;
  animation: fadeIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.modal.modal-open .modal-inner {
  animation: modalShow 0.5s forwards cubic-bezier(0.165, 0.84, 0.44, 1);
}
.modal.modal-close {
  display: block;
  animation: fadeOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
.modal.modal-close .modal-inner {
  animation: modalHide 0.5s forwards cubic-bezier(0.165, 0.84, 0.44, 1);
}
.modal #yt-video {
  display: flex;
}
.modal #yt-video iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

/* modal 個別
*********************************/
.modal-image .modal-inner {
  height: calc(100% + 1px);
  align-items: flex-start;
  padding-top: calc(94px * var(--scale));
}
.modal-image .modal-inner .container {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 140px * var(--scale));
}
.modal-image .swiper-zoom {
  flex-grow: 1;
  border-radius: 6px;
}
.modal-image .swiper-zoom-container .zoom-image-wrap {
  display: flex;
  transform: none !important;
}
.modal-image .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .modal-image .info {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-image .info {
    margin-top: calc(28px * var(--scale));
  }
}
.modal-image .info .box-text {
  letter-spacing: 0.05em;
}
@media all and (min-width: 1023.5px) {
  .modal-image .info .box-text {
    margin-right: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-image .info .box-text {
    margin-right: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .modal-image .info .box-text {
    letter-spacing: 0.05em;
    font-size: max(11.58px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .modal-image .info .box-text {
    letter-spacing: 0.05em;
    font-size: max(11.58px * var(--scale), 10px);
  }
}
.modal-image .info .box-control {
  display: flex;
  margin-left: auto;
}
@media all and (min-width: 1023.5px) {
  .modal-image .info .box-control {
    gap: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .modal-image .info .box-control {
    gap: calc(7px * var(--scale));
  }
}
.modal-image .info .box-control button .icon {
  transition: 0.3s opacity;
}
.modal-image .info .box-control button:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.modal-image .info .box-control button:disabled .icon {
  opacity: 0.3;
}

/* icon
*********************************/
.icon {
  position: relative;
  display: flex;
  flex-shrink: 0;
}
@media all and (min-width: 1023.5px) {
  .icon {
    width: calc(18px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .icon {
    width: calc(18px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .icon {
    height: calc(18px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .icon {
    height: calc(18px * var(--scale));
  }
}
.icon::after {
  background-color: currentColor;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.icon.icon-zoom-in::after {
  mask: url("../images/common/icon/zoom-in.svg") no-repeat center/contain;
}
.icon.icon-zoom-out::after {
  mask: url("../images/common/icon/zoom-out.svg") no-repeat center/contain;
}
.icon.icon-close::after {
  mask: url("../images/common/icon/close.svg") no-repeat center/contain;
}
.icon.icon-zoom::after {
  mask: url("../images/common/icon/zoom.svg") no-repeat center/contain;
}
.icon.icon-arrow::after {
  mask: url("../images/common/icon/arrow.svg") no-repeat center/contain;
}
.icon.icon-prev::after {
  rotate: 180deg;
  mask: url("../images/common/icon/arrow.svg") no-repeat center/contain;
}
.icon.icon-next::after {
  mask: url("../images/common/icon/arrow.svg") no-repeat center/contain;
}
.icon.icon-arrow-down::after {
  mask: url("../images/common/icon/arrow-down.svg") no-repeat center/contain;
}
.icon.icon-news::after {
  mask: url("../images/common/icon/news.svg") no-repeat center/contain;
}
.icon.icon-areamap::after {
  mask: url("../images/common/icon/area.svg") no-repeat center/contain;
}
.icon.icon-point::after {
  mask: url("../images/common/icon/point.svg") no-repeat center/contain;
}
.icon.icon-program::after {
  mask: url("../images/common/icon/program.svg") no-repeat center/contain;
}
.icon.icon-concept::after {
  mask: url("../images/common/icon/movie.svg") no-repeat center/contain;
}
.icon.icon-access::after {
  mask: url("../images/common/icon/access.svg") no-repeat center/contain;
}
.icon.icon-contact::after {
  mask: url("../images/common/icon/mail.svg") no-repeat center/contain;
}
.icon.icon-school::after {
  mask: url("../images/common/icon/school.svg") no-repeat center/contain;
}
.icon.icon-company::after {
  mask: url("../images/common/icon/company.svg") no-repeat center/contain;
}
.icon.icon-play::after {
  mask: url("../images/common/icon/play.svg") no-repeat center/contain;
}
.icon.icon-train::after {
  mask: url("../images/common/icon/train.svg") no-repeat center/contain;
}
.icon.icon-car::after {
  mask: url("../images/common/icon/car.svg") no-repeat center/contain;
}
.icon.icon-menu::after {
  mask: url("../images/common/icon/menu.svg") no-repeat center/contain;
}
.icon.icon-instagram::after {
  mask: url("../images/common/icon/instagram.svg") no-repeat center/contain;
}

/* button
*********************************/
.btn-round-rect {
  background-color: color-mix(in srgb, #000000 5%, #ffffff);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media all and (min-width: 1023.5px) {
  .btn-round-rect {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .btn-round-rect {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .btn-round-rect {
    min-height: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .btn-round-rect {
    min-height: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .btn-round-rect {
    border-radius: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .btn-round-rect {
    border-radius: calc(8px * var(--scale));
  }
}
.btn-round-rect.current {
  color: #fff;
  background-color: #000000;
}

html {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

body {
  color: #000000;
  background-color: #ffffff;
}

.wrap {
  max-width: 1920px;
  margin: 0 auto;
}

/* Top Navigation
*********************************/
.home-top-news {
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #fff;
  z-index: 11;
}
@media all and (min-width: 1023.5px) {
  .home-top-news {
    width: calc(298px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news {
    width: auto;
  }
}
@media all and (min-width: 1023.5px) {
  .home-top-news {
    height: auto;
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news {
    height: calc(48px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .home-top-news {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  .home-top-news {
    position: absolute;
    text-align: left;
    z-index: 1;
    top: calc(80px * var(--scale));
    right: calc(40px * var(--scale));
    border-radius: calc(10px * var(--scale));
    transform: translateY(20px);
  }
}
@media (max-width: 1023.4px) {
  .home-top-news {
    position: sticky;
    top: 0;
    transform: translateY(0) !important;
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  body[data-home-top-news=false] .home-top-news {
    transform: translateY(-100%) !important;
  }
}
.home-top-news .home-top-news-item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media all and (min-width: 1023.5px) {
  .home-top-news .home-top-news-item {
    padding: calc(20px * var(--scale)) calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news .home-top-news-item {
    padding: calc(0px * var(--scale)) calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .home-top-news .home-top-news-item {
    gap: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news .home-top-news-item {
    gap: calc(10px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .home-top-news .home-top-news-item {
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.1490196078);
  }
}
@media all and (min-width: 1023.5px) {
  .home-top-news .home-top-news-item .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news .home-top-news-item .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .home-top-news .home-top-news-item .icon {
    height: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news .home-top-news-item .icon {
    height: calc(16px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .home-top-news .home-top-news-item .icon-arrow {
    margin-left: auto;
  }
}
.home-top-news .home-top-news-item .title,
.home-top-news .home-top-news-item .text {
  display: flex;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .home-top-news .home-top-news-item .title,
  .home-top-news .home-top-news-item .text {
    gap: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .home-top-news .home-top-news-item .title,
  .home-top-news .home-top-news-item .text {
    gap: calc(10px * var(--scale));
  }
}
.home-top-news .home-top-news-item .text {
  width: 100%;
}
.home-top-news .home-top-news-item .text span {
  width: 100%;
  overflow: hidden;
  word-break: break-all;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 1023.4px) {
  .home-top-news .home-top-news-item .text span {
    -webkit-line-clamp: 1;
  }
}

/* Common Container
*********************************/
.container {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media all and (min-width: 1023.5px) {
  .container {
    padding: calc(0px * var(--scale)) calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .container {
    padding: calc(0px * var(--scale)) calc(34px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .container {
    width: calc(920px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .container.small {
    padding: 0;
    width: calc(600px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  .container .sp-wide {
    margin-left: calc(-34px * var(--scale));
    margin-right: calc(-34px * var(--scale));
  }
}

/* Page Title
*********************************/
.page-title {
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  .page-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .page-title {
    letter-spacing: 0.05em;
    font-size: max(24px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .page-title {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title {
    margin-bottom: calc(70px * var(--scale));
  }
}
.page-title:has(.icon) {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .page-title:has(.icon) {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title:has(.icon) {
    gap: calc(14px * var(--scale));
  }
}
.page-title:has(.icon) .icon {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .page-title:has(.icon) .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title:has(.icon) .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .page-title:has(.icon) .icon {
    height: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title:has(.icon) .icon {
    height: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .page-title:has(.icon) .icon {
    margin-top: calc(3px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title:has(.icon) .icon {
    margin-top: calc(4px * var(--scale));
  }
}
.page-title .date {
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  .page-title .date {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .page-title .date {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .page-title .date {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .page-title .date {
    margin-top: calc(14px * var(--scale));
  }
}

/* Section Common
*********************************/
@media all and (min-width: 1023.5px) {
  .section {
    padding-top: calc(84px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section {
    padding-top: calc(70px * var(--scale));
  }
}
[data-page-id=home] .section {
  padding-top: 0;
}
.section .section-title {
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  .section .section-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section .section-title {
    letter-spacing: 0.05em;
    font-size: max(24px * var(--scale), 10px);
  }
}
.section .section-title:has(.icon) {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section .section-title:has(.icon) {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section .section-title:has(.icon) {
    gap: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .section .section-title:has(.icon) {
    align-items: center;
  }
}
@media (max-width: 1023.4px) {
  .section .section-title:has(.icon) {
    flex-direction: column;
  }
}
.section .section-title .icon {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section .section-title .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section .section-title .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section .section-title .icon {
    height: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section .section-title .icon {
    height: calc(32px * var(--scale));
  }
}

.text-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* home
*********************************/
[data-page-id=home] {
  /* Hero Section */
  /* Main Text Section */
  /* VUTAI About Section */
  /* Areamap Section */
  /* Uda Section */
  /* Program Section */
  /* Concept Section */
  /* Access Section */
  /* Contact Section */
}
[data-page-id=home] .sticky-wrap {
  opacity: 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .sticky-wrap {
    padding-top: calc(74px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .sticky-wrap {
    padding-top: calc(0px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .sticky-wrap {
    display: grid;
    grid-template-columns: 1fr calc(640px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .sticky-wrap .sticky-item {
    padding-top: calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .sticky-wrap .sticky-item {
    padding-top: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .sticky-wrap .sticky-item {
    padding-bottom: calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .sticky-wrap .sticky-item {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .sticky-wrap .sticky-item {
    position: sticky;
    height: 100vh;
    max-height: calc(640px * var(--scale));
    top: max((100vh - 640px * var(--scale)) * 0.5, 0px);
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
[data-page-id=home] .slideshow-wrap {
  position: relative;
  height: 100%;
  max-width: 100%;
  aspect-ratio: 1;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .slideshow-wrap {
    width: auto;
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .slideshow-wrap {
    width: calc(328px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .slideshow-wrap {
    height: auto;
    margin: 0 0 0 auto;
  }
}
[data-page-id=home] .slideshow-wrap .slideshow-item {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.5s;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .slideshow-wrap .slideshow-item {
    border-radius: calc(10px * var(--scale)) calc(0px * var(--scale)) calc(0px * var(--scale)) calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .slideshow-wrap .slideshow-item {
    border-radius: calc(10px * var(--scale)) calc(0px * var(--scale)) calc(0px * var(--scale)) calc(10px * var(--scale));
  }
}
[data-page-id=home] .slideshow-wrap .slideshow-item.show {
  opacity: 1;
}
[data-page-id=home] .section-hero {
  position: relative;
  padding: 0;
  overflow: hidden;
}
[data-page-id=home] .section-hero .hero-visual {
  opacity: 0;
  width: 100%;
}
[data-page-id=home] .section-hero .hero-mask {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: 1;
}
[data-page-id=home] .section-hero .hero-content {
  opacity: 0;
  transform: translateY(20px);
  position: absolute;
  display: flex;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content {
    gap: calc(44px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content {
    gap: calc(23px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content {
    top: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content {
    top: calc(60px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content {
    left: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content {
    left: calc(0px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content {
    align-items: flex-end;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content {
    right: 0;
    bottom: 0;
    flex-direction: column;
    align-items: center;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content .hero-title {
    width: calc(287px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content .hero-title {
    width: calc(181px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-content .hero-subtitle {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content .hero-subtitle {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-content .hero-subtitle {
    text-align: center;
  }
}
[data-page-id=home] .section-hero .hero-badge {
  opacity: 0;
  transform: translateY(20px);
  position: absolute;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge {
    width: calc(180px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge {
    width: calc(160px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge {
    height: calc(180px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge {
    height: calc(160px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge {
    bottom: calc(85px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge {
    bottom: calc(79px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge {
    right: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge {
    right: calc(-10px * var(--scale));
  }
}
[data-page-id=home] .section-hero .hero-badge .badge-bg {
  position: absolute;
  inset: 0;
}
[data-page-id=home] .section-hero .hero-badge .badge-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
[data-page-id=home] .section-hero .hero-badge .badge-title {
  position: relative;
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge .badge-title {
    margin-top: calc(5px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge .badge-title {
    margin-top: calc(10px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge .badge-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge .badge-title {
    letter-spacing: 0.05em;
    font-size: max(24px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-hero .hero-badge .badge-text {
  position: relative;
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge .badge-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge .badge-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-hero .hero-badge .badge-text {
    margin-top: calc(-2px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-hero .hero-badge .badge-text {
    margin-top: calc(1.5px * var(--scale));
  }
}
[data-page-id=home] .section-main-text {
  position: relative;
  overflow: clip;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text {
    margin-top: calc(-74px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text {
    margin-top: calc(0px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text {
    padding-bottom: calc(140px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text {
    padding-bottom: calc(0px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .container {
  width: 100%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .container {
    padding: calc(0px * var(--scale)) calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .container {
    padding: calc(0px * var(--scale)) calc(34px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .main-text-content {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .main-text-content {
    gap: calc(63px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .main-text-content {
    gap: calc(20px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .text-vertical {
  font-feature-settings: normal;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical {
    gap: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical {
    gap: calc(20px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical {
    margin-left: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical {
    margin-left: calc(0px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical {
    position: sticky;
    height: fit-content;
    top: calc(20px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .text-vertical .icon {
  display: flex;
  background-color: currentColor;
  mask: url(../images/common/icon/indentation.svg) no-repeat center/100% auto;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical .icon {
    height: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical .icon {
    height: calc(32px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .text-vertical .text {
  display: flex;
  flex-direction: column;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
  line-height: 1.15;
  letter-spacing: 0.2em;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical .text {
    letter-spacing: 0.05em;
    font-size: max(40px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical .text {
    letter-spacing: 0.05em;
    font-size: max(34px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-vertical .text {
    gap: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-vertical .text {
    gap: calc(10px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .text-horizontal {
  word-break: break-all;
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-horizontal {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-horizontal {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .text-horizontal {
    margin-top: calc(217px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .text-horizontal {
    margin-top: calc(210px * var(--scale));
  }
}
[data-page-id=home] .section-main-text .stamp-image {
  position: absolute;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .stamp-image {
    width: calc(88px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .stamp-image {
    width: calc(88px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .stamp-image {
    right: calc(160px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .stamp-image {
    right: calc(-18px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-main-text .stamp-image {
    bottom: calc(99px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-main-text .stamp-image {
    bottom: calc(62px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about {
    padding-bottom: calc(210px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about {
    padding-bottom: calc(0px * var(--scale));
  }
}
[data-page-id=home] .section-vutai-about .container {
  width: 100%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .container {
    padding: calc(0px * var(--scale)) calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .container {
    padding: calc(0px * var(--scale)) calc(34px * var(--scale));
  }
}
[data-page-id=home] .section-vutai-about .vutai-items {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-items {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-items {
    margin-top: calc(56px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-items {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-items {
    gap: calc(28px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item {
    gap: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item {
    display: flex;
    align-items: center;
  }
}
[data-page-id=home] .section-vutai-about .vutai-item .item-pic {
  flex-shrink: 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-pic {
    width: auto;
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-pic {
    width: calc(126px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-description {
    gap: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-description {
    gap: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-description {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-description {
    display: flex;
    flex-direction: column;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-title {
    letter-spacing: 0.05em;
    font-size: max(20px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-title {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-vutai-about .vutai-item .item-text {
  line-height: 1.75;
  word-break: break-all;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .vutai-item .item-text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-vutai-about .about-description {
  border: 2px solid rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description {
    margin-top: calc(64px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description {
    padding: calc(28px * var(--scale)) calc(28px * var(--scale)) calc(35px * var(--scale)) calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description {
    padding: calc(28px * var(--scale)) calc(28px * var(--scale)) calc(35px * var(--scale)) calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description {
    gap: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description {
    border-radius: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description {
    border-radius: calc(10px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description {
    flex-direction: row;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description .description-title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description .description-title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-vutai-about .about-description .description-text {
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description .description-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description .description-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description .description-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description .description-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-vutai-about .about-description .description-image {
  flex-shrink: 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-vutai-about .about-description .description-image {
    width: calc(200px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-vutai-about .about-description .description-image {
    width: calc(212px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap {
    padding-top: calc(98px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap {
    padding-bottom: calc(210px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap {
    padding-bottom: calc(112px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .section-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .section-text {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .section-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .section-image {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .section-image {
    margin-top: calc(28px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .section-image {
    margin-left: calc(-36px * var(--scale));
    margin-right: calc(-12px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider {
  position: relative;
  width: calc(100vw - var(--scroll-bar-width));
  left: 50%;
  translate: -50% 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider {
    margin-top: calc(112px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider {
    margin-top: calc(98px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-slide {
  height: max-content;
  box-sizing: content-box;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide {
    width: calc(600px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide {
    width: calc(322px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide {
    padding: calc(0px * var(--scale)) calc(60px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide {
    padding: calc(0px * var(--scale)) calc(10px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .pic {
    aspect-ratio: 322/181;
    width: 100%;
    height: auto;
  }
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .title {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .title {
    margin-top: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .title {
    line-height: 1.35;
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-slide .description {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .description {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .description {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .description {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-slide .description {
    margin-top: calc(14px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-pagination {
  position: relative;
  top: auto;
  bottom: auto;
  display: flex;
  justify-content: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination {
    gap: calc(6px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination {
    gap: calc(6px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination {
    margin-top: calc(28px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet {
  flex-shrink: 0;
  display: block;
  margin: 0 !important;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet {
    width: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet {
    width: calc(8px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet {
    height: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet {
    height: calc(8px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000;
}
[data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
[data-page-id=home] .section-areamap .area-slider .swiper-button-next {
  color: #000;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    width: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    width: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    height: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    height: calc(40px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-button-prev::after,
[data-page-id=home] .section-areamap .area-slider .swiper-button-next::after {
  content: "";
  position: absolute;
  inset: calc(-20px * var(--scale));
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    display: none;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev .icon,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev .icon,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev .icon,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next .icon {
    height: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev .icon,
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next .icon {
    height: calc(16px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-button-prev {
  left: auto;
  right: 50%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev {
    margin-right: calc(340px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-prev {
    margin-right: calc(161px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .area-slider .swiper-button-next {
  right: auto;
  left: 50%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    margin-left: calc(340px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .area-slider .swiper-button-next {
    margin-left: calc(161px * var(--scale));
  }
}
[data-page-id=home] .section-areamap .areamap-buttons {
  display: flex;
  justify-content: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .areamap-buttons {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .areamap-buttons {
    gap: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-areamap .areamap-buttons {
    margin-top: calc(56px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-areamap .areamap-buttons {
    margin-top: calc(42px * var(--scale));
  }
}
[data-page-id=home] .section-uda {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda {
    padding-bottom: calc(70px * var(--scale));
  }
}
[data-page-id=home] .section-uda .bg {
  position: sticky;
  top: 0;
  height: 100lvh;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .bg {
    height: calc(var(--vh) * 1.15);
  }
}
[data-page-id=home] .section-uda .bg .bg-pic {
  position: absolute;
  inset: 0;
}
[data-page-id=home] .section-uda .bg .bg-pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .bg .bg-pic img {
    object-position: 35% 43%;
  }
}
[data-page-id=home] .section-uda .title-item {
  height: 100lvh;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .title-item {
    height: calc(var(--vh) * 1.15);
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .title-item {
    position: sticky;
    top: 0;
  }
}
[data-page-id=home] .section-uda .static-item {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .static-item::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(5px);
    mask-composite: intersect;
    mask-image: linear-gradient(to top, rgb(0, 0, 0) 95%, rgba(0, 0, 0, 0) 100%);
    top: calc(637px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .section-title {
    margin-top: calc(80px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .section-title {
    margin-top: min(150px * var(--scale), 20vh);
  }
}
[data-page-id=home] .section-uda .section-text {
  line-height: 1.75;
  word-break: break-all;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .section-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .section-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .section-text {
    width: 30.4347826087%;
  }
}
[data-page-id=home] .section-uda .gallery-list {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list {
    margin-top: calc(500px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list {
    margin-top: calc(697px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list {
    margin-bottom: calc(210px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list {
    margin-bottom: calc(60px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list {
    gap: calc(84px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list {
    gap: calc(42px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list {
    width: 47.8260869565%;
    margin-left: auto;
  }
}
[data-page-id=home] .section-uda .gallery-list-item .title {
  white-space: pre-line;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .title {
    line-height: 1.35;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    margin-top: calc(14px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    line-height: 1.75;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .description {
    line-height: 1.8;
  }
}
[data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap {
  width: 100%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n1 .pic-item {
    padding: calc(40px * var(--scale)) calc(20px * var(--scale)) calc(14px * var(--scale)) calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n1 .pic-item {
    padding: calc(30px * var(--scale)) calc(17px * var(--scale)) calc(17px * var(--scale)) calc(17px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n1 figcaption {
    margin-top: calc(38px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n1 figcaption {
    margin-top: calc(34px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n2 .pic-item {
    padding: calc(20px * var(--scale)) calc(20px * var(--scale)) calc(14px * var(--scale)) calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n2 .pic-item {
    padding: calc(17px * var(--scale)) calc(17px * var(--scale)) calc(14px * var(--scale)) calc(17px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n2 figcaption {
    margin-top: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap.n2 figcaption {
    margin-top: calc(17px * var(--scale));
  }
}
[data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item {
  position: relative;
  background-color: #B3AB8F;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item {
    margin-top: calc(42px * var(--scale));
  }
}
[data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item .pic {
  width: 100%;
}
[data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item .pic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
[data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item figcaption {
  color: rgba(0, 0, 0, 0.3);
  white-space: pre-line;
  text-align: right;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item figcaption {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .pic-item-wrap .pic-item figcaption {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-uda .gallery-list-item .ui-attention {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention {
    gap: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention {
    gap: calc(8px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention {
    margin-top: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention .text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-uda .gallery-list-item .ui-attention .text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program {
    padding-bottom: calc(0px * var(--scale));
  }
}
[data-page-id=home] .section-program .section-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .section-text {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .section-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-program .program-list {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-list {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-list {
    gap: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-list {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-list {
    margin-top: calc(28px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
[data-page-id=home] .section-program .program-item {
  display: block;
  background-color: #F6F0E7;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item {
    padding: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item {
    padding: calc(40px * var(--scale));
  }
}
[data-page-id=home] .section-program .program-item .program-item-inner {
  text-align: left;
  word-break: break-all;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .icon {
    height: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .icon {
    height: calc(24px * var(--scale));
  }
}
[data-page-id=home] .section-program .program-item .program-title {
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-title {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-title {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-title-sub {
    margin-top: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-title-sub {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-title-sub {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-title-sub {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-program .program-item .program-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-text {
    margin-top: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-program .program-item .program-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0 0 0 auto;
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-link {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-link {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-link {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-link {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-link {
    gap: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-link {
    gap: calc(4px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-link .icon-arrow {
    width: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-link .icon-arrow {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-item .program-link .icon-arrow {
    height: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-item .program-link .icon-arrow {
    height: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-contact {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-contact {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-program .program-contact {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-contact {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-program .program-contact {
    line-height: 1.75;
  }
}
[data-page-id=home] .section-program .program-contact a {
  text-decoration: underline;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept {
    padding-top: calc(89px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept {
    padding-bottom: calc(0px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept .section-text {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .section-text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept .section-text {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .section-text {
    line-height: 1.75;
  }
}
[data-page-id=home] .section-concept .button-concept {
  width: 100%;
  display: flex;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept .button-concept {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .button-concept {
    margin-top: calc(28px * var(--scale));
  }
}
[data-page-id=home] .section-concept .button-concept:focus-visible .concept-poster::after {
  opacity: 0;
}
@media (hover: none) and (pointer: coarse) {
  [data-page-id=home] .section-concept .button-concept:active .concept-poster::after {
    opacity: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  [data-page-id=home] .section-concept .button-concept:hover .concept-poster::after {
    opacity: 0;
  }
}
[data-page-id=home] .section-concept .button-concept .concept-poster {
  display: flex;
  width: 100%;
  position: relative;
}
[data-page-id=home] .section-concept .button-concept .concept-poster::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
[data-page-id=home] .section-concept .button-concept .concept-poster .icon-play {
  display: flex;
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 2;
  color: #fff;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept .button-concept .concept-poster .icon-play {
    width: calc(60px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .button-concept .concept-poster .icon-play {
    width: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-concept .button-concept .concept-poster .icon-play {
    height: calc(60px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-concept .button-concept .concept-poster .icon-play {
    height: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access {
    padding-top: calc(89px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access {
    padding-bottom: calc(0px * var(--scale));
  }
}
[data-page-id=home] .section-access .access-content {
  display: flex;
  flex-direction: column;
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-content {
    gap: calc(40px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-content {
    gap: calc(28px * var(--scale)) calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-content {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-content {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-content {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-content {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    line-height: 1.5;
  }
  [data-page-id=home] .section-access .access-content > * {
    grid-column: 1/2;
  }
}
[data-page-id=home] .section-access .access-address {
  order: 1;
  display: flex;
  justify-content: space-between;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-address {
    gap: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-address {
    gap: calc(8px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-address {
    flex-direction: column;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-address {
    align-items: center;
  }
}
[data-page-id=home] .section-access .access-address * {
  text-decoration: none;
}
[data-page-id=home] .section-access .access-address .address-link {
  text-decoration: underline;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-address .address-link {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-address .address-link {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-access .access-detail {
  order: 3;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-detail {
    gap: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-detail {
    gap: calc(28px * var(--scale));
  }
}
[data-page-id=home] .section-access .access-detail .access-method-list {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-detail .access-method-list {
    gap: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-detail .access-method-list {
    gap: calc(7px * var(--scale));
  }
}
[data-page-id=home] .section-access .access-detail .access-method {
  display: flex;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-detail .access-method {
    gap: calc(6px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-detail .access-method {
    gap: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-detail .access-method .icon {
    width: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-detail .access-method .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-detail .access-method .icon {
    height: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-access .access-detail .access-method .icon {
    height: calc(16px * var(--scale));
  }
}
[data-page-id=home] .section-access .access-map {
  order: 2;
  aspect-ratio: 4/3;
}
@media (min-width: 1023.5px) {
  [data-page-id=home] .section-access .access-map {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
[data-page-id=home] .section-access .access-map iframe {
  width: 100%;
  height: 100%;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-contact {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-contact {
    padding-top: calc(129px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-contact {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-contact {
    padding-bottom: calc(40px * var(--scale));
  }
}
[data-page-id=home] .section-contact .section-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-contact .section-text {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-contact .section-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-contact .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-contact .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=home] .section-contact .btn-contact {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-contact .btn-contact {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-contact .btn-contact {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-instagram {
    padding-top: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-instagram {
    padding-top: calc(89px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=home] .section-instagram {
    padding-bottom: calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=home] .section-instagram {
    padding-bottom: calc(89px * var(--scale));
  }
}

.section-areamap-modal,
.section-program-school-modal,
.section-program-company-modal {
  word-break: break-all;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal,
  .section-program-school-modal,
  .section-program-company-modal {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal,
  .section-program-school-modal,
  .section-program-company-modal {
    padding-bottom: calc(70px * var(--scale));
  }
}
.section-areamap-modal .page-title,
.section-program-school-modal .page-title,
.section-program-company-modal .page-title {
  margin-bottom: 0;
}
.section-areamap-modal .section-text,
.section-program-school-modal .section-text,
.section-program-company-modal .section-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .section-text,
  .section-program-school-modal .section-text,
  .section-program-company-modal .section-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .section-text,
  .section-program-school-modal .section-text,
  .section-program-company-modal .section-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .section-text,
  .section-program-school-modal .section-text,
  .section-program-company-modal .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .section-text,
  .section-program-school-modal .section-text,
  .section-program-company-modal .section-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
.section-areamap-modal .anchor-list,
.section-program-school-modal .anchor-list,
.section-program-company-modal .anchor-list {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .anchor-list,
  .section-program-school-modal .anchor-list,
  .section-program-company-modal .anchor-list {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .anchor-list,
  .section-program-school-modal .anchor-list,
  .section-program-company-modal .anchor-list {
    gap: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .anchor-list,
  .section-program-school-modal .anchor-list,
  .section-program-company-modal .anchor-list {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .anchor-list,
  .section-program-school-modal .anchor-list,
  .section-program-company-modal .anchor-list {
    margin-top: calc(70px * var(--scale));
  }
}
.section-areamap-modal .anchor-list .anchor-item,
.section-program-school-modal .anchor-list .anchor-item,
.section-program-company-modal .anchor-list .anchor-item {
  width: fit-content;
  display: flex;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .anchor-list .anchor-item,
  .section-program-school-modal .anchor-list .anchor-item,
  .section-program-company-modal .anchor-list .anchor-item {
    gap: calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .anchor-list .anchor-item,
  .section-program-school-modal .anchor-list .anchor-item,
  .section-program-company-modal .anchor-list .anchor-item {
    gap: calc(8px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .anchor-list .anchor-item,
  .section-program-school-modal .anchor-list .anchor-item,
  .section-program-company-modal .anchor-list .anchor-item {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .anchor-list .anchor-item,
  .section-program-school-modal .anchor-list .anchor-item,
  .section-program-company-modal .anchor-list .anchor-item {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list,
  .section-program-school-modal .areamap-list,
  .section-program-company-modal .areamap-list {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list,
  .section-program-school-modal .areamap-list,
  .section-program-company-modal .areamap-list {
    padding-top: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list,
  .section-program-school-modal .areamap-list,
  .section-program-company-modal .areamap-list {
    padding-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list,
  .section-program-school-modal .areamap-list,
  .section-program-company-modal .areamap-list {
    padding-bottom: calc(70px * var(--scale));
  }
}
.section-areamap-modal .areamap-list .areamap-list-title,
.section-program-school-modal .areamap-list .areamap-list-title,
.section-program-company-modal .areamap-list .areamap-list-title {
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-list-title,
  .section-program-school-modal .areamap-list .areamap-list-title,
  .section-program-company-modal .areamap-list .areamap-list-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-list-title,
  .section-program-school-modal .areamap-list .areamap-list-title,
  .section-program-company-modal .areamap-list .areamap-list-title {
    letter-spacing: 0.05em;
    font-size: max(20px * var(--scale), 10px);
  }
}
.section-areamap-modal .areamap-list .areamap-list-inner,
.section-program-school-modal .areamap-list .areamap-list-inner,
.section-program-company-modal .areamap-list .areamap-list-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-list-inner,
  .section-program-school-modal .areamap-list .areamap-list-inner,
  .section-program-company-modal .areamap-list .areamap-list-inner {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-list-inner,
  .section-program-school-modal .areamap-list .areamap-list-inner,
  .section-program-company-modal .areamap-list .areamap-list-inner {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-list-inner,
  .section-program-school-modal .areamap-list .areamap-list-inner,
  .section-program-company-modal .areamap-list .areamap-list-inner {
    gap: calc(70px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-list-inner,
  .section-program-school-modal .areamap-list .areamap-list-inner,
  .section-program-company-modal .areamap-list .areamap-list-inner {
    gap: calc(70px * var(--scale)) calc(70px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-list-inner,
  .section-program-school-modal .areamap-list .areamap-list-inner,
  .section-program-company-modal .areamap-list .areamap-list-inner {
    grid-template-columns: 1fr;
  }
}
.section-areamap-modal .areamap-list .areamap-item .pic,
.section-program-school-modal .areamap-list .areamap-item .pic,
.section-program-company-modal .areamap-list .areamap-item .pic {
  overflow: hidden;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-item .pic,
  .section-program-school-modal .areamap-list .areamap-item .pic,
  .section-program-company-modal .areamap-list .areamap-item .pic {
    border-radius: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .pic,
  .section-program-school-modal .areamap-list .areamap-item .pic,
  .section-program-company-modal .areamap-list .areamap-item .pic {
    border-radius: calc(0px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .pic,
  .section-program-school-modal .areamap-list .areamap-item .pic,
  .section-program-company-modal .areamap-list .areamap-item .pic {
    border-radius: 0;
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-item .title,
  .section-program-school-modal .areamap-list .areamap-item .title,
  .section-program-company-modal .areamap-list .areamap-item .title {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .title,
  .section-program-school-modal .areamap-list .areamap-item .title,
  .section-program-company-modal .areamap-list .areamap-item .title {
    margin-top: calc(21px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-item .title,
  .section-program-school-modal .areamap-list .areamap-item .title,
  .section-program-company-modal .areamap-list .areamap-item .title {
    letter-spacing: 0.05em;
    font-size: max(23px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .title,
  .section-program-school-modal .areamap-list .areamap-item .title,
  .section-program-company-modal .areamap-list .areamap-item .title {
    letter-spacing: 0.05em;
    font-size: max(20px * var(--scale), 10px);
  }
}
.section-areamap-modal .areamap-list .areamap-item .text,
.section-program-school-modal .areamap-list .areamap-item .text,
.section-program-company-modal .areamap-list .areamap-item .text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-item .text,
  .section-program-school-modal .areamap-list .areamap-item .text,
  .section-program-company-modal .areamap-list .areamap-item .text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .text,
  .section-program-school-modal .areamap-list .areamap-item .text,
  .section-program-company-modal .areamap-list .areamap-item .text {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-list .areamap-item .text,
  .section-program-school-modal .areamap-list .areamap-item .text,
  .section-program-company-modal .areamap-list .areamap-item .text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-list .areamap-item .text,
  .section-program-school-modal .areamap-list .areamap-item .text,
  .section-program-company-modal .areamap-list .areamap-item .text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
.section-areamap-modal .areamap-description,
.section-program-school-modal .areamap-description,
.section-program-company-modal .areamap-description {
  background-color: #F6F0E7;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    border-radius: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    border-radius: calc(10px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    margin-bottom: calc(140px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    padding: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description,
  .section-program-school-modal .areamap-description,
  .section-program-company-modal .areamap-description {
    padding: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description .title,
  .section-program-school-modal .areamap-description .title,
  .section-program-company-modal .areamap-description .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description .title,
  .section-program-school-modal .areamap-description .title,
  .section-program-company-modal .areamap-description .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
.section-areamap-modal .areamap-description .text,
.section-program-school-modal .areamap-description .text,
.section-program-company-modal .areamap-description .text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description .text,
  .section-program-school-modal .areamap-description .text,
  .section-program-company-modal .areamap-description .text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description .text,
  .section-program-school-modal .areamap-description .text,
  .section-program-company-modal .areamap-description .text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description .text,
  .section-program-school-modal .areamap-description .text,
  .section-program-company-modal .areamap-description .text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description .text,
  .section-program-school-modal .areamap-description .text,
  .section-program-company-modal .areamap-description .text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
.section-areamap-modal .areamap-description .annotation,
.section-program-school-modal .areamap-description .annotation,
.section-program-company-modal .areamap-description .annotation {
  text-align: right;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description .annotation,
  .section-program-school-modal .areamap-description .annotation,
  .section-program-company-modal .areamap-description .annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description .annotation,
  .section-program-school-modal .areamap-description .annotation,
  .section-program-company-modal .areamap-description .annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .areamap-description .annotation,
  .section-program-school-modal .areamap-description .annotation,
  .section-program-company-modal .areamap-description .annotation {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .areamap-description .annotation,
  .section-program-school-modal .areamap-description .annotation,
  .section-program-company-modal .areamap-description .annotation {
    margin-top: calc(28px * var(--scale));
  }
}
.section-areamap-modal .program-list-wrap,
.section-program-school-modal .program-list-wrap,
.section-program-company-modal .program-list-wrap {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    gap: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .section-areamap-modal .program-list-wrap,
  .section-program-school-modal .program-list-wrap,
  .section-program-company-modal .program-list-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
.section-areamap-modal .program-list-wrap .program-list,
.section-program-school-modal .program-list-wrap .program-list,
.section-program-company-modal .program-list-wrap .program-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background-color: #CEDFDB;
}
.section-areamap-modal .program-list,
.section-program-school-modal .program-list,
.section-program-company-modal .program-list {
  background-color: #F6F0E7;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    padding: calc(84px * var(--scale)) calc(80px * var(--scale)) calc(84px * var(--scale)) calc(80px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    padding: calc(42px * var(--scale)) calc(28px * var(--scale)) calc(56px * var(--scale)) calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    border-radius: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list,
  .section-program-school-modal .program-list,
  .section-program-company-modal .program-list {
    border-radius: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list:last-child,
  .section-program-school-modal .program-list:last-child,
  .section-program-company-modal .program-list:last-child {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list:last-child,
  .section-program-school-modal .program-list:last-child,
  .section-program-company-modal .program-list:last-child {
    margin-bottom: calc(70px * var(--scale));
  }
}
.section-areamap-modal .program-list .program-list-title,
.section-program-school-modal .program-list .program-list-title,
.section-program-company-modal .program-list .program-list-title {
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-list-title,
  .section-program-school-modal .program-list .program-list-title,
  .section-program-company-modal .program-list .program-list-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-list-title,
  .section-program-school-modal .program-list .program-list-title,
  .section-program-company-modal .program-list .program-list-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
.section-areamap-modal .program-list .program-list-text,
.section-program-school-modal .program-list .program-list-text,
.section-program-company-modal .program-list .program-list-text {
  text-align: justify;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-list-text,
  .section-program-school-modal .program-list .program-list-text,
  .section-program-company-modal .program-list .program-list-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-list-text,
  .section-program-school-modal .program-list .program-list-text,
  .section-program-company-modal .program-list .program-list-text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-list-text,
  .section-program-school-modal .program-list .program-list-text,
  .section-program-company-modal .program-list .program-list-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-list-text,
  .section-program-school-modal .program-list .program-list-text,
  .section-program-company-modal .program-list .program-list-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-list-text,
  .section-program-school-modal .program-list .program-list-text,
  .section-program-company-modal .program-list .program-list-text {
    line-height: 1.75;
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-limit,
  .section-program-school-modal .program-list .program-limit,
  .section-program-company-modal .program-list .program-limit {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-limit,
  .section-program-school-modal .program-list .program-limit,
  .section-program-company-modal .program-list .program-limit {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-limit,
  .section-program-school-modal .program-list .program-limit,
  .section-program-company-modal .program-list .program-limit {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-limit,
  .section-program-school-modal .program-list .program-limit,
  .section-program-company-modal .program-list .program-limit {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-annotation,
  .section-program-school-modal .program-list .program-annotation,
  .section-program-company-modal .program-list .program-annotation {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-annotation,
  .section-program-school-modal .program-list .program-annotation,
  .section-program-company-modal .program-list .program-annotation {
    margin-top: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-annotation,
  .section-program-school-modal .program-list .program-annotation,
  .section-program-company-modal .program-list .program-annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-annotation,
  .section-program-school-modal .program-list .program-annotation,
  .section-program-company-modal .program-list .program-annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
.section-areamap-modal .program-list .program-item,
.section-program-school-modal .program-list .program-item,
.section-program-company-modal .program-list .program-item {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-item,
  .section-program-school-modal .program-list .program-item,
  .section-program-company-modal .program-list .program-item {
    margin-top: calc(56px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-item,
  .section-program-school-modal .program-list .program-item,
  .section-program-company-modal .program-list .program-item {
    margin-top: calc(56px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-item,
  .section-program-school-modal .program-list .program-item,
  .section-program-company-modal .program-list .program-item {
    gap: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-item,
  .section-program-school-modal .program-list .program-item,
  .section-program-company-modal .program-list .program-item {
    gap: calc(28px * var(--scale));
  }
}
.section-areamap-modal .program-list .program-item .title,
.section-program-school-modal .program-list .program-item .title,
.section-program-company-modal .program-list .program-item .title {
  display: flex;
  align-items: center;
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-item .title,
  .section-program-school-modal .program-list .program-item .title,
  .section-program-company-modal .program-list .program-item .title {
    gap: calc(6px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-item .title,
  .section-program-school-modal .program-list .program-item .title,
  .section-program-company-modal .program-list .program-item .title {
    gap: calc(6px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .program-item .title,
  .section-program-school-modal .program-list .program-item .title,
  .section-program-company-modal .program-list .program-item .title {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .program-item .title,
  .section-program-school-modal .program-list .program-item .title,
  .section-program-company-modal .program-list .program-item .title {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
.section-areamap-modal .program-list .schedule-list,
.section-program-school-modal .program-list .schedule-list,
.section-program-company-modal .program-list .schedule-list {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-list,
  .section-program-school-modal .program-list .schedule-list,
  .section-program-company-modal .program-list .schedule-list {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-list,
  .section-program-school-modal .program-list .schedule-list,
  .section-program-company-modal .program-list .schedule-list {
    gap: calc(28px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-list,
  .section-program-school-modal .program-list .schedule-list,
  .section-program-company-modal .program-list .schedule-list {
    flex-direction: column;
  }
}
.section-areamap-modal .program-list .schedule-item,
.section-program-school-modal .program-list .schedule-item,
.section-program-company-modal .program-list .schedule-item {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item,
  .section-program-school-modal .program-list .schedule-item,
  .section-program-company-modal .program-list .schedule-item {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item,
  .section-program-school-modal .program-list .schedule-item,
  .section-program-company-modal .program-list .schedule-item {
    gap: calc(14px * var(--scale));
  }
}
.section-areamap-modal .program-list .schedule-item .date,
.section-program-school-modal .program-list .schedule-item .date,
.section-program-company-modal .program-list .schedule-item .date {
  color: rgba(0, 0, 0, 0.3);
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item .date,
  .section-program-school-modal .program-list .schedule-item .date,
  .section-program-company-modal .program-list .schedule-item .date {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .date,
  .section-program-school-modal .program-list .schedule-item .date,
  .section-program-company-modal .program-list .schedule-item .date {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
.section-areamap-modal .program-list .schedule-item .time-table-list,
.section-program-school-modal .program-list .schedule-item .time-table-list,
.section-program-company-modal .program-list .schedule-item .time-table-list {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item .time-table-list,
  .section-program-school-modal .program-list .schedule-item .time-table-list,
  .section-program-company-modal .program-list .schedule-item .time-table-list {
    gap: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .time-table-list,
  .section-program-school-modal .program-list .schedule-item .time-table-list,
  .section-program-company-modal .program-list .schedule-item .time-table-list {
    gap: calc(7px * var(--scale));
  }
}
.section-areamap-modal .program-list .schedule-item .time-table-item,
.section-program-school-modal .program-list .schedule-item .time-table-item,
.section-program-company-modal .program-list .schedule-item .time-table-item {
  display: grid;
  grid-template-columns: calc(80px * var(--scale)) 1fr;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item,
  .section-program-school-modal .program-list .schedule-item .time-table-item,
  .section-program-company-modal .program-list .schedule-item .time-table-item {
    gap: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item,
  .section-program-school-modal .program-list .schedule-item .time-table-item,
  .section-program-company-modal .program-list .schedule-item .time-table-item {
    gap: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item,
  .section-program-school-modal .program-list .schedule-item .time-table-item,
  .section-program-company-modal .program-list .schedule-item .time-table-item {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item,
  .section-program-school-modal .program-list .schedule-item .time-table-item,
  .section-program-company-modal .program-list .schedule-item .time-table-item {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item,
  .section-program-school-modal .program-list .schedule-item .time-table-item,
  .section-program-company-modal .program-list .schedule-item .time-table-item {
    grid-template-columns: calc(42px * var(--scale)) 1fr;
  }
}
.section-areamap-modal .program-list .schedule-item .time-table-item .time,
.section-program-school-modal .program-list .schedule-item .time-table-item .time,
.section-program-company-modal .program-list .schedule-item .time-table-item .time {
  flex-shrink: 0;
}
.section-areamap-modal .program-list .schedule-item .time-table-item .star,
.section-program-school-modal .program-list .schedule-item .time-table-item .star,
.section-program-company-modal .program-list .schedule-item .time-table-item .star {
  color: rgba(105, 83, 63, 0.6);
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item .star,
  .section-program-school-modal .program-list .schedule-item .time-table-item .star,
  .section-program-company-modal .program-list .schedule-item .time-table-item .star {
    margin-left: calc(5px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .schedule-item .time-table-item .star,
  .section-program-school-modal .program-list .schedule-item .time-table-item .star,
  .section-program-company-modal .program-list .schedule-item .time-table-item .star {
    margin-left: calc(5px * var(--scale));
  }
}
.section-areamap-modal .program-list .activity-list,
.section-program-school-modal .program-list .activity-list,
.section-program-company-modal .program-list .activity-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .activity-list,
  .section-program-school-modal .program-list .activity-list,
  .section-program-company-modal .program-list .activity-list {
    gap: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-list,
  .section-program-school-modal .program-list .activity-list,
  .section-program-company-modal .program-list .activity-list {
    gap: calc(42px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-list,
  .section-program-school-modal .program-list .activity-list,
  .section-program-company-modal .program-list .activity-list {
    grid-template-columns: 1fr;
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .activity-item .activity-title,
  .section-program-school-modal .program-list .activity-item .activity-title,
  .section-program-company-modal .program-list .activity-item .activity-title {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-item .activity-title,
  .section-program-school-modal .program-list .activity-item .activity-title,
  .section-program-company-modal .program-list .activity-item .activity-title {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .activity-item .activity-title,
  .section-program-school-modal .program-list .activity-item .activity-title,
  .section-program-company-modal .program-list .activity-item .activity-title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-item .activity-title,
  .section-program-school-modal .program-list .activity-item .activity-title,
  .section-program-company-modal .program-list .activity-item .activity-title {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-item .activity-title,
  .section-program-school-modal .program-list .activity-item .activity-title,
  .section-program-company-modal .program-list .activity-item .activity-title {
    line-height: 1.75;
  }
}
.section-areamap-modal .program-list .activity-item .activity-text,
.section-program-school-modal .program-list .activity-item .activity-text,
.section-program-company-modal .program-list .activity-item .activity-text {
  text-align: justify;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .activity-item .activity-text,
  .section-program-school-modal .program-list .activity-item .activity-text,
  .section-program-company-modal .program-list .activity-item .activity-text {
    margin-top: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-item .activity-text,
  .section-program-school-modal .program-list .activity-item .activity-text,
  .section-program-company-modal .program-list .activity-item .activity-text {
    margin-top: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .program-list .activity-item .activity-text,
  .section-program-school-modal .program-list .activity-item .activity-text,
  .section-program-company-modal .program-list .activity-item .activity-text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .program-list .activity-item .activity-text,
  .section-program-school-modal .program-list .activity-item .activity-text,
  .section-program-company-modal .program-list .activity-item .activity-text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
.section-areamap-modal .button-holder,
.section-program-school-modal .button-holder,
.section-program-company-modal .button-holder {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-areamap-modal .button-holder .button-holder-text,
.section-program-school-modal .button-holder .button-holder-text,
.section-program-company-modal .button-holder .button-holder-text {
  text-align: center;
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .button-holder .button-holder-text,
  .section-program-school-modal .button-holder .button-holder-text,
  .section-program-company-modal .button-holder .button-holder-text {
    margin-bottom: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .button-holder .button-holder-text,
  .section-program-school-modal .button-holder .button-holder-text,
  .section-program-company-modal .button-holder .button-holder-text {
    margin-bottom: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .button-holder .button-holder-text,
  .section-program-school-modal .button-holder .button-holder-text,
  .section-program-company-modal .button-holder .button-holder-text {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .button-holder .button-holder-text,
  .section-program-school-modal .button-holder .button-holder-text,
  .section-program-company-modal .button-holder .button-holder-text {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-areamap-modal .button-holder .button-contact,
  .section-program-school-modal .button-holder .button-contact,
  .section-program-company-modal .button-holder .button-contact {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-areamap-modal .button-holder .button-contact,
  .section-program-school-modal .button-holder .button-contact,
  .section-program-company-modal .button-holder .button-contact {
    margin-bottom: calc(70px * var(--scale));
  }
}
.section-areamap-modal .button-holder .button-modal-close,
.section-program-school-modal .button-holder .button-modal-close,
.section-program-company-modal .button-holder .button-modal-close {
  position: static;
}

/* Instagram Section */
.section-instagram {
  color: #487A41;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .container {
    padding-top: calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .container {
    padding-top: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .container {
    padding-bottom: calc(0px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .container {
    padding-bottom: calc(40px * var(--scale));
  }
}
.section-instagram .instagram-content {
  display: block;
  background-color: #CEDFDB;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .instagram-content {
    padding: calc(29px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .instagram-content {
    padding: calc(28px * var(--scale));
  }
}
.section-instagram .sns-link {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link .icon {
    height: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link .icon {
    height: calc(32px * var(--scale));
  }
}
.section-instagram .content-detail {
  display: grid;
  grid-template-columns: 1fr calc(98px * var(--scale));
}
@media all and (min-width: 1023.5px) {
  .section-instagram .content-detail {
    gap: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .content-detail {
    gap: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .content-detail {
    margin-top: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .content-detail {
    margin-top: calc(28px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .section-instagram .content-detail {
    grid-template-columns: 1fr calc(105px * var(--scale));
  }
}
.section-instagram .content-detail .detail-text {
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .content-detail .detail-text {
    gap: calc(6px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .content-detail .detail-text {
    gap: calc(7px * var(--scale));
  }
}
.section-instagram .content-detail .title {
  word-break: break-word;
  text-align: justify;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .content-detail .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .content-detail .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
.section-instagram .content-detail .text {
  word-break: break-word;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .content-detail .text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .content-detail .text {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  .section-instagram .content-detail .text {
    line-height: 1.75;
  }
}
.section-instagram .sns-link-text {
  display: flex;
  align-items: center;
  width: fit-content;
  margin-left: auto;
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link-text {
    margin-top: calc(20px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link-text {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link-text {
    gap: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link-text {
    gap: calc(10px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link-text .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link-text .icon {
    width: calc(16px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-instagram .sns-link-text .icon {
    height: calc(16px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-instagram .sns-link-text .icon {
    height: calc(16px * var(--scale));
  }
}

/* news
*********************************/
.section-news-index {
  color: #000;
  position: relative;
  background-color: #fff;
  z-index: 2;
}
@media all and (min-width: 1023.5px) {
  body:has([data-page-id=home]) .section-news-index {
    padding-top: calc(128px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  body:has([data-page-id=home]) .section-news-index {
    padding-top: calc(98px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  body:has([data-page-id=home]) .section-news-index {
    padding-bottom: calc(140px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  body:has([data-page-id=home]) .section-news-index {
    padding-bottom: calc(98px * var(--scale));
  }
}
.section-news-index .section-title {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .section-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .section-title {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-news-index .section-title {
    gap: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .section-title {
    gap: calc(10px * var(--scale));
  }
}
.section-news-index .section-title .icon {
  margin: 0;
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .section-title .icon {
    width: calc(32px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .section-title .icon {
    width: calc(32px * var(--scale));
  }
}
.section-news-index .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination {
    gap: calc(12px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination {
    gap: calc(12px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination {
    margin-top: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination {
    margin-top: calc(40px * var(--scale));
  }
}
.section-news-index .pagination .pages {
  display: flex;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .pages {
    gap: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .pages {
    gap: calc(4px * var(--scale));
  }
}
.section-news-index .pagination .btn-round-rect.current {
  pointer-events: none;
}
.section-news-index .pagination .dot {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .dot {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .dot {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .dot {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .dot {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .dot {
    min-height: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .dot {
    min-height: calc(40px * var(--scale));
  }
}
.section-news-index .pagination .button-prev,
.section-news-index .pagination .button-next {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .button-prev,
  .section-news-index .pagination .button-next {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .button-prev,
  .section-news-index .pagination .button-next {
    min-width: calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .section-news-index .pagination .button-prev,
  .section-news-index .pagination .button-next {
    min-height: calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .section-news-index .pagination .button-prev,
  .section-news-index .pagination .button-next {
    min-height: calc(40px * var(--scale));
  }
}
.section-news-index .pagination .button-prev.disabled,
.section-news-index .pagination .button-next.disabled {
  opacity: 0;
  pointer-events: none;
}

.news-list {
  display: grid;
}
@media all and (min-width: 1023.5px) {
  .news-list {
    gap: calc(56px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .news-list {
    gap: calc(56px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .news-list {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .news-list {
    margin-top: calc(42px * var(--scale));
  }
}
@media (min-width: 1023.5px) {
  .news-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.news-list .news-list-item .news-list-item-inner:focus-visible img {
  scale: 1.1;
}
@media (hover: none) and (pointer: coarse) {
  .news-list .news-list-item .news-list-item-inner:active img {
    scale: 1.1;
  }
}
@media (hover: hover) and (pointer: fine) {
  .news-list .news-list-item .news-list-item-inner:hover img {
    scale: 1.1;
  }
}
.news-list .news-list-item figure {
  width: 100%;
  aspect-ratio: 3/2;
}
.news-list .news-list-item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.news-list .news-list-item .date {
  color: rgba(0, 0, 0, 0.6);
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  .news-list .news-list-item .date {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .news-list .news-list-item .date {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .news-list .news-list-item .date {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .news-list .news-list-item .date {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
.news-list .news-list-item .title {
  line-height: 1.8;
}
@media all and (min-width: 1023.5px) {
  .news-list .news-list-item .title {
    margin-top: calc(3.5px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .news-list .news-list-item .title {
    margin-top: calc(3.5px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .news-list .news-list-item .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .news-list .news-list-item .title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}

/* news詳細
*********************************/
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .pic-main {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .pic-main {
    margin-bottom: calc(70px * var(--scale));
  }
}
[data-page-id=news-detail] .article-news {
  color: #000;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news {
    gap: calc(42px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news {
    gap: calc(42px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news {
    line-height: 1.75;
  }
}
[data-page-id=news-detail] .article-news h2 {
  padding: 0;
  margin: 0;
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news h2 {
    letter-spacing: 0.05em;
    font-size: max(28px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news h2 {
    letter-spacing: 0.05em;
    font-size: max(24px * var(--scale), 10px);
  }
}
[data-page-id=news-detail] .article-news h3 {
  padding: 0;
  margin: 0;
  line-height: 1.35;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news h3 {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news h3 {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
[data-page-id=news-detail] .article-news a {
  text-decoration: underline;
  transition: opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
[data-page-id=news-detail] .article-news a:focus-visible {
  opacity: 0.4;
}
@media (hover: none) and (pointer: coarse) {
  [data-page-id=news-detail] .article-news a:active {
    opacity: 0.4;
  }
}
@media (hover: hover) and (pointer: fine) {
  [data-page-id=news-detail] .article-news a:hover {
    opacity: 0.4;
  }
}
[data-page-id=news-detail] .article-news .annotation {
  color: #606060;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
[data-page-id=news-detail] .article-news .wp-block-columns {
  padding: 0;
  margin: 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-columns {
    gap: calc(42px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-columns {
    gap: calc(28px * var(--scale)) calc(28px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-columns .wp-block-image {
    margin: 0 auto;
    width: 82.6086956522% !important;
  }
}
[data-page-id=news-detail] .article-news .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-gallery {
    gap: calc(42px * var(--scale)) calc(40px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-gallery {
    gap: calc(28px * var(--scale)) calc(28px * var(--scale));
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-gallery {
    grid-template-columns: 1fr !important;
  }
}
[data-page-id=news-detail] .article-news .wp-block-gallery.columns-default {
  grid-template-columns: repeat(3, 1fr);
}
[data-page-id=news-detail] .article-news .wp-block-gallery .wp-block-image {
  width: 100% !important;
}
@media (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-gallery .wp-block-image {
    justify-self: center;
    width: 82.6086956522% !important;
  }
}
[data-page-id=news-detail] .article-news .wp-block-image {
  width: 100%;
}
[data-page-id=news-detail] .article-news .wp-block-image::before {
  content: none !important;
}
[data-page-id=news-detail] .article-news .wp-block-image.small {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-image.small {
    width: 47.8260869565%;
  }
}
@media (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-image.small {
    width: 82.6086956522%;
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-image img {
    border-radius: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-image img {
    border-radius: calc(10px * var(--scale));
  }
}
[data-page-id=news-detail] .article-news .wp-block-image figcaption.wp-element-caption {
  text-align: left;
  background: none;
  text-shadow: none;
  position: static;
  color: rgba(0, 0, 0, 0.6);
  line-height: 1.5;
  margin-bottom: 0;
  padding: 0em;
  overflow: visible;
  scrollbar-gutter: unset;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-image figcaption.wp-element-caption {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-image figcaption.wp-element-caption {
    margin-top: calc(14px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .article-news .wp-block-image figcaption.wp-element-caption {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .article-news .wp-block-image figcaption.wp-element-caption {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
[data-page-id=news-detail] .article-news .wp-block-buttons .wp-block-button * {
  padding: 0;
}
[data-page-id=news-detail] .btn-index {
  margin-right: auto;
  margin-left: auto;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=news-detail] .btn-index {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=news-detail] .btn-index {
    margin-top: calc(70px * var(--scale));
  }
}

/* 404ページ
*********************************/
/* コンタクトページ
*********************************/
.contact-main {
  color: #000000;
}
.contact-main .page-text {
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  .contact-main .page-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .page-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main .page-annotation {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .page-annotation {
    margin-top: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main .page-annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .page-annotation {
    letter-spacing: 0.05em;
    font-size: max(11px * var(--scale), 10px);
  }
}
.contact-main .btn-top {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 1023.5px) {
  .contact-main .btn-top {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .btn-top {
    margin-top: calc(70px * var(--scale));
  }
}
.contact-main label.label br {
  display: none;
}
.contact-main .contact-item-list {
  display: flex;
  flex-direction: column;
  gap: max(28px * var(--scale), 28px);
}
.contact-main .contact-item-list .contact-item:has(input:disabled) {
  display: none;
}
.contact-main .contact-item-list .contact-item .label-text {
  display: flex;
  font-size: max(14px * var(--scale), 14px);
}
@media all and (min-width: 1023.5px) {
  .contact-main .contact-item-list .contact-item .label-text {
    margin-bottom: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .contact-item-list .contact-item .label-text {
    margin-bottom: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main .contact-item-list .contact-item .label-text {
    gap: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .contact-item-list .contact-item .label-text {
    gap: calc(14px * var(--scale));
  }
}
.contact-main .contact-item-list .contact-item .label-text .required {
  color: rgba(0, 0, 0, 0.6);
}
.contact-main select.wpcf7-form-control:not(.wpcf7-submit),
.contact-main input.wpcf7-form-control:not(.wpcf7-submit),
.contact-main textarea.wpcf7-form-control:not(.wpcf7-submit) {
  border: 1px solid rgba(0, 0, 0, 0.2);
  background-color: rgba(0, 0, 0, 0.03);
  width: 100%;
  font-weight: normal;
  padding: max(10px * var(--scale), 10px) max(14px * var(--scale), 14px);
  font-size: max(16px * var(--scale), 16px);
  height: max(48px * var(--scale), 48px);
  border-radius: max(8px * var(--scale), 8px);
}
.contact-main select.wpcf7-form-control:not(.wpcf7-submit):focus,
.contact-main input.wpcf7-form-control:not(.wpcf7-submit):focus,
.contact-main textarea.wpcf7-form-control:not(.wpcf7-submit):focus {
  border: 1px solid black;
}
.contact-main select.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid,
.contact-main input.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid,
.contact-main textarea.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid {
  color: #c40000;
  background-color: rgba(196, 0, 0, 0.05);
  border: 1px solid #c40000;
}
.contact-main select.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid:-ms-input-placeholder, .contact-main input.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid:-ms-input-placeholder, .contact-main textarea.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid:-ms-input-placeholder {
  color: rgba(196, 0, 0, 0.3);
}
.contact-main select.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid::placeholder,
.contact-main input.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid::placeholder,
.contact-main textarea.wpcf7-form-control:not(.wpcf7-submit).wpcf7-not-valid::placeholder {
  color: rgba(196, 0, 0, 0.3);
}
.contact-main select.wpcf7-textarea,
.contact-main input.wpcf7-textarea,
.contact-main textarea.wpcf7-textarea {
  height: calc(4lh + 20px * var(--scale)) !important;
}
.contact-main input::-webkit-contacts-auto-fill-button,
.contact-main input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
  position: absolute;
  top: -50px;
}
.contact-main .wpcf7-form-control-wrap:has(.wpcf7-select) {
  position: relative;
  flex-direction: column;
  display: flex;
}
.contact-main .wpcf7-form-control-wrap:has(.wpcf7-select)::before {
  content: "";
  position: absolute;
  width: max(16px * var(--scale), 16px);
  height: max(16px * var(--scale), 16px);
  top: max(16px * var(--scale), 16px);
  right: max(14px * var(--scale), 14px);
  background-color: currentColor;
  mask: url("../images/common/icon/arrow-down.svg") no-repeat center/contain;
  z-index: 1;
}
.contact-main .wpcf7-form-control-wrap:has(.wpcf7-select):has(.wpcf7-not-valid) {
  color: #C40000;
}
.contact-main .wpcf7-form-control-wrap:has(.wpcf7-select) select {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  padding-right: max(40px * var(--scale), 40px);
}
.contact-main .wpcf7-form-control-wrap:has(.wpcf7-textarea) {
  display: flex;
  flex-direction: column;
}
.contact-main input[type=checkbox] {
  cursor: pointer;
  border: #000 solid 1px;
}
@media all and (min-width: 1023.5px) {
  .contact-main input[type=checkbox] {
    margin-right: calc(10px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main input[type=checkbox] {
    margin-right: calc(10px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main input[type=checkbox] {
    width: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main input[type=checkbox] {
    width: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main input[type=checkbox] {
    height: calc(24px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main input[type=checkbox] {
    height: calc(24px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main input[type=checkbox] {
    border-radius: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main input[type=checkbox] {
    border-radius: calc(4px * var(--scale));
  }
}
.contact-main input[type=checkbox]:checked {
  background: #000 url("../images/common/icon/check.svg") no-repeat center/contain;
}
.contact-main label:has(input[type=checkbox]) {
  display: flex;
  align-items: center;
  font-size: max(14px * var(--scale), 14px);
}
@media all and (min-width: 1023.5px) {
  .contact-main .agreement-holder {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .agreement-holder {
    margin-top: calc(70px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  .contact-main .agreement-holder {
    margin-bottom: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .agreement-holder {
    margin-bottom: calc(70px * var(--scale));
  }
}
.contact-main .agreement-holder .wpcf7-form-control-wrap,
.contact-main .agreement-holder .wpcf7-form-control-wrap .wpcf7-form-control {
  display: flex;
  flex-direction: column;
}
.contact-main .agreement-holder .wpcf7-form-control-wrap .wpcf7-list-item,
.contact-main .agreement-holder .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
  margin-left: 0;
}
.contact-main .wpcf7 form {
  display: flex;
  flex-direction: column;
}
.contact-main .wpcf7 form .contact-item-list {
  order: 2;
}
.contact-main .wpcf7 form .agreement-holder {
  order: 3;
}
.contact-main .wpcf7 form .agreement-holder .wpcf7-not-valid-tip {
  padding-left: calc(34px * var(--scale));
}
.contact-main .wpcf7 form .wpcf7-response-output {
  order: 1;
}
.contact-main .wpcf7 form .submit-holder {
  order: 4;
}
.contact-main .submit-holder {
  position: relative;
}
@media (min-width: 1023.5px) {
  .contact-main .submit-holder {
    margin: 0 auto;
    width: fit-content;
  }
}
@media (min-width: 1023.5px) {
  .contact-main .submit-holder p {
    width: fit-content;
  }
}
.contact-main .submit-holder .wpcf7-spinner {
  display: none;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: 0.3s opacity;
  visibility: visible;
}
.contact-main input[type=submit]:disabled {
  opacity: 0.3;
  pointer-events: none;
}
.contact-main form.submitting .wpcf7-spinner {
  opacity: 1;
}
.contact-main .wpcf7-not-valid-tip {
  color: #C40000;
  white-space: pre-wrap;
  font-size: max(14px * var(--scale), 16px);
}
@media all and (min-width: 1023.5px) {
  .contact-main .wpcf7-not-valid-tip {
    margin-top: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  .contact-main .wpcf7-not-valid-tip {
    margin-top: calc(7px * var(--scale));
  }
}
.contact-main .wpcf7 form .wpcf7-response-output {
  scroll-margin-top: 60px;
  padding: max(40px * var(--scale), 40px);
  margin: 0;
  margin-bottom: max(70px * var(--scale), 70px);
  font-size: max(14px * var(--scale), 14px);
  border: none;
}
@media (max-width: 1023.4px) {
  .contact-main .wpcf7 form .wpcf7-response-output {
    padding: max(28px * var(--scale), 28px);
  }
}
.contact-main .wpcf7 form.invalid .wpcf7-response-output,
.contact-main .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-main .wpcf7 form.payment-required .wpcf7-response-output {
  border: 1px solid #C40000;
  color: #C40000;
  border-radius: max(8px * var(--scale), 8px);
  white-space: pre-wrap;
}

/* プライバシーポリシー
*********************************/
[data-page-id=privacy] .privacy-list {
  display: flex;
  flex-direction: column;
  list-style-type: none;
  counter-reset: cnt;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-list {
    gap: calc(70px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-list {
    gap: calc(70px * var(--scale));
  }
}
[data-page-id=privacy] .privacy-item {
  display: flex;
  flex-direction: column;
  counter-increment: cnt;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item {
    gap: calc(28px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item {
    gap: calc(28px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-title {
    letter-spacing: 0.05em;
    font-size: max(16px * var(--scale), 10px);
  }
}
[data-page-id=privacy] .privacy-item .privacy-title::before {
  content: counter(cnt) ". ";
}
[data-page-id=privacy] .privacy-item .privacy-text {
  display: flex;
  flex-direction: column;
  line-height: 1.75;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-text {
    gap: calc(7px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-text {
    gap: calc(7px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-text {
    letter-spacing: 0.05em;
    font-size: max(14px * var(--scale), 10px);
  }
}
[data-page-id=privacy] .privacy-item .privacy-sublist li {
  display: flex;
}
[data-page-id=privacy] .privacy-item .privacy-sublist li::before {
  content: "";
  display: block;
  background-color: currentColor;
  border-radius: 50%;
  flex-shrink: 0;
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    margin: calc(10px * var(--scale)) calc(8px * var(--scale)) auto calc(8px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    margin: calc(10px * var(--scale)) calc(8px * var(--scale)) auto calc(8px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    width: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    width: calc(4px * var(--scale));
  }
}
@media all and (min-width: 1023.5px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    height: calc(4px * var(--scale));
  }
}
@media all and (max-width: 1023.4px) {
  [data-page-id=privacy] .privacy-item .privacy-sublist li::before {
    height: calc(4px * var(--scale));
  }
}