@charset "UTF-8";
/* ----------------- 教員一覧ページ -----------------*/
.s-faculty {
  padding: 0 0 50px;
}
@media screen and (min-width: 768px) {
  .s-faculty {
    padding: 0 0 85px;
  }
}

.s-faculty__lead {
  font-size: 0.875rem;
  margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
  .s-faculty__lead {
    font-size: 1rem;
    margin: 0 0 50px;
  }
}

.s-faculty-list {
  margin: 0 0 30px;
  padding: 0;
}
.s-faculty-list:last-child {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .s-faculty-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 45px;
  }
}

.s-faculty-list__item {
  min-height: 129px;
  list-style: none;
  position: relative;
  margin: 0 0 10px;
}
.s-faculty-list__item a {
  display: block;
  height: 100%;
  background: #f8f8f8;
  color: #007287;
}
.s-faculty-list__item a:hover {
  text-decoration: none;
}
.s-faculty-list__item::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #043831;
  border-right: 1px solid #043831;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 9px);
  right: 17px;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 49%;
    flex: 0 0 49%;
    margin-bottom: 2%;
  }
  .s-faculty-list__item:nth-child(even) {
    margin-left: 2%;
  }
  .s-faculty-list__item a {
    opacity: 1;
    -webkit-transition: opacity 400ms;
    transition: opacity 400ms;
  }
  .s-faculty-list__item a:hover {
    opacity: 0.7;
  }
  .s-faculty-list__item::after {
    width: 12px;
    height: 12px;
    top: calc(50% - 7px);
  }
}

.s-faculty-list__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__flex {
    padding-bottom: 20px;
  }
}

.s-faculty-list__image {
  width: 112px;
  margin: 0;
  line-height: 0;
}
.s-faculty-list__image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__image {
    width: 138px;
  }
}

.s-faculty-name {
  margin: 10px 0 0 16px;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .s-faculty-name {
    height: auto;
    margin: 13px 0 0 20px;
  }
}

.s-faculty-name_position {
  font-size: 0.875rem;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .s-faculty-name_position {
    font-size: 1rem;
  }
}

.s-faculty-name_name {
  font-size: 0.75rem;
  font-weight: normal;
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
.s-faculty-name_name span {
  display: block;
  font-size: 1.3125rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .s-faculty-name_name {
    font-size: 0.875rem;
    margin-bottom: 8px;
  }
  .s-faculty-name_name span {
    display: inline;
    font-size: 24px;
    white-space: nowrap;
    margin: 0 15px 0 0;
  }
}

.s-faculty-list__catch {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  display: inline;
  padding: 5px 7px;
  background-color: #007287;
  color: #fff;
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 20px;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__catch {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 24px;
  }
}

.s-faculty-list__bootom {
  padding: 0px 48px 3px 25px;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__bootom {
    padding: 0px 78px 0 30px;
  }
}

.s-faculty-list__heading {
  font-size: 0.8125rem;
  font-weight: bold;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__heading {
    font-size: 0.875rem;
  }
}
.s-faculty-list__heading.degree {
  border-top: solid 1px #b9b9b9;
  padding-top: 18px;
}

.s-faculty-list__detail {
  font-size: 0.8125rem;
  margin: 0 0 15px;
  padding: 0;
  color: #333;
}
@media screen and (min-width: 768px) {
  .s-faculty-list__detail {
    font-size: 0.875rem;
    margin: 0 0 10px;
  }
}

/* ----------------- 教員個別ページ -----------------*/
@media screen and (min-width: 768px) {
  .s-facalty__intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 0 40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .s-facalty__intro {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
  }
}
.s-facalty__intro .s-faculty-list__catch {
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .s-facalty__intro .s-faculty-list__catch {
    padding: 4px;
    font-size: 1rem;
    line-height: 26px;
  }
}

.s-faculty__image {
  width: 59%;
  margin: 0 auto 30px auto;
  line-height: 0;
}
.s-faculty__image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .s-faculty__image {
    width: 260px;
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .s-facalty__message {
    width: calc(100% - 300px);
  }
}
@media screen and (min-width: 768px) {
  .s-facalty__message .s-faculty__text {
    margin-bottom: 0;
  }
}

.s-faculty__text {
  font-size: 0.875rem;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .s-faculty__text {
    font-size: 1rem;
  }
}

.s-facalty-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-top: solid 1px #a5a9ac;
  margin: 0 0 40px;
}
@media screen and (min-width: 768px) {
  .s-facalty-table {
    margin: 0 0 65px;
  }
}

.s-facalty-table__term {
  width: 36%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.8125rem;
  margin: 0;
  padding: 15px;
  background: #f8f8f8;
  border-left: solid 1px #a5a9ac;
  border-right: solid 1px #a5a9ac;
  border-bottom: solid 1px #a5a9ac;
}
@media screen and (min-width: 768px) {
  .s-facalty-table__term {
    font-size: 0.9375rem;
  }
}

.s-facalty-table__description {
  width: 64%;
  font-size: 0.8125rem;
  margin: 0;
  padding: 15px;
  border-right: solid 1px #a5a9ac;
  border-bottom: solid 1px #a5a9ac;
}
@media screen and (min-width: 768px) {
  .s-facalty-table__description {
    font-size: 0.9375rem;
  }
}

.s-faculty-detail-list {
  padding: 0;
  margin: 0 0 40px;
}
@media screen and (min-width: 768px) {
  .s-faculty-detail-list {
    margin: 0 0 65px;
  }
}

