@charset "UTF-8";

/* ------
  - *基本設定
  - *パンくずリスト
  - *ページ内リンク
  - *ページャー
  - *書式設定
  - *タイトル
  - *メインビジュアル
  - *医院案内
  - *医師紹介
  - *アクセス
  - *ブログ
  - *404
------ */
@import url("variables.css");

/* ==================================================================================================================================

  *基本設定

================================================================================================================================== */
main section {
  margin-bottom: 80px;
}

/* ----- 1カラム用 ------ */
main section .inner, .breadcrumb .inner, .page_links .inner, .blog_wrap {
  max-width: 1100px;
}

/* ----- 2カラム用 ------ */
/* .breadcrumb .inner , .blog_wrap{
  max-width: 1200px;
}

main .wrapper {
  display: flex;
  gap: 50px;
  max-width: 1200px;
  margin: 0 auto 80px;
}

main .contents {
  width: 75%;
}
*/
/* ==============================================
  *SP 基本設定
============================================== */
@media screen and (max-width: 640px) {
  .inner {
    width: 100%;
    margin: auto;
    padding: 0 20px;
  }

  /* ----- 2カラム用 ------ */
  /* main .wrapper {
    flex-flow: column;
    gap: 0;
    margin-bottom: 80px;
  }

  main .contents {
    width: 100%;
  } */
}

/* ==================================================================================================================================

  *パンくずリスト

================================================================================================================================== */
.breadcrumb {
  margin: 30px auto !important;
}

.breadcrumb_list {
  counter-reset: unset;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 0;
}

.breadcrumb_list li {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

.breadcrumb_list li::after {
  content: "\f054";
  position: relative;
  top: -1px;
  padding: 0 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 70%;
}

/* 親、子、孫が複数ある場合、最後以外にカンマを表示 */
.breadcrumb_list li.parent:has(~ .parent)::after,
.breadcrumb_list li.child:has(~ .child)::after,
.breadcrumb_list li.grandchild:has(~ .grandchild)::after {
  content: ",";
  position: relative;
  top: 0;
  padding: 0 5px;
  font-family: inherit;
  font-weight: normal;
  font-size: 100%;
}

/* 最後の要素の矢印を消す */
.breadcrumb_list li:last-of-type::after {
  display: none;
}

/* ==============================================
  *SP パンくずリスト
============================================== */
@media screen and (max-width: 640px) {
  .breadcrumb {
    font-size: 13px;
  }
}

/* ==================================================================================================================================

  *ページ内リンク

================================================================================================================================== */
.page_links {
  margin-bottom: 50px;
}

.page_links ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}

.page_links li {
  position: relative;
  z-index: 1;
}

.page_links a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px 15px;
  background: var(--sub-color);
  border: 1px solid var(--sub-color);
  border-radius: 5rem;
  color: #ffffff;
  font-size: 95%;
  font-family: var(--font-jp);
  text-align: center;
  transition: color 0.2s, background 0.2s;
}

.page_links a:hover {
  background: #ffffff;
  color: var(--sub-color);
}

/* ----- 2列 ----- */
.twoLinks li {
  width: calc(50% - 5px);
}

/* ----- 3列 ----- */
.threeLinks li {
  width: calc(33.3333333333% - 6.6666666667px);
}

/* 乳腺外科ページ */
.postid-289 .page_links a{
	background: var(--sub-color02);
	border: 1px solid var(--sub-color02);
}
.postid-289 .page_links a:hover {
  background: #ffffff;
  color: var(--sub-color02);
}

/* 介護サービス各ページ */
.postid-299 .page_links a,
.postid-297 .page_links a,
.postid-295 .page_links a,
.postid-293 .page_links a{
	color:#fff;
	background: #ebaf2f;
	border: 1px solid #ebaf2f;
}
.postid-299 .page_links a:hover,
.postid-297 .page_links a:hover,
.postid-295 .page_links a:hover,
.postid-293 .page_links a:hover{
  background: #ffffff;
  color: #ebaf2f;
}
/* ==============================================
  *SP ページ内リンク
============================================== */
@media screen and (max-width: 640px) {
  .page_links {
    margin-bottom: 40px;
  }

  /* ----- 2列 ----- */
  .twoLinks li {
    width: 100%;
  }

  /* ----- 3列 ----- */
  .threeLinks li {
    width: 100%;
  }
}

/* ==================================================================================================================================

  *ページャー

================================================================================================================================== */
.pager {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin: 30px auto 0;
  font-size: 15px;
}

