html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "Noto Sans JP", sans-serif;
  font-size: 1.4em;
  color: #515151;
}

.kosugi-maru-regular {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 800;
  font-style: normal;
}

a:link,
a:visited,
a:active {
  color: #fff;
}

.kaisai a:link,
.kaisai a:visited,
.kaisai a:active {
  color: #ffd900;
}

.reservation a:link,
.reservation a:visited,
.reservation a:active {
  color: #ffa600;
}

.reservation_thanks a:link,
.reservation_thanks a:visited,
.reservation_thanks a:active {
  color: #ffa600;
}

a:hover {
  opacity: 0.6;
}

/* header */

.header_inner {
  background: #f0111b;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.header_logo_M {
  height: 60px;
  padding-right: 50px;
}

.header_logo_L {
  width: 300px;
}
.header_logo {
  text-align: center;
  margin: 10px auto;
}

.header_main {
  text-align: center;
  margin: 120px auto 40px;
}

/* 共通クラス */
.inner {
  padding: 0 40px;
}

.section_hedding {
  text-align: center;
}

.section_hedding_main {
  color: #f0111b;
  font-size: 1.6em;
  line-height: 1.2;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 800;
  display: block;
}

.section_hedding_main_w {
  color: #fff;
  font-size: 1.5em;
  line-height: 1.2;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 800;
  display: block;
}

.section_hedding_sub {
  color: #f0111b;
  font-size: 1.2em;
  display: block;
}

/* カットに自信がないあなたへ */

.first_contents {
  margin-top: 20px;
  text-align: center;
}

.first_text {
  line-height: 1.6;
}

.first_text + .first_text {
  margin-top: 16px;
}

/* 美容師人生を変える3つの選べる受講スタイル */

.style {
  margin-top: 40px;
  margin-bottom: 40px;
}

.style_contents {
  margin-top: 16px;
}

.syele_items {
  background-color: #f0111b;
  color: #fff;
  font-size: 1.8em;
  line-height: 1.2;
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 800;
  text-align: center;
  padding: 10px;
}

.syele_items + .syele_items {
  margin-top: 8px;
}

.style_text {
  margin-top: 16px;
  line-height: 1.6;
  text-align: center;
}

/* こんな悩み、ありませんか？ */

.nayami {
  background: #f0111b;
  padding-top: 40px;
}

.nayami_contents {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  margin-top: 20px;
}

.nayami_items + .nayami_items {
  margin-top: 16px;
}

.nayami_text {
  color: #fff;
  text-align: center;
  margin-top: 16px;
  padding-bottom: 40px;
  line-height: 1.6;
}

/* 受講者の声 */

.voice {
  margin-top: 40px;
}

.voice_contents {
  margin-top: 24px;
}

.voice_text {
  line-height: 1.6;
}
.voice_text + .voice_text {
  margin-top: 24px;
}

/* 講師紹介 */

.teacher {
  margin: 40px auto 40px;
}

.teacher_contents {
  margin-top: 24px;
}

.teacher_text {
  line-height: 1.6;
}
.teacher_text + .teacher_text {
  margin-top: 16px;
}

/* 開催概要 */

.kaisai {
  background: #f0111b;
  padding: 40px 0 40px;
}

.kaisai_contents {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 32px;
}

.kaisai_items + .kaisai_items {
  margin-top: 16px;
}

.kaisai_text_w {
  margin-bottom: 24px;
}

.kaisai_text {
  color: #fff;
}

.kaisai_text + .kaisai_text {
  margin-top: 16px;
}

/* 最後に */

.end {
  margin: 40px auto 100px;
}

.end_contents {
  margin-top: 24px;
}

.end_text {
  line-height: 1.6;
}
.end_text + .end_text {
  margin-top: 16px;
}

/* 地図 */

.map_tokyo {
  padding-top: 60px;
  border-top: 1px solid #f0111b;
}

.map_text {
  text-align: center;
  margin: 20px auto;
}

