.definition-label-red {
  background-color: #A5336F;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  padding: 4px 12px;
  height: 22px !important;
}

.register-input {
  border-radius: 10px;
  border: 1px solid #CCC;
  background: #FFF;
  height: calc(2.25rem + 10px) !important;
}

.apply-form__table {
  width: 100%;
}

.apply-form__table tbody th,
.apply-form__table tbody td {
  /* padding: 1.875rem 0; */
}

.apply-form__table tbody th {
  border-top: 1px solid #dee0e1;
  background-color: #F0F0F0;
  padding-left: 1.4375rem;
  padding-right: 1.4375rem;
  vertical-align: middle;
  width: 340px;
}

.last-th,
.last-td {
  border-bottom: 1px solid #dee0e1;
}

.apply-form__table tbody td {
  border-top: 1px solid #dee0e1;
  /* border-right: 1px solid #dee0e1; */
  padding-left: 1.25rem;
}

.apply-input-company,
.apply-input-name,
.apply-input-tel,
.apply-input-mail {
  padding: 8px 15px;
  border: 1px solid #dee0e1;
}

.apply-input-company {
  width: 62%;
}

.apply-input-name {
  width: 30%;
}

.apply-input-name:first-child {
  margin-right: 8px;
}

.apply-input-tel,
.apply-input-mail {
  width: 47%;
}

.apply-concent-area {
  margin: 4.375rem 0 6rem 0;
}

.apply-concent {
  width: 36%;
  padding: 12px 52px;
  position: relative;
  display: inline-block;
  margin-bottom: 1.56rem;
}

.apply-concent:before {
  background: #ffffff;
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 29px;
  width: 20px;
  height: 20px;
  margin-top: -8px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}

.apply-concent:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 36px;
  width: 0;
  height: 0;
  margin-top: -4px;
  border: 6px solid transparent;
  border-left: 8px solid #053769;
}

.block-content-inquiry {
  position: relative;
  bottom: 40px;
}

.terms-service {
  display: block;
}

.essential {
  position: relative;
  display: block;
}

.essential:after {
  content: '必須';
  font-size: 14px;
  position: absolute;
  left: 83%;
  top: 10%;
  padding: 2px 12px;
  background: #053769;
  color: #ffffff;
  letter-spacing: 2px;
  font-weight: 400;
}

.register-banner {
  height: 240px;
  background-image: linear-gradient(to right, #E4E9F0, rgba(255, 255, 255, 0.00) 45%), url("../img/register-banner.jpeg");
  background-color: #E4E9F0;
  background-repeat: no-repeat;
  background-size: 65% auto;
  background-position: 128% bottom;
}

a {
  text-decoration: none;
  color: #333333;
}

.flowchart {
  padding: 10px 20px 10px 0;
  display: flex;
}

.flowchart .flowchart-card {
  display: inline-block;
  width: 393px;
  height: 110px;
  margin: 0px 10px 0 0;
  position: relative;
}

.flowchart .flowchart-content {
  display: flex;
  align-items: center;
  padding: 30px
}

.flowchart .flowchart-card a:before {
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  left: 0px;
  border-style: solid;
  border-width: 55px 0px 55px 35px;
  border-color: transparent transparent transparent #fff;
  z-index: 0;
}

.flowchart .flowchart-card:first-child a:before {
  border-color: transparent;
}

.flowchart .flowchart-card a {
  text-decoration: none;
}

.flowchart .flowchart-card a:hover {
  color: black;
}

.flowchart .flowchart-card a:after {
  content: " ";
  height: 0;
  width: 0;
  top: 0;
  position: absolute;
  right: -34px;
  border-style: solid;
  border-width: 55px 0px 56px 35px;
  border-color: transparent transparent transparent #EEE;
  z-index: 1;
}

.flowchart .flowchart-card.active-a {
  background: #FFE3F2;
  z-index: 1;
}

.flowchart .flowchart-card a.active::after {
  border-left-color: #FFE3F2;
}

.flowchart .flowchart-card {
  display: block;
  background: #EEE;
}

#flowchart-pc {
  display: flex;
}

#flowchart-sp {
  display: none;
}

.chevron {
  position: relative;
  text-align: center;
  padding: 12px;
  margin-bottom: 6px;
  width: 100%;
  height: 135px;
  z-index: 1;
}

.chevron:before {
  content: '';
  position: absolute;
  left: 0;
  height: 100%;
  width: 51%;
  background: #EEEEEE;
  transform: skew(0deg, 6deg);
}

.chevron:after {
  content: '';
  position: absolute;
  right: 0;
  height: 100%;
  width: 50%;
  background: #EEEEEE;
  transform: skew(0deg, -6deg);
}

.chevron-first {
  position: relative;
  text-align: center;
  padding: 12px;
  margin-bottom: 6px;
  width: 100%;
  height: 135px;
  z-index: 1;
}

.chevron-first:before {
  content: '';
  position: absolute;
  left: 0;
  height: 100%;
  width: 51%;
  background: #FFE3F2;
  transform: skew(0deg, 6deg);
}

.chevron-first:after {
  content: '';
  position: absolute;
  right: 0;
  height: 100%;
  width: 50%;
  background: #FFE3F2;
  transform: skew(0deg, -6deg);
  z-index: 0;
}

.chevron-first .chevron-content:first-child {
  background-color: #FFE3F2;
}

