@charset "utf-8";

/*----------------------------------------------------------
   #header
----------------------------------------------------------*/
#header {
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 48px;
  box-shadow: inset 0px -1px 0px rgba(204, 213, 220, 0.5);
  background-color: #fff;
}

#header .hd_title {
  color: #3b4043;
  font-size: 13px;
  line-height: 48px;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60%;
  white-space: nowrap;
  margin: auto;
}

#header .back {
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 100%;
}

#header .back img {
  display: block;
  top: 50%;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

.entry_form {
  margin-top: 64px;
}

.entry_form form dl {
  padding: 0 16px;
}

.hide {
  display: none;
}

/*----------------------------------------------------------
   #description
----------------------------------------------------------*/
#description {
  padding-top: 68px;
}

#description .first {
  font-size: 17px;
  font-weight: bold;
}

#description .second {
  margin-top: 7px;
  font-size: 13px;
}

/*----------------------------------------------------------
   #form
----------------------------------------------------------*/
/* layout
----------------------------------------------------------*/
#form dt {
  margin: 20px 0 6px;
  font-size: 12px;
  font-weight: bold;
}

#form dt .req {
  display: inline-block;
  height: 20px;
  margin-right: 8px;
  padding: 0 6px;
  border-radius: 4px;
  background-color: #ff3300;
  color: #fff;
  font-size: 10px;
  line-height: 20px;
  font-weight: bold;
}

#form dd {
  position: relative;
}

#form dd .caution {
  margin-top: 8px;
  padding: 0 0 0 24px;
  background: url("/images/ico_caution.svg") no-repeat 0 0;
  background-size: 14px auto;
  font-size: 11px;
  line-height: 1.2;
}

#form dd .caution.career_mail_warning {
  background-image: url("/images/ico_warning_red.svg");
  color: #ff3300;
}

#form dd .reports_caution {
  margin: 10px 0 9px 0;
}

#form .additional_txt {
  margin-top: 12px;
}

.accordion_btn {
  align-items: center;
  background: #F0F3F5;
  color: #3b4043;
  display: flex;
  font-size: 13px;
  font-weight: bold;
  height: 48px;
  justify-content: center;
  margin: 28px 0 6px;
  cursor: pointer;
}

.open {
  display: block;
}

.close {
  display: none;
}

.icon-arrow {
  height: 12px;
  margin-top: 6px;
  margin-left: 15px;
  width: 12px;
}

.icon-arrow-down {
  background: url("/images/ico_arrow_down.svg") no-repeat 0 0;
}

.icon-arrow-up {
  background: url("/images/ico_arrow_up.svg") no-repeat 0 0;
}

/* input, textarea, select
----------------------------------------------------------*/
#form dl input,
#form dl textarea,
#form dl .select_wrap,
#form dl .select_wrap select {
  width: 100%;
}

#form dl .short input,
#form dl .short .select_wrap {
  width: 100%;
}

#form dd.multi {
  display: flex;
  gap: 12px;
}

#form dl .short.multi {
  letter-spacing: -.36em;
}

#form dl .short.multi .select_wrap {
  display: inline-block;
  margin-bottom: 10px;
  letter-spacing: normal;
}

/* input */
#form dl input {
  height: 48px;
  padding: 0 20px;
  border: 1px solid #ccd5dc;
}

#form dl .short input {
  border-radius: 4px;
}

#form dl input:focus {
  padding: 0 19px;
  border: 2px solid #007AFF;
  transition: border-color .3s;
}

#form dl input::placeholder {
  color: #ccd5dc;
}

/* input[type="radio"] */
#form dl input[type="radio"] {
  display: none;
}

#form dl input[type="radio"] + label {
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
  display: inline-block;
  font-weight: bold;
}

#form dl input[type="radio"] + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #ccd5dc;
  border-radius: 50%;
}

#form dl input[type="radio"]:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 14px;
  height: 14px;
  background: #939ca5;
  border-radius: 50%;
}

#form dl textarea {
  height: 176px;
  margin-top: 10px;
  padding: 10px 20px;
  border: 1px solid #ccd5dc;
}

/* input[type="date"] */
#form dl input[type="date"] {
  z-index: 1;
  position: relative;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#form dl input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
}

