/* ヘッダー */
.header-navi {
  visibility: hidden;
}
.header-logo-img {
  height: auto;
}
@media screen and (max-width: 1100px) {
  .header {
    background-color: #fff;
    box-shadow: 0px 0px 5px #cfcfcf;
  }
  .header-navi {
    visibility: visible;
  }
  .header-share-btn-img {
    width: calc(50 / 600 * 100vw) !important;
    max-width: 30px;
  }
}
.inner {
  background: #fff;
}

/* pcメニュー */
.pcMenu {
  position: fixed;
  top: 50%;
  right: 0;
  width: calc(50% - 300px);
  height: 100vh;
  transform: translateY(-50%);
}
.pcMenu-inner {
  position: absolute;
  top: 50%;
  left: 60px;
  transform: translateY(-50%);
}
.pcMenu-navi {
  width: 260px;
}
.pcMenu-navi-item a {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 3;
  color: #000;
  transition: all 0.3s;
}
.pcMenu-navi-item a:hover {
  color: #e52532;
}
.pcMenu-project-btn {
  width: 190px;
  margin: 20px auto 0;
}
.pcMenu-project-btn img {
  width: 100%;
}
.pcMenu-sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 168px;
  margin: 25px auto 0;
}
.pcMenu-sns-item {
  width: 44px;
}
.pcMenu-sns-item img {
  width: 100%;
}
@media screen and (max-width: 1300px) {
  .pcMenu-inner {
    left: 2vw;
  }
  .pcMenu-navi {
    width: 20vw;
  }
  .pcMenu-navi-item a {
    font-size: 1.2vw;
  }
  .pcMenu-project-btn {
    width: 14.61vw;
    margin: 1.538vw auto 0;
  }
  .pcMenu-sns {
    width: 12.92vw;
    margin: 1.923vw auto 0;
  }
  .pcMenu-sns-item {
    width: 3.384vw;
  }
}
@media screen and (max-width: 1100px) {
  .pcMenu {
    display: none;
  }
}

