@charset "UTF-8";
/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
body {
  font-size: clamp(1rem, 3.8vw, 1.6rem);
  -webkit-text-size-adjust: 100%;
}

.sp {
  display: block !important;
}

.pc {
  display: none !important;
}

.sp_left {
  text-align: left !important;
}

.sp_center {
  text-align: center !important;
}

.pcIB {
  display: none !important;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inner,
.inner_700,
.inner_800,
.inner_900,
.inner_1000,
.inner_1100,
.inner_1200,
.inner_1300 {
  width: 88%;
}

.f10 {
  font-size: clamp(0.8rem, 3.2vw, 1rem) !important;
}

.f11 {
  font-size: clamp(0.8rem, 3.3vw, 1.1rem) !important;
}

.f12 {
  font-size: clamp(0.8rem, 3.4vw, 1.2rem) !important;
}

.f13 {
  font-size: clamp(0.8rem, 3.5vw, 1.3rem) !important;
}

.f14 {
  font-size: clamp(1rem, 3.6vw, 1.4rem) !important;
}

.f15 {
  font-size: clamp(1rem, 3.7vw, 1.5rem) !important;
}

.f16 {
  font-size: clamp(1rem, 3.8vw, 1.6rem) !important;
}

.f17 {
  font-size: clamp(1rem, 3.9vw, 1.7rem) !important;
}

.f18 {
  font-size: clamp(1rem, 4vw, 1.8rem) !important;
}

.f19 {
  font-size: clamp(1rem, 4.1vw, 1.9rem) !important;
}

.f20 {
  font-size: clamp(1.2rem, 4.2vw, 2rem) !important;
}

.f21 {
  font-size: clamp(1.2rem, 4.3vw, 2.1rem) !important;
}

.f22 {
  font-size: clamp(1.2rem, 4.3vw, 2.2rem) !important;
}

.f23 {
  font-size: clamp(1.2rem, 4.5vw, 2.3rem) !important;
}

.f24 {
  font-size: clamp(1.2rem, 4.6vw, 2.4rem) !important;
}

.f25 {
  font-size: clamp(1.2rem, 4.7vw, 2.5rem) !important;
}

.f26 {
  font-size: clamp(1.2rem, 4.8vw, 2.6rem) !important;
}

.f27 {
  font-size: clamp(1.2rem, 4.9vw, 2.7rem) !important;
}

.f28 {
  font-size: clamp(1.4rem, 5vw, 2.8rem) !important;
}

.f29 {
  font-size: clamp(1.4rem, 5vw, 2.9rem) !important;
}

.f30 {
  font-size: clamp(1.6rem, 5vw, 3rem) !important;
}

.f32 {
  font-size: clamp(1.6rem, 5vw, 3.2rem) !important;
}

.f34 {
  font-size: clamp(1.6rem, 5vw, 3.4rem) !important;
}

.f36 {
  font-size: clamp(1.6rem, 5.2vw, 3.4rem) !important;
}

.mA5 {
  margin: 0.5% !important;
}

.mA10 {
  margin: 1% !important;
}

.mA15 {
  margin: 1.5% !important;
}

.mA20 {
  margin: 2% !important;
}

.mA25 {
  margin: 2.5% !important;
}

.mA30 {
  margin: 3% !important;
}

.mA35 {
  margin: 3.5% !important;
}

.mA40 {
  margin: 4% !important;
}

.mA45 {
  margin: 4.5% !important;
}

.mA50 {
  margin: 5% !important;
}

.mA55 {
  margin: 5.5% !important;
}

.mA60 {
  margin: 6% !important;
}

.mA65 {
  margin: 6.5% !important;
}

.mA70 {
  margin: 7% !important;
}

.mA75 {
  margin: 7.5% !important;
}

.mA80 {
  margin: 8% !important;
}

.mA85 {
  margin: 8.5% !important;
}

.mA90 {
  margin: 9% !important;
}

.mA95 {
  margin: 9.5% !important;
}

.mA100 {
  margin: 10% !important;
}

.mA105 {
  margin: 10.5% !important;
}

.mA110 {
  margin: 11% !important;
}

.mA115 {
  margin: 15% !important;
}

.mA120 {
  margin: 12% !important;
}

.mA125 {
  margin: 12.5% !important;
}

.mA130 {
  margin: 13% !important;
}

.mA135 {
  margin: 13.5% !important;
}

.mA140 {
  margin: 14% !important;
}

.mA145 {
  margin: 14.5% !important;
}

.mA150 {
  margin: 15% !important;
}

.mT0 {
  margin-top: 0% !important;
}

.mT5 {
  margin-top: 0.5% !important;
}

.mT10 {
  margin-top: 1% !important;
}

.mT15 {
  margin-top: 1.5% !important;
}

.mT20 {
  margin-top: 2% !important;
}

.mT25 {
  margin-top: 2.5% !important;
}

.mT30 {
  margin-top: 3% !important;
}

.mT35 {
  margin-top: 3.5% !important;
}

.mT40 {
  margin-top: 4% !important;
}

.mT45 {
  margin-top: 4.5% !important;
}

.mT50 {
  margin-top: 5% !important;
}

.mT55 {
  margin-top: 5.5% !important;
}

.mT60 {
  margin-top: 6% !important;
}

.mT65 {
  margin-top: 6.5% !important;
}

.mT70 {
  margin-top: 7% !important;
}

.mT75 {
  margin-top: 7.5% !important;
}

.mT80 {
  margin-top: 8% !important;
}

.mT85 {
  margin-top: 8.5% !important;
}

.mT90 {
  margin-top: 9% !important;
}

.mT95 {
  margin-top: 9.5% !important;
}

.mT100 {
  margin-top: 10% !important;
}

.mT105 {
  margin-top: 10.5% !important;
}

.mT110 {
  margin-top: 11% !important;
}

.mT115 {
  margin-top: 11.5% !important;
}

.mT120 {
  margin-top: 12% !important;
}

.mT125 {
  margin-top: 12.5% !important;
}

.mT130 {
  margin-top: 13% !important;
}

.mT135 {
  margin-top: 13.5% !important;
}

.mT140 {
  margin-top: 14% !important;
}

.mT145 {
  margin-top: 14.5% !important;
}

.mT150 {
  margin-top: 15% !important;
}

.mB0 {
  margin-bottom: 0% !important;
}

.mB5 {
  margin-bottom: 0.5% !important;
}

.mB10 {
  margin-bottom: 1% !important;
}

.mB15 {
  margin-bottom: 1.5% !important;
}

.mB20 {
  margin-bottom: 2% !important;
}

.mB25 {
  margin-bottom: 2.5% !important;
}

.mB30 {
  margin-bottom: 3% !important;
}

.mB35 {
  margin-bottom: 3.5% !important;
}

.mB40 {
  margin-bottom: 4% !important;
}

.mB45 {
  margin-bottom: 4.5% !important;
}

.mB50 {
  margin-bottom: 5% !important;
}

.mB55 {
  margin-bottom: 5.5% !important;
}

.mB60 {
  margin-bottom: 6% !important;
}

.mB65 {
  margin-bottom: 6.5% !important;
}

.mB70 {
  margin-bottom: 7% !important;
}

.mB75 {
  margin-bottom: 7.5% !important;
}

.mB80 {
  margin-bottom: 8% !important;
}

.mB85 {
  margin-bottom: 8.5% !important;
}

.mB90 {
  margin-bottom: 9% !important;
}

.mB95 {
  margin-bottom: 9.5% !important;
}

.mB100 {
  margin-bottom: 10% !important;
}

.mB105 {
  margin-bottom: 10.5% !important;
}

.mB110 {
  margin-bottom: 11% !important;
}

.mB115 {
  margin-bottom: 11.5% !important;
}

.mB120 {
  margin-bottom: 12% !important;
}

.mB125 {
  margin-bottom: 12.5% !important;
}

.mB130 {
  margin-bottom: 13% !important;
}

.mB135 {
  margin-bottom: 13.5% !important;
}

.mB140 {
  margin-bottom: 14% !important;
}

.mB145 {
  margin-bottom: 14.5% !important;
}

.mB150 {
  margin-bottom: 15% !important;
}

.mL0 {
  margin-left: 0% !important;
}

.mL5 {
  margin-left: 0.5% !important;
}

.mL10 {
  margin-left: 1% !important;
}

.mL15 {
  margin-left: 1.5% !important;
}

.mL20 {
  margin-left: 2% !important;
}

.mL25 {
  margin-left: 2.5% !important;
}

.mL30 {
  margin-left: 3% !important;
}

.mL35 {
  margin-left: 3.5% !important;
}

.mL40 {
  margin-left: 4% !important;
}

.mL45 {
  margin-left: 4.5% !important;
}

.mL50 {
  margin-left: 5% !important;
}

.mL55 {
  margin-left: 5.5% !important;
}

.mL60 {
  margin-left: 6% !important;
}

.mL65 {
  margin-left: 6.5% !important;
}

.mL70 {
  margin-left: 7% !important;
}

.mL75 {
  margin-left: 7.5% !important;
}

.mL80 {
  margin-left: 8% !important;
}

.mL85 {
  margin-left: 8.5% !important;
}

.mL90 {
  margin-left: 9% !important;
}

.mL95 {
  margin-left: 9.5% !important;
}

.mL100 {
  margin-left: 10% !important;
}

.mL105 {
  margin-left: 10.5% !important;
}

.mL110 {
  margin-left: 11% !important;
}

.mL115 {
  margin-left: 11.5% !important;
}

.mL120 {
  margin-left: 12% !important;
}

.mL125 {
  margin-left: 12.5% !important;
}

.mL130 {
  margin-left: 13% !important;
}

.mL135 {
  margin-left: 13.5% !important;
}

.mL140 {
  margin-left: 14% !important;
}

.mL145 {
  margin-left: 14.5% !important;
}

.mL150 {
  margin-left: 15% !important;
}

.mR0 {
  margin-right: 0% !important;
}

.mR5 {
  margin-right: 0.5% !important;
}

.mR10 {
  margin-right: 1% !important;
}

.mR15 {
  margin-right: 1.5% !important;
}

.mR20 {
  margin-right: 2% !important;
}

.mR25 {
  margin-right: 2.5% !important;
}

.mR30 {
  margin-right: 3% !important;
}

.mR35 {
  margin-right: 3.5% !important;
}

.mR40 {
  margin-right: 4% !important;
}

.mR45 {
  margin-right: 4.5% !important;
}

.mR50 {
  margin-right: 5% !important;
}

.mR55 {
  margin-right: 5.5% !important;
}

.mR60 {
  margin-right: 6% !important;
}

.mR65 {
  margin-right: 6.5% !important;
}

.mR70 {
  margin-right: 7% !important;
}

.mR75 {
  margin-right: 7.5% !important;
}

.mR80 {
  margin-right: 8% !important;
}

.mR85 {
  margin-right: 8.5% !important;
}

.mR90 {
  margin-right: 9% !important;
}

.mR95 {
  margin-right: 9.5% !important;
}

.mR100 {
  margin-right: 10% !important;
}

.mR105 {
  margin-right: 10.5% !important;
}

.mR110 {
  margin-right: 11% !important;
}

.mR115 {
  margin-right: 11.5% !important;
}

.mR120 {
  margin-right: 12% !important;
}

.mR125 {
  margin-right: 12.5% !important;
}

.mR130 {
  margin-right: 13% !important;
}

.mR135 {
  margin-right: 13.5% !important;
}

.mR140 {
  margin-right: 14% !important;
}

.mR145 {
  margin-right: 14.5% !important;
}

.mR150 {
  margin-right: 15% !important;
}

.pT0 {
  padding-top: 0% !important;
}

.pT5 {
  padding-top: 0.5% !important;
}

.pT10 {
  padding-top: 1% !important;
}

.pT15 {
  padding-top: 1.5% !important;
}

.pT20 {
  padding-top: 2% !important;
}

.pT25 {
  padding-top: 2.5% !important;
}

.pT30 {
  padding-top: 3% !important;
}

.pT35 {
  padding-top: 3.5% !important;
}

.pT40 {
  padding-top: 4% !important;
}

.pT45 {
  padding-top: 4.5% !important;
}

.pT50 {
  padding-top: 5% !important;
}

.pT55 {
  padding-top: 5.5% !important;
}

.pT60 {
  padding-top: 6% !important;
}

.pT65 {
  padding-top: 6.5% !important;
}

.pT70 {
  padding-top: 7% !important;
}

.pT75 {
  padding-top: 7.5% !important;
}

.pT80 {
  padding-top: 8% !important;
}

.pT85 {
  padding-top: 8.5% !important;
}

.pT90 {
  padding-top: 9% !important;
}

.pT95 {
  padding-top: 9.5% !important;
}

.pT100 {
  padding-top: 10% !important;
}

.pT105 {
  padding-top: 10.5% !important;
}

.pT110 {
  padding-top: 11% !important;
}

.pT115 {
  padding-top: 11.5% !important;
}

.pT120 {
  padding-top: 12% !important;
}

.pT125 {
  padding-top: 12.5% !important;
}

.pT130 {
  padding-top: 13% !important;
}

.pT135 {
  padding-top: 13.5% !important;
}

.pT140 {
  padding-top: 14% !important;
}

.pT145 {
  padding-top: 14.5% !important;
}

.pT150 {
  padding-top: 15% !important;
}

.pB0 {
  padding-bottom: 0% !important;
}

.pB5 {
  padding-bottom: 0.5% !important;
}

.pB10 {
  padding-bottom: 1% !important;
}

.pB15 {
  padding-bottom: 1.5% !important;
}

.pB20 {
  padding-bottom: 2% !important;
}

.pB25 {
  padding-bottom: 2.5% !important;
}

.pB30 {
  padding-bottom: 3% !important;
}

.pB35 {
  padding-bottom: 3.5% !important;
}

.pB40 {
  padding-bottom: 4% !important;
}

.pB45 {
  padding-bottom: 4.5% !important;
}

.pB50 {
  padding-bottom: 5% !important;
}

.pB55 {
  padding-bottom: 5.5% !important;
}

.pB60 {
  padding-bottom: 6% !important;
}

.pB65 {
  padding-bottom: 6.5% !important;
}

.pB70 {
  padding-bottom: 7% !important;
}

.pB75 {
  padding-bottom: 7.5% !important;
}

.pB80 {
  padding-bottom: 8% !important;
}

.pB85 {
  padding-bottom: 8.5% !important;
}

.pB90 {
  padding-bottom: 9% !important;
}

.pB95 {
  padding-bottom: 9.5% !important;
}

.pB100 {
  padding-bottom: 10% !important;
}

.pB105 {
  padding-bottom: 10.5% !important;
}

.pB110 {
  padding-bottom: 11% !important;
}

.pB115 {
  padding-bottom: 11.5% !important;
}

.pB120 {
  padding-bottom: 12% !important;
}

.pB125 {
  padding-bottom: 12.5% !important;
}

.pB130 {
  padding-bottom: 13% !important;
}

.pB135 {
  padding-bottom: 13.5% !important;
}

.pB140 {
  padding-bottom: 14% !important;
}

.pB145 {
  padding-bottom: 14.5% !important;
}

.pB150 {
  padding-bottom: 15% !important;
}

.pL0 {
  padding-left: 0% !important;
}

.pL5 {
  padding-left: 0.5% !important;
}

.pL10 {
  padding-left: 1% !important;
}

.pL15 {
  padding-left: 1.5% !important;
}

.pL20 {
  padding-left: 2% !important;
}

.pL25 {
  padding-left: 2.5% !important;
}

.pL30 {
  padding-left: 3% !important;
}

.pL35 {
  padding-left: 3.5% !important;
}

.pL40 {
  padding-left: 4% !important;
}

.pL45 {
  padding-left: 4.5% !important;
}

.pL50 {
  padding-left: 5% !important;
}

.pL55 {
  padding-left: 5.5% !important;
}

.pL60 {
  padding-left: 6% !important;
}

.pL65 {
  padding-left: 6.5% !important;
}

.pL70 {
  padding-left: 7% !important;
}

.pL75 {
  padding-left: 7.5% !important;
}

.pL80 {
  padding-left: 8% !important;
}

.pL85 {
  padding-left: 8.5% !important;
}

.pL90 {
  padding-left: 9% !important;
}

.pL95 {
  padding-left: 9.5% !important;
}

.pL100 {
  padding-left: 10% !important;
}

.pL105 {
  padding-left: 10.5% !important;
}

.pL110 {
  padding-left: 11% !important;
}

.pL115 {
  padding-left: 11.5% !important;
}

.pL120 {
  padding-left: 12% !important;
}

.pL125 {
  padding-left: 12.5% !important;
}

.pL130 {
  padding-left: 13% !important;
}

.pL135 {
  padding-left: 13.5% !important;
}

.pL140 {
  padding-left: 14% !important;
}

.pL145 {
  padding-left: 14.5% !important;
}

.pL150 {
  padding-left: 15% !important;
}

.pR0 {
  padding-right: 0% !important;
}

.pR5 {
  padding-right: 0.5% !important;
}

.pR10 {
  padding-right: 1% !important;
}

.pR15 {
  padding-right: 1.5% !important;
}

.pR20 {
  padding-right: 2% !important;
}

.pR25 {
  padding-right: 2.5% !important;
}

.pR30 {
  padding-right: 3% !important;
}

.pR35 {
  padding-right: 3.5% !important;
}

.pR40 {
  padding-right: 4% !important;
}

.pR45 {
  padding-right: 4.5% !important;
}

.pR50 {
  padding-right: 5% !important;
}

.pR55 {
  padding-right: 5.5% !important;
}

.pR60 {
  padding-right: 6% !important;
}

.pR65 {
  padding-right: 6.5% !important;
}

.pR70 {
  padding-right: 7% !important;
}

.pR75 {
  padding-right: 7.5% !important;
}

.pR80 {
  padding-right: 8% !important;
}

.pR85 {
  padding-right: 8.5% !important;
}

.pR90 {
  padding-right: 9% !important;
}

.pR95 {
  padding-right: 9.5% !important;
}

.pR100 {
  padding-right: 10% !important;
}

.pR105 {
  padding-right: 10.5% !important;
}

.pR110 {
  padding-right: 11% !important;
}

.pR115 {
  padding-right: 11.5% !important;
}

.pR120 {
  padding-right: 12% !important;
}

.pR125 {
  padding-right: 12.5% !important;
}

.pR130 {
  padding-right: 13% !important;
}

.pR135 {
  padding-right: 13.5% !important;
}

.pR140 {
  padding-right: 14% !important;
}

.pR145 {
  padding-right: 14.5% !important;
}

.pR150 {
  padding-right: 15% !important;
}

.pA0 {
  padding: 0% !important;
}

.pA5 {
  padding: 0.5% !important;
}

.pA10 {
  padding: 1% !important;
}

.pA15 {
  padding: 1.5% !important;
}

.pA20 {
  padding: 2% !important;
}

.pA25 {
  padding: 2.5% !important;
}

.pA30 {
  padding: 3% !important;
}

.pA35 {
  padding: 3.5% !important;
}

.pA40 {
  padding: 4% !important;
}

.pA45 {
  padding: 4.5% !important;
}

.pA50 {
  padding: 5% !important;
}

.pA55 {
  padding: 5.5% !important;
}

.pA60 {
  padding: 6% !important;
}

.pA65 {
  padding: 6.5% !important;
}

.pA70 {
  padding: 7% !important;
}

.pA75 {
  padding: 7.5% !important;
}

.pA80 {
  padding: 8% !important;
}

.pA85 {
  padding: 8.5% !important;
}

.pA90 {
  padding: 9% !important;
}

.pA95 {
  padding: 9.5% !important;
}

.pA100 {
  padding: 10% !important;
}

.pA105 {
  padding: 10.5% !important;
}

.pA110 {
  padding: 11% !important;
}

.pA115 {
  padding: 11.5% !important;
}

.pA120 {
  padding: 12% !important;
}

.pA125 {
  padding: 12.5% !important;
}

.pA130 {
  padding: 13% !important;
}

.pA135 {
  padding: 13.5% !important;
}

.pA140 {
  padding: 14% !important;
}

.pA145 {
  padding: 14.5% !important;
}

.pA150 {
  padding-left: 15% !important;
}
/* ---------------------------------------------------------------------------
  ★インスタグラム
--------------------------------------------------------------------------- */
.instagramcont li {
  width: calc(100% / 2);
}
/* ---------------------------------------------------------------------------
  ★TABLE
--------------------------------------------------------------------------- */
.c_table_01 table tbody tr td,
.c_table_02 table tbody tr td {
  padding: 1% 1% 4%;
  word-break: break-all;
  width: 100%;
  display: block;
}

.c_table_01 table tbody tr th,
.c_table_02 table tbody tr th {
  padding: 4% 1% 1%;
  width: 100% !important;
  display: block;
  word-break: break-all;
}

.c_table_02 {
  border-radius: 2em;
}

.c_table_02 table tbody tr td {
  padding: 3% 5%;
  font-size: clamp(1rem, 3.8vw, 1.6rem) !important;
}

.c_table_02 table tbody tr th {
  padding: 3% 5% 3% 11%;
  border-right: none;
  font-size: clamp(1rem, 3.8vw, 1.6rem) !important;
}

.c_table_02 table tbody tr th::before {
  top: 50%;
  left: 7%;
  transform: translate(-50%, -50%);
}

.c_table_02 table tbody tr:nth-last-of-type(1) th {
  border-bottom: 1px solid #D6D6D6;
}

/* .c_table_01 table tr {
  background: linear-gradient(140deg, #44AAE7 50%, #89CA36) left bottom / 100% 2px no-repeat;
} */

/* .c_table_01 table tbody tr:nth-of-type(1) th,
.c_table_02 table tbody tr:nth-of-type(1) th {
  border-radius: 0.5em 0.5em 0 0;
} */

.c_table_01 table tbody tr:last-child td,
.c_table_02 table tbody tr:last-child td {
  /* border-radius: 0 0 0.5em 0.5em; */
  /* border-bottom: 1px solid #edf2f6; */
}

/* 横スクロール */
/* .c_table_03 {
  overflow-x: scroll;
} */

/* .c_table_03 table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
} */

.c_table_03 table tr th,
.c_table_03 table tr td {
  padding: 1em !important;
  word-break: break-all !important;
}

/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */
.g_map {
  height: 400px;
}
/* ---------------------------------------------------------------------------
  ★TOTOP
--------------------------------------------------------------------------- */
#totop {
  width: 4em;
}

