@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

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

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

* {
  padding: 0;
  margin: 0;
}

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

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;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[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;
  color: inherit;
}

[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;
  white-space: normal;
  max-width: 100%;
}

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

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

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

[aria-controls] {
  cursor: pointer;
}

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

/* Mixin
   ----------------------------------------------------------------- */
/* ==========================================================================
   Global
   ========================================================================== */
/* Base
   ----------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", meiryo, メイリオ, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #000;
  text-align: left;
  background: #dde7b0;
}
body img {
  max-width: 100%;
}
body.is-open {
  overflow: hidden;
}

/* Noto Sans使用時 IEはメイリオに変更 */
/* stylelint-disable-next-line selector-type-no-unknown, selector-pseudo-class-no-unknown */
_:input-placeholder,
:root body {
  font-family: Meiryo, "メイリオ", sans-serif;
}

img {
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
}

a {
  color: #000;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

ul,
li {
  list-style-type: none;
}

::-moz-selection {
  color: #000;
  text-shadow: none;
  background-color: #cee3d5;
  /* Required when declaring ::selection */
}

::selection {
  color: #000;
  text-shadow: none;
  background-color: #cee3d5;
  /* Required when declaring ::selection */
}

.legacy-ie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
  background: #eee;
}

.legacy-ie a {
  text-decoration: none;
}

.noscript {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 100px 0;
  text-align: center;
}

* {
  scroll-padding-top: 80px;
}

/* Layout
   ----------------------------------------------------------------- */
.l-main {
  padding-top: 80px;
}

.l-page {
  overflow: hidden;
}

.l-page__container {
  padding-top: clamp(36px, 152 / 1600 * 100vw, 152px);
  padding-bottom: clamp(64px, 200 / 1600 * 100vw, 200px);
  background: #fff;
}
.l-page__container--no-texture {
  padding-top: 0;
  background: #dde7b0;
}
.l-page__container--footprint {
  position: relative;
  overflow: hidden;
}
.l-page__container--footprint::before {
  position: absolute;
  top: calc(72 / 1920 * 100vw);
  left: -5.5208333333vw;
  display: none;
  width: calc(393 / 1920 * 100vw);
  height: calc(271 / 1920 * 100vw);
  content: "";
  background: url("./assets/img/common/bg_footprint_01.svg") no-repeat center center/contain;
}
.l-page__container--footprint::after {
  position: absolute;
  top: calc(495 / 1920 * 100vw);
  right: -5.5208333333vw;
  display: none;
  width: calc(420 / 1920 * 100vw);
  height: calc(172 / 1920 * 100vw);
  content: "";
  background: url("./assets/img/common/bg_footprint_02.svg") no-repeat center center/contain;
}

.l-page__breadcrumb {
  max-width: 1560px;
  padding: 8px 0 8px 4vw;
  margin: 0 auto;
}

.l-page__header {
  position: relative;
  width: 100%;
  height: auto;
  min-height: clamp(118px, 180 / 768 * 100vw, 180px);
  background-color: #dde7b0;
}
.l-page__header::before {
  position: absolute;
  right: 0;
  bottom: clamp(-63px, -3.9375vw, -11px);
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: clamp(12px, 64 / 1600 * 100vw, 64px);
  margin: auto;
  content: "";
  background: url("./assets/img/common/page_header_bg.svg") no-repeat top center/cover;
}
.l-page__header .l-page__title {
  padding: clamp(4px, 48 / 1600 * 100vw, 48px) 0 clamp(16px, 64 / 1600 * 100vw, 64px);
}

/* Header
   ----------------------------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background: #dde7b0;
  opacity: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.l-header.is-scroll {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.l-header.is-scroll.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header.is-open {
  position: fixed;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header.is-open .l-header__nav {
  display: block;
  visibility: visible;
  opacity: 1;
}
.l-header.is-open .l-header__nav ul {
  opacity: 1;
}
.l-header.is-open .l-header__program {
  visibility: hidden;
  opacity: 0;
}

.l-header__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 80px;
  padding: 0 4vw;
  margin: 0 auto;
}

.l-header__logo {
  width: clamp(120px, 50.6666666667vw, 190px);
  margin-right: 24px;
  line-height: 1;
}
.l-header__logo img {
  width: 100%;
}

.l-header__nav {
  position: fixed;
  top: 80px;
  right: 0;
  width: 100%;
  height: calc(100vh - 80px);
  padding: 84px 0;
  overflow: auto;
  visibility: hidden;
  background-color: #dde7b0;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.l-header__nav::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 50px;
  content: "";
  background: url("./assets/img/common/img_header-decoration_sp.svg") repeat-x center center;
}
.l-header__nav::after {
  z-index: -1;
  display: block;
  width: 100%;
  height: 50px;
  margin-top: 40px;
  margin-bottom: -40px;
  content: "";
  background: url("./assets/img/common/img_header-decoration_sp.svg") repeat-x center center;
}
.l-header__nav .logo {
  display: none;
  width: 190px;
  margin: 18px 16px 0;
}
.l-header__nav > ul {
  border-top: 1px solid #c9bfb6;
  opacity: 0;
}
.l-header__nav > ul .nav-item {
  position: relative;
  font-weight: bold;
  list-style: none;
  border-bottom: 1px solid #c9bfb6;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-header__nav > ul .nav-item > span,
.l-header__nav > ul .nav-item > a {
  display: block;
  padding: 16px;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.l-header__nav > ul .nav-item > span {
  position: relative;
  padding-right: 1em;
}
.l-header__nav > ul .nav-item > span::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 16px;
  width: 8px;
  height: 8px;
  content: "";
  border-right: 2px solid #e33f22;
  border-bottom: 2px solid #e33f22;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-header__nav > ul .nav-item.is-open {
  background-color: #fff;
}
.l-header__nav > ul .nav-item.is-open > span {
  color: #e33f22;
}
.l-header__nav > ul .nav-item.is-open > span::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.l-header__nav > ul .nav-item__row {
  display: none;
  padding: 0 1em;
}
.l-header__nav > ul .nav-item__col {
  padding-left: 1em;
  border-top: 1px solid #c9bfb6;
}
.l-header__nav > ul .nav-item__col .col-program {
  position: relative;
}
.l-header__nav > ul .nav-item__col .col-program::before {
  position: absolute;
  bottom: 0;
  left: -1em;
  display: block;
  width: calc(100% + 1em);
  height: 1px;
  content: "";
  background-color: #c9bfb6;
}
.l-header__nav > ul .nav-item__col .col-program::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 11px;
  height: 11px;
  content: "";
  background: url("./assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__nav > ul .nav-item__col .col-program a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 0;
  font-size: 14px;
  font-weight: normal;
  color: #000;
}
.l-header__nav > ul .nav-item__col > span {
  display: block;
  padding: 18px 0 0;
  color: #76571b;
}
.l-header__nav > ul .nav-item__col > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0;
}
.l-header__nav > ul .nav-item__col > ul li {
  position: relative;
  padding-right: 1em;
}
.l-header__nav > ul .nav-item__col > ul li::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 11px;
  height: 11px;
  content: "";
  background: url("./assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__nav > ul .nav-item__col > ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 0;
  font-size: 14px;
  font-weight: normal;
  color: #000;
}
.l-header__nav > ul .nav-item__col > ul li img {
  width: 24px;
  height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-header__nav > ul .nav-item__col + .nav-item__col {
  border-top: none;
}
.l-header__nav > ul .nav-item__col + .nav-item__col::before {
  position: absolute;
  right: 1em;
  left: 2em;
  width: calc(100% - 3em);
  height: 1px;
  content: "";
  border-top: 1px dashed #c9bfb6;
}

.l-header__action {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 425px;
  padding: 0 16px;
  margin: 40px auto 0;
}
.l-header__action .cta-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 64px;
  color: #fff;
  background-color: #ff6b2b;
  border: 2px solid #ff6b2b;
  border-radius: 9px;
}
.l-header__action .cta-button__icon {
  position: absolute;
  top: calc(50% - 20px);
  left: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background: url("./assets/img/common/icon_character_01.svg") no-repeat center center;
  background-color: #fff;
  background-size: 24px 24px;
  border: 2px solid #ff6b2b;
  border-radius: 20px;
}
.l-header__action .cta-button__text {
  font-size: 14px;
  font-weight: bold;
  text-indent: 1em;
}
.l-header__action .tel-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 64px;
  margin-top: 16px;
  background-color: #fff;
  border: 2px solid #ff6b2b;
  border-radius: 5px;
}
.l-header__action .tel-button__icon {
  position: absolute;
  top: calc(50% - 20px);
  left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #ff6b2b;
  border-radius: 20px;
}
.l-header__action .tel-button__icon > svg {
  width: 24px;
  height: 24px;
}
.l-header__action .tel-button__text {
  color: #ff6b2b;
  text-align: center;
  text-indent: 1em;
  letter-spacing: 0;
}
.l-header__action .tel-button__text .number {
  font-size: 16px;
  font-weight: bold;
}
.l-header__action .tel-button__text .sub {
  font-size: 12px;
}

.l-header__tel {
  display: none;
}
.l-header__tel .tel-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 64px;
  margin-top: 16px;
  background-color: #fff;
  border: 2px solid #ff6b2b;
  border-radius: 5px;
}
.l-header__tel .tel-button__icon {
  position: absolute;
  top: calc(50% - 20px);
  left: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #ff6b2b;
  border-radius: 20px;
}
.l-header__tel .tel-button__icon > svg {
  width: 24px;
  height: 24px;
}
.l-header__tel .tel-button__text {
  color: #ff6b2b;
  text-align: center;
  letter-spacing: 0;
}
.l-header__tel .tel-button__text .number {
  font-size: 16px;
  font-weight: bold;
}
.l-header__tel .tel-button__text .sub {
  font-size: 12px;
}

.l-header__program {
  margin-left: auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-header__program .program-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  background-color: #fff;
  border: 2px solid #ff6b2b;
  border-radius: 8px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-header__program .program-button img {
  width: 27.6px;
  height: 24.4px;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-header__program .program-button__text {
  font-size: 10px;
  font-weight: bold;
  color: #ff6b2b;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-header__program .program-button__text span {
  display: none;
}

.l-header__menu {
  margin-left: 8px;
}
.l-header__menu .menu-button {
  position: relative;
  z-index: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #ff6b2b;
  border: 2px solid #ff6b2b;
  border-radius: 30px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-header__menu .menu-button.is-open {
  background-color: #fff;
}
.l-header__menu .menu-button.is-open .menu-button__icon > span {
  background-color: #ff6b2b;
}
.l-header__menu .menu-button.is-open .menu-button__icon > span:nth-child(1) {
  -webkit-transform: translateY(4px) rotate(-25deg);
          transform: translateY(4px) rotate(-25deg);
}
.l-header__menu .menu-button.is-open .menu-button__icon > span:nth-child(2) {
  -webkit-transform: translateY(-4px) rotate(25deg);
          transform: translateY(-4px) rotate(25deg);
}
.l-header__menu .menu-button.is-open .menu-button__text {
  color: #ff6b2b;
}
.l-header__menu .menu-button.is-open .menu-button__text::before {
  content: "CLOSE";
}
.l-header__menu .menu-button__icon {
  position: relative;
  width: 32px;
  height: 10px;
  margin-top: 18px;
  margin-right: auto;
  margin-left: auto;
}
.l-header__menu .menu-button__icon > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.l-header__menu .menu-button__icon > span:nth-child(1) {
  top: 0;
}
.l-header__menu .menu-button__icon > span:nth-child(2) {
  bottom: 0;
}
.l-header__menu .menu-button__text {
  position: relative;
  font-size: 12px;
  color: #fff;
}
.l-header__menu .menu-button__text::before {
  position: absolute;
  top: 0;
  left: 50%;
  font-size: 12px;
  font-weight: bold;
  content: "MENU";
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.l-header__drawer-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

/* Footer
   ----------------------------------------------------------------- */
.l-footer {
  position: relative;
  padding: 46px 0 0;
  overflow: hidden;
  background: url("./assets/img/footer/bg.svg") no-repeat bottom 80px center;
  background-color: #e5ecc7;
  background-size: 200% auto;
}

.l-footer__sns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 343px;
  height: 194px;
  aspect-ratio: 343/194;
  margin: 0 auto;
  background: url("./assets/img/footer/bg_sns_sp.svg") no-repeat center center/contain;
}
.l-footer__sns .cloud {
  position: absolute;
  background: url("./assets/img/footer/icon_cloud.svg") no-repeat center center/contain;
}
.l-footer__sns .cloud--01 {
  top: 0;
  left: -46px;
  width: 77px;
  height: 45px;
}
.l-footer__sns .cloud--02 {
  top: -18px;
  left: 20px;
  width: 65px;
  height: 24px;
}
.l-footer__sns .cloud--03 {
  top: 173px;
  left: 293px;
  width: 89px;
  height: 35px;
}
.l-footer__sns .sns-title {
  width: 108px;
  height: auto;
  text-align: center;
}
.l-footer__sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 18px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 150px;
  margin-top: 8px;
}
.l-footer__sns li a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.l-footer__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  margin-top: 32px;
}
.l-footer__head .actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-footer__head .actions .c-button {
  max-width: 296px;
}
.l-footer__head .logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 210px;
}

.l-footer__row {
  margin-top: 12px;
  color: #76571b;
}
.l-footer__info h2 {
  font-size: clamp(14px, 3.7333333333vw, 16px);
}
.l-footer__info .address {
  margin-top: 4px;
  font-size: 14px;
}
.l-footer__info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-top: 8px;
}
.l-footer__info ul li {
  position: relative;
  padding-left: 0.8em;
  font-size: 14px;
}
.l-footer__info ul li::before {
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #76571b;
  border-radius: 100vh;
}
.l-footer__info ul li a {
  color: #76571b;
}
.l-footer__info .c-map-link {
  margin-top: 8px;
}

.l-footer__nav {
  display: grid;
  grid-template-areas: "about program" "programlist program" "admission program" "company other";
  grid-template-columns: 40% auto;
  gap: 24px;
  margin-top: 40px;
}
.l-footer__nav .nav-block h3 {
  font-size: 14px;
  font-weight: bold;
}
.l-footer__nav .nav-block a {
  color: #76571b;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.l-footer__nav .nav-block ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
.l-footer__nav .nav-block ul li {
  position: relative;
  padding-left: 14px;
  font-size: 14px;
  letter-spacing: 0;
}
.l-footer__nav .nav-block ul li span {
  display: inline-block;
}
.l-footer__nav .nav-block ul li::before {
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 8px;
  height: 2px;
  content: "";
  background-color: #76571b;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-footer__nav .nav-block ul li img {
  vertical-align: middle;
}
.l-footer__nav .nav-block--about {
  grid-area: about;
}
.l-footer__nav .nav-block--programlist {
  grid-area: programlist;
}
.l-footer__nav .nav-block--program {
  grid-area: program;
}
.l-footer__nav .nav-block--admission {
  grid-area: admission;
}
.l-footer__nav .nav-block--company {
  grid-area: company;
}
.l-footer__nav .nav-block--other {
  grid-area: other;
}
.l-footer__nav .nav-block--other h3 + h3 {
  margin-top: 16px;
}

.l-footer__links {
  width: 92vw;
  max-width: 1200px;
  padding: 16px;
  margin: 0 auto;
  margin-top: 75px;
  background-color: #c3d286;
  border-radius: 10px;
}
.l-footer__links ul {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 50% 50%;
  row-gap: 12px;
  width: 90%;
  max-width: 240px;
  margin: 0 auto;
}
.l-footer__links ul img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.l-footer__links ul .square {
  width: 240px;
  height: 50px;
  margin: 0 auto;
}
.l-footer__links ul .square:nth-of-type(1) {
  grid-row: 1;
  grid-column: 1/span 2;
}
.l-footer__links ul .square:nth-of-type(2) {
  grid-row: 2;
  grid-column: 1/span 2;
}
.l-footer__links ul .square:nth-of-type(3) {
  grid-row: 3;
  grid-column: 1/span 2;
}
.l-footer__links ul .square:nth-of-type(4) {
  grid-row: 4;
  grid-column: 1/span 2;
}
.l-footer__links ul .round {
  width: 64px;
  height: 64px;
  margin: 0 auto;
}
.l-footer__links ul .round:nth-of-type(5) {
  grid-row: 5;
  grid-column: 1;
}
.l-footer__links ul .round:nth-of-type(6) {
  grid-row: 5;
  grid-column: 2;
}
.l-footer__links a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.l-footer__bottom {
  padding: 24px 0;
  font-size: 11px;
  color: #76571b;
  background-color: #d6e1a8;
}
.l-footer__bottom .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
.l-footer__bottom a {
  color: #76571b;
}

.p-country-name {
  display: none;
}

.p-form {
  max-width: 840px;
  margin: 40px auto 0;
  /**
  * error message
  */
}
.p-form .error {
  display: block;
  margin-top: 0.5em;
  font-size: 85%;
  color: #b70000;
}

.p-form__group {
  padding: 12px 0;
}

.p-form__group + .p-form__group {
  border-top: 2px solid #e1e8ed;
}

.p-form__row {
  padding: 12px 0;
}
.p-form__row > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-form__row > dt > label {
  padding-right: 0.2em;
  font-size: 14px;
  font-weight: bold;
}
.p-form__row > dt > label > small {
  display: block;
  font-size: 12px;
  font-weight: normal;
  color: #8a8a8a;
}
.p-form__row > dt > .tag {
  color: #ff6b2b;
}
.p-form__row > dd {
  margin-top: 6px;
}

.p-form-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -8px;
}
.p-form-controls .p-form-control {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 0 8px;
}
.p-form-controls .p-form-control + .p-form-control {
  margin-top: 0;
}

.p-form-control {
  position: relative;
}
.p-form-control + .p-form-control {
  margin-top: 10px;
}
.p-form-control input[type=text],
.p-form-control input[type=number],
.p-form-control input[type=email],
.p-form-control input[type=tel] {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  vertical-align: middle;
  background-color: #dde7b0;
  border: 2px solid transparent;
  border-radius: 10px;
  -webkit-transition: border 0.2s ease-out;
  transition: border 0.2s ease-out;
}
.p-form-control input[type=text]::-webkit-input-placeholder, .p-form-control input[type=number]::-webkit-input-placeholder, .p-form-control input[type=email]::-webkit-input-placeholder, .p-form-control input[type=tel]::-webkit-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control input[type=text]::-moz-placeholder, .p-form-control input[type=number]::-moz-placeholder, .p-form-control input[type=email]::-moz-placeholder, .p-form-control input[type=tel]::-moz-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control input[type=text]:-ms-input-placeholder, .p-form-control input[type=number]:-ms-input-placeholder, .p-form-control input[type=email]:-ms-input-placeholder, .p-form-control input[type=tel]:-ms-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control input[type=text]::-ms-input-placeholder, .p-form-control input[type=number]::-ms-input-placeholder, .p-form-control input[type=email]::-ms-input-placeholder, .p-form-control input[type=tel]::-ms-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control input[type=text]::placeholder,
.p-form-control input[type=number]::placeholder,
.p-form-control input[type=email]::placeholder,
.p-form-control input[type=tel]::placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control input[type=text]:focus,
.p-form-control input[type=number]:focus,
.p-form-control input[type=email]:focus,
.p-form-control input[type=tel]:focus {
  border-color: #e33f22;
  outline: 0;
}
.p-form-control textarea {
  width: 100%;
  height: 192px;
  padding: 12px;
  font-size: 16px;
  vertical-align: middle;
  background-color: #dde7b0;
  border: 2px solid transparent;
  border-radius: 10px;
  -webkit-transition: border 0.2s ease-out;
  transition: border 0.2s ease-out;
}
.p-form-control textarea::-webkit-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control textarea::-moz-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control textarea:-ms-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control textarea::-ms-input-placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control textarea::placeholder {
  color: rgba(138, 138, 138, 0.4);
}
.p-form-control textarea:focus {
  border-color: #e33f22;
  outline: 0;
}
.p-form-control > p {
  margin-top: 4px;
  color: #8a8a8a;
}
.p-form-control--zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-form-control--zip .c-input {
  position: relative;
  min-width: 120px;
}
.p-form-control--zip .c-input + .c-input {
  margin-left: 20px;
}
.p-form-control--zip .c-input + .c-input::before {
  position: absolute;
  top: calc(50% + 12px);
  left: -13px;
  line-height: 0;
  content: "-";
}

.p-form__consent {
  margin-top: 24px;
  text-align: center;
}
.p-form__consent .check-consent {
  margin-top: 16px;
  font-weight: bold;
}
.p-form__consent .check-consent a {
  text-decoration: underline;
}

.p-form__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px;
  text-align: center;
}
.p-form__actions .back-btn {
  display: block;
  margin: 24px auto;
}
.p-form__actions .back-btn:hover {
  text-decoration: underline;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

.mw_wp_form_confirm .p-form__row--labeled dt,
.mw_wp_form_confirm .p-form__row--top dt {
  padding-top: 0;
}
.mw_wp_form_confirm .p-form-control .c-input label {
  display: none;
}
.mw_wp_form_confirm .p-form-control--zip .c-input {
  min-width: 0;
}
.mw_wp_form_confirm .p-form-control--zip .c-input + .c-input::before {
  top: 50%;
}
.mw_wp_form_confirm .p-form-radios--horizontal {
  margin: 0;
}

.p-program-card {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-program-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.p-program-card__image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 376/224;
  overflow: hidden;
}
.p-program-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.p-program-card__category {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 12px 14px;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  line-height: 1;
  color: #e33f22;
  background-color: #fff;
  border-radius: 0 10px 0 0;
}

.p-program-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: clamp(16px, 24 / 1600 * 100vw, 24px);
}
.p-program-card__body .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: fle-start;
      -ms-flex-align: fle-start;
          align-items: fle-start;
  font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-program-card__body .title > img {
  width: clamp(20px, 32 / 1600 * 100vw, 32px);
  height: clamp(20px, 32 / 1600 * 100vw, 32px);
  -o-object-fit: contain;
     object-fit: contain;
}
.p-program-card__body .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 0;
  margin-top: 12px;
  margin-bottom: 24px;
}
.p-program-card__body .info dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(26% - 1em);
          flex: 0 0 calc(26% - 1em);
  padding-left: 1em;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  color: #8a8a8a;
}
.p-program-card__body .info dt::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 2px;
}
.p-program-card__body .info dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 74%;
          flex: 0 0 74%;
  font-size: clamp(14px, 16 / 1600 * 100vw, 16px);
}
.p-program-card__body .info dd.row2 {
  /* stylelint-disable-next-line value-no-vendor-prefix */
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-program-card__body .info dd.row1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-program-card__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
}
.p-program-card__bottom .status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(63px, 112 / 1600 * 100vw, 112px);
  height: clamp(28px, 40 / 1600 * 100vw, 40px);
  font-size: clamp(11px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  color: #fff;
  background-color: #8a8a8a;
  border-radius: 100vh;
}
.p-program-card__bottom .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(20px, 32 / 1600 * 100vw, 32px);
  height: clamp(20px, 32 / 1600 * 100vw, 32px);
  margin-left: auto;
  background-color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-program-child-card__inner {
  position: relative;
  display: block;
  width: 100%;
  padding: 16px;
  background-color: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 6.73912px 2.24637px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6.73912px 2.24637px rgba(0, 0, 0, 0.1);
}

