/*
Theme Name: Aokita Theme
Theme URI: https://aokita-law.com/
Template: ystandard
Author: aoyamakita-law
Author URI: https://aokita-law.com/
Description: 青山北町法律事務所
Version: 1.0
Updated: 2026-04-19 14:00:00

*/
/* ポップアップ外枠 */
.popup-overlay {

    display: none;
    position: fixed;
    top: 0;
    left: 5;
    width: 101%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.3s ease-out;

}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* コンテンツエリア */
.popup-content {

    background: #fff;
    width: 90%;
    max-width: 450px;
    padding: 30px 20px;
    border-radius: 8px;
    position: relative;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);

}

/* タイトル・テキスト */
.popup-title {

    font-size: 1.1rem;
    font-weight: bold;
    color: #1a3a5a;
    margin-bottom: 15px;
    line-height: 1.4;

}

.popup-text {

    font-size: 0.9rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 25px;

}

/* ボタン共通 */
.button-container a {

    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 50px;
    padding: 12px 10px;
    margin-bottom: 15px;
    transition: opacity 0.3s;

}

.btn-main {
    font-weight: bold;
    font-size: 1rem;
}

.btn-sub {
    font-size: 0.75rem;
    opacity: 0.9;
    margin-top: 2px;
}

/* LINEボタン */
.btn-line {
    background: #06C755;
    color: #fff;
}

/* フォームボタン */
.btn-form {
    background: #1a3a5a;
    color: #fff;
}

/* 閉じるボタン */
.popup-close {

    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;

}

/*目次上アコーディオンCTA*/

/* --- 基本構造 --- */
.accordion-cta-wrapper {
  max-width: 420px;
	margin: 58px auto 32px;
}

.accordion-cta {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  width: 100%;
  overflow: visible;
  border: 1px solid #f0f0f0;
　position: relative;
}

/* --- ヘッダー部分 --- */
.accordion-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  height: 55px;
  position: relative;
  cursor: pointer;
  user-select: none;
}

/* 矢印（左側） */
.accordion-header::before {
  content: '▼';
  font-size: 24px;
  color: #1f3666;
  transition: transform 0.3s ease;
  margin-right: 10px;
	position: absolute;
  left: 16px; /* padding分 */
  top: 50%;
  transform: translateY(-50%);
}
/* 開いた時の矢印回転 */
.accordion-cta.is-open .accordion-header::before {
  transform: translateY(-50%) rotate(180deg);
}

.accordion-title {
  font-weight: 700;
  /* 改行を防ぐための設定 */
  font-size: clamp(15px, 4vw, 20px); /* 画面幅に合わせて自動縮小 */
  color: #1f3666;
  z-index: 2;
  -webkit-text-stroke: 4px #ffffff;
  paint-order: markers stroke fill;
  text-align: center;
  
  /* パディングではなく、左右に最低限の空きを作る */
  margin: 0 40px; 
  white-space: nowrap; /* 絶対に改行させない */
  overflow: hidden;
  text-overflow: ellipsis; /* もし入り切らない場合は「...」にする安全策 */
}

.accordion-icon-wrapper {
  position: absolute;
  top: -8px;
  right: -14px;
  width: 68px;
  height: 68px;
  z-index: 100 !important;
  pointer-events: none;
}
.accordion-icon-img {
  width: 100%;
  height: 100%;
  display: block;
}

/* --- コンテンツ部分の「チラ見せ」制御 --- */
.accordion-content {
  position: relative;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
  /* 最初からこの高さ分だけ見せる */
  max-height: 110px; 
}

/* --- 続きを読むオーバーレイ --- */
.read-more-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1) 85%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 15px;
  z-index: 10;
  pointer-events: none;
  transition: opacity 0.3s;
}

/* 開いたらオーバーレイを消す */
.accordion-cta.is-open .read-more-overlay {
  opacity: 0;
  visibility: hidden;
}