.totop_wrap {
  right: 1.9%;
  bottom: 39.5vh !important;
}

/* ---------------------------------------------------------------------------
  ★タブ
--------------------------------------------------------------------------- */
.tab-2 > label {
  margin-bottom: 3%;
  flex: unset;
  width: 100%;
}
/* ---------------------------------------------------------------------------
  ～500px
--------------------------------------------------------------------------- */
@media (max-width:500px) {
  .home02 .inner_1100 {
    width: 98%;
  }

  .bookBg {
    background: url(../img/bookBg_sp.svg) no-repeat center / contain;
    /* aspect-ratio: 893 / 1203; */
    padding: 12% 6% !important;
  }

  .home02 .bookBg h2 {
    margin-top: 0% !important;
  }

  .home02 .bookBg p {
    line-height: 140% !important;
    margin-top: 2% !important;
    text-align: left !important;
    font-weight: 500 !important;
  }

  .home02 .bookBg .btn01 a  {
    background-size: 1.8em;
    height: 2.5em;
  }

  .home02 .f32 {
    font-size: clamp(1.45rem, 4.6vw, 3.2rem) !important;
  }

  .admissions02 .timelineArrow {
    left: clamp(49px, 15.5vw, 80px);
  }
}
/* ---------------------------------------------------------------------------
  ★ポップアップ
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★アニメーション
--------------------------------------------------------------------------- */
.scrollItem {
  width: calc(100vw / 3);
}
/* ---------------------------------------------------------------------------
  ★メールフォームプロ
--------------------------------------------------------------------------- */
/* @media screen and (max-width: 800px) {
  form#mailformpro dl dt {
    float: none;
    width: auto;
    font-size: 12px;
    padding: 5px;
    text-align: left;
  }
  form#mailformpro dl dd {
    clear: both;
    border-top: none;
    padding: 5px 15px;
    font-size: 12px;
    line-height: 1.5em;
  }
  div.mfp_buttons button {
    font-size: 14px;
  }
  div#mfp_phase_confirm h4 {
    font-size: 18px;
  }
  ul#mfp_phase_stat {
    padding: 0px;
    text-align: left;
  }
  ul#mfp_phase_stat li {
    text-align: center;
    padding: 5px 0px;
    border-radius: 3px;
    margin: 5px;
    list-style: none;
    font-size: 14px;
    width: 28%;
  }
  ul#mfp_phase_stat li.mfp_phase_arrow {
    bos-shadow: none;
    display: none;
  }
  ul#mfp_phase_stat li.mfp_active_phase {
  }
  ul#mfp_phase_stat li.mfp_inactive_phase {
  }
  table#mfp_confirm_table tr th {
    white-space: wrap;
    width: auto;
  }
  div#mfp_thanks {
    text-align: center;
    font-size: 18px;
    padding: 20px 0px;
  }
  div#mfp_thanks strong {
    color: #c00;
    font-size: 24px;
    display: block;
  }
} */
/* ---------------------------------------------------------------------------
  ★ハンバーガーメニュー
--------------------------------------------------------------------------- */
/* アコーディオンメニュー */
.accordion-list:not(:first-child) {
  margin-top: 10px;
}

