@charset "UTF-8";
/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
html,
body {
  background: #fafcfc;
  color: #393939;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, Verdana,
    Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ",
    Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

* html body {
  font-size: small;
}

*:first-child + html body {
  font-size: small;
}

html {
  font-size: 62.5%;
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 1.6rem;
  background: #fafcfc;
  position: relative;
  color: #393939;
  font-weight: 400;
  text-align: left;
  box-sizing: border-box;
  line-height: 1.8;
  max-width: 100%;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", sans-serif;
  letter-spacing: 0;
  overflow-y: scroll;
}

object {
  pointer-events: none;
}

.pc {
  display: block !important;
}

.sp,
.sp500 {
  display: none !important;
}

#header {
  display: none;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

.d_l {
  display: inline-block !important;
}

.m_o {
  margin-right: auto;
  margin-left: auto;
}

.u_l {
  text-decoration: underline;
  color: var(--txt-link);
}

.hissu {
  background: var(--red);
  border-radius: 4px;
  padding: 1px 10px 3px;
  line-height: 100%;
  color: var(--wh);
  font-size: 1.2rem;
}

.flexStart .ls05 {
  letter-spacing: 0.05em;
}

label {
  display: block;
  position: relative;
  line-height: 1.4;
  padding-top: 0.3em;
  padding-bottom: 0.3em;
  word-break: break-word;
  font-size: 1.4rem;
  padding-left: 2.5rem;
  white-space: normal;
  cursor: pointer;
  color: var(--label);
}

label input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid var(--s-border-sub);
  background-color: var(--s-border-sub);
  border-radius: var(--ck-radius);
  cursor: pointer;
  position: absolute;
  left: 0;
  top: 0.25em;
  box-sizing: border-box;
  transition: background-color 0.2s, border-color 0.2s;
}

label input[type="checkbox"]:checked {
  background-color: var(--ck-bkg);
  border-color: var(--ck-bkg);
}

label input[type="checkbox"]::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 0px;
  width: 4px;
  height: 7px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  transition: opacity 0.2s ease;
}

.cl7_3,
.cl4_6,
.cl6_4,
.cl3_7,
.cl25,
.cl33,
.cl50,
.cl50_max {
  display: flex;
}

@media (min-width: 901px) {
  .cl50_max > *,
  .cl50 > *,
  .cl33 > *,
  .cl25 > *,
  .cl3_7 > *,
  .cl7_3 > *,
  .cl4_6 > *,
  .cl6_4 > * {
    display: block;
  }
  .cl50_max > * {
    width: 50%;
    box-sizing: border-box;
    margin-bottom: 4%;
  }
  .cl50 > * {
    width: 48%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl33 > * {
    width: 30%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl25 > * {
    width: 23%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl3_7 > *:nth-child(odd) {
    width: 30%;
  }
  .cl3_7 > *:nth-child(even) {
    width: 66%;
  }
  .cl7_3 > *:nth-child(odd) {
    width: 66%;
  }
  .cl7_3 > *:nth-child(even) {
    width: 30%;
  }
  .cl4_6 > *:nth-child(odd) {
    width: 40%;
  }
  .cl4_6 > *:nth-child(even) {
    width: 56%;
  }
  .cl6_4 > *:nth-child(odd) {
    width: 56%;
  }
  .cl6_4 > *:nth-child(even) {
    width: 40%;
  }
}
@media (max-width: 900px) and (min-width: 0px) {
  .cl50_max,
  .cl50,
  .cl33,
  .cl25,
  .cl20,
  .cl3_7,
  .cl7_3,
  .cl4_6,
  .cl6_4 {
    flex-wrap: wrap;
  }
  .cl50_max > * {
    width: 100%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl50 > * {
    width: 100%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl33 > * {
    width: 48%;
    margin-bottom: 4%;
    box-sizing: border-box;
  }
  .cl25 > *,
  .cl20 > * {
    width: 48%;
    margin-bottom: 4%;
    position: relative;
  }
  .cl3_7 > *,
  .cl7_3 > *,
  .cl4_6 > *,
  .cl6_4 > * {
    width: 100%;
    margin-bottom: 5%;
  }
}
.flex1 {
  flex: 1;
}

.w_5em {
  width: 5em;
}

.lineA {
  border: 1px solid #68d0d8;
  height: 1px;
  flex: 1;
  padding: 0 !important;
}

.gap1 {
  gap: 1%;
}

.gap2 {
  gap: 2%;
}

.gap25 {
  gap: 2.5%;
}

.gap3 {
  gap: 3%;
}

.gap35 {
  gap: 3.5%;
}

.gap4 {
  gap: 4%;
}

.gap5 {
  gap: 5%;
}

.normal {
  font-weight: normal;
}

.confirm_txt2 {
  border: 1px solid #00dd03;
  color: #00dd03;
  line-height: 100%;
  padding: 15px 20px 15px 3.5em;
  border-radius: var(--s-sub-radius);
  background: #f3fef3 url(../images/confirm.svg) no-repeat left 20px
    center/1.5em;
  font-weight: bold;
  font-size: 1.4rem;
}

.error_txt {
  font-size: 77% !important;
}

.error_txt2 {
  border: 1px solid var(--red);
  color: var(--red);
  line-height: 100%;
  padding: 15px 20px 15px 3.5em;
  border-radius: var(--s-sub-radius);
  background: #fceae6 url(../images/error.svg) no-repeat left 20px center/1.5em;
  font-weight: bold;
  font-size: 1.4rem;
}

.error-area {
  background: #fceae6 !important;
}

.error-area2 {
  border: 1px solid var(--red) !important;
  background: #fceae6 !important;
}

/* ---------------------------------------------------------------------------
  ★フォントファミリー
--------------------------------------------------------------------------- */
.mincho {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E,
    serif;
}

.gothic {
  font-family: "Hiragino Sans", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", sans-serif;
}

/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */
.bg_y {
  background: #fcf4e8;
}

.bg_g {
  background: #f8f8f8;
  padding: 30px;
}

.bg_lb {
  background: var(--Lblue);
}

.bg_w {
  background: #fff;
  max-width: 1135px !important;
  width: 90%;
  margin: 0 auto;
}

.bg_w1200 {
  width: 90%;
  margin: 0 auto;
  background: #fff;
  max-width: 1200px !important;
}

.bg_w1300 {
  width: 90%;
  margin: 0 auto;
  background: #fff;
  max-width: 1300px !important;
}

.bg_a {
  background: #e4f5f7;
  max-width: 1135px !important;
  width: 90%;
  margin: 0 auto;
}

.bgW {
  background: #fff;
  padding: 27px 44px;
  border-radius: 15px;
  gap: 2.5%;
}

/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */
.disc {
  margin-left: 20px;
  list-style-type: disc;
}

.disc > li {
  list-style-type: disc;
}

.disc > li:not(:last-child) {
  padding-bottom: 5px;
}

.decimal {
  margin-left: 20px;
  list-style-type: decimal;
}

.decimal > li {
  list-style-type: decimal;
}

.decimal > li:not(:last-child) {
  padding-bottom: 5px;
}

section {
  padding: 0;
}

.p_policyArea a {
  word-break: break-all;
}

input::-moz-placeholder {
  color: #a9a9a9;
}

input::placeholder {
  color: #a9a9a9;
}

input.short {
  width: 25%;
  border: 1px solid var(--s-border);
  padding: 11.5px;
  border-radius: var(--s-sub-radius);
  background-color: var(--s-bkg);
  box-shadow: none;
}

input.middle {
  width: 50%;
  border: 1px solid var(--s-border);
  padding: 11.5px;
  border-radius: var(--s-sub-radius);
  background-color: var(--s-bkg);
  box-shadow: none;
}

/* ---------------------------------------------------------------------------
  ★パーツ集:テーブル
--------------------------------------------------------------------------- */
table {
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-all;
  border-collapse: collapse;
}

.c_table_01 table {
  border-collapse: separate; /* ← これが重要 */
  border-radius: 12px; /* 角を丸くする */
  overflow: hidden; /* はみ出し防止 */
  border-spacing: 0;
  font-size: inherit;
  width: 100%;
}

.c_table_01 table tr th,
.c_table_01 table tr td {
  border-bottom: 1px solid rgba(166, 185, 186, 0.3019607843);
  vertical-align: top;
  padding: 23px 21px;
  word-break: break-all;
}

.c_table_01 table tr th {
  background: #f9f9f9;
  width: 13em;
  font-weight: bold;
}

.c_table_01 table tr td {
  background: #fff;
}

.c_table_01 table tr:last-child th,
.c_table_01 table tr:last-child td {
  border-bottom: none;
}

.c_table_02 table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  width: 100%;
}

.c_table_02 table thead {
  background-color: #666;
  color: #fff;
  margin: 0;
  border: 0;
}

.c_table_02 table thead tr th {
  padding: 10px;
  text-align: center;
}

.c_table_02 table tr th,
.c_table_02 table tr td {
  padding: 10px;
  font-size: 14px;
  word-break: break-all;
}

.c_table_02 table tr:nth-child(even) {
  background-color: #e4e4e4;
}

/* ---------------------------------------------------------------------------
  ★パンくず
--------------------------------------------------------------------------- */
.pankuzuArea {
  /* background: var(--Kblue); */
}

ul.pankuzu {
  display: flex;
  padding: 8px 0;
  position: relative;
  line-height: 100%;
  align-items: center;
}

ul.pankuzu li {
  font-size: 1.3rem;
}

ul.pankuzu a {
  color: var(--txt-link);
  font-size: 1.3rem;
  margin-right: 10px;
  position: relative;
  display: inline-block;
  padding-right: 16px;
  vertical-align: middle;
  color: var(--txt-link);
  text-decoration: underline;
}

ul.pankuzu a:before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

ul.pankuzu a::before,
ul.pankuzu a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

ul.pankuzu a::before {
  right: 3px;
  width: 4px;
  height: 4px;
  border-top: 1px solid var(--base_c);
  border-right: 1px solid var(--base_c);
  transform: rotate(45deg);
}

/* ---------------------------------------------------------------------------
  ★ページャー
--------------------------------------------------------------------------- */
#pager {
  display: flex;
  align-items: center;
  gap: 5px;
}
#pager .page-numbers {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #81cbd9;
  border: 1px solid #81cbd9;
  background: #fff;
  width: 2.5em;
  height: 2.5em;
  padding: 1%;
}
#pager .current {
  color: #fff;
  background: #81cbd9;
  font-weight: bold;
}
#pager .arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #81cbd9;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
#pager .arrow::before,
#pager .arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
#pager .arrow-prev::before {
  left: 0.4em;
  width: 0.3em;
  height: 0.3em;
  border-top: 2px solid #81cbd9;
  border-left: 2px solid #81cbd9;
  transform: rotate(-45deg);
}
#pager .arrow-next::before {
  left: 0.2em;
  width: 0.3em;
  height: 0.3em;
  border-top: 2px solid #81cbd9;
  border-right: 2px solid #81cbd9;
  transform: rotate(45deg);
}
#pager .current .arrow-prev::before,
#pager .current .arrow-next::before {
  border-color: #fff;
}