.s-faculty-detail-list__item {
  font-size: 0.875rem;
  line-height: 1.5;
  list-style: none;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.s-faculty-detail-list__smallItem {
  font-size: 0.875rem;
  line-height: 1.5;
}
.s-faculty-detail-list__item::before {
  content: "● ";
  color: #77e2df;
}
@media screen and (min-width: 768px) {
  .s-faculty-detail-list__item,
  .s-faculty-detail-list__smallItem {
    font-size: 1rem;
    line-height: 1.6875;
  }
}

.s-faculty-movie {
  border: 1px solid #707070;
  max-width: 462px;
  max-height: 267px;
  margin: 0 auto 80px;
  overflow: hidden;
}
.s-faculty-movie img {
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.s-faculty-movie img:hover {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* ----------------- 企業実習 -----------------*/
.s-practical_training-banners {
  padding: 12px;
}
@media screen and (min-width: 768px) {
  .s-practical_training-banners {
    padding: 48px;
  }
}

.s-practical_training-list {
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .s-practical_training-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    column-gap: 15px;
  }
}

.s-practical_training-list__item {
  padding: 0;
  list-style: none;
}
.s-practical_training-list__item img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .s-practical_training-list__item {
    width: 32%;
  }
  .s-practical_training-list__item:nth-child(4n) {
    margin: 0 0 0.66% 0;
  }
}
@media screen and (min-width: 768px) {
  .s-practical_training-list__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }
}
.s-practical_training-list__item a:hover {
  text-decoration: none;
  opacity: 0.8;
}

.s-practical_training-list__txt {
  background: #fff;
  color: #333;
  margin-top: -2px;
  padding: 18px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .s-practical_training-list__txt {
    margin-top: 6px;
  }
}

.p-training-card {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-training-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-training-card__left {
    width: 48%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 47.4%;
    flex: 0 0 47.4%;
  }
}
@media screen and (min-width: 768px) {
  .p-training-card__right {
    width: 48%;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 47.4%;
    flex: 0 0 47.4%;
  }
}
.p-training-card img {
  width: 100%;
}
.p-training-card h5 {
  color: #007287;
  font-size: 18px;
  margin: 10px 0;
}
@media screen and (min-width: 768px) {
  .p-training-card h5 {
    font-size: 20px;
  }
}
.p-training-card.first-item {
  border-bottom: 1px solid #707070;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-training-card.first-item {
    padding-bottom: 30px;
  }
}
.p-training-card .tag {
  display: inline;
  border: 1px solid #77e2df;
  padding: 12px 20px;
}

/* ----------------- 臨床工学の最前線 -----------------*/
@media screen and (min-width: 768px) {
  .s-interview-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 10px;
  }
}

.s-interview-detail__heading {
  color: #007287;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  margin: 0 0 20px;
}
@media screen and (min-width: 768px) {
  .s-interview-detail__heading {
    width: 500px;
    font-size: 1.25rem;
    text-align: left;
    margin: 0;
    padding: 0 0 0 20px;
  }
}

.s-interview-detail__text {
  width: 77%;
  font-size: 0.75rem;
  margin: 0 auto 20px auto;
}
@media screen and (min-width: 768px) {
  .s-interview-detail__text {
    width: 215px;
    font-size: 0.875rem;
    margin: 0;
  }
}

.s-interview-detail__image {
  width: 77%;
  margin: 0 auto;
  padding: 0;
  line-height: 0;
}
.s-interview-detail__image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .s-interview-detail__image {
    width: 210px;
    margin: 0;
  }
}

/* ----------------- 医療科学部 臨床工学科 -----------------*/
.s-clinical_engineer-heading {
  color: #007287;
  font-family: "Noto Serif JP", serif;
  font-size: 2.1875rem;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.2em;
  margin: 0 0 50px;
  position: relative;
}
.s-clinical_engineer-heading::before {
  display: block;
  content: "";
  width: 110px;
  height: 1px;
  background: #77e2df;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 30px;
  left: calc(50% - 54px);
}
.s-clinical_engineer-heading::after {
  display: block;
  content: "";
  width: 110px;
  height: 1px;
  background: #77e2df;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 30px;
  right: calc(50% - 54px);
}
@media screen and (min-width: 768px) {
  .s-clinical_engineer-heading {
    font-size: 3.125rem;
    margin: 80px 0;
  }
  .s-clinical_engineer-heading::before {
    width: 200px;
    top: 45px;
    left: calc(50% - 100px);
  }
  .s-clinical_engineer-heading::after {
    width: 200px;
    top: 45px;
    right: calc(50% - 100px);
  }
}