.p-program-child-card__image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 311/185;
  overflow: hidden;
}
.p-program-child-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.p-program-child-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-program-child-card__body .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: fle-start;
      -ms-flex-align: fle-start;
          align-items: fle-start;
  margin-top: 16px;
  font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-program-child-card__body .title > img {
  width: clamp(20px, 32 / 1600 * 100vw, 32px);
  height: clamp(20px, 32 / 1600 * 100vw, 32px);
  -o-object-fit: contain;
     object-fit: contain;
}
.p-program-child-card__body .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.p-program-child-card__body .info dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(26% - 1em);
          flex: 0 0 calc(26% - 1em);
  padding-left: 1em;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  color: #8a8a8a;
}
.p-program-child-card__body .info dt::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 2px;
}
.p-program-child-card__body .info dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 74%;
          flex: 0 0 74%;
  font-size: clamp(14px, 16 / 1600 * 100vw, 16px);
}
.p-program-child-card__body .info dd.row2 {
  /* stylelint-disable-next-line value-no-vendor-prefix */
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-program-child-card__body .info dd.row1 {
  /* stylelint-disable-next-line value-no-vendor-prefix */
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.p-program-child-card__body .overview {
  /* stylelint-disable-next-line value-no-vendor-prefix */
  display: -webkit-box;
  margin-top: clamp(12px, 24 / 1600 * 100vw, 24px);
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.p-program-child-card__link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 32 / 1600 * 100vw, 32px);
  margin-top: 24px;
}
.p-program-child-card__link li {
  padding-top: 12px;
  line-height: 1.2;
  border-top: 1px solid #d9d9d9;
}

.p-program-child-card__day-mark {
  position: absolute;
  right: 8px;
  bottom: 6px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
}
.p-program-child-card__day-mark .status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(63px, 112 / 1600 * 100vw, 112px);
  height: clamp(28px, 30 / 1600 * 100vw, 30px);
  font-size: clamp(11px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  color: #fff;
  background-color: #8a8a8a;
  border: 1px solid #fff;
  border-radius: 100vh;
}
.p-program-child-card__day-mark .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(20px, 32 / 1600 * 100vw, 32px);
  height: clamp(20px, 32 / 1600 * 100vw, 32px);
  margin-left: auto;
  background-color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-program-child-card__year-mark {
  position: absolute;
  top: 0;
  left: 4px;
  z-index: 1;
  width: clamp(60px, 80 / 1600 * 100vw, 80px);
  margin-top: auto;
}

.p-about-visual .p-about-visual__inner {
  position: relative;
  max-width: 1200px;
  padding: 20px 0;
  margin: 0 auto;
  overflow: hidden;
}
.p-about-visual .illust {
  position: absolute;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-about-visual .illust--main {
  position: relative;
  z-index: 3;
  display: block;
  width: clamp(128.23px, 482.5 / 1200 * 100vw, 482.5px);
  height: clamp(170.53px, 642.5 / 1200 * 100vw, 642.5px);
  margin: 0 auto;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.p-about-visual .illust--greenman {
  top: clamp(48px, 180 / 1200 * 100vw, 180px);
  left: clamp(40px, 130 / 1200 * 100vw, 130px);
  width: clamp(46.23px, 206 / 1200 * 100vw, 206px);
  height: clamp(49.53px, 221.25 / 1200 * 100vw, 221.25px);
  -webkit-animation-duration: 12s;
          animation-duration: 12s;
}
.p-about-visual .illust--blueman {
  top: clamp(129px, 480 / 1200 * 100vw, 480px);
  left: clamp(0px, 12 / 1200 * 100vw, 12px);
  width: clamp(62px, 278 / 1200 * 100vw, 278px);
  height: clamp(45px, 204 / 1200 * 100vw, 204px);
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.p-about-visual .illust--redman {
  top: clamp(107px, 402 / 1200 * 100vw, 402px);
  left: clamp(268px, 989 / 1200 * 100vw, 989px);
  width: clamp(52px, 232 / 1200 * 100vw, 232px);
  height: clamp(69px, 311 / 1200 * 100vw, 311px);
  -webkit-animation-duration: 9s;
          animation-duration: 9s;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.p-about-visual .illust--baloon {
  top: clamp(34px, 125 / 1200 * 100vw, 125px);
  left: clamp(221px, 814 / 1200 * 100vw, 814px);
  width: clamp(70px, 262 / 1200 * 100vw, 262px);
  height: clamp(47px, 176 / 1200 * 100vw, 176px);
}
.p-about-visual .illust--blue-spark {
  top: clamp(51px, 190 / 1200 * 100vw, 190px);
  left: clamp(11px, 26 / 1200 * 100vw, 26px);
  width: clamp(22px, 84 / 1200 * 100vw, 84px);
  height: clamp(23px, 86 / 1200 * 100vw, 86px);
}
.p-about-visual .illust--flag {
  top: clamp(80px, 300 / 1200 * 100vw, 300px);
  left: clamp(287px, 1055 / 1200 * 100vw, 1055px);
  width: clamp(29px, 100 / 1200 * 100vw, 100px);
  height: clamp(25px, 92 / 1200 * 100vw, 92px);
}
.p-about-visual .illust--globe {
  top: clamp(18px, 67 / 1200 * 100vw, 67px);
  left: clamp(90px, 320 / 1200 * 100vw, 320px);
  width: clamp(22px, 84 / 1200 * 100vw, 84px);
  height: clamp(23px, 86 / 1200 * 100vw, 86px);
}
.p-about-visual .illust--leaf {
  top: clamp(134px, 500 / 1200 * 100vw, 500px);
  left: clamp(234px, 862 / 1200 * 100vw, 862px);
  width: clamp(21px, 79 / 1200 * 100vw, 79px);
  height: clamp(24px, 89 / 1200 * 100vw, 89px);
}
.p-about-visual .illust--rainbow {
  top: clamp(142px, 533 / 1200 * 100vw, 533px);
  left: clamp(75px, 264 / 1200 * 100vw, 264px);
  width: clamp(26px, 99 / 1200 * 100vw, 99px);
  height: clamp(23px, 82 / 1200 * 100vw, 82px);
}
.p-about-visual .illust--tent {
  top: clamp(90px, 338 / 1200 * 100vw, 338px);
  left: clamp(0px, 12 / 1200 * 100vw, 12px);
  width: clamp(30px, 112 / 1200 * 100vw, 112px);
  height: clamp(19px, 72 / 1200 * 100vw, 72px);
}
.p-about-visual .illust--yellow-spark {
  top: clamp(23px, 84 / 1200 * 100vw, 84px);
  left: clamp(202px, 743 / 1200 * 100vw, 743px);
  width: clamp(22px, 84 / 1200 * 100vw, 84px);
  height: clamp(23px, 86 / 1200 * 100vw, 86px);
}
.p-about-visual .illust--anim {
  -webkit-animation-name: fuwafuwa;
          animation-name: fuwafuwa;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
@-webkit-keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}

.p-recruit-banner {
  width: 100%;
}
.p-recruit-banner--top .p-recruit-banner__inner {
  padding: 24px 32px 40px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-recruit-banner--top .p-recruit-banner__title {
  font-size: clamp(20px, 48 / 1600 * 100vw, 48px);
}
.p-recruit-banner--top .p-recruit-banner__desc {
  font-size: clamp(16px, 24 / 1600 * 100vw, 24px);
}

.p-recruit-banner__inner {
  display: grid;
  grid-template-areas: "body" "image" "action";
  width: 100%;
  padding: 24px 16px 40px;
  background-color: #f6f3e8;
  border: 2px solid #e33f22;
  border-radius: 10px;
}

.p-recruit-banner__body {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  grid-area: body;
}

.p-recruit-banner__title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  color: #09732d;
  text-align: center;
}

.p-recruit-banner__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 16px auto 0;
  font-size: clamp(14px, 16 / 1600 * 100vw, 16px);
  line-height: 1.9;
  text-align: left;
}

.p-recruit-banner__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: action;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 28px;
}

.p-recruit-banner__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: image;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 24px;
}
.p-recruit-banner__img img {
  width: 100%;
  height: auto;
}

.p-contact-section {
  padding: 32px 8vw 48px;
  color: #fff;
  background: #09732d;
}

.p-contact-section__title {
  font-size: clamp(20px, 5.3333333333vw, 32px);
  text-align: center;
}

.p-contact-section__desc {
  margin-top: 16px;
  font-size: clamp(16px, 4.2666666667vw, 20px);
  font-weight: bold;
}
.p-contact-section__desc .notes {
  margin-top: 8px;
  font-size: 11px;
  font-weight: normal;
}

.p-contact-section__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}

.p-contact-section__col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  max-width: 484px;
}
.p-contact-section__col .contact-card {
  width: 100%;
  height: 100%;
}
.p-contact-section__col .contact-card .contact-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px 16px;
  background-color: #fff;
  border-radius: 10px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-contact-section__col .contact-card .contact-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 72px;
  height: 72px;
  background-color: #f6f3e8;
  border-radius: 100vh;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.p-contact-section__col .contact-card .contact-card__icon svg {
  width: 34px;
  height: 30px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-contact-section__col .contact-card .contact-card__title {
  margin-top: 12px;
  font-size: 20px;
}
.p-contact-section__col .contact-card .contact-card__action {
  margin-top: 16px;
  text-align: center;
}
.p-contact-section__col .contact-card .contact-card__action .tel-number {
  font-size: 16px;
  font-weight: bold;
}
.p-contact-section__col .contact-card .contact-card__action .open-time {
  font-size: 14px;
}
.p-contact-section__col .contact-card .contact-card__action .button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 176px;
  height: 56px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background-color: #ff6b2b;
  border: 2px solid #ff6b2b;
  border-radius: 5px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-article-card {
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-article-card .p-article-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.p-article-card .p-article-card__thumbnail {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  border: 5px solid transparent;
  border-radius: 20px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-article-card .p-article-card__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1.767/1;
}
.p-article-card .p-article-card__body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 8px 5px;
}
.p-article-card .p-article-card__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-article-card .p-article-card__info .date {
  font-size: 12px;
}
.p-article-card .p-article-card__info .category {
  font-size: 12px;
  font-weight: bold;
  color: #e33f22;
}
.p-article-card .p-article-card__title {
  font-size: 16px;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.p-password-form {
  max-width: 560px;
  margin: 40px auto;
  overflow: hidden;
  border: 3px solid #cee3d5;
  border-radius: 20px;
}

.p-password-form__title {
  padding: clamp(12px, 24 / 992 * 100vw, 24px);
  font-size: clamp(16px, 24 / 992 * 100vw, 24px);
  font-weight: bold;
  text-align: center;
  background-color: #cee3d5;
  border-bottom: 3px solid #cee3d5;
}

.p-password-form__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(24px, 40 / 992 * 100vw, 40px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(32px, 56 / 992 * 100vw, 56px);
}

.p-password-form__input {
  width: 100%;
  font-size: 18px;
  border: 2px solid #e33f22;
  border-radius: 5px;
}
.p-password-form__input input {
  display: block;
  width: 100%;
  padding: 16px;
}

.p-slider {
  position: relative;
  z-index: 0;
  display: none;
  width: 100%;
  padding: 40px 0 48px;
  padding-bottom: 24px;
  overflow: hidden;
}
.p-slider.swiper-initialized {
  display: block;
}
.p-slider .swiper-wrapper {
  gap: 5px;
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.p-slider .p-slider__slide {
  width: clamp(146px, 380 / 1600 * 100vw, 380px);
  height: auto;
}
.p-slider .p-slider__slide img {
  width: 100%;
  height: 100%;
  aspect-ratio: 380/500;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.p-slider .p-slider__slide:nth-child(even) {
  margin-top: clamp(32px, 80 / 1600 * 100vw, 80px);
}
.p-slider .p-slider__slide:nth-child(odd) {
  margin-bottom: clamp(32px, 80 / 1600 * 100vw, 80px);
}

.p-flow ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 72px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 0 auto;
}
.p-flow li:last-child .number::before {
  display: none;
}

.p-flow__item {
  position: relative;
}
.p-flow__item .number {
  position: relative;
  margin-bottom: 2em;
}
.p-flow__item .number::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 112px;
  height: 1px;
  content: "";
  border-bottom: 2px dashed #76571b;
}
.p-flow__item .number .number__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #dde7b0;
  border-radius: 100vh;
}
.p-flow__item .number .number__inner svg path {
  fill: #76571b;
}
.p-flow__item--active .number .number__inner {
  background-color: #76571b;
}
.p-flow__item--active .number .number__inner svg path {
  fill: #fff;
}
.p-flow__item .title {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: 8px;
  font-weight: bold;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-flow__desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0;
}

.p-fixed-banner {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  display: none;
}
.p-fixed-banner.is-show {
  display: block;
}

.p-fixed-banner__close {
  position: absolute;
  top: -6px;
  right: -6px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
  height: 20px;
  cursor: pointer;
  background-color: #000;
  border-radius: 10px;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.p-fixed-banner__content {
  border-radius: 5px;
  -webkit-box-shadow: 0 4px 25px 0 #0003;
          box-shadow: 0 4px 25px 0 #0003;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

/* Project
   ----------------------------------------------------------------- */
.p-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1080px;
  padding-right: 4vw;
  padding-left: 4vw;
  margin: 0 auto;
}

.p-container--lg {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 1280px;
  padding-right: 4vw;
  padding-left: 4vw;
  margin: 0 auto;
}

.p-container--sm {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* stylelint-disable-next-line scss/no-global-function-names */
  max-width: 880px;
  padding-right: 4vw;
  padding-left: 4vw;
  margin: 0 auto;
}

.p-section-title .p-section-title__en {
  font-size: 24px;
  font-weight: bold;
}
.p-section-title .p-section-title__ja {
  font-size: 12px;
  font-weight: normal;
  color: #8a8a8a;
}

.p-breadcrumb {
  margin: 0 -4px;
  overflow-x: auto;
  font-size: 13px;
  color: #76571b;
  white-space: nowrap;
}
.p-breadcrumb a {
  margin: 0 4px;
  color: #76571b;
}
.p-breadcrumb .breadcrumb_last {
  margin: 0 4px;
  color: #000;
}

.p-pagination {
  margin-top: clamp(40px, 80 / 1600 * 100vw, 80px);
}
.p-pagination .p-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-pagination .p-pagination__item .page-numbers {
  font-family: "Inter", sans-serif;
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-pagination .p-pagination__item .page-numbers.current {
  color: #e33f22;
  pointer-events: none;
}
.p-pagination .p-pagination__item .page-numbers.dots {
  pointer-events: none;
}
.p-pagination .p-pagination__item .page-numbers.prev, .p-pagination .p-pagination__item .page-numbers.next {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background-color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 50%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-pagination .p-pagination__item .page-numbers.prev::before, .p-pagination .p-pagination__item .page-numbers.next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  content: "";
  background: url("./assets/img/common/icon_arrow_white.svg") no-repeat center/contain;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-pagination .p-pagination__item .page-numbers.prev::before {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.p-editor-content h1 {
  margin: 24px 0 15px;
  font-size: 22px;
}
.p-editor-content h2 {
  padding: 12px clamp(16px, 32 / 1600 * 100vw, 32px);
  margin-top: clamp(40px, 80 / 1600 * 100vw, 80px);
  margin-bottom: clamp(24px, 40 / 1600 * 100vw, 40px);
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  line-height: 1.78;
  background-color: #e1d9c7;
  border-radius: 10px;
}
.p-editor-content h3 {
  margin: 1em 0;
  font-size: clamp(16px, 24 / 1600 * 100vw, 24px);
  line-height: 1.8;
}
.p-editor-content h4 {
  padding-bottom: 8px;
  margin: clamp(40px, 64 / 1600 * 100vw, 64px) 0 24px;
  font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
  border-bottom: 2px solid #c9bfb6;
}
.p-editor-content h5 {
  margin: clamp(40px, 56 / 1600 * 100vw, 56px) 0 clamp(16px, 24 / 1600 * 100vw, 24px);
  font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
}
.p-editor-content h6 {
  margin: 15px 0 10px;
  font-size: 14px;
  font-weight: normal;
}
.p-editor-content p {
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.8;
  letter-spacing: normal;
}
.p-editor-content p a {
  color: #e33f22;
}
.p-editor-content p + p {
  margin-top: 0.5em;
}
.p-editor-content img {
  height: auto;
  margin: clamp(32px, 40 / 1600 * 100vw, 40px) 0;
}
.p-editor-content .aligncenter {
  display: block;
  margin: 20px auto;
  text-align: center;
}
.p-editor-content ul {
  margin: 32px 0;
  list-style: none;
}
.p-editor-content ul > li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
.p-editor-content ul > li::before {
  position: absolute;
  top: 0.7em;
  left: 0.2em;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 4px;
}
.p-editor-content ul > li:nth-child(n+2) {
  margin-top: 0.25em;
}
.p-editor-content ol {
  margin: 32px 0;
  counter-reset: number 0;
}
.p-editor-content ol > li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
.p-editor-content ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #e33f22;
  content: counter(number) ".";
  counter-increment: number 1;
}
.p-editor-content ol > li:nth-child(n+2) {
  margin-top: 0.25em;
}
.p-editor-content blockquote {
  padding: clamp(16px, 32 / 1600 * 100vw, 32px);
  margin: clamp(32px, 40 / 1600 * 100vw, 40px) 0;
  background: #dde7b0;
  border-radius: 10px;
}
.p-editor-content blockquote p {
  margin: 0;
  letter-spacing: 0;
}
.p-editor-content hr {
  display: block;
  width: 100%;
  height: auto;
  margin: 1.2em auto;
  border: 0;
  border-top: 1px solid #ccc;
}
.p-editor-content table {
  margin: 15px 0;
}
.p-editor-content table th {
  background-color: #f8fff0;
}
.p-editor-content table th,
.p-editor-content table td {
  padding: 5px 10px;
  word-break: break-all;
  vertical-align: top;
  border: solid 1px #ddd;
}
.p-editor-content iframe {
  max-width: 100%;
}

.c-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(240px, 360 / 1600 * 100vw, 360px);
  max-width: 100%;
  height: clamp(56px, 72 / 1600 * 100vw, 72px);
  font-size: clamp(12px, 18 / 1600 * 100vw, 18px);
  font-weight: bold;
  color: #fff;
  background: #e33f22;
  border: 2px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(27px, 36 / 1600 * 100vw, 36px);
  width: clamp(12px, 16 / 1600 * 100vw, 16px);
  height: clamp(12px, 16 / 1600 * 100vw, 16px);
  margin: auto;
  content: "";
  border: 3px solid #fff;
  border-radius: 50%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.2, 1.05, 0.7, 0.95);
          transition-timing-function: cubic-bezier(0.2, 1.05, 0.7, 0.95);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.c-button--green {
  background: #09732d;
  border: 2px solid #09732d;
}
.c-button--outline {
  color: #e33f22;
  background-color: #fff;
}
.c-button--outline::before {
  background-color: #e33f22;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.c-button--outline svg path {
  fill: #e33f22;
}
.c-button--small .c-button__icon {
  width: clamp(18px, 24 / 1600 * 100vw, 24px);
  height: clamp(18px, 24 / 1600 * 100vw, 24px);
  margin-left: clamp(18px, 24 / 1600 * 100vw, 24px);
}
.c-button--fluid {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 clamp(68px, 80 / 1600 * 100vw, 80px);
}
.c-button--icon {
  gap: 8px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.c-button--icon::before {
  display: none !important;
}

.c-button__icon {
  width: clamp(24px, 32 / 1600 * 100vw, 32px);
  height: clamp(24px, 32 / 1600 * 100vw, 32px);
  margin-left: clamp(24px, 36 / 1600 * 100vw, 36px);
}
.c-button__icon svg,
.c-button__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-button__text {
  text-indent: 1em;
}

.c-button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-button-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-button-arrow .link-text {
  font-size: 12px;
}
.c-button-arrow .link-text span {
  display: inline-block;
}
.c-button-arrow .link-icon {
  display: grid;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  place-items: center;
  width: 20px;
  height: 20px;
  background-color: #09732d;
  border: 1px solid #09732d;
  border-radius: 50%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-button-arrow .link-icon svg {
  width: 10px;
}
.c-button-arrow .link-icon svg path {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

/* Component
   ----------------------------------------------------------------- */
.c-title {
  text-align: center;
}
.c-title--small .c-title__en {
  height: clamp(13px, 20 / 1600 * 100vw, 20px);
}
.c-title--small .c-title__ja {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
}

.c-title__en {
  width: auto;
  height: clamp(13px, 32 / 1600 * 100vw, 32px);
  line-height: 1;
  text-align: center;
}
.c-title__en img {
  width: auto;
  height: 100%;
}
.c-title__en + .c-title__ja {
  margin-top: 4px;
}

.c-title__ja {
  font-size: clamp(20px, 48 / 1600 * 100vw, 48px);
  font-weight: bold;
}

.c-map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  font-size: 10px;
  font-weight: bold;
  color: #09732d;
  border: 1px solid #09732d;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.c-input label {
  display: inline-block;
  padding-bottom: 8px;
  font-size: 12px;
  line-height: 1;
  color: #8a8a8a;
}
.c-input:has(.hasDatepicker) {
  position: relative;
}
.c-input:has(.hasDatepicker)::before {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 30px;
  height: 30px;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/icon_calendar.svg") no-repeat center center/contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-select {
  position: relative;
}
.c-select::before {
  position: absolute;
  top: calc(50% - 3px);
  right: 12px;
  z-index: 2;
  width: 6px;
  height: 6px;
  content: "";
  border-top: solid 1px #e33f22;
  border-right: solid 1px #e33f22;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.mw_wp_form_confirm .c-select::before {
  display: none;
}
.c-select select {
  position: relative;
  width: 100%;
  padding: 12px;
  vertical-align: middle;
  background: #dde7b0;
  border: 2px solid transparent;
  border-radius: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-select select::-ms-expand {
  display: none;
}
.c-select select:focus {
  border-color: #e33f22;
  outline: 0;
}

.c-radio,
.mwform-radio-field label {
  display: block;
  padding: 8px 0;
}
.c-radio input[type=radio],
.mwform-radio-field label input[type=radio] {
  position: absolute;
  opacity: 0;
}
.c-radio input[type=radio] + .text,
.c-radio input[type=radio] + .mwform-radio-field-text,
.mwform-radio-field label input[type=radio] + .text,
.mwform-radio-field label input[type=radio] + .mwform-radio-field-text {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
}
.c-radio input[type=radio] + .text::before,
.c-radio input[type=radio] + .mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio] + .text::before,
.mwform-radio-field label input[type=radio] + .mwform-radio-field-text::before {
  position: absolute;
  top: 0.2em;
  left: 0;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  content: "";
  background: #fff;
  border: 1px solid #c9bfb6;
  border-radius: 100%;
}
.c-radio input[type=radio]:focus + .text::before,
.c-radio input[type=radio]:focus + .mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio]:focus + .text::before,
.mwform-radio-field label input[type=radio]:focus + .mwform-radio-field-text::before {
  outline: none;
}
.c-radio input[type=radio]:disabled + .text::before,
.c-radio input[type=radio]:disabled + .mwform-radio-field-text::before,
.mwform-radio-field label input[type=radio]:disabled + .text::before,
.mwform-radio-field label input[type=radio]:disabled + .mwform-radio-field-text::before {
  background: #8a8a8a;
  border-color: #8a8a8a;
}
.c-radio input[type=radio]:checked + .text::after,
.c-radio input[type=radio]:checked + .mwform-radio-field-text::after,
.mwform-radio-field label input[type=radio]:checked + .text::after,
.mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text::after {
  position: absolute;
  top: calc(0.2em + 4px);
  left: 4px;
  width: 10px;
  height: 10px;
  content: "";
  background-color: #e33f22;
  border-radius: 50%;
}

/* Utility
   ----------------------------------------------------------------- */

.page-front .mainview {
  position: relative;
  overflow: hidden;
}
.page-front .mainview .illust {
  position: absolute;
  top: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-front .mainview .illust--woman {
  top: calc(20 / 375 * 100vw);
  left: calc(-75 / 375 * 100vw);
  width: calc(170 / 375 * 100vw);
  height: calc(198 / 375 * 100vw);
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-animation-name: fuwafuwa02;
          animation-name: fuwafuwa02;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
@-webkit-keyframes fuwafuwa02 {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(30deg);
            transform: translateY(0) rotate(30deg);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(30deg);
            transform: translateY(-10px) rotate(30deg);
  }
}
@keyframes fuwafuwa02 {
  0%, 100% {
    -webkit-transform: translateY(0) rotate(30deg);
            transform: translateY(0) rotate(30deg);
  }
  50% {
    -webkit-transform: translateY(-10px) rotate(30deg);
            transform: translateY(-10px) rotate(30deg);
  }
}
.page-front .mainview .illust--man {
  top: clamp(340px, 340 / 375 * 100vw, 340 * 1.3px);
  right: calc(-10 / 375 * 100vw);
  width: calc(127 / 375 * 100vw);
  height: calc(108 / 375 * 100vw);
  -webkit-transform: rotate(-12deg);
          transform: rotate(-12deg);
  -webkit-animation-name: fuwafuwa02;
          animation-name: fuwafuwa02;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
}
.page-front .mainview .illust--map {
  top: clamp(246px, 246 / 375 * 100vw, 246 * 1.3px);
  left: calc(7 / 375 * 100vw);
  width: calc(54.22 / 375 * 100vw);
  height: calc(45.6 / 375 * 100vw);
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.page-front .mainview .illust--glasses {
  top: clamp(214px, 214 / 375 * 100vw, 214 * 1.3px);
  left: calc(311 / 375 * 100vw);
  width: calc(50.1 / 375 * 100vw);
  height: calc(49 / 375 * 100vw);
  -webkit-animation-duration: 9s;
          animation-duration: 9s;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.page-front .mainview .illust--bonfire {
  top: clamp(147px, 147 / 375 * 100vw, 147 * 1.3px);
  left: calc(331 / 375 * 100vw);
  width: calc(37 / 375 * 100vw);
  height: calc(45 / 375 * 100vw);
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.page-front .mainview .illust--canoe {
  top: clamp(336px, 336 / 375 * 100vw, 336 * 1.3px);
  left: calc(12 / 375 * 100vw);
  width: calc(45 / 375 * 100vw);
  height: calc(60 / 375 * 100vw);
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.page-front .mainview .illust--flower01 {
  top: clamp(190px, 190 / 375 * 100vw, 190 * 1.3px);
  left: calc(40 / 375 * 100vw);
  width: calc(26 / 375 * 100vw);
  height: calc(24 / 375 * 100vw);
}
.page-front .mainview .illust--flower02 {
  top: clamp(275px, 275 / 375 * 100vw, 275 * 1.3px);
  left: calc(555 / 375 * 100vw);
  width: calc(26 / 375 * 100vw);
  height: calc(24 / 375 * 100vw);
}
.page-front .mainview .illust--flower03 {
  display: none;
}
.page-front .mainview .illust--footprint {
  display: none;
}
.page-front .mainview .illust--green-spin01 {
  top: clamp(350px, 350 / 375 * 100vw, 350 * 1.3px);
  left: calc(103 / 375 * 100vw);
  width: calc(20 / 375 * 100vw);
  height: calc(27 / 375 * 100vw);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.page-front .mainview .illust--green-spin02 {
  top: clamp(284px, 284 / 375 * 100vw, 284 * 1.3px);
  left: calc(333 / 375 * 100vw);
  width: calc(24 / 375 * 100vw);
  height: calc(18 / 375 * 100vw);
}
.page-front .mainview .illust--hand {
  display: none;
}
.page-front .mainview .illust--lamp {
  display: none;
}
.page-front .mainview .illust--leaf01 {
  top: clamp(313px, 313 / 375 * 100vw, 313 * 1.3px);
  left: calc(-43 / 375 * 100vw);
  width: calc(23 / 375 * 100vw);
  height: calc(23 / 375 * 100vw);
}
.page-front .mainview .illust--leaf02 {
  top: clamp(363px, 363 / 375 * 100vw, 363 * 1.3px);
  left: calc(205 / 375 * 100vw);
  width: calc(21 / 375 * 100vw);
  height: calc(21 / 375 * 100vw);
}
.page-front .mainview .illust--red-spin01 {
  top: clamp(90px, 90 / 375 * 100vw, 90 * 1.3px);
  left: calc(86 / 375 * 100vw);
  width: calc(21 / 375 * 100vw);
  height: calc(17 / 375 * 100vw);
}
.page-front .mainview .illust--red-spin02 {
  top: clamp(104px, 104 / 375 * 100vw, 104 * 1.3px);
  left: calc(324 / 375 * 100vw);
  width: calc(27 / 375 * 100vw);
  height: calc(20 / 375 * 100vw);
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.page-front .mainview .illust--red-spin03 {
  display: none;
}
.page-front .mainview .illust--tent {
  display: none;
}
.page-front .mainview .illust--watch {
  top: clamp(59px, 59 / 375 * 100vw, 59 * 1.3px);
  left: calc(350 / 375 * 100vw);
  width: calc(46 / 375 * 100vw);
  height: calc(46 / 375 * 100vw);
}
.page-front .mainview .illust--water-glasses {
  display: none;
}
.page-front .mainview .illust--white-spark01 {
  top: clamp(428px, 428 / 375 * 100vw, 428 * 1.3px);
  left: calc(2 / 375 * 100vw);
  width: calc(37 / 375 * 100vw);
  height: calc(33 / 375 * 100vw);
}
.page-front .mainview .illust--white-spark02 {
  display: none;
}
.page-front .mainview .illust--white-spark03 {
  display: none;
}
.page-front .mainview .illust--yellow-spark01 {
  top: clamp(21px, 21 / 375 * 100vw, 21 * 1.3px);
  left: calc(336 / 375 * 100vw);
  width: calc(28 / 375 * 100vw);
  height: calc(29 / 375 * 100vw);
}
.page-front .mainview .illust--yellow-spark02 {
  top: clamp(356px, 356 / 375 * 100vw, 356 * 1.3px);
  left: calc(149 / 375 * 100vw);
  width: calc(28 / 375 * 100vw);
  height: calc(29 / 375 * 100vw);
}
.page-front .mainview .illust--yellow-spark03 {
  display: none;
}
.page-front .mainview .illust--yellow-spark04 {
  display: none;
}
.page-front .mainview .illust--yellow-spark05 {
  display: none;
}
.page-front .mainview .illust--yellow-spark06 {
  display: none;
}
.page-front .mainview .illust--anim {
  -webkit-animation-name: fuwafuwa;
          animation-name: fuwafuwa;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
.page-front .mainview__container {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80vw;
  max-width: 600px;
  margin: 32px auto 0;
}
.page-front .mainview__container .sub-copy {
  font-size: clamp(12px, 3.2vw, 16px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
}
.page-front .mainview__container .sub-copy span {
  display: inline-block;
  padding: 6px 8px;
  margin: 4px 2px;
  line-height: 1;
  color: #fff;
  background-color: #e33f22;
  border-radius: 6px;
}
.page-front .mainview__container .copy {
  margin-top: 14px;
  line-height: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-animation: bounceIn 0.8s 0.2s forwards;
          animation: bounceIn 0.8s 0.2s forwards;
}
@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
            transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
            transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
            transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
            transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.page-front .mainview__container .copy img {
  width: calc(261 / 375 * 100vw);
  max-width: 400px;
  height: auto;
}
.page-front .mainview__container .action {
  margin-top: 70px;
}
.page-front .mainview__container .action .cta-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(256px, 68.2666666667vw, 300px);
  height: 64px;
  color: #fff;
  background-color: #ff6b2b;
  border: 2px solid #ff6b2b;
  border-radius: 9px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .mainview__container .action .cta-button__icon {
  position: absolute;
  top: 50%;
  left: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(40px, 66 / 1600 * 100vw, 66px);
  height: clamp(40px, 66 / 1600 * 100vw, 66px);
  background: url("./assets/img/common/icon_character_01.svg") no-repeat center center;
  background-color: #fff;
  background-size: clamp(24px, 40 / 1600 * 100vw, 40px) clamp(24px, 40 / 1600 * 100vw, 40px);
  border: 2px solid #ff6b2b;
  border-radius: 100vh;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-front .mainview__container .action .cta-button__text {
  font-size: 14px;
  font-weight: bold;
  text-indent: 2em;
}
.page-front .mainview__container .points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 17px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-front .mainview__container .points li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 103px;
  height: 100px;
  font-size: clamp(13px, 16 / 1600 * 100vw, 16px);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  background: url("./assets/img/front/mainview/point_bg_01.svg") no-repeat center center/contain;
}
.page-front .mainview__container .points li:nth-child(2) {
  background-image: url("./assets/img/front/mainview/point_bg_02.svg");
}
.page-front .mainview__container .points li:nth-child(3) {
  background-image: url("./assets/img/front/mainview/point_bg_03.svg");
}
.page-front .mainview__container .points li span {
  -webkit-transform: translateY(0.2em);
          transform: translateY(0.2em);
}
.page-front .mainview-slider {
  width: 100%;
  padding: 32px 0 40px;
}
.page-front .topics__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 24px;
  margin-top: 32px;
  background-color: #fff;
  border: 3px solid #ff6b2b;
  border-radius: 10px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .topics__thumbnail {
  grid-area: thumbnail;
  width: 100%;
  height: auto;
}
.page-front .topics__thumbnail img {
  width: 100%;
  height: 100%;
  aspect-ratio: 29/16;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-front .topics__heading {
  position: relative;
  grid-area: heading;
  padding-bottom: 16px;
  padding-left: 36px;
  border-bottom: 2px solid #ff6b2b;
}
.page-front .topics__heading > img {
  width: 90px;
  height: auto;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.page-front .topics__heading::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  content: "";
  background: url("./assets/img/front/icon_topics.svg") no-repeat center center/contain;
}
.page-front .topics__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  grid-area: title;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-front .topics__title > h2 {
  padding-right: 24px;
  font-size: 15px;
}
.page-front .topics__title > .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: auto;
  background-color: #ff6b2b;
  border: 2px solid #ff6b2b;
  border-radius: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .topics__title > .icon svg path {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .find-program {
  padding: 0 0 40px;
  background: url("./assets/img/front/find-program_bg_sp.svg") no-repeat top center;
  background-color: #fff;
  background-size: 100% auto;
}
.page-front .find-program__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  max-width: 900px;
  padding: 0 4vw;
  margin: 32px auto 0;
}
.page-front .find-program__list .category-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 2px solid #09732d;
  border-radius: 17px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .find-program__list .category-card--gaiakids {
  border-color: #09732d;
}
.page-front .find-program__list .category-card--gaiakids .category-card__arrow svg circle {
  stroke: #09732d;
}
.page-front .find-program__list .category-card--gaiakids .category-card__arrow svg path {
  fill: #09732d;
}
.page-front .find-program__list .category-card--fieldhunter {
  border-color: #4198ce;
}
.page-front .find-program__list .category-card--fieldhunter .category-card__arrow svg circle {
  stroke: #4198ce;
}
.page-front .find-program__list .category-card--fieldhunter .category-card__arrow svg path {
  fill: #4198ce;
}
.page-front .find-program__list .category-card--rangers {
  border-color: #44b032;
}
.page-front .find-program__list .category-card--rangers .category-card__arrow svg circle {
  stroke: #44b032;
}
.page-front .find-program__list .category-card--rangers .category-card__arrow svg path {
  fill: #44b032;
}
.page-front .find-program__list .category-card--ponopono {
  border-color: #eec32b;
}
.page-front .find-program__list .category-card--ponopono .category-card__arrow svg circle {
  stroke: #eec32b;
}
.page-front .find-program__list .category-card--ponopono .category-card__arrow svg path {
  fill: #eec32b;
}
.page-front .find-program__list .category-card--camp {
  border-color: #ff6b2b;
}
.page-front .find-program__list .category-card--camp .category-card__arrow svg circle {
  stroke: #ff6b2b;
}
.page-front .find-program__list .category-card--camp .category-card__arrow svg path {
  fill: #ff6b2b;
}
.page-front .find-program__list .category-card--morinoyochien {
  border-color: #93cd18;
}
.page-front .find-program__list .category-card--morinoyochien .category-card__arrow svg circle {
  stroke: #93cd18;
}
.page-front .find-program__list .category-card--morinoyochien .category-card__arrow svg path {
  fill: #93cd18;
}
.page-front .find-program__list .category-card__bg {
  display: none;
}
.page-front .find-program__list .category-card__inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 18px;
  background-color: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .find-program__list .category-card__icon {
  width: 40px;
  height: 40px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .find-program__list .category-card__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-front .find-program__list .category-card__body {
  z-index: 2;
  margin-left: 16px;
}
.page-front .find-program__list .category-card__title {
  font-size: 14px;
  font-weight: bold;
}
.page-front .find-program__list .category-card__title br {
  display: none;
}
.page-front .find-program__list .category-card__target {
  position: relative;
  margin-top: 2px;
  font-size: 12px;
}
.page-front .find-program__list .category-card__arrow {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
}
.page-front .programs {
  overflow: hidden;
  background-color: #fff;
}
.page-front .programs__head {
  padding: 0 8vw;
}
.page-front .programs__desc {
  margin-top: 20px;
  font-size: 14px;
}
.page-front .programs__container {
  position: relative;
  max-width: 1500px;
  padding: 0 4vw;
  margin: 0 auto;
}
.page-front .programs__container::before {
  position: absolute;
  bottom: 0;
  left: 4vw;
  z-index: 0;
  width: 100vw;
  height: calc(100% - 107px);
  content: "";
  background-color: #dde7b0;
  border-radius: 30px 0 0 30px;
}
.page-front .programs__inner {
  max-width: 1272px;
  padding: 0 4vw 36px;
  margin: 0 auto;
}
.page-front .program-slider {
  overflow: visible;
}
.page-front .program-slider > ul {
  margin-top: clamp(24px, 80 / 1600 * 100vw, 80px);
}
.page-front .program-slider > ul li {
  height: auto;
}
.page-front .program-slider__prev,
.page-front .program-slider__next {
  position: absolute;
  top: 50%;
  right: -16px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background-color: #dde7b0;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}
.page-front .program-slider__prev > svg,
.page-front .program-slider__next > svg {
  width: 10px;
  height: 9px;
}
.page-front .program-slider__prev {
  right: auto;
  left: -8px;
}
.page-front .program-slider__prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.page-front .program-slider__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-front .message {
  margin-top: 40px;
  text-align: center;
}
.page-front .past {
  position: relative;
  margin-top: 40px;
}
.page-front .past__title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  text-align: center;
}
.page-front .past-slider {
  overflow: visible;
}
.page-front .past-slider > ul {
  margin-top: clamp(24px, 40 / 1600 * 100vw, 40px);
}
.page-front .past-slider > ul li {
  width: 100%;
  height: auto;
}
.page-front .past-slider__prev,
.page-front .past-slider__next {
  position: absolute;
  top: 50%;
  right: -16px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background-color: #dde7b0;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}
.page-front .past-slider__prev > svg,
.page-front .past-slider__next > svg {
  width: 10px;
  height: 9px;
}
.page-front .past-slider__prev {
  right: auto;
  left: -8px;
}
.page-front .past-slider__prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.page-front .past__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-front .recommend {
  position: relative;
  margin-top: 40px;
  overflow: hidden;
}
.page-front .recommend::before {
  position: absolute;
  top: calc(72 / 1920 * 100vw);
  left: -5.5208333333vw;
  display: none;
  width: calc(393 / 1920 * 100vw);
  height: calc(271 / 1920 * 100vw);
  content: "";
  background: url("./assets/img/common/bg_footprint_01.svg") no-repeat center center/contain;
}
.page-front .recommend::after {
  position: absolute;
  top: calc(495 / 1920 * 100vw);
  right: -5.5208333333vw;
  display: none;
  width: calc(420 / 1920 * 100vw);
  height: calc(172 / 1920 * 100vw);
  content: "";
  background: url("./assets/img/common/bg_footprint_02.svg") no-repeat center center/contain;
}
.page-front .recommend__container {
  position: relative;
  max-width: 1500px;
  padding: 0 4vw;
  margin: 0 auto;
}
.page-front .recommend__title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  text-align: center;
}
.page-front .recommend__inner {
  max-width: 1272px;
  padding: 0 4vw 36px;
  margin: 0 auto;
}
.page-front .recommend-slider {
  margin-top: clamp(24px, 2.5vw, 40px);
  overflow: visible;
}
.page-front .recommend-slider > ul {
  margin-top: clamp(24px, 40 / 1600 * 100vw, 40px);
}
.page-front .recommend-slider > ul li {
  width: 100%;
  height: auto;
}
.page-front .recommend-slider__prev,
.page-front .recommend-slider__next {
  position: absolute;
  top: 50%;
  right: -16px;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background-color: #dde7b0;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}
.page-front .recommend-slider__prev > svg,
.page-front .recommend-slider__next > svg {
  width: 10px;
  height: 9px;
}
.page-front .recommend-slider__prev {
  right: auto;
  left: -8px;
}
.page-front .recommend-slider__prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.page-front .recommend__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-front .about {
  position: relative;
  padding: clamp(53px, 113 / 1600 * 100vw, 113px) 0 0;
  background-color: #fff;
}
.page-front .about::after {
  position: absolute;
  top: 1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center/contain;
}
.page-front .about__visual {
  position: relative;
  margin-top: 22px;
  background-color: #dde7b0;
}
.page-front .about__visual::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat top center/contain;
}
.page-front .about__body {
  padding: 36px 8vw 56px;
  text-align: center;
  background-color: #dde7b0;
}
.page-front .about__body h3 {
  font-size: clamp(21px, 56 / 1600 * 100vw, 56px);
  font-weight: bold;
  letter-spacing: 0.03em;
}
.page-front .about__body h3 span {
  color: #e33f22;
}
.page-front .about__body .desc {
  margin-top: clamp(16px, 56 / 1600 * 100vw, 56px);
  line-height: 1.8;
  text-align: left;
}
.page-front .about__body .inner {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-front .about__body .inner::before {
  display: none;
  content: "";
}
.page-front .about__body .inner::after {
  display: none;
  content: "";
}
.page-front .about__body > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: clamp(32px, 72 / 1600 * 100vw, 72px);
}
.page-front .about__body > ul .point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page-front .about__body > ul .point:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.page-front .about__body > ul .point__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 40%;
  height: auto;
}
.page-front .about__body > ul .point__text {
  width: 60%;
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  font-weight: bold;
  text-align: left;
}
.page-front .about__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}
.page-front .news {
  padding: clamp(56px, 90 / 1600 * 100vw, 90px) 0 clamp(64px, 160 / 1600 * 100vw, 160px);
  background-color: #fff;
}
.page-front .news__container {
  margin-top: 26px;
}
.page-front .news__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -16px;
}
.page-front .news__categories > li {
  position: relative;
  line-height: 1;
}
.page-front .news__categories > li + li {
  border-left: 1px solid #c9bfb6;
}
.page-front .news__categories > li:first-child a {
  color: #e33f22;
}
.page-front .news__categories > li a {
  padding: 0 16px;
  font-size: 14px;
  font-weight: bold;
}
.page-front .news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 16px;
  border-bottom: 1px dashed #c9bfb6;
}
.page-front .news__list li {
  border-top: 1px dashed #c9bfb6;
}
.page-front .news__list .news-item {
  width: 100%;
}
.page-front .news__list .news-item__inner {
  display: block;
  padding: 14px 0;
}
.page-front .news__list .news-item__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.8;
}
.page-front .news__list .news-item__info .date {
  font-family: "Inter", sans-serif;
}
.page-front .news__list .news-item__info .category {
  color: #e33f22;
}
.page-front .news__list .news-item__title {
  position: relative;
  display: block;
  width: 100%;
  padding-right: 32px;
  margin-top: 4px;
  font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .news__list .news-item__title::after {
  position: absolute;
  top: 0.2em;
  right: 0;
  width: 16px;
  height: 16px;
  content: "";
  background: url("./assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-front .news__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-front .news__recruit {
  margin-top: clamp(64px, 160 / 1600 * 100vw, 160px);
}
.page-front .access {
  position: relative;
  padding-bottom: clamp(100px, 160 / 1600 * 100vw, 160px);
  overflow: hidden;
  background-color: #fff;
}
.page-front .access::before {
  position: absolute;
  top: 0;
  left: -4.5vw;
  width: clamp(176px, 442 / 1600 * 100vw, 442px);
  height: clamp(111px, 278 / 1600 * 100vw, 278px);
  content: "";
  background: url("./assets/img/front/access_bg_01.svg") no-repeat center center/contain;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}
.page-front .access::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: clamp(123px, 307 / 1600 * 100vw, 307px);
  height: clamp(147px, 369 / 1600 * 100vw, 369px);
  content: "";
  background: url("./assets/img/front/access_bg_02.svg") no-repeat center center/contain;
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
}
.page-front .access__container {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 32px;
}
.page-front .access__map {
  width: 100%;
}
.page-front .access__map .map-wrap {
  overflow: hidden;
}
.page-front .access__map .map-wrap iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
  border-radius: 10px;
}
.page-front .access__body {
  margin-top: 24px;
}
.page-front .access__body h3 {
  font-size: 14px;
}
.page-front .access__body ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-top: 8px;
}
.page-front .access__body ul li {
  position: relative;
  padding-left: 0.8em;
}
.page-front .access__body ul li::before {
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 100vh;
}
.page-front .access__body .map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  margin-top: 8px;
  font-size: 10px;
  font-weight: bold;
  color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.page-about .mainview {
  margin-top: 4px;
}
.page-about .mission {
  position: relative;
  padding-top: 36px;
  padding-bottom: clamp(102px, 188 / 1600 * 100vw, 188px);
  overflow: hidden;
}
.page-about .mission::after {
  position: absolute;
  top: 1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center/contain;
}
.page-about .mission__body {
  position: relative;
  z-index: 2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-about .mission__body::before {
  display: none;
  content: "";
}
.page-about .mission__body::after {
  display: none;
  content: "";
}
.page-about .mission__body .copy {
  margin-top: 36px;
  font-size: clamp(30px, 56 / 1600 * 100vw, 56px);
  font-weight: bold;
  color: #e33f22;
  text-align: center;
  letter-spacing: 0.1em;
}
.page-about .mission__body .copy span {
  position: relative;
}
.page-about .mission__body .copy span::before {
  position: absolute;
  top: -1em;
  left: 50%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: clamp(12px, 20 / 1600 * 100vw, 20px);
  color: #000;
  letter-spacing: 0.1em;
  content: "ガイア";
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page-about .mission__body .desc {
  max-width: 522px;
  padding: 0 4vw;
  margin: 16px auto 0;
  font-size: 14px;
  line-height: 1.8;
}
.page-about .mission__body .desc p + p {
  margin-top: 1.2em;
}
.page-about .mission__body .desc span {
  font-weight: bold;
  color: #e33f22;
}
.page-about .vision {
  padding: 32px 0 64px;
  background-color: #fff;
}
.page-about .vision__head {
  position: relative;
  padding: 28px 16px;
  margin-top: clamp(64px, 78 / 768 * 100vw, 78px);
  background-color: #dde7b0;
  border-radius: 20px;
}
.page-about .vision__head .gaiakun {
  position: absolute;
  bottom: calc(100% - 4px);
  left: 50%;
  width: clamp(73px, 222.5 / 1600 * 100vw, 222.5px);
  height: auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page-about .vision__head ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-about .vision-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-about .vision-heading__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #e33f22;
  border-radius: 100vh;
}
.page-about .vision-heading__text {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  font-weight: bold;
}
.page-about .vision-heading__text span {
  color: #e33f22;
}
.page-about .vision__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 56px;
  margin-top: 56px;
}
.page-about .vision__container .vision-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.page-about .vision__container .vision-block__image img {
  width: 100%;
  height: auto;
}
.page-about .vision__container .vision-block__body .desc {
  margin-top: 16px;
  line-height: 1.8;
}
.page-about .vision__mind {
  width: 92vw;
  max-width: 1500px;
  padding: 40px 4vw;
  margin: 56px auto 0;
  background-color: #dde7b0;
  border-radius: 30px;
}
.page-about .vision__mind .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin-top: 40px;
}
.page-about .vision__mind .contents__body h3 {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
  letter-spacing: 0;
}
.page-about .vision__mind .contents__body .desc {
  margin-top: 40px;
  line-height: 1.8;
}
.page-about .vision__mind .contents__body .desc p + p {
  margin-top: 1.5em;
}
.page-about .vision__mind .contents__body .name {
  margin-top: 16px;
  font-weight: bold;
}
.page-about .vision__mind .contents__image img {
  width: 100%;
  height: auto;
}
.page-about .vision__mind .action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
.page-about .promise {
  position: relative;
  padding: clamp(80px, 200 / 1600 * 100vw, 200px) 0;
}
.page-about .promise::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-about .promise::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-about .promise__desc {
  margin-top: 16px;
}
.page-about .promise__visual {
  margin-top: 4px;
}
.page-about .promise__visual .inner {
  position: relative;
  max-width: 1200px;
  padding: 20px 0;
  margin: 0 auto;
  overflow: hidden;
}
.page-about .promise__visual .illust {
  position: absolute;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-about .promise__visual .illust--main {
  position: relative;
  z-index: 2;
  display: block;
  width: clamp(294px, 840 / 1200 * 100vw, 840px);
  height: clamp(180px, 514 / 1200 * 100vw, 514px);
  margin: 0 auto;
  -webkit-animation: fuwafuwa 6s infinite;
          animation: fuwafuwa 6s infinite;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
.page-about .promise__visual .illust--sub01 {
  top: 20px;
  left: 0;
  width: clamp(72px, 332 / 1200 * 100vw, 332px);
  height: clamp(184px, 515 / 1200 * 100vw, 515px);
}
.page-about .promise__visual .illust--sub02 {
  top: clamp(20px, 26 / 1200 * 100vw, 26px);
  right: 0;
  width: clamp(82px, 306 / 1200 * 100vw, 306px);
  height: clamp(178px, 481 / 1200 * 100vw, 481px);
}
.page-about .promise__list {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 8vw;
  margin-top: 32px;
}
.page-about .promise__list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.page-about .promise__list > li img {
  width: 100%;
  height: auto;
}
.page-about .promise__list > li .text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 50%;
  font-size: 16px;
  font-weight: bold;
}
.page-about .slider {
  padding: 40px 0 48px;
  background-color: #fff;
}

.page-album__content {
  position: relative;
  z-index: 2;
}
.page-album__content > h3 {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.page-album__content .desc {
  margin-top: 16px;
  line-height: 1.8;
}

.page-album__list .album-list ul {
  margin-top: 32px;
  border-top: 1px dashed #c9bfb6;
}
.page-album__list .album-list li {
  position: relative;
  padding-right: 32px;
  border-bottom: 1px dashed #c9bfb6;
}
.page-album__list .album-list li::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  content: "";
  background: url("./assets/img/common/icon_arrow.svg") no-repeat center center/contain;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-album__list .album-list li a {
  display: block;
  padding: 16px 0;
  font-weight: bold;
}
.page-album__list .album-list__heading {
  margin-top: 40px;
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  font-weight: bold;
  color: #e33f22;
  text-align: center;
}

.page-program .page-program__nav {
  position: relative;
  padding-bottom: 80px;
}
.page-program .page-program__nav::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center/contain;
}
.page-program .page-program__list {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 12px;
  width: 100%;
  max-width: calc(1000px + 8vw);
  padding: 0 4vw;
  margin: 0 auto;
}
.page-program .page-program__list > li {
  width: calc(50% - 6px);
}
.page-program .program-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 12px 16px;
  background-color: #fff;
  border-style: solid;
  border-width: 2px;
  border-radius: 10px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-program .program-link--gaiakids {
  border-color: #09732d;
}
.page-program .program-link--fieldhunter {
  border-color: #4198ce;
}
.page-program .program-link--rangers {
  border-color: #44b032;
}
.page-program .program-link--ponopono {
  border-color: #eec32b;
}
.page-program .program-link--camp {
  border-color: #ff6b2b;
}
.page-program .program-link--morinoyochien {
  border-color: #93cd18;
}
.page-program .program-link__icon {
  display: none;
}
.page-program .program-link__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-program .program-link__title {
  font-size: clamp(12px, 16 / 768 * 100vw, 16px);
  font-weight: bold;
  line-height: 1.3;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.page-program .program-link__arrow {
  width: 11px;
  height: 11px;
  margin-left: auto;
  line-height: 0;
  text-align: center;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.page-program .program-link__arrow img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-program .programs__list > li {
  padding: 80px 4vw;
  background-color: #fff;
}
.page-program .programs__list > li:nth-child(even) {
  background-color: #dde7b0;
}
.page-program .programs__list .program-block {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.page-program .programs__list .program-block--gaiakids .program-block__img img {
  border-color: #09732d;
}
.page-program .programs__list .program-block--fieldhunter .program-block__img img {
  border-color: #4198ce;
}
.page-program .programs__list .program-block--rangers .program-block__img img {
  border-color: #44b032;
}
.page-program .programs__list .program-block--ponopono .program-block__img img {
  border-color: #eec32b;
}
.page-program .programs__list .program-block--camp .program-block__img img {
  border-color: #ff6b2b;
}
.page-program .programs__list .program-block--morinoyochien .program-block__img img {
  border-color: #93cd18;
}
.page-program .programs__list .program-block--share .program-block__img img {
  border-color: #ababab;
}
.page-program .programs__list .program-block--outdoor .program-block__img img {
  border-color: #76571b;
}
.page-program .programs__list .program-block__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 42px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-program .programs__list .program-block__img img {
  width: 100%;
  height: auto;
  border-style: solid;
  border-width: clamp(5px, 10 / 1500 * 100vw, 10px);
  border-radius: clamp(24px, 40 / 1500 * 100vw, 40px);
}
.page-program .programs__list .program-block__body .title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page-program .programs__list .program-block__body .title > img {
  position: absolute;
  top: -1em;
  right: 0;
  left: 50%;
  z-index: 0;
  width: auto;
  height: clamp(27.5px, 58.7 / 1500 * 100vw, 58.7px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.page-program .programs__list .program-block__body .title h3 {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
}
.page-program .programs__list .program-block__body .desc {
  margin-top: 16px;
  font-size: 14px;
}
.page-program .programs__list .program-block__body .target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 14px 16px;
  margin: 16px auto 0;
  font-size: clamp(14px, 20 / 1500 * 100vw, 20px);
  background-color: #e1d9c7;
  border-radius: 10px;
}
.page-program .programs__list .program-block__body .target__term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 14px;
  margin-right: 14px;
  border-right: 1px solid #c9bfb6;
}
.page-program .programs__list .program-block__body .target__age {
  font-weight: bold;
  color: #e33f22;
}
.page-program .programs__list .program-block__body .action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}
.page-program .programs__list .program-block__body .action img {
  display: none;
  width: auto;
  height: clamp(100px, 151 / 1500 * 100vw, 151px);
}
.page-program .programs__list .program-block__body .action.icon-action .c-button__text {
  width: 68%;
  text-align: center;
  text-indent: 0;
}

.page-program-child .l-page__title {
  position: relative;
  padding: clamp(16px, 48 / 1600 * 100vw, 48px) 0 clamp(16px, 40 / 1600 * 100vw, 40px);
  padding-top: 16px;
}
.page-program-child .l-page__title--kindergarten02 {
  padding: clamp(4px, 48 / 1600 * 100vw, 48px) 0 clamp(16px, 64 / 1600 * 100vw, 64px);
}
.page-program-child .l-page__title .c-title {
  position: relative;
  z-index: 2;
}
.page-program-child .l-page__title .detail {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 600px;
  padding: 16px 8px;
  margin: auto;
  margin-top: 40px;
  background-color: #e1d9c7;
  border-radius: 10px;
}
.page-program-child .l-page__title .detail .detail-item {
  padding: 0 8px;
  font-size: 14px;
  letter-spacing: 0;
}
.page-program-child .l-page__title .detail .detail-item.detail-item--age {
  font-weight: bold;
  color: #09732d;
  border-left: 1px solid #c9bfb6;
}
.page-program-child .l-page__title .detail .detail-item.detail-item--age + .detail-item--age {
  width: 100%;
  margin-top: 16px;
  text-align: center;
  border-left: 0;
}
.page-program-child .l-page__title .detail .detail-item.detail-item--course {
  width: 100%;
  padding: 0;
  margin-top: 16px;
  text-align: center;
}
.page-program-child .l-page__title .detail .detail-item.detail-item--course span {
  display: inline-block;
}
.page-program-child .l-page__title .detail .detail-item:first-child {
  border-left: none;
}
.page-program-child .l-page__title .detail .detail-item + .detail-item {
  border-left: 1px solid #c9bfb6;
}
.page-program-child .l-page__title .detail .detail-item:last-child {
  border: none;
}
.page-program-child .l-page__title .detail--nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.page-program-child .l-page__title .detail--nowrap .detail-item:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.page-program-child .l-page__title .detail--nowrap .detail-item:last-child {
  margin-top: 0;
  text-align: left;
  border-left: 1px solid #c9bfb6;
}
.page-program-child .l-page__title .detail--nowrap .detail-item.detail-item--course {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: inherit;
  padding-left: inherit;
}
.page-program-child .l-page__title .bg-illust {
  position: absolute;
  top: 8px;
  right: 0;
  left: 0;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
}
.page-program-child .l-page__title .bg-illust--kids {
  width: clamp(77px, 316 / 1600 * 100vw, 316px);
}
.page-program-child .l-page__title .bg-illust--rangers {
  width: clamp(73px, 295 / 1600 * 100vw, 295px);
}
.page-program-child .l-page__title .bg-illust--fh {
  width: clamp(56px, 219 / 1600 * 100vw, 219px);
}
.page-program-child .l-page__title .bg-illust--ponopono {
  width: clamp(95px, 368 / 1600 * 100vw, 368px);
}
.page-program-child .l-page__title .bg-illust--camp {
  top: 12px;
  width: clamp(120px, 476 / 1600 * 100vw, 476px);
}
.page-program-child .l-page__title .bg-illust--kindergarten {
  top: 8px;
  width: clamp(66px, 274 / 1600 * 100vw, 274px);
}
.page-program-child .l-page__title .bg-illust--kindergarten02 {
  top: 0;
  width: clamp(66px, 274 / 1600 * 100vw, 274px);
}
.page-program-child .l-page__title .bg-illust--afterschoolcenter {
  width: clamp(73px, 314 / 1600 * 100vw, 314px);
}
.page-program-child .l-page__container {
  padding-bottom: 0;
  margin-bottom: clamp(64px, 200 / 1600 * 100vw, 200px);
}
.page-program-child .l-page__container--white {
  padding-bottom: clamp(64px, 200 / 1600 * 100vw, 200px);
  margin-bottom: inherit;
}
.page-program-child .program-child-title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  text-align: center;
}
.page-program-child .program-child-title span {
  display: inline-block;
}
.page-program-child .program-child-title--green {
  color: #09732d;
}
.page-program-child .program-child-title--left {
  text-align: left;
}
.page-program-child .program-child-title--second {
  margin-top: 40px;
  color: #09732d;
}
.page-program-child .program-child-description {
  margin-top: 16px;
  line-height: 1.8;
}
.page-program-child .description {
  position: relative;
  padding-bottom: clamp(40px, 72 / 1600 * 100vw, 72px);
}
.page-program-child .description--long {
  padding-bottom: clamp(32px, 60 / 1600 * 100vw, 60px);
}
.page-program-child .description .description-wrap {
  position: relative;
  z-index: 1;
}
.page-program-child .description .description-wrap--narrow {
  margin-top: 24px;
}
.page-program-child .description .description-wrap--narrow .description-wrap__img {
  aspect-ratio: 600/397;
  margin-right: 0;
  margin-left: 0;
  border-radius: 10px;
}
.page-program-child .description .description-wrap__text {
  line-height: 1.8;
}
.page-program-child .description .description-wrap__text .program-child-title {
  margin-top: 24px;
}
.page-program-child .description .description-wrap__text .subtitle {
  margin-top: 16px;
  font-size: clamp(14px, 24 / 1600 * 100vw, 24px);
  color: #e33f22;
  text-align: center;
}
.page-program-child .description .description-wrap__text .text {
  margin-top: 16px;
}
.page-program-child .description .description-wrap__text .text p + p {
  margin-top: 16px;
}
.page-program-child .description .description-wrap__text .text + .subtitle {
  margin-top: clamp(24px, 72 / 1600 * 100vw, 72px);
}
.page-program-child .description .description-wrap__text .sns {
  padding: 16px;
  margin-top: clamp(24px, 40 / 1600 * 100vw, 40px);
  font-weight: bold;
  text-align: center;
  background-color: #e1d9c7;
  border-radius: 10px;
}
.page-program-child .description .description-wrap__text .sns__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(8px, 16 / 1600 * 100vw, 16px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 16px;
}
.page-program-child .description .description-wrap__text .sns__link a {
  display: grid;
  place-items: center;
  width: 152px;
  height: 64px;
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-program-child .description .description-wrap__text .sns__link img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-program-child .description .description-wrap__img {
  margin-right: -4vw;
  margin-left: -4vw;
  overflow: hidden;
}
.page-program-child .description .description-wrap__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-program-child .point {
  position: relative;
  padding-top: clamp(80px, 216 / 1600 * 100vw, 216px);
  padding-bottom: clamp(80px, 275 / 1600 * 100vw, 275px);
  background-color: #dde7b0;
}
.page-program-child .point::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-program-child .point::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center/contain;
}
.page-program-child .point--nobg {
  padding-top: clamp(32px, 60 / 1600 * 100vw, 60px);
  padding-bottom: clamp(40px, 80 / 1600 * 100vw, 80px);
  background-color: #fff;
}
.page-program-child .point--nobg::before, .page-program-child .point--nobg::after {
  content: none;
}
.page-program-child .point .point-wrap {
  display: grid;
  gap: 40px;
  max-width: 400px;
  padding: 0 16px;
  margin: auto;
  margin-top: 56px;
}
.page-program-child .point .point-item {
  display: grid;
  place-content: start;
  place-items: center;
}
.page-program-child .point .point-item .image {
  position: relative;
  width: 123px;
}
.page-program-child .point .point-item .image .number {
  position: absolute;
  top: -14px;
  left: -32px;
  width: 61px;
}
.page-program-child .point .point-item .title {
  margin-top: 8px;
  font-size: clamp(20px, 24 / 1600 * 100vw, 24px);
  color: #09732d;
  text-align: center;
}
.page-program-child .point .point-item .text {
  margin-top: 8px;
  line-height: 1.8;
}
.page-program-child .point .point-item .c-button-arrow {
  margin-top: 8px;
}
.page-program-child .price {
  padding-top: clamp(40px, 160 / 1600 * 100vw, 160px);
  padding-bottom: clamp(40px, 60 / 1600 * 100vw, 60px);
}
.page-program-child .price .price-table {
  margin-top: 32px;
}
.page-program-child .price .table-title {
  margin-top: 64px;
}
.page-program-child .price .table-title > div {
  display: grid;
  place-content: center;
  place-items: center;
  height: 190px;
  font-weight: bold;
  text-align: center;
  border: 2px solid #cee3d5;
  border-right: none;
}
.page-program-child .price .table-title > div + div {
  border-top: none;
}
.page-program-child .price .table-item {
  overflow: hidden;
  border: 2px solid #cee3d5;
  border-radius: 10px;
}
.page-program-child .price .table-item + .table-item {
  margin-top: 24px;
}
.page-program-child .price .table-item .title {
  display: grid;
  place-content: center;
  place-items: center;
  height: 64px;
  font-size: clamp(18px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  background-color: #cee3d5;
}
.page-program-child .price .table-item .inner-item {
  position: relative;
  display: grid;
  grid-template-columns: 130px 1fr;
  border-bottom: 2px solid #cee3d5;
}
.page-program-child .price .table-item .inner-item:last-child {
  border-bottom: none;
}
.page-program-child .price .table-item .inner-item__title {
  display: grid;
  place-content: center;
  place-items: center;
  padding: 24px 16px;
  font-weight: bold;
  line-height: 1.625;
  text-align: center;
}
.page-program-child .price .table-item .inner-item__text {
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  padding: 24px 16px;
}
.page-program-child .price .table-item .inner-item__text::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1.5px;
  display: inline-block;
  width: 2px;
  height: 90%;
  margin: auto;
  content: "";
  background-color: #cee3d5;
}
.page-program-child .price .table-item .inner-item__text .text-red {
  margin-right: -8px;
  margin-left: -8px;
  font-size: 11px;
  font-weight: bold;
  color: #ff6b2b;
  text-align: center;
}
.page-program-child .price .table-item .inner-item__text .text-red + p {
  margin-top: 8px;
}
.page-program-child .price .table-item .inner-item__text .text-notes {
  margin-top: 4px;
  font-size: 11px;
}
.page-program-child .price .table-item .inner-item__text .text-notes--center {
  margin-top: 8px;
}
.page-program-child .price .table-item .inner-item__text .text-price {
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.page-program-child .price .table-item .inner-item__text .text-price span {
  font-size: clamp(26px, 32 / 1600 * 100vw, 32px);
}
.page-program-child .price .price-button {
  margin-top: 40px;
}
.page-program-child .schedule {
  padding-top: clamp(40px, 60 / 1600 * 100vw, 60px);
  padding-bottom: clamp(40px, 100 / 1600 * 100vw, 100px);
}
.page-program-child .schedule--kindergarten {
  padding-top: clamp(40px, 100 / 1600 * 100vw, 100px);
}
.page-program-child .schedule .schedule-wrap {
  display: grid;
  gap: 40px;
  margin-top: 32px;
}
.page-program-child .schedule .schedule-item__title {
  display: grid;
  place-items: center;
  padding: 16px;
  font-size: clamp(18px, 24 / 1600 * 100vw, 24px);
  background-color: #cee3d5;
  border-radius: 10px;
}
.page-program-child .schedule .schedule-item__text {
  margin-top: 16px;
}
.page-program-child .schedule .schedule-item__timetable {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item {
  position: relative;
  padding-bottom: 24px;
  margin-left: clamp(20px, 4.0322580645vw, 40px);
}
.page-program-child .schedule .schedule-item__timetable .timetable-item::before {
  position: absolute;
  top: 0;
  left: clamp(-40px, -4.0322580645vw, -20px);
  z-index: 1;
  width: clamp(13px, 2.0161290323vw, 20px);
  height: clamp(13px, 2.0161290323vw, 20px);
  content: "";
  background-color: #fff;
  border: 2px solid #e33f22;
  border-radius: 50%;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item--fill::before {
  background-color: #e33f22;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item--text::before {
  top: 0.5em;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item::after {
  position: absolute;
  top: 0.5em;
  left: clamp(-30px, -3.0241935484vw, -15px);
  display: block;
  width: 2px;
  height: 100%;
  content: "";
  background-color: #e33f22;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item:last-child {
  padding-bottom: 0;
}
.page-program-child .schedule .schedule-item__timetable .timetable-item:last-child::after {
  content: none;
}
.page-program-child .schedule .schedule-item__timetable .timetable-title {
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  color: #e33f22;
}
.page-program-child .schedule .schedule-item__timetable .timetable-title img,
.page-program-child .schedule .schedule-item__timetable .timetable-title span {
  display: block;
}
.page-program-child .schedule .schedule-item__timetable .timetable-title img {
  height: clamp(12px, 2.2177419355vw, 22px);
}
.page-program-child .schedule .schedule-item__timetable .timetable-title img + span {
  margin-top: 8px;
}
.page-program-child .schedule .schedule-item__timetable .timetable-text {
  margin-top: 6px;
}
.page-program-child .schedule .schedule-item__timetable .timetable-text p {
  line-height: 2;
}
.page-program-child .schedule .schedule-item__timetable .timetable-text p + .notes {
  line-height: 1.3;
}
.page-program-child .schedule .schedule-item__timetable .timetable-text .notes {
  font-size: 11px;
}
.page-program-child .schedule .schedule-item__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
}
.page-program-child .schedule .schedule-item__list li {
  position: relative;
  padding-left: 10px;
}
.page-program-child .schedule .schedule-item__list li + li {
  margin-top: 10px;
}
.page-program-child .schedule .schedule-item__list li::before {
  position: absolute;
  top: 9px;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 50%;
}
.page-program-child .schedule-notes {
  padding: 24px 16px;
  margin-top: clamp(40px, 160 / 1600 * 100vw, 160px);
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-program-child .schedule-notes .notes-title {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.page-program-child .schedule-notes .notes-list {
  margin-top: clamp(16px, 40 / 1600 * 100vw, 40px);
}
.page-program-child .schedule-notes .notes-list li {
  position: relative;
  padding-left: 10px;
}
.page-program-child .schedule-notes .notes-list li + li {
  margin-top: 24px;
}
.page-program-child .schedule-notes .notes-list li::before {
  position: absolute;
  top: 9px;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 50%;
}
.page-program-child .course {
  position: relative;
  padding-top: clamp(80px, 180 / 1600 * 100vw, 180px);
  background-color: #dde7b0;
}
.page-program-child .course::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-program-child .course .course-wrap {
  display: grid;
  gap: 24px;
  margin-top: 16px;
}
.page-program-child .course .course__action {
  margin-top: 32px;
}
.page-program-child .course .course__action .c-button {
  width: clamp(267px, 397 / 1600 * 100vw, 397px);
}
.page-program-child .course .course__action .c-button__text {
  text-indent: 2em;
}
.page-program-child .movie-wrap {
  aspect-ratio: 1000/562;
  margin-bottom: clamp(80px, 108 / 1600 * 100vw, 108px);
}
.page-program-child .movie-wrap iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-program-child .gallery-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(8px, 24 / 1600 * 100vw, 24px);
  margin-top: clamp(24px, 92 / 1600 * 100vw, 92px);
}
.page-program-child .gallery-wrap li {
  overflow: hidden;
  border-radius: clamp(5px, 2.6041666667vw, 20px);
}
.page-program-child .gallery-wrap img {
  -o-object-fit: cover;
     object-fit: cover;
}
.page-program-child .point + .overview {
  padding-top: clamp(40px, 60 / 1600 * 100vw, 60px);
}
.page-program-child .overview-wrap .overview-item {
  padding: clamp(24px, 4.8387096774vw, 48px) clamp(16px, 64 / 1600 * 100vw, 64px) clamp(24px, 6.4516129032vw, 64px);
  margin-top: clamp(32px, 64 / 1600 * 100vw, 64px);
  background-color: #fff;
  border: 2px solid #c9bfb6;
  border-radius: 10px;
}
.page-program-child .overview-wrap .overview-detail {
  margin-top: clamp(12px, 48 / 1600 * 100vw, 48px);
  line-height: 1.8;
}
.page-program-child .overview-wrap .overview-detail dt {
  padding: 12px 0 0;
  font-weight: bold;
}
.page-program-child .overview-wrap .overview-detail dd {
  padding: 0 0 12px;
  border-bottom: 2px solid #c9bfb6;
}
.page-program-child .overview-wrap .overview-detail dd span {
  display: block;
  font-weight: bold;
}
.page-program-child .overview-wrap .overview-detail .other-list li {
  position: relative;
  padding-left: 10px;
}
.page-program-child .overview-wrap .overview-detail .other-list li + li {
  margin-top: clamp(8px, 20 / 1600 * 100vw, 20px);
}
.page-program-child .overview-wrap .overview-detail .other-list li::before {
  position: absolute;
  top: 9px;
  left: 0;
  display: block;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 50%;
}
.page-program-child .map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  margin-top: 8px;
  font-size: 10px;
  font-weight: bold;
  color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-program-child .bg-color-wrap {
  padding: clamp(24px, 4.8387096774vw, 48px) clamp(16px, 64 / 1600 * 100vw, 64px) clamp(24px, 6.4516129032vw, 64px);
  margin-top: clamp(32px, 64 / 1600 * 100vw, 64px);
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-program-child .bg-color-wrap--beige {
  background-color: #e1d9c7;
}
.page-program-child .bg-color-wrap .text {
  margin-top: 24px;
}
.page-program-child .bg-color-wrap p + p {
  margin-top: clamp(24px, 32 / 1600 * 100vw, 32px);
}
.page-program-child .bg-color-wrap .c-button {
  padding: 0;
  margin-top: clamp(24px, 64 / 1600 * 100vw, 64px);
}
.page-program-child .bg-color-wrap .c-button__icon {
  margin-left: 16px;
}
.page-program-child .bg-color-wrap .c-button__text {
  margin-right: 16px;
  text-indent: 0;
}
.page-program-child .bg-color-wrap + .program-child-title {
  margin-top: clamp(80px, 120 / 1600 * 100vw, 120px);
}
.page-program-child .tocontact-wrap {
  margin-top: 40px;
  text-align: center;
}
.page-program-child .tocontact-wrap .c-button-wrapper {
  margin-top: 24px;
}
.page-program-child .class-wrap {
  margin-top: clamp(40px, 80 / 1600 * 100vw, 80px);
}
.page-program-child .class-wrap .class-item {
  margin-top: clamp(40px, 64 / 1600 * 100vw, 64px);
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-program-child .class-wrap .class-item__title {
  padding: clamp(10px, 24 / 1600 * 100vw, 24px);
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  color: #fff;
  text-align: center;
  background-color: #e33f22;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.page-program-child .class-wrap .class-item__description {
  display: grid;
  gap: clamp(16px, 32 / 1600 * 100vw, 32px);
  padding: clamp(16px, 40 / 1600 * 100vw, 40px) clamp(16px, 40 / 1600 * 100vw, 40px) clamp(32px, 40 / 1600 * 100vw, 40px);
}
.page-program-child .class-wrap .class-item__description .text {
  font-weight: bold;
  line-height: 1.8;
}
.page-program-child .class-wrap .class-item__description .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 0;
  margin-top: clamp(16px, 24 / 1600 * 100vw, 24px);
  margin-bottom: 32px;
}
.page-program-child .class-wrap .class-item__description .info dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(27% - 1em);
          flex: 0 0 calc(27% - 1em);
  padding-left: 1em;
  margin-top: 2px;
  font-size: clamp(12px, 16 / 1600 * 100vw, 16px);
  color: #8a8a8a;
}
.page-program-child .class-wrap .class-item__description .info dt::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 2px;
}
.page-program-child .class-wrap .class-item__description .info dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 74%;
          flex: 0 0 74%;
}
.page-program-child .class-wrap .class-item__description .info .name {
  font-weight: bold;
  color: #e33f22;
}
.page-program-child .class-wrap .description-img {
  aspect-ratio: 311/185;
  overflow: hidden;
  border-radius: 10px;
}
.page-program-child .class-wrap .description-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-program-child .class-wrap .description-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.page-program-child .class-wrap .c-button-arrow {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.page-profile__company {
  padding: 24px 16px;
  border: 2px solid #c9bfb6;
  border-radius: 20px;
}
.page-profile__company table {
  width: 100%;
  table-layout: fixed;
}
.page-profile__company tr {
  display: block;
  padding: 12px 0;
  border-bottom: 2px solid #c9bfb6;
}
.page-profile__company th,
.page-profile__company td {
  display: block;
  width: 100%;
}
.page-profile__company ul li {
  position: relative;
  padding-left: 1em;
}
.page-profile__company ul li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 100vh;
}
.page-profile__company .c-map-link {
  margin-top: 4px;
}

.page-profile__history {
  max-width: 872px;
  margin: 56px auto 0;
}
.page-profile__history h2 {
  font-size: clamp(20px, 32 / 1200 * 100vw, 32px);
  text-align: center;
}
.page-profile__history table {
  width: 100%;
  margin-top: 16px;
  table-layout: fixed;
  border-top: 1px dashed #c9bfb6;
}
.page-profile__history tr {
  display: block;
  padding: 12px 0;
  border-bottom: 1px dashed #c9bfb6;
}
.page-profile__history th,
.page-profile__history td {
  display: block;
  width: 100%;
}
.page-profile__history th > img {
  width: auto;
  height: clamp(19px, 24 / 1200 * 100vw, 24px);
}
.page-profile__history td {
  margin-top: 4px;
}

.page-recruit .l-page__container {
  padding-bottom: 0;
}
.page-recruit .section-heading {
  font-size: clamp(18px, 32 / 1200 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.page-recruit .section-desc {
  max-width: 872px;
  margin: 16px auto 0;
}
.page-recruit .section-desc--center {
  text-align: center;
}
.page-recruit .about {
  text-align: center;
}
.page-recruit .about__illust {
  margin-top: 24px;
}
.page-recruit .about__illust .p-about-visual__inner .illust--redman {
  left: clamp(268px, 989 / 1366 * 100vw, 989px);
}
.page-recruit .about__illust .p-about-visual__inner .illust--leaf {
  left: clamp(240px, 862 / 1366 * 100vw, 862px);
}
.page-recruit .about__illust .p-about-visual__inner .illust--flag {
  left: clamp(287px, 1055 / 1366 * 100vw, 1055px);
}
.page-recruit .about__text {
  line-height: 1.8;
}
.page-recruit .policy {
  margin-top: 40px;
  margin-bottom: 40px;
}
.page-recruit .policy__container {
  max-width: 1200px;
  padding: 24px 16px;
  margin: 0 auto;
  background-color: #dde7b0;
  border: 3px solid #e33f22;
  border-radius: 20px;
}
.page-recruit .policy__title {
  font-size: clamp(20px, 32 / 1200 * 100vw, 32px);
  color: #4198ce;
  text-align: center;
}
.page-recruit .policy__img {
  margin-top: 24px;
}
.page-recruit .policy__heading {
  margin-top: 24px;
  font-size: clamp(16px, 20 / 1200 * 100vw, 20px);
  color: #e33f22;
}
.page-recruit .policy__desc {
  max-width: 800px;
  margin: 16px auto 0;
}
.page-recruit .movie {
  margin: 64px auto 40px;
}
.page-recruit .movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.page-recruit .work {
  position: relative;
  padding-top: clamp(90px, 196 / 1600 * 100vw, 196px);
  background-color: #dde7b0;
}
.page-recruit .work::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-recruit .work__block {
  padding: 24px 16px;
  margin-top: 32px;
  background-color: #fff;
  border: 2px solid #c9bfb6;
  border-radius: 20px;
}
.page-recruit .work__block > h3 {
  font-size: clamp(20px, 32 / 1200 * 100vw, 32px);
  text-align: center;
}
.page-recruit .work__block > p {
  margin-top: 8px;
}
.page-recruit .work__block > table {
  width: 100%;
  margin-top: 16px;
  table-layout: fixed;
}
.page-recruit .work__block tr {
  display: block;
  padding: 12px 0;
  border-bottom: 2px solid #c9bfb6;
}
.page-recruit .work__block th,
.page-recruit .work__block td {
  display: block;
  width: 100%;
}
.page-recruit .work__block ul li {
  position: relative;
  padding-left: 1em;
}
.page-recruit .work__block ul li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 100vh;
}
.page-recruit .work__block .c-map-link {
  margin-top: 4px;
}
.page-recruit .work__block .message {
  padding: 32px 0;
  margin-top: 24px;
  font-size: 16px;
  font-weight: bold;
  color: #e33f22;
  text-align: center;
  border-top: 1px solid #e33f22;
  border-bottom: 1px solid #e33f22;
}
.page-recruit .work__flow {
  padding: 24px 16px;
  margin-top: 32px;
  background-color: #e1d9c7;
  border-radius: 20px;
}
.page-recruit .work__flow > h3 {
  font-size: clamp(20px, 32 / 1200 * 100vw, 32px);
  text-align: center;
}
.page-recruit .work__flow > p {
  margin-top: 8px;
}
.page-recruit .work__flow .flow-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px 0;
  margin-top: 24px;
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
}
.page-recruit .work__flow .flow-box h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 56px;
  font-size: 16px;
  line-height: 1;
  color: #76571b;
  border: 2px solid #76571b;
  border-radius: 20px;
}
.page-recruit .work__flow .flow-box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.page-recruit .work__flow .flow-box ul li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-recruit .work__flow .flow-box ul li .number {
  position: relative;
}
.page-recruit .work__flow .flow-box ul li .number::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 56px;
  content: "";
  background-color: #76571b;
}
.page-recruit .work__flow .flow-box ul li .number__inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 100vh;
}
.page-recruit .work__flow .flow-box ul li .text {
  font-weight: bold;
}
.page-recruit .work__flow .flow-box ul li:last-child .number::before {
  display: none;
}
.page-recruit .work__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
.page-recruit .work__action + .section-heading {
  margin-top: 64px;
}
.page-recruit .work__slider {
  padding: 56px 0 64px;
}

.page-volunteer .section-heading {
  font-size: clamp(18px, 32 / 1280 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.page-volunteer .section-desc {
  max-width: 872px;
  margin: 16px auto 0;
}
.page-volunteer .overview {
  padding-bottom: clamp(40px, 60 / 1600 * 100vw, 60px);
}
.page-volunteer .detail {
  position: relative;
  padding: clamp(90px, 196 / 1600 * 100vw, 196px) 0;
  background-color: #dde7b0;
}
.page-volunteer .detail::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-volunteer .detail::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center;
  background-size: 100% auto;
}
.page-volunteer .detail ul {
  margin-top: 32px;
}
.page-volunteer .detail li + li {
  margin-top: 24px;
}
.page-volunteer .detail .detail-box__img {
  text-align: center;
}
.page-volunteer .detail .detail-box__img img {
  width: clamp(160px, 218 / 1280 * 100vw, 218px);
  height: auto;
}
.page-volunteer .detail .detail-box__title {
  margin-top: 12px;
  font-size: 18px;
  color: #e33f22;
  text-align: center;
}
.page-volunteer .detail .detail-box__desc {
  margin-top: 12px;
}
.page-volunteer .detail .detail__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
.page-volunteer .participate {
  padding: clamp(40px, 64 / 1600 * 100vw, 64px) 0 clamp(56px, 120 / 1600 * 100vw, 120px);
}
.page-volunteer .participate .participate__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
.page-volunteer .slider {
  background-color: #fff;
}

.page-guideline .guideline-intro .title {
  font-size: clamp(18px, 24 / 1600 * 100vw, 24px);
  color: #e33f22;
  text-align: center;
}
.page-guideline .guideline-intro .description {
  margin-top: 16px;
  line-height: 1.75;
  text-align: center;
}
.page-guideline .anchor-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(16px, 48 / 1600 * 100vw, 48px) clamp(24px, 48 / 1600 * 100vw, 48px);
  margin-top: clamp(24px, 80 / 1600 * 100vw, 80px);
}
.page-guideline .anchor-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: clamp(12px, 16 / 1600 * 100vw, 16px);
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-guideline .anchor-link a::after {
  display: inline-block;
  width: 12px;
  vertical-align: middle;
  content: url("./assets/img/common/icon_arrow.svg");
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.page-guideline .guideline-title {
  padding: 12px clamp(16px, 32 / 1600 * 100vw, 32px);
  margin-top: 64px;
  margin-bottom: clamp(24px, 40 / 1600 * 100vw, 40px);
  font-size: clamp(16px, 32 / 1600 * 100vw, 32px);
  line-height: 1.78;
  background-color: #e1d9c7;
  border-radius: 10px;
}
.page-guideline .guideline-title + .guideline-sub-title {
  margin-top: clamp(24px, 40 / 1600 * 100vw, 40px);
}
.page-guideline .guideline-sub-title {
  padding-bottom: 8px;
  margin-top: clamp(32px, 64 / 1600 * 100vw, 64px);
  margin-bottom: clamp(8px, 16 / 1600 * 100vw, 16px);
  font-size: clamp(16px, 24 / 1600 * 100vw, 24px);
  border-bottom: 1px solid #c9bfb6;
}
.page-guideline .guideline-text {
  margin: clamp(8px, 16 / 1600 * 100vw, 16px) 0;
}
.page-guideline .guideline-text p {
  line-height: 1.75;
}
.page-guideline .guideline-list {
  margin: clamp(12px, 16 / 1600 * 100vw, 16px) 0;
  line-height: 1.8;
}
.page-guideline .guideline-img {
  display: grid;
  gap: clamp(16px, 56 / 1600 * 100vw, 56px);
  margin: clamp(24px, 56 / 1600 * 100vw, 56px) 16px 0;
}
.page-guideline .guideline-img li {
  display: grid;
  grid-template-columns: 80px auto;
  gap: 16px;
  place-items: center;
}
.page-guideline .guideline-img .text {
  font-size: 12px;
}
.page-guideline .guideline-box {
  max-width: 500px;
  padding: clamp(16px, 40 / 1600 * 100vw, 40px);
  margin-top: clamp(32px, 40 / 1600 * 100vw, 40px);
  margin-right: auto;
  margin-left: auto;
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-guideline .guideline-box--border {
  background-color: transparent;
  border: 2px solid #c9bfb6;
}
.page-guideline .guideline-box .box__title {
  font-size: clamp(16px, 24 / 1600 * 100vw, 24px);
}
.page-guideline .guideline-box .box__list {
  margin-top: clamp(8px, 24 / 1600 * 100vw, 24px);
  font-size: clamp(16px, 24 / 1600 * 100vw, 24px);
}
.page-guideline .guideline-box .box__list--icon .box-item {
  gap: 12px;
  padding: 24px 0;
}
.page-guideline .guideline-box .box__list--icon .box-item img {
  width: 90px;
  margin: auto;
}
.page-guideline .guideline-box .box__list--icon .title {
  text-align: center;
}
.page-guideline .guideline-box .box__list--icon .text {
  margin-top: clamp(12px, 16 / 1600 * 100vw, 16px);
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
}
.page-guideline .guideline-box .box__list--text .box-item {
  gap: 4px;
}
.page-guideline .guideline-box .box-item {
  position: relative;
  display: grid;
  padding: clamp(16px, 24 / 1600 * 100vw, 24px) 0;
  background-image: linear-gradient(to right, #c9bfb6, #c9bfb6 4px, transparent 4px, transparent 10px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 10px 2px;
}
.page-guideline .guideline-box .box-item:first-child::before {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-image: linear-gradient(to right, #c9bfb6, #c9bfb6 4px, transparent 4px, transparent 10px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 10px 2px;
}
.page-guideline .guideline-box .box-item .title {
  font-size: 14px;
  color: #e33f22;
}
.page-guideline .guideline-box .box-item .text {
  font-size: 14px;
}
.page-guideline .guideline-box .box__text {
  margin-top: clamp(4px, 12 / 1600 * 100vw, 12px);
}

.page-member .member-title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  text-align: center;
}
.page-member .member-title--green {
  color: #e33f22;
}
.page-member .member-title + .member-text {
  margin-top: 1em;
}
.page-member .member-text--space {
  margin-top: 40px;
  text-align: center;
}
.page-member .member-button {
  margin-top: 24px;
}
.page-member .way {
  position: relative;
  z-index: 1;
  padding-bottom: clamp(36px, 70 / 1600 * 100vw, 70px);
}
.page-member .way .way-detail {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(16px, 24 / 1600 * 100vw, 24px) clamp(16px, 32 / 1600 * 100vw, 32px);
  margin: auto;
  margin-top: 24px;
  background-color: #e1d9c7;
  border-radius: 10px;
}
.page-member .way .way-detail .way-detail-item {
  padding: 0 8px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0;
}
.page-member .way .way-detail .way-detail-item + .way-detail-item {
  border-left: 1px solid #c9bfb6;
}
.page-member .way .way-detail .way-detail-item:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: normal;
  border-left: none;
}
.page-member .way .way-detail .way-detail-item:nth-child(2) {
  color: #09732d;
}
.page-member .way .way-box {
  max-width: 500px;
  padding: clamp(24px, 40 / 1600 * 100vw, 40px) clamp(16px, 48 / 1600 * 100vw, 48px);
  margin-top: clamp(32px, 40 / 1600 * 100vw, 40px);
  margin-right: auto;
  margin-left: auto;
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-member .way .way-box .box-item {
  position: relative;
  display: grid;
  gap: clamp(24px, 64 / 1600 * 100vw, 64px);
}
.page-member .way .way-box .box-item + .box-item {
  padding: clamp(24px, 40 / 1600 * 100vw, 40px) 0 0;
  margin: clamp(24px, 40 / 1600 * 100vw, 40px) 0 0;
  background-image: linear-gradient(to right, #c9bfb6, #c9bfb6 4px, transparent 4px, transparent 10px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 10px 2px;
}
.page-member .way .way-box .box-item .title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 16px;
  color: #e33f22;
  text-align: center;
}
.page-member .way .way-box .box-item .title span {
  display: inline-block;
}
.page-member .way .way-box .box-item .text {
  font-size: 14px;
}
.page-member .way .way-box .box-item strong {
  color: #e33f22;
}
.page-member .benefit {
  position: relative;
  padding-top: clamp(80px, 160 / 1600 * 100vw, 160px);
  padding-bottom: clamp(80px, 200 / 1600 * 100vw, 200px);
  background-color: #dde7b0;
}
.page-member .benefit::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_01.svg") no-repeat top center/contain;
}
.page-member .benefit::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1920/282;
  pointer-events: none;
  content: "";
  background: url("./assets/img/common/bg_cloud_02.svg") no-repeat bottom center/contain;
}
.page-member .benefit .benefit-wrap {
  position: relative;
  display: grid;
  gap: 40px;
  max-width: 400px;
  padding: 0 16px;
  margin: auto;
  margin-top: 56px;
}
.page-member .benefit .benefit-wrap::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-40 / 1920 * 100vw);
  display: none;
  width: calc(155 / 1920 * 100vw);
  height: calc(420 / 1920 * 100vw);
  margin: auto;
  content: "";
  background: url("./assets/img/member/texture_01.svg") no-repeat center center/contain;
}
.page-member .benefit .benefit-wrap::after {
  position: absolute;
  top: 0;
  right: calc(-80 / 1920 * 100vw);
  bottom: 0;
  display: none;
  width: calc(208 / 1920 * 100vw);
  height: calc(455 / 1920 * 100vw);
  margin: auto;
  content: "";
  background: url("./assets/img/member/texture_02.svg") no-repeat center center/contain;
}
.page-member .benefit .benefit-item {
  position: relative;
  z-index: 1;
  display: grid;
  place-content: start;
  place-items: center;
}
.page-member .benefit .benefit-item .image {
  position: relative;
  width: 123px;
}
.page-member .benefit .benefit-item .image .number {
  position: absolute;
  top: -14px;
  left: -32px;
  width: 61px;
}
.page-member .benefit .benefit-item .title {
  margin-top: 8px;
  font-size: clamp(20px, 24 / 1600 * 100vw, 24px);
  color: #09732d;
  text-align: center;
}
.page-member .benefit .benefit-item .text {
  margin-top: 8px;
  line-height: 1.8;
}
.page-member .benefit .benefit-item .note {
  width: 100%;
  margin-top: clamp(8px, 12 / 1600 * 100vw, 12px);
  font-size: clamp(11px, 12 / 1600 * 100vw, 12px);
}
.page-member .benefit .benefit-item .c-button {
  width: clamp(240px, 300 / 1600 * 100vw, 300px);
  margin-top: 40px;
}
.page-member .flow {
  padding-top: clamp(40px, 120 / 1600 * 100vw, 120px);
  padding-bottom: clamp(36px, 70 / 1600 * 100vw, 70px);
}
.page-member .flow .flow-box {
  max-width: 500px;
  padding: clamp(24px, 64 / 1600 * 100vw, 64px) clamp(16px, 48 / 1600 * 100vw, 48px) clamp(24px, 100 / 1600 * 100vw, 100px);
  margin-right: auto;
  margin-left: auto;
  background-color: #dde7b0;
  border-radius: 10px;
}
.page-member .flow .flow-box .box__list {
  margin-top: clamp(16px, 80 / 1600 * 100vw, 80px);
}
.page-member .flow .flow-box .box-item {
  position: relative;
  display: grid;
  gap: 14px;
  padding: clamp(24px, 40 / 1600 * 100vw, 40px) 0;
  padding-left: 60px;
}
.page-member .flow .flow-box .box-item::before {
  position: absolute;
  left: 23px;
  display: inline-block;
  width: 2px;
  height: 100%;
  content: "";
  background-color: #e1d9c7;
}
.page-member .flow .flow-box .box-item + .box-item::after {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: calc(100% - 60px);
  height: 2px;
  content: "";
  background-image: linear-gradient(to right, #c9bfb6, #c9bfb6 4px, transparent 4px, transparent 10px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 10px 2px;
}
.page-member .flow .flow-box .box-item:first-child {
  padding-top: 0;
}
.page-member .flow .flow-box .box-item:last-child {
  padding-bottom: 0;
}
.page-member .flow .flow-box .box-item:last-child::before {
  content: none;
}
.page-member .flow .flow-box .box-item .icon {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 48px;
}
.page-member .flow .flow-box .box-item .title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 16px;
  color: #e33f22;
}
.page-member .flow .flow-box .box-item .text {
  font-size: 14px;
}
.page-member .flow .flow-box .box-item strong {
  color: #e33f22;
}
.page-member .faq {
  padding-top: clamp(36px, 70 / 1600 * 100vw, 70px);
}
.page-member .faq .faq-wrap {
  margin-top: clamp(24px, 48 / 1600 * 100vw, 48px);
}
.page-member .faq .faq-item {
  padding: clamp(24px, 40 / 1600 * 100vw, 40px) 0;
  cursor: pointer;
  border-bottom: 1px solid #c9bfb6;
}
.page-member .faq .faq-item.is-open .question {
  color: #8a8a8a;
}
.page-member .faq .faq-item.is-open .question .icon {
  background-color: #8a8a8a;
}
.page-member .faq .faq-item.is-open .question .icon::after {
  opacity: 0;
}
.page-member .faq .faq-item:first-child {
  border-top: 1px solid #c9bfb6;
}
.page-member .faq .faq-item:first-child .answer {
  display: block;
}
.page-member .faq .faq-item .question {
  position: relative;
  display: block;
  padding: 0 clamp(44px, 80 / 1600 * 100vw, 80px) 0 clamp(30px, 32 / 1600 * 100vw, 32px);
  font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  font-weight: bold;
  text-indent: clamp(-32px, -30 / 1600 * 100vw, -30px);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-member .faq .faq-item .question .icon {
  position: absolute;
  top: 0.5em;
  right: 0;
  width: 20px;
  height: 20px;
  background-color: #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.page-member .faq .faq-item .question .icon::before, .page-member .faq .faq-item .question .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  content: "";
  background-color: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-member .faq .faq-item .question .icon::after {
  width: 2px;
  height: 10px;
}
.page-member .faq .faq-item .number {
  margin-right: clamp(12px, 16 / 1600 * 100vw, 16px);
  font-family: "Inter", sans-serif;
  font-size: clamp(20px, 24 / 1600 * 100vw, 24px);
  color: #e33f22;
}
.page-member .faq .faq-item .answer {
  display: none;
  padding: clamp(14px, 32 / 1600 * 100vw, 32px) clamp(44px, 80 / 1600 * 100vw, 80px) 0 clamp(30px, 32 / 1600 * 100vw, 32px);
  line-height: 1.8;
}
.page-member .faq .faq-item .answer p + p {
  margin-top: 1em;
}

.single-programlist .article__header {
  display: grid;
  gap: clamp(24px, 56 / 1600 * 100vw, 56px);
}
.single-programlist .article .article__thumbnail {
  aspect-ratio: 343/262;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
}
.single-programlist .article .article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-programlist .article__info .info {
  display: grid;
  gap: 8px 0;
}
.single-programlist .article__info .info dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(26% - 1em);
          flex: 0 0 calc(26% - 1em);
  padding-left: 1em;
  font-size: clamp(12px, 16 / 1600 * 100vw, 16px);
  color: #8a8a8a;
}
.single-programlist .article__info .info dt::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  background-color: #e33f22;
  border-radius: 2px;
}
.single-programlist .article__info .info dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 74%;
          flex: 0 0 74%;
}
.single-programlist .article__info .info-date {
  font-weight: bold;
  color: #e33f22;
}
.single-programlist .article__info .info-date .day {
  margin-right: 1em;
  font-size: clamp(14px, 18 / 1600 * 100vw, 18px);
}
.single-programlist .article__info .info-date .time {
  display: inline-block;
}
.single-programlist .article__info .info-payment {
  margin-top: clamp(32px, 64 / 1600 * 100vw, 64px);
}
.single-programlist .article__info .info-payment .c-button {
  margin: auto;
}
.single-programlist .program-editor-content {
  margin-bottom: clamp(40px, 80 / 1600 * 100vw, 80px);
}
.single-programlist .program-single__action {
  padding-top: clamp(40px, 80 / 1600 * 100vw, 80px);
  margin-top: clamp(40px, 80 / 1600 * 100vw, 80px);
}
.single-programlist .map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 16px;
  margin-top: 8px;
  font-size: 10px;
  font-weight: bold;
  color: #e33f22;
  border: 1px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.single-programlist .program-detail img {
  display: block;
  margin: clamp(32px, 80 / 1600 * 100vw, 80px) auto;
}
.single-programlist .program-column {
  display: grid;
  gap: 16px;
  padding-top: clamp(24px, 40 / 1600 * 100vw, 40px);
  margin-top: 40px;
  border-top: 2px solid #c9bfb6;
}
.single-programlist .program-column h3 {
  margin: 0;
}
.single-programlist .program-column > div {
  margin-top: 8px;
}
.single-programlist .program-meeting-point {
  margin: 0;
}
.single-programlist .program-schedule-items {
  padding-left: 0;
  margin: 0;
}
.single-programlist .program-schedule-items li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding-left: 0;
}
.single-programlist .program-schedule-items li::before {
  content: none;
}
.single-programlist .program-schedule-items li + li {
  margin-top: 24px;
}
.single-programlist .program-schedule-items .time {
  font-weight: bold;
  line-height: 2;
  color: #e33f22;
}
.single-programlist .program-schedule-items .description {
  line-height: 2;
}

.single-article {
  background-color: #fff;
}
.single-article .article__title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  font-weight: bold;
  color: #e33f22;
}
.single-article .article__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  margin-top: 8px;
}
.single-article .article__info .date {
  font-size: 12px;
}
.single-article .article__info .category a {
  font-size: 12px;
  font-weight: bold;
  color: #e33f22;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.single-article .article__content {
  margin-top: 8px;
}
.single-article .single-article__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 64px;
}

.archive .archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 16px;
}
.archive .archive__item + .archive__item {
  margin-top: 16px;
}

.archive-programlist .archive__filter {
  position: relative;
  z-index: 1;
  max-width: 1080px;
}
.archive-programlist .filter__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: clamp(16px, 48 / 1600 * 100vw, 48px) clamp(16px, 48 / 1200 * 100vw, 48px) clamp(32px, 48 / 1600 * 100vw, 48px);
  background-color: #e1d9c7;
}
.archive-programlist .filter__area {
  display: grid;
  gap: 8px;
  width: 100%;
}
.archive-programlist .filter__area .filter__area-title {
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  color: #e33f22;
}
.archive-programlist .filter__area .filter__area-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.archive-programlist .filter__area .filter__area-inner .select {
  position: relative;
  width: 100%;
  height: 40px;
}
.archive-programlist .filter__area .filter__area-inner .select::after {
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  display: block;
  width: 12px;
  height: 8px;
  margin: auto;
  pointer-events: none;
  content: "";
  background: url("./assets/img/programlist/arrow_bottom.svg") no-repeat center/contain;
}
.archive-programlist .filter__area .filter__area-inner .select select {
  width: 100%;
  height: 100%;
  padding: 8px 16px;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  color: #8a8a8a;
  cursor: pointer;
  background-color: #fff;
  border-radius: 10px;
}
.archive-programlist .filter__area .filter__area-inner .text {
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  color: #e33f22;
}
.archive-programlist .filter__area .filter__area-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10px, 20 / 1600 * 100vw, 20px);
}
.archive-programlist .filter__check {
  width: 100%;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  color: #e33f22;
}
.archive-programlist .filter__check input {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  vertical-align: sub;
  border: 1px solid #c9bfb6;
  border-radius: 1px;
}
.archive-programlist .filter__search {
  display: grid;
  place-items: center;
  width: 100%;
  height: 56px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background-color: #e33f22;
  border-radius: 10px;
}
.archive-programlist .filter__search button {
  width: 100%;
  height: 100%;
}
.archive-programlist .archive__result {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  padding: 0 4vw;
}
.archive-programlist .archive__result ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 24px;
}
.archive-programlist .archive__result li {
  position: relative;
  font-weight: bold;
  color: #e33f22;
}
.archive-programlist .archive__result li + li::before {
  position: relative;
  content: "／";
}
.archive-programlist .archive__container {
  position: relative;
  z-index: 1;
  margin-top: clamp(30px, 64 / 1600 * 100vw, 64px);
}
.archive-programlist .program-archive__list {
  display: grid;
  gap: clamp(24px, 56 / 1600 * 100vw, 56px);
}
.archive-programlist .program-archive__none {
  font-size: clamp(20px, 24 / 1600 * 100vw, 24px);
  font-weight: bold;
  line-height: 1.6;
  color: #e33f22;
  text-align: center;
}
.archive-programlist .program-archive__none + .c-button {
  margin: auto;
  margin-top: clamp(40px, 120 / 1600 * 100vw, 120px);
}

