@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
        /* ===== ベーススタイル ===== */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
            color: #333;
            line-height: 1.6;
        }

        img {
            max-width: 100%;
            height: auto;
        }

        a {
            text-decoration: none;
            color: #333;
            transition: all 0.3s ease;
        }

        a:hover {
            color: #56b47a;
            opacity: 0.8;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }

        ul {
            list-style-position: inside;
            margin-bottom: 15px;
        }

        /* ===== ヘッダー ===== */
        .header {
            background-color: #fff;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            position: sticky;
            top: 0;
            z-index: 100;
            width: 100%;
        }

        .header-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 0;
        }

        .logo {
            font-size: 15px;
			line-height: 1.4;
            font-weight: bold;
            display: flex;
            align-items: center;
        }

        .logo img {
            height: 40px;
            margin-right: 10px;
        }

        .logo a {
            display: flex;
            align-items: center;
        }

        /* 新しいナビゲーションスタイル */
        .nav-menu {
            display: flex;
            list-style: none;
            margin: 0;
        }

        .nav-item {
            position: relative;
            margin: 0 5px;
        }

        .nav-link {
            display: block;
            padding: 10px 15px;
            border-radius: 4px;
            font-weight: 500;
            position: relative;
			font-size: 15px;
        }

        .nav-link:after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            background: #56b47a;
            bottom: 0;
            left: 50%;
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }

        .nav-link:hover:after {
            width: 80%;
        }

        .nav-link.active {
            color: #56b47a;
        }

        .nav-link.active:after {
            width: 80%;
        }

        .btn-contact {
            background-color: #ff6b6b;
            color: #fff;
            padding: 10px 20px;
            border-radius: 5px;
            font-weight: bold;
            transition: all 0.3s ease;
        }

        .btn-contact:hover {
            background-color: #ff5252;
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        /* モバイルナビゲーション */
        .menu-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            cursor: pointer;
            z-index: 1000;
        }

        @media (max-width: 768px) {
            .menu-toggle {
                display: block;
            }
            
            .nav-menu {
                position: fixed;
                top: 0;
                right: -100%;
                width: 80%;
                max-width: 300px;
                height: 100vh;
                background-color: #fff;
                flex-direction: column;
                padding-top: 70px;
                transition: right 0.3s ease;
                box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
            }
            
            .nav-menu.active {
                right: 0;
            }
            
            .nav-item {
                margin: 5px 0;
                width: 100%;
            }
            
            .nav-link {
                padding: 15px 20px;
                width: 100%;
                text-align: left;
                border-radius: 0;
            }
            
            .nav-link:after {
                left: 0;
                transform: translateX(0);
            }
            
            .nav-link:hover:after {
                width: 30%;
            }
            
            .btn-contact {
                margin: 15px 20px;
                text-align: center;
                display: block;
            }
        }

        /* ===== ヒーローセクション ===== */
        .hero {
            background-image: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url('/api/placeholder/1200/500');
            background-size: cover;
            background-position: center;
            padding: 100px 0;
            text-align: center;
        }

        .hero-title {
            font-size: 2.5rem;
            margin-bottom: 20px;
            color: #56b47a;
        }

        .hero-subtitle {
            font-size: 1.2rem;
            margin-bottom: 40px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        .btn-primary {
            background-color: #56b47a;
            color: #fff;
            padding: 15px 30px;
            border-radius: 5px;
            font-weight: bold;
            display: inline-block;
            margin-top: 20px;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            background-color: #45a369;
            color: #fff;
            transform: translateY(-3px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        /* ===== 特徴セクション ===== */
        .features {
            padding: 80px 0;
            background-color: #f9f9f9;
        }

        .section-title {
            text-align: center;
            font-size: 2rem;
            margin-bottom: 50px;
            color: #333;
        }

        .section-subtitle {
            text-align: center;
            font-size: 1.3rem;
            margin-bottom: 40px;
            color: #56b47a;
        }

        .features-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
        }

        .feature-card {
            background-color: #fff;
            border-radius: 10px;
            overflow: hidden;
            border: 2px solid #C6C6C6;
            width: calc(33.333% - 20px);
            min-width: 300px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .feature-content {
            padding: 25px;
        }

        .feature-title {
            font-size: 1.3rem;
            margin-bottom: 15px;
            color: #56b47a;
        }

        .feature-text {
            color: #666;
        }

        /* ===== メリットセクション ===== */
        .benefits {
            padding: 80px 0;
        }

        .benefits-list {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin-bottom: 40px;
        }

        .benefit-item {
            background-color: #f5f5f5;
            padding: 30px;
            border-radius: 10px;
            width: calc(33.333% - 20px);
            min-width: 300px;
            text-align: center;
			border: 2px solid #C6C6C6;
        }

        .benefit-icon {
            font-size: 3rem;
            margin-bottom: 20px;
            color: #56b47a;
        }

        .benefit-title {
            font-size: 1.2rem;
            margin-bottom: 15px;
            color: #333;
        }

        .benefit-text {
            color: #666;
        }

        /* ===== モデルケースセクション ===== */
        .model-cases {
            padding: 80px 0;
            background-color: #f9f9f9;
        }

        .cases-container {
            display: flex;
            flex-wrap: wrap;
            gap: 40px;
            justify-content: center;
        }



        .case-header {
            background-color: #56b47a;
            color: #fff;
            padding: 15px 25px;
        }

        .case-title {
            font-size: 1.2rem;
        }

        .case-subtitle {
            font-size: 0.9rem;
            opacity: 0.9;
        }

        .case-content {
            padding: 25px;
        }

        .case-section {
            margin-bottom: 20px;
        }

        .case-section-title {
            font-weight: bold;
            margin-bottom: 10px;
            color: #56b47a;
        }

        .case-text {
            color: #666;
            margin-bottom: 15px;
        }

        /* ===== FAQセクション ===== */
        .faq {
            padding: 80px 0;
        }

        .faq-item {
            margin-bottom: 30px;
            border-bottom: 1px solid #eee;
            padding-bottom: 30px;
        }

        .faq-question {
            font-size: 1.2rem;
            margin-bottom: 15px;
            color: #56b47a;
            font-weight: bold;
        }

        .faq-answer {
            color: #666;
        }
.accordion-004 {
            max-width: 500px;
            margin-bottom: 7px;
            border: 2px solid #d0d0d0;
            border-radius: 5px;
            overflow: hidden;
        }
        
        .accordion-004 summary {
            display: flex;
            justify-content: space-between;
            align-items: center; /* 真ん中に戻す */
            position: relative;
            padding: 1em 2em;
            color: #333333;
            font-weight: 600;
            cursor: pointer;
            background: #f9f9f9;
        }
        
        .accordion-004 summary::-webkit-details-marker {
            display: none;
        }
        
        /* すべてのアコーディオンの矢印を統一 */
        .accordion-004 summary::after,
        .accordion-004 summary::before {
            content: '' !important;
            transform: rotate(45deg) !important; /* translateYを削除 */
            width: 10px !important; /* 7px → 10px に拡大 */
            height: 10px !important; /* 7px → 10px に拡大 */
            margin-left: 15px !important; /* 10px → 15px に拡大 */
            border-bottom: 3px solid #333333b3 !important;
            border-right: 3px solid #333333b3 !important;
            border-top: none !important;
            border-left: none !important;
            background: transparent !important;
            background-color: transparent !important;
            transition: transform 0.3s ease !important;
            box-sizing: border-box !important;
            flex-shrink: 0 !important; /* 矢印のサイズ固定 */
        }
        
        /* ::beforeが使われている場合はリセット */
        .accordion-004 summary::before {
            display: none !important;
        }
        
        .accordion-004.opening summary::after,
        .accordion-004[data-open="true"] summary::after {
            transform: rotate(225deg) !important; /* translateYを削除 */
        }
        
        .accordion-004 .detail-content {
            overflow: hidden;
            max-height: 0;
            opacity: 0;
            padding: 0 16px;
            transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.3s ease;
            background: white;
        }
        
        .accordion-004.opening .detail-content,
        .accordion-004[data-open="true"] .detail-content {
            opacity: 1;
            padding: 16px;
        }
        
        /* リセット用スタイル */
        .accordion-004 {
            font-family: Arial, sans-serif;
        }
        
        .accordion-004 h3 {
            margin: 0;
            font-size: 16px;
        }
        
        .accordion-004 ul {
            margin: 10px 0;
            padding-left: 20px;
        }
        
        .accordion-004 li {
            margin-bottom: 5px;
        }
        
        .schedule h3 {
            color: #333;
            margin-top: 15px;
            margin-bottom: 10px;
        }
        
        /* detail-content内の最初の要素のpadding-topとmargin-topを削除 */
        .accordion-004 .detail-content > *:first-child {
            padding-top: 0 !important;
            margin-top: 0 !important;
        }
        
        /* より具体的なセレクタでpタグの場合も確実に適用 */
        .accordion-004 .detail-content > p:first-child {
            padding-top: 0 !important;
            margin-top: 0 !important;
        }

        /* ===== 情報セクション ===== */
        .info-section {
            padding: 80px 0;
            background-color: #f9f9f9;
        }
        
        .center-text {
            text-align: center;
            margin-bottom: 30px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .info-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin: 50px 0;
        }
        
        .info-item {
            background-color: #fff;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
            width: calc(33.333% - 20px);
            min-width: 300px;
        }
        
        .info-item h3 {
            color: #56b47a;
            margin-bottom: 15px;
        }
        
        .center-btn {
            text-align: center;
            margin-top: 40px;
        }
        
        .info-box {
            margin: 0 auto;
            max-width: 800px;
            text-align: center;
        }
        
        .info-box h3 {
            color: #56b47a;
            margin-bottom: 15px;
        }

        /* ===== CTAセクション ===== */
        .cta {
            padding: 80px 0;
            background-color: #e9f7ef;
            text-align: center;
        }

        .cta-title {
            font-size: 2rem;
            margin-bottom: 20px;
            color: #333;
        }

        .cta-text {
            font-size: 1.2rem;
            margin-bottom: 40px;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
.cta {
  background: url(/wp-content/themes/cocoon-child-master/images/cta-bg.webp) no-repeat;
	background-size: cover;
}
        /* ===== 問題点と解決策セクション ===== */
        .problems {
            padding: 80px 0;
            background-color: #f5f5f5;
        }

        .problems-container {
            display: flex;
            flex-direction: column;
            max-width: 800px;
            margin: 0 auto;
        }

        .problems-list {
            margin-bottom: 40px;
        }

        .problem-item {
            background-color: #fff;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 20px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
            display: flex;
            align-items: center;
        }

        .problem-icon {
            margin-right: 20px;
            color: #ff6b6b;
            font-size: 1.5rem;
        }

        .problem-text {
            flex: 1;
        }

        .solution-box {
            background-color: #56b47a;
            color: #fff;
            padding: 30px;
            border-radius: 10px;
            text-align: center;
        }

        .solution-title {
            font-size: 1.5rem;
            margin-bottom: 15px;
        }

        .solution-text {
            font-size: 1.1rem;
        }

        
        /* ===== ユーティリティクラス ===== */
        .mt-20 {
            margin-top: 20px;
        }
        
        .mb-20 {
            margin-bottom: 20px;
        }
        
        .text-center {
            text-align: center;
        }
        
        .text-primary {
            color: #56b47a;
        }
        
        .text-accent {
            color: #ff6b6b;
        }
        
        .bg-light {
            background-color: #f9f9f9;
        }
        
        .bg-primary {
            background-color: #56b47a;
            color: #fff;
        }
        
        .transition-all {
            transition: all 0.3s ease;
        }
        
        /* ホバーエフェクト */
        .link-hover {
            opacity: 0.8;
        }
        
        /* フェードインアニメーション */
        .feature-card, .benefit-item, .case-card, .info-item {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }
        
        .fade-in {
            opacity: 1;
            transform: translateY(0);
        }

        /* ===== レスポンシブ対応 ===== */
        @media (max-width: 768px) {
            .hero-title {
                font-size: 2rem;
            }

            .section-title {
                font-size: 1.8rem;
            }

            .feature-card, .benefit-item, .case-card {
                width: 100%;
            }

            .case-card {
                min-width: 250px;
            }
            
            .footer-column {
                max-width: 100%;
                width: 100%;
                text-align: center;
            }
            
            .footer-link a {
                padding-left: 0;
            }
            
            .footer-link a:before {
                content: none;
            }
            
            .footer-link a:hover {
                padding-left: 0;
            }
        }
.footer-link a:before {
	bottom: 0px;
}
/** ============
 * 共通
 * ============ */
 body {
	background-color: #fff!important;
}
.wrap {
	width: 100%;
}
.container {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.main {
	padding: 0;
}
.header {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	font-size: 16px;
}
#header h1 {
	font-size: 15px;
}
.btn-contact{
	display: block;
	margin-left: 20px;
	background-color: #E8394A;
	font-weight: 500;
}
.header-in.wrap {
	width: auto;
}
.header-container {
	background-color: transparent;
}
.breadcrumb {
	padding-left: 0.5rem;
}
.sub-header-span {
font-size: 15px;	
}
.logo-img {
	width: 90px;
	height: auto!important;
}

#footer .logo-img {
	width: 150px;
}
@media screen and (min-width: 834px) {
	.pc-none {
		display: none;
	}
}
@media screen and (max-width: 834px) {
	#container {
		padding: 0;
	}
	.header-inner {
		position: relative;
	}
	.menu-toggle {
		position: absolute;
		right: 10px;
		color: #333!important;
	}
	.sp-none {
		display: none;
	}
	.logo-img {
	width: 70px;
	height: auto!important;
}
}
* {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
/* シングルページのみNoto Sans JPを適用 */
.single * {
font-family: "Noto Sans JP", sans-serif;
	font-weight: 500; /* Noto Sans JPの適切なウェイト */
  font-style: normal;
}
.fa {
	font: normal normal normal 14px / 1 FontAwesome!important;
}


.section-title {
	font-weight: 600;
	line-height: 1.35;
}
.footer {
	margin-top: 0;
	background-color: #fff;
	padding: 0!important;
}
.footer-bottom {
	border-top: none;
	padding-top: 0;
}
.footer-bottom-content {
	display: flex;
}
    /* リセットと優先度の高いスタイル */
    .footer-bottom-content {
      float: none !important;
      text-align: left !important;
    }
    
    
    /* float解除のためのリセット */
    .footer-bottom-content *,
    .footer-bottom-content *:before,
    .footer-bottom-content *:after {
      float: none !important;
    }
    
    .footer-bottom-content {
      background-color: #fff;
      padding: 40px 0;
      clear: both; /* float解除 */
      overflow: hidden; /* float解除のための追加 */
      float: none !important; /* 初期CSSの float: right を上書き */
      text-align: left !important; /* 初期CSSの text-align: right を上書き */
      width: 100% !important; /* 幅を100%に設定して右寄せを防止 */
      display: block !important; /* floatを効果的に無効化 */
    }
    
.footer .container {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 20px;
      clear: both; /* float解除 */
      overflow: hidden; /* float解除のための追加 */
    }
    
    /* フッターの2カラムレイアウト */
    .footer-wrapper {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      clear: both; /* float解除 */
    }
    
    /* セクションタイトル共通スタイル */
   .footer .section-title {
      font-size: 18px;
      font-weight: 500;
      margin-bottom: 12px;
      color: #4CAF50;
    }
    
    /* 左側：お問い合わせエリア */
    .footer-contact {
      flex: 0 0 100%;
      max-width: 100%;
      margin-bottom: 40px;
    }
    
    @media (min-width: 768px) {
      .footer-contact {
        flex: 0 0 35%;
        max-width: 35%;
        margin-bottom: 0;
      }
    }
    
    /* お問い合わせボタン */
    .contact-button {
      display: inline-block;
      background-color: #4CAF50;
      color: white;
      padding: 20px 30px;
      text-decoration: none;
      border-radius: 50px;
      font-weight: 500;
      font-size: 16px;
      transition: background-color 0.3s, transform 0.2s;
      margin-top: 10px;
      text-align: center;
      width: 350px;
      max-width: 100%;
    }
    
    .contact-button:hover {
      background-color: #3d8b40;
      transform: translateY(-2px);
    }
    
    /* 右側：ナビゲーションエリア */
    .footer-nav-wrapper {
      flex: 0 0 100%;
      max-width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      float: none !important; /* float解除 */
    }
    
    @media (min-width: 768px) {
      .footer-nav-wrapper {
        flex: 0 0 60%;
        max-width: 60%;
      }
    }
    
    .footer-column {
      flex: 0 0 100%;
      max-width: 100%;
      margin-bottom: 20px;
    }
    
    @media (min-width: 480px) {
      .footer-column {
        flex: 0 0 48%;
        max-width: 48%;
      }
    }
    
    /* フッターリンク */
    .footer-links {
      list-style: none;
    }
    
    .footer-link {
      margin-bottom: 12px;
    }
    
    .footer-link a {
      color: #666;
      text-decoration: none;
      font-size: 14px;
      position: relative;
      padding-left: 15px;
      transition: color 0.3s;
    }
    
    .footer-link a:hover {
      color: #4CAF50;
			transition: 0.25s!important;
    }
    
    .footer-link a:before {
      content: "›";
      position: absolute;
      left: 0;
      color: #4CAF50;
    }
    
    /* フッターボトム */
    .footer-bottom {
      text-align: center;
      margin-top: 40px;
      padding-top: 20px;
      border-top: 1px solid #eee;
      width: 100% !important;
      float: none !important;
    }
    
    .copyright {
      font-size: 12px;
      color: #999;
    }
    
    .source-org {
      font-size: 12px;
      color: #999;
      margin-top: 5px;
    }
.footer-contact {
	text-align: center;
}
@media screen and (max-width: 780px) {
	.footer-links {
				padding-left: 0!important;
	}
	.footer-column {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 834px) {
	main.main {
		padding: 0!important;
	}
	.wp-singular .main-content {
		padding: 0;
	}
	.main-content {
		margin-top: 56px!important;
	}
	.wp-singular .main-content {
		margin-bottom: 20px;
	}
}
.wp-singular .content {
	margin-top: 0;
}
.wp-singular .main-content {
	padding: 0;
}
.go-to-top-button {
width: 60px;
	transition: 0.35s;
}
.go-to-top-button:hover {
	transform: translateY(-8px);
}
/** ============
 * トップページ
 * ============ */
/** FV **/
.hero {
	position: relative;
  position: relative;
  background-image: none;
	height: 650px; /* ビューポート高さに合わせる */
  width: 100%;
  overflow: hidden;
	padding-top: 160px;
}
.fv-img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 650px; /* 高さをビューポートに合わせる */
  object-fit: cover; /* 重要：アスペクト比を維持しながら領域を埋める */
}
.hero .container {
	text-align: left;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 2%;
}
.fv-catch {
	width: 550px;
	margin-bottom: 40px;
}
.hero-subtitle {
margin-left: 0;
margin-right: 0;
	font-size: 16px;
}
.hero-title {
	color: #333;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.5;
}
/* お悩み */
/* 問題点と解決策のコンテナスタイル */
	.problems {
		padding-bottom: 0;
	}
.problems-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* 問題点リストのグリッドレイアウト */
.problems-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PCでは3列 */
  gap: 40px; /* アイテム間の隙間 */
  margin-bottom: 60px;
}

/* 各問題点アイテムのスタイル */
.problem-item {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%; /* 高さを揃える */
}

/* 問題アイコン（画像）のコンテナ */
.problem-icon {
  width: 100%;
  position: relative;
	margin-right: 0;
}

/* 問題アイコン画像 */
.problem-icon { 
	text-align: center;
}
.problem-icon img {
	width: 80%;
}

/* 問題テキスト */
.problem-text {
  padding: 0 1rem;
  line-height: 1.5;
  text-align: center;
  flex-grow: 1; /* 残りの空間を埋める */
  display: flex;
  align-items: center;
  justify-content: center;
 }
/* モバイル対応（768px以下） */
@media (max-width: 768px) {
  .problems-list {
    grid-template-columns: 1fr; /* スマホでは1列 */
  }
  
  .problem-text {
		font-size: 01rem;
    min-height: 40px; /* モバイルでの最小高さを調整 */
  }
  
  .solution-title {
    font-size: 1.25rem;
  }
}
.problems {
	background-color: #FAFAF3;
}
.solution-box {
	position: relative;
	padding: 0;
	padding-top: 20px;
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	background-color: #235789;
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
}
/* 矢印付き見出しボックスのスタイル */
.solution-box.arrow-bg {
  position: relative;
  width: 100%;
  background-color: #1b4e81; /* 青色の背景 */
  color: white;
  text-align: center;
  padding: 30px 20px 40px;
  margin-bottom: 30px;
  /* 下向き矢印の形状をクリッピングパスで実現 */
  clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0 80%);
}

.solution-box.arrow-bg .solution-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: bold;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .solution-box.arrow-bg {
    /* スマホサイズでは矢印の高さと余白を調整 */
    padding: 20px 15px 35px;
    /* クリッピングパスも微調整 */
    clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
  }
  
  .solution-box.arrow-bg .solution-title {
    font-size: 1.2rem;
  }
}

