@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;


/*!
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){
  /*必要ならばここにコードを書く*/
}

/* =====================================================================
   ä»è­·ã®éããã¹ â Cocoon ã«ã¹ã¿ã CSSï¼ããããã¼ã¸å¨ä½ï¼
   ---------------------------------------------------------------------
   æ³å®ç°å¢: WordPress + Cocoon ææ°çï¼æ¥æ¬èªãã¼ãï¼
   éç½®å ´æ: å¤è¦³ â ã«ã¹ã¿ãã¤ãº â è¿½å CSSãã¾ãã¯å­ãã¼ã style.css
   å¯¾è±¡ç¯å²: ããããã¼ã¸ ãããã¼ãããã¿ã¼
   ä½ææ¹é:
     - BIZ UDPGothic ã§ã¦ããã¼ãµã«ãã¶ã¤ã³
     - æ¬æ 17pxï¼40ã60ä»£åãï¼
     - æ°´è² #7FBDD1 / ç· #A8D5BA / ã¯ãªã¼ã  #F5E6C8 ã®ãããããã¬ãã
     - ã¹ããæé©åï¼@media max-width: 768pxï¼
   ===================================================================== */

/* ---------- 1. Google Fonts ---------- */
700&display=swap');

/* ---------- 2. CSSå¤æ°ï¼ãã¼ãã«ã©ã¼ï¼ ---------- */
:root {
  --kaigo-bg:        #F4FAFB;       /* èæ¯ï¼ãã¼ã¹ï¼ */
  --kaigo-paper:     #FFFFFF;       /* ã«ã¼ãèæ¯ */
  --kaigo-ink:       #0F2A36;       /* ã¡ã¤ã³æå­ */
  --kaigo-ink-2:     #3D5867;       /* ãµãæå­ */
  --kaigo-mute:      #6E8290;       /* è£å©æå­ */
  --kaigo-line:      #E6EEF1;       /* ç½«ç· */
  --kaigo-blue:      #7FBDD1;       /* ã¡ã¤ã³æ°´è² */
  --kaigo-blue-d:    #1B6B82;       /* æ¿ãæ°´è²ï¼ãªã³ã¯ç­ï¼ */
  --kaigo-blue-l:    #EAF5F8;       /* èãæ°´è²ï¼èæ¯ï¼ */
  --kaigo-green:     #A8D5BA;       /* ç·ã¢ã¯ã»ã³ã */
  --kaigo-cream:     #F5E6C8;       /* ã¯ãªã¼ã å·®ãè² */
  --kaigo-radius:    14px;
  --kaigo-radius-sm: 10px;
  --kaigo-shadow:    0 1px 2px rgba(20,40,60,0.04);
  --kaigo-shadow-h:  0 8px 20px rgba(20,40,60,0.08);
}

/* ---------- 3. ãã¼ã¹ï¼ãã©ã³ãã»è²ã»ãµã¤ãºï¼ ---------- */
body,
.entry-content,
.article-body {
  font-family: 'BIZ UDPGothic', 'Hiragino Sans', 'Yu Gothic', system-ui, sans-serif !important;
  font-size: 17px !important;        /* 40ã60ä»£åãï¼æ¬æ17px */
  line-height: 1.85;
  color: var(--kaigo-ink);
  background: var(--kaigo-bg);
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 768px) {
  body { font-size: 16px; line-height: 1.8; }
}

a { color: var(--kaigo-blue-d); text-underline-offset: 3px; }
a:hover { color: #144E60; }

/* ---------- 4. ãããã¼ .header ---------- */
.header,
#header {
  background: var(--kaigo-paper) !important;
  border-bottom: 1px solid var(--kaigo-line);
  box-shadow: none !important;
}
.header-container,
.header-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 24px;
}
.site-name-text,
.logo-text {
  font-weight: 800;
  font-size: 20px;
  color: var(--kaigo-ink);
  letter-spacing: 0.5px;
}
.tagline,
.site-description {
  font-size: 12px;
  color: var(--kaigo-mute);
}