.map_shiga {
  margin: 60px auto;
}

/* フッター */

.footer {
  background-color: #f0111b;
  text-align: center;
  padding: 8px;
  font-size: small;
  color: #fff;
}

.kaisai_items + .kaisai_items {
  margin-top: 16px;
}

.kaisai_text {
  color: #fff;
  margin-top: 16px;
  line-height: 1.6;
}

.kaisai_text_w {
  margin-bottom: 24px;
}

#pagetop {
  display: inline-block;
  position: fixed;
  bottom: 0;
  right: 0;
}
#pagetop a {
  padding: 10px;
  display: block;
}

/* フォーム関連 */

.reservation {
  padding-top: 120px;
}

.reservation_contents {
  margin-top: 24px;
}

.reservation_thanks .section_hedding_sub {
  margin-top: 20px;
  margin-bottom: 40px;
  font-size: 1em;
}

.reservation_text + .reservation_text {
  margin-top: 16px;
  line-height: 2;
}

.reservation_form {
  text-align: center;
  margin: 24px auto 50px;
  padding: 30px 16px 30px;
  background: #fff9db;
}
.reservation_form p {
  border-bottom: 1px solid #c5ad89;
  padding: 30px 0 10px;
}

.reservation_error,
.reservation_thanks {
  padding-top: 120px;
  padding-bottom: 40px;
}

.reservation_error .section_hedding_main {
  margin-bottom: 40px;
}
.reservation_error .section_hedding_main {
  font-size: 1.2em;
}

p.noneBL {
  border: none;
  margin: 0px;
  padding-bottom: 20px;
}

.formB {
  　border: solid 1px #ccc;
  margin: 10px 20px;
  padding: 10px 20px;
  font-size: 1.1em;
  text-transform: uppercase;
  font-weight: bold;
  cursor: pointer;
}
.formTX {
  border: 0;
  padding: 10px;
  font-size: 1.1em;
  border: solid 1px #ccc;
  margin: 0 0 20px;
}
.formSB {
  border: 0;
  padding: 10px;
  font-size: 1.1em;
  border: solid 1px #ccc;
  margin: 0 0 20px;
}
.formRD {
  padding: 10px;
  font-size: 1.1em;
  margin: 0 0 20px;
}
.formTXctr {
  border: 0;
  padding: 10px;
  font-size: 1.1em;
  border: solid 1px #ccc;
  margin: 0 0 20px;
}

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

  .formTX {
    width: 80%;
  }
  .formTXctr {
    width: 90% !important;
  }
}

/* タブレット・PC */

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

  body {
    font-size: 1.8em;
  }

  .header_inner {
    padding: 0 40px;
    margin: 0 auto;
  }

  .inner {
    max-width: 1080px;
    padding: 0 40px;
    margin: 0 auto;
  }
  .section_hedding_main {
    font-size: 40px;
  }

  /* カットに自信がないあなたへ */

  .first {
    margin-top: 80px;
  }

  /* 美容師人生を変える */

  .style {
    margin-top: 80px;
  }

  .style_list {
    display: flex;
    align-items: stretch; /* liの高さを最大に揃える（デフォルト） */
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 1rem;
  }

  .syele_items {
    display: flex;
    align-items: center; /* 中身の縦位置を中央に */
    justify-content: center; /* 中身の横位置も中央にしたい場合 */
    padding: 1rem;
    flex: 1; /* 幅を均等にしたいとき */
  }

  .syele_items + .syele_items {
    margin-top: 0;
  }

  .nayami_contents {
    margin: 20px auto 0; /* センター揃え */
  }

  .nayami_list_inner {
    width: fit-content;
    margin: 0 auto;
  }

  .voice_contents {
    width: 600px;
    margin: 0 auto; /* センター揃え */
  }

  .teacher_contents {
    width: 600px;
    margin: 0 auto; /* センター揃え */
  }

  .end_contents {
    text-align: center;
  }

  /* ここまで */
}
