@charset "UTF-8";

/**
 * 全体で使うscss用変数
 */

body {
  font-size: 18px;
}

main {
  margin-top: 71px;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 599px) {
  main {
    margin-top: 62px;
  }
}

p,
label {
  margin-bottom: 0;
}

h2 {
  font-size: 35px;
}

@media screen and (max-width: 599px) {
  h2 {
    font-size: 8.5vw;
  }
}

.mt-30 {
  margin-top: 30px;
}

.btn {
  font-size: 16px;
  max-width: 500px;
  padding: 12px 0;
}

@media screen and (max-width: 599px) {
  .btn {
    font-size: 4.4vw;
    padding: 8px 0;
  }
}

.green_back {
  background: #4BB582;
  color: #FFF;
}

.basic {
  display: block;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.contain {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 3%;
  width: 100%;
}

.pc_body {
  max-width: 780px;
  margin: 30px auto 0;
  width: 100%;
}

.green_button {
  background-color: #4BB582;
  color: #FFF;
}

.green_button:hover {
  color: #FFF;
}

.back_gray {
  color: #FFF;
  background: #999999;
  border: 1px solid #999999;
}

.back_gray:hover {
  color: #FFF;
  opacity: 0.8;
}

.table_back {
  background: #E6E6E6;
}

.back_orenge {
  color: #FFF;
  background: #ed7d0c;
  border: 1px solid #ed7d0c;
}

.back_orenge:hover {
  color: #FFF;
  opacity: 0.8;
}

.red_button {
  background: #F93245;
  color: #FFF;
}

.red_button:hover {
  color: #FFF;
  opacity: 0.8;
}

.negative_button {
  background: #666666;
  color: #FFF;
}

.negative_button:hover {
  color: #FFF;
  opacity: 0.8;
}

.blue_back {
  background: #4069ff;
  color: #FFF;
}

.blue_back:hover {
  color: #FFF;
}

li {
  list-style: none;
}

.border_button {
  border: 1px solid #4BB582;
  color: #4BB582;
}

.border_button:hover {
  background: #4BB582;
  color: #FFF;
}

.link_text {
  color: #406AFF;
}

.phone_box {
  border: 1px solid #406AFF;
  color: #406AFF;
}

.phone_box:hover {
  color: #406AFF;
}

.color_red {
  color: #C1272D;
}

.red_text {
  color: #C1272D;
  font-weight: bold;
}

.color_pink {
  color: #ffdae2;
}

.point_color {
  color: #f7374c;
  font-weight: bold;
}

@media screen and (min-width: 960px) {
  .small_text {
    font-size: 18px;
  }
}

@media screen and (max-width: 599px) {
  .small_text {
    font-size: 4.2vw;
  }
}

.font-bold {
  font-weight: bold;
}

.card-body {
  padding: 0 1.25rem;
}

.ta-c {
  text-align: center;
}

.ta-l {
  text-align: left;
}

.login_bottom {
  margin: 40px 0 50px;
}

@media screen and (max-width: 599px) {
  .login_bottom {
    margin: 30px 0 40px;
  }
}

.new_top {
  margin-top: 40px;
}

@media screen and (max-width: 599px) {
  .new_top {
    margin-top: 30px;
  }
}

.green_bottom_title {
  border-bottom: 5px solid #4BB582;
}

@media screen and (max-width: 599px) {
  .green_bottom_title {
    font-size: 7vw;
  }
}

.green_border_title {
  border-bottom: 5px solid #4BB582;
}

@media screen and (max-width: 599px) {
  .green_border_title {
    font-size: 7vw;
  }
}

@media screen and (max-width: 599px) {
  .contact_title {
    font-size: 7vw;
  }
}

.green_step {
  color: #4BB582;
}

.green_border {
  border: 1px solid #4BB582;
  color: #4BB582;
}

.arrow_icon {
  color: #B3B3B3;
}

.arrow_icon .mypage_link:hover {
  color: #B3B3B3;
}

.no_button {
  margin-top: 130px;
}

@media screen and (max-width: 599px) {
  .no_button {
    margin-top: 60px;
  }
}

.fix_btn_m_top {
  margin-top: 260px;
}

@media screen and (max-width: 599px) {
  .fix_btn_m_top {
    margin-top: 200px;
  }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
  .inner {
    padding: 0 3%;
  }
}

@media screen and (max-width: 599px) {
  .inner_wrapper {
    padding: 0 3%;
  }
}

.footer_button {
  padding: 30px 3%;
}

@media screen and (max-width: 599px) {
  .footer_button {
    padding: 15px 3% 15px;
  }
}

@media screen and (min-width: 960px) {
  .footer_button .footer_buttons {
    width: 40%;
  }
}

@media screen and (max-width: 599px) {
  .footer_button .footer_buttons {
    width: 30%;
  }
}

.footer_button .footer_buttons .btn {
  padding: 20px 10px;
}

@media screen and (max-width: 599px) {
  .footer_button .footer_buttons .btn {
    border-radius: 0.35rem;
    padding: 10px 5px;
    display: flex !important;
    justify-content: center;
  }
}

.footer_button .footer_buttons .btn i {
  margin-right: 10px;
}

@media screen and (max-width: 599px) {
  .footer_button .footer_buttons .btn i {
    margin: auto 0;
    width: 29%;
  }
}

@media screen and (max-width: 599px) {
  .footer_button .footer_buttons .btn .button_font {
    display: block;
    font-size: 15px;
    text-align: center;
  }
}

@media screen and (max-width: 320px) {
  .footer_button .footer_buttons .btn .button_font {
    margin-left: 1px;
  }
}

@media screen and (max-width: 320px) {
  .footer_button .footer_buttons {
    margin-left: 4px;
  }
}

@media screen and (min-width: 960px) {
  .footer_button .faq_button {
    bottom: -15px;
    right: -100px;
    position: absolute;
    width: 100px;
  }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
  .footer_button .faq_button {
    bottom: -2px;
    right: 0;
    position: absolute;
    width: 60px;
  }
}

@media screen and (max-width: 599px) {
  .footer_button .faq_button {
    bottom: 10px;
    right: 10px;
    position: fixed;
    width: 80px;
  }
}

.footer_button .faq_button:hover {
  opacity: 0.8;
}

.auto {
  margin-top: auto;
}

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

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

@media screen and (min-width: 600px) and (max-width: 959px) {
  .sp_display {
    display: none;
  }
}

.register_step_image_area {
  margin-top: 30px;
}

.register_step_image_area .register_step_image {
  width: 100%;
}

.not_agree {
  background-color: gray;
  cursor: default !important;
  color: #fff;
}

.not_agree:hover {
  color: #fff;
}

.footer_inner_area {
  justify-content: space-around;
  position: relative;
}

@media screen and (min-width: 960px) {
  .footer_inner_area {
    padding: 0;
    width: 780px;
  }
}

.password_confirm {
  display: flex;
  flex-wrap: nowrap;
}

.password_confirm .input-group-prepend.password_register {
  width: 100%;
}

.password_confirm .input_password_area {
  position: relative;
  width: 100%;
}

.password_confirm .input_password_area .eye_button {
  cursor: pointer;
  position: absolute;
  right: 40px;
  top: 35%;
}

@media screen and (max-width: 599px) {
  .password_confirm .input_password_area .eye_button {
    right: 20px;
  }
}

.attention_area {
  border: 3px solid red;
  padding: 20px;
}

.select_notice_area {
  text-align: center;
}

@media screen and (min-width: 960px) {
  .select_notice_area {
    margin-top: 90px;
  }
}

@media screen and (max-width: 599px) {
  .select_notice_area {
    margin-top: 110px;
  }
}

.cancel_button_link {
  background-color: gray;
  color: #fff;
  margin: 0 auto;
}

.cancel_button_link:hover {
  color: #fff;
  opacity: 0.8;
}

.annotation {
  font-size: 14px;
}

@media screen and (max-width: 599px) {
  .annotation {
    font-size: 4vw;
  }
}

.check_area {
  display: flex;
  align-items: baseline;
}

.check_area .rule_checkbox {
  -webkit-transform: scale(1.5, 1.5);
  -webkit-appearance: auto;
  -moz-appearance: auto;
  cursor: pointer;
}

.check_area .rule_check_text {
  cursor: pointer;
  margin-left: 10px;
}

@media screen and (max-width: 599px) {
  .check_area .rule_check_text {
    font-size: 16px;
    width: 90%;
  }
}

.mt-50 {
  margin-top: 50px;
}

.page_top {
  margin-top: 70px;
}

@media screen and (max-width: 599px) {
  .page_top {
    margin-top: 80px;
  }
}

.breadcrumbs .breadcrumbs_inner {
  margin: 80px auto 0;
  max-width: 1120px;
}

@media screen and (max-width: 599px) {
  .breadcrumbs .breadcrumbs_inner {
    margin-top: 0;
  }
}

.breadcrumbs .breadcrumbs_inner .breadcrumb {
  background-color: #fff;
  display: flex;
  justify-content: flex-start;
}

@media screen and (max-width: 599px) {
  .breadcrumbs .breadcrumbs_inner .breadcrumb {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    overflow: auto;
    white-space: nowrap;
    margin-top: 10px;
  }
}

@media screen and (max-width: 599px) {
  .breadcrumbs .breadcrumbs_inner .breadcrumb .breadcrumb-item {
    display: inline;
    flex: 0 0 40%;
  }
}

.breadcrumbs .breadcrumbs_inner .breadcrumb .breadcrumb-item:before {
  content: ">";
}

.breadcrumbs .breadcrumbs_inner .breadcrumb .breadcrumb-item:first-child:before {
  content: "";
}

.breadcrumbs .after-login {
  margin-top: 10px;
}

@media screen and (max-width: 599px) {
  .breadcrumbs .after-login {
    margin-top: 0;
  }
}

.participate_button {
  border-radius: 8px;
  box-shadow: 0 0 4px gray;
  margin: 30px auto 0;
  width: 30%;
}

@media screen and (max-width: 599px) {
  .participate_button {
    width: 60%;
  }
}

.participate_button .participate_button_link {
  color: #FFF;
  display: block;
  padding: 20px;
  text-align: center;
}

.participate_button .participate_button_link:hover {
  color: #FFF;
}

.card_remained_area {
  background-color: orange;
  padding: 10px;
  text-align: center;
}

.card_remained_area.warning {
  background-color: red;
}

@media screen and (max-width: 599px) {
  .card_remained_area {
    text-align: left;
  }
}

.card_remained_area .card_remained_text {
  color: #fff;
}

.tab_box {
  width: 100%;
}

@media screen and (max-width: 599px) {
  .tab_box {
    margin-top: 10px;
  }
}

.contents > .tab_box > div {
  display: none;
  /* コンテンツを表示するdiv要素にのみに非表示を指定する */
}

#tab_label1:checked ~ .tab_box > #tabContent1 {
  display: block;
  /* タブコンテンツ１を表示する */
}

