@charset "UTF-8";

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

.sp {
  display: block !important;
}

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

.pc {
  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: 90%;
}

.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.4vw, 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, 5.1vw, 2.9rem) !important;
}

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

.f31 {
  font-size: clamp(1.6rem, 5.3vw, 3.1rem) !important;
}

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

.f33 {
  font-size: clamp(1.6rem, 5.5vw, 3.3rem) !important;
}

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

.f35 {
  font-size: clamp(1.6rem, 5.7vw, 3.5rem) !important;
}

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

.f37 {
  font-size: clamp(1.6rem, 5.9vw, 3.7rem) !important;
}

.f38 {
  font-size: clamp(1.8rem, 6vw, 3.8rem) !important;
}

.f39 {
  font-size: clamp(1.8rem, 6.1vw, 3.9rem) !important;
}

.f40 {
  font-size: clamp(1.8rem, 6.2vw, 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;
}

/* ---------------------------------------------------------------------------
  ★TABLE
--------------------------------------------------------------------------- */
.c_table_01 table tbody tr td,
.c_table_02 table tbody tr td {
  /* border-bottom: 1px solid #f4f6f5; */
  /* border-right: 1px solid #edf2f6; */
  /* border-left: 1px solid #edf2f6; */
  vertical-align: top;
  padding: 12px 13px;
  word-break: break-all;
  width: 100%;
  display: block;
  border-bottom: none;
}

.c_table_01 table tbody tr th,
.c_table_02 table tbody tr th {
  /* border: 1px solid #edf2f6; */
  background: rgb(245 245 243);
  vertical-align: top;
  padding: 12px 13px;
  color: #44413a;
  font-weight: 600;
  width: 100% !important;
  display: block;
  word-break: break-all;
  border-radius: 0 !important;
  border-bottom: none;
}

/* .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: 10px !important;
  word-break: break-all !important;
}

/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★BASE
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★テキスト
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ★アニメーション
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
  ハンバーガーメニュー
--------------------------------------------------------------------------- */
.global-nav {
  position: fixed;
  right: -320px;
  top: 0;
  height: 100vh;
  width: 320px;
  color: #44413A;
  transition: all 0.6s;
  z-index: 999999;
  overflow-y: auto;
  background: #F5F5F3;
}

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

.global-nav .accordion-container {
  width: 300px;
  margin: 0 auto;
  padding: 0 6%;
}

.global-nav .accordion-container .accordion-title02 {
  position: relative;
  display: block;
  margin: 0;
  border-bottom: 1px solid #dde4e1;
  padding: 0.8em;
  color: #44413A;
  font-weight: bold;
  background: #F5F5F3;
  cursor: pointer;
}

/* ===== SP連絡先エリア ===== */
.sp_nav_contact {
  padding: 20px 10px;
}

.sp_nav_tel {
  display: block;
  color: #44413A;
  margin-bottom: 20px;
}

.sp_nav_tel p:first-child {
  font-size: 2.5rem;
}

.sp_nav_tel p:last-child {
  color: #44413A;
}

.sp_nav_insta {
  display: inline-block;
}

.sp_nav_insta img {
  width: 28px !important;
  margin: 0 !important;
}

/* ===== ハンバーガーボタン ===== */
.hamburger {
  position: fixed;
  right: 0;
  top: 0;
  width: 58px;
  height: 56px;
  cursor: pointer;
  z-index: 1000000;
  background: #BAC5C1;
}

.hamburger__line {
  position: absolute;
  left: 18px;
  width: 24px;
  height: 2px;
  background-color: #fff;
  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;
}

/* ===== 開いた時 ===== */
.nav-open .global-nav {
  right: 0;
}

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

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

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

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

/* =======================================
	★TOP
========================================== */
.header.change-color {
  height: 56px;
}

.header02 {
  display: none;
}

.logo a {
  width: 12.8em;
}

.mv {
  flex-direction: column;
  height: auto;
  min-height: 100svh;
}

.mv__panel {
  width: 100%;
  height: 50svh;
}


.h2TIt_en {
  font-size: 8rem;
}

.mv__copy-img {
  width: min(70%, 560px);
}

.mv__copy {
  width: 100%;
  top: 49.4%;
}

.home01 {
  padding: 40px 0 100px;
}

.home01__inner {
  position: relative;
  height: 500px;
  max-width: 100%;
}

.home01__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85%;
  padding: 0;
}