.read-more-trigger {
  background: #1f3666;
  color: #fff;
  padding: 8px 30px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: bold;
  box-shadow: 0 4px 15px rgba(31, 54, 102, 0.3);
  pointer-events: auto;
  cursor: pointer;
}

/* --- 内部コンテンツ --- */
.accordion-content-inner {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  padding: 10px 20px 30px;
  border-top: 1px solid #f0f0f0;
}

.accordion-text {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  width: 100%;
}
.text-red { color: #E11D48; font-weight: bold; }

.accordion-button-line {
  width: 100%;
  max-width: 300px;
  display: block;
}
.accordion-button-line img { width: 100%; height: auto; }

.accordion-note { font-size: 11px; color: #666; margin: 0; }

/* PC表示 */
@media (min-width: 768px) {
  .accordion-cta-wrapper { max-width: 700px; }
  .accordion-title { font-size: 22px; }
	.accordion-icon-wrapper {width: 82px;   /* 68pxから一回り大きく（約1.4倍） */
		height: 82px;}
  .accordion-content { max-height: 130px; }
  .accordion-text { font-size: 16px; }
}

/* 1. リスト全体の枠組み（ul）の調整 */
.single-post .entry-content .wp-block-list {
  /* ::markerの余白に相当する部分（左インデント）を調整 */
  /* 1.7emだと広すぎるので1.0em程度に。ここを増減して「・」の位置を調整してください */
  padding-left: 1.1em ; 
  margin-bottom: 2rem;
}

/* 2. 各項目（li）のデザイン調整 */
.single-post .entry-content .wp-block-list li {
  /* 文字サイズを<p>タグ（本文）と一致させる */
  font-size: clamp(14px, 1.6511867905vw, 16px);
  
  /* 太字を解除して標準の太さに */
  font-weight: normal !important;
  
  /* 行間を本文に合わせる（1.6〜1.8くらいが読みやすいです） */
  line-height: 1.6;

  /* 視認性アップ：ドットの下線を追加 */
  border-bottom: 1px dotted #d1d5db; /* 薄いグレーのドット線 */
  
  /* 線と文字の間の余白（パキッと見せるための重要ポイント） */
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  
  /* リストの「・」を文字の外側に配置 */
  list-style-position: outside; 
}

/* 3. 最後の項目の下線だけ消す（スッキリ見せるテクニック） */
.single-post .entry-content .wp-block-list li:last-child {
  border-bottom: none;
}

/* 4. 【おまけ】さらに視認性を上げる：ポッチ（・）の色をアクセントに */
.single-post .entry-content .wp-block-list li::marker {
  /* 事務所カラーやネイビーなどに変えると、より「デザインした感」が出ます */
  color: #1F3666; 
}

/* 追従バナー */

.floating-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.9); /* 少し透過させて圧迫感を軽減 */
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    padding-bottom: env(safe-area-inset-bottom); /* iOSセーフエリア対応 */
    transition: transform 0.3s ease-in-out;
}

.banner-wrapper {
    position: relative;
    max-width: 320px; /* バナーの横幅に合わせる */
    margin: 0 auto;
	padding-top:0.7em;
}

.banner-link img {
    width: 100%;
    height: auto;
    display: block;
}

.close-btn {
    position: absolute;
    top: -15px; /* 位置は適宜調整してください */
    left: 10px;
    
    /* 正円を保つための設定 */
    width: 30px;
    height: 30px;
    padding: 0;         /* 余計な余白をリセット */
    line-height: 30px;  /* 高さと同じにすると文字が垂直中央に来ます */
    text-align: center; /* 水平中央 */
    
    background: #333;
    color: #fff;
    border: 2px solid #fff; /* 背景に埋もれないよう白枠を付けると視認性が上がります */
    border-radius: 50%;
    
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    
    /* 念のため他スタイルの干渉を防ぐ */
    min-width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 先頭へ戻るボタンの調整 */
#back-to-top,
.is-square .back-to-top__content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px; 
    position: fixed;
    bottom: 90px;
    right: 10px;
	z-index: 10000;
}