/* さらに小さい画面サイズの対応 */
@media (max-width: 480px) {
  .solution-box.arrow-bg {
    padding: 15px 10px 30px;
  }
  
  .solution-box.arrow-bg .solution-title {
    font-size: 1.1rem;
  }
}
.solution-title {
	margin-bottom: 0;
}
.model-cases {
	background-color: #FAFAF3;
	padding-top: 0;
}
/*
.solution-box::after{
  content: "";
  position: absolute;
  bottom: -49.5px;
  left: 0;
  width: 100%;
  height: 0;
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 50px solid #235789; /* 下向き三角の色 */
/*  clip-path: polygon(0 0, 50% 100%, 100% 0); /* ← これで下向きに */
/*}*/

/** モデルケース **/
.case-content-layout {
    display: flex;
    gap: 25px; /* 画像とテキストの間のスペース */
}
.cases-container {
	flex-direction: column;
	
}
.case-header {
	background-color: transparent;
	padding-bottom: 0;
	padding-top: 20px;
	padding-left: 30px;
	font-size: 20px;
}
.case-header-heading {
	color: #1E1E1E;
	font-weight: 600;
	letter-spacing: 0.05rem;
	line-height: 1.5;
}
.case-content {
	padding-top: 20px;
}
.case-profile-image {
    flex-shrink: 0;
    width: 120px; /* 画像サイズの調整 */
}
        .case-card {
            background-color: #fff;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            width: calc(65% - 20px);
            min-width: 300px;
					margin: 0 auto;
        }
