.elementor-6604 .elementor-element.elementor-element-4579d69{--display:flex;}/* Start custom CSS for html, class: .elementor-element-11bc89c */html{
  scroll-behavior:smooth;
  overflow-x:hidden;
}

body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;

  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "Noto Serif JP",
    serif;

  color:#f7e9ef;

  background:
    linear-gradient(
      180deg,
      rgba(18,10,20,0.55),
      rgba(28,12,26,0.62)
    ),
    url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8819%E6%97%A5-13_34_31.png")
    center center / cover no-repeat fixed;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

/* =========================
   復縁ページ 全体
========================= */

.reunion-section{
  width:100%;
  padding:70px 20px;
  box-sizing:border-box;
  display:flex;
  justify-content:center;
  background:transparent;
  color:#fff;
}

.reunion-inner{
  width:100%;
  max-width:900px;
  margin:0 auto;
  padding:38px 42px 52px;
  text-align:center;
  box-sizing:border-box;

  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "Noto Serif JP",
    serif;

  color:#fff;

  background:linear-gradient(
    135deg,
    rgba(25,35,58,0.64),
    rgba(45,58,82,0.48),
    rgba(20,28,50,0.58)
  );

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  border:1px solid rgba(255,255,255,0.36);
  border-radius:18px;

  box-shadow:
    0 18px 50px rgba(0,0,0,0.28),
    inset 0 0 40px rgba(255,255,255,0.08);
}

/* =========================
   テキスト
========================= */

