/*
 Theme Name:     Twenty Twenty Child
 Template:       twentytwenty
 Version:        1.0
*/


/* 投稿ページ：カテゴリを右側に表示し、幅を制限 */
body.single-post .post-content-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

body.single-post .post-inner {
  flex: 3;
  min-width: 0;
}

body.single-post .post-sidebar {
  flex: 1;
  min-width: 250px;
}

/* 固定ページ：1カラム、幅制限なし、カテゴリ非表示 */
body.page .post-content-wrap {
  display: block;
  max-width: none;
  margin: 0;
}

body.page .post-sidebar {
  display: none;
}

/* スマホ対応（投稿ページでもレイアウトを縦並びに） */
@media screen and (max-width: 1000px) {
  body.single-post .post-content-wrap {
    flex-direction: column;
  }

  body.single-post .post-inner,
  body.single-post .post-sidebar {
    flex: 1 1 100%;
  }

  body.single-post .post-sidebar {
    margin-top: 2rem;
  }
}

/* -------- カテゴリーデザイン調整 -------- */

/* 親カテゴリリスト全体 */
.post-sidebar .custom-category-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  border-top: 3px solid #EA545D;
  line-height: 1.6;
}

/* 親カテゴリ各項目 */
.post-sidebar .custom-category-list > li {
  border-bottom: 3px solid #EA545D;
  padding: 0.7rem 0;
  font-weight: 500;
  color: #EA545D; /* 親カテゴリの文字色 */
}

/* 親カテゴリのリンク */
.post-sidebar .custom-category-list > li > a {
  text-decoration: none;
  color: inherit; /* liの色を継承 */
  display: block;
  font-weight: bold;
}

/* 子カテゴリリスト（インデント調整） */
.post-sidebar .custom-category-list ul {
  list-style: none;
  margin: 0;
  padding-left: 1rem; /* インデント調整 */
}

/* 子カテゴリ各項目 */
.post-sidebar .custom-category-list ul li {
  font-weight: normal;
  padding: 0.4rem 0;
  color: #646464; /* 子カテゴリの文字色 */
}

/* 子カテゴリのリンク */
.post-sidebar .custom-category-list ul li a {
  text-decoration: none;
  color: inherit;
  display: block;
  font-weight: bold;
}

/* カテゴリページにもカテゴリ一覧を右側に表示する（投稿ページと同様） */
body.category .post-content-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

body.category .post-inner {
  flex: 3;
  min-width: 0;
}

body.category .post-sidebar {
  flex: 1;
  min-width: 250px;
}

/* カテゴリページのスマホ対応 */
@media screen and (max-width: 1000px) {
  body.category .post-content-wrap {
    flex-direction: column;
  }

  body.category .post-inner,
  body.category .post-sidebar {
    flex: 1 1 100%;
  }

  body.category .post-sidebar {
    margin:2rem;
  }
}

/* 投稿ページ修正 */
.post-template-default .post-content-wrap .post-inner{
margin: 20px 2rem 20px 2rem;
	width: calc(100% - 40px); 
	max-width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 15px;
	text-decoration:none;
}

/* ────────────────────────────────────
   Entry Content 全体
──────────────────────────────────── */
.post-template-default .entry-content {
  font-family: "Noto Sans", sans-serif; 
  color: #333;
  line-height: 1.8;
  margin: 3rem;
}

/* ────────────────────────────────────
   見出し（H1〜H6）
──────────────────────────────────── */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 2rem 0 1rem;
  font-family: "Noto Sans", sans-serif; 
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #222;
}

.entry-content h1.wp-block-heading {
  font-size: 32px;
}
.entry-content h2.wp-block-heading {
  font-size: 28px;
}
.entry-content h3.wp-block-heading {
  font-size: 24px;
}
.entry-content h4.wp-block-heading {
  font-size: 20px;
}
.entry-content h5.wp-block-heading {
  font-size: 18px;
}
.entry-content h6.wp-block-heading {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .entry-content h1.wp-block-heading {
  font-size: 24px;
}
.entry-content h2.wp-block-heading {
  font-size: 22px;
}
.entry-content h3.wp-block-heading {
  font-size: 20px;
}
.entry-content h4.wp-block-heading {
  font-size: 18px;
}
.entry-content h5.wp-block-heading {
  font-size: 16px;
}
.entry-content h6.wp-block-heading {
  font-size: 14px;
}
}