.case-profile-image img {
    width: 100%;
    border-radius: 50%; /* 丸い形にする場合 */
    object-fit: cover;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1); /* 軽い影をつける */
}
.case-title {
	font-size: 1rem;
}
.case-subtitle {
	font-size: 1rem;
	margin-bottom: 8px;
}
.case-section-title {
	margin-bottom: 4px;
}
.case-text {
	margin-bottom: 0;
}
.case-section:last-child {
	margin-bottom: 8px;
}
.case-details {
    flex: 1;
}
/**  選ばれている理由 **/
.features {
	background-color: #FFF;
}
.features-grid {
	max-width: 1200px;
	margin: 0 auto;
}
.feature-card {
	background-color: #FAFAF3;
}
.feature-title {
	font-weight: 800;
	text-align: center;
	letter-spacing: 0.08rem;
	margin-bottom: 4px;
}
.feature-text {
	color: #333;
}
.green {
	font-weight: bold;
	color: #78CD2A;
}
/** 放課後等デイサービスとは **/
.benefits {
	background-color: #FAFAF3;
}
.benefits .info-box {
	background-color: transparent;
	margin-bottom: 32px;
}
.benefits .info-box p {
	color: #333;
}
.benefits .section-title {
	margin-bottom: 32px;
}
.benefits-img {
	max-width: 1000px;
	margin: 0 auto;
	height: 200px;
	overflow: hidden;
	position: relative;
	margin-bottom:40px;
}
.benefits-img img {
	width: 100%;
filter: sepia(10%) saturate(120%) brightness(105%) contrast(95%);
}
.center-text h3 {
	color: #56b47a;
	font-weight: 600;
	margin-bottom: 20px;
	font-size: 1.7rem;
	line-height: 1.5;
}
.center-text {
	margin-bottom: 40px;
}
.benefits-img02 {
	text-align: center;	
	margin-bottom: 40px;
}
.benefit-item  {
	background-color: #fff;
}
.benefit-title {
	line-height: 1.4;
	color: #56b47a;
	font-weight: 600;
}
.benefits-list {
	max-width: 1200px;
	margin: 0 auto;
}
/** 理学療法士の視点を **/
.info-grid {
	max-width: 1200px;
	margin: 0 auto;
}
.info-section {
	background-color: #fff;
}
.info-item {
	background-color: #FAFAF3;
	border-radius: 5px;
	box-shadow: none;
	border: 1px solid #D9D9D9;
	margin-bottom: 24px;
}
.info-item h3 {
	line-height: 1.35;
}
.info-item p {
	line-height: 1.5;
}
.info-img-wrap {
	height: 200px;
	overflow: hidden;
	border-radius: 5px;
	margin-bottom: 20px;
}
.info-cta {
	text-align: center;
}
.info-cta h3 {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 24px;
}
/** CTAボタン **/
    /* 緑色グラデーションボタンのスタイル */
    .btn-primary {
      display: inline-block;
      width: 100%;
      max-width: 700px;
      padding: 20px 40px;
      text-align: center;
      font-size: 24px;
      font-weight: bold;
      color: white;
      text-decoration: none;
      background: linear-gradient(to right, #4cd964, #8eef7f);
      border-radius: 999px;
      box-shadow: 0 4px 10px rgba(76, 217, 100, 0.3);
      transition: all 0.3s ease;
      border: none;
      position: relative;
      overflow: hidden;
    }
    
    /* ホバー時の効果 */
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 15px rgba(76, 217, 100, 0.4);
      background: linear-gradient(to right, #40c956, #7fe06f);
    }
    
    /* アクティブ時（クリック時）の効果 */
    .btn-primary:active {
      transform: translateY(1px);
      box-shadow: 0 2px 5px rgba(76, 217, 100, 0.4);
    }
    
    /* 光沢エフェクト */
    .btn-primary::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -60%;
      width: 20%;
      height: 200%;
      background: rgba(255, 255, 255, 0.2);
      transform: rotate(30deg);
      transition: all 0.6s;
    }
    
    .btn-primary:hover::after {
      left: 130%;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 768px) {
      .btn-primary {
        font-size: 20px;
        padding: 15px 30px;
      }
    }
    
    @media (max-width: 480px) {
      .btn-primary {
        font-size: 18px;
        padding: 12px 24px;
      }
    }
/** よくある質問 **/
.faq {
	background-color: #FAFAF3;
}
.section-title-heading {
	font-size: 18px;
}
.accordion-004 {
	max-width: 800px;
	margin: 0 auto;
	background-color: #fff;
	border: 1px solid #d0d0d0;
	margin-bottom: 16px;
}
/** CTA **/
.cta {
  position: relative;
}

/* 緑色グラデーションオーバーレイ (30%透明 = 70%不透明) */
.cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(76, 217, 100, 0.7),
    rgba(142, 239, 127, 0.7)
  );
  z-index: 1;
}

/* コンテンツを前面に表示 */
.cta .container {
  position: relative;
  z-index: 2;
  /* コンテナ内の他のスタイル */
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
  color: white;
}
.cta .cta-title {
	color: #fff;
}

.cta .btn-primary {
background: #ffffff;
  color: #4cba7d;
	border: 2px solid transparent;
}
.cta .btn-primary::after {
  content: "→";
  margin-left: 10px;
  font-size: 20px;
  transition: transform 0.3s ease;
  display: inline-block;
}

.cta .btn-primary:hover {
  background-color: transparent;
  color: #ffffff;
  border-color: #38a169;
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	border: 2px solid #fff;
}