/* ----------------- 学びの特長 -----------------*/
.s-features-flow-list {
  margin: 0;
}
.s-features-flow-list__term {
  position: relative;
  margin: 0;
}
.s-features-flow-list__label {
  position: absolute;
  left: 0;
  top: 0;
  margin: 8px 0 0;
  padding: 8px 20px;
  border: 1px solid #007287;
  background: #fff;
  font-size: 1.0625rem;
  font-weight: bold;
  color: #007287;
  line-height: 1.4;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
@media screen and (min-width: 768px) {
  .s-features-flow-list__label {
    margin-top: 0;
    padding: 10px 30px;
    font-size: 1.5rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.s-features-flow-list__heading {
  margin: 0 0 15px 40px;
  padding: 20px 20px 20px 40px;
  background: #f8f8f8;
  font-size: 1.0625rem;
  font-weight: bold;
  color: #007287;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .s-features-flow-list__heading {
    margin: 0 0 20px 58px;
    padding: 11px 20px 11px calc(58px + 15%);
    font-size: 1.5rem;
  }
}

.s-features-flow-list__description {
  position: relative;
  margin: 0 0 50px;
  padding: 0 0 0 80px;
}
.s-features-flow-list__description::before,
.s-features-flow-list__description::after {
  content: "";
  position: absolute;
  display: inline-block;
}
.s-features-flow-list__description::before {
  left: 40px;
  top: 0;
  width: 8px;
  height: calc(100% - 18px);
  background: #007287;
}
.s-features-flow-list__description::after {
  background:
    -webkit-gradient(
        linear,
        left bottom,
        right top,
        color-stop(50%, rgba(255, 255, 255, 0)),
        color-stop(50.2%, #007287)
      )
      no-repeat top left/50.2% 100%,
    -webkit-gradient(
        linear,
        right bottom,
        left top,
        color-stop(50%, rgba(255, 255, 255, 0)),
        color-stop(50.2%, #007287)
      )
      no-repeat top right/50.2% 100%;
  background:
    linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #007287 50.2%)
      no-repeat top left/50.2% 100%,
    linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #007287 50.2%)
      no-repeat top right/50.2% 100%;
  left: 40px;
  bottom: 0;
  width: 20px;
  height: 18px;
  margin: 0 0 0 -6px;
}
.s-features-flow-list__description:last-child {
  margin-bottom: 0;
}
.s-features-flow-list__description:last-child::before,
.s-features-flow-list__description:last-child::after {
  content: normal;
}
@media screen and (min-width: 768px) {
  .s-features-flow-list__description {
    margin-left: 58px;
    padding: 0 0 50px calc(58px + 15%);
  }
  .s-features-flow-list__description::before,
  .s-features-flow-list__description::after {
    left: 0;
  }
  .s-features-flow-list__description:last-child {
    padding-bottom: 0;
  }
}

/* ----------------- 臨床実習 -----------------*/
.s-clinicaltraining-image-block {
  margin: 0 0 40px;
  border-top: 1px solid #b9b9b9;
}
@media screen and (min-width: 768px) {
  .s-clinicaltraining-image-block {
    margin-bottom: 50px;
  }
}

.s-clinicaltraining-image {
  margin: 0;
  background: #f8f8f8;
}
.s-clinicaltraining-image img {
  width: 100%;
  min-width: 650px;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .s-clinicaltraining-image img {
    min-width: auto;
  }
}

.s-clinicaltraining-list-layout .p-ordered-list__item::before {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .s-clinicaltraining-list-layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0 0 5%;
  }
}

@media screen and (min-width: 768px) {
  .s-clinicaltraining-list-layout__inner {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    padding: 0 0 0 20px;
  }
}

/* ----------------- カリキュラム -----------------*/
@media screen and (min-width: 768px) {
  .arrow-text {
    font-size: 1.4rem;
  }
}

.arrow-wrap {
  position: relative;
  width: 270px;
  margin: auto;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .arrow-wrap {
    width: 330px;
  }
}
.arrow-wrap .arrow {
  position: absolute;
  left: 0;
  top: -10px;
  width: 100%;
  height: 6px;
  background-color: #007287;
}
.arrow-wrap .arrow:before {
  content: "";
  width: 19px;
  height: 19px;
  border-top: solid 4px #007287;
  border-right: solid 4px #007287;
  position: absolute;
  top: -7px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 0;
}
.arrow-wrap .arrow:after {
  content: "";
  width: 19px;
  height: 19px;
  border-top: solid 4px #007287;
  border-right: solid 4px #007287;
  position: absolute;
  top: -7px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 0;
}

.s-curriculum-block {
  margin: 50px 0;
}

.s-curriculum-block__image {
  width: 100%;
  overflow-x: auto;
}
.s-curriculum-block__image img {
  height: 1321px;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-col-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 25px;
    gap: 40px 20px;
  }
}

.p-col-item {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-col-item {
    width: calc(calc(100% - min(80px, calc(80 / 1280) * 100vw)) / 2);
    margin-bottom: 0;
  }
}
.p-col-item-img {
  margin: 0 0 20px 0;
}
.p-col-item-img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.p-col-item__tag {
  display: inline;
  background: #77e2df;
  padding: 8px 16px;
}
@media screen and (min-width: 768px) {
  .p-col-item__tag {
    padding: 8px 16px;
  }
}

.p-timetable__type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 5px;
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .p-timetable__type {
    font-size: 1rem;
  }
}
.p-timetable__type .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-timetable__type .square {
  border: 1px solid #707070;
  width: 13px;
  height: 13px;
  margin-right: 6px;
}
@media screen and (min-width: 768px) {
  .p-timetable__type .square {
    width: 16px;
    height: 16px;
  }
}
.p-timetable__type .elective {
  margin-left: 27px;
}
.p-timetable__type .elective .square {
  background-color: #ffffe3;
}
.p-timetable__type .required .square {
  background-color: #d9ebff;
}

.p-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.p-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.p-table.timetable {
  table-layout: fixed;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-table.timetable {
    font-size: min(1.3vw, 15px);
  }
}
.p-table.timetable th {
  width: 136px;
  font-weight: 600;
  text-align: center;
  padding: 6px 0;
  white-space: nowrap;
}
.p-table.timetable td {
  width: 136px;
  text-align: center;
  padding: 6px 0;
  white-space: nowrap;
}
.p-table.timetable td.bg-b {
  background: #d9ebfe;
}
.p-table.timetable td.bg-y {
  background: #ffffe3;
}
.p-table.timetable td.adjust {
  line-height: 15px;
  font-size: 0.85rem;
  padding: 0 0 0 30px;
  text-align: left;
}
.p-table.timetable td.adjust-wide {
  line-height: initial;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  white-space: normal;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .p-table.timetable td.adjust-wide {
    font-size: min(1.4vw, 13px);
  }
}

/* ----- 230608 ADD ----- */
.bds-img-area {
  text-align: center;
  margin-bottom: 50px;
}

.bds-img-area img {
  width: 100%;
  height: auto;
}

.bds-field-area {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.field-box {
  border: 1px solid #b9b9b9;
  border-top: 5px solid #007287;
  list-style-type: none;
  width: 48%;
  position: relative;
  padding: 30px 39px;
  margin-bottom: 55px;
}

.field-box img {
  margin-bottom: 10px;
}

.num {
  display: inline-block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #007287;
  color: #fff;
  text-align: center;
  font-size: 28px;
  line-height: 0;
  position: absolute;
  top: -5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.program {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 10px;
}

.program p {
  font-size: min(1.5vw, 20px);
  width: 46%;
  text-align: center;
  padding: 5px;
  font-weight: 600;
}

.program .bg-g {
  background: #007287;
  color: #fff;
}

.program .bg-w {
  color: #007287;
  border: 1px solid #007287;
}

.field-box .img img {
  width: 100%;
  height: auto;
}

.field-ttl {
  color: #007287;
  font-size: 22px;
  text-align: center;
  font-weight: 600;
}

.field-box .txt {
  border-bottom: 1px solid #707070;
  padding-bottom: 25px;
}

.subject-list {
  padding: 0;
}

.subject-item {
  list-style-type: none;
  color: #007287;
  font-weight: 600;
}

.subject-item:before {
  content: "●";
  color: #007287;
  margin-right: 4px;
}

.subject-list.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.subject-list.flex .subject-item {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .field-box .num {
    top: -29px;
  }
  .bds-img-area img {
    width: 320px;
  }
  .bds-field-area {
    display: block;
  }
  .field-box {
    width: 100%;
    padding: 30px 15px;
  }
  .field-ttl {
    font-size: 18px;
  }
  .subject-list.flex.sp-block {
    display: block;
  }
  .program p {
    font-size: 15px;
    padding: 3px;
  }
  .subject-list.flex .subject-item {
    margin-right: 16px;
  }
  .txt-hide {
    display: none;
  }
  button.more {
    width: 270px;
    margin: 20px auto;
    display: block;
    color: #007287;
    background: #fff;
    border: 1px solid #007287;
    padding: 10px 15px;
    outline: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -erbkit-transition: 0.5s;
    position: relative;
    font-size: 15px;
    font-weight: 600;
  }
  button.more::before {
    content: "";
    background-image: url(../img/academics/arrow_bottom.png);
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10%;
    top: 29%;
    background-size: contain;
    vertical-align: middle;
  }
  button.more::after {
    content: "もっと見る";
    transition: 0.1s;
    -webkit-transition: 0.1s;
  }
  button.more.on-click::before {
    content: "";
    background-image: url(../img/academics/arrow_top.png);
    position: absolute;
    width: 20px;
    height: 20px;
    right: 10%;
    top: 29%;
    background-size: contain;
    vertical-align: middle;
  }
  button.more.on-click::after {
    content: "閉じる";
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .subject-list.flex {
    display: block;
  }
}
/* ----- .p-student-voice ----- */
@media screen and (min-width: 768px) {
  .p-student-voice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-student-voice__left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 44%;
    flex: 0 0 44%;
  }
}
.p-student-voice__left img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-student-voice__left img {
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 768px) {
  .p-student-voice__right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
  }
}
.p-student-voice .p-student-voice__affiliation {
  font-weight: 600;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__affiliation {
    font-size: 1.125rem;
  }
}
.p-student-voice__name {
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 25px;
}
@media screen and (min-width: 768px) {
  .p-student-voice__name {
    font-size: 1.5rem;
  }
}
.p-student-voice .p-student-voice__small {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__small {
    font-size: 1rem;
  }
}
.p-student-voice__position {
  margin: 0;
}
.p-student-voice .p-student-voice__training {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__training {
    margin-bottom: 20px;
  }
}
.p-student-voice .p-student-voice__training .tag {
  font-size: 0.8rem;
  display: inline;
  background: #77e2df;
  padding: 4px 11px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__training .tag {
    font-size: 0.9rem;
  }
}
.p-student-voice .p-student-voice__training .company {
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__training .company {
    font-size: 1.3rem;
  }
}
.p-student-voice .p-student-voice__ttl {
  font-size: 1.1rem;
  color: #007287;
}
@media screen and (min-width: 768px) {
  .p-student-voice .p-student-voice__ttl {
    line-height: 25px;
  }
}
.p-student-voice .p-student-voice__text {
  margin-bottom: 0;
}

/* ----------------- 学生の声 -----------------*/
.p-student-voice-card .p-student-voice-card__list {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card .p-student-voice-card__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-student-voice-card .p-student-voice-card__item {
  list-style: none;
  background: #ffffe3;
  margin-bottom: 20px;
  padding: 20px 25px;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card .p-student-voice-card__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 47%;
    flex: 0 0 47%;
    padding: 20px 30px;
    margin-bottom: 25px;
  }
}
.p-student-voice-card .p-student-voice-card__ttl {
  background: #fff;
  border: 2px solid;
  padding: 5px 12px;
  margin-left: -24px;
  line-height: 25px;
  font-size: 0.95rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card .p-student-voice-card__ttl {
    width: initial;
    padding: 10px 16px;
    margin-left: -29px;
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 768px) {
  .p-student-voice-card .p-student-voice-card__text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}
.p-student-voice-card .p-student-voice-card__img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
}
.p-student-voice-card
  .p-student-voice-card__img-box
  .p-student-voice-card__img {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40%;
  flex: 0 0 40%;
  margin-right: 15px;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card
    .p-student-voice-card__img-box
    .p-student-voice-card__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 34%;
    flex: 0 0 34%;
  }
}
.p-student-voice-card .p-student-voice-card__img-box img {
  width: 100%;
}
.p-student-voice-card
  .p-student-voice-card__img-box
  .p-student-voice-card__name-box {
  padding-bottom: 3px;
}
.p-student-voice-card
  .p-student-voice-card__img-box
  .p-student-voice-card__name {
  font-size: 1.1rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card
    .p-student-voice-card__img-box
    .p-student-voice-card__name {
    font-size: 1.2rem;
  }
}
.p-student-voice-card
  .p-student-voice-card__img-box
  .p-student-voice-card__name
  span {
  font-size: 0.875rem;
  margin-left: 3px;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card
    .p-student-voice-card__img-box
    .p-student-voice-card__name
    span {
    font-size: 1rem;
  }
}
.p-student-voice-card
  .p-student-voice-card__img-box
  .p-student-voice-card__from {
  margin: 0;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-student-voice-card
    .p-student-voice-card__img-box
    .p-student-voice-card__from {
    font-size: 0.9rem;
  }
}

/* ----------------- 臨床工学技士とは -----------------*/
.p-field img {
  width: 100%;
}
.p-field .p-page-h4 {
  font-size: 20px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-field .p-page-h4 {
    font-size: 28px;
  }
}
.p-field .p-page-h4 span {
  color: #00beb8;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .p-field .p-page-h4 span {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  .p-field .p-field__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 10px;
  }
}
@media screen and (min-width: 768px) {
  .p-field .p-field__left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 44%;
    flex: 0 0 44%;
  }
}
@media screen and (min-width: 768px) {
  .p-field .p-field__right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 52%;
    flex: 0 0 52%;
  }
}
.p-field h5 {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .p-field h5 {
    font-size: 20px;
    margin: 15px 0 0;
  }
}
.p-field ul {
  padding: 0;
}
.p-field ul li {
  list-style: none;
  display: inline-block;
  margin-right: 10px;
}
.p-field ul li::before {
  display: inline-block;
  margin: 0 7px 2px 0;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 100%;
  background: #00beb8;
}
.p-field ul li:last-child {
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .p-field-row__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-field-row__flex .item-manufacturer {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-field-row__flex .item-manufacturer {
    margin-bottom: 0;
  }
}
.p-field-row__flex .item-manufacturer h5 {
  margin: 10px 0;
}
@media screen and (min-width: 768px) {
  .p-field-row__flex .p-field {
    width: 48.5%;
  }
}
@media screen and (min-width: 768px) {
  .p-field-row__flex .p-field__inner {
    padding: 0 10px;
  }
}
.p-field-row__flex .p-field__text {
  border-bottom: 1px solid;
  padding-bottom: 25px;
}

.p-radicalFlex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 20px;
  margin: 0 0 clamp(20px, calc(calc(40 / 1280) * 100vw), 40px) 0;
  padding: 0;
  list-style: none;
}

