.element-card-table{

  padding: 70px 18px;

}



.element-box{

  max-width: 760px;

  margin: 0 auto;

  background: #fff;

  border-radius: px;

  padding: 26px 24px;

}



.element-title{

  display: inline-block;

  background: linear-gradient(90deg,#9b8cff,#e083d9);

  padding: 8px 28px;

  font-weight: bold;

  font-size: 20px;

}



.element-lead{

  background: linear-gradient(90deg,#f3b1ee,#e978db);

  padding: 14px 18px;

  margin: 0 0 28px;

  line-height: 1.8;

}



.element-group{

  margin-bottom: 34px;

}



.element-group h3{

  font-size: 22px;

  margin-bottom: 12px;

}



.element-row{

  display: grid;

  grid-template-columns: repeat(3,1fr);

}



.element-row div{

  min-height: 170px;

  padding: 22px;

  font-size: 18px;

  line-height: 1.8;

}



.element-row strong{

  display: block;

  font-size: 23px;

  margin-bottom: 8px;

}



.fire .element-row div{ background:#f8b7b1; }

.earth .element-row div{ background:#d8cac4; }

.air .element-row div{ background:#dff5fb; }

.water .element-row div{ background:#d7e4ff; }



@media(max-width:768px){

  .element-box{

    padding: 18px 14px;

  }



  .element-row{

    grid-template-columns: repeat(3,1fr);

  }



  .element-row div{

    padding: 12px 8px;

    font-size: 13px;

    min-height: 145px;

  }



  .element-row strong{

    font-size: 17px;

  }



  .element-group h3{

    font-size: 17px;

  }

}









/* 全体背景 */



.element-box{



  max-width: 760px;



  margin: 0 auto;



  padding: 26px 24px;



  border-radius: 8px;



  background: rgba(255,255,255,0.12);



  backdrop-filter: blur(18px);



  -webkit-backdrop-filter: blur(18px);



  border: 1px solid rgba(255,255,255,0.25);



  box-shadow:

    0 8px 32px rgba(0,0,0,0.12);



}





/* タイトル */



.element-title{



  display: inline-block;



  background: linear-gradient(

    90deg,

    rgba(155,140,255,0.85),

    rgba(224,131,217,0.85)

  );



  padding: 8px 28px;



  border-radius: 999px;



  color: #fff;



  font-weight: bold;



  font-size: 20px;



  backdrop-filter: blur(8px);

}





/* 説明部分 */



.element-lead{



  background: rgba(255,255,255,0.18);



  backdrop-filter: blur(12px);



  -webkit-backdrop-filter: blur(12px);



  border: 1px solid rgba(255,255,255,0.22);



  border-radius: 18px;



  padding: 16px 18px;



  margin: 14px 0 32px;



  line-height: 1.8;



  color: #fff;

}





/* 各エレメントカード */



.element-row div{



  min-height: 170px;



  padding: 22px;



  border-radius: 9px;



  font-size: 18px;



  line-height: 1.8;



  backdrop-filter: blur(10px);



  -webkit-backdrop-filter: blur(10px);



  border: 1px solid rgba(255,255,255,0.18);



}





/* 火 */



.fire .element-row div{



  background: rgba(255,170,170,0.22);

}





/* 地 */



.earth .element-row div{



  background: rgba(220,205,190,0.22);

}





/* 風 */



.air .element-row div{



  background: rgba(210,240,255,0.22);

}





/* 水 */



.water .element-row div{



  background: rgba(190,210,255,0.22);

}





/* 星座タイトル */



.element-row strong{



  display: block;



  font-size: 24px;



  margin-bottom: 10px;



  color: #fff;

}





/* テキスト */



.element-row div{



  color: rgba(255,255,255,0.92);

}





/* スマホ */



@media(max-width:768px){



  .element-box{



    padding: 18px 14px;

  }



  .element-row div{



    padding: 14px 10px;



    font-size: 13px;



    min-height: 150px;

  }



  .element-row strong{



    font-size: 17px;

  }



}

















/* =========================

   全体

========================= */



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-13_34_31.png")

    center center / cover no-repeat fixed;

}



*,

*::before,

*::after {

  box-sizing: border-box;

}





/* =========================

   ヒーロー

========================= */



.fortune-hero {

  position: relative;

  min-height: 100vh;

  padding: 0 0 5px;

  overflow: hidden;

}



.hero-title-wrap {

  position: relative;

  z-index: 2;

  text-align: center;

  margin-bottom: 5px;

}



.hero-title-img {

  display: block;

  width: 400px;

  max-width: 88vw;

  height: auto;

  margin: 0 auto;



  filter:

    drop-shadow(0 0 8px rgba(255,255,255,0.2))

    drop-shadow(0 0 18px rgba(255,215,120,0.35))

    drop-shadow(0 0 34px rgba(255,215,120,0.18));



  animation: logoGlow 4s ease-in-out infinite;

}



@keyframes logoGlow {

  0% {

    filter:

      drop-shadow(0 0 6px rgba(255,255,255,0.45))

      drop-shadow(0 0 16px rgba(255,215,120,0.25))

      drop-shadow(0 0 28px rgba(255,215,120,0.12));

  }



  50% {

    filter:

      drop-shadow(0 0 10px rgba(255,255,255,0.75))

      drop-shadow(0 0 24px rgba(255,215,120,0.45))

      drop-shadow(0 0 42px rgba(255,215,120,0.28));

  }



  100% {

    filter:

      drop-shadow(0 0 6px rgba(255,255,255,0.45))

      drop-shadow(0 0 16px rgba(255,215,120,0.25))

      drop-shadow(0 0 28px rgba(255,215,120,0.12));

  }

}



.fortune-hero__inner {

  position: relative;

  z-index: 2;



  width: min(850px, calc(100% - 40px));

  margin: 0 auto;



  display: grid;

  grid-template-columns: 1fr 0.95fr;

  gap: 54px;

  align-items: center;

}



.fortune-hero__content {

  max-width: 560px;

}



.fortune-hero__sub {

  color: #f3d98a;

  font-size: 15px;

  line-height: 1.9;

  letter-spacing: 0.12em;

  margin-bottom: 20px;

}



.fortune-hero__title {

  margin: 0 0 26px;



  color: #f7e7b8;

  font-size: clamp(36px, 5vw, 62px);

  line-height: 1.25;

  letter-spacing: 0.08em;



  text-shadow:

    0 0 18px rgba(255,255,255,0.45),

    0 0 34px rgba(216,91,122,0.18);

}





.small-text {

  font-size: 0.62em;

}



.fortune-hero__text {

  color: rgba(255, 245, 220, 0.88);

  font-size: 16px;

  line-height: 2.1;

  margin-bottom: 34px;

}





/* =========================

   ヒーローボタン

========================= */



.fortune-hero__buttons {

  display: flex;

  flex-wrap: wrap;

  gap: 16px;

  align-items: center;

}



.menu-image-button,

.image-fortune-button {

  background: transparent !important;

  border: none !important;

  padding: 0 !important;

  box-shadow: none !important;

  cursor: pointer;

}



.menu-image-button img {

  width: 260px;

  max-width: 80vw;

  height: auto;

  transition: transform 0.3s ease, filter 0.3s ease;

}



.menu-image-button:hover img {

  transform: translateY(-3px) scale(1.03);

  filter: drop-shadow(0 0 18px rgba(255, 215, 120, 0.36));

}



.go-mypage-btn,

.horoscope-explain-btn,

.fortune-btn {

  display: inline-flex;

  justify-content: center;

  align-items: center;



  min-height: 48px;

  padding: 0 24px;



  border-radius: 999px;

  border: 1px solid rgba(205, 157, 74, 0.42);



  background:

    linear-gradient(135deg, rgba(255,255,255,0.75), rgba(255,242,248,0.58));



  color: #9e4f68;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.08em;

  text-decoration: none;



  box-shadow: 0 8px 22px rgba(150, 80, 100, 0.14);

  transition: all 0.25s ease;

}



.go-mypage-btn:hover,

.horoscope-explain-btn:hover,

.fortune-btn:hover {

  transform: translateY(-2px);

  background: rgba(255,255,255,0.9);

  box-shadow: 0 12px 28px rgba(150, 80, 100, 0.2);

}





/* =========================

   フォーム

========================= */



.fortune-form-card {

  position: relative;

}



.fortune-form-card::before {

  content: "Fortune Reading";



  position: absolute;

  top: -18px;

  left: 28px;

  z-index: 2;



  padding: 8px 16px;

  border-radius: 999px;



  background: linear-gradient(135deg, #f4d889, #c99a42);

  color: #4a2a10;



  font-size: 11px;

  font-weight: 700;

  letter-spacing: 0.14em;



  box-shadow: 0 6px 16px rgba(0,0,0,0.16);

}



.fortune-form {

  position: relative;



  width: 100%;

  max-width: 560px;



  margin: 0 auto;

  padding: 36px 26px 28px;



  background:

    linear-gradient(

      180deg,

      rgba(255,255,255,0.05),

      rgba(255,255,255,0.05)

    ) !important;



  backdrop-filter: blur(2px);

  -webkit-backdrop-filter: blur(2px);



  border: 1px solid rgba(255,255,255,0.5) !important;

  border-radius: 10px;



  box-shadow:

    0 14px 44px rgba(100, 50, 80, 0.18),

    inset 0 0 40px rgba(255,255,255,0.22) !important;



  overflow: hidden;

}



.form-group {

  margin-bottom: 17px;

}



.form-group label {

  display: block;

  margin-bottom: 9px;



  color: #d9b15f;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 0.08em;

}



.form-group input,

.form-group select {

  width: 100%;

  height: 46px;



  padding: 0 14px;

  border-radius: 8px;



  border: 1px solid rgba(210, 170, 90, 0.32);

  background: rgba(255,255,255,0.78);



  color: #3a2630;

  font-size: 15px;



  transition: all 0.25s ease;

}



.form-group input:focus,

.form-group select:focus {

  outline: none;

  background: rgba(255,255,255,0.96);

  border-color: #d5aa55;



  box-shadow:

    0 0 0 4px rgba(213,170,85,0.16),

    0 0 18px rgba(213,170,85,0.2);

}



.birth-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 9px;

}



.birth-time-box,

.form-inline-row {

  display: flex;

  gap: 10px;

  width: 100%;

}



#birthTime {

  width: 100%;

  max-width: 100%;

  height: 46px;



  padding: 0 12px;

  border-radius: 14px;



  appearance: none;

  -webkit-appearance: none;



  box-sizing: border-box;

}



#birthTime::-webkit-calendar-picker-indicator {

  opacity: 0;

  position: absolute;

  right: 0;

}





/* =========================

   無料で占うボタン

========================= */



.fortune-submit-btn {

  position: relative;



  display: flex;

  justify-content: center;

  align-items: center;



  width: 70%;

  max-width: 300px;

  height: 48px;



  margin: 0 auto;



  border-radius: 14px;



  background:

    linear-gradient(

      135deg,

      rgba(255, 235, 170, 0.10),

      rgba(212, 168, 74, 0.08)

    ) !important;



  border: 1px solid rgba(255, 215, 120, 0.45) !important;



  backdrop-filter: blur(10px);

  -webkit-backdrop-filter: blur(10px);



  color: #f4d889 !important;



  font-size: 20px;

  font-weight: 700;

  letter-spacing: 0.18em;



  text-decoration: none;

  cursor: pointer;

  outline: none;



  overflow: hidden;



  box-shadow:

    0 0 18px rgba(255, 215, 120, 0.12),

    inset 0 0 22px rgba(255, 255, 255, 0.06);



  transition:

    transform 0.25s ease,

    box-shadow 0.25s ease,

    border-color 0.25s ease;

}



.fortune-submit-btn::before {

  content: "";



  position: absolute;

  top: -120%;

  left: -40%;



  width: 70%;

  height: 320%;



  background:

    linear-gradient(

      90deg,

      transparent,

      rgba(255,255,255,0.28),

      transparent

    );



  transform: rotate(25deg);

  transition: 0.7s;

}



.fortune-submit-btn:hover {

  transform: translateY(-2px);



  border-color: rgba(255, 225, 160, 0.85) !important;



  box-shadow:

    0 0 26px rgba(255, 215, 120, 0.24),

    0 0 50px rgba(255, 215, 120, 0.10),

    inset 0 0 30px rgba(255,255,255,0.08);

}



.fortune-submit-btn:hover::before {

  left: 140%;

}



.fortune-submit-btn:focus,

.fortune-submit-btn:active {

  background:

    linear-gradient(

      135deg,

      rgba(255, 235, 170, 0.10),

      rgba(212, 168, 74, 0.08)

    ) !important;



  color: #f4d889 !important;

  border-color: rgba(255, 215, 120, 0.45) !important;

  outline: none;

}



.fortune-submit-btn:active {

  transform: scale(0.98);

}





/* =========================

   共通セクション

========================= */



.fortune-section-inner {

  width: min(850px, calc(100% - 40px));

  margin: 0 auto;

  text-align: center;

}



.fortune-points,

.fortune-menu,

.fortune-style,

.fortune-flow,

.fortune-voice,

.fortune-profile,

.fortune-faq,

.fortune-cta {

  position: relative;

  padding: 100px 0;

  background: transparent !important;

  overflow: hidden;

}



.fortune-section-sub {

  margin: 0 0 10px;



  color: #b9853f;

  font-size: 13px;

  font-weight: 700;

  letter-spacing: 0.18em;

  text-transform: uppercase;

}



.fortune-section-title {

  position: relative;

  display: inline-block;



  margin: 0 0 42px;

  padding-bottom: 16px;



  color: #c95678;

  font-size: clamp(28px, 4vw, 42px);

  line-height: 1.4;

  letter-spacing: 0.08em;

}



.fortune-section-title::after {

  content: "";



  position: absolute;

  left: 50%;

  bottom: 0;



  width: 90px;

  height: 2px;



  transform: translateX(-50%);

  background: linear-gradient(90deg, transparent, #d9b15f, transparent);

}





/* =========================

   グリッド

========================= */



.fortune-points__grid,

.fortune-menu__grid,

.fortune-flow__grid,

.fortune-voice__grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;



  width: 100%;

  max-width: 850px;

  margin: 0 auto;

}



.fortune-style__grid {

  display: grid;

  grid-template-columns: 1fr;

}





/* =========================

   カード

========================= */



.fortune-point-card,

.fortune-menu-card,

.fortune-style-card,

.fortune-flow-card,

.fortune-voice-card,

.fortune-faq-item,

.fortune-profile__box,

.fortune-cta__box {

  background:

    linear-gradient(

      180deg,

      rgba(255,255,255,0.72),

      rgba(255,246,250,0.56)

    );



  backdrop-filter: blur(14px);

  -webkit-backdrop-filter: blur(14px);



  border: 1px solid rgba(255,255,255,0.45);

  border-radius: 24px;



  box-shadow:

    0 12px 34px rgba(120, 70, 100, 0.14),

    inset 0 0 28px rgba(255,255,255,0.18);



  transition: all 0.28s ease;

}



.fortune-point-card,

.fortune-style-card,

.fortune-flow-card,

.fortune-voice-card,

.fortune-faq-item {

  padding: 28px 24px;

  text-align: left;

}



.fortune-point-card:hover,

.fortune-menu-card:hover,

.fortune-flow-card:hover,

.fortune-voice-card:hover,

.fortune-faq-item:hover {

  transform: translateY(-5px);



  box-shadow:

    0 18px 42px rgba(120, 70, 100, 0.22),

    inset 0 0 28px rgba(255,255,255,0.22);

}



.fortune-point-card h3,

.fortune-style-card h3,

.fortune-flow-card h3,

.fortune-faq-item h3 {

  margin: 0 0 14px;



  color: #a84f6c;

  font-size: 21px;

  letter-spacing: 0.06em;

}



.fortune-point-card p,

.fortune-style-card p,

.fortune-flow-card p,

.fortune-voice-card p,

.fortune-faq-item p,

.fortune-profile__content p,

.fortune-cta__text {

  margin: 0;



  color: #4c3340;

  font-size: 15px;

  line-height: 1.9;

}





/* =========================

   メニューカード

========================= */



.fortune-menu-card {

  display: flex;

  justify-content: center;

  align-items: center;



  min-height: 120px;

  padding: 20px;



  color: #a84f6c;

  font-size: 20px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-decoration: none;

  text-align: center;

}



.fortune-menu-card:hover {

  color: #8c4058;

}





/* =========================

   流れ

========================= */



.fortune-flow-card span {

  display: inline-flex;

  justify-content: center;

  align-items: center;



  width: 48px;

  height: 48px;

  margin-bottom: 18px;



  border-radius: 50%;



  background: linear-gradient(135deg, #f4d889, #c99a42);

  color: #4a2a10;



  font-weight: 700;

}





/* =========================

   お客様の声

========================= */



.fortune-voice-card strong {

  display: block;

  margin-top: 18px;



  color: #b9853f;

  font-size: 14px;

}





/* =========================

   プロフィール

========================= */



.fortune-profile__box {

  display: grid;

  grid-template-columns: 280px 1fr;

  gap: 30px;



  padding: 32px;

  text-align: left;

  align-items: center;

}



.fortune-profile__image {

  display: flex;

  justify-content: center;

  align-items: center;



  min-height: 280px;

  border-radius: 20px;



  background: rgba(255,255,255,0.5);

  border: 1px dashed rgba(180,90,120,0.35);



  color: #b45a79;

}



.fortune-profile__content h3 {

  margin: 0 0 16px;



  color: #a84f6c;

  font-size: 26px;

}





/* =========================

   FAQ / CTA

========================= */



.fortune-faq__list {

  display: grid;

  gap: 18px;

}



.fortune-cta__box {

  padding: 44px 30px;

}



.fortune-cta__text {

  margin-bottom: 28px;

}



.fortune-btn--primary {

  margin-top: 28px;

  min-width: 230px;



  background: linear-gradient(135deg, #f4d889, #c99a42);

  color: #4a2a10;

}





.element-section{

  padding: 90px 20px;

}



.element-head{

  margin-bottom: 60px;

}



.element-label{

  display: inline-block;



  padding: 8px 18px;



  border-radius: 999px;



  background: linear-gradient(

    135deg,

    #c86dd7,

    #9b7bff

  );



  color: #fff;



  font-weight: bold;



  margin-bottom: 18px;

}



.element-head p{

  font-size: 16px;

  line-height: 2;

}



.element-group{

  margin-bottom: 70px;

}



.element-group h3{

  font-size: 30px;

  margin-bottom: 28px;

}



.element-grid{

  display: grid;

  grid-template-columns: repeat(3,1fr);

  gap: 20px;

}



.element-card{

  padding: 32px 24px;



  border-radius: 18px;



  line-height: 2;

}





























/* =========================

   スマホ

========================= */



@media (max-width: 768px) {



  /*body {*/

  /*  position: relative;*/

  /*  min-height: 100vh;*/

  /*  background: none !important;*/

  /*  overflow-x: hidden;*/

  /*}*/



  /*body::before {*/

  /*  content: "";*/



  /*  position: fixed;*/

  /*  inset: 0;*/

  /*  z-index: -1;*/



  /*  background:*/

  /*    linear-gradient(*/

  /*      180deg,*/

  /*      rgba(18, 10, 20, 0.45),*/

  /*      rgba(28, 12, 26, 0.55)*/

  /*    ),*/

  /*    url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8821%E6%97%A5-11_17_48.png");*/



  /*  background-size: auto 100vh;*/

  /*  background-position: center top;*/

  /*  background-repeat: no-repeat;*/

  /*}*/



  .fortune-hero {

    padding: 70px 0 70px;

  }



  .hero-title-img {

    width: 250px;

    margin: -40px auto 0;

  }



  .fortune-hero__inner {

    grid-template-columns: 1fr;

    gap: 36px;



    width: calc(100% - 28px);

    max-width: 560px;

  }



  .fortune-hero__content {

    text-align: center;

  }



  .fortune-hero__buttons {

    justify-content: center;

  }



  .fortune-hero__text {

    font-size: 15px;

  }



  .fortune-form-card::before {

    top: 12px;

    left: 40px;



    padding: 6px 12px;



    font-size: 10px;

    border-radius: 999px;

  }



  .fortune-form {

    padding: 26px 18px 20px;

  }



  .form-group {

    margin-bottom: 10px;

  }



  .form-group label {

    margin-bottom: 5px;

  }



  .birth-grid {

    grid-template-columns: repeat(3, 1fr);

    gap: 4px;

  }



  #birthTime {

    width: 100%;

    min-width: 0;

  }



  .fortune-points,

  .fortune-menu,

  .fortune-style,

  .fortune-flow,

  .fortune-voice,

  .fortune-profile,

  .fortune-faq,

  .fortune-cta {

    padding: 72px 0;

  }



  .fortune-points__grid,

  .fortune-menu__grid,

  .fortune-flow__grid,

  .fortune-voice__grid {

    grid-template-columns: 1fr;

  }



  .fortune-profile__box {

    grid-template-columns: 1fr;

    text-align: center;

  }



  .fortune-point-card,

  .fortune-menu-card,

  .fortune-style-card,

  .fortune-flow-card,

  .fortune-voice-card,

  .fortune-faq-item,

  .fortune-profile__box,

  .fortune-cta__box {

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    backdrop-filter: none !important;

    -webkit-backdrop-filter: none !important;

  }



  .fortune-point-card,

  .fortune-style-card,

  .fortune-flow-card,

  .fortune-voice-card,

  .fortune-faq-item {

    text-align: left;

  }

}







/*@media (max-width: 768px) {*/



/*  html,*/

/*  body {*/

/*    margin: 0;*/

/*    width: 100%;*/

/*    overflow-x: hidden !important;*/

/*    background: #120a14;*/

/*  }*/



/*  body::before {*/

/*    content: "";*/



/*    position: fixed;*/

/*    top: 0;*/

/*    left: 50%;*/



/*    width: 140vw;*/

/*    height: 100vh;*/



/*    transform: translateX(-50%);*/



/*    z-index: -1;*/

/*    pointer-events: none;*/



/*    background:*/

/*      linear-gradient(*/

/*        180deg,*/

/*        rgba(18, 10, 20, 0.18),*/

/*        rgba(28, 12, 26, 0.24)*/

/*      ),*/

/*      url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8821%E6%97%A5-11_17_48.png")*/

/*      center center / 100% 100% no-repeat;*/

/*  }*/



/*}*/

@media (max-width: 768px) {



  body {

    position: relative;

    background: #120a14 !important;

    overflow-x: hidden !important;

  }



  body::before {

    content: "";

    position: fixed;



    top: 0;

    left: 0;



    width: 100vw;

    height: 100vh;



    z-index: 0;

    pointer-events: none;



    background:

      linear-gradient(

        180deg,

        rgba(18, 10, 20, 0.15),

        rgba(28, 12, 26, 0.22)

      ),

      url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8821%E6%97%A5-11_17_48.png");



    /* background-size: auto 100vh;

    background-position: center center;

    background-repeat: no-repeat; */
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;

  }



  .fortune-hero,

  .fortune-points,

  .fortune-menu,

  .fortune-style,

  .fortune-flow,

  .fortune-voice,

  .fortune-profile,

  .fortune-faq,

  .fortune-cta {

    position: relative;

    z-index: 1;

  }



}



/*@media (max-width: 768px) {*/



/*  body::before {*/

/*    content: "";*/



/*    position: fixed;*/

/*    inset: 0;*/

/*    z-index: -1;*/



/*    background:*/

/*      linear-gradient(*/

/*        180deg,*/

/*        rgba(18, 10, 20, 0.45),*/

/*        rgba(28, 12, 26, 0.55)*/

/*      ),*/

/*      url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8821%E6%97%A5-11_17_48.png");*/



/*    background-size: 100% 100%;*/



/*    background-position: center top;*/



/*    background-repeat: no-repeat;*/

/*  }*/



/*}*/







/*@media (max-width: 768px) {*/



/*  body {*/

/*    background: #120a14 !important;*/

/*  }*/



/*  body::before {*/

/*    content: "";*/



/*    position: fixed;*/

/*    top: 0;*/

/*    left: 0;*/



/*    width: 100vw;*/

/*    height: 100vh;*/



/*    z-index: -1;*/



/*    background:*/

/*      linear-gradient(*/

/*        180deg,*/

/*        rgba(18, 10, 20, 0.45),*/

/*        rgba(28, 12, 26, 0.55)*/

/*      ),*/

/*      url("https://tm-meguri.com/wp-content/uploads/2026/05/ChatGPT-Image-2026%E5%B9%B45%E6%9C%8821%E6%97%A5-11_17_48.png")*/

/*      center center / cover no-repeat;*/

/*  }*/



/*}*/



/* Hero V2: scoped to the new hero, no changes to element or lower sections */

.fortune-hero.meguri-hero-v2{position:relative;min-height:0;padding:0 24px 100px;overflow:hidden;isolation:isolate;background:transparent!important;color:#f8f0e6;font-family:'Yu Mincho','Hiragino Mincho ProN',serif}

.meguri-hero-v2 *{box-sizing:border-box}.meguri-brand{max-width:980px;margin:auto;padding:28px 12px;display:flex;justify-content:space-between;align-items:center;gap:20px}.meguri-hero-v2 .hero-title-img{width:230px;max-width:48vw;margin:0;animation:none;filter:drop-shadow(0 0 10px #e9d4a133)}.meguri-brand span{font:10px Arial,sans-serif;letter-spacing:.25em;color:#c8b8d0}

.meguri-stage{max-width:980px;margin:auto;min-height:650px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:20px;padding:20px 12px 40px}.meguri-copy{z-index:2}.meguri-kicker{font:11px Arial,sans-serif!important;letter-spacing:.2em;color:#e4c28c!important}.meguri-copy h1{font-size:clamp(30px,3.5vw,52px);line-height:1.44;letter-spacing:.08em;font-weight:500;color:#f9f2e8;margin:26px 0}.meguri-copy h1 em{font-style:normal;color:#e9ca91}.meguri-copy>p:not(.meguri-kicker){max-width:440px;font-size:15px;line-height:2.2;color:#cfc9d8}.meguri-actions,.meguri-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.meguri-actions{margin-top:28px}.meguri-actions a{display:inline-flex;align-items:center;min-height:56px;padding:0 20px;font-size:14px;text-decoration:none!important;border-radius:2px;transition:transform .2s}.meguri-actions a:hover{transform:translateY(-3px)}.meguri-primary{background:#e8ca91;color:#161528!important;font-weight:bold}.meguri-outline{border:1px solid #ddbf8b88;color:#f4e6c9!important}.meguri-links{margin-top:26px;gap:24px}.meguri-hero-v2 .go-mypage-btn,.meguri-hero-v2 .horoscope-explain-btn{display:inline-block;min-height:0;padding:0 0 5px;background:none!important;border:0!important;border-bottom:1px solid #e1c18b66!important;border-radius:0!important;box-shadow:none!important;color:#d7d0db!important;font-size:12px;font-weight:400;text-decoration:none;transform:none!important;cursor:pointer}

/* Hero zodiac: transparent image replaces the CSS-drawn wheel. */
.meguri-cosmos {
  position: relative;
  width: min(100%, 590px);
  aspect-ratio: 1;
  margin: auto;
  display: block;
  background: url("/wp-content/uploads/top_horoscope_1.png") center / contain no-repeat;
  filter: drop-shadow(0 0 24px rgba(202, 170, 111, .16));
}
/* Retain the original markup but prevent the old rings/planet/glyphs overlaying the image. */
.meguri-cosmos .meguri-ring,
.meguri-cosmos .meguri-symbols,
.meguri-cosmos .meguri-planet,
.meguri-cosmos .meguri-cosmos-label {
  display: none !important;
}
.meguri-scroll{text-align:center;font:10px Arial,sans-serif;letter-spacing:.25em;color:#b9afc0;margin:0 auto 80px}@keyframes meguri-spin{to{transform:rotate(360deg)}}

.meguri-reading{
max-width:980px;margin:auto;
display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;
gap:65px;padding:65px;
background:linear-gradient(125deg,#24233f,#13182d);border:1px solid #e2c28b77;
box-shadow:0 28px 70px #0008;
border-radius: 16px;
}
.meguri-reading-copy>span,.meguri-reading-copy small{font:11px Arial,sans-serif;letter-spacing:.2em;color:#e0bf8b}

.meguri-reading-copy h2{font-size: clamp(26px, 2.8vw, 38px);line-height:1.6;font-weight:500;color:#f9eee2;margin:0 0 20px}.meguri-reading-copy p{font-size:14px;line-height:2.2;color:#cfc9d7}.meguri-reading-copy small{display:block;margin-top:38px;padding-top:18px;border-top:1px solid #dfbd8455}.meguri-hero-v2 .fortune-form-card{width:100%;min-width:0}.meguri-hero-v2 .fortune-form-card:before{display:none!important}.meguri-form-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid #dfbf8b55}.meguri-form-title span{font:10px Arial,sans-serif;letter-spacing:.16em;color:#cbbba3}.meguri-form-title strong{font-size:23px;font-weight:500;color:#f1d5a5}.meguri-hero-v2 .fortune-form{width:100%;max-width:none;margin:0;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible}.meguri-hero-v2 .form-group{margin-bottom:16px}.meguri-hero-v2 .form-group label,.meguri-hero-v2 .form-group-label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:#e6d8c0}.meguri-hero-v2 .form-group input,.meguri-hero-v2 .form-group select{width:100%;height:49px;min-width:0;padding:0 12px;background:#f9f5f0!important;border:1px solid #d5c7b3!important;border-radius:3px!important;color:#2c2639!important;font-size:15px}.meguri-hero-v2 .birth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meguri-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meguri-hero-v2 .fortune-submit-btn{display:flex;justify-content:center;align-items:center;width:100%;max-width:none;height:58px;margin:16px 0 0;background:linear-gradient(100deg,#f1dcae,#d6aa68)!important;color:#20182b!important;border:0!important;border-radius:3px!important;box-shadow:0 12px 28px #0006!important;font-size:17px;cursor:pointer}.meguri-hero-v2 .fortune-submit-btn:before{display:none!important}

@media(max-width:900px){.meguri-stage{grid-template-columns:1fr;min-height:0;padding:45px 10px 20px}.meguri-copy{text-align:center}.meguri-copy>p:not(.meguri-kicker){margin-left:auto;margin-right:auto}.meguri-actions,.meguri-links{justify-content:center}.meguri-cosmos{width:min(75vw,500px);margin:35px auto 0}.meguri-reading{grid-template-columns:1fr;gap:35px;padding:42px}.meguri-reading-copy{text-align:center}.meguri-reading-copy small{margin-top:22px}}

@media(max-width:600px){.fortune-hero.meguri-hero-v2{padding:0 15px 65px}.meguri-brand{justify-content:center;padding:22px 0}.meguri-brand span{display:none}.meguri-hero-v2 .hero-title-img{width:220px;max-width:75vw}.meguri-stage{padding:25px 0 5px}.meguri-copy h1{font-size:clamp(36px,10vw,51px);line-height:1.45}.meguri-copy>p:not(.meguri-kicker){font-size:14px}.meguri-actions{flex-direction:column}.meguri-actions a{width:100%;justify-content:center}.meguri-links{gap:16px}.meguri-hero-v2 .go-mypage-btn,.meguri-hero-v2 .horoscope-explain-btn{font-size:11px}.meguri-cosmos{width:min(88vw,420px)}.meguri-symbols{font-size:13px;letter-spacing:.08em}.meguri-scroll{margin:18px 0 50px}
.meguri-reading {
  width: calc(100% + 30px);
  max-width: none;
  margin-left: -15px;
  margin-right: -15px;
  padding: 34px 20px;
  gap: 32px;
}
.meguri-glyph{margin:16px 0;font-size:36px}.meguri-reading-copy h2{font-size:32px}.meguri-pair{grid-template-columns:1fr;gap:0}.meguri-form-title strong{font-size:21px}.meguri-form-title span{font-size:9px}}

@media(prefers-reduced-motion:reduce){.meguri-ring.outer,.meguri-ring.middle{animation:none}}


/* ===== 正式版: エレメント以降のCSS (2026-10-17) ===== */




 /*全体 */

.dragon-image-wrap{

  position: relative;

  width: 100%;

  max-width: 900px;

  margin: 0 auto;

}


 /*背景画像 */

.dragon-bg-image{

  width: 100%;

  height: auto;

  display: block;

}


 /*上に重ねる文字 */

.dragon-text{

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

  width: 72%;

  text-align: center;

  color: rgba(255,255,255,0.96);

  font-size: 20px;

  line-height: 1.9;

  letter-spacing: 0.04em;

}


 /*タイトル */

.dragon-text h2{

  font-size: 34px;

  margin-bottom: 24px;

  color: #ffffff;

  text-shadow:
    0 0 10px rgba(180,120,255,0.9),
    0 0 24px rgba(120,0,255,0.7);

}


 /*見出し */

.dragon-text h3{

  font-size: 24px;

  margin:
    42px 0 18px;

  color: #d8b8ff;

  text-shadow:
    0 0 12px rgba(140,60,255,0.8);

}


 /*本文 */

.dragon-text p{

  margin-bottom: 18px;

  text-shadow:
    0 0 8px rgba(80,0,120,0.85);

}


 /*ガラス感 */

.dragon-text{

  padding: 30px 26px;

  border-radius: 24px;

  background: rgba(20,0,40,0.14);

  backdrop-filter: blur(3px);

  -webkit-backdrop-filter: blur(3px);

}


 /*スマホ */

@media (max-width: 768px){

  .dragon-image-wrap{

    max-width: 100%;
  }

  .dragon-text{

    width: 82%;

    font-size: 10px;

    line-height: 1.7;

    padding: 16px 10px;
    
        text-align: center;
        
        
          max-height: none;

  overflow: visible;
  }

  .dragon-text h2{

    font-size: 18px;

    margin-bottom: 16px;
  }

  .dragon-text h3{

    font-size: 15px;

    margin:
      24px 0 12px;
  }

  .dragon-text p{

    margin-bottom: 12px;
  }

}

 /*天体説明PC */

/* =========================*/
/*   天体セクション全体*/
/*========================= */

.planet-panel-section{

  padding: 80px 18px;
}


/* =========================*/
/*   内側*/
/*========================= */

.planet-panel-inner{

  max-width: 650px;

  margin: 0 auto;

  text-align: center;
}


/* =========================*/
/*   タイトル*/
/*========================= */

.planet-title{

  font-size: 40px;

  font-weight: bold;

  color: #fff;

  margin-bottom: 12px;

  text-shadow:
    0 0 12px rgba(0,0,0,0.45);
}


/* =========================*/
/*   説明文*/
/*========================= */

.planet-lead{

  color: #fff;

  font-size: 18px;

  line-height: 1.8;

  margin-bottom: 36px;

  text-shadow:
    0 0 10px rgba(0,0,0,0.45);
}


/* =========================*/
/*   グリッド*/
/*========================= */

/*.planet-grid{*/

/*  display: grid;*/

/*  grid-template-columns: repeat(3,1fr);*/


/*  gap: 10px;*/
/*}*/


.planet-grid{
  display:grid;
  grid-template-columns:repeat(3,210px);
  justify-content:center;
  gap:24px;
}

/*.planet-card{*/
/*  width:210px;*/
/*  max-width:210px;*/
/*}*/

/* =========================*/
/*   パネル*/
/*========================= */


/*.planet-card{*/
    
    
/*      width:210px;*/
/*  max-width:210px;*/

/*  min-height:450px;*/

/*  padding:48px 36px;*/

/*  background:linear-gradient(*/
/*    180deg,*/
/*    rgba(52, 78, 145, 0.28) 0%,*/
/*    rgba(28, 44, 92, 0.16) 55%,*/
/*    rgba(12, 20, 48, 0.10) 100%*/
/*  );*/

/*  backdrop-filter:blur(12px);*/
/*  -webkit-backdrop-filter:blur(12px);*/

/*  border:1px solid rgba(255,255,255,0.18);*/

/*  border-radius:8px;*/

/*  box-shadow:*/
/*    0 8px 28px rgba(0,0,0,0.16),*/
/*    inset 0 0 24px rgba(255,255,255,0.06);*/

/*  color:#fff;*/
/*}*/




/* =========================
   天体：エレメントと同じパネルサイズ
========================= */

.planet-grid{
  display:grid;
  grid-template-columns:repeat(3,210px);
  justify-content:center;
  gap:24px;
  align-items:stretch;
}

.planet-card{
  width:210px;
  max-width:210px;
  min-height:44px;

  padding:26px 16px 24px;

  border:none;
  border-radius:8px;
  box-sizing:border-box;

  background:linear-gradient(
    180deg,
    rgba(70,100,185,0.30),
    rgba(10,16,40,0.10)
  );

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);

  box-shadow:
    0 12px 34px rgba(0,0,0,0.18),
    inset 0 0 38px rgba(255,255,255,0.10);

  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;

  text-align:center;
  color:#fff;
}



/* =========================*/
/*   惑星画像エリア*/
/*========================= */

.planet-symbol{

  text-align: center;

  margin-bottom: 30px;
  
   font-size: 70px !important;
   

}


/* =========================*/
/*   惑星画像*/
/*========================= */



.planet-symbol img{

  width: 88px;

  height: auto;

  display: block;

  margin: 0 auto;

  background: none !important;

  background-color: transparent !important;

  border: none !important;

  box-shadow: none !important;
  

}


/* =========================*/
/*   惑星名*/
/*========================= */

.planet-card h3{

  margin: 0 0 14px;

  font-size: 24px;

  color: #fff;

  text-align: center;
}


/* =========================*/
/*   説明文*/
/*========================= */

.planet-card p{

  margin: 0;

  font-size: 16px;

  line-height: 1.8;

  color: rgba(255,255,255,0.92);

  text-align: center;
}



 /*天体説明スマホ用 */

@media(max-width:768px){

  .planet-panel-section{

    padding: 60px 14px;
  }


  .planet-title{

    font-size: 32px;
  }


  .planet-lead{

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 28px;
  }


   /*1列 */

  .planet-grid{
    
      grid-template-columns:1fr;
    gap:18px;
  }


   /*パネル */

    .planet-card{
    width:100%;
    max-width:100%;
    min-height:auto;

    display:grid !important;
    grid-template-columns:90px 1fr;
    grid-template-rows:auto auto;
    column-gap:16px;
    align-items:center;

    padding:10px 12px !important;
  }


   /*左 */

  .planet-symbol{

    grid-column: 1;

    grid-row: 1;

    margin: 0 0 8px;

    text-align: center;
  }


  .planet-symbol img{

    width: 44px;

    height: auto;

    display: block;

    margin: 0 auto;

    background: none !important;

    border: none !important;

    box-shadow: none !important;
  }


   /*惑星名 */

  .planet-card h3{

    grid-column: 1;

    grid-row: 2;

    font-size: 16px;

    margin: 0;

    text-align: center;
  }


   /*説明 */

  .planet-card p{

    grid-column: 2;

    grid-row: 1 / span 2;

    font-size: 14px;

    line-height: 1.8;

    text-align: left;

    margin: 0;
  }

}





 /*画像に光彩 */



 /*画像をゴールド寄りに */

.dragon-bg-image{

  width: 100%;

  height: auto;

  display: block;

  filter:
    sepia(0.45)
    hue-rotate(-18deg)
    saturate(1.45)
    brightness(1.05)
    contrast(1.08)

    drop-shadow(0 0 54px rgba(255,190,80,0.05))
    drop-shadow(0 0 54px rgba(255,170,40,0.08))
    drop-shadow(0 0 70px rgba(255,220,140,0.1));

}

@media (max-width: 768px){

  .dragon-image-wrap{
    max-width: 100%;
    overflow: hidden;
  }

  .dragon-bg-image{
    opacity: 1;

    filter:
      brightness(1.05)
      contrast(1.05)
      saturate(1.08)
      drop-shadow(0 0 14px rgba(255,220,160,0.25));
  }

  .dragon-image-wrap::before{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;

    background: rgba(255,255,255,0.05);
  }

  .dragon-image-wrap::after{
    display: none;
  }

  .dragon-image-wrap {
    margin-top: 80px;
  }

  /* .dragon-text{
    width: 98%;
    max-height: 82%;

    overflow-y: auto;

    font-size: 14px;
    line-height: 1.8;

    padding: 12px 10px;

    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  } */
  .dragon-text {
  width: 98%;
  max-height: none;
  overflow: visible;

  font-size: 16px;
  line-height: 1.8;
  padding: 24px 14px;

  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

  .dragon-text h2{
    font-size: 17px;
    margin-bottom: 12px;
  }

  .dragon-text h3{
    font-size: 14px;
    margin: 20px 0 10px;
  }

  .dragon-text p{
    margin-bottom: 10px;
  }

}



/* =========================*/
/*   ハウス*/
/*========================= */



.house-design-section{
  padding: 90px 18px;
}

.house-design-inner{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}

.house-design-title{
  font-size: 44px;
  margin-bottom: 22px;
  color: #fff;
  text-shadow: 0 0 12px rgba(0,0,0,0.65);
}

.house-design-lead{
  font-size: 18px;
  line-height: 2;
  margin-bottom: 60px;
  color: #fff;
  text-shadow: 0 0 10px rgba(0,0,0,0.65);
}

.house-theme{
  margin-bottom: 64px;
}

.house-theme h3{
  margin: 0 auto 30px;
  padding: 18px 24px;
  max-width: 860px;

  color: #fff;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.12em;

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.35);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  text-shadow: 0 0 10px rgba(0,0,0,0.45);
}

.theme-move h3{
  background: rgba(190,120,140,0.22);
}

.theme-stable h3{
  background: rgba(210,190,140,0.18);
}

.theme-change h3{
  background: rgba(150,130,170,0.20);
}

.house-card-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.house-card{
  min-height: 210px;
  padding: 28px 16px;

  border: 1px solid rgba(255,255,255,0.48);
  border-radius: 8px;

  background: transparent;

  color: #fff;
  text-align: center;

  text-shadow: 0 0 10px rgba(0,0,0,0.65);
}

.house-card strong{
  display: block;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 16px;
}

.house-card span{
  display: block;
  font-size: 20px;
  margin-bottom: 22px;
}

.house-card p{
  margin: 0;
  font-size: 20px;
  line-height: 1.6;
}





@media(max-width:768px){

  .house-design-section{
    padding: 64px 14px;
  }

  .house-design-title{
    font-size: 34px;
  }

  .house-design-lead{
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 42px;
  }

  .house-theme{
    margin-bottom: 48px;
  }

  .house-theme h3{
    font-size: 20px;
    padding: 14px 16px;
    margin-bottom: 24px;
    border-radius: 12px;
  }

  .house-card-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .house-card{
    min-height: 150px;
    padding: 20px 10px;
  }

  .house-card strong{
    font-size: 20px;
    margin-bottom: 8px;
  }

  .house-card span{
    font-size: 14px;
    margin-bottom: 10px;
  }

  .house-card p{
    font-size: 14px;
  }

}








/* =========================*/
/*   天体説明PCの画像サイズ*/
/*========================= */


.planet-card .planet-symbol img{
  width: 120px !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto 28px !important;
}




/* =========================*/
/*   天体説明スマホの画像サイズ*/
/*========================= */


@media(max-width:768px){

  .planet-card .planet-symbol img{
    width: 70px !important;
    max-width: none !important;
    margin: 0 auto 8px !important;
  }

}


/* ========================================================
   Restored educational sections: element / aspect / sun-moon
   / ascendant / transit / node. These sections were not covered
   by the provided production CSS. Styles are isolated here.
   ======================================================== */
.element-section,.aspect-section,.sun-moon-section,.asc-section,.transit-section,.node-section{position:relative;padding:clamp(55px,7vw,100px) 20px;color:#f5ecf5}
.element-inner,.sun-moon-inner,.transit-inner,.node-inner{max-width:1080px;margin:0 auto}
.element-head{text-align:center;margin-bottom:50px}.element-title-image{text-align:center;margin:0 auto 24px}.element-title-image img{display:block;max-width:min(440px,90%);height:auto;margin:auto}
.element-lead,.planet-lead,.node-lead,.house-design-lead{max-width:850px;margin:0 auto 40px;text-align:center;line-height:2;color:#f5edf5}
.element-section .element-group{margin:0 0 58px}.element-section .element-group h3{font-size:clamp(21px,3vw,30px);margin:0 0 20px;color:#f6e2ba}.element-section .element-group h3 em{font-style:normal;font-size:.65em;font-weight:400;margin-left:14px;color:#ddd2e8}
.element-section .element-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.element-section .element-card{min-width:0;padding:24px 18px;border:1px solid #dfc59a55;border-radius:12px;background:linear-gradient(155deg,#242341d9,#12152cbb);text-align:center;box-shadow:0 10px 32px #0004}
.element-section .element-img-box img{width:min(135px,100%);height:auto;object-fit:contain}.element-section .element-name{font-size:22px;color:#f3d9aa;margin:8px 0 14px}.element-section .element-text{font-size:14px;line-height:1.95;color:#ece5f0}
.aspect-section{max-width:1240px;margin:auto}.aspect-intro{text-align:center;line-height:2;margin-bottom:40px}.aspect-intro h2{font-size:clamp(21px,3vw,30px);color:#f1d5a5}.aspect-intro p{color:#e6ddeb}
.aspect-head,.aspect-row{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr 1.25fr;gap:0}.aspect-head>div{padding:18px 12px;background:#d5b47f;color:#211a2b;font-weight:bold;text-align:center}.aspect-row{border-bottom:1px solid #e3c99455;background:#1b1c35b8}.aspect-row>div{padding:24px 16px;line-height:1.9;border-right:1px solid #e3c99433}.aspect-row .aspect-name{text-align:center}.aspect-name img{width:min(135px,100%);height:auto}.aspect-name h3{font-size:19px;color:#f1d5a5}.aspect-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:35px}.aspect-bottom .bottom-box{padding:26px;background:#20213cbb;border:1px solid #d5b47f55;border-radius:12px;line-height:1.9}
.sun-moon-title,.asc-title,.transit-title,.node-title{text-align:center;font-size:clamp(28px,4vw,42px);color:#f1d5a5}.sun-moon-sub,.node-lead{text-align:center;line-height:2}.sun-moon-top,.asc-content,.transit-inner{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.sun-moon-frame,.sun-moon-text,.asc-text{padding:28px;background:#1c1c37ba;border:1px solid #e3c99444;border-radius:12px;line-height:2}.sun-moon-frame{text-align:center}.sun-moon-frame strong{display:block;color:#f2d6a1}.relation-panel{display:grid;grid-template-columns:38% 1fr;gap:30px;align-items:center;margin:30px 0;padding:30px;background:#1c1c37b5;border:1px solid #e3c99455;border-radius:16px}.relation-panel.panel-two{grid-template-columns:1fr 38%}.relation-img{width:100%;height:auto;object-fit:contain}.relation-content{line-height:1.85}.relation-content h3{color:#f1d5a5}.relation-list,.split-list{display:flex;flex-wrap:wrap;gap:12px}.split-list>div{flex:1;min-width:160px}.feeling-label{color:#e9c88e}.sun-moon-note{text-align:center;line-height:2;margin-top:38px}.asc-content{max-width:1050px;margin:30px auto}.asc-image-box{text-align:center}.asc-image{width:100%;max-width:480px;height:auto}.asc-axis-text{line-height:1.7}.transit-inner{max-width:1100px}.transit-title{text-align:left}.transit-text-area{line-height:2}.transit-year-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.transit-year-card{padding:22px 15px;border:1px solid #d9bd8a77;background:#20203ebd;border-radius:12px;line-height:1.7}.transit-year-card span{font-size:22px;color:#f0d19a}.node-inner{text-align:center}.node-diagram-frame{max-width:700px;margin:30px auto}.node-diagram-image img[src=""]{display:none}.node-description{line-height:2}.node-card-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px;margin:35px auto}.node-card{padding:28px 18px;border:1px solid #d9bd8a66;border-radius:15px;background:#20203cba;line-height:1.9}.node-symbol{font-size:46px;color:#f1d5a5}.node-card h3{color:#f1d5a5}.node-bottom-text{line-height:2}
@media(max-width:768px){.element-section .element-grid{grid-template-columns:1fr;gap:14px}.element-section .element-card{display:grid;grid-template-columns:95px 1fr;column-gap:15px;text-align:left;align-items:center}.element-section .element-img-box img{width:80px}.element-section .element-name{font-size:17px;text-align:center}.element-section .element-text{font-size:13px}.aspect-head{display:none}.aspect-row{display:block;margin-bottom:20px;border:1px solid #d5b47f55;border-radius:12px;overflow:hidden}.aspect-row>div{border-right:0;border-bottom:1px solid #d5b47f33;padding:15px}.aspect-bottom,.sun-moon-top,.asc-content,.transit-inner,.node-card-wrap{grid-template-columns:1fr}.relation-panel,.relation-panel.panel-two{grid-template-columns:1fr}.relation-panel.panel-two .relation-img{grid-row:1}.transit-title{text-align:center}.transit-year-list{grid-template-columns:1fr 1fr}.transit-year-card{padding:14px 10px}.transit-year-card span{font-size:17px}.transit-year-card p{font-size:12px}}

/* ========================================================
   西洋占星術の鑑定内容・深さ・鑑定プラン
   既存のヒーロー／解説セクションを変更しない独立スタイル
   ======================================================== */

/* ===== MEGURI STORY / EDITORIAL PRESENTATION ===== */

/* MEGURI EDITORIAL V4: narrow, no panels, subtle celestial detail */
.meguri-story{--gold:#ddc18e;--ink:#f4ebdd;--muted:#d1cad7;--line:rgba(221,193,142,.32);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;overflow:hidden}
.meguri-story *{box-sizing:border-box}
.meguri-story .ms-kicker{display:block;font:10px Arial,sans-serif;letter-spacing:.23em;color:var(--gold);line-height:1.8}
.meguri-story h2,.meguri-story h3,.meguri-story h4{color:var(--ink);font-weight:400}
.meguri-story em{font-style:normal;color:var(--gold)}
.ms-opening,.ms-love,.ms-topics,.ms-method,.ms-ending{width:min(860px,calc(100% - 44px));margin:0 auto;padding:115px 0}
.ms-opening {
  text-align: center;
  padding-top: 145px;
  padding-bottom: 50px;
}
.ms-opening:before{content:'✦';display:block;color:var(--gold);font-size:21px;margin-bottom:36px}
.ms-opening h2{font-size:clamp(30px,4.5vw,54px);line-height:1.85;letter-spacing:.055em;margin:25px 0 35px}
.ms-opening>p{font-size:15px;line-height:2.65;color:var(--muted);letter-spacing:.04em}
.ms-symbols{margin:70px auto 0;color:var(--gold);font:23px Georgia,serif;letter-spacing:.2em}
.ms-love{border-top:1px solid var(--line);padding-top:105px;padding-bottom:110px}
.ms-love-intro{max-width:620px;margin:auto;text-align:center}
.ms-love h3,.ms-topics h3,.ms-method h3,.ms-ending h3{font-size:clamp(30px,4vw,48px);line-height:1.7;margin:22px 0}
.ms-love-intro>p,.ms-method>p,.ms-ending>p{font-size:15px;line-height:2.3;color:var(--muted)}
.ms-love-axes{max-width:680px;margin:65px auto 0;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}
.ms-love-axes>div{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:24px 0}
.ms-love-axes>div>span{font:30px Georgia,serif;color:var(--gold)}
.ms-love-axes small{display:block;font:9px Arial,sans-serif;letter-spacing:.1em;margin-top:6px}
.ms-love-axes p{font-size:12px;line-height:2;color:var(--muted);margin:0}
.ms-love-axes strong{font-size:16px;font-weight:400;color:var(--ink)}
.ms-love-axes .ms-note{grid-column:1/-1;text-align:center;font-size:13px;line-height:2.1;margin:20px auto 0;max-width:590px}
.ms-topics{border-top:1px solid var(--line);padding-top:115px;padding-bottom:130px;text-align:center}
.ms-topics-lead{font-size:15px;color:var(--muted);line-height:2.1}
.ms-topics-grid{max-width:760px;margin:70px auto 0;text-align:left;display:block}
.ms-topics-grid>div{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:22px;row-gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:42px 0}
.ms-topics-grid>div:first-child{border-top:1px solid var(--line)}
.ms-topics-grid>div>span{grid-column:1;grid-row:1;font:12px Georgia,serif;color:var(--gold);padding-top:12px}
.ms-topics-grid h4{grid-column:2;font-size:25px;margin:0;line-height:1.6}
.ms-topics-grid p{grid-column:2;min-width:0;font-size:15px;color:var(--muted);line-height:2.15;margin:0;overflow-wrap:break-word}
.ms-method{border-top:1px solid var(--line);padding-top:115px;padding-bottom:125px;text-align:center;display:block}
.ms-method>div:first-child{max-width:760px;margin:auto}
.ms-method>p{max-width:650px;margin:30px auto 0}
.ms-method-terms{max-width:720px;margin:65px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 32px}
.ms-method-terms span{font:10px Arial,sans-serif;letter-spacing:.14em;color:var(--gold);padding:10px 0}
.ms-method-terms b{display:block;margin-top:10px;font:16px 'Yu Mincho',serif;color:var(--ink)}
.ms-ending{text-align:center;border-top:1px solid var(--line);padding-top:135px;padding-bottom:145px}
.ms-ending:before{content:'✦';display:block;color:var(--gold);font-size:27px;margin-bottom:35px}
.ms-ending>p{max-width:660px;margin:20px auto 38px}
.ms-ending>a{display:inline-flex;align-items:center;justify-content:center;padding:18px 34px;min-height:58px;border:1px solid var(--gold);color:var(--ink)!important;text-decoration:none!important;font-size:15px;letter-spacing:.05em;transition:background .2s,color .2s}
.ms-ending>a:hover{background:var(--gold);color:#171629!important}
.ms-ending small{display:block;max-width:630px;margin:28px auto 0;font-size:11px;line-height:1.9;color:var(--muted)}
@media(max-width:700px){
.ms-opening,.ms-love,.ms-topics,.ms-method,.ms-ending{width:calc(100% - 42px);padding-top:85px;padding-bottom:90px}
.ms-opening h2{font-size:clamp(27px,7.5vw,37px)}.ms-opening>p{font-size:13px;line-height:2.3}.ms-opening>p br{display:none}
.ms-love h3,.ms-topics h3,.ms-method h3,.ms-ending h3{font-size:clamp(28px,7.3vw,37px)}
.ms-love-intro>p,.ms-method>p,.ms-ending>p{font-size:13px}
.ms-love-axes{grid-template-columns:1fr;margin-top:45px}.ms-love-axes>div{grid-template-columns:75px 1fr}.ms-love-axes .ms-note{grid-column:auto}
.ms-topics-grid{margin-top:45px}.ms-topics-grid>div{grid-template-columns:32px minmax(0,1fr);gap:10px 14px;padding:32px 0}.ms-topics-grid h4{font-size:21px}.ms-topics-grid p{grid-column:2;font-size:14px}
.ms-method-terms{gap:12px 22px;margin-top:40px}.ms-method-terms span{min-width:100px}.ms-ending>a{width:100%;font-size:13px;padding:16px 8px}
.ms-opening {
    padding-bottom: 40px;
  }
}


/* ===== Reading topics: expanded text, full-width rows ===== */
.ms-topics-grid > div {min-width:0;}
.ms-topics-grid > div .ms-topic-hook {
  grid-column:2; margin:6px 0 4px; color:#f2dfbc;
  font-size:clamp(17px,2vw,21px); line-height:1.8;
  font-weight:600; letter-spacing:.025em;
}
.ms-topics-grid > div .ms-topic-conclusion {
  grid-column:2; margin-top:10px; padding-top:16px;
  border-top:1px solid rgba(210,182,133,.22);color:#dfc99f;
}
@media(max-width:700px){
  .ms-topics-grid > div .ms-topic-hook{font-size:17px;}
  .ms-topics-grid > div p{line-height:2;overflow-wrap:break-word;}
}

/* 西洋占星術の説明部分：文字の視認性改善 */

.meguri-story {
  position: relative;
  isolation: isolate;
}

.meguri-story::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background: linear-gradient(
    180deg,
    rgba(10, 12, 27, 0.35) 0%,
    rgba(10, 12, 27, 0.72) 20%,
    rgba(10, 12, 27, 0.78) 80%,
    rgba(10, 12, 27, 0.35) 100%
  );

  pointer-events: none;
}

.meguri-story .ms-opening,
.meguri-story .ms-love,
.meguri-story .ms-topics,
.meguri-story .ms-method,
.meguri-story .ms-ending {
  position: relative;
  z-index: 1;
}

/* =====================================
   トップページ フォント統一
   明朝体
===================================== */

.fortune-hero,
.fortune-hero *,
.meguri-story,
.meguri-story *,
.element-section,
.element-section *,
.planet-panel-section,
.planet-panel-section *,
.house-design-section,
.house-design-section *,
.aspect-section,
.aspect-section *,
.sun-moon-section,
.sun-moon-section *,
.asc-section,
.asc-section *,
.transit-section,
.transit-section *,
.node-section,
.node-section * {

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

}
/* ドラゴンヘッド・ドラゴンテイル 明朝体統一 */

.dragon-image-wrap .dragon-text,
.dragon-image-wrap .dragon-text h2,
.dragon-image-wrap .dragon-text h3,
.dragon-image-wrap .dragon-text p {
  font-family:
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "Noto Serif JP",
    serif !important;
}


/* =====================================
   THE ART OF ASTROLOGY
   5つの視点・エディトリアルデザイン
===================================== */

.meguri-story .ms-method-terms {
  width: 100%;
  max-width: 680px;
  margin: 65px auto 0;
  display: block;
  text-align: left;
}

.meguri-story .ms-method-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 22px;
  align-items: start;
  padding: 35px 0;
  border-bottom: 1px solid rgba(221,193,142,.25);
}

.meguri-story .ms-method-item:first-child {
  border-top: 1px solid rgba(221,193,142,.25);
}

.meguri-story .ms-method-number {
  display: block;
  padding: 4px 0 0;
  color: #bca17a;
  font-size: 13px;
  letter-spacing: .08em;
}

.meguri-story .ms-method-content {
  min-width: 0;
}

.meguri-story .ms-method-en {
  display: block;
  margin-bottom: 6px;
  padding: 0;
  color: #afa4b5;
  font-size: 11px;
  letter-spacing: .2em;
}

.meguri-story .ms-method-content h4 {
  margin: 0 0 17px;
  color: #f1e8da;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.5;
}

.meguri-story .ms-method-content h5 {
  margin: 0 0 12px;
  color: #e0c9a5;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
}

.meguri-story .ms-method-content p {
  margin: 0;
  color: #cbc4d1;
  font-size: 14px;
  line-height: 2.1;
  letter-spacing: .025em;
}

.meguri-story .ms-method-closing {
  max-width: 680px;
  margin: 65px auto 0;
  text-align: center;
}

.meguri-story .ms-method-closing p {
  margin: 0 0 12px;
  color: #d9bd8a;
  font-size: 15px;
}

.meguri-story .ms-method-closing strong {
  display: block;
  color: #f1e8da;
  font-size: clamp(19px, 2.8vw, 27px);
  font-weight: 400;
  line-height: 1.8;
}

/* スマホ */
@media (max-width: 700px) {

  .meguri-story .ms-method-terms {
    margin-top: 40px;
  }

  .meguri-story .ms-method-item {
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 14px;
    padding: 28px 0;
  }

  .meguri-story .ms-method-content h4 {
    font-size: 23px;
  }

  .meguri-story .ms-method-content h5 {
    font-size: 16px;
  }

  .meguri-story .ms-method-content p {
    font-size: 13px;
    line-height: 2;
  }

  .meguri-story .ms-method-closing {
    margin-top: 45px;
  }
}