.cta .btn-primary:hover::after {
  transform: translateX(5px);
}

.cta .btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 834px) {
	.hero {
		padding-left: 20px;
		padding-right: 20px;
		height: 500px;
	}
	.fv-img {
		height: 200px;
		top: 4%;
	}
}
@media screen and (max-width: 768px) { 
	.section-title {
	font-size: 1.5rem;	
	}
	.problem-icon {
		display: none;
	}
	.problems-list {
		gap: 20px;
	}
	.problem-item {
		border-radius: 100px;
		margin-bottom: 0;
	}
	.problems-container {
		padding-top: 0;
	}
	.solution-title {
		font-size: 1.5rem;
		line-height: 1.4;
		padding-bottom: 4px;
	}
	.solution-box::after {
		bottom: -50px;
	}
	.model-cases {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.case-card {
		width: 100%;
	}
	.case-content-layout {
		flex-direction:column;
		align-items: center;
	}
	.features {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.benefits-img {
		height: 30vw;
		margin-bottom: 0;
	}
	.what-pt {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.benefits-img img {
transform: scale(1.5) translateX(-10%);	}
	.center-text,.benefits-list {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.info-section,.faq {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.info-grid {
		width: 100%;
		margin-bottom: 48px;
	}
	.info-item {
		width: 100%;
		margin-bottom: 0;
	}
	.faq h3 {
		font-size: 18px;
		line-height: 1.5; 
	}
	.accordion-004 ul {
		padding-left: 30px;
		padding-right: 20px;
	}
	.info-cta h3 {
		font-size: 24px;
	}
	.cta-title {
		font-size: 24px;
	}
	.cta {
background-position: 40% 0%;
		background-size: 230vw;
		padding: 2rem;
	}
	.cta-text {
		font-size: 16px;
		margin-bottom: 16px;
	}
	.cta .container {
	padding: 0;	
	}
}
@media screen and (max-width: 480px) {
	.hero {
		padding-top: 210px;
		height: 550px;
	}
}
/** ============
 * このサイトについて
 *  * ============ */
   
        /* サブヘッダー */
        .sub-header {
            background-color: #f8f8f2;
            padding: 30px 0;
            text-align: center;
        }
        
        
        .sub-header-english {
            color: #666;
            font-size: 16px;
            margin-bottom: 5px;
        }
        
        .sub-header-title {
            color: #009951;
            font-size: 24px;
            font-weight: normal;
        }
        
        /* メイン */
        .main-content {
            margin: 80px auto;
            padding: 0 20px;
        }
        
        .slogan-container {
					margin-bottom: 60px;
        }
        
        .slogan-title {
            font-size: 24px;
            margin-bottom: 15px;
            line-height: 1.6;
					color: #009951;
        }
        
        .site-description {
            max-width: 600px;
            margin-left: auto;
            line-height: 2;
        }
        
        .description-paragraph {
            margin-bottom: 25px;
        }
        
        /* 画像コンテナ */
        .image-container {
            display: flex;
					gap: 20px;
            justify-content: center;;
            margin: 60px auto;
        }
        
        .image-box {
            width: 48%;
            height: 300px;
            border-radius: 10px;
            overflow: hidden;
        }
        
        .pt-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
					object-position: top;
        }
        
        /* 運営者情報 */
        .operator-info {
            text-align: center;
            margin: 80px auto;
					margin-bottom: 0;
					background-color: #FAFAF3;
					padding-top: 80px;
        }
        
        .operator-title {
            font-size: 24px;
            margin-bottom: 30px;
        }
        
        .operator-details {
            background-color: #f0f0f0;
            width: 70%;
            height: 450px;
            margin: 0 auto;
            border-radius: 10px;
        }
.sub-header-english {
	margin-bottom: 2px;
}
.sub-header-section {
	text-align: center;
	background-color: #FAFAF3;
	padding: 1.5rem 0;
}
@media screen and (max-width: 834px) {
	.sub-header-section {
	padding-top: 68px;	
	}
}
.slogan-container {
	display: flex;
	justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
}
.slogan-title {
	width: 250px;
}
.site-description {
	margin-left: 0;
}
.outline-wrap {
	max-width: 1200px;
	margin: 0 auto;
}
.company-content {
	padding-top: 80px;
}
.outline-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

.outline-table {
  width: 100%;
  border-collapse: collapse;
	margin-bottom: 80px;
}

.outline-table th,
.outline-table td {
  border-bottom: 1px solid #d6d6d6;
  padding: 2rem;
  text-align: left;
  vertical-align: top;
}

.outline-table th {
  font-weight: normal;
  width: 20%; /* Adjust width as needed */
	background-color: transparent;
}

.outline-table td {
  width: 80%; /* Adjust width as needed */
	background-color: transparent;
}

.outline-p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: bold;
}

.outline-ul {
  margin: 0;
  padding-left: 20px;
  list-style-type: disc;
}

.outline-li {
  margin-bottom: 5px;
}

.outline-pdf {
  text-decoration: none;
  color: #df5a5d;
  font-weight: bold;
}

.outline-pdf:hover {
  text-decoration: underline!important;
}
.outline-table {
	background-color: #fff;
}
.company table:not(.has-border-color) :where(th, td) {
	border: none;
	border-bottom: 1px solid #d6d6d6;
}
table tr:nth-of-type(2n+1) {
	background-color: transparent;
}
.google-map iframe {
	width: 100%;
}
.google-map {
	margin-bottom: -10px;
}
.page-id-14545 able:not(.has-border-color) :where(th, td) {
border: none;	
}
.page-id-14545 ul {
	padding-left: 0;
	list-style-type: none;
}
.page-id-14545 li {
	line-height: 1.7;
}
.outline-p {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.outline-wrap {
		padding-left: 4%;
		padding-right: 4%;
	}
.company tr {
	display: flex;
	flex-direction: column;
}
	.company th,.company td {
		width: 100%;
		font-size: 1rem;
	}
	.company th {
		border-bottom: none!important;
		padding-bottom: 0;
	}
	.company td {
		margin-top: -20px;
	}
}
.slogan-container {
	padding-top: 80px;
}
@media screen and (max-width: 780px) {
	.slogan-container {
		padding-top: 40px;
	}
	.slogan-container {
	flex-direction: column;	
		padding-left: 1rem;
		padding-right: 1rem;
		}
.image-container {
    display: block; /* flexをブロック表示に変更 */
	margin-top: 20px;
  }
  
  .image-box {
    width: 100%; /* 幅を100%に設定 */
	height: auto; /* 高さを自動調整 */}
	.pt-image {
    width: 100%; /* 画像の幅を親要素に合わせる */
    height: auto; /* 高さを自動調整してアスペクト比を維持 */
    object-fit: contain; /* または必要に応じて cover に変更 */
  }
	.slogan-title {
		margin-bottom: 28px;
	}
	/* page-id-14545 クラスを持つページにのみ適用するレスポンシブテーブルスタイル */
.page-id-14545 table {
  width: 100%;
  border-collapse: collapse;
}
}
/* スマートフォン表示用のスタイル - .page-id-14545 ページにのみ適用 */
@media screen and (max-width: 767px) {
  .page-id-14545 table, 
  .page-id-14545 thead, 
  .page-id-14545 tbody, 
  .page-id-14545 th, 
  .page-id-14545 td, 
  .page-id-14545 tr {
    display: block;
		width: 100%;
  }
	.page-id-14545 tr {
		margin-bottom: 0!important;
		border-bottom: none!important;
	}
	.page-id-14545 td {
		border-bottom: none;
		border-top: none;
	}
  .page-id-14545 tr {
    margin-bottom: 15px;
    border: 1px solid #ccc;
  }
  .page-id-14545 .outline-table th {
		border-bottom: none!important;
		padding: 1.5rem 1.5rem 0 1.5rem;
}
	.page-id-14545 .outline-table td {
		padding-top: 8px;
		padding-bottom: 1.5rem;
	}
	.outline-table {
		border-bottom: 1px solid #d6d6d6!important;
	}
	.image-container {
		margin-bottom: 0!important;
	}
	.operator-info {
		margin-top: 0;
		padding-top: 48px;
		margin-bottom: 0!important;
	}
	.operator-title {
	margin-bottom: 12px;	
	}
	.page-id-14545 table th, .page-id-14545 table td {
		font-size: 15px;
	}
	.page-id-14545 iframe {
		height: 400px;
	}
}
/** ================
 * 理学療法士の役割
 *  * ============ */
.houday-top-wrap {
	max-width: 1200px;
					margin: 0 auto;
					padding: 0 1rem;
		padding-top: 80px;
}
.intro-title {
	width: 250px;
}
.intro-section-inner {
	display: flex;
}
        .intro-title {
    font-size: 22px;
    margin-bottom: 15px;
    line-height: 1.65;
    color: #009951;
        }
        
        .intro-text {
            margin-bottom: 30px;
            line-height: 1.8;
        }
        
        .intro-images {
            display: flex;
            justify-content: space-between;
            margin-top: 30px;
        }
        
        .intro-image {
            width: 48%;
            height: 200px;
            border-radius: 8px;
            overflow: hidden;
        }
        
        .pt-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        /* 理由セクション */
        .reasons-section {
            width: 100%;
            margin-top: 80px;
            background-color: #f8f8f2;
            padding: 80px 0;
        }
        
        .reasons-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        .reasons-title {
            font-size: 24px;
            margin-bottom: 40px;
            text-align: center;
        }
        
        .reason-item {
            display: flex;
            margin-bottom: 50px;
align-items: top;
        }
        
        .reason-image {
width: 40%;
            height: 200px;
            border-radius: 8px;
            overflow: hidden;
            margin-right: 40px;
					margin-top: 8px;
        }
        
        .reason-content {
            flex: 1;
        }
        
        .reason-number {
            font-size: 20px;
            color: #27ae60;
					font-weight: 500;
        }
        
        .reason-title {
            font-size: 20px;
            color: #27ae60;
            margin-bottom: 15px;
        }
        
        .reason-text {
            margin-bottom: 15px;
            line-height: 1.8;
        }
        
        .reason-examples {
            background-color: #fff;
            padding: 15px;
					padding-left: 20px;
            border-radius: 2px;
        }
        
        .example-title {
            font-weight: bold;
            margin-bottom: 10px;
        }
        
        .example-list {
            list-style: none;
					margin-bottom: 0;
        }
        
        .example-list li {
            padding-left: 20px;
            position: relative;
            margin-bottom: 5px;
        }
        
        .example-list li::before {
            content: '・';
            position: absolute;
            left: 0;
        }
        

        /* レスポンシブ対応 */
        @media screen and (max-width: 1024px) {
            .intro-section {
                width: 100%;
                margin-bottom: 30px;
            }
            
            .intro-images {
                margin-top: 0;
            }
					.intro-section-inner {
						flex-direction: column;
					}
					.intro-title {
						margin-left: -10px;
					}
        }
        
        @media screen and (max-width: 768px) {            
            .reason-item {
                flex-direction: column;
            }
            
            .reason-image {
                width: 100%;
                margin-right: 0;
                margin-bottom: 20px;
            } 
            .intro-title {
                font-size: 24px;
            }
            
            .reasons-title {
                font-size: 20px;
            }
        }
        
        @media screen and (max-width: 480px) {
					.houday-top-wrap {
						padding-top: 40px;
					}
					.sp-none-houday {
						display: none;
					}
            .intro-images {
                flex-direction: column;
            }
            
            .intro-image {
                width: 100%;
                margin-bottom: 15px;
            }
 .intro-title, .reasons-title {
                font-size: 18px;
            }
					.reasons-section {
						margin-top: 48px;
						padding-top: 48px;
						padding-bottom: 20px;
					}
            .reason-title {
                font-size: 16px;
            }
					.reason-image {
						height: 150px;
					}
					.example-list {
						padding-left: 0;
					}
            .intro-text, .reason-text {
                font-size: 14px;
            }
					.intro-image {
						height: auto;
					}
        }
/** ================
 * FAQ
 *  * ============ */
/* 目次全体のスタイル - ボタンレイアウト */
.faq-index {
  background-color: #f8f9fa;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
  margin: 25px 0 35px 0;
  padding: 20px;
  position: relative;
	max-width: 800px;
	margin: 0 auto;
	margin-bottom: 60px;
}

/* 目次タイトル */
.faq-index-title {
  color: #333333;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 20px 0;
  padding-bottom: 12px;
  border-bottom: 2px solid #009951;
  text-align: center;
	
}

/* 目次リスト全体 - ボタングリッドレイアウト */
.faq-index-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 2fr));
  gap: 12px;
}