.p-radicalFlex__item {
  width: calc(calc(100% - calc(calc(60 / 1280) * 100vw)) / 2);
}

@media screen and (max-width: 768px) {
  .p-radicalFlex__item {
    width: 100%;
  }
}

.p-radicalFlex__item-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(40px, calc(calc(50 / 1280) * 100vw), 50px);
  padding: 10px 20px;
  margin: 0 0 clamp(10px, calc(calc(15 / 1280) * 100vw), 15px) 0;
  background: #2b6fb8;
  color: #fff;
}

.p-radicalFlex__item-txt {
  font-size: 16px;
  line-height: calc(27 / 16);
  margin-top: clamp(10px, calc(calc(15 / 1280) * 100vw), 15px);
}

/* ----- .click_map ------*/
.click_map_wrap {
  margin-bottom: 150px;
}

.click_map {
  position: relative;
}

.click_map img {
  max-width: 100%;
  height: auto;
}

.click_btn {
  cursor: pointer;
  width: 65px;
  height: 84px;
  background: url("../img/academics/about-clinical-engineer/click_btn.png")
    no-repeat;
  background-size: contain;
}

.click_btn:hover {
  background: url("../img/academics/about-clinical-engineer/click_btn_y.png")
    no-repeat;
  background-size: contain;
}