/* ----- ページャーのボタン ----- */
.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0 0 1px 2px;
  background: #d7d7d7;
  border-radius: 50%;
  color: #ffffff;
  line-height: 1;
}

/* リンクの場合  */
a.page-numbers.prev, a.page-numbers.next {
  padding: 0 0 5px 1px;
  font-size: 170%;
}

a.page-numbers:hover {
  background: #929292;
  color: #ffffff;
}

/* 開いているページ */
.page-numbers.current {
  background: var(--main-color);
  color: #ffffff;
}

/* ==================================================================================================================================

  *サイドバー

================================================================================================================================== */
.sidebar {
  z-index: 3;
  flex-shrink: 0;
  width: 25%;
}

.side_box {
  padding: 20px;
  background: var(--bg-color);
}

.side_box:not(:last-of-type) {
  margin-bottom: 30px;
}

.side_box .children {
  padding-left: 10px;
}

.side_box a {
  color: var(--text-color);
}

.side_box a:hover {
  color: var(--main-color);
}

.side_title {
  position: relative;
  z-index: 1;
  margin-bottom: 15px;
  padding: 0 0 5px 5px;
  border-bottom: solid 2px var(--main-color);
  font-weight: bold;
  font-size: 110%;
  line-height: 1.5;
  text-align: left;
  font-family: var(--font-jp);
}

.side_title i {
  margin-right: 10px;
  color: var(--main-color);
}

/* ----- サイドバー（診療案内） ----- */
.sidebar .medical li {
  padding: 10px 15px;
  border-bottom: 1px solid var(--line-color);
}

@media screen and (max-width: 640px) {
  .sidebar {
    width: 100%;
    margin: 0;
    padding: 0 20px;
  }

  .side_box:not(:last-of-type) {
    margin-bottom: 20px;
  }
}

/* ==================================================================================================================================

  *書式設定

================================================================================================================================== */
.mtem {
  margin-top: 2em;
}

.mbem {
  margin-bottom: 1em;
}

/* 段落余白 */
main .inner>*:not(h1, h2, h3, h4, h5) {
  margin-bottom: 2em;
}

main .inner>*:not(h1, h2, h3, h4, h5):last-child {
  margin-bottom: 0;
}

/* ----- text ----- */
.text {
  position: relative;
}

.text>*:not(h1, h2, h3, h4, h5, h6) {
  margin-bottom: 2em;
}

.text>*:not(h1, h2, h3, h4, h5, h6):last-child {
  margin-bottom: 0;
}

/* tel */
.under_tel {
  font-size: 180%;
  font-family: var(--font-en);
}

.under_tel span {
  margin-right: 7px;
  color: var(--text-color);
  font-size: 70%;
}
/* 乳腺外科ページ */
.postid-289 .under_tel{
	color: var(--sub-color02);
}

/* ==================================================================================================================================

  *タイトル

================================================================================================================================== */
h2, h3, h4, h5, h6 {
  position: relative;
  z-index: 1;
  margin-top: 50px;
  line-height: 1.75;
}

h2:first-of-type, h2+h3, h3+h4, h4+h5, h5+h6 {
  margin-top: 0;
}

h2 {
    margin-bottom: 25px;
    padding: 16px 5px 16px 58px;
    color: var(--text-color);
	background: url(../images/logo_icon.png) no-repeat left center/50px auto;
    border-bottom: var(--line-color) 2px solid;
    font-size: 160%;
    letter-spacing: .1em;
}

section:not(.affiliations) h2::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
  width: 20%;
  height: 2px;
  background: var(--main-color);
}

h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 10px 10px 10px 30px;
  background: var(--bg-color);
  font-size: 140%;
  letter-spacing: .1em;
}

h3::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 4px;
  height: 100%;
  background-color: var(--main-color);
}

h4 {
  margin-bottom: 17px;
  color: var(--main-color);
  font-size: 125%;
  letter-spacing: .1em;
}

h5 {
  margin-bottom: 15px;
  font-size: 110%;
  letter-spacing: .1em;
}
/* 乳腺外科ページ */
.postid-289 section:not(.affiliations) h2::after{
	background: var(--sub-color02);
}
.postid-289 section:not(.affiliations) h2{
	padding: 16px 5px 16px 62px;
	background: url(../images/breast_surgery_logo.png) no-repeat left center / 50px auto;
}
.postid-289 h3{
	background: var(--bg-color04);
}
.postid-289 h3::before{
	background: var(--sub-color02);
}

