/* =========================
   セクション全体
========================= */
.services {
  padding: 0px 20px;
}

/* タイトル */
.title {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  color: #3f5f70;
  margin-bottom: 20px;
}

.title_sub {
  text-align: center;
  font-size: 18px;
  margin-bottom: 60px;
  color: #666;
}

/* =========================
   2カラム
========================= */
.courses_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.course_col {
    width: 48%;
}

/* =========================
   カード
========================= */
.service {
  background: #f4f8fb;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* =========================
   画像（完全統一の核心）
========================= */

/* 表示枠を固定 */
.service_image {
  width: 100%;
  height: 300px;
}

.service_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 画像本体 */
.service_img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* =========================
   本文
========================= */
.service_body {
  flex-grow: 1;
}

.service_title {
  text-align: center;
  font-size: 22px;
  margin-bottom: 15px;
}

.service_text {
  text-align: left;
  font-size: 12px;
  line-height: 1.8;
  color: #555;
}

/* =========================
   フッター
========================= */
.service_footer {
  text-align: center;
  padding: 20px;
  margin-top: auto;
}

.btn_detail {
  display: inline-block;
  padding: 12px 25px;
  background: #4da6ff;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
}

.btn_detail:hover {
  background: #2d8ae6;
}

/* =========================
   ホバー
========================= */
.service {
  transition: 0.3s;
}

.service:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

/* =========================
   レスポンシブ
========================= */

/* タブレット */
@media (max-width: 992px) {

  .course_col {
    width: 100%;
  }
  
  .title {
    font-size: 32px;
  }
}

/* スマホ */
@media (max-width: 576px) {

  .services {
    padding: 15px;
  }

  .title {
    font-size: 26px;
  }

  .title_sub {
    font-size: 14px;
    margin-bottom: 40px;
  }

  .service_image {
    height: 180px;
  }

  .service_body {
    padding: 20px;
  }
}

/* タイトル中央 */
.access_header {
  text-align: center;
  margin-bottom: 40px;
}

/* 横並び */
.access_content {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

/* 地図（左） */
.access_map {
  width: 60%;
}

.access_map iframe {
  width: 100%;
  height: 400px;
  border: 0;
}

/* 住所（右上寄せ） */
.access_info {
  width: 40%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* テキスト */
.access_info p {
  margin-bottom: 10px;
}

@media (max-width: 992px) {
  .access_content {
    flex-direction: column;
  }

  .access {
    padding: 0px 20px;
  }

  .access_map,
  .access_info {
    width: 100%;
  }
}

/* テーブル全体 */
.clinic_hours {
  margin-top: 20px;
}

/* テーブルデザイン */
.hours_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  color: #000;
  border: 1px solid #ccc;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  font-size: 14px;
}

/* ヘッダー */
.hours_table th {
  background: #f5f5f5;
  font-weight: bold;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}

/* セル */
.hours_table td {
  padding: 10px;
  border-bottom: 1px solid #eee;
}

/* 縦線 */
.hours_table th,
.hours_table td {
  border-right: 1px solid #eee;
}

.hours_table th:last-child,
.hours_table td:last-child {
  border-right: none;
}

/* 最下行の線消す */
.hours_table tr:last-child td {
  border-bottom: none;
}

/* ○ */
.hours_table td {
  font-weight: bold;
}

/* ×を少し強調 */
.hours_table td:contains("×") {
  color: #999;
}

/* 注釈 */
.hours_note {
  margin-top: 10px;
  font-size: 13px;
  color: #666;
}

/* ===============================
   フッター
=============================== */
.footer {
  background:#ffffff;
  margin: 30px 0px 0px 0px;
}

/* コピーライト中央 */
.copyright {
  width: 100%;
  display: flex;
  justify-content: center !important;
  align-items: center;
}

/* テキスト */
.cr_text {
  text-align: center;
  color: #000;
  font-size: 14px;
}

/* ===============================
   レスポンシブ（スマホ）
=============================== */
@media (max-width: 991px) {

  /* メニュー縦並び中央 */
  .navbar-nav {
    margin-top: 15px;
  }

  .navbar-nav .nav-item {
    margin: 10px 0;
  }

  .nav-link {
    text-align: center;
  }

  /* ロゴ中央 */
  .logo_container {
    width: auto;
    margin-bottom: 10px;
  }

}

/* ===============================
   さらに小さい画面
=============================== */
@media (max-width: 576px) {

  .header {
    padding: 10px 0;
  }

  .nav-link {
    font-size: 14px;
  }

  .nav-link p {
    font-size: 11px;
  }

}

/* フッター全体 */
.footer {
  color: #000 !important;
}

/* フッター内すべての文字 */
.footer,
.footer * {
  color: #000 !important;
}

/* リンクも全部黒 */
.footer a,
.footer a:link,
.footer a:visited,
.footer a:hover,
.footer a:active {
  width: 250px;
  color: #000 !important;
  text-decoration: none;
}

/* リスト */
.footer ul,
.footer li {
  text-align: left;
  color: #000 !important;
}

/* 見出し・テキスト */
.footer_logo_text,
.footer_contact_info,
.footer_links,
.footer_section,
.footer_content,
.footer_col,
.cr_text {
  color: #000 !important;
}

/* コピーライト中央 */
.copyright {
  justify-content: center !important;
  text-align: center;
}

.copyright_row {
  margin-top: 30px;
}

a:hover {
  color: #3f5f70;
}

/* フッター内リンク（通常） */
.footer a,
.footer a:link,
.footer a:visited {
  color: #000;
  text-decoration: none;
}

/* ホバー時（淡い黄色） */
.footer a:hover,
.footer a:focus {
  color: #3f5f70 !important;
}

/* クリック時 */
.footer a:active {
  color: #3f5f70;
}

/* ===============================
   共通（ヘッダー・フッター）
=============================== */

/* 通常状態 */
.header a,
.footer a,
.header a:link,
.footer a:link,
.header a:visited,
.footer a:visited {
  color: #000;
  text-decoration: none;
}

/* ホバー時（淡い黄色） */
.header a:hover,
.footer a:hover,
.header a:focus,
.footer a:focus {
  color: #3f5f70 !important;
}

/* クリック時 */
.header a:active,
.footer a:active {
  color: #3f5f70;
}

/* ===============================
   スマホ対応
=============================== */
@media (max-width: 768px) {

  /* 横スクロールさせる */
  .clinic_hours {
    overflow-x: auto;
  }

  .hours_table {
    min-width: 600px;
  }

  /* フォント少し小さく */
  .hours_table th,
  .hours_table td {
    font-size: 12px;
    padding: 8px;
  }

}

/* ===============================
   さらに小さい画面
=============================== */
@media (max-width: 480px) {

  .hours_table th,
  .hours_table td {
    font-size: 11px;
    padding: 6px;
  }

}

@media (max-width: 768px) {
  .sidebar {
    max-width: 400px;
    margin: 0 auto;
  }

 .service_image img {
  width: 100%;
  max-width: 100%;
  height: auto;
 }
}

.s-container{
  max-width: 1000px;
  margin: 40px auto 40px;
  padding: 40px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.s-container h1{
  font-size: 36px;
  font-weight: bold;
  color: #000000dd;
  margin-bottom: 30px;
  line-height: 1.4;
  border-bottom: 4px solid #3f5f70;
  padding-bottom: 15px;
}

.s-container img{
  width: 100%;
  height: auto;
  border-radius: 20px;
  margin-bottom: 30px;
  display: block;
}

.s-container p{
  font-size: 16px;
  line-height: 2;
  color: #444444;
  margin-bottom: 25px;
}

.s-container h2{
  font-size: 28px;
  margin-top: 50px;
  margin-bottom: 20px;
  color: #000000dd;
  border-left: 6px solid #4aa0b5;
  padding-left: 15px;
}

.s-container h3{
  font-size: 22px;
  margin-top: 40px;
  margin-bottom: 15px;
  color: #000000dd;
}

.s-container ul{
  padding-left: 20px;
  margin-bottom: 30px;
}

.s-container ul li{
  list-style: disc;
  margin-bottom: 10px;
  line-height: 1.8;
}

.s-container table{
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px;
}

.s-container table th,
.s-container table td{
  border: 1px solid #3f5f70;
  padding: 15px;
}

.s-container table th{
  background: #3f5f70;
}

@media(max-width:768px){

  .s-container{
    margin-top: 100px;
    padding: 25px;
  }

  .s-container h1{
    font-size: 28px;
  }

  .s-container h2{
    font-size: 24px;
  }

  .s-container p{
    font-size: 15px;
  }

}

.single-thumbnail img{
  width: 100%;
  max-width: 1000px;
  height: 500px;
  object-fit: cover;
  display: block;
  margin: 0 auto 30px;
  border-radius: 20px;
}

.single-text img{
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 20px auto;
}

@media(max-width:768px){

  .single-thumbnail img{
    height: 250px;
  }

}

.section-title{
  width: 100%;
  text-align: center;
  margin-bottom: 50px;
}

.section-title .single-title{
  font-size: 42px;
  font-weight: 700;
  color: #3f5f70;
  line-height: 1.4;
  padding-top: 18px;
  padding-bottom: 18px;
  margin: 0 auto;
}

/* タイトル下だけにアンダーバー */
.section-title .single-title::after{
  content: "";
  width: 100%;
  left: 50%;
  bottom: 0;
  background: #007bff;
  transform: translateX(-50%);
  width: 70%;
  height: 4px;
}

/* コンテンツ全体 */
.s-container{
  max-width: 1100px;
  margin: 40px auto 40px;
  padding: 0 20px;
}

/* アイキャッチ画像 */
.single-thumbnail{
  margin-bottom: 40px;
}

.single-thumbnail img{
  width: 100%;
  max-width: 600px;
  height: 400px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border-radius: 20px;
}

/* 本文 */
.single-text{
  font-size: 16px;
  line-height: 2.2;
  padding-bottom: 20px;
  color: #444444;
}

/* 本文内画像 */
.single-text img{
  width: 500px;
  max-width: 100%;
  height: 500px;
  display: block;
  margin: 30px auto;
  border-radius: 20px;
}

/* 本文見出し */
.single-text h2{
  font-size: 30px;
  color: #3f5f70;
  margin-top: 60px;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 3px solid #bfe6f7;
}

.single-text h3{
  font-size: 24px;
  color: #4d6b7a;
  margin-top: 40px;
  margin-bottom: 20px;
}

/* スマホ */
@media(max-width:768px){

  .section-title .single-title{
    font-size: 28px;
    padding-bottom: 14px;
  }

  .single-thumbnail img{
    height: 250px;
  }

  .single-text{
    font-size: 15px;
    line-height: 2;
  }

}

.site-logo{
  width: 180px;
  height: auto;
  display: block;
}

@media(max-width:992px){
  .footer_contact_info,
  .footer_links_container ul li a,
  .cr_text{
     line-height: 20px;
  }

  .footer_links_container ul li{
  margin-bottom: 20px;
 }

  .footer_contact_info {
    margin-bottom: 20px;
  }
}

.footer_logo_text,
.footer_y,
.footer_z,
.footer_contact_info ul,
.footer_contact_info li {
  margin-bottom: 20px;
}

@media (max-width: 992px) {

  .footer_logo_text,
  .footer_y,
  .footer_z,
  .footer_contact_info ul,
  .footer_contact_info li {
    margin-bottom: 12px;
  }

}

.footer_links_container ul li {
  margin-bottom: 20px;
}

.footer_links_container ul li:last-child {
  margin-bottom: 0;
}

/* スマホ */
@media (max-width: 991px) {

  .footer_links_container ul li {
    margin-bottom: 12px;
  }

}

.greeting_title {
  color: #3f5f70;
}

h4.greeting_name {
 color: #3f5f70; 
}

/* カード */
.service_item {
  position: relative;
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s;
  height: 100%;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}

/* カード全体リンク */
.service_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

/* hover */
.service_item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

/* 画像 */
.service_image img {
  width: auto;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 20px;
}

/* タイトル */
.service_title {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #3f5f70;
  line-height: 1.5;
}

/* テキスト */
.service_text p {
  margin-bottom: 0;
  line-height: 1.8;
}

/* タブレット */
@media (max-width: 991px) {

  .service_body {
    padding: 20px;
  }

  .service_title {
    font-size: 20px;
  }

}

/* スマホ */
@media (max-width: 767px) {

  .service_body {
    padding: 18px;
  }

  .service_title {
    font-size: 18px;
  }

  .service_text p {
    font-size: 14px;
    line-height: 1.7;
  }

}

/* 通常 */
.service_item {
  position: relative;
  transition: 0.3s;
}

/* hover */
.service_item:hover {
  opacity: 0.85;
}

/* クリック時 */
.service_item:active {
  opacity: 0.6;
  transform: scale(0.98);
}

.blog-staff-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.service {
  position: relative;
  background: #f4f8fb;
  border-radius: 20px;
  overflow: hidden;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    opacity 0.3s ease;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  height: 100%;
}

/* カード全体リンク */
.service_link {
  position: absolute;
  inset: 0;
  z-index: 10;
}

/* =========================
   hover時
========================= */

.service:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

/* =========================
   クリック時
========================= */

.service:active {
  transform: scale(0.98);
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  opacity: 0.85;
}

/* =========================
   画像
========================= */

.service_image {
  overflow: hidden;
}

.service_img {
  width: 100%;
  height: auto;
  display: block;
  transition:
    transform 0.4s ease,
    opacity 0.4s ease;
}

/* hoverで画像ズーム */
.service:hover .service_img {
  transform: scale(1.05);
  opacity: 0.92;
}

/* =========================
   本文
========================= */

.service_body {
  margin: 25px;
}

/* タイトル */
.service_title {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

.service_title a {
  color: #222222;
  text-decoration: none;
  transition: 0.3s;
}

/* hover時タイトル色 */
.service:hover .service_title a {
  opacity: 0.7;
}

/* 本文 */
.service_text p {
  line-height: 1.8;
  margin-bottom: 0;
  font-size: 16px;
  text-align: left;
  color: #555555;
}
/* =========================
   タブレット
========================= */

@media (max-width: 991px) {

  .service_body {
    padding: 20px;
  }

  .service_title {
    font-size: 20px;
  }

  .service:hover {
    transform: translateY(-5px);
  }

}

/* =========================
   スマホ
========================= */

@media (max-width: 767px) {

  .service_body {
    padding: 18px;
  }

  .service_title {
    font-size: 18px;
  }

  .service_text p {
    font-size: 14px;
    line-height: 1.7;
  }

  .service:hover {
    transform: none;
  }

  .service:active {
    transform: scale(0.97);
  }

}

.service_title a {
  color: #3f5f70;
}

/* タイトルエリア */
.category_header {
  margin-bottom: 50px;
}

/* タイトル */
.category_title {
  font-size: 40px;
  font-weight: bold;
  color: #3f5f70;
  line-height: 1.5;
}

/* 投稿 */
.category_post_item {
  margin-bottom: 30px;
}

/* 投稿タイトル */
.category_post_title a {
  text-decoration: none;
  color: #3f5f70;
  transition: 0.3s;
}

.category_post_title a:hover {
  opacity: 0.7;
}

/* タブレット */
@media (max-width: 991px) {

  .category_page {
    padding-top: 80px;
  }

  .category_title {
    font-size: 32px;
  }

}

/* スマホ */
@media (max-width: 767px) {

  .category_page {
    padding-top: 60px;
  }

  .category_title {
    font-size: 20px;
  }
  
.category_post_title a {
    font-size: 14px;
  }

}

.single_title {
 color: #3f5f70;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

h1.page-title {
  color: #3f5f70;
  text-align: center;
  margin: 40px auto;
}

p.page-description {
  text-align: center;
  font-size: 18px;
  color: #3f5f70;
  margin-bottom: 30px;
}

.super_container {
  background: #f4f8fb;
}

/* アイキャッチ画像 */
.service_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px){

  .service_image{
      display:flex;
      justify-content:center;
  }

}

.service_image{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* アイキャッチ画像 */
.service_img{
    display: block;
    width: 100%;
    max-width: 300px;

    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

/* リンク全体も中央 */
.service_image a{
    display:flex;
    justify-content:center;
    width:100%;
}

.a-service {
  background: #ffffff;
  border-radius: 20px;
}



@media (max-width: 767px) {
  .b-col-lg-4 {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* =========================
   services_img 共通
========================= */

.servicesv_img{
    display:block;
    width:100%;
    height:300px;
    object-fit:cover;
    object-position:center;
    margin:0 auto;
}

.servicesv_img img{
    display:block;
    width:100%;
    max-width:250px;
    aspect-ratio:1 / 1;
    object-fit:cover;
    object-position:center;
    margin:0 auto;
}

/* =========================
   スマホ
========================= */

@media (max-width:767px){
    .servicesv_img img{
        width:80%;
        max-width:180px;
    }

}

/* カード本体 */
.a-service{
    position:relative; /* 基準 */
    margin-bottom: 40px;
    background:#fff;
    border-radius:20px;

    overflow:hidden;

    transition:.3s;
}

/* カード全体をリンク化 */
.service_link{
    position:absolute;

    top:0;
    left:0;
    inset:0;
    width:100%;
    height:100%;

    z-index:10;

    text-indent:-9999px;
}

/* hover */
.a-service:hover{
    transform:translateY(-5px);

    box-shadow:
      0 10px 25px rgba(0,0,0,.15);
}

/* =========================
   フッター中央寄せ
========================= */

.footer_content{
    text-align:center;
    margin-top: 40px;
}

/* カラム中央 */
.footer_row .row{
    justify-content:center;
}

/* 左カラム */
.footer_col{
    display:flex;
    justify-content:center;
}

/* セクション中央 */
.footer_section{
    width:100%;
    text-align:center;
}

/* ロゴ */
.footer_logo_container{
    width:100%;
    text-align:center;
    margin-bottom:20px;
}

.footer_text{
    width: 100%;
    margin: 0 auto;
    text-align:center;
}

/* 住所・TEL・MAIL */
.footer_contact_info{
    text-align:center;
}

.footer_contact_info ul{
    padding:0;
}

.footer_contact_info li{
    list-style:none;
    text-align:center;
}

/* リンク一覧 */
.footer_links_container ul{
    padding:0;
}

.footer_links_container li{
    text-align:center;
    margin-bottom:12px;
}

/* コピーライト */
.copyright{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center;
}

.cr_text{
    width:100%;
    text-align:center;
    margin-bottom: 20px;
}


/* =========================
   スマホ
========================= */

@media(max-width:767px){

    .footer_col{
        width:100%;
        max-width:100%;
        flex:0 0 100%;
        margin-bottom:30px;
    }

    .footer_logo_container{
        justify-content:center !important;
    }

    .footer_contact_info,
    .footer_contact_info li,
    .footer_links_container li{
        text-align:center;
    }

    .copyright{
        padding:20px;
    }

    .cr_text{
        font-size:13px;
        line-height:1.8;
    }
}

/* =========================
   全体
========================= */
.home_title{
    text-align:center;
    font-size:40px;
    font-weight:700;
    color:#3f5f70;
    margin: 40px 0px 10px 0px;
}

.home_title_sub{
    text-align:center;
    color:#3f5f70;
    margin-bottom:50px;
}


/* =========================
   カード
========================= */

.blog-card{
    position:relative;

    display:flex;

    gap:30px;

    margin-bottom:40px;

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:
        0 8px 30px rgba(0,0,0,.08);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* hover */

.blog-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 20px 40px rgba(0,0,0,.15);
}


/* =========================
   全体リンク
========================= */

.blog-card-link{
    position:absolute;

    top:0;
    right:0;
    bottom:0;
    left:0;

    z-index:10;
}


/* =========================
   画像
========================= */

.blog-card-image{
    width:320px;

    flex-shrink:0;
}

.blog-card-image img{
    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    display:block;
}


/* =========================
   本文
========================= */

.blog-card-body{
    flex:1;

    padding:35px;
}


/* 日付カテゴリ */

.blog-card-meta{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:20px;
}

.blog-date,
.blog-category{
    background:#eef6fa;

    color:#3f5f70;

    padding:8px 14px;

    border-radius:20px;

    font-size:13px;
}


/* タイトル */

.blog-card-title{
    font-size:28px;

    line-height:1.5;

    color:#3f5f70;

    margin-bottom:20px;
}


/* 抜粋 */

.blog-card-excerpt{
    color:#555;

    line-height:2;
}


/* =========================
   ページネーション
========================= */

.pagination{
    margin-top:50px;

    text-align:center;
}


/* =========================
   投稿なし
========================= */

.no-post{
    text-align:center;

    font-size:18px;

    margin-top:50px;
}


/* =========================
   タブレット
========================= */

@media(max-width:991px){

    .blog-card{
        display:block;
    }

    .blog-card-image{
        width:100%;
        height:400px;
    }

    .blog-card-image img{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

}


/* =========================
   スマホ
========================= */

@media(max-width:767px) {

.home_title{
    font-size: 30px;
}

.home_title_sub{
    margin-bottom:14px;
}

.blog-card{
    border-radius:20px;
}

.blog-card-image img{
    width: 100%;
    max-width: 700px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

.blog-card-body{
    padding:20px;
}

.blog-card-title{
    font-size:20px;
}

.blog-card-excerpt{
    font-size:14px;
    line-height:1.8;
}

.blog-card-meta{
    font-size:12px;
    gap:8px;
}

.blog-card-title {
  font-size: 18px;
}
}

.blog-card-image img{
    border-radius: 0px;
}
/* ==========================
   992px以下
========================== */
@media (max-width: 992px) {

  .service_post_row {
    justify-content: center;
  }

  .course_col {
    flex: 0 0 100%;
    max-width: 100%;

    display: flex;
    justify-content: center;
  }

  .service_item {
    width: 900px;
    max-width: 100%;
    height: 600px;

    display: flex;
    flex-direction: column;

    margin: 0 auto;
  }

  .service_image {
    height: 350px;
    overflow: hidden;
  }

  .service_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .service_body {
    flex: 1;

    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .service_title {
    font-size: 28px;
    margin-bottom: 20px;
  }

  .service_text p {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media (max-width: 992px) {

    .blog-card-image {
        height: 400px;
        overflow: hidden;
    }

    .blog-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
        display: block;
    }

}

.service_image img {
  border-radius: 0px;
}

@media (max-width: 572px) {

    .service_title {
        font-size: 20px;
    }
    .blog-card-image {
        height: 300px;
}

   h4.greeting_name {
        font-size: 18px;
    }
}

@media (max-width: 572px) {

    .service_text,
    .service_text p {
        font-size: 14px;
        line-height: 1.8;
    }

}

@media (max-width: 992px) {

    .navbar .main_nav {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .navbar .main_nav .nav-item {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        text-align: center !important;
        margin: 0 0 15px 0 !important;
        padding: 0 !important;
    }

    .navbar .main_nav .nav-link {
        display: block !important;
        width: 100% !important;
        padding: 10px !important;
    }

}

@media (max-width: 992px) {
    .navbar-nav {
        flex-direction: row !important;
    }

}

@media (max-width: 992px) {

    .navbar-nav.main_nav {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        width: 100%;
    }

    .navbar-nav.main_nav .nav-item {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        text-align: center;
        margin-bottom: 15px;
    }

    .navbar-nav.main_nav .nav-link {
        display: block;
        width: 100%;
        padding: 10px;
    }

}

/* =========================
   全体
========================= */

.blog {
    background: #f8fafc;
}

.blog .container {
    max-width: 1600px;
    width: 100%;
}

/* =========================
   記事エリア
========================= */

.content-body {
    justify-content: center;
}

.content-body .col-lg-8 {
    max-width: 1200px;
    width: 100%;
}

/* =========================
   記事カード
========================= */

.single_title,
.blog_post_meta,
.blog_content,
.post_nav {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    margin-bottom: 30px;
}

/* =========================
   タイトル
========================= */

.single_title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.4;
    color: #3f5f70;
}

/* =========================
   メタ情報
========================= */

.blog_post_meta ul {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.blog_post_meta li {
    background: #edf6ff;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 12px;
}

/* =========================
   アイキャッチ
========================= */

.wp-post-image,
.blog img {
    width: 100%;
    display: block;
}

.mb-4 {
    margin-bottom: 40px !important;
}

/* =========================
   本文
========================= */

.blog_content {
    font-size: 18px;
    line-height: 2;
    color: #444;
}

.blog_content h2 {
    margin-top: 60px;
    margin-bottom: 25px;
    padding-left: 20px;
    border-left: 6px solid #3f5f70;
    font-size: 32px;
}

.blog_content h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    font-size: 26px;
}

.blog_content p {
    margin-bottom: 30px;
}

.blog_content img {
    margin: 40px auto;
}

/* =========================
   前後記事
========================= */

.post_nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.post_nav a {
    background: #3f5f70;
    color: #fff;
    text-decoration: none;
    padding: 14px 0px;
    border-radius: 20px;
    transition: .3s;
}

.post_nav a:hover {
    opacity: .8;
}

/* =========================
   PC大型モニター対応
========================= */

@media (min-width: 1800px) {

    .blog .container {
        max-width: 1800px;
    }

    .content-body .col-lg-8 {
        max-width: 1200px;
    }

    .single_title {
        font-size: 40px;
    }

    .blog_content {
        font-size: 20px;
    }
}

@media (max-width: 671px) {

    .single_title {
        font-size: 18px;
        line-height: 1.5;
    }

        .blog_content p {
        font-size: 14px;
        line-height: 1.8;
    }

}

.footer_section .footer_about {
    padding: 0;
    margin: 0;
    text-align: center;
}

.col-lg-4.footer_col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    margin-top: 0px;
}

html,
body {
  overflow-x: hidden;
}

















