@charset "UTF-8";html {  font-size: 62.5%;  color: #444;}body {  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;  -webkit-font-smoothing: antialiased;  letter-spacing: 0.1em;  font-feature-settings: "palt";}img {  width: 100%;}.pc {  display: block;}.sp {  display: none;}header {  width: 100vw;  height: auto;  background-image: url("../img/mv_back.png");  background-size: cover;  background-position: center;  background-repeat: no-repeat;}header .mv {  width: 1100px;  margin: 0 auto;  position: relative;  padding: 23px 0 37px;}header .mv .logo {  width: 180px;  margin-right: 20px;}header .mv .header_nav {  max-width: 100%;  display: flex;  align-items: center;}header .mv .header_btn {  font-size: 1.5rem;  margin-left: 15px;}.arrow_s {  position: relative;  display: inline-block;  padding-left: 10px;}.arrow_s:before {  content: '';  width: 0;  height: 0;  border-style: solid;  border-width: 6px 0 6px 8px;  border-color: transparent transparent transparent #333;  position: absolute;  top: 0;  left: 0;  bottom: 0;  margin: auto;}header .mv .text_area {  margin-left: 2.2rem;  display: flex;  flex-direction: column;  gap: 22px;}header .mv .text_area .main_txt {  width: 798px;  margin-top: 20px;  margin-left: -3px;}header .mv .text_area .sub {  display: flex;  align-items: center;  flex-wrap: wrap;}header .mv .text_area .sub p {  font-size: 2.7rem;  letter-spacing: 0.14em;}header .mv .text_area .sub p span {  font-size: 3.6rem;  font-weight: 700;  color: #2457a0;  background-color: #fbd952;  line-height: 1;  margin-right: 1.4rem;  display: inline-block;  padding: 0.8rem 1rem 1.2rem;  border-radius: 4px;}header .mv .text_area .sub .kotrio {  width: 200px;}header .mv .text_area .feature {  width: 700px;  display: flex;  align-items: flex-end;  justify-content: space-between;  margin-left: -1rem;}header .mv .main_ill {  width: 500px;  position: absolute;  right: -120px;  top: 220px;  z-index: 1;}header .mv .main_ill_02 {  width: 170px;  position: absolute;  right: -120px;  top: 180px;  z-index: 1;}header .mv .free {  width: 272px;  position: absolute;  right: 0px;  top: 140px;}.flowlist_back {  width: 100%;  display: flex;  align-items: center;  justify-content: center;  padding: 1.4rem 0;  background-color: #2457a0;}.flowlist_back .flowlist_wrap {  display: flex;  align-items: center;  margin: 0 auto;  color: #fff;  gap: 3.7rem;}.flowlist_back .flowlist_wrap p.step {  font-size: 1.2rem;  text-align: center;  line-height: 1;}.flowlist_back .flowlist_wrap p.step span {  font-size: 3.2rem;}.flowlist_back .flowlist_wrap p.seconds {  font-size: 1.2rem;  text-align: center;  line-height: 1;}.flowlist_back .flowlist_wrap p.seconds span {  font-size: 3.2rem;  white-space: nowrap;}.flowlist_back .flowlist_wrap p.seconds small {  font-size: 2rem;}.flowlist_back .flowlist_wrap .flow_list {  display: flex;  justify-content: space-between;  width: 420px;}.flowlist_back .flowlist_wrap .flow_list li {  position: relative;  z-index: 2;  display: table;  width: 46px;  height: 46px;  font-size: 24px;  font-weight: 500;  color: #fff;  border-radius: 23px;  background: #5079b3;}.flowlist_back .flowlist_wrap .flow_list li:not(:last-child):before {  content: "";  position: absolute;  width: 39px;  height: 2px;  margin-top: -2px;  top: 50%;  right: -60px;  z-index: -1;  background: #fff;  border-radius: 1px;}.flowlist_back .flowlist_wrap .flow_list li.active {  color: #2457a0;  background: #fbd952;}.flowlist_back .flowlist_wrap .flow_list span {  display: table-cell;  vertical-align: middle;  text-align: center;  line-height: 1;}main {  width: 100%;  padding: 30px 0 70px;  background-color: #e9eef5;}main p.update {  font-size: 2.4rem;  font-weight: 500;  text-align: center;  margin-bottom: 6rem;  line-height: 1;}main p.update span {  font-size: 3.2rem;  color: #ef5a6f;}main p.phone {  font-size: 2.4rem;  font-weight: 500;  text-align: center;  margin-bottom: 6rem;  line-height: 1;}main p.phone span {  color: #ef5a6f;}main article {  overflow: hidden;  display: block;  padding: 52px 0;  height: 100%;  max-width: 800px;  width: 90%;  margin: 0 auto;  background-color: #fff;  border-radius: 2rem;}main article form.step_form {  display: flex;  transition: transform .6s ease-in-out;}main article form.step_form .container {  min-width: 100%;  padding: 0 38px;  display: flex;  flex-direction: column;  gap: 4rem 0;}main article form.step_form .container .question {  font-size: 1.8rem;  font-weight: 500;  text-align: center;  margin-bottom: 27px;  line-height: 1.6;}main article form.step_form .container .question p {  font-size: 1.4rem;  font-weight: 400;  line-height: 1.6;  margin-top: 2rem;}main article form.step_form .container ul.answer {  font-size: 1.6rem;  display: flex;  flex-wrap: wrap;  justify-content: space-between;  gap: 2rem 0;}main article form.step_form .container ul.answer li {  width: 48%;}main article form.step_form .container ul.answer li input[type="radio"], main article form.step_form .container ul.answer li input[type="checkbox"] {  display: none;}main article form.step_form .container ul.answer li input:checked + label {  background: #d3ddec;  border: 2px solid #2457a0;}main article form.step_form .container ul.answer li label {  position: relative;  display: flex;  align-items: center;  width: 100%;  height: 60px;  line-height: 1.4;  border-radius: 9999px;  border: 2px solid #e7e7e7;  box-sizing: border-box;  background: #fff;  padding-left: 105px;  cursor: pointer;}main article form.step_form .container ul.answer li label .season1 {  position: absolute;  left: 34px;  width: 30px;}main article form.step_form .container ul.answer li label .season2 {  position: absolute;  left: 34px;  width: 29px;}main article form.step_form .container ul.answer li label .season3 {  position: absolute;  left: 32px;  width: 33px;}main article form.step_form .container ul.answer li label .season4 {  position: absolute;  left: 34px;  width: 28px;}main article form.step_form .container ul.answer li label .season5 {  position: absolute;  left: 34px;  width: 35px;}main article form.step_form .container ul.answer li label .employment_type1 {  position: absolute;  left: 34px;  width: 39px;}main article form.step_form .container ul.answer li label .employment_type2 {  position: absolute;  left: 34px;  width: 35px;}main article form.step_form .container ul.answer li label .employment_type3 {  position: absolute;  left: 26px;  width: 60px;}main article form.step_form .container ul.answer li label .qualification1 {  position: absolute;  left: 34px;  width: 36px;}main article form.step_form .container ul.answer li label .qualification2 {  position: absolute;  left: 34px;  width: 36px;}main article form.step_form .container ul.answer li label .qualification3 {  position: absolute;  left: 29px;  width: 44px;}main article form.step_form .container ul.answer li label .qualification4 {  position: absolute;  left: 30px;  width: 44px;}main article form.step_form .container ul.answer li label .qualification5 {  position: absolute;  left: 30px;  width: 44px;}main article form.step_form .container ul.answer li label .qualification6 {  position: absolute;  left: 30px;  width: 44px;}main article form.step_form .container ul.answer li label .qualification7 {  position: absolute;  left: 36px;  width: 32px;}main article form.step_form .container ul.answer li label .qualification8 {  position: absolute;  left: 34px;  width: 36px;}main article form.step_form .container .btn_area {  display: flex;  justify-content: center;  flex-wrap: wrap;  gap: 5vw 2%;}main article form.step_form .container .btn_area button.next_btn, main article form.step_form .container .btn_area button.submit {  position: relative;  font-size: 2.2rem;  font-weight: 500;  color: #fff;  display: flex;  align-items: center;  justify-content: center;  padding: 2rem 0 2.4rem;  text-align: center;  background-color: #ef5a6f;  width: 30%;  border-radius: 9999px;  cursor: pointer;  letter-spacing: 0.1em;  box-shadow: 0px 4px #bc4759;}main article form.step_form .container .btn_area button.next_btn:after, main article form.step_form .container .btn_area button.submit:after {  content: "";  position: absolute;  display: block;  width: 11px;  height: 18px;  top: 50%;  right: 25px;  margin-top: -9px;  background: url(../img/next_arrow.png) no-repeat center center;}main article form.step_form .container .btn_area button.next_btn:hover, main article form.step_form .container .btn_area button.submit:hover {  box-shadow: none;  position: relative;  top: 4px;}main article form.step_form .container .btn_area button.return_btn {  position: relative;  font-size: 2.2rem;  font-weight: 500;  color: #fff;  display: flex;  align-items: center;  justify-content: center;  padding: 2rem 0 2.4rem;  text-align: center;  background-color: #b4b4b4;  width: 30%;  border-radius: 9999px;  cursor: pointer;  letter-spacing: 0.1em;  box-shadow: 0px 4px #898989;}main article form.step_form .container .btn_area button.return_btn:after {  content: "";  position: absolute;  display: block;  width: 11px;  height: 18px;  top: 50%;  left: 25px;  margin-top: -9px;  background: url(../img/return_arrow.png) no-repeat center center;}main article form.step_form .container .btn_area button.return_btn:hover {  box-shadow: none;  position: relative;  top: 4px;}main article form.step_form .container dt.item {  font-size: 1.6rem;  font-weight: 400;  margin-bottom: 1rem;}main article form.step_form .container dd select.long {  border: 2px solid #e7e7e7;  border-radius: 6px;  width: 80%;  font-size: 1.6rem;  padding: 1.4rem 2rem;  line-height: 1;}main article form.step_form .container dd select.short {  border: 2px solid #e7e7e7;  border-radius: 6px;  width: auto;  font-size: 1.6rem;  padding: 1.4rem 2rem;  line-height: 1;  text-align: right;}main article form.step_form .container dd select.short::not(:first-child) {  margin-left: 5rem;}main article form.step_form .container dd.birthday {  font-size: 1.6rem;}main article form.step_form .container dd.gender {  display: flex;  gap: 1rem;  flex-direction: row;  align-items: center;}main article form.step_form .container dd.gender label {  font-size: 1.6rem;  margin-right: 2rem;}main article form.step_form .container input.info {  border: 2px solid #e7e7e7;  border-radius: 6px;  width: 100%;  font-size: 1.6rem;  padding: 1.4rem 2rem;  line-height: 1;}main article form.step_form .container input.info::placeholder {  color: #ccc;}main article form.step_form .container p.privacy {  display: flex;  align-items: center;  justify-content: center;  gap: 0.5rem;}main article form.step_form .container p.privacy label {  font-size: 1.6rem;}main article form.step_form .container p.privacy label a {  color: #2457a0;  text-decoration: underline;}header.thanks {  background-image: none;  background-color: #ececec;}header.thanks .mv .logo {  margin: 0 auto;}main.thanks {  width: 100%;  padding: 70px 0;  margin: 0 auto;  background-color: #fff;  border-bottom: 1px solid #999;}main.thanks h2 {  font-size: 4rem;  text-align: center;  margin-bottom: 2rem;}main.thanks p.thanks_text {  font-size: 1.6rem;  text-align: center;  line-height: 2;}main.thanks button {  border: 1px solid #999;  border-radius: 6px;  display: block;  padding: 1rem 2rem;  margin: 6rem auto 0;}main.thanks button a {  display: block;  padding: 1rem 2rem;  font-size: 1.6rem;}footer {  max-width: 76rem;  width: 90%;  margin: 3rem auto;  display: flex;  justify-content: space-between;  align-items: center;  flex-wrap: wrap;  gap: 7vw 0;}footer .wrap {  display: flex;  align-items: center;}footer .wrap .logo {  width: 180px;  margin-right: 3rem;}footer .wrap .cap {  font-size: 1.2rem;}footer .f_navi {  display: flex;  gap: 5rem;}footer .f_navi li {  font-size: 1.4rem;}@media screen and (max-width: 768px) {  .pc {    display: none;  }  .sp {    display: block;  }  header {    height: 168vw;  }  header .mv {    /* max-width: 1100px; */    padding: 5vw 0 5vw;    width: 86%;  }  header .mv .header_nav {    width: 100vw;    flex-wrap: wrap;  }  header .mv .logo {    width: 39vw;    margin-bottom: 3vw;  }  header .mv .header_btn {    margin-bottom: 1.5rem;    margin-left: 1.2rem;  }  header .mv .text_area {    margin-left: 0;    gap: 15px;  }  header .mv .text_area .main_txt {    width: 86vw;    margin-top: 0;    margin-left: 0;  }  header .mv .text_area .sub {    gap: 2vw 0;  }  header .mv .text_area .sub p {    font-size: 5.1vw;    letter-spacing: 0.1em;  }  header .mv .text_area .sub p span {    font-size: 8.4vw;    margin-right: 2vw;    margin-bottom: 1rem;    display: inline-block;    padding: 0.6rem 0.8rem 1rem;  }  header .mv .text_area .sub .kotrio {    width: 44vw;  }  header .mv .text_area .feature {    width: 88vw;    display: flex;    align-items: flex-end;    justify-content: space-between;    margin-left: 0;  }  header .mv .main_ill {    width: 45vw;    position: absolute;    right: -5%;    top: 52%;  }  header .mv .main_ill_02 {    width: 15vw;    position: absolute;    right: -5%;    top: 50%;  }  header .mv .free {    width: 35vw;    position: absolute;    right: -7%;    top: 45%;  }  .flowlist_back {    width: 100%;    display: flex;    align-items: center;    justify-content: center;    padding: 1rem 0;  }  .flowlist_back .flowlist_wrap {    display: flex;    align-items: center;    color: #fff;    gap: 3vw;  }  .flowlist_back .flowlist_wrap p.step {    font-size: 1.6vw;  }  .flowlist_back .flowlist_wrap p.step span {    font-size: 5.2vw;  }  .flowlist_back .flowlist_wrap .flow_list {    display: flex;    justify-content: space-between;    width: 100%;    gap: 5vw;  }  .flowlist_back .flowlist_wrap .flow_list li {    position: relative;    z-index: 2;    width: 10vw;    height: 10vw;    font-size: 5vw;    border-radius: 5vw;  }  .flowlist_back .flowlist_wrap .flow_list li:not(:last-child):before {    content: "";    position: absolute;    width: 2vw;    height: 2px;    margin-top: 0;    top: 50%;    right: -3.5vw;    z-index: -1;    border-radius: 1px;  }  .flowlist_back .flowlist_wrap .flow_list span {    display: table-cell;    vertical-align: middle;    text-align: center;    line-height: 1;  }  .flowlist_back .flowlist_wrap p.seconds {    font-size: 1.8vw;    text-align: center;    line-height: 1;  }  .flowlist_back .flowlist_wrap p.seconds span {    font-size: 7vw;  }  .flowlist_back .flowlist_wrap p.seconds small {    font-size: 3.6vw;  }  main article {    padding: 10vw 0;    width: 90%;  }  main article form.step_form .container {    padding: 0 5vw;    gap: 9vw 0;  }  main article form.step_form .container ul.answer li {    width: 100%;  }  main article form.step_form .container .btn_area button.next_btn, main article form.step_form .container .btn_area button.submit {    width: 80%;  }  main article form.step_form .container .btn_area button.return_btn {    width: 80%;  }  main article form.step_form .container ul.answer li label {    height: 60px;    padding-left: 20vw;  }  main p.update {    font-size: 5.2vw;    margin-bottom: 8vw;  }  main p.update span {    font-size: 6vw;  }  main p.phone {    font-size: 4.4vw;    margin-bottom: 8vw;  }  main article form.step_form .container ul.answer {    font-size: 4.2vw;    gap: 4vw 0;  }  main article form.step_form .container ul.answer li label .season1 {    position: absolute;    left: 29px;    width: 29px;  }  main article form.step_form .container ul.answer li label .season2 {    position: absolute;    left: 29px;    width: 29px;  }  main article form.step_form .container ul.answer li label .season3 {    position: absolute;    left: 28px;    width: 29px;  }  main article form.step_form .container ul.answer li label .season4 {    position: absolute;    left: 29px;    width: 27px;  }  main article form.step_form .container ul.answer li label .season5 {    position: absolute;    left: 27px;    width: 35px;  }  main article form.step_form .container ul.answer li label .employment_type1 {    position: absolute;    left: 26px;    width: 39px;  }  main article form.step_form .container ul.answer li label .employment_type2 {    position: absolute;    left: 26px;    width: 35px;  }  main article form.step_form .container ul.answer li label .employment_type3 {    position: absolute;    left: 18px;    width: 50px;  }  main article form.step_form .container ul.answer li label .qualification1 {    position: absolute;    left: 26px;    width: 36px;  }  main article form.step_form .container ul.answer li label .qualification2 {    position: absolute;    left: 26px;    width: 36px;  }  main article form.step_form .container ul.answer li label .qualification3 {    position: absolute;    left: 22px;    width: 44px;  }  main article form.step_form .container ul.answer li label .qualification4 {    position: absolute;    left: 22px;    width: 44px;  }  main article form.step_form .container ul.answer li label .qualification5 {    position: absolute;    left: 22px;    width: 44px;  }  main article form.step_form .container ul.answer li label .qualification6 {    position: absolute;    left: 22px;    width: 44px;  }  main article form.step_form .container ul.answer li label .qualification7 {    position: absolute;    left: 30px;    width: 30px;  }  main article form.step_form .container ul.answer li label .qualification8 {    position: absolute;    left: 26px;    width: 36px;  }  main article form.step_form .container .question {    font-size: 4.8vw;    margin-bottom: 5vw;  }  main article form.step_form .container .btn_area {    margin-top: 4vw;    gap: 5vw 2%;  }  main article form.step_form .container dd select.long {    width: 100%;  }  main article form.step_form .container dd select.short {    width: auto;    font-size: 1.6rem;    padding: 1rem 1.4rem;  }  main article form.step_form .container dd.birthday {    font-size: 4vw;  }  footer {    width: 90%;    margin: 11vw auto;    justify-content: center;  }  header.thanks {    height: 23vw;  }  main.thanks h2 {    font-size: 3rem;    margin-bottom: 2rem;  }  main.thanks {    padding: 12%;  }  main.thanks p.thanks_text {    font-size: 1.4rem;    text-align: justify;  }  main.thanks button {    padding: 1rem 2rem;    margin: 4rem auto 0;  }}