@charset "UTF-8";
/* 共通カラーの定義*/
/* フォントweightの定義*/
html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/* noto-sans-jp-regular - latin */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp-v42-latin-regular.woff2") format("woff2");
}

/* noto-sans-jp-700 - latin */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/noto-sans-jp-v42-latin-700.woff2") format("woff2");
}

/* noto-sans-jp-900 - latin */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/noto-sans-jp-v42-latin-900.woff2") format("woff2");
}

body {
  background-color: #fff;
  color: #222222;
  font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 2;
  word-wrap: break-word;
  /* IE */
  overflow-wrap: break-word;
  /* CSS3 */
  -webkit-text-size-adjust: 100%;
  overflow: hidden;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none;
}

li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transform: .2s;
          transform: .2s;
}

a:hover {
  opacity: .8;
}

/* ==========================================================================
共通パーツ
========================================================================== */
.show--pc {
  display: block;
}

.show--sp {
  display: none;
}

.inner {
  max-width: calc(1200px + 5% * 2);
  margin: 0 auto;
  padding: 0 5%;
  width: 100%;
}

@media (max-width: 767px) {
  .inner {
    max-width: calc(500px + 5% * 2);
  }
}

.h2-ttl {
  margin-top: -150px;
  position: relative;
  z-index: 2;
}

@media (max-width: 767px) {
  .h2-ttl img {
    width: 100%;
  }
}

.bg-beige {
  background: #F7F5F0;
}

.txt-orange {
  color: #F78702;
}

/* ==========================================================================
header
========================================================================== */
.header {
  background: #fff;
  -webkit-filter: drop-shadow(0px 3px 20px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0px 3px 20px rgba(0, 0, 0, 0.16));
  height: 80px;
  position: fixed;
  width: 100%;
  z-index: 9999;
}

@media (max-width: 767px) {
  .header {
    height: 50px;
  }
}

.header-inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 40px;
  width: 100%;
}

@media (max-width: 767px) {
  .header-inner {
    max-height: 50px;
    padding: 15px 20px;
  }
}

.logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .logo img {
    max-width: 125px;
  }
}

.header-right {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  width: 100%;
}

.header-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .header-btn img {
    max-width: 125px;
  }
}

/* ==========================================================================
mv
========================================================================== */
.mv {
  margin-top: 80px;
  position: relative;
}

@media (max-width: 767px) {
  .mv {
    margin-top: 50px;
  }
  .mv img {
    width: 100%;
  }
}

.mv .cta-btn {
  bottom: 18%;
  left: 11%;
  position: absolute;
  z-index: 3;
}

@media (max-width: 1920px) {
  .mv .cta-btn {
    width: 34.89vw;
  }
}

@media (max-width: 767px) {
  .mv .cta-btn {
    bottom: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
  }
}

/* ==========================================================================
achievement
========================================================================== */
.achievement .h2-ttl {
  margin-top: -7.81%;
}

.achievement-company {
  margin-top: 50px;
}

.achievement .bg-beige {
  margin-top: 50px;
  padding-bottom: 10.41%;
  padding-top: 80px;
}

@media (max-width: 767px) {
  .achievement .bg-beige {
    margin-top: 25px;
    padding-bottom: 100px;
    padding-top: 40px;
  }
}

@media screen and (max-width: 499px) {
  .achievement .bg-beige {
    padding-bottom: 20%;
  }
}

.achievement-box:not(:first-child) {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .achievement-box:not(:first-child) {
    margin-top: 25px;
  }
}

