@charset "utf-8";
/*
Theme Name: Daito Child Theme
Theme URI: https://294.or.jp/
Description: 大東福祉会専用の子テーマです。
Template: daito
Author: Daito Fukushikai Social Welfare Corporation
Author URI: https://www.294.or.jp/
Version:2.15
Text Domain: daito-child
*/


/************************************
 * 介護サービスの設定
************************************/
#service_single .service_content1 .image {
    border-radius: 12px;
    overflow: hidden; /* ← 中の背景画像にも角丸を効かせるために必須 */
}
#service_single .top_headline.service-type {
    border-top: 1px solid var(--accent-color);
    border-bottom: 1px solid var(--accent-color);
    display: inline-block;
	padding: 0 20px;
    margin: 0 auto 30px;
}
#service_top_desc span {
  display: block;
  margin-top: 0.5em;
  line-height: 1.8;
    font-size: 18px !important;
	color: var(--accent-color) !important;
}

[class*="service_content"] .top_headline {
    font-size: 24px !important;
    border-color: var(--border-color) !important;
}

 [class^="service_content"]:not(.service_content1) .image {
    background-size: 50% !important;
}

#service_single .top_headline.tagline { 
	margin:0 auto 30px ;
	padding:0;
	border: none;
}


/************************************
 * 魅力の設定
************************************/
div.guideline-wrap > ol.guideline-list {
  counter-reset: num;
  list-style: none;
  margin: 0;
  padding: 0;
}

div.guideline-wrap > ol.guideline-list > li {
  counter-increment: num;
  position: relative;
  padding-left: 45px;
  margin-bottom: 1em;
  line-height: 1.7;
}

div.guideline-wrap > ol.guideline-list > li::after {
  content: counter(num);
  position: absolute;
  top: 0;
  left: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #a6d1d8;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 4px;
}

/************************************
 Flex DL Style
************************************/


/* ===== dl-flex（Grid安定版） ===== */
.dl-wrap section .dl-flex {
  display: grid;
  align-items: stretch;
  width: 100%;
  line-height: 1.61;
  margin: 0 auto;
  border: 1px dotted #a9a9a9;
  border-top: none;
}
.dl-wrap.flex20 section .dl-flex {
  grid-template-columns: 20% 1fr; /* 左右比率 */
}
.dl-wrap.flex33 section .dl-flex {
  grid-template-columns: 33% 1fr; /* 左右比率 */
}
.dl-wrap.flex40 section .dl-flex {
  grid-template-columns: 40% 1fr; /* 左右比率 */
}
.dl-wrap.flex50 section .dl-flex {
  grid-template-columns: 50% 1fr; /* 左右比率 */
}

.dl-wrap section .dl-flex:first-of-type {
  border-top: 1px dotted #a9a9a9;
}

.dl-wrap section .dl-flex > dt,
.dl-wrap section .dl-flex > dd {
  margin: 0;
  padding: 0.8rem 1.2rem;
  min-height: 100%;
  font-size: inherit; /* 親要素のサイズを継承 */
}

.dl-wrap section .dl-flex > dt {
  background: #e3e3e3;
  color: #333;
}

.dl-wrap section .dl-flex > dd {
  background: #fff;
}

.dl-wrap section .dl-flex > dt span:has-text("（") {
  font-size: 80%;
} /* 括弧付きspanだけ小さく */



/* スマホは縦積み */
@media (max-width: 767px) {
  .dl-wrap.flex20 section .dl-flex,
  .dl-wrap.flex33 section .dl-flex,
  .dl-wrap.flex40 section .dl-flex,
  .dl-wrap.flex50 section .dl-flex,
  .dl-wrap section .dl-flex {
    grid-template-columns: 1fr;
  }
}


/* dl内リンクの色を変数で統一 */
.dl-wrap .dl-flex dd a {
  color: var(--company-link-color);
  text-decoration: none;
  line-height: 1.5;
  transition: color .2s ease;
}
.dl-wrap .dl-flex dd a:hover,
.dl-wrap .dl-flex dd a:focus {
  color: var(--company-link-hover);
  text-decoration: underline;
}

/* アイコンもリンク色に追従（span or ::before どちらでも） */
.dl-wrap .dl-flex dd a .material-symbols-rounded { color: currentColor; }
.dl-wrap .dl-flex dd a::before { color: currentColor; }


/* ===== dlリンク：改行時に先頭を揃える（アイコン固定） ===== */
.dl-wrap .dl-flex dd a {
  position: relative;               /* 絶対配置の基準 */
  display: inline-block;            /* ブロック化で複数行に対応 */
  padding-left: 1.8em;              /* ← アイコン幅ぶんの左余白（要調整） */
  line-height: 1.6;
  text-decoration: none;
  color: var(--company-link-color);
  transition: color .2s ease;
}
.dl-wrap .dl-flex dd a:hover { 
  color: var(--company-link-hover);
  text-decoration: underline;
}

/* アイコンを左に固定してテキストを回り込ませない */
.dl-wrap .dl-flex dd a .material-symbols-rounded {
  position: absolute;
  left: 0;
  top: .05em;                       /* ベースライン微調整 */
  width: 1.4em;                     /* アイコンの“実幅”（padding-leftと合わせる） */
  text-align: center;
  font-variation-settings: 'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;
  font-size: 1.2em;                 /* お好みで 1.2–1.4em */
  line-height: 1;
  color: currentColor;              /* リンク色に追従 */
  margin: 0;                        /* 既存の余白を無効化 */
}


/* ------- Flex Div Style（2025リダクト版） ------- */
.dv-flex {
  display: flex;
  align-items: stretch;
  width: 100%;
  font-size: 1em;
  line-height: 1.61;
  margin: 0 auto;
  flex-wrap: wrap;
  text-align: center;
}