/* 見出し下にアクセントライン */
.entry-content h2.wp-block-heading,
.entry-content h3.wp-block-heading {
  position: relative;
}
.entry-content h2.wp-block-heading::after,
.entry-content h3.wp-block-heading::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3px;
  background: #EA545D;
  margin-top: 0.5rem;
}

.entry-content h1.wp-block-heading {
  color: #ea545d;
  padding: 0.5em 0;
  border-top: solid 3px #ea545d;
  border-bottom: solid 3px #ea545d;}




/* ────────────────────────────────────
   画像・図版
──────────────────────────────────── */
.entry-content figure {
  margin: 2rem 0;
  text-align: center;
}
.entry-content figure img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* キャプション */
.entry-content figcaption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  color: #666;
}

/* ────────────────────────────────────
   レスポンシブ調整
──────────────────────────────────── */
@media screen and (max-width: 1000px) {
  .entry-content {
    padding: 0.5rem 1rem;
  }
}

.section-inner.medium {
	max-width: 1200px;
}

/* ────────────────────────────────────
   投稿タイトル
──────────────────────────────────── */
/* バッジ風カテゴリ */
.entry-meta .entry-categories a {
  padding: 2px 15px;
  background-color: #ea545d;
  font-weight: bold;
	border-radius: 25px;
  font-size: 16px;
  color: #fff !important;
}

.archive-header {
  background-color: #ea545d;
  color: #fff;
  text-align: center;
}

/* ────────────────────────────────────
   カテゴリーページ
──────────────────────────────────── */

.post-inner article h1 {
  font-weight: bold;
  color: #ea545d;
  margin-top: 2rem;
}

.post-inner article p {
  line-height: 1.6;
}

.post-category-card{
	width: calc(100% - 40px); 
	max-width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 15px;
	text-decoration:none;
  margin: 20px 2rem 0 2rem;
}


.post-category-card a{
  font-family: "Noto Sans", sans-serif; 
  line-height: 1.8;
  padding:2.5rem;
}


.pagination-single .styled-separator {
	display: none;
}

/* ────────────────────────────────────
   下部ボタン
──────────────────────────────────── */

.pagination-single {
  margin: 3rem auto;
  max-width: 1200px;
}

.pagination-single-inner {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.pagination-single-inner a {
  flex: 1 1 300px;
  max-width: 45%;
  text-decoration: none;
  background: #ea545d;
  border-radius: 8px;
  padding: 1rem 1.2rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  display: flex;
  align-items: center;
  font-weight: bold;
  color: #fff;
  transition: background-color 0.3s, transform 0.2s;
}

.pagination-single-inner a:hover,
.pagination-single-inner a:focus {
  background-color: #e67a80;
  transform: translateY(-2px);
}

.pagination-single-inner a .arrow {
  font-size: 3rem;
  color: #fff;
  margin-right: 0.5rem;
}

.pagination-single-inner a.next-post {
  flex-direction: row-reverse;
  text-align: right;
}

.pagination-single-inner a.next-post .arrow {
  margin-left: 0.5rem;
  margin-right: 0;
}

@media (max-width: 1000px) {
  .pagination-single-inner a {
    max-width: 100%;
    flex: 1 1 100%;
    text-align: center;
    justify-content: center;
  }

  .pagination-single-inner a.next-post,
  .pagination-single-inner a.previous-post {
    flex-direction: row;
    text-align: center;
  }

  .pagination-single-inner a .arrow {
    margin: 0 0.5rem;
  }
}

	.pagination-single a + a {
		margin: 0 0 0 0rem;
	}


/* ────────────────────────────────────
   H1表示
──────────────────────────────────── */

.category-notice h1{
display: block;
}

.category-event h1{
display: block;
}

.category-information h1{
display: block;
}

.category-important h1{
display: block;
}

.category-column h1{
display: block;
}

.category-nursing_care_column h1{
display: block;
}

.category-blog h1{
display: block;
}

.category-amagasaki h1{
display: block;
}

.category-higashisonoda h1{
display: block;
}

.category-mukonoso h1{
display: block;
}

.category-kobesumiyoshi h1{
display: block;
}

.category-nishikita_blog h1{
display: block;
}

.category-uncategorized h1{
display: block;
}

/* ベースのスタイル */
.post-sidebar {
  background: #fff;
  border-radius: 16px;
  padding: 20px 16px;
  margin-bottom: 2rem;
}

@media (max-width: 1000px) {
.post-sidebar {
  margin: 0 2rem;
}
}

.page-template-default .entry-meta time{
  display: none;
}



/* ２列カード */
.two-column-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  gap: 10px;
  margin-bottom: 30px;
}