.archive-article {
  background-color: #fff;
}
.archive-article .l-page__header::before {
  z-index: 2;
}
.archive-article__desc + .archive-article__articles {
  margin-top: 24px;
}

.archive-article__categories {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.archive-article__categories .categories-title {
  font-size: 14px;
  font-weight: bold;
  color: #e33f22;
}
.archive-article__categories .categories-select {
  position: relative;
  width: 168px;
  height: 40px;
}
.archive-article__categories .categories-select::after {
  position: absolute;
  top: 0;
  right: 16px;
  bottom: 0;
  display: block;
  width: 12px;
  height: 8px;
  margin: auto;
  pointer-events: none;
  content: "";
  background: url("./assets/img/programlist/arrow_bottom.svg") no-repeat center/contain;
}
.archive-article__categories .categories-select select {
  width: 100%;
  height: 100%;
  padding: 8px 16px;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  color: #8a8a8a;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #e33f22;
  border-radius: 5px;
}
.archive-article__categories + .archive-article__articles {
  margin-top: 32px;
}

.archive-article__articles {
  position: relative;
  z-index: 2;
}
.archive-article__articles ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}
.archive-staff .staff-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.archive-staff .staff-card--top .staff-card__thumbnail {
  max-width: 460px;
}
.archive-staff .staff-card--top .staff-card__thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 23/18;
  -o-object-fit: cover;
     object-fit: cover;
}
.archive-staff .staff-card--top .staff-card__body .desc {
  line-height: 1.8;
}
.archive-staff .staff-card--top .staff-card__body .desc p + p {
  margin-top: 1.5em;
}
.archive-staff .staff-card--leader .staff-card__body .info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.archive-staff .staff-card--leader .staff-card__body .info__img {
  width: 120px;
  height: 120px;
}
.archive-staff .staff-card--leader .staff-card__body .desc {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.archive-staff .staff-list {
  display: grid;
  gap: 48px;
  margin-top: 48px;
}
.archive-staff .staff-card__thumbnail {
  position: relative;
  max-width: 460px;
}
.archive-staff .staff-card__thumbnail img {
  width: 100%;
  border-radius: 20px;
}
.archive-staff .staff-card__year {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 8px 16px;
  font-size: clamp(12px, 14 / 1600 * 100vw, 14px);
  font-weight: bold;
  line-height: 1;
  color: #e33f22;
  background-color: #fff;
  border-radius: 0 10px 0 0;
}
.archive-staff .staff-card__body .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.archive-staff .staff-card__body .info__img {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 3px solid #e33f22;
  border-radius: 100vh;
}
.archive-staff .staff-card__body .info__img img {
  width: auto;
  height: 80%;
}
.archive-staff .staff-card__body .info__text > h3 {
  font-size: 16px;
}
.archive-staff .staff-card__body .info__text > p {
  font-size: 12px;
}
.archive-staff .staff-card__body .desc {
  margin-top: 12px;
}
.archive-staff .term-list {
  margin-top: 24px;
  border-top: 1px solid #c9bfb6;
}
.archive-staff .term-list > li {
  cursor: pointer;
  border-bottom: 1px solid #c9bfb6;
}
.archive-staff .term-list > li.is-open h3 .icon {
  background-color: #8a8a8a;
}
.archive-staff .term-list > li.is-open h3 .icon::after {
  opacity: 0;
}
.archive-staff .term-list > li > h3 {
  position: relative;
  display: block;
  padding: 24px 0;
  font-size: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.archive-staff .term-list > li > h3 .icon {
  position: absolute;
  top: calc(50% - 10px);
  right: 0;
  width: 20px;
  height: 20px;
  background-color: #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.archive-staff .term-list > li > h3 .icon::before, .archive-staff .term-list > li > h3 .icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  content: "";
  background-color: #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.archive-staff .term-list > li > h3 .icon::after {
  width: 2px;
  height: 10px;
}
.archive-staff .leader-list {
  display: none;
  padding-bottom: 32px;
}
.archive-staff .leader-list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 0;
}

.archive-staff__heading {
  font-size: clamp(18px, 32 / 1600 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}

.archive-staff__desc {
  margin-top: 24px;
}

.archive-staff__top {
  margin-top: 24px;
}

.archive-staff__recruit01 {
  margin-top: clamp(80px, 160 / 1600 * 100vw, 160px);
}

.archive-staff__leader {
  margin-top: clamp(80px, 120 / 1600 * 100vw, 120px);
}

.archive-staff__recruit02 {
  margin-top: clamp(64px, 120 / 1600 * 100vw, 120px);
}

.archive-staff__slider {
  margin-top: clamp(64px, 120 / 1600 * 100vw, 120px);
}

.archive-goods {
  background-color: #fff;
}

.archive-goods__container {
  margin-top: 24px;
}
.archive-goods__container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(24px, 80 / 1280 * 100vw, 80px);
}
.archive-goods__container .goods-card {
  padding: clamp(16px, 40 / 1280 * 100vw, 40px);
  overflow: hidden;
  border: 2px solid #e33f22;
  border-radius: 20px;
}
.archive-goods__container .goods-card__thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 480/250;
  -o-object-fit: contain;
     object-fit: contain;
}
.archive-goods__container .goods-card__thumbnail img.noimage {
  -o-object-fit: cover;
     object-fit: cover;
}
.archive-goods__container .goods-card__title {
  margin-top: clamp(16px, 24 / 1280 * 100vw, 24px);
  font-size: clamp(16px, 20 / 1280 * 100vw, 20px);
}
.archive-goods__container .goods-card__price {
  margin-top: clamp(4px, 6 / 1280 * 100vw, 6px);
  font-size: clamp(14px, 16 / 1280 * 100vw, 16px);
  font-weight: bold;
}
.archive-goods__container .goods-card__desc {
  padding-top: clamp(16px, 24 / 1280 * 100vw, 24px);
  margin-top: clamp(16px, 24 / 1280 * 100vw, 24px);
  font-size: clamp(14px, 16 / 1280 * 100vw, 16px);
  border-top: 1px dashed #c9bfb6;
}
.archive-goods__container .goods-card__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}
.archive-goods__container .goods-card__action .button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 230px;
  height: clamp(56px, 72 / 1280 * 100vw, 72px);
  font-size: clamp(12px, 16 / 1280 * 100vw, 16px);
  font-weight: bold;
  color: #fff;
  background-color: #e33f22;
  border: 2px solid #e33f22;
  border-radius: 100vh;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.archive-goods__container .goods-card__action .button--outline {
  color: #e33f22;
  background-color: #fff;
}