.accordion-title {
  cursor: pointer;
  padding: 10px 20px;
  position: relative;
  color: #fefefe;
}

.accordion-title:after {
  position: relative;
  display: block;
  content: "";
  right: -5px;
  top: 1.5em;
  width: 2em;
  height: 2em;
  transform: rotate(90deg);
  transition: all 0.4s ease-in-out;
  background: url(../img/arrowB.svg) no-repeat center left / 100%;
}

.accordion-title.open:after {
  transform: rotate(-90deg);
}

.global-nav img {
  width: 50%;
  margin: 20px auto;
}

.global-nav .sp_btnArea {
  margin-right: auto;
  margin-left: auto;
  width: 90%;
}

.global-nav .btn01 {
  width: 100%;
  text-align: center;
}

.global-nav .btn01.line {
  background: url(../img/arrow02_w.svg) no-repeat center right 1em/1.2em,
    linear-gradient(90deg, #ff5500, #ea8b00);
  color: #fff;
}

.global-nav {
  position: fixed;
  right: -390px;
  /* これで隠れる */
  top: 0;
  height: 100vh;
  color: #424242;
  transition: all 0.6s;
  z-index: 999999;
  overflow-y: auto;
  background: #F1F8FF;
  padding: 0 4%;
}

.global-nav .accordion-container {
  width: 280px;
  margin: 0 auto;
  background: #fff;
  padding: 2% 4%;
  margin-top: 65px;
  border-radius: 1.5em;
}

.global-nav .accordion-container.con02 {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.global-nav .accordion-container .accordion-title02 {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #e5ecee;
  padding: 0.8em 0;
  font-weight: normal;
  /* color: #0a0a0a; */
  cursor: pointer;
  display: block;
  font-weight: bold;
  background: #fff;
  display: block;
  background-size: 16px;
}

.accordion-title {
  padding: 0 !important;
  width: 3em;
  height: 3.5em;
  position: absolute;
  top: 0;
  right: 0;
}

.global-nav .accordion-container .accordion-content li {
  padding: 0.3em 0.3em 0.3em 4.25em;
  border-bottom: none;
}

.global-nav .accordion-container .accordion-content li a {
  color: #fefefe;
}

.global-nav .btn01 a {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.global-nav .center a {
  color: #3c3c3c;
}

.accordion-content li {
  padding: 5px 20px;
  border-bottom: 1px solid #949292;
}

.hamburger {
  position: fixed;
  /* position: absolute; */
  right: 1%;
  top: 0;
  width: 58px;
  height: 56px;
  cursor: pointer;
  z-index: 999999;
  background: #fff;
  border-radius: 50%;
}

.hamburger__line {
  position: absolute;
  left: 18px;
  width: 24px;
  height: 2px;
  background-color: #0090DA;
  transition: all 0.6s;
  border-radius: 50em;
}

.hamburger__line--1 {
  top: 19px;
}

.hamburger__line--2 {
  top: 26px;
}

.hamburger__line--3 {
  top: 33px;
}

.black-bg01 {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
  cursor: pointer;
}

/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0;
}

.nav-open .black-bg01 {
  opacity: 0.8;
  visibility: visible;
}

.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 25px;
}

.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}

