.agree._check .agree_list-circle {
  width: 160px;
  margin: 0 auto;
}

.agree_contents {
  background-color: #ebf4e7;
}

.agree_title {
  display: flex;
  margin-bottom: 30px;
  justify-content: center;
  border-bottom: solid 1px #c7d6ca; 
  font-size: 16px;
  font-weight: 700;
  align-items: center;
  text-align: center;
}
.agree_title span {
  display: flex;
  height: 22px;
  width: 47px;
  margin-left: 8px;
  justify-content: center;
  background-color: #c03a3f;
  border-radius: 50px;
  color: #fff;
  font-size: 11px; 
  align-items: center;
}

.agree_list-num {
  list-style: none;
}
.agree_list-num > .agree_item {
  counter-increment: num; 
  display: flex;
}
.agree_list-num > .agree_item::before {
  content: counter(num) '.';
  margin-right: 8px;
  font-weight: 700;
}
.agree_list-num > .agree_item + li {
  margin-top: 25px;
}

.agree_list-circle {
  margin-top: 2px;
}
.agree_list-circle .agree_item {
  position: relative;
  display: flex;
  padding-left: 14px;
}
.agree_list-circle .agree_item::before {
  position: absolute;
  left: 0;
  top: 10px; 
  content: '';
  height: 6px;
  width: 6px;
  background-color: #2fa099;
  border-radius: 50%;
}
.agree_list-circle .agree_item + li {
  margin-top: 4px;
}

.agree_term {
  font-weight: 700;
}

.agree_description a {
  color: #0e7a9e;
  text-decoration: none;
}

.agree_description + .agree_description {
  margin-top: 27px;
}

.agree_check {
  margin-top: 40px;
  text-align: center;
}
.agree_check._error .agree_check-box + label:before {
  background-color: #fdf5f5;
  border-color: #d10808;
}
.agree_check._error .agree_check-box:checked + label:before {
  background-color: #a0a8ac;
  border-color: #a0a8ac;
}