.page-contact .l-page__container {
  padding-bottom: clamp(64px, 12.5vw, 200px);
  margin-bottom: 0;
}
.page-contact .form-message {
  margin-top: 32px;
}
.page-contact .form-message > h2 {
  font-size: clamp(20px, 32 / 1280 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.page-contact .form-message__img {
  width: clamp(85px, 143 / 1280 * 100vw, 143px);
  height: clamp(85px, 143 / 1280 * 100vw, 143px);
  margin: 16px auto 0;
  text-align: center;
}
.page-contact .form-message__img img {
  height: 100%;
}
.page-contact .form-message__desc {
  max-width: 640px;
  margin: 24px auto 0;
}
.page-contact .form-message__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}

.privacy .privacy-title {
  margin: clamp(56px, 64 / 1600 * 100vw, 64px) 0 16px;
  font-size: 16px;
  line-height: 1.6;
}
.privacy .privacy-description * {
  line-height: 1.85;
}
.privacy .privacy-description p {
  margin-top: 1em;
}
.privacy .privacy-description a {
  color: #e33f22;
  word-break: break-all;
}
.privacy .privacy-description ul {
  padding-left: 1em;
  margin-top: 1em;
}
.privacy .privacy-description ul li {
  list-style: disc;
}
.privacy .privacy-description ul li::marker {
  color: #e33f22;
}
.privacy .privacy-description ol {
  padding-left: 1.6em;
  margin-top: 1em;
}
.privacy .privacy-description ol li {
  list-style: decimal;
}
.privacy .privacy-description ul li + li,
.privacy .privacy-description ol li + li {
  margin-top: 4px;
}
.privacy .privacy-description ul ol,
.privacy .privacy-description ol ol {
  padding-left: 0;
  margin-top: 0;
}
.privacy .privacy-description ul ol li,
.privacy .privacy-description ol ol li {
  position: relative;
  padding-left: 1.6em;
  list-style-type: none;
  counter-increment: cnt;
}
.privacy .privacy-description ul ol li::before,
.privacy .privacy-description ol ol li::before {
  position: absolute;
  top: 0;
  left: -0.2em;
  width: 1.8em;
  text-align: right;
  content: "(" counter(cnt) ") ";
}
.privacy .privacy-description ul ul,
.privacy .privacy-description ol ul {
  padding-left: 1em;
  margin-top: 0;
}
.privacy .privacy-description ul ul li,
.privacy .privacy-description ol ul li {
  list-style: disc;
}
.privacy .privacy-description ul p,
.privacy .privacy-description ol p {
  margin-top: 0;
}
.privacy .privacy-description .info {
  margin-top: 1em;
}
.privacy .privacy-description .info p {
  margin-top: 0;
  font-weight: bold;
}
.privacy .privacy-date {
  margin-top: 40px;
}

.notfound .notfound__title {
  font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  color: #e33f22;
  text-align: center;
}
.notfound .notfound__illust {
  width: clamp(77px, 324 / 1600 * 100vw, 324px);
  margin: auto;
  margin-top: clamp(24px, 72 / 1600 * 100vw, 72px);
}
.notfound .notfound__description {
  max-width: 590px;
  margin: clamp(24px, 48 / 1600 * 100vw, 48px) auto 0;
}
.notfound .notfound__action {
  margin-top: clamp(64px, 80 / 1600 * 100vw, 80px);
}

/* ===================================================================
Theme Name:
Theme URI:
Description:
Author: FURAZOA inc
Author URI: https://furazoa.com
Version: 1.0.1
=================================================================== */
/*
* flocss: https://github.com/hiloki/flocss
*/
/* ==========================================================================
   Foundation
   ========================================================================== */
/* ==========================================================================
   Layout
   ========================================================================== */
/* ==========================================================================
   Object
   ========================================================================== */
/* ==========================================================================
   Pages
   ========================================================================== */
/* ==========================================================================
   Plugin
   ========================================================================== */
@media screen and (min-width: 375px) {
  .l-header__action .cta-button__icon {
    left: 20px;
  }
  .l-header__tel .tel-button__icon {
    left: 32px;
  }
  .page-program-child .l-page__title .detail .detail-item {
    font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  }
  .page-program-child .price .table-item .inner-item__text .text-red {
    font-size: 12px;
  }
  .page-member .way .way-detail .way-detail-item {
    font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  }
}
@media screen and (min-width: 425px) {
  .u-hide-up-xs {
    display: none !important;
  }
}
@media screen and (min-width: 554px) {
  .l-header__menu {
    margin-left: 16px;
  }
  .p-recruit-banner--top .p-recruit-banner__inner {
    padding: 56px 72px;
  }
  .p-recruit-banner__inner {
    padding: 56px 72px;
  }
  .p-article-card .p-article-card__info .date {
    font-size: 13px;
  }
  .p-article-card .p-article-card__info .category {
    font-size: 14px;
  }
  .u-hide-up-sm {
    display: none !important;
  }
  .page-front .mainview__container .action .cta-button__icon {
    left: 20px;
  }
  .page-front .mainview__container .action .cta-button__text {
    text-indent: 2em;
  }
  .page-front .topics__container {
    display: grid;
    grid-template-areas: "thumbnail heading" "thumbnail title";
    grid-template-rows: auto 1fr;
    grid-template-columns: 30% 1fr;
    gap: 8px 16px;
  }
  .page-front .topics__thumbnail {
    max-width: 290px;
    max-height: 160px;
  }
  .page-front .about__body > ul .point__text {
    text-align: center;
  }
  .page-about .promise__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 4vw;
  }
  .page-about .promise__list > li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .page-about .promise__list > li .text {
    width: auto;
    font-size: 11px;
    text-align: center;
  }
  .page-program-child .schedule .schedule-wrap {
    grid-template-columns: 1fr 1fr;
    gap: clamp(24px, 3.3333333333vw, 40px);
    margin-top: 48px;
  }
  .page-recruit .work__flow .flow-box {
    padding: 24px 0 48px;
  }
  .page-recruit .work__flow .flow-box ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 64px;
  }
  .page-recruit .work__flow .flow-box ul li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
  .page-recruit .work__flow .flow-box ul li .number::before {
    width: 104px;
    height: 2px;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  .page-recruit .work__flow .flow-box ul li .text {
    position: absolute;
    top: 48px;
    white-space: nowrap;
  }
  .page-volunteer .detail ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .page-volunteer .detail li + li {
    margin-top: 0;
  }
  .page-guideline .guideline-img {
    grid-template-columns: 216px 216px;
    place-content: center;
    margin: clamp(24px, 56 / 1600 * 100vw, 56px) 0 0;
  }
  .page-guideline .guideline-img li {
    grid-template-columns: initial;
  }
  .page-guideline .guideline-img img {
    width: clamp(120px, 180 / 1600 * 100vw, 180px);
  }
  .archive-staff .leader-list ul {
    grid-template-columns: repeat(3, 1fr);
  }
  .archive-staff__desc {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .l-page__container--footprint::before {
    display: block;
  }
  .l-page__container--footprint::after {
    display: block;
  }
  .l-page__breadcrumb {
    padding: 24px 40px;
  }
  .l-page__header {
    min-height: clamp(180px, 318 / 1600 * 100vw, 318px);
  }
  .l-header__menu {
    margin-left: 24px;
  }
  .l-footer {
    padding: 96px 0 0;
    background-size: 100% auto;
  }
  .l-footer__sns {
    position: initial;
    width: 538px;
    height: 243px;
    background: url("./assets/img/footer/bg_sns_pc.svg") no-repeat center center/contain;
  }
  .l-footer__sns .cloud--01 {
    top: calc(280 / 1920 * 100vw);
    left: calc(-50 / 1920 * 100vw);
    width: calc(190 / 1920 * 100vw);
    height: calc(74 / 1920 * 100vw);
  }
  .l-footer__sns .cloud--02 {
    top: calc(173 / 1920 * 100vw);
    left: calc(294 / 1920 * 100vw);
    width: calc(190 / 1920 * 100vw);
    height: calc(74 / 1920 * 100vw);
  }
  .l-footer__sns .cloud--03 {
    top: calc(204 / 1920 * 100vw);
    right: calc(122 / 1920 * 100vw);
    left: initial;
    width: calc(261 / 1920 * 100vw);
    height: calc(102 / 1920 * 100vw);
  }
  .l-footer__sns .sns-title {
    width: 211px;
  }
  .l-footer__sns ul {
    gap: 16px 24px;
    width: 100%;
    margin-top: 24px;
  }
  .l-footer__head {
    margin-top: 72px;
  }
  .l-footer__head .actions {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l-footer__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 28px;
  }
  .l-footer__info {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 68px;
  }
  .l-footer__info .address {
    margin-top: 8px;
  }
  .l-footer__info ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
    margin-top: 16px;
  }
  .l-footer__info .c-map-link {
    margin-top: 16px;
  }
  .l-footer__nav {
    margin-top: -70px;
    margin-left: auto;
  }
  .l-footer__links ul {
    gap: 12px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
  }
  .l-footer__links ul .square:nth-of-type(1) {
    grid-column: 1;
  }
  .l-footer__links ul .square:nth-of-type(2) {
    grid-row: 1;
    grid-column: 2;
  }
  .l-footer__links ul .square:nth-of-type(3) {
    grid-row: 2;
    grid-column: 1;
  }
  .l-footer__links ul .square:nth-of-type(4) {
    grid-row: 2;
    grid-column: 2;
  }
  .l-footer__links ul .round:nth-of-type(5) {
    grid-row: 3;
    margin-right: 0;
  }
  .l-footer__links ul .round:nth-of-type(6) {
    grid-row: 3;
    margin-left: 0;
  }
  .l-footer__bottom .inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 92vw;
    padding: 48px 0;
  }
  .p-form {
    margin-top: 72px;
  }
  .p-form__group {
    padding: 20px 0;
  }
  .p-form__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-form__row--top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-form__row--top > dt {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 17px;
  }
  .p-form__row--labeled {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-form__row--labeled > dt {
    padding-top: 42px;
  }
  .p-form__row > dt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 29%;
    padding-right: 20px;
  }
  .p-form__row > dt > .tag {
    font-size: 20px;
  }
  .p-form__row > dd {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-top: 0;
  }
  .p-form-controls {
    margin: 0 -12px;
  }
  .p-form-controls .p-form-control {
    padding: 0 12px;
  }
  .p-form-control + .p-form-control {
    margin-top: 16px;
  }
  .p-form-control input[type=text],