/* ---------------------------------------------------------------------------
  ★下層
--------------------------------------------------------------------------- */
.main_inpages h2 {
  font-size: 2.8rem;
  text-align: center;
  color: #384040;
  letter-spacing: 0.05em;
}
.main_inpages .bg_lb {
  position: relative;
  z-index: 0;
}
.main_inpages .bg_lb::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 0%;
  bottom: 0%;
  background: #abf0f4;
  width: 100%;
  height: 15px;
}

/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */
.h2Tit {
  font-size: 2.3rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.h3Tit {
  font-size: 22px;
  font-weight: 600;
  color: #0a0a0a;
  letter-spacing: 0.08em;
  line-height: 140%;
  position: relative;
  text-align: left;
  padding-left: 37px;
  margin-bottom: 15px;
}

.c_tit {
  letter-spacing: 0.07em;
  line-height: 150%;
}

.fW800 {
  font-weight: 800 !important;
}

/* =======================================
	TOP
========================================== */
/* home01 */
.main {
  background-color: var(--Lblue);
}

.present-bar a {
  width: 70%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
  display: inline-block;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  border-radius: 22.862px;
}

.swiper-button-prev {
  left: 12.5% !important;
  transform: rotate(180deg);
}

.swiper-button-next {
  right: 12.5% !important;
}

.swiper-slide {
  width: 35.5% !important;
  -o-object-fit: contain;
  object-fit: contain;
  margin-inline: auto;
  padding-bottom: 33px;
}

.swiper-slide img {
  box-shadow: 4.8364px 4.8364px 4.8364px rgba(32, 45, 73, 0.11);
  border-radius: 12px;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
}

.swiper-button-next,
.swiper-button-prev {
  color: transparent !important;
  width: 1.7em !important;
  height: 1.7em !important;
  background: url(../images/slide_arrow.png) no-repeat center/contain;
  top: 47.5% !important;
}

.home01 {
  background: linear-gradient(
    to bottom,
    #defffe 0%,
    #defffe 55%,
    #abf0f4 55%,
    #abf0f4 100%
  );
}

.search-section {
  position: relative;
  background: #fff;
  border-radius: 17px;
  padding: 60px 55px 32px;
  box-shadow: 0 5px 9px rgba(9, 15, 45, 0.2);
}

.search-title {
  position: absolute;
  display: flex;
  background: #fff;
  border-radius: 28px;
  top: -53px;
  left: 50%;
  transform: translate(-50%, 30%);
  padding: 8px 26px 8px 34px;
  align-items: center;
  white-space: nowrap;
  max-width: 534px;
  width: 90%;
  z-index: 0;
}

.search-title::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
  background: #fff;
  border-radius: 28px;
  width: 100%;
  height: 100%;
  z-index: -1;
  box-shadow: 0 4px 7px rgba(9, 15, 45, 0.2);
}

.search-title::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: -5%;
  bottom: -18%;
  background: #fff;
  border-radius: 0px;
  width: 110%;
  height: 64%;
  z-index: 0;
}

.search-title h2 {
  margin-right: 22px;
  padding-right: 25px;
  position: relative;
  z-index: 5;
}

.search-title h2::after {
  content: "";
  position: absolute;
  display: inline-block;
  right: 0%;
  top: 30%;
  background: #3fabba;
  width: 1px;
  height: 44%;
  z-index: -1;
}

.search-title .aqua span {
  margin-right: 1px;
}

/* home02 */
.home02 .cl25 {
  gap: 1.3%;
}

.home02 .cl25 > * {
  width: 24%;
  margin-bottom: 1.7%;
}

/* home03 */
.category-tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  background: #f7f7f7;
  border-radius: 25px 25px 0 0;
  padding: 14px 45px;
  font-weight: 500;
}

.category-tabs .category-tab {
  padding: 0.7% 2.5%;
  border: 2px solid var(--s-btn);
  background-color: white;
  color: #3fabba;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  white-space: nowrap;
  cursor: pointer;
}

.category-tabs .category-tab.active {
  background-color: var(--s-btn);
  color: white;
  position: relative;
  z-index: 0;
}

.category-tabs .category-tab.active::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  bottom: -8px;
  transform: translateY(0%) translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 8px solid #81cbd9;
  border-bottom: 0;
}

.category-tabs .category-tab:hover {
  background-color: var(--s-btn);
  color: white;
  opacity: 0.5;
}

.tab-content.active {
  display: block;
}

.tab-content {
  display: none;
}

.tab-content .skill-tag {
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
  min-height: 20px;
  flex-wrap: wrap;
}

.tab-content .skill-tag:hover .skill-name {
  color: #efaf30;
  border-bottom: 1px solid #efaf30;
}

.tab-content .skill-name {
  color: var(--txt-link);
  border-bottom: 1px solid var(--txt-link);
  line-height: 100%;
  transition: 0.3s;
}

.tab-content .skill-count {
  font-size: 10px;
  color: #939393;
  margin-left: 8px;
}

#nw.tab-content a {
  width: 25%;
}

#job.tab-content a {
  width: 33%;
}

.home03 .flex > * {
  width: 20%;
  padding: 6.8px 7px;
}

.divider {
  width: 100%;
  height: 1px;
  background: #68d0d8;
  border-radius: 1px;
}

/* home04 */
.informationArea .bgW h2 {
  width: 5.7em;
  border-right: 1px solid #dce2e2;
  margin-top: -5px;
}

.informationArea .info-area .tag {
  border-radius: 50px;
  padding: 2%;
  text-align: center;
  width: 12em;
  border: 1px solid #3fabba;
  color: #3fabba !important;
  font-weight: 500;
}

.informationArea .info-area .engineer_column .tag,
.informationArea .info-area .company_column .tag,
.informationArea .info-area .info_column .tag {
  color: #fff !important;
  border: none;
  font-weight: normal;
}

.informationArea .info-area .engineer_column .tag {
  background-color: #3fabba;
}

.informationArea .info-area .company_column .tag {
  background-color: #d3bc31;
}

.informationArea .info-area .info_column .tag {
  background-color: #d64c6c;
}

.informationArea .info-area .txt {
  width: calc(100% - 18em);
}

.informationArea .info-area a:hover {
  opacity: 0.7;
}

/* =======================================
	login エンジニアログイン
========================================== */
.social-btn {
  /* Google*/
  /* LINE */
  /* Yahoo! JAPAN */
}
.social-btn > *:last-child .btn-oauth {
  margin-bottom: 0;
}
.social-btn .btn-oauth {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 60px;
  width: 100%;
  padding: 0 10% 0 10px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  border: 1px solid transparent;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);
  transition: 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease,
    border-color 0.3s ease;
  border-radius: 8px;
  color: var(--base_c);
  border: none;
  background: #fff;
  font-size: 1.8rem;
  width: 100%;
  text-align: center;
  box-shadow: 2.0275px 3.0412px 4.055px rgba(9, 15, 45, 0.07);
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", sans-serif;
  margin-bottom: 3.5%;
  letter-spacing: 0.05em;
}
.social-btn .btn-oauth:hover {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
  filter: brightness(0.85);
}
.social-btn .btn-oauth__icon {
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 58px;
}
.social-btn .btn-oauth__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.social-btn .btn-oauth__label {
  flex: 1 1 auto;
  text-align: center;
  line-height: 100%;
}
.social-btn .btn-google {
  background: #fff;
  color: var(--base_c);
  border-color: #fff;
  border: 1px solid rgba(57, 57, 57, 0.2);
}
.social-btn .btn-google:hover {
  filter: brightness(0.95);
}
.social-btn .btn-line {
  background: #06c755;
  color: #fff;
  border-color: #06c755;
  position: relative;
  overflow: hidden; /* 疑似要素がはみ出さないように */
  padding: 0 30px 0 18px;
}
.social-btn .btn-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.social-btn .btn-line .btn-oauth__icon {
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
}
.social-btn .btn-line:hover {
  outline: none;
  outline-offset: 0;
  filter: none;
}
.social-btn .btn-line:hover::after {
  opacity: 0.1;
}
.social-btn .btn-line:active::after {
  opacity: 0.1;
}
.social-btn .btn-yahoojp {
  background: #ff0033;
  color: #fff;
  border-color: #ff0033;
  padding: 0 22px;
}
.social-btn .btn-yahoojp .btn-oauth__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
}

.login-regi-area {
  padding: 20px;
  background: #fff;
  border-radius: 8px;
}
.login-regi-area dt {
  font-size: 95% !important;
  margin-bottom: 5px;
}

.privacy-area {
  height: 200px;
  width: 100%;
  overflow-y: scroll;
  border: 1px solid #f7f7f7;
  background-color: var(--s-bkg);
  padding: 2% 4%;
}
.privacy-area * {
  font-size: 1.4rem !important;
}
.privacy-area .f16 {
  font-size: 1.6rem !important;
}

.login01 .bg_a,
.registration01 .bg_a {
  padding: 25px;
  border-radius: 18px;
  height: 90%;
}
.login01 .category-tabs .category-tab,
.registration01 .category-tabs .category-tab {
  padding: 1.2% 2.5%;
  width: 30%;
  text-align: center;
}
.login01 .category-tabs .category-tab.active::after,
.registration01 .category-tabs .category-tab.active::after {
  bottom: -10px;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-top: 12px solid #81cbd9;
}
.login01 .cl50 > *:nth-of-type(2) .bg_a,
.registration01 .cl50 > *:nth-of-type(2) .bg_a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.login01 .cl50,
.registration01 .cl50 {
  position: relative;
  z-index: 0;
  justify-content: space-between;
}
.login01 .cl50::before,
.registration01 .cl50::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 0%;
  background: #f6f6f6;
  width: 1px;
  height: 100%;
  z-index: -1;
}
.login01 .cl50 > *,
.registration01 .cl50 > * {
  margin-bottom: 0;
}
.login01 #company .inner800,
.registration01 #company .inner800 {
  max-width: 800px !important;
}