.click_btn.btn_01 {
  position: absolute;
  top: 10%;
  left: 25%;
}

.click_map--radical .click_btn.btn_01 {
  top: 5.5%;
  left: 32%;
}

.click_btn.btn_02 {
  position: absolute;
  top: 22%;
  left: 11%;
}

.click_map--radical .click_btn.btn_02 {
  top: 21%;
  left: 10%;
}

.click_btn.btn_03 {
  position: absolute;
  top: 40%;
  left: 35%;
}

.click_map--radical .click_btn.btn_03 {
  top: 43.5%;
  left: 29.8%;
}

.click_btn.btn_04 {
  position: absolute;
  top: 32%;
  left: 52%;
}

.click_map--radical .click_btn.btn_04 {
  top: 29%;
  left: 48.2%;
}

.click_btn.btn_05 {
  position: absolute;
  top: 50.5%;
  left: 81%;
}

.click_map--radical .click_btn.btn_05 {
  top: 47%;
  left: 73.5%;
}

.click_btn.btn_06 {
  position: absolute;
  top: 47.5%;
  left: 35%;
}

.click_map--radical .click_btn.btn_06 {
  top: 57%;
  left: 60%;
}

.click_btn.btn_07 {
  position: absolute;
  top: 28.5%;
  left: 72.5%;
}

