@charset "UTF-8";

/* 共通
--------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --primary-yellow: #ffda1b;
  --primary-orange: #dd9910;
  --primary-navy: #1b4c6d;
  --text-shadow: 3px 3px 2px rgba(0, 0, 0, 1);;
}

.hs-inner {
  margin: 0 auto;
  padding: 0 min(5.33334vw, 40px);
}

.hs-text {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .03em;
  color: var(--main-font-color);
  text-shadow: var(--text-shadow);
}

.d-ib {
  display: inline-block;
}

.hs-btn {
  display: grid;
  place-items: center;
  border-radius: 38px;
}

.hs-btn a {
  font-weight: 500;
  color: var(--primary-navy);
}

.hs-btn.share {
  width: 90%;
  height: 55px;
  margin: 80px auto 0;
  background: #d2d7fe;
}

.hs-btn.share a {
  font-size: 16px;
  font-weight: 700;
}

.hs-btn.to-top {
  width: 300px;
  height: 40px;
  margin: 40px auto;
  background: var(--primary-yellow);
}

.hs-ff-roboto {
  font-family: "Roboto", sans-serif;
}

/* ダミー */
.dummy-img {
  max-width: 375px;
  margin: 0 auto;
}

.hs-main-content,
.hs-detail-content {
  position: relative;
  color: #fff;
/*  margin-bottom: min(40%, 140px); */
  margin-bottom: min(40%, 50px);
  padding-bottom: 40%;
  background: #5c76bf url(/img/kurashi/horoscope2026/bg.jpg) repeat-y center top / 100% auto;
}

.hs-detail-content {
/*  margin-bottom: min(40%, 100px); */
  margin-bottom: min(40%, 20px);
}



.hs-main-content::before,
.hs-detail-content::before {
  position: absolute;
  content: '';
  bottom: -3%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  aspect-ratio: 754 / 375;
  background: url(/img/kurashi/horoscope2026/bg-cloud.png) no-repeat center / cover;
}

.hs-detail-content::before {
  bottom: 0;
  transform: translate(-50%, 30%);
}


/* メインビジュアル
--------------------------------------- */

.hs-mv {
  padding: 25% 0 90px;
  background: url(/img/kurashi/horoscope2026/bg-mv.png) no-repeat center top 8% / 92% auto;
}

.hs-main-ttl {
  width: min(92%, 600px);
  margin: 0 auto 25%;
  padding-left: 4%;
}

.hs-lead {
  font-size: clamp(14px, 3.733334vw, 18px);
  font-weight: 500;
  text-shadow: var(--text-shadow);
  text-align: center;
  line-height: 2;
  margin: auto;
}


/* メインコンテンツ
--------------------------------------- */

.hs-sec-ttl {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: var(--primary-yellow);
  text-shadow: var(--text-shadow);
  width: fit-content;
  margin: 0 auto 30px;
  padding: 0 30px 10px;
}

.hs-sec-ttl span {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--primary-yellow);
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 1);
}

.hs-sec-ttl::before,
.hs-sec-ttl::after {
  position: absolute;
  content: '';
  bottom: 5px;
  width: 30px;
  height: 30px;
  background: url(/img/kurashi/horoscope2026/star-yellow.png) no-repeat center / contain;
}

.hs-sec-ttl::before {
  left: -2px;
}

.hs-sec-ttl::after {
  right: -8px;
}

.hs-sec-ttl.navy {
  color: var(--primary-navy);
  text-shadow: none;
  padding: 0 25px 10px;
}

.hs-sec-ttl.navy::before,
.hs-sec-ttl.navy::after {
  bottom: 14px;
  width: 18px;
  height: 18px;
  background-image: url(/img/kurashi/horoscope2026/star-navy.png);
}

.hs-sec-ttl.navy::before {
  left: 0;
}

.hs-sec-ttl.navy::after {
  right: 0;
}

.hs-sec-ttl.navy span {
  background-color: var(--primary-navy);
  box-shadow: none;
}


/* 星座で占う2026年のあなたの運勢！ */

.hs-contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px;
}

.hs-items {
  width: 47%;
  margin-bottom: 30px;
  background-color: #fff;
  border-radius: 10px;
}

.hs-items .img {
  padding: 10px 10px 0;
}

.hs-items .img img {
  width: 100%;
  border-radius: 8px;
}

.hs-items .wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  padding: 8px 5px 10px;
}

.hs-items .name {
  position: relative;
/*  font-size: 18px; */
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--primary-navy);
}

