/*=============================================*/
/*Common Base*/
/*=============================================*/
/********************************************/
/* @common  */
/********************************************/
.tmp-border_box {
  padding: 30px;
  border: 1px solid #CCC;
}
@media (max-width: 768px) {
  .tmp-border_box {
    padding: 15px;
  }
}

.blank_link {
  color: #C81133;
  text-decoration: underline !important;
}
.blank_link:hover {
  opacity: 0.7;
}

.tmp-num_list {
  counter-reset: num;
}
.tmp-num_list li {
  position: relative;
  padding-left: 20px;
}
.tmp-num_list li::before {
  counter-increment: num;
  position: absolute;
  left: 0;
  top: 0;
  content: counter(num) ".";
  width: 3ch;
}

.mod-basic_table table {
  width: 100%;
}
.mod-basic_table table th, .mod-basic_table table td {
  border: 1px solid #CCC;
}
.mod-basic_table table th {
  padding: 10px;
}
.mod-basic_table table td {
  padding: 20px 25px;
}
@media (max-width: 768px) {
  .mod-basic_table table td {
    padding: 10px 15px;
  }
}
.mod-basic_table table .gray {
  background-color: #F1EEF0;
}

.mod-simple_table table {
  width: 100%;
}
.mod-simple_table th, .mod-simple_table td {
  border: 1px solid #CCC;
  padding: 20px 25px;
  text-align: left;
}
@media (max-width: 768px) {
  .mod-simple_table th, .mod-simple_table td {
    padding: 10px 15px;
  }
}

/********************************/
/* @member */
/********************************/
.page_member_block,
.page_contact_block {
  padding-bottom: 150px;
}
@media (max-width: 768px) {
  .page_member_block,
  .page_contact_block {
    padding-bottom: 80px;
  }
}

/********************************/
/* @contact form */
/********************************/
.base-form_wrapper .required-note {
  padding-bottom: 10px;
  font-size: clamp(1.6rem, 1.9vw, 1.8rem);
  font-weight: 700;
  color: #C81133;
}

.base-form_wrapper #form dl {
  display: flex;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dl {
    display: block;
  }
}
.base-form_wrapper #form dt {
  width: 25%;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dt {
    width: 100%;
  }
}
.base-form_wrapper #form dt span {
  color: #C81133;
}
.base-form_wrapper #form dd {
  width: 75%;
  font-size: 1.2rem;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dd {
    width: 100%;
  }
}
.base-form_wrapper #form dd input[type=text],
.base-form_wrapper #form dd select,
.base-form_wrapper #form dd textarea {
  width: 100%;
  padding: 15px 10px;
  border: 1px solid #CCC;
  border-radius: 10px;
}
.base-form_wrapper #form dd select {
  padding-right: 30px;
}
.base-form_wrapper #form dd table {
  width: 100%;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dd .name_table tr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .base-form_wrapper #form dd .name_table td {
    width: 100%;
  }
}
.base-form_wrapper #form dd .addr_table tr {
  vertical-align: top;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dd .addr_table tr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.base-form_wrapper #form dd .addr_table th {
  font-size: 1.4rem;
}
.base-form_wrapper #form dd .addr_table td {
  padding-bottom: 20px;
}
@media (max-width: 768px) {
  .base-form_wrapper #form dd .addr_table td {
    width: 100%;
  }
}
.base-form_wrapper #form dd .addr_table .post_num {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}
.base-form_wrapper #form dd .addr_table .post_num input {
  margin-left: 10px;
}
.base-form_wrapper #form dd .select-wrapper {
  position: relative;
}
.base-form_wrapper #form dd .select-wrapper::after {
  position: absolute;
  content: "";
  right: 10px;
  top: 50%;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/ico/ico-arrow-black.svg) no-repeat center/contain;
  transform: translateY(-50%) rotate(90deg);
}
.base-form_wrapper #form .volunteer input {
  margin-right: 5px;
  width: 15px;
  height: 15px;
  cursor: pointer;
  accent-color: #C81133;
  border: 1px solid #CCC;
}
.base-form_wrapper #form .volunteer input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #CCC;
  border-radius: 4px;
  background: #fff;
  position: relative;
  transition: border-color 0.2s;
}
.base-form_wrapper #form .volunteer input[type=checkbox]:checked {
  background-color: #C81133;
  border-color: #C81133;
}
.base-form_wrapper #form .volunteer input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.base-form_wrapper #form .volunteer .box {
  display: flex;
  align-items: center;
  gap: 20px;
}
.base-form_wrapper #form .volunteer label {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}
.base-form_wrapper #form .submit_btn {
  position: relative;
  display: block;
  max-width: 200px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
}
.base-form_wrapper #form .submit_btn::after {
  position: absolute;
  right: 10px;
  top: 50%;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/ico/ico-arrow-white.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
.base-form_wrapper #form .submit_btn input[type=submit] {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 15px 30px 15px 10px;
  background-color: #C81133;
  color: #fff;
  font-size: 1.6rem;
  border-radius: 10px;
  cursor: pointer;
}
.base-form_wrapper #form .submit_btn input[type=submit]:hover {
  opacity: 0.7;
}
.base-form_wrapper #form .check_box_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
}
.base-form_wrapper #form .check_box_list label {
  display: flex;
  align-items: center;
  width: max-content;
  font-size: 1.4rem;
}
.base-form_wrapper #form .check_box_list input {
  margin-right: 5px;
  width: 15px;
  height: 15px;
  cursor: pointer;
  accent-color: #C81133;
  border: 1px solid #CCC;
}
.base-form_wrapper #form .check_box_list input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #CCC;
  background: #fff;
  position: relative;
  transition: border-color 0.2s;
}
.base-form_wrapper #form .check_box_list input[type=checkbox]:checked {
  background-color: #C81133;
  border-color: #C81133;
}
.base-form_wrapper #form .check_box_list input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.base-form_wrapper #form .ttl {
  padding-bottom: 0.75em;
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
}
.base-form_wrapper #form .agree a {
  position: relative;
  color: #C81133;
  padding-right: 25px;
}
.base-form_wrapper #form .agree a::after {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/ico/ico-tab.svg) no-repeat center/contain;
  transform: translateY(-50%);
}
.base-form_wrapper #form .agree p > input {
  margin-right: 5px;
  width: 15px;
  height: 15px;
  cursor: pointer;
  accent-color: #C81133;
  border: 1px solid #CCC;
}
.base-form_wrapper #form .agree input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  top: 2px;
  border: 1px solid #CCC;
  background: #fff;
  position: relative;
  transition: border-color 0.2s;
}
.base-form_wrapper #form .agree input[type=checkbox]:checked {
  background-color: #C81133;
  border-color: #C81133;
}
.base-form_wrapper #form .agree input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  pointer-events: none;
}
.base-form_wrapper #form .contactTextField p {
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .base-form_wrapper #form .contactTextField p {
    font-size: 1.4rem;
  }
}

.contact_wrapper .g-recaptcha {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .contact_wrapper .g-recaptcha {
    margin-top: 20px;
  }
}/*# sourceMappingURL=page02.css.map */