#tab_label1:checked ~ .mailMenu {
  background-color: #4BB582;
  color: #fff;
}

#tab_label2:checked ~ .tab_box > #tabContent2 {
  display: block;
  /* タブコンテンツ２を表示する */
}

#tab_label2:checked ~ .phoneMenu {
  background-color: #4BB582;
  color: #fff;
}

.movie_button {
  position: absolute;
  top: 50%;
  left: 50%;
}

.movie_button .movie_button_content {
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 320px) {
  .movie_button .movie_button_content {
    transform: translate(-50%, -70%);
    width: 80%;
  }
}

.movie_button .movie_button_content .play_video_icon {
  cursor: pointer;
  width: 100px;
}

@media screen and (max-width: 599px) {
  .movie_button .movie_button_content .play_video_icon {
    width: 50px;
  }
}

.companyLogoArea {
  margin: 30px auto;
  text-align: center;
  width: 50%;
}

.companyLogoArea .companyLogoImage {
  width: 30%;
}

@media screen and (max-width: 599px) {
  .companyLogoArea .companyLogoImage {
    width: 70%;
  }
}

.logoBottomText {
  font-size: 25px;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .logoBottomText {
    font-size: 5vw;
  }
}

.courseChoiceArea {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0;
}

@media screen and (max-width: 599px) {
  .courseChoiceArea {
    margin: 20px 0;
  }
}