/* =======================================
	regisitration 会員登録
========================================== */
.line-friend a {
  display: inline-block;
}
.line-friend a img {
  height: 50px;
}
.line-friend a:hover {
  opacity: 0.7;
}

.num-list {
  counter-reset: my-counter; /* カウンターをリセット */
}
.num-list > li {
  margin-bottom: 2%;
  counter-increment: my-counter; /* 各liごとに+1 */
  position: relative;
  padding-left: 1.5em; /* 数字ぶんの余白 */
  position: relative;
  z-index: 0;
}
.num-list > li::after {
  content: counter(my-counter); /* 好きな形式にできる */
  position: absolute;
  left: 0;
  color: #fff; /* 好きな色 */
  font-family: "Oswald", sans-serif;
  top: 0;
  font-weight: normal;
}
.num-list > li::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: -0.5em;
  top: 0.16em;
  background: #4c94fb;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  z-index: -1;
}

.paypay-camp.bg_a {
  border-radius: 0;
  padding: 50px 25px;
  width: 100%;
  max-width: 100% !important;
}
.paypay-camp.bg_a h4 {
  border: 4px solid #dd2f00;
  padding: 10px 5px 5px;
  border-radius: 50em;
  background: #fff;
}
.paypay-camp.bg_a h4 .p_red {
  color: #dd2f00;
}
.paypay-camp.bg_a h4 .mei {
  margin-top: 3px;
}
.paypay-camp.bg_a h4 .num {
  margin-bottom: 3px;
  margin-right: 2px;
}
.paypay-camp.bg_a h4 img.present {
  width: 1em;
  margin-right: 10px;
  display: inline-block;
}
.paypay-camp.bg_a h4 img.paypay-p {
  width: 2em;
  display: inline-block;
  border-radius: 5px;
  margin-right: 10px;
  border: 1px solid rgba(57, 57, 57, 0.5019607843);
}
.paypay-camp.bg_a h4 .flex {
  flex-wrap: wrap;
}
.paypay-camp.bg_a h4 .no_wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paypay-camp.bg_a h4 .no_wrap2 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.paypay-camp.bg_a h4 .mL5.fps110 {
  margin-top: -7px;
}
.paypay-camp.bg_a h4 .no_wrap:nth-of-type(2) {
  margin-top: -20px;
}
.paypay-camp.bg_a .kasen > span {
  background: linear-gradient(
    to bottom,
    transparent 58%,
    rgba(242, 150, 3, 0.4) 58%
  );
}
.paypay-camp.bg_a .no1 .num-list {
  width: 17em;
  margin: auto;
}
.paypay-camp.bg_a .no2 .num-list {
  width: 20em;
  margin: auto;
}
.paypay-camp.bg_a .supp {
  background: #f7f7f7;
  padding: 3.5% 3% 3%;
  border-radius: 50em;
  position: relative;
}
.paypay-camp.bg_a .supp::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: -8px;
  transform: translateY(0%) translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-top: 0;
  border-bottom: 12px solid #f7f7f7;
}
.paypay-camp.bg_a img.aiso {
  height: 43%;
  max-height: 215px;
  margin: auto;
}
.paypay-camp.bg_a .cl50 {
  justify-content: space-between;
}
.paypay-camp.bg_a .cl50::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  background: #f29603;
  width: 4.5em;
  height: 4.5em;
  z-index: 1;
  border-radius: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.paypay-camp.bg_a .cl50::after {
  content: "+";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  color: #fff;
  font-weight: bold;
  font-size: 5rem;
  transform: translateY(-50%) translateX(-50%);
  z-index: 2;
}
.paypay-camp.bg_a .p-flow-area img {
  height: 3em;
  margin: auto;
}
.paypay-camp.bg_a .p-flow-area img.py {
  height: 5.2em;
}
.paypay-camp.bg_a .p-flow-area .bgW {
  padding: 27px 13px;
}
.paypay-camp.bg_a .p-flow-area .num-list > li {
  padding-left: 13px;
  position: relative;
  z-index: 0;
}
.paypay-camp.bg_a .p-flow-area .num-list > li::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: auto;
  right: -11%;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 14px solid #53b4c1;
  border-top: 14px solid transparent;
  border-bottom: 12px solid transparent;
  z-index: -1;
  transform: translateY(-50%);
  background: none;
  border-radius: 0;
}
.paypay-camp.bg_a .p-flow-area .num-list > li > div {
  height: 100%;
  margin-bottom: 2%;
  position: relative;
  position: relative;
  z-index: 0;
  display: inline-block;
  width: 100%;
}
.paypay-camp.bg_a .p-flow-area .num-list > li > div::after {
  content: counter(my-counter); /* 好きな形式にできる */
  position: absolute;
  left: 0;
  color: #fff; /* 好きな色 */
  font-family: "Oswald", sans-serif;
  top: 0;
  font-weight: normal;
  top: -1.7em;
  font-size: 2.4rem;
}
.paypay-camp.bg_a .p-flow-area .num-list > li > div::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: -0.5em;
  top: 0.16em;
  background: #4c94fb;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  z-index: -1;
  top: -3em;
  width: 3.5em;
  height: 3.5em;
}
.paypay-camp.bg_a .p-flow-area .num-list > li:last-child::before,
.paypay-camp.bg_a .p-flow-area .num-list > li::after {
  display: none;
}
.paypay-camp.bg_a .p-flow-area .num-list > li > div::before,
.paypay-camp.bg_a .p-flow-area .num-list > li > div::after {
  transform: translateX(-50%);
  left: 50%;
}

/* =======================================
	reg-confirmation 会員登録
========================================== */
.reg-confirmation01 table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.reg-confirmation01 .c_table_01 table tr th {
  width: 17em;
}
.reg-confirmation01 .submit-btn4,
.reg-confirmation01 .submit-btn {
  margin-right: 0;
  margin-left: 0;
  width: 30% !important;
}

/* =======================================
	mypage マイページ
========================================== */
.in-sidebar aside {
  position: sticky;
  top: 0; /* 上からの余白を調整（例：ヘッダーの高さ分） */
  height: -moz-fit-content;
  height: fit-content;
  align-self: flex-start; /* flex内で正しく固定させる */
  width: 21em;
  z-index: 99;
}
.in-sidebar .sidebar-neig {
  width: calc(100% - 21em);
  padding: 4% 3%;
}

