@charset "UTF-8";

/* 添付された旧テーマCSSを、現在のヘッダーへ影響しないよう下層ページ内に限定して再構成。 */
.legacy-page {
  color: #333;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.8;
  padding-bottom: 80px;
}

.legacy-page *,
.legacy-page *::before,
.legacy-page *::after {
  box-sizing: border-box;
}

.legacy-page img {
  display: block;
  height: auto;
  max-width: 100%;
}

.legacy-page a {
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.legacy-page a:hover {
  color: #194a9b;
  opacity: 0.76;
}

.legacy-page .sub_photo {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.38)), url("../img/bg_1.webp");
  background-position: center;
  background-size: cover;
  height: clamp(120px, 13vw, 200px);
  margin: 0 auto;
  width: 100%;
}

.legacy-page .sub_photo--about,
.legacy-page .sub_photo--column,
.legacy-page .sub_photo--category {
  background: none;
  overflow: hidden;
}

.legacy-page .sub_photo img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.legacy-page .sub_title {
  background: #d5eaf1;
  color: #123871;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(1.35rem, 2.1vw, 1.8rem);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 48px;
  padding: 22px 24px;
  text-align: center;
}

.legacy-page .page_mini_title {
  margin: 0 auto 32px;
  text-align: center;
}

.legacy-page .page_mini_title h2 {
  border-bottom: 2px dotted #231815;
  display: inline-block;
  font-size: clamp(1.25rem, 1.9vw, 1.65rem);
  line-height: 1.3;
  margin: 0;
  padding: 0 24px 10px;
}

.legacy-page .about_box {
  display: flex;
  gap: 4%;
  justify-content: space-between;
  margin: 0 auto 56px;
  max-width: 1500px;
  padding: 0 5%;
  width: 100%;
}

.legacy-page .about_box_left1 { flex: 1 1 76%; }
.legacy-page .about_box_right1 { flex: 0 1 20%; }
.legacy-page .about_box_right1 img { margin: 0 auto; width: 100%; }
.legacy-page .about_box_left2 { flex: 1 1 48%; }
.legacy-page .about_box_right2 { flex: 1 1 48%; }

.legacy-page .about-section {
  margin: 0 auto;
  padding: 50px 5%;
  width: 100%;
}

