@charset "UTF-8";
/* リセットCSS
===================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, button, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
  font-size: 16px;
}

ol, ul {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after {
  content: "";
  content: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

body {
  background: #ffffff;
  color: #000000;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  line-height: 1.45;
  font-weight: 400;
  font-size: 16px;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: #000000;
}

/* 基本設定
===================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 共通パーツ
===================================== */
.inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 50px;
  height: inherit;
  box-sizing: content-box;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .inner {
    padding: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

.util-button {
  display: inline-block;
}

.section__title {
  font-size: 45px;
  position: relative;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .section__title {
    font-size: 22px;
  }
}
.section__title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (min-width: 1280px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

/* header
===================================== */
.header {
  width: 100%;
  height: 113px;
  background: #ff6600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 29px 0 22px;
  position: fixed;
  z-index: 10;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .header {
    position: static;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 65px;
    padding: 0 29px 0 12px;
    position: static;
  }
}

.header-logo__link {
  font-size: 40px;
  color: #ffffff;
  font-family: "shippori-mincho", sans-serif;
}
@media screen and (max-width: 767px) {
  .header-logo__link {
    font-size: 20px;
  }
}
.header-logo__link img {
  width: 64px;
  margin-right: 14px;
}
@media screen and (max-width: 767px) {
  .header-logo__link img {
    width: 38px;
  }
}

.header-button {
  width: 387px;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .header-button {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .header-button {
    display: none;
  }
}

/* main-visual
===================================== */
.main-visual {
  position: relative;
}

.main-visual__message {
  position: absolute;
  top: 184px;
  left: 0;
  background: rgba(91, 56, 37, 0.5);
  padding: 31px 64px 28px 15px;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .main-visual__message {
    top: 50px;
    padding: 20px 30px;
  }
}
@media screen and (max-width: 767px) {
  .main-visual__message {
    top: 31px;
    padding: 21px 10px 6px 0px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .main-visual__message {
    top: 100px;
    padding: 50px 30px;
  }
}

.main-visual__title {
  text-align: center;
  color: #ffffff;
  font-family: "shippori-mincho", sans-serif;
  font-size: 30px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .main-visual__title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .main-visual__title {
    font-size: 13px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .main-visual__title {
    font-size: 16px;
  }
}
.main-visual__title::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 8px;
  background: #ff8a6a;
}
@media screen and (max-width: 767px) {
  .main-visual__title::after {
    height: 4px;
    width: 80%;
    bottom: -15px;
    line-height: 1.2857142857;
  }
}

.main-visual__text {
  color: #ffffff;
  font-family: "shippori-mincho", sans-serif;
  font-size: 59px;
  text-shadow: 0px 0px 6px rgb(255, 255, 255);
  margin-top: 24px;
  margin-left: 40px;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .main-visual__text {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) {
  .main-visual__text {
    font-size: 24px;
    margin-top: 19px;
    margin-left: 7px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .main-visual__text {
    font-size: 28px;
  }
}

/*life
===================================== */
.life {
  padding: 118px 0 102px;
}
@media screen and (max-width: 767px) {
  .life {
    padding: 37px 0;
  }
}

.life-wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  max-width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .life-wrap {
    display: block;
  }
}

.life__img {
  flex: 0 1 561px;
  margin-left: 3.2258064516%;
  margin-top: 62px;
}
@media screen and (max-width: 767px) {
  .life__img {
    width: 72%;
    margin: 33px auto 0;
  }
}

.life__content {
  flex: 0 1 620px;
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .life__content {
    width: 72%;
    margin: 0 auto;
  }
}

.life__title-wrap {
  text-align: center;
}

.life__title {
  text-align: center;
}
.life__title::after {
  background: url(../img/underline.png) no-repeat center center/contain;
  bottom: -30px;
  width: 120%;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .life__title::after {
    width: 120%;
  }
}

.life__content-text {
  margin-top: 57px;
  font-size: 18px;
  line-height: 2.2222222222;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .life__content-text {
    line-height: 1.5;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .life__content-text {
    margin-top: 4px;
    font-size: 14px;
    letter-spacing: -0.14em;
    line-height: 1.8571428571;
  }
}

/*life
===================================== */
.trouble {
  background: linear-gradient(to bottom, #567f9a, #d4cfc9);
  padding: 76px 0 29px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .trouble {
    padding: 43px 0 16px;
  }
}
.trouble::after {
  content: "";
  background: url(../img/triabgle.png) no-repeat center center/contain;
  width: 67.0138888889%;
  height: 244px;
  position: absolute;
  bottom: -160px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .trouble::after {
    bottom: -119px;
  }
}
@media screen and (max-width: 767px) {
  .trouble::after {
    bottom: -118px;
    width: 80%;
  }
}

.trouble__title {
  color: #ffffff;
  font-size: 48px;
  line-height: 1.2916666667;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .trouble__title {
    font-size: 22px;
    line-height: 1.2727272727;
  }
}

.trouble__img {
  width: 81%;
  margin: 16px auto;
}
@media screen and (max-width: 767px) {
  .trouble__img {
    margin-top: 0;
    width: 100%;
  }
}

/*become
===================================== */
.become {
  padding: 210px 0 50px;
}
@media screen and (max-width: 767px) {
  .become {
    padding: 69px 0 47px;
  }
}

.become__title {
  text-align: center;
}
.become__title::after {
  bottom: -37px;
  width: 65%;
  height: 50px;
  background: url(../img/become-title-underline.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .become__title::after {
    bottom: -30px;
  }
}

.become__wrap {
  max-width: 1240px;
  margin: 0 auto;
}

.become__items {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .become__items {
    display: block;
    margin: 49px auto;
    max-width: 450px;
  }
}

.become__item {
  flex: 0 1 374px;
}
.become__item:not(:first-child) {
  margin-left: 3.4722222222%;
}
@media screen and (max-width: 767px) {
  .become__item:not(:first-child) {
    margin-left: 0;
    margin-top: 54px;
  }
}

.become__item-img {
  text-align: center;
}
.become__item-img img {
  width: 69%;
}
@media screen and (max-width: 767px) {
  .become__item-img img {
    width: 41.7910447761%;
  }
}

.become__item-title {
  font-size: 24px;
  margin-top: 46px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .become__item-title {
    margin-top: 12px;
    font-size: 20px;
  }
}

.become__item-text {
  margin-top: 30px;
  line-height: 1.5625;
}
@media screen and (max-width: 767px) {
  .become__item-text {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.2142857143;
  }
}

/*experience
===================================== */
.experience {
  padding: 59px 0 62px;
  background: linear-gradient(to left, #f28e26, #fd543d);
}
@media screen and (max-width: 767px) {
  .experience {
    padding: 46px 0;
  }
}

.experience__title {
  text-align: center;
  color: #ffffff;
  font-size: 40px;
}
@media screen and (max-width: 767px) {
  .experience__title {
    font-size: 22px;
    line-height: 1.3636363636;
  }
}
.experience__title span {
  font-size: 55px;
}
@media screen and (max-width: 767px) {
  .experience__title span {
    font-size: 30px;
  }
}

.experience__text {
  text-align: center;
  color: #ffffff;
  font-size: 28px;
  margin-top: 30px;
  font-family: "shippori-mincho", sans-serif;
}
@media screen and (max-width: 767px) {
  .experience__text {
    font-size: 14px;
    margin-top: 1px;
  }
}

.experience__contact {
  display: flex;
  justify-content: space-between;
  background: #ffffff;
  padding: 39px 45px;
  max-width: 1400px;
  margin: 42px auto 0;
}
@media screen and (max-width: 767px) {
  .experience__contact {
    display: block;
    padding: 17px 24px 20px;
    margin: 51px auto 0;
  }
}

.experience-line {
  flex: 0 1 642px;
}

.experience-tel {
  flex: 0 1 642px;
  margin-left: 26px;
}
@media screen and (max-width: 767px) {
  .experience-tel {
    margin-left: 0;
    margin-top: 14px;
  }
}

/*about
===================================== */
.about {
  padding: 84px 0 0;
}
@media screen and (max-width: 767px) {
  .about {
    padding: 47px 0 0;
  }
}

.about__title {
  text-align: center;
}
.about__title::after {
  bottom: -33px;
  width: 88%;
  height: 50px;
  background: url(../img/about-under-line.png) no-repeat center center/contain;
}

.about__items {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .about__items {
    margin-top: 49px;
  }
}

.about__item {
  display: flex;
}

.about__item-reverse {
  flex-direction: row-reverse;
}

.about__item-content {
  flex: 1 1 474px;
}
@media screen and (max-width: 767px) {
  .about__item-content {
    flex: 1 1 143px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .about__item-content {
    flex: 1 1 474px;
  }
}

.about__item-number {
  width: 23.2067510549%;
  margin: 16.3% auto 0;
}
@media screen and (max-width: 767px) {
  .about__item-number {
    margin: 14px auto 0;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .about__item-number {
    margin: 24.3% auto 0;
  }
}

.about__item-text {
  font-size: 38px;
  text-align: center;
  margin-top: 29px;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .about__item-text {
    font-size: 24px;
    margin-top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .about__item-text {
    font-size: 14px;
    line-height: 1.2857142857;
    margin-top: 10px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .about__item-text {
    font-size: 16px;
    margin-top: 10px;
  }
}

.about__item-img {
  flex: 1 1 926px;
}
@media screen and (max-width: 767px) {
  .about__item-img {
    flex: 1 1 232px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .about__item-img {
    flex: 1 1 966px;
  }
}

/*voice
===================================== */
.voice {
  padding: 166px 0 146px;
}
@media screen and (max-width: 767px) {
  .voice {
    padding: 69px 0 86px;
  }
}

.voice__title {
  text-align: center;
}
.voice__title::after {
  bottom: -50px;
  width: 45%;
  height: 50px;
  background: url(../img/voice-under-line.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .voice__title::after {
    bottom: -29px;
    width: 79%;
  }
}

.voice__wrap {
  max-width: 1140px;
  margin: 92px auto 0;
}
@media screen and (max-width: 767px) {
  .voice__wrap {
    margin: 53px auto 0;
  }
}

.voice__item {
  display: flex;
  align-items: center;
}
.voice__item:not(:first-child) {
  margin-top: 35px;
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .voice__item:not(:first-child) {
    margin-top: 20px;
  }
}

.voice__item-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .voice__item-reverse {
    flex-direction: row;
  }
}

.voice__item-img {
  flex: 0 1 208px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice__item-img {
    flex: 0 1 92px;
  }
}
@media screen and (max-width: 375px) {
  .voice__item-img {
    flex: 0 1 60px;
  }
}
.voice__item-img figcaption {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .voice__item-img figcaption {
    font-size: 10px;
  }
}

.voice__item-img-second img {
  width: 74%;
}

.voice__item-content-first {
  flex: 0 1 738px;
  position: relative;
  margin-left: 8.1578947368%;
}
@media screen and (max-width: 767px) {
  .voice__item-content-first {
    margin-left: 0;
    flex: 1 1 267px;
  }
}

.voice__item-text-first {
  position: absolute;
  font-size: 23px;
  line-height: 1.6956521739;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68.5636856369%;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice__item-text-first {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-text-first {
    font-size: 12px;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .voice__item-text-first {
    font-size: 16px;
  }
}

.voice__item-content-second {
  flex: 0 1 838px;
  position: relative;
  margin-right: 8.1578947368%;
}
@media screen and (max-width: 767px) {
  .voice__item-content-second {
    margin-right: 0;
    flex: 1 1 267px;
  }
}

.voice__item-text-second {
  position: absolute;
  font-size: 23px;
  line-height: 1.6956521739;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64.3198090692%;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice__item-text-second {
    width: 90%;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-text-second {
    font-size: 12px;
    letter-spacing: -0.18em;
    width: 80%;
    line-height: 1.4166666667;
    left: 50%;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .voice__item-text-second {
    font-size: 16px;
    letter-spacing: normal;
    width: 75%;
  }
}
@media screen and (max-width: 375px) {
  .voice__item-text-second {
    width: 81%;
    padding: 0 0 0 10px;
  }
}

.voice__item-content-third {
  flex: 0 1 905px;
  position: relative;
  margin-left: 1.5789473684%;
}
@media screen and (max-width: 767px) {
  .voice__item-content-third {
    margin-left: 0;
    flex: 1 1 267px;
  }
}

.voice__item-text-third {
  position: absolute;
  font-size: 23px;
  line-height: 1.6956521739;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 81.3259668508%;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice__item-text-third {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .voice__item-text-third {
    font-size: 12px;
    letter-spacing: -0.18em;
    width: 88%;
    line-height: 1.4166666667;
    left: 55%;
  }
}
@media screen and (min-width: 510px) and (max-width: 767px) {
  .voice__item-text-third {
    font-size: 16px;
    letter-spacing: normal;
  }
}

/*curriculum
===================================== */
.curriculum {
  padding: 46px 0 26px;
  background: #ff4d1d;
}
@media screen and (max-width: 767px) {
  .curriculum {
    padding: 36px 0 53px;
  }
}

.curriculum__title {
  color: #ffffff;
  font-size: 48px;
  font-family: "shippori-mincho", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .curriculum__title {
    font-size: 22px;
  }
}

.curriculum__items {
  max-width: 1200px;
  margin: 51px auto 0;
}
@media screen and (max-width: 767px) {
  .curriculum__items {
    margin: 34px auto 0;
    max-width: 450px;
  }
}

.curriculum__item {
  background: #ffffff;
  padding: 127px 0 28px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .curriculum__item {
    padding: 127px 10px 28px;
  }
}
@media screen and (max-width: 767px) {
  .curriculum__item {
    padding: 87px 0 26px 11px;
  }
}
.curriculum__item:not(:first-child) {
  margin-top: 68px;
}
@media screen and (max-width: 767px) {
  .curriculum__item:not(:first-child) {
    margin-top: 55px;
  }
}
.curriculum__item:nth-child(2n)::after {
  content: "";
  background: url(../img/course-fukidashi.png) no-repeat center center/contain;
  width: 219px;
  height: 100px;
  position: absolute;
  top: -44px;
  left: 341px;
}
@media screen and (max-width: 767px) {
  .curriculum__item:nth-child(2n)::after {
    left: 255px;
    width: 90px;
    top: -56px;
    background: url(../img/course-fukidashi-sp.png) no-repeat center center/contain;
  }
}

.curriculum__item-last {
  position: relative;
}
.curriculum__item-last::before {
  position: absolute;
  content: "";
  background: url(../img/arrow.png) no-repeat center center/contain;
  bottom: -175px;
  left: -43px;
  width: 159px;
  height: 304px;
}
@media screen and (max-width: 767px) {
  .curriculum__item-last::before {
    width: 54px;
    height: 111px;
    left: -12px;
    bottom: -50px;
  }
}

.curriculum__item-title {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  background: #ff8431;
  display: inline-block;
  width: 448px;
  height: 62px;
  text-align: center;
  line-height: 62px;
  position: absolute;
  top: 14px;
  left: -60px;
}
@media screen and (max-width: 767px) {
  .curriculum__item-title {
    font-size: 16px;
    width: 329px;
    height: 30px;
    line-height: 30px;
    top: 10px;
    left: -20px;
  }
}

.curriculum__content-wrap {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .curriculum__content-wrap {
    justify-content: start;
  }
}
@media screen and (max-width: 767px) {
  .curriculum__content-wrap {
    display: block;
  }
}

.curriculum__content-wrap-last {
  justify-content: space-between;
  margin: 0 60px;
}
@media screen and (max-width: 767px) {
  .curriculum__content-wrap-last {
    margin: 0;
  }
}

.curriculum__content {
  position: relative;
}

.curriculum__content-title {
  background: #ff8431;
  border-radius: 15px;
  color: #ffffff;
  font-size: 18px;
  position: absolute;
  top: -33px;
  left: 19px;
  padding: 3px 35px;
}
@media screen and (max-width: 767px) {
  .curriculum__content-title {
    font-size: 14px;
    border-radius: 4px;
    padding: 0 14px;
    top: -26px;
    left: 9px;
  }
}

.curriculum__content-item {
  font-size: 17px;
  line-height: 2.0588235294;
}
@media screen and (max-width: 767px) {
  .curriculum__content-item {
    font-size: 12px;
    line-height: 1.5833333333;
    margin-left: 2px;
  }
}

.curriculum__class {
  display: flex;
  position: relative;
  margin-left: 31px;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .curriculum__class {
    margin-left: 50px;
  }
}
@media screen and (max-width: 767px) {
  .curriculum__class {
    display: block;
    margin-left: 0;
    margin-top: 47px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .curriculum__class {
    display: block;
  }
}

.curriculum__class-title {
  background: #ff8431;
  border-radius: 15px;
  color: #ffffff;
  font-size: 18px;
  position: absolute;
  top: -33px;
  left: 0;
  padding: 3px 35px;
}
@media screen and (max-width: 767px) {
  .curriculum__class-title {
    font-size: 14px;
    border-radius: 4px;
    padding: 0 14px;
    top: -30px;
    left: 12px;
  }
}

.curriculum__class-items:not(:first-child) {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .curriculum__class-items:not(:first-child) {
    margin-left: 0;
  }
}

.curriculum__class-item {
  font-size: 17px;
  line-height: 2.0588235294;
}
@media screen and (max-width: 767px) {
  .curriculum__class-item {
    font-size: 12px;
    line-height: 1.5833333333;
  }
}

.curriculum__footer {
  margin-top: 74px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .curriculum__footer {
    margin-top: 34px;
  }
}

.curriculum__footer-title {
  text-align: center;
  font-size: 35px;
  color: #ffffff;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .curriculum__footer-title {
    font-size: 16px;
    font-weight: 700;
  }
}
.curriculum__footer-title::after {
  position: absolute;
  content: "";
  background: url(../img/course-title-underl-ine.png) no-repeat center center/cover;
  width: 147%;
  height: 50px;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .curriculum__footer-title::after {
    background: url(../img/course-title-under-line-sp.png) no-repeat center center/cover;
    height: 17px;
    bottom: -20px;
  }
}

.curriculum__footer-text-wrap {
  font-size: 30px;
  color: #ffffff;
  max-width: 1200px;
  margin: 81px auto;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .curriculum__footer-text-wrap {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .curriculum__footer-text-wrap {
    font-size: 12px;
    margin: 40px auto 0;
    max-width: 380px;
  }
}

.curriculum__footer-text {
  position: relative;
  display: inline-block;
}
.curriculum__footer-text::after {
  position: absolute;
  content: "";
  background: url(../img/course-under-line.png) no-repeat center center/cover;
  width: 100%;
  height: 5px;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}
.curriculum__footer-text:not(:first-child) {
  padding-top: 7px;
}

.sp {
  display: inline-block;
}
@media screen and (min-width: 1280px) {
  .sp {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sp {
    display: none;
  }
}

.pc {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

/*course
===================================== */
.course {
  padding: 188px 0 181px;
}
@media screen and (max-width: 767px) {
  .course {
    padding: 40px 0;
  }
}

.course-table__inner {
  max-width: 1075px;
  margin: 0 auto;
}

.course-table__headers {
  background: #ff4d1d;
}

.course-table__header-content {
  color: #ffffff;
  font-size: 35px;
  font-weight: 700;
  text-align: center;
  padding: 30px 0;
  width: 807px;
}
@media screen and (max-width: 767px) {
  .course-table__header-content {
    font-size: 20px;
    padding: 6px;
  }
}

.course-table__header-price {
  color: #ffffff;
  font-size: 35px;
  font-weight: 700;
  text-align: center;
  padding: 30px 0;
  width: 262px;
  border-left: 1px solid #ffffff;
}
@media screen and (max-width: 767px) {
  .course-table__header-price {
    font-size: 20px;
    padding: 6px;
  }
}

.course-table__inner {
  border: 1px solid #ff4d1d;
  border-collapse: collapse;
}

.course-table__text {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  position: relative;
  padding: 12px 0;
  border-bottom: 1px solid #ff4d1d;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .course-table__text {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .course-table__text {
    font-size: 18px;
    line-height: 1.1111111111;
    padding: 9px;
  }
}
.course-table__text span {
  font-size: 28px;
  display: block;
  font-weight: 400;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .course-table__text span {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .course-table__text span {
    font-size: 10px;
  }
}
.course-table__text::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: -19px;
  background: url(../img/course-arrow.png) no-repeat center center/contain;
  width: 26px;
  height: 52px;
}
@media screen and (max-width: 767px) {
  .course-table__text::after {
    width: 12px;
    height: 23px;
    right: -10px;
  }
}

.course-table__price {
  text-align: center;
  font-size: 45px;
  font-weight: 500;
  border-bottom: 1px solid #ff4d1d;
}
@media screen and (max-width: 767px) {
  .course-table__price {
    font-size: 22px;
  }
}
.course-table__price span {
  font-size: 35px;
}
@media screen and (max-width: 767px) {
  .course-table__price span {
    font-size: 17px;
  }
}

/*profile
===================================== */
.profile {
  padding: 89px 0 0;
}
@media screen and (max-width: 767px) {
  .profile {
    padding: 72px 0 0;
  }
}

.profile__head {
  text-align: center;
  padding-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .profile__head {
    padding-bottom: 22px;
  }
}

.profile__title::after {
  bottom: -50px;
  width: 45%;
  height: 50px;
  background: url(../img/profile-under-line.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .profile__title::after {
    bottom: -30px;
  }
}

.profile__img {
  width: 409px;
  margin: 61px auto 0;
}
@media screen and (max-width: 767px) {
  .profile__img {
    width: 56.7164179104%;
    margin: 46px auto 0;
  }
}

.profile-position {
  margin-top: 47px;
  font-size: 30px;
  font-family: "shippori-mincho", sans-serif;
}
@media screen and (max-width: 767px) {
  .profile-position {
    font-size: 16px;
    margin-top: 37px;
  }
}

.profile-name {
  font-family: "shippori-mincho", sans-serif;
  font-size: 43px;
}
@media screen and (max-width: 767px) {
  .profile-name {
    font-size: 23px;
  }
}
.profile-name span {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .profile-name span {
    font-size: 12px;
  }
}

.profile__body {
  background: url(../img/profile-bg.jpg) no-repeat center center/cover;
  position: relative;
  padding: 57px 0 48px;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .profile__body {
    background: url(../img/profile-bg-sp.jpg) no-repeat center center/cover;
    padding: 21px 0;
  }
}

.profile__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #6c6c6c;
  opacity: 0.6;
  z-index: -1;
}

.profile__content {
  margin-left: 14.5833333333%;
  margin-right: 9.7222222222%;
}
@media screen and (max-width: 767px) {
  .profile__content {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.profile__text {
  font-size: 20px;
  color: #ffffff;
  line-height: 1.75;
  font-family: "shippori-mincho", sans-serif;
  text-shadow: 5px 5px 6px rgba(43, 43, 43, 0.8);
}
@media screen and (max-width: 767px) {
  .profile__text {
    font-size: 12px;
    line-height: 1.5833333333;
  }
}
.profile__text:not(:first-child) {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .profile__text:not(:first-child) {
    margin-top: 21px;
  }
}

.profile__annotation-wrap {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .profile__annotation-wrap {
    margin-top: 4px;
  }
}

.profile__annotation {
  font-size: 20px;
  color: #ffffff;
  line-height: 1.75;
  font-family: "shippori-mincho", sans-serif;
  text-shadow: 5px 5px 6px rgba(43, 43, 43, 0.8);
}
@media screen and (max-width: 767px) {
  .profile__annotation {
    font-size: 9px;
    line-height: 1.2222222222;
  }
}

/*secondーabout
===================================== */
.secondーabout {
  padding: 280px 0 275px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .secondーabout {
    padding: 114px 0 47px;
  }
}

.secondーabout__title {
  text-align: center;
  text-shadow: 2px 2px 0 #ffffff, -2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px -2px 0 #ffffff;
}
.secondーabout__title::after {
  bottom: -42px;
  width: 45%;
  height: 50px;
  background: url(../img/second-about-under-line.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .secondーabout__title::after {
    bottom: -29px;
    width: 66%;
  }
}

.secondーabout__content {
  text-align: center;
  margin-top: 144px;
}
@media screen and (max-width: 767px) {
  .secondーabout__content {
    margin-top: 23px;
  }
}

.secondーabout__text {
  font-size: 19px;
  line-height: 2.2105263158;
  text-shadow: 2px 2px 0 #ffffff, -2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px -2px 0 #ffffff;
}
@media screen and (max-width: 767px) {
  .secondーabout__text {
    font-size: 13px;
    line-height: 1.5384615385;
    letter-spacing: -0.08em;
  }
}
.secondーabout__text:not(:first-child) {
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .secondーabout__text:not(:first-child) {
    margin-top: 20px;
  }
}

.second-about-top__bg {
  width: 31.9444444444%;
  position: absolute;
  top: 9%;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .second-about-top__bg {
    top: 4%;
  }
}

.second-about-middle__bg {
  width: 27.0833333333%;
  position: absolute;
  top: 55%;
  right: 0;
  transform: translateY(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .second-about-middle__bg {
    top: 45%;
  }
}

.second-about-bottom__bg {
  width: 26.3888888889%;
  position: absolute;
  bottom: 114px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .second-about-bottom__bg {
    left: -10px;
  }
}

/*access
===================================== */
.access {
  padding: 69px 0 21px;
  background: linear-gradient(180deg, #ff4d1d 0%, #ff4d1d 36%, #ffffff 36%, #ffffff 74%, #ff4d1d 74%, #ff4d1d 100%);
}
@media screen and (max-width: 767px) {
  .access {
    padding: 13px 0 6px;
  }
}

.access__title {
  color: #ffffff;
  text-align: center;
}
.access__title::after {
  bottom: -30px;
  width: 45%;
  height: 40px;
  background: url(../img/access-under-line.png) no-repeat center center/contain;
}

.access__img {
  max-width: 729px;
  margin: 90px auto 0;
}
@media screen and (max-width: 767px) {
  .access__img {
    margin: 17px auto 0;
    width: 78.9333333333%;
  }
}

.access__content {
  text-align: center;
}

.access__address {
  font-size: 30px;
  color: #ffffff;
  margin-top: 59px;
}
@media screen and (max-width: 767px) {
  .access__address {
    font-size: 13px;
    margin-top: 22px;
  }
}

.access__tel {
  font-size: 30px;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .access__tel {
    font-size: 13px;
  }
}

.access__walk-wrap {
  margin-top: 34px;
  font-size: 23px;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .access__walk-wrap {
    font-size: 10px;
    margin-top: 9px;
  }
}