@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:	cocoon-master
Version:	1.1.3
*/

/**************************************
 ** 子テーマ用のスタイルを書く
 **************************************/
/*必要ならばここにコードを書く*/

/**************************************
 ** レスポンシブデザイン用のメディアクエリ
 **************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){

}
/*834px以下*/
@media screen and (max-width: 834px){

}
/*480px以下*/
@media screen and (max-width: 480px){

}

/* ============================================
   訪問介護事業所さくら - カスタムCSS
   ============================================ */
:root {
  --sakura-main: #D45F84;
  --sakura-dark: #C0395A;
  --sakura-light: #F9E4EC;
  --sakura-text: #333333;
}
#header { border-bottom: 3px solid var(--sakura-main); }
.site-name-text { color: var(--sakura-dark) !important; }
#navi .menu-item a { font-size: 0.85em; font-weight: bold; }
.top-section-title { text-align: center; font-size: 1.5em; font-weight: bold; color: var(--sakura-dark); border-bottom: 2px solid var(--sakura-main); padding-bottom: 0.4em; margin: 2em auto 1.2em; max-width: 600px; }
.service-cards { display: flex; gap: 1.5em; flex-wrap: wrap; justify-content: center; margin-bottom: 2em; }
.service-card { flex: 1 1 260px; max-width: 320px; text-align: center; border: 1px solid #eee; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.service-card img { width: 100%; height: 200px; object-fit: cover; }
.service-card .card-body { padding: 1em; }
.service-card h3 { color: var(--sakura-dark); font-size: 1.1em; margin-bottom: 0.5em; }
.service-card .btn-detail { display: inline-block; margin-top: 0.8em; padding: 0.5em 1.5em; background: var(--sakura-main); color: #fff !important; border-radius: 4px; font-size: 0.9em; text-decoration: none; transition: background 0.2s; }
.service-card .btn-detail:hover { background: var(--sakura-dark); }
.btn-sakura { display: inline-block; padding: 0.6em 2em; background: var(--sakura-main); color: #fff !important; border-radius: 4px; text-decoration: none; font-weight: bold; transition: background 0.2s; }
.btn-sakura:hover { background: var(--sakura-dark); }
.greeting-section { display: flex; gap: 2em; align-items: flex-start; margin: 2em 0; flex-wrap: wrap; }
.greeting-section .greeting-img { flex: 0 0 320px; max-width: 320px; }
.greeting-section .greeting-img img { width: 100%; border-radius: 6px; }
.greeting-section .greeting-text { flex: 1 1 300px; line-height: 1.9; }
.news-list { list-style: none; padding: 0; margin: 0 0 1em; }
.news-list li { border-bottom: 1px solid #eee; padding: 0.6em 0; display: flex; gap: 1em; }
.news-list .news-date { color: var(--sakura-main); font-size: 0.9em; white-space: nowrap; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form textarea { width: 100%; border: 1px solid #e0a0b8; border-radius: 4px; padding: 0.5em; font-size: 1em; box-sizing: border-box; }
.wpcf7-form input[type="submit"] { background: var(--sakura-main); color: #fff; border: none; padding: 0.7em 3em; border-radius: 4px; font-size: 1em; cursor: pointer; }
.wpcf7-form input[type="submit"]:hover { background: var(--sakura-dark); }
.required { color: var(--sakura-dark); font-size: 0.8em; margin-left: 0.3em; }
.faq-item { margin-bottom: 1.2em; border: 1px solid #f0c8d8; border-radius: 6px; overflow: hidden; }
.faq-item .faq-q { background: var(--sakura-light); padding: 0.8em 1em; font-weight: bold; color: var(--sakura-dark); }
.faq-item .faq-q::before { content: "Q. "; }
.faq-item .faq-a { padding: 0.8em 1em; line-height: 1.8; }
.faq-item .faq-a::before { content: "A. "; font-weight: bold; color: var(--sakura-main); }
#footer { background: var(--sakura-light) !important; border-top: 3px solid var(--sakura-main); }
#footer a { color: var(--sakura-dark); }
.company-table, .recruit-table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.company-table th, .company-table td, .recruit-table th, .recruit-table td { border: 1px solid #ddd; padding: 0.7em 1em; vertical-align: top; line-height: 1.7; }
.company-table th, .recruit-table th { background: var(--sakura-light); color: var(--sakura-dark); width: 30%; font-weight: bold; }
.flow-steps { counter-reset: step; list-style: none; padding: 0; }
.flow-steps li { counter-increment: step; display: flex; gap: 1em; margin-bottom: 1.2em; align-items: flex-start; }
.flow-steps li::before { content: "STEP " counter(step); background: var(--sakura-main); color: #fff; padding: 0.3em 0.7em; border-radius: 4px; font-size: 0.85em; font-weight: bold; white-space: nowrap; }
@media (max-width: 768px) {
  .service-cards { flex-direction: column; align-items: center; }
  .greeting-section { flex-direction: column; }
  .greeting-section .greeting-img { flex: none; max-width: 100%; }
}