@charset "UTF-8";
/* --

 top.css

 ------------------------------------

-- */
@import url(https://fonts.googleapis.com/css?family=Titillium+Web:700i);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Sawarabi+Gothic);
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * layout-baseSize.....基本のコンテンツサイズ
 * layout-posMiddle....天地中央配置
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * pc..............ブレイクポイント設定（パソコンのみ）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

 ------------------------------------

 * scroll..............スクロールアイコンのスタイル
 * module-title........タイトル共通のスタイル


-- */
/* --

 keyframes - アニメーションキーフレーム集

 ------------------------------------

 * loading.............ローディングアイコンのアニメーション
 * toggle-.............ハンバーガーアイコンに関するアニメーション

-- */
@-webkit-keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}
@keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes toggle-top {
  0% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(0deg);
    transform: translateY(-8px) rotate(0deg);
  }
}
@keyframes toggle-top {
  0% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(0deg);
    transform: translateY(-8px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(0deg);
    transform: translateY(7px) rotate(0deg);
  }
}
@keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(0deg);
    transform: translateY(7px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-16px) rotate(0deg);
    transform: translateY(-16px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
}
@keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-16px) rotate(0deg);
    transform: translateY(-16px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
}
@-webkit-keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(17px) rotate(0deg);
    transform: translateY(17px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(45deg);
    transform: translateY(0px) rotate(45deg);
  }
}
@keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(17px) rotate(0deg);
    transform: translateY(17px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(45deg);
    transform: translateY(0px) rotate(45deg);
  }
}
/*-----------------------------------
$professional
-----------------------------------*/
@media screen and (max-width: 639px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 639px) {
  .sp {
    display: block;
  }
}

.sub-top-view {
  background-image: url(../images/professional/professional-top-view.jpg);
}

.lead {
  max-width: 1000px;
  margin: 0 auto;
}
.lead .lead-big {
  font-size: 55px;
  line-height: 1.55;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 80px;
  position: relative;
  font-family: a-otf-ryumin-pr6n, serif;
}
.lead .lead-big img {
  position: absolute;
  width: 41.7%;
  top: -25%;
  left: 50%;
  -webkit-transform: rotate(-7.3deg) translateX(-50%);
      -ms-transform: rotate(-7.3deg) translateX(-50%);
          transform: rotate(-7.3deg) translateX(-50%);
}
.lead .lead-small {
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 1.89;
  margin-top: 35px;
  font-family: "Sawarabi Gothic", sans-serif;
}

