@charset "utf-8";

/* header.css部分の画像差し替え */
.side_image_wrap {
  background-image: url(../img/training-header.jpg);
  background-position: 57%;
}

.main_wrap{
  background-color: #FFFFFF;
}

.main_img {
  width: 41.8rem;
  height: 71.9rem;
  object-fit: cover;
  vertical-align: bottom;
  position: fixed;
  object-position: top right;
}

.main_content {
  margin-top: 9rem;
  margin-left: 48.8rem;
}

.sub_title {
  font-size: min(2rem , 20px);
  font-weight: 500;
  font-family: var(--NotoSans);
  color: #202124;
  line-height: calc(27em / 20);
}

.main_title {
  /* font-size: 6.0rem; */
  /* font-weight: 500; */
  /* font-family: var(--NotoSans); */
  /* color:#202124; */
  /* line-height: calc(80em / 60); */
  /* width: 72.2rem; */
  /* border-bottom: #202124 solid 0.1rem; */
  font-size: min(5rem , 50px);
  font-weight: 500;
  max-width: 72.2rem;
  border-bottom: 0.1rem solid #202124;
  line-height: calc(80 / 60);
  padding-bottom: 1.05rem;
}

.main_text {
  margin-top: 5rem;
  margin-bottom: 6.2rem;
  font-size: 1.5rem;
  line-height: calc(30em / 15);
  font-weight: 500;
  font-family: var(--NotoSans);
}

.title_box {
  width: 98.4rem;
  height: min(7.4rem , 74px);
  background-color: #FF7DB6;
  color: #fff;
  font-size: min(3rem , 30px);
  line-height: calc(30em / 30);
  font-weight: 500;
  font-family: var(--NotoSans);
  display: flex;
  align-items: center;
  padding-left: 19.3rem;
  margin-left: 29.6rem;
  margin-bottom: 4.6rem;
}

.title {
  color: #FF7DB6;
  font-size: min(1.8rem , 18px);
  line-height: calc(30em / 18);
  font-weight: 500;
  font-family: var(--NotoSans);
}

.sub_content{
  margin-left: 48.9rem;
}

.title_text {
  color: #202124;
  font-size: min(1.5rem , 15px);
  font-weight: 400;
  font-family: var(--NotoSans);
  line-height: calc(30em / 15);
  margin-top: 2.2rem;
}

.title_outer {
  display: flex;
}

.title_text2 {
  color: #202124;
  font-size: min(1.5rem , 15px);
  font-weight: 400;
  font-family: var(--NotoSans);
  line-height: calc(30em / 15);
}

.title_text3 {
  color: #202124;
  font-size: min(1.5rem , 15px);
  font-weight: 400;
  font-family: var(--NotoSans);
  line-height: calc(30em / 15);
  width: 69.2rem;
}

.space {
  margin-top: 4.1rem;
  margin-bottom: 2.2rem;
}

.title_text4 {
  color: #202124;
  font-size: min(1.5rem , 15px);
  font-weight: 400;
  font-family: var(--NotoSans);
  line-height: calc(30em / 15);
  width: 69.2rem;
  margin-top: 2.2rem;
}

.table_wrapper {
  display: flex;
}

.table_content {
  display:table;
  margin: 0;
  border-collapse:separate;
  border-spacing: 0.5rem;
}

.table_th {
  border: solid #CCCCCC 0.1rem;
  background-color: #FFE3EF;
  width: 14.04rem;
  height: 9.5rem;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
}

.table_td {
  border: solid #CCCCCC 0.1rem;
  width: 14.1rem;
  height: 7.0rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
}

.table_content2 {
  display:table;
	margin: 0;
	border-collapse:separate;
	border-spacing: 0.5rem;
}

.table_th2 {
  width: 43.1rem;
  height: 4.5rem;
  background-color: #FFE3EF;
  border: solid #CCCCCC 0.1rem;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
}

.table_th3 {
  width: 14.04rem;
  height: 4.5rem;
  background-color: #FFE3EF;
  border: solid #CCCCCC 0.1rem;
  margin-top: 1.8rem;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
}

.table_content_price {
  display:table;
  margin: 0;
  border-collapse:separate;
  border-spacing: 0.5rem;
}

.table_th_title {
  border: solid #CCCCCC 0.1rem;
  background-color: #FFE3EF;
  width: 35.85rem;
  height: 4.5rem;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
}