.two-column-box .two-column-contents {
  width: calc(50% - 10px);
  max-width: 100%;
  background-color: #fff;
  border-radius: 15px;
}

.two-column-box a {
  text-decoration: none;
}

.two-column-card {
  max-width: 800px;
  padding: 20px;
  margin: 20px auto;
}

.title-number{
  background-color: #EA545D;
  color:#fff;
  padding:5px 10px;
  margin-right: 10px;
  border-radius: 10px;
}

.two-column-title {
  color: #EA545D;
  font-size: 26px;
  padding-bottom: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.top-about02 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
}

.top-about02 p {
  color: #555;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding-top:10px;
}

.top-about02 br {
  line-height: 0;
}

@media (max-width: 1024px) {
  .two-column-box .two-column-contents {
    width: 100%;
  }
}

/* ２列カード（施設） */
.two-column-subtitle{
  margin: 0px;
  color: #555;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
}

.facility_card .facility-box-icons {
	display: flex;
	justify-content: space-between;
	margin: 0px 0px 10px 0px;
}

.facility_card .two-column-card {
  max-width: 800px;
  padding: 0px 20px;
  margin: 20px auto;
}

.facility-box-icons .facility_icon02{
	background: #002BBC;
	max-width:50%;
}

.facilities_tittles{
  padding-bottom:30px;
}

.left_box .rounded_corners{
	  border-radius: 15px;
}