.reunion-lead p,
.between-text{
  margin:0 0 18px;
  font-size:16px;
  line-height:1.9;
  font-weight:700;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

.between-text{
  margin:34px auto 18px;
}

/* =========================
   色文字
========================= */

.pink{ color:#ff6fa8; font-weight:900; }
.orange{ color:#ffb36b; font-weight:900; }
.blue{ color:#73d5ff; font-weight:900; }
.green{ color:#8ee6a3; font-weight:900; }
.purple{ color:#c99cff; font-weight:900; }

/* =========================
   フレーム共通
========================= */

.glass-frame{
  position:relative;
  width:100%;
  max-width:680px;
  margin:34px auto;
  padding:38px 44px;
  box-sizing:border-box;
  text-align:center;

  background:linear-gradient(
    135deg,
    rgba(18,30,55,0.42),
    rgba(44,58,84,0.30),
    rgba(15,24,45,0.44)
  );

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);

  border:1px solid rgba(255,255,255,0.52);
  border-radius:18px;

  box-shadow:
    inset 0 0 30px rgba(255,255,255,0.08),
    0 10px 28px rgba(0,0,0,0.18);
}

.glass-frame::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(255,255,255,0.42);
  border-radius:14px;
  pointer-events:none;
}

.glass-frame h3,
.glass-frame h4,
.glass-frame p,
.glass-frame div,
.glass-frame span,
.glass-frame li{
  position:relative;
  z-index:1;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

.glass-frame h3{
  margin:24px 0;
  font-size:18px;
  line-height:1.6;
  font-weight:900;
}

.glass-frame p{
  margin:14px 0;
  font-size:16px;
  line-height:1.8;
  font-weight:700;
}

/* =========================
   歪なアンダーライン
========================= */

.brush-under{
  position:relative;
  display:inline-block;
  padding:0 8px 8px;
  color:#fff !important;
  font-weight:900;
  z-index:1;
}

.brush-under::after{
  content:"";
  position:absolute;
  left:-10px;
  right:-10px;
  bottom:4px;
  height:10px;
  z-index:-1;

  border-radius:
    45% 55% 48% 52% /
    60% 35% 65% 40%;

  filter:blur(.2px);
}

.brush-pink::after{ background:#dca7bd; }
.brush-yellow::after{ background:#e4ce7f; }
.brush-blue::after{ background:#a8b8d8; }
.brush-mint::after{ background:#8ed2c4; }
.brush-orange::after{ background:#e9a98c; }
.brush-green::after{ background:#8ed2c4; }
.brush-purple::after{ background:#cdb8e8; }

/* =========================
   復縁期待度
========================= */

.rating-box{
  position:relative;
  z-index:1;
  margin-top:24px;
}

.rating{
  display:inline-block;
  padding:9px 28px;
  border-radius:12px;

  background:linear-gradient(
    135deg,
    #f3a7bd 0%,
    #e8c4e8 52%,
    #b8d8e8 100%
  );

  font-size:18px;
  font-weight:900;
  letter-spacing:1px;
  color:#fff;
  text-shadow:0 0 8px rgba(0,0,0,0.28);

  box-shadow:
    0 4px 12px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.75);
}

/* =========================
   グラフフレーム
========================= */

.graph-frame{
  max-width:760px;
  padding:40px 34px;
}

.chart-block{
  position:relative;
  z-index:1;
  width:100%;
  margin-bottom:60px;
}

.chart-block:last-child{
  margin-bottom:0;
}

.chart-title{
  margin:0 0 26px !important;
  font-size:18px !important;
  line-height:1.6;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

/* =========================
   相性バランス 横棒グラフ
========================= */

.bar-chart{
  width:100%;
  max-width:620px;
  margin:24px auto 0;
}

.bar-row{
  display:grid;
  grid-template-columns:80px 1fr 52px;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.bar-label{
  font-size:15px;
  font-weight:800;
  text-align:right;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

.bar-track{
  height:24px;
  background:rgba(255,255,255,0.78);
  border-radius:999px;
  overflow:hidden;
  box-shadow:inset 0 0 8px rgba(0,0,0,0.06);
}

.bar-fill{
  height:100%;
  border-radius:999px;
}

.love{ background:#e8b7c8; }
.marriage{ background:#edd4a5; }
.talk{ background:#a9d8e8; }
.relief{ background:#b8d8b4; }
.destiny{ background:#c8b7e8; }

.bar-percent{
  font-size:14px;
  font-weight:800;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

.axis{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  margin-left:92px;
  margin-top:10px;
  font-size:12px;
  font-weight:700;
  color:#fff;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

.graph-comment-space{
  min-height:90px;
  margin:28px auto 0;
  padding:8px 14px;
  font-size:14px;
  line-height:1.75;
  font-weight:700;
  color:#fff;
  text-align:left;
  text-shadow:0 0 10px rgba(0,0,0,0.35);
}

/* =========================
   復縁ロードマップ
========================= */

.roadmap-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-top:26px;
}

.road-card{
  min-height:130px;
  padding:10px 6px;
  border-radius:14px;

  background:linear-gradient(180deg,#f4c9d8,#ead7f1);
  border:1px solid rgba(255,255,255,.8);

  box-shadow:
    inset 0 0 14px rgba(255,255,255,.38),
    0 4px 12px rgba(0,0,0,.06);

  transition:.25s ease;
  cursor:pointer;
}

.road-card:nth-child(even){
  background:linear-gradient(180deg,#ded2f0,#f4d8e8);
}

.road-card:hover,
.road-card:focus,
.road-card:active{
  transform:scale(1.12);
  z-index:10;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.road-card span{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:999px;

  background:rgba(255,255,255,.86);
  color:#57416f;

  font-weight:900;
  font-size:13px;
  margin-bottom:8px;
  text-shadow:none;
}

.road-card p{
  margin:0;
  font-size:11px;
  line-height:1.5;
  font-weight:800;
  color:#2d2640;
  text-shadow:none;
}

/* =========================
   4つのパネル
========================= */

.mini-buttons{
  width:100%;
  max-width:620px;
  margin:26px auto 28px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.mini-buttons a{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:58px;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;

  color:#fff;
  font-size:15px;
  font-weight:900;
  text-shadow:0 0 8px rgba(0,0,0,0.28);

  background:linear-gradient(135deg,#f2b7c9,#e7d6f3);
  border:1px solid rgba(255,255,255,.75);

  box-shadow:
    0 5px 14px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.75);
}

.mini-buttons a:nth-child(2){
  background:linear-gradient(135deg,#f1c7a9,#ded4ef);
}

.mini-buttons a:nth-child(3){
  background:linear-gradient(135deg,#d9d6ce,#d8d1ef);
}

.mini-buttons a:nth-child(4){
  background:linear-gradient(135deg,#c6d9ef,#efd1dc);
}

/* =========================
   下部ボタン
========================= */

.result-button-area{
  display:flex;
  justify-content:center;
  gap:22px;
  margin-top:30px;
}

.result-btn{
  width:250px;
  min-height:88px;
  padding:16px;
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  box-sizing:border-box;

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  border:1px solid rgba(255,255,255,0.55);
  box-shadow:
    inset 0 0 20px rgba(255,255,255,0.14),
    0 8px 22px rgba(0,0,0,0.18);
}

.result-btn strong{
  display:block;
  font-size:18px;
  margin-bottom:7px;
  color:#fff;
}

.result-btn span{
  display:block;
  font-size:11px;
  line-height:1.5;
  color:#fff;
}

.blue-btn{
  background:rgba(120,150,255,0.34);
}

.green-btn{
  background:rgba(130,210,150,0.34);
}



/* =========================
   スマホ
========================= */
@media(max-width:768px){

  .reunion-section{
    padding:34px 10px 52px;
  }

  .reunion-inner{
    max-width:100%;
    padding:26px 12px 34px;
    border-radius:18px;
  }

  .reunion-lead p,
  .between-text{
    font-size:13px;
    line-height:1.85;
  }

  .glass-frame{
    margin:26px auto;
    padding:30px 14px;
    border-radius:18px;
  }

  .glass-frame::before{
    inset:6px;
    border-radius:14px;
  }

  .glass-frame h3{
    font-size:14px;
    line-height:1.7;
    margin:20px 0;
  }

  .glass-frame p{
    font-size:12px;
    line-height:1.75;
  }

  .brush-under{
    padding:0 6px 7px;
  }

  .brush-under::after{
    left:-7px;
    right:-7px;
    bottom:4px;
    height:8px;
  }

  .rating{
    font-size:14px;
    padding:8px 20px;
  }

  .graph-frame{
    padding:28px 10px;
  }

  .chart-block{
    margin-bottom:48px;
  }

  .chart-title{
    font-size:14px !important;
    line-height:1.7;
  }

  .bar-row{
    grid-template-columns:48px 1fr 38px;
    gap:6px;
    margin-bottom:12px;
  }

  .bar-label{
    font-size:10px;
  }

  .bar-track{
    height:18px;
  }

  .bar-percent{
    font-size:10px;
  }

  .axis{
    margin-left:54px;
    font-size:8.5px;
  }

  .graph-comment-space{
    min-height:78px;
    margin-top:20px;
    padding:6px 4px;
    font-size:11px;
    line-height:1.65;
  }

  .roadmap-grid{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:22px;
  }

  .road-card{
    min-height:112px;
    padding:8px 5px;
    border-radius:11px;
  }

  .road-card span{
    width:34px;
    height:34px;
    font-size:11px;
    margin-bottom:6px;
  }

  .road-card p{
    font-size:9.5px;
    line-height:1.45;
  }

  .mini-buttons{
    max-width:340px;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
  }

  .mini-buttons a{
    min-height:48px;
    padding:9px 8px;
    font-size:12px;
    border-radius:999px;
  }

  .result-button-area{
    flex-direction:column;
    align-items:center;
    gap:14px;
    margin-top:28px;
  }

  .result-btn{
    width:88%;
    max-width:320px;
  }

  .result-btn strong{
    font-size:16px;
  }

  .result-btn span{
    font-size:10px;
  }

}/* End custom CSS */