@charset "UTF-8";
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
:root {
  --font-normal: 400;
  --font-medium: 500;
  --font-bold: 700;
  --line-height-h: 1.6;
}

body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ", "メイリオ", sans-serif;
  font-weight: var(--font-normal);
  letter-spacing: 0.05em;
  overflow-wrap: break-word;
  word-break: break-all;
}

.search-wrap {
  max-height: 0;
  overflow: hidden;
}

.rank-wrap main {
  background: #FFF;
  padding-bottom: 8em;
}
.rank-wrap main::before, .rank-wrap main::after {
  content: "";
  display: table;
  clear: both;
  overflow: hidden;
}

.head {
  background: #FFF;
}
.head .head-inner {
  position: relative;
  height: 7em;
  padding: 1.3em 7.5em 1.3em 1.5em;
}
.head h1 {
  font-size: 10px;
  font-size: 1rem;
  position: absolute;
  left: 6.6em;
  top: 1.4em;
  width: calc(100% - 7.5em - 7.5em);
  color: #666;
  font-weight: var(--font-normal);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.head .search-btn {
  position: absolute;
  right: 0;
  top: 1.181em;
  display: block;
  font-size: 11px;
  font-size: 1.1rem;
  width: 5.454em;
  height: 4em;
  border: 0;
  border-radius: 0;
  border-left: solid 1px #1B59B5;
  color: #1B59B5;
  font-weight: var(--font-medium);
  background: none;
}
.head .search-btn:hover {
  cursor: pointer;
}
.head .search-btn span {
  display: block;
  margin: 0.2em auto 0 auto;
  width: 2.4em;
  padding-top: 2.2em;
  background: url("../../images/rank_2025/head_search.svg") top center/2em 2em no-repeat;
}
.head .head-kuchi {
  padding: 0.384em 1.153em 0.384em 1.153em;
  font-size: 13px;
  font-size: 1.3rem;
  text-align: center;
  background: #FCDB45;
}
.head .head-kuchi .num {
  padding: 0.125em;
  font-size: 16px;
  font-size: 1.6rem;
  color: #F22424;
}

@media only screen and (min-width: 768px) {
  .head .head-inner {
    height: 8em;
    padding: 1.8em 7.5em 1.8em 1.5em;
    max-width: 112.2em;
    margin-inline: auto;
  }
  .head h1 {
    top: 1.9em;
    font-weight: var(--font-medium);
    color: #1B59B5;
  }
  .head .search-btn {
    top: 1.636em;
  }
  .head .head-kuchi {
    padding: 0.312em 0.937em 0.5em 0.937em;
    font-size: 16px;
    font-size: 1.6rem;
    -webkit-box-shadow: 0 0.312em 0.437em rgba(183, 196, 222, 0.3);
            box-shadow: 0 0.312em 0.437em rgba(183, 196, 222, 0.3);
  }
  .head .head-kuchi .num {
    padding: 0.111em;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: var(--font-medium);
  }
}
.breadcrumb {
  padding: 0.7em 1.5em;
  background: #F0F8FE;
  -webkit-box-shadow: 0 0.2em 0.7em rgba(183, 196, 222, 0.3) inset;
          box-shadow: 0 0.2em 0.7em rgba(183, 196, 222, 0.3) inset;
  overflow: hidden;
}
.breadcrumb ol li {
  display: inline-block;
  position: relative;
  padding-right: 1.538em;
  font-size: 13px;
  font-size: 1.3rem;
}
.breadcrumb ol li::after {
  content: "";
  position: absolute;
  right: 0.538em;
  top: 0.461em;
  display: block;
  width: 0.538em;
  height: 0.538em;
  border-top: solid 1px #666;
  border-left: solid 1px #666;
  border-radius: 1px;
  rotate: 135deg;
}
.breadcrumb ol li:last-child {
  display: none;
  padding: 0;
}
.breadcrumb ol li:last-child::after {
  content: normal;
}
.breadcrumb ol li a {
  text-decoration: none;
  color: #111;
}

@media only screen and (min-width: 768px) {
  .breadcrumb {
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin: 6em auto 0.8em auto;
  }
  .breadcrumb ol li {
    font-weight: var(--font-medium);
  }
  .breadcrumb ol li:last-child {
    display: inline-block;
  }
}
@media only screen and (min-width: 1024px) {
  .breadcrumb {
    margin-top: 8em;
    max-width: 109.2em;
    padding-inline: 0;
  }
}
.more-bread .breadcrumb ol li:nth-child(2) {
  display: none;
}

.more-head {
  padding-inline: 1.5em;
  margin-block: 2em 2.5em;
}
.more-head h1 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
}
.more-head .date {
  margin-top: 0.769em;
  font-size: 13px;
  font-size: 1.3rem;
  color: #666;
}
.more-pr {
  margin: 1.538em 1.153em 2.307em 1.153em;
  padding: 0.384em;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: var(--font-medium);
  line-height: 1.4;
  color: #1B59B5;
  background: #FFF6CC;
  border-radius: 0.153em;
}

.rvw-wrap {
  margin-bottom: 2.5em;
}

.more-wrap .reco-list li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  border-bottom: solid 1px #B7C4DE;
  padding-bottom: 0.937em;
}
.more-wrap .reco-list li a {
  position: relative;
  height: 3.75em;
  padding-left: 4.687em;
  text-decoration: none;
  display: block;
}
.more-wrap .reco-list li a img {
  position: absolute;
  left: 0;
  width: 3.75em;
  height: 3.75em;
  border-radius: 0.187em;
}
.more-wrap .reco-list li a .tag {
  display: block;
  margin-bottom: 0.5em;
  font-size: 10px;
  font-size: 1rem;
  color: #666;
}
.more-wrap .reco-list li a .ttl {
  display: block;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 4em;
}
.more-wrap .reco-list li + li {
  margin-top: 1.5em;
}

.rank-note {
  margin: 4em 1.5em 6em 1.5em;
  padding: 1.5em;
  background: rgba(183, 196, 222, 0.25);
  border-radius: 0.5em;
}

