@charset "utf-8";

/*
------------------------------------------------------------------------------------------------------------
全体のCSS設定
------------------------------------------------------------------------------------------------------------
*/

body {
  background: #ffffff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Meiryo", sans-serif;
  color: #2f3a3f;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
}

html {
  scroll-behavior: smooth;
}

/*
------------------------------------------------------------------------------------------------------------
リンク（全般）設定のCSS
------------------------------------------------------------------------------------------------------------
*/

a {
  color: #555;
  /*リンクテキストの色*/
  text-decoration: none;
  /* テキストの下線の非表示 */
}

a:hover .btn {
  position: relative;
  /*要素の位置をずらす(相対関係)*/
  top: 3pt;
  /*要素の位置を下に3ptずらす*/
  left: 3pt;
  /* 要素の位置を右に3ptずらす */
}
/*
------------------------------------------------------------------------------------------------------------
コンテナー（HPを囲むブロック）のCSS
------------------------------------------------------------------------------------------------------------
*/

#container {
  width: 750px;
  /*コンテナー幅*/
  background-color: #fff;
  /*背景色設定*/
  border-left: 1px solid #ccc;
  /*左外枠の設定*/
  border-right: 1px solid #ccc;
  /*右外枠の設定*/
  text-align: center;
  margin: 0 auto;
  /*外側の余白設定*/
  overflow: hidden;
}

/*
------------------------------------------------------------------------------------------------------------
他設定
------------------------------------------------------------------------------------------------------------
*/
.cta-height {
  height: 250px;
}

.cta-height-gray {
  background-color: #F7F7F7;
  height: 270px;
}

/* =====================================
   下部固定 COURSE ナビ
===================================== */

.fixed-course-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 9999;

  display: flex;

  width: 100%;
  max-width: 750px;

  border: 2px solid #777;
  box-sizing: border-box;

  padding-bottom: env(safe-area-inset-bottom);
  background: #fff;
}

.fixed-course-nav__item {
  width: 50%;
  min-height: 100px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 10px 5px;

  color: #fff;
  text-align: center;
  text-decoration: none;

  box-sizing: border-box;

  font-family: sans-serif;
  font-weight: 700;

  transition: opacity 0.2s ease;
}

.fixed-course-nav__item:hover {
  opacity: 0.85;
}


/* 左：商談・クロージング */
.fixed-course-nav__item--red {
  background: linear-gradient(
    135deg,
    #f00b18 0%,
    #df0010 100%
  );
}


/* 右：LPファーストビュー */
.fixed-course-nav__item--blue {
  background: #062573;
}


/* 1行目 */
.fixed-course-nav__item span {
  display: block;

  font-size: 24px;
  line-height: 1.25;
  letter-spacing: 0.02em;
}


/* 2行目 */
.fixed-course-nav__item strong {
  display: block;

  margin-top: 3px;

  font-size: 22px;
  line-height: 1.25;
  font-weight: 700;
}


/* 固定バーで最下部コンテンツが隠れないようにする */
body {
  padding-bottom: 105px;
}


/* =====================================
   スマホ
===================================== */

@media screen and (max-width: 750px) {

  .fixed-course-nav {
    width: 100%;
  }

  .fixed-course-nav__item {
    min-height: 100px;
    padding: 20px 10px;
  }

  .fixed-course-nav__item span {
    font-size: clamp(28px, 6vw, 38px);
    line-height: 1.2;
    font-weight: 700;
  }

  .fixed-course-nav__item strong {
    margin-top: 10px;
    font-size: clamp(26px, 5.5vw, 34px);
    line-height: 1.2;
    font-weight: 700;
  }

  body {
    padding-bottom: calc(210px + env(safe-area-inset-bottom));
  }

}

/*
------------------------------------------------------------------------------------------------------------
フッターの設定
------------------------------------------------------------------------------------------------------------
*/
footer {
  width: 100%;
  margin: 0 auto;
  font-size: 35%;
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  color: #fff;
  position: relative;
  background-color: #393939;
  font-size: 90%;
}

footer a {
  color: #fff;
  margin: 10px 0;
  font-size: 14px;
}

footer p {
  margin: 15px 0;
}

.copy {
  color: #fff;
  font-size: 70%;
  text-align: center;
}

.copy a {
  text-decoration: underline;
  color: #ffffd0;
}


/*
------------------------------------------------------------------------------------------------------------
その他
------------------------------------------------------------------------------------------------------------
*/
.clear {
  clear: both;
}


/*
------------------------------------------------------------------------------------------------------------
魔法の言葉
------------------------------------------------------------------------------------------------------------
*/

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}