/* 汎用CSS */
/* 任意の改行 */
.newLine::after {
  content: "\A";
  white-space: pre;
}

.sub-ttl {
  width: 40%;
  text-align: center;
  margin: 0 auto 18px;
}

/* スクール選びのお悩み */
.mv {
  padding-top: 60px;
}

.school-worry {
  text-align: center;
  background: url(../img/school/worry-back-img.png) no-repeat center center;
  background-size: 100%;
  margin-top: 40px;
}

.school-worry-ttl {
  width: fit-content;
  margin: 0 auto;
  position: relative;
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
  padding-top: 24px;
}

.school-worry-ttl::after {
  position: absolute;
  content: "";
  background: url(../img/school/underline-arrow.png) no-repeat center center;
  width: 100%;
  height: 20px;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
}

.school-worry-content-first {
  padding-top: 24px;
}

.school-worry-content {
  width: 80%;
  margin-bottom: 40px;
}

/* お悩みを解決 */
.worry-solution {
  position: relative;
  padding: 40px 0;
  background-color: #ffe8ee;
}

.worry-solution::before,
.worry-solution::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}

.worry-solution::before {
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #f9688d transparent transparent transparent;
}

.worry-solution::after {
  bottom: 0;
  right: 0;
  border-style: solid;
  border-width: 0 0 50px 50px;
  border-color: transparent transparent #f9688d transparent;
}

.worry-solution-ttl {
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}

.worry-solution-box {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
  background-color: #fff;
  box-shadow: rgba(253, 164, 187, 0.3) 0 0 14px;
}

.worry-solution-box-content-img {
  padding-right: 16px;
  width: 40%;
}

.worry-solution-box-content-img-even {
  padding-right: 0;
  padding-left: 16px;
}

.worry-solution-box-wrapper {
  position: relative;
}

.worry-solution-box-wrapper::before,
.worry-solution-box-wrapper::after {
  content: "";
  z-index: 1;
  position: absolute;
  background: url(../img/school/ellipse1.png) no-repeat center center;
}

.worry-solution-box-wrapper::before {
  top: -7%;
  right: 0;
  width: 65px;
  height: 177px;
}

.worry-solution-box-wrapper::after {
  bottom: -6%;
  left: 0;
  width: 65px;
  height: 177px;
  transform: rotate(180deg);
}

.worry-solution-box {
  position: relative;
  z-index: 10;
}

.worry-solution-box-content-wrapper {
  width: 84%;
  margin: 0 auto 20px;
}

.worry-solution-box-content {
  display: flex;
  align-items: center;
}

.worry-solution-box-content-even {
  flex-direction: row-reverse;
}

.worry-solution-box-content-explain {
  text-align: left;
}

.worry-solution-box-content-explain-ttl {
  padding-bottom: 10px;
}

.worry-solution-box-content-explain-ttl-underline {
  background: linear-gradient(transparent 76%, #f9688d 80%);
}

/* 講師紹介 */
.teacher-introduction-ttl {
  width: 42%;
  margin: 40px auto 20px;
}

.teacher-introduction-content-wrapper {
  position: relative;
  width: 86%;
  margin: 0 auto 40px;
  padding-top: 20px;
  padding-right: 14px;
  padding-bottom: 14px;
  padding-left: 18px;
  border: solid 2px #c5b88a;
}

.teacher-introduction-content-wrapper::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border: solid 2px #c5b88a;
  top: 5px;
  left: 5px;
}

.teacher-introduction-content {
  display: flex;
  align-items: start;
}

.teacher-introduction-content-img {
  width: 54%;
  padding-right: 14px;
}

.teacher-introduction-content-explain {
  font-size: 12px;
}

.teacher-introduction-content-explain-ttl {
  font-size: 22px;
}

.teacher-introduction-content-explain-desc {
  margin-bottom: 10px;
}

/* コンセプト */
.concept {
  position: relative;
  background: #f4efe9;
  margin-top: 80px;
  padding: 40px 0;
}

.concept::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: url(../img/school/Concept-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 210px;
  height: 53px;
}

.concept-ttl {
  text-align: center;
  font-size: 22px;
}

.concept-content {
  width: 90%;
  margin: 0 auto;
  font-size: 22px;
}

/* カリキュラム */
.curriculum {
  background-image: url(../img/school/curriculum-bg.png);
  background-repeat: no-repeat;
  padding: 30px 0;
}

.curriculum-ttl {
  font-size: 32px;
  text-align: center;
  margin-bottom: -12px;
}

.curriculum-box {
  width: 94%;
  margin: 0 auto 40px;
  padding: 30px 20px;
  background-color: #fff;
  box-shadow: rgb(253 164 187 / 30%) 0 0 14px;
}

.curriculum-box-content {
  display: flex;
  align-items: start;
}

.curriculum-box-ttl {
  text-align: center;
  margin-bottom: 30px;
}

.curriculum-box-content-img {
  margin-right: 20px;
}

.curriculum-box-content-explain {
  width: 92%;
}

/* 症例写真 */
.photo {
  position: relative;
  background: #ecf4f3;
  margin-top: 50px;
  padding: 30px 0;
}

.photo::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/school/photo-bg-text.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 32%;
  height: 32%;
}

.photo-content {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto 30px;
}

.photo-ttl {
  font-size: 32px;
  text-align: center;
  margin-bottom: -12px;
}

.photo-img {
  width: 48%;
}

.photo-desc {
  width: 90%;
  margin: 0 auto 30px;
}