.mypage-area.in-sidebar aside.mypage-sidebar {
  padding: 4% 2%;
}
.mypage-area.in-sidebar aside.mypage-sidebar .my-page-link li {
  margin-bottom: 4%;
}
.mypage-area.in-sidebar .sidebar-neig {
  background: #fff;
  position: relative;
}
.mypage-area.in-sidebar .sidebar-neig::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: -21em;
  top: 0%;
  background: #f7f7f7;
  width: 21em;
  height: 100%;
  z-index: 0;
}
.mypage-area.in-sidebar .sidebar-neig h4 {
  color: #5ec3d4;
}
.mypage-area.in-sidebar .sidebar-neig .btn02 a {
  width: 33%;
  display: inline-block;
  text-align: center;
}
.mypage-area.in-sidebar .sidebar-neig .box {
  padding: 20px;
  border-radius: 8px;
}
.mypage-area.in-sidebar .sidebar-neig .box > * {
  font-size: 1.5rem;
}
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table,
.mypage-area.in-sidebar .sidebar-neig .box {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table tr th,
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table tr td {
  padding: 20px 14px;
  font-size: 1.5rem;
  line-height: 140%;
}
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table tr th p,
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table tr td p {
  font-size: 1.5rem;
}
.mypage-area.in-sidebar .sidebar-neig .c_table_01 table tr th {
  padding: 20px 20px;
  width: 15em;
}

/* =======================================
	project-search 案件検索（一覧）
========================================== */
.side-fixed-area {
  width: 21em; /* サイドバーの幅に合わせて指定 */
  background: #e4f5f7;
  overflow-y: scroll;
  height: 100vh;
}

.project-area.in-sidebar aside.search-sidebar {
  position: static;
  background: #e4f5f7;
  /* 検索ボタンのフロート機能 */
  /* サイドバー内でのフロート位置調整 */
}
.project-area.in-sidebar aside.search-sidebar .search-menu {
  display: block;
  position: static;
  padding: 0 3%;
  box-shadow: none;
}
.project-area.in-sidebar aside.search-sidebar .search-menu .search-menu-inner {
  /* アコーディオンのスタイル */
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .tag-cont
  label {
  font-size: 1.2rem;
  padding-left: 2rem;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .tag-cont
  label
  input[type="checkbox"] {
  top: 0.16em;
  width: 12px;
  height: 12px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .tag-cont
  label
  input[type="checkbox"]::before {
  left: 3px;
  width: 3px;
  height: 6px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .selected-skills
  .tag-cont
  label
  input[type="checkbox"] {
  top: 0em;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .detail-search-form-layout
  .selected-skills
  .tag-cont {
  margin-bottom: 10px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c-r-list.radio-dropdown {
  display: none;
  position: absolute;
  z-index: 100;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c-r-list.radio-dropdown.open {
  display: block;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table {
  border-radius: 0;
  overflow: visible;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .no1.c_table_01
  table
  tr:first-child
  th {
  border-radius: 8px 8px 0 0;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .no3.c_table_01
  table
  tr:last-child
  td {
  border-radius: 0 0 8px 8px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr
  th,
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr
  td {
  display: block;
  width: 100%;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr
  th
  p {
  font-size: 1.4rem;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr:last-child
  th {
  border-bottom: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .reward-range {
  display: block;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .reward-range
  .form-group.pay {
  width: calc(100% - 2.5em);
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .reward-range
  .form-group.pay
  .selected-values {
  padding: 11.5px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .reward-range
  .form-group.pay
  .pay-select
  .txt {
  width: 2em;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .reward-range
  .form-group.pay
  .radio-dropdown
  .list-container {
  max-height: 160px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .detail-search-form-layout
  .detail-box
  .br2 {
  border-radius: 0;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .detail-search-form-layout
  .detail-box {
  overflow: visible;
  max-height: 100%;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .detail-search-form-layout
  .selected-skills
  .tag-cont {
  font-size: 1.2rem;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr
  th,
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .c_table_01
  table
  tr
  td,
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-body {
  padding: 10px 21px;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-item {
  border-top: 1px solid rgba(166, 185, 186, 0.3);
  overflow: hidden;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-item:last-child {
  border-bottom: 1px solid rgba(166, 185, 186, 0.3);
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-header {
  background: #f9f9f9;
  padding: 10px 21px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  transition: background-color 0.3s ease;
  position: relative;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.4rem;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .count-badge {
  background: #0066f9;
  color: #fff;
  padding: 4px 3px 2px 3px;
  line-height: 100%;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: center;
  display: none;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .count-badge.show {
  display: inline-block;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-arrow {
  transition: transform 0.3s ease;
  width: 1.5em;
  transform: rotate(90deg);
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-arrow.open {
  transform: rotate(270deg);
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: white;
}
.project-area.in-sidebar
  aside.search-sidebar
  .search-menu
  .search-menu-inner
  .accordion-content.open {
  max-height: 300px; /* 適切な高さに調整 */
}
.project-area.in-sidebar aside.search-sidebar .fixed-item {
  /* 通常時は相対位置 */
  position: relative;
  transition: all 0.3s ease;
  z-index: 1;
  margin-bottom: 30px;
  opacity: 0;
  height: 0;
}
.project-area.in-sidebar aside.search-sidebar .fixed-item.floating {
  /* フロート時は固定位置 */
  position: sticky;
  opacity: 1;
  height: auto;
  bottom: 0;
  z-index: 2;
  background: rgba(0, 26, 62, 0.3);
  padding: 25px 0;
  width: 20em;
  margin-bottom: 0;
}
.project-area.in-sidebar aside.search-sidebar .fixed-item.floating .submit-btn {
  margin-top: 0 !important;
}
.project-area.in-sidebar
  aside.search-sidebar
  .project-area.in-sidebar
  .fixed-item.floating {
  /* サイドバーがある場合の位置調整 */
  left: 10.5em; /* サイドバー幅の半分 */
  max-width: calc(21em - 40px);
}
.project-area.in-sidebar .sidebar-neig {
  width: calc(100% - 21em);
  padding: 1% 0% 4% 3%;
}

.p-pager {
  display: flex;
  align-items: center;
  gap: 5px;
}
.p-pager li a {
  display: inline-block;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #81cbd9;
  border: 1px solid #81cbd9;
  background: #fff;
  width: 2em;
  height: 2em;
  padding: 1%;
  font-size: 1.4rem;
}
.p-pager li a.current {
  color: #fff;
  background: #81cbd9;
  font-weight: bold;
}
.p-pager li .arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #81cbd9;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.p-pager li .arrow::before,
.p-pager li .arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.p-pager li .arrow-prev::before {
  left: 0.4em;
  width: 0.3em;
  height: 0.3em;
  border-top: 2px solid #81cbd9;
  border-left: 2px solid #81cbd9;
  transform: rotate(-45deg);
}
.p-pager li .arrow-next::before {
  left: 0.2em;
  width: 0.3em;
  height: 0.3em;
  border-top: 2px solid #81cbd9;
  border-right: 2px solid #81cbd9;
  transform: rotate(45deg);
}
.p-pager li .current .arrow-prev::before,
.p-pager li .current .arrow-next::before {
  border-color: #fff;
}
.p-pager li a:hover {
  background: rgba(129, 203, 217, 0.3019607843);
  font-weight: bold;
}
.p-pager li a.current {
  pointer-events: none;
}

.project-list,
.other-project-list {
  /* 募集終了状態 */
  /* グレーのオーバーレイ */
}
.project-list .bgW,
.other-project-list .bgW {
  box-shadow: 2.0275px 3.0412px 4.055px rgba(9, 15, 45, 0.07);
  padding: 0;
  margin-bottom: 30px;
}
.project-list .bgW .p-area-t,
.other-project-list .bgW .p-area-t {
  padding: 5px 30px 0 30px;
}
.project-list .bgW .p-area-b,
.other-project-list .bgW .p-area-b {
  padding: 0 30px 25px 30px;
}
.project-list .bgW a:hover,
.other-project-list .bgW a:hover {
  opacity: 0.7;
}
.project-list .bgW h3,
.other-project-list .bgW h3 {
  font-size: 2.4rem;
  letter-spacing: 0.03em;
  line-height: 160%;
  text-decoration: underline;
  color: var(--txt-link);
}
.project-list .bgW .h4-area,
.other-project-list .bgW .h4-area {
  background: #f2fafb;
}
.project-list .bgW .h4-area h4,
.project-list .bgW .h4-area h5,
.other-project-list .bgW .h4-area h4,
.other-project-list .bgW .h4-area h5 {
  display: flex;
  color: var(--orange_c);
  align-items: center;
  padding: 5px 30px;
}
.project-list .bgW .h4-area h4 .icon,
.project-list .bgW .h4-area h5 .icon,
.other-project-list .bgW .h4-area h4 .icon,
.other-project-list .bgW .h4-area h5 .icon {
  width: 3em;
  margin-right: 10px;
}
.project-list .bgW .h4-area h4 .icon img,
.project-list .bgW .h4-area h5 .icon img,
.other-project-list .bgW .h4-area h4 .icon img,
.other-project-list .bgW .h4-area h5 .icon img {
  width: 2em;
  margin: auto;
}
.project-list .bgW .h4-area h4 .icon span,
.project-list .bgW .h4-area h5 .icon span,
.other-project-list .bgW .h4-area h4 .icon span,
.other-project-list .bgW .h4-area h5 .icon span {
  font-size: 1rem;
  color: var(--base_c);
  font-weight: 400;
}
.project-list .bgW .c_table_01 table,
.other-project-list .bgW .c_table_01 table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.project-list .bgW .c_table_01 table tr th,
.project-list .bgW .c_table_01 table tr td,
.other-project-list .bgW .c_table_01 table tr th,
.other-project-list .bgW .c_table_01 table tr td {
  font-size: 1.4rem;
  padding: 12px 20px;
}
.project-list .bgW .btn.star button,
.other-project-list .bgW .btn.star button {
  display: flex;
  align-items: center;
  border: none;
  background: none;
  font-size: 1.6rem;
  color: #53b4c1;
  font-weight: bold;
  padding: 16px 26px;
  cursor: pointer;
  transition: 0.3s;
  line-height: 100%;
}
.project-list .bgW .btn.star .star span,
.other-project-list .bgW .btn.star .star span {
  background: url(../images/head_ic_star.svg) no-repeat left center/100%;
  width: 1.3em;
  height: 1.3em;
  margin-right: 8px;
  margin-top: -1px;
  display: inline-block;
}
.project-list .bgW .btn.star .star-on span,
.other-project-list .bgW .btn.star .star-on span {
  background: url(../images/star-tap.svg) no-repeat left center/100%;
  width: 1.3em;
  height: 1.3em;
  margin-right: 8px;
  margin-top: -1px;
  display: inline-block;
}
.project-list .bgW .btn.star button:hover,
.other-project-list .bgW .btn.star button:hover {
  opacity: 0.7;
}
.project-list .bgW .star.btn.saved .star-on,
.other-project-list .bgW .star.btn.saved .star-on {
  display: flex;
}
.project-list .bgW .btn .submit-btn2,
.project-list .bgW .rec-end-btn .submit-btn2,
.other-project-list .bgW .btn .submit-btn2,
.other-project-list .bgW .rec-end-btn .submit-btn2 {
  width: 15em;
}
.project-list .bgW .ribbon,
.other-project-list .bgW .ribbon {
  display: flex;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
  left: -6px;
}
.project-list .bgW .ribbon .label,
.other-project-list .bgW .ribbon .label {
  position: relative;
  padding: 15px 10px;
  background: var(--red);
  color: #fff;
}
.project-list .bgW .ribbon .label.entry,
.other-project-list .bgW .ribbon .label.entry {
  background: var(--red);
  color: #fff;
}
.project-list .bgW .ribbon .label.entry::after,
.other-project-list .bgW .ribbon .label.entry::after {
  content: "";
  position: absolute;
  top: 0;
  right: -10px;
  width: 0;
  height: 0;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent;
  border-left: 10px solid var(--red);
}
.project-list .bgW .ribbon .label.entry::before,
.other-project-list .bgW .ribbon .label.entry::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-top: none;
  border-bottom: 5px solid rgba(0, 0, 0, 0);
  border-left: none;
  border-right: 5px solid var(--red);
}
.project-list .rec-end-btn,
.project-list .rec-end .btn.mT20,
.other-project-list .rec-end-btn,
.other-project-list .rec-end .btn.mT20 {
  display: none;
}
.project-list .rec-end,
.other-project-list .rec-end {
  position: relative;
  overflow: hidden; /* オーバーレイがはみ出さないように */
}
.project-list .rec-end .rec-end-btn,
.other-project-list .rec-end .rec-end-btn {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: 2; /* オーバーレイより前に出す */
  width: 60%;
}
.project-list .rec-end .rec-end-btn::after,
.other-project-list .rec-end .rec-end-btn::after {
  content: "募集終了";
  position: absolute;
  color: #fff;
  font-size: 20px;
  transform: translateY(-50%) translateX(-50%);
  top: -60%;
  left: 50%;
  z-index: 2;
  font-weight: bold;
}
.project-list .rec-end::before,
.other-project-list .rec-end::before {
  content: "";
  position: absolute;
  inset: 0; /* top, right, bottom, left 全部0 */
  background: rgba(0, 0, 0, 0.6); /* 半透明グレー */
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* =======================================
	project-search-detail 案件検索（詳細）
========================================== */
.project-list.detail .bgW,
.project-search-detail02 .bgW {
  padding: 30px 0;
}
.project-list.detail .bgW > div.pL30.pR30,
.project-search-detail02 .bgW > div.pL30.pR30 {
  border-bottom: 1px solid #f7f7f7;
  padding-bottom: 20px;
}
.project-list.detail .bgW > div.pL30.pR30.b_n,
.project-search-detail02 .bgW > div.pL30.pR30.b_n {
  border-bottom: none;
  padding-bottom: 0;
}
.project-list.detail .bgW .p-area-b,
.project-search-detail02 .bgW .p-area-b {
  padding: 0;
}
.project-list.detail .bgW .tit-area .cont,
.project-search-detail02 .bgW .tit-area .cont {
  width: calc(100% - 5.5em);
}
.project-list.detail .bgW .tit-area .cont h3,
.project-search-detail02 .bgW .tit-area .cont h3 {
  text-decoration: none;
}
.project-list.detail .bgW .tit-area .cont .recep span,
.project-search-detail02 .bgW .tit-area .cont .recep span {
  border: 2px solid var(--red);
  color: var(--red);
  padding: 2px 10px 3px;
  border-radius: 8px;
  font-size: 80%;
  font-weight: normal;
  line-height: 100%;
  margin-right: 15px;
}
.project-list.detail .bgW .tit-area .cont .recep_end,
.project-search-detail02 .bgW .tit-area .cont .recep_end {
  color: var(--bk);
}
.project-list.detail .bgW .tit-area .cont .recep_end span,
.project-search-detail02 .bgW .tit-area .cont .recep_end span {
  border: 2px solid var(--bk);
  color: var(--bk);
  padding: 2px 10px 3px;
  border-radius: 8px;
  font-size: 80%;
  font-weight: normal;
  line-height: 100%;
  margin-right: 15px;
}
.project-list.detail .bgW .tit-area .cont .d-tag-area,
.project-search-detail02 .bgW .tit-area .cont .d-tag-area {
  gap: 10px;
}
.project-list.detail .bgW .tit-area .cont .d-tag-area li,
.project-search-detail02 .bgW .tit-area .cont .d-tag-area li {
  font-size: 1.2rem;
  background: #d3bc31;
  border-radius: 50px;
  padding: 3px 10px;
  text-align: center;
  color: #fff;
}
.project-list.detail .bgW .tit-area .cont .d-tag-area .occupation-tag,
.project-search-detail02 .bgW .tit-area .cont .d-tag-area .occupation-tag {
  background: #3fabba;
}
.project-list.detail .bgW .tit-area .star.btn,
.project-search-detail02 .bgW .tit-area .star.btn {
  width: 10.5em;
}
.project-list.detail .bgW .tit-area .star.btn button,
.project-search-detail02 .bgW .tit-area .star.btn button {
  padding: 16px 0px 16px 26px;
  margin-right: 0;
  margin-left: auto;
}
.project-list.detail .bgW .h4-area h5,
.project-search-detail02 .bgW .h4-area h5 {
  display: block;
  padding: 5px 0px;
}
.project-list.detail .bgW .h4-area h5 .icon,
.project-search-detail02 .bgW .h4-area h5 .icon {
  width: 100%;
}
.project-list.detail .bgW .h4-area h5 .icon img,
.project-search-detail02 .bgW .h4-area h5 .icon img {
  width: 2em;
  margin: 0 5px 0 0;
}
.project-list.detail .bgW .h4-area h5 span,
.project-search-detail02 .bgW .h4-area h5 span {
  display: inline-block;
  font-weight: bold;
  font-size: 2rem;
}
.project-list.detail .bgW .margin,
.project-search-detail02 .bgW .margin {
  padding-left: calc(2em + 10px);
}
.project-list.detail .bgW .c_table_01 table tr th,
.project-list.detail .bgW .c_table_01 table tr td,
.project-search-detail02 .bgW .c_table_01 table tr th,
.project-search-detail02 .bgW .c_table_01 table tr td {
  font-size: 1.5rem;
}
.project-list.detail .bgW .c_table_01 table tr th,
.project-search-detail02 .bgW .c_table_01 table tr th {
  width: 13em;
}
.project-list.detail .bgW .btn-area,
.project-search-detail02 .bgW .btn-area {
  border-bottom: none !important;
  gap: 20px;
}
.project-list.detail .bgW .btn-area .submit-btn,
.project-list.detail .bgW .btn-area .submit-btn2,
.project-search-detail02 .bgW .btn-area .submit-btn,
.project-search-detail02 .bgW .btn-area .submit-btn2 {
  width: 100%;
  min-width: 250px;
}
.project-list.detail .bgW .btn-area .submit-btn:disabled,
.project-list.detail .bgW .btn-area .submit-btn2:disabled,
.project-search-detail02 .bgW .btn-area .submit-btn:disabled,
.project-search-detail02 .bgW .btn-area .submit-btn2:disabled {
  box-shadow: none;
  background: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

#project-search-detail .project-area.in-sidebar .sidebar-neig {
  width: calc(100% - 21em);
  padding: 1% 0% 0% 3% !important;
}

.project-search-detail02 {
  /* pjSwiper 専用に上書き */
}
.project-search-detail02 .pjSwiper .swiper-slide {
  width: calc((100% - 30px) / 3) !important;
  flex-shrink: 0; /* Swiperのデフォルト挙動に戻す */
  height: auto;
}
.project-search-detail02 .pjSwiper .swiper-slide > * {
  height: 100%;
}
.project-search-detail02 .bgW {
  border: 2px solid #abf0f4;
  padding: 0;
  overflow: hidden;
}
.project-search-detail02 .bgW .tit-area .cont .d-tag-area {
  gap: 3px;
}
.project-search-detail02 .bgW a {
  position: absolute;
  height: 100%;
  width: 100%;
  display: inline-block;
  z-index: 1;
  pointer-events: auto;
}
.project-search-detail02 .bgW .pa1020 {
  padding: 10px;
}
.project-search-detail02 .bgW .tit-area .cont {
  width: 100%;
}
.project-search-detail02 .bgW .h4-area {
  background: #f2fafb;
  padding: 10px;
}
.project-search-detail02 .bgW .h4-area h6 {
  width: 5.8em;
}
.project-search-detail02 .bgW .pT0 {
  padding-top: 0 !important;
}
.project-search-detail02 .bgW .cont {
  flex-direction: column;
  justify-content: space-between;
  display: flex;
}
.project-search-detail02 .bgW .tit-area .star.btn {
  width: auto;
  position: relative;
  z-index: 2;
  pointer-events: auto;
}
.project-search-detail02 .bgW .tit-area .star.btn button {
  padding: 3px 0 0 10px;
  margin-right: 0;
  margin-left: 0;
  text-align: center;
  pointer-events: auto;
}
.project-search-detail02 .bgW .tit-area .star.btn button span {
  margin-right: 0px;
  margin-top: 0px;
}
.project-search-detail02 .bgW .submit-btn2 {
  padding: 7px 36px;
  font-size: 90%;
  background-size: 0.8em;
  width: 80%;
  max-width: 280px;
  width: 13em;
}
.project-search-detail02 .swiper-button-next,
.project-search-detail02 .swiper-button-prev {
  top: 55.5% !important;
}
.project-search-detail02 .swiper-button-prev {
  left: -2.3em !important;
}
.project-search-detail02 .swiper-button-next {
  right: -2.3em !important;
}

/* =======================================
	entry contact エントリー コンタクト
========================================== */
.entry01 .bgW,
.contact01 .bgW {
  border: 2px solid #5ec3d4;
}
.entry01 h4,
.contact01 h4 {
  font-size: 2.4rem;
  letter-spacing: 0.03em;
  line-height: 160%;
  color: var(--txt-link);
}
.entry01 .h4-area h6,
.contact01 .h4-area h6 {
  display: block;
  padding: 5px 0px;
}
.entry01 .h4-area h6 .icon,
.contact01 .h4-area h6 .icon {
  width: 100%;
}
.entry01 .h4-area h6 .icon img,
.contact01 .h4-area h6 .icon img {
  width: 2em;
  margin: 0 5px 0 0;
}
.entry01 .h4-area h6 span,
.contact01 .h4-area h6 span {
  display: inline-block;
  font-weight: bold;
  font-size: 2rem;
}
.entry01 .c_table_01 table tr th,
.contact01 .c_table_01 table tr th {
  width: 8em;
  background: #eaf1fd;
}
.entry01 .cl50 > *,
.contact01 .cl50 > * {
  margin-bottom: 2%;
}

.entry02 .c_table_01 table,
.entry02 .box,
.entry03 .c_table_01 table,
.entry03 .box {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.entry02 .c_table_01 table tr th,
.entry02 .c_table_01 table tr td,
.entry03 .c_table_01 table tr th,
.entry03 .c_table_01 table tr td {
  padding: 20px 14px;
  font-size: 1.5rem;
  line-height: 140%;
}
.entry02 .c_table_01 table tr th,
.entry03 .c_table_01 table tr th {
  padding: 20px 20px;
  width: 12em;
}

.entry03 {
  /* モーダル */
}
.entry03 h4 {
  color: #5ec3d4;
}
.entry03 .c_table_01 table tr th {
  width: 12em;
}
.entry03 .c_table_01 table tr td > div > p {
  width: calc(100% - 4.5em);
  border-right: 1px solid #f7f7f7;
  padding-right: 0.5em;
}
.entry03 .c_table_01 table tr td .btn02,
.entry03 .c_table_01 table tr td .btn02 button {
  width: 4em;
  min-width: 4em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.entry03 .c_table_01 table tr td .btn02 button {
  padding: 10px;
}
.entry03 .cl50 > * {
  margin-bottom: 2%;
}
.entry03 .modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: 96%;
  max-width: 900px;
  max-height: 90vh;
  overflow: hidden;
}
.entry03 .modal .c_table_01 table tr th {
  width: 14em;
}
.entry03 .modal .c_table_01 table tr th,
.entry03 .modal .c_table_01 table tr td {
  padding: 16px;
}
.entry03 .modal .modal-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry03 .modal .modal-content {
  height: calc(90vh - 140px);
  overflow-y: auto;
  padding: 20px 40px;
}
.entry03 .modal .checkbox-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.entry03 .modal .text-values {
  line-height: 100%;
}

.app-info .error_txt {
  font-size: 80% !important;
}
.app-info .pr-txt {
  height: 20rem;
}

.arrow-ec {
  margin: 30px auto;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #53b4c1;
}

.contact-at-area {
  border: 1px solid #53b4c1;
  padding: 15px 20px;
}
.contact-at-area .tit {
  color: #53b4c1;
}
.contact-at-area .tit span {
  background: url(../images/question.svg) no-repeat left center/1.5em;
  font-weight: bold;
  padding-left: 1.8em;
}

.ec-sm-area label {
  font-size: 1.6rem;
}
.ec-sm-area label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  top: 0.35em;
}
.ec-sm-area label input[type="checkbox"]::before {
  width: 5px;
  height: 9px;
}
.ec-sm-area .submit-btn {
  width: 25%;
}

/* =======================================
	e-c-confirmation エントリー（コンタクト）確認画面
========================================== */
.submit-btn4 {
  background: #ccc url(../images/arrow6.png) no-repeat left 1em center;
  border: none;
  padding: 15px 47px;
  font-size: 105%;
  font-weight: bold;
  color: #666;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s;
  display: flex;
  place-self: center;
  background-size: 1.1em;
  justify-content: center;
  box-shadow: 0 1.6033px 0 #666;
  transition: 0.3s;
  width: 80%;
  max-width: 340px;
  margin-right: auto;
  margin-left: auto;
}

.submit-btn4:hover {
  background: #ccc url(../images/arrow6.png) no-repeat left 0.5em center;
  background-size: 1.1em;
  opacity: 0.7;
}

.e-c-confirmation01 .h4-area h6 span {
  font-size: 2rem;
}

.e-c-confirmation03 h4 {
  color: var(--base_c);
}
.e-c-confirmation03 .submit-btn4,
.e-c-confirmation03 .submit-btn {
  margin-right: 0;
  margin-left: 0;
  width: 30%;
}

/* =======================================
	thanks エントリー（コンタクト）完了画面
========================================== */
.pay-thanks .supp {
  background: #fff !important;
  padding: 2.5% 3% 2% !important;
}
.pay-thanks .supp::after {
  border-bottom: 12px solid #fff !important;
}
.pay-thanks .supp::after {
  top: -10px !important;
  border-right: 10px solid transparent !important;
  border-left: 10px solid transparent !important;
  border-bottom: 12px solid #fff !important;
}

.thanks01 .submit-btn2 {
  width: 14em;
}

/* =======================================
	campaign PayPayキャンペーン
========================================== */
#campaign .paypay-camp {
  padding-bottom: 105px;
}

/* =======================================
	scout スカウト一覧
========================================== */
.scout01 {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #f7f7f7;
}
.scout01 table .flex {
  gap: 10px;
}
.scout01 table .checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.scout01 table .btn-area {
  width: 10em;
}
.scout01 table .submit-btn2 {
  padding: 9px 40px;
  background: var(--blue-txt) url(../images/arrow.png) no-repeat right 0.8em
    center/1em;
  width: 100%;
}
.scout01 table .submit-btn2:hover {
  background: var(--blue-txt) url(../images/arrow.png) no-repeat right 0.5em
    center/1em;
}
.scout01 table tr th {
  width: 11em !important;
}
.scout01 table tr th,
.scout01 table tr td {
  vertical-align: middle;
  font-size: 1.6rem !important;
}
.scout01 table tr th label,
.scout01 table tr td label {
  font-size: 1.6rem;
}
.scout01 table tr th label input[type="checkbox"],
.scout01 table tr td label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  top: 0.35em;
}
.scout01 table tr th label input[type="checkbox"]::before,
.scout01 table tr td label input[type="checkbox"]::before {
  width: 5px;
  height: 9px;
}

.scout-list > *:first-child,
.pj-view-history-list > *:first-child {
  border-top: 1px solid var(--gray);
}
.scout-list > *,
.pj-view-history-list > * {
  padding: 15px 20px;
  border-bottom: 1px solid var(--gray);
  position: relative;
}
.scout-list > * a,
.pj-view-history-list > * a {
  display: inline-block;
  width: 100%;
}
.scout-list > * .tag-area,
.pj-view-history-list > * .tag-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.scout-list > * .tag,
.pj-view-history-list > * .tag {
  text-align: center;
  width: 4em;
  color: var(--wh);
  border-radius: 4.5px;
  margin-top: 5px;
}
.scout-list > * .tag1,
.pj-view-history-list > * .tag1 {
  background: #d3bc31;
}
.scout-list > * .tag2,
.pj-view-history-list > * .tag2 {
  background: #d64c6c;
}
.scout-list > * .tag3,
.pj-view-history-list > * .tag3 {
  background: #ccc;
  color: #000;
}
.scout-list > * .tit,
.pj-view-history-list > * .tit {
  width: calc(100% - 4em - 20px);
  text-decoration: underline;
  color: var(--txt-link);
  font-weight: bold;
}
.scout-list .company-name,
.pj-view-history-list .company-name {
  color: var(--Dgray);
}
.scout-list .btn02 button,
.pj-view-history-list .btn02 button {
  background: #013161;
  box-shadow: 0 1px 0 #00060c;
  pointer-events: auto;
  position: relative;
  z-index: 10;
}
.scout-list .btn02 button:disabled,
.pj-view-history-list .btn02 button:disabled {
  box-shadow: none;
  background: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.scout-list a:hover,
.pj-view-history-list a:hover {
  opacity: 0.7;
}

.scout03 {
  position: relative;
  z-index: 99;
}
.scout03 .paypay-camp.bg_a {
  padding: 60px 25px 105px;
}

/* =======================================
	scout-detail スカウト詳細
========================================== */
label input[type="radio"]:disabled,
label input[type="radio"]:disabled + span {
  opacity: 0.5;
  pointer-events: none;
  background-color: #f9f9f9;
}

label input[type="checkbox"]:disabled {
  background: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

input[type="date"]:disabled {
  background: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

label input[type="checkbox"]:disabled + span {
  color: #666;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

label:has(input[type="checkbox"]:disabled) {
  cursor: auto;
}

.scout-detail01 .category-tabs {
  gap: 0px;
  padding: 0;
  font-weight: 500;
  overflow: hidden;
  margin-bottom: 0 !important;
}
.scout-detail01 .category-tabs .category-tab {
  width: 50%;
  padding: 1.7% 2.5%;
  text-align: center;
  border-radius: 25px 0 0 0;
}
.scout-detail01 .category-tabs .category-tab:nth-of-type(2) {
  border-radius: 0 25px 0 0;
}
.scout-detail01 .tab-content {
  border: 1px solid #f7f7f7;
  padding: 20px;
}
.scout-detail01 .scout-list > * {
  border: none;
  padding: 0;
}
.scout-detail01 .scout-list > * .tit {
  width: calc(100% - 4em - 20px);
  text-decoration: none;
  color: var(--base_c);
  font-weight: bold;
}
.scout-detail01 .select-area {
  border-top: 1px solid var(--Dgray);
}
.scout-detail01 .select-btn {
  gap: 20px;
}
.scout-detail01 .select-btn input[type="radio"] {
  display: none; /* ラジオボタン自体は非表示 */
}
.scout-detail01 .select-btn label {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 6px;
  background: #d3bc31;
  color: #fff;
  font-weight: normal;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 0 #6a5e19;
  width: 10em;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.scout-detail01 .select-btn label.decline {
  background: #ccc;
  color: #000;
  box-shadow: 0 1px 0 #666;
}
.scout-detail01 .select-btn label:hover {
  opacity: 0.7;
}
.scout-detail01 .checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.scout-detail01 .checkbox-group > .flex p {
  width: 10em;
}
.scout-detail01 .checkbox-group > .flex .text-values {
  width: calc(100% - 10em);
}
.scout-detail01 .interview {
  display: block;
}
.scout-detail01 .submit-btn {
  max-width: 400px;
}
.scout-detail01 .b_b {
  border-bottom: 1px solid var(--Lgray);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.scout-detail01 #message h4 {
  color: var(--base_c);
}
.scout-detail01 #message .approval-content .c_table_01 tr:last-child td .flex {
  flex-wrap: wrap;
}
.scout-detail01 #message .c_table_01 table tr th {
  width: 12em;
}
.scout-detail01 #company-info {
  padding: 30px;
}
.scout-detail01 #company-info .com-photo {
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
}
.scout-detail01 #company-info .submit-btn2 {
  max-width: 390px;
}
.scout-detail01 #company-info .c_table_01 table tr th {
  width: 9em;
}

.scout-detail02 .paypay-camp.bg_a {
  padding: 65px 25px 105px;
}

/* =======================================
	reg-engineer-detail エンジニア詳細登録
========================================== */
/* =======================================
	myprofile-edit マイプロフィール編集
========================================== */
#reg-enginner-detail .middle,
#myprofile-edit .middle {
  width: 8em;
}
#reg-enginner-detail .short,
#myprofile-edit .short {
  width: 5em;
}
#reg-enginner-detail .experience,
#reg-enginner-detail .birth-area,
#myprofile-edit .experience,
#myprofile-edit .birth-area {
  gap: 20px;
}
#reg-enginner-detail .area select.middle,
#myprofile-edit .area select.middle {
  width: 10em;
}
#reg-enginner-detail .radio,
#myprofile-edit .radio {
  padding-left: 0;
}
#reg-enginner-detail .selected-values,
#myprofile-edit .selected-values {
  padding: 11.5px;
  background-image: url(../images/arrow_aqua.png);
  background-repeat: no-repeat;
  background-position: right 1em center;
  background-size: 0.5em;
}
#reg-enginner-detail textarea,
#myprofile-edit textarea {
  height: 8em;
}
#reg-enginner-detail .submit-btn,
#myprofile-edit .submit-btn {
  width: 15em;
}
#reg-enginner-detail .c_table_01 table tr th,
#myprofile-edit .c_table_01 table tr th {
  width: 17em;
}
#reg-enginner-detail .occupation-d > label,
#myprofile-edit .occupation-d > label {
  width: 48%;
}
#reg-enginner-detail .lang-d > label,
#myprofile-edit .lang-d > label {
  width: 30%;
}
#reg-enginner-detail .long-t,
#myprofile-edit .long-t {
  width: 100% !important;
}
#reg-enginner-detail .pr-txt,
#myprofile-edit .pr-txt {
  height: 30rem;
}

.detail-table table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}

/* =======================================
	pj-view-history 案件閲覧履歴
========================================== */
.pj-apply-history01 .c_table_01 a,
.interested01 .c_table_01 a,
.pj-view-history01 .c_table_01 a {
  text-decoration: underline;
  color: var(--txt-link);
}
.pj-apply-history01 .c_table_01 a:hover,
.interested01 .c_table_01 a:hover,
.pj-view-history01 .c_table_01 a:hover {
  opacity: 0.7;
}
.pj-apply-history01 .c_table_01 th:nth-of-type(2),
.interested01 .c_table_01 th:nth-of-type(2),
.pj-view-history01 .c_table_01 th:nth-of-type(2) {
  width: 10em !important;
}
.pj-apply-history01 .c_table_01 th:nth-of-type(2),
.pj-apply-history01 .c_table_01 td:nth-of-type(2),
.interested01 .c_table_01 th:nth-of-type(2),
.interested01 .c_table_01 td:nth-of-type(2),
.pj-view-history01 .c_table_01 th:nth-of-type(2),
.pj-view-history01 .c_table_01 td:nth-of-type(2) {
  border-left: 1px solid rgba(166, 185, 186, 0.1019607843);
}
.pj-apply-history01 .c_table_01 th,
.pj-apply-history01 .c_table_01 td,
.interested01 .c_table_01 th,
.interested01 .c_table_01 td,
.pj-view-history01 .c_table_01 th,
.pj-view-history01 .c_table_01 td {
  padding: 10px 20px !important;
}

/* =======================================
	interested 気になる案件
========================================== */
.interested01 {
  /* モーダル */
}
.interested01 th:nth-of-type(3) {
  width: 6.5em !important;
}
.interested01 th:nth-of-type(3) .btn02 button {
  min-width: 6.5em;
}
.interested01 td:nth-of-type(3) {
  vertical-align: middle;
}
.interested01 td:nth-of-type(3) .btn02 {
  text-align: center;
}
.interested01 td:nth-of-type(3) .btn02 button {
  min-width: 4em;
  margin: auto;
  padding-right: 20px;
}
.interested01 th:nth-of-type(3),
.interested01 td:nth-of-type(3) {
  border-left: 1px solid rgba(166, 185, 186, 0.1019607843);
}
.interested01 .modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: 40%;
  min-width: 133px;
  max-height: 90vh;
  overflow: hidden;
}
.interested01 .modal .modal-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.interested01 .modal .modal-close.btn-cancel,
.interested01 .modal .modal-close.btn-ok {
  position: static;
}
.interested01 .modal .submit-btn2 {
  background: var(--blue-txt);
  border: none;
  padding: 15px 47px;
  font-size: 105%;
  font-weight: bold;
  color: #fff;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s;
  display: flex;
  place-self: center;
  background-size: 1.1em;
  justify-content: center;
  box-shadow: 0 1.6033px 0 #2f626a;
  transition: 0.3s;
  width: 80%;
  max-width: 340px;
  margin-right: auto;
  margin-left: auto;
}
.interested01 .modal .submit-btn4 {
  background: #ccc;
  border: none;
  padding: 15px 47px;
  font-size: 105%;
  font-weight: bold;
  color: #666;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s;
  display: flex;
  place-self: center;
  background-size: 1.1em;
  justify-content: center;
  box-shadow: 0 1.6033px 0 #666;
  transition: 0.3s;
  width: 80%;
  max-width: 340px;
  margin-right: auto;
  margin-left: auto;
}
.interested01 .modal .modal-content {
  height: auto;
  overflow-y: auto;
  padding: 35px 40px;
}
.interested01 .modal .checkbox-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.interested01 .modal .text-values {
  line-height: 100%;
}
.interested01 .modal .submit-btn4,
.interested01 .modal .submit-btn2 {
  padding: 18px 20px;
  border-radius: 6px;
  max-width: 8em;
  margin: 0;
  font-weight: normal;
  font-size: 95%;
}

/* =======================================
	pj-apply-history 案件応募履歴
========================================== */
.pj-apply-history01 {
  /* モーダル */
}
.pj-apply-history01 th:nth-of-type(3) {
  width: 8.5em !important;
}
.pj-apply-history01 th:nth-of-type(4) {
  width: 9.9em !important;
}
.pj-apply-history01 th:nth-of-type(3),
.pj-apply-history01 td:nth-of-type(3),
.pj-apply-history01 th:nth-of-type(4),
.pj-apply-history01 td:nth-of-type(4) {
  border-left: 1px solid rgba(166, 185, 186, 0.1019607843);
}
.pj-apply-history01 td:nth-of-type(3),
.pj-apply-history01 td:nth-of-type(4) {
  vertical-align: middle;
}
.pj-apply-history01 .apply-tag1 {
  color: var(--orange_c);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.pj-apply-history01 .apply-tag2 {
  color: var(--blue-txt);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.pj-apply-history01 .apply-tag3 {
  color: #9c9c9c;
  letter-spacing: 0.05em;
}
.pj-apply-history01 .qimg {
  width: 1.3em;
  margin-left: 10px;
  display: block;
  cursor: pointer;
  transition: 0.3s;
}
.pj-apply-history01 .qimg:hover {
  opacity: 0.5;
}
.pj-apply-history01 .modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  width: 50%;
  border-radius: 0;
  min-width: 616px;
  max-height: 90vh;
  overflow: hidden;
}
.pj-apply-history01 .modal .c_table_01 table tr th {
  width: 14em;
}
.pj-apply-history01 .modal .c_table_01 table tr th,
.pj-apply-history01 .modal .c_table_01 table tr td {
  padding: 16px;
}
.pj-apply-history01 .modal .modal-close {
  background: none;
  border: none;
  color: white;
  font-size: 24px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pj-apply-history01 .modal .modal-content {
  height: auto;
  overflow-y: auto;
}
.pj-apply-history01 .contact-at-area {
  border: 3px solid #53b4c1;
}

/* =======================================
	inquiry お問い合わせ
========================================== */
.inquiry-form .c_table_01 > table,
.inq-confirmation01 .c_table_01 > table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.inquiry-form .c_table_01 > table > tbody > tr > th,
.inquiry-form .c_table_01 > table > tbody > tr > td,
.inq-confirmation01 .c_table_01 > table > tbody > tr > th,
.inq-confirmation01 .c_table_01 > table > tbody > tr > td {
  padding: 18px 16px;
}
.inquiry-form .c_table_01 > table > tbody > tr > th,
.inq-confirmation01 .c_table_01 > table > tbody > tr > th {
  width: 17em;
  font-size: 1.5rem;
}
.inquiry-form .c_table_01 > table > tbody > tr > td,
.inquiry-form .c_table_01 > table > tbody > tr > td label,
.inq-confirmation01 .c_table_01 > table > tbody > tr > td,
.inq-confirmation01 .c_table_01 > table > tbody > tr > td label {
  font-size: 1.5rem;
}
.inquiry-form .short,
.inq-confirmation01 .short {
  width: 5em;
}
.inquiry-form .inq-cont,
.inq-confirmation01 .inq-cont {
  height: 20rem;
}
.inquiry-form .submit-btn,
.inq-confirmation01 .submit-btn {
  width: 14em;
}

#inquiryFormC
  .c_table_01
  > table
  > tbody
  > tr:nth-of-type(1)
  > td
  label:nth-child(odd) {
  width: 12em;
  padding-left: 0;
}

#inquiryFormC
  .c_table_01
  > table
  > tbody
  > tr:nth-of-type(1)
  > td
  label:nth-child(even) {
  width: calc(100% - 14em);
  padding-left: 0;
}

#inquiryFormC .c_table_01 > table > tbody > tr:nth-of-type(1) > td label,
#inquiryForm .c_table_01 > table > tbody > tr:nth-of-type(1) > td label {
  padding-left: 0;
}

/* =======================================
	inq-confirmation お問い合わせ確認
========================================== */
.pass-confirmation01 .c_table_01 table tr th,
.inq-confirmation01 .c_table_01 table tr th {
  width: 16em !important;
}
.pass-confirmation01 .submit-btn4,
.pass-confirmation01 .submit-btn,
.inq-confirmation01 .submit-btn4,
.inq-confirmation01 .submit-btn {
  margin-right: 0;
  margin-left: 0;
  width: 30% !important;
}

/* =======================================
	resend-pass パスワード再送
========================================== */
.pass-confirmation01 .c_table_01 > table,
.resend-pass01 .c_table_01 > table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.pass-confirmation01 .c_table_01 table tr th,
.resend-pass01 .c_table_01 table tr th {
  width: 14em !important;
}
.pass-confirmation01 .submit-btn,
.resend-pass01 .submit-btn {
  width: 14em;
}

/* =======================================
	faq よくある質問
========================================== */
#faq dt.plus {
  position: relative;
  background: #f9f9f9;
  border-radius: var(--s-sub-radius);
  padding: 10px 3.5em 8px 1.5em;
  font-weight: bold;
  color: #3fabba;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  cursor: pointer;
}
#faq dt.plus:before {
  content: "";
  position: absolute;
  right: 1.2em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  background: url(../images/arrow5.png) no-repeat center/contain;
  margin: auto;
  transition: 0.2s;
}
#faq dt.active:before {
  transform: translateY(-50%) rotate(90deg);
}
#faq .accordion dd {
  width: calc(100% - 3em);
  margin: 13px auto 23px;
  line-height: 140%;
}

/* =======================================
	column 新着情報　エンジニア向けコラム
========================================== */
#column .in-sidebar aside,
#column-single .in-sidebar aside {
  padding-top: 50px;
  padding-right: 15px;
  padding-left: 15px;
}
#column .in-sidebar .sidebar-neig,
#column-single .in-sidebar .sidebar-neig {
  padding-top: 60px;
  padding-bottom: 105px;
}
#column .column-area,
#column-single .column-area {
  flex-direction: row-reverse;
}
#column .column-area.in-sidebar .sidebar-neig::before,
#column-single .column-area.in-sidebar .sidebar-neig::before {
  right: -21em;
  left: auto;
}
#column .informationArea .info-area .txt,
#column-single .informationArea .info-area .txt {
  width: 100%;
}
#column .info-area > li,
#column-single .info-area > li {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--Lgray);
}
#column .info-area a,
#column-single .info-area a {
  background-image: none;
  display: inline-block;
}
#column .p-pager,
#column-single .p-pager {
  justify-content: center;
}
#column .new-column a,
#column-single .new-column a {
  padding: 4%;
  margin-bottom: 10px;
}
#column .new-column li:last-child a,
#column-single .new-column li:last-child a {
  margin-bottom: 0;
}
#column .column-page-link .btn03 a,
#column-single .column-page-link .btn03 a {
  padding: 2%;
}
#column .column-page-link .btn03 a p,
#column-single .column-page-link .btn03 a p {
  font-size: 1.4rem;
}
#column .btnAqua a,
#column-single .btnAqua a {
  border: 2px solid #3070ef;
  color: #3070ef;
}
#column .tag-area .bgW,
#column-single .tag-area .bgW {
  padding: 4% 3%;
  border-radius: 4px;
}
#column .tag-area .flexWrap,
#column-single .tag-area .flexWrap {
  gap: 5px;
}
#column .tag-area .flexWrap .btnAqua a,
#column-single .tag-area .flexWrap .btnAqua a {
  display: inline-block;
  white-space: nowrap;
  font-size: 1.4rem;
  padding: 5px 10px;
  min-width: 5em;
}
#column .tagArea.gap2,
#column-single .tagArea.gap2 {
  gap: 6px 5px;
}
#column .bnr-area a:hover,
#column-single .bnr-area a:hover {
  opacity: 0.7;
}
#column .engineer-column-side > div:not(:first-child, :last-child),
#column-single .engineer-column-side > div:not(:first-child, :last-child) {
  padding-top: 10px;
  border-top: 1px solid #fff;
}

