@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&display=swap");

.l-instructor-archive .p-clrhead,
.l-instructor .p-clrhead {
  margin: 2.6666666667vw auto 6.1333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-clrhead,
  .l-instructor .p-clrhead {
    margin: 1.0714285714vw auto 1.6428571429vw;
  }
}

.l-instructor-archive .p-clrhead .p-clrhead__inner,
.l-instructor .p-clrhead .p-clrhead__inner {
  padding: 0 4vw;
  display: block;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-clrhead .p-clrhead__inner,
  .l-instructor .p-clrhead .p-clrhead__inner {
    padding: 0;
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-start;
  }
}

.l-instructor-archive .p-clrhead .p-clrhead__name,
.l-instructor .p-clrhead .p-clrhead__name {
  color: #004b30;
  font-size: 8vw;
  font-weight: 600;
  line-height: 9.6vw;
  padding-right: 0;
  padding-bottom: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-clrhead .p-clrhead__name,
  .l-instructor .p-clrhead .p-clrhead__name {
    font-size: 2.8571428571vw;
    line-height: 1;
    padding-right: 1.4285714286vw;
    padding-bottom: 0;
  }
}

.l-instructor-archive .p-clrhead .p-clrhead__city,
.l-instructor .p-clrhead .p-clrhead__city {
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 4.2666666667vw;
  padding-right: 0;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-clrhead .p-clrhead__city,
  .l-instructor .p-clrhead .p-clrhead__city {
    font-size: 1.1428571429vw;
    line-height: 3vw;
    padding-right: 1.7142857143vw;
  }
}

.l-instructor-archive .p-clrhead .p-clrhead__course,
.l-instructor .p-clrhead .p-clrhead__course {
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.l-instructor-archive .p-clrhead .p-clrhead__course .p-clrhead__courseItem,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem {
  margin-right: 1.6vw;
  width: 13.8666666667vw;
  height: 5.8666666667vw;
  color: #fff;
  font-size: 3.2vw;
  font-weight: 600;
  line-height: 5.8666666667vw;
  text-align: center;
  border-radius: 0.8vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-clrhead .p-clrhead__course .p-clrhead__courseItem,
  .l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem {
    margin-right: 0.7142857143vw;
    width: 4.8571428571vw;
    height: 2.1428571429vw;
    font-size: 1vw;
    line-height: 2.1428571429vw;
    border-radius: 0.3571428571vw;
  }
}

.l-instructor-archive
  .p-clrhead
  .p-clrhead__course
  .p-clrhead__courseItem.jhs_ex,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem.jhs_ex {
  background-color: #01791d;
}

.l-instructor-archive .p-clrhead .p-clrhead__course .p-clrhead__courseItem.es,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem.es {
  background-color: #02a227;
}

.l-instructor-archive .p-clrhead .p-clrhead__course .p-clrhead__courseItem.jhs,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem.jhs {
  background-color: #ce0505;
}

.l-instructor-archive .p-clrhead .p-clrhead__course .p-clrhead__courseItem.hs,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem.hs {
  background-color: #3451a2;
}

.l-instructor-archive
  .p-clrhead
  .p-clrhead__course
  .p-clrhead__courseItem:last-child,
.l-instructor .p-clrhead .p-clrhead__course .p-clrhead__courseItem:last-child {
  margin-right: 0;
}

.l-instructor-archive .p-mainVisual .p-mainVisual__inner,
.l-instructor .p-mainVisual .p-mainVisual__inner {
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

.l-instructor-archive .p-instructor,
.l-instructor .p-instructor {
  padding-top: 13.8666666667vw;
  padding-bottom: 8vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor,
  .l-instructor .p-instructor {
    padding-top: 8.8571428571vw;
    padding-bottom: 12.1428571429vw;
  }
}

.l-instructor-archive .p-instructor .p-instructor__city,
.l-instructor .p-instructor .p-instructor__city {
  width: 81.3333333333vw;
  margin: 0 auto 6.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor .p-instructor__city,
  .l-instructor .p-instructor .p-instructor__city {
    width: 64.2857142857vw;
    margin: 0 auto 3.5714285714vw;
  }
}

.l-instructor-archive
  .p-instructor
  .p-instructor__city
  .p-instructor__cityTitle,
.l-instructor .p-instructor .p-instructor__city .p-instructor__cityTitle {
  font-feature-settings: "palt";
  font-size: 6.4vw;
  font-weight: 600;
  color: #004b30;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive
    .p-instructor
    .p-instructor__city
    .p-instructor__cityTitle,
  .l-instructor .p-instructor .p-instructor__city .p-instructor__cityTitle {
    font-size: 2.7142857143vw;
  }
}

.l-instructor-archive .p-instructor .p-instructor__city .p-instructor__cityBar,
.l-instructor .p-instructor .p-instructor__city .p-instructor__cityBar {
  width: 25.3333333333vw;
  border-top: 0.4vw solid #004b30;
  margin: 2.6666666667vw auto;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive
    .p-instructor
    .p-instructor__city
    .p-instructor__cityBar,
  .l-instructor .p-instructor .p-instructor__city .p-instructor__cityBar {
    width: 12.1428571429vw;
    border-top-width: 0.2142857143vw;
    margin: 1.2857142857vw auto;
  }
}

.l-instructor-archive .p-instructor .p-instructor__city .p-instructor__cityNote,
.l-instructor .p-instructor .p-instructor__city .p-instructor__cityNote {
  font-size: 4.2666666667vw;
  text-align: center;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive
    .p-instructor
    .p-instructor__city
    .p-instructor__cityNote,
  .l-instructor .p-instructor .p-instructor__city .p-instructor__cityNote {
    font-size: 1vw;
  }
}

.l-instructor-archive .p-instructor__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8vw;
  padding: 0 4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2vw;
    padding: 0;
  }
}