.courseChoiceArea .courseChoiceItem {
  border: 1px solid #4c82cf;
  font-size: 22px;
  width: 30%;
}

@media screen and (max-width: 599px) {
  .courseChoiceArea .courseChoiceItem {
    font-size: 5vw;
    margin-top: 30px;
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  .courseChoiceArea .courseChoiceItem:first-child {
    margin-top: 0;
  }
}

.courseChoiceArea .courseChoiceItem .courseChoiceLink {
  align-items: center;
  background-color: #4c82cf;
  color: #fff;
  display: flex;
  font-weight: bold;
  justify-content: center;
  height: 300px;
  padding: 20px;
  width: 100%;
}

@media screen and (max-width: 599px) {
  .courseChoiceArea .courseChoiceItem .courseChoiceLink {
    height: 100px;
  }
}

.courseChoiceArea .courseChoiceItem .courseChoiceLink:hover {
  opacity: 0.8;
  background-color: #fff;
  color: #4c82cf;
  transition: 0.6;
}

.contact_button {
  background-color: #ed7d0d;
  border-radius: 10px;
  margin: 10px auto 0;
  width: 300px;
  box-shadow: 0 6px 0 0 #9c4f02;
  transform: translateY(-6px);
  transition: 0.3s all;
}

.contact_button:hover {
  box-shadow: 0 2px 0 0 #ed7d0d;
  /*hoverしたら影が縦に4px減るようにしています*/
  transform: translateY(-2px);
}

.contact_button .contact_button_link {
  align-items: center;
  color: #fff;
  display: flex;
  font-weight: bold;
  justify-content: center;
  padding: 23.8px 0;
}

@media screen and (max-width: 599px) {
  .contact_button .contact_button_link {
    padding: 13.8px 0;
  }
}

.contact_button .back_orenge {
  font-weight: bold;
  padding: 20px 0;
}