.top-about03 h3{
	color: #EA545D;
	font-size:24px;
	text-align: center;
  margin: 0 0 1rem 0!important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

.top-about03 h3 span{
  background: linear-gradient(transparent 60%, #FFFE03 60%);}

.top-about03 p{
	color: #555;
	font-size:16px;
}

.top-about03 p span{
  font-weight: bold;
}

.facilities-maps{
  padding:3rem 0;
}



/* 3列カード */
.three-column-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  gap: 10px;
  margin-bottom: 30px;
}

.three-column-contents{
  position: relative;
}

.three-column-box .three-column-contents {
  width: calc(33% - 4px);
  max-width: 100%;
  background-color: #fff;
  border-radius: 15px;
}

@media (max-width: 1024px) {
  .three-column-box .three-column-contents {
    width: 100%;
  }
}

.three-column-title{
 color: #EA545D;  
 font-weight: bold;
}

.three-column-card {
  max-width: 800px;
  padding: 20px;
  margin: 20px auto;
}

.three-column-card p{
  color: #555;
}


/* 3列カード(お客様の声)*/
.three-voice-img img{
width: 50%;  
  margin: 0 auto 10px auto;
}

.three-voice-img p{
  margin-top: 10px;
}

@media (max-width: 1024px) {
.three-voice-img {
  text-align: left; /* 全体のテキスト左寄せ */
}

.img-and-title {
  display: flex;
  align-items: center; /* 縦方向の中央揃え（必要に応じて調整） */
  gap: 10px; /* 画像とタイトルの間のスペース */
}

.three-column-title{
  width: calc(65% - 10px);}
  
.img-and-title img {
  width: calc(35% - 10px);
  height: auto;
}

.three-column-title .three-number {
  font-weight: bold;
  font-size: 16px;
}
}


/* 3列カード(サービス)*/
.point-label {
  position: absolute;
  top: -12px;
  left: 16px;
  background: #ff7e00;
  color: white;
  padding: 4px 12px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
}


/* 3列カード(お客様の声)*/

.img-and-title01 img{
    border-radius: 15px;
}

.img-and-title01 h3{
	color: #EA545D;
	font-size:24px;
	text-align: left;
  margin: 1.5rem 0 1rem 0!important;
  padding-bottom: 1rem;
  border-bottom: 2px dashed #888;
}

.img-and-title01 p{
font-weight: revert;
text-align: left;
}

.img-and-title01 span{
font-weight: bold;
}

@media (max-width: 1024px) {
.img-and-title01 {
  display: flex;
  align-items: center; /* 縦方向の中央揃え（必要に応じて調整） */
  gap: 10px; /* 画像とタイトルの間のスペース */
}
  
.point-label {
  top: -5px;
}

.three-column-title01{
  width: calc(65% - 10px);}
  
.img-and-title01 img {
  width: calc(35% - 10px);
  height: auto;
}

}

@media (max-width: 640px) {
.img-and-title01 {
  display:  revert;
}

.three-column-title01{
  width: 100%;}
  
.img-and-title01 img {
  width:100%;
  height: auto;
}
}


/* カードタイトル*/
.card_tittle{
  background-color: #EA545D;
  font-weight: bold;
  color: #fff;
	font-size:30px;
  padding:2rem 0;
  text-align: center;
  border-radius: 15px 15px 0px 0px;
}

.service-title01 h3{
	color: #EA545D;
	font-size:36px;
	text-align: center;
  margin: 2.5rem 0 2.5rem 0!important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

@media (max-width: 1024px) {
.service-title01 h3{
	font-size:24px;
  margin: 2.5rem 1rem 2.5rem 1rem!important;
}
}

.service-title01 h3 span{
  background: linear-gradient(transparent 60%, #FFFE03 60%);}

.service-title01 p{
	color: #555;
	font-size:16px;
  margin:2.5rem!important;
}

.service-title01 p span{
font-weight: bold;
}

.service_card{
  border-bottom: 2px dashed #888;
}

.service_card .contents_inbox_2column {
margin: 2.5rem;
}

.boarder_none{
  border-bottom: none;
}

.service-contents-margin{
  margin: 3.5rem 2rem;
}

.service-contents .two-column-card .two-column-title{
  border-bottom: 2px dashed #888;
}

.service-contents .two-column-card .top-about02 p{
font-weight: normal;
}

/*サービス（挨拶）*/
.service-message-contents .map_card .left_box {
	width: calc(65% - 40px);
}

.service-message-contents .map_card .right_box{
	width: calc(35% - 40px);
}

@media (max-width: 640px) {
.service-message-contents .map_card .left_box {
	width: 100%;
}
.service-message-contents .map_card .right_box{
	width: 100%;
}
}

/*個別相談box*/
.reservation-text-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: 16px;
  max-width: 800px;
  margin: auto;
}

.reservation-text-box {
  background-color: #FFEAEB;
  border-radius: 8px;
  padding: 15px;
  font-size: 16px;
  font-weight: bold;
  color: #EA545D;
  text-align: center;
}

/* スマホ対応（1列） */
@media screen and (max-width: 640px) {
  .reservation-text-grid {
    grid-template-columns: 1fr;
  }
}

.reservation_box span{
  font-weight: bold;
}

.reservation_box h3{
  text-align: left;
  font-family: "YuGothic", "メイリオ", sans-serif;
  line-height: 20px;
  padding-bottom: 2rem;
}




/* アンカーボタン */
.anchor-button-container {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  max-width: 800px;
  padding: 2rem 0;
  box-sizing: border-box;
}

.anchor-button {
  flex: 1 1 40%;
  min-width: 120px;
  text-align: center;
  padding: 3rem;
  border-radius: 15px;
  background-color:#E15059;
  color: white;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  /*height: 80px;*/
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
}

.anchor-button .text {
  display: block;
  margin-right: 0.5rem;
}

.anchor-button .arrow {
  font-size: 0.9rem;
  line-height: 1;
}

@media (max-width: 650px) {
  .anchor-button {
    flex: 1 1 100%;
  }
}

.arrow_down {
	font-size: 2rem;
  margin-left:2rem;
  position: relative;
	width: 1em;
	height: 1em;
	border-bottom: 0.2em solid #fff;
	border-right: 0.2em solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.border_line_bottom{
 border-bottom: 1px dashed #888;
  padding-bottom:0.5rem;
 line-height: 3rem;
}


/* サービステーブル */
.service_table{
  margin:1rem 0 5rem 0;
}

.service_table table {
	margin: 1rem 0;
}

.service_table th,
.service_table td {
  border: 1px dotted #ccc;
  padding: 0.6em;
  text-align: center;
}

.service_table .table_title {
  color: #EA545D;
  border-bottom: 2px solid #EA545D;  
}

.service_page_title{
  margin: 5rem 0 3rem 0;
  padding-bottom:0px;
}

.service_page_title .facilities_tittles{
  padding-bottom:0px;
}


/* ダウンロードボタン */
.download-button-container {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  max-width: 800px;
  padding: 2rem 0;
  box-sizing: border-box;
}

.download-button {
  flex: 1 1 40%;
  min-width: 120px;
  text-align: center;
  padding: 1rem;
  border-radius: 15px;
  background-color:#E15059;
  color: white;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
}

.download-button .text {
  display: block;
  margin-right: 0.5rem;
}

.download-button .arrow {
  font-size: 0.9rem;
  line-height: 1;
}

@media (max-width: 800px) {
  .download-button {
    flex: 1 1 100%;
  }
}

.download_down {
	font-size: 1.5rem;
  margin-left:2rem;
  position: relative;
	width: 1em;
	height: 1em;
	border-bottom: 0.2em solid #fff;
	border-right: 0.2em solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.download_line_bottom{
 border-bottom: 1px dashed #888;
  padding-bottom:0.5rem;
 line-height: 3rem;
}

.download_icon {
  width: 24px;
  height: 20px;
}

.img_top_margin{
  margin-top: 2rem;
}

/*　サービス紹介ページ_ボックス */
.service_box {
  margin-top: 3rem;
}

.service_box .two-column-title {
  border-bottom: 2px dashed #888;
  padding-bottom: 0px;
}

.service_box .two-column-title p{
  width: 100%; 
  text-align: center; 
  margin-bottom: 1rem;
}

.service_box02 .two-column-title {
  border-bottom: 2px solid #EA545D;
  padding-bottom: 0px;
}

.service_box02 .two-column-title p{
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.service_box02 .top-about02 p{
  width: 100%;
  border-bottom: 1px dashed #888;
  line-height: 3rem;  
}

/* お問合せ */
/* 共通設定 */
form.wpcf7-form {
  font-family: "Helvetica Neue", sans-serif;
  background-color: #fafafa;
  padding: 2em;
  border-radius: 10px;
  max-width: 700px;
  margin: auto;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

.inquiry_form_box {
  margin-bottom: 1.5em;
}

.inquiry_form_title p {
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #333;
}

.inquiry_form_element p {
  margin: 0;
}

/* テキスト入力・メール入力 */
input[type="text"],
input[type="email"] {
  width: 100%;
  padding: 10px;
  font-size: 1em;
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* ラジオボタンとチェックボックス */
.wpcf7-list-item {
  display: inline-block;
  margin-right: 1em;
}

.wpcf7-list-item-label {
  margin-left: 0.25em;
  vertical-align: middle;
  font-size: 0.95em;
}

/* 電話問い合わせ部分 */
.inquiry_box {
  background-color: #FFEAEB;
  border-left: 4px solid #EA535D;
  padding: 1em;
  margin-bottom: 2em;
}

.inquiry_tel p {
  font-size: 1.2em;
  font-weight: bold;
  color: #EA535D;
}

/* セクションタイトル */
.inquiry_title {
  font-size: 1.4em;
  border-bottom: 3px solid #EA535D;
  padding-bottom: 0.3em;
  margin-top: 2em;
  margin-bottom: 1em;
  color: #007c91;
}

.has-spinner{
  width: 100%;
}

.wpcf7-submit {
  background-color: #EA535D !important;
  color: #fff !important;
  border: none !important;
  margin-top: 20px !important;
  padding: 12px 24px !important;
  font-size: 1em !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  border: 4px solid #EA545D !important;
}

.wpcf7-submit:hover:not([disabled]) {
  background-color: #FFEAEB !important;
  color: #EA535D !important;
  border: 4px solid #EA545D !important;

}

.wpcf7-submit[disabled] {
  color: #666 !important;
  border: 4px solid #666 !important;
  background-color: #ccc !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* レスポンシブ */
@media screen and (max-width: 600px) {
  .wpcf7-list-item {
    display: block;
    margin-bottom: 0.5em;
  }
}

/* メッセージ名前*/
.top-about03 .message-name{
  text-align: right;
 	color: #EA545D;
	font-size:18px;
  font-weight: bold;
  line-height: 13px;
}

.top-about03 .message-name span{
	font-size:13px;}

/*FAQ*/
.faq-card01 h3{
  color: #EA545D;
  font-size: 26px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #FFFE03 60%);}
}