#form dl input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
  appearance: none;
}

#form dl input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 46px;
  padding: 0;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

/* ios, android用 */
#form dl input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
}


/* select */
#form dl .select_wrap {
  position: relative;
  display: inline-block;
}

#form dl .select_wrap::after {
  z-index: 5;
  content: '';
  position: absolute;
  top: 50%;
  right: 19px;
  width: 6px;
  height: 6px;
  margin-top: -5px;
  border: 0;
  border-bottom: solid 1px #939ca5;
  border-right: solid 1px #939ca5;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#form dl .select_wrap select {
  z-index: 1;
  position: relative;
  height: 48px;
  padding: 0 20px;
  border: 1px solid #ccd5dc;
  border-radius: 4px;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

#form dl .select_wrap select:focus {
  padding: 0 19px;
  border: 2px solid #FF3300;
  transition: border-color .3s;
}

@media screen and (max-width: 375px) {
  #form dl input,
  #form dl .select_wrap select {
    padding-right: 15px;
    padding-left: 15px;
  }

  #form dl input:focus,
  #form dl .select_wrap select:focus {
    padding-right: 14px;
    padding-left: 14px;
  }
  #form dl .short input,
  #form dl .short .select_wrap {
    max-width: 160px;
  }
}

/* .req .error
----------------------------------------------------------*/
#form dl dd input.error,
#form dl dd textarea.error {
  border: 1px solid #FF3300;
  background: #fff2f6;
}

/* .error_txt
----------------------------------------------------------*/
#form dl dd .error_txt {
  top: 50px;
  left: 0;
  display: none;
  color: #ff3300;
  font-size: 10px;
  font-weight: bold;
}

#form dl dd .error_txt.is-active {
  display: block;
}

/* modal error window, confirm window
----------------------------------------------------------*/
.error-alert #mErrorWindow,
.error-alert #mOverlay,
.confirm-alert #mConfirmWindow,
.confirm-alert #mOverlay {
  display: block;
  opacity: 1;
  visibility: visible;
}

.error-alert #wrap,
.confirm-alert #wrap {
  -webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  -ms-filter: blur(10px);
  filter: blur(10px);
}

#mOverlay {
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  background: rgba(240, 243, 245, 0.6);
  opacity: 0;
  visibility: hidden;
}

#mErrorWindow, #mConfirmWindow {
  z-index: 1000;
  position: fixed;
  top: 34.33%;
  left: 0;
  right: 0;
  display: none;
  max-width: 375px;
  margin: 0 auto;
  opacity: 0;
  visibility: hidden;
  transition: all .8s;
}

#mErrorWindow .block,
#mConfirmWindow .block {
  padding: 44px 0 30px;
  border-radius: 4px;
  box-shadow: 0px 7px 64px rgba(0, 0, 0, 0.07);
  background-color: #fff;
}

#mErrorWindow .block p,
#mConfirmWindow .block p {
  padding-top: 38px;
  background: url("/images/ico_exclamation.svg") no-repeat 50% 0;
  background-size: 21px auto;
  color: #6f7478;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

#mErrorWindow .to_back,
#mConfirmWindow .btn_wrapper .to_send,
#mConfirmWindow .btn_wrapper .to_back {
  margin-top: 20px;
}

.btn_wrapper {
  display: flex;
  gap: 9px;
}

#mErrorWindow .to_back a,
#mConfirmWindow .btn_wrapper .to_send a,
#mConfirmWindow .btn_wrapper .to_back a {
  width: 166px;
  height: 48px;
  margin: 0 auto;
  line-height: 48px;
}

#mConfirmWindow .btn_wrapper .to_send a {
  background-color: #ffffff;
  border: 1px solid #ccd5dc;
  color: #939ca5;
}

/* .btn
----------------------------------------------------------*/
#form .link_txt {
  margin-top: 70px;
  margin-bottom: 72px;
  text-align: center;
}

#form .entry {
  margin: 28px 0;
}

#form .button_wrap {
  max-width: 768px;
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #fff;
  z-index: 10;
  padding: 8px;
}

#form .to_report {
  margin-top: 20px;
}

