/**
Theme Name: karadakenkounavi
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: karadakenkounavi
Template: astra
*/

/* ---------------------- */
/* 共通スタイル（PC含む） */
/* ---------------------- */

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}
.grid-item {
  background: #fff;
  border: 1px solid #ddd;
  padding: 1rem;
  border-radius: 10px;
  transition: box-shadow 0.3s;
}
.grid-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.grid-item .thumb img {
  width: 100%;
  border-radius: 6px;
}
.grid-item .info {
  margin-top: 0.8rem;
}
.grid-item .title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.3rem;
  color: #333;
}
.grid-item .excerpt {
  font-size: 0.9rem;
  color: #666;
}

/* ---------------------- */
/* スマホ表示（600px以下） */
/* ---------------------- */
@media (max-width: 600px) {
  .grid-item > a {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
  }

  .grid-item > a .thumb {
    flex: 0 0 40%;
    max-width: 40%;
  }

  .grid-item > a .thumb img {
    width: 100%;
    height: auto;
    border-radius: 6px;
  }

  .grid-item > a .info {
    flex: 1;
    display: block;
    margin-top: 0;
  }

  .grid-item > a .title,
  .grid-item > a .excerpt {
    margin-top: 0;
    text-align: left;
  }
}

.lp-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 15px 20px;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  line-height: 1.8;
}

.lp-section h2 {
  font-size: 2.0rem;
  margin-bottom: 16px;
  font-weight: 700;
  position: relative;
  display: inline-block;
  padding-bottom: 6px;
}

.lp-section h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  background-color: #6cbf4b;
}

.sub-section-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #c28026;
  margin: 1.5em 0 1em;
  line-height: 1.5;
}

.lp-section p {
  font-size: 1rem;
  margin-bottom: 1.5em;
}

.lp-section ul {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}

.lp-section ul li {
  list-style-type: disc;
  margin-bottom: 0.6em;
}

.lp-section strong {
  font-weight: 600;
  color: #408a44;
  display: inline-block;
  margin-bottom: 0.4em;
}

.section-strong {
  font-size: 1.3rem;
  font-weight: 700;
  color: #408a44;
  margin: 1em 0 0.5em;
}

.image-center {
  text-align: center;
  margin: 30px 0;
}

.image-center img {
  max-width: 100%;
  height: auto;
	box-shadow: none !important;
  border: none !important;
}

.caption {
  text-align: center;
  font-size: 0.9rem;
  color: #444;
  margin-top: 8px;
}

.flex-box {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
  justify-content: center;
}

.flex-left {
  flex: 1 1 45%;
  text-align: center;
}

.flex-right {
  flex: 1 1 45%;
  font-size: 1rem;
}

.flex-right p {
  margin-bottom: 1.2em;
}

@media screen and (max-width: 768px) {
  .lp-section {
    padding: 10px 15px;
  }

  .lp-section h2 {
    font-size: 1.5rem;
  }

  .sub-section-title {
    font-size: 1.2rem;
  }

  .lp-section p,
  .lp-section li {
    font-size: 0.95rem;
  }

  .flex-box {
    flex-direction: column;
    gap: 20px;
  }

  .flex-left, .flex-right {
    flex: 1 1 100%;
  }

  .section-strong {
    font-size: 1.2rem;
  }

  .highlight-large {
    font-size: 1.3rem;
  }
}

/* central green message box */
　.highlight-box {
  text-align: center;
  margin: 1em auto;
  padding: 0;
  font-weight: bold;
  color: #0f9b4f;
}

.highlight-box p {
  font-size: 2rem;
  line-height: 1.4;
  margin: 0.3em 0;
	color: #0f9b4f;
}


/* helper color classes */
.accent-green {
  color: #408a44;
  font-weight: bold;
}

.accent-orange {
  color: #c28026;
  font-weight: bold;
}

.single h1.entry-title,
.single h1.ast-article-single-title {
  display: none
}

.entry-meta {
  display: none
}
@media screen and (max-width: 768px) {
  .highlight-box p {
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 0.4em 0;
  }
}




/* 投稿ページ（通常投稿 + カスタム投稿）本文幅を1080pxに制限 */
body.single-post main.site-main,
body.single-symptom main.site-main,
body.single-interview main.site-main,
body.single-doctor_column main.site-main,
body.single-health_meal main.site-main,
body.single-health_news main.site-main {
    max-width: 1080px !important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

h2.section-title {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
  margin-bottom: 20px;
}

h2.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background-color: #C8102E; /* テーマカラー */
  border-radius: 2px;
}




.feature-section .section-title {
  display: inline-block;
  border-bottom: 4px solid;
  padding-bottom: 4px;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.symptom-section .section-title {
  border-color: #C8102E; /* 赤：病気の症状 */
}

.interview-section .section-title {
  border-color: #1B75BB; /* 青：健康インタビュー */
}

.column-section .section-title {
  border-color: #007749; /* 緑：ドクターズコラム */
}

.meal-section .section-title {
  border-color: #F5A623; /* オレンジ：健康ごはん */
}

.news-section .section-title {
  border-color: #7D3F98; /* 紫：健康ニュース */
}

/* 投稿ページと固定ページのタイトルを非表示にする */
.single .entry-title,
.page .entry-title,
.ast-single-post .entry-title,
.ast-page .entry-title {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .mobile-fixed-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #C8102E;
    color: #fff;
    font-weight: bold;
    padding: 24px 0;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    font-size: 1.1rem;
    border-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
  }

  .mobile-fixed-cta .arrow-icon {
    font-size: 1.2rem;
    line-height: 1;
  }

  .mobile-fixed-cta:hover {
    opacity: 0.9;
  }
}
@media screen and (min-width: 769px) {
  .main-header-menu > li.menu-item > a {
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    font-size: 0.9rem;
    width: 200px;
    height: 100%;
    box-sizing: border-box;
    background-color: #C8102E;
  }

  /* 左右の区切り線（縦線） */
  .main-header-menu > li.menu-item > a::before,
  .main-header-menu > li.menu-item > a::after {
    content: "";
    display: block;
    width: 1px;
    height: 60%;
    background-color: #fff;
    opacity: 0.6;
    position: absolute;
    top: 20%;
  }

  .main-header-menu > li.menu-item > a::before {
    left: 0;
  }

  .main-header-menu > li.menu-item > a::after {
    right: 0;
  }
}

.ast-site-identity .custom-logo {
  content: url('https://karada-kenkounavi.com/wp-content/uploads/2025/06/cropped-rogo-1.png');
}

@media screen and (max-width: 600px) {
  .ast-site-identity .custom-logo {
    content: url('https://karada-kenkounavi.com/wp-content/uploads/2025/06/rogo_white-1.png');
  }
}
img.custom-logo {
    filter: none !important;
}

.post-navigation {
  display: none !important;
}