.feature {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 48px;
}
.feature .feature-box--a,
.feature .feature-box--b {
  width: 100%;
  position: relative;
  margin-top: 80px;
}
.feature .feature-box--a:first-of-type,
.feature .feature-box--b:first-of-type {
  margin-top: 0;
}
.feature .feature-box--a .bnr,
.feature .feature-box--b .bnr {
  width: 100%;
}
.feature .feature-box--a .tt-img,
.feature .feature-box--b .tt-img {
  position: absolute;
  max-width: 100%;
  left: -3.8rem;
  top: 30%;
}
.feature .feature-box--a .tt-txt,
.feature .feature-box--b .tt-txt {
  position: absolute;
  top: 11rem;
  left: -1.6rem;
  display: inline-block;
  background: -o-linear-gradient(315deg, #a64d99 0%, #a24f9b 0.94%, #7766ae 12.4%, #5379be 24.44%, #3589cc 36.96%, #1d95d6 50.12%, #0d9edd 64.18%, #03a3e2 79.78%, #00a5e3 100%);
  background: linear-gradient(135deg, #a64d99 0%, #a24f9b 0.94%, #7766ae 12.4%, #5379be 24.44%, #3589cc 36.96%, #1d95d6 50.12%, #0d9edd 64.18%, #03a3e2 79.78%, #00a5e3 100%);
  font-size: 43px;
  font-weight: bold;
  color: #fff;
  line-height: 70px;
  padding: 0 20px;
  font-family: a-otf-ryumin-pr6n, serif;
}
.feature .feature-box__txt {
  margin-top: 40px;
  font-family: "Sawarabi Gothic", sans-serif;
}
.feature .feature-box__txt p {
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}
.feature .feature-box--b .tt-img {
  left: initial;
  right: -6.8rem;
  top: 28%;
}
.feature .feature-box--b .tt-txt {
  left: initial;
  right: -1.6rem;
  top: 11rem;
}

.day {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 110px;
  padding-bottom: 170px;
}
.day h2 {
  width: 460px;
}
.day h2 img {
  width: 100%;
  margin-left: -2rem;
}
.day h3 {
  display: inline-block;
  width: 560px;
  background-color: #00A5E3;
  color: #fff;
  font-size: 36px;
  line-height: 50px;
  padding-left: 10px;
  font-family: a-otf-ryumin-pr6n, serif;
  margin-top: 30px;
  margin-bottom: 0;
}
.day dl dt {
  display: inline-block;
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  padding-left: 38px;
  padding-bottom: 9px;
  border-bottom: 2px solid #00A5E3;
  position: relative;
  margin-top: 34px;
  font-family: a-otf-ryumin-pr6n, serif;
}
.day dl dt:first-of-type {
  margin-top: 20px;
}
.day dl dt::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background-color: #00A5E3;
  top: 50%;
  left: 3px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.day dl dd {
  font-size: 18px;
  letter-spacing: 0.02em;
  margin-top: 14px;
  font-family: "Sawarabi Gothic", sans-serif;
}

@media screen and (min-width: 640px) {
  #shine,
#founded,
#edycation {
    padding-top: 12.6rem;
    margin-top: -4.6rem;
  }

  #shine {
    margin-top: -1.6rem;
  }
}
/*-----------------------------------

	$index - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .lead {
    width: 90%;
    margin: 0 auto;
  }
  .lead .lead-big {
    font-size: 36px;
  }

  .feature {
    width: 90%;
  }
  .feature .feature-box--a .tt-img,
.feature .feature-box--b .tt-img {
    height: 38px;
    left: -2rem;
    top: 8%;
  }
  .feature .feature-box--a .tt-txt,
.feature .feature-box--b .tt-txt {
    top: -1rem;
    left: -1rem;
    font-size: 30px;
    line-height: 45px;
  }
  .feature .feature-box--b .tt-img {
    left: initial;
    right: -2rem;
    height: 27px;
    top: 8%;
  }
  .feature .feature-box--b .tt-txt {
    left: initial;
    right: -1.6rem;
  }

  .day {
    width: 90%;
    padding-top: 70px;
    padding-bottom: 130px;
  }
  .day h2 {
    width: 300px;
  }
  .day h2 img {
    width: 100%;
    margin-left: -1.5rem;
  }
  .day h3 {
    width: 400px;
    font-size: 27px;
    line-height: 1.39;
    margin-top: 30px;
    margin-bottom: 0;
  }
  .day dl dt {
    font-size: 25px;
    padding-left: 3rem;
  }
  .day dl dt::before {
    width: 16px;
    height: 16px;
    background-color: #00A5E3;
    top: 50%;
    left: 3px;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .day dl dd {
    font-size: 17px;
  }
}
/*-----------------------------------

	$index - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .lead .lead-big {
    font-size: 28px;
    letter-spacing: 0em;
  }
  .lead .lead-big img {
    top: 10%;
  }
  .lead .lead-small {
    font-size: 15px;
  }

  .feature .feature-box--a,
.feature .feature-box--b {
    position: relative;
  }
  .feature .feature-box--a .feature-box__txt > p,
.feature .feature-box--b .feature-box__txt > p {
    font-size: 15px;
  }
  .feature .feature-box--a .tt-img,
.feature .feature-box--b .tt-img {
    height: 25px;
    left: -1.2rem;
    top: 22%;
  }
  .feature .feature-box--a .tt-txt,
.feature .feature-box--b .tt-txt {
    position: static;
    text-align: center;
    display: block;
    font-size: 20px;
    line-height: 45px;
  }
  .feature .feature-box--a:first-of-type .tt-img {
    top: 13%;
  }
  .feature .feature-box--a:last-of-type .tt-img {
    height: 35px;
    top: 26%;
  }
  .feature .feature-box--b .tt-img {
    left: initial;
    right: -1.2rem;
    bottom: 0;
    height: 30px;
  }
  .feature .feature-box--b .tt-txt {
    left: initial;
    right: -1.6rem;
  }

  .day {
    padding-top: 40px;
    padding-bottom: 70px;
  }
  .day h2 {
    width: 200px;
  }
  .day h2 img {
    width: 100%;
    margin-left: -0.9rem;
  }
  .day h3 {
    width: 100%;
    font-size: 21px;
    margin-top: 10px;
  }
  .day dl dt {
    font-size: 19px;
    padding-left: 2.2rem;
  }
  .day dl dt::before {
    width: 12px;
    height: 12px;
    top: 50%;
    left: 3px;
    -webkit-transform: translateY(-70%);
        -ms-transform: translateY(-70%);
            transform: translateY(-70%);
  }
  .day dl dd {
    font-size: 15px;
  }
  .day dl dd img {
    width: 100%;
  }

  #founded,
#edycation {
    padding-top: 7rem;
    margin-top: -7rem;
  }

  #shine,
#edycation {
    padding-bottom: 8rem;
  }
}