.wp-header {
  justify-content: space-between;
  display: flex;
  align-items: center;
}
.wp-header img {
  height: 70px;
  width: auto;
}
.wp-header .headerLinks {
  position: static;
}
.wp-header #logoArea {
  padding: 0;
  width: 19em;
}

#column-single img {
  height: auto !important;
}
#column-single .aligncenter {
  text-align: center;
  margin: auto;
}
#column-single .alignright {
  text-align: right;
  margin-right: 0;
  margin-left: auto;
}
#column-single .txt h1 {
  font-size: 160%;
}
#column-single .txt h2 {
  font-size: 150%;
}
#column-single .txt h3 {
  font-size: 140%;
}
#column-single .txt h4 {
  font-size: 130%;
}
#column-single .txt h5 {
  font-size: 120%;
}
#column-single .txt h6 {
  font-size: 110%;
}

.iframe-column {
  background: #fff;
}
.iframe-column .in-sidebar .sidebar-neig {
  width: 100%;
  padding: 0 !important;
}
.iframe-column .mypage-area.in-sidebar .sidebar-neig::before {
  display: none;
}

#iframe-column .txt {
  width: calc(100% - 18em);
}

#error .detail {
  background: rgba(229, 236, 238, 0.3019607843);
  padding: 20px;
}