.click_map--radical .click_btn.btn_07 {
  top: 24.5%;
  left: 82%;
}

.click_btn.btn_08 {
  position: absolute;
  top: 3%;
  left: 69%;
}

.click_map--radical .click_btn.btn_08 {
  top: 1.5%;
  left: 67%;
}

/* ----- .map-explanation-area ------*/
.map-explanation-area .txt-box {
  max-width: 419px;
}

.map-explanation-area .txt-box .room {
  font-size: 18px;
  margin: 0 0 15px;
}
.map-explanation-area .txt-box .room span {
  font-size: 14px;
}

.txt-box-inner {
  background-image: url(../img/academics/about-clinical-engineer/txt_flame.png);
  background-repeat: no-repeat;
  width: 100%;
  height: 251px;
  padding: 22px;
}

#btn-08 .txt-box-inner {
  background-image: url(../img/academics/about-clinical-engineer/txt_flame_wide.png);
  height: 363px;
  padding: 35px;
}
.map-explanation-area--radical #btn-08 .txt-box-inner {
  background-image: url(../img/academics/about-clinical-engineer/txt_flame.png);
  background-repeat: no-repeat;
  width: 100%;
  height: 251px;
  padding: 22px;
}

.btn-01-explanation {
  position: absolute;
  top: 5%;
  left: 6%;
}

.btn-02-explanation {
  position: absolute;
  top: 12.5%;
  left: 2%;
}

.btn-03-explanation {
  position: absolute;
  top: 37%;
  left: 17%;
}

.btn-04-explanation {
  position: absolute;
  top: 23%;
  left: 34%;
}

.btn-05-explanation {
  position: absolute;
  top: 42%;
  left: 52%;
}

.btn-06-explanation {
  position: absolute;
  top: 57%;
  left: 30.5%;
}

.btn-07-explanation {
  position: absolute;
  top: 12%;
  left: 55%;
}

.btn-08-explanation {
  position: absolute;
  top: 2%;
  left: 50%;
}

#btn-01,
#btn-02,
#btn-03,
#btn-04,
#btn-05,
#btn-06,
#btn-07,
#btn-08 {
  display: none;
}

.map-txt {
  background-image: url(../img/academics/about-clinical-engineer/txt_flame_02.png);
  background-repeat: no-repeat;
  width: 886px;
  height: 125px;
  padding-top: 17px;
  margin: auto;
  position: absolute;
  bottom: -7%;
  left: 0;
  right: 0;
}

.map-txt p {
  font-size: 25px;
  text-align: center;
  font-weight: 600;
  margin: 0;
}

.map-txt .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.map-txt .flex img {
  margin-right: 5px;
}