.table_td_inner {
  border: solid #CCCCCC 0.1rem;
  width: 35.9rem;
  height: 4.5rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
  color: #202124;
}

.table_td_inner2 {
  border: solid #CCCCCC 0.1rem;
  width: 35.9rem;
  height: 7.0rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: calc(25em /15);
  font-weight: 400;
  font-family: var(--NotoSans);
  color: #202124;
}

.title2 {
  font-size: min(1.8rem , 18px);
  line-height: calc(30em /18);
  font-weight: 500;
  font-family: var(--NotoSans);
  color: #202124;
  margin-top: 3.0rem;
  /* margin-bottom: 2.2rem; */
}

.train_font{
  font-size: min(1.4rem , 14px);
  font-weight: 500;
  font-family: var(--NotoSans);
  color: #202124;
  margin-bottom: 2.2rem;
}

.table_content_price2 {
  display:table;
  margin-top: 3.5rem;
  border-collapse:separate;
  border-spacing: 0.5rem;
}

.title_box2 {
  width: 98.4rem;
  height: min(7.4rem , 74px);
  background-color: #FF7DB6;
  color: #fff;
  font-size: min(3rem , 30px);
  line-height: calc(30em / 30);
  font-weight: 500;
  font-family: var(--NotoSans);
  display: flex;
  align-items: center;
  padding-left: 19.3rem;
  margin-left: 29.6rem;
  /* margin-bottom: 4.5rem; */
  margin-top: 9.5rem;
}

/*----------- form ----------*/

/* お問い合わせフォーム関連 */
.contact_form_area {
  max-width: 72.2rem;
  width: 100%;
  margin: 3.0rem 0rem 15rem 48.8rem;
}

.contact_form_contener{
	margin-bottom: min(3rem, 30px);
}

.inner_text {
  font-size: 1.5rem;
  line-height: calc(30em / 15);
  color: #202124;
  font-family: var(--NotoSans);
  font-weight: 400;
  margin-bottom: 4.6rem;
}

.contact_label {
  display: flex;
  justify-content: space-between;
  max-width: 72.2rem;
  width: 100%;
  /* height: min(4.7rem, 47px); */
  background-color: #FF99CC;
  font-size: min(1.8rem, 18px);
  font-weight: 500;
  color: #202124;
  align-items: center; /* 縦方向の中央揃え */
  padding: min(1rem, 10px) min(2rem, 20px);
  margin-bottom: min(1.5rem, 15px);
}

.contact_required {
  display:inline-block;
  max-width: 4.1rem;
  width: 100%;
  height: min(2.3rem, 23px);
  color: #FFFFFF;
  background-color: #EC6D65;
  font-size: min(1.3rem, 13px);
  font-weight: 700;
  text-align: center; /* テキストを中央揃え */
}

.wpcf7-form-control-wrap{
	/* margin-top: min(2.5rem, 25px); */
	/* display: inline-block; */
}

.form_input {
  /* max-width: 67.2rem; */
  width: 100%;
  /* height: min(4.6rem, 46px); */
  /* margin: min(2.5rem, 25px) 0rem min(3.5rem, 35px) 2.5rem; */
  padding-left: 1em;
  border-bottom: 2px solid #ccc;
  background-color: transparent;
  outline: none;
}

.input_name {
  font-size: min(1.8rem, 18px);
  transition: border-color 0.3s ease;
}

.input_email {
  font-size: min(1.7rem, 17px);
  /* color: #AAAAAA; */
}

.input_phone {
  margin: 0 auto;
  padding: 0;
  max-width: 15.7rem;
  width: 100%;
  /* height: min(4.7rem, 47px); */
  /* margin-top: min(2.5rem, 25px); */
  /* margin-bottom: min(3.5rem, 35px); */
  font-size: min(1.8rem, 18px);
  border-bottom: 2px solid #ccc; /* 下線を引く */
}

.phone_1st {
  /* margin-left: 2.5rem; */
}

.input_phone_line {
  max-width: 0.7rem;
  font-size: 1.7rem;
  font-weight: 500;
  color: #202124;
  margin: 0rem 1.5rem ;
}