.postid-289 h4{
	color: var(--sub-color02);
}

/* ==============================================
  *SP 見出し
============================================== */
@media screen and (max-width: 640px) {
section:not(.affiliations) h2 {
        padding: 8px 5px 8px 50px;
        background: url(../images/logo_icon.png) no-repeat left center / 40px auto;
        line-height: 1.5;
        font-size: 135%;
    }

h3 {
	line-height: 1.6;
    font-size: 120%
}
}

/* ==================================================================================================================================

  *ヘッダー

================================================================================================================================== */
@media screen and (min-width: 641px) {
  header {
    top: 0;
  }

  .nav_wrap {
    top: 155px;
  }
}

/* ==================================================================================================================================

  *メインビジュアル

================================================================================================================================== */
.mainvisual {
  position: relative;
  z-index: 1;
  background: var(--main-color);
  overflow: hidden;
}

.mainvisual::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(rgb(255 255 255 / .2), rgb(255 255 255 / .2));
  z-index: 1;
}

.mainvisual .mainvisual_bg {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
}

.mainvisual .mainvisual_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.mainvisual .inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height: 500px;
  padding: 260px 0 50px;
}

/* ----- 下層ページの見出し ----- */
.main_headline {
  color: var(--text-color);
  font-size: 200%;
  line-height: 1.5;
  text-align: center;
  text-shadow: rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 5px, rgb(255, 255, 255) 0px 0px 5px;
  font-family: var(--font-jp);
}

/* ==============================================
  *SP メインビジュアル
============================================== */
@media screen and (max-width: 640px) {
  .mainvisual .inner {
    min-height: 180px;
    padding: 30px 20px;
  }

  /* ----- 下層ページの見出し ----- */
  .main_headline {
    font-size: 150%;
  }
}

/* ==================================================================================================================================

  *医院案内

================================================================================================================================== */
.clinic_desc {
  width: 100%;
}

.clinic_desc dl {
  display: flex;
}

.clinic_desc dt {
  width: 20%;
  padding: 15px;
  border-bottom: 1px dotted var(--line-color);
  font-weight: bold;
}

.clinic_desc li:first-child dt {
  padding-top: 0;
}

.clinic_desc dd {
  width: 80%;
  padding: 15px;
  border-bottom: 1px dotted var(--line-color);
}

.clinic_desc dd .zipcode {
  margin-right: 10px;
}

.clinic_desc li:first-child dd {
  padding-top: 0;
}

.facilities_list {
  display: flex;
  flex-flow: wrap;
  gap: 20px;
}

.facilities_item {
  width: calc(33.3333333333% - 13.3333333333px);
  background: var(--bg-color);
}

.facilities_item dd {
  padding: 15px 20px;
}

.facilities_item dd p {
  padding-top: 5px;
}

.facilities_item h3,
.facilities_item h4,
.facilities_item h5 {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-color);
  font-size: 125%;
}

.facilities_item h3::before, .facilities_item h3::after {
  display: none;
}

/* ----- 画像がない時用 ----- */
.facilities_item.noimg {
  padding: 15px 20px;
}

.facilities_item.noimg p {
  margin-top: 5px;
}
/* 乳腺外科ページ */
.postid-289 .facilities_item dd{
	background: var(--bg-color04);
}
/* 介護サービス各ページ */
.postid-299 .facilities_item dd,
.postid-297 .facilities_item dd,
.postid-295 .facilities_item dd,
.postid-293 .facilities_item dd{
	background: #fcf5e4;
}


/* ==============================================
  *SP 医院案内
============================================== */
@media screen and (max-width: 640px) {
  .clinic_desc dl {
    display: block;
  }

  .clinic_desc dt {
    width: 100%;
    padding: 15px 0 5px;
    border-bottom: none;
  }

  .clinic_desc li:first-child dt {
    padding-top: 0;
  }

  .clinic_desc dd {
    width: 100%;
    padding: 0 0 15px;
  }

  .facilities_item {
    width: 100%;
  }
}

/* ==================================================================================================================================

  *医師紹介

================================================================================================================================== */
.doctor_box:not(:last-child) {
  margin: 0;
  padding: 0 0 60px;
}

.doctor_box:not(:first-child) h2 {
  margin-top: 20px;
}