/* ã°ã­ã¼ãã«ãã .navi, .navi-in */
.navi,
#navi {
  background: var(--kaigo-paper) !important;
  border-top: none !important;
  border-bottom: 1px solid var(--kaigo-line);
}
.navi .menu-header li a,
.navi-in > .menu-header li a {
  color: var(--kaigo-ink-2) !important;
  font-weight: 600;
  font-size: 15px;
  padding: 14px 18px;
  transition: background .2s ease;
}
.navi .menu-header li a:hover,
.navi-in > .menu-header li a:hover {
  background: var(--kaigo-blue-l) !important;
  color: var(--kaigo-blue-d) !important;
}

/* ãã³ãã¼ã¬ã¼ï¼ã¢ãã¤ã«ï¼ .menu-button, .menu-drawer */
.menu-button {
  background: var(--kaigo-paper);
  border: 1px solid var(--kaigo-line);
  border-radius: var(--kaigo-radius-sm);
  color: var(--kaigo-blue-d);
}
.menu-drawer {
  background: var(--kaigo-paper);
}
.menu-drawer li a {
  font-size: 16px;
  font-weight: 600;
  color: var(--kaigo-ink);
  padding: 16px 20px;
  border-bottom: 1px solid #F2F7F8;
}

/* ---------- 5. æ¤ç´¢ãã©ã¼ã  .search-box ---------- */
.search-box,
#search-2 {
  background: var(--kaigo-blue-l);
  border: 2px solid var(--kaigo-blue);
  border-radius: 999px;
  padding: 6px 14px;
}
.search-box input[type="search"],
.search-edit {
  background: transparent !important;
  border: 0 !important;
  font-size: 15px;
  font-family: inherit;
}
.search-box .search-submit {
  background: var(--kaigo-blue-d) !important;
  color: #fff !important;
  border-radius: 999px;
  font-weight: 700;
  padding: 8px 18px;
}