.dv-flex div {
  border-top: 1px solid #a9a9a9;
  border-bottom: 1px solid #a9a9a9;
  border-right: 1px solid #a9a9a9;
}

.dv-flex div h5 {
  background-color: #e3e3e3;
  color: #333;
  margin: 0;
  padding: 5px;
  font-size: 1.1em;
  font-weight: normal;
  border-bottom: 1px solid #a9a9a9;
  text-align: center;
}

.dv-flex div p {
  margin: 10px;
  line-height: 1.4;
  padding: 0;
}

/* 列幅指定 */
.dv-flex.service-line-4 div:nth-of-type(4n+1) { width: 40%; } /* 1列目 */
.dv-flex.service-line-4 div:nth-of-type(4n+2) { width: 25%; } /* 2列目 */
.dv-flex.service-line-4 div:nth-of-type(4n+3) { width:15%; } /* 3列目 */
.dv-flex.service-line-4 div:nth-of-type(4n+4) { width: auto; } /* 4列目 */

.dv-flex.service-line-3 div { width: 33.3333%; } /* 1/3 */
.dv-flex.service-line-2 div { width: 50%; }       /* 1/2 */

/* 行頭セルの左ボーダー追加 */
.dv-flex.service-line-4 div:nth-of-type(4n+1),
.dv-flex.service-line-3 div:nth-of-type(3n+1) {
  border: 1px solid #a9a9a9;
}

/* 2行目以降の上ボーダー重複回避 */
.dv-flex.service-line-4 div:nth-of-type(n+5),
.dv-flex.service-line-3 div:nth-of-type(n+4) {
  border-top: none;
}

/* 2行目以降のh5非表示（SPでは再表示） */
.dv-flex.service-line-4 div:nth-of-type(n+5) h5,
.dv-flex.service-line-3 div:nth-of-type(n+4) h5 {
  display: none;
} 

/* スマホ */
@media (max-width: 767px) {
  .dv-flex {
    flex-direction: column;
    text-align: left;
  }
  .dv-flex.service-line-4 > div,
  .dv-flex.service-line-3 > div {
    width: 100% !important;
    border-left: 1px solid #a9a9a9;
  }
  .dv-flex div:nth-of-type(n+2) {
    border-top: none;
  }
  .dv-flex div h5 {
    display: block !important; /* SPでは見出しを再表示 */
    text-indent: 1rem;
  }
  .dv-flex.service-line-4 div:nth-of-type(4n+5),
  .dv-flex.service-line-3 div:nth-of-type(3n+4) {
    margin-top: 10px;
    border-top: 1px solid #a9a9a9;
  }
}

/* ===== PDFリンクアイコン（Material Symbols Rounded） ===== */
.icon-pdf ul li a::before {
  content: "picture_as_pdf";
  font-family: "Material Symbols Rounded";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-size: 1.4em; /* テキストサイズに連動 */
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  color: var(--company-link-color); /* ←変数使用 */
  margin-right: 0.6rem;
}

/* テキストとアイコンの整列 */
.icon-pdf ul li a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--company-link-color); /* ←変数使用 */
  line-height: 1.5;
  font-size: inherit;
  transition: color 0.2s ease;
}

/* hover時 */
.icon-pdf ul li a:hover {
  text-decoration: underline;
  color: var(--company-link-hover); /* ←変数使用 */
}

/* レイアウト安定化 */
.icon-pdf ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.icon-pdf ul li {
  margin-bottom: 0.8rem;
  line-height: 1.6;
  font-size: inherit;
  border-bottom: 1px dotted #a9a9a9; /* 下線を追加して統一感 */
  padding-bottom: 0.5rem;
}

.icon-pdf ul li:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

/* 旧FontAwesome PDFアイコンを除去 */
.fa.fa-file-pdf-o::before {
  content: none !important;
}


/************************************
 * スクロールリストの設定
************************************/


/* ▼リストのドットを消す＋体裁リセット */
.scrolling_list {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.scrolling_list li {
  list-style: none !important;
  margin: 0;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
}

/* ▼もっと見るボタン */
.scrolling_list_wrapper .show-more-wrap {
  text-align: center;
  margin-top: 24px;
}

.scrolling_list_wrapper .show-more-btn {
  width: 200px;              /* 幅を指定 */
  height: 50px;              /* 高さを指定 */
  line-height: 50px;         /* テキストを中央に */
  font-size: 16px;
  border: 1px solid #666;
  background: #fff;
  border-radius: 25px;       /* 少し丸みを追加（お好み） */
  cursor: pointer;
  transition: all 0.3s ease;
  color: #000;
  text-align: center;
  display: inline-block;     /* 幅・高さが効くように */
}

.scrolling_list_wrapper .show-more-btn:hover {
  color: #fff;
  background: #a6d1d8;
  border: 1px solid #a6d1d8;
}

/* ▼非表示リスト制御 */
.scrolling_list li.is-hidden {
  display: none;
}


/* サービスのCPTのヘッダー画像を全幅に */
body.archive.post-type-archive.post-type-archive-service #page_header,
body.wp-singular.single-service[class*="postid-"] #page_header {
	width: 100% !important;
}


   .page-id-1975 #page_header {
        width: auto !important;
        height: 600px;
}
 
 
    @media screen and (max-width: 1251px) {
    .page-id-1975 #page_header {
            height: 500px;
        }
    }

    @media screen and (max-width: 950px) {
    .page-id-1975 #page_header {
            height: 400px;
        }
    }
   @media screen and (max-width: 550px) {
    .page-id-1975 #page_header {
            height: 300px;
        }
    }