.l-instructor-archive .p-instructor__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}

.l-instructor-archive .p-instructor__item:hover {
  opacity: 0.8;
  transition: opacity 0.2s;
}

.l-instructor-archive .p-instructor__award {
  display: flex;
  gap: 1.6vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__award {
    gap: 0.4285714286vw;
  }
}

.l-instructor-archive .p-instructor__awardItem {
  width: 6.4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__awardItem {
    width: 2vw;
  }
}

.l-instructor-archive .p-instructor__link {
  display: flex;
  flex-direction: column;
}

.l-instructor-archive .p-instructor__link:hover {
  opacity: 1;
}

.l-instructor-archive .p-instructor__linkFooter {
  padding: 2.6666666667vw 0 0;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__linkFooter {
    padding: 1.0714285714vw 0 0;
  }
}

.l-instructor-archive .p-instructor__linkFooter:hover {
  opacity: 1;
}

.l-instructor-archive .p-instructor__img {
  width: 100%;
  height: 37.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__img {
    height: 17.8571428571vw;
  }
}

.l-instructor-archive .p-instructor__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-instructor-archive .p-instructor__info {
  flex-grow: 1;
  text-align: center;
  color: #fff;
  background-color: #004b30;
  padding: 2.6666666667vw 1.3333333333vw 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__info {
    padding: 0.7142857143vw 1.0714285714vw 1.0714285714vw;
  }
}

.l-instructor-archive .p-instructor__name {
  font-size: 4.2666666667vw;
  font-weight: bold;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__name {
    font-size: 1.7142857143vw;
    margin-bottom: 1.0714285714vw;
  }
}

.l-instructor-archive .p-instructor__subjects {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__subjects {
    gap: 0.7142857143vw;
  }
}

.l-instructor-archive .p-instructor__subjects li {
  color: #004b30;
  font-weight: 600;
  font-size: 2.9333333333vw;
  background-color: #fff;
  border-radius: 0.5333333333vw;
  padding: 0.5333333333vw 1.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__subjects li {
    border-radius: 0.4285714286vw;
    font-size: 1.1428571429vw;
    border-radius: 0.4285714286vw;
    padding: 0.1428571429vw 1.0714285714vw;
  }
}

.l-instructor-archive .p-instructor__catchphrase {
  color: #004b30;
  margin-bottom: 1.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__catchphrase {
    font-size: 1.2857142857vw;
    margin-bottom: 0.3571428571vw;
  }
}

.l-instructor-archive .p-instructor__intro {
  line-height: 1.625;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin-bottom: 4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__intro {
    -webkit-line-clamp: 3;
    margin-bottom: 1.0714285714vw;
  }
}

.l-instructor-archive .p-instructor__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #004b30;
  border: 1px solid #004b30;
  width: 100%;
  font-size: 3.2vw;
  margin: auto auto 0;
  border-radius: 4vw;
  padding: 1.0666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__btn {
    border-radius: 1.0714285714vw;
    font-size: 1vw;
    width: 11.4285714286vw;
    margin: auto auto 0;
    padding: 0.2857142857vw;
  }
}

.l-instructor-archive .p-instructor__btn::after {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../image/common/btn_arrow_bg-green.svg) no-repeat center;
  background-size: contain;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  right: 1.0666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor-archive .p-instructor__btn::after {
    width: 1vw;
    height: 1vw;
    right: 0.2857142857vw;
  }
}

.l-instructor .p-instructor-single {
  padding: 18.6666666667vw 8vw 0;
  margin-bottom: 13.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single {
    padding: 12.8571428571vw 0 0;
    margin-bottom: 12.1428571429vw;
  }
}

