@charset "UTF-8";

/*全体*/

* {
  margin: 0;
  padding: 0;
  font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', '游ゴシック体', YuGothic, '游ゴシック Medium', "Yu Gothic Medium", '游ゴシック', 'Yu Gothic', sans-serif, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
  line-height: 1.5;
  font-feature-settings: "palt";
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

/*ページ内リンク*/

#service,
#price,
#flow,
#work,
#faq,
#company {
  scroll-margin-top: 120px;
}

a {
  cursor: pointer;
}

/*文字サイズ*/
h1 {
  font-weight: bold;
  font-size: 40px;
  color: #090707;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
}

h2 {
  font-weight: bold;
  font-size: 40px;
  color: #090707;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
}

h3 {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
}

p {
  letter-spacing: 0.05em;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 1300px) {
  h1 {
    font-size: 25px;
  }

  h2 {
    font-size: 25px;
  }

  h3 {
    font-size: 20px;
  }
}

/*タイトル文字*/
.enTitle::before {
  position: absolute;
  content: '';
  top: calc(50% - 2px);
  width: 20px;
  left: 0;
  height: 6px;
  border-top: solid 2px #27acd9;
}

.enTitle {
  margin-bottom: 10px;
  position: relative;
  display: table-cell;
  padding-left: 30px;
  font-weight: 600;
}

.jpTitle {
  margin: 10px 0 20px 0;
}

.descriptionText {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .enTitle::before {
    width: 10px;
  }

  .enTitle {
    padding-left: 15px;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定*/
.bgTriggerActive,
.bgappearActive {
  opacity: 0;
}


/*リンク*/
.blank {
  color: #090707;
  border-bottom: solid 1px #090707;
}

/*下に余白をつける*/
.marginBottom20 {
  margin-bottom: 20px;
}

/*1300px以下のみ改行*/
.sp1300 {
  display: none;
}

/*スクロールしたらふわっと*/
.scrollUp {
  transition: .8s ease-in-out;
  transform: translateY(100px);
  opacity: 0;
}

.scrollUp.on {
  transform: translateY(0);
  opacity: 1.0;
}

@media screen and (max-width: 1300px) {
  .sp1300 {
    display: block;
  }
}

/*767px以下のみ改行*/
.sp767 {
  display: none;
}

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