@charset "UTF-8";
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  vertical-align: text-bottom;
}

body {
  font-size: 24px;
  font-weight: 500;
  font-family: "source-han-sans-japanese", sans-serif;
  line-height: 1.6;
  color: #444444;
}
body a {
  color: #444444;
  text-decoration: none;
}
body a:hover {
  text-decoration: none;
}

.sp_only {
  display: none;
}

.inner {
  box-sizing: content-box;
  max-width: 1200px;
  padding: 0 2%;
  position: relative;
  margin: 0 auto;
}

.main {
  padding-top: 100px;
}

.cmn_btn {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  background: #FF8F3A;
  transition: 0.3s ease-in-out;
  padding: 16px 0;
  border-radius: 999em;
}
.cmn_btn:hover {
  opacity: 0.7;
}

.cmn_ttl {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  color: #013AC1;
  margin-bottom: 40px;
}
.cmn_ttl span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #444444;
  margin-bottom: 15px;
}

@media screen and (max-width: 1200px) {
  body {
    font-size: 2vw;
  }
  .inner {
    padding: 0 5%;
  }
  .main {
    padding-top: 8.33vw;
  }
  .cmn_btn {
    font-size: 2.33vw;
    padding: 1.33vw 0;
  }
  .cmn_ttl {
    font-size: 3.33vw;
    margin-bottom: 3.33vw;
  }
  .cmn_ttl span {
    font-size: 1.67vw;
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 4.2vw;
  }
  .main {
    padding-top: 60px;
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .inner {
    padding: 0 4%;
  }
  .cmn_btn {
    font-size: 6.38vw;
    padding: 3.77vw 0;
  }
  .cmn_ttl {
    font-size: 7.24vw;
    margin-bottom: 11.59vw;
  }
  .cmn_ttl span {
    font-size: 4.06vw;
    margin-bottom: 1.45vw;
  }
}
/*----------------------------------------------------- */
/*  header           */
/*----------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 10;
}
.header .inner {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_logo {
  max-width: 287px;
}

.header_btn {
  max-width: 270px;
  width: 100%;
}
.header_btn .cmn_btn {
  font-size: 23px;
  padding: 12px 0;
}

.header_btn_wrap {
  display: flex;
  justify-content: flex-end;
  flex: 1;
}

.header_btn_request {
  max-width: 270px;
  width: 100%;
  margin-left: 20px;
}
.header_btn_request .cmn_btn {
  font-size: 23px;
  padding: 10px 0;
  border: 2px solid #FF8F3A;
  color: #FF8F3A;
  background: #fff;
}

@media screen and (max-width: 1200px) {
  .header .inner {
    height: 8.33vw;
  }
  .header_logo {
    max-width: 23.92vw;
  }
  .header_btn {
    max-width: 33.33vw;
  }
  .header_btn .cmn_btn {
    font-size: 1.92vw;
    padding: 1vw 0;
  }
  .header_btn_request {
    max-width: 25vw;
    margin-left: 2vw;
  }
  .header_btn_request .cmn_btn {
    font-size: 1.92vw;
    padding: 0.9vw 0;
  }
}
@media screen and (max-width: 767px) {
  .header .inner {
    height: 60px;
  }
  .header_logo {
    max-width: 28vw;
  }
  .header_btn {
    max-width: 34vw;
  }
  .header_btn .cmn_btn {
    font-size: 3.2vw;
    padding: 1.8vw 0;
  }
  .header_btn_request {
    max-width: 19vw;
    margin-left: 2vw;
  }
  .header_btn_request .cmn_btn {
    font-size: 3.2vw;
    padding: 1.5vw 0;
    border: 1px solid #FF8F3A;
  }
}
/*----------------------------------------------------- */
/*  mv           */
/*----------------------------------------------------- */
.mv {
  background: url(../images/bg_mv.png) no-repeat;
  background-size: cover;
  padding: 40px 0;
}
.mv .inner {
  display: flex;
  justify-content: space-between;
}

.mv_contents {
  width: 51%;
}

.mv_txt01 {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  background: #fff;
  border-radius: 999em;
  padding: 10px 40px;
  margin-bottom: 30px;
}

.mv_ttl {
  font-size: 48px;
  font-weight: 900;
  margin-bottom: 30px;
  line-height: 1.5;
}
.mv_ttl em {
  font-size: 60px;
  font-weight: 900;
  color: #036ED6;
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.mv_txt02 {
  font-size: 21px;
  line-height: 1.5;
  margin-bottom: 30px;
  letter-spacing: -0.05em;
  white-space: nowrap;
}

.mv_btn {
  width: 100%;
}
.mv_btn .cmn_btn {
  padding: 16px 0;
}

.mv_pic {
  width: 45%;
  margin-top: -10px;
}

@media screen and (max-width: 1200px) {
  .mv {
    padding: 3.33vw 0;
  }
  .mv_txt01 {
    font-size: 1.83vw;
    padding: 0.83vw 3.33vw;
    margin-bottom: 2.5vw;
  }
  .mv_ttl {
    font-size: 3.9vw;
    margin-bottom: 2.5vw;
  }
  .mv_ttl em {
    font-size: 4.9vw;
  }
  .mv_txt02 {
    font-size: 1.7vw;
    margin-bottom: 2.5vw;
  }
  .mv_btn .cmn_btn {
    padding: 1.33vw 0;
  }
  .mv_pic {
    margin-top: -0.83vw;
  }
}
@media screen and (max-width: 767px) {
  .mv {
    background: url(../images/bg_mv_sp.png) no-repeat;
    background-size: cover;
    padding: 5.33vw 0;
    overflow: hidden;
  }
  .mv .inner {
    flex-direction: column;
  }
  .mv_contents {
    width: 100%;
  }
  .mv_txt01 {
    font-size: 2.67vw;
    padding: 0.53vw 2.13vw;
    margin-bottom: 2.67vw;
  }
  .mv_ttl {
    font-size: 5.87vw;
    margin-bottom: 2.67vw;
  }
  .mv_ttl em {
    font-size: 8vw;
  }
  .mv_txt02 {
    font-size: 3.2vw;
    line-height: 1.5;
    margin-bottom: 5.33vw;
  }
  .mv_btn {
    width: 100%;
  }
  .mv_btn .cmn_btn {
    padding: 2.67vw 0;
  }
  .mv_pic {
    width: 108%;
    margin: -10vw -5% 2% -3%;
  }
}
/*----------------------------------------------------- */
/*  service           */
/*----------------------------------------------------- */
.service {
  padding: 120px 0;
}

.service_txt {
  text-align: center;
  max-width: 710px;
  margin: 0 auto 40px;
}
.service_txt em {
  font-weight: 700;
  color: #036ED6;
}

.service_pic img {
  border-radius: 30px;
  box-shadow: 0 0 20px rgba(1, 61, 194, 0.2);
}

@media screen and (max-width: 1200px) {
  .service {
    padding: 10vw 0;
  }
  .service_txt {
    margin-bottom: 3.33vw;
  }
  .service_pic img {
    border-radius: 2.5vw;
    box-shadow: 0 0 1.67vw rgba(1, 61, 194, 0.2);
  }
}
@media screen and (max-width: 767px) {
  .service {
    padding: 13.33vw 0 18.67vw;
  }
  .service_txt {
    text-align: left;
    margin: 0 auto 10.67vw;
  }
  .service_pic img {
    border-radius: 2.67vw;
    box-shadow: 0 0 2.67vw rgba(1, 61, 194, 0.2);
  }
}
/*----------------------------------------------------- */
/*  value           */
/*----------------------------------------------------- */
.value {
  background: #DDF3FF;
  padding: 120px 0;
  border-radius: 80px 80px 0 0;
}

.value_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.value_item {
  width: 49%;
  background: #fff;
  border-radius: 40px;
  padding: 35px;
  box-shadow: 0 0 20px rgba(1, 61, 194, 0.2);
}
.value_item:nth-child(3) {
  width: 100%;
  margin-top: 30px;
}

.value_item_ttl {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.value_item_ttl img {
  max-width: 82px;
}
.value_item_ttl h3 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
}
.value_item_ttl h3 em {
  font-weight: 700;
  color: #036ED6;
}

.value_item_list li {
  padding-left: 33px;
  background: url(../images/ico_check.png) left top 14px no-repeat;
  background-size: 23px;
  font-size: 28px;
  font-weight: 400;
}
.value_item_list li + li {
  margin-top: 8px;
}

.value_item_wrap {
  display: flex;
  padding: 0 30px;
}

.value_item_div {
  width: 50%;
  padding-right: 50px;
}
.value_item_div + .value_item_div {
  border-left: 1px solid #D3D3D3;
  padding: 0 0 0 50px;
}

.value_item_subttl {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.value_item_subttl img {
  max-width: 55px;
}
.value_item_subttl h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.value_item_subttl h3 em {
  font-weight: 700;
  color: #036ED6;
}

.value_item_txt {
  font-size: 20px;
  font-weight: 400;
}

@media screen and (max-width: 1200px) {
  .value_item {
    border-radius: 3.33vw;
    padding: 2.92vw;
  }

  .value_item_ttl {
    margin-bottom: 1.67vw;
  }

  .value_item_ttl img {
    max-width: 6.83vw;
  }

  .value_item_ttl h3 {
    font-size: 2.67vw;
  }

  .value_item_list li {
    padding-left: 2.75vw;
    background: url(../images/ico_check.png) left top 1.17vw no-repeat;
    background-size: 1.92vw;
    font-size: 2.33vw;
  }

  .value_item_list li + li {
    margin-top: 0.67vw;
  }

  .value_item_div {
    padding-right: 4.17vw;
  }

  .value_item_div + .value_item_div {
    padding: 0 0 0 4.17vw;
  }

  .value_item_subttl img {
    max-width: 4.58vw;
  }

  .value_item_subttl h3 {
    font-size: 2vw;
  }

  .value_item_txt {
    font-size: 1.67vw;
  }
}


@media screen and (max-width: 767px) {
  .value {
    padding: 16vw 0;
    border-radius: 10.67vw 10.67vw 0 0;
  }
  .value .cmn_ttl {
    margin-bottom: 5.33vw;
  }
  .value_list {
    display: block;
  }
  .value_item {
    width: 100%;
    border-radius: 2.67vw;
    padding: 4.8vw 8vw;
    box-shadow: 0 0 2.67vw rgba(1, 61, 194, 0.2);
  }
  .value_item:nth-child(3) {
    margin-top: 5.33vw;
  }
  .value_item + .value_item {
    margin-top: 5.33vw;
  }
  .value_item_ttl {
    gap: 2.67vw;
    margin-bottom: 2.67vw;
  }
  .value_item_ttl img {
    max-width: 11.47vw;
  }
  .value_item_ttl h3 {
    font-size: 5.33vw;
  }
  .value_item_list li {
    padding-left: 8.8vw;
    background: url(../images/ico_check.png) left top 1.33vw no-repeat;
    background-size: 6.13vw;
    font-size: 4.8vw;
  }
  .value_item_list li + li {
    margin-top: 2.67vw;
  }
  .value_item_wrap {
    display: block;
    padding: 0;
  }
  .value_item_div {
    width: 100%;
    padding-right: 0;
  }
  .value_item_div + .value_item_div {
    border-left: none;
    border-top: 0.27vw solid #D3D3D3;
    padding: 4vw 0 0;
    margin-top: 4vw;
  }
  .value_item_subttl {
    gap: 2.67vw;
    margin-bottom: 2.67vw;
  }
  .value_item_subttl img {
    max-width: 11.47vw;
  }
  .value_item_subttl h3 {
    font-size: 5.33vw;
  }
  .value_item_txt {
    font-size: 4.27vw;
  }
}

/*----------------------------------------------------- */
/*  price           */
/*----------------------------------------------------- */
.price {
  padding: 120px 0;
}

.price_txt {
  text-align: center;
  margin-bottom: 40px;
}

.price_table {
  filter: drop-shadow(0 0 20px rgba(1, 61, 194, 0.2));
}

@media screen and (max-width: 1200px) {
  .price {
    padding: 10vw 0;
  }
  .price_txt {
    margin-bottom: 3.33vw;
  }
  .price_table {
    filter: drop-shadow(0 0 1.67vw rgba(1, 61, 194, 0.2));
  }
}
@media screen and (max-width: 767px) {
  .price {
    padding: 18.67vw 0;
  }
  .price_txt {
    text-align: center;
    margin-bottom: 5.33vw;
  }
  .price_table {
    filter: drop-shadow(0 0 2.67vw rgba(1, 61, 194, 0.2));
  }
}
/*----------------------------------------------------- */
/*  cta           */
/*----------------------------------------------------- */
.cta {
  background: #013AC1;
  padding: 100px 0;
  text-align: center;
  color: #fff;
}

.cta_ttl {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 40px;
}

.cta_txt {
  margin-bottom: 40px;
}

.cta_btn {
  max-width: 870px;
  margin: 0 auto;
}
.cta_btn .cmn_btn {
  font-size: 45px;
  color: #FF8F3A;
  background: #fff;
  padding: 10px 0;
  line-height: 1.2;
}
.cta_btn .cmn_btn span {
  display: block;
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 1200px) {
  .cta {
    padding: 8.33vw 0;
  }
  .cta_ttl {
    font-size: 2.67vw;
    margin-bottom: 3.33vw;
  }
  .cta_txt {
    margin-bottom: 3.33vw;
  }
  .cta_btn {
    max-width: 72.5vw;
  }
  .cta_btn .cmn_btn {
    font-size: 3.75vw;
    padding: 0.83vw 0;
  }
  .cta_btn .cmn_btn span {
    font-size: 2.33vw;
  }
}
@media screen and (max-width: 767px) {
  .cta {
    padding: 16vw 0;
  }
  .cta_ttl {
    font-size: 6.93vw;
    margin-bottom: 8vw;
  }
  .cta_txt {
    margin-bottom: 8vw;
    text-align: left;
  }
  .cta_btn {
    max-width: 100%;
  }
  .cta_btn .cmn_btn {
    font-size: 6.67vw;
    padding: 2.5vw 0;
  }
  .cta_btn .cmn_btn span {
    font-size: 4.27vw;
  }
}
/*----------------------------------------------------- */
/*  case           */
/*----------------------------------------------------- */
.case {
  padding: 120px 0;
}

.case_txt {
  text-align: center;
  margin-bottom: 40px;
}

.case_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.case_item {
  width: 32%;
  background: #fff;
  border-radius: 30px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 0 20px rgba(1, 61, 194, 0.2);
}
.case_item:nth-child(4), .case_item:nth-child(5) {
  width: 49%;
  margin-top: 30px;
}
.case_item:nth-child(6) {
  width: 100%;
  margin-top: 30px;
  padding: 35px 80px;
  text-align: left;
}

.case_item_ico {
  width: 92px;
  height: 83px;
  margin: 0 auto 20px;
}
.case_item_ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.case_item_ttl {
  font-size: 20px;
}

.case_item_txt {
  font-size: 35px;
  font-weight: 700;
  color: #036ED6;
}
.case_item_txt em {
  font-size: 65px;
  font-weight: 800;
  font-family: "Inter", sans-serif;
  line-height: 1.2;
}

.case_item_pic {
  max-width: 280px;
  margin: 0 auto 10px;
}

.case_item_ttl02 {
  font-weight: 500;
  font-size: 30px;
}

.case_item_txt02 {
  font-size: 20px;
}

.case_item_ttl03 {
  font-size: 35px;
  font-weight: 900;
  margin-bottom: 10px;
  margin-left: -0.5em;
}
.case_item_ttl03 em {
  color: #036ED6;
  font-weight: 900;
}

.case_item_txt03 {
  font-size: 20px;
  margin-bottom: 20px;
}

.case_item_list {
  display: flex;
  flex-wrap: wrap;
}
.case_item_list li {
  padding-left: 38px;
  background: url(../images/ico_check.png) left 5px top 6px no-repeat;
  background-size: 23px;
  font-size: 20px;
  font-weight: 400;
}
.case_item_list li:nth-child(1) {
  background: url(../images/ico_check.png) left 5px top 6px no-repeat #FFED92;
  background-size: 23px;
  padding-right: 20px;
  margin-bottom: 5px;
}
.case_item_list li:nth-child(1) em {
  font-weight: 700;
}
.case_item_list li:nth-child(1) span {
  font-weight: 700;
  color: #036ED6;
}
.case_item_list li:nth-child(2) {
  margin-right: 40px;
}

@media screen and (max-width: 1200px) {
  .case {
    padding: 10vw 0;
  }
  .case_txt {
    margin-bottom: 3.33vw;
  }
  .case_item {
    border-radius: 2.5vw;
    padding: 1.67vw;
    box-shadow: 0 0 1.67vw rgba(1, 61, 194, 0.2);
  }
  .case_item:nth-child(4),
  .case_item:nth-child(5),
  .case_item:nth-child(6) {
    margin-top: 2.5vw;
  }
  .case_item:nth-child(6) {
    padding: 2.92vw 6.67vw;
  }
  .case_item_ico {
    width: 7.67vw;
    height: 6.92vw;
    margin-bottom: 1.67vw;
  }
  .case_item_ttl {
    font-size: 1.67vw;
  }
  .case_item_txt {
    font-size: 2.92vw;
  }
  .case_item_txt em {
    font-size: 5.42vw;
  }
  .case_item_pic {
    max-width: 23.33vw;
    margin-bottom: 0.83vw;
  }
  .case_item_ttl02 {
    font-size: 2.5vw;
  }
  .case_item_txt02 {
    font-size: 1.67vw;
  }
  .case_item_ttl03 {
    margin-left: 0em;
    font-size: 2.92vw;
    margin-bottom: 0.83vw;
  }
  .case_item_txt03 {
    font-size: 1.67vw;
    margin-bottom: 1.67vw;
  }
  .case_item_list li {
    padding-left: 3.17vw;
    background-size: 1.92vw;
    font-size: 1.67vw;
  }
  .case_item_list li:nth-child(1) {
    padding-right: 1.67vw;
    margin-bottom: 0.42vw;
  }
  .case_item_list li:nth-child(2) {
    margin-right: 3.33vw;
  }
}
@media screen and (max-width: 767px) {
  .case {
    padding: 16vw 0;
  }
  .case_txt {
    margin-bottom: 8vw;
  }
  .case_item {
    border-radius: 2.67vw;
    padding: 2.67vw 0;
    box-shadow: 0 0 2.67vw rgba(1, 61, 194, 0.2);
  }
  .case_item:nth-child(4), .case_item:nth-child(5) {
    margin-top: 8vw;
    padding: 2.67vw 5.33vw;
  }
  .case_item:nth-child(6) {
    margin-top: 8vw;
    padding: 6.67vw 4vw;
  }
  .case_item_ico {
    width: 7.2vw;
    height: 6.4vw;
    margin: 0 auto 1.33vw;
  }
  .case_item_ttl {
    font-size: 3.2vw;
  }
  .case_item_txt {
    font-size: 2.93vw;
  }
  .case_item_txt em {
    font-size: 6.67vw;
    font-weight: 800;
  }
  .case_item_pic {
    max-width: 100%;
    margin: 0 auto 2.67vw;
  }
  .case_item_ttl02 {
    font-weight: 500;
    font-size: 3.2vw;
  }
  .case_item_txt02 {
    font-size: 2.67vw;
  }
  .case_item_ttl03 {
    font-size: 5.87vw;
    margin-bottom: 4vw;
  }
  .case_item_txt03 {
    font-size: 4.27vw;
    margin-bottom: 5.33vw;
  }
  .case_item_list {
    display: block;
  }
  .case_item_list li {
    padding-left: 10.13vw;
    background: url(../images/ico_check.png) left 1.33vw top 0.53vw no-repeat;
    background-size: 6.13vw;
    font-size: 4.27vw;
  }
  .case_item_list li:nth-child(1) {
    background: url(../images/ico_check.png) left 1.33vw top 0.53vw no-repeat #FFED92;
    background-size: 6.13vw;
    padding-right: 5.33vw;
    margin-bottom: 1.33vw;
  }
  .case_item_list li:nth-child(2) {
    margin-right: 0;
  }
  .case_item_list li + li {
    margin-top: 2.67vw;
  }
}
/*----------------------------------------------------- */
/*  process           */
/*----------------------------------------------------- */
.process {
  padding: 120px 0;
  background: #DDF3FF;
}

.process_pic {
  max-width: 1120px;
  margin: 0 auto 40px;
  filter: drop-shadow(0 0 20px rgba(1, 61, 194, 0.2));
}

.process_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.process_txt img {
  width: 90px;
}
.process_txt h3 {
  font-size: 30px;
  font-weight: 700;
}
.process_txt p {
  font-size: 20px;
  margin-left: -0.25em;
}

@media screen and (max-width: 1200px) {
  .process {
    padding: 10vw 0;
  }
  .process_pic {
    margin-bottom: 3.33vw;
    filter: drop-shadow(0 0 1.67vw rgba(1, 61, 194, 0.2));
  }
  .process_txt img {
    width: 7.5vw;
  }
  .process_txt h3 {
    font-size: 2.5vw;
  }
  .process_txt p {
    font-size: 1.67vw;
  }
}
@media screen and (max-width: 767px) {
  .process {
    padding: 16vw 0;
  }
  .process .cmn_ttl {
    margin-bottom: 8vw;
  }
  .process_pic {
    max-width: 298.67vw;
    margin-bottom: 8vw;
    filter: drop-shadow(0 0 2.67vw rgba(1, 61, 194, 0.2));
  }
  .process_txt img {
    width: 16vw;
  }
  .process_txt h3 {
    font-size: 6.67vw;
  }
  .process_txt p {
    font-size: 3.73vw;
  }
}
/*----------------------------------------------------- */
/*  footer           */
/*----------------------------------------------------- */
.footer {
  background: #55626F;
  padding: 36px 0;
  color: #fff;
  font-size: 23px;
  font-weight: 700;
}
.footer .inner {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.footer_list {
  display: flex;
}
.footer_list a {
  color: #fff;
  font-size: 23px;
  font-weight: 400;
  margin: 20px;
}
.footer_list li + li::before {
  content: "｜";
}
.footer_copy {
  margin-top: 38px;
  font-size: 20px;
  font-weight: 400;
}

@media screen and (max-width: 1200px) {
  .footer {
    padding: 3vw 0;
    font-size: 1.92vw;
  }
  .footer_list a {
    font-size: 1.92vw;
  }
  .footer_copy {
    font-size: 1.667vw;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 3.2vw 0;
    font-size: 3.73vw;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .footer .inner {
    display: block;
  }
  .footer_list {
    margin-bottom: 2.67vw;
  }
  .footer_list a {
    font-size: 3.73vw;
    margin: 6px;
  }
  .footer_copy {
    text-align: center;
    margin-top: 20px;
    font-size: 2.67vw;
  }
}
/*----------------------------------------------------- */
/*  form           */
/*----------------------------------------------------- */
.form {
  padding: 120px 0;
  background: #F4F4F4;
}

.form_txt {
  text-align: center;
  margin-bottom: 40px;
}

.form_box {
  max-width: 1090px;
  background: #fff;
  border-radius: 30px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  padding: 78px 64px;
  margin: 0 auto;
}

@media screen and (max-width: 1200px) {
  .form {
    padding: 10vw 0;
  }
  .form_txt {
    margin-bottom: 3.33vw;
  }
  .form_box {
    border-radius: 2.5vw;
    padding: 6.5vw 5.33vw;
    box-shadow: 0 0 1.67vw rgba(0, 0, 0, 0.2);
  }
}
@media screen and (max-width: 767px) {
  .form {
    padding: 16vw 0;
  }
  .form .cmn_ttl {
    margin-bottom: 5.33vw;
  }
  .form_txt {
    text-align: center;
    margin-bottom: 5.33vw;
  }
  .form_box {
    border-radius: 2.67vw;
    box-shadow: 0 0 2.67vw rgba(0, 0, 0, 0.2);
    padding: 9.07vw 4vw;
  }
}
/*----------------------------------------------------- */
/*  application form           */
/*----------------------------------------------------- */
.app_form {
  width: 100%;
}

.app_block + .app_block {
  margin-top: 50px;
}

.app_block_ttl {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
  border-bottom: 1px solid #444444;
  letter-spacing: 0.02em;
  display: inline-block;
}

.app_block_sub {
  font-size: 20px;
  font-weight: 700;
}

.app_row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.app_row + .app_row {
  margin-top: 35px;
}

.app_label {
  width: 280px;
  font-size: 25px;
  font-weight: 500;
  padding-top: 14px;
  line-height: 1.4;
  white-space: nowrap;
}

.app_req {
  color: #CC4A4A;
  font-weight: 500;
}

.app_field {
  position: relative;
  flex: 1;
  min-width: 0;
}

/* input / select / date */
.app_input,
.app_textarea,
.app_select_input {
  width: 100%;
  padding: 15px 10px;
  font-size: 25px;
  font-weight: 500;
  background: #fff;
  border: 1px solid #E2E2E2;
  border-radius: 10px;
  outline: none;
  transition: 0.2s ease-in-out;
}

.app_input::placeholder,
.app_textarea::placeholder {
  color: #B7B7B7;
}

.app_input:focus,
.app_textarea:focus,
.app_select_input:focus {
  border-color: rgba(3, 110, 214, 0.45);
  box-shadow: 0 0 0 4px rgba(3, 110, 214, 0.12);
}

.app_textarea {
  height: 200px;
}

.app_note {
  font-size: 16px;
}
.app_note span {
  font-size: 14px;
  letter-spacing: -0.08em;
}

/* select arrow */
.app_select {
  position: relative;
  max-width: 466px;
}

.app_select_input {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 52px;
}

.app_select_ico {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid #8B8B8B;
  border-bottom: 2px solid #8B8B8B;
  pointer-events: none;
}

/* date icon */
.app_date {
  position: relative;
  max-width: 466px;
}

.app_post {
  max-width: 466px;
}

/* 3 columns row */
.app_row_cols3 {
  gap: 20px;
}

.app_col {
  width: calc((100% - 40px) / 3);
}

.app_row_cols3 .app_label {
  width: auto;
  padding-top: 0;
  margin-bottom: 10px;
  white-space: normal;
}

/* upload block */
.app_upload_box {
  background: #FAFAFA;
  padding: 40px;
}

/* birth_group */
.birth_group {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
}

.birth_group .app_select {
  flex: none !important;
}

.birth_year {
  width: 150px;
}

.birth_month,
.birth_day {
  width: 150px;
}

.birth_unit {
  font-size: 25;
  font-weight: 500;
  margin-right: 5px;
}

.birth_group .app_select_input {
  padding-left: 10px;
}

@media (max-width: 768px) {
  .birth_group {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 15px 10px;
    width: 180px !important;
  }

  .birth_group .app_select.birth_year,
  .birth_group .app_select.birth_month,
  .birth_group .app_select.birth_day {
    width: 100% !important;
  }

  .birth_unit {
    margin-right: 0;
    line-height: 44px; /
  }
}

/* -----------------------------
  upload
------------------------------ */
.app_row_upload {
  align-items: flex-start;
}

.app_upload {
  display: flex;
  align-items: center;
  gap: 15px;
}

.app_upload_main {
  max-width: 400px;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #E2E2E2;
  border-radius: 10px;
  padding: 8px 15px;
}

.app_upload_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #8A8A8A;
  background: #F7F7F7;
  padding: 7px;
  cursor: pointer;
  user-select: none;
}

.app_upload_btn_txt {
  font-size: 25px;
  color: #8A8A8A;
  line-height: 1;
}

.app_upload_hint {
  font-size: 20px;
  color: #8A8A8A;
  white-space: nowrap;
}

.app_upload_input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

.app_upload_status {
  max-width: 223px;
  font-size: 25px;
  color: #8A8A8A;
  word-break: break-all;
  letter-spacing: -0.05em;
}

/* check */
.app_row_check .app_label {
  padding-top: 2px;
}

.app_check {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  cursor: pointer;
  user-select: none;
}

.app_check_input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.app_check_box {
  width: 21px;
  height: 21px;
  border: 2px solid #A6A6A6;
  border-radius: 3px;
  background: #fff;
  position: relative;
  flex: 0 0 auto;
  z-index: 10;
  margin-top: 10px;
}
.app_check_box::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 29px;
  height: 29px;
  border: 4px solid #CC4A4A;
  z-index: -1;
}

.app_check_txt {
  font-size: 25px;
}
.app_check_txt a {
  text-decoration: underline;
}

/* checked mark */
.app_check_input:checked + .app_check_box {
  background: #CC4A4A;
}

.app_check_input:checked + .app_check_box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

/* terms area */
.app_row_terms {
  padding-top: 0;
  border: 1px solid #F1F1F1;
}

.app_terms_body {
  height: 260px;
  overflow: auto;
  padding: 16px 25px;
  font-size: 25px;
}

/* submit */
.app_submit {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}

.app_submit_btn {
  width: 100%;
  max-width: 720px;
  border: none;
  border-radius: 999em;
  font-size: 28px;
  padding: 18px 0;
  font-weight: 700;
  background: #DCDCDC;
  color: #8A8A8A;
  cursor: not-allowed;
  transition: 0.3s ease-in-out;
}

.form_note {
  text-align: center;
  margin: 30px auto 0;
  display: flex;
  justify-content: center;
}

.form_note a {
  text-decoration: underline;
}

/* disabled（初期） */
.app_submit_btn:disabled {
  background: #DCDCDC;
  color: #8A8A8A;
  cursor: not-allowed;
  opacity: 1;
}

/* 有効時（JSで is_active を付与） */
.app_submit_btn.is_active {
  background: #0036BE;
  color: #fff;
  cursor: pointer;
}
.app_submit_btn.is_active:hover {
  opacity: 0.7;
}

/* 入力後 */
.app_input:not([type=date]):not(:placeholder-shown),
.app_textarea:not(:placeholder-shown) {
  background: #EAF4FF;
  border-color: #036ED6;
}

.app_select_input:valid {
  background: #EAF4FF;
  border-color: #036ED6;
}

.app_input.is-filled,
.app_textarea.is-filled {
  background: #EAF4FF;
  border-color: #036ED6;
}

.app_upload_main.is-filled {
  background: #EAF4FF;
  border-color: #036ED6;
}

/* エラー */
.is-error .app_input,
.is-error .app_textarea {
  background: #FFEAEA;
  border-color: #CC4A4A;
}
.is-error .app_select_input {
  background: #FFEAEA;
  border-color: #CC4A4A;
}
.is-error .app_upload_main {
  background: #FFEAEA;
  border-color: #CC4A4A;
}
.is-error .app_upload_status {
  color: #CC4A4A;
}
.is-error .error_txt {
  position: absolute;
  bottom: -1.5em;
  left: 0;
  background: url(../images/ico_error.png) left top 7px no-repeat;
  background-size: 14px;
  padding-left: 20px;
  font-size: 16px;
  color: #CC4A4A;
}

@media screen and (max-width: 1200px) {
  .app_block + .app_block {
    margin-top: 4.17vw;
  }
  .app_block_ttl {
    font-size: 2.5vw;
    margin-bottom: 2.5vw;
  }
  .app_block_sub {
    font-size: 1.67vw;
  }
  .app_row {
    gap: 1vw;
  }
  .app_row + .app_row {
    margin-top: 2.92vw;
  }
  .app_label {
    width: 18.17vw;
    font-size: 2.08vw;
    padding-top: 1.17vw;
  }
  /* input / select / date */
  .app_input,
  .app_textarea,
  .app_select_input {
    padding: 1.25vw 0.83vw;
    font-size: 2.08vw;
    border-radius: 0.83vw;
  }
  .app_input:focus,
  .app_textarea:focus,
  .app_select_input:focus {
    box-shadow: 0 0 0 0.33vw rgba(3, 110, 214, 0.12);
  }
  .app_note {
    font-size: 1.33vw;
  }
  .app_note span {
    font-size: 1.17vw;
  }
  /* select arrow */
  .app_select {
    max-width: 38.83vw;
  }
  .app_select_input {
    padding-right: 4.33vw;
  }
  /* date */
  .app_date {
    max-width: 38.83vw;
  }
  .app_post {
    max-width: 38.83vw;
  }
  /* 3 columns row */
  .app_row_cols3 {
    gap: 1.67vw;
  }
  .app_col {
    width: calc((100% - 3.33vw) / 3);
  }
  .app_row_cols3 .app_label {
    margin-bottom: 0.83vw;
  }
  /* upload block */
  .app_upload_box {
    padding: 3.33vw;
  }
  /* upload */
  .app_upload {
    gap: 1.25vw;
  }
  .app_upload_main {
    max-width: 33.33vw;
    gap: 0.83vw;
    border-radius: 0.83vw;
    padding: 0.67vw 1.25vw;
  }
  .app_upload_btn {
    padding: 0.58vw;
  }
  .app_upload_btn_txt {
    font-size: 2.08vw;
  }
  .app_upload_hint {
    font-size: 1.67vw;
  }
  .app_upload_status {
    max-width: 18.58vw;
    font-size: 2.08vw;
  }
  /* check */
  .app_check {
    gap: 1.25vw;
  }
  .app_check_txt {
    font-size: 2.08vw;
  }
  /* terms area */
  .app_terms_body {
    height: 21.67vw;
    padding: 1.33vw 2.08vw;
    font-size: 2.08vw;
  }
  /* submit */
  .app_submit {
    margin-top: 4.17vw;
  }
  .app_submit_btn {
    max-width: 60vw;
    font-size: 2.33vw;
    padding: 1.33vw 0;
  }
}
@media screen and (max-width: 767px) {
  .app_block + .app_block {
    margin-top: 10.67vw;
  }
  .app_block_ttl {
    font-size: 4.8vw;
    margin-bottom: 4vw;
  }
  .app_block_sub {
    font-size: 4.27vw;
  }
  .app_row {
    display: block;
  }
  .app_row + .app_row {
    margin-top: 6.4vw;
  }
  .app_label {
    width: 100%;
    font-size: 4.27vw;
    padding-top: 0;
    margin-bottom: 10px;
  }
  .app_input,
  .app_textarea,
  .app_select_input {
    padding: 3.2vw 2.67vw;
    font-size: 4.27vw;
    border-radius: 2.67vw;
  }
  .app_note {
    font-size: 3.2vw;
  }
  .app_note span {
    font-size: 3.2vw;
  }
  .app_select_ico {
    right: 2.67vw;
    width: 2.67vw;
    height: 2.67vw;
  }
  .app_select,
  .app_date,
  .app_post {
    max-width: 100%;
  }
  .app_col {
    width: 100%;
  }
  .app_col + .app_col {
    margin-top: 6.4vw;
  }
  .app_upload_box {
    padding: 5.33vw 4.53vw;
  }
  .app_upload {
    display: block;
    gap: 0;
  }
  .app_upload_main {
    max-width: 106.67vw;
    width: 100%;
    border-radius: 2.67vw;
    padding: 2.13vw 4vw;
  }
  .app_upload_btn {
    padding: 1.87vw;
  }
  .app_upload_btn_txt {
    font-size: 4.27vw;
    line-height: 1;
  }
  .app_upload_hint {
    font-size: 4.27vw;
  }
  .app_upload_status {
    display: none;
  }
  .app_row_check .app_label {
    padding-top: 0;
  }
  .app_check {
    padding-left: 1.33vw;
    gap: 4vw;
    margin-top: 1.33vw;
  }
  .app_check_box {
    width: 4.8vw;
    height: 4.8vw;
    margin-top: 1.33vw;
  }
  .app_check_box::before {
    top: -2.13vw;
    left: -2.13vw;
    width: 6.4vw;
    height: 6.4vw;
    border: 0.8vw solid #CC4A4A;
  }
  .app_check_input:checked + .app_check_box::after {
    left: 1.07vw;
    top: 0.27vw;
    width: 1.07vw;
    height: 2.13vw;
  }
  .app_check_txt {
    font-size: 4.27vw;
  }
  .app_note_inline {
    margin-top: 1.33vw;
    padding-left: 9.33vw;
  }
  .app_terms_body {
    height: 26.67vw;
    padding: 2.13vw 3.2vw;
    font-size: 4.27vw;
  }
  .app_submit {
    margin-top: 10.67vw;
  }
  .app_submit_btn {
    width: 100%;
    max-width: 64vw;
    font-size: 6.13vw;
    padding: 2.13vw 0;
    font-weight: 700;
  }
  .form_note {
    margin: 20px auto 0;
    justify-content: flex-start;
  }
  .is-error .error_txt {
    background: url(../images/ico_error.png) left top 0.8vw no-repeat;
    background-size: 3.73vw;
    padding-left: 4.27vw;
    font-size: 3.2vw;
  }
  .is-error .app_upload_btn_txt,
  .is-error .app_upload_hint {
    color: #CC4A4A;
  }
}
/*----------------------------------------------------- */
/*  confirm           */
/*----------------------------------------------------- */
.confirm_ttl {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 10px;
}
.confirm_ttl span {
  background: #E9E9E9;
  padding: 0 20px;
}

.confirm_table {
  width: 100%;
}
.confirm_table tr {
  border-bottom: 1px solid #D6D6D6;
}
.confirm_table th {
  width: 25%;
  padding: 12px 20px;
  font-size: 18px;
  font-weight: 500;
  text-align: right;
}
.confirm_table td {
  width: 75%;
  padding: 12px 20px;
  font-size: 18px;
}

.confirm_btn_list {
  max-width: 690px;
  margin: 50px auto 0;
  display: flex;
  justify-content: space-between;
}
.confirm_btn_list li:nth-child(1) {
  width: 31%;
}
.confirm_btn_list li:nth-child(2) {
  width: 62%;
}

.confirm_btn {
  display: block;
  width: 100%;
  border-radius: 999em;
  font-size: 28px;
  text-align: center;
  padding: 16px 0;
  font-weight: 700;
  background: #8A8A8A;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.confirm_btn:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .confirm_ttl {
    font-size: 4.8vw;
    margin-bottom: 2.67vw;
  }
  .confirm_ttl span {
    padding: 0 5.33vw;
  }
  .confirm_table {
    width: 100%;
  }
  .confirm_table th {
    width: 35%;
    padding: 2.13vw 2.67vw 2.13vw 0;
    font-size: 4.27vw;
  }
  .confirm_table td {
    width: 65%;
    padding: 2.13vw 0 2.13vw 2.67vw;
    font-size: 4.27vw;
  }
  .confirm_btn_list {
    margin: 8vw auto 0;
    display: block;
  }
  .confirm_btn_list li:nth-child(1) {
    width: 60%;
    margin: 0 auto 5.33vw;
  }
  .confirm_btn_list li:nth-child(2) {
    width: 100%;
    text-align: center;
  }
  .confirm_btn {
    font-size: 6.13vw;
    padding: 1.5vw 0;
  }
}
/*----------------------------------------------------- */
/*  thanks           */
/*----------------------------------------------------- */
.thanks_box {
  text-align: center;
}

.thanks_logo {
  max-width: 330px;
  margin: 0 auto 10px;
}

.thanks_ttl {
  font-size: 24px;
  margin-bottom: 30px;
}

.thanks_link {
  display: block;
  max-width: 500px;
  border-top: 2px solid #013AC1;
  padding-top: 30px;
  font-size: 30px;
  font-weight: 700;
  margin: 0 auto 10px;
}

.thanks_txt {
  font-size: 20px;
  margin-bottom: 10px;
}

.thanks_note {
  font-size: 18px;
}

.thanks_btn {
  max-width: 620px;
  margin: 70px auto 0;
}
.thanks_btn a {
  display: block;
  width: 100%;
  border-radius: 999em;
  font-size: 28px;
  text-align: center;
  padding: 16px 0;
  font-weight: 700;
  background: #0036BE;
  color: #fff;
  transition: 0.3s ease-in-out;
}
.thanks_btn a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .thanks_logo {
    max-width: 70%;
  }
  .thanks_ttl {
    font-size: 5.33vw;
    margin-bottom: 5.33vw;
  }
  .thanks_link {
    padding-top: 5.33vw;
    font-size: 6.4vw;
  }
  .thanks_txt {
    font-size: 4.8vw;
  }
  .thanks_note {
    font-size: 4.27vw;
  }
  .thanks_btn {
    max-width: 165.33vw;
    margin: 13.33vw auto 0;
  }
  .thanks_btn a {
    font-size: 6.13vw;
    padding: 2.13vw 0;
  }
}
/*----------------------------------------------------- */
/*  company           */
/*----------------------------------------------------- */
.company {
  padding: 120px 0;
}

.company_table {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.company_table tr {
  border-top: 2px solid #D1D1D1;
}
.company_table th,
.company_table td {
  padding: 45px 20px;
  font-size: 24px;
}
.company_table th {
  width: 28%;
  color: #036ED6;
  vertical-align: middle;
  font-weight: 700;
  position: relative;
  word-break: keep-all;
}
.company_table th::after {
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  width: 100%;
  height: 2px;
  background: #036ED6;
}
.company_table td {
  width: 72%;
}

@media screen and (max-width: 767px) {
  .company {
    padding: 16vw 0;
  }
  .company_table th,
  .company_table td {
    padding: 5.33vw 2.67vw;
    font-size: 4.27vw;
  }
}
/*----------------------------------------------------- */
/*  tokutei           */
/*----------------------------------------------------- */
.tokutei {
  padding: 120px 0;
}

.tokutei_table {
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-top: 2px solid #C2C2C2;
}
.tokutei_table th,
.tokutei_table td {
  border-bottom: 2px solid #C2C2C2;
  padding: 45px 20px;
  font-size: 24px;
}
.tokutei_table th {
  width: 28%;
  background: #F6F6F6;
  vertical-align: middle;
  font-weight: 700;
  color: #333;
}
.tokutei_table td {
  width: 72%;
}

.tokutei_ttl {
  margin: 70px 0;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  color: #036ED6;
}

@media screen and (max-width: 767px) {
  .tokutei {
    padding: 16vw 0;
  }
  .tokutei_table th,
  .tokutei_table td {
    padding: 5.33vw 2.67vw;
    font-size: 4.27vw;
  }
  .tokutei_ttl {
    margin: 8vw 0;
    font-size: 5.33vw;
  }
}
/*----------------------------------------------------- */
/*  policy           */
/*----------------------------------------------------- */
.policy {
  padding: 120px 0;
}
.policy p {
  font-size: 24px;
  margin-bottom: 70px;
}
.policy .inner {
  max-width: 1000px;
}
.policy h3 {
  font-size: 38px;
  font-weight: 700;
  color: #036ED6;
}
.policy h4 {
  font-size: 32px;
  font-weight: 700;
  color: #036ED6;
}
.policy .ttl {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 0;
}
.policy .policy_txt02 {
  text-align: right;
  margin-bottom: 70px;
}
.policy .policy_note {
  font-size: 20px;
}

.policy_list {
  margin-bottom: 70px;
  position: relative;
  margin-left: 1em;
  text-indent: -1em;
}
.policy_list li::before {
  content: "・";
}

@media screen and (max-width: 767px) {
  .policy {
    padding: 16vw 0;
  }
  .policy p {
    font-size: 4.27vw;
    margin-bottom: 8vw;
  }
  .policy h3 {
    font-size: 5.33vw;
  }
  .policy h4 {
    font-size: 4.8vw;
  }
  .policy .ttl {
    font-size: 4.27vw;
  }
  .policy .policy_txt02 {
    margin-bottom: 8vw;
  }
  .policy .policy_note {
    font-size: 3.73vw;
  }
  .policy_list {
    margin-bottom: 8vw;
  }
}

.error_txt {
  display: none;
}

.is-error .app_check_box {
  border: 2px solid #CC4A4A !important;
  background: #FFEAEA;
}

.is-error .error_txt {
  display: block !important;
}

.app_field {
  position: relative;
}


/*----------------------------------------------------- */
/*  request           */
/*----------------------------------------------------- */
.main_request {
  background: #F4F4F4;
}

.request {
  padding: 120px 0;
}

.request .inner {
  max-width: 900px;
}

.request_wrap {
  display: flex;
  justify-content: space-between;
}

.request_contents {
  width: 42%;
}
.request_contents h3 {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}
.request_contents h3 span {
  display: inline-block;
  position: relative;
}
.request_contents h3 span::before {
  content: "";
  position: absolute;
  left: -30px;
  top: calc(50% - 28px);
  width: 3px;
  height: 56px;
  transform: rotate(-30deg);
  background: #333;
}
.request_contents h3 span::after {
  content: "";
  position: absolute;
  right: -30px;
  top: calc(50% - 28px);
  width: 3px;
  height: 56px;
  transform: rotate(30deg);
  background: #333;
}

.request_list {
  margin-top: 70px;
  position: relative;
  background: #fff;
  border: 3px solid #036ED6;
  border-radius: 0 20px 20px 20px;
  padding: 25px 35px;
}
.request_list h4 {
  position: absolute;
  top: -40px;
  left: -3px;
  background: #036ED6;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  padding: 0 20px;
  border-radius: 10px 10px 0 0;
}
.request_list ul li {
  padding-left: 33px;
  background: url(../images/ico_check.png) left top 10px no-repeat;
  background-size: 23px;
  font-size: 24px;
  font-weight: 700;
}
.request_list ul li + li {
  margin-top: 10px;
}

.request_form {
  width: 52%;
  background: #fff;
  border-radius: 30px;
  padding: 50px 40px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.app_wrap {
  margin-bottom: 10px;
}
.app_wrap .app_label {
  width: 100%;
  margin-bottom: 10px;
  font-size: 18px;
}

.app_req02 {
  font-size: 16px;
  color: #CC4A4A;
  border: 1px solid #CC4A4A;
  border-radius: 20px;
  padding: 2px 10px;
  vertical-align: baseline;
  margin-right: 10px;
}

.request_check {
  margin-top: 30px;
  margin-left: 8px;
}

.request_check .app_check_txt {
  font-size: 18px;
  padding-top: 5px;
}

.app_submit_request {
  max-width: 420px;
  margin: 50px auto 0;
}

#document-form {
  scroll-margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .request {
    padding: 16vw 0;
  }
  .request_wrap {
    margin-top: -20px;
    display: block;
  }
  .request_contents {
    width: 100%;
    margin-bottom: 8vw;
  }
  .request_contents h3 {
    font-size: 4.8vw;
    margin-bottom: 5.3vw;
  }
  .request_contents h3 span::before {
    top: calc(50% - 5.6vw);
    width: 0.53vw;
    height: 11.2vw;
  }
  .request_contents h3 span::after {
    top: calc(50% - 5.6vw);
    width: 0.53vw;
    height: 11.2vw;
  }
  .request_list {
    margin-top: 13.3vw;
    padding: 5.3vw 5.3vw;
    border-radius: 0 10px 10px 10px;
  }
  .request_list h4 {
    top: -8vw;
    left: -0.8vw;
    font-size: 4.8vw;
  }
  .request_list ul li {
    padding-left: 8vw;
    background: url(../images/ico_check.png) left top 1.3vw no-repeat;
    background-size: 5.3vw;
    font-size: 4.8vw;
  }
  .request_list ul li + li {
    margin-top: 2.7vw;
  }
  .request_form {
    width: 100%;
    border-radius: 5.3vw;
    padding: 8vw 5.3vw;
  }
  .app_wrap {
    margin-bottom: 2.7vw;
  }
  .app_wrap .app_label {
    width: 100%;
    margin-bottom: 2.7vw;
    font-size: 4.8vw;
  }
  .app_req02 {
    font-size: 3.7vw;
  }
  .request_check {
    margin-top: 8vw;
    margin-left: 2.1vw;
  }
  .request_check .app_check_txt {
    font-size: 4.2vw;
    padding-top: 0;
  }
  .app_submit_request {
    max-width: 100%;
    margin: 8vw auto 0;
  }
  .app_submit_request .app_submit_btn {
    max-width: 100%;
    font-size: 5.5vw;
  }
}