.doctor_flex {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.doctor_text {
  width: 100%;
}

.doctor_text>*:not(:first-child) {
  margin-top: 30px !important;
}

.doctor_name {
  text-align: right;
  font-family: var(--font-jp);
}

.doctor_name .position {
  font-size: 130%;
}

.doctor_name .name {
  font-size: 150%;
}

.doctor_name .name span{
    margin-right: 8px;
    font-size: 80%;
}

.doctor_img {
  flex-shrink: 0;
  width: 350px;
}

.doctor_flex:not(:has(.doctor_text .text)) {
  flex-direction: column-reverse;
  align-items: center;
}

.doctor_flex:not(:has(.doctor_text .text)) .doctor_name {
  text-align: center;
}

.doctor_flex:not(:has(.doctor_text .text)) .doctor_img {
  max-width: 650px;
  width: 100%;
  text-align: center;
}

.doctor_career {
  margin-top: 30px;
}

.career_box {
  padding: 30px;
  background: var(--bg-color);
}

.career_box:not(:last-of-type) {
  margin-bottom: 20px;
}

.career_box h3 {
  margin: 0 0 5px;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-color);
  font-size: 140%;
}

.career_box h3::before, .career_box h3::after {
  display: none;
}

/* 日付あり */
.career_box dl {
  display: flex;
  gap: 10px;
  border-bottom: 1px dashed var(--line-color);
}

.career_box dl>* {
  padding: 10px;
}

.career_box dt {
  width: 24%;
}

/* 日付なし */
.career_box li {
  padding: 10px 20px;
  border-bottom: 1px dashed var(--line-color);
}

/* フリーエリア */
.doctor_freearea {
  margin-top: 30px;
}

/* ==============================================
  *SP 医師紹介
============================================== */
@media screen and (max-width: 640px) {
  .doctor_flex {
    flex-flow: column;
    gap: 30px;
  }
	
  .doctor_flex:not(:has(.doctor_text .text)) {
    flex-direction: column;
  }

  .doctor_img {
    order: -1;
    width: 100%;
    margin: 0 auto;
  }

  .career_box {
    padding: 20px 25px;
  }

  .career_box h3 {
    margin: 0;
  }

  /* 日付あり */
  .career_box dl {
    flex-flow: column;
    gap: 0;
  }

  .career_box dl>* {
    padding: 10px;
  }

  .career_box dt {
    width: 100%;
    padding: 10px 10px 5px;
  }

  .career_box dd {
    width: 100%;
    padding: 5px 10px 10px;
  }

  /* 日付なし */
  .career_box li {
    padding: 10px;
  }
}

/* ==================================================================================================================================

  *アクセス

================================================================================================================================== */
/* ----- MAP ----- */
.access .googlemap iframe {
  width: 100%;
  height: 400px;
}

/* イラストマップのみ */
.access .illustmap {
  width: 100%;
  height: fit-content;
  text-align: center;
}

/* 両方を表示する時 */
.mapflex {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 20px;
  margin-bottom: 30px;
}

.mapflex>* {
  display: flex;
  flex-grow: 1;
  align-items: stretch;
  width: calc(50% - 10px) !important;
}

.mapflex>.googlemap {
  position: relative;
  z-index: 1;
  flex-shrink: 1;
  width: calc(50% - 20px);
  height: auto;
}

.mapflex>.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ----- 住所 ----- */
.access .location {
  position: relative;
  z-index: 1;
  padding: 0 0 0 40px;
  font-weight: bold;
}

.access .location::before {
  content: "\f3c5";
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0 0 0 2px;
  background: var(--main-color);
  border-radius: 50%;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #ffffff;
  font-size: 13px;
}

.access span {
  display: inline-block;
  margin-right: 10px;
}

.access .btn01 {
  text-align: center;
}

/* ----- ルート案内 ----- */
.route_list {
  display: flex;
  flex-flow: wrap;
  gap: 50px 30px;
}

.route_item {
  width: calc(50% - 15px);
}

.route_item>*:not(:last-child) {
  margin-bottom: 1em;
}

.route_title {
  position: relative;
  z-index: 1;
  min-height: 30px;
  padding: 0 0 0 40px;
  font-size: 110%;
}

.route_title .number {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background: var(--main-color);
  color: #ffffff;
  line-height: 1;
}

/* ==============================================
  *SP アクセス
============================================== */
@media screen and (max-width: 640px) {
  .mapflex>* {
    width: 100% !important;
  }

  /* ----- ルート案内 ----- */
  .route_list {
    gap: 30px;
  }

  .route_item {
    width: 100%;
  }
}