@media only screen and (min-width: 768px) {
  .more-bread .breadcrumb ol li:nth-child(2) {
    display: inline-block;
  }
  .more-head {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column-gap: 1em;
    grid-row-gap: 0;
    padding: 1.5em 1.5em;
    margin: 0 1.5em;
    background: #1B59B5;
    border-radius: 0.5em;
  }
  .more-head h1 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #FFF;
  }
  .more-head .date {
    color: #FFF;
    margin: 0;
  }
  .more-pr {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 2.307em 1.153em 2.307em 1.153em;
    padding: 0.384em;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .more-wrap .reco-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2em;
    grid-row-gap: 0.5em;
  }
  .more-wrap .reco-list li {
    line-height: 1.3;
    padding: 1.875em;
    border: solid 1px #B7C4DE;
  }
  .more-wrap .reco-list li + li {
    margin: 0;
  }
}
@media only screen and (min-width: 1024px) {
  .more-bread .breadcrumb {
    padding-right: 35em;
  }
  .more-wrap {
    position: relative;
    margin: 2em auto 0 auto;
    max-width: 112.2em;
    padding-inline: 1.5em;
  }
  .more-head {
    padding: 1.5em 2em;
    margin: 0;
    border-radius: 0.5em 0.5em 0 0;
  }
  .more-pr {
    position: absolute;
    right: 0;
    top: -6.539em;
  }
  .rank-note {
    max-width: 109.2em;
    margin: 6em auto 6em auto;
    padding: 3em;
  }
}
.rank-ttl {
  padding: 3.125em 0.937em 0.937em 0.937em;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-bold);
  text-align: center;
  line-height: 1.4;
  background: #FFF;
}
@media only screen and (min-width: 768px) {
  .rank-ttl {
    padding-block: 3.75em 1.875em;
  }
}

.rank-sct .rank-sct-ttl {
  margin: 2.142em 0 1.071em 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: var(--font-medium);
  color: #007380;
}

.rank-sct .rvw-more, .rank-sct .rank-sct-tbl-wrap button {
  background: none;
  border: 0;
  padding: 0;
}
.rank-sct .rvw-more span, .rank-sct .rank-sct-tbl-wrap button span,
.rank-sct .rvw-more a,
.rank-sct .rank-sct-tbl-wrap button a {
  position: relative;
  display: inline-block;
  padding: 0.461em 0.769em 0.461em 1.923em;
  font-size: 13px;
  font-size: 1.3rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ", "メイリオ", sans-serif;
  color: #FFF;
  line-height: 1;
  text-decoration: none;
  font-weight: var(--font-medium);
  background: #1B59B5;
  border-radius: 0.923em;
}
.rank-sct .rvw-more span::before, .rank-sct .rank-sct-tbl-wrap button span::before,
.rank-sct .rvw-more a::before,
.rank-sct .rank-sct-tbl-wrap button a::before {
  content: "";
  position: absolute;
  left: 0.923em;
  top: 0.615em;
  rotate: 135deg;
  display: block;
  width: 0.461em;
  height: 0.461em;
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
}
.rank-sct .is-open.rvw-more span::before, .rank-sct .rank-sct-tbl-wrap button.is-open span::before,
.rank-sct .is-open.rvw-more a::before,
.rank-sct .rank-sct-tbl-wrap button.is-open a::before {
  top: 0.846em;
  rotate: -45deg;
}

.list-disc li {
  position: relative;
  padding-left: 0.937em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.list-disc li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
  width: 0.5em;
  height: 0.5em;
  background: #B7C4DE;
}
.list-disc li + li {
  margin-top: 0.4em;
}