.legacy-page .bg_2 { background: #e4f5f9; }

.legacy-page .bg_5 {
  background: #fff url("../img/bg_3_about.jpg") center top / 100% auto no-repeat;
  margin: 40px auto;
  min-height: 500px;
  padding-bottom: clamp(70px, 8vw, 130px);
  padding-top: clamp(90px, 9vw, 150px);
}

.legacy-page .about_text,
.legacy-page .rinen_box {
  margin: 0 auto;
  max-width: 960px;
  text-align: left;
  width: 80%;
}

.legacy-page .about-info-section { padding-top: 24px; }
.legacy-page .about_mg40px { margin-top: 40px; }
.legacy-page .about_mg80px { margin-top: 0; }

.legacy-page .rinen_list_box > ul,
.legacy-page .rinen_list_box > ol {
  counter-reset: office-philosophy;
  list-style: none;
  margin: 0;
  padding: 0;
}

.legacy-page .rinen_list_box > ul > li,
.legacy-page .rinen_list_box > ol > li {
  counter-increment: office-philosophy;
  display: grid;
  gap: 0.7em;
  grid-template-columns: 2.4em minmax(0, 1fr);
  margin: 0 0 0.5em;
}

.legacy-page .rinen_list_box > ul > li::before,
.legacy-page .rinen_list_box > ol > li::before {
  content: "(" counter(office-philosophy) ")";
  white-space: nowrap;
}

.legacy-page .rinen_list_box > ul > li::marker,
.legacy-page .rinen_list_box > ol > li::marker {
  content: "";
}

.legacy-page .about_box_left2 table { border-collapse: collapse; width: 100%; }
.legacy-page .about_box_left2 tr { border-bottom: 1px solid #777; }
.legacy-page .about_box_left2 th,
.legacy-page .about_box_left2 td { padding: 12px 10px; text-align: left; vertical-align: top; }
.legacy-page .about_box_left2 th { font-weight: 500; width: 25%; }
.legacy-page .about_box_left2 td { width: 75%; }

.legacy-page .about_box_right2 iframe {
  border: 0;
  height: 400px;
  width: 100%;
}

.legacy-page .about_box_right2_text {
  background: #fcf8ed;
  font-size: 0.88rem;
  margin-top: 10px;
  padding: 12px;
}

.legacy-page .flow-section { margin-top: 40px; }

.legacy-page .flow_box {
  border-bottom: 2px dotted #c4bfbf;
  display: flex;
  gap: 2%;
  justify-content: space-between;
  margin: 0 auto 40px;
  max-width: 1400px;
  padding: 0 0 40px;
  width: 85%;
}

.legacy-page .flow_img { flex: 0 0 15%; }
.legacy-page .flow_img img { margin: 0 auto; }

.legacy-page .flow_text {
  background: url("../img/arrow_1.png") repeat-y 8px bottom / 20px auto;
  flex: 1 1 83%;
  padding-left: 30px;
  position: relative;
}

.legacy-page .flow_text::before {
	display: none;
}

.legacy-page .flow_title_box { align-items: stretch; display: flex; gap: 2%; width: 100%; }

.legacy-page .flow_no {
  align-items: center;
  background: #4d6795;
  color: #fff;
  display: flex;
  flex: 0 0 110px;
  justify-content: center;
  padding: 7px 10px;
}

.legacy-page .flow_title {
  align-items: center;
  display: flex;
  font-size: 1.15rem;
  font-weight: 700;
}

.legacy-page .flow_p { margin: 14px 0 0; }

.legacy-page .column_container {
  display: flex;
  gap: 3%;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1500px;
  padding: 0 5%;
  width: 100%;
}

.legacy-page .column_left { flex: 1 1 73%; min-width: 0; }
.legacy-page .column_right { flex: 0 0 24%; }

.legacy-page .column_list,
.legacy-page .news_cat_list,
.legacy-page .column_side ul { list-style: none; margin: 0; padding: 0; }

.legacy-page .column_box { margin-bottom: 48px; width: 100%; }

.legacy-page .column_list li {
  align-items: center;
  border-bottom: 1px dotted #aaa;
  display: flex;
  gap: 2%;
  margin: 0;
  padding: 14px 4px;
}

.legacy-page .column_p_date { flex: 0 0 110px; }
.legacy-page .column_page_date { flex: 0 0 120px; }

.legacy-page .column_p_cat {
  align-items: center;
  background: #e5e5e5;
  border-radius: 30px;
  color: #666;
  display: flex;
  flex: 0 0 220px;
  font-size: 0.82rem;
  justify-content: center;
  line-height: 1.3;
  min-height: 30px;
  padding: 5px 14px;
  text-align: center;
}

.legacy-page .column_p_title,
.legacy-page .column_page_title { flex: 1 1 auto; font-weight: 600; min-width: 0; }

.legacy-page .column_side {
  border: 1px solid #ccc;
  margin-bottom: 60px;
  padding: 12px;
}

.legacy-page .side_title {
  background: #dbd2c1;
  font-size: 1rem;
  margin: 0 0 14px;
  padding: 10px;
  text-align: center;
}

.legacy-page .column_side li { border-bottom: 1px dotted #999; padding: 10px 4px; }
.legacy-page .column_side li:last-child { border-bottom: 0; }
.legacy-page .column_side li::before { color: #63b1d2; content: "›"; font-weight: 700; padding-right: 7px; }

.legacy-page .news_cat_list {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto 48px;
  max-width: 1500px;
  padding: 0 5%;
}

.legacy-page .news_cat_list li {
  background: #fff;
  box-shadow: 0 1px 7px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 12px;
}

.legacy-page .news_cat_img {
  align-items: center;
  aspect-ratio: 16 / 9;
  background: #eef7fb;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.legacy-page .news_cat_img img { height: 100%; object-fit: cover; width: 100%; }
.legacy-page .news_cat_title { font-weight: 600; margin: 14px 0 6px; }
.legacy-page .news_cat_date { color: #888; font-size: 0.9rem; }

.legacy-page .news_cat_more {
  align-self: flex-end;
  background: #64badd;
  border-radius: 30px;
  margin-top: auto;
  min-width: 90px;
  text-align: center;
}

.legacy-page .news_cat_more a { color: #fff; display: block; padding: 4px 13px; }

.legacy-page .post_box {
  margin: 0 auto 60px;
  max-width: 1200px;
  padding: 0 5%;
  width: 100%;
}

.legacy-page .post_title {
  border-bottom: 2px solid #63b1d2;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
  padding: 0 0 12px;
}

.legacy-page .post_date { color: #888; display: block; margin: 10px 0 24px; }
.legacy-page .post_thumbnail { margin: 0 auto 28px; }
.legacy-page .post_thumbnail img { margin: 0 auto; }
.legacy-page .post_text { overflow-wrap: anywhere; }
.legacy-page .post_text > * + * { margin-top: 1.2em; }
.legacy-page .post_text h2 { border-left: 6px solid #63b1d2; font-size: 1.5rem; padding: 8px 12px; }
.legacy-page .post_text h3 { border-bottom: 1px solid #63b1d2; font-size: 1.25rem; padding-bottom: 7px; }
.legacy-page .post_text table { border-collapse: collapse; max-width: 100%; width: 100%; }
.legacy-page .post_text th,
.legacy-page .post_text td { border: 1px solid #ccc; padding: 8px; }

.legacy-page .newsletter-box {
  background: #eef8fb;
  border-radius: 18px;
  margin: 55px auto 20px;
  max-width: 920px;
  padding: 30px;
  text-align: center;
  width: 90%;
}

.legacy-page .newsletter-box--red { background: #f8f0ef; }
.legacy-page .mailseminar_box h2 { color: #123871; font-size: 1.35rem; margin: 0 0 5px; }
.legacy-page .mailseminar_box p { margin: 0; }

.legacy-page .newsletter-button {
  background: #194a9b;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  margin-top: 20px;
  padding: 12px 34px;
}

.legacy-page .empty-message { margin: 40px auto 70px; text-align: center; }

.legacy-page .navigation.pagination,
.legacy-page .wp-pagenavi { margin: 30px auto 50px; text-align: center; }

.legacy-page .nav-links,
.legacy-page .wp-pagenavi { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; }

.legacy-page .page-numbers {
  background: #938d85;
  color: #fff;
  display: inline-block;
  min-width: 38px;
  padding: 6px 10px;
  text-align: center;
}

.legacy-page .page-numbers.current { background: #194a9b; }

@media (max-width: 1024px) {
  .legacy-page .about_box { padding-left: 4%; padding-right: 4%; }
  .legacy-page .flow_box { width: 90%; }
  .legacy-page .column_p_cat { flex-basis: 180px; }
  .legacy-page .news_cat_list { gap: 20px; }
}

@media (max-width: 760px) {
  .legacy-page { padding-bottom: 50px; }
  .legacy-page .sub_title { margin-bottom: 32px; padding: 17px 16px; }
  .legacy-page .about_box { flex-direction: column; gap: 24px; padding: 0 5%; }
  .legacy-page .about_box--greeting .about_box_right1 { order: -1; }
  .legacy-page .about_box_right1 img { max-width: 260px; }
  .legacy-page .about_text,
  .legacy-page .rinen_box { width: 100%; }
  .legacy-page .bg_5 {
    background-position: center top;
    background-size: 100% auto;
    min-height: 0;
    padding-bottom: 65px;
    padding-top: 90px;
  }
  .legacy-page .rinen_list_box > ul > li,
  .legacy-page .rinen_list_box > ol > li {
    gap: 0.45em;
    grid-template-columns: 2.2em minmax(0, 1fr);
  }
  .legacy-page .about_box_left2 th,
  .legacy-page .about_box_left2 td { display: block; width: 100%; }
  .legacy-page .about_box_left2 th { background: #e8e8e8; padding: 7px 9px; }
  .legacy-page .about_box_left2 td { padding: 9px 9px 16px; }
  .legacy-page .about_box_right2 iframe { height: 300px; }
  .legacy-page .flow_box { flex-direction: column; gap: 20px; padding-bottom: 24px; }
  .legacy-page .flow_img img { max-width: 180px; }
  .legacy-page .flow_text { padding-left: 26px; }
  .legacy-page .flow_no { flex-basis: 92px; font-size: 0.82rem; }
  .legacy-page .flow_title { font-size: 1rem; }
  .legacy-page .column_container { flex-direction: column; }
  .legacy-page .column_right { order: -1; width: 100%; }
  .legacy-page .column_side { border: 0; margin: 0 0 20px; padding: 0; }
  .legacy-page .side_title { display: none; }
  .legacy-page .column_side ul { background: #eae6df; display: grid; gap: 5px; grid-template-columns: 1fr 1fr; padding: 12px; }
  .legacy-page .column_side li { border: 0; padding: 5px; }
  .legacy-page .column_list li { align-items: flex-start; flex-wrap: wrap; gap: 5px 2%; padding: 14px 0; }
  .legacy-page .column_p_date,
  .legacy-page .column_page_date { flex: 0 0 100%; }
  .legacy-page .column_p_cat { flex: 0 0 auto; min-width: 50%; }
  .legacy-page .column_p_title,
  .legacy-page .column_page_title { flex: 0 0 100%; }
  .legacy-page .news_cat_list { grid-template-columns: 1fr; max-width: 560px; }
  .legacy-page .newsletter-box { padding: 24px 18px; }
  .legacy-page .mailseminar_box h2 { font-size: 1.12rem; }
  .legacy-page .post_box { padding: 0 6%; }
  .legacy-page .post_text table { display: block; overflow-x: auto; }
}