.form_message {
  /* margin: 2.4rem 0rem 0rem 2.5rem; */
  /* max-width: 67.1rem; */
  width: 100%;
  height: 21.4rem;
  font-size: min(1.8rem, 18px);
  border: 2px solid #ccc; /* 下線を引く */
  resize: none;
  padding: 1em;
}

.form_message::-webkit-scrollbar{
  display: none;
}

.contact_btn {
  display: flex;
  align-items: center; /* 縦方向の中央揃え */
  justify-content: center; /* 横方向の中央揃え */
  margin: 0 auto;
  max-width: 17.4rem;
  width: 100%;
  /* height: 5.4rem; */
  background-color: #FF7DB6;
  font-size: min(1.8rem, 18px);
  font-weight: 500;
  color: #FFFFFF;
  margin-top: 6rem;
  cursor: pointer;
  padding: min(1rem);
}



@media screen and (max-width:699.98px) {
  .main_img {
    width: 100%;
    height: 37.5rem;
    object-fit: cover;
    vertical-align: bottom;
    position: relative;
  }
  
  .main_content {
    padding-top: 3.0rem;
    margin-left: 2.0rem;
    margin-top: 33.4rem;
  }
  
  .sub_title {
    font-size: 1.5rem;
    font-weight: 500;
    font-family: var(--NotoSans);
    color: #202124;
    line-height: calc(20em / 15);
  }
  
  .main_title {
    font-size: 4.5rem;
    font-weight: 500;
    font-family: var(--NotoSans);
    color: #202124;
    line-height: calc(60em / 45);
    width: 33.5rem;
    border-bottom: #202124 solid 0.1rem;
  }
  
  .main_text {
    margin-top: 6.05rem;
    margin-bottom: 6.2rem;
    font-size: 1.5rem;
    line-height: calc(30em / 15);
    font-weight: 500;
    font-family: var(--NotoSans);
  }
  
  .title_box {
    width: 100%;
    height: 6.0rem;
    background-color: #FF7DB6;
    color: #fff;
    font-size: 2.0rem;
    line-height: calc(30em / 20);
    font-weight: 500;
    font-family: var(--NotoSans);
    display: flex;
    align-items: center;
    padding-left: 2.0rem;
    margin-left: 0rem;
    margin-bottom: 2.0rem;
    margin-top: 6.0rem;
  }
  
  .title {
    color: #FF7DB6;
    font-size: 1.8rem;
    line-height: calc(30em / 18);
    font-weight: 500;
    font-family: var(--NotoSans);
  }
  
  .sub_content{
    margin-left: 2.0rem;
  }
  
  .title_text {
    color: #202124;
    font-size: 1.2rem;
    font-weight: 400;
    font-family: var(--NotoSans);
    line-height: calc(30em / 12);
  }
  
  .title_outer {
    display: flex;
  }
  
  .title_text2 {
    color: #202124;
    font-size: 1.2rem;
    font-weight: 400;
    font-family: var(--NotoSans);
    line-height: calc(24em / 12);
  }
  
  .title_text3 {
    color: #202124;
    font-size: 1.2rem;
    font-weight: 400;
    font-family: var(--NotoSans);
    line-height: calc(24em / 12);
    width: 30.6rem;
  }
  
  .space {
    margin-top: 4.0rem;
    margin-bottom: 2.0rem;
  }
  
  .title_text4 {
    color: #202124;
    font-size: 1.2rem;
    font-weight: 400;
    font-family: var(--NotoSans);
    line-height: calc(30em / 12);
    width: 33.5rem;
    margin-top: 2.0rem;
  }
  
  .table_wrapper {
    display: flex;
  }
  
  .table_content {
    display:table;
    margin: 0;
    border-collapse:separate;
    border-spacing: 0.2rem;
  }
  
  .table_th {
    border: solid #CCCCCC 0.1rem;
    background-color: #FFE3EF;
    width: 6.5rem;
    height: 5.395rem;
    font-size: 1.0rem;
    line-height: calc(25em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .table_td {
    border: solid #CCCCCC 0.1rem;
    width: 6.5rem;
    height: 4.0rem;
    text-align: center;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .table_content2 {
    display:table;
    margin: 0;
    border-collapse:separate;
    border-spacing: 0.2rem;
  }
  
  .table_th2 {
    width: 20.0rem;
    height: 2.6rem;
    background-color: #FFE3EF;
    border: solid #CCCCCC 0.1rem;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .table_th3 {
    width: 6.5rem;
    height: 2.6rem;
    background-color: #FFE3EF;
    border: solid #CCCCCC 0.1rem;
    margin-top: 2.7rem;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .table_content_price {
    display:table;
    margin: 0;
    border-collapse:separate;
    border-spacing: 0.2rem;
  }
  
  .table_th_title {
    border: solid #CCCCCC 0.1rem;
    background-color: #FFE3EF;
    width: 16.588rem;
    height: 2.391rem;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
  }
  
  .table_td_inner {
    border: solid #CCCCCC 0.1rem;
    width: 16.6rem;
    height: 2.4rem;
    text-align: center;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .table_td_inner2 {
    border: solid #CCCCCC 0.1rem;
    width: 16.6rem;
    height: 3.7rem;
    text-align: center;
    font-size: 1.0rem;
    line-height: calc(15em /10);
    font-weight: 400;
    font-family: var(--NotoSans);
    color: #202124;
  }
  
  .title2 {
    font-size: 1.8rem;
    line-height: calc(30em /18);
    font-weight: 500;
    font-family: var(--NotoSans);
    color: #202124;
    margin-top: 3.0rem;
    /* margin-bottom: 2.2rem; */
  }

  .train_font{
    margin-bottom: 1rem;  
  }  
  
  .table_content_price2 {
    display: table;
    margin-top: 0.5rem;
    border-collapse: separate;
    border-spacing: 0.2rem;
  }
  
  .title_box2 {
    width: 100%;
    height: 6.0rem;
    background-color: #FF7DB6;
    color: #fff;
    font-size: 2.0rem;
    line-height: calc(30em / 20);
    font-weight: 500;
    font-family: var(--NotoSans);
    display: flex;
    align-items: center;
    padding-left: 2.0rem;
    margin-left: 0rem;
    /* margin-bottom: 4.0rem; */
    margin-top: 5.422rem;
  }
  
  /*----------- form ----------*/
  
  .form {
    margin-left: 2.0rem;
  }
  
  .inner_text {
    font-size: 1.1rem;
    line-height: calc(30em / 11);
    color: #202124;
    font-family: var(--NotoSans);
    font-weight: 400;
    margin-bottom: 4.0rem;
    white-space: nowrap;
  }
  
  .inner_text{
    width: fit-content;
    margin: 0 auto 4rem;
  }

  .contact_form_area {
    margin: 0 auto;
    padding: 0;
    max-width: 37.5rem;
    margin-top: 5rem;
    padding-bottom: 10.0rem;
    padding: 0 1.5rem;
  }
  
  .contact_label {
    /* margin: 0 auto; */
    /* max-width: 33.5rem; */
    /* background-color: #F2F2F2; */
    /* height: 4.5rem; */
    font-size: 1.4rem;
  }
  
  .contact_required {
    font-size: 1.0rem;
    max-width: 4.0rem;
    height: 2.4rem;
    display: flex;
    align-items: center; /* 縦方向の中央揃え */
    justify-content: center; /* 横方向の中央揃え */
  }

  .form_input {
    margin-left: auto;
    margin-right: auto;
    /* max-width: 30.5rem; */
    display: flex;
    justify-content: center; /* 横方向の中央揃え */
    background-color: #F2F2F2;
    /* height: 4.5rem; */
    /* margin-bottom: 3rem; */
  }
  .input_name {
    /* margin-top: 1.0em; */
    font-size: 1.4rem;
  }
  .input_email {
    /* margin-top: 2.0rem; */
    font-size: 1.4rem;
  }
  .input_phone {
    max-width: 8.9rem;
    background-color: #F2F2F2;
    /* margin-top: 1.4rem; */
    padding-left: 1.5rem;
    font-size: 1.4rem;
  }

  .input_phone_line {
    max-width: 0.6rem;
    font-size: 1.4rem;
    margin-left: 0.6rem;
    margin-right: 0.6rem;
  }
  .form_message {
    /* max-width: 30.5rem; */
    /* margin-left: 3.5rem; */
    background-color: #F2F2F2;
    /* padding-left: 1.5rem; */
    font-size: 1.4rem;
  }
  .contact_btn {
    margin-top: 3.5rem;
    max-width: 14.7rem;
    height: 3.9rem;
    font-size: 1.4rem;
  }

  .contact_form_contener{

  }
}