/* =======================================
	about e案件とは？
========================================== */
.about02 {
  background: #f7f7f7;
}
.about02 .img-area {
  margin-top: -3%;
}
.about02 .img-area img {
  max-width: 300px;
  width: 100%;
  margin: auto;
}
.about02 .kasen > span {
  background: url(../images/kasen.svg) no-repeat bottom center/100%;
  padding-bottom: 5px;
}
.about02 .cl4_6 {
  align-items: stretch;
}
.about02 .cl4_6 > *:nth-of-type(1) .fukidashi:nth-of-type(2) {
  margin-right: 0;
  margin-left: auto;
}
.about02 .cl4_6 > *:nth-of-type(1) .fukidashi:nth-of-type(3) {
  margin-right: auto;
  margin-left: 14%;
}
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi:nth-of-type(2) {
  margin-right: auto;
  margin-left: auto;
}
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi {
  margin-left: auto;
}
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi > div::before {
  transform: rotate(-50deg);
}
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi::after,
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi::before {
  border: 2px solid #003160;
}
.about02 .cl4_6 > *:nth-of-type(2) .fukidashi > div::before {
  background-color: #003160;
}

.fukidashi {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 20px 16px;
  border-radius: 4px;
  background-color: #ffffff;
  z-index: 1;
}
.fukidashi > div {
  position: relative;
  z-index: 0;
}
.fukidashi > div::before {
  content: "";
  position: absolute;
  top: calc(100% + 28px);
  left: 50%;
  z-index: -1;
  width: 20px;
  height: 2px;
  transform: rotate(50deg);
  box-sizing: border-box;
  background-color: var(--Lblue2);
  box-shadow: 0 2px 0 #ffffff, 0 -2px 0 #ffffff;
}
.fukidashi > div p {
  font-weight: 500;
  font-size: 1.8rem;
}

