/* ==============================================================
   Contact Form Styles - Form Specific Only
   Font sizes are scaled to 62.5% of original to match base html font-size
   ============================================================== */

/* Form element resets */
input,
textarea,
button,
select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
  font-family: inherit;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none !important;
  box-shadow: none;
}

button {
  cursor: pointer;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

b,
strong {
  font-weight: 700;
}

/* Utility Classes */
.container {
  margin: 0 auto;
  max-width: 1044px;
  position: relative;
  z-index: 10;
  padding-left: 20px;
  padding-right: 20px;
}

.anchor-link {
  position: relative;
  top: -100px;
  display: block;
  line-height: 0;
}

.wrapper {
  position: relative;
  z-index: 1;
}

@media (max-width: 750px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .anchor-link {
    top: -52px;
  }
}

/* Button Styles */
.btn {
  display: inline-block;
  color: #fff;
  background: #00b8cc;
  font-size: 1.19rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 50vh;
  min-width: 300px;
  text-align: center;
  padding: 19px 15px 20px;
  border: 1px solid #fff;
  transition: 0.3s;
}

.btn:hover:not(:disabled) {
  background: #ea6d93 !important;
  color: #fff;
}

.btn:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  cursor: not-allowed;
  opacity: 0.6;
}

/* Base font-size for form areas to match recruit page (62.5% base) */
.home .outline,
.home .table {
  font-size: 1rem;
}

.home .table {
  padding: 50px;
  background: #fbe0e9;
}

.home .compensation .table {
  display: none;
}

.home .table.tab2 {
  background: #cceffb;
}

.home .table.tab2 h3 {
  background: #00aeeb;
}

.home .table.active {
  display: block;
}

.home .table h3 {
  font-size: 1.25rem;
  line-height: 1;
  background: #ea6293;
  color: #fff;
  padding: 20px 30px;
  position: relative;
  font-weight: 700;
}

.home .table h3 span {
  position: relative;
  z-index: 10;
}

.home .table h3::after {
  content: '';
  position: absolute;
  width: 345px;
  height: 60px;
  background: url(../img/recruit/tab-nav1-tl.png) no-repeat;
  background-size: 100% !important;
  right: 0;
  top: 0;
}

.home .table ul li {
  line-height: 1.5;
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.home .table ul li .lbl {
  width: 238px;
  background: #ed78a2;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.home .table ul li .desc {
  color: #646464;
  background: #fff;
  flex: 1;
  padding: 30px;
}

.home .table ul li .desc .sm {
  font-size: 0.75rem;
}

.home .table ul li .desc .pr {
  width: 260px;
  display: flex;
  justify-content: space-between;
}

.home .table ul li .desc .pr span {
  padding-left: 10px;
}

.home .table ul li .desc.fm1 p {
  padding-bottom: 8px;
}

.home .table.tab2 ul li .lbl {
  background: #24b9ee;
}

@media (max-width: 960px) {
  .home .table {
    padding: 25px;
  }
  .home .compensation .tabs {
    margin-top: 50px;
  }
  .home .table ul li .lbl {
    font-size: 1.00rem;
  }
  .home .compensation {
    padding: 40px 0;
  }
}

@media (max-width: 750px) {
  .home .table ul li {
    display: unset;
  }
  .home .table ul li .desc {
    flex: auto;
  }
  .home .table ul li .lbl {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
  }
  .home .table ul li .desc {
    padding: 20px;
  }
  .home .table {
    padding: 25px 15px;
  }
  .home .compensation .tabs .nav-tabs li {
    padding: 24px 0px;
    padding-left: 10px;
    font-size: 1.12rem;
  }
}

@media (max-width: 374px) {
  .home .compensation .tabs .nav-tabs li {
    font-size: 1.00rem;
  }
}

/* Outline Section (Form) */
.home .outline {
  padding: 100px 0;
}

.home .outline .table {
  background: #e9d6e8;
}

.home .outline .table ul li .lbl {
  background: #a04d9c;
  padding-right: 73px;
  position: relative;
}

.home .outline .table ul li .lbl .cl1 {
  color: #faed00;
}

.home .outline .table ul li .lbl .tag {
  position: absolute;
  background: #faed00;
  color: #a04d9c;
  font-weight: 700;
  line-height: 1;
  min-width: 55px;
  text-align: center;
  padding: 6px 5px 8px;
  right: 18px;
  top: 50%;
  margin-top: -15px;
}

.home .outline .table h3 {
  background: #a04d9c;
}

.home .outline .table ul li .desc {
  font-size: 1.25rem;
  padding: 15px 30px;
}

.home .outline .table ul li .desc .span-block .wpcf7-list-item {
  display: block !important;
}

.home .outline .table .rd-box .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
  margin-bottom: 5px !important;
}

.home .outline .table .rd-box .wpcf7-list-item input {
  height: 18px;
  width: 18px;
  accent-color: #707070;
  margin: 0 !important;
  margin-right: 8px !important;
  position: relative;
  top: 2px;
}

.home .outline .table .chk-box .wpcf7-list-item input {
  height: 18px;
  width: 18px;
  accent-color: #707070;
  margin: 0 !important;
  margin-right: 8px !important;
  position: relative;
  top: 1px;
}

.home .outline .table .chk-box .wpcf7-list-item .wpcf7-list-item-label {
  line-height: 1;
  display: inline-block;
}

.home .outline .table .chk-box .wpcf7-list-item {
  margin-left: 0 !important;
  margin-right: 30px !important;
  margin-bottom: 8px !important;
  margin-top: 8px !important;
  line-height: 1;
}

.home .outline .table .rd-box .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}

.home .outline .table .privacy-group {
  padding-top: 50px;
}

.home .outline .table .privacy-group .privacy-ttl {
  font-weight: 600;
}

