@charset "UTF-8";
/* 本田精密工業株式会社 
企業情報・設備情報・採用情報・お問合せ
プライバシーポリシー・サイトマップ スタイル */



/* TOP題名まわり --------------------*/
/* 背景とアキ */
.gen_top {
  background: url(../images/triangle.svg) top left/40% no-repeat,
              url(../images/product_bg_metal.jpg) center/cover;
  width: 100%;
  padding: 80px 5.33vw 1px;
}
/* 題名 */
.gen_top_title {
  text-align: center;
  font-size: 35px;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
/* 英字 */
.gen_top_english {
  color: var(--blue);
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.05em;
  margin: 15px 0 50px;
}

@media screen and (max-width: 767px) {
  /* アキ */
  .gen_top {
    padding: 40px 5.33vw 1px;
  }
  /* 題名 */
  .gen_top_title {
    font-size: 28px;
    letter-spacing: 0.1em;
  }
  /* 英字 */
  .gen_top_english {
    font-size: 13px;
    letter-spacing: 0.05em;
    margin: 12px 0 30px;
  }
}



/* 共通の体裁 ----------------------------*/
/* 上のアキ */
.main_content {
  padding: 100px 5vw 0;
}
.main_content:last-child {
  padding-bottom: 100px;
}
/* タイトル */
.main_content .ttl {
  color: var(--blue);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  text-align: center;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--blue);
  border-image: linear-gradient(90deg, var(--grad_logo_color_3)) 2;
  margin-bottom: 35px;
}
.main_content .ttl:has(+ .company_profile) {
  margin-bottom: 25px;
}
/* 中央ぞろえと幅 */
.wrap_max_w1110 {
  max-width: 1110px;
  margin: 0 auto;
}
/* 横並び */
.flex_row {
  display: flex;
  gap: 30px;
}
/* 見出し基本 */
.main_content .txt_heading {
  color: var(--blue);
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.4;
}
/* h3見出し */
.main_content h3.txt_heading {
  font-size: 24px;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}