.fukidashi::before {
  content: "";
  position: absolute;
  border-radius: 4px;
  top: 8px;
  left: 8px;
  z-index: -1;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 2px solid var(--Lblue2);
  background-color: #ffffff;
}

.fukidashi::after {
  content: "";
  position: absolute;
  border-radius: 4px;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 2px solid var(--Lblue2);
  background-color: #ffffff;
}

.fukidashi2,
.fukidashi3 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 16px;
  border-bottom: 2px solid #000;
}

.fukidashi3 {
  margin-right: 0;
  margin-left: auto;
}

.fukidashi2::before {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -13px;
  width: 30px;
  height: 2px;
  transform: rotate(50deg);
  box-sizing: border-box;
  background-color: #000;
}

.fukidashi2::after {
  content: "";
  position: absolute;
  right: -23px;
  bottom: -28px;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  border: 1px solid #ffffff; /* 背景色と同じ色を指定 */
  border-radius: 50%;
  background-color: #000;
}

.fukidashi3::before {
  content: "";
  position: absolute;
  left: -24px;
  bottom: -13px;
  width: 30px;
  height: 2px;
  transform: rotate(-50deg);
  box-sizing: border-box;
  background-color: #000;
}

.fukidashi3::after {
  content: "";
  position: absolute;
  left: -23px;
  bottom: -28px;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  border: 1px solid #ffffff; /* 背景色と同じ色を指定 */
  border-radius: 50%;
  background-color: #000;
}