/* ---------- 6. ãã¼ã­ã¼ï¼ã¢ãã¼ã«ã¨ãªã¢ï¼ .appeal ---------- */
.appeal,
.hero {
  background: linear-gradient(120deg, var(--kaigo-blue-l) 0%, #EEF6EF 100%) !important;
  border-radius: 24px;
  padding: 48px 40px !important;
  margin: 32px auto;
  max-width: 1180px;
  border: 1px solid #DCEAEE;
}
.appeal-title,
.appeal-message h1 {
  font-size: 32px !important;
  line-height: 1.4;
  font-weight: 800;
  color: var(--kaigo-ink);
}
.appeal-description {
  font-size: 17px !important;
  line-height: 1.85;
  color: var(--kaigo-ink-2);
}
.appeal-button,
.appeal a.btn {
  background: var(--kaigo-blue-d) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 700;
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(27,107,130,0.25);
  border: 0 !important;
}
@media (max-width: 768px) {
  .appeal { padding: 32px 20px !important; border-radius: 16px; margin: 16px; }
  .appeal-title { font-size: 24px !important; }
  .appeal-description { font-size: 16px !important; }
}

/* ---------- 7. è¨äºã«ã¼ã .post-card / .a-wrap / .entry-card ---------- */
.entry-card,
.post-card,
.a-wrap {
  background: var(--kaigo-paper) !important;
  border: 1px solid var(--kaigo-line) !important;
  border-radius: var(--kaigo-radius) !important;
  overflow: hidden;
  box-shadow: var(--kaigo-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
  padding: 0 !important;
}
.entry-card:hover,
.post-card:hover,
.a-wrap:hover {
  transform: translateY(-3px);
  box-shadow: var(--kaigo-shadow-h);
}
/* ãµã ã */
.entry-card-thumb,
.card-thumb,
.post-card-thumb {
  border-radius: 0 !important;
  margin: 0 !important;
}
.entry-card-thumb img,
.card-thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}
/* ã¿ã¤ãã« */
.entry-card-title,
.card-title,
.e-card-title {
  font-size: 17px !important;
  line-height: 1.55;
  font-weight: 700;
  color: var(--kaigo-ink);
  text-wrap: pretty;
  margin: 0 !important;
  padding: 14px 18px 4px !important;
}
/* æ¬æï¼æç²ï¼ */
.entry-card-snippet,
.card-snippet {
  font-size: 14px;
  color: var(--kaigo-ink-2);
  line-height: 1.75;
  padding: 0 18px 14px;
}
/* ã¡ã¿æå ± */
.entry-card-meta,
.card-meta,
.cat-label,
.entry-card-info {
  padding: 10px 18px 16px !important;
  font-size: 13px;
  color: var(--kaigo-mute);
}
/* ã«ãã´ãªã©ãã«ï¼chipåï¼ */
.cat-label,
.entry-card-category-link,
.cat-link {
  display: inline-block !important;
  background: var(--kaigo-blue-l) !important;
  color: var(--kaigo-blue-d) !important;
  border: 1px solid #C9E4EC !important;
  border-radius: 999px !important;
  padding: 3px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  position: static !important;
}

/* ä¸è¦§ã°ãªãã .list, .front-page-type-index */
.list,
.front-page-type-index .post-list {
  display: grid !important;
  gap: 22px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
@media (max-width: 768px) {
  .list { grid-template-columns: 1fr; gap: 16px; }
}

/* ããã£ã¨èª­ããããã¼ã¸ãã¼ã·ã§ã³ã */
.pagination a,
.pagination .current,
.read-more,
.entry-card-content .post-snippet ~ a {
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-weight: 700;
  font-size: 15px;
  background: var(--kaigo-paper);
  border: 2px solid var(--kaigo-blue-d) !important;
  color: var(--kaigo-blue-d) !important;
}
.pagination .current {
  background: var(--kaigo-blue-d) !important;
  color: #fff !important;
}

/* ---------- 8. ã«ãã´ãªä¸è¦§ï¼ã«ãã´ãªã¼ã«ã¼ãï¼ .category-entry-card ---------- */
.category-entry-cards,
.kanren-entry-cards {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, 1fr);
}
.category-entry-card {
  background: var(--kaigo-paper);
  border: 2px solid var(--kaigo-line);
  border-radius: var(--kaigo-radius);
  padding: 20px 18px;
  transition: border-color .2s, background .2s;
}
.category-entry-card:hover {
  border-color: var(--kaigo-blue);
  background: var(--kaigo-blue-l);
}
.category-entry-card .cat-name {
  font-size: 17px;
  font-weight: 800;
  color: var(--kaigo-ink);
}

/* ---------- 9. ãµã¤ããã¼ .sidebar ---------- */
.sidebar {
  font-size: 15px;
}
.sidebar h3,
.sidebar .widget-sidebar-title,
.widget_block h3 {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--kaigo-ink) !important;
  padding: 0 0 12px !important;
  margin: 0 0 16px !important;
  border: none !important;
  border-bottom: 2px solid var(--kaigo-blue-l) !important;
  position: relative;
  padding-left: 14px !important;
}
.sidebar h3::before,
.widget-sidebar-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 4px;
  height: 18px;
  background: var(--kaigo-blue);
  border-radius: 2px;
}
.widget-sidebar,
.widget {
  background: var(--kaigo-paper);
  border: 1px solid var(--kaigo-line);
  border-radius: var(--kaigo-radius);
  padding: 20px 18px !important;
  margin-bottom: 24px;
}

/* äººæ°è¨äºã©ã³ã­ã³ã° .widget_popular_posts, .popular-entry-cards */
.popular-entry-cards .popular-entry-card,
.widget_popular_posts li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid #F2F7F8;
}
.popular-entry-card-thumb,
.widget_popular_posts img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 8px !important;
  object-fit: cover;
  flex-shrink: 0;
}
.popular-entry-card-title,
.widget_popular_posts a {
  font-size: 14px !important;
  line-height: 1.55;
  color: var(--kaigo-ink) !important;
  font-weight: 500;
  text-decoration: none;
}
/* ã©ã³ã­ã³ã°çªå·ããã¸ */
.popular-entry-card-no {
  background: oklch(0.65 0.12 60) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 800;
  width: 28px; height: 28px;
  display: grid; place-items: center;
}
.popular-entry-card-no.no4,
.popular-entry-card-no.no5 {
  background: var(--kaigo-line) !important;
  color: var(--kaigo-ink-2) !important;
}

/* ---------- 10. ã¡ã¤ã³ã«ã©ã  + ãµã¤ããã¼ã®ã¬ã¤ã¢ã¦ã ---------- */
#main,
.main {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
}
@media (max-width: 1024px) {
  .wrap { grid-template-columns: 1fr; gap: 32px; padding: 0 16px; }
  .sidebar { margin-top: 24px; }
}