.l-instructor .p-instructor-single__award {
  display: flex;
  gap: 1.6vw;
  margin-bottom: 1.6vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__award {
    gap: 0.4285714286vw;
    margin-bottom: 0.4285714286vw;
  }
}

.l-instructor .p-instructor-single__awardItem {
  width: 4.2666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__awardItem {
    width: 2vw;
  }
}

.l-instructor .p-instructor-single__profile {
  display: grid;
  width: 100%;
  grid-template-columns: 31.2vw auto;
  grid-template-areas: "img meta" "stats stats";
  align-items: center;
  gap: 0 4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__profile {
    grid-template-columns: 21.5714285714vw auto;
    gap: 0 2.8571428571vw;
    grid-template-areas: "img meta" "img stats";
    align-items: center;
  }
}

.l-instructor .p-instructor-single__img {
  grid-area: img;
}

.l-instructor .p-instructor-single__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-instructor .p-instructor-single__meta {
  grid-area: meta;
  height: 100%;
  border-top: 1px solid #3c3830;
  border-bottom: 1px solid #3c3830;
  display: grid;
  align-content: center;
  padding-bottom: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__meta {
    align-content: end;
    padding-bottom: 0.7142857143vw;
    border-bottom: 0;
  }
}

.l-instructor .p-instructor-single__subjects {
  display: flex;
  flex-wrap: wrap;
  gap: 2.6666666667vw;
  margin-bottom: 1.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__subjects {
    gap: 0.7142857143vw;
    margin-bottom: 0.7142857143vw;
  }
}

.l-instructor .p-instructor-single__subjects li {
  color: #fff;
  text-align: center;
  font-weight: 600;
  font-size: 3.2vw;
  background-color: #004b30;
  border-radius: 0.8vw;
  padding: 0.5333333333vw 1.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__subjects li {
    min-width: 5.5vw;
    border-radius: 0.4285714286vw;
    font-size: 1.1428571429vw;
    border-radius: 0.4285714286vw;
    padding: 0.1428571429vw 1.0714285714vw;
  }
}

.l-instructor .p-instructor-single__title {
  color: #004b30;
  font-weight: 600;
  font-size: 6.4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__title {
    font-size: 2vw;
  }
}

.l-instructor .p-instructor-single__furi {
  font-size: 3.2vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__furi {
    font-size: 1vw;
  }
}

.l-instructor .p-instructor-single__stats {
  align-content: flex-start;
  align-self: flex-start;
  align-items: start;
  align-self: end;
  height: 100%;
  grid-area: stats;
  display: grid;
  grid-template-columns: auto;
  padding-top: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__stats {
    grid-template-columns: auto auto;
    border-bottom: 1px solid #3c3830;
    padding-top: 0.7142857143vw;
    gap: 0.7142857143vw 0.7142857143vw;
  }
}

.l-instructor .p-instructor-single__stats dt,
.l-instructor .p-instructor-single__stats dd {
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__stats dt,
  .l-instructor .p-instructor-single__stats dd {
    font-size: 1.2857142857vw;
  }
}

.l-instructor .p-instructor-single__stats dt {
  display: flex;
  align-items: center;
  position: relative;
  color: #004b30;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__stats dt {
    gap: 0.4285714286vw;
    margin-top: 0;
  }
}

.l-instructor .p-instructor-single__stats dt span {
  flex-shrink: 0;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__stats dt::after {
    content: "";
    display: inline-block;
    position: relative;
    right: 0;
    width: 100%;
    height: 1px;
    border-bottom: dotted 1px #3c3830;
  }
}
@media screen and (min-width: 711px) and (min-width: 711px) {
  .l-instructor .p-instructor-single__stats dt::after {
    right: 0;
  }
}

.l-instructor .p-instructor-single__contents {
  border-top: #3c3830 dashed 1px;
  width: 100%;
  margin: 8vw auto 0;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__contents {
    border: 0;
    width: 71.4285714286vw;
    margin: 3.5714285714vw auto 0;
  }
}

.l-instructor .p-instructor-single__contentsSection {
  margin: 8vw 0 9.3333333333vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__contentsSection {
    margin: 3.5714285714vw 0;
  }
}

.l-instructor .p-instructor-single__contentsHeading {
  font-weight: 600;
  color: #004b30;
  font-size: 5.3333333333vw;
  margin-bottom: 4vw;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__contentsHeading {
    font-size: 2vw;
    margin-bottom: 1.4285714286vw;
  }
}

.l-instructor .p-instructor-single__contentsDesc {
  line-height: 1.625;
}

.l-instructor .p-instructor-single__btn {
  width: 84vw;
  margin: 10.6666666667vw auto 0;
}
@media screen and (min-width: 711px) {
  .l-instructor .p-instructor-single__btn {
    width: 31.0714285714vw;
    margin-top: 5.3571428571vw;
  }
}