.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 25px;
}

.accordion-box {
  position: relative;
}

.accordion-close {
  display: none;
  padding-left: 0.5em;
  padding-bottom: 0.8em;
  padding-top: 0.8em;
  border-bottom: 1px solid #dde4e1;
}

.nav li:nth-child(1) a {
  border-left: none !important;
}

.accordion-close li a {
  font-size: 90%;
}

header, .headerArea {
  height: 56px;
}

.headerArea {
  place-content: center;
}

.header02 {
  margin: 0;
}

.header02 > div:nth-of-type(2),
.header02 > div:nth-of-type(1) p {
  display: none;
}

/* =======================================
	3つ表示で横スライドするカードレイアウト
========================================== */
.card {
  flex: 0 0 100%;
  padding: 0 10px;
  width: 100% !important;
}

.arrow_slid.left {
  left: -0.7em;
}

.arrow_slid.right {
  right: -0.7em;
}

.arrow_slide {
  width: 2em;
  height: 2em;
}
/* =======================================
	スマホのみスライダー＆手動
========================================== */
/* divではなく直接の子divのみ非表示（sp-slider-btnsを除く） */
.sp-slider > div:not(.sp-slider-btns) {
  display: none !important;
}

.sp-slider > div.sp-active {
  display: block !important;
}

.sp-slider-btns {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}

.sp-slider-prev,
.sp-slider-next {
  background: #636262;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 15px;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.sp-slider-next {
  transform: rotate(-90deg);
}
.sp-slider-prev {
  transform: rotate(90deg);
}
.sp-slider-next::after,
.sp-slider-prev::after {
  content: "";
  display: block;
  background-color: #fff;
  width: 5px;
  aspect-ratio: 1 / 2;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  position: absolute;
  transform: translate(-50%, -50%) rotate(90deg);
  top: 50%;
  left: 50%;
}

.sp-slider-dots {
  display: flex;
  gap: 8px;
}

.sp-slider-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
  transition: background 0.3s;
}

.sp-slider-dot.active {
  background: #626363;
}

/* =======================================
	★TOP
========================================== */
ul.pankuzu li:nth-of-type(2),
ul.pankuzu li:nth-of-type(3) {
  max-width: 15em;
}
ul.pankuzu {
  font-size: 12px;
}


/* =======================================
	★form
========================================== */
#contact .popup-inner {
  padding: 40px 20px;
}
input.short {
  width: 50%;
}
.long.mL10 {
  margin-left: 0 !important;
}
form#mailformpro label {
  white-space: normal !important;
  text-align: left !important;
}
form#mailformpro label > span {
  margin-left: 0;
}
#contact label.c_b {
  line-height: 140% !important;
  align-items: start;
  display: block;
}

.submit {
  background: #0090DA url(../img/arrowW.svg) no-repeat center right 1em / 2.5em;
  font-size: clamp(14px,2vw,18px);
  width: 100%;
}
/* =======================================
	★下層
========================================== */
.main_inpages {
  aspect-ratio: 900 / 590;
}

.main_inpages h2 {
  font-size: 22px !important;
  line-height: 130%;
}

/* アコーディオン */
dt.plus {
  padding: 10px 2.5em 8px 0.5em;
}
dt.plus:before {
  right: 10px;
}
.accordion dd {
  width: calc(100% - 1em);
  margin: 10px auto 10px;
}

/* =======================================
	★data
========================================== */
.data01 .cl33 > * {
  margin-top: 2%;
  text-align: left;
}

.data01 li.bgW {
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
}

.data01 li.bgW > div:nth-of-type(1) {
  width: 50%;
}

.data01 .circleBg {
  position: unset;
  width: clamp(100px, 17.7vw, 160px);
  height: clamp(100px, 17.7vw, 160px);
}

/* =======================================
    社員対談 interview
========================================== */
.asan::before,
.bsan::before {
  position: relative;
  left: 0;
  margin-bottom: 2%;
  margin-top: 8% !important;
}

.articleRight p, .articleLeft p {
  margin-left: 0em;
}

.articleLeft img {
  width: 50%;
  margin: 0 1em 1em 0;
}

.articleRight img {
  max-width: 50%;
}

/* =======================================
	★history
========================================== */
.history dl dt {
  letter-spacing: 0.05em;
  line-height: 140%;
  padding: 0 0 5% 0;
  width: 7em;
}

.history dl dd {
  padding: 0 0 5% 5%;
}

.history dl dt::before {
  right: 0.75em;
  top: 0.2em;
}

/* 縦に並ぶver. */
/* .history dl {
  border-left: solid 2px #e1a0ac;
}
.history dl dt {
  width: 100%;
  letter-spacing: 0.15em;
  left: 1em;
}
.history dl dd {
  width: 100%;
  padding: 0.5em 0 1.5em 1em;
  border-left: none;
}
.history dl dt::before {
  width: 0.9em;
  height: 0.9em;
  right: unset;
  top: 0.5em;
  left: -1.5em;
} */

.pc_menu {
  display: none;
}

.logo {
  width: 36.5% !important;
}

.header_nav {
  display: none;
}

.sp_menu a {
  color: #fff;
  width: 100%;
  display: block;
  align-content: center;
  text-align: center;
  letter-spacing: 0.2em;
  height: 3.5em;
  border-radius: 0.5em;
  margin-inline: auto;
}
.sp_menu .mail a {
  background: #0090DA;
}
.sp_menu .mail span {
  background: url(../img/mail.svg) no-repeat center / contain;
  width: 1.3em;
  height: 1em;
  display: inline-block;
  margin-right: 7px;
}

.sp_menu .recruit a {
  background: #30B9FF;
}
.sp_menu .recruit span {
  background: url(../img/otona.svg) no-repeat center / contain;
  width: 1.3em;
  height: 1.3em;
  display: inline-block;
  margin-right: 7px;
}

.sp_menu .album a {
  background: #fff;
}
.sp_menu .album span {
  background: url(../img/insta.svg) no-repeat center / contain;
  width: 1.3em;
  height: 1.3em;
  display: inline-block;
  margin-right: 7px;
}

.global-nav .accordion-container > a:nth-last-of-type(1) {
  border-bottom: unset;
}

.main {
  flex-direction: column-reverse;
}