/* 目次の各項目 - ボタンスタイル */
.faq-index-list li {
  position: relative;
  padding: 0;
  margin: 0;
}

/* 目次リンク - ボタンデザイン */
.faq-index-link {
  color: #333;
  background-color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
  display: block;
  padding: 12px 15px;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

/* ボタンホバー効果 */
.faq-index-link:hover {
  color: #fff;
  background-color: #009951;
  border-color: #009951;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 153, 81, 0.2);
}

/* アクティブ状態 */
.faq-index-link:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 153, 81, 0.1);
}

/* ボタンアイコン - 右矢印 */
.faq-index-link::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-top: 2px solid #009951;
  border-right: 2px solid #009951;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s ease;
  opacity: 0.7;
}

/* ホバー時のアイコン色変更 */
.faq-index-link:hover::after {
  border-color: #fff;
  right: 12px;
}

/* スムーズスクロール設定 */
html {
  scroll-behavior: smooth;
}
/* スクロール位置の調整 */
.faq-section {
  scroll-margin-top: 20px;
}

/* セクションの見出しカラーも緑に調整（オプション） */
.faq-section-title {
  color: #009951;
}

/* モバイル対応 */
@media (max-width: 768px) {
  .faq-index {
    padding: 15px;
  }
  
  .faq-index-title {
    font-size: 16px;
    margin-bottom: 15px;
  }
  
  .faq-index-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .faq-index-link {
    padding: 10px;
    font-size: 14px;
  }
}

/* タブレット向けレイアウト調整 */
@media (min-width: 769px) and (max-width: 1024px) {
  .faq-index-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 印刷時のスタイル調整 */
@media print {
  .faq-index {
    break-inside: avoid;
    border: 1px solid #ddd;
    box-shadow: none;
  }
  
  .faq-index-list {
    display: block;
  }
  
  .faq-index-list li {
    margin-bottom: 8px;
  }
  
  .faq-index-link {
    border: 1px solid #ddd;
    padding: 5px 10px;
  }
  
  html {
    scroll-behavior: auto;
  }
}
/* accordionの閉じている状態と開いている状態の両方でsummary背景色を統一 */
.accordion-004 summary {
	background-color: #f5f5f5;
  border-radius: 6px;
}
.home .accordion-004 summary {
	background-color: #FFF;
}
/* 開いている状態でも背景色は変えず、ただし下部の角丸を調整 */
.accordion-004[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 1px solid #e0e0e0;
}

/* summaryのホバー状態 - 両方の状態で共通 */
.accordion-004 summary:hover {
  background-color: #e9e9e9;
}

/* accordionの内容部分のスタイル */
.accordion-004 > div {
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
.accordion-004 .detail-content > p:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}


.faq-container {
padding-top: 48px;
	padding-bottom: 80px;
	max-width: 1200px;
	margin: 0 auto;
}
.faq-main-title {
	text-align: center;
	margin-bottom: 60px;
}
.faq-section-title {
	text-align: center;
	margin-bottom: 16px;
}
.faq-container h3 {
	font-size: 18px;
}
.faq-section:not(:last-child) {
	margin-bottom: 40px;
}
/* ストレートな回答部分の強調スタイル */
.direct-answer {
  background-color: rgba(0, 153, 81, 0.08); /* メインカラーを薄く */
  font-weight: 600; /* やや太字 */
  border-radius: 4px;
  color: #333; /* 読みやすさを確保 */
}
.accordion-004 p {
padding-top: 1rem;	
}
.accordion-004 h4 {
	padding-left: 1.5rem;
	color: #009951;
}
/* レスポンシブテーブル用のCSS */
/* スクロールコンテナ */
.table-scroll-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOSでのスムーススクロール */
  margin: 15px 0;
}

/* 比較テーブルの基本スタイル */
.comparison-table {
  width: 100%;
  min-width: 500px; /* スクロールが必要な最小幅 */
  border-collapse: collapse;
  margin: 0;
}

/* テーブルのヘッダー行 */
.comparison-table tr:first-child {
  background-color: #f2f2f2;
}

/* セルのスタイル */
.comparison-table th,
.comparison-table td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

/* 見出しセルのスタイル */
.comparison-table th {
  font-weight: bold;
}

/* 列の幅を設定 */
.comparison-table .col-item {
  width: 20%; /* 項目列の幅 */
}

.comparison-table .col-type1 {
  width: 30%; /* 2列目の幅 */
}

.comparison-table .col-type2 {
  width: 50%; /* 3列目の幅を広めに取り、テキストの改行を促進 */
  word-wrap: break-word; /* 長い単語も強制的に折り返す */
  word-break: normal; /* 通常の単語の区切りで折り返す */
}

/* テーブルのセル内の文字列を自動的に折り返す */
.comparison-table td {
  word-wrap: break-word; /* 長い単語も折り返す */
  word-break: normal;
}

/* 特に3列目のセルは幅固定で文字を折り返す */
.comparison-table td:nth-child(3) {
 max-width: 280px; /* モバイルでも適切な幅に制限 */
  white-space: normal; /* テキストを折り返す */
}

/* アコーディオン内の調整 */
.accordion-004 .table-scroll-container {
  padding: 0 1rem; /* アコーディオン内での左右余白 */
}

/* モバイル向けの調整 */
@media screen and (max-width: 768px) {
	.faq-container {
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 40px;
	}
	.faq-main-title {
		margin-bottom: 40px;
	}
	.accordion-004 .table-scroll-container {
    padding: 0 0.5rem; /* モバイルでは余白を少し小さく */
  }
  
  .comparison-table {
    min-width: 450px; /* モバイルではさらに小さく */
  }
  
  /* 特に3列目のセルはモバイルでより幅を制限 */
  .comparison-table td:nth-child(3) {
    max-width: 150px;
  }
}
/** ================
 * プライバシーポリシー
 *  * ============ */
