@charset "UTF-8";

/* =============================================
   ドクターエコ | Cocoon Child 統合スタイル v1
   目的: 子テーマ(style.css)とカスタムCSSを一本化
   作成日: 2025-10-25
   注意: 追加CSS(カスタマイザー)は空にして重複を防止
   ============================================= */

/* ---- 基本 ---- */
#header .site-name-text { color: #000; }

/* カテゴリー/タグ見出し */
.archive-title { color: #000; font-size: 26px !important; margin-left: -10px; text-align: center; }
.archive-title::before { display: none; }

/* アイコン（Font Awesome）*/
.archive-title .fa-folder-open::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f4ce"; }
.archive-title .fa-tags::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f022"; }

/* ロゴサイズ */
.header-container-in.hlt-top-menu .logo-header img {
  max-height: 100%;
  height: auto;
  max-width: 210px;
  vertical-align: top;
  margin: 0;
}

/* ---- モバイルスライドインメニュー ---- */
span.fas.fa-times::before { font-family: "Font Awesome 5 Free"; content: "\f060"; color:#1f5081; }
ul.menu-drawer::before {
  font-size:1.2em; display:block; padding:10px; font-weight:bold; text-align:center;
  margin:1em 0; border-bottom:3px solid #1f5081; content: "メニュー";
}
.menu-drawer li { padding:0; font-weight: bold; }
.menu-drawer a { font-size:1em; color:#000; margin:.1em 0; }
.menu-drawer a:hover { background-color:#f2f2f2; }
.menu-drawer .sub-menu { padding:.5em; }
.menu-drawer .sub-menu li { font-size:.8em; margin-top:1em; }
.menu-drawer .sub-menu li:last-child::after { content:"　"; }
.menu-drawer .sub-menu li a::before { font-family: "Font Awesome 5 Free"; content:"\f105"; color:#1f5081; margin:0 .2em 0 2em; }

/* ---- コンテンツ幅/カード ---- */
.wrap { width:100%; justify-content:center; }
.entry-card-wrap { background-color:#f2f7ff; padding:0; }
.ect-vertical-card .entry-card-wrap { margin-bottom:20px; }
.a-wrap:hover { transform: scale(1.02); }
.post-date, .post-update { padding:0; display:inline; font-size:.9em; }

/* トップブログカード */
.entry-card-title, .related-entry-card-title {
  font-size:16px; margin:10px 5px 20px; line-height:1.6; font-weight:bold;
}
.entry-card-snippet, .related-entry-card-snippet { font-size:14px; margin-left:5px; }

/* サイドバー */
.cat-item.cat-item-24 a { display:none; }
.sidebar h3 { text-align:center; color:#fff !important; background-color:#1f5081 !important; }
.sidebar li { text-indent:6rem; }

/* サイドバー内アイコン/ボックス */
.box-menu-icon { display:none; }
.box-menu { display:flex; flex-direction:column; justify-content:center; color:#1f5081; }

/* LPボタン/CTA */
.btn-sp { background-color:#08C656; }
.button-simple {
  position:relative; font-weight:bold; padding:5px; margin:0; border-radius:20px; font-size:18px;
  background-color:#08C656; color:#fff; display:inline-block; text-shadow:1px 1px 0 rgba(0,0,0,.3);
  box-shadow:0 3px 0 rgba(0,0,0,.3);
}
.button-simple::before {
  font-family:"Font Awesome 5 Free"; font-weight:900; content:"\f144"; color:#eeee22; margin-right:3px;
}
a:hover .button-simple { background-color:#fff; color:#fff; box-shadow:0 0 0 rgba(0,0,0,.3); animation-play-state:paused; top:0; }

/* 鼓動アニメ */
.dokidoki { animation:dokidoki 1.5s infinite; }
@keyframes dokidoki { 0%{ transform:scale(1.05) } 5%{ transform:scale(1) } 95%{ transform:scale(1) } 100%{ transform:scale(1.05) } }

/* （元コードに全角波括弧があったため修正） */
.entry-card-title .card-title .e-card-title { letter-spacing: 1.5em; }

/* ---- スマホ固定フッターメニュー ---- */
ul.footer_menu {
  float:left; padding:12px 0; width:100%; overflow:hidden; display:table; table-layout:fixed; text-align:center; color:#fff !important;
}
ul.footer_menu li { margin:0; padding:0; display:table-cell; vertical-align:middle; list-style:none; font-size:15px; line-height:20px; }
ul.footer_menu li a { border:none; display:block; color:#fff !important; text-align:center; text-decoration:none; }
.footer_menu { position:fixed; bottom:0; left:0; background:#1c5383 !important; z-index:9999999999; opacity:.9; }

/* フッターメニュー2（右側） */
ul.footer_menu2 {
  float:right; padding:12px 0; width:100%; overflow:hidden; display:table; table-layout:fixed; text-align:right; color:#fff;
}
ul.footer_menu2 li { margin:0; padding:0; display:table-cell; vertical-align:middle; list-style:none; font-size:15px; line-height:20px; }
ul.footer_menu2 li a { border:none; display:block; color:#fff !important; text-align:center; text-decoration:none; }
ul.footer_menu2 li a i { font-size:50px; }
.footer_menu2 { position:fixed; bottom:0; right:0; background:#00B900 !important; z-index:9999999999; opacity:.9; }
.footer_menu2:hover { background:#ED1A3D !important; }

/* ---- FAQブロック ---- */
#faq { margin:2em 0; padding:1em; border-top:3px solid #027DB9; border-bottom:3px solid #027DB9; background-color:#f9f9f9; }
#faq dt { font-weight:bold; margin-top:1em; padding:.6em; background-color:#027DB9; color:#fff; border-radius:6px 6px 0 0; }
#faq dd { margin:0 0 1.2em; padding:.8em; line-height:1.8; background-color:#fff9d6; border:1px solid #eee4a6; border-radius:0 0 6px 6px; }

/* ---- Hero 画像（CLS対策） ---- */
.dreco-hero { max-width:1050px; margin:0 auto; }
.dreco-hero picture, .dreco-hero img { display:block; width:100%; height:auto; }
@media (min-width:768px){ .dreco-hero { aspect-ratio:1050 / 647; } }
@media (max-width:767px){ .dreco-hero { aspect-ratio:850 / 1020; max-width:none; } }

/* ---- 引用デザイン ---- */
blockquote { border:3px solid #c0dcec; border-radius:10px; }
blockquote::before { color:#c0dcec; font-size:50px; font-weight:900; }
blockquote::after { background:#c0dcec; color:#c0dcec; font-size:50px; font-weight:900; }

/* PC/SP 画像切替 */
.pc { display:block !important; }
.sp { display:none !important; }
@media only screen and (max-width:750px){ .pc{ display:none !important; } .sp{ display:block !important; } }

/* CTAボックス */
.cta-box { background-color:#0277B4; border-radius:8px; }

/* ロゴサイズ 480px以下 */
@media screen and (max-width:480px){
  .logo-menu-button img { width:170px; max-height:none; margin:2px auto 0; }
  /* タイムライン */
  .timeline-item-title { font-weight:bold !important; font-size:18px !important; background-color:#F5C116 !important; margin-top:-28px !important; padding-left:16px !important; margin-left:-8px !important; margin-right:-8px !important; }
}

/* ヘッダーモバイルボタン高さ */
.search-menu-button.menu-button, .navi-menu-button.menu-button { height:65px; padding-top:8px; }

/* 1023px以下：サイトロゴ表示制御 */
@media screen and (max-width:1023px){
  img.site-logo-image { visibility:hidden; }
  .logo-menu-button.menu-button{
    background-image:url(https://dr-eco.jp/wp-content/uploads/2023/11/logo.jpg);
    background-size:auto 35px; background-position:center; background-repeat:no-repeat;
  }
}

/* タグデザイン */
.btntg::before { content:"#" !important; }
.tag-link { border-radius:20px; padding:1px 10px; color:#047cbc; }
.btntg { font-size:.7em; color:#047cbc; border:2px solid #047cbc; border-radius:5px; padding:.1em 1em; display:inline-block; text-decoration:none; margin:1px 0; }
.btntg:hover { transform:scale(1.1); background-color:#047cbc; border-color:#047cbc; color:#fff; }

/* QAリスト（開閉） */
.qa-list dl { position:relative; margin:0; padding:28px 80px 28px 30px; cursor:pointer; border-bottom:1px solid #000; }
.qa-list dl:first-child { border-top:1px solid #000; }
.qa-list dl::before { position:absolute; top:35px; right:35px; display:block; width:7px; height:7px; content:''; transform:rotate(135deg); border-top:2px solid #000; border-right:2px solid #000; }
.qa-list .open::before { transform:rotate(-45deg); }
.qa-list dl dt { position:relative; margin:0; padding:0 0 0 50px; font-weight:bold; font-size:20px; }
.qa-list dl dt::before { font-size:22px; line-height:1; position:absolute; top:3px; left:0; display:block; content:'Q.'; color:#3285bf; }
.qa-list dl dd::before { font-size:22px; line-height:1; position:absolute; top:3px; left:2px; display:block; content:'A.'; font-weight:bold; color:#3285bf; }
.qa-list dl dd { position:relative; display:none; height:auto; margin:20px 0 0; padding:0 0 0 50px; }
.qa-list dl dd p { margin:30px 0 0; }
.qa-list dl dd p:first-child { margin-top:0; }
@media screen and (max-width:767px){
  .qa-list dl { padding:15px 40px 15px 10px; }
  .qa-list dl::before { top:20px; right:20px; width:7px; height:7px; }
  .qa-list dl dt { padding:0 0 0 30px; font-size:14px; }
  .qa-list dl dt::before { font-size:14px; top:3px; left:5px; content:'Q.'; }
  .qa-list dl dd::before { font-size:14px; top:5px; left:5px; content:'A.'; }
  .qa-list dl dd { margin:10px 0 0; padding:0 0 0 30px; font-size:14px; }
  .qa-list dl dd p { margin:30px 0 0; }
  .qa-list dl dd p:first-child { margin-top:0; }
}

/* reCAPTCHA 表示（非推奨: 非表示はGoogle規約に抵触の可能性） */
/* .grecaptcha-badge { visibility:hidden; } */

/* 新着カード 横スクロール */
.new-entry-cards { display:flex; flex-direction:row; overflow-x:auto; }
.widget-entry-cards.card-large-image .a-wrap { flex-shrink:0; max-width:360px; max-height:360px; }

/* CF7 リストを縦並び */
.wpcf7-list-item { margin-top:7px; display:block; font-size:18px; }

/* CTA（ひろみ） */
.cta-hiromi { background-color:#f1b458; color:#000; padding:20px 0 20px 20px; line-height:1.8; }

/* スマホのみ改行 */
@media screen and (min-width:768px){ .br-sp { display:none; } }

/* アーカイブアイコン（重複/全角引用符の不具合修正版） */
/* .archive-title .fa-folder-open::before { content: "\f02a" !important; }  ←使う場合は上の\f4ce と入替 */

/* フロー（4ステップ）吹き出し */
.bubble { position:relative; width:120px; height:80px; background:#32557f; border-radius:10px; }
.bubble4 { position:relative; width:120px; height:80px; background:#32557f; border-radius:10px; }
.bubble4::after {
  content:''; position:absolute; bottom:0; left:50%; width:0; height:0;
  border:13px solid transparent; border-top-color:#32557f; border-bottom:0; margin-left:-13px; margin-bottom:-13px;
}
.bubble4 p { padding-left:15px !important; padding-right:15px !important; }

/* 汎用ホバー影 */
.btnh .scale:hover { box-shadow:0 0 15px 2px rgba(0,0,0,.2); transform:scale(0.9); }

/* ---- レスポンシブ（共通調整） ---- */
@media screen and (max-width:1023px){
  html:has(.mblt-header-mobile-buttons,.mblt-header-and-footer-mobile-buttons){ margin-top:0 !important; }
  .header div.header-in { min-height:auto; color:#000; }
  .footer-bottom { margin-top:-100px !important; }
}

@media screen and (max-width:834px){
  html:has(.mblt-header-mobile-buttons,.mblt-header-and-footer-mobile-buttons){ margin-top:0 !important; }
  .header div.header-in { min-height:auto; color:#000; margin-top:-100px; }
  .sidebar { text-align:center; }
  .sidebar li { text-indent:2rem; }
  .box-menu-icon { display:none; }
  .box-menu { display:flex; flex-direction:column; justify-content:center; color:#1f5081; }
  .tagline { font-size:14px; line-height:17.5px; color:#000 !important; margin:.2em 0; }
}

@media screen and (max-width:480px){
  #header .site-name-text { font-size:0; margin-top:-70px; color:#000; }
  .sidebar { text-align:center; }
  .sidebar li { text-indent:.5rem; }
  .entry-card-title, .related-entry-card-title { font-size:15px; margin:1px 5px 15px; line-height:1.4; font-weight:bold; }
  .entry-card-snippet, .related-entry-card-snippet { font-size:15px; margin:0 0 10px 5px; }
  .entry-card-meta, .related-entry-card-meta { bottom:10px; position:absolute; right:0; text-align:right; line-height:0; }
  .box-menu { display:flex; flex-direction:column; justify-content:center; color:#146EB4; }
}
