@charset "utf-8";
/* --- PC表示での写真固定（スティッキー）設定 --- */
        .sticky-photo-container {
            position: sticky;
            top: 11vh; 
            /* 写真のアスペクト比を維持し、コンテナの高さを確保 */
            aspect-ratio: 1 / 1;
            /* position: relative; を削除しました。これが固定されない原因でした。*/
        }

        /* --- 写真の表示/非表示制御（フェード効果改善） --- */
        .lawyer-photo {
            /* display:none から position:absolute に変更 */
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover; /* 画像がコンテナをはみ出さずに埋まるように */

            border-radius: 0.5rem;
            
            /* visibilityとopacityで滑らかな切り替えを実現 */
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.4s ease-in-out, visibility 0.4s;
        }
        .lawyer-photo.active {
            opacity: 1;
            visibility: visible;
        }

        /* --- 右カラムのテキストセクション設定 --- */
        .lawyer-section {
          border-top:1px solid #ccc;
            padding-top: 3rem;
            padding-bottom: 10vh;
            min-height: 10vh;
            color:#595757;
        }
        .lawyer-section:last-child {
            border-bottom: none;
            padding-bottom: 10vh;
            min-height: auto;
        }
        .lawyer-section h2 {
            font-weight: 400;
            font-size:1.5rem;
        }

        .lawyer-section dt {
          font-weight:normal;
        }

        .lawyer-section-topic {
          font-size:1.1rem;
          font-weight:700;
          margin-bottom:1rem;
          margin-bottom:1.5rem;
        }

        .lawyer-name {
          margin-bottom:1.5rem;
        }

        .lawyer-name h2,
        .lawyer-name p{
          color:#002863;
        }

        .lawyer-name p {
          font-size:0.7rem;
        }

        .practice-con-title-sub {
        letter-spacing: 0.3rem;
      }

      img.sns-icon {
        width:20px;
      }

      .lawyers-bg {
        background:url(../img/common/light-bg.png) no-repeat 0 -17vh/cover fixed;
      }

        /* --- スマホ表示用の写真調整 --- */
        @media (max-width: 767.98px) {
            .lawyer-photo-sp {
                max-width: 330px;
                margin: 3rem auto 1.5rem;
                display: block;
                border-radius: 0.5rem;
                box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            }
        }
@media screen and (max-width:599px)  {
          .lawyer-section {
            padding:0 1rem 6rem 1rem;
          }
        }

        @media (min-width: 768px) {
        .responsive-accordion .accordion-collapse {
          /* アコーディオンを常に開く */
          display: block !important;
          visibility: visible !important;
          height: auto !important;
        }
      
        .responsive-accordion .accordion-button {
          /* PC時はボタンとして機能させない */
          pointer-events: none;
          background-color: transparent;
          box-shadow: none;
          /* 元の見出し (.lawyer-section-topic) の上下余白を再現 */
          padding: 0;
          /* 元の .mb-5 の代わりとして機能 */
          margin-bottom: 1.5rem; 
        }
      
        .responsive-accordion .accordion-button:not(.collapsed) {
          background-color: transparent;
          color: inherit;
        }
      
        .responsive-accordion .accordion-button::after {
          /* PC時は矢印アイコンを非表示 */
          display: none;
        }
        
        .responsive-accordion .accordion-body {
          /* PC時は本文の余白をリセット */
          padding: 0;
        }
      
        .responsive-accordion .accordion-item {
          /* PC時は枠線をリセット */
          border: none;
          /* ★★★ PC時は背景色を透明にする ★★★ */
          background-color: transparent; 
        }
        
        /* 元の .lawyer-section-topic のスタイルをボタン内のテキストに適用 */
        .responsive-accordion .accordion-button .lawyer-section-topic {
          font-size: 1.1rem;
          font-weight: bold;
          color: #000;
          /* PC時の下線を削除 (前回の修正) */
          /* border-bottom: 2px solid #004097; */
          padding-bottom: 5px;
          width: 100%;
          margin-bottom: 0; 
        }

        /* PC時、最後のアイテムのボトムマージンを削除 */
/*
.responsive-accordion .accordion-item:last-child .accordion-button {
  margin-bottom: 0;
}
*/
      }
      
      /* スマホサイズ (md: 767.98px 未満) の設定 */
      @media (max-width: 767.98px) {
        .responsive-accordion .accordion-button {
          /* Bootstrapのデフォルト余白を適用 */
          padding: 1rem 1.25rem;
        }
        
        .responsive-accordion .accordion-button .lawyer-section-topic {
          /* スマホ時は見出しのスタイルをボタンテキストに適用 */
          font-size: 1.1rem;
          font-weight: bold;
          color: #212529; /* Bootstrapのデフォルト文字色 */
          /* 下線は不要 */
          border-bottom: none;
          padding-bottom: 0;
          margin-bottom: 0;
        }
      
        /* 本文の余白を調整 */
        .responsive-accordion .accordion-body {
          padding-top: 0; 
        }
      
        /* 各アコーディオンアイテム間に余白を持たせる (元の .mb-5 の代わり) */
        .responsive-accordion .accordion-item {
           margin-bottom: 1.5rem;
           /* スマホでは枠線を消す (Flush風) */
           border: none;
           background-color: transparent; /* 背景も透明に */
           /* ▼▼▼ 追加：項目ごとの間隔を確保（ここを追加） ▼▼▼ */
          margin-bottom: 3rem;
        }
        
        /* 最後のアイテムの余白は不要 */
        .responsive-accordion .accordion-item:last-child {
            margin-bottom: 3rem;
        }
        
        /* スマホ時はアコーディオン本文の背景を白にする */
        .responsive-accordion .accordion-body {
            background-color: #fff;
            padding: 1rem 1.25rem;
        }
      }