/* コンテナ */
        .privacy-container {
            padding: 40px 20px;
     }
        /* ヘッダー */
        .privacy-header {
					max-width: 1000px;
					margin: 0 auto;
            margin-bottom: 40px;
            text-align: center;
            border-bottom: 3px solid #009951;
            padding-bottom: 20px;
        }
        
        .privacy-title {
            font-size: 28px;
            color: #009951;
            margin-bottom: 15px;
        }
        
        /* セクション */
        .privacy-section {
					padding-bottom: 	80px;
					max-width: 1000px;
					margin: 0 auto;
        }
        
        .privacy-section-title {
            font-size: 20px;
            color: #333;
            border-left: 5px solid #009951;
            padding-left: 15px;
            margin: 30px 0 20px;
        }
        
        /* 段落 */
        .privacy-paragraph {
            margin-bottom: 20px;
            text-align: justify;
        }
        
        /* リスト */
        .privacy-list {
            list-style-type: none;
            padding-left: 20px;
}
        
        .privacy-list-item {
            margin-bottom: 10px;
            position: relative;        }
        /* サブリスト */
        .privacy-sublist {
            list-style-type: none;
            padding-left: 20px;
            margin: 10px 0;
        }
        
        .privacy-sublist-item {
            margin-bottom: 8px;
            position: relative;
            padding-left: 15px;
        }
        
        .privacy-sublist-item:before {
            content: "-";
            color: #009951;
            position: absolute;
            left: 0;
        }
        
        /* 強調テキスト */
        .privacy-emphasis {
            font-weight: bold;
        }
        
        /* 小見出し */
        .privacy-subtitle {
            font-size: 18px;
            color: #009951;
            margin: 25px 0 15px;
        }
        
        /* アドレス情報 */
        .privacy-address {
            margin: 15px 0;
            padding: 15px;
            background-color: #f5f5f5;
            border-left: 3px solid #009951;
        }
        
        /* 注記 */
        .privacy-note {
            font-size: 14px;
            color: #666;
            margin: 10px 0;
            padding: 10px;
            background-color: #f8f8f8;
            border-radius: 4px;
        }
        
        /* フッター */
        .privacy-footer {
            margin-top: 50px;
            text-align: center;
            font-size: 14px;
            color: #666;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .privacy-container {
                padding: 20px 15px;
            }
            
            .privacy-title {
                font-size: 24px;
            }
            
            .privacy-section-title {
                font-size: 18px;
            }
        }
/** ================
 * お問い合わせ
 *  * ============ */
.contact-content {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 40px;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 40px;
}
.contact-p {
	text-align: center;
	margin-bottom: 40px;
}
/* 問い合わせフォームのメインスタイル */
.inquiry {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
  font-family: 'Noto Sans JP', sans-serif;
}
.inquiry th,
.inquiry td {
  padding: 16px;
  border: 1px solid #e0e0e0;
}

.inquiry th {
  background-color: #f7f7f7;
  width: 25%;
	font-size: 16px;
  font-weight: 600;
  text-align: left;
  vertical-align: top;
  position: relative;
}

.inquiry td {
  background-color: #fff;
}

/* 必須・任意ラベルのスタイル */
.haveto,
.any {
  display: inline-block;
  font-size: 11px;
  color: #fff;
  border-radius: 3px;
  padding: 2px 6px;
  margin-right: 8px;
  line-height: 1.4;
}

.haveto {
  background: #009951; /* メインカラー */
}

.any {
  background: #999;
}

/* フォーム入力フィールドのスタイル */
.inquiry input[type="text"],
.inquiry input[type="tel"],
.inquiry input[type="email"],
.inquiry textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 15px;
  transition: all 0.3s;
}

.inquiry input[type="text"]:focus,
.inquiry input[type="tel"]:focus,
.inquiry input[type="email"]:focus,
.inquiry textarea:focus {
  border-color: #009951; /* メインカラー */
  box-shadow: 0 0 5px rgba(0, 153, 81, 0.3);
  outline: none;
}

.inquiry textarea {
  height: 150px;
  resize: vertical;
}

/* プレースホルダーのスタイル */
.inquiry ::placeholder {
  color: #aaa;
  font-size: 14px;
}

/* 同意チェックボックスのスタイル */
.contact-accept {
  text-align: center;
  margin: 20px 0;
}

.accept-check input[type="checkbox"] {
  position: relative;
  transform: scale(1.2);
  margin-right: 8px;
  cursor: pointer;
}

.accept-check .wpcf7-list-item {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.privacy-link {
  color: #009951; /* メインカラー */
  text-decoration: underline;
  font-weight: 600;
  transition: all 0.3s;
}

.privacy-link:hover {
  opacity: 0.8;
}

/* 送信ボタンのスタイル */
#formbtn {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 15px;
  background: #009951; /* メインカラー */
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  position: relative;
}

#formbtn:hover {
  background: #007f42; /* ホバー時は少し暗く */
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#formbtn:active {
  transform: translateY(0);
}

/* フォーム検証エラーのスタイル */
.wpcf7-not-valid-tip {
  color: #f44336;
  font-size: 13px;
  margin-top: 5px;
}

.wpcf7-response-output {
  padding: 15px !important;
  border-radius: 4px !important;
  margin: 20px 0 !important;
  font-size: 14px;
  text-align: center;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
	.contact-p {
		text-align: left;
	}
  .inquiry th,
  .inquiry td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  
  .inquiry th {
    width: 100%;
		padding-top: 8px;
		padding-bottom: 8px;
  }
  
  #formbtn {
    max-width: 100%;
  }
}

/* 送信ボタン前のアニメーション */
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(0, 153, 81, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(0, 153, 81, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 153, 81, 0); }
}

#formbtn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

/* 送信完了時のアニメーション */
.sent-animation {
  animation: pulse 2s infinite;
}
/** ================
 * カテゴリーアーカイブ
 *  * ============ */
.category.no-sidebar .content {
	max-width: 1200px;
	margin: 0 auto;
}
.category.no-sidebar #sidebar {
display: inline-block;
}
.category.no-sidebar .content-in {
	display: flex;
}
.category.no-sidebar .content .main {
	flex: 1;
}
.category .archive-title {
	padding-left :16px;
	color: #009951;
}
.category .admin-pv {
	display: none;
}
html .category-career-change.no-sidebar #sidebar {
	display: none;
}
.category #main {
	padding-left: 0.5rem!important;
	padding-right: 0.5rem!important;
}
@media screen and (max-width: 768px) {
.category.no-sidebar #sidebar {
flex: 1;
}
}
/** ================
 * 月ごとアーカイブ
 *  * ============ */
.date.no-sidebar #sidebar {
display: inline-block;
}
.date.no-sidebar .content-in {
	display: flex;
}
.date.no-sidebar .content .main {
	flex: 1;
}
.date .archive-title {
	padding-left :16px;
	color: #009951;
}
.date .admin-pv {
	display: none;
}
.date #main {
	padding-left: 0.5rem!important;
	padding-right: 0.5rem!important;
}
.date.no-sidebar .content {
	max-width: 1200px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
.date.no-sidebar #sidebar {
flex: 1;
}
}
/** ================
 * 検索結果ページ
 *  * ============ */
.search.no-sidebar #sidebar {
display: inline-block;
}
.search.no-sidebar .content-in {
	display: flex;
}
.search.no-sidebar .content .main {
	flex: 1;
}
.search .archive-title {
	padding-left :16px;
	color: #009951;
}
.search .admin-pv {
	display: none;
}
.search #main {
	padding-left: 0.5rem!important;
	padding-right: 0.5rem!important;
}
.search.no-sidebar .content {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 80px;
}
@media screen and (max-width: 768px) {
.archive.no-sidebar #sidebar {
flex: 1;
}
}

/** ================
 * 転職コラム
 *  * ============ */
.category-4.no-sidebar .content {
	max-width: none;
}
/* メインコンテンツエリア */
.category-4.category #main {
	padding: 0!important;
}
.category-4 #content {
  display: flex;
  flex-wrap: wrap;
	margin-top: 0;
}
.category-4 .breadcrumb-category {
	display: none;
}
.category-4 .category-content {
	padding-left: 1rem;
	padding-right: 1rem;
}
.category-4 .pt-latest-articles {
	padding-top: 60px;
	padding-bottom: 60px;
	background-color: #FAFAF3;}
.category-4 #archive-title {
	display: none;
}
.category-4 .ect-entry-card {
	max-width: 1200px;
	margin: 0 auto;
}
.category-4 .category-content {
	padding: 0;
	margin-bottom: 0;
}
.category-4 .sbp-main-bottom {
	margin: 0;
	padding-bottom: 0.5rem;
}
/* カテゴリーヘッダー */
.category-header {
  margin-bottom: 30px;
}

.eye-catch-wrap {
  position: relative;
  margin-bottom: 20px;
  border-radius: 8px;
  overflow: hidden;
}

.eye-catch-image {
  width: 100%;
  height: auto;
  display: block;
}
.category-4 .cat-label {
display: none;
}

/* カテゴリー説明文エリア */
.pt-career-intro {
  background-color: #f7f7f7;
  padding: 25px;
  border-radius: 8px;
  margin-bottom: 40px;
}

.pt-career-tagline {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
  text-align: center;
}

.pt-career-description {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* セクションタイトル - ウェブデザインの黄色い下線部分の再現 */
.pt-section-title {
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 1rem!important;
  margin-bottom: 25px;
	text-align: center;
}

.pt-section-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background-color: #009951;
}

.pt-section-title span {
  position: relative;
  z-index: 1;
}

/* ピックアップ記事セクション */
.pt-pickup-articles {
	padding-top: 40px;
  padding-bottom: 100px;
	max-width: 1200px;
	margin: 0 auto;
}
.pt-pickup-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
	margin-left: 1rem;
	margin-right: 1rem;
}