.main .z-in1 {
  position: unset;
  width: 60%;
}

.mv02 {
  width: 90%;
  margin: 40px 0 0 auto;
}

.mv01 {
  aspect-ratio: 508 / 240;
  margin-top: 5%;
}

.tab-labels {
  width: 100%;
  gap: 10px;
}

.tab-labels label {
  width: 48%;
}

.main .f34 {
  font-size: clamp(1.6rem, 5.5vw, 3.4rem) !important;
}

.o_02 a {
  place-content: center;
}

.btn01 a,
.btn02 a {
  background-position: center right 1em;
  padding: 0.5em 3.7em 0.5em 1.1em !important;
  background-size: 2.5em;
  line-height: 120%;
  font-size: inherit;
}

.home02 .w28 {
  width: 48%;
}

.bookBg {
  padding: 0% 5%;
}

/* .home03 .mT125 {
  margin-top: 30.5% !important;
} */

.maruTxtBg {
  top: -37%;
  left: 0;
}

.home03 .cl25 > * {
  margin-top: 15% !important;
}

.home03 li img {
  width: 70%;
}

.home03Bg::before {
  top: 3%;
  height: 96%;
  width: 97%;
}

.home04Bg_sp {
  background: url(../img/home04Bg_sp.png) no-repeat top center / cover;
  height: auto;
  width: 100%;
  aspect-ratio: 900 / 85;
}

#home .home04Bg_sp {
  margin-top: 15%;
}

.home04 {
  background: unset;
  background-color: #D5EDFB;
  margin-top: -3px;
}

.home04Tit {
  height: 6em;
  top: -1.3%;
  width: 95%;
  place-content: baseline;
}

.home04Tit .h2Tit {
  font-size: clamp(15px, 2vw, 28px);
  /* padding-top: 2.5% !important; */
}

.home04Tit .f18 {
  font-size: clamp(1rem, 3vw, 1.8rem) !important;
}

.home04 .inner_1120 .flex {
  flex-direction: column-reverse;
}

.home04 .w34,
.home04 .w62 {
  width: 100%;
}

.home04 .pT130 {
  padding-top: 6% !important;
}

.txtBg {
  display: inline-block;
}

.bgW02::before {
  width: 105%;
  height: 100%;
  bottom: -64%;
}

.bgW02::after {
  /* width: 30%; */
  width: clamp(84px, 17.5vw, 130px);
  bottom: -20%;
  left: 20%;
}

.home04 .mT115 {
  margin-top: 23.5% !important;
}

.cloudTxtBg {
  left: -4%;
}

/* .yoyaku {
  width: 5em;
} */

.yoyaku {
  width: 100%;
  padding: 0 1.7em 0 0.8em;
}

/* .home04 .w30 {
  padding: 4%;
  gap: 5px;
} */

.home04 .w30 {
  padding: 4% 1%;
  gap: 5px;
}

.home04 .sp_left {
  padding:  0 4%;
}

.aboutBtn02 {
  height: auto;
  padding-bottom: 15%;
}

.home05 .maru06 {
  top: 35%;
}

.maru07 {
  bottom: -8%;
}

.home06 .inner_1000 > .flex {
  flex-direction: column;
}

.home06 .inner_1000 > .flex > div {
  width: 80%;
}

.home06 .inner_1000 > .flex > div a {
  justify-content: center;
}

.home06 .inner_1000 > .flex > div a > div {
  width: 1.2em;
}

.home06 .inner_1000 > .flex > div .f36,
footer .f36 {
  font-size: clamp(1.6rem, 6.2vw, 3.4rem) !important;
  flex-shrink: 0;
}

.home06 .c_table_01 tr {
  flex-direction: column;
}

.home06 .c_table_01 table tbody tr th {
  padding: 14px 15px 0px;
}

.home06 .c_table_01 table tbody tr td {
  width: 100%;
  padding: 0px 15px;
}

.bgW03,
.bgYbd,
.bgBbd,
.bgPbd,
.bgObd,
.c_table_01,
.c_table_03,
.bgW,
.bgW02::before,
.bR,
.aboutBtn02 {
  border-radius: 2.75em;
}

.aboutBtn02 img {
  border-radius: 0 2.75em 0 2.75em;
}

.home06 .c_table_01 table tbody tr:nth-last-of-type(1) td {
  padding: 0px 15px 14px;
}

footer > .flex {
  flex-direction: column;
}

footer > .flex > div {
  width: fit-content;
  margin-inline: auto;
}

footer > .flex > div > div a {
  justify-content: center;
}

.footer02_02 {
  margin-top: 5%;
}

.footer02_nav ul {
  margin-top: -0.8em !important;
}

.footer03_nav {
  flex-wrap: wrap;
  margin-top: 4.5% !important;
}

/* .footer03_nav li {
  width: 30%;
} */

.footer02_nav, .footer03_nav {
  width: 100%;
}

.footer02_copy ul {
  gap: 5px;
  flex-wrap: wrap;
  width: 100%;
}

.footer02_copy .w50 {
  width: 49%;
}

footer .flex_right.gap7 {
  justify-content: center;
}

.main_inpages > div {
  margin-top: -8%;
}

.bgA {
  background: unset;
  background-color: #D5EDFB;
  margin-top: -3px;
}

.about02 .articleBox {
  max-width: 100%;
  float: unset;
  margin: 0 auto;
  margin-bottom: 3%;
}

.about02 .articleRight {
  display: flex;
  flex-direction: column;
}
.about02 .articleRight .articleBox {
  order: 0;
}
.about02 .articleRight h3 {
  order: 1;
}
.about02 .articleRight > div:nth-last-of-type(1) {
  order: 2;
}
.about02 .articleRight img {
  margin: 0 0 0.5em 0;
}

.about02 .w50 {
  width: 100%;
}

.about03 .c_table_01 table tbody tr td p {
  margin-bottom: 3%;
}

.c_table_03 table {
  min-width: 800px;
}

.about05 .flex {
  flex-direction: column;
  gap: 5px;
}

.about06 .cl50 {
  flex-direction: column-reverse;
}

.about06 .w_fit {
  width: 60%;
  margin: 0 0 0 auto;
}

.btn02 .otona,
.btn01 .kodomo {
  margin-right: 5px;
}

.home04 .cl33,
.home04 .cl50 {
  gap: 25px;
}

.home04 .inner_1120 img {
  border-radius: 2.75em;
}

.maru01::before {
  top: -2%;
}

.maru02::after {
  top: -6%;
}

.maru03 {
  bottom: -13%;
}

.vision01 .bookBg .lh200,
.vision01 .bookBg .lh240 {
  line-height: 140% !important;
}

.vision01 .bookBg .f32 {
  font-size: clamp(1.1rem, 3.7vw, 3.2rem) !important;
}

.vision01 .bookBg p {
  font-size: 80%;
}

.vision01Photo01 {
  width: 25%;
}

.vision01Photo02 {
  width: 27%;
}

.vision01Photo03 {
  width: 20%;
  bottom: -15%;
  left: 22%;
}

.vision01Photo04 {
  bottom: -19%;
  left: -5%;
}

.vision01Photo05 {
  bottom: -20%;
  right: -5%;
}

.vision02 .h3Tit {
  font-size: clamp(14px, 1.72vw, 24px);
}

.vision02 .inner_1120:nth-child(even) .cl50 {
  flex-direction: column-reverse;
}

.vision02 .bgW02::before {
  height: 90%;
  bottom: -50%;
}

.vision03 h3 {
  margin-bottom: 6%;
}

#vision .gap0_5 {
  gap: 1.5%;
}

.skills01 .f34 {
  /* font-size: 90% !important; */
  font-size: clamp(1.2rem, 2.9vw, 3.4rem) !important;
}

.skills01 .w42 {
  height: 4em;
  height: clamp(48px, 15.6vw, 140px);
}

.skills01 .w42:nth-of-type(1) {
  padding-bottom: 8%;
}

.skills01 .w42:nth-of-type(2) {
  padding-bottom: 0;
}

.skills01 .cl50 > * {
  width: 50%;
}

.skills01 .bookBg p {
  font-size: 70%;
  line-height: 140% !important;
}

.skills01 .bg4 .f32 {
  /* font-size: 69% !important; */
  font-size: clamp(0.8rem, 2.6vw, 3.2rem) !important;
}

.skills01 .pL40 {
  padding-left: 0% !important;
}

.skills01 .bookBg {
  gap: 0;
}

.skills01 .bg4 {
  flex: 1;
  /* background: url(../img/bg4.svg) no-repeat center / cover; */
  height: 125%;
}

#skills .w70,
#skills .w65 {
  width: 100%;
}

.bgP ,
.bgO ,
.bgG ,
.bgY {
  padding: 10% 4% 4%;
}

#skills .cl50 {
  gap: 0;
  flex-direction: unset;
}