/* h4見出し */
.main_content h4.txt_heading {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
/* 本文と見出しのアキ */
.txt_body + .txt_heading  {
  margin-top: 23px;
}
/* 本文 */
.main_content .txt_body {
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2;
}
/* 本文 少し大きめ */
.txt_body .font_17px_sb {
  font-weight: 500;
  font-size: 17px;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
/* 画像の幅と中央ぞろえ */
.main_content .pic_wrap {
  max-width: 148px;
  width: 100%;
  text-align: center;
  padding-top: 5px;
}
/* 画像キャプション */
.main_content .pic_cap {
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  /* 上のアキ */
  .main_content {
    padding: 65px 6vw 0;
  }
  .main_content:last-child {
    padding-bottom: 65px;
  }
  /* タイトル */
  .main_content .ttl {
    font-size: 24px;
    letter-spacing: 0.1em;
    padding-bottom: 14px;
    margin-bottom: 28px;
  }
  /* 縦並び */
  .flex_row {
    flex-direction: column;
    gap: 25px;
  }
  /* h3見出し */
  .main_content h3.txt_heading {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
  }
  /* h4見出し */
  .main_content h4.txt_heading {
    font-size: 17px;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
  }
  /* 本文と見出しのアキ */
  .txt_body + .txt_heading  {
    margin-top: 20px;
  }
  /* 本文 */
  .main_content .txt_body {
    font-size: 14px;
    letter-spacing: 0.05em;
  }
  /* 本文 少し大きめ */
  .txt_body .font_17px_sb {
    font-size: 16px;
    letter-spacing: 0.05em;
  }
  /* 画像 左右中央に */
  .main_content .pic_wrap {
    max-width: 150px;
    margin: 0 auto;
  }
  /* 画像キャプション */
  .main_content .pic_cap {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
}



/* 会社概要 表組 -------------------*/
/* 横並びと行間 */
ul.company_profile li {
  display: flex;
  line-height: 1.8;
}
ul.company_profile li:last-child {
  border-bottom: 1px solid var(--gray_dd);
}
/* 項目名 */
.profile_item {
  color: var(--blue);
  font-weight: 500;
  border-top: 1px solid var(--gray_dd);
  width: 6.55em;
  flex-shrink: 0;
  padding: var(--table_pad_tb) 0;
}
/* 内容 */
.profile_content {
  display: flex;
  gap: 1.55em;
  border-top: 1px solid var(--gray_dd);
  width: 100%;
  padding: var(--table_pad_tb) 0;
}
/* 所在地 工場名の左のアキ */
ul.company_profile li > .profile_content:first-child {
  margin-left: 6.55em;
}
/* 所在地 工場名の幅 */
.profile_content p:first-child {
  width: 10.7em;
  flex-shrink: 0;
}
/* 4字取り調整 */
.ls_055 { 
  letter-spacing: 0.55em; 
}
/* 左のアキ無し */
.pl_0 { 
  padding-left: 0 !important; 
}

/* 地図 -------------------*/
.txt_body iframe {
  width: 100%;
}

/* 生産設備 表組---------------------------------------------*/
/* 最初の罫 青 */
.company_profile.equip li:first-child {
  border-top: 2px solid var(--blue);
  border-image: linear-gradient(90deg, var(--grad_logo_color_3)) 2;
}
/* 最後の罫 なし */
ul.company_profile.equip li:last-child {
  border-bottom: none;
}
/* 項目名 */
.equip .profile_item {
  font-size: 18px;
  line-height: 27px;
  width: 110px;
  padding: var(--table_pad_tb) 0;
}
/* 機器種類 */
.machine_name {
  font-weight: 500;
  border-top: 1px solid var(--gray_dd);
  width: 12.7em;
  flex-shrink: 0;
  padding: var(--table_pad_tb) 0;
}
.equip .profile_content {
  gap: 3em;
}
/* 機器名 製造会社名のタブ幅 */
.equip .profile_content p:first-child {
  width: 100%;
  flex-shrink: initial;
}
/* 機器種類の左インデント */
ul.company_profile.equip li > .machine_name:first-child {
  margin-left: 110px;
}
/* 機器名 製造会社名の左インデント */
ul.company_profile.equip li > .profile_content:first-child {
  margin-left: calc(110px + 12.7em);
}
/* 台数 */
ul.company_profile.equip li > .profile_content p:last-child {
  width: 5em;
  flex-shrink: 0;
}
/* 機器名のみ */
.only_machine_name {
  width: calc(100% - 110px);
}
/* 文字詰め */
.lh125 {
  line-height: 1.25;;
}
.flex_align_items {
  display: flex;
  align-items: center;
}

/* 線なし */
.no_border {
  border: none;
}

/* 採用情報 表組用---------------------------------------------*/
/* 項目名の幅 */
.recruit .profile_item {
  width: 7.6em;
}
/* 5字取り調整 */
.ls_033 { 
  letter-spacing: 0.4em; 
}



@media screen and (max-width: 767px) {
  /* 行間 狭く */
  ul.company_profile li {
    line-height: 1.7;
  }
  /* 罫線と文字の上下アキ 狭く */
  .profile_item, .machine_name, .profile_content {
    padding: var(--table_pad_tb) 0;
  }
  /* 横並びやめ */
  .profile_content {
    display: block;
  }
  /* 1字アキ */
  .profile_content p:last-child {
    padding-left: 1.05em;
  }
  /* 地図 */
  .txt_body iframe {
    height: 100vw;
  }

  /* 設備情報 表組用 -------------------*/
  /* 縦並び */
  ul.company_profile.equip li {
    display: block;
  }
  /* 罫線 */
  .equip .machine_name.no_border,
  .equip .profile_content.no_border {
    border-top: 1px solid var(--gray_dd);
  }
  /* 項目名 */
  .equip .profile_item {
    font-size: 17px;
    line-height: 23.8px;
    width: initial;
  }
  /* 機械の種類 */
  .machine_name {
    width: initial;
    margin-left: 2.1em;
  }
  /* 機器種類の左インデント */
  ul.company_profile.equip li > .machine_name:first-child {
    margin-left: 2.1em;
  }
  /* 機器名 製造会社名 */
  .equip .profile_content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2.1em;
    width: initial;
    margin-left: 4.2em;
  }
  /* 機器名 製造会社名の左インデント */
  ul.company_profile.equip li > .profile_content:first-child {
    margin-left: 4.2em;
  }
  /* 台数 */
  ul.company_profile.equip li > .profile_content p:last-child {
    width: 3.5em;
    padding-left: 0;
  }
}
@media screen and (max-width: 500px) {
  /* 採用情報 項目名の幅 */
  .recruit .profile_item {
    width: 7em;
  }
}



/* 企業情報 画像一覧 --------------------*/

.photo_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 21px auto 0;
}
/* 画像一覧 画像の幅 */
.photo_list img {
  width: 356px;
}
/* 画像一覧 1列 */
.photo_list_01 {
  max-width: initial !important;
}
/* 一列の画像 左右トリミング */
.photo_list_01 img {
  width: initial;
  object-fit: cover;
}
/* 画像一覧 文字 */
.photo_list p {
  text-align: center;
}
.h_242px {
  height: 242px;
}

@media (max-width: 1260px){
  /* 写真2列 */
  .photo_list:not(.photo_list_01) {
    max-width: 733px;
  }
}
@media (max-width: 840px){
  /* 写真2列 縮小 */
  .photo_list:not(.photo_list_01) {
    max-width: 678px;
  }
  /* 画像の幅 縮小 */
  .photo_list:not(.photo_list_01) img {
    width: 327px;
  }
}
@media screen and (max-width: 767px) {
  .photo_list {
    justify-content: center;
    gap: 10px;
  }
  /* 画像一覧 画像の幅 */
  .photo_list:not(.photo_list_01) img {
    width: 356px;
  }
}
@media screen and (max-width: 422px) {
  /* 一列の画像 幅に合わせて縮小*/
  .photo_list_01 li {
    width: 100%;
    height: auto;
    aspect-ratio: 356 / 242;
  }
  .h_242px {
    height: 100%;
  }
}


/* 企業情報 文中 リンク --------------------*/
.submenu.opened {
  position: static;
  background-color: transparent;
  height: auto;
  visibility: visible;
  overflow: initial;
  margin: 70px 0 45px;
  padding: 0 5.33vw;
}
/* 現在のページ リンクしない */
.submenu.opened a.current_p {
  pointer-events: none;
  /* font-weight: 700; */
}
/* 現在のページ 枠線つける */
.submenu.opened a.current_p img {
  border: 2px solid var(--orange);
}
/* 現在のページ 矢印消す */
.submenu.opened a.current_p::after {
  display: none;
}
@media screen and (max-width: 767px) {
  /* 文中リンク横並び */
  .submenu.opened {
    display: flex;
    flex-wrap: wrap;
    margin: 55px 0;
  }
  /* 画像見せる */
  .submenu.opened .hover_blue_text {
    display: block;
  }
  /* 文字黒く */
  .submenu.opened li a {
    color: var(--black);
    padding: 0;
  }
}



/* 設備情報  ---------------------------------------*/

/* 受注から納品までの流れ -----------------*/
.flow_list {
  margin: 25px auto 0;
}
/* 並び方 */
.flow_list li {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px;
}
/* 背景色 */
.flow_list li:nth-child(odd) {
  background: rgba(1,129,204,0.1);
}

/* 工程名 */
.flow_arrow {
  position: relative;
  color: var(--blue);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(160px, -300px + 50vw, 270px);
  flex-shrink: 0;
}
/* 工程名下の矢印 */
.flow_arrow::before,
.flow_arrow::after {
  position: absolute;
  content: "";
  bottom: -75px;
  left: 50%;
  translate: -50%;
  width: 1px;
  height: 45px;
  background: var(--blue);
}
/* ハネの部分 */
.flow_arrow::after {
  translate: 4px;
  rotate: 45deg;
  height: 11px;
}
/* 最後は非表示 */
.flow_list li:last-child .flow_arrow::before,
.flow_list li:last-child .flow_arrow::after {
  display: none;
}
/* 文字 */
.flow_text {
  flex-shrink: 0;
  width: clamp(160px, -300px + 50vw, 270px);
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  /* 並び方 */
  .flow_list li {
    flex-direction: column;
    justify-content: center;
    position: relative;
  }
  .flow_list li:nth-child(even) {
    padding: 0 20px;
  }
  .flow_list li:not(:last-child) {
    margin-bottom: 80px;
    /* padding-bottom: 80px; */
  }
  /* 工程名下の矢印（最後以外） */
  .flow_list li:not(:last-child)::before,
  .flow_list li:not(:last-child)::after {
    position: absolute;
    content: "";
    /* bottom: 20px; */
    bottom: -60px;
    left: 50%;
    translate: -50%;
    width: 1px;
    height: 45px;
    background: var(--blue);
  }
  /* ハネの部分（最後以外） */
  .flow_list li:not(:last-child)::after {
    translate: 4px;
    rotate: 45deg;
    height: 11px;
  }

  .flow_arrow {
    width: initial;
  }
  .flow_text {
    width: initial;
  }
  /* 工程名下の矢印（PC用を消去） */
  .flow_arrow::before,
  .flow_arrow::after {
    display: none;
  }
}

/* 画像一覧 設定 -----------------*/
.photo_list.equipment {
  line-height: 1.25;
  gap: 50px 20px;
  margin-top: 50px;
}
/* 画像と文字ぞろえ */
.photo_list.equipment li {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
/* 太字 */
.font_15px_b  {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.05em;
}
/* 機器名 */
.photo_list.equipment .font_15px_b {
  margin: 13px 0 6px;
}
/* 機器 会社名 */
.photo_list.equipment .font_15px_b + p {
  font-size: 13px;
  letter-spacing: 0.05em;
}
/* 一覧同士のアキ */
.txt_body + .txt_body {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  /* 画像一覧 設定 -----------*/
  .photo_list.equipment {
    gap: 35px;
    margin-top: 35px;
  }
  .photo_list.equipment.equip {
    gap: 40px;
    margin-top: 40px;
  }
}



/* 採用情報  ---------------------------------------*/
/* 中央ぞろえ */
.main_content.recruit_top {
  text-align: center;
}
/* 採用見出し */
.recruit_catch {
  color: var(--blue);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  font-feature-settings: "palt";
}
/* 採用本文 */
.recruit_top .txt_body {
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.4;
  margin-top: 35px;
}
/* 四つの円 並び方 */
.recruit_circle_list {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 35px auto 0;
  flex-wrap: wrap;
}
.recruit_circle_list li {
  width: 200px;
  height: 200px;
  /* padding: 10px; */
  flex-shrink: 0;

  background: linear-gradient(225deg, var(--grad_logo_color_1));
  background-size: 200% 100%;
  animation-name: gradationTextAnimation;
  animation-duration: 4s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes gradationTextAnimation {
  0%   { background-position: 0 0; }
  50%  { background-position: 100% 100%; }
  100% { background-position: 0 0; }
}

.recruit_circle_list li p {
  /* border: 1px #fff solid; */
  width: 100%;
  height: 100%;
  padding-top: 3px;

  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
/* 募集要項の幅 */
.wrap_max_w1110:has(.recruit) {
  max-width: 860px;
}

@media screen and (max-width: 1010px) {
  .recruit_circle_list {
    max-width: 430px;
  }
}
@media screen and (max-width: 767px) {
  .recruit_top .txt_body {
    text-align: left;
  }
  .recruit_circle_list {
    gap: 20px;
  }
}



/* お問合せ ------------------------------------*/

/* 電話・FAX番号-------------------- */
/* 幅 */
.telfax .wrap_max_w1110 {
  max-width: 550px;
}
/* 電話番号の並び方 */
.telfax_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 40px;
  margin-top: -5px;
}
/* 電話番号 */
.telfax_list_number {
  color: var(--blue);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.05em;
}
/* 受話器・FAXアイコン */
.telfax_list_number i {
  font-size: 35px;
  letter-spacing: 0.2em;
  background: linear-gradient(180deg, var(--grad_logo_color_2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* 電話番号下の文字 */
.telfax_list_text {
  font-size: 14px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 12px;
  padding-left: 0.5em;
}

/* お問い合わせフォーム --------------*/
/* メールフォーム説明 */
.txt_body.form_top {
  text-align: center;
}
/* 入力欄 体裁 */
.form_table {
  background: var(--gray_f0);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 40px;
  margin-top: 25px;
  padding: 50px;

  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.05em;
}
/* 横2マス */
.form_table > div:nth-child(5),
.form_table > div:nth-child(6),
.form_table > div:nth-child(7) { 
  grid-column: 1 / 3; 
}

/* 項目名 */
.form_table dt {
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 9px;
}
/* 項目名 */
.form_table dd {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 15px;
}
/* 必須 */
.required {
  display: inline-block;
  background: var(--orange_2);
  color: #fff;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.1em;
  vertical-align: 2px;
  margin-left: 8px;
  padding: 3px 5px;
}
/* 入力欄 */
.form_table input:not([type="radio"]),
.form_table textarea {
  background: #fff;
  letter-spacing: 0.05em;
  width: 100%;
  padding: 10px 15px;
  outline: 1px var(--gray_dd) solid;
}
.form_table input:focus:not([type="radio"]),
.form_table textarea:focus {
  outline: var(--skyblue) dotted 2px;
}

/* 住所の幅 */
.address_number {
  width: 9em !important;
  margin: 0 10px 0 2px;
}
/* お問い合わせ内容 */
.form_table textarea {
  resize: none;
  line-height: 2;
  height: 170px;
}
/* 無料テスト研磨サービス下のアキ */
.radiobutton {
  justify-content: center;
  margin: 15px 0 10px;
}
/* ラジオボタン説明 */
.radiobuttonLabel {
  margin-right: 1em;
}
/* 入力内容を確認ボタン */
.form_submit .row_button {
  border: none;
  margin: 0 auto 0;
}
/* 修正ボタン */
.form_submit .correct_button {
  background: linear-gradient(90deg, var(--orange_2) 0%, #ec9 50%, var(--orange_2) 100%);
  background-size: 200% 100%;
  margin-bottom: 10px;
}
.row_button:hover {
  background-position: 100% 0;
}
.inline_block_nosp {
  display: inline-block;
}

/* 入力内容の確認ページ（mail.php） ----------- */
.check dd {
  background: #e5e5e5;
  padding: 10px 15px;
  outline: 1px var(--gray_dd) solid;
}

/* 送信済みページ（thanks.html） -----------*/
/* footerを押し下げる */
html:has(.form_thanks_box) {
  height: 100%;
}
.form_thanks_box {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.form_thanks_box main {
  flex: 1;
}
/* thanks見出し */
.form_thanks_heading {
  color: var(--blue);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 20px;
}
/* ボタン上のアキ */
.form_thanks_button {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  /* 電話番号下の文字 */
  .telfax_list_text {
    font-size: 13px;
    letter-spacing: 0.05em;
    margin-top: 10px;
  }
  /* メールフォーム説明 */
  .txt_body.form_top {
    text-align: left;
  }
  .inline_block_nosp {
    display: inline;
  }

  /* 入力欄 体裁 */
  .form_table {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 18px;
    padding: 25px 20px;

    font-size: 14px;
    letter-spacing: 0.05em;
  }
  /* 横2マス */
  .form_table > div:nth-child(5),
  .form_table > div:nth-child(6),
  .form_table > div:nth-child(7) { 
    grid-column: initial; 
  }
  /* 項目名 */
  .form_table dt {
    font-size: 15px;
    margin-bottom: 8px;
  }
  /* 項目名 */
  .form_table dd {
    flex-wrap: wrap;
    gap: 10px 5px;
    font-size: 14px;
    letter-spacing: 0.05em;
  }
  /* 入力欄 */
  .form_table input:not([type="radio"]),
  .form_table textarea {
    letter-spacing: 0.05em;
    padding: 7px 12px;
  }
  /* お問い合わせ内容 */
  .form_table textarea {
    height: 210px;
  }
}



/* 新着情報（記事） ------------------------------------------*/
/* 記事の日付 */
.newsmain .news_date {
  display: inline-block;
  margin-right: 15px;
}
/* 記事の種類 */
.newsmain .news_kind {
  display: inline-block;
  vertical-align: top;
}
/* 記事の見出し */
.newsmain h3.txt_heading {
  border-bottom: 2px solid var(--blue);
  border-image: linear-gradient(90deg, var(--grad_logo_color_3)) 2;
  padding: 16px 0;
  margin-bottom: 35px;
}
/* 記事本文とサブリンクのアキ */
.newsmain + div:has(> .news_newslist) {
  margin-top: 40px;
}
/* サブリンクとお問合せのアキ */
.main_content:has(.news_newslist) {
  padding-bottom: 60px;
}
/* 一覧の箱 左右背景 */
div:has(> .news_newslist) {
  background: var(--gray_f0);
}
/* 一覧の箱 */
.news_newslist {
  background: var(--gray_f0);
  max-width: 680px;
  margin: 60px auto 0;
  padding: 18px 36px;
}
.news_newslist:first-child {
  margin-top: 0;
}
/* アキと罫線 */
.news_newslist li {
  border-bottom: 1px dashed var(--gray_9d);
  padding: 1em 0;
}
.news_newslist li:last-child {
  border-bottom: none;
}
/* 文章の並び方 */
.news_newslist a {
  display: flex;
  align-items: center;
  gap: 1em;
  transition: all .3s;
}
.news_newslist a:hover {
  opacity: 0.6;
}
/* 日付 */
.news_date {
  color: var(--blue);
  font-weight: 700;
  font-size: 13px;
}
/* 種類 */
.news_kind {
  background-color: var(--skyblue);
  text-align: center;
  color: #fff;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.05em;
  width: 60px;
  padding: 3px 0 4px;
}
/* 内容 */
.news_content {
  font-size: 14px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  /* 一覧の箱 */
  .news_newslist {
    padding: 0 25px 15px;
  }
  /* 文章の並び方 */
  .news_newslist a {
    flex-wrap: wrap;
    gap: 0.7em 1em;
  }
  .news_content {
    width: calc(100% - 25px);
  }
  /* サブリンクとお問合せのアキ */
  .main_content:has(.news_newslist) {
    padding-bottom: 40px;
  }
}



/* プライバシーポリシー --------------------------*/
.privacy .wrap_max_w1110 {
  max-width: 900px;
}
/* 序文 */
.privacy .txt_body.font_17px_sb {
  font-size: 16px;
  letter-spacing: 0.05em;
}
/* h3見出し */
.privacy h3.txt_heading {
  font-size: 20px;
  letter-spacing: 0.1em;
  margin: 60px 0 27px;
}
/* 本文 太字 */
.privacy h5 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: 5px;
}
.privacy .indent_1 {
  padding-left: 1.05em;
}

@media screen and (max-width: 767px) {
  /* 序文 */
  .privacy .txt_body.font_17px_sb {
    font-size: 15px;
    letter-spacing: 0.05em;
  }
  /* h3見出し */
  .privacy h3.txt_heading {
    font-size: 18px;
    letter-spacing: 0.1em;
    margin: 57px 0 24px;
  }
}



/* サイトマップ -------------------------*/
.site_map.wrap_max_w1110 {
  border-top: 2px solid var(--blue);
  border-image: linear-gradient(90deg, var(--grad_logo_color_3)) 2;
}
/* 大項目並び */
.site_map {
  display: flex;
  flex-direction: column;
  align-content: center;
  flex-wrap: wrap;
  gap: 2em 8em;
  max-height: 280px;

  font-size: 14px;
  line-height: 0.05em;
  line-height: 1;
}
/* 大項目 */
.site_map_item {
  border-left: 3px solid var(--blue);
  padding: 8px 0 8px 8px;
}
/* 上の横罫とのアキ */
.site_map_item:nth-child(1),
.site_map_item:nth-child(2),
.site_map_item:nth-child(3),
.site_map_item:nth-child(6) {
  padding-top: 2em;
}
/* 次の行を追い出し */
.site_map_item:nth-child(5) {
  margin-bottom: 50px;
}

/* 大項目 リンク */
.site_map_item > a {
  color: var(--blue);
  font-weight: 500;
  font-size: 17px;
}
/* リンクなし */
.no_link {
  pointer-events: none;
}
.no_link::after {
  display: none !important;
}
/* 矢印 */
.site_map_item a::after {
  content: "▼";
  display: inline-block;
  color: #aaa;
  font-size: 11px;
  vertical-align: 1px;
  transform: rotate(270deg);
  margin-left: 10px;
}
.site_map_item a:hover::after {
  color: var(--orange);
}
/* 小項目 */
.site_map_content {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  padding: 2.5em 0 0 1px;
}
/* 小項目左の罫 */
.site_map_content li::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 1px;
  background: var(--skyblue);
  vertical-align: 5px;
  margin-right: 7px;
}

@media screen and (max-width: 1150px) {
  /* 3段組 */
  .site_map.wrap_max_w1110 {
    max-width: 900px;
    max-height: 370px;
  }
  .site_map_item:nth-child(2) {
    margin-bottom: 70px;
  }
  .site_map_item:nth-child(5) {
    margin-bottom: 0;
  }
  .site_map_item:nth-child(6) {
    padding-top: 8px;
  }
}

@media screen and (max-width: 900px) {
  /* 2段組 */
  .site_map.wrap_max_w1110 {
    max-height: 420px;
    gap: 2em 6em;
  }
  .site_map_item:nth-child(2) {
    margin-bottom: 0;
    padding-top: 8px;
  }
}

@media screen and (max-width: 600px) {
  /* １段組 */
  .site_map.wrap_max_w1110 {
    max-height: initial;
  }
  .site_map_item:nth-child(3) {
    padding-top: 8px;
  }
}