@media (max-width: 1000px) and (min-width: 768px) {
  .btn-06-explanation {
    top: 42%;
    left: 18.5%;
  }
  .btn-08-explanation {
    left: 36%;
  }
  .btn-07-explanation {
    left: 36%;
  }
  .btn-05-explanation {
    left: 36%;
  }
  .map-txt {
    background-size: 95% 95%;
    background-position: center;
    width: initial;
    bottom: -93px;
  }
}
@media screen and (max-width: 767px) {
  .sp-map {
    margin-bottom: 35px;
  }
  .sp-map img {
    max-width: 100%;
    display: block;
  }
  #sp-slide-map .map-slide-items {
    position: relative;
    padding: 0;
  }
  #sp-slide-map .map-slide-items li .img {
    width: 280px;
    margin: auto;
    margin: 0 auto 60px;
  }
  #sp-slide-map .map-explanation {
    background-image: url(../img/academics/about-clinical-engineer/map-explanation-frame.png);
    background-repeat: no-repeat;
    width: 321px;
    height: 310px;
    padding-top: 35px;
    margin: auto;
  }
  #sp-slide-map .map-explanation.sp-adjust {
    padding-top: 10px;
  }
  #sp-slide-map .map-explanation.sp-adjust_02 {
    padding-top: 24px;
  }
  #sp-slide-map .map-slide-items .map-explanation P {
    font-size: 16px;
    width: 76%;
    margin: auto;
  }
  #sp-slide-map .map-slide-items .map-explanation P.text-adjust {
    font-size: 15px;
  }
  #sp-slide-map .map-slide-items .map-explanation P.ttl {
    margin-bottom: 10px;
  }
  #sp-slide-map .map-slide-items .map-explanation.sp-adjust P.ttl {
    margin-bottom: 0;
  }
  #sp-slide-map .map-slide-items .map-explanation P.ttl span {
    display: block;
    font-size: 12px;
  }
  #sp-slide-map .slick-slide img {
    max-width: 100%;
  }
  #sp-slide-map .slick-dots {
    top: 40%;
  }
  #sp-slide-map .slick-dots li button:before {
    font-size: 10px;
  }
  #sp-slide-map .slick-prev,
  #sp-slide-map .slick-next {
    top: 19%;
    background: #f5ff92;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    border: 1px solid #707070;
  }
  #sp-slide-map .slick-next {
    right: 7px;
  }
  #sp-slide-map .slick-prev {
    left: 6px;
    z-index: 999;
  }
  #sp-slide-map .slick-prev:before,
  #sp-slide-map .slick-next:before {
    color: #000;
    font-size: 53px;
  }
  #sp-slide-map .slick-next:before {
    position: absolute;
    content: "";
    top: 37%;
    left: 35%;
    display: block;
    width: 9px;
    height: 9px;
    border-top: solid 2px;
    border-right: solid 2px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #sp-slide-map .slick-prev:before {
    position: absolute;
    content: "";
    top: 39%;
    left: 41%;
    display: block;
    width: 9px;
    height: 9px;
    border-top: solid 2px;
    border-right: solid 2px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  #sp-slide-map .slick-prev:hover,
  #sp-slide-map .slick-prev:focus,
  .slick-next:hover,
  #sp-slide-map .slick-next:focus {
    background: #f5ff92;
  }
  #sp-slide-map .slick-dots li.slick-active button:before {
    color: #00beb7;
  }
}
.p-suitable__list {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-suitable__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-suitable__item {
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-suitable__item {
    width: calc(50% - 22px);
  }
}
.p-suitable__heading {
  display: grid;
  grid-template-areas: "img ttl" "img txt";
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  align-items: flex-start;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-suitable__heading {
    margin-bottom: 20px;
  }
}
.p-suitable__heading h5 {
  grid-area: ttl;
  margin: 0;
  font-size: 17px;
  line-height: calc(32 / 23);
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-suitable__heading h5 {
    font-size: 23px;
  }
}
.p-suitable__image {
  grid-area: img;
  max-width: 114px;
  margin-right: 20px;
}
@media screen and (min-width: 768px) {
  .p-suitable__image {
    max-width: 169px;
  }
}
.p-suitable__image img {
  width: 100%;
}
.p-suitable__text {
  grid-area: txt;
  margin-top: 0;
}

.p-future {
  background: #ffffe3;
  width: 100vw;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-bottom: clamp(30px, calc(calc(50 / 767) * 100vw), 50px);
}
@media screen and (min-width: 768px) {
  .p-future {
    padding: 50px 0;
  }
}

.p-future__flex {
  display: flex;
  gap: calc(calc(40 / 1280) * 100vw);
}

.p-future__flex .p-future__flex-item {
  width: min(600px, 100%);
}

.p-future__flex .p-future__image {
  width: min(360px, 100%);
}

.p-future__flex figure {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .p-future__flex {
    flex-direction: column;
    gap: 40px;
  }

  .p-future__flex .p-future__flex-item {
    width: 100%;
  }

  .p-future__flex .p-future__image {
    width: 100%;
  }
}

.p-future-inner {
  max-width: 1000px;
  padding: 30px 0 10px;
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .p-future-inner {
    margin: auto;
  }
}
@media (max-width: 1050px) and (min-width: 768px) {
  .p-future-inner {
    padding: 0 60px;
  }
}

.p-future__image img {
  width: 100%;
  border-radius: 10px;
}

.p-future__image--borderNone img {
  border-radius: unset;
}

.p-reason.p-gray-box {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .p-reason.p-gray-box {
    padding: 60px;
  }
}
.p-reason ul {
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-reason ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.p-reason li {
  list-style: none;
  background: #fff;
  border: 1px solid #707070;
  padding: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-reason li {
    width: calc(50% - 20px);
    padding: 20px 27px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-become {
  background: #f8f8f8;
  width: 100vw;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .p-become {
    padding: 50px 0;
  }
}
.p-become-inner {
  max-width: 1000px;
  padding: 30px 0 10px;
  margin: 0 20px;
}
@media screen and (min-width: 768px) {
  .p-become-inner {
    margin: auto;
  }
}
@media (max-width: 1050px) and (min-width: 768px) {
  .p-become-inner {
    padding: 0 60px;
  }
}
.p-become__image img {
  width: 100%;
  border-radius: 10px;
}

/* ボタン */
.p-movie .btn {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-movie .btn-primary {
  display: block;
  position: relative;
  padding: 15px 25px 15px 20px;
  color: inherit;
  font-weight: bold;
  text-decoration: none;
  background: #fff;
  border: 1px solid #77e2df;
  z-index: 1;
}
.p-movie .btn-primary:hover {
  background: #77e2df;
  color: #fff;
  text-decoration: none;
}
.p-movie .btn-primary::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 1px;
  background: #77e2df;
}
.p-movie .btn-primary:hover::before {
  background: #fff;
}
.p-movie .btn-primary::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin: -5px 0 0;
  right: 15px;
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  border-top: 1.5px solid;
  border-right: 1.5px solid;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.p-movie .btn-primary:hover::after {
  border-color: #fff;
}
.p-movie .btn-secondary {
  display: block;
  position: relative;
  padding: 15px;
  text-align: center;
  color: inherit;
  font-weight: bold;
  background: #007287;
  color: #fff;
  border: 1px solid #007287;
  z-index: 1;
}
.p-movie .btn-secondary:hover {
  background: #fff;
  color: #007287;
  text-decoration: none;
}
.p-movie .btn-area {
  margin: 50px 0;
}
.p-movie .btn-area .btn {
  display: block;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 300px;
  flex: 0 1 300px;
  width: 300px;
  max-width: 100%;
  margin: 0 auto 10px;
}
@media (min-width: 800px) {
  .p-movie .btn-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .p-movie .btn-area .btn {
    margin: 20px 10px;
  }
  .p-movie .btn-area .no-m.btn {
    margin: 0 auto;
  }
}
.p-movie .btn-area__note {
  display: block;
  width: 100%;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  margin: 10px 0;
  text-align: center;
}
.p-movie .oc-banner {
  margin-top: 50px;
  text-align: center;
  width: min(100%, 655px);
  margin: auto;
}

.oc-banner .img {
  position: relative;
  z-index: 1;
  margin: 0 auto 41px;
}

.oc-banner .img::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: #639de0;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
}
.oc-banner .img img {
  height: auto;
  max-width: 100%;
  display: block;
}
.oc-banner .img img:hover {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(10px, 10px);
  transform: translate(10px, 10px);
}

@media only screen and (max-width: 750px) {
  .p-movie {
    margin-bottom: 50px;
  }
  .p-movie .btn-area {
    margin: 0;
  }
  .p-movie .oc-banner {
    margin-top: 25px;
  }
  .p-movie .oc-banner .img img {
    width: 100%;
    height: auto;
  }
  .p-movie .oc-banner .img::before {
    top: 8px;
    left: 8px;
  }
}
/* ----- .oc-link.bg-gradation ------*/
.oc-link.bg-gradation {
  margin: 20px auto 30px;
}
@media screen and (min-width: 768px) {
  .oc-link.bg-gradation {
    max-width: 663px;
    margin: 50px auto 100px;
  }
}
.oc-link.bg-gradation .blink {
  position: relative;
  border-radius: 90px;
  padding: 19px 0;
}
@media screen and (min-width: 768px) {
  .oc-link.bg-gradation .blink {
    padding: 25px 0;
  }
}
.oc-link.bg-gradation .blink:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #62edff;
  border-radius: 90px;
  z-index: -1; /* a要素の後ろに表示 */
  -webkit-animation-name: blinking;
  animation-name: blinking;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
.oc-link.bg-gradation a {
  background: #fff;
  border-radius: 70px;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#009d8b),
    to(#006fdd)
  );
  background: linear-gradient(to right, #009d8b, #006fdd);
  color: #fff;
  font-size: 10px;
  text-align: center;
  display: block;
  text-decoration: none;
  padding: 24px 20px 20px 0;
  position: relative;
  line-height: 1.5;
  margin: auto;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .oc-link.bg-gradation a {
    padding: 28px 0 25px;
    max-width: 600px;
    font-size: 23px;
    width: 100%;
  }
}
.oc-link.bg-gradation a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.5); /* 半透明の白 */
  border-radius: 70px; /* a要素と同じ丸み */
  z-index: 1; /* リンクテキストの上に表示 */
  -webkit-animation: blink-white 1s ease-in-out infinite alternate;
  animation: blink-white 1s ease-in-out infinite alternate; /* 点滅アニメーション */
}

.circle-right {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: absolute;
  top: 36%;
  right: 10px;
  width: 25px;
  height: 25px;
  background: currentColor;
  border-radius: 50%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .circle-right {
    top: 30%;
    right: 25px;
    width: 50px;
    height: 50px;
  }
}
.circle-right:before {
  content: "";
  width: 9px;
  height: 12px;
  background-image: url("../img/academics/about-clinical-engineer/circle-right_blue.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  right: -3px;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .circle-right:before {
    width: 21px;
    height: 20px;
  }
}

/* ブルーレイヤーの点滅アニメーション */
@-webkit-keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.7;
  }
}
@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.7;
  }
}
/* 白いレイヤーの点滅アニメーション */
@-webkit-keyframes blink-white {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.7;
  }
}
@keyframes blink-white {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.7;
  }
}
/* ----------------- 施設紹介ページ -----------------*/
.s-facilities-movie {
  position: relative;
  margin: 50px auto 20px;
}
@media screen and (min-width: 768px) {
  .s-facilities-movie {
    max-width: 680px;
    margin: 80px auto 50px;
  }
}
.s-facilities-movie__btn {
  position: absolute;
  right: 0;
  top: -15px;
  z-index: 1;
}
.s-facilities-movie__btn a {
  background: #333;
  color: #c4f5f4;
  padding: 15px 40px;
  border-radius: 30px;
  position: relative;
  -webkit-transition:
    color 400ms,
    background-color 400ms;
  transition:
    color 400ms,
    background-color 400ms;
}
@media screen and (min-width: 768px) {
  .s-facilities-movie__btn a {
    font-size: 18px;
    padding: 15px 50px;
  }
}
.s-facilities-movie__btn a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin: -5px 0 0;
  right: 24px;
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.s-facilities-movie__btn a:hover {
  text-decoration: none;
  background: #c4f5f4;
  color: #333;
}
.s-facilities-movie__image a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.s-facilities-movie__image a:hover {
  opacity: 0.8;
}
.s-facilities-movie__image img {
  width: 100%;
}

