@charset "UTF-8";
/* =================================================================
 共通
================================================================= */
#entry_type_form {
  padding: 70px 40px;
}
@media screen and (max-width: 767px) {
  #entry_type_form {
    padding: 20px 15px 40px;
  }
}
#entry_type_form .radio-group {
  flex-flow: column;
  width: fit-content;
  margin: 0 auto;
}

#entry_form {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  #entry_form {
    width: 100%;
    padding: 0 15px;
  }
}

.content-box {
  padding-top: 0;
  max-width: 1200px;
}
.content-box + .large-title {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .content-box {
    padding-left: 0;
    padding-right: 0;
  }
}

.large-title {
  max-width: 1200px;
}

template.active {
  display: block;
}

.form {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1em;
  margin-top: 1em;
}
.form .title {
  font-weight: 400;
  flex: none;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .form .title {
    width: 100%;
  }
}
.form .title label {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  position: relative;
  padding-left: 3em;
}
.form .title label .icon-required {
  position: absolute;
  top: 0.2083333333em;
  left: 0;
}
.form .data {
  width: calc(100% - 16.25em - 1em);
}
.form .data .data-unit:not(:has(.error.msg)) {
  padding-bottom: 1.375em;
}
@media screen and (max-width: 767px) {
  .form .data {
    width: 100%;
  }
}
.form .data .multiple-data.name, .form .data .multiple-data.name-kana {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 6px;
}
.form .data .multiple-data.name label, .form .data .multiple-data.name-kana label {
  flex: none;
  width: 2em;
}
.form .data .multiple-data.name input + label,
.form .data .multiple-data.name .input-text + label, .form .data .multiple-data.name-kana input + label,
.form .data .multiple-data.name-kana .input-text + label {
  width: 3em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .form .data .multiple-data.name, .form .data .multiple-data.name-kana {
    display: flex;
    align-items: flex-start;
    flex-flow: column wrap;
    justify-content: flex-start;
    gap: 1em;
    height: 6em;
  }
  .form .data .multiple-data.name label, .form .data .multiple-data.name-kana label {
    width: 3em;
    padding-left: 0;
  }
  .form .data .multiple-data.name input,
  .form .data .multiple-data.name .input-text, .form .data .multiple-data.name-kana input,
  .form .data .multiple-data.name-kana .input-text {
    width: calc((100% - 1em) / 2);
  }
  .form .data .multiple-data.name input + label,
  .form .data .multiple-data.name .input-text + label, .form .data .multiple-data.name-kana input + label,
  .form .data .multiple-data.name-kana .input-text + label {
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .form .select-box.company_name {
    width: 80%;
  }
}

.form .title.com_label {
  width: 100%;
  flex: none;
}
.form .title.com_label p {
  width: fit-content;
  padding: 0.3125em 1.25em;
  color: #327093;
  border: 1px solid #327093;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
}
.form .title.com_label p span {
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .form .title.com_label p span {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .form .title.com_label p span {
    font-size: 13px;
  }
}
.form .title.com_label p.small span {
  font-size: 12px;
}
@media screen and (max-width: 1080px) {
  .form .title.com_label p.small span {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .form .title.com_label p.small span {
    font-size: 12px;
  }
}
.form .title.com_label + dd {
  display: none;
}

.select-box:has(.error) {
	background-color: #FFF5F5;
}

.select2-container .select2-selection--single {
  height: unset;
}

.select2-container--default .select2-selection--single {
  border-width: 0;
  padding: 0.75em 2.25em 0.75em 0.75em;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.3;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none;
}
.select2-container--default .select2-results > .select2-results__options {
  max-height: min(50vh, 400px);
}
.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: inherit;
}
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered {
  color: #333333;
}

.error + .select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #FFF5F5;
}
.error + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__rendered {
  color: #C70000;
}

/* =================================================================
 Input
================================================================= */
#entry_form.entry.en .form .data .multiple-data {
  display: flex;
  align-items: flex-start;
  flex-flow: column wrap;
  justify-content: flex-start;
  height: calc(46.8px + 1em + 28px);
}
#entry_form.entry.en .form .data .multiple-data label {
  width: 8em;
  padding: 0;
}
#entry_form.entry.en .form .data .multiple-data input,
#entry_form.entry.en .form .data .multiple-data .input-text {
  width: calc((100% - 1em) / 2);
}
#entry_form.entry.en .form .data .multiple-data *:nth-child(1) {
  order: 2;
}
#entry_form.entry.en .form .data .multiple-data *:nth-child(2) {
  order: 2;
}
#entry_form.entry .form .title {
  margin-top: 0.5714285714em;
}
#entry_form.entry .radio-group {
  padding: 0.5714285714em 0 0;
}
#entry_form.entry .checkbox-group {
  padding: 0.5714285714em 0 0;
  display: flex;
  flex-flow: column;
  gap: 1em;
}
#entry_form.entry .content-title {
  width: calc(100% + 120px);
  margin: 1.1111111111em 0 0 -3.3333333333em;
  padding-left: 1.5em;
}
#entry_form.entry .content-title::before {
  left: 0.3em;
}
@media screen and (max-width: 767px) {
  #entry_form.entry .content-title {
    width: 100%;
    margin: 1.3333333333em 0 0;
  }
}
#entry_form.entry .content-title + .form {
  margin-top: 2.5em;
}
#entry_form.entry .questionnaire {
  border: 1px solid #CDCDCD;
  margin-top: 0;
  margin-bottom: 3.75em;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  #entry_form.entry .questionnaire {
    padding: 0 1em;
  }
}
#entry_form.entry .questionnaire.inviter-questionnaire {
  padding: 0 1em 1em;
}
#entry_form.entry .questionnaire .content-title {
  width: 100%;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  #entry_form.entry .questionnaire .content-title + .form {
    margin-top: 0.5em;
    gap: 0.5em;
  }
}
#entry_form.entry .questionnaire .form .title {
  width: 100%;
  font-weight: 700;
}
#entry_form.entry .questionnaire .form .data {
  width: 100%;
}
#entry_form.entry .questionnaire .form .data + .title {
  border-top: 1px solid #CDCDCD;
  padding-top: 1em;
}
#entry_form.entry .inviters {
  display: none;
}
#entry_form.entry .inviters.active {
  display: block;
}
#entry_form.entry .button.add-inviter.hidden {
  display: none;
}