.home .outline .table ul li .lbl.pr0 {
  padding-right: 0;
}

.home .outline .table .privacy-group .privacy-content {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 2;
  padding: 30px 10px 30px 30px;
  background: #fff;
  height: 300px;
  color: #646464;
}

.home .outline .table .chk-box .wpcf7-list-item label {
  display: block;
}

.home .outline .table .privacy-group .privacy-inner {
  overflow-y: scroll;
  padding-right: 30px;
  height: 100%;
}

.home .outline .table .privacy-group .privacy-inner h4 {
  font-size: 1.56rem;
  line-height: 1;
}

.home .outline .table .btn-bottom {
  text-align: center;
  padding-top: 50px;
}

.home .outline .table .btn-bottom .btn {
  background: #a54a96;
  font-size: 1.50rem;
  border: unset;
  padding: 30px 15px 31px;
  min-width: unset;
  width: 100%;
  max-width: 500px;
  border-radius: 38px;
}

.home .outline .table .btn-bottom .btn:disabled {
  background: #cccccc !important;
  color: #999999 !important;
  cursor: not-allowed;
  opacity: 0.6;
}

.home .outline .table .input-group .radio {
  padding-left: 28px;
  display: inline-block;
  position: relative;
  margin-right: 15px;
  line-height: 1.6;
  font-size: 1.25rem;
}

.home .outline .table .input-group .radio label {
  display: block;
}

.home .outline .table .input-group .radio .wpcf7-list-item-label {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
}

.home .outline .table .input-group .radio input:checked ~ .wpcf7-list-item-label {
  background-color: #eaeaea;
  border: 6px solid #707070;
}

.home .outline .table .input-group .radio input:disabled ~ .wpcf7-list-item-label {
  background-color: #ffffff;
}

.home .outline .table .input-group .radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.home .outline .table .input input[type='text'],
.home .outline .table .input input[type='email'] {
  width: 100%;
  height: 100%;
  border: unset;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  position: relative;
  border-radius: 0;
  font-weight: 400;
  opacity: 0.7;
}

.home .outline .table .input textarea {
  height: 180px;
  width: 100%;
  border: unset;
  resize: none;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.7;
  font-family: 'Noto Sans JP', sans-serif, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro', 'メイリオ', sans-serif;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  content: unset;
}

.contact_thanks {
  background: #fff !important;
  padding: 35px 40px;
  margin-top: 10px;
  line-height: 1.7;
  letter-spacing: 0;
}

.contact_thanks h2 {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  padding-bottom: 20px;
}

.btn.wpcf7-previous,
.btn.btn_back {
  background: #707070 !important;
  margin-top: 15px;
  cursor: pointer !important;
}

.btn.wpcf7-previous:hover,
.btn.btn_back:hover {
  background: #00b8cc !important;
}

@media (max-width: 960px) {
  .home .outline .table .btn-bottom {
    padding-top: 25px;
  }
  .home .outline .table {
    padding-bottom: 40px;
  }
  .home .outline .table ul li .lbl {
    padding-right: 50px;
  }
  .home .outline .table ul li .lbl .tag {
    min-width: 35px;
    padding: 3px 5px 3px;
    right: 10px;
    margin-top: -10px;
    font-size: 0.88rem;
  }
  .home .table ul li .lbl {
    width: 200px;
    font-size: 0.88rem;
  }
  .home .outline .table ul li .desc,
  .home .outline .table .input input[type='text'],
  .home .outline .table .input textarea,
  .home .outline .table .input-group .radio {
    font-size: 1.00rem;
  }
  .home .outline .table .input-group .radio .checkmark {
    margin-top: 0;
    height: 16px;
    width: 16px;
  }
  .home .outline .table .input-group .radio {
    padding-left: 20px;
  }
}

@media (max-width: 750px) {
  .home .table ul li .lbl {
    width: 100%;
  }
  .home .outline .table .input-group .radio {
    font-size: 1.00rem;
  }
  .home .outline .table .privacy-group .privacy-content,
  .home .outline .table ul li .desc {
    font-size: 0.88rem;
  }
  .home .outline .table .privacy-group {
    padding-top: 25px;
  }
  .home .outline .table .privacy-group .privacy-inner h4 {
    font-size: 1.12rem;
  }
  .home .outline .table ul li .lbl .tag {
    font-size: 0.88rem;
  }
  .home .outline .table ul li .desc {
    padding: 15px 20px;
  }
  .home .outline .table .privacy-group .privacy-inner {
    padding-right: 15px;
  }
  .home .outline .table .privacy-group .privacy-content {
    padding: 20px 10px 20px 20px;
  }
  .home .outline {
    padding: 50px 0;
  }
  .home .table ul li .desc {
    font-size: 0.88rem;
  }
  .home .outline .table .btn-bottom .btn {
    font-size: 1.25rem;
    padding: 20px 15px 21px;
    max-width: 300px;
    border-radius: 26px;
  }
  .home .outline .table .btn-bottom .btn:disabled {
    background: #cccccc !important;
    color: #999999 !important;
  }
  .home .outline .table ul li .lbl {
    padding-right: 60px;
    align-items: flex-start;
  }
  .home .outline .table ul li .lbl .tag {
    right: 20px;
  }
  .home .outline .table .chk-box .wpcf7-list-item {
    display: block;
  }
  .home .outline .table .chk-box .wpcf7-list-item input {
    height: 15px;
    width: 15px;
    margin-right: 6px !important;
    top: 2px;
  }
  .contact_thanks {
    padding: 35px 20px;
    font-size: 0.88rem;
  }
  .contact_thanks h2 {
    font-size: 1.12rem;
  }
  .btn.wpcf7-previous,
  .btn.btn_back {
    margin-top: 10px;
  }
}
