
/* ============================
   gene 当院オリジナル自律神経チェック
============================ */
.gene-check-invite{
  width:90%;
  max-width:980px;
  margin:28px auto 34px;
  padding:28px;
  box-sizing:border-box;
  position:relative;
  z-index:1;
  border:1px solid rgba(217,193,126,.34);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(217,193,126,.105), rgba(12,12,12,.82));
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.035);
  overflow:hidden;
}
.gene-check-invite::before{
  content:"";
  position:absolute;
  inset:auto -90px -130px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(217,193,126,.18), rgba(217,193,126,0) 62%);
  pointer-events:none;
}
.gene-check-invite__eyebrow{
  margin:0 0 12px;
  color:#d9c17e;
  font-size:.86rem;
  letter-spacing:.14em;
  text-align:center;
}
.gene-check-invite h2,
.gene-check-invite h3{
  margin:0 0 14px;
  color:#f4ead0;
  font-weight:500;
  line-height:1.55;
  font-size:clamp(1.35rem,2.5vw,1.95rem);
  text-align:center;
}
.gene-check-invite p{
  max-width:620px;
  margin:0 auto;
  color:rgba(255,255,255,.88);
  line-height:2;
  font-size:.96rem;
  text-align:center;
}
.gene-check-invite__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
  justify-content:center;
}
.gene-check-btn,
.gene-check-btn:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 20px;
  border-radius:999px;
  border:1px solid rgba(255,238,170,.82);
  background:linear-gradient(180deg,#fff0a8 0%,#ead893 42%,#d9c17e 100%);
  color:#111;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:0 12px 28px rgba(217,193,126,.24);
  transition:transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}
.gene-check-btn:hover{transform:translateY(-2px);opacity:.94;box-shadow:0 16px 34px rgba(217,193,126,.3);}
.gene-check-btn--ghost,
.gene-check-btn--ghost:visited{
  background:rgba(20,20,20,.88);
  color:#d9c17e;
  border-color:rgba(217,193,126,.46);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.gene-check-page-wrap{
  width:90%;
  max-width:980px;
  margin:0 auto 80px;
  position:relative;
  z-index:1;
}
.gene-check-card{
  padding:30px;
  border:1px solid rgba(217,193,126,.30);
  border-radius:24px;
  background:rgba(255,255,255,.055);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  box-sizing:border-box;
}
.gene-check-lead{
  margin:0 auto 28px;
  color:rgba(255,255,255,.9);
  line-height:2.05;
  text-align:center;
}
.gene-check-progress{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  margin:0 0 24px;
}
.gene-check-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#d9c17e,#fff0a8);
  transition:width .3s ease;
}
.gene-check-question{
  display:none;
}
.gene-check-question.is-active{
  display:block;
}
.gene-check-question__count{
  margin:0 0 10px;
  color:#d9c17e;
  font-size:.9rem;
  letter-spacing:.08em;
}
.gene-check-question h2{
  margin:0 0 22px;
  color:#f4ead0;
  font-weight:500;
  line-height:1.65;
  font-size:clamp(1.32rem,2.5vw,1.9rem);
}
.gene-check-options{
  display:grid;
  gap:12px;
}
.gene-check-options button{
  width:100%;
  min-height:54px;
  padding:14px 18px;
  border-radius:18px;
  border:1px solid rgba(217,193,126,.28);
  background:rgba(10,10,10,.68);
  color:rgba(255,255,255,.9);
  font-family:inherit;
  font-size:1rem;
  line-height:1.5;
  text-align:left;
  cursor:pointer;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}