.p-form-control input[type=number],
.p-form-control input[type=email],
.p-form-control input[type=tel] {
    padding: 16px;
  }
  .p-form-control textarea {
    height: 242px;
    padding: 18px 16px;
  }
  .p-form-control--zip .c-input {
    min-width: 140px;
  }
  .p-form-control--zip .c-input + .c-input {
    margin-left: 22px;
  }
  .p-form-radios--horizontal,
.mwform-radio-field--horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -8px;
  }
  .p-form-radios--horizontal label,
.mwform-radio-field--horizontal label {
    padding: 8px 12px;
  }
  .p-form__consent {
    margin-top: 56px;
  }
  .p-form__actions {
    gap: 24px;
    margin-top: 48px;
  }
  .p-form__actions .back-btn {
    margin: 40px auto;
  }
  .p-program-child-card__inner {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(24px, 40 / 1600 * 100vw, 40px);
    padding: 40px clamp(24px, 40 / 1600 * 100vw, 40px);
    border-radius: 20px;
    -webkit-box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.1);
  }
  .p-program-child-card__image {
    aspect-ratio: 380/240;
  }
  .p-program-child-card__body .title {
    margin-top: 0;
  }
  .p-program-child-card__body .info {
    gap: 12px 0;
    margin-top: clamp(24px, 40 / 1600 * 100vw, 40px);
    margin-bottom: clamp(24px, 40 / 1600 * 100vw, 40px);
  }
  .p-program-child-card__body .info dd.row2 {
    display: initial;
    overflow: initial;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
  }
  .p-program-child-card__body .info dd.row1 {
    display: initial;
    overflow: initial;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
  }
  .p-program-child-card__body .overview {
    margin-bottom: clamp(24px, 40 / 1600 * 100vw, 40px);
  }
  .p-program-child-card__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: auto;
    margin-left: auto;
  }
  .p-program-child-card__link li {
    padding-top: 0;
    line-height: initial;
    border: none;
  }
  .p-program-child-card__day-mark {
    right: clamp(8px, 12 / 1600 * 100vw, 12px);
  }
  .p-program-child-card__year-mark {
    left: clamp(8px, 24 / 1600 * 100vw, 24px);
  }
  .p-recruit-banner--top .p-recruit-banner__inner {
    grid-template-columns: auto 1fr;
    padding: 56px 32px 40px;
  }
  .p-recruit-banner__inner {
    grid-template-areas: "body image" "action image";
    grid-template-columns: 1fr 1fr;
    padding: 56px 32px 40px;
    border-width: 3px;
    border-radius: 20px;
  }
  .p-recruit-banner__title {
    text-align: left;
  }
  .p-recruit-banner__desc {
    width: auto;
    margin: 16px 0 0;
  }
  .p-recruit-banner__action {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 32px;
  }
  .p-recruit-banner__img {
    margin-top: 0;
  }
  .p-contact-section {
    padding: 80px 40px 100px;
  }
  .p-contact-section__desc {
    text-align: center;
  }
  .p-contact-section__desc .notes {
    font-size: 12px;
    text-align: center;
  }
  .p-contact-section__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
    margin-top: 48px;
  }
  .p-contact-section__col {
    height: 100%;
  }
  .p-contact-section__col .contact-card .contact-card__inner {
    padding: 48px 16px;
    border-radius: 20px;
  }
  .p-article-card .p-article-card__thumbnail {
    position: relative;
    width: 100%;
  }
  .p-article-card .p-article-card__thumbnail img {
    aspect-ratio: 1.44/1;
  }
  .p-article-card .p-article-card__body {
    width: 100%;
    padding: 16px 5px;
  }
  .p-article-card .p-article-card__title {
    font-size: 14px;
  }
  .p-password-form {
    margin: 64px auto;
  }
  .p-password-form__input {
    font-size: 20px;
  }
  .p-slider .p-slider__slide img {
    border-radius: 20px;
  }
  .p-flow ul {
    gap: 130px;
  }
  .p-flow__item .number::before {
    width: 195px;
  }
  .p-flow__item .number .number__inner {
    width: 65px;
    height: 65px;
  }
  .p-flow__desc {
    font-size: 16px;
  }
  .p-fixed-banner {
    right: 50px;
    bottom: 56px;
  }
  .p-fixed-banner__close {
    top: -8px;
    right: initial;
    left: -8px;
    width: 24px;
    height: 24px;
    border-radius: 12px;
  }
  .p-fixed-banner__content {
    border-radius: 10px;
  }
  .p-container {
    padding-right: 40px;
    padding-left: 40px;
  }
  .p-container--lg {
    padding-right: 40px;
    padding-left: 40px;
  }
  .p-container--sm {
    padding-right: 40px;
    padding-left: 40px;
  }
  .p-pagination .p-pagination__list {
    gap: 40px;
  }
  .p-editor-content h1 {
    margin: 48px 0 25px;
    font-size: 28px;
  }
  .p-editor-content .alignright {
    float: right;
    margin-left: 15px;
  }
  .p-editor-content .alignleft {
    float: left;
    margin-right: 15px;
  }
  .p-editor-content ul {
    margin: 24px 0;
  }
  .p-editor-content ul > li::before {
    width: 6px;
    height: 6px;
  }
  .p-editor-content ol {
    margin: 24px 0;
  }
  .p-editor-content blockquote {
    width: 93.6%;
    margin: clamp(32px, 40 / 1600 * 100vw, 40px) auto;
    border-radius: 20px;
  }
  .p-editor-content table {
    margin: 25px 0;
  }
  .c-button--small {
    max-width: 232px;
  }
  .c-button-wrapper .c-button {
    margin: 0 8px;
  }
  .c-button-arrow .link-icon {
    width: 32px;
    height: 32px;
  }
  .c-button-arrow .link-icon svg {
    width: auto;
  }
  .c-map-link {
    font-size: 12px;
  }
  .c-input label {
    font-size: 14px;
  }
  .c-input--small {
    max-width: 210px;
  }
  .c-select {
    max-width: 210px;
  }
  .c-select::before {
    right: 24px;
  }
  .c-select select {
    padding: 16px;
  }
  .c-select--full {
    max-width: 100%;
  }
  .c-radio,