#skills .cl50 > * {
  width: 50%;
}

.skills01 .bookBg {
  padding: 0% 5% !important;
}

.skills01 .bg4 .glow {
  filter: blur(1px);
}

.bgPtxt {
  top: clamp(-205px, -22.8vw, -70px);
}

.bgOtxt {
  top: clamp(-205px, -22.8vw, -70px);
}

.bgYtxt {
  top: clamp(-250px, -27.8vw, -85px);
}

.bgGtxt {
  top: clamp(-230px, -25.6vw, -78px);
  width: 40%;
}

.bgGtxt .mL80 {
  margin-left: 20% !important;
}

.bgPtxt .mB20 {
  margin-bottom: 10% !important;
  margin-right: 5%;
}

.admissions02 .flex.gap2 {
  margin-bottom: 10px !important;
  height: 6em;
}

.admissions02 .timelineArrow {
  bottom: -1em;
}

#admissions .btn01.w50 {
  width: 100%;
}

#admissions .cloudBg03 {
  height: 3.5em;
}

.schedule01 .f24 {
  font-size: clamp(1.8rem, 4.6vw, 2.4rem) !important;
}

.schedule02 .f42 {
  font-size: clamp(2rem, 4.7vw, 4.2rem) !important;
}

.schedule01 .maruTxtBg {
  top: -5%;
  left: 2%;
}

.circleBgP,
.circleBgY,
.circleBgO,
.circleBgB {
  position: absolute;
  right: 4%;
}

.schedule02 .cl50 p {
  text-align: center !important;
  margin-top: 3% !important;
}

.schedule02 .bgPbd .cl50:nth-of-type(2) {
  flex-direction: column-reverse;
}

.schedule02 .cl50 {
  gap: 0;
}

.schedule03 .cloudBgW {
  width: 100%;
  top: -4.5%;
}

.schedule03 .cl4_6 {
  flex-direction: column-reverse;
}

.schedule03 .inner_1120 {
  /* padding-top: 16% !important; */
  margin-bottom: 10%;
}

.schedule03 .cl4_6 .h2Tit {
  margin-top: 0 !important;
  font-size: clamp(17px, 2.4vw, 28px);
}

.schedule03 .cl4_6 p.mT80 {
  margin-top: 4% !important;
}

.schedule03 .bgW02::before {
  bottom: -58%;
  height: 90%;
}

.schedule03 .bgW02::after {
  width: clamp(70px, 18.9vw, 170px);
  bottom: clamp(-170px, -21vw, -73px);
  left: 80%;
}

.news-item {
  flex-wrap: wrap;
  gap: 7px;
}

#archive-news .category {
  width: 9.5em;
}

.cloudBgWL {
  font-size: clamp(15px, 2.4vw, 28px);
  line-height: 100%;
  height: 7em;
}

.cloudBgWL::before {
  width: 14%;
  bottom: -95%;
  left: 5%;
}

.recruit01 .w60 {
  margin-left: 0;
  width: 88%;
  margin-inline: auto;
}

.recruit01 .flex {
  gap: 10px;
}

.recruit01 .flex.mT20 {
  margin-top: 10px !important;
}

.recruit02 .flex {
  flex-direction: column;
  gap: 5px;
}

.recruit02 .inner_1100.flex > * {
  width: 100%;
  margin-top: 13% !important;
}

.recruit02txt01 {
  width: 60%;
}

.recruit02 .w_fit {
  width: 95%;
}

.cardBg > p:nth-of-type(2) {
  line-height: 140% !important;
}

.cardBg > p:nth-of-type(1) {
  padding-top: 4% !important;
  margin-bottom: 3% !important;
}

.recruit03 .flex {
  flex-direction: column;
}

.recruit03 .flex > * {
  width: 100%;
}

.recruit03 .bgW {
  padding: 4%;
  border-radius: 2em;
}

.recruit03 .bgPbdW, .recruit03 .bgObdW, .recruit03 .bgBbdW {
  top: -1.5%;
  border-radius: 1em;
}

.h3under02 {
  padding: 0 0 0.5em 1.5em;
}

.txtBgO span,
.txtBgP span,
.txtBgB span {
  border-radius: 0 5px 5px 0;
}

.recruit04 .cardBgS {
  padding: 0 6%;
  display: flex;
  flex-direction: column;
  place-content: unset;
  line-height: 140% !important;
}

.recruit04 .cardBgM img {
  border-radius: 1.7em;
}

.recruit04 .h3underM {
  margin-top: 8% !important;
}

.recruit04 .inner_1200 {
  width: 93% !important;
}

.recruit04 .cloudBg03W {
  margin-bottom: 3.5% !important;
}

.recruit04 .cardBgS > p {
  margin-top: 2% !important;
  line-height: 140% !important;
  font-size: 90%;
}

.recruit05 .inner_1100 > ul.flex:nth-of-type(1) {
  flex-direction: column;
}

.recruit05 .inner_1100 > ul.flex:nth-of-type(1) > * {
  width: 100%;
  margin-top: 13.5% !important;
}

.recruit05 .lh180 {
  line-height: 140% !important;
}

.recruit05 .cardBg02 {
  padding: 5% 6% 0;
}

.maru15::after {
  bottom: -2%;
}

.recruit05 .bgBoxA {
  width: 47%;
  height: 10em;
  border-radius: 2em;
}

.maru17 {
  right: 63%;
  top: 36%;
}

.recruit07 .flex {
  flex-direction: column;
  gap: 10px;
}

.recruit07 h2 {
  margin-top: -50px;
}

#recruit .dotB {
  margin: 2% 0;
}

.cardBgM {
  padding: 0 4%;
}

.recruit04 h3 {
  font-size: clamp(1.2rem, 4.2vw, 2.6rem) !important;
}

.recruit04 .f24 {
  font-size: clamp(1.2rem, 3.8vw, 2.4rem) !important;
  margin-top: 4% !important;
}

.cardBg h3 {
  line-height: 140% !important;
}

.fukidasiBl {
  width: 43%;
  top: -1.5%;
  right: -2.5%;
  line-height: 110%;
}

.fukidasiB:nth-of-type(1) {
  width: 34%;
  top: -2%;
  line-height: 110%;
}

.fukidasiB:nth-of-type(2) {
  width: 32.5%;
  top: 0;
  left: -6%;
  line-height: 110%;
}

.recruit05 .bgBoxA > p:nth-of-type(2) {
  font-size: 75%;
}

.recruit05 .bgBoxA > p:nth-of-type(1) {
  font-size: clamp(1.2rem, 4vw, 2.4rem) !important;
}

.recruit07 .f26 {
  font-size: clamp(1.2rem, 4.2vw, 2.6rem) !important;
}

.recruit07 .f18 {
  font-size: clamp(1rem, 3.7vw, 1.8rem) !important;
}

.recruit05 .inner_1100 {
  width: 93%;
}

.archive-news02 .flex_space_between {
  flex-direction: column;
  margin-top: 3% !important;
}

.archive-news02 h2 {
  width: 100%;
}

.archive-news02 .btn01 a {
  width: 11em;
  margin-top: 3%;
}

.contact01 .w_fit img {
  width: 1em;
}

.contact01 .c_table_01 tr {
  flex-direction: column;
}

.contact01 .c_table_01 table tbody tr th,
.contact01 .c_table_01 table tbody tr td {
  width: 100%;
}

.contact01 .c_table_01 table tbody tr th {
  padding: 0px 15px;
}

.contact01 .c_table_01 table tbody tr td {
  padding: 0 15px 14px;
}