.rank-sct {
  padding-inline: 1.5em;
  font-size: 10px;
  font-size: 1rem;
}
.rank-sct + .rank-sct {
  margin-top: 6em;
}
.rank-sct h3 {
  position: relative;
  margin: 0 -0.75em 1.5em -0.75em;
  padding: 1.25em 0.75em 1.25em 3.25em;
  min-height: 5em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2;
  border-top: solid 0.15em #F6B212;
  background: #F0F8FE;
}
.rank-sct h3::before {
  content: "";
  display: grid;
  place-items: center;
  width: 3.125em;
  height: 3.125em;
  position: absolute;
  left: 0;
  top: calc(50% - 1.562em);
  font-size: 16px;
  font-size: 1.6rem;
  color: #FFF;
  background: #007380;
}
.rank-sct h3.no1::before {
  content: "1位";
  background: #F6B212;
}
.rank-sct h3.no2::before {
  content: "2位";
  background: #5884C6;
}
.rank-sct h3.no3::before {
  content: "3位";
  background: #A85454;
}
.rank-sct h3.no4::before {
  content: "4位";
}
.rank-sct h3.no5::before {
  content: "5位";
}
.rank-sct h3.no6::before {
  content: "6位";
}
.rank-sct h3.no7::before {
  content: "7位";
}
.rank-sct h3.no8::before {
  content: "8位";
}
.rank-sct h3.no9::before {
  content: "9位";
}
.rank-sct h3.no10::before {
  content: "10位";
}
.rank-sct h3.no11::before {
  content: "11位";
}
.rank-sct h3.no12::before {
  content: "12位";
}
.rank-sct h3.no13::before {
  content: "13位";
}
.rank-sct h3.no14::before {
  content: "14位";
}
.rank-sct h3.no15::before {
  content: "15位";
}
.rank-sct h3.no16::before {
  content: "16位";
}
.rank-sct h3.no17::before {
  content: "17位";
}
.rank-sct h3.no18::before {
  content: "18位";
}
.rank-sct h3.no19::before {
  content: "19位";
}
.rank-sct h3.no20::before {
  content: "20位";
}
.rank-sct h3.pickup::after, .rank-sct h3.entry::after {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: var(--font-normal);
  position: absolute;
  display: grid;
  place-items: center;
  width: 4.166em;
  height: 3.833em;
  left: 0;
  top: calc(50% - 2.083em);
  rotate: -45deg;
  font-weight: var(--font-bold);
  color: #FFF;
}
.rank-sct h3.pickup::before {
  background: #ed6300;
}
.rank-sct h3.pickup::after {
  content: "Pickup!";
}
.rank-sct h3.entry::before {
  background: #1B59B5;
}
.rank-sct h3.entry::after {
  content: "Entry";
}
.rank-sct h3 .tag {
  display: block;
  margin-bottom: 0.615em;
  font-weight: var(--font-medium);
  font-size: 13px;
  font-size: 1.3rem;
  color: #1B59B5;
}
.rank-sct .rank-sct-side figure {
  text-align: center;
}
.rank-sct .rank-sct-side figure img {
  max-width: 100%;
  height: auto;
  border: solid 1px #B7C4DE;
}
.rank-sct .rank-sct-side figure figcaption {
  margin-top: 0.454em;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: var(--font-medium);
  color: #666;
}
.rank-sct .rank-sct-side .score-ttl {
  margin-top: 1.25em;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-normal);
  display: grid;
  grid-template-columns: 5em auto auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-rows: 1fr;
  grid-column-gap: 0.625em;
}
.rank-sct .rank-sct-side .score-ttl .ttl {
  display: grid;
  place-items: center;
  width: 100%;
  color: #FFF;
  background: #db2727;
  height: 1.875em;
  border-radius: 0.187em;
}
.rank-sct .rank-sct-side .score-ttl .bar {
  display: inline-block;
  margin-left: 0.312em;
  height: 2.062em;
  width: 10.312em;
  background: url("../../images/rank_2025/rank_star_00.svg") top left/10.312em 2.062em no-repeat;
}
.rank-sct .rank-sct-side .score-ttl .bar span {
  display: block;
  height: 2.062em;
  background: url("../../images/rank_2025/rank_star_50.svg") top left/10.312em 2.062em no-repeat;
  width: 0;
}
.rank-sct .rank-sct-side .score-ttl .score {
  font-size: 24px;
  font-size: 2.4rem;
  color: #db2727;
}
.rank-sct .rank-sct-side .score-ttl .full {
  font-size: 16px;
  font-size: 1.6rem;
  color: #666;
  margin-top: 0.625em;
}
.rank-sct .rank-sct-side .score-graph {
  font-size: 10px;
  font-size: 1rem;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: repeat(5, 1fr);
  grid-column-gap: 1.5em;
  grid-row-gap: 0.5em;
  margin-top: 1.5em;
}
.rank-sct .rank-sct-side .score-graph dt {
  font-size: 16px;
  font-size: 1.6rem;
  min-width: 5em;
}
.rank-sct .rank-sct-side .score-graph dd {
  font-size: 16px;
  font-size: 1.6rem;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: 0.937em;
}
.rank-sct .rank-sct-side .score-graph dd .bar {
  display: block;
  height: 0.5em;
  background: #B7C4DE;
  border-radius: 0.25em;
}
.rank-sct .rank-sct-side .score-graph dd .bar > span {
  display: block;
  height: 0.5em;
  width: 0;
  background: #db2727;
  border-radius: 0.25em;
}
.rank-sct .rank-sct-side .score-graph dd .score.red {
  color: #db2727;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-ttl {
  margin-bottom: 0.769em;
  padding: 0.769em 10em 0 0;
}
.rank-sct .rank-sct-tbl-wrap button {
  font-size: 10px;
  font-size: 1rem;
  display: block;
  margin: -3.5em 0 1em auto;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl {
  border: solid 1px #1B59B5;
  border-top: 0;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl summary,
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl .cell {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  text-align: left;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl summary {
  position: relative;
  padding: 0.625em 2.125em 0.625em 0.625em;
  font-weight: var(--font-medium);
  line-height: 1;
  color: #1B59B5;
  background: #F0F8FE;
  border-top: solid 1px #1B59B5;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl summary::after {
  content: "";
  display: block;
  width: 0.937em;
  height: 0.937em;
  position: absolute;
  top: 0.625em;
  right: 0.625em;
  background: url("../../images/rank_2025/rank_tbl_arr.svg") top center/cover no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl details[open] summary::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.rank-sct .rank-sct-tbl-wrap .rank-sct-dtl .cell {
  padding: 0.625em;
  line-height: 2;
}
.rank-sct .rank-sct-tbl-wrap .list-note li {
  position: relative;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.4;
  padding-left: 1.1em;
  color: #666;
}
.rank-sct .rank-sct-tbl-wrap .list-note li::before {
  content: "※";
  position: absolute;
  left: -0.077em;
  top: 0;
}
.rank-sct .rank-sct-tbl-wrap .list-note li + li {
  margin-top: 0.4em;
}
.rank-sct .rank-sct-summ {
  font-size: 10px;
  font-size: 1rem;
  padding: 0 1.5em 1.5em 1.5em;
  border: solid 1px #B7C4DE;
  border-radius: 0.5em;
}
.rank-sct .rank-sct-summ .ttl {
  margin: -0.077em -1.231em 1.153em -1.231em;
  padding: 0.692em 1.153em;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: var(--font-medium);
  line-height: 1;
  color: #FFF;
  text-align: center;
  background: #1B59B5;
  border-radius: 0.384em 0.384em 0 0;
}
.rank-sct .rank-sct-summ dl:nth-child(3) {
  margin-top: 2em;
}
.rank-sct .rank-sct-summ dl dt {
  margin-bottom: 1em;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-bold);
  line-height: 1;
}
.rank-sct .rank-sct-summ dl dt::before {
  content: "";
  display: inline-block;
  width: 0.875em;
  height: 0.875em;
  margin-right: 0.312em;
}
.rank-sct .rank-sct-summ dl .good {
  color: #ed6300;
}
.rank-sct .rank-sct-summ dl .good::before {
  background: url("../../images/rank_2025/rank_good.svg") top center/cover no-repeat;
}
.rank-sct .rank-sct-summ dl .bad {
  color: #1B59B5;
}
.rank-sct .rank-sct-summ dl .bad::before {
  background: url("../../images/rank_2025/rank_bad.svg") top center/cover no-repeat;
}
.rank-sct .rank-sct-summ dl dd {
  position: relative;
  margin-top: 0.6em;
  padding-left: 1.25em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
}
.rank-sct .rank-sct-summ dl dd::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0.3em;
  font-size: 0.75em;
  color: #B7C4DE;
}
.rank-sct .rvw-tabs {
  margin-top: 2em;
}
.rank-sct .rvw-tabs ul li {
  display: inline-block;
  margin-right: 0.076em;
  padding: 0.615em 0.769em 0.615em 1.153em;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: var(--font-bold);
  line-height: 1;
  background: #B7C4DE;
  border-radius: 0.384em 0.384em 0 0;
  border-bottom: solid 2px #FFF;
}
.rank-sct .rvw-tabs ul li.is-open {
  color: #FFF;
}
.rank-sct .rvw-tabs ul li.is-open.good {
  background: #ed6300;
  border-bottom-color: #ed6300;
}
.rank-sct .rvw-tabs ul li.is-open.neutral {
  background: #007380;
  border-bottom-color: #007380;
}
.rank-sct .rvw-tabs ul li.is-open.bad {
  background: #1B59B5;
  border-bottom-color: #1B59B5;
}
.rank-sct .rvw-tabs ul li .review-num {
  font-size: 10px;
  font-size: 1rem;
  font-weight: var(--font-medium);
}
.rank-sct .rvw-wrap .review-item {
  margin-top: 0.5em;
  padding: 1em;
  font-size: 10px;
  font-size: 1rem;
  border: solid 1px #B7C4DE;
}
.rank-sct .rvw-wrap .review-item p {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
  letter-spacing: 0.025em;
}
.rank-sct .rvw-wrap .review-item p:nth-child(1) {
  color: #666;
}
.rank-sct .rvw-wrap .review-item p:nth-child(1)::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
}
.rank-sct .rvw-wrap .review-item p:nth-child(2) {
  margin-top: 0.384em;
  max-height: 7.2em;
  overflow: hidden;
  position: relative;
}
.rank-sct .rvw-wrap .review-item .more {
  cursor: pointer;
  font-size: 13px;
  font-size: 1.3rem;
  display: block;
  color: #1000A3;
  text-decoration: underline;
  background: #FFF;
  width: 100%;
  position: absolute;
  padding: 0;
  top: 5.384em;
}
.rank-sct .rvw-wrap > div {
  display: none;
}
.rank-sct .rvw-wrap .sheet-review-good:first-child,
.rank-sct .rvw-wrap .sheet-review-neutral:first-child,
.rank-sct .rvw-wrap .sheet-review-bad:first-child {
  display: block;
}
.rank-sct .rvw-wrap .sheet-review-good.is-open,
.rank-sct .rvw-wrap .sheet-review-neutral.is-open,
.rank-sct .rvw-wrap .sheet-review-bad.is-open {
  display: block;
}
.rank-sct .rvw-wrap .sheet-review-good.is-close,
.rank-sct .rvw-wrap .sheet-review-neutral.is-close,
.rank-sct .rvw-wrap .sheet-review-bad.is-close {
  display: none;
}
.rank-sct .rvw-wrap .sheet-review-good {
  border-top: solid 2px #ed6300;
  padding-top: 0.384em;
}
.rank-sct .rvw-wrap .sheet-review-good .review-item p:nth-child(1) {
  color: #666;
}
.rank-sct .rvw-wrap .sheet-review-good .review-item p:nth-child(1)::before {
  background: url("../../images/rank_2025/kuchi_good.svg") top center/cover no-repeat;
}
.rank-sct .rvw-wrap .sheet-review-neutral {
  border-top: solid 2px #007380;
  padding-top: 0.384em;
}
.rank-sct .rvw-wrap .sheet-review-neutral .review-item p:nth-child(1) {
  color: #666;
}
.rank-sct .rvw-wrap .sheet-review-neutral .review-item p:nth-child(1)::before {
  background: url("../../images/rank_2025/kuchi_soso.svg") top center/cover no-repeat;
}
.rank-sct .rvw-wrap .sheet-review-bad {
  border-top: solid 2px #1B59B5;
  padding-top: 0.384em;
}
.rank-sct .rvw-wrap .sheet-review-bad .review-item p:nth-child(1) {
  color: #666;
}
.rank-sct .rvw-wrap .sheet-review-bad .review-item p:nth-child(1)::before {
  background: url("../../images/rank_2025/kuchi_bad.svg") top center/cover no-repeat;
}
.rank-sct .rvw-more {
  font-size: 10px;
  font-size: 1rem;
  text-align: right;
  margin-top: 1.5em;
}
.rank-sct .rvw-more a::before {
  rotate: 45deg;
  top: 0.769em;
}
.rank-sct .rank-sct-txt {
  overflow: hidden;
  max-height: 10000px;
  opacity: 1;
  -webkit-transition: max-height 3s ease;
  transition: max-height 3s ease;
}
.rank-sct .rank-sct-txt p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}
.rank-sct .rank-sct-txt p .entry-fb {
  font-weight: var(--font-bold);
}
.rank-sct .rank-sct-txt h5 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: var(--font-bold);
  line-height: 1.6;
  color: #1B59B5;
}
.rank-sct .rank-sct-txt h5::before {
  content: attr(data-tag);
  padding: 0.09em 0.909em 0.181em 0.909em;
  margin-right: 0.454em;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 1;
  color: #FFF;
  background: #1B59B5;
  border-radius: calc(infinity * 1px);
}
.rank-sct .rank-sct-txt.is-close {
  position: relative;
  max-height: 32em;
  max-height: 32em;
  opacity: 1;
  -webkit-transition: 0s;
  transition: 0s;
}
.rank-sct .rank-sct-txt.is-close .view-more {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  padding: 0;
  font-size: 16px;
  font-size: 1.6rem;
  background: #FFF;
  border: 0;
  text-align: left;
}
.rank-sct .rank-sct-txt.is-close .view-more:hover {
  cursor: pointer;
}
.rank-sct .rank-sct-txt.is-close .view-more span {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ", "メイリオ", sans-serif;
  font-weight: var(--font-normal);
  text-decoration: underline;
  color: #1000A3;
}
.rank-sct .rank-sct-camp {
  margin-top: 2em;
  padding: 2em 1.5em 1.5em 1.5em;
  font-size: 10px;
  font-size: 1rem;
  background: #FFF6CC;
  border-radius: 0.5em;
}
.rank-sct .rank-sct-camp .ttl {
  padding-bottom: 0.312em;
  margin-bottom: 0.5em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: var(--font-bold);
  color: #ed6300;
  border-bottom: solid 1px #ed6300;
}
.rank-sct .rank-sct-camp .txt p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
}
.rank-sct .rank-sct-camp .txt p .entry-fb {
  font-weight: var(--font-bold);
  color: #db2727;
}
.rank-sct .rank-sct-camp.is-blue {
  background: #F0F8FE;
}
.rank-sct .rank-sct-camp.is-blue .ttl {
  color: #007380;
  border-bottom: solid 1px #007380;
}
.rank-sct .rank-sct-link {
  font-size: 10px;
  font-size: 1rem;
  margin-top: 2.5em;
}
.rank-sct .rank-sct-link a {
  position: relative;
  display: block;
  padding: 0.937em 1.875em 0.937em 1.875em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: var(--font-bold);
  text-decoration: none;
  text-align: center;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.75);
  color: #1B59B5;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFD200), to(#F9B11E));
  background: linear-gradient(to bottom, #FFD200, #F9B11E);
  border-radius: 0.312em;
  -webkit-box-shadow: 0 0.125em 0.625em rgba(183, 196, 222, 0.5);
          box-shadow: 0 0.125em 0.625em rgba(183, 196, 222, 0.5);
}
.rank-sct .rank-sct-link a .sub {
  display: block;
  font-size: 13px;
  font-size: 1.3rem;
}
.rank-sct .rank-sct-link a .main {
  display: block;
}
.rank-sct .rank-sct-link a::after {
  content: "";
  position: absolute;
  right: 0.923em;
  top: calc(50% - 0.23em);
  display: block;
  width: 0.769em;
  height: 0.769em;
  border-top: solid 2px #1B59B5;
  border-right: solid 2px #1B59B5;
  rotate: 45deg;
}