/* ハンバーガーメニュー */
.menu {
  background: #fff;
}
.menu-logo-img {
  height: auto;
}
.menu-navi-item {
  margin: 0;
}
.menu-navi-item a {
  position: relative;
  display: block;
  padding-right: 100px;
  font-size: 28px;
  font-weight: 700;
  line-height: 3;
  color: #000;
  border-bottom: 3px solid #ededed;
  transition: all 0.3s;
}
.menu-navi-item a::before {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 44px;
  height: 44px;
  content: '';
  background: url(/assets_pjc/ranking2024/img/ranking2024_btn_arrow_red.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
.menu-navi-item a:hover {
  color: #e52532;
  border-bottom: 3px solid #e52532;
}
.menu-share {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: start;
  margin: 50px 0 0;
}
.menu-share-btn {
  width: 50px;
  margin: 0;
}
.menu-share-btn img {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .menu-navi {
    margin-bottom: calc(50 / 600 * 100vw);
  }
  .menu-navi-item a {
    padding-right: calc(100 / 600 * 100vw);
    font-size: calc(28 / 600 * 100vw);
  }
  .menu-navi-item a::before {
    right: calc(20 / 600 * 100vw);
    width: calc(44 / 600 * 100vw);
    height: calc(44 / 600 * 100vw);
  }
  .menu-navi-item:nth-of-type(3) a {
    border-bottom: 0;
  }
  .menu-share {
    margin: calc(50 / 600 * 100vw) 0 0;
  }
  .menu-share-btn {
    width: calc(50 / 600 * 100vw);
  }
  .menu-navi-child {
    border-bottom: 3px solid #ededed;
  }
  .menu-navi-child-item {
    padding-bottom: calc(10 / 600 * 100vw);
    padding-left: calc(20 / 600 * 100vw);
  }
  .menu-navi-child-item > a {
    position: relative;
    font-size: calc(16 / 600 * 100vw);
  }
  .menu-navi-child-item > a::before {
    content: '';
    display: block;
    background: url(/assets_pjc/ranking2026/img/nav_arrow.png) no-repeat;
    background-size: contain;
    width: calc(15 / 600 * 100vw);
    height: calc(16 / 600 * 100vw);
    position: absolute;
    left: calc(-20 / 600 * 100vw);
  }
}
.menu-navi-link {
  background: none !important;
  padding-left: 0 !important;
}

/* kv*/
.ranking-kv {
  height: auto;
  padding: 0;
  background: none;
}
.ranking-kv-logo {
  width: 167px;
  padding-top: 30px;
  margin: 0 0 0 30px;
}
.ranking-kv-logo img {
  width: 100%;
}
.ranking-kv-img {
  width: 402px;
  padding-top: 40px;
  margin: 0 auto;
}
.ranking-kv-img img {
  width: 100%;
}
.ranking-kv-lead {
  margin-top: 50px;
  font-size: 22px;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .ranking-kv-logo {
    width: calc(167 / 600 * 100vw);
    padding-top: calc(130 / 600 * 100vw);
    margin: 0 0 0 calc(30 / 600 * 100vw);
  }
  .ranking-kv-img {
    width: calc(402 / 600 * 100vw);
    padding-top: calc(41 / 600 * 100vw);
    margin: 0 auto;
  }
  .ranking-kv-lead {
    margin-top: calc(50 / 600 * 100vw);
    font-size: calc(22 / 600 * 100vw);
  }
}
/* ranking-best */
.ranking-best {
  width: 540px;
  margin: 50px auto 0;
}
.ranking-best-wrap {
  position: relative;
  padding: 5px;
  color: #fff;
  cursor: pointer;
  background-color: #000;
  border-radius: 15px;
}
.ranking-best-btn {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  background-color: #fff;
  border-radius: 50%;
}
.ranking-best-btn span:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 5px;
  background-color: #000;
  border-radius: 10px;
  transform: translate(-50%, -50%);
}
.ranking-best-btn span:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 25px;
  background-color: #000;
  border-radius: 10px;
  transform: translate(-50%, -50%);
}
.is-open .ranking-best-btn span:last-child {
  display: none;
}
.ranking-best-inner {
  padding: 20px;
  border: 2px solid #d8c181;
  border-radius: 10px;
}
.ranking-best-logo {
  display: block;
  width: 263px;
  margin: 0 auto;
}
.ranking-best-text {
  margin-top: 20px;
  font-size: 20px;
  line-height: 1.4;
}
.ranking-best-caution {
  margin-top: 8px;
  font-size: 18px;
}
.ranking-best-contents {
  max-height: 0;
  padding: 0 15px;
  margin-top: 16px;
  overflow: hidden;
  background-color: #f2eedc;
  border: 2px solid #fff;
  border-radius: 10px;
  -webkit-transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.is-open + .ranking-best-contents {
  max-height: 360px;
  border: 2px solid #af8800;
}
.ranking-best-title {
  font-size: 30px;
}
.ranking-best-sub {
  margin-top: 8px;
  font-size: 14px;
}
.ranking-best-contents-item {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 30px;
}
.ranking-best-contents-item:not(:first-child) {
  border-top: dotted 2px #af8800;
}
@media screen and (max-width: 600px) {
  .ranking-best {
    width: calc(540 / 600 * 100vw);
    margin: calc(64 / 600 * 100vw) auto 0;
  }
  .ranking-best-wrap {
    border-radius: calc(15 / 600 * 100vw);
  }
  .ranking-best-inner {
    padding: calc(20 / 600 * 100vw);
    border-radius: calc(10 / 600 * 100vw);
  }
  .ranking-best-btn {
    top: calc(24 / 600 * 100vw);
    right: calc(24 / 600 * 100vw);
    width: calc(48 / 600 * 100vw);
    height: calc(48 / 600 * 100vw);
  }
  .ranking-best-btn span:first-child {
    width: calc(25 / 600 * 100vw);
    height: calc(5 / 600 * 100vw);
  }
  .ranking-best-btn span:last-child {
    width: calc(5 / 600 * 100vw);
    height: calc(25 / 600 * 100vw);
  }
  .ranking-best-logo {
    width: calc(263 / 600 * 100vw);
  }
  .ranking-best-text {
    margin-top: calc(20 / 600 * 100vw);
    font-size: calc(18 / 600 * 100vw);
  }
  .ranking-best-caution {
    margin-top: calc(10 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
  }
  .ranking-best-contents {
    padding: 0 calc(40 / 600 * 100vw);
    margin-top: calc(20 / 600 * 100vw);
    border-radius: calc(15 / 600 * 100vw);
  }
  .is-open + .ranking-best-contents {
    max-height: calc(467 / 600 * 100vw);
  }
  .ranking-best-title {
    font-size: calc(30 / 600 * 100vw);
  }
  .ranking-best-sub {
    font-size: calc(14 / 600 * 100vw);
  }
  .ranking-best-contents-item {
    gap: calc(20 / 600 * 100vw);
    padding: calc(37 / 600 * 100vw) 0;
  }
  .ranking-best-contents-item img {
    width: calc(52 / 600 * 100vw);
  }
}
/* ranking navi */
.ranking-navi {
  width: 540px;
  padding: 0;
  margin: 30px auto 0;
}
.ranking-navi-item {
  margin: 0;
}
.ranking-navi-item:nth-of-type(n + 2) {
  margin-top: 15px;
}
@media screen and (max-width: 600px) {
  .ranking-navi {
    width: calc(540 / 600 * 100vw);
    padding: 0;
    margin: calc(30 / 600 * 100vw) auto 0;
  }
  .ranking-navi-item:nth-of-type(n + 2) {
    margin-top: calc(15 / 600 * 100vw);
  }
}

/* 各タイトル */
.ranking-total-title {
  width: 358px;
  margin: 0 auto 50px;
}
.ranking-attribute-title {
  width: 403px;
  margin: 0 auto 50px;
}
.ranking-total-low-title small {
  font-size: 12px;
}
.ranking-total-low-title-sml {
  display: block;
  margin-top: 6px;
  margin-left: 0;
}
.ranking-attribute-title img {
  width: 100%;
}
.ranking-category-title {
  width: 403px;
  margin: 0 auto 50px;
}
.ranking-category-title img {
  width: 100%;
}
.ranking-poy-title {
  width: 469px;
  margin: 0 auto 50px;
}
.ranking-entry-ttl {
  width: 471px;
  margin: 0 auto;
}
.ranking-entry-ttl img {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .ranking-total-title {
    width: calc(358 / 600 * 100vw);
    margin: 0 auto calc(50 / 600 * 100vw);
  }
  .ranking-total-low-title small {
    font-size: calc(15 / 600 * 100vw);
  }
  .ranking-attribute-title {
    width: calc(403 / 600 * 100vw);
    margin: 0 auto calc(50 / 600 * 100vw);
  }
  .ranking-category-title {
    width: calc(403 / 600 * 100vw);
    margin: 0 auto calc(50 / 600 * 100vw);
  }
  .ranking-poy-title {
    width: calc(469 / 600 * 100vw);
    margin: 0 auto calc(50 / 600 * 100vw);
  }
  .ranking-entry-ttl {
    width: calc(471 / 600 * 100vw);
    margin: 0 auto;
  }
  .ranking-entry-ttl img {
    width: 100%;
  }
}

/* 総合RANKING */
.ranking-total {
  position: relative;
  padding: 90px 0;
  margin: 100px 0 0 0;
  background: url(/assets_pjc/ranking2024/img/ranking2024_diagonal_bg_yellow.png) #f7f3e7;
}
.ranking-total-list {
  padding: 0;
}
.ranking-total-item {
  position: relative;
  width: 470px;
  margin: 0 auto;
  z-index: 1;
}
.ranking-total-item:nth-of-type(n + 2) {
  margin-top: 40px;
}
.ranking-total-item:nth-of-type(4) {
  margin-top: 50px;
}
.ranking-total-item:nth-child(n + 4) {
  margin-bottom: 0;
}
.ranking-total-item:nth-of-type(n + 5) {
  margin-top: 20px;
}
.ranking-total-bg--right {
  position: absolute;
  top: 0;
  right: -65px;
  z-index: -1;
  width: 92px;
}
.ranking-total-bg--right > img {
  width: 100%;
}
.ranking-total-bg--left {
  position: absolute;
  top: 230px;
  left: -65px;
  z-index: -1;
  width: 92px;
}
.ranking-total-bg--left > img {
  width: 100%;
}
.ranking-total-bg--rightBt {
  position: absolute;
  right: -65px;
  bottom: 0;
  z-index: -1;
  width: 92px;
}
.ranking-total-bg--rightBt > img {
  width: 100%;
}
.ranking-total-bg--leftBt {
  position: absolute;
  left: 0px;
  bottom: 0px;
  z-index: 0;
  width: 92px;
}
.ranking-total-bg--leftBt > img {
  width: 100%;
}
.ranking-total-low-lead {
  align-items: start;
  height: auto;
  padding: 10px 0;
  background: #e52532;
}
.ranking-total-low-lead::after {
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
}
.ranking-total-low-rank-img {
  width: 50px;
}
.ranking-total-low-title-notes {
  display: block;
  margin-top: 5px;
  font-size: 13px;
}
.ranking-total-block {
  z-index: 1;
  padding: 60px 35px 30px;
  margin: -25px 0 0 0;
}
.ranking-total-lead {
  top: -50px;
}
.ranking-total-lead-text {
  padding: 10px 15px;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.ranking-total-lead-sml {
  display: block;
  padding: 0;
}
.ranking-total-lead-text span {
  font-size: 16px;
}
.ranking-total-text {
  font-size: 16px;
}
.ranking-total-low-text {
  font-size: 14px;
}
@media screen and (max-width: 600px) {
  .ranking-total {
    padding: calc(100 / 600 * 100vw) 0;
    margin: calc(100 / 600 * 100vw) 0 0 0;
  }
  .ranking-total-item {
    width: calc(470 / 600 * 100vw);
    max-width: 470px;
  }
  .ranking-total-item:nth-of-type(n + 2) {
    margin-top: calc(40 / 600 * 100vw);
  }
  .ranking-total-item:nth-of-type(4) {
    margin-top: calc(50 / 600 * 100vw);
  }
  .ranking-total-item:nth-of-type(n + 5) {
    margin-top: calc(20 / 600 * 100vw);
  }
  .ranking-total-block {
    z-index: 1;
    padding: calc(60 / 600 * 100vw) calc(35 / 600 * 100vw) calc(30 / 600 * 100vw);
    margin: calc(-25 / 600 * 100vw) 0 0 0;
  }
  .ranking-total-lead {
    top: calc(-50 / 600 * 100vw);
    left: calc(-15 / 600 * 100vw);
  }
  .ranking-total-low-lead {
    height: auto;
  }
  .ranking-total-low-rank-img {
    width: calc(50 / 600 * 100vw);
  }
  .ranking-total-lead-text {
    padding: calc(10 / 600 * 100vw) calc(15 / 600 * 100vw);
    font-size: calc(32 / 600 * 100vw);
  }
  .ranking-total-lead-text span {
    font-size: calc(16 / 600 * 100vw);
  }
  .ranking-total-text {
    font-size: calc(16 / 600 * 100vw);
  }
  .ranking-total-low-text {
    font-size: calc(14 / 600 * 100vw);
  }
  .ranking-total-low-title-notes {
    display: block;
    margin-top: calc(10 / 600 * 100vw);
    font-size: calc(13 / 600 * 100vw);
  }
  .ranking-total-bg--right {
    width: calc(95 / 600 * 100vw);
    right: calc(-65 / 600 * 100vw);
  }
  .ranking-total-bg--left {
    width: calc(95 / 600 * 100vw);
    top: 25%;
    left: calc(-65 / 600 * 100vw);
  }
  .ranking-total-bg--rightBt {
    width: calc(95 / 600 * 100vw);
    bottom: 0;
    right: calc(-65 / 600 * 100vw);
  }
  .ranking-total-bg--leftBt {
    width: calc(95 / 600 * 100vw);
    bottom: 0;
    left: 0;
  }
}

/* 属性別RANKING */
.ranking-attribute {
  position: relative;
  padding: 100px 0;
  margin-bottom: 0;
  background: none;
}
.ranking-attribute-bg {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 92px;
  z-index: 1;
}
.ranking-attribute-bg > img {
  width: 100%;
}
.ranking-attribute-head {
  background: #f27f2a;
}
.ranking-attribute-item {
  padding: 15px;
  background: #ffe7db;
}
.ranking-attribute-item:nth-child(2n) {
  background: #fdf4ef;
}
.ranking-attribute-item::after {
  right: 10px;
  bottom: 10px;
  background: url(/assets_pjc/ranking2024/img/ranking2024_icon_check_orange.png) no-repeat 0;
  background-size: contain;
}
.ranking-attribute-part-rank {
  width: 35px;
  margin-right: 10px;
}
.ranking-attribute-part-text {
  margin-bottom: 0;
  font-size: 14px;
}
.ranking-attribute-part-text:nth-of-type(n + 2) {
  margin-top: 10px;
}
.ranking-attribute-icon {
  height: 70px;
  background: #f27f2a;
}
.ranking-attribute-click {
  background: #f27f2a;
}
@media screen and (max-width: 600px) {
  .ranking-attribute {
    padding: calc(100 / 600 * 100vw) 0;
  }
  .ranking-attribute-item {
    padding: calc(15 / 600 * 100vw);
    background: #ffe7db;
  }
  .ranking-attribute-item::after {
    right: calc(10 / 600 * 100vw);
    bottom: calc(10 / 600 * 100vw);
    width: calc(24 / 600 * 100vw);
    height: calc(23 / 600 * 100vw);
    background: url(/assets_pjc/ranking2024/img/ranking2024_icon_check_orange.png) no-repeat 0;
    background-size: contain;
  }
  .ranking-attribute-part-rank {
    width: calc(35 / 600 * 100vw);
    margin-right: calc(10 / 600 * 100vw);
  }
  .ranking-attribute-part-text {
    font-size: calc(16 / 600 * 100vw);
  }
  .ranking-attribute-part-text:nth-of-type(n + 2) {
    margin-top: calc(10 / 600 * 100vw);
  }
  .ranking-attribute-icon {
    width: calc(70 / 600 * 100vw);
    height: calc(70 / 600 * 100vw);
    margin-right: calc(15 / 600 * 100vw);
  }
  .ranking-attribute-icon-img {
    width: calc(45 / 600 * 100vw);
  }
  .ranking-attribute-bg {
    width: calc(95 / 600 * 100vw);
  }
}

/* 部門別RANKING */
.ranking-category {
  padding: 90px 0 100px;
  margin: 0;
  background: #ffedee;
}
.ranking-category-head-ttl {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}
.ranking-category-head-ttl .age {
  width: 60px;
}
.ranking-category-lead-txt {
  margin-top: 15px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
  color: #fff;
}
.ranking-category-block {
  width: 540px;
  padding: 0;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.ranking-category-block:nth-of-type(n + 2) {
  margin-top: 30px;
}
.ranking-category-head {
  padding: 20px 0 15px;
}
.ranking-category-head.pink {
  background: #f077b0;
}
.ranking-category-head.orange {
  background: #f27f2a;
}
.ranking-category-list {
  padding: 25px;
  background: #fff;
}
.ranking-category-list.orange {
  background: #ffe7db;
}
.ranking-category-listItem {
  display: flex;
  align-items: center;
}
.ranking-category-listItem:nth-of-type(n + 2) {
  margin-top: 20px;
}
.ranking-category-listNum {
  width: 44px;
}
.ranking-category-listNum img {
  width: 100%;
}
.ranking-category-listTxt {
  margin-left: 20px;
  font-size: 20px;
  font-weight: 700;
}
.ranking-category-listTxt.orange {
  color: #f27f2a;
}
@media screen and (max-width: 600px) {
  .ranking-category {
    padding: calc(90 / 600 * 100vw) 0 calc(100 / 600 * 100vw);
  }
  .ranking-category-head-ttl {
    font-size: calc(24 / 600 * 100vw);
  }
  .ranking-category-head-ttl .age {
    width: calc(60 / 600 * 100vw);
  }
  .ranking-category-lead-txt {
    margin-top: calc(15 / 600 * 100vw);
    font-size: calc(12 / 600 * 100vw);
  }
  .ranking-category-block {
    width: calc(540 / 600 * 100vw);
  }
  .ranking-category-block:nth-of-type(n + 2) {
    margin-top: calc(30 / 600 * 100vw);
  }
  .ranking-category-head {
    padding: calc(20 / 600 * 100vw) 0 calc(15 / 600 * 100vw);
  }
  .ranking-category-list {
    padding: calc(25 / 600 * 100vw);
  }
  .ranking-category-listItem:nth-of-type(n + 2) {
    margin-top: calc(20 / 600 * 100vw);
  }
  .ranking-category-listNum {
    width: calc(44 / 600 * 100vw);
  }
  .ranking-category-listTxt {
    margin-left: calc(20 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
  }
}

/* みんなの挑戦のリアル大調査 */
.real {
  position: relative;
  padding: 80px 0;
  background: #ffedee;
}
.real-title {
  width: 480px;
  margin: 0 auto;
}
.real-img {
  width: 100%;
}
.real-sub-ttl {
  margin-top: 45px;
  font-size: 26px;
  line-height: 1.5;
  text-align: center;
}
.real-sub-ttl-pink {
  color: #f077b0;
}
.real-text {
  line-height: 2;
  margin-top: 25px;
  font-size: 15px;
  text-align: center;
}
.real-ranking {
  position: relative;
  width: 540px;
  margin: 40px auto 0;
  z-index: 1;
}
.real-ranking-comment-detail-ttl {
  width: 460px;
  margin: 0 auto;
}
.real-ranking-comment-lead {
  position: relative;
  padding: 35px 0;
  font-size: 25px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  background: #f077b0;
  font-weight: bold;
  line-height: 1.3;
}
.real-ranking--top {
  position: relative;
}
.real-ranking--top::before {
  content: '';
  display: block;
  background: url(/assets_pjc/ranking2026/img/real_ranking_bg_01.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -20px;
  left: -28px;
  width: 100px;
  height: 100px;
}
.real-ranking--center {
  position: relative;
}
.real-ranking--center::before {
  content: '';
  display: block;
  background: url(/assets_pjc/ranking2026/img/real_ranking_bg_02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -10px;
  right: -69px;
  width: 100px;
  height: 100px;
}
.real-ranking--bottom {
  position: relative;
}
.real-ranking--bottom::before {
  content: '';
  display: block;
  background: url(/assets_pjc/ranking2026/img/real_ranking_bg_01.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -15px;
  left: -28px;
  width: 100px;
  height: 100px;
}
.real-ranking-comment-lead:after {
  content: '';
  width: 14px;
  height: 14px;
  position: absolute;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  display: block;
  right: 15px;
  top: 40%;
  margin: auto;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.real-ranking-comment-lead.is-open:after {
  width: 14px;
  height: 2px;
  border: none;
  background-color: #fff;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.real-ranking-comment-detail {
  background: #fff;
  padding: 0 15px;
  overflow: hidden;
  max-height: 0;
  transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.is-open + .real-ranking-comment-detail {
  max-height: 1750px;
  padding: 40px 30px;
}

.real-ranking-comment-detail-text {
  font-size: 16px;
  margin-top: 25px;
  text-align: center;
  line-height: 2;
}
.real-ranking-comment-detail-line {
  width: 470px;
  padding: 40px 0;
  margin: 0 auto;
}
.real-ranking-comment-detail-img {
  width: 400px;
  margin: 0 auto;
}
.real-ranking-comment-detail-item {
  display: grid;
  height: 100px;
  align-items: baseline;
  grid-template-columns: 45px 400px;
  gap: 30px;
  font-size: 16px;
  line-height: 1.9;
  margin-bottom: 25px;
}
.real-ranking-comment-detail-ranking-text > span {
  font-size: 20px;
  font-weight: bold;
}
.real-ranking-comment-detail-ep-ttl {
  width: 350px;
  margin: 60px auto 0;
}
.real-ranking-comment-detail-ep-item {
  background: url(/assets_pjc/ranking2026/img/real_ranking_ep_speech-bubble.png) no-repeat top center;
  background-size: contain;
  width: 465px;
  height: 210px;
  margin: 25px auto 0;
  position: relative;
}
.real-ranking-comment-detail-ep-item-text {
  width: 400px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.real-ranking-comment-detail-ep-item-text > span {
  color: #f077b0;
}
.real-ranking-comment-detail-ep-link {
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  padding-top: 20px;
}
.real-ranking-comment-detail-ep-link > a {
  text-decoration: underline;
  color: #e42532;
}
.real-ranking-comment-detail-ep-notes {
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
  margin-top: 20px;
/*
  padding-left: 1em;
  text-indent: -1em;
*/
}
@media screen and (max-width: 600px) {
  .real-title {
    width: calc(480 / 600 * 100vw);
    margin: 0 auto;
  }
  .real-sub-ttl {
    font-size: calc(30 / 600 * 100vw);
    margin-top: calc(45 / 600 * 100vw);
  }
  .real-text {
    font-size: calc(18 / 600 * 100vw);
  }
  .real-ranking {
    width: calc(540 / 600 * 100vw);
    margin: calc(60 / 600 * 100vw) auto 0;
  }
  .real-ranking-comment-lead {
    padding: calc(35 / 600 * 100vw) 0;
    font-size: calc(25 / 600 * 100vw);
  }
  .is-open + .real-ranking-comment-detail {
    padding: calc(60 / 600 * 100vw) calc(40 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ttl {
    width: calc(450 / 600 * 100vw);
  }
  .real-ranking-comment-detail-text {
    font-size: calc(18 / 600 * 100vw);
  }
  .real-ranking-comment-detail-line {
    width: calc(470 / 600 * 100vw);
    padding: calc(40 / 600 * 100vw) 0;
  }
  .real-ranking-comment-detail-img {
    width: calc(400 / 600 * 100vw);
  }
  .real-ranking-comment-detail-item {
    grid-template-columns: calc(50 / 600 * 100vw) auto;
    gap: calc(30 / 600 * 100vw);
    height: auto;
    margin-bottom: calc(25 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ranking-text {
    font-size: calc(16 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ranking-text > span {
    font-size: calc(20 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ep-ttl {
    width: calc(350 / 600 * 100vw);
    margin: calc(60 / 600 * 100vw) auto 0;
  }
  .real-ranking-comment-detail-ep-item {
    width: calc(470 / 600 * 100vw);
    margin: calc(25 / 600 * 100vw) auto 0;
    height: calc(210 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ep-item-text {
    width: calc(400 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ep-link {
    font-size: calc(15 / 600 * 100vw);
  }
  .real-ranking-comment-detail-ep-notes {
    font-size: calc(12 / 600 * 100vw);
    line-height: 1.8;
    text-align: center;
    margin-top: calc(20 / 600 * 100vw);
  }
}

/* 過去のランキング */
.ranking-past {
  position: relative;
  padding: 80px 0;
}
.ranking-past-bg {
  position: absolute;
  top: 55px;
  left: 0;
  width: 100px;
}
.ranking-past-bg > img {
  width: 100%;
}
.ranking-past-wrap {
  display: grid;
  gap: 32px;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .ranking-past {
    padding: calc(80 / 600 * 100vw) 0;
  }
  .ranking-past-wrap {
    gap: calc(32 / 600 * 100vw);
    width: calc(474 / 600 * 100vw);
    margin: 0 auto;
  }
  .ranking-past-wrap img {
    width: 100%;
  }
  .ranking-past-bg {
    width: calc(100 / 600 * 100vw);
  }
}
/* はじめてみたパーソンオブザイヤー */
.ranking-poy {
  padding: 90px 0;
  margin: 0;
}
.ranking-poy-lead {
  margin-bottom: 40px;
  font-size: 16px;
}
.ranking-poy-img {
  width: 505px;
  margin-right: auto;
  margin-left: auto;
}
.ranking-poy-img img {
  width: 100%;
}
.ranking-yt {
  width: 540px;
  margin: 60px auto 0;
}
.ranking-yt iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
.ranking-yt-txt {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}
.ranking-poy-lastyear {
  padding: 0;
  padding-left: 80px;
  margin: 0;
  background: url(/assets_pjc/ranking2023/img/icon_crown.png) no-repeat top left;
  background-size: 15%;
}
.ranking-poy-lastyear-name:nth-of-type(n + 2) {
  margin-top: 20px;
}
.ranking-poy-comment {
  width: 505px;
  margin-right: auto;
  margin-left: auto;
}
.ranking-poy-comment-lead {
  padding: 15px 0;
  font-size: 24px;
}
.ranking-poy-comment-lead::after {
  top: 30%;
  transform: translateY(-50%), rotate(135deg);
}
.ranking-poy-comment-text {
  font-size: 16px;
}
.ranking-poy-mv {
  width: 505px;
  margin: 0 auto 40px;
}
.ranking-poy-mv iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.ranking-poy-text01 {
  font-size: 16px;
  color: #fff;
}
.ranking-poy-text01 span {
  position: relative;
}
.ranking-poy-text01 span::before {
  position: absolute;
  top: 6px;
  left: -10px;
  width: 1px;
  height: 16px;
  content: '';
  background-color: #fff;
  transform: rotate(-24deg);
}
.ranking-poy-text01 span::after {
  position: absolute;
  top: 6px;
  right: -10px;
  width: 1px;
  height: 16px;
  content: '';
  background-color: #fff;
  transform: rotate(24deg);
}
.ranking-poy-text02 {
  margin-bottom: 24px;
  font-size: 20px;
  color: #fff;
}
.ranking-poy-mv-title {
  width: 443px;
  margin: 16px auto 20px;
}
.ranking-poy-mv-title > img {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .ranking-poy {
    padding: calc(90 / 600 * 100vw) 0;
    margin: 0;
  }
  .ranking-poy-lead {
    margin-bottom: calc(40 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
  }
  .ranking-poy-img {
    width: calc(505 / 600 * 100vw);
  }
  .ranking-yt {
    width: calc(520 / 600 * 100vw);
    margin: calc(60 / 600 * 100vw) auto 0;
  }
  .ranking-yt-txt {
    margin-top: calc(20 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
  }
  .ranking-poy-comment {
    width: calc(505 / 600 * 100vw);
  }
  .ranking-poy-lastyear {
    padding: 0;
    padding-left: calc(80 / 600 * 100vw);
    margin: 0;
  }
  .ranking-poy-lastyear-name:nth-of-type(n + 2) {
    margin-top: calc(20 / 600 * 100vw);
  }
  .ranking-poy-comment-lead {
    padding: calc(15 / 600 * 100vw) 0;
    font-size: calc(24 / 600 * 100vw);
  }
  .ranking-poy-comment-text {
    font-size: calc(20 / 600 * 100vw);
  }
  .ranking-poy-mv {
    width: calc(510 / 600 * 100vw);
    margin: 0 auto calc(40 / 600 * 100vw);
  }
  .ranking-poy-mv img {
    width: 100%;
  }
  .ranking-poy-text01 {
    font-size: calc(16 / 600 * 100vw);
    color: #fff;
  }
  .ranking-poy-text02 {
    margin-bottom: calc(24 / 600 * 100vw);
    font-size: calc(20 / 600 * 100vw);
    color: #fff;
  }
  .ranking-poy-mv-title {
    width: calc(443 / 600 * 100vw);
    margin: calc(16 / 600 * 100vw) auto calc(20 / 600 * 100vw);
  }
  .ranking-poy-mv-title img {
    width: 100%;
  }
  .ranking-poy-text01 span::before {
    top: calc(5 / 600 * 100vw);
    left: calc(-10 / 600 * 100vw);
    height: calc(16 / 600 * 100vw);
  }
  .ranking-poy-text01 span::after {
    top: calc(5 / 600 * 100vw);
    right: calc(-10 / 600 * 100vw);
    height: calc(16 / 600 * 100vw);
  }
}

/* はじめたい人、募集 */
.ranking-entry {
  padding: 80px 0;
  background: url(/assets_pjc/ranking2024/img/ranking2024_diagonal_bg_pink.png) #ffedee;
}
.ranking-entry-title img {
  display: block;
  width: 470px;
  margin: 0 auto;
}
.ranking-entry-txt {
  margin-top: 40px;
  font-size: 22px;
  line-height: 1.8;
  text-align: center;
}
.ranking-entry-mv {
  width: 505px;
  margin: 60px auto 0;
}
.ranking-entry-mv iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.ranking-entry-img {
  width: 100%;
  margin: 60px auto 0;
}
.ranking-entry-img img {
  width: 100%;
}
.ranking-entry-btn {
  position: relative;
  width: 474px;
  margin: 65px auto 0;
}
.ranking-entry-btn::before {
  position: absolute;
  right: -5px;
  bottom: -10px;
  display: block;
  width: 100%;
  height: 86px;
  content: '';
  background: url(/assets_pjc/ranking2025/img/ranking2025_dotted_btn_bg.png);
  background-repeat: repeat;
  border-radius: 50px;
}
.ranking-entry-btn a:after {
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 44px;
  height: 44px;
  content: '';
  background: url(/assets_pjc/ranking2025/img/ranking2025_btn_arrow_yellow.png);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.3s;
  transform: translateY(-50%);
}
.ranking-entry-btn a:hover {
  color: #fff;
  background: #e52532;
}
.ranking-entry-btn a:hover::after {
  background: url(/assets_pjc/ranking2025/img/ranking2025_btn_arrow_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%) scale(1.1);
}
.ranking-entry-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 85px;
  font-size: 20px;
  font-weight: 900;
  color: #e52532;
  text-align: center;
  background: #ffd82c;
  border: 3px solid #e52532;
  border-radius: 70px;
  transition: all 0.3s;
}
.ranking-entry-pressrelease {
  width: 560px;
  /*  margin: 90px auto 0;*/
  margin: 0 auto;
}
.ranking-entry-pressrelease.mt0 {
  margin-top: 0;
}
.ranking-entry-pressrelease img {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .ranking-entry {
    padding: calc(80 / 600 * 100vw) 0;
  }
  .ranking-entry-title img {
    width: calc(470 / 600 * 100vw);
  }
  .ranking-entry-txt {
    margin-top: calc(40 / 600 * 100vw);
    font-size: calc(22 / 600 * 100vw);
  }
  .ranking-entry-mv {
    width: calc(510 / 600 * 100vw);
    margin: calc(60 / 600 * 100vw) auto 0;
  }
  .ranking-entry-mv img {
    width: 100%;
  }
  .ranking-entry-img {
    margin: calc(60 / 600 * 100vw) auto 0;
  }
  .ranking-entry-btn {
    width: calc(474 / 600 * 100vw);
    margin: calc(65 / 600 * 100vw) auto 0;
  }
  .ranking-entry-btn::before {
    right: calc(-5 / 600 * 100vw);
    bottom: calc(-10 / 600 * 100vw);
    height: calc(86 / 600 * 100vw);
  }
  .ranking-entry-btn a::after {
    right: calc(20 / 600 * 100vw);
    width: calc(44 / 600 * 100vw);
    height: calc(44 / 600 * 100vw);
  }
  .ranking-entry-btn a {
    height: calc(112 / 600 * 100vw);
    font-size: calc(26 / 600 * 100vw);
    border: 2px solid #e52532;
  }
  .ranking-entry-pressrelease {
    width: calc(560 / 600 * 100vw);
    /*    margin: calc(90/600*100vw) auto 0;*/
  }
}

.footer {
  padding: 0;
}
.footer-inner {
  width: 600px;
  padding: 0 0 50px;
  background: url(/assets_pjc/ranking2024/img/ranking2024_diagonal_bg_pink.png) #ffedee;
}
.footer-pmark-text {
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
}
.footer-navi-link {
  font-size: 18px;
}
.footer-share {
  position: relative;
  justify-content: center;
}
.footer-title {
  margin-top: 24px;
}
@media screen and (max-width: 600px) {
  .footer-inner {
    width: calc(600 / 600 * 100vw);
    padding: 0 0 calc(50 / 600 * 100vw);
  }
  .footer-pmark-text {
    font-size: calc(16 / 600 * 100vw);
  }
  .footer-navi-link {
    font-size: calc(18 / 600 * 100vw);
  }
  .footer-title {
    margin-top: calc(24 / 600 * 100vw);
  }
}

/* PROJECTサイトはこちらボタン */
@media screen and (min-width: 1101px) {
  .projectBtn {
    display: none;
  }
}

.left-logo {
  position: fixed;
  top: 50%;
  left: 0;
  width: calc(50% - 300px);
  text-align: center;
  transform: translateY(-50%);
}
@media screen and (max-width: 1100px) {
  .left-logo {
    display: none;
  }
}
.left-logo img {
  width: 210px;
}

/* モーダル */
.modal-attribute-list-item {
  margin-bottom: 0;
}
.modal-attribute-list-item:nth-of-type(n + 2) {
  margin-top: 10px;
}
.modal-attribute-detail {
  padding: 25px;
  background: #ffd7db;
}
.modal-attribute-list-item.is-separate,
.modal-attribute-list-item:nth-child(10) {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none;
}
.modal-attribute-list-item:nth-child(-n + 10) {
  font-size: 18px;
}
.modal-attribute-list-item:nth-child(-n + 10) .modal-attribute-rank {
  flex: none;
  width: 45px;
  margin-right: 15px;
}
.modal-attribute-list-item:nth-child(-n + 10) .modal-attribute-rank img {
  width: 100%;
  height: auto;
}
.ranking-category-block.is-business .ranking-category-item::after {
  display: none;
}
.ranking-category-block.is-health .ranking-category-item::after {
  display: none;
}
.ranking-category-block.is-life .ranking-category-item::after {
  display: none;
}
.ranking-category-block.is-hobby .ranking-category-item::after {
  display: none;
}
@media screen and (max-width: 600px) {
  .modal-attribute-list-item:nth-of-type(n + 2) {
    margin-top: calc(10 / 600 * 100vw);
  }
  .modal-attribute-detail {
    padding: calc(25 / 600 * 100vw);
  }
  .modal-attribute-list-item:nth-child(-n + 10) {
    font-size: calc(18 / 600 * 100vw);
  }
  .modal-attribute-list-item:nth-child(-n + 10) .modal-attribute-rank {
    flex: none;
    width: calc(45 / 600 * 100vw);
    margin-right: calc(15 / 600 * 100vw);
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .u-sp {
    display: block;
  }
}

/* フェードイン */
.m-fade {
  /* 最初は非表示 */
  visibility: hidden;
  opacity: 0;
  transition: transform 1s, opacity 1s, visibility 1s;
  transform: translateY(30px);
}
/* フェードイン時に入るクラス */
.m-fade.is-fadein {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.is-open+.ranking-poy-comment-detail {
  max-height: 350px;
  padding: 15px
}