.mwform-radio-field label {
    font-size: 16px;
  }
  .u-hide-up-md {
    display: none !important;
  }
  .page-front .mainview .illust--map {
    left: calc(62 / 768 * 100vw);
  }
  .page-front .mainview .illust--glasses {
    left: calc(590 / 768 * 100vw);
  }
  .page-front .mainview .illust--canoe {
    left: calc(72 / 768 * 100vw);
  }
  .page-front .mainview .illust--flower01 {
    left: calc(112 / 768 * 100vw);
  }
  .page-front .mainview .illust--red-spin01 {
    top: clamp(10px, 10 / 375 * 100vw, 10 * 1.3px);
  }
  .page-front .mainview .illust--red-spin02 {
    left: calc(598 / 768 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark01 {
    left: calc(610 / 768 * 100vw);
  }
  .page-front .topics__container {
    gap: 12px 24px;
  }
  .page-front .topics__heading {
    padding-left: 48px;
  }
  .page-front .topics__heading > img {
    width: 103px;
  }
  .page-front .topics__heading::after {
    width: 40px;
    height: 32px;
  }
  .page-front .topics__title > h2 {
    font-size: 18px;
  }
  .page-front .find-program__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 64px;
  }
  .page-front .find-program__list li {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 230px;
  }
  .page-front .find-program__list .category-card {
    border-width: 3px;
  }
  .page-front .find-program__list .category-card__bg {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page-front .find-program__list .category-card__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-width: 3px;
  }
  .page-front .find-program__list .category-card__icon {
    width: 64px;
    height: 64px;
    margin-top: 16px;
  }
  .page-front .find-program__list .category-card__body {
    margin-top: 16px;
    margin-left: 0;
  }
  .page-front .find-program__list .category-card__title {
    font-size: 16px;
    text-align: center;
  }
  .page-front .find-program__list .category-card__title br {
    display: block;
  }
  .page-front .find-program__list .category-card__target {
    padding-top: 12px;
    margin-top: 12px;
    text-align: center;
  }
  .page-front .find-program__list .category-card__target::before {
    position: absolute;
    top: 0;
    left: calc(50% - 16px);
    width: 32px;
    height: 1px;
    content: "";
    background-color: #c9bfb6;
  }
  .page-front .find-program__list .category-card__arrow {
    margin-top: 24px;
    margin-left: 0;
  }
  .page-front .find-program__list .category-card__arrow svg {
    width: 46px;
    height: 46px;
  }
  .page-front .programs__head {
    padding: 0;
  }
  .page-front .programs__desc {
    margin-top: 24px;
    font-size: 16px;
    text-align: center;
  }
  .page-front .programs__container {
    padding: 0 40px;
  }
  .page-front .programs__container::before {
    left: 40px;
  }
  .page-front .programs__inner {
    padding: 0 40px 64px;
  }
  .page-front .program-slider__nav {
    position: absolute;
    top: calc(100% + 72px);
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page-front .program-slider__prev,
.page-front .program-slider__next {
    position: static;
    width: clamp(56px, 72 / 1600 * 100vw, 72px);
    height: clamp(56px, 72 / 1600 * 100vw, 72px);
    background-color: #e33f22;
    border-width: 2px;
    -webkit-transform: none;
            transform: none;
  }
  .page-front .program-slider__prev > svg,
.page-front .program-slider__next > svg {
    width: 18px;
    height: 17px;
  }
  .page-front .program-slider__prev > svg path,
.page-front .program-slider__next > svg path {
    fill: #fff;
  }
  .page-front .program-slider__action {
    position: relative;
    margin-top: 72px;
  }
  .page-front .past-slider__prev,
.page-front .past-slider__next {
    display: none;
  }
  .page-front .past__action {
    position: relative;
    margin-top: 72px;
  }
  .page-front .recommend::before {
    display: block;
  }
  .page-front .recommend::after {
    display: block;
  }
  .page-front .recommend__inner {
    padding: 0 40px 64px;
  }
  .page-front .recommend-slider__prev,
.page-front .recommend-slider__next {
    display: none;
  }
  .page-front .recommend__action {
    position: relative;
    margin-top: 72px;
  }
  .page-front .about__visual {
    margin-top: 48px;
  }
  .page-front .about__body {
    padding: 46px 0 clamp(56px, 172 / 1600 * 100vw, 172px);
  }
  .page-front .about__body .desc {
    font-size: 16px;
    text-align: center;
  }
  .page-front .about__body > ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 36px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 40px;
  }
  .page-front .about__body > ul .point {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    max-width: 334px;
  }
  .page-front .about__body > ul .point:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .page-front .about__body > ul .point__img {
    width: 100%;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  .page-front .about__body > ul .point__img {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
  }
  .page-front .about__body > ul .point__text {
    width: 100%;
    font-size: 18px;
    text-align: center;
  }
  .page-front .about__action {
    margin-top: 64px;
  }
  .page-front .news__container {
    margin-top: 48px;
  }
  .page-front .news__categories {
    margin-left: -24px;
  }
  .page-front .news__categories > li a {
    padding: 0 24px;
    font-size: 16px;
  }
  .page-front .news__list {
    margin-top: 40px;
    border-width: 2px;
  }
  .page-front .news__list li {
    border-width: 2px;
  }
  .page-front .news__list .news-item__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 36px 0;
  }
  .page-front .news__list .news-item__info {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 32px;
    font-size: 14px;
  }
  .page-front .news__list .news-item__title {
    padding-right: 40px;
    margin-top: 0;
  }
  .page-front .news__list .news-item__title::after {
    top: 0.3em;
    right: 10px;
  }
  .page-front .news__action {
    margin-top: 40px;
  }
  .page-front .access__container {
    gap: 0;
    margin-top: 56px;
  }
  .page-front .access__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .page-front .access__map {
    width: 50%;
  }
  .page-front .access__body {
    width: 50%;
    padding-left: 40px;
  }
  .page-front .access__body h3 {
    font-size: 20px;
  }
  .page-front .access__body .address {
    margin-top: 4px;
  }
  .page-front .access__body ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    margin-top: 16px;
  }
  .page-front .access__body ul li::before {
    top: calc(50% - 4px);
    width: 8px;
    height: 8px;
  }
  .page-front .access__body .map-link {
    margin-top: 16px;
    font-size: 12px;
  }
  .page-about .mainview {
    margin-top: 40px;
  }
  .page-about .mission {
    padding-top: 72px;
  }
  .page-about .mission__body::before {
    position: absolute;
    top: 32px;
    right: 110%;
    display: block;
    width: calc(155 / 1600 * 100vw);
    height: calc(420 / 1600 * 100vw);
    background: url("./assets/img/front/about_deco_01.svg") no-repeat center center/contain;
  }
  .page-about .mission__body::after {
    position: absolute;
    top: 0;
    left: 110%;
    display: block;
    width: calc(208 / 1600 * 100vw);
    height: calc(455 / 1600 * 100vw);
    background: url("./assets/img/front/about_deco_02.svg") no-repeat center center/contain;
  }
  .page-about .mission__body .copy {
    margin-top: 56px;
  }
  .page-about .mission__body .desc {
    padding: 0;
    margin: 32px auto 0;
    font-size: 16px;
  }
  .page-about .vision__head {
    padding: 56px 0;
    margin-top: 52px;
  }
  .page-about .vision__head .gaiakun {
    bottom: calc(100% - 12px);
    left: 2%;
    -webkit-transform: none;
            transform: none;
  }
  .page-about .vision-heading {
    gap: 12px;
  }
  .page-about .vision-heading__num {
    width: 48px;
    height: 48px;
  }
  .page-about .vision__container .vision-block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 0;
  }
  .page-about .vision__container .vision-block:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .page-about .vision__container .vision-block:nth-child(even) .vision-block__body {
    padding-right: 0;
    padding-left: 40px;
  }
  .page-about .vision__container .vision-block__image {
    width: 50%;
  }
  .page-about .vision__container .vision-block__body {
    width: 50%;
    padding-right: 40px;
  }
  .page-about .promise__desc {
    text-align: center;
  }
  .page-about .promise__visual {
    margin-top: 36px;
  }
  .page-about .promise__list {
    gap: 40px;
    margin-top: 40px;
  }
  .page-about .promise__list > li {
    gap: 16px;
  }
  .page-about .promise__list > li .text {
    font-size: clamp(14px, 20 / 1200 * 100vw, 20px);
  }
  .page-about .slider {
    padding: 90px 0 120px;
  }
  .page-album__content .desc {
    font-size: 16px;
    text-align: center;
  }
  .page-album__list .album-list ul {
    margin-top: 64px;
  }
  .page-album__list .album-list li {
    padding-right: 42px;
  }
  .page-album__list .album-list li::after {
    right: 10px;
  }
  .page-album__list .album-list li a {
    padding: 32px 0;
    font-size: 20px;
  }
  .page-album__list .album-list__heading {
    margin-top: 80px;
  }
  .page-program .page-program__list {
    gap: 16px 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 900px;
    padding: 0 40px;
  }
  .page-program .page-program__list > li {
    width: calc((100% - 72px) / 3);
  }
  .page-program .program-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    background: url("./assets/img/program/program-link_bg.svg") no-repeat center center/contain;
    border: none;
  }
  .page-program .program-link__icon {
    display: block;
    width: 32px;
    height: 28px;
  }
  .page-program .program-link__title {
    font-size: clamp(12px, 16 / 1000 * 100vw, 16px);
    text-align: center;
  }
  .page-program .program-link__arrow {
    margin: 0 auto;
  }
  .page-program .programs__list > li {
    padding: clamp(120px, 160 / 1600 * 100vw, 160px) 40px;
  }
  .page-program .programs__list > li:nth-child(even) .program-block__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .page-program .programs__list .program-block__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 40px;
  }
  .page-program .programs__list .program-block__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 40%;
  }
  .page-program .programs__list .program-block__body .title {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .page-program .programs__list .program-block__body .title > img {
    top: -3em;
    left: 0;
    -webkit-transform: none;
            transform: none;
  }
  .page-program .programs__list .program-block__body .target {
    margin: 32px 0 0;
  }
  .page-program .programs__list .program-block__body .action {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .page-program-child .l-page__title .detail {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 24px 32px;
    margin-top: 24px;
  }
  .page-program-child .l-page__title .detail .detail-item {
    padding: 0 24px;
  }
  .page-program-child .l-page__title .detail .detail-item.detail-item--age + .detail-item--age {
    width: auto;
    text-align: left;
  }
  .page-program-child .l-page__title .bg-illust {
    top: 0;
  }
  .page-program-child .l-page__title .bg-illust--rangers {
    top: -32px;
  }
  .page-program-child .l-page__title .bg-illust--fh {
    top: -24px;
  }
  .page-program-child .l-page__title .bg-illust--ponopono {
    top: -8px;
  }
  .page-program-child .l-page__title .bg-illust--camp {
    top: -8px;
  }
  .page-program-child .l-page__title .bg-illust--kindergarten {
    top: -24px;
  }
  .page-program-child .l-page__title .bg-illust--kindergarten02 {
    top: clamp(-52px, -24 / 1600 * 100vw, -24px);
  }
  .page-program-child .l-page__title .bg-illust--afterschoolcenter {
    top: -32px;
  }
  .page-program-child .program-child-title--second {
    margin-top: 80px;
  }
  .page-program-child .program-child-description {
    text-align: center;
  }
  .page-program-child .program-child-description--left {
    text-align: left;
  }
  .page-program-child .description .description-wrap__img {
    margin-right: -40px;
    margin-left: -40px;
  }
  .page-program-child .point .point-wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 100%;
    padding: 0;
    margin-top: 64px;
  }
  .page-program-child .point .point-item .image {
    width: clamp(160px, 298 / 1600 * 100vw, 298px);
  }
  .page-program-child .point .point-item .image .number {
    left: clamp(-40px, -20 / 1600 * 100vw, -20px);
    width: clamp(64px, 120 / 1600 * 100vw, 120px);
  }
  .page-program-child .point .point-item .title {
    margin-top: 16px;
  }
  .page-program-child .point .point-item .text {
    margin-top: 16px;
  }
  .page-program-child .price .price-table {
    display: grid;
    grid-template-columns: 1fr 2.4fr 2.4fr;
    margin-top: 48px;
  }
  .page-program-child .price .table-title > div {
    border: 3px solid #cee3d5;
    border-right: none;
  }
  .page-program-child .price .table-item {
    border: none;
    border-radius: 0;
  }
  .page-program-child .price .table-item + .table-item {
    margin-top: 0;
  }
  .page-program-child .price .table-item + .table-item .title {
    margin-right: 0;
    margin-left: 10px;
  }
  .page-program-child .price .table-item + .table-item .inner {
    border-right: 3px solid #cee3d5;
  }
  .page-program-child .price .table-item .title {
    margin-right: 8px;
    margin-left: 2px;
    border-radius: 20px 20px 0 0;
  }
  .page-program-child .price .table-item .inner-item {
    grid-template-columns: initial;
    height: 190px;
    border-bottom: 3px solid #cee3d5;
  }
  .page-program-child .price .table-item .inner-item:first-child {
    border-top: 3px solid #cee3d5;
  }
  .page-program-child .price .table-item .inner-item:last-child {
    border-bottom: 3px solid #cee3d5;
  }
  .page-program-child .price .table-item .inner-item::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 3px;
    height: 90%;
    margin: auto;
    content: "";
    background-color: #cee3d5;
  }
  .page-program-child .price .table-item .inner-item__text::before {
    content: none;
  }
  .page-program-child .price .table-item .inner-item__text .text-red {
    margin-right: 0;
    margin-left: 0;
    font-size: 14px;
  }
  .page-program-child .price .table-item .inner-item__text .text-red + p {
    margin-top: 16px;
  }
  .page-program-child .price .table-item .inner-item__text .text-notes {
    font-size: 12px;
  }
  .page-program-child .price .table-item .inner-item__text .text-notes--center {
    margin-top: 12px;
    text-align: center;
  }
  .page-program-child .price .price-button {
    margin-top: 48px;
  }
  .page-program-child .schedule .schedule-item__title {
    padding: clamp(16px, 2.6666666667vw, 32px);
    border-radius: 20px;
  }
  .page-program-child .schedule .schedule-item__text {
    margin-top: 32px;
    font-size: 15px;
  }
  .page-program-child .schedule .schedule-item__timetable {
    margin: clamp(24px, 4.6666666667vw, 56px) auto 0;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-item {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: clamp(16px, 32 / 1600 * 100vw, 32px);
    padding-bottom: 40px;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-item::before {
    border: 3px solid #e33f22;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-item--text .timetable-text {
    margin-top: 0;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-text {
    margin-top: -6px;
    font-size: 16px;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-text p + .notes {
    line-height: 1.6;
  }
  .page-program-child .schedule .schedule-item__timetable .timetable-text .notes {
    font-size: 12px;
    line-height: 2.4;
  }
  .page-program-child .schedule .schedule-item__timetable--full .timetable-item {
    grid-template-columns: 1fr 4fr;
    gap: clamp(1px, 48 / 1600 * 100vw, 48px);
  }
  .page-program-child .schedule .schedule-item__list {
    margin: clamp(24px, 4vw, 48px) 0 0 clamp(24px, 4vw, 48px);
  }
  .page-program-child .schedule .schedule-item__list li {
    padding-left: 14px;
    font-size: 16px;
  }
  .page-program-child .schedule .schedule-item__list li::before {
    top: 11px;
    width: 6px;
    height: 6px;
  }
  .page-program-child .schedule-notes {
    padding: clamp(40px, 56 / 1600 * 100vw, 56px) clamp(16px, 132 / 1600 * 100vw, 132px) clamp(40px, 80 / 1600 * 100vw, 80px);
    border-radius: 20px;
  }
  .page-program-child .schedule-notes .notes-list li {
    padding-left: 14px;
    font-size: 16px;
  }
  .page-program-child .schedule-notes .notes-list li::before {
    top: 11px;
    width: 6px;
    height: 6px;
  }
  .page-program-child .course .course-wrap {
    gap: 40px;
    margin-top: 32px;
  }
  .page-program-child .course .course__action {
    margin-top: 56px;
  }
  .page-program-child .overview-wrap .overview-item {
    border: 3px solid #c9bfb6;
    border-radius: 20px;
  }
  .page-program-child .overview-wrap .overview-detail {
    display: grid;
    grid-template-columns: clamp(120px, 200 / 1600 * 100vw, 200px) auto;
    font-size: 16px;
  }
  .page-program-child .overview-wrap .overview-detail dt {
    padding: 16px 8px;
    border-bottom: 2px solid #76571b;
  }
  .page-program-child .overview-wrap .overview-detail dd {
    padding: 16px 0 16px 8px;
  }
  .page-program-child .overview-wrap .overview-detail dd span {
    display: inline-block;
    width: 96px;
  }
  .page-program-child .overview-wrap .overview-detail .other-list li {
    padding-left: 14px;
  }
  .page-program-child .overview-wrap .overview-detail .other-list li::before {
    top: 11px;
    width: 6px;
    height: 6px;
  }
  .page-program-child .map-link {
    font-size: 12px;
  }
  .page-program-child .bg-color-wrap {
    border-radius: 20px;
  }
  .page-program-child .bg-color-wrap .center {
    text-align: center;
  }
  .page-program-child .bg-color-wrap .c-button__icon {
    margin-left: clamp(24px, 36 / 1600 * 100vw, 36px);
  }
  .page-program-child .bg-color-wrap .c-button__text {
    margin-right: clamp(24px, 36 / 1600 * 100vw, 36px);
    text-indent: 0.5em;
  }
  .page-program-child .class-wrap .class-item {
    border-radius: 20px;
  }
  .page-program-child .class-wrap .class-item__title {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  .page-program-child .class-wrap .class-item__description {
    grid-template-columns: 1fr 1.34fr;
  }
  .page-program-child .class-wrap .class-item__description .info {
    gap: 14px 0;
    margin-bottom: 16px;
  }
  .page-program-child .class-wrap .description-img {
    aspect-ratio: 379/400;
    border-radius: 20px;
  }
  .page-program-child .class-wrap .c-button-arrow {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: auto;
  }
  .page-profile__company {
    padding: 32px 40px;
  }
  .page-profile__company table {
    table-layout: initial;
  }
  .page-profile__company tr {
    display: table-row;
    width: 100%;
    padding: 0;
    border: none;
  }
  .page-profile__company th,
.page-profile__company td {
    display: table-cell;
    padding: 18px 8px;
    font-size: 16px;
  }
  .page-profile__company th {
    width: 200px;
    vertical-align: top;
    border-bottom: 2px solid #76571b;
  }
  .page-profile__company td {
    width: calc(100% - 200px);
    border-bottom: 2px solid #c9bfb6;
  }
  .page-profile__company ul li::before {
    width: 6px;
    height: 6px;
  }
  .page-profile__company .c-map-link {
    margin-top: 8px;
  }
  .page-profile__history {
    margin: 120px auto 0;
  }
  .page-profile__history table {
    margin-top: 32px;
    table-layout: initial;
    border-top: 2px dashed #c9bfb6;
  }
  .page-profile__history tr {
    display: table-row;
    width: 100%;
    padding: 0;
    border: none;
  }
  .page-profile__history th,
.page-profile__history td {
    display: table-cell;
    padding: 32px 0;
    font-size: 16px;
  }
  .page-profile__history th {
    width: 200px;
    border-bottom: 2px dashed #c9bfb6;
  }
  .page-profile__history td {
    width: calc(100% - 200px);
    margin-top: 0;
    border-bottom: 2px dashed #c9bfb6;
  }
  .page-recruit .section-desc {
    font-size: 16px;
  }
  .page-recruit .about__illust {
    margin-top: 30px;
  }
  .page-recruit .about__illust .p-about-visual {
    margin-bottom: -150px;
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
    -webkit-transform-origin: top center;
            transform-origin: top center;
  }
  .page-recruit .about__text {
    font-size: 16px;
  }
  .page-recruit .policy {
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .page-recruit .policy__container {
    width: 90vw;
    padding: clamp(24px, 64 / 992 * 100vw, 64px) clamp(16px, 100 / 992 * 100vw, 100px);
  }
  .page-recruit .policy__img {
    margin-top: 32px;
  }
  .page-recruit .policy__heading {
    margin-top: 44px;
    text-align: center;
  }
  .page-recruit .policy__desc {
    margin-top: 40px;
    font-size: 16px;
  }
  .page-recruit .movie {
    margin: 80px auto;
  }
  .page-recruit .work__block {
    padding: 32px 40px;
    margin-top: 64px;
  }
  .page-recruit .work__block > p {
    margin-top: 24px;
  }
  .page-recruit .work__block > table {
    margin-top: 40px;
    table-layout: initial;
  }
  .page-recruit .work__block tr {
    display: table-row;
    width: 100%;
    padding: 0;
    border: none;
  }
  .page-recruit .work__block th,
.page-recruit .work__block td {
    display: table-cell;
    padding: 18px 8px;
    font-size: 16px;
  }
  .page-recruit .work__block th {
    width: 200px;
    vertical-align: top;
    border-bottom: 2px solid #76571b;
  }
  .page-recruit .work__block td {
    width: calc(100% - 200px);
    border-bottom: 2px solid #c9bfb6;
  }
  .page-recruit .work__block ul li::before {
    width: 6px;
    height: 6px;
  }
  .page-recruit .work__block .c-map-link {
    margin-top: 8px;
  }
  .page-recruit .work__block .message {
    padding: 80px 0;
    margin-top: 64px;
    font-size: 24px;
    border-width: 2px;
  }
  .page-recruit .work__flow {
    padding: 32px 40px;
    margin-top: 64px;
  }
  .page-recruit .work__flow > p {
    margin-top: 16px;
    font-size: 16px;
    text-align: center;
  }
  .page-recruit .work__flow .flow-box {
    padding: 32px 0 64px;
  }
  .page-recruit .work__flow .flow-box h4 {
    width: 168px;
    height: 72px;
  }
  .page-recruit .work__flow .flow-box ul {
    gap: 120px;
  }
  .page-recruit .work__flow .flow-box ul li .number::before {
    width: 184px;
  }
  .page-recruit .work__flow .flow-box ul li .number__inner {
    width: 64px;
    height: 64px;
  }
  .page-recruit .work__flow .flow-box ul li .text {
    top: 72px;
    font-size: 16px;
  }
  .page-recruit .work__action {
    margin-top: 56px;
  }
  .page-recruit .work__action + .section-heading {
    margin-top: 120px;
  }
  .page-recruit .work__slider {
    padding: 120px 0;
  }
  .page-volunteer .section-desc {
    font-size: 16px;
  }
  .page-volunteer .detail ul {
    margin-top: 72px;
  }
  .page-guideline .anchor-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
  }
  .page-guideline .anchor-link a {
    display: inline-block;
  }
  .page-guideline .anchor-link a::after {
    margin-left: 8px;
  }
  .page-guideline .guideline-sub-title {
    border-bottom: 2px solid #c9bfb6;
  }
  .page-guideline .guideline-box {
    max-width: 95%;
    padding: clamp(24px, 40 / 1600 * 100vw, 40px);
  }
  .page-guideline .guideline-box .box__list--icon .box-item {
    grid-template-columns: clamp(100px, 126 / 1600 * 100vw, 126px) auto;
    gap: clamp(12px, 48 / 1600 * 100vw, 48px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .page-guideline .guideline-box .box__list--icon .box-item img {
    width: auto;
    margin: inherit;
  }
  .page-guideline .guideline-box .box__list--icon .title {
    text-align: left;
  }
  .page-guideline .guideline-box .box__list--text .box-item {
    grid-template-columns: 224px auto;
    gap: clamp(4px, 56 / 1600 * 100vw, 56px);
  }
  .page-member .member-text {
    text-align: center;
  }
  .page-member .way .way-detail .way-detail-item {
    padding: 0 24px;
  }
  .page-member .way .way-box {
    max-width: 100%;
    padding: clamp(24px, 40 / 1600 * 100vw, 40px);
    border-radius: 20px;
  }
  .page-member .way .way-box .box-item {
    grid-template-columns: 30% auto;
    place-items: center;
  }
  .page-member .benefit .benefit-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 100%;
    padding: 0;
    margin-top: 64px;
  }
  .page-member .benefit .benefit-wrap::before {
    display: block;
  }
  .page-member .benefit .benefit-wrap::after {
    display: block;
  }
  .page-member .benefit .benefit-item {
    max-width: 300px;
  }
  .page-member .benefit .benefit-item .image {
    width: clamp(160px, 298 / 1600 * 100vw, 298px);
  }
  .page-member .benefit .benefit-item .image .number {
    left: clamp(-40px, -20 / 1600 * 100vw, -20px);
    width: clamp(64px, 120 / 1600 * 100vw, 120px);
  }
  .page-member .benefit .benefit-item .title {
    margin-top: 16px;
  }
  .page-member .benefit .benefit-item .text {
    margin-top: 16px;
  }
  .page-member .benefit .benefit-item .c-button__text {
    text-indent: 0;
  }
  .page-member .flow .flow-box {
    max-width: 100%;
    padding: clamp(24px, 64 / 1600 * 100vw, 64px) clamp(16px, 5.2083333333vw, 100px) clamp(24px, 100 / 1600 * 100vw, 100px);
    border-radius: 30px;
  }
  .page-member .flow .flow-box .box-item {
    grid-template-columns: clamp(56px, 64 / 1600 * 100vw, 64px) clamp(120px, 140 / 1600 * 100vw, 140px) auto;
    gap: clamp(24px, 3.3333333333vw, 64px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0;
  }
  .page-member .flow .flow-box .box-item::before {
    bottom: -40%;
    left: clamp(27px, 30 / 1600 * 100vw, 30px);
    width: 4px;
    height: 90%;
  }
  .page-member .flow .flow-box .box-item + .box-item::after {
    width: calc(100% - clamp(80px, 88 / 1600 * 100vw, 88px));
  }
  .page-member .flow .flow-box .box-item .icon {
    position: relative;
    left: auto;
    width: auto;
  }
  .page-member .flow .flow-box .box-item .title {
    text-align: center;
  }
  .page-member .faq .faq-item {
    border-bottom: 2px solid #c9bfb6;
  }
  .page-member .faq .faq-item:first-child {
    border-top: 2px solid #c9bfb6;
  }
  .page-member .faq .faq-item .question .icon {
    top: 0.3em;
    width: 24px;
    height: 24px;
  }
  .single-programlist .article__header {
    grid-template-columns: 1fr 1fr;
  }
  .single-programlist .article .article__thumbnail {
    aspect-ratio: 500/382;
  }
  .single-programlist .article__info .info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .single-programlist .article__info .info-date .day {
    font-size: 16px;
  }
  .single-programlist .article__info .info-payment .c-button {
    margin: initial;
  }
  .single-programlist .map-link {
    margin-top: 16px;
    font-size: 12px;
  }
  .single-programlist .program-column {
    grid-template-columns: 1fr 2.53fr;
    gap: 32px;
  }
  .single-programlist .program-schedule-items .time {
    min-width: 80px;
  }
  .single-article .article__info {
    margin-top: 32px;
  }
  .single-article .article__info .date {
    font-size: 14px;
  }
  .single-article .article__info .category a {
    font-size: 14px;
  }
  .single-article .article__content {
    margin-top: 32px;
  }
  .single-article .single-article__back {
    margin-top: 120px;
  }
  .archive .archive__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 24px -16px 0;
  }
  .archive .archive__item {
    width: 33.3333333333%;
    padding: 24px 16px;
  }
  .archive .archive__item + .archive__item {
    margin-top: 0;
  }
  .archive-programlist .archive__filter {
    padding-right: 40px;
    padding-left: 40px;
    margin-right: auto;
    margin-left: auto;
  }
  .archive-programlist .filter__wrap {
    border-radius: 10px;
  }
  .archive-programlist .filter__area {
    width: auto;
  }
  .archive-programlist .filter__area .filter__area-inner .select {
    width: 116px;
  }
  .archive-programlist .filter__area .filter__area-inner .select--long {
    width: 258px;
  }
  .archive-programlist .filter__check {
    text-align: center;
  }
  .archive-programlist .filter__search {
    width: 116px;
    height: 40px;
    margin-top: 0;
  }
  .archive-programlist .archive__result {
    padding-right: 40px;
    padding-left: 40px;
    margin-right: auto;
    margin-left: auto;
  }
  .archive-programlist .archive__result li {
    font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  }
  .archive-programlist .program-archive__none {
    line-height: 2;
  }
  .archive-article__desc {
    font-size: 16px;
    text-align: center;
  }
  .archive-article__desc + .archive-article__articles {
    margin-top: 80px;
  }
  .archive-article__categories {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .archive-article__categories .categories-title {
    font-size: 16px;
  }
  .archive-article__categories .categories-select select {
    border-radius: 10px;
  }
  .archive-article__articles ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px 20px;
  }
  .archive-article__articles li {
    width: calc((100% - 40px) / 3);
  }
  .archive-staff .staff-card {
    gap: 16px;
  }
  .archive-staff .staff-card--top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
  }
  .archive-staff .staff-card--top .staff-card__body .info__img {
    width: 64px;
    height: 64px;
  }
  .archive-staff .staff-card--leader .staff-card__body .info__img {
    width: 128px;
    height: 128px;
  }
  .archive-staff .staff-card--leader .staff-card__body .desc {
    margin-top: 4px;
  }
  .archive-staff .staff-list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(48px, 80 / 1600 * 100vw, 80px) clamp(24px, 40 / 1600 * 100vw, 40px);
  }
  .archive-staff .staff-card__body .info {
    gap: 12px;
  }
  .archive-staff .staff-card__body .info__img {
    width: 56px;
    height: 56px;
  }
  .archive-staff .staff-card__body .info__text > h3 {
    font-size: 20px;
  }
  .archive-staff .staff-card__body .info__text > p {
    font-size: 14px;
  }
  .archive-staff .staff-card__body .desc {
    margin-top: 16px;
  }
  .archive-staff .term-list {
    margin-top: 40px;
  }
  .archive-staff .term-list > li > h3 {
    padding: 40px 0;
    font-size: 20px;
  }
  .archive-staff .term-list > li > h3 .icon {
    top: calc(50% - 12px);
    width: 24px;
    height: 24px;
  }
  .archive-staff .leader-list {
    padding-bottom: 80px;
  }
  .archive-staff .leader-list ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 80px 0;
  }
  .archive-goods__desc {
    font-size: 16px;
    text-align: center;
  }
  .archive-goods__container {
    margin-top: 80px;
  }
  .archive-goods__container ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .archive-goods__container .goods-card__desc {
    border-width: 2px;
  }
  .page-contact .form-message {
    margin-top: 40px;
  }
  .page-contact .form-message__img {
    margin-top: 52px;
  }
  .page-contact .form-message__desc {
    margin-top: 40px;
  }
  .page-contact .form-message__action {
    gap: 24px;
    margin-top: 72px;
  }
  .privacy .privacy-title {
    font-size: 18px;
  }
  .notfound .notfound__illust {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (hover) and (min-width: 768px) {
  .page-front .find-program__list .category-card:hover {
    -webkit-box-shadow: 0 3px 20px rgba(0, 0, 0, 0.15);
            box-shadow: 0 3px 20px rgba(0, 0, 0, 0.15);
  }
  .page-front .find-program__list .category-card:hover .category-card__inner {
    background: transparent;
  }
  .page-front .find-program__list .category-card:hover .category-card__icon {
    opacity: 0;
  }
  .page-front .find-program__list .category-card:hover .category-card__title,
.page-front .find-program__list .category-card:hover .category-card__target {
    color: #fff;
  }
  .page-front .find-program__list .category-card:hover .category-card__arrow svg circle {
    stroke: #fff;
  }
  .page-front .find-program__list .category-card:hover .category-card__arrow svg path {
    fill: #fff;
  }
}
@media screen and (min-width: 992px) {
  * {
    scroll-padding-top: 100px;
  }
  .l-main {
    padding-top: 100px;
  }
  .l-header.is-open .l-header__drawer-bg {
    z-index: 2;
    visibility: visible;
    opacity: 1;
  }
  .l-header__inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: 100px;
    padding: 0 16px;
  }
  .l-header__logo {
    width: clamp(190px, 17.1875vw, 330px);
  }
  .l-header__nav {
    top: 0;
    z-index: 3;
    width: 375px;
    height: 100vh;
    padding-top: 0;
  }
  .l-header__nav::before {
    top: 100px;
  }
  .l-header__nav .logo {
    display: block;
  }
  .l-header__nav > ul {
    margin-top: 114px;
  }
  .l-header__tel {
    display: block;
    margin-left: auto;
  }
  .l-header__tel .tel-button {
    gap: 6px;
    height: auto;
    margin-top: 0;
    background-color: initial;
    border: none;
  }
  .l-header__tel .tel-button__icon {
    position: static;
    width: auto;
    background-color: initial;
  }
  .l-header__tel .tel-button__icon > svg path {
    fill: #000;
  }
  .l-header__tel .tel-button__text {
    color: #000;
  }
  .l-header__program {
    margin-left: 24px;
  }
  .l-header__program .program-button {
    width: 200px;
    background-color: #ff6b2b;
    border-radius: 5px;
  }
  .l-header__program .program-button img {
    display: none;
  }
  .l-header__program .program-button__text {
    font-size: 14px;
    color: #fff;
  }
  .l-header__program .program-button__text span {
    display: inline;
  }
  .l-footer__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-footer__nav {
    grid-template-areas: "about program admission" "about program company" "programlist program company" "programlist program other";
    grid-template-columns: 30% auto auto;
    gap: 24px 40px;
    margin-top: 0;
  }
  .l-footer__nav .nav-block ul li span {
    display: inline;
  }
  .l-footer__links {
    padding: 42px;
    margin-top: 112px;
    border-radius: 20px;
  }
  .l-footer__links ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
  }
  .l-footer__links ul .square {
    width: auto;
  }
  .l-footer__links ul .square:nth-of-type(3) {
    grid-row: 1;
    grid-column: 3;
  }
  .l-footer__links ul .square:nth-of-type(4) {
    grid-row: 1;
    grid-column: 4;
  }
  .l-footer__links ul .round:nth-of-type(5) {
    grid-row: 2;
    grid-column: 2;
  }
  .l-footer__links ul .round:nth-of-type(6) {
    grid-row: 2;
    grid-column: 3;
  }
  .l-footer__bottom .inner {
    width: 80vw;
  }
  .p-form__row > dt > label {
    font-size: 16px;
  }
  .p-form__row > dt > label > small {
    font-size: 13px;
  }
  .p-program-child-card__inner {
    grid-template-columns: 1fr 1.3fr;
  }
  .p-program-child-card__body .overview {
    -webkit-line-clamp: 4;
  }
  .p-article-card .p-article-card__title {
    font-size: 16px;
  }
  .p-slider {
    padding: 90px 0 120px;
  }
  .p-section-title .p-section-title__en {
    font-size: 32px;
  }
  .p-section-title .p-section-title__ja {
    font-size: 14px;
  }
  .p-editor-content p {
    font-size: 16px;
  }
  .p-editor-content p a:hover {
    text-decoration: underline;
  }
  .p-editor-content ul > li {
    font-size: 16px;
  }
  .p-editor-content ol > li {
    font-size: 16px;
  }
  .c-button-arrow {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-button-arrow .link-text {
    font-size: clamp(14px, 16 / 1600 * 100vw, 16px);
  }
  .c-title__en + .c-title__ja {
    margin-top: 16px;
  }
  .u-hide-up-lg {
    display: none !important;
  }
  .u-tel-link {
    pointer-events: none;
  }
  .page-front .mainview .illust--woman {
    top: calc(33 / 1920 * 100vw);
    left: calc(60 / 1920 * 100vw);
    width: calc(492 / 1920 * 100vw);
    height: calc(588 / 1920 * 100vw);
  }
  .page-front .mainview .illust--man {
    top: calc(580 / 1920 * 100vw);
    right: calc(36 / 1920 * 100vw);
    width: calc(402 / 1920 * 100vw);
    height: calc(342 / 1920 * 100vw);
  }
  .page-front .mainview .illust--map {
    top: calc(380 / 1920 * 100vw);
    left: calc(414 / 1920 * 100vw);
    width: calc(165 / 1920 * 100vw);
    height: calc(139 / 1920 * 100vw);
  }
  .page-front .mainview .illust--glasses {
    top: calc(386 / 1920 * 100vw);
    left: calc(1309 / 1920 * 100vw);
    width: calc(162.57 / 1920 * 100vw);
    height: calc(159 / 1920 * 100vw);
  }
  .page-front .mainview .illust--bonfire {
    top: calc(770 / 1920 * 100vw);
    left: calc(1343 / 1920 * 100vw);
    width: calc(116 / 1920 * 100vw);
    height: calc(138 / 1920 * 100vw);
  }
  .page-front .mainview .illust--canoe {
    top: calc(772 / 1920 * 100vw);
    left: calc(226 / 1920 * 100vw);
    width: calc(154 / 1920 * 100vw);
    height: calc(208 / 1920 * 100vw);
  }
  .page-front .mainview .illust--flower01 {
    top: calc(255 / 1920 * 100vw);
    left: calc(512 / 1920 * 100vw);
    width: calc(77 / 1920 * 100vw);
    height: calc(77 / 1920 * 100vw);
  }
  .page-front .mainview .illust--flower02 {
    top: calc(375 / 1920 * 100vw);
    left: calc(1587 / 1920 * 100vw);
    width: calc(77 / 1920 * 100vw);
    height: calc(77 / 1920 * 100vw);
  }
  .page-front .mainview .illust--flower03 {
    top: calc(578 / 1920 * 100vw);
    left: calc(90 / 1920 * 100vw);
    display: block;
    width: calc(144 / 1920 * 100vw);
    height: calc(144 / 1920 * 100vw);
  }
  .page-front .mainview .illust--footprint {
    top: calc(818 / 1920 * 100vw);
    left: calc(52 / 1920 * 100vw);
    display: block;
    width: calc(96 / 1920 * 100vw);
    height: calc(92 / 1920 * 100vw);
  }
  .page-front .mainview .illust--green-spin01 {
    top: calc(228 / 1920 * 100vw);
    left: calc(1516 / 1920 * 100vw);
    width: calc(67 / 1920 * 100vw);
    height: calc(50 / 1920 * 100vw);
    -webkit-transform: none;
            transform: none;
  }
  .page-front .mainview .illust--green-spin02 {
    top: calc(851 / 1920 * 100vw);
    left: calc(497 / 1920 * 100vw);
    width: calc(67 / 1920 * 100vw);
    height: calc(50 / 1920 * 100vw);
  }
  .page-front .mainview .illust--hand {
    top: calc(41 / 1920 * 100vw);
    left: calc(1615 / 1920 * 100vw);
    display: block;
    width: calc(93 / 1920 * 100vw);
    height: calc(155 / 1920 * 100vw);
  }
  .page-front .mainview .illust--lamp {
    top: calc(315 / 1920 * 100vw);
    left: calc(1680 / 1920 * 100vw);
    display: block;
    width: calc(115 / 1920 * 100vw);
    height: calc(183 / 1920 * 100vw);
  }
  .page-front .mainview .illust--leaf01 {
    top: calc(572 / 1920 * 100vw);
    left: calc(373 / 1920 * 100vw);
    width: calc(60 / 1920 * 100vw);
    height: calc(62 / 1920 * 100vw);
  }
  .page-front .mainview .illust--leaf02 {
    top: calc(572 / 1920 * 100vw);
    left: calc(1840 / 1920 * 100vw);
    width: calc(60 / 1920 * 100vw);
    height: calc(62 / 1920 * 100vw);
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .page-front .mainview .illust--red-spin01 {
    top: calc(28 / 1920 * 100vw);
    left: calc(508 / 1920 * 100vw);
    width: calc(89 / 1920 * 100vw);
    height: calc(73 / 1920 * 100vw);
  }
  .page-front .mainview .illust--red-spin02 {
    top: calc(496 / 1920 * 100vw);
    left: calc(42 / 1920 * 100vw);
    width: calc(67 / 1920 * 100vw);
    height: calc(50 / 1920 * 100vw);
  }
  .page-front .mainview .illust--red-spin03 {
    top: calc(540 / 1920 * 100vw);
    left: calc(491 / 1920 * 100vw);
    display: block;
    width: calc(118 / 1920 * 100vw);
    height: calc(88 / 1920 * 100vw);
  }
  .page-front .mainview .illust--tent {
    top: calc(51 / 1920 * 100vw);
    left: calc(42 / 1920 * 100vw);
    display: block;
    width: calc(181 / 1920 * 100vw);
    height: calc(112 / 1920 * 100vw);
  }
  .page-front .mainview .illust--watch {
    top: calc(173 / 1920 * 100vw);
    left: calc(1745 / 1920 * 100vw);
    width: calc(75 / 1920 * 100vw);
    height: calc(87 / 1920 * 100vw);
  }
  .page-front .mainview .illust--water-glasses {
    top: calc(20 / 1920 * 100vw);
    left: calc(1321 / 1920 * 100vw);
    display: block;
    width: calc(98 / 1920 * 100vw);
    height: calc(94 / 1920 * 100vw);
  }
  .page-front .mainview .illust--white-spark01 {
    top: calc(41 / 1920 * 100vw);
    left: calc(1472 / 1920 * 100vw);
    width: calc(46 / 1920 * 100vw);
    height: calc(47 / 1920 * 100vw);
  }
  .page-front .mainview .illust--white-spark02 {
    top: calc(219 / 1920 * 100vw);
    left: calc(1279 / 1920 * 100vw);
    display: block;
    width: calc(46 / 1920 * 100vw);
    height: calc(47 / 1920 * 100vw);
  }
  .page-front .mainview .illust--white-spark03 {
    top: calc(682 / 1920 * 100vw);
    left: calc(381 / 1920 * 100vw);
    display: block;
    width: calc(66 / 1920 * 100vw);
    height: calc(58 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark01 {
    top: calc(93 / 1920 * 100vw);
    left: calc(1846 / 1920 * 100vw);
    width: calc(46 / 1920 * 100vw);
    height: calc(47 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark02 {
    top: calc(186 / 1920 * 100vw);
    left: calc(1351 / 1920 * 100vw);
    width: calc(130 / 1920 * 100vw);
    height: calc(133 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark03 {
    top: calc(266 / 1920 * 100vw);
    left: calc(81 / 1920 * 100vw);
    display: block;
    width: calc(73 / 1920 * 100vw);
    height: calc(64 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark04 {
    top: calc(417 / 1920 * 100vw);
    left: calc(52 / 1920 * 100vw);
    display: block;
    width: calc(46 / 1920 * 100vw);
    height: calc(47 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark05 {
    top: calc(528 / 1920 * 100vw);
    left: calc(1523 / 1920 * 100vw);
    display: block;
    width: calc(46 / 1920 * 100vw);
    height: calc(47 / 1920 * 100vw);
  }
  .page-front .mainview .illust--yellow-spark06 {
    top: calc(705 / 1920 * 100vw);
    left: calc(493 / 1920 * 100vw);
    display: block;
    width: calc(85 / 1920 * 100vw);
    height: calc(87 / 1920 * 100vw);
  }
  .page-front .mainview__container {
    margin: calc(64 / 1920 * 100vw) auto 0;
  }
  .page-front .mainview__container .sub-copy {
    font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  }
  .page-front .mainview__container .sub-copy span {
    padding: 4px 12px;
    margin: 4px;
  }
  .page-front .mainview__container .copy {
    margin-top: 32px;
  }
  .page-front .mainview__container .copy img {
    width: calc(528 / 1920 * 100vw);
    max-width: 100%;
  }
  .page-front .mainview__container .action {
    margin-top: 54px;
  }
  .page-front .mainview__container .action .cta-button {
    width: clamp(300px, 426 / 1600 * 100vw, 426px);
    height: clamp(80px, 90 / 1600 * 100vw, 90px);
  }
  .page-front .mainview__container .action .cta-button__text {
    font-size: clamp(16px, 20 / 1600 * 100vw, 20px);
  }
  .page-front .mainview__container .points {
    gap: clamp(18px, 28 / 1600 * 100vw, 28px);
    margin-top: 46px;
  }
  .page-front .mainview__container .points li {
    width: clamp(103px, 183 / 1600 * 100vw, 183px);
    height: clamp(100px, 175 / 1600 * 100vw, 175px);
    font-size: clamp(14px, 20 / 1600 * 100vw, 20px);
  }
  .page-front .mainview-slider {
    padding: 90px 0;
  }
  .page-front .topics__container {
    margin-top: 64px;
    border-radius: 20px;
  }
  .page-front .topics__heading {
    padding-bottom: 24px;
  }
  .page-front .topics__title > h2 {
    font-size: 20px;
  }
  .page-front .find-program {
    padding: 0 0 120px;
    background: url("./assets/img/front/find-program_bg_pc.svg") no-repeat top center;
    background-color: #fff;
    background-size: 100% auto;
  }
  .page-front .programs__container::before {
    height: calc(100% - 130px);
  }
  .page-front .message {
    margin-top: 80px;
  }
  .page-front .past {
    margin-top: 150px;
  }
  .page-front .past__title {
    font-size: 32px;
  }
  .page-front .past-slider > ul {
    gap: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page-front .past-slider > ul li {
    width: calc((100% - 64px) / 3);
    max-width: 376px;
  }
  .page-front .recommend {
    margin-top: 150px;
  }
  .page-front .recommend__title {
    font-size: 32px;
  }
  .page-front .recommend-slider > ul {
    gap: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .page-front .recommend-slider > ul li {
    width: calc((100% - 64px) / 3);
    max-width: 376px;
  }
  .page-front .about__body .inner::before {
    position: absolute;
    top: 32px;
    right: 102%;
    display: block;
    width: calc(155 / 1600 * 100vw);
    height: calc(420 / 1600 * 100vw);
    background: url("./assets/img/front/about_deco_01.svg") no-repeat center center/contain;
  }
  .page-front .about__body .inner::after {
    position: absolute;
    top: 0;
    left: 102%;
    display: block;
    width: calc(208 / 1600 * 100vw);
    height: calc(455 / 1600 * 100vw);
    background: url("./assets/img/front/about_deco_02.svg") no-repeat center center/contain;
  }
  .page-front .about__body > ul .point__text {
    font-size: clamp(20px, 32 / 1600 * 100vw, 32px);
  }
  .page-front .access__map .map-wrap iframe {
    border-radius: 20px;
  }
  .page-front .access__body {
    padding-left: 64px;
  }
  .page-about .vision {
    padding: 87px 0 120px;
  }
  .page-about .vision__container {
    gap: 86px;
    margin-top: 116px;
  }
  .page-about .vision__container .vision-block:nth-child(even) .vision-block__body {
    padding-left: 115px;
  }
  .page-about .vision__container .vision-block__body {
    padding-right: 115px;
  }
  .page-about .vision__container .vision-block__body .desc {
    margin-top: 24px;
    font-size: 16px;
  }
  .page-about .vision__mind {
    padding: 80px;
    margin: 144px auto 0;
  }
  .page-about .vision__mind .contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
  }
  .page-about .vision__mind .contents__body h3 {
    text-align: left;
  }
  .page-about .vision__mind .contents__body .desc {
    margin-top: 24px;
  }
  .page-about .vision__mind .contents__body .name {
    margin-top: 24px;
  }
  .page-about .vision__mind .contents__image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 40%;
    max-width: 600px;
  }
  .page-about .vision__mind .action {
    margin-top: 56px;
  }
  .page-about .promise__visual .illust--sub01 {
    top: 0;
  }
  .page-program .page-program__nav {
    padding-bottom: 160px;
  }
  .page-program .program-link {
    width: 195px;
    height: 143px;
  }
  .page-program .programs__list .program-block__body .title h3 {
    gap: 8px;
  }
  .page-program .programs__list .program-block__body .desc {
    margin-top: 27px;
    font-size: 16px;
  }
  .page-program .programs__list .program-block__body .target {
    padding: 24px 32px;
  }
  .page-program .programs__list .program-block__body .target__term {
    padding-right: 18px;
    margin-right: 18px;
  }
  .page-program .programs__list .program-block__body .action {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 80px;
  }
  .page-program .programs__list .program-block__body .action img {
    display: block;
  }
  .page-program-child .l-page__title {
    padding-top: 0;
    margin-top: -28px;
  }
  .page-program-child .l-page__title--kindergarten02 {
    padding-top: clamp(4px, 48 / 1600 * 100vw, 48px);
    margin-top: 0;
  }
  .page-program-child .l-page__title .detail {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    max-width: 100%;
    margin-top: 32px;
  }
  .page-program-child .l-page__title .detail .detail-item.detail-item--age + .detail-item--age {
    margin-top: 0;
    border-left: 1px solid #c9bfb6;
  }
  .page-program-child .l-page__title .detail .detail-item.detail-item--course {
    width: auto;
    padding: 0 24px;
    margin-top: 0;
    text-align: left;
  }
  .page-program-child .l-page__title .detail .detail-item.detail-item--course span {
    display: inline;
  }
  .page-program-child .l-page__title .detail .detail-item:last-child {
    border-left: 1px solid #c9bfb6;
  }
  .page-program-child .program-child-title--pc-left {
    text-align: left;
  }
  .page-program-child .program-child-title--left {
    text-align: left;
  }
  .page-program-child .program-child-description {
    font-size: 16px;
  }
  .page-program-child .description .description-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .page-program-child .description .description-wrap--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .page-program-child .description .description-wrap--narrow {
    margin-top: 80px;
  }
  .page-program-child .description .description-wrap--narrow .description-wrap__img {
    border-radius: 20px;
  }
  .page-program-child .description .description-wrap__text {
    width: 56%;
    font-size: 16px;
  }
  .page-program-child .description .description-wrap__text .program-child-title {
    margin-top: 0;
  }
  .page-program-child .description .description-wrap__text .subtitle {
    margin-top: 0;
    text-align: left;
  }
  .page-program-child .description .description-wrap__text .text {
    margin-top: 24px;
  }
  .page-program-child .description .description-wrap__text .sns {
    padding: 24px;
    font-size: 16px;
  }
  .page-program-child .description .description-wrap__img {
    width: 42%;
    aspect-ratio: 1/1;
    margin-right: initial;
    margin-left: initial;
    border-radius: 20px;
  }
  .page-program-child .point .point-wrap {
    gap: clamp(40px, 5.2083333333vw, 100px);
    max-width: 90%;
  }
  .page-program-child .point .point-item .text {
    font-size: 16px;
  }
  .page-program-child .point .point-item .c-button-arrow {
    margin-top: 16px;
    margin-right: -16px;
    margin-left: -16px;
  }
  .page-program-child .price .table-title {
    margin-top: 96px;
  }
  .page-program-child .price .table-item .title {
    height: 96px;
  }
  .page-program-child .schedule .schedule-item__timetable--full {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
  }
  .page-program-child .bg-color-wrap .text {
    font-size: 16px;
  }
  .page-program-child .tocontact-wrap {
    font-size: 16px;
  }
  .page-program-child .class-wrap .class-item__description .text {
    font-size: 16px;
  }
  .page-program-child .class-wrap .class-item__description .info dt {
    margin-top: 0;
    font-size: 16px;
  }
  .page-program-child .class-wrap .class-item__description .info dd {
    font-size: 16px;
  }
  .page-profile__company {
    padding: 64px 72px;
  }
  .page-recruit .about__illust .p-about-visual {
    margin-bottom: -200px;
  }
  .page-recruit .work__block {
    padding: 64px 72px;
  }
  .page-recruit .work__flow {
    padding: 64px 72px;
  }
  .page-volunteer .detail .section-desc {
    text-align: center;
  }
  .page-volunteer .detail ul {
    gap: 40px;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
  }
  .page-volunteer .detail .detail-box__title {
    margin-top: 24px;
  }
  .page-volunteer .detail .detail-box__desc {
    margin-top: 16px;
  }
  .page-volunteer .detail .detail__action {
    margin-top: 48px;
  }
  .page-volunteer .participate .section-desc {
    text-align: center;
  }
  .page-volunteer .participate .participate__action {
    margin-top: 48px;
  }
  .page-guideline .guideline-intro .description {
    font-size: 16px;
  }
  .page-guideline .guideline-box .box-item .title {
    font-size: 16px;
  }
  .page-guideline .guideline-box .box-item .text {
    font-size: 16px;
  }
  .page-guideline .guideline-box .box__text {
    font-size: 16px;
  }
  .page-member .member-text {
    font-size: 16px;
  }
  .page-member .way .way-box .box-item {
    grid-template-columns: 304px auto;
  }
  .page-member .way .way-box .box-item .text {
    font-size: 16px;
  }
  .page-member .benefit .benefit-wrap {
    gap: clamp(40px, 5.2083333333vw, 100px);
    max-width: 90%;
  }
  .page-member .benefit .benefit-item .text {
    font-size: 16px;
  }
  .page-member .flow .flow-box .box-item .text {
    font-size: 16px;
  }
  .page-member .faq .faq-item .answer {
    font-size: 16px;
    line-height: 2;
  }
  .single-programlist .article__header {
    grid-template-columns: 1.13fr 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .single-programlist .article .article__thumbnail {
    margin: 0;
    border-radius: 20px;
  }
  .single-programlist .article__info .info dt {
    font-size: 16px;
  }
  .single-programlist .article__info .info dd {
    font-size: 16px;
  }
  .single-programlist .program-belongings-list {
    font-size: 16px;
  }
  .archive-programlist .filter__wrap {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .archive-programlist .filter__check {
    width: auto;
    text-align: left;
  }
  .archive-programlist .filter__check input {
    margin-bottom: 10px;
  }
  .archive-article__articles ul {
    gap: 40px;
  }
  .archive-article__articles li {
    width: calc((100% - 80px) / 3);
  }
  .archive-staff .staff-card--top {
    gap: 40px;
  }
  .archive-staff .staff-card--top .staff-card__body .info__text > h3 {
    font-size: 24px;
  }
  .archive-staff .staff-card--top .staff-card__body .info__text > p {
    font-size: 16px;
  }
  .archive-staff .staff-card--top .staff-card__body .desc {
    margin-top: 20px;
    font-size: 16px;
  }
  .archive-staff .staff-list {
    margin-top: clamp(48px, 112 / 1600 * 100vw, 112px);
  }
  .archive-staff .leader-list ul {
    grid-template-columns: repeat(6, 1fr);
  }
  .archive-staff__desc {
    margin-top: 16px;
    font-size: 16px;
  }
  .archive-staff__top {
    margin-top: 80px;
  }
  .archive-goods__container .goods-card {
    border-width: 3px;
  }
  .archive-goods__container .goods-card__action {
    gap: 20px;
  }
  .notfound .notfound__description {
    font-size: 16px;
  }
}
@media screen and (hover) and (min-width: 992px) {
  .l-header__program .program-button:hover {
    background-color: #fff;
  }
  .l-header__program .program-button:hover .program-button__text {
    color: #ff6b2b;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__program .program-button {
    width: 224px;
    height: 64px;
  }
  .l-header__program .program-button__text {
    font-size: 16px;
  }
  .l-footer__head .actions .c-button {
    gap: 0;
    max-width: 258px;
    max-height: 56px;
    font-size: 16px;
  }
  .l-footer__head .actions .c-button__icon {
    width: 24px;
    height: 24px;
    margin-left: 24px;
  }
  .l-footer__head .logo {
    width: 245px;
  }
  .l-footer__info {
    margin-right: 0;
  }
  .l-footer__info h2 {
    font-size: 18px;
  }
  .l-footer__nav {
    grid-template-areas: "about program admission other" "programlist program company other";
    grid-template-columns: auto;
    margin-left: auto;
  }
  .l-footer__nav .nav-block ul {
    gap: 12px;
  }
  .l-footer__nav .nav-block ul li {
    font-size: 12px;
  }
  .p-form__row > dt {
    padding-right: 30px;
  }
  .p-program-card {
    border-radius: 20px;
  }
  .p-program-card__image img {
    border-radius: 20px;
  }
  .p-program-card__category {
    padding: 12px 24px;
    font-size: 14px;
    border-radius: 0 20px 0 0;
  }
  .p-program-card__body .info {
    gap: 16px 0;
    margin-top: 20px;
  }
  .p-program-card__body .info dt::before {
    width: 6px;
    height: 6px;
    border-radius: 3px;
  }
  .p-program-child-card__image img {
    border-radius: 20px;
  }
  .p-program-child-card__body .info dt::before {
    width: 6px;
    height: 6px;
    border-radius: 3px;
  }
  .p-recruit-banner--top .p-recruit-banner__inner {
    padding: 56px 72px;
  }
  .p-recruit-banner__inner {
    padding: 56px 72px;
  }
  .p-contact-section__col .contact-card .contact-card__icon {
    width: 96px;
    height: 96px;
  }
  .p-contact-section__col .contact-card .contact-card__icon svg {
    width: 46px;
    height: 40px;
  }
  .p-contact-section__col .contact-card .contact-card__title {
    font-size: 32px;
  }
  .p-contact-section__col .contact-card .contact-card__action {
    margin-top: 32px;
  }
  .p-contact-section__col .contact-card .contact-card__action .tel-number {
    font-size: 24px;
  }
  .p-contact-section__col .contact-card .contact-card__action .button {
    width: 232px;
    height: 72px;
    font-size: 18px;
  }
  .u-hide-up-xl {
    display: none !important;
  }
  .page-front .about__body > ul {
    gap: 72px;
  }
  .page-about .vision__container .vision-block__body .vision-heading {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .page-program .page-program__list {
    gap: 32px 48px;
  }
  .page-program .page-program__list > li {
    width: calc((100% - 144px) / 3);
  }
  .page-program .programs__list .program-block__row {
    gap: 64px;
  }
  .page-program-child .description::before {
    position: absolute;
    top: clamp(1px, 8.3333333333vw, 160px);
    left: 0;
    z-index: 0;
    width: clamp(160px, 15.4166666667vw, 296px);
    height: auto;
    aspect-ratio: 296/216;
    pointer-events: none;
    content: "";
    background: url("./assets/img/common/page_texture_01.svg") no-repeat center center/contain;
    background-size: 100% auto;
  }
  .page-program-child .description::after {
    position: absolute;
    right: 0;
    bottom: clamp(40px, 3.75vw, 72px);
    z-index: 0;
    width: clamp(200px, 16.0416666667vw, 308px);
    height: auto;
    aspect-ratio: 308/196;
    pointer-events: none;
    content: "";
    background: url("./assets/img/common/page_texture_02.svg") no-repeat center center/contain;
  }
  .page-program-child .description--long::after {
    top: 480px;
    bottom: auto;
  }
  .page-program-child .description .description-wrap__text {
    width: 45.4%;
  }
  .page-program-child .description .description-wrap__img {
    width: 50%;
  }
  .page-program-child .schedule .schedule-item__text {
    text-align: center;
  }
  .page-program-child .class-wrap .class-item__description .info dt::before {
    width: 6px;
    height: 6px;
    border-radius: 3px;
  }
  .page-recruit .about__illust .p-about-visual {
    margin-bottom: -240px;
  }
  .page-volunteer .detail .detail-box__title {
    font-size: clamp(18px, 24 / 1280 * 100vw, 24px);
  }
  .single-programlist .article__info .info {
    gap: 16px 0;
    margin-top: 20px;
  }
  .single-programlist .article__info .info dt::before {
    width: 6px;
    height: 6px;
    border-radius: 3px;
  }
  .archive-programlist .archive__filter {
    max-width: 1280px;
  }
  .archive-programlist .filter__wrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .archive-programlist .filter__area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .archive-programlist .filter__check input {
    margin-bottom: 0;
  }
  .archive-programlist .archive__result {
    max-width: 1280px;
  }
  .archive-staff .staff-card__year {
    padding: 12px 24px;
    font-size: 14px;
    border-radius: 0 20px 0 0;
  }
}
@media screen and (min-width: 1400px) {
  .l-header__nav {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 min(2.9166666667vw, 56px);
    width: auto;
    height: auto;
    padding: 0;
    margin-left: auto;
    overflow: initial;
    visibility: visible;
    background: none;
    opacity: 1;
  }
  .l-header__nav::before {
    display: none;
  }
  .l-header__nav::after {
    display: none;
  }
  .l-header__nav .logo {
    display: none;
  }
  .l-header__nav > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 clamp(18px, 2.0833333333vw, 56px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    margin: 0;
    border: none;
    opacity: 1;
  }
  .l-header__nav > ul .nav-item {
    padding: 24px 0;
    font-size: clamp(13px, 0.8333333333vw, 16px);
    border: none;
  }
  .l-header__nav > ul .nav-item::after {
    position: absolute;
    bottom: 12px;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background-color: #e33f22;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  .l-header__nav > ul .nav-item > span,
.l-header__nav > ul .nav-item > a {
    padding: 0;
  }
  .l-header__nav > ul .nav-item > span {
    padding-right: 1em;
  }
  .l-header__nav > ul .nav-item > span::after {
    right: 0;
  }
  .l-header__nav > ul .nav-item__row {
    position: absolute;
    top: 100%;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 36px 40px;
    overflow: hidden;
    visibility: hidden;
    background-color: #fff;
    border-radius: 20px;
    -webkit-box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
            box-shadow: 0 4px 25px rgba(0, 0, 0, 0.2);
    opacity: 0;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .l-header__nav > ul .nav-item__col {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0;
    border: none;
  }
  .l-header__nav > ul .nav-item__col .col-program {
    margin-bottom: 24px;
    font-size: 16px;
  }
  .l-header__nav > ul .nav-item__col .col-program::before {
    content: none;
  }
  .l-header__nav > ul .nav-item__col .col-program::after {
    display: none;
  }
  .l-header__nav > ul .nav-item__col .col-program a {
    gap: 14px;
    padding: 4px 0;
    font-size: 16px;
    font-weight: bold;
  }
  .l-header__nav > ul .nav-item__col > span {
    padding: 0;
    font-size: 16px;
  }
  .l-header__nav > ul .nav-item__col > span + ul {
    margin-top: 24px;
  }
  .l-header__nav > ul .nav-item__col > ul {
    gap: 16px;
    padding: 0;
  }
  .l-header__nav > ul .nav-item__col > ul li {
    padding: 0;
  }
  .l-header__nav > ul .nav-item__col > ul li::after {
    display: none;
  }
  .l-header__nav > ul .nav-item__col > ul li a {
    gap: 14px;
    padding: 4px 0;
    font-size: 16px;
    font-weight: bold;
  }
  .l-header__nav > ul .nav-item__col + .nav-item__col::before {
    position: absolute;
    top: 0;
    right: auto;
    left: -40px;
    width: 2px;
    height: 100%;
    border-top: none;
    border-left: 2px dashed #c9bfb6;
  }
  .l-header__action {
    display: none;
  }
  .l-header__tel {
    margin-left: clamp(18px, 2.0833333333vw, 56px);
  }
  .l-header__tel .tel-button__text .number {
    font-size: 18px;
  }
  .l-header__program .program-button {
    width: clamp(180px, 11.6666666667vw, 224px);
  }
  .l-header__program .program-button__text {
    font-size: clamp(14px, 0.8333333333vw, 16px);
  }
  .l-header__menu {
    display: none;
    margin-left: 24px;
  }
  .u-hide-up-xxl {
    display: none !important;
  }
  .page-front .find-program__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    max-width: 100%;
  }
  .page-front .find-program__list li {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: 100%;
    max-width: 230px;
  }
  .page-front .find-program__list .category-card__icon {
    width: 80px;
    height: 80px;
    margin-top: 46px;
  }
  .page-front .find-program__list .category-card__body {
    margin-top: 30px;
  }
  .page-front .find-program__list .category-card__target {
    padding-top: 12px;
    margin-top: 24px;
  }
  .page-about .vision__mind .contents__image {
    width: 50%;
  }
  .page-program .programs__list .program-block__img {
    width: auto;
    max-width: 750px;
  }
  .page-program .programs__list .program-block__body .desc {
    width: auto;
    max-width: 530px;
  }
  .page-program .programs__list .program-block__body .action.icon-action .c-button__text {
    width: auto;
    text-indent: 1em;
  }
}
@media (hover) {
  .l-header__nav > ul .nav-item:hover > span,
.l-header__nav > ul .nav-item:hover > a {
    color: #e33f22;
  }
  .l-header__nav > ul .nav-item:hover::after {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  .l-header__nav > ul .nav-item:hover .nav-item__row {
    visibility: visible;
    opacity: 1;
  }
  .l-header__nav > ul .nav-item__col .col-program a:hover {
    color: #e33f22;
  }
  .l-header__nav > ul .nav-item__col > ul li a:hover {
    color: #e33f22;
  }
  .l-header__action .cta-button:hover {
    color: #ff6b2b;
    background-color: #fff;
  }
  .l-header__action .cta-button:hover .cta-button__icon {
    background-image: url("./assets/img/common/icon_character_02.svg");
  }
  .l-footer__sns li a:hover {
    opacity: 0.6;
  }
  .l-footer__nav .nav-block h3 a:hover {
    text-decoration: underline;
  }
  .l-footer__nav .nav-block ul li:hover {
    text-decoration: underline;
  }
  .l-footer__links a:hover {
    opacity: 0.6;
  }
  .l-footer__bottom a:hover {
    text-decoration: underline;
  }
  .p-program-card:hover {
    -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
  }
  .p-program-card:hover .p-program-card__image img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .p-program-card:hover .p-program-card__body .title {
    color: #e33f22;
  }
  .p-program-card:hover .p-program-card__bottom .arrow {
    background-color: #fff;
  }
  .p-program-card:hover .p-program-card__bottom .arrow svg path {
    fill: #e33f22;
  }
  .p-recruit-banner:hover .p-recruit-banner__inner {
    -webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 18px rgba(0, 0, 0, 0.2);
  }
  .p-recruit-banner__inner:hover .c-button {
    color: #e33f22;
    background-color: #fff;
  }
  .p-recruit-banner__inner:hover .c-button::before {
    background-color: #e33f22;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  .p-recruit-banner__inner:hover .c-button svg path {
    fill: #e33f22;
  }
  .p-contact-section__col .contact-card .contact-card__inner:hover {
    -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
  }
  .p-contact-section__col .contact-card .contact-card__inner:hover .contact-card__icon {
    background-color: #09732d;
  }
  .p-contact-section__col .contact-card .contact-card__inner:hover .contact-card__icon svg .path01 {
    fill: #dde7b0 !important;
  }
  .p-contact-section__col .contact-card .contact-card__inner:hover .contact-card__icon svg .path02 {
    fill: #09732d !important;
  }
  .p-contact-section__col .contact-card .contact-card__inner:hover .contact-card__action .button {
    color: #ff6b2b;
    background-color: #fff;
  }
  .p-article-card .p-article-card__inner:hover {
    color: #e33f22;
  }
  .p-article-card .p-article-card__inner:hover .p-article-card__thumbnail {
    border-color: #e33f22;
  }
  .p-fixed-banner__close:hover {
    opacity: 0.8;
  }
  .p-fixed-banner__content:hover {
    opacity: 0.6;
  }
  .p-pagination .p-pagination__item .page-numbers:hover {
    color: #e33f22;
  }
  .p-pagination .p-pagination__item .page-numbers.prev:hover, .p-pagination .p-pagination__item .page-numbers.next:hover {
    background-color: transparent;
  }
  .p-pagination .p-pagination__item .page-numbers.prev:hover::before, .p-pagination .p-pagination__item .page-numbers.next:hover::before {
    background: url("./assets/img/common/icon_arrow.svg") no-repeat center/contain;
  }
  .c-button:hover {
    color: #e33f22;
    background-color: #fff;
  }
  .c-button:hover::before {
    background-color: #e33f22;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  .c-button:hover svg path {
    fill: #e33f22;
  }
  .c-button--green:hover {
    color: #09732d;
  }
  .c-button--green:hover svg path {
    fill: #09732d;
  }
  .c-button--outline:hover {
    color: #fff;
    background: #e33f22;
    border-color: #e33f22;
  }
  .c-button-arrow:hover .link-icon {
    background-color: #fff;
  }
  .c-button-arrow:hover svg path {
    fill: #09732d;
  }
  .c-button-arrow:hover .link-text {
    color: #e33f22;
  }
  .c-map-link:hover {
    color: #fff;
    background-color: #09732d;
  }
  .c-map-link:hover path {
    fill: #fff;
  }
  .page-front .mainview__container .action .cta-button:hover {
    color: #ff6b2b;
    background-color: #fff;
  }
  .page-front .mainview__container .action .cta-button:hover .cta-button__icon {
    background-image: url("./assets/img/common/icon_character_02.svg");
  }
  .page-front .topics__container:hover {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  }
  .page-front .topics__container:hover .topics__title > .icon {
    background-color: #fff;
  }
  .page-front .topics__container:hover .topics__title > .icon svg path {
    fill: #ff6b2b;
  }
  .page-front .program-slider__prev:hover,
.page-front .program-slider__next:hover {
    background-color: #fff;
  }
  .page-front .program-slider__prev:hover svg path,
.page-front .program-slider__next:hover svg path {
    fill: #e33f22;
  }
  .page-front .news__categories > li a:hover {
    color: #e33f22;
  }
  .page-front .news__list .news-item__inner:hover .news-item__title {
    color: #e33f22;
  }
  .page-front .news__list .news-item__inner:hover .news-item__title::after {
    right: 0;
  }
  .page-front .access__body .map-link:hover {
    color: #fff;
    background-color: #e33f22;
  }
  .page-front .access__body .map-link:hover path {
    fill: #fff;
  }
  .page-album__list .album-list li:hover::after {
    right: 0;
  }
  .page-album__list .album-list li a:hover {
    color: #e33f22;
  }
  .page-program .program-link:hover {
    -webkit-filter: drop-shadow(0 3px 15px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0 3px 15px rgba(0, 0, 0, 0.15));
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
  .page-program .program-link:hover .program-link__title {
    color: #e33f22;
  }
  .page-program .program-link:hover .program-link__arrow {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  .page-program-child .description .description-wrap__text .sns__link a:hover img {
    opacity: 0.6;
  }
  .page-program-child .map-link:hover {
    color: #fff;
    background-color: #e33f22;
  }
  .page-program-child .map-link:hover path {
    fill: #fff;
  }
  .page-guideline .anchor-link a:hover {
    color: #e33f22;
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  .page-member .faq .faq-item:hover .question {
    opacity: 0.6;
  }
  .single-programlist .map-link:hover {
    color: #fff;
    background-color: #e33f22;
  }
  .single-programlist .map-link:hover path {
    fill: #fff;
  }
  .single-article .article__info .category a:hover {
    opacity: 0.6;
  }
  .archive-staff .term-list > li:hover > h3 {
    opacity: 0.6;
  }
  .archive-goods__container .goods-card__action .button:hover {
    color: #e33f22;
    background-color: #fff;
  }
  .archive-goods__container .goods-card__action .button--outline:hover {
    color: #fff;
    background-color: #e33f22;
  }
}
@media screen and (max-width: 424px) {
  .u-hide-down-xs {
    display: none !important;
  }
}
@media screen and (max-width: 553px) {
  .u-hide-down-sm {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-hide-down-md {
    display: none !important;
  }
}
@media screen and (max-width: 991px) {
  .u-hide-down-lg {
    display: none !important;
  }
}
@media screen and (max-width: 1199px) {
  .u-hide-down-xl {
    display: none !important;
  }
}
@media (hover: hover) {
  .privacy .privacy-description a:hover {
    text-decoration: underline;
    opacity: 1;
  }
}