/* ---------- 11. ãã³ãã .breadcrumb ---------- */
.breadcrumb {
  font-size: 13px;
  color: var(--kaigo-mute);
  background: transparent;
  padding: 12px 0;
  border: 0;
}
.breadcrumb a { color: var(--kaigo-blue-d); }

/* ---------- 12. ããã¿ã¼ .footer ---------- */
.footer,
#footer {
  background: var(--kaigo-ink) !important;
  color: #C9DDE5 !important;
  margin-top: 48px;
}
.footer-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 24px 24px;
}
.footer h3 {
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 14px;
  border: 0 !important;
}
.footer a {
  color: #9AB5C2 !important;
  font-size: 14px;
  text-decoration: none;
}
.footer a:hover { color: #fff !important; }
.copyright,
.footer-bottom {
  border-top: 1px solid #1F4151;
  padding-top: 20px;
  font-size: 13px;
  color: #7A98A6 !important;
}

/* ---------- 13. ã¢ã¯ã»ã·ããªãã£èª¿æ´ ---------- */
:focus-visible {
  outline: 3px solid var(--kaigo-blue);
  outline-offset: 2px;
  border-radius: 4px;
}
button, .btn {
  min-height: 44px;       /* ã¿ããã¿ã¼ã²ããæå°ãµã¤ãº */
}

/* ---------- 15. ããããªæ¹åããã¿ã°ï¼è¿½å æ©è½ï¼ ---------- */
.audience-tags {
  display: flex; flex-wrap: wrap; gap: 5px;
  padding-top: 8px; margin-top: 4px;
  border-top: 1px dashed #EAF1F4;
}
.audience-tags .label {
  font-size: 11px; color: #8AA0AC; font-weight: 700; align-self: center;
}
.audience-tag {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 4px;
  background: #F2F8F4; color: #2C5237;
  border: 1px dashed #B8D6C5;
  white-space: nowrap;
}
.audience-tag.tag-budget,
.audience-tag.tag-rental {
  background: #EAF5F8; color: #144E60; border-color: #A9D2DE;
}
.audience-tag.tag-heavy,
.audience-tag.tag-bedfast {
  background: #FBEEE2; color: #7A3A14; border-color: #E5C8A8;
}
.audience-tag.tag-mid,
.audience-tag.tag-insurance {
  background: #FAF1D8; color: #6E5417; border-color: #DCC58A;
}

/* ---------- 16. æå­ãµã¤ãºã³ã³ãã­ã¼ã«ï¼A- A A+ï¼ ---------- */
.font-size-control {
  display: inline-flex; align-items: center;
  border: 1px solid var(--kaigo-line); border-radius: 12px;
  background: #fff; padding: 3px;
}
.font-size-control button {
  background: transparent;
  min-width: 32px; height: 32px; border-radius: 8px;
  border: 0; background: transpacent; cursor: pointer;
  color: var(--kaigo-ink-2); font-weight: 700;
  font-family: inherit;
}
.font-size-control button[aria-pressed="true"] {
  background: var(--kaigo-blue-d); color: #fff;
}

/* ---------- 17. å­£ç¯ããã¸ ---------- */
.seasonal-badge {
  display: inline-block;
  font-size: 12px; font-weight: 700; letter-spacing: 1.5px;
  background: #fff; padding: 6px 14px; border-radius: 999px;
  border: 1px solid #C9E4EC; color: var(--kaigo-blue-d);
}
.seasonal-feature-link {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: 12px;
  background: #fff; border: 2px dashed #B8D6C5;
  font-size: 14px; font-weight: 700; color: #2C5237;
  text-decoration: none;
}

/* ---------- 18. ã¹ããæé©åï¼è£å¼·ï¼ ---------- */
@media (max-width: 768px) {
  .header-container,
  .header-in,
  .footer-in { padding-left: 16px; padding-right: 16px; }
  .entry-card-title,
  .card-title { font-size: 16px !important; padding: 12px 14px 4px !important; }
  .pagination a, .read-more { padding: 14px 22px !important; font-size: 15px; }
  /* ãµã¤ããã¼ã¯ä¸ã«æµã */
  .sidebar { width: 100% !important; max-width: 100% !important; }
}