.fukidashi4 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 16px;
  border-top: 4px solid #abf0f4;
  background-color: #e4f5f7;
}

.fukidashi4::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 49%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #e4f5f7; /* 背景色と同じ色を指定 */
  rotate: 135deg;
  translate: -50%;
}

.fukidashi4::after {
  content: "";
  position: absolute;
  top: -16px;
  left: calc(49% - 9px);
  z-index: 0;
  width: 35px;
  height: 4px;
  transform: rotate(-50deg);
  box-sizing: border-box;
  background-color: #abf0f4;
  box-shadow: 0 2px 0 #e4f5f7, 0 -2px 0 #e4f5f7;
}

.about03 {
  position: relative;
  z-index: 0;
}
.about03::before {
  content: "";
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 0%;
  width: 0;
  height: 0;
  border-left: 95px solid transparent;
  border-right: 95px solid transparent;
  border-top: 65px solid #f7f7f7;
  z-index: 1;
  transform: translateX(-50%);
}
.about03 .bgW {
  box-shadow: 2.0275px 3.0412px 4.055px rgba(9, 15, 45, 0.07);
  border: 3px solid #abf0f4;
  padding: 27px 35px;
}
.about03 .bgW img {
  max-height: 200px;
  margin: 30px auto;
}

.about04 {
  width: 100%;
  max-width: 100% !important;
}
.about04 h4 span {
  background: url(../images/engineer2.png) no-repeat center left/2em;
  padding: 1.5em 0.5em 1.5em 2.5em;
}
.about04 h6 span {
  background: var(--Lblue2);
  padding: 3px 20px;
  border-radius: 4px;
}
.about04 .com-area h4 span {
  background: url(../images/companies2.png) no-repeat center left/2em;
  padding: 1.5em 0.5em 1.5em 2.5em;
}
.about04 .com-area .d-box.cl50 > *:nth-of-type(1) {
  width: 100%;
  margin-bottom: 2%;
}
.about04 .com-area .d-box.cl50 > *:nth-of-type(1) > * {
  width: 48%;
  margin: auto;
}
.about04 .s-1 .bgW {
  background: #fff url(../images/about_s1.svg) no-repeat right 5px bottom 5px/5em;
}
.about04 .s-2 .bgW {
  background: #fff url(../images/about_s2.svg) no-repeat right 5px bottom 5px/5em;
}
.about04 .s-3 .bgW {
  background: #fff url(../images/about_s3.svg) no-repeat right 5px bottom 5px/5em;
}
.about04 .s-4 {
  background: #fff url(../images/about_s4.svg) no-repeat right 5px bottom 5px/5em;
}
.about04 .s-5 {
  background: #fff url(../images/about_s5.svg) no-repeat right 5px bottom 5px/5em;
}
.about04 .table1.bgW .c_table_01 table,
.about04 .table2.bgW .c_table_01 table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.about04 .table1.bgW .c_table_01 table th,
.about04 .table1.bgW .c_table_01 table td,
.about04 .table2.bgW .c_table_01 table th,
.about04 .table2.bgW .c_table_01 table td {
  padding: 16px 20px;
}
.about04 .table1 .c_table_01 table tr th {
  width: 8em;
}
.about04 .table2 .c_table_01 table tr th {
  width: 16em;
}

.gizagiza p,
.gizagiza p:after,
.gizagiza p:before,
.gizagiza p span {
  content: "";
  width: 50px;
  height: 50px;
  background-color: #0066f9;
  position: absolute;
  top: 0px;
}

.gizagiza,
.gizagiza p,
.gizagiza p:after,
.gizagiza p:before {
  -webkit-transform: rotate(22.5deg);
  -moz-transform: rotate(22.5deg);
}

.gizagiza p span {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  text-align: center;
  z-index: 999;
  line-height: 50px;
}

.gizagiza {
  position: relative;
  width: 50px;
  height: 50px;
  background-color: #0066f9;
  margin: 20px 0 0 20px;
}

.giza-area {
  position: absolute;
  top: -30px;
  left: 27px;
}

/* =======================================
	social-linkage ソーシャルアカウント連携
========================================== */
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 table {
  border: 1px solid rgba(166, 185, 186, 0.3019607843);
}
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .social-btn td,
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .social-btn th {
  vertical-align: middle;
}
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .social-btn th {
  width: 18em;
}
.mypage-area.in-sidebar
  .sidebar-neig.social-linkage01
  .social-btn
  tr:last-child
  th {
  border-bottom: none;
}
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .social-btn td {
  text-align: center;
}
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .btn-oauth {
  max-width: 24em;
  margin: auto;
}
.mypage-area.in-sidebar .sidebar-neig.social-linkage01 .btn02 button {
  min-width: 10em;
}

/* =======================================
	logout ログアウト
========================================== */
.logout01 .submit-btn,
.logout01 .submit-btn2 {
  width: 16em;
}