/* ==========================================================================
cta
========================================================================== */
.cta {
  background: -webkit-gradient(linear, left top, right top, from(#fafafa), color-stop(0.49%, #f5f5f5), color-stop(44.94%, #f5f5f5), to(#e6f5ff));
  background: linear-gradient(to right, #fafafa 0%, #f5f5f5 0.49%, #f5f5f5 44.94%, #e6f5ff 100%);
  padding: 350px 0 250px;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .cta {
    padding: 300px 0 200px;
  }
}

@media (max-width: 767px) {
  .cta {
    padding: 200px 0 150px;
  }
}

.cta::before {
  background: url(../img/cta-bg.svg) no-repeat center center/cover;
  content: '';
  height: 477px;
  position: absolute;
  top: -200px;
  width: 100%;
  z-index: 1;
}

@media (max-width: 767px) {
  .cta::before {
    background: url(../img/cta-bg-sp.svg) no-repeat center center/cover;
    height: 266px;
    top: -100px;
  }
}

.cta .cta-btn {
  display: block;
  text-align: center;
  margin: 0 auto;
  width: 80%;
}

@media (max-width: 767px) {
  .cta .cta-btn {
    width: 100%;
  }
}

/* ==========================================================================
coaching
========================================================================== */
.coaching {
  padding-top: 50px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  .coaching {
    padding-bottom: 150px;
  }
}

@media screen and (max-width: 499px) {
  .coaching {
    padding-bottom: 35%;
  }
}

.coaching-box {
  margin-top: 50px;
  text-align: center;
}

@media (max-width: 767px) {
  .coaching-box {
    margin-top: 25px;
  }
}

.coaching-box.coaching-goal {
  margin: 50px auto 0;
  width: 39.58%;
}

@media (max-width: 767px) {
  .coaching-box.coaching-goal {
    width: 71.42%;
  }
}

/* ==========================================================================
diff
========================================================================== */
.diff {
  padding-top: 50px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  .diff {
    padding-bottom: 150px;
  }
}

@media screen and (max-width: 499px) {
  .diff {
    padding-bottom: 35%;
  }
}

@media (max-width: 767px) {
  .scroll {
    margin-top: 20px;
    overflow-x: scroll;
  }
}

.diff-box {
  text-align: center;
}

@media (max-width: 767px) {
  .diff-box {
    width: 570px;
  }
}

/* ==========================================================================
seminar
========================================================================== */
.seminar {
  padding-top: 50px;
  padding-bottom: 10.41%;
}

@media (max-width: 767px) {
  .seminar .inner {
    max-width: 100%;
    padding: 0;
  }
}

.seminar-box {
  text-align: center;
}

/* ==========================================================================
teacher
========================================================================== */
.teacher {
  padding-top: 50px;
  padding-bottom: 200px;
}

@media screen and (max-width: 499px) {
  .teacher {
    padding-bottom: 40%;
  }
}

.teacher-item {
  margin-top: 50px;
}

.teacher-item:nth-child(2n + 1) .profile-block {
  text-align: right;
}

.teacher-item:nth-child(2n + 1) .profile-content {
  margin: 0 0 0 auto;
}

@media (max-width: 767px) {
  .teacher-item:nth-child(2n + 1) .profile-content {
    margin: 10px auto 0;
  }
}

.teacher-item:nth-child(2n) {
  text-align: right;
}

.teacher-item:nth-child(2n) .profile-block {
  text-align: left;
}

@media (max-width: 767px) {
  .teacher-item:nth-child(2n) .profile-block {
    text-align: right;
  }
}

@media (max-width: 767px) {
  .teacher-item:first-child {
    margin-top: 25px;
  }
}

.profile-block {
  display: block;
  position: relative;
  top: -200px;
}

@media screen and (max-width: 1200px) {
  .profile-block {
    top: -16.66vw;
  }
}

@media (max-width: 767px) {
  .profile-block {
    line-height: 1;
    top: 0;
  }
}

.profile-btn {
  color: #F78702;
  cursor: pointer;
  display: inline-block;
  font-size: 2.8rem;
  letter-spacing: 0.09em;
  padding-right: 50px;
  position: relative;
  right: 0;
}

@media (max-width: 767px) {
  .profile-btn {
    font-size: 1.4rem;
    padding-right: 25px;
  }
}

.profile-btn::after {
  background: url(../img/profile-btn-after.svg) no-repeat center center/30px 30px;
  content: '';
  height: 30px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
}

@media (max-width: 767px) {
  .profile-btn::after {
    background: url(../img/profile-btn-after.svg) no-repeat center center/18px 18px;
    height: 18px;
    width: 18px;
  }
}

.profile-btn.is-active::after {
  background: url(../img/profile-btn-after-close.svg) no-repeat center center/30px 30px;
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}

@media (max-width: 767px) {
  .profile-btn.is-active::after {
    background: url(../img/profile-btn-after-close.svg) no-repeat center center/18px 18px;
  }
}

.profile-content {
  background: #fff;
  -webkit-box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.16);
  max-width: 77.91%;
  padding: 50px 40px;
  text-align: left;
}

@media (max-width: 767px) {
  .profile-content {
    margin-top: 10px;
    max-width: 100%;
    padding: 25px 20px;
  }
}

.profile-content p {
  font-size: 2.6rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 2;
}

@media (max-width: 767px) {
  .profile-content p {
    font-size: 1.5rem;
  }
}

.profile-content p + p {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .profile-content p + p {
    margin-top: 25px;
  }
}

/* ==========================================================================
curriculum
========================================================================== */
.curriculum {
  padding-top: 50px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  .curriculum {
    padding-bottom: 150px;
  }
}

@media screen and (max-width: 499px) {
  .curriculum {
    padding-bottom: 30%;
  }
}

.curriculum-box {
  margin-top: 50px;
  text-align: center;
}

@media (max-width: 767px) {
  .curriculum-box {
    margin-top: 25px;
  }
}

/* ==========================================================================
qa
========================================================================== */
.qa {
  padding-top: 50px;
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  .qa {
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 499px) {
  .qa {
    padding-bottom: 20%;
  }
}

.qa-box {
  background: #fff;
  border-radius: 15px;
  -webkit-box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.16);
  margin-top: 40px;
  padding: 32px 40px 40px;
}

@media (max-width: 767px) {
  .qa-box {
    margin-top: 30px;
    padding: 10px 20px 15px;
  }
}

.qa-btn {
  cursor: pointer;
  display: block;
  font-size: 3rem;
  padding-left: 60px;
  padding-right: 30px;
  position: relative;
}

@media (max-width: 767px) {
  .qa-btn {
    font-size: 1.5rem;
    padding-left: 30px;
    padding-right: 20px;
  }
}

.qa-btn::before {
  background: url(../img/qa-q.svg) no-repeat center center/37px 53px;
  content: '';
  height: 53px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 37px;
}

@media (max-width: 767px) {
  .qa-btn::before {
    background: url(../img/qa-q.svg) no-repeat center center/21px 41px;
    height: 41px;
    width: 21px;
  }
}

.qa-btn::after {
  background: url(../img/qa-btn-after.svg) no-repeat center center/30px 30px;
  content: '';
  height: 30px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
}

@media (max-width: 767px) {
  .qa-btn::after {
    background: url(../img/qa-btn-after.svg) no-repeat center center/20px 20px;
    height: 20px;
    width: 20px;
  }
}

.qa-btn.is-active::after {
  background: url(../img/qa-btn-after-close.svg) no-repeat center center/30px 30px;
  -webkit-transform: translateY(-50%) rotate(-360deg);
          transform: translateY(-50%) rotate(-360deg);
}

@media (max-width: 767px) {
  .qa-btn.is-active::after {
    background: url(../img/qa-btn-after-close.svg) no-repeat center center/20px 20px;
  }
}

.qa-content {
  font-size: 2.6rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-top: 60px;
  padding-left: 60px;
  position: relative;
}

@media (max-width: 767px) {
  .qa-content {
    font-size: 1.5rem;
    margin-top: 25px;
    padding-left: 30px;
  }
}

.qa-content::before {
  background: url(../img/qa-a.svg) no-repeat center center/37px 44px;
  content: '';
  height: 53px;
  left: 0;
  position: absolute;
  top: 15px;
  width: 37px;
}

@media (max-width: 767px) {
  .qa-content::before {
    background: url(../img/qa-a.svg) no-repeat center center/22px 21px;
    height: 21px;
    top: 8px;
    width: 22px;
  }
}

/* ==========================================================================
last-cta
========================================================================== */
.last-cta {
  padding-bottom: 100px;
  position: relative;
}

@media (max-width: 767px) {
  .last-cta {
    padding-top: 180px;
  }
}

@media screen and (max-width: 499px) {
  .last-cta {
    padding-bottom: 20%;
  }
}

.last-cta::after {
  background: url(../img/cta-traiangle.svg) no-repeat center center/cover;
  bottom: 0;
  content: '';
  height: 10%;
  position: absolute;
  right: 0;
  width: 100%;
}

@media (max-width: 767px) {
  .last-cta .cta-btn {
    margin-top: 20px;
  }
}

/* ==========================================================================
footer
========================================================================== */
.footer {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #222222;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100px;
  position: relative;
}

@media (max-width: 767px) {
  .footer {
    height: 55px;
  }
}

.footer .totop {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 9999;
}

@media (max-width: 767px) {
  .footer .totop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .footer .totop img {
    height: 40px;
    width: 40px;
  }
}

.footer .copyright {
  color: #fff;
  font-weight: 400;
  font-size: 2.2rem;
  display: inline-block;
  letter-spacing: 0.05em;
  text-align: center;
  width: 100%;
}

@media (max-width: 767px) {
  .footer .copyright {
    font-size: 1.1rem;
  }
}