@media only screen and (min-width: 768px) {
  .rank-sct {
    padding-inline: 1.5em;
    font-size: 10px;
    font-size: 1rem;
  }
  .rank-sct + .rank-sct {
    margin-top: 6em;
  }
  .rank-sct .rank-sct-side .score-ttl {
    max-width: 18.75em;
    margin-inline: auto;
    grid-template-columns: 5em auto auto;
    grid-column-gap: 0.437em;
  }
  .rank-sct .rank-sct-side .score-ttl .score {
    text-align: right;
  }
  .rank-sct .rank-sct-side .score-ttl .full {
    display: none;
  }
  .rank-sct .rank-sct-side .score-graph {
    max-width: 30em;
    margin-inline: auto;
  }
  .rank-sct .rank-sct-tbl-wrap .rank-sct-dtl summary {
    padding: 0.937em 2.5em 0.937em 1.25em;
  }
  .rank-sct .rank-sct-tbl-wrap .rank-sct-dtl summary::after {
    top: 0.937em;
    right: 0.937em;
  }
  .rank-sct .rank-sct-tbl-wrap .rank-sct-dtl .cell {
    padding: 0.937em 1.875em 0.937em 1.25em;
  }
  .rank-sct .rank-sct-summ {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 3em 2em 3em;
  }
  .rank-sct .rank-sct-summ .ttl {
    margin: -0.063em -1.938em 1.25em -1.938em;
    padding: 0.562em 1.937em;
    font-size: 16px;
    font-size: 1.6rem;
    border-radius: 0.312em 0.312em 0 0;
    grid-area: 1/1/2/3;
  }
  .rank-sct .rank-sct-summ dl:nth-child(2) {
    grid-area: 2/1/3/2;
    padding-right: 2em;
  }
  .rank-sct .rank-sct-summ dl:nth-child(3) {
    grid-area: 2/2/3/3;
    margin: 0;
    padding-left: 2em;
    border-left: solid 1px rgba(183, 196, 222, 0.5);
  }
  .rank-sct .rvw-tabs ul li {
    padding: 0.769em 1.923em 0.769em 2.307em;
  }
  .rank-sct .rvw-tabs ul li .review-num {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: var(--font-normal);
  }
  .rank-sct .rvw-wrap .review-item {
    padding: 2.5em 3em;
  }
  .rank-sct .rvw-wrap .review-item p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .rank-sct .rvw-wrap .review-item p:nth-child(1)::before {
    width: 0.928em;
    height: 0.928em;
  }
  .rank-sct .rvw-wrap .review-item p:nth-child(2) {
    margin-top: 0.357em;
  }
  .rank-sct .rvw-wrap .review-item .more {
    cursor: pointer;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .rank-sct .rank-sct-txt p .entry-fb {
    color: #db2727;
  }
  .rank-sct .rank-sct-txt.is-close {
    max-height: none;
  }
  .rank-sct .rank-sct-txt.is-close .view-more {
    display: none;
  }
  .rank-sct .rank-sct-camp {
    padding: 3.5em 3em 3em 3em;
  }
  .rank-sct .rank-sct-camp .ttl {
    padding-bottom: 0.625em;
  }
  .rank-sct .rank-sct-link {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 2em;
  }
  .rank-sct .rank-sct-link a {
    padding: 0.833em 1.666em 0.833em 1.666em;
    font-size: 18px;
    font-size: 1.8rem;
    border-radius: 0.277em;
    -webkit-box-shadow: 0 0.111em 0.555em rgba(183, 196, 222, 0.5);
            box-shadow: 0 0.111em 0.555em rgba(183, 196, 222, 0.5);
  }
  .rank-sct .rank-sct-link a .sub {
    margin-bottom: 0.23em;
  }
  .rank-sct .rank-sct-link a::after {
    right: 0.666em;
    top: calc(50% - 0.222em);
    width: 0.555em;
    height: 0.555em;
  }
}
@media only screen and (min-width: 1024px) {
  .rank-sct {
    max-width: 109.2em;
    padding: 0;
    margin-inline: auto;
    position: relative;
  }
  .rank-sct + .rank-sct {
    margin-top: 8em;
  }
  .rank-sct h3 {
    padding: 1.136em 0.681em 1.136em 2.954em;
    min-height: 5.136em;
    font-size: 22px;
    font-size: 2.2rem;
    border-top: solid 0.136em #F6B212;
    margin: 0 0 1.363em 0;
  }
  .rank-sct h3::before {
    top: calc(50% - 1.687em);
  }
  .rank-sct h3 .tag {
    margin-bottom: 0.571em;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .rank-sct .rank-sct-side {
    position: sticky;
    top: 3em;
    float: right;
    width: 30em;
  }
  .rank-sct .rank-sct-tbl-wrap {
    width: calc(100% - 35em);
  }
  .rank-sct .rank-sct-tbl-wrap .rank-sct-ttl {
    margin: 0 0 1.153em 0;
    padding: 0;
  }
  .rank-sct .rank-sct-summ {
    width: calc(100% - 35em);
  }
  .rank-sct .rvw-tabs {
    width: calc(100% - 35em);
  }
  .rank-sct .rvw-wrap {
    width: calc(100% - 35em);
  }
  .rank-sct .rvw-more {
    width: calc(100% - 35em);
  }
  .rank-sct .rank-sct-txt {
    width: calc(100% - 35em);
  }
  .rank-sct .rank-sct-txt p {
    text-align: justify;
  }
  .rank-sct .rank-sct-camp {
    width: calc(100% - 35em);
    padding: 3.5em 3em 3em 3em;
  }
  .rank-sct .rank-sct-camp .ttl {
    padding-bottom: 0.625em;
  }
  .rank-sct .rank-sct-link {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 2em;
  }
  .rank-sct .rank-sct-link a {
    padding: 0.833em 1.666em 0.833em 1.666em;
    font-size: 18px;
    font-size: 1.8rem;
    border-radius: 0.277em;
    -webkit-box-shadow: 0 0.111em 0.555em rgba(183, 196, 222, 0.5);
            box-shadow: 0 0.111em 0.555em rgba(183, 196, 222, 0.5);
  }
  .rank-sct .rank-sct-link a .sub {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 0.25em;
  }
  .rank-sct .rank-sct-link a::after {
    right: 0.666em;
    top: calc(50% - 0.222em);
    width: 0.555em;
    height: 0.555em;
  }
}
.art-sct,
.art-faq {
  padding-inline: 1.5em;
  font-size: 10px;
  font-size: 1rem;
}
.rank-sct + .art-sct, .art-sct + .art-sct, .art-faq + .art-sct,
.rank-sct + .art-faq,
.art-sct + .art-faq,
.art-faq + .art-faq {
  margin-top: 6em;
}
.art-sct h3,
.art-faq h3 {
  position: relative;
  margin: 0 -0.75em 1.5em -0.75em;
  padding: 1.25em 0.75em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2;
  color: #4F1100;
  border-top: solid 0.15em #1B59B5;
  background: #F0F8FE;
}
.art-sct h3 .sub,
.art-faq h3 .sub {
  display: block;
  margin-bottom: 0.384em;
  font-size: 13px;
  font-size: 1.3rem;
}
.art-sct h4,
.art-faq h4 {
  margin-block: 1.388em 0.833em;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: var(--font-medium);
  color: #1B59B5;
  line-height: 1.8;
  text-shadow: 0.055em 0.055em 0 rgba(27, 89, 181, 0.15);
}
.art-sct h4::before,
.art-faq h4::before {
  content: "";
  display: inline-block;
  width: 2em;
  margin-right: 0.25em;
  border-top: solid 1px #1B59B5;
  vertical-align: middle;
}
.art-sct h4:first-child,
.art-faq h4:first-child {
  margin-top: 0;
}
.art-sct p,
.art-faq p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}
.art-sct .entry-fb,
.art-faq .entry-fb {
  font-weight: var(--font-bold);
}
.art-sct .img,
.art-faq .img {
  background: #F0F8FE;
  text-align: center;
  vertical-align: bottom;
}
.art-sct .img img,
.art-faq .img img {
  max-width: 100%;
  height: auto;
  line-height: 1;
}
.art-sct .art-sct-box,
.art-faq .art-sct-box {
  padding: 2em 1.5em 1.5em 1.5em;
  border: solid 1px #B7C4DE;
  border-radius: 0.5em;
}
.art-sct .art-sct-box h4::before,
.art-faq .art-sct-box h4::before {
  content: normal;
}
.art-sct .art-sct-box + .art-sct-box,
.art-faq .art-sct-box + .art-sct-box {
  margin-top: 2em;
}

.art-faq h4::before {
  content: normal;
}
.art-faq h4:first-child {
  margin-top: 1.111em;
}
.art-faq > h3 + * > h4 {
  margin-top: 0;
}

.sct-sns {
  font-size: 10px;
  font-size: 1rem;
  margin: 6em 0;
  text-align: center;
  display: block;
}
.sct-sns .ttl {
  margin-bottom: 0.937em;
  font-size: 16px;
  font-size: 1.6rem;
  color: #1B59B5;
  font-weight: var(--font-bold);
}
.sct-sns li {
  display: inline-block;
  margin-left: 0.75em;
  font-size: 10px;
  font-size: 1rem;
}
.sct-sns li:first-child {
  margin-left: 0;
}
.sct-sns a {
  display: block;
  height: 0;
  width: 5em;
  padding-top: 5em;
  overflow: hidden;
  border-radius: 50%;
}
.sct-sns a:link, .sct-sns a:visited {
  opacity: 1;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
.sct-sns a:hover, .sct-sns a:active {
  opacity: 0.75;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
.sct-sns .sns-fb a {
  background-color: #465292;
  background-image: url("../../images/rank_2025/sns_fb.svg");
}
.sct-sns .sns-x a {
  background-color: #222;
  background-image: url("../../images/rank_2025/sns_x.svg");
}
.sct-sns .sns-line a {
  background-color: #4CC764;
  background-image: url("../../images/rank_2025/sns_line.svg");
}

@media only screen and (min-width: 768px) {
  .art-sct .art-sct-box {
    padding: 3em;
  }
}
@media only screen and (min-width: 1024px) {
  .art-sct,
  .art-faq {
    max-width: 109.4em;
    padding: 0;
    margin-inline: auto;
  }
  .rank-sct + .art-sct, .art-sct + .art-sct, .art-faq + .art-sct,
  .rank-sct + .art-faq,
  .art-sct + .art-faq,
  .art-faq + .art-faq {
    margin-top: 8em;
  }
  .art-sct h3,
  .art-faq h3 {
    padding: 1.136em 1.363em;
    font-size: 22px;
    font-size: 2.2rem;
    border-top: solid 0.136em #1B59B5;
    margin: 0 0 1.363em 0;
  }
  .art-sct .art-sct-wrap,
  .art-faq .art-sct-wrap {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 2.5em;
       -moz-column-gap: 2.5em;
            column-gap: 2.5em;
  }
  .art-faq h4 + div {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 2.5em;
       -moz-column-gap: 2.5em;
            column-gap: 2.5em;
  }
  .sct-sns {
    margin: 8em 0;
  }
}
/*　余白（margin）　*/
.mt0 {
  margin-top: 0em !important;
}

.mt025 {
  margin-top: 0.25em !important;
}

.mt05 {
  margin-top: 0.5em !important;
}

.mt1 {
  margin-top: 1em !important;
}

.mt15 {
  margin-top: 1.5em !important;
}

.mt2 {
  margin-top: 2em !important;
}

.mt3 {
  margin-top: 3em !important;
}

.mt4 {
  margin-top: 4em !important;
}

.mt6 {
  margin-top: 6em !important;
}

.mb0 {
  margin-bottom: 0em !important;
}

.mb025 {
  margin-bottom: 0.25em !important;
}

.mb05 {
  margin-bottom: 0.5em !important;
}

.mb1 {
  margin-bottom: 1em !important;
}

.mb15 {
  margin-bottom: 1.5em !important;
}

.mb2 {
  margin-bottom: 2em !important;
}

.mb3 {
  margin-bottom: 3em !important;
}

.mb4 {
  margin-bottom: 4em !important;
}

.mb6 {
  margin-bottom: 6em !important;
}

.mr025 {
  margin-right: 0.25em !important;
}

.mr05 {
  margin-right: 0.5em !important;
}

.mr1 {
  margin-right: 1em !important;
}

.ml025 {
  margin-left: 0.25em !important;
}

.ml05 {
  margin-left: 0.5em !important;
}

.ml1 {
  margin-left: 1em !important;
}

.mlara {
  margin-right: auto !important;
  margin-left: auto !important;
}

/*　余白（padding）　*/
.pt1 {
  padding-top: 1em !important;
}

/*　幅　*/
.w10per {
  width: 10%;
}

.w15per {
  width: 15%;
}

.w17per {
  width: 17%;
}

.w20per {
  width: 20%;
}

.w25per {
  width: 25%;
}

.w30per {
  width: 30%;
}

.w40per {
  width: 40%;
}

.w50per {
  width: 50%;
}

.w60per {
  width: 60%;
}

.w70per {
  width: 70%;
}

.w80per {
  width: 80%;
}

.w90per {
  width: 90%;
}

.w100per {
  width: 100%;
}

.w33per {
  width: 33.3%;
}

/*　フォント　*/
.size10 {
  font-size: 10px !important;
  font-size: 1rem !important;
}

.size12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.size14 {
  font-size: 14px !important;
  font-size: 1.5rem !important;
}

.fb {
  font-weight: var(--font-bold);
}

.fn {
  font-weight: var(--font-normal);
}

.entry-fb {
  color: #db2727;
  font-weight: var(--font-medium);
}

.red {
  color: #db2727;
}

.yellow {
  color: #F6B212;
}

.blue {
  color: #1B59B5;
}

.green {
  color: #007380;
}

.gray {
  color: #666;
}

/* 文字揃え */
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.bottom {
  vertical-align: bottom;
}

.top {
  vertical-align: top;
}

/* float */
/* clearfix （http://zxcvbnmnbvcxz.com/css-clearfix/） */
.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.oldie .cf {
  zoom: 1;
}

@media only screen and (min-width: 768px) {
  .br-sp-only {
    display: none;
  }
}

.br-pc-only {
  display: none;
}
@media only screen and (min-width: 768px) {
  .br-pc-only {
    display: inline;
  }
}

.range-star {
  position: relative;
  display: inline-block;
  line-height: 1;
}
.range-star > a,
.range-star > span {
  display: inline-block;
  margin-right: 0.1em;
  text-decoration: none;
  cursor: pointer;
}
.range-star > a svg,
.range-star > span svg {
  width: 1.8em;
  height: 1.8em;
  fill: #B7C4DE;
}
.range-star > a.on svg,
.range-star > span.on svg {
  fill: #db2727;
}

.range-num {
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: bottom;
  font-size: 20px;
  font-size: 2rem;
}

.input-range {
  display: none;
}

.list-note li {
  position: relative;
  padding-left: 1.4em;
  margin-top: 0.2em;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: var(--font-normal);
}
.list-note li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

.vote-tbl {
  width: 100%;
  background-color: #fff;
  border: 1px solid #1B59B5;
}
.vote-tbl tr {
  display: block;
  border-bottom: 1px solid #1B59B5;
}
.vote-tbl tr:last-child {
  border-bottom: none;
}
.vote-tbl th,
.vote-tbl td {
  font-size: 16px;
  font-size: 1.6rem;
  display: block;
  padding: 0.937em 0.937em;
  line-height: 1.8;
  text-align: left;
}
.vote-tbl th {
  line-height: 1.8;
  background: #F0F8FE;
  color: #1B59B5;
}
.vote-tbl .rep,
.vote-tbl .any {
  display: inline-block;
  padding: 0.272em 0.454em 0.363em 0.454em;
  margin-right: 0.454em;
  font-size: 11px;
  font-size: 1.1rem;
  vertical-align: 0.09em;
  font-weight: var(--font-normal);
  line-height: 1;
  color: #FFF;
  border-radius: 0.272em;
}
.vote-tbl .rep {
  background: #db2727;
}
.vote-tbl .any {
  background: #007380;
}
@media only screen and (min-width: 768px) {
  .vote-tbl {
    border-inline: none;
  }
  .vote-tbl tr {
    display: table-row;
  }
  .vote-tbl th, .vote-tbl td {
    display: table-cell;
  }
}

/* .list-flow */
.list-flow {
  margin-block: 2em 1.5em;
}
.list-flow li {
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  margin-right: 1.071em;
  padding: 0.357em 0.714em;
  position: relative;
  background-color: #B7C4DE;
}
.list-flow li:before {
  content: "";
  position: absolute;
  right: -1.072em;
  top: 0.857em;
  border-style: solid;
  border-width: 0.571em 0.428em 0 0.428em;
  border-color: #B7C4DE transparent transparent transparent;
  rotate: -90deg;
}
.list-flow li:last-child:before {
  content: none;
}
.list-flow li.is {
  color: #fff;
  background-color: #1B59B5;
}

.vote-sct .sr-only {
  display: none;
}
.vote-sct input,
.vote-sct textarea, .vote-sct select {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  padding: 0.312em 0.625em;
  border: solid 1px #B7C4DE;
  background: #FFF;
  border-radius: 0.187em;
}
.vote-sct input:focus,
.vote-sct textarea:focus, .vote-sct select:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0.312em rgba(27, 89, 181, 0.2);
          box-shadow: 0 0 0.312em rgba(27, 89, 181, 0.2);
  background-color: rgba(27, 89, 181, 0.05);
}
.vote-sct select {
  width: 100%;
  min-height: 2.25em;
  padding-top: 0.437em;
  padding-right: 2.25em;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: #FFF url("data:image/svg+xml;charset=utf-8,%3Csvg id='a' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14'%3E%3Cpolygon points='10 13.502 0 3.502 3.004 .498 10 7.493 16.996 .498 20 3.502 10 13.502' style='fill:%23B7C4DE;'/%3E%3C/svg%3E") calc(100% - 0.437em) calc(50% + 0.062em)/0.937em no-repeat;
}
.vote-sct input[name=text_6], .vote-sct input[name=text_9],
.vote-sct textarea[name=text_6],
.vote-sct textarea[name=text_9] {
  width: 100%;
}
.vote-sct textarea {
  width: 100%;
}
.vote-sct button[type=submit] {
  padding: 0;
  display: block;
  width: 100%;
  max-width: 20em;
  margin: 1.875em auto 0 auto;
  font-size: 16px;
  font-size: 1.6rem;
  background: none;
  border: 0;
}
.vote-sct button[type=submit] span {
  display: block;
  padding: 0.937em;
  color: #FFF;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ", "メイリオ", sans-serif;
  font-weight: var(--font-normal);
  letter-spacing: 0.05em;
  text-shadow: 1px 1px 0 rgba(4, 16, 109, 0.2);
  background: -webkit-gradient(linear, left top, left bottom, from(#1B59B5), to(#154c9e));
  background: linear-gradient(to bottom, #1B59B5, #154c9e);
  border-radius: 0.312em;
}
.vote-sct button[type=submit] span:hover {
  cursor: pointer;
}
.vote-sct form table.vote-tbl tr td .vore-list li {
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  padding-left: 1.75em;
  margin-bottom: 0.75em;
}
.vote-sct form table.vote-tbl tr td .vore-list li input[type=radio] {
  position: absolute;
  left: 0;
  top: 0.15em;
  display: block;
  content: "";
  width: 1.4em;
  height: 1.4em;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #1B59B5;
  border-radius: 50%;
  background: #fff;
}
.vote-sct form table.vote-tbl tr td .vore-list li input[type=radio]:checked {
  background-color: #1B59B5;
}
.vote-sct form table.vote-tbl tr td .vore-list li input[type=radio]:checked:before {
  position: absolute;
  left: 0.25em;
  top: 0.15em;
  content: "";
  display: block;
  width: 1em;
  height: 0.5em;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  border-left: solid 3px #FFF;
  border-bottom: solid 3px #FFF;
}
.vote-sct form table.vote-tbl tr td .vore-list:nth-child(2) {
  margin-top: 1em;
  padding: 0.7em 0 0;
  border-top: 1px solid #B7C4DE;
}
.vote-sct form table.vote-tbl tr td .vore-list:nth-child(2) input[name=text_2] {
  display: block;
  width: 100%;
  margin-top: 0.5em;
}
.vote-sct form table.vote-tbl tr td .box-rank-vote {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0.312em 0.625em 0.625em 0.625em;
  background: #F0F8FE;
}
.vote-sct form table.vote-tbl tr td .box-rank-vote + .box-rank-vote {
  margin-top: 0.625em;
}
.vote-sct form table.vote-tbl tr td .list-rank-sex {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 1px;
  border-radius: 3px;
  overflow: hidden;
}
.vote-sct form table.vote-tbl tr td .list-rank-sex input[type=radio] {
  display: none;
}
.vote-sct form table.vote-tbl tr td .list-rank-sex label {
  font-size: 16px;
  font-size: 1.6rem;
  display: block;
  cursor: pointer;
  padding: 0.6em 0.5em;
  text-align: center;
  background-color: rgba(183, 196, 222, 0.5);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.vote-sct form table.vote-tbl tr td .list-rank-sex label:has(:checked) {
  background-color: #1B59B5;
  color: #FFF;
}
@media only screen and (min-width: 768px) {
  .vore-list {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 2.5em;
       -moz-column-gap: 2.5em;
            column-gap: 2.5em;
  }
  .vore-list:nth-child(2) {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  .vore-list:nth-child(2) input[name=text_2] {
    width: 45% !important;
  }
}
.search-wrap {
  position: absolute;
  width: 100%;
  background: #F6B212;
  z-index: 1000;
  opacity: 0.5;
  -webkit-transition: opacity 0.25s, max-height 0.15s, padding 0.15s;
  transition: opacity 0.25s, max-height 0.15s, padding 0.15s;
  -webkit-box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.15);
          box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.15);
  padding: 0 1.5em;
}
.search-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -100vh;
  display: block;
  width: 100%;
  height: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.25)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
}
.search-wrap.is-open {
  max-height: 100vh;
  padding: 2em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.25s, max-height 0.15s, padding 0.15s;
  transition: opacity 0.25s, max-height 0.15s, padding 0.15s;
  overflow: visible;
}
.search-wrap.is-open::after {
  height: 100vh;
}
.search-wrap form {
  display: grid;
  grid-template-columns: 1fr 6em;
}
.search-wrap input[type=text],
.search-wrap input[type=submit] {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ", "メイリオ", sans-serif;
  font-weight: var(--font-normal);
}
.search-wrap input[type=text] {
  width: 100%;
  padding: 0.312em 0.625em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  border: solid 1px #1B59B5;
  border-radius: 0.312em 0 0 0.312em;
}
.search-wrap input[type=submit] {
  font-size: 13px;
  font-size: 1.3rem;
  color: #FFF;
  letter-spacing: 0.25em;
  background: #1B59B5;
  border: 0;
  border-radius: 0 0.384em 0.384em 0;
}

@media only screen and (min-width: 768px) {
  .search-wrap {
    background: #FFF6CC;
  }
  .search-wrap.is-open {
    padding: 3em 1.5em;
  }
  .search-wrap form {
    grid-template-columns: 1fr 12em;
    max-width: 74.2em;
    margin-inline: auto;
  }
  .search-wrap input[type=text] {
    padding: 0.625em 0.937em;
  }
  .search-wrap input[type=submit] {
    font-size: 16px;
    font-size: 1.6rem;
    border-radius: 0 0.312em 0.312em 0;
  }
}
.foot {
  background: #FFF6CC;
}
.foot .foot-nav {
  padding: 3em 1.5em;
}
.foot .foot-nav li {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
  font-size: 1.6rem;
}
.foot .foot-nav li::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0.625em;
  font-size: 60%;
  color: rgba(27, 89, 181, 0.75);
}
.foot .foot-nav li + li {
  margin-top: 0.625em;
}
.foot .foot-nav li a {
  text-decoration: none;
  color: inherit;
}
.foot .copy {
  background: #ffeea1;
  padding: 1.875em 0.937em;
}
.foot .copy small {
  font-size: 14px;
  font-size: 1.4rem;
  opacity: 0.9;
}
.foot .copy small a {
  color: inherit;
}
.foot .copy .noto {
  display: block;
  margin-top: 0.833em;
  font-size: 12px;
  font-size: 1.2rem;
  opacity: 0.75;
}

@media only screen and (min-width: 768px) {
  .foot .copy {
    text-align: center;
  }
}
@media only screen and (min-width: 1024px) {
  .foot .foot-nav {
    padding: 6em 3em;
    text-align: center;
  }
  .foot .foot-nav li {
    display: inline-block;
    padding-inline: 1em;
  }
  .foot .foot-nav li::before {
    content: normal;
  }
  .foot .foot-nav li + li {
    margin: 0;
    border-left: solid 1px rgba(17, 17, 17, 0.5);
  }
  .foot .copy {
    padding: 3.75em 1.875em;
  }
}