.hs-items .date {
/*  font-size: 12px; */
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  margin-top: 3px;
  padding: 2px 6px;
  border-radius: 10px;
  background-color: var(--primary-orange);
}


/* 2026年星座占いランキング */

.hs-ranking {
  position: relative;
  margin: min(40%, 180px) 0;
  padding: 10% 0;
  background-color: #fff;
}

.hs-ranking::before,
.hs-ranking::after {
  position: absolute;
  content: '';
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  aspect-ratio: 754 / 375;
  background: url(/img/kurashi/horoscope2026/bg-cloud.png) no-repeat center / cover;
}

.hs-ranking::before {
  top: -22%;
}

.hs-ranking::after {
  bottom: -22%;
  transform: translateX(-50%) rotate(180deg);
}

.hs-ranking-content {
  position: relative;
  z-index: 1;
}

.ranking-top {
  display: flex;
  justify-content: center;
}

.ranking-top-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 35px;
  margin-top: 15px;
}

.ranking-top-list li {
  position: relative;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: var(--primary-navy);
  margin-bottom: 15px;
  padding-top: 35px;
}

.ranking-top-list li::before {
  position: absolute;
  content: '';
  width: 38px;
  height: 33px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}

.ranking-top-list li:nth-of-type(1) {
  width: 100%;
}

.ranking-top-list li:nth-of-type(1):before {
  background-image: url(/img/kurashi/horoscope2026/rank01.png);
}

.ranking-top-list li:nth-of-type(2):before {
  background-image: url(/img/kurashi/horoscope2026/rank02.png);
}

.ranking-top-list li:nth-of-type(3):before {
  background-image: url(/img/kurashi/horoscope2026/rank03.png);
}

.ranking-other {
  display: flex;
  justify-content: center;
  margin-top: 15px;
}

.ranking-other-list {
  margin: 0 20px;
}

.ranking-other-list li {
  display: flex;
  font-size: 16px;
  font-weight: 500;
  color: var(--primary-navy);
  margin-bottom: 15px;
}

.ranking-other-list li span {
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: var(--primary-navy);
  width: 30px;
  height: 30px;
  margin-right: 15px;
  margin-top: -2px;
  border-radius: 50%;
  background-color: var(--primary-yellow);
}


/* プロフィール */

.hs-profile-img {
  position: relative;
  display: grid;
  place-items: center;
  width: 175px;
  height: 175px;
  margin: 0 auto;
  background-color: #d2d7fe;
  border-radius: 50%;
}

.hs-profile-img img {
  width: 161px;
  border-radius: 50%;
}

.hs-profile-content {
  margin-top: 40px;
}

.hs-profile-name {
  position: relative;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: var(--primary-color);
  width: fit-content;
  margin: -20px auto 35px;
  padding: 3px 15px 5px;
  background-color: var(--primary-orange);
  border-radius: 20px;
}

.hs-profile-ttl {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  margin: 20px 0 5px;
  padding-left: 15px;
  text-shadow: var(--text-shadow);
}

.hs-profile-ttl::before {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: var(--primary-yellow);
  border-radius: 50%;
}

.hs-profile-ttl + .hs-text {
  margin-left: 1em;
}

.hs-profile-content a {
  color: #fff;
  text-decoration: underline;
}


/* 占い詳細 */

.hs-detail-head {
  position: relative;
}

.hs-detail-head::before {
  position: absolute;
  content: '';
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 205px;
  height: 78px;
  background: url(/img/kurashi/horoscope2026/bg-head.png) no-repeat center / contain;
}

.hs-detail-ttl {
  position: relative;
  font-size: clamp(18px, 4.8vw, 22px);
  font-weight: 900;
  text-align: center;
  color: var(--primary-navy);
  padding-top: 12px;
}

.hs-desc {
  margin-bottom: 60px;
  padding-top: 65px;
}

.hs-desc-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hs-desc-text {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 15px;
}

.sign-name {
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-shadow: var(--text-shadow);
}

.sign-date {
  font-size: 18px;
  font-weight: 500;
  margin-top: 10px;
  padding: 2px 12px;
  background-color: var(--primary-orange);
  border-radius: 20px;
}

.hs-fortune {
  display: flex;
  align-items: flex-end;
  margin-top: 10px;
}

.hs-fortune .ttl {
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 12px;
  text-shadow: var(--text-shadow);
}