/* ==================================================================================================================================

  *ブログ

================================================================================================================================== */
/* ----- 共通 ----- */
.blog_wrap {
  display: flex;
  gap: 50px;
  margin: 0 auto 80px;
  padding: 0;
}

.blog_wrap .inner {
  width: 75%;
  margin: 0;
  padding: 0;
}

.blog_wrap .contents {
  display: flex;
  flex-flow: wrap;
  gap: 30px 20px;
  width: 100%;
  margin: 0 !important;
}

/* 日付 */
.blog_date {
  margin-bottom: 5px;
  font-size: 13px;
  line-height: 1.5;
}

.blog_date::before {
  content: "\f073";
  display: inline-block;
  margin-right: 7px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  color: var(--main-color);
}

/* カテゴリー */
.blog_categorys {
  display: flex;
  flex-flow: wrap;
  gap: 0 5px;
  margin-bottom: 20px;
  line-height: 1.5;
}

.blog_categorys a {
  display: inline-block;
  font-size: 13px;
  line-height: 1.5;
}

.blog_categorys a::before {
  content: "\f02b";
  position: relative;
  top: 1px;
  display: inline-block;
  margin-right: 5px;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
}

/* ----- サイドバ（サムネイル付き） ----- */
.blog_list_thum {
  display: flex;
  flex-flow: column;
}

.blog_list_thum li {
  padding: 15px 0;
}

.blog_list_thum li:first-child {
  padding-top: 0;
}

.blog_list_thum li:last-child {
  padding-bottom: 0;
}

.blog_list_thum li:not(:last-child) {
  border-bottom: 1px dashed var(--line-color);
}

.blog_list_thum li a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-color);
  font-size: 95%;
  line-height: 1.75;
}

.blog_list_thum li a:hover {
  color: var(--main-color);
}

/* サムネイル */
.blog_item_thum {
  float: none;
  display: block;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.blog_item_thum img {
  float: none;
  display: block;
  width: auto;
  min-height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform 0.2s;
}

.blog_item a:hover img {
  transform: scale(1.1);
}

/* タイトル */
.blog_item_title {
  padding: 5px 0;
}

/* カテゴリー */
.side_blog_category a {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 0 0 15px;
  color: var(--text-color);
}

.side_blog_category a :hover {
  color: var(--main-color);
}

.side_blog_category a::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}

/* ----- アーカイブページ ----- */
.blog_box {
  display: flex;
  flex-flow: column;
  width: calc(33.3333333333% - 13.3333333333px);
  height: auto;
  background-color: #ffffff;
  border: solid 1px var(--line-color);
}

/* サムネイル */
.blog_box .thumbnail {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-bottom: solid 1px var(--line-color);
  text-align: center;
}

.blog_box .thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 13/9;
}

.blog_inner {
  display: flex;
  flex-flow: column;
  height: 100%;
  padding: 15px 15px 20px;
  border-top: none;
}

/* 見出し */
.blog_box h2.blog_title {
  margin: 0 0 15px;
  padding: 0;
  background: none;
  border: none;
  color: var(--text-color);
  font-size: 110%;
}

.blog_box h2.blog_title:before, .blog_box h2.blog_title:after {
  display: none;
}

.blog_box .btn01 {
  margin-top: auto;
  text-align: center;
}

.blog_box .btn01>* {
  min-width: auto;
}

/* ----- 記事ページ ----- */
.blog_single_box {
  width: 100%;
}

/* サムネイル */
.blog_single_box .thumbnail {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  text-align: center;
}

#index {
  margin: 0 0 30px;
  padding: 20px;
  background: var(--bg-color);
}

#index .index_title {
  margin: 0 0 0;
  font-weight: bold;
  font-size: 110%;
}

#index a {
  color: var(--text-color);
}

#index a:hover {
  color: var(--main-color);
}

#index .index_h2 {
  position: relative;
  z-index: 1;
  padding: 5px 0 5px 20px;
  font-weight: bold;
  color: var(--text-color);
  font-size: 110%;
}

#index .index_h2::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 0;
  display: block;
  width: 8px;
  height: 8px;
  background: var(--main-color);
}

#index .index_h3 {
  position: relative;
  z-index: 1;
  padding: 5px 0 5px 25px;
}

#index .index_h3::before {
  content: "-";
  position: absolute;
  top: 5px;
  left: 10px;
}

.blog_single_box .blog_text>*:not(h1, h2, h3, h4, h5) {
  margin-bottom: 2em;
}

.blog_single_box .blog_text>*:not(h1, h2, h3, h4, h5):last-child {
  margin-bottom: 2em;
}