.sec-label {
  gap: 16px;
  margin-bottom: 30px;
}

.sec-label__txt {
  font-size: 1.2rem;
}

.sec-label__line {
  height: 28px;
}

.home01__title {
  margin-bottom: 30px;
}

.home01__title img {
  width: 80%;
}

.home01__text {
  font-size: 1.4rem;
  margin-bottom: 30px;
  letter-spacing: 0.08em;
}

.c_btn {
  font-size: 1.2rem;
  padding: 1.2em 7em 1.2em 2.5em;
}

.home01__wave {
  bottom: -10%;
  left: 10%;
  width: 280px;
}

.home01__photo01 {
  width: 30vw;
  top: 13px;
}

.home01__photo02 {
  top: -48px;
}

.home01__photo03 {
  top: 359px;
  left: -20px;
  width: 28vw;
}

.home01__photo04 {
  top: 357px;
  right: 2%;
  width: 21vw;
}

.home01__photo05 {
  top: 490px;
  right: 17%;
  width: 26vw;
}

.home02 .flex {
  flex-direction: column;
  gap: 74px;
}

.home02__home {
  top: auto;
  bottom: -84px;
}

.home02 {
  padding: 48px 0 50px;
}

.home03__ctrl {
  margin-left: auto;
}


.home03 .c_btn {
  z-index: 1;
  position: relative;
}

.home03__feel {
  width: 50vw;
  right: 0;
  bottom: -9%;
}

.home04 .flex {
  flex-direction: column;
  gap: 20px;
}

.home05 div.flex {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 40px !important;
}

.home05 div.flex>div {
  margin-left: auto;
}

.home05 ul.flex {
  gap: 7px;
}

.h2TIt_jp {
  transform: translate(-12px, 0) scale(0.9);
  left: 0;
}

.h2TIt02_jp {
  transform: scale(0.8);
  margin-bottom: 10px;
}

.home06__btn {
  width: 60px;
}

.home07 .inner {
  flex-direction: column;
}

.home07__left {
  width: 100%;
  padding: 0 0 30px;
}

.home07__right {
  width: 100%;
  flex-direction: column;
  gap: 20px;
}

.home07__card {
  width: 100%;
  padding: 18px;
  gap: 4px;
}

.home07__illust {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 280px;
}

.home07 .h2TIt02_jp {
  transform: translate(-34px, 0) scale(0.8);
}

.home07__card-icon {
  width: 62px;
}

p.home07__card-tit {
  font-size: 2.4rem;
}

.home07__card-btn {
  margin-top: 9px;
  width: 60px;
}


.footer01__inner.inner {
  padding: 20px;
  gap: 30px;
}

.footer01 {
  padding: 40px 0;
}

.footer01__tel a {
  font-size: 3.0rem;
}

.footer01__circle-btn {
  width: 140px;
  height: 140px;
}

.footer02__left .flex {
  margin-left: 0;
}

.footer02__insta img {
  width: 32px;
}

/* =======================================
	★下層
========================================== */
ul.pankuzu a {
  line-height: 1.4;
}

ul.pankuzu {
  flex-wrap: wrap;
  row-gap: 8px;
}

.main_inpages {
  padding: 90px 0 45px;
}

/* works */
.worksList>li {
  width: 100%;
}

.worksList {
  row-gap: 40px;
}

.worksList_tit {
  font-size: 2.6rem;
  margin: 8px 0 8px;
}

.sticky {
  position: static;
}