#form .to_report input {
  background-color: #939ca5;
  font-size: 13px;
}

#form .to_report input.disabled {
  background-color: #ccd5dc;
}

#form .to_apply input {
  background-color: #ff3300;
  font-size: 13px;
}

#form .to_apply input.disabled {
  background-color: #ccd5dc;
}

#form .padding {
  padding-top: 72px;
}

/*
 * abtest_pattern_b
 */
 #form .abtest_pattern_b .to_apply input {
  font-size: 18px;
}

#form .padding.abtest_pattern_b {
  padding-top: 60px;
}

#form .abtest_pattern_b.check {
  margin-top: 28px;
}

#form .abtest_pattern_b input[type=checkbox] {
  display: none;
}

#form .abtest_pattern_b .label_privacy_policy {
  display: flex;
  font-size: 13px;
  font-weight: bold;
  height: 24px;
}

#form .abtest_pattern_b .label_privacy_policy #privacy_policy_checkbox {
  background-image: url("/images/ico_complete.svg");
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px;
}

#form .abtest_pattern_b .label_privacy_policy #privacy_policy_checkbox.checked {
  background-image: url("/images/ico_complete_blue.svg");
}

#form .abtest_pattern_b .label_privacy_policy .link_txt {
  font-size: 13px;
  display: inline;
  margin: 0;
}

#form .abtest_pattern_b .label_privacy_policy .link_txt a {
  text-decoration: underline;
}

/*
 * abtest_pattern_c
 */
 #form .abtest_pattern_c .to_apply {
  padding-top: 0;
}

#form .padding.abtest_pattern_c {
  padding-top: 100px;
}

#form .abtest_pattern_c #submit {
  height: 56px;
  width: 100%;
  background-color: #ff3300;
  border-radius: 8px;
}

#form .abtest_pattern_c #submit .button_text {
  font-size: 10px;
  font-weight: bold;
  color: #fff;
}

#form .abtest_pattern_c #submit.disabled {
  background-color: #ccd5dc;
}

#form .abtest_pattern_c #submit .button_text.large {
  font-size: 18px;
  margin-top: 2px;
}

#form .abtest_pattern_c .link_txt {
  margin: 5px 0;
}

.abtest_pattern_b, .abtest_pattern_c {
  display: none;
}

.abtest_pattern_c > .border-top {
  border-top: 1px solid rgba(204, 213, 220, 0.5);
  margin: 0 calc(50% - 50vw);
  max-width: 100vw !important;
  width: 100vw;
}

#toShow {
  position: fixed;
  bottom: 8px;
  left: 0;
  width: 100%;
}

#toShow a {
  background-color: #939ca5;
}

@media screen and (min-width: 768px) {
  #form .link_txt {
    margin-top: 40px;
  }
}

/*----------------------------------------------------------
   #complete
----------------------------------------------------------*/
#complete {
  margin-bottom: 40px;
  text-align: center;
}

#complete .complete_icon {
  width: 48px;
  height: 48px;
  margin-top: 88px;
}

#complete h1.title {
  padding: 40px 0 0;
  color: #6f7478;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

#complete #message {
  font-size: 13px;
  margin-top: 61px;
  text-align: center;
}

#complete .text {
  margin-top: 20px;
}

/*----------------------------------------------------------
   #report-complete
----------------------------------------------------------*/
#report-complete {
  padding-top: 88px;
  width: 60%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

#report-complete img {
  margin-left: auto;
  margin-right: auto;
}

#report-complete h2 {
  padding-top: 10px;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.4;
  color: #6f7478;
}

/*----------------------------------------------------------
   #report-privacy
----------------------------------------------------------*/
#report-privacy {
  padding-top: 88px;
}

#report-privacy h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  color: #6f7478;
}

#report-privacy h6 {
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
  color: #3b4043;
  margin: 0;
}

#report-privacy .section-wrapper {
  margin-top: 30px;
}

#report-privacy .section-wrapper section {
  margin-bottom: 40px;
}

#report-privacy .section-wrapper section h4 {
  margin: 0 0 8px 0;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
  color: #3b4043;
}

#report-privacy .section-wrapper section p {
  font-size: 13px;
  line-height: 1.6;
}