.gene-check-options button:hover,
.gene-check-options button.is-selected{
  transform:translateY(-1px);
  border-color:rgba(234,216,147,.78);
  background:rgba(217,193,126,.13);
  color:#f4ead0;
}
.gene-check-nav{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
}
.gene-check-nav button{
  min-height:42px;
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(217,193,126,.32);
  background:rgba(20,20,20,.78);
  color:#d9c17e;
  font-family:inherit;
  cursor:pointer;
}
.gene-check-result{
  display:none;
}
.gene-check-result.is-active{
  display:block;
}
.gene-check-result h2{
  margin:0 0 16px;
  color:#f4ead0;
  font-weight:500;
  line-height:1.55;
}
.gene-check-result-id{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(217,193,126,.34);
  color:#d9c17e;
  background:rgba(217,193,126,.08);
  letter-spacing:.08em;
  font-size:.9rem;
}
.gene-check-bars{
  display:grid;
  gap:14px;
  margin:20px 0 24px;
}
.gene-check-bar-row{
  display:grid;
  grid-template-columns:112px 1fr 72px;
  gap:12px;
  align-items:center;
}
.gene-check-bar-label{color:#f4ead0;font-size:.94rem;line-height:1.4;}
.gene-check-bar-track{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;}
.gene-check-bar-fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#d9c17e,#fff0a8);}
.gene-check-bar-stars{color:#d9c17e;font-size:.86rem;white-space:nowrap;}
.gene-check-result-text{
  margin:18px 0 0;
  padding:22px;
  border-radius:20px;
  border:1px solid rgba(217,193,126,.22);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.9);
  line-height:2;
}
.gene-check-result-text p{margin:0 0 14px;}
.gene-check-result-text p:last-child{margin-bottom:0;}
.gene-check-related{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 0;
}
.gene-check-related-title{
  flex:0 0 100%;
  width:100%;
  margin:0 0 2px;
  color:rgba(255,255,255,.86);
  font-size:14px;
  letter-spacing:.08em;
}
.gene-check-related a,
.gene-check-related a:visited{
  color:#d9c17e;
  text-decoration:none;
  border:1px solid rgba(217,193,126,.36);
  border-radius:999px;
  padding:8px 13px;
  background:rgba(217,193,126,.07);
}
.gene-check-copy-box{
  margin:18px 0 0;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(217,193,126,.22);
  background:rgba(0,0,0,.28);
  color:rgba(255,255,255,.86);
  font-size:.9rem;
  line-height:1.8;
  white-space:pre-wrap;
  word-break:break-word;
}
.gene-check-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
@media (max-width:640px){
  .gene-check-invite{width:92%;padding:22px 18px;border-radius:20px;}
  .gene-check-invite p{text-align:center;font-size:.92rem;line-height:1.9;}
  .gene-check-page-wrap{width:92%;margin-bottom:64px;}
  .gene-check-card{padding:24px 18px;border-radius:20px;}
  .gene-check-lead{text-align:center;font-size:.92rem;line-height:1.9;}
  .gene-check-bar-row{grid-template-columns:88px 1fr;gap:8px 10px;}
  .gene-check-bar-stars{grid-column:2 / 3;}
  .gene-check-result-text{padding:18px;line-height:1.9;}
  .gene-check-result-actions,.gene-check-invite__actions{display:grid;grid-template-columns:1fr;}
  .gene-check-btn{width:100%;box-sizing:border-box;}
}


/* 表示タイミングを既存カードと統一 */
.gene-check-invite:not(.show),
.quick-check-page .breadcrumb-fixed:not(.show),
.quick-check-page .reserve-btn-sub:not(.show),
.quick-check-page .hamburger-btn:not(.show),
.quick-check-page .page-title:not(.show),
.quick-check-page .gene-check-lead:not(.show),
.quick-check-page .gene-check-card:not(.show),
.quick-check-page footer:not(.show){
  opacity:0 !important;
  transform:translateY(22px);
}
.gene-check-invite,
.quick-check-page .breadcrumb-fixed,
.quick-check-page .reserve-btn-sub,
.quick-check-page .hamburger-btn,
.quick-check-page .page-title,
.quick-check-page .gene-check-lead,
.quick-check-page .gene-check-card,
.quick-check-page footer{
  transition:opacity .65s ease, transform .65s ease;
}
.gene-check-invite.show,
.quick-check-page .breadcrumb-fixed.show,
.quick-check-page .reserve-btn-sub.show,
.quick-check-page .hamburger-btn.show,
.quick-check-page .page-title.show,
.quick-check-page .gene-check-lead.show,
.quick-check-page .gene-check-card.show,
.quick-check-page footer.show{
  opacity:1;
  transform:translateY(0);
}
.quick-check-page footer{
  width:90%;
  max-width:980px;
  margin:0 auto;
  text-align:center;
  padding:50px 0 70px;
  color:#d9c17e99;
  font-size:.95rem;
  line-height:1.9;
}
.quick-check-page footer .address-line1,
.quick-check-page footer .address-line2{display:inline;}
.gene-check-copy-box{display:none!important;}
.gene-check-result-note{
  margin:18px 0 0;
  color:rgba(255,255,255,.78);
  font-size:.9rem;
  line-height:1.8;
}


/* check.html：下部固定バーと症状パネルを既存ページと同じ見え方に固定 */
.quick-check-page .gene-mobile-bottom-nav,
.quick-check-page .gene-mobile-symptom-panel,
.quick-check-page .gene-mobile-symptom-backdrop{
  display:none;
}

@media (max-width:768px){
  .quick-check-page{
    padding-bottom:calc(76px + env(safe-area-inset-bottom));
  }

  .quick-check-page .gene-mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:9998 !important;
    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    gap:0 !important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
    background:rgba(5,5,5,.94) !important;
    border-top:1px solid rgba(217,193,126,.28) !important;
    box-shadow:0 -12px 30px rgba(0,0,0,.42) !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .quick-check-page .gene-mobile-bottom-nav a,
  .quick-check-page .gene-mobile-bottom-nav button{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    background:transparent !important;
    color:rgba(255,255,255,.82) !important;
    text-decoration:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    min-width:0 !important;
    min-height:50px !important;
    padding:4px 2px !important;
    font-family:inherit !important;
    letter-spacing:.04em !important;
    font-size:10px !important;
    line-height:1.25 !important;
    cursor:pointer !important;
  }

  .quick-check-page .gene-mobile-bottom-nav .nav-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:22px !important;
    height:22px !important;
    color:#d9c17e !important;
    font-size:18px !important;
    line-height:1 !important;
  }

  .quick-check-page .gene-mobile-bottom-nav .nav-text{
    white-space:nowrap !important;
    color:inherit !important;
  }

  .quick-check-page .gene-mobile-bottom-nav .line-nav,
  .quick-check-page .gene-mobile-bottom-nav .line-nav:visited{
    color:#111 !important;
    background:linear-gradient(180deg,#fff0a8 0%,#ead893 42%,#d9c17e 100%) !important;
    border:1px solid rgba(255,238,170,.88) !important;
    border-radius:16px !important;
    box-shadow:0 12px 30px rgba(217,193,126,.28), 0 0 22px rgba(217,193,126,.22) !important;
    font-weight:700 !important;
  }

  .quick-check-page .gene-mobile-bottom-nav .line-nav .nav-icon,
  .quick-check-page .gene-mobile-bottom-nav .line-nav .nav-text{
    color:#111 !important;
    font-weight:700 !important;
  }

  .quick-check-page .gene-mobile-symptom-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:9996 !important;
    display:block !important;
    background:rgba(0,0,0,.38) !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
  }

  .quick-check-page .gene-mobile-symptom-backdrop.open{
    opacity:1;
    pointer-events:auto;
  }

  .quick-check-page .gene-mobile-symptom-panel{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:calc(72px + env(safe-area-inset-bottom)) !important;
    top:auto !important;
    z-index:9997 !important;
    display:block !important;
    max-height:calc(100vh - 112px - env(safe-area-inset-bottom)) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    padding:15px 14px 14px !important;
    border:1px solid rgba(217,193,126,.34) !important;
    border-radius:22px !important;
    background:rgba(8,8,8,.96) !important;
    box-shadow:0 -16px 34px rgba(0,0,0,.5) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transform:translateY(18px);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
  }

  .quick-check-page .gene-mobile-symptom-panel.open{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }

  .quick-check-page .gene-mobile-symptom-panel-title{
    position:sticky;
    top:-15px;
    z-index:2;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin:-15px -14px 12px !important;
    padding:14px 14px 10px !important;
    background:rgba(8,8,8,.98) !important;
    border-bottom:1px solid rgba(217,193,126,.16) !important;
    color:#d9c17e !important;
    font-size:.95rem !important;
    letter-spacing:.08em !important;
  }

  .quick-check-page .gene-mobile-symptom-close{
    appearance:none !important;
    -webkit-appearance:none !important;
    border:1px solid rgba(217,193,126,.28) !important;
    background:rgba(255,255,255,.04) !important;
    color:#d9c17e !important;
    width:34px !important;
    height:34px !important;
    border-radius:50% !important;
    font-size:1.35rem !important;
    line-height:1 !important;
    cursor:pointer !important;
  }

  .quick-check-page .gene-mobile-symptom-grid{
    display:block !important;
  }

  .quick-check-page .gene-mobile-symptom-group{
    margin:0 0 14px !important;
  }

  .quick-check-page .gene-mobile-symptom-group-title{
    margin:0 0 8px !important;
    color:rgba(217,193,126,.92) !important;
    font-size:.78rem !important;
    letter-spacing:.08em !important;
    line-height:1.4 !important;
  }

  .quick-check-page .gene-mobile-symptom-list{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .quick-check-page .gene-mobile-symptom-list a,
  .quick-check-page .gene-mobile-symptom-list a:visited{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    min-height:42px !important;
    padding:10px 11px !important;
    border-radius:14px !important;
    border:1px solid rgba(217,193,126,.38) !important;
    background:rgba(217,193,126,.10) !important;
    color:#d9c17e !important;
    text-decoration:none !important;
    font-size:.84rem !important;
    line-height:1.35 !important;
    box-shadow:none !important;
  }

  .quick-check-page .gene-mobile-symptom-list a::after{
    content:"›";
    color:#d9c17e !important;
    font-size:1.05rem;
    line-height:1;
    opacity:.85;
  }

  .quick-check-page .gene-mobile-extra-links{
    position:sticky;
    bottom:-14px;
    display:flex;
    gap:8px;
    margin:14px -14px -14px;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(8,8,8,.78),rgba(8,8,8,.98) 24%);
  }

  .quick-check-page .gene-mobile-extra-links a,
  .quick-check-page .gene-mobile-extra-links a:visited{
    flex:1;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    border:1px solid rgba(217,193,126,.32);
    color:#d9c17e !important;
    text-decoration:none;
    background:rgba(217,193,126,.08);
    font-size:.84rem;
  }
}
