@charset "utf-8";
/*=採用情報ページ=*/
.menu-top li:nth-child(3)::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%; 
	margin-left: -20px;
	bottom: -4px; 
	width: 40px; /* 下線の幅 */
	height: 2px; /* 下線の太さ */
	background-color: #d3a84c;
}
/*アコーディオン全体*/
.accordion-area dl{
    margin: 20px 0;
    display: block;
    border: 1px solid #ccc;
}
/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 3%;
    transition: all .5s ease;
}
/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
}
.title::before{
    top:48%;
    right: 3%;
    transform: rotate(0deg);
}
.title::after{ 
    top:48%;
    right: 3%;
    lright: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(45deg);
}
.title.close::after{
	transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
}
/*採用情報ページcss追加*/
.recruitment-page {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333333;
  line-height: 1.8;
  margin: 0 auto;
  padding: 20px 15px 60px;
  box-sizing: border-box;
}

.recruitment-page * {
  box-sizing: border-box;
}

/* セクション共通 */
.recruitment-sec {
  margin-bottom: 60px;
}

.recruitment-title {
  font-size: 24px; /* 22px -> 24px */
  font-weight: bold;
  color: #222222;
  margin-bottom: 25px;
  position: relative;
  letter-spacing: 0.05em;
}

/* 01. メインビジュアル */
.rec-hero {
  background: #f9f9f9;
  border: 1px solid #e0e0e0;
  padding: 45px 30px;
  text-align: center;
  border-radius: 4px;
  margin-bottom: 50px;
}
.rec-hero__sub {
  font-size: 15px; /* 14px -> 15px */
  color: #4e78e4;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}
.rec-hero__title {
  font-size: 28px; /* 26px -> 28px */
  line-height: 1.5;
  margin: 0 0 16px;
  color: #111;
}
.rec-hero__desc {
  font-size: 16px; /* 15px -> 16px */
  color: #555;
  margin: 0;
}

/* 02. 当社で働く魅力 (3つの特徴) */
.rec-features {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.rec-feature-card {
  flex: 1;
  min-width: 280px;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  padding: 25px 22px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}
.rec-feature-card__num {
  font-size: 13px; /* 12px -> 13px */
  font-weight: bold;
  color: #4e78e4;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.rec-feature-card__title {
  font-size: 18px; /* 17px -> 18px */
  font-weight: bold;
  margin: 0 0 12px;
  color: #111;
}
.rec-feature-card__text {
  font-size: 15px; /* 14px -> 15px */
  color: #555;
  margin: 0;
  line-height: 1.7;
}

/* 03. 求める人材 */
.rec-target-grid {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.rec-target-box {
  flex: 1;
  min-width: 280px;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  background: #fff;
  overflow: hidden;
}
.rec-target-box__head {
  background: #f5f5f5;
  padding: 14px 20px;
  font-weight: bold;
  font-size: 17px; /* 16px -> 17px */
  border-bottom: 1px solid #e2e2e2;
  text-align: center;
}
.rec-target-box__list {
  padding: 22px;
  margin: 0;
  list-style: none;
}
.rec-target-box__list li {
  font-size: 15px; /* 14px -> 15px */
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  color: #444;
}
.rec-target-box__list li:last-child {
  margin-bottom: 0;
}
.rec-target-box__list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #4e78e4;
  font-weight: bold;
}

/* 04. 募集要項 (テーブル構成) */
.rec-requirements-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e2e2e2;
  background: #fff;
}
.rec-requirements-table th,
.rec-requirements-table td {
  padding: 16px 20px;
  border-bottom: 1px solid #e2e2e2;
  font-size: 15px; /* 14px -> 15px */
}
.rec-requirements-table th {
  width: 25%;
  background: #f9f9f9;
  text-align: left;
  font-weight: bold;
  color: #333;
  vertical-align: top;
  border-right: 1px solid #e2e2e2;
}
.rec-requirements-table tr:last-child th,
.rec-requirements-table tr:last-child td {
  border-bottom: none;
}

/* 05. よくある質問 (画像デザイン再現) */
.rec-faq-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.rec-faq-item {
  border: 1px solid #e2e2e2;
  border-radius: 2px;
  background: #fff;
  overflow: hidden;
}
.rec-faq-q {
  padding: 22px 25px;
  font-size: 16px; /* 15px -> 16px */
  color: #333;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: normal;
}
.rec-faq-a {
  background: #f5f5f5;
  padding: 25px;
  margin: 0 25px 22px 25px;
  font-size: 15px; /* 14px -> 15px */
  color: #333;
  line-height: 1.8;
}

/* 06. 選考の流れ */
.rec-flow-steps {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.rec-flow-step {
  flex: 1;
  min-width: 180px;
  border: 1px solid #e2e2e2;
  background: #fff;
  padding: 18px 15px;
  text-align: center;
  border-radius: 4px;
}
.rec-flow-step__num {
  font-size: 12px; /* 11px -> 12px */
  color: #4e78e4;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 6px;
}
.rec-flow-step__title {
  font-size: 15px; /* 14px -> 15px */
  font-weight: bold;
  color: #222;
}
/* 応募フォーム専用スタイル（全体文字拡大・トーン＆マナー共通） */
.wpcf7-form-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e2e2e2;
  margin-bottom: 25px;
  background: #fff;
}
.wpcf7-form-table th,
.wpcf7-form-table td {
  padding: 16px 20px;
  border-bottom: 1px solid #e2e2e2;
  font-size: 15px; /* 14px -> 15px */
  line-height: 1.7;
}
.wpcf7-form-table th {
  width: 30%;
  background: #f9f9f9;
  text-align: left;
  font-weight: bold;
  color: #333;
  vertical-align: top;
  border-right: 1px solid #e2e2e2;
}
.wpcf7-form-table .required-badge {
  background: #c23934;
  color: #fff;
  font-size: 11px; /* 10px -> 11px */
  padding: 2px 7px;
  border-radius: 2px;
  margin-left: 8px;
  vertical-align: middle;
}
.wpcf7-form-table .optional-badge {
  background: #888;
  color: #fff;
  font-size: 11px; /* 10px -> 11px */
  padding: 2px 7px;
  border-radius: 2px;
  margin-left: 8px;
  vertical-align: middle;
}
.wpcf7-form-table input[type="text"],
.wpcf7-form-table input[type="email"],
.wpcf7-form-table input[type="tel"],
.wpcf7-form-table select,
.wpcf7-form-table textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 15px; /* 14px -> 15px */
  box-sizing: border-box;
  color: #333;
}
.wpcf7-form-table input[type="text"]:focus,
.wpcf7-form-table input[type="email"]:focus,
.wpcf7-form-table input[type="tel"]:focus,
.wpcf7-form-table select:focus,
.wpcf7-form-table textarea:focus {
  border-color: #886c31;
  outline: none;
}
.wpcf7-submit-btn {
  text-align: center;
  margin-top: 25px;
}
.wpcf7-submit-btn input[type="submit"] {
  background: #333;
  color: #fff;
  border: none;
  padding: 16px 60px;
  font-size: 17px; /* 16px -> 17px */
  font-weight: bold;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.2s;
}
.wpcf7-submit-btn input[type="submit"]:hover {
  background: #555;
}
.wpcf7-not-valid-tip, .wpcf7-response-output {
    color: #e31812;
    margin: 10px;
}
.screen-reader-response,
#pagetop{
	display: none;
}
.guide-wrap h3 {
    font-size: 17px;
    display: inline-block;
    border-bottom: 1px solid;
    margin-bottom: 10px;
}
.mgn_B20{
	margin-bottom:20px;
}
@media screen and (max-width:768px) {
	.title {
		padding-right: 30px;
	}
	/* レスポンシブ調整 */
  .rec-requirements-table th,
  .rec-requirements-table td {
    display: block;
    width: 100%;
  }
  .rec-requirements-table th {
    border-right: none;
    border-bottom: none;
    background: #f5f5f5;
    padding-bottom: 8px;
  }
  .rec-requirements-table td {
    padding-top: 8px;
  }
  .rec-faq-a {
    margin: 0 15px 15px 15px;
    padding: 15px;
  }
  /* 応募フォーム */
  .wpcf7-form-table th, .wpcf7-form-table td {
    display: block;
    width: 100%;
  }
  .wpcf7-form-table th {
    border-right: none;
    border-bottom: none;
    background: #f5f5f5;
  }
}