.chevron-content {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  top: -8px;
  left: 0;
  padding: 25px 0;
}

.border-bottom-end {
  border-bottom: 1px solid #DDD !important;
}

.arrow-right-register {
  padding: 4px !important
}

.main-register-head p {
  font-size: 1.5625rem;
}

.time-note {
  font-size: 0.8125rem;
}

.register-title {
  font-size: 1.5625rem;
}

@media screen and (max-width: 1199px) {
  .flowchart-content-text {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  #flowchart-pc {
    display: none !important;
  }

  #flowchart-sp {
    display: flex !important;
  }

  .step {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .step .step-card {
    display: inline-block;
    width: 393px;
    height: 110px;
    margin: 0px 10px 0 0;
    position: relative;
  }

  .step .step-content {
    display: flex;
    align-items: center;
    padding: 30px
  }

  .step .step-card a:before {
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    left: 0px;
    border-style: solid;
    border-width: 55px 0px 55px 35px;
    border-color: transparent transparent transparent #fff;
    z-index: 0;
  }

  .step .step-card:first-child a:before {
    border-color: transparent;
  }

  .step .step-card a {
    text-decoration: none;
  }

  .step .step-card a:hover {
    color: black;
  }

  .step .step-card a:after {
    content: " ";
    height: 0;
    width: 0;
    top: 0;
    position: absolute;
    right: -34px;
    border-style: solid;
    border-width: 55px 0px 56px 35px;
    border-color: transparent transparent transparent #EEE;
    z-index: 1;
  }

  .step .step-card.active-a {
    background: #FFE3F2;
    z-index: 1;
  }

  .step .step-card a.active::after {
    border-left-color: #FFE3F2;
  }

  .step .step-card {
    display: block;
    background: #EEE;
  }
}

@media only screen and (max-width: 991px) {
  .main-block {
    width: 100% !important;
  }

  .main-content-register {
    padding: 0 10px;
  }

  .definition-table-head {
    display: block;
  }

  .definition-table-body {
    display: block;
    width: 100% !important;
  }

  .definition-input-left,
  .definition-input-right {
    width: 49% !important;
  }

  .definition-text-field {
    width: 100% !important;
  }

  .register-btn-group {
    width: 100% !important;
  }

  .main-register-head p {
    font-size: 1.125rem;
  }

  .time-note {
    font-size: 0.6875rem;
  }

  .publication-block {
    width: 100%;
  }

  .register-title {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 972px) {
  .register-banner-sp {
    height: 240px;
    background-image: linear-gradient(to right, #E4E9F0 calc(100% - 70vw), rgba(255, 255, 255, 0.00) 45%), url(../img/register-banner.jpeg) !important;
    background-size: 84% auto !important;
    background-position: 165% bottom !important;
  }
}

@media screen and (max-width: 752px) {
  .register-banner-sp {
    height: 175px !important;
    background-image: linear-gradient(to right, #E4E9F0 calc(100% - 70vw), rgba(255, 255, 255, 0.00) 45%), url(../img/register-banner.jpeg) !important;
    background-size: 84% auto !important;
    background-position: 100% bottom !important;
  }
}

@media screen and (max-width: 552px) {
  .register-banner-sp {
    height: 175px !important;
    background-image: linear-gradient(to right, #E4E9F0, rgba(255, 255, 255, 0.00) 45%), url(../img/register-banner.jpeg) !important;
    background-size: 100% auto !important;
    background-position: 100% bottom !important;
  }

  .sign-up__td-text {
    font-size: 12px;
  }
}

@media screen and (max-width: 452px) {
  .register-banner-sp {
    height: 165px !important;
    background-image: linear-gradient(to right, #E4E9F0, rgba(255, 255, 255, 0.00) 40%), url(../img/register-banner.jpeg) !important;
    background-size: 115% auto !important;
    background-position: 0% bottom !important;
  }

  .text-banner {
    font-size: 1.3125rem;
  }
}

@media (min-width: 1200px) {

  .apply-step,
  .apply-form {
    width: 1100px;
  }
}

@media (max-width: 767px) {

  .apply-step,
  .apply-form {
    width: 90%;
  }

  .apply-step {
    padding-top: 11rem;
  }

  .apply-step__container {
    margin: 0 auto;
    width: 80%;
  }

  .apply-step__container-body {
    flex: 0 0 100%;
  }

  .apply-step__container-body:not(:last-child) {
    margin-bottom: 20px;
  }

  .apply-step__container-body:after {
    display: none;
  }

  /** テーブル **/
  .apply-form__table tbody th,
  .apply-form__table tbody td {
    display: block;
  }

  .apply-form__table tbody th {
    padding: 0.8125rem 1.25rem 0.9375rem 1.25rem;
    width: 100% !important;
  }

  .apply-form__table tbody td {
    padding: 1.25rem 0;
    /* border-left: 1px solid #dee0e1; */
  }

  .last-th {
    border-bottom: none;
  }

  .apply-input-company,
  .apply-input-tel,
  .apply-input-mail {
    width: 100%;
  }

  .apply-input-name {
    width: 48%;
  }

  .apply-concent {
    width: 95%;
  }

  .essential:after {
    left: 78%;
    top: 5%;
    font-size: 11px;
  }

  .block-content-inquiry {
    position: relative;
    bottom: 0 !important;
  }
}