.pt-pickup-item {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
}

.pt-pickup-item:hover {
  transform: translateY(-5px);
}

.pt-pickup-item a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.pt-pickup-thumb {
  overflow: hidden;
  height: 180px;
}

.pt-pickup-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.pt-pickup-item:hover .pt-pickup-thumb img {
  transform: scale(1.05);
}

.pt-pickup-content {
  padding: 15px;
}

.pt-pickup-title {
  font-size: 1.1rem!important;
  font-weight: 500!important;
	line-height: 1.4;
	padding: 0!important;
	border: none!important;
	margin-bottom: 0!important;
}

.pt-pickup-excerpt {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.5;
}
.category-4 .article h2 {
	background-color: transparent;
}
/* お悩み別記事セクション */
.pt-concerns-articles {
  margin-bottom: 50px;
}

.pt-concerns-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.pt-concern-item {
  display: flex;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
}

.pt-concern-item:hover {
  transform: translateY(-5px);
}

.pt-concern-item a {
  display: flex;
  padding: 15px;
  width: 100%;
  color: inherit;
  text-decoration: none;
}

.pt-concern-icon {
  width: 80px;
  height: 80px;
  margin-right: 15px;
  flex-shrink: 0;
}

.pt-concern-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pt-concern-content {
  flex: 1;
}

.pt-concern-title {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.4;
}

.pt-concern-excerpt {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.5;
}
.category-4 #list {
	display: grid;
}
/* カテゴリID4のグリッドレイアウト設定 */
.category-4 #list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PCでは3カラム */
  gap: 25px;
  margin-bottom: 40px;
}

.category-4 #list .entry-card-wrap {
  margin: 0;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}



/* サムネイル設定 */
.category-4 #list .entry-card-thumb {
  float: none;
  width: 100%;
  margin: 0;
}

.category-4 #list img.entry-card-thumb-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

/* コンテンツ部分 */
.category-4 #list .entry-card-content {
  padding: 15px;
	margin-left: 0;
}
.category-4 #list .admin-pv {
	display: none;
}
.category-4 .entry-card-info.e-card-info {
	font-size: 1rem;
}
.category-4 #list .entry-card-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.4;
	padding-top: 0;
}

/* 抜粋テキスト - SEO対策 */
.category-4 #list .entry-card-snippet {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3; /* 3行表示 */
  -webkit-box-orient: vertical;
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  height: 4.8em; /* 3行分の高さ確保 */
}

/* カテゴリとメタ情報 */
.category-4 #list .entry-card-meta {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #888;
}
.category-4 #list {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

/* レスポンシブ設定 */
@media screen and (max-width: 991px) {
  .category-4 #list {
    grid-template-columns: repeat(2, 1fr); /* タブレットでは2カラム */
  }
  
  .category-4 #list .entry-card-snippet {
    -webkit-line-clamp: 4; /* タブレットではやや多めに表示 */
    height: 6.4em;
  }
}

@media screen and (max-width: 767px) {
  .category-4 #list {
    grid-template-columns: 1fr; /* モバイルでは1カラム */
    gap: 20px;
  }
  
  .category-4 #list img.entry-card-thumb-image {
    height: 200px; /* モバイルではやや大きめの画像 */
  }
  
  .category-4 #list .entry-card-snippet {
    -webkit-line-clamp: 5; /* モバイルでは多めのテキスト表示 */
    height: 8em;
  }
}
/* レスポンシブ設定 */
@media screen and (max-width: 1024px) {
  .pt-pickup-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {

  
  #sidebar {
    width: 100%;
  }
  
  .pt-pickup-grid,
  .pt-concerns-grid {
    grid-template-columns: 1fr;
  }
  
  .pt-section-title {
    font-size: 1.4rem;
  }
  
  .pt-career-tagline {
    font-size: 1.3rem;
  }
	.center-text h3 {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 480px) {
	.section-title {
		font-size: 1.35rem;
	}
		.center-text h3 {
		font-size: 1.3rem;
	}
}

/* カテゴリータグリスト (添付デザインの「CATEGORY」部分) */
.category-tag-container {
  margin-bottom: 40px;
}

.category-tag-title {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  color: #333;
}

.category-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.category-tag-item {
  background-color: #f5f5f5;
  padding: 8px 15px;
  border-radius: 4px;
  font-size: 0.9rem;
  transition: background-color 0.3s;
}

.category-tag-item:hover {
  background-color: #ebebeb;
}

.category-tag-item a {
  color: #333;
  text-decoration: none;
}

/* タグリスト(添付デザインの「TAG」部分) */
.tag-container {
  margin-bottom: 40px;
}

.tag-title {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  color: #333;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.tag-item {
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  transition: background-color 0.3s;
}

.tag-item:hover {
  background-color: #f9f9f9;
}

.tag-item a {
  color: #333;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.tag-item a:before {
  content: "🏷️";
  margin-right: 5px;
}

/* カテゴリID4のグリッドレイアウト改良版 - サムネイル控えめ設計 */
.category-4 #list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PCでは3カラム */
  gap: 30px;
  margin-bottom: 40px;
}

.category-4 #list .entry-card-wrap {
  margin: 0;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background-color: #fff;
}
.entry-card-thumb-image {
	transition: 0.3s;
}
.category-4 #list .entry-card-wrap:hover .entry-card-thumb-image {
  transform: scale(1.2);
	transition: 0.3s;
}

/* サムネイル設定 - 控えめに */
.category-4 #list .entry-card-thumb {
  float: none;
  width: 100%;
  margin: 0;
  height: 140px; /* サムネイル高さを控えめに */
  position: relative;
  overflow: hidden;
}

.category-4 #list img.entry-card-thumb-image {
  width: 100%;
  height: 100%;
  object-fit: cover;

}

.category-4 #list .entry-card-wrap:hover img.entry-card-thumb-image {
  filter: brightness(0.95) saturate(1.05); /* ホバー時は明るく */
}



/* コンテンツ部分 - サムネイルとオーバーラップ */
.category-4 #list .entry-card-content {
  padding: 20px;
  position: relative;
	margin-top: -10px; /* サムネイルに重ねる */
  z-index: 2;
  background-color: #fff;
  border-radius: 12px 12px 0 0;
}

/* カテゴリラベル - サムネイル上に表示 */
.category-4 #list .cat-label {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 3;
  background-color: rgba(255,255,255,0.85);
  color: #333;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 日付情報 - サムネイル上に表示 */
.category-4 #list .post-date,
.category-4 #list .post-update {
font-size: 14px;
}

/* タイトル装飾 */
.category-4 #list .entry-card-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.4;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 10px;
  color: #222;
}

/* 抜粋テキスト - シャドウなし、スタイリッシュに */
.category-4 #list .entry-card-snippet {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-size: 14px;
  line-height: 1.7;
  color: #666;
  height: 4.9em;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/* 記事フッター情報 */
.category-4 #list .entry-card-meta {
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
}

/* 続きを読むボタン - シンプルでスタイリッシュに */
.category-4 #list .entry-read {
  text-align: right;
  margin-top: 10px;
}

.category-4 #list .entry-read a {
  display: inline-block;
  font-size: 13px;
  color: #666;
  text-decoration: none;
  font-weight: 500;
  position: relative;
  padding-right: 20px;
  transition: color 0.3s;
}

.category-4 #list .entry-read a::after {
  content: "→";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s;
}

.category-4 #list .entry-read a:hover {
  color: #007bff;
}

.category-4 #list .entry-read a:hover::after {
  transform: translate(3px, -50%);
}

/* レスポンシブ設定 */
@media screen and (max-width: 991px) {
  .category-4 #list {
    grid-template-columns: repeat(2, 1fr); /* タブレットでは2カラム */
    gap: 25px;
  }
  
  .category-4 #list .entry-card-snippet {
    -webkit-line-clamp: 4;
    height: 6.6em;
  }
}

@media screen and (max-width: 767px) {
  .category-4 #list {
    grid-template-columns: 1fr; /* モバイルでは1カラム */
    gap: 20px;
  }
  
  .category-4 #list .entry-card-thumb {
    height: 180px; /* モバイルではやや大きめの画像 */
  }
  
  .category-4 #list .entry-card-content {
    margin-top: -50px; /* さらに重ねる */
  }
  
  .category-4 #list .entry-card-snippet {
    -webkit-line-clamp: 5;
    height: 8.5em;
  }
}

/* 最小デバイス向け微調整 */
@media screen and (max-width: 480px) {
  .category-4 #list .entry-card-thumb {
    height: 160px;
  }
  
  .category-4 #list .entry-card-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 780px) {
	.pt-pickup-articles {
		padding-top: 20px;
		padding-bottom: 30px;
	}
	.pt-latest-articles {
		padding-top: 30px!important;
	}
	.category-4 .ect-entry-card {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
.category-4 .pagination-next {
display: none;
}
.category-4 #list {
	margin-bottom: 12px;
}
.category-4 .pagination .current {
background-color: #009951;
	color: #fff;
}
/** ================
 * 通常コラム
 *  * ============ */
.page-id-21740 .content {
	max-width: 1200px;
	margin: 0 auto;
}
.page-id-21740 .content-in {
	gap: 30px;
}
.page-id-21740.no-sidebar .content .main {
  flex: 1; /* 残りの空間をすべて使用 */
  min-width: 0; /* flexアイテムのmin-widthのバグを防止 */
  max-width: 70%; /* 最大幅を制限（必要に応じて） */
}
/* サイドバー想定 */
.sidebar {
  flex: 0 0 30%;    /* 成長せず、縮小せず、幅は25% */
  width: 25%;       /* IE11対応 */
}
	.page-id-21740 #container {
		background-color: #FAFAF3;
	}