#agree.disabled + label {
  color: #CDCDCD;
  cursor: default;
}
#agree.disabled + label::before {
  border-color: #CDCDCD;
  background-color: #FFFFFF;
}

/* =================================================================
 confirm
================================================================= */
#entry_form.confirm .form {
  gap: 0;
  align-items: stretch;
}
#entry_form.confirm .title {
  width: calc(15em + 1em);
  padding: 1.25em 0 1.25em 0.5em;
  font-weight: 700;
  border-bottom: 1px solid #CDCDCD;
}
@media screen and (max-width: 767px) {
  #entry_form.confirm .title {
    padding: 0.7142857143em 0 0;
    border-bottom-width: 0;
  }
}
#entry_form.confirm .title.com_label {
  width: 100%;
  padding-top: 2.5em;
  padding-bottom: 0;
  border-bottom-width: 0;
}
#entry_form.confirm .data {
  padding: 1.25em 0;
  border-bottom: 1px solid #CDCDCD;
}
@media screen and (max-width: 767px) {
  #entry_form.confirm .data {
    padding: 0 0 0.7142857143em;
  }
}
#entry_form.confirm .form + .form {
  margin-top: 0;
}

/* =================================================================
 complete
================================================================= */
.message-box p {
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .message-box p {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .message-box p {
    font-size: 13px;
  }
}
.message-box .contact {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 1.875em 0 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .message-box .contact {
    flex-flow: column;
    border-top: 1px solid #CDCDCD;
    margin-top: 1.875em;
    gap: 1em;
  }
}
.message-box .contact dt {
  font-weight: 400;
  padding-right: 1.875em;
}
@media screen and (max-width: 767px) {
  .message-box .contact dt {
    padding-right: 0;
  }
}
.message-box .contact dd {
  padding-left: 1.875em;
  border-left: 1px solid #CDCDCD;
}
@media screen and (max-width: 767px) {
  .message-box .contact dd {
    padding-left: 0;
    border-left-width: 0;
    text-align: center;
  }
}
.message-box .contact dd .time {
  margin-top: 0.8em;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.message-box .contact dd .time p:nth-child(1) {
  padding-right: 1em;
}
.message-box .contact dd .time p:nth-child(2) {
  padding-left: 1em;
  border-left: 1px solid #CDCDCD;
}

/* =================================================================
 ご登録の流れ／よくあるご質問
================================================================= */
body.registration_process #main,
body.q_and_a #main {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  padding-bottom: 0;
}
body.registration_process #main-content {
  flex: auto;
  width: 100%;
  background-color: #F4F4F4;
  padding-bottom: 7.5em;
  padding-top: 1.875em;
}
@media screen and (max-width: 767px) {
  body.registration_process #main-content {
    padding: 1.0714285714em 1.0714285714em 4.2857142857em;
  }
}
body.registration_process .content-box {
  background-color: #FFFFFF;
  width: 100%;
  max-width: 1100px;
  padding: 1.875em;
}
@media screen and (max-width: 767px) {
  body.registration_process .content-box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
body.registration_process .step_list {
  padding: 0 0.9375em;
}
body.registration_process .step_list .list_items {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 2.5em;
  border-bottom: 1px solid #CDCDCD;
  padding: 1.25em 0;
}
body.registration_process .step_list .step_wrap {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0;
  color: #327093;
  font-weight: 600;
  flex: none;
}
body.registration_process .step_list .step_wrap .text {
  font-size: 10px;
}
@media screen and (max-width: 1080px) {
  body.registration_process .step_list .step_wrap .text {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.registration_process .step_list .step_wrap .text {
    font-size: 10px;
  }
}
body.registration_process .step_list .step_wrap .step_num {
  font-size: 18px;
}
@media screen and (max-width: 1080px) {
  body.registration_process .step_list .step_wrap .step_num {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.registration_process .step_list .step_wrap .step_num {
    font-size: 15px;
  }
}
body.q_and_a #main-content {
  flex: auto;
  width: 100%;
  background-color: #F4F4F4;
  padding-bottom: 7.5em;
  padding-top: 1.875em;
}
@media screen and (max-width: 767px) {
  body.q_and_a #main-content {
    padding: 1.0714285714em 1.0714285714em 4.2857142857em;
  }
}
body.q_and_a .content-box {
  background-color: #FFFFFF;
  width: 100%;
  max-width: 1100px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  body.q_and_a .content-box {
    padding-left: 15px;
    padding-right: 15px;
  }
}
body.q_and_a .question {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0;
  cursor: pointer;
  padding: 1.1111111111em 0.8333333333em;
  font-weight: 700;
  font-size: 18px;
}
@media screen and (max-width: 1080px) {
  body.q_and_a .question {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.q_and_a .question {
    font-size: 15px;
  }
}
body.q_and_a .question .text {
  padding: 0 1.7777777778em;
  position: relative;
}
body.q_and_a .question .text::before {
  content: "Q.";
  color: #327093;
  font-weight: 600;
  display: inline-block;
  width: 2em;
  position: absolute;
  left: 0;
}
body.q_and_a .question + .answer {
  padding: 0;
  height: 0;
}
body.q_and_a .question .icons {
  position: absolute;
  right: calc(20px + 0.5em);
  top: calc(20px + 0.375em);
}
body.q_and_a .question .icons .icon {
  aspect-ratio: 1;
  width: 1em;
  height: auto;
  position: relative;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
body.q_and_a .question .icons .icon::before, body.q_and_a .question .icons .icon::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #327093;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body.q_and_a .question .icons .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
body.q_and_a .question.open .icons .icon::after {
  display: none;
}
body.q_and_a .question.open + .answer {
  padding: 0 0.9375em 1.25em;
  height: auto;
  border-top: 1px solid #CDCDCD;
}
body.q_and_a .question.open + .answer .text {
  padding: 1.25em 0 0 2em;
  position: relative;
}
body.q_and_a .question.open + .answer .text::before {
  content: "A.";
  color: #327093;
  font-weight: 600;
  display: inline-block;
  width: 2em;
  position: absolute;
  left: 0;
}
body.q_and_a .question.open + .answer .dot_list {
  padding-left: 2em;
}
body.q_and_a .question.open + .answer .dot_list .list_items {
  padding-left: 1em;
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  width: 100%;
}
body.q_and_a .question.open + .answer .dot_list .list_items::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 6px;
  height: auto;
  border-radius: 99px;
  background-color: #333333;
  position: absolute;
  left: 0;
}
body.q_and_a .answer {
  position: relative;
  overflow: hidden;
}


/* 追加  */
/* =================================================================
 招待者ブロック
================================================================= */
.inviters .content-title .invitee_close_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: auto;
    color: #C70000;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: .5em;
    transform: translateY(-50%);
}
.inviters .content-title .invitee_close_btn::before {
    content: 'X 削除';
    font-size: max(75%, 10px);
}
.inviters .content-title .invitee_close_btn.en::before {
    content: 'X Remove';
}