.hs-fortune .rank {
  display: flex;
  align-items: flex-end;
  font-size: 20px;
  font-weight: 700;
  padding-left: 15px;
}

.hs-fortune .rank span:nth-of-type(1) {
  position: relative;
  display: grid;
  place-items: center;
  color: var(--primary-navy);
  width: 75px;
  height: 72px;
  font-size: 38px;
  letter-spacing: -0.08em;
  padding-top: 5px;
  padding-right: 5px;
  background: url(/img/kurashi/horoscope2026/star-rank.png) no-repeat center / contain;
}

.hs-fortune .rank span:nth-of-type(2) {
  margin-bottom: 12px;
  text-shadow: var(--text-shadow);
}

.hs-sec {
  position: relative;
  margin-bottom: 40px;
}

.hs-detail-content .hs-sec {
  margin-bottom: 60px;
}

.hs-desc-img {
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
  width: min(68%, 450px);
  margin-right: -10px;
  padding: 10px;
  background-color: #fff;
  border-radius: 10px;
}

.hs-desc-img img {
  border-radius: 8px;
}

.hs-sec .hs-text {
  margin-bottom: 20px;
}

.hs-sub-ttl {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 20px;
  padding-bottom: 6px;
  border-bottom: 4px var(--primary-color) dotted;
}

.hs-item-name {
  position: relative;
  font-size: 18px;
  font-weight: 700;
  color: var(--main-font-color);
  margin-bottom: 15px;
  padding-left: 15px;
  text-shadow: var(--text-shadow);
}

.hs-item-name::before {
  position: absolute;
  content: '';
  width: 10px;
  height: 10px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: var(--primary-yellow);
  border-radius: 50%;
}

.hs-text-box {
  position: relative;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 10px;
  z-index: 1;
}

.hs-text-box > *:last-child {
  margin-bottom: 0;
}

.hs-main-content .bg,
.hs-detail-content .bg {
  position: absolute;
}

.hs-detail-content .zodiac {
  top: 15px;
  right: 0;
  width: 20%;
  aspect-ratio: 1;
}

.hs-detail-content.ohitsuji .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-ohitsuji.svg);
}

.hs-detail-content.oushi .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-oushi.svg);
}

.hs-detail-content.futago .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-futago.svg);
}

.hs-detail-content.kani .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-kani.svg);
}

.hs-detail-content.shishi .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-shishi.svg);
}

.hs-detail-content.otome .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-otome.svg);
}

.hs-detail-content.tenbin .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-tenbin.svg);
}

.hs-detail-content.sasori .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-sasori.svg);
}

.hs-detail-content.ite .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-ite.svg);
}

.hs-detail-content.yagi .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-yagi.svg);
}

.hs-detail-content.mizugame .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-mizugame.svg);
}

.hs-detail-content.uo .zodiac {
  background-image: url(/img/kurashi/horoscope2026/bg-uo.svg);
}

.hs-detail-content .bg01 {
  top: 20px;
  left: 5%;
  width: 17%;
  aspect-ratio: 112 / 123;
  background-image: url(/img/kurashi/horoscope2026/bg-deco01.svg);
}

.hs-main-content .bg02,
.hs-detail-content .bg02 {
  top: 0;
  left: 6%;
  transform: translateY(-70%);
  width: 15%;
  aspect-ratio: 110 / 124;
  background-image: url(/img/kurashi/horoscope2026/bg-deco02.svg);
}

.hs-main-content .bg03,
.hs-detail-content .bg03 {
  top: 0;
  right: 6%;
  transform: translateY(-90%);
  width: 16%;
  aspect-ratio: 124 / 117;
  background-image: url(/img/kurashi/horoscope2026/bg-deco03.svg);
}

.hs-detail-content .bg04 {
  top: -8%;
  left: 4%;
  width: 12%;
  aspect-ratio: 84 / 128;
  background-image: url(/img/kurashi/horoscope2026/bg-deco04.svg);
}

.hs-detail-content .bg05 {
  top: -10%;
  right: 3%;
  width: 14%;
  aspect-ratio: 122 / 117;
  background-image: url(/img/kurashi/horoscope2026/bg-deco05.svg);
}



@media screen and (min-width: 480px) {
  .hs-main-ttl {
    margin-top: min(6vw, 60px);  
  }

  .hs-items {
    width: 30%;
  }

  .hs-desc-content {
    padding: 0 min(5.33334vw, 40px);
  }

  .hs-desc {
    padding-top: 120px;
  }

  .hs-desc-img {
    margin: 0;
  }
}