.agree_check-box {
  display: none;
}
.agree_check-box + label {
  cursor: pointer; 
  position: relative;
  font-weight: 700;
}
.agree_check-box + label::before {
  position: absolute;
  left: -26px;
  top: 50%;
  content: '';
  display: block;
  height: 18px;
  width: 18px;
  background-color: #fff;
  border: solid 2px #a0a8ac;
  border-radius: 4px;
  box-sizing: border-box;
  transform: translateY(-50%);
}
.agree_check-box:checked + label::before {
  background-color: #a0a8ac;
  border: solid 2px #a0a8ac;
}
.agree_check-box:checked + label::after {
  position: absolute;
  left: -24px;
  top: 50%;
  content: '';
  display: block;
  height: 8px;
  width: 14px;
  background-image: url('/img/ico_check.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateY(-50%);
}

.agree_link {
  display: flex;
  margin-top: 60px; 
  justify-content: center;
}
.agree_link form {
  display: flex;
}

.agree_button {
  display: flex;
  height: 48px;
  max-width: 300px;
  margin: 0 auto;
  justify-content: center;
  background-color: #0e7a9e;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  align-items: center;
  line-height: 1.2;
  transition: color 0.3s, background 0.3s;
}
.agree_button span {
  position: relative;
}
.agree_button span:after {
  position: absolute;
  top: 50%;
  content: '';
  background-size: 100% 100%;
  transform: translateY(-50%);
  transition: background 0.3s;
}
.agree_button._arrow span:after {
  right: -36px; 
  height: 11px;
  width: 21px;
  background-image: url('/img/ico_allow.svg');
}
.agree_button._wide {
  max-width: 400px;
}
.agree_button._pdf span:after {
  right: -30px; 
  height: 20px;
  width: 17px;
  background-image: url('/img/ico_pdf.svg');
}
.agree_button._back {
  background-color: #99abb1;
}
.agree_button._recruit {
  background-color: #2fa099;
  letter-spacing: 0;
}
.agree_button._recruit._back {
  background-color: #99abb1;
}
.agree_button._disabled {
  pointer-events: none; 
  background-color: #ccc;
}

.entry_error {
  display: none;
}
.entry_error._error {
  display: block;
}

.entry_error-text {
  position: relative; 
  padding-left: 60px;
  color: #d10808;
  line-height: 2;
}
.entry_error-text:before {
  position: absolute;
  left: 0; 
  top: 10px;
  content: '';
  display: block;
  height: 44px;
  width: 44px;
  background-image: url('/img/ico_error.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.entry_link {
  display: flex;
  margin-top: 60px; 
  justify-content: center;
}

.entry_button {
  display: flex;
  height: 48px;
  max-width: 300px;
  margin: 0 auto;
  justify-content: center;
  background-color: #0e7a9e;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  align-items: center;
  line-height: 1.2;
  transition: color 0.3s, background 0.3s;
}
.entry_button span {
  position: relative;
}
.entry_button span:after {
  position: absolute;
  top: 50%;
  content: '';
  background-size: 100% 100%;
  transform: translateY(-50%);
  transition: background 0.3s;
}
.entry_button._arrow span:after {
  right: -36px; 
  height: 11px;
  width: 21px;
  background-image: url('/img/ico_allow.svg');
}
.entry_button._wide {
  max-width: 400px;
}
.entry_button._pdf span:after {
  right: -30px; 
  height: 20px;
  width: 17px;
  background-image: url('/img/ico_pdf.svg');
}
.entry_button._back {
  background-color: #99abb1;
}
.entry_button._recruit {
  background-color: #2fa099;
  letter-spacing: 0;
}
.entry_button._recruit._back {
  background-color: #99abb1;
}
.entry_button._disabled {
  pointer-events: none; 
  background-color: #ccc;
}
@media screen and (max-width: 767px) {
  .agree {
    margin-top: 60px;
  }
  .agree._check {
    margin-top: 30px;
  }
  .agree_contents {
    padding: 30px 15px;
  }
  .agree_title {
    padding-bottom: 15px;
  }
  .agree_link {
    padding: 0 30px; 
    flex-direction: column;
    align-items: center;
  }
  .agree_link form {
    width: 100%;
  }
  .agree_link form button {
    margin: 0 auto;
  }
  .agree_link form + form {
    margin-top: 16px;
  }
  .agree_button {
    width: 95.2381%;
    padding: 0 45px;
  }
  .agree_button._recruit {
    text-align: center;
  }
  .agree_button + .agree_button {
    margin-top: 16px;
  }
  .entry_inner {
    padding: 80px 0 60px;
  }
  .entry_lead {
    padding: 0 30px;
  }
  .entry_error {
    margin: 60px 0 0;
    padding: 0 30px;
  }
  .entry_link {
    padding: 0 30px; 
    flex-direction: column;
    align-items: center;
  }
  .entry_link form {
    width: 100%;
  }
  .entry_link form button {
    margin: 0 auto;
  }
  .entry_link form + form {
    margin-top: 16px;
  }
  .entry_button {
    width: 95.2381%;
    padding: 0 45px;
  }
  .entry_button._recruit {
    text-align: center;
  }
  .entry_button + .entry_button {
    margin-top: 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .agree {
    margin-top: 80px;
  }
  .agree._check {
    margin-top: 48px;
  }
  .agree_contents {
    padding: 52px 60px;
  }
  .agree_title {
    padding-bottom: 32px;
  }
  .agree_description a:hover {
    text-decoration: underline;
  }
  .agree_link form {
    width: 332px;
  }
  .agree_button {
    width: 100%;
  }
  .agree_button:hover {
    background-color: #1c90b7;
  }
  .agree_button._arrow {
    padding: 0 59px 0 60px;
  }
  .agree_button._recruit:hover {
    background-color: #29b1a8;
  }
  .agree_button._recruit._back:hover {
    background-color: #67b9b3;
  }
  .agree_button._disabled:hover {
    background-color: #ccc;
  }
  .agree_button {
    margin: 0 16px;
  }
  .entry_inner {
    max-width: 980px;
    margin: 0 auto; 
    padding: 80px 0;
  }
  .entry_error {
    margin: 80px 0 0;
  }
  .entry_button {
    width: 100%;
  }
  .entry_button:hover {
    background-color: #1c90b7;
  }
  .entry_button._arrow {
    padding: 0 59px 0 60px;
  }
  .entry_button._recruit:hover {
    background-color: #29b1a8;
  }
  .entry_button._recruit._back:hover {
    background-color: #67b9b3;
  }
  .entry_button._disabled:hover {
    background-color: #ccc;
  }
  .entry_button {
    margin: 0 16px;
  }
}