/* ----------------- 医療機器紹介ページ -----------------*/
.s-medical-equipment-voice {
  background: #f8f8f8;
  padding: 25px;
  margin: 200px 0 2rem;
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice {
    padding: 45px 44px 45px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 130px;
  }
}
.s-medical-equipment-voice__image {
  margin: -194px 0 16px;
  max-width: 275px;
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice__image {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 35%;
    flex: 0 0 35%;
    max-width: 330px;
    margin: -172px 0 0;
  }
}
.s-medical-equipment-voice__image img {
  width: 100%;
}
.s-medical-equipment-voice__image p {
  margin: 0;
}
.s-medical-equipment-voice__image .name {
  font-weight: bold;
  line-height: 25px;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice__image .name {
    padding-left: 25px;
  }
}
.s-medical-equipment-voice__image .name span {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice__image .year {
    font-size: 14px;
    padding-left: 25px;
  }
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice__text {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 62%;
    flex: 0 0 62%;
  }
}
.s-medical-equipment-voice__text .ttl {
  font-weight: bold;
  border-bottom: 1px solid;
  padding-bottom: 15px;
  line-height: 25px;
  margin-bottom: 25px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .s-medical-equipment-voice__text .ttl {
    font-size: 18px;
  }
}

.p-overflow {
  overflow: hidden;
}