/* 受講資格 */
.license {
  width: 80%;
  border: solid 6px #896d3f;
  margin: 40px auto;
  padding: 4px;
}

.license-border {
  border: solid 2px #896d3f;
  width: 99%;
  margin: 0 auto;
  padding: 12px;
}

.license-content {
  width: 90%;
  margin: 40px auto;
  text-align: center;
}

.license-ttl {
  margin-bottom: 10px;
  border-bottom: solid 1px #dcd3c5;
}

.license-ttl-img {
  width: 60%;
  padding-bottom: 5px;
}

.license-content-ttl {
  font-size: 20px;
  margin-bottom: -8px;
}

.license-content-desc {
  font-size: 14px;
}

/* 料金 */
.price {
  background: #f4efe9;
  padding: 30px 0;
}

.price-ttl {
  font-size: 32px;
  text-align: center;
  margin-bottom: -12px;
}

.school-course-content,
.school-course-benefits {
  text-align: center;
  margin-bottom: 30px;
}

.price-content {
  position: relative;
  width: 90%;
  margin: 0 auto 50px;
  padding: 30px 20px 0;
  background-color: #fff;
  box-shadow: rgb(203 179 151 / 30%) 0 0 14px;
}

.price-content::before,
.price-content::after,
.price-content-parentheses::before,
.price-content-parentheses::after {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
}

.price-content::before {
  top: 0;
  left: 0;
  background-image: url(../img/school/parentheses1.png);
}

.price-content::after {
  top: 0;
  right: 0;
  background-image: url(../img/school/parentheses2.png);
}

.price-content-parentheses::before {
  bottom: 0;
  left: 0;
  background-image: url(../img/school/parentheses3.png);
}

.price-content-parentheses::after {
  bottom: 0;
  right: 0;
  background-image: url(../img/school/parentheses4.png);
}


.price-content-box-ttl {
  font-size: 26px;
  text-align: center;
  border-bottom: solid 1px #333;
  line-height: 1.4;
  margin-bottom: 12px;
}

.price-content-box-desc {
  margin-bottom: 14px;
}

.price-content-box-img {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 10px;
}

/* 受講の流れ */
.flow {
  background: #ffe8ee;
  margin-top: 50px;
  padding: 30px 0;
}

.flow-ttl {
  font-size: 38px;
  text-align: center;
  margin-bottom: -14px;
}

.flow-content {
  text-align: center;
}

/* よくあるご質問 */
.question {
  background: #f4efe9;
  padding: 30px 0;
}

.question-ttl {
  font-size: 38px;
  text-align: center;
  margin-bottom: -14px;
}

.faq-content-question {
  position: relative;
  font-weight: 600;
  padding: 20px;
  cursor: pointer;
}

.faq-content-question-arrow {
  position: absolute;
  right: 10px;
  width: 30px;
  vertical-align: unset;
  transform: rotate(270deg);
}

.arrow-direction {
  transform: rotate(0deg);
}

.faq-content-li {
  width: 90%;
  margin: 0 auto 10px;
  background: #fff;
  line-height: 1.6;
}

.answer {
  display: none;
  padding: 10px 20px;
}

/* 400px以上に適用されるCSS */
@media screen and (min-width: 400px) {
  .school-worry-ttl {
    font-size: 18px;
  }

  .license-content-ttl {
    font-size: 22px;
  }

  .license-content-desc {
    font-size: 16px;
  }

  .price-content::before,
  .price-content::after,
  .price-content-parentheses::before,
  .price-content-parentheses::after {
    width: 40px;
    height: 40px;
  }
}

/* 500px以上に適用されるCSS */
@media screen and (min-width: 500px) {
  .school-worry-ttl {
    font-size: 20px;
  }

  .teacher-introduction-content-explain {
    font-size: 14px;
  }

  .concept::after {
    width: 377px;
    height: 95px;
  }

  .sub-ttl {
    width: 30%;
  }

  .concept-ttl {
    font-size: 28px;
  }

  .curriculum-ttl {
    font-size: 44px;
  }

  .photo-ttl {
    font-size: 44px;
  }

  .price-ttl {
    font-size: 44px;
  }

  .curriculum-box {
    width: 90%;
  }

  .license-content-ttl {
    font-size: 30px;
  }

  .license-content-desc {
    font-size: 20px;
  }

  .price-content-box-ttl {
    font-size: 32px;
  }

  .price-content-box-desc {
    font-size: 20px;
  }

  .flow-ttl {
    font-size: 52px;
  }
}

/* 600px以上に適用されるCSS */
@media screen and (min-width: 600px) {
  .school-worry-ttl {
    font-size: 24px;
  }

  .worry-solution-ttl {
    font-size: 32px;
  }

  .worry-solution-box-content-explain {
    font-size: 18px;
  }

  .worry-solution-box-content-explain-ttl {
    font-size: 22px;
  }

  .teacher-introduction-content-explain {
    font-size: 16px;
  }

  .teacher-introduction-content-img {
    padding-right: 28px;
    padding-left: 14px;
  }

  .curriculum-box-ttl {
    margin-bottom: 40px;
  }

  .sub-ttl {
    width: 20%;
  }

  .price-content-box {
    width: 90%;
    margin: 0 auto 50px;
  }
}

/* 700px以上に適用されるCSS */
@media screen and (min-width: 700px) {
  .school-worry-ttl {
    font-size: 28px;
  }

  .concept-ttl {
    font-size: 40px;
  }

  .curriculum-box-content-img {
    width: 100%;
    text-align: center;
  }

  .curriculum-box-content-explain {
    font-size: 22px;
  }
}