/* ==============================================
  *SP ブログ
============================================== */
@media screen and (max-width: 640px) {

  /* ----- 共通 ----- */
  .blog_wrap {
    flex-flow: column;
    gap: 70px;
    width: 100%;
  }

  .blog_wrap .inner {
    width: 100%;
    padding: 0 20px;
  }

  /* ----- アーカイブページ ----- */
  .blog_box {
    width: 100%;
  }

  /* サムネイル */
  .blog_box .thumbnail {
    height: auto;
    min-height: auto;
  }

  .blog_box .thumbnail img {
    width: 100%;
    height: auto;
  }
}

/* ==================================================================================================================================

  *介護サービス

================================================================================================================================== */
.care_list_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}

.care_list_item {
  display: flex;
  flex-direction: column;
  width: calc((100% / 3) - (100px / 3));
  padding: 50px 30px;
  background: /*var(--bg-color)*/#f9f0dd;
  border-radius: 20px;
}

.care_item_img {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 110px;
  height: auto;
  aspect-ratio: 1 / 1;
  background: rgb(255, 255, 255);
  border-radius: 50%;
/*   box-shadow: rgba(55, 173, 99, 0.4) 0px 0px 20px; */
  box-shadow: rgba(235,175, 47, 0.4) 0px 0px 20px;
  margin: 0px auto 24px !important;
}

.care_item_text {
  margin-bottom: 32px;
}

.care_item_img img {
  width: 60%;
}

.care_item_title {
  width: 100%;
  margin: 0 auto 24px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--line-color);
  text-align: center;
  color: /*var(--main-color)*/#ebaf2f;
  background: #f9f0dd;
}

.care_item_title::before {
  content: none;
}

.care_list_item .btn01 {
  margin-top: auto;
  text-align: center;
}
.care_list_item .btn01>*{
  background: linear-gradient(to right, #ebcd8d, #ebaf2f);  	
}

/* ==============================================
  *SP 介護サービス
============================================== */
@media screen and (max-width: 640px) {
  .care_list_wrap {
    flex-direction: column;
    gap: 30px;
  }

  .care_list_item {
    width: 100%;
    padding: 30px 20px;
  }
}


/* ==================================================================================================================================

404

================================================================================================================================== */
.error404 main>.inner {
  padding: 20px 0 80px;
}

.error404 main p {
  text-align: center;
}

/* ==============================================
  *SP 404
============================================== */
@media screen and (max-width: 640px) {
  .error404 main>.inner {
    padding: 0px 20px 60px;
  }
}

/* ==================================================================================================================================

介護サービス各ページ色変更

================================================================================================================================== */
.page-id-275 section:not(.affiliations) h2::after,
.postid-299 section:not(.affiliations) h2::after,
.postid-297 section:not(.affiliations) h2::after,
.postid-295 section:not(.affiliations) h2::after,
.postid-293 section:not(.affiliations) h2::after{
	background: #ebaf2f;
}

.postid-299 h3,
.postid-297 h3,
.postid-295 h3,
.postid-293 h3,
.postid-299 .flow,
.postid-297 .flow,
.postid-295 .flow,
.postid-293 .flow{
	background: #fcf5e4;
}
.postid-299 h3::before,
.postid-297 h3::before,
.postid-295 h3::before,
.postid-293 h3::before,
.postid-299 .flow_number *,
.postid-297 .flow_number *,
.postid-295 .flow_number *,
.postid-293 .flow_number *{
	background: #ebaf2f;
}

.postid-299 h4,
.postid-297 h4,
.postid-295 h4,
.postid-293 h4,
.postid-299 .list04_bg li:before,
.postid-297 .list04_bg li:before,
.postid-295 .list04_bg li:before,
.postid-293 .list04_bg li:before,
.postid-299 .layout02 .layout_title,
.postid-297 .layout02 .layout_title,
.postid-295 .layout02 .layout_title,
.postid-293 .layout02 .layout_title,
.postid-299 main a,
.postid-297 main a,
.postid-295 main a,
.postid-293 main a{
	color: #ebaf2f;
}
/* 訪問診療＞訪問リハビリテーション */
.layout_orange h2::after,
.layout_orange h3::before{
	background: #ebaf2f!important;
}
.layout_orange h3{
	background: #fcf5e4;
}
.layout_orange h4,
.layout_orange .layout02 .layout_title{
	color: #ebaf2f;
}
.layout_orange .list03_bg li:before{
	background-color:#ebaf2f;
}