/* 共通ユーティリティ（再利用のためまとめ） */

.inner1200 {
  max-width: 1200px;
  margin: auto;
}
.inner1400 {
  max-width: 1400px;
  margin: auto;
}
.c-x {
  padding-left: clamp(0.75rem, 4vw, 1.5rem);
  padding-right: clamp(0.75rem, 4vw, 1.5rem);
}
.poa {
  position: absolute;
}
.por {
  position: relative;
}
.u-m-a {
  margin: auto;
}
.mt-48 {
  margin-top: 48px;
}
.mt-50 {
  margin-top: 50px;
}
.mt-64 {
  margin-top: 64px;
}
.mr-8 {
  margin-right: 8px;
}
.mr-10 {
  margin-right: 10px;
}
.mr-56 {
  margin-right: 56px;
}

.mb-6 {
  margin-bottom: 6px;
}
.mb-8 {
  margin-bottom: 8px;
}
.mb-10 {
  margin-bottom: 10px;
}
.mb-12 {
  margin-bottom: 12px;
}
.mb-16 {
  margin-bottom: 16px;
}
.mb-20 {
  margin-bottom: 20px;
}
.mb-24 {
  margin-bottom: 24px;
}
.mb-28 {
  margin-bottom: 28px;
}
.mb-32 {
  margin-bottom: 32px;
}
.mb-36 {
  margin-bottom: 36px;
}
.mb-40 {
  margin-bottom: 40px;
}
.mb-48 {
  margin-bottom: 48px;
}
.mb-64 {
  margin-bottom: 64px;
}
.mb-100 {
  margin-bottom: 100px;
}
.mb-150 {
  margin-bottom: 150px;
}
.mb-160 {
  margin-bottom: 160px;
}
.mb-200 {
  margin-bottom: 200px;
}
.my-100 {
  margin-top: 100px;
  margin-bottom: 100px;
}
.pl-8 {
  margin-left: 10px;
}
.pt-16 {
  padding-top: 16px;
}
.pt-32 {
  padding-top: 32px;
}
.pt-64 {
  padding-top: 64px;
}
.pt-96 {
  padding-top: 96px;
}
.pl-16 {
  padding-left: 16px;
}
.py-16 {
  padding: 16px 0;
}

.py-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.flex {
  display: flex;
}
.u-c-c {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .flex-md {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .flex-lg {
    display: flex;
  }
}

/* ▼ 共通ベース */
.v-line-y,
.v-line-o,
.v-line,
.v-line-list {
  position: relative;
}

.v-line-y::before,
.v-line-o::before,
.v-line::before,
.v-line-list::before {
  content: "";
  position: absolute;
  left: 0;
}

.v-line-y::before,
.v-line-o::before,
.v-line::before {
  top: 0;
  width: 3px;
  height: 100%;
  border-radius: 1.5px;
}

.v-line-list::before {
  top: 1%;
  width: 2px;
  height: 99%;
  border-radius: 1px;
}

.v-line-y::before {
  background-color: #ffc84b;
}

.v-line-o::before {
  background-color: #f08714;
}
.v-line {
  list-style-type: none;
}
.v-line li {
  padding-left: 17px;
}

.v-line-list {
  list-style-type: none;
  padding-left: 15px;
}