.page-id-21740 .content {
	padding-top: 20px;
}
.page-id-21740 ul {
	padding-left: 0;
}
.page-id-21740 .main {
	padding-left: 2rem;
	padding-bottom: 80px;
}
.page-numbers {
background-color: #fff;	
}
.page-id-21740 .main,.page-id-21740 .sidebar {
	background-color: transparent!important;
}
.sidebar h2, .sidebar h3 {
	background-color: transparent;
	margin-bottom: 1rem;
	padding-left: 0;
	padding-bottom: 6px;
	border-bottom: 2px dotted; 
}
/* レスポンシブ対応：画面が小さくなった時 */
@media screen and (max-width: 834px) {
  .page-id-21740.no-sidebar .content .main {
    flex: 1 0 100%; /* 小さい画面では全幅 */
    max-width: 100%;
  }
  .page-id-21740 .sidebar {
    flex: 1 0 100%; /* 小さい画面では全幅 */
    width: 100%; /* IE11対応 */
  }
	.page-id-21740 .main {
		padding-left: 1rem!important;
		padding-right: 1rem!important;
	}
	.page-id-21740 .sub-header-section {
		padding: 0;
	}
}
/* グリッドレイアウト用CSS */
/* 記事一覧スタイル */
.column-left-content {
  width: 100%;
  display: grid;
  gap: 25px;
}

/* グリッド列数の設定 */
.grid-2column .column-left-content {
  grid-template-columns: repeat(2, 1fr); /* 2カラム */
}

.grid-3column .column-left-content {
  grid-template-columns: repeat(3, 1fr); /* 3カラム */
}

/* グリッドアイテム */
.entry-wrap {
  margin: 0;
  padding: 0;
  border: none;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
}

.entry-wrap:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* サムネイル画像 */
.post-thumbnail {
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  flex-shrink: 0;
  order: 1; /* 画像を上部に配置 */
}

.post-thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}

.post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.post-thumbnail:hover img {
  transform: scale(1.05);
}

/* エントリーカードの内容 */
.entry-card-content {
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  order: 2; /* コンテンツを下部に配置 */
}

/* 記事ヘッダー部分 */
.entry-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  width: 100%;
}

.entry-cat {
  margin-right: 10px;
}

.entry-cat a {
  display: inline-block;
  color: #78CD2A;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s;
}

.entry-meta {
  color: #777;
  font-size: 0.8rem;
}

/* 記事タイトル */
.entry-title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;;
  width: 100%;
}

.entry-title a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s;
}

.entry-title a:hover {
  color: #009951;
	transition: 0.3s;
}

/* 記事下部のコンテンツ部分 */
.entry-bottom-wrap {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.entry-content {
  flex-grow: 1;
}

.entry-content a {
  text-decoration: none;
  color: #555;
  display: inline-block;
  width: 100%;
	margin-bottom: 0;
}
.page-id-21740 .entry-content p {
  margin: 0 0 10px 0;
  line-height: 1.5;
  color: #555;
  font-size: 0.9rem;
  /* 2行で切り詰め */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 「続きを読む」ボタン */
.entry-lead {
  margin-top: 10px;
  text-align: right;
}

.entry-lead a {
  display: none;
}

.entry-lead a:hover {
  color: #009950;
	transition: 0.3s;
}

/* カテゴリーのカンマ装飾 */
.comma {
  color: #999;
  margin: 0 2px;
}
.entry-card-content{
	margin-left: 0;
}
/* レスポンシブスタイル - グリッドレイアウト */
@media screen and (max-width: 991px) {
  .grid-2column .column-left-content,
  .grid-3column .column-left-content {
    grid-template-columns: repeat(2, 1fr); /* タブレットでは2カラム */
  }
  
  .post-thumbnail {
    height: 160px;
  }
}

@media screen and (max-width: 767px) {
  .grid-2column .column-left-content,
  .grid-3column .column-left-content {
    grid-template-columns: 1fr; /* モバイルでは1カラム */
    gap: 20px;
  }
  
  .post-thumbnail {
    height: 180px;
  }
  
  .entry-title {
    font-size: 1.1rem;
  }
	.single .entry-title {
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width: 576px) {
  .post-thumbnail {
    height: 160px;
  }
  
  .entry-title {
    font-size: 1rem;
  }
  
  .entry-lead a {
    padding: 5px 10px;
    font-size: 0.75rem;
  }
  
  .entry-content p {
    font-size: 0.85rem;
  }
}

/* 既存のクラスとの互換性 */
.more-btn {
  display: none; /* 既存のボタンクラスを非表示に */
}

/** ================
 * シングルページ
 *  * ============ */
.single.no-sidebar #sidebar {
	display: inline-block;
}
#sidebar .card-title {
	font-size: 14px;
}
.single .sns-share {
	display: none;
}
.single .entry-header {
	display: block;
}
.eye-catch-wrap {
	width: 100%!important;
}
.eye-catch {
	width: 100%;
}
.single .content-in {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	gap: 30px;
	padding-left: 1rem;
}
.single.no-sidebar .content .main {
	flex: 1;
}
.single .content {
	background-color: #FAFAF3;
	padding-bottom: 60px;
}
.sns-follow {
	display: none;
}
.footer-meta {
	display: none;
}
.single #main {
	padding: 2rem;
}
.single .entry-content p {
	font-size: 16px;
}
.single .eye-catch-wrap {
	margin-bottom: 0;
}
.single .entry-title{
	font-size: 24px;
	margin-bottom: 12px;
color: #009951;
}
.single .breadcrumb {
	padding-left: 0;
}
.single .article h2 {
	margin-bottom: 1rem;
	margin-top: 3rem;
}
.single .article h3,.single .article h4 {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}
.single .size-full {
	margin-bottom: 1.5rem;
}
.single ul {
	padding-left: 1rem;
}
.single li {
	font-size: 16px;
}
.single #content img {
	width: 100%;
}
.bct-reference-link a {
font-size: 14px;
	color: #009951;
	display: inline;
}
.single .article h3 {
border-left: 7px solid #86cc8a;	
}
.single .article h2 {
	color: #008444;
	background-color: #eff2ed;
}
.single .article strong {
	font-weight: 700!important;
}
.bct-reference-link a {
	color: #a8a8a8;
}
@media screen and (max-width: 758px) {
	.single #content-in {
		gap: 0;
	}
	.single .sidebar {
		margin-top: 0;
		margin-bottom: 0;
	}
	.single .content-in {
padding-left:0;	
	}
	.single #main {
		padding-left: 1.2rem!important;
		padding-right: 1.2rem!important;
	}
	.single .sidebar {
		flex: 1;
	}
	.single .content {
		padding-top: 0;
		padding-bottom: 0;
	}
	.single .entry-content p {
	font-size: 15px;
}
}
.single .entry-content ul {
	border: 1px solid #888;
	padding: 0.6rem;
	list-style: none;
	margin-top: -.5rem;
}
.single .entry-content ul li {
  position: relative;
	line-height: 1.5;
}
.single .entry-content ul li:not(:last-child){
	margin-bottom: 0.5rem;
}
.single .entry-content ul li::before {
	content: "・";
  color: #78CD2A;
}

@media screen and (max-width: 758px) {
.single .entry-content p {
	line-height: 1.75;
	font-size: 15.5px;
	font-weight: 400;
	}
}
/** ブログカードの調整 **/
.blogcard-thumbnail p:empty {
    display: none !important;
}

/* より確実にするなら */
.internal-blogcard-thumbnail p:empty,
.blogcard-thumbnail p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.blogcard-thumbnail p,.internal-blogcard-thumbnail p {
	margin-bottom: 0;
}

/* シンプルボーダーリストスタイル */
.single .entry-content ul {
    border: 2px solid #009951;
    border-radius: 8px;
    padding: 20px;
    background: #fefefe;
    list-style: none;
    margin: 1em 0;
	margin-bottom :2rem;
}

.single .entry-content ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    line-height: 1.6;
	font-size: 15px;
}

.single .entry-content ul li:not(:last-child) {
    margin-bottom: 8px;
}

.single .entry-content ul li::before {
    content: '▶';
    position: absolute;
    left: 0;
	top: 2px;
    color: #009951;
    font-size: 11px;
}
.thanks-content {
	text-align: center;
	padding-top: 80px;
	padding-bottom: 80px;
}
.thanks-p01 {
	color: #009951;
}
.thanks-p02 {
	margin-bottom: 20px;
}
.thanks-bottom {
margin-bottom: 3rem;	
}
.top-btn {
	display: flex;
	justify-content: center;
}
.top-btn-a {
	display: block;
	padding: 0.5rem 3rem;
	background-color: #009951;
	color: #fff;
	max-width: 300px;
	border-radius: 50px;
}
.p404-content {
	text-align: center;	
	padding-top: 80px;
	padding-bottom: 80px;
}
.p404-p01 {
color: #009951;
	font-size: 2rem;
	margin-bottom: 1rem!important;
}
@media screen and (max-width: 758px) {
	.thanks-content {
		padding-left: 20px;
		padding-right: 20px;
	}
	.thanks-p01 {
		font-size: 22px;
	}
	.p404-content {
		padding-left: 20px;
		padding-right: 20px;
	}
}