/* ==========================================================================
   運営・系列施設一覧
   ========================================================================== */
  .inner_1200, .inner_1300, .profile_inner, .greeting-inner, .details__inner,
  .program__inner, .gallery__inner, .street-view__inner {
    width: 88% !important; max-width: none !important;
    margin-left: auto !important; margin-right: auto !important;
  }
  .greeting-card, .details-card, .program__card, .gallery__card, .street-view__card { width: 100% !important; }

  /* Nav */
  .facility-nav {
    z-index: 2;
    margin-bottom: 0; }

  .facility-nav .cl25 {
    gap: 15px 0;
    margin-bottom: 15px !important;
    margin-top: 0 !important;
  }
  .facility-nav .facilitiesBtn {
    width: 100%;
  }
  .facility-nav .facility_circle {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }
  .facility-nav .facility_name {
    font-size: clamp(1.1rem, 3.2vw, 2.8rem) !important;
  }
  .facilitiesBtn_down a::after,
  .facilitiesBtn_down.or a::after {
    right: 20px;
    width: 3.5em;
    height: 3.5em;
  }

  .facility_row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 0;
  }
  .facility-nav .facilitiesBtn,
  .facility_row01 .facilitiesBtn,
  .facility_row02 .facilitiesBtn {
    width: calc(50% - 10px);
  }
  .facility-nav .facility_circle, .facilitiesBtn_down a {
    max-width: 100%;
  }

  /* Profile */
  .facility-profile .profile_wave_top {
    position: absolute;
    top: 2%;
    left: 0;
    width: 100%;
    height: 12em;
    background: url(../img/iwakiri02bg_top.svg) no-repeat top center / cover;
    z-index: 0;
  }
  .facility-profile .profile_wave_bottom {
    position: absolute;
    left: 0;
    bottom: 2%;
    width: 100%;
    height: 10em;
    background: url(../img/iwakiri02bg_bottom.svg) no-repeat bottom center / cover;
    z-index: 0;
  }
  .facility-profile {
    margin-top: 0;
    min-height: unset !important;
    padding-top: 8em;
    padding-bottom: 15%;
  }
  .facility-profile .profile_inner {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 5em;
    z-index: 0;
  }
  .facility-profile .profile_top {
    display: flex;
    align-items: center;
  }
  .facility-profile .profile_left {
    width: 100%;
    order: 2;
  }
  .facility-profile .facility_info {
    margin-top: -13em;
  }
  .facility-profile .profile_photo {
    width: 70%;
    max-width: 650px;
    margin: 0 auto 0 0;
    position: absolute;
    top: -13em;
    right: 0;
  }
  .facility-profile .profile_category {
    width: 55%;
    margin: 51% auto 3% 0;
  }
  .facility-profile .profile_name {
    font-size: clamp(1.2rem, 4.3vw, 2.2rem) !important;
  }
  .facility-profile .profile_tel {
    margin-bottom: 10px;
  }
  .facility-profile .profile_text {
    width: 100%;
    margin-top: 2%;
    border-radius: 30px;
    padding: 5%;
    margin-bottom: 4%;
  }
  .facility-profile .profile_text p {
    font-size: 15px;
    line-height: 1.9;
  }
  /* .facility-profile .profile_bear {
    width: 40%;
    right: 0%;
    bottom: clamp(440px, 52.8vw, 475px);
  } */

  .facility-profile .profile_bear {
    width: 200px;
    right: -10px;
    /* bottom: -10px;  */
    top: 350px
  }

  .facility-profile .facility-profile_btns {
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
  }

  #support-club02.facility-profile .facility-profile_btns {
    width: 100% !important;
    padding: 0 !important
  }

  .facility-profile .btn_wrap {
    width: 100%;
    max-width: 480px;
  }
  .facility-profile .cap {
    font-size: clamp(1.3rem, 2vw, 1.8rem) !important;
    gap: 0.5em;
  }

  /* Greeting */
  .greeting-section::before {
    aspect-ratio: 1400 / 1027;
    height: clamp(60px, 11.2vw, 100px) !important;
    bottom: clamp(-85px, -9.5vw, -30px);
    top: unset !important;
    width: 100%;
    background: url(../img/iwakiri03bg.svg) no-repeat bottom center / cover;
  }
  .greeting-section {
    position: relative;
    background: #fff;
    overflow: visible;
    padding: 7% 0 8%;
    margin-top: -15%;
  }
  .greeting-section .greeting-card {
    flex-direction: column;
    padding: 10px 5%;
    border-radius: 35px;
    gap: 10px;
  }
  .greeting-section .greeting-photo {
    width: 100%;
  }
  .greeting-section .greeting-photo img {
    border-radius: 30px;
  }
  .greeting-section .greeting-title {
    font-size: clamp(1.6rem, 3.2vw, 2.8rem) !important;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }
  .greeting-section .greeting-text {
    /* font-size: 16px; */
    line-height: 1.8;
    margin-bottom: 4%;
  }
  .greeting-section .greeting-text p {
    margin-top: 0;
    margin-bottom: 15px;
  }
  .greeting-section .bear {
    width: 15%;
    left: 1%;
    bottom: 1%;
  }
  .greeting-section .dot01 { top: 250px; left: -50px; transform: scale(.5); }
  .greeting-section .dot02 { top: 15%; right: -3%; transform: scale(.5); width: 200px; }
  .greeting-section .dot03 { top: 560px; right: 200px; transform: scale(.5); }
  .greeting-section .dot04 { bottom: 30px; z-index: 1; }

  /* Details */
  .facility-details {
    margin-top: -50px;
    padding-top: 100px;
    margin-bottom: 6rem;
  }
  .details__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 50px !important;
    margin: auto;
  }
  .details-card {
    border-radius: 28px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
  }
  .details-title {
    position: absolute !important;
    top: -30px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    width: 190px;
  }
  .details-title span {
    font-size: 20px;
  }
  .overview-table th, .overview-table td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
    padding: 12px 16px;
  }
  .overview-table th {
    border-right: none;
    border-bottom: none;
  }
  .overview-table td {
    border-top: none;
    border-bottom: 1px solid #D6D6D6;
  }
  .overview-table tr:last-child td {
    border-bottom: none;
  }
  .overview-table tr:first-child th, .overview-table tr:first-child td {
    height: auto;
  }
  .overview-table tr:first-child th {
    padding-top: 50px;
    border-top-left-radius: 28px;
    border-top-right-radius: 28px;
  }
  .overview-table tr:last-child td {
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
  }
  .overview-table tr:last-child th, .overview-table tr:last-child td {
    padding-bottom: 16px !important; }
  .overview-table tr:first-child th {
    border-top-left-radius: 28px;
  }
  .overview-table tr:last-child th {
    border-bottom-left-radius: 28px;
  }
  .overview-table tr:first-child td {
    border-top-right-radius: 28px;
  }
  .overview-table tr:last-child td {
    border-bottom-right-radius: 28px;
  }
  .schedule {
    gap: 16px;
  }
  .schedule-row {
    flex-direction: column;
    gap: 4px;
  }
  .sp-only {
    display: block;
  }
  .day {
    width: auto;
    font-weight: bold;
    color: #0090DA;
  }
  .access-earth {
    width: 14%;
    right: -1%;
    top: -4%;
  }
  .access-head {
    height: 80px;
    padding-top: 15px;
    font-size: 14px;
    /* text-align: center; */
    gap: 2%;
    font-size: clamp(1rem, 3.6vw, 1.4rem) !important;
  }
  .pin { width: 1.5em;
  }
  .access-map {
    height: 320px;
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
  }
  .overview-table .spacer {
    display: none;
  }

  .schedule-half.afternoon .line {
    top: 0;
    bottom: 0;
  }

  .schedule-half .line {
    top: 0;
  }
  /* Program */
  .program-section {
    padding: 30px 0;
    margin-top: 50px;
  }
  .program-section .program__card {
    padding: 20px 20px;
  }
  .program-section .program__legend {
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 4%;
    margin-bottom: 8%;
  }
  .program-section .program__bear {
    width: 18%;
    left: 0;
    top: -3%;
  }
  .program-section .program__title {
    width: 180px;
    top: -35px;
    font-size: 18px;
  }
  .daily_schedule {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
  }
  .schedule-half .row {
    grid-template-columns: 1fr 80px 1fr;
    margin: 5% 0;
  }
  .time {
    font-size: 18px;
  }
  .event {
    font-size: clamp(1rem, 3.6vw, 1.4rem) !important;
    padding: 10px 6px;
    border-radius: 10px;
    line-height: 140%;
  }
  .program__note {
    text-align: left;
    font-size: 12px;
    margin-top: 3%;
  }

  /* Gallery */
  .gallery-section {
    padding: 60px 0;
  }
  .gallery__title {
    width: 180px;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
  }
  .gallery__title span {
    font-size: 18px;
  }
  .gallery__main-image img {
    border-radius: 20px;
  }
  .gallery__label {
    min-width: 6em;
    height: 2.5em;
    font-size: 1.4rem;
    right: 10px;
    bottom: 10px;
  }
  .gallery__thumbs {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .gallery__thumb img {
    border-radius: 10px;
  }

  /* Street-view */
  .street-view-section {
    padding: 30px 0;
  }
  .street-view__title {
    width: 180px;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
  }
  .street-view__title span {
    font-size: 18px;
  }
  .street-view-section__content {
    border-radius: 24px;
    border: none;
    background-color: unset;
  }

  .street-view__map {
    border: 1px solid #D6D6D6;
  }

  .street-view__map iframe {
    height: auto;
    width: 100%;
    aspect-ratio: 4 / 3;
  }
  .street-view__car {
    width: 20%;
    right: 0;
    bottom: -18%;
  }

  /* Minamikoizumi */
  .greeting-section .corporate-childcare-title {
    font-size: 20px;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }
  #minamikoizumi03.greeting-section .bear {
    width: 80px;
    left: 3px;
    bottom: 0;
  }
  /* .greeting-section {
    padding: 80px 0 30px;
  } */
  #minamikoizumi05.program-section .program__bear {
    top: -2%;
  }