/* .scroll {
  height: auto;
  overflow-y: visible;
} */

.colWrapper {
  flex-direction: column;
}

.colMain {
  width: 100%;
  padding: 0 0 5px 0;
}

.colSide {
  width: 100%;
}

/* works詳細 */
.previous-post a, .next-post a {
  padding: 0.5em 2em;
}

.previous-post a::after {
  left: 11px;
}

.next-post a::after {
  top: 12px;
  right: 11px;
}

.pager_flex {
  margin-bottom: 30px;
}

/* ===== スライダー ===== */
.itemsImg {
  width: 100%;
}

.slide-navigation .item {
  width: 24%;
}

.slide__zoom {
  width: 36px;
  height: 36px;
  bottom: 8px;
  right: 8px;
}

/* ===== タイトル ===== */
.worksList_tit {
  font-size: 2.2rem;
}

/* ===== DATA ===== */
.data_list {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 20px;
}

.data_list li {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.c_icon_tit {
  font-size: 1.4rem;
}

.c_icon_tit img {
  width: 18px;
}

/* ===== c_deco_tit ===== */
.c_deco_tit h2,
.c_deco_tit h3,
.c_deco_tit h4,
.c_deco_tit p {
  font-size: 1.6rem;
  line-height: 1.3;
  text-align: center;
}

/* ===== あわせて見てほしいWORKS ===== */
.worksList>li {
  width: 100%;
}


.service_feature {
  flex-direction: column;
  gap: 30px;
}

.service_feature__img {
  width: 100%;
}

.service_feature__text {
  text-align: center !important;

}

.flow_list {
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.flow_item {
  flex-direction: row;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 300px;
  padding: 11px 18px;
}

.flow_item:not(:last-child)::after {
  border-width: 11px 11px 0 11px;
  border-color: #E8D0C4 transparent transparent transparent;
  right: auto;
  left: 50%;
  top: auto;
  bottom: -20px;
  transform: translateX(-50%);
}

.flow_item__txt {
  writing-mode: horizontal-tb;
  text-align: left;
}

@media (max-width: 410px) {
  .service .anchor_btn {
    font-size: 1.1rem;
  }
}

.service03__content {
  flex-direction: column;
  padding: 20px;
}

.service03__img {
  width: 100%;
}

.service03__tit img {
  width: 220px;
}

.service03__free {
  top: -22px;
  width: 48px;
}

.service03__balloon-body {
  max-width: 216px;
}

@media (max-width: 768px) {
  .service03__content {
    flex-direction: column;
    padding: 20px;
    gap: 20px;
  }

  .service03__img {
    width: 100%;
  }

  .service03__tit img {
    width: 220px;
  }
}

.service04__inner {
  flex-direction: column;
  align-items: flex-start;
  padding: 0 4px 4%;
  gap: 20px;
}

.service04__illust {
  width: 80%;
  right: 0;
  bottom: 30%;
}

@media (max-width: 768px) {
  .c_photo_block__bg {
    aspect-ratio: 4/3;
  }

  .c_photo_block__body {
    padding: 24px 20px;
  }

  .c_photo_block__tit {
    font-size: 2rem;
    margin-bottom: 8px;
  }

  .c_photo_block__text {
    font-size: 1.3rem;
  }
}

.concept .c_photo_block__body {
  padding: 153px 24px 20px;
}

@media (max-width: 768px) {
  .concept02__content {
    flex-direction: column;
    margin: 0;
    gap: 20px;
  }

  .concept02__img {
    width: 100%;
  }

  .concept02__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .concept02__card-tit {
    font-size: 1.4rem;
  }
}

.c_photo_block__bottom {
  flex-direction: column;
}

.c_photo_block__bottom .service03__balloon {
  width: 100%;
}

.concept02__card-sub {
  font-size: 1.4rem;
  padding: 2px 14px;
}

.concept01__wave01 {
  width: 53vw;
  top: -13%;
  right: -20%;
  overflow: hidden;
}

.concept01__text {
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0;
}

.concept01__wave02 {
  bottom: -31%;
  left: 0;
  width: 58vw;
}

.flex_tit {
  margin-top: 61px;
  flex-direction: column;
  gap: 36px;
}

.vertical_tit p {
  font-size: 2.6rem;
}

.concept02__card-badge {
  top: -6px;
  right: -26px;
}

.c_label_wrap .concept03__card-badge {
  top: -22px;
  left: -20px;
  width: 51px;
}

.service03__balloon-inner {
  width: 95%;
  padding: 10px 0px 10px 20px;
  font-size: 1.2rem;
}

.concept03 .service03__balloon-inner {
  padding: 10px 0px 10px 29px;
}

.concept03 .c_photo_block__bg01 {
  background-image: url('../img/concept03_photo01-sp.jpg');
}

.concept03 .c_photo_block__bg02 {
  background-image: url('../img/concept03_photo02-sp.jpg');
}

.concept03 .c_photo_block__bg03 {
  background-image: url('../img/concept03_photo03-sp.jpg');
}

.concept03 .c_photo_block__bg04 {
  background-image: url('../img/concept03_photo04-sp.jpg');
}


.service03__balloon-icon {
  width: 60px;
  height: 60px;
}

.c_illust01 {
  width: 42vw;
  left: -44px;
}

.c_illust02 {
  width: 42vw;
  right: -33px;
}

.c_line {
  margin: 7px 0 7px;
}

.concept01, .concept02 {
  overflow: hidden;
}

.concept03 .service03__balloon-icon,
.service03 .service03__balloon-icon {
  width: 100px;
  height: 100px;
}

.concept03 .service03__balloon-inner {
  font-size: 1.1rem;
}

.anchor_btn {
  padding: 10px 11px;
  font-size: 1.3rem;
  letter-spacing: 0;
  gap: 11px;
}

.anchor_arrow {
  width: 6px;
  height: 6px;
}

.anchor_list {
  gap: 8px;
}

.service_block {
  flex-direction: column;
  gap: 30px;
  margin-bottom: 34px;
}

.service_block__left {
  width: 35vw;
  gap: 43px;
  margin-right: auto;
  margin-left: 46px;
}

.service_block__line {
  height: 283px;
}

.service01 .c_illust02 {
  width: 54vw;
  right: 0;
  top: 31px;
}

.service_block__right {
  padding: 20px 0 0 18px;
}

.service_block__right::after {
  top: 13px;
  height: 90%;
}

.service .cl33 {
  flex-direction: column;
  margin-top: 0 !important;
}

.service .cl33>div {
  width: 100%;
}

.service02 .c_deco_tit {
  margin-top: 4%;
}

.service03__subtit {
  margin-left: 15px;
}

.service03__subtit h4, .service03__subtit h3, .service03__subtit h5 {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

.service03__num {
  margin-left: 35px;
}

.service03 .service03__balloon {
  margin-top: 20px;
}

.service03 .service03__balloon-inner p {
  font-size: 1.1rem !important;
}

.service03__balloon {
  gap: 11px;
}

.service03__tabs li {
  padding: 4px 7px;
  font-size: 1.4rem;
}

.service03__tabs {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.flow_item__num {
  margin-bottom: 0;
}

.service04__body {
  margin-top: 0;
}

.company .h2TIt_en {
  font-size: 6.5rem;
}


.company .h2TIt_jp {
  margin-left: 8px;
}

.company01__grid {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.company01__img_wrap {
  width: 100%;
  margin-bottom: 0;
}

.company01__photo {
  width: 100%;
  height: 260px;
  object-fit: cover;
  /* object-position: top left; */
  object-position: top right;
}

.company01__box {
  width: 100%;
  margin-left: 0;
  padding: 0px 20px 24px;
  margin-top: -10px;
}

.company01__box .service03__subtit {
  padding: 8px 16px;
  margin-top: 0;
  transform: translateY(-16px);
  font-size: 1.4rem;
}

.u_tit {
  font-size: 1.4rem;
}

.u_tit_jp {
  font-size: 2rem;
  letter-spacing: 0.2em;
}

.company01__staff_list {
  gap: 2px;
}

.company01__staff .service03__subtit {
  padding: 6px 12px;
}

.company01__staff_manager {
  font-size: 1.2rem;
  margin-top: 26px;
}

.company01__staff_role {
  font-size: 2rem;
}

.company01__staff_img img {
  width: 100%;
}

.sp_f {
  letter-spacing: -0.1em;
}

.company01__staff_manager .fW400 {
  font-size: 1.1rem;
}

.company01 .inner {
  width: 94%;
}

.company03__map_wrap {
  flex-direction: column;
  gap: 20px;
  align-items: stretch;
}

.company03__map_iframe {
  width: 100%;
}

.g_map {
  padding-top: 70%;
}

.company03__map_info {
  width: 100%;
  flex-shrink: unset;
  padding-top: 8px;
}

.company03_info,
.company03_tel {
  font-size: 1.6rem;
  background-size: 22px;
  margin-bottom: 20px;
  padding-left: 1.8em;
}

.company03_tel {
  background-position: top 4px left 6px !important;
  background-size: 14px !important;
}

.c_table_01 {
  margin-top: 15px;
}

.contact .c_table_01 table tbody tr th,
.contact .c_table_02 table tbody tr th {
  background: rgb(186 197 193);
}

.contact_tel {
  font-size: 2.4rem;
  background-position: top 10px left 0;
  padding-left: 30px;
}

.contact_mail {
  font-size: 2.4rem;
  background-position: top 15px left 0;
  padding-left: 30px;
  margin-bottom: 0 !important;
}

.c_con_tit {
  font-size: 1.8rem;
  width: 90%;
  padding: 0.3rem 0;
}

.contact_event .c_table_01 table tbody tr th,
.contact_event .c_table_02 table tbody tr th {
  background: #bac5c1;
}

.contact_event .contact_mail {
  margin-bottom: 10px !important;
}

.contact_event .h2TIt_en {
  font-size: 5.5rem;
  transform: translateY(-15px);
}

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

.event01 .flex li {
  width: 100%;
}

.event02 .c_deco_tit h4,
.single-event02 .c_deco_tit h4 {
  font-size: 1.4rem !important;
  letter-spacing: 0;
}

.event02 .c_deco_tit,
.single-event02 .c_deco_tit {
  gap: 0px;
}

.single-event .c_deco_tit h3,
.event .c_deco_tit h3 {
  font-size: 1.3rem !important;
  white-space: nowrap;
}

.sp_mT {
  margin-top: 15px;

}

/* アコーディオン */
dt.plus {
  padding: 10px 2.5em 8px 0.5em;
}

dt.plus:before {
  right: 10px;
}

.accordion dd {
  width: calc(100% - 1em);
  margin: 10px auto 10px;
}

/* =======================================
	★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: 10px;
}

#contact label.c_b {
  line-height: 140% !important;
}

/* =======================================
	★pager
========================================== */
#pagerArea .page-numbers {
  min-width: 30px;
  height: 30px;
  font-size: 1.4rem;
  padding: 0 6px;
}

#pagerArea .pager-list {
  gap: 3px;
}



/* =======================================
	sp画面下リンク
========================================== */
.sp_menu {
  background: #B0C2CC;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 5;
}

.sp_menu li {
  padding: 10px 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  margin-bottom: 0;
}

.sp_menu li:nth-of-type(2) {
  border-left: 2px solid #44413a;
  background: #DDC9C0;
}

.sp_menu a {
  display: flex;
  justify-content: center;
  gap: 6px;
  color: #44413A;
}

.sp_menu img {
  width: 1.2em;
}
