@charset "utf-8";

/* 
Theme Name: page
*/
/* 下層ページ */
.page_section_container {
  width: 100%;
  padding: 50px 40px;
}
.page_head {
    width: 100%;
    position: relative;
}

.page_title {
    position: absolute;
    top:50%;
    left:7.3%;
    transform: translateY(-50%);
    width:fit-content;
}
.page_title h1 {
    /* background-color: #fff; */
    /* color:#402E76; */
    font-size: 36px;
    width:fit-content;
    color:#fff;

  }
.page_title p {
    font-size: 16px;
    display: block;
    /* background-color: #fff; */
    /* color:#402E76; */
    color:#fff;
    width:fit-content;
    /* padding:5px 20px; */
    margin-bottom:5px;
}
    
  .page_title_underline {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top:16px;
  }
  .page_title_underline span {
    display: block;
    width: 80px;
    height: 6px;
    background: #F9B129;
    margin-right:auto;
  }

.page_content {
    max-width: 1136px;
    margin: 0 auto;
}

.page_headImage {
    width:100%;
}

.page_headImage img {
    object-fit: contain;
    height:100%;
    width:100%;
}
.page_catchcopy {
    font-size:34px;
    font-weight:bold;
    line-height:1.47;
    color:#402E76;
    text-align: center;
}
.page_section_inner {
  background: #fff;
  padding:50px 140px;
  border-radius: 10px;
}
.page_content_head {
  width:960px;
  margin:0 auto;
}
.page_content_head_text {
    font-size:16px;
    line-height: 1.87;
    text-align: center;
    margin-top:40px;
    margin-bottom:45px;
    
}
.section_head {
    text-align: center;
   margin-bottom:45px;
  }
  
  .page_section_title {
    font-size: 28px;
    font-weight: bold;
    color: #000;
    margin-bottom: 24px;
    line-height: 1.4;
  }
  
  .page_section_title_underline {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .page_section_title_underline span {
    display: block;
    width: 60px;
    height: 6px;
    background: linear-gradient(90deg, #402E76 0%, #402E76 50%, #F9B129 50%, #F9B129 100%);
    margin: 0 auto;
  }

  .line_left span {
    margin-left:0;

  }
  /* 採用情報 */
  .recruit_tabs_container {
    display: flex;
    max-width:1126px;
    justify-content: center; /* タブを中央寄せにする場合 */
    margin-bottom: 40px; /* タブとコンテンツの間隔 */
    overflow: hidden; /* 角丸からはみ出る子要素を隠す */
    margin-left: auto; /* 中央寄せ */
    margin-right: auto; /* 中央寄せ */
    gap:47px;
  }
  
  .recruit_tab {
    position: relative;
    padding: 15px 30px; /* タブのパディング */
    white-space: nowrap;
    color: #402E76; /* タブのテキスト色 */
    border: 1px solid #402E76;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    width:50%;
    transition: background-color 0.3s, color 0.3s; /* ホバーエフェクト */
    text-align: center;
    background-color: #fff;
  }

  .recruit_tab::after {
    content: '▼'; /* 三角のアイコン */
    font-size: 12px;
    position: absolute;
    right:48px;
    top:50%;
    transform: translateY(-50%);
    color: #402E76; /* アイコンの色 */
    margin-left: 10px; /* テキストとアイコンの間隔 */
}

  .recruit_tab:hover,
  .recruit_tab.is-active {
    background-color: #402E76; /* アクティブ/ホバー時の背景色 */
    color: #fff; /* アクティブ/ホバー時のテキスト色 */
  }
  .recruit_tab:hover.recruit_tab::after {
    color:#fff;
  }
  .page_recruit_section {
      margin-bottom: 50px; /* 各セクションの下の間隔 */
    }

  .page_recruit_section h2 {
      font-size: 24px;
      margin-bottom: 20px;
      color: #402E76;
  }
  .page_section_recruit_inner {
    width:1085px;
    margin: 0 auto;
  }
  .page_section_recruit_inner p {
    margin-bottom:40px;

  }
  .recruit_info_table {
    width: 100%; /* テーブルの幅を親要素に合わせる */
    border-collapse: collapse; /* セルのボーダーを重ねる */
    margin-bottom: 20px; /* テーブルの下に余白 */
  }
  .recruit_info_table th,
  .recruit_info_table td {
    border: 1px solid #ddd; /* セルのボーダー */
    padding: 10px; /* セル内の余白 */
    text-align: left; /* テキスト左揃え */
  }
  
.recruit_info_table th {
  background-color: #f2f2f2; 
  width:30%;  
  color: #000; 
}

.recruit_info_table td {
  color: #000; /* 内容のテキスト色 */
}



  /* アクセス */
  .access_section {
    width: 100%;
    padding: 50px 40px;
  }
  
  .access_content {
    margin-top:48px;
  }
  .access_map iframe {
    width:100%;
  }
  /* 企業情報ページ */
  .message_inner {
    display: flex; 
    align-items: flex_start;
    gap: 40px; 
    justify-content: center;
}

.message_image_area {
    flex-shrink: 0; /* 縮小しない */
    width: 40%; /* 左側のグレー領域の幅（適宜調整） */
    /* height: 400px; */ /* 高さを固定する場合（コンテンツ量に合わせて調整） */
    aspect-ratio: 3 / 4; /* アスペクト比を固定する場合 */
}

.message_content_area {
    /* flex-grow: 1;  */
    width: 960px; 
}

.message_title {
    font-size: 24px; /* タイトルのフォントサイズ（適宜調整） */
    font-weight: bold; /* 太字 */
    margin-bottom: 20px; /* タイトルの下部の余白 */
    color: #333; /* タイトルの色 */
}

.message_text {
    font-size: 16px; /* 本文のフォントサイズ（適宜調整） */
    line-height: 1.8; /* 行間 */
    margin-bottom: 30px; /* 本文の下部の余白 */
    color: #555; /* 本文の色 */
}

.message_signature {
    margin-left:auto;
    width:250px;
}
/* 会社概要セクション */
.company_info_section {
  margin-top: 60px; /* 上部の余白を調整 */
  margin-bottom: 60px; /* 下部の余白を調整 */
}

.company_info_inner {
  display: flex; /* 子要素（基本情報エリアと事業所情報エリア）を横並びに */
  gap: 40px; /* エリア間の隙間 */
  margin:38px auto 0 auto;
  width:960px;
}
.company_basicinfo_inner {
  margin:38px auto 0 auto;
  width:960px;
}
.company_basic_info {
  flex: 1; /* 基本情報エリアが均等にスペースを占めるように */
  width:100%;
}

.company_branch_info {
  flex: 1; /* 事業所情報エリアが基本情報エリアの倍のスペースを占めるように（適宜調整） */
  width:50%;
  
}

.company_info_table {
  width: 100%; /* テーブルの幅を親要素に合わせる */
  border-collapse: collapse; /* セルのボーダーを重ねる */
  margin-bottom: 20px; /* テーブルの下に余白 */
}

.company_info_table th,
.company_info_table td {
  border: 1px solid #ddd; /* セルのボーダー */
  padding: 10px; /* セル内の余白 */
  text-align: left; /* テキスト左揃え */
}

.company_info_table th {
  background-color: #f2f2f2; 
  width:30%;  
  color: #000; 
}

.company_info_table td {
  color: #000; /* 内容のテキスト色 */
}

.branch_block {
  margin-bottom: 30px; /* 各事業所ブロックの下に余白 */
}

.branch_title {
  font-size: 20px; /* 事業所名のフォントサイズ（適宜調整） */
  color: #402E76;
  padding-bottom: 5px; /* 下線とテキストの間隔 */
  text-align: left;
}
.branch_block ul li {
  text-align: left;
  margin-bottom:16px;
}
.ict_link {
  margin-top: 15px; /* リンクの上部に余白 */
}
.ict_link i {
  color: #f08c00; /* オレンジ色（適宜調整） */
  width: fit-content;
  margin-right: 8px;
}
.ict_link a {
  color:#000;
  text-decoration: none; /* 下線なし */
  display: inline-flex; /* アイコンとテキストを横並びに */
  align-items: center;
  border-bottom: 1px solid #000;
  width:fit-content;
}
.company_service_text{
  text-align: center;
}

  /* お問合せ */
.page_contact_inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 100px 0 60px 0;
}
.contact_form_wrapper {
    box-shadow: 0px 0px 8px 0 rgba(101, 101, 101, 0.44);
    border-radius: 10px;

}
.contact_form_head {
  background-color: #0F214B;
  border-radius: 10px 10px 0 0;
  padding:24px;
 
}
.contact_form_head h2 {
  font-size:32px;
  color:#fff;
  text-align: center;
  line-height:1.8;
 
}
.contact_form_head p {
  font-size:16px;
  color:#fff;
  text-align: center;
}
.contact_form_content {
  padding:32px 50px;
}
.contact_form_note {
  font-size:14px;
  color: #707070;
}
.contact_form_bottom {
  margin:24px 0;
}
.acceptance_text {
  font-size: 14px;

}

input.form_text_box, textarea {
  width: 100%;
  padding: 8px;
  margin: 3px 0 16px;
  border-radius: 10px;
  background-color: #fff;
  font-size:16px;
  border:1px solid #cecece;
}
input.form_text_box {
  height:50px;
}
span.required {
  color: #FF0000;
  font-weight: bold;
}

/* .custom-submit,.custom-pre {
  display: block;
  position: relative;
  width:240px;
  margin: 0 auto;
  border: solid 1px #402E76;
    background-color: #fff;
    margin: 0 auto;
    border-radius: 50px;
  padding:18px;
  padding-right:32px;
  text-align: center;

} */
.wpcf7-file{
  display: inline-block;
  background-color: #fff;
  font-size:16px;
  height: 100%;
  margin-top:16px;
  margin-bottom:32px;
}
input[type=file]::file-selector-button {
  background-color: #707070;
  color: #fff;
    padding:8px 16px; 
    margin-right:8px;
    border-radius: 10px;
    border: none;
    height: 100%; 
    cursor: pointer;
}
.wpcf7-submit {
  /* box-shadow: 4.9px 5px 8px 0 rgba(101, 101, 101, 0.44); */
  background-color:  #707070;
  margin:0 auto;
  color:#fff;
  width:230px;
  margin:32px auto;
  padding:16px 24px;
  text-align: center;
  display: block;
  border-radius: 10px;
}
.wpcf7-previous {
  margin:0 auto;
  color:#fff;
  font-weight: bold;
  padding:18px;
}
.custom-submit::after {
  content:"";
  background-image:url(../images/contact_submit.png);
  position: absolute;
  top:50%;
  transform:translateY(-50%);
  right:22px;
  background-size: 30px 30px; /* ← 矢印画像の大きさを調整 */
  background-repeat: no-repeat;
  background-position: center;
  width:30px;
  height: 30px;

}

.wpcf7-spinner {
  display:none;
}


/* ポリシー */
  .policy_section {
    padding:30px;
  }
  .policy_title {
    font-size: 18px;
    color:#402E76;
  }
  .policy_item {
    font-size:16px;
    color:#402E76;
    margin-top:29px;
    margin-bottom:21px;
  }
  
@media (max-width: 1100px) {
  .company_basicinfo_inner,.company_info_inner {
    width:100%;
  } 
}
@media (max-width: 768px) { 
  .page_section_container {
    padding:50px 20px;
  }
  .page_content_head {
    width:100%;
    padding:50px 20px;
  }
  .page_contact_inner {
    width:100%;
    padding: 100px 32px 60px;
  }
 
.page_title h1 {
  font-size:28px;
}

}
@media (max-width: 480px) { 
  .page_headImage img {
    height:434px;
    object-fit: cover;
  }
  .page_headImage img.sp_s {
    height:100%;
    object-fit: cover;
  }
  .recruit_tabs_container {
    width:100%;
    flex-direction: column;
    padding:0 20px;
  }
  .recruit_tab {
    width:100%;
  }
  .page_title {
    top:45%;
    left:50%;
    transform: translate(-50%);
    width:100%;
  }
  .page_title p {
    text-align: center;
    font-size:14px;
    margin:0 auto;
    margin-bottom:11px;
  }
  .page_title h1 {
    text-align: center;
    font-size:24px;
    margin:0 auto;

}
.page_title_underline span {
  margin:0 auto;
}
.contact_form_content {
  padding:32px 20px;
}
.contact_form_head h2 {
  font-size:24px;
}
.branch_block {
  margin-bottom:0;
}
.company_basicinfo_inner,
.company_info_inner {
  gap:0;
}
}