#minamikoizumi04 .access-head{
    padding: 40px 0 10px;
}

#tokinokakehashi04 .access-head{
    padding: 40px 0 10px;
}

.program-section .with-photo {
  max-width: 100vw;
  overflow: hidden;
}
.program__card {
    overflow: visible;
  }

  .age-02 .schedule-half {
    width: 100%;
    margin: 0 auto;
  }

.age-02 .schedule-half .row {
  grid-template-columns: 80px 1fr;
  margin: 5% 0 !important;
  align-items: start;
}

/* .schedule-half.morning .row:nth-child(5), .schedule-half.morning .row:nth-child(6) {
  margin-bottom: 5%;
} */

.program-section .legend-color {
  width: 1.5em;
  height: 1.5em;
}

.schedule-half.morning > div.row:nth-last-of-type(1),
.schedule-half.afternoon > div.row:nth-last-of-type(1) {
  margin-bottom: 0 !important;
}

  .age-02 .schedule-half .line {
    left: 40px;
    top: 0;
  }
  .age-02 .schedule-half.afternoon .line { top: 0; bottom: 0; }

  .age-02 .schedule-section__content {
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .age-02 .schedule-section__photo {
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .age-02 .schedule-section__photo img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-radius: 20px;
  }

  .age-02 .program__note {
    text-align: center;
  }
  .age-02 .event {
    width: auto;
    min-width: 120px;
  }

  #support-club02 .btn_wrap .cap {
    top: -28px;
  }

  #support-club02 .consultation-info-title {
    margin-bottom: 0 !important;
  }

  #support-club02 .consultation-links .facility-profile_btns {
    width: 100%;
  }

    .consultation-info-content {
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    align-items: unset;
    width: 100%;
  }

  .consultation-info-title {
    font-size: 18px;
    margin-top: 0 !important;
    margin-bottom: 5px !important;
  }

  .consultation-links {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 35px 0 auto;
    align-items: center;
  }

  .consultation-info-tell {
    font-size: 18px;
    align-items: center;
  }
  .support-club-intro {
    width: 90%;
    border-radius: 150px;
    padding: 20px 0;
  }

  #support-club02 .f_ps115 {
    white-space: normal;
    font-size: clamp(1.5rem, 2vw, 1.8rem) !important;
  }

  #support-club04 .overview-table tr:first-child th,
  #support-club04 .overview-table tr:first-child td {
    height: auto; vertical-align: bottom;
  }

  /* #support-club04 .details-title {
  width: 230px;
} */
#support-club04 .left-column {
  gap: 80px;
}


.facility-profile_btns.support-c .btn_wrap {
  width: 100%;
}

/* .facility-profile_btns.support-c .btn01 a {
  font-size: 2.5rem !important;

} */

.facility-profile_btns.support-c .btn_wrap .cap {
  font-size: 2rem;
}
.facility-profile_btns.support-c .btn_wrap {
  width: 100% !important;
  margin: 10px 0 0;
}

  .facility-profile_btns.support-c .btn_wrap .cap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .facility-profile_btns.support-c .btn_wrap .cap::before,
  .facility-profile_btns.support-c .btn_wrap .cap::after {
    /* display: block !important; */
    flex-shrink: 0 !important;
    width: 25px !important;
  }

/* .facility-profile_btns.support-c .btn01 a {
    padding-right: 4em !important;
    padding-left: 1em !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
  } */

/* #support-club04 .details-title {
    top: -50px !important;
  } */

#support-club04 .access-earth {
    top: -20px;
  }

#support-club04 .access-head {
  gap: 2%;
}

.concept01 .cl25 {
  flex-direction: unset;
  gap: 0;
}

.concept01 .cl25 > * {
  width: 33%;
}

.concept05 .inner_1200.flex_right,
.concept02 .inner_1200.flex_right,
.concept03 .inner_1200.flex_right {
  flex-direction: column-reverse;
}

.concept05 .w45,
.concept02 .w45,
.concept03 .w45,
.concept05 .w80,
.concept02 .w80,
.concept03 .w80 {
  position: relative;
  width: 100%;
}

.concept05 .w80,
.concept02 .w80,
.concept03 .w80 {
  margin-bottom: -5% !important;
  margin-top: 3%;
}

.concept02 .cloudBgW,
.concept03 .cloudBgW {
  margin-top: 12% !important;
}

.concept02 .cl50,
.concept03 .cl50 {
  flex-direction: unset;
  gap: 20px;
}

.concept03::after {
  bottom: -5%;
  height: 5%;
}

.concept05::after {
  bottom: -8%;
  height: 8%;
}

.concept06::after {
  bottom: -5%;
  height: 5%;
}

.concept04, .concept06, .concept07 {
  padding-top: 22%;
}

.concept04 .timeline,
.concept06 .timeline {
  width: 50%;
}

.concept07 .w40,
.concept02 .btn01,
.concept03 .btn01 {
  width: 80%;
}

.concept04 .cl3_7,
.concept06 .cl3_7 {
  gap: 0;
  margin-bottom: 5% !important;
}

.concept04 .w80,
.concept06 .w80 {
  width: 100%;
  margin-top: 25% !important;
}

.concept04 h2.cloudBg03, .concept04 h2.cloudBgWL, .concept06 h2.cloudBg03, .concept06 h2.cloudBgWL {
  top: -5%;
}

.concept04 .cl50 {
  margin-top: 25% !important;
  gap: 60px;
}

.concept04 .bgW ,
#concept .bgB {
  min-height: auto;
  padding: 10% 4% 4% !important;
}

#concept .f42 {
  font-size: clamp(24px, 4.7vw, 42px);
}

.concept06 .cloudBgWL::before, .concept04 .cloudBgWL::before {
  left: -3%;
  bottom: -70%;
}

.concept06 .cloudBgWL::after,
.concept04 .cloudBgWL::after {
  top: -80%;
  right: -80%;
}

#concept .bgBoxA {
  padding: 6% 4%;
}

#concept .c_table_02 table tbody td {
  padding-top: 3%;
}

.concept04 .c_table_02 table tbody tr:nth-of-type(1) th,
.concept06 .c_table_02 table tbody tr:nth-of-type(1) th {
  padding-top: 35px;
}

.concept06 .c_table_02 table tbody tr:nth-of-type(1) th::before, .concept04 .c_table_02 table tbody tr:nth-of-type(1) th::before {
  top: unset;
  bottom: clamp(5px, 2vw, 18px);
}

.concept02::before, .concept05::before {
  height: 37em;
}

#tokinokakehashi05.age-02 .schedule-half.afternoon .line {
  height: 97%;
}

#support-club04 .right-column {
  margin-top: 8%;
}

.about01 .linkArea {
  flex-direction: column;
}

.about01 .linkArea li {
  width: 100%;
}


@media screen and (max-width: 600px) {
  #nanairo04 .access-head {
    display: flex !important;
    /* align-items: end !important;  */
    gap: 5px !important;              /* アイコンと文字の間隔 */
    font-size: 13px;
  }

  #nanairo04 .access-head .pin {
    flex-shrink: 0;   /* アイコンが潰れないように固定 */
    margin-top: 4px;  /* 文字の高さとアイコンを微調整 */
  }

  #nanairo04 .access-head span {
    display: block !important;
    word-break: break-all; /* 文字が枠からはみ出さないように */
    /* line-height: 1.5;      */
  }
  .facility-nav .facilitiesBtn,
  .facility_row01 .facilitiesBtn,
  .facility_row02 .facilitiesBtn {
      width: 50%;
  }
  .facility-nav .facility_circle { width: 100%; max-width: none; }
  .facility-nav .inner_1300 { width: 96% !important; }

  .facility-profile .profile_bear {
    width: 150px;
    right: -10px;
    /* bottom: -10px;  */
    top: 20px
  }
  .support-club-intro {
    width: 100%;
    border-radius: 25px;
    padding: 20px 0;
  }
  .support-club-text {
    font-size: 16px;
  }
  .support-club-title {
    font-size: 20px;
    font-weight: bold;
  }

  .facility-profile_btns.support-c {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  .facility-profile_btns.support-c .btn_wrap {
    width: 92% !important;
    max-width: none !important;
    position: relative !important;
  }

  .facility-profile_btns.support-c .btn_wrap .cap {
    position: relative !important;
    top: auto !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }

  #support-club04 .left-column {
    gap: 70px;
  }

  #support-club04 .overview-table.staff-table tr {
    display: flex !important;
    flex-direction: column !important;
  }

  #support-club04 .overview-table.staff-table tr:first-child {
    min-height: 100px !important;
    justify-content: flex-end;
  }

  #support-club04 .overview-table.staff-table tr:first-child th {
    width: 100% !important;
    padding-top: 40px !important;
    padding-bottom: 10px !important;
    box-sizing: border-box;
  }

}
