@charset "UTF-8";
/* CSS Document */
/*---------------------------
sec
---------------------------*/
/* TOPページ スライダー */
.slider-area {
  margin: 50px auto 50px;
  padding-bottom: 30px;
}
@media (max-width: 768px) {
  .slider-area {
    margin: 5vw auto 6vw;
    padding-bottom: 20px;
  }
}
.slider-area .js-slick-top {
  margin: auto;
}
.slider-area .js-slick-top a img {
  width: 100%;
}
.slider-area .js-slick-top .slick-dots {
  bottom: -35px;
}
@media (max-width: 768px) {
  .slider-area .js-slick-top .slick-dots {
    bottom: -30px;
  }
}
.slider-area .js-slick-top .slick-dots button:before {
  color: #fff;
  content: "";
  display: block;
  width: 10px; /* ← サイズを統一 */
  height: 10px;
  border-radius: 50%;
  background-color: #000; /* ドットの色 */
  opacity: 1;
}
.slider-area .js-slick-top .slick-dots li.slick-active button:before {
  background-color: #999; /* アクティブ色 */
}

@media (max-width: 768px) {
  .l-contents-inner {
    width: 95%;
  }
}

/* スケジュール検索結果・結果検索結果ページ：under.cssのpadding-topを打ち消す */
.page-slug-schedule-result #pachi-navi,
.page-slug-result-search #pachi-navi {
  padding-top: 0;
}

/* スケジュール一覧・過去結果一覧・表彰店舗一覧・取材監修者一覧・中の人ページ：under.cssのpadding-topを打ち消す＆パンくず上余白を縮小 */
.page-slug-schedule #pachi-navi,
.post-type-archive-result #pachi-navi,
.post-type-archive-award_month #pachi-navi,
.post-type-archive-supervisor #pachi-navi,
.post-type-archive-kikaku #pachi-navi,
.single-kikaku #pachi-navi,
.page-slug-nakano-hito #pachi-navi {
  padding-top: 0;
}
.page-slug-schedule nav.logo .breadcrumb,
.post-type-archive-result nav.logo .breadcrumb,
.post-type-archive-award_month nav.logo .breadcrumb,
.post-type-archive-supervisor nav.logo .breadcrumb,
.post-type-archive-kikaku nav.logo .breadcrumb,
.single-kikaku nav.logo .breadcrumb,
.page-slug-nakano-hito nav.logo .breadcrumb {
  margin-top: 30px;
  margin-bottom: 25px;
}

/* TOPページ SP背景 */
@media (max-width: 768px) {
  body.home {
    background-image: none;
  }
}

/* TOPページ */
#pachi-navi {
  /* 共通ブロックフォーマット スタイル */
}
@media (max-width: 768px) {
  #pachi-navi {
    width: 100%;
    margin: auto;
  }
}
#pachi-navi .record-list {
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
}
@media (max-width: 768px) {
  #pachi-navi .record-list {
    grid-template-columns: 1fr;
    margin-top: 15px;
    gap: 0.3rem;
  }
}
#pachi-navi .record-list .record-item-date {
  grid-column: 1/-1;
  margin: 0;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item-date {
    margin: 0;
  }
}
#pachi-navi .record-list .record-item-date .date {
  background-color: #a56eff;
  border: 2px solid #b18f50;
  padding: 0.5em 0;
  letter-spacing: 0.15em;
  font-weight: bold;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item-date .date {
    padding: 0.3em;
  }
}
#pachi-navi .record-list .record-item {
  container-type: inline-size;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0;
  padding: 0.8em;
  background: #fff;
  border: 4px solid;
  border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  color: #231815;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item {
    padding: 0.8vw;
    box-sizing: border-box;
    border: 2px solid;
    border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
    background: #fff;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) {
  align-items: stretch;
  padding: 1.5em 1em 1.5em 0.6em;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) {
    padding: 1vw 1.5vw;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .imgbox.schedule-img {
  width: 42%;
  margin-right: 0.5rem;
  background-color: transparent;
  border: 3px solid;
  border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .imgbox.schedule-img {
    width: 22vw;
    margin-right: 2vw;
    border: 2px solid;
    border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .imgbox.schedule-img img {
  object-fit: contain;
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  padding: 0;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox {
    display: grid;
    grid-template-areas: "kikaku    kakokekka" "store     kakokekka";
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    align-items: center;
    gap: 1vw;
  }
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .name:not(.store) {
    grid-area: kikaku;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .name:not(.store) span {
  font-size: 1rem;
  color: #231815;
  font-weight: 900;
  background: none;
  border: none;
  padding: 0.3em 0 0 0;
  min-width: auto;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .name:not(.store) span {
    font-size: 3.2vw;
    padding: 0;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .name.store {
  flex: 1;
  display: flex;
  align-items: center;
  margin-top: 0;
  font-size: 5.5cqi;
  font-weight: 900;
  line-height: 1.3;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .name.store {
    grid-area: store;
    font-size: 6cqi;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka {
  margin-top: auto;
  margin-bottom: 0;
  padding: 0;
  line-height: 0;
  text-align: left;
  width: 68%;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka {
    grid-area: kakokekka;
    margin-top: 0;
    text-align: right;
    width: auto;
    align-self: stretch;
    display: flex;
    align-items: center;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka .btn-kakokekka {
  display: block;
  line-height: 0;
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka .btn-kakokekka img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka .btn-kakokekka img {
    width: 20vw;
  }
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka .btn-kakokekka:hover img {
  transform: scale(1.05);
}
#pachi-navi .record-list .record-item.schedule-item:not(.result-item) .txtbox .schedule-kakokekka .btn-kakokekka.is-disabled {
  pointer-events: none;
  cursor: not-allowed;
}
#pachi-navi .record-list .record-item.result-item {
  align-items: stretch;
  padding: 1.5em 1em 1.5em 0.6em;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item {
    padding: 1vw 1.5vw;
  }
}
#pachi-navi .record-list .record-item.result-item .imgbox.schedule-img {
  width: 42%;
  margin-right: 0.5rem;
  background-color: transparent;
  border: 3px solid;
  border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .imgbox.schedule-img {
    width: 22vw;
    margin-right: 2vw;
    border: 2px solid;
    border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  }
}
#pachi-navi .record-list .record-item.result-item .imgbox.schedule-img img {
  object-fit: contain;
}
#pachi-navi .record-list .record-item.result-item .result-txtbox {
  flex: auto;
  display: flex;
  flex-direction: column;
  padding: 0;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox {
    display: grid;
    grid-template-areas: "badges  kakokekka" "kikaku  kakokekka" "store   kakokekka";
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    gap: 0;
    align-content: center;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .result-top-row {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .result-top-row {
    grid-area: badges;
    margin-bottom: 0.5vw;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .name:not(.store) {
  margin-top: auto;
  margin-bottom: -0.2em;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .name:not(.store) {
    grid-area: kikaku;
    margin: 0;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .name:not(.store) > span:not(.enzya) {
  display: inline-block;
  font-size: 1rem;
  color: #231815;
  font-weight: 900;
  background: none;
  border: none;
  padding: 0;
  min-width: auto;
  margin-right: 0;
  text-align: left;
  letter-spacing: inherit;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .name:not(.store) > span:not(.enzya) {
    font-size: 3.2vw;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .name.store {
  margin-top: 0;
  margin-bottom: auto;
  font-size: 5.5cqi;
  font-weight: 900;
  line-height: 1.3;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .name.store {
    grid-area: store;
    font-size: 6cqi;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka {
  flex-shrink: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  line-height: 0;
  text-align: left;
  width: 68%;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka {
    grid-area: kakokekka;
    align-self: stretch;
    text-align: right;
    width: auto;
    display: flex;
    align-items: center;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka .btn-kakokekka {
  display: block;
  line-height: 0;
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka .btn-kakokekka img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka .btn-kakokekka img {
    width: 20vw;
  }
}
#pachi-navi .record-list .record-item.result-item .result-txtbox .schedule-kakokekka .btn-kakokekka:hover img {
  transform: scale(1.05);
}
#pachi-navi .record-list .record-item.result-item .result-top-row {
  display: flex;
  align-items: stretch;
  gap: 0.4em;
  width: 100%;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-top-row {
    gap: 1.5vw;
    width: 80%;
  }
}
#pachi-navi .record-list .record-item.result-item .result-badge {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #666;
  color: #fff;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 0.6em 0;
  border: 1px solid rgb(201, 179, 133);
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-align: center;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item.result-item .result-badge {
    font-size: 1.8vw;
    padding: 0.7em 0;
  }
}
#pachi-navi .record-list .record-item .imgbox {
  flex-shrink: 0;
  width: 13%;
  aspect-ratio: 1/1;
  margin: 0 0.8rem 0 0;
  text-align: center;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item .imgbox {
    margin: 0;
    width: 18vw;
    aspect-ratio: 1/1;
  }
}
#pachi-navi .record-list .record-item .imgbox img {
  width: auto;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
#pachi-navi .record-list .record-item .imgbox img.logo-img:hover {
  transform: scale(1.05);
  transition: all 0.8s;
}
#pachi-navi .record-list .record-item .imgbox.schedule-img {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #c9b385;
  background-color: #231815;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item .imgbox.schedule-img {
    margin-right: 1.5vw;
  }
}
#pachi-navi .record-list .record-item .imgbox.schedule-img img {
  width: 100%;
  height: auto;
}
#pachi-navi .record-list .record-item .imgbox:not(.schedule-img):not(.award-img) {
  align-self: center;
}
#pachi-navi .record-list .record-item .imgbox.award-img {
  align-self: center;
  border: none;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item .imgbox.award-img {
    margin-right: 1.5vw;
  }
}
#pachi-navi .record-list .record-item .txtbox {
  line-height: 1.5;
  flex: auto;
  font-size: 0.9rem;
  padding: 0.5em 0;
  font-family: "Noto Serif JP", serif;
}
#pachi-navi .record-list .record-item .txtbox .name:not(.store) > span:not(.enzya) {
  display: inline-block;
  background: #231815;
  color: #fde7c6;
  font-size: 0.95rem;
  font-weight: bold;
  padding: 0.25em 0;
  margin-right: 0.6em;
  vertical-align: middle;
  letter-spacing: 0.05em;
  border: 1px solid #c9b385;
  min-width: 8em;
  text-align: center;
}
#pachi-navi .record-list .record-item .txtbox .name .enzya {
  font-size: 1rem;
  font-weight: bold;
  color: #231815;
  vertical-align: middle;
  letter-spacing: 0.03em;
}
#pachi-navi .record-list .record-item .txtbox .name.store {
  font-size: 1.5rem;
  font-weight: bold;
  color: #231815;
  line-height: 1.4;
  margin-top: 0.2em;
  background: none;
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item .txtbox .name.store {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  #pachi-navi .record-list .record-item .cts_wrap_sp {
    width: calc(100% - 18vw - 1.5vw);
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-self: stretch;
    padding: 0;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-top-row {
    display: flex;
    align-items: stretch;
    gap: 1.5vw;
    margin-bottom: 1vw;
    width: 60%;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-kikaku-badge {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #231815;
    color: #fde7c6;
    font-size: 2.5vw;
    font-weight: bold;
    padding: 0.3em 0.5em;
    border: 1px solid #c9b385;
    text-align: center;
    white-space: nowrap;
    font-family: "Noto Serif JP", serif;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-kakokekka-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-kakokekka-wrap a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-kakokekka-wrap img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    transition: transform 0.25s ease;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-kakokekka-wrap img:hover {
    transform: scale(1.03);
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-enzya-wrap {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .sp-enzya-wrap .enzya {
    font-size: 2.8vw;
    color: #231815;
    font-weight: bold;
    font-family: "Noto Serif JP", serif;
  }
  #pachi-navi .record-list .record-item .cts_wrap_sp .name.store {
    flex: 1;
    display: flex;
    align-items: center;
    font-size: 4.5vw;
    font-weight: bold;
    color: #231815;
    margin-top: 0;
    line-height: 1;
    font-family: "Noto Serif JP", serif;
  }
}
#pachi-navi #result input.btn-submit {
  background-color: #000;
}
#pachi-navi #result,
#pachi-navi #award {
  margin-top: 180px;
}
@media (max-width: 768px) {
  #pachi-navi #result,
  #pachi-navi #award {
    margin-top: 90px;
  }
}
#pachi-navi #result .result-text-wrap,
#pachi-navi #award .result-text-wrap {
  display: flex;
  align-items: center;
  line-height: 1.4;
  flex: auto;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap,
  #pachi-navi #award .result-text-wrap {
    flex: none;
  }
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap,
  #pachi-navi #award .result-text-wrap {
    width: calc(100% - 160px - 3vw);
    flex-direction: column-reverse;
    align-items: flex-start;
    padding: 0;
    margin-right: 1.5vw;
  }
}
#pachi-navi #result .result-text-wrap .result-txt,
#pachi-navi #award .result-text-wrap .result-txt {
  color: #fff;
  font-size: 0.8rem;
  width: 20%;
  padding: 0.7rem 0.3rem 0.7rem 0;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .result-txt,
  #pachi-navi #award .result-text-wrap .result-txt {
    display: flex;
    width: 100% !important;
    justify-content: space-between;
    padding: 0 !important;
    margin: auto 0 0;
  }
}
#pachi-navi #result .result-text-wrap .result-txt .detail,
#pachi-navi #award .result-text-wrap .result-txt .detail {
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  border: 2px solid #c9b385;
  height: 47px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .result-txt .detail,
  #pachi-navi #award .result-text-wrap .result-txt .detail {
    height: auto;
    width: 48%;
    font-size: 2.3vw;
    padding: 0.8em 0;
  }
}
#pachi-navi #result .result-text-wrap .result-txt .detail:first-child,
#pachi-navi #award .result-text-wrap .result-txt .detail:first-child {
  margin-bottom: 10px;
  font-feature-settings: "palt";
  font-variant-east-asian: proportional-width; /* プロポーショナル幅 */
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .result-txt .detail:first-child,
  #pachi-navi #award .result-text-wrap .result-txt .detail:first-child {
    margin-bottom: 0;
  }
}
#pachi-navi #result .result-text-wrap .name.store,
#pachi-navi #award .result-text-wrap .name.store {
  justify-content: flex-start;
  align-items: center;
  width: 77%;
  padding-left: 3%;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .name.store,
  #pachi-navi #award .result-text-wrap .name.store {
    display: block;
    padding-left: 0;
    width: 100%;
    margin-top: auto;
  }
}
#pachi-navi #result .result-text-wrap .name.store span,
#pachi-navi #award .result-text-wrap .name.store span {
  display: block;
  text-align: left;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .name.store span,
  #pachi-navi #award .result-text-wrap .name.store span {
    font-size: 4.5vw;
    line-height: 1.3;
  }
}
#pachi-navi #result .result-text-wrap .name.store span.result_kikaku,
#pachi-navi #award .result-text-wrap .name.store span.result_kikaku {
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  #pachi-navi #result .result-text-wrap .name.store span.result_kikaku,
  #pachi-navi #award .result-text-wrap .name.store span.result_kikaku {
    font-size: 0.7rem;
  }
}
@media (max-width: 768px) {
  #pachi-navi #result .result_btn_box,
  #pachi-navi #award .result_btn_box {
    align-self: center;
  }
}
#pachi-navi #award .award-list {
  grid-template-columns: 1fr;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }
}
#pachi-navi #award .award-list .result-item .imgbox.schedule-img {
  width: 20%;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .imgbox.schedule-img {
    width: 22vw;
    border: 2px solid;
    border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  }
}
#pachi-navi #award .award-list .result-item .result-top-row {
  width: 60%;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-top-row {
    width: 80%;
  }
}
#pachi-navi #award .award-list .result-item .result-badge {
  flex: none;
  width: 35%;
  padding: 0.7em;
  font-size: 0.9rem;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-badge {
    flex: 1;
    width: auto;
    padding: 0.4em 0;
    font-size: 1.8vw;
    border: 1px solid rgb(201, 179, 133);
  }
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item {
    padding: 1vw 1.5vw;
    border: 2px solid;
    border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  }
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-txtbox {
    display: grid;
    grid-template-areas: "badges  kakokekka" "store   kakokekka";
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    gap: 0;
  }
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-txtbox .result-top-row {
    grid-area: badges;
    margin-bottom: 0.5vw;
    align-self: start;
  }
}
#pachi-navi #award .award-list .result-item .result-txtbox .name.store {
  margin-top: auto;
  font-size: 3cqi;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-txtbox .name.store {
    grid-area: store;
    font-size: 6cqi;
    display: flex;
    align-items: center;
  }
}
#pachi-navi #award .award-list .result-item .result-txtbox .schedule-kakokekka {
  width: 25%;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-txtbox .schedule-kakokekka {
    grid-area: kakokekka;
    align-self: stretch;
    text-align: right;
    width: auto;
    display: flex;
    align-items: center;
  }
}
#pachi-navi #award .award-list .result-item .result-txtbox .schedule-kakokekka .btn-kakokekka img {
  width: 100%;
}
@media (max-width: 768px) {
  #pachi-navi #award .award-list .result-item .result-txtbox .schedule-kakokekka .btn-kakokekka img {
    width: 20vw;
  }
}
#pachi-navi {
  /* 絞り込み検索部分 スタイル変更 */
}
#pachi-navi .filter {
  text-align: center;
  margin: 0 0 24px;             /* +日付帯のmargin-top4 = デザイン実測28 */
}
@media (max-width: 768px) {
  #pachi-navi .filter {
    width: 95%;
    margin: 5vw auto;
  }
}
#pachi-navi .filter form {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}
@media (max-width: 768px) {
  #pachi-navi .filter form {
    flex-wrap: wrap;
    gap: 6px;
  }
}
#pachi-navi .filter form select {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 18.6%;              /* デザイン実測 150/804 */
  min-width: 0;
  height: 45px;                 /* デザイン実測 */
  padding: 0 36px 0 12px;
  font-size: 0.8rem;
  color: #333;
  border: 2px solid #000;
  border-radius: 6px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M0 0h10L5 6z' fill='%23333'/></svg>") no-repeat right 12px center/10px 6px;
  box-sizing: border-box;
}
#pachi-navi .filter form select:focus {
  outline: none;
  border-color: #f0b030;
}
#pachi-navi .filter form select::-ms-expand {
  display: none;
}
@media (max-width: 768px) {
  #pachi-navi .filter form select {
    flex: 0 0 calc(33.33% - 4px);
    height: 36px;
    font-size: 2.8vw;
    padding: 0 24px 0 8px;
  }
}
#pachi-navi .filter form input.btn-submit {
  flex: 0 0 9.6%;               /* デザイン実測 77/804 */
  height: 45px;
  padding: 0;
  background-color: #000;
  border: 1px solid #DCDDDD;
  border-radius: 4px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: opacity 0.3s;
}
#pachi-navi .filter form input.btn-submit:hover {
  opacity: 0.8;
}
@media (max-width: 768px) {
  #pachi-navi .filter form input.btn-submit {
    height: 36px;
    font-size: 0.85rem;
  }
}
#pachi-navi .filter form input.result_filter, #pachi-navi .filter form input.schedule_filter {
  -webkit-appearance: none;
  appearance: none;
  flex: 1 1 30.8%;              /* デザイン実測 248/804 */
  min-width: 0;
  height: 45px;
  padding: 0 12px;
  font-size: 0.8rem;
  color: #333;
  border: 2px solid #000;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
}
#pachi-navi .filter form input.result_filter:focus, #pachi-navi .filter form input.schedule_filter:focus {
  outline: none;
  border-color: #f0b030;
}
#pachi-navi .filter form input.result_filter::-ms-expand, #pachi-navi .filter form input.schedule_filter::-ms-expand {
  display: none;
}
@media (max-width: 768px) {
  #pachi-navi .filter form input.result_filter, #pachi-navi .filter form input.schedule_filter {
    height: 36px;
    font-size: 2.8vw;
  }
}
#pachi-navi {
  /* 中の人 */
}
#pachi-navi #nakano-hito {
  margin-top: 200px;
  color: #fee290;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito {
    margin-top: 50px;
  }
}
#pachi-navi #nakano-hito .box_title {
  text-align: center;
}
#pachi-navi #nakano-hito .nakano-hito_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner {
    width: 90%;
    margin: 30px auto 0;
  }
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_image {
  width: 60%;
  text-align: center;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_image {
    width: 95%;
    margin: auto;
  }
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_image img {
  width: 100%;
  height: auto;
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content {
  width: 80%;
  margin-top: 0.6em;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content {
    width: 100%;
    margin-top: 1em;
  }
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .box_title {
  font-size: 1.3rem;
  text-align: center;
  margin-top: 1em;
  letter-spacing: 0.2em;
  text-shadow: 1px 1px 0 #231815, -1px 1px 0 #231815, 1px -1px 0 #231815, -1px -1px 0 #231815, 1px 0 0 #231815, -1px 0 0 #231815, 0 1px 0 #231815, 0 -1px 0 #231815;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .box_title {
    font-size: 4vw;
  }
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .nakano-hito_text {
  text-align: center;
  line-height: 1.8;
  font-size: 0.9rem;
  margin-top: 3em;
  margin-bottom: 4em;
  text-shadow: 1px 1px 0 #231815, -1px 1px 0 #231815, 1px -1px 0 #231815, -1px -1px 0 #231815, 1px 0 0 #231815, -1px 0 0 #231815, 0 1px 0 #231815, 0 -1px 0 #231815;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .nakano-hito_text {
    font-size: 2.7vw;
    line-height: 2;
  }
}
#pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .nakano-hito__btn {
  width: 40%;
}
@media (max-width: 768px) {
  #pachi-navi #nakano-hito .nakano-hito_inner .nakano-hito_content .nakano-hito__btn {
    width: 65%;
  }
}
#pachi-navi {
  /* 取材監修者 */
}
#pachi-navi section#supervisor {
  margin-top: 180px;
}
@media (max-width: 768px) {
  #pachi-navi section#supervisor {
    margin-top: 90px;
  }
}
#pachi-navi section#supervisor .supervisor-list {
  margin-top: 1.5em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2em;
}
@media (max-width: 768px) {
  #pachi-navi section#supervisor .supervisor-list {
    grid-template-columns: 1fr 1fr;
    column-gap: 5vw;
    row-gap: 6vw;
    padding: 0 2vw;
  }
}
#pachi-navi section#supervisor .supervisor-list .supervisor-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background-image: none;
  background-color: transparent;
  padding: 0;
  border: none;
}
#pachi-navi section#supervisor .supervisor-list .supervisor-item .imgbox.supervisor-img {
  width: 100%;
  box-sizing: border-box;
  aspect-ratio: 1/1;
  border: 6px solid;
  border-image: linear-gradient(to top right, #8b6508, #b8941e 30%, #d4b44a 60%, #c8a030) 1;
  overflow: hidden;
  margin: 0;
}
@media (max-width: 768px) {
  #pachi-navi section#supervisor .supervisor-list .supervisor-item .imgbox.supervisor-img {
    border-width: 4px;
  }
}
#pachi-navi section#supervisor .supervisor-list .supervisor-item .imgbox.supervisor-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#pachi-navi section#supervisor .supervisor-list .supervisor-item .supervisor-name-badge {
  background-color: #0060ff;
  border: 2px solid #fff;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  padding: 0.7em 0.3em;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.3;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  #pachi-navi section#supervisor .supervisor-list .supervisor-item .supervisor-name-badge {
    font-size: 4.5vw;
    padding: 0.6em 0.3em;
    margin-top: 1.5vw;
    margin-bottom: 0;
  }
}
#pachi-navi {
  /* 企画紹介 */
}
#pachi-navi section#section-kikaku {
  margin-top: 200px;
}
@media (max-width: 768px) {
  #pachi-navi section#section-kikaku {
    margin-top: 50px;
  }
}
#pachi-navi section#section-kikaku .kikaku-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3%;
  margin-top: 2em;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  #pachi-navi section#section-kikaku .kikaku-list {
    gap: 3vw;
    margin-top: 1.5em;
  }
}
#pachi-navi section#section-kikaku .kikaku-item {
  text-align: center;
}
#pachi-navi section#section-kikaku .kikaku-item .kikaku-imgbox {
  border: 2px solid #b18f50;
  background-color: #1a0a00;
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#pachi-navi section#section-kikaku .kikaku-item .kikaku-imgbox img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}
#pachi-navi section#section-kikaku .kikaku-item .kikaku-imgbox img:hover {
  transform: scale(1.04);
}
#pachi-navi section#section-kikaku .kikaku-item .kikaku-name {
  color: #fee29b;
  font-size: 1rem;
  margin-top: 0.6em;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #pachi-navi section#section-kikaku .kikaku-item .kikaku-name {
    font-size: 3.5vw;
  }
}
#pachi-navi {
  /* 特選グループ・店舗 */
}
#pachi-navi #advertisement {
  margin-top: 160px;
  padding-bottom: 160px;
}
#pachi-navi #advertisement .advertisement_title {
  width: 40%;
  background-size: 60%;
  background-position-y: 1em;
}
@media (max-width: 768px) {
  #pachi-navi #advertisement .advertisement_title {
    width: 60%;
  }
}
#pachi-navi #advertisement .advertisement_box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1%;
}
@media (max-width: 768px) {
  #pachi-navi #advertisement .advertisement_box {
    display: block;
  }
}
#pachi-navi #advertisement .advertisement_box a {
  display: block;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  #pachi-navi #advertisement .advertisement_box a:not(:first-child) {
    margin-top: 2vw;
  }
}
#pachi-navi #advertisement .advertisement_box a img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 31/16;
  transition: transform 0.5s ease;
  display: block;
}
#pachi-navi #advertisement .advertisement_box a img:hover {
  transform: scale(1.08);
}
#pachi-navi #advertisement .advertisement_box a[href="#"] {
  pointer-events: none;
  cursor: default;
}
#pachi-navi .result-txt {
  color: #000;
  padding: 1rem 0.5rem;
  flex: none;
  width: 28%;
  font-size: 1.7rem;
}
#pachi-navi .result-txt1 {
  width: 46%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#pachi-navi .result-txt1 .result-kikaku-label {
  font-size: 0.75em;
  color: inherit;
  line-height: 1.3;
}
#pachi-navi .result-txt2 {
  text-align: right;
  font-size: 1rem;
  padding-right: 0.5rem;
  color: #000;
  flex: none;
  width: 20%;
}
@media (max-width: 768px) {
  #pachi-navi h2.logo {
    margin-top: 0;
    margin-bottom: 0;
  }
  #pachi-navi .filter.result-filter {
    margin-bottom: 30px;
  }
  #pachi-navi .txtbox.result-txt {
    width: 35% !important;
    font-size: 1rem !important;
    padding: 0.5rem 0.3rem !important;
  }
  #pachi-navi .txtbox.result-txt1 {
    width: 35% !important;
    font-size: 1rem !important;
  }
  #pachi-navi .txtbox.result-txt2 {
    width: 23% !important;
    font-size: 0.8rem !important;
    padding-right: 0.3rem !important;
  }
}

/* 過去結果詳細ページ */
.single #blog_detail #blog_ttl {
  background: #a56eff;
  color: #fff;
  -webkit-text-fill-color: #fff;
  border: none;
}
.single #blog_detail #blog_ttl span {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: #fff;
  -webkit-text-fill-color: #fff;
}


/* =========================================================
   気づけば無中 リニューアル：取材カード / フィルター / ボタン
   （新デザイン用コンポーネント。最後に読み込むため既存に優先）
   ========================================================= */
/* セクションタイトル（画像タイトル。台形装飾は global.css から撤去済み） */
#pachi-navi .sec_title {
  text-align: center;
  margin: 30px 0 66px;          /* デザイン実測：タイトル下端〜フィルター66 */
  padding: 0;
}
#pachi-navi .sec_title img {
  display: block;
  margin: 0 auto;               /* inline由来の下余白を無くして余白計算を正確に */
  width: auto;
  height: clamp(50px, 9vw, 68px);   /* 2x書き出しの50%表示＝デザイン実測68px */
  max-width: 92%;
}

/* カードリスト */
.card-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;                     /* デザイン実測：カード間9 */
}

.card-date {
  background: #727172;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  padding: 0.6em 1em;           /* デザイン実測：日付帯 高さ52 */
  border-radius: 12px;
  letter-spacing: 0.05em;
  border: 2px solid #000000;
  margin: 4px 0 2px;            /* 前カードとの間13／次カードとの間11 */
}

/* カード本体（横長） */
.card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border: 2px solid #231815;
  border-radius: 14px;
  padding: 2px;                 /* デザイン実測：カード高さ109＝ロゴ枠+枠 */
}
@media (max-width: 768px) {
  .card {
    gap: 10px;
    padding: 2px;
    border-radius: 12px;
  }
}

.card__logo {
  flex: 0 0 auto;
  margin-right: 10px;
  box-sizing: border-box;
  width: clamp(80px, 13.6%, 109px); /* デザイン実測 109/804＝13.6% */
  aspect-ratio: 109.2284/101.8328; /* エリアは固定比率（ロゴに依存しない） */
  padding: clamp(5px, 1vw, 8px);
  background: #fff;
  border: 2px solid #000;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* ロゴはエリア内に収める（比率維持・中央・エリアサイズは不変） */
}
.card__logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.card__datearea {
  flex: 0 0 16%;                    /* 内容に依存せず横幅固定（カード幅の16%） */
  align-self: stretch;              /* 取材ロゴ枠と同じ高さに */
  margin-left: -16px;               /* 取材ロゴとの間隔を詰める */
  min-width: 84px;                  /* 極小幅での下限 */
  container-type: inline-size;      /* 内側の文字を親幅基準(cqi)で可変にする */
  display: flex;
  flex-direction: column;
  justify-content: space-between;   /* 日付=上／エリア=下 でロゴ枠と上下を揃える */
  gap: 4px;
}
.card__datearea > span {
  flex: 1 1 0;                /* 縦いっぱいに伸ばして高さを出す */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(11px, 12cqi, 16px);   /* 親（バッジ）幅に対して可変・はみ出し防止 */
  font-weight: 700;
  border: 1px solid #231815;
  border-radius: 10px;
  padding: 0.35em 0.5em;
  white-space: nowrap;
}
/* 曜日の【】括弧だけ字間を詰める（日付の数字はそのまま） */
.card__dow {
  letter-spacing: -0.08em;
  margin-left: -0.4em;    /* 「日」と「【」の間を詰める */
  margin-right: -0.4em;   /* 末尾「】」の余白を詰める */
}
/* 日付/エリアバッジの文字は cqi で親幅に追従（SP固定上書きは廃止） */

.card__body {
  position: relative;      /* meta / 店名を絶対配置するため */
  flex: 1 1 auto;
  min-width: 0;
  align-self: stretch;
}

.card__meta {
  position: absolute;
  top: 8px;                       /* カード上端寄せ */
  left: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 0;
}

.card__label {
  font-size: 11px;
  color: #999;
}
@media (max-width: 768px) {
  .card__label {
    font-size: 10px;
  }
}

.card__kikaku {
  font-weight: 700;
  font-size: clamp(12px, 1.7vw, 14px);
}

.card__member {
  font-weight: 700;
  font-size: clamp(12px, 1.7vw, 14px);
}

.card__store {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-0.5em);   /* 1行目を中央付近に固定（さっきのバランス）→改行は下へ */
  margin: 0;
  font-size: clamp(18px, 2.9vw, 26px);
  font-weight: 700;
  line-height: 1.15;              /* 2行になったときに詰まりすぎないよう圧縮 */
  /* 長い店名・途中に空白の無い英数字でもカードから溢れないように */
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* PCは店名が絶対配置のため、想定外に長い店名は2行で止めてカード外への溢れを防ぐ */
@media (min-width: 769px) {
  .card__store {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

.card__action {
  flex: 0 0 auto;
  margin-right: 8px;
}

/* 過去結果 円形ボタン（白抜き・色枠＋色文字。ホバーで塗り反転） */
.btn-past {
  /* 径を基準に枠・影・文字を相対算出（サイズを変えても比率維持） */
  --btn-size: clamp(62px, 11vw, 88px);   /* デザイン実測 ⌀88 */
  --btn-bd: calc(var(--btn-size) * 0.04); /* 枠：径の約4% */
  --btn-sh: calc(var(--btn-size) * 0.025); /* 影：径の約2.5% */
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;       /* 枠込みで⌀88 */
  width: var(--btn-size);
  height: var(--btn-size);
  border-radius: 50%;
  background: #fff;
  border: var(--btn-bd) solid #67caff;
  color: #67caff;
  font-size: calc(var(--btn-size) * 0.25); /* 文字：径の約25% */
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease;
}
.btn-past--schedule {
  border-color: #67caff;
  color: #67caff;
  box-shadow: var(--btn-sh) var(--btn-sh) 0 0 #67caff;
}
.btn-past--schedule:hover {
  background: #67caff;
  color: #fff;
  border-color: #fff;
}
.btn-past--result {
  border-color: #b9a4e6;
  color: #b9a4e6;
  box-shadow: var(--btn-sh) var(--btn-sh) 0 0 #b9a4e6;
}
.btn-past--result:hover {
  background: #b9a4e6;
  color: #fff;
  border-color: #fff;
}
.btn-past.is-disabled {
  pointer-events: none;
}
.btn-past:active {
  transform: translate(2px, 2px);
  box-shadow: calc(var(--btn-sh) * 0.5) calc(var(--btn-sh) * 0.5) 0 0 currentColor;
}

/* フィルター */
.filter {
  margin: 0 auto 18px;          /* デザイン実測：フィルター下端〜日付帯28 */
}
.filter form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
/* 横幅はデザイン実測の比率（セレクト150 / 入力248 / 検索77 ÷ 804） */
.filter select,
.filter input[type=text] {
  box-sizing: border-box;
  height: 45px;   /* 実効値は #pachi-navi .filter form 側（上部）で指定 */
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  padding: 0 12px;
  font-size: 14px;
}
.filter .btn-submit {
  box-sizing: border-box;
  height: 45px;
  padding: 0 22px;
  background: #231815;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.filter .btn-submit:hover {
  opacity: 0.85;
}
@media (max-width: 768px) {
  .filter form {
    gap: 6px;
  }
  .filter select,
  .filter input[type=text] {
    height: 36px;
    font-size: 13px;
    flex: 1 1 42%;
  }
  .filter .btn-submit {
    flex: 1 1 100%;
  }
}

/* もっとみる ピルボタン（ホバーで白⇔黒反転） */
.more-wrap {
  text-align: center;
  margin: 86px 0 26px;          /* デザイン実測：リスト下端〜ボタン上端86 */
}

.btn-more {
  position: relative;       /* 矢印を絶対配置で右端へ */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: auto;              /* pachislo版 width:35% を打ち消し */
  margin: 0;
  background: #fff;
  color: #231815;
  border: 2px solid #231815;
  border-radius: 9999px;
  box-sizing: border-box;
  min-width: 27%;               /* デザイン実測 216/804 */
  height: 60px;                 /* デザイン実測 */
  padding: 0 3.6em 0 2.6em;     /* 右を広め＝テキスト中央やや左＋矢印スペース */
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  overflow: visible;
  box-shadow: 4px 4px 0 0 #231815;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.1s ease, box-shadow 0.1s ease;
}
/* pachislo版の装飾疑似要素を無効化 */
.btn-more::before,
.btn-more::after,
.btn-more:hover::before,
.btn-more:hover::after { content: none !important; display: none !important; }

.btn-more__arrow {
  position: absolute;
  right: 1.2em;            /* 右端近くに固定 */
  top: 50%;
  transform: translateY(-50%);
  width: 0.55em;
  height: 0.9em;
  background-color: currentColor;   /* 文字色に追従（hoverで白に反転） */
  -webkit-mask: url("../img/button_arrow.svg") no-repeat center/contain;
  mask: url("../img/button_arrow.svg") no-repeat center/contain;
}
.btn-more:hover {
  background: #231815;
  color: #fff;
  border-color: #fff;                 /* ホバー時ボーダー白 */
  box-shadow: 4px 4px 0 0 #231815;    /* シャドウはそのまま */
}
.btn-more:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 0 #231815;
}

/* めんば～
   ▼ 余白はデザイン(2607_mushoku-HP_00.pdf p1)の実測値ベース
      もっとみる→タイトル 253 / タイトル→ロゴ 61 / ロゴ→説明文 54
      説明文→YouTube 56 / YouTube→1枚目バッジ 115 / バッジ→カード 7 / カード間 17 */
#pachi-navi #member { margin-top: clamp(90px, 20vw, 250px); }   /* 結果セクションとの間隔 */
#pachi-navi #member .sec_title { margin-bottom: clamp(34px, 7vw, 60px); }
#member .member-intro {
  text-align: center;
  margin: 0 0 clamp(50px, 12vw, 115px);
}
#member .member-intro__logo {
  display: block;
  margin: 0 auto;
  max-width: min(80%, 284px);
  height: auto;
}
#member .member-intro__text {
  max-width: 500px;
  margin: clamp(20px, 4vw, 37px) auto 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 3.125;   /* 16px × 3.125 = 50px（デザインの行送り） */
  text-align: center;
}

.btn-youtube {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(22px, 4.5vw, 39px);
  padding: 14px clamp(24px, 6vw, 48px);   /* デザイン実測 214×57（ロゴ114×25） */
  background: #fff;
  border: 2px solid #231815;
  border-radius: 9999px;
  box-shadow: 4px 4px 0 0 #231815;
  transition: transform 0.1s, box-shadow 0.1s, background-color 0.2s;
}
.btn-youtube svg {
  height: 25px;
  width: auto;
  display: block;
}
.btn-youtube:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 0 #231815;
}
.btn-youtube:hover {
  background: #231815;      /* ホバー時 本体黒 */
  border-color: #fff;       /* ボーダー白 */
}
.btn-youtube:hover .cls-1 { fill: #fff; }   /* 「YouTube」文字を白に（赤アイコンは維持） */

.member-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 17px;             /* カード下端→次の名前バッジ上端（デザイン実測） */
}
/* メンバー名バッジ（スケジュール日付バッジと同形・背景#dcdddd） */
.member-namebadge {
  background: #dcdddd;
  color: #231815;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  padding: 0.7em 1em;
  border: 2px solid #000;
  border-radius: 12px;
  letter-spacing: 0.05em;
  margin-bottom: 7px;
}

.member-card {
  display: flex;
  gap: clamp(16px, 4.5vw, 39px);   /* 写真と本文の間隔（可変・デザイン実測39px） */
  background: #fff;
  border: 2px solid #231815;
  border-radius: 14px;
  padding: 16px clamp(28px, 8vw, 65px) 16px 20px;   /* 右側を広め（可変） */
}
.member-card__photo {
  flex: 0 0 clamp(120px, 30vw, 210px);   /* 可変：SPは幅に追従／PC上限210px */
  align-self: flex-start;                /* flexのstretchで縦に伸びるのを防ぐ（=aspect-ratioを効かせる） */
  aspect-ratio: 211/342;                 /* デザイン実測 PC 211×342 / SP 173×281（比 0.616） */
  border: 2px solid #000;
  border-radius: 12px;
  overflow: hidden;
}
.member-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;          /* エリアにcoverでマスク */
}
.member-card__body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 20px 0;   /* 右カラムの上下余白 */
}
.member-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px dotted #ff00c5;   /* ロゴ・SNS下のピンク点線 */
}
.member-card__namelogo {
  height: 44px;
  width: auto;
}
@media (max-width: 768px) {
  .member-card__namelogo {
    height: 32px;
  }
}
.member-card__name {
  font-weight: 700;
  font-size: 18px;
}
.member-card__sns {
  display: inline-flex;
  align-items: center;
  gap: 6px;   /* Instaのviewbox余白(左右7.9px)込みでデザイン実測13.5px相当 */
}
.member-card__sns a {
  display: inline-flex;
  transition: opacity 0.2s;
}
.member-card__sns a:hover {
  opacity: 0.7;
}
.member-card__sns img { display: block; }
/* SVGのviewBoxが違うため「見た目のマーク寸法」で合わせる（デザイン実測 X=25.5 / Insta=28.3）
   logo_x.svg  … viewBox いっぱいにマーク＝指定サイズがそのまま見た目サイズ
   logo_insta.png … 画像44.3相当に対しマークは28.4（64.1%）＝44pxでマーク28.2px
                     ※元のSVGは2497pxのPNGを内包して10MBあったため176pxの透過PNGに置換 */
.member-card__sns .sns-x { width: 26px; height: 26px; }
.member-card__sns .sns-insta { width: 44px; height: 44px; }
.member-card__desc {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 2.5em;   /* デザイン実測は3.125em(50px)だが、実テキストが5～6行あり縦長になるため詰めている */
  /* 各行の下に罫線（#231815）。ピッチは line-height と同値 */
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(2.5em - 1px),
    #231815 calc(2.5em - 1px),
    #231815 2.5em
  );
}

/* --- めんば～ SP（デザインp5・750px幅を「カード幅に対する比率」で移植） ---
   写真=カード幅の26.1% / 写真～本文 4.8% / 右余白 8.0% / 上下余白 1.8～2.0%
   ※文字サイズだけは比率どおりだと小さすぎるため実用値 */
@media (max-width: 768px) {
  .member-list { gap: 10px; }
  .member-namebadge {
    font-size: 15px;
    line-height: 1.3;
    padding: 0.4em 1em;      /* 縦を圧縮（0.7em→0.4em） */
    border-radius: 10px;
    margin-bottom: 3px;
  }
  .member-card {
    gap: 5.4%;          /* 写真～本文 32/593（カード内側幅比） */
    padding: 2% 4.5% 2% 2.4%;   /* 右余白を圧縮（8%→4.5%）。%は親幅基準 */
    border-radius: 10px;
  }
  .member-card__photo {
    flex: 0 0 29%;      /* デザイン実測 173/593（カード内側幅比） */
    border-radius: 8px;
  }
  .member-card__body { padding: 6px 0; }
  .member-card__head {
    margin-bottom: 6px;
    padding-bottom: 6px;
  }
  .member-card__sns .sns-x { width: 20px; height: 20px; }
  .member-card__sns .sns-insta { width: 34px; height: 34px; }
  .member-card__sns { gap: 4px; }
  .member-card__desc {
    font-size: min(2.2vw, 10px);   /* 375幅で8.25px */
    line-height: 2.1em;            /* 行罫線のピッチも同値にする */
    background-image: repeating-linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(2.1em - 1px),
      #231815 calc(2.1em - 1px),
      #231815 2.1em
    );
  }
}

/* =========================================================
   P5: 全体背景 / ヘッダー / グローバルナビ（ピル）
   ========================================================= */
/* 全体背景：明るい＋うっすらグリッド */
body#detail {
  background: #fff; /* コンテンツエリア＝白一色 */
  color: #231815;
  font-family: "M PLUS Rounded 1c", "Noto Sans JP", sans-serif; /* 基本＝丸ゴシック（デザインのRounded M+ 1c相当） */
}

#detail .l-contents {
  background: transparent;
}

/* PC コンテンツエリアの最大幅 */
#pachi-navi.sec {
  max-width: 800px;
  position: relative;
}

/* ヘッダー（白バー＋中央ロゴ＋SPハンバーガー） */
.site-header {
  background: #fff;
  border: 2px solid #000; /* 4辺ボーダー */
}

.site-header__inner {
  position: relative;
  max-width: 100%;              /* ロゴは画面中央・ハンバーガーは画面右端基準 */
  margin: 0 auto;
  padding: 38px 20px;           /* デザイン実測：帯181 −ロゴ101 −枠4 の半分 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-logo {
  margin: 0;
}
.site-logo {
  text-align: center;
}
.site-logo a {
  display: block;
  width: fit-content;
  margin: 0 auto;               /* h1が全幅になっても画像は中央 */
  line-height: 0;               /* インライン由来の余白を除去（帯高181に合わせる） */
}
.site-logo img {
  display: block;
  height: 101px;                /* デザイン実測 336×101（logo.pngは2x書き出し） */
  width: auto;
}
@media (max-width: 768px) {
  .site-logo img {
    height: 42px;
  }
}

/* SPハンバーガーを右端に固定 */
.site-header #menu {
  position: absolute;
  top: 50%;
  right: clamp(12px, 3.2%, 61px);   /* +ヘッダー枠2px = 画面右端から63px（デザイン実測） */
  transform: translateY(-50%);
}

/* グローバルナビ（3ピル） */
.gnav {
  margin: 57px 0 70px;          /* デザイン実測：格子帯下端〜ピル上端57 */
}
.gnav__inner {
  max-width: 800px; /* コンテンツ幅いっぱい */
  display: flex;
  justify-content: space-between; /* 左右いっぱいで均等配置 */
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}
.gnav__pill {
  box-sizing: border-box;
  flex: 0 0 25.6%;              /* デザイン実測 206/804 */
  min-height: 60px;             /* デザイン実測 */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.4em 0.6em;
  background: #fff;
  border: 2px solid currentColor;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 20px;              /* デザイン実測（PDFのテキスト情報より） */
  box-shadow: 3px 3px 0 0 currentColor;
  transition: transform 0.1s, box-shadow 0.1s, background-color 0.2s, color 0.2s;
}
@media (max-width: 768px) {
  .gnav__pill {
    padding: 0.7em 0.4em;
    font-size: 13px;
  }
}
.gnav__pill span, .gnav__pill {
  line-height: 1.2;
}
.gnav__pill--schedule {
  color: #64c6ef;
}
.gnav__pill--result {
  color: #b9a4e6;
}
.gnav__pill--member {
  color: #f4a63d;
}
.gnav__pill:hover {
  color: #fff;
  border-color: #fff;   /* ホバー時ボーダー白 */
}
.gnav__pill:hover.gnav__pill--schedule {
  background: #64c6ef;
  box-shadow: 3px 3px 0 0 #64c6ef;
}
.gnav__pill:hover.gnav__pill--result {
  background: #b9a4e6;
  box-shadow: 3px 3px 0 0 #b9a4e6;
}
.gnav__pill:hover.gnav__pill--member {
  background: #f4a63d;
  box-shadow: 3px 3px 0 0 #f4a63d;
}
.gnav__pill:active {
  transform: translate(3px, 3px);
  box-shadow: 0 0 0 0 currentColor;
}

/* FVスライダー余白 */
.slider-area {
  margin-top: 18px;
}

/* キャラ挿絵は擬似要素方式に移行（下部「キャラ挿絵」ブロック参照）。旧 .page-deco は廃止 */
#detail .l-contents { position: relative; }
#detail .l-contents-inner { position: relative; z-index: 1; }

/* =========================================================
   TOP仕上げ：ハンバーガー / FV格子背景
   ========================================================= */
/* ハンバーガー（PC/SP共通・右上・#000 2px枠のボタン） */
.site-header #menu {
  z-index: 30;
}

.site-header #menu .menu-checkbox {
  display: none;
}

.site-header #menu .drawer-icon {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;                  /* +枠3px×2 = デザイン実測80 */
  height: 74px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 8px;
  cursor: pointer;
}
@media (max-width: 768px) {
  .site-header #menu .drawer-icon {
    width: 42px;
    height: 42px;
    border-radius: 8px;
  }
}

.site-header #menu .drawer-icon-btn {
  position: relative;
  display: block;
  width: 56px;                  /* デザイン実測 56×9・ピッチ20 */
  height: 9px;
  background: #000;
  border-radius: 2px;
}
.site-header #menu .drawer-icon-btn::before, .site-header #menu .drawer-icon-btn::after {
  content: "";
  position: absolute;
  left: 0;
  width: 56px;
  height: 9px;
  background: #000;
  border-radius: 2px;
}
.site-header #menu .drawer-icon-btn::before {
  top: -20px;
}
.site-header #menu .drawer-icon-btn::after {
  top: 20px;
}
@media (max-width: 768px) {
  .site-header #menu .drawer-icon-btn {
    width: 22px;
  }
  .site-header #menu .drawer-icon-btn::before, .site-header #menu .drawer-icon-btn::after {
    width: 22px;
  }
}

/* 展開時＝X（global.css が白＋bottom指定で崩していたので上書き）
   3本とも同位置に重ねて±45度。中央線は透明に */
.site-header #menu .drawer-icon-btn,
.site-header #menu .drawer-icon-btn::before,
.site-header #menu .drawer-icon-btn::after {
  transition: transform 0.25s, background-color 0.2s, top 0.25s;
}
/* 展開時はボタンの枠線を消す（サイズが変わらないよう transparent で） */
.site-header #menu .menu-checkbox:checked ~ .drawer-icon {
  border-color: transparent;
}
.site-header #menu .menu-checkbox:checked ~ .drawer-icon .drawer-icon-btn {
  background: transparent;
}
.site-header #menu .menu-checkbox:checked ~ .drawer-icon .drawer-icon-btn::before {
  top: 0;
  bottom: auto;
  background: #000;
  transform: rotate(-45deg);
}
.site-header #menu .menu-checkbox:checked ~ .drawer-icon .drawer-icon-btn::after {
  top: 0;
  bottom: auto;
  background: #000;
  transform: rotate(45deg);
}

/* ドロワーメニュー（ハンバーガー展開・初期は非表示）
   デザイン実測：2607_mushoku-HP_humberger-menu.ai（アートボード750×451＝CSS 375×225.5）
   TOP＝黒文字 / 帯3本＝高さ48・間隔7・左右余白7.5・白文字20px（M PLUS Rounded 1c Bold）
   帯色 すけじゅ～る #67caff ／ けっか #d2adfd ／ めんば～ #ffb27a */
.site-header #menu .drawer-menu {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  width: min(375px, calc(100vw - 4px)) !important;
  height: auto !important;
  background: #fff;
  border: none;
  border-radius: 0;
  box-sizing: border-box;          /* テーマ既定が content-box のため明示 */
  padding: 16px 7.5px 7.5px;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-6px) !important;
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  z-index: 40;
}

.site-header #menu .menu-checkbox:checked ~ .drawer-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.site-header #menu .drawer-menu-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header #menu .drawer-menu-item {
  margin: 0 0 7px;
}
.site-header #menu .drawer-menu-item:last-child {
  margin-bottom: 0;
}

.site-header #menu .drawer-menu-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  /* global.css の帯スタイル（金枠#b18f50・紫地・余白・字間）を打ち消す */
  border: none;
  margin: 0;
  padding: 0;
  letter-spacing: normal;
  height: 48px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.2s;
}
.site-header #menu .drawer-menu-item-link:hover {
  opacity: 0.75;
}

/* TOP＝帯なし・黒文字 */
.site-header #menu .drawer-menu-item--top {
  margin-bottom: 16px;
}
.site-header #menu .drawer-menu-item--top .drawer-menu-item-link {
  height: 28px;
  color: #000;
  background: none;
}

.site-header #menu .drawer-menu-item--schedule .drawer-menu-item-link { background: #67caff; }
.site-header #menu .drawer-menu-item--result   .drawer-menu-item-link { background: #d2adfd; }
.site-header #menu .drawer-menu-item--member   .drawer-menu-item-link { background: #ffb27a; }

@media (max-width: 420px) {
  .site-header #menu .drawer-menu-item-link { font-size: 5.3vw; }
}

/* FV：格子背景バンド（#f6bfd7 / #b8e2f9） */
.fv-area {
  position: relative;
  padding: 57px 0 54px;         /* 帯上端(=ヘッダー下線)〜スライダー57px（デザイン実測 y181→238） */
  background-color: #fff; /* 塗りなし＝白地 */
  /* セルは正方形＋画面幅比（PC 53px=2.76vw / SP 9.4px=2.5vw ＝デザインも幅比で拡縮）。
     線の太さも同比率（PC4px / SP1px）。
     縦=ピンクはセル左端／横=青はセル下端＝上端に青線を出さない（ヘッダーの黒線で閉じる） */
  --grid: 2.76vw;
  --grid-line: clamp(1px, 0.21vw, 4px);
  background-image: linear-gradient(90deg, #f6bfd7 var(--grid-line), transparent var(--grid-line)), linear-gradient(to top, #b8e2f9 var(--grid-line), transparent var(--grid-line));
  background-size: var(--grid) var(--grid);
  background-position: 0 calc(var(--grid-line) * -1);
  border-bottom: var(--grid-line) solid #b8e2f9; /* 最下部は青の横線で終わる */
}
.fv-area__inner {
  position: relative;
  z-index: 1;
  max-width: 800px;   /* 下部コンテンツと横幅を合わせる */
  margin: 0 auto;
}

/* SCROLL インジケータ（スケジュールタイトル右・コンテンツ右外） */
.scroll-indicator {
  position: absolute;                 /* スケジュールタイトル基準 */
  top: 6px;
  right: calc(416px - 50vw);          /* デバイス右端から約16px内側（#pachi-navi=800px中央基準） */
  width: 24px;
  z-index: 5;
}
.scroll-indicator img { display: block; width: 100%; height: auto; }
@media (max-width: 1000px) { .scroll-indicator { display: none; } }

.fv-area .slider-area {
  margin-top: 0;
}

.fv-scroll {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  letter-spacing: 0.18em;
  font-weight: 700;
  font-size: 13px;
  color: #3fbfa2;
  z-index: 2;
}
@media (max-width: 768px) {
  .fv-scroll {
    font-size: 11px;
    right: 6px;
  }
}

/* =========================================================
   P5b: フッター（#footer.site-footer で pachislo 既存に優先）
   ========================================================= */
/* デザイン実測（PC=1920px幅キャンバス・等倍／SP=750px幅キャンバス＝375pxの@2x）
   PC: 帯高255 / コンテナ1137 / ロゴ259×78 / アカウント枠249×33（アイコン面66）
       ナビ幅191・文字19・下線ピッチ49 / PR上32 / 著作権バー38
   SP: 帯高200 / ロゴ169 / アカウント枠173×23（縦積み） / ナビ幅142・下線ピッチ37 */
#footer.site-footer {
  background: #efeff0; /* フッター背景＝デザイン実測 RGB(239,239,240)（上部ボーダーなし） */
  margin-top: clamp(80px, 12.6vw, 241px);   /* 下層と共通。デザイン実測は434だが空きすぎるため詰めている */
  padding: 0;
}
#footer.site-footer .site-footer__inner {
  max-width: 1137px;
  margin: 0 auto;
  padding: 27px 20px 0;
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
#footer.site-footer .site-footer__main {
  flex: 1 1 auto;
  min-width: 0;
}
#footer.site-footer .site-footer__brand img {
  display: block;
  width: 259px;
  max-width: 100%;
  height: auto;
}
#footer.site-footer .site-footer__accounts {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 22px;
}
#footer.site-footer .footer-account__label {
  font-family: "Noto Sans JP", sans-serif;   /* 丸ゴシックではなく通常ゴシック */
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 8px;
}
/* アカウント枠：左＝黒ベタのアイコン面／右＝白地にID */
#footer.site-footer .footer-sns {
  display: flex;
  box-sizing: border-box;
  align-items: stretch;
  width: 249px;
  max-width: 100%;
  height: 33px;
  background: #fff;
  border: 2px solid #231815;
  color: #231815;
  overflow: hidden;
}
#footer.site-footer .footer-sns__icon {
  flex: 0 0 26.5%;      /* 66/249 */
  background: #231815;
  display: flex;
  align-items: center;
  justify-content: center;
}
#footer.site-footer .footer-sns__icon img,
#footer.site-footer .footer-sns__icon svg {
  display: block;
  width: auto;
}
#footer.site-footer .footer-sns--x .footer-sns__icon img { height: 17px; }
#footer.site-footer .footer-sns--youtube .footer-sns__icon svg { height: 12px; }
#footer.site-footer .footer-sns--youtube .footer-sns__icon .cls-1 { fill: #fff; }  /* 「YouTube」文字を白に */
#footer.site-footer .footer-sns__handle {
  display: flex;
  align-items: center;
  padding: 0 10px;
  font-family: "Noto Sans JP", sans-serif;   /* 丸ゴシックではなく通常ゴシック */
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#footer.site-footer .footer-sns:hover {
  opacity: 0.75;
}
#footer.site-footer .site-footer__nav {
  flex: 0 0 191px;
  margin-left: auto;
}
#footer.site-footer .site-footer__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer.site-footer .site-footer__nav li {
  margin-bottom: 14px;   /* デザイン実測は25px（ピッチ49）だが詰めている */
}
#footer.site-footer .site-footer__nav li:last-child {
  margin-bottom: 0;
}
#footer.site-footer .site-footer__nav a {
  display: block;
  color: #231815;
  font-weight: 700;
  font-size: 19px;
  padding-bottom: 7px;
  border-bottom: 1px solid #231815;
}
#footer.site-footer .site-footer__nav a:hover {
  opacity: 0.7;
}
#footer.site-footer .site-footer__pr {
  max-width: 1137px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 32px 20px 22px;
}
#footer.site-footer .pr-badge {
  flex: 0 0 auto;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #000;
  color: #000;
  border-radius: 3px;
  padding: 0 0.5em;
  font-family: "Noto Sans JP", sans-serif;   /* 丸ゴシックではなく通常ゴシック */
  font-size: 12px;
  line-height: 17px;
}
#footer.site-footer .pr-txt br { display: none; }   /* PCは1行（デザイン実測） */
#footer.site-footer .pr-txt {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;   /* 丸ゴシックではなく通常ゴシック */
  font-size: 13px;
  color: #000;
  line-height: 1.5;
}
#footer.site-footer::before { content: none; }   /* pachislo既存の6px帯を無効化 */
#footer.site-footer .footer-copyright {
  margin: 0;
  padding: 0;      /* global.cssの 1.2em 指定を打ち消す */
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  font-size: 13px;
}

/* --- フッター SP（デザインp5） --- */
@media (max-width: 768px) {
  #member .member-intro__logo { max-width: min(35.47vw, 187px); }   /* 実測266/750 */
  .btn-youtube {
    box-sizing: border-box;
    min-width: min(50.7vw, 267px);   /* 375幅で190px（PCの縦横比3.75に合わせる） */
    height: min(12.8vw, 67px);       /* 375幅で48px */
    padding: 0;
  }
  .btn-youtube svg { height: min(5.3vw, 28px); }

  #member .member-intro__text {
    font-size: min(4vw, 20px);    /* 実測30/750＝375幅で15px */
    line-height: 1.33;            /* 実測：行送り40/750＝20px（PCの3.125は使わない） */
    max-width: 100%;
  }

  #footer.site-footer .site-footer__inner {
    padding: min(4.27vw, 22px) min(4.4vw, 23px) 0 min(5.2vw, 27px);
    gap: min(6.13vw, 32px);       /* 実測：左カラム173.5 / 間23 / ナビ142.5 */
  }
  #footer.site-footer .site-footer__brand img { width: 169px; }
  #footer.site-footer .site-footer__accounts {
    flex-direction: column;
    gap: 5px;
    margin-top: 9px;
  }
  #footer.site-footer .footer-account__label {
    font-size: min(2.39vw, 12px);   /* 実測17.9/750＝9px */
    line-height: 1;
    margin: 0 0 min(1.87vw, 10px);  /* ラベル下端→枠 実測7 */
  }
  #footer.site-footer .footer-sns {
    width: min(46.13vw, 243px);     /* 実測346/750＝173px */
    height: min(6vw, 32px);         /* 実測45/750＝22.5px */
    border-width: 1px;
  }
  #footer.site-footer .footer-sns--x .footer-sns__icon img { height: 12px; }
  #footer.site-footer .footer-sns--youtube .footer-sns__icon svg { height: 8px; }
  #footer.site-footer .footer-sns__handle {
    padding: 0 6px;
    font-size: 11px;
  }
  #footer.site-footer .site-footer__nav {
    flex: 0 0 min(37.87vw, 199px);  /* 実測284/750＝142px */
    padding-top: min(4vw, 21px);    /* 実測：ロゴ上端から15px下げ */
  }
  #footer.site-footer .site-footer__nav li { margin-bottom: 10px; }
  #footer.site-footer .site-footer__nav a {
    font-size: 14px;
    padding-bottom: 5px;
  }
  #footer.site-footer .site-footer__pr {
    padding: 15px 4vw 7px;
    gap: min(2.8vw, 15px);   /* バッジ→テキスト 実測10.5 */
  }
  #footer.site-footer .pr-badge {
    font-size: min(2.13vw, 11px);      /* 実測 */
    line-height: min(3.07vw, 16px);    /* +枠2px＝バッジ高さ13.5 */
    padding: 0 1em;                    /* バッジ幅28.5 */
  }
  #footer.site-footer .pr-txt { font-size: min(2.12vw, 11px); }   /* 実測15.9/750＝8px */
  #footer.site-footer .pr-txt br { display: inline; }   /* SPは「※公約〜」の前で改行 */
  #footer.site-footer .footer-copyright {
    height: 26px;
    padding: 0;
    font-size: 11px;
  }
}

/* =========================================================
   P4: 取材けっか詳細（single-result）
   ========================================================= */
.result-detail {
  max-width: 760px;
  margin: 0 auto;
}
.result-detail__head {
  background: #6b6b6b;
  color: #fff;
  font-weight: 700;
  padding: 0.7em 1em;
  border-radius: 6px;
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2em 1.2em;
}
@media (max-width: 768px) {
  .result-detail__head {
    font-size: 14px;
  }
}
.result-detail__body {
  background: #fff;
  border: 2px solid #231815;
  border-radius: 12px;
  padding: 16px;
  text-align: center;
}
.result-detail__body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.result-detail__noimg {
  margin: 0;
  color: #999;
  padding: 80px 0;
}

/* =========================================================
   ページネーション（一覧の数字丸）
   ========================================================= */
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0;
}
.pager .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 6px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #231815;
  color: #231815;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.pager .page-numbers.current {
  background: #231815;
  color: #fff;
}
.pager .page-numbers.dots {
  border: none;
  background: transparent;
}
.pager a.page-numbers:hover {
  background: #231815;
  color: #fff;
}

/* =========================================================
   キャラ挿絵（デザイン実測ベース／アセットは2x書き出しのため50%表示）
   起点：FVバンド ・ 各セクションタイトル ・ カードリスト（高さの%）
   ＝セクション高さがコンテンツ量で変わっても、件数が少なくても必ず全員出る
   ========================================================= */
:root { --deco: 1; }   /* キャラの表示倍率（画面幅で縮小） */



/* 起点となる要素 */
.fv-area,
#pachi-navi #schedule .sec_title,
#pachi-navi #result .sec_title,
#pachi-navi #member .sec_title,
.card-list {
  position: relative;
}

/* A：座り（左）＝FVバンドの左脇。デザイン ink 211×251 / x248 y456 */
/* A：座り（左）＝FVバンドの左脇。ここだけ擬似要素のまま（ロード時フェード） */
.fv-area::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: calc(321px * var(--deco));
  height: calc(321px * var(--deco));
  right: calc(50% + 441.5px);
  bottom: calc(-37px * var(--deco));
  background-image: url(../img/chara01.png);
}

/* 画面幅に応じて縮小／非表示（コンテンツ800px＋左右余白） */
@media (max-width: 1600px) { :root { --deco: 0.8; } }
@media (max-width: 1360px) { :root { --deco: 0.62; } }
@media (max-width: 1180px) {
  
}

/* キャラのはみ出しで横スクロールが出ないように */
body#detail { overflow-x: clip; }

/* 取材すけじゅ～る→取材けっか の間隔（デザイン実測380px。この余白にキャラGが入る） */
#pachi-navi #result { margin-top: clamp(90px, 20vw, 380px); }

/* =========================================================
   SP（TOP）：デザインp5（750px＝375pxの@2x）実測値を vw に換算
   換算式  vw = デザイン値(750基準) ÷ 7.5
   ・幅・高さ・文字サイズとも vw ＝ 画面幅比を維持
   ・768pxまで効くため min(◯vw, ◯px) で上限を付けて肥大を防止
   ・めんば～セクションは別ブロック（p5の該当箇所が極小描画のため実用値）
   ========================================================= */
@media (max-width: 768px) {

  /* #menu に transform があると position:fixed の基準が #menu になってしまうため、
     SPでは transform を使わず flex で縦中央に置く */
  .site-header #menu {
    top: 0;
    bottom: 0;
    transform: none;
    display: flex;
    align-items: center;
  }

  /* ドロワー：SPは全画面オーバーレイ */
  .site-header #menu .drawer-menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;   /* 縦中央 */
    overflow-y: auto;
    z-index: 40;
  }
  .site-header #menu .drawer-menu-list { width: 100%; }
  .site-header #menu .drawer-icon { position: relative; z-index: 50; }  /* 閉じるボタンをオーバーレイより前面に */

  /* ヘッダー：帯130 / ロゴ284×85 / ハンバーガー90 / 右23 */
  .site-header__inner { padding: min(2.73vw, 20px) min(3vw, 22px); }
  .site-logo img { height: min(11.33vw, 60px); }
  .site-header #menu { right: min(3.07vw, 16px); }
  .site-header #menu .drawer-icon {
    width: min(12vw, 63px);
    height: min(12vw, 63px);
    border-width: min(0.4vw, 2px);
    border-radius: min(1.6vw, 8px);
  }
  .site-header #menu .drawer-icon-btn,
  .site-header #menu .drawer-icon-btn::before,
  .site-header #menu .drawer-icon-btn::after {
    width: min(7.5vw, 39px);
    height: min(1.2vw, 6px);
  }
  /* 負の値に min() を使うと -14px 側が選ばれて上下非対称になるため calc で反転させる */
  .site-header #menu .drawer-icon-btn::before { top: calc(-1 * min(2.7vw, 14px)); }
  .site-header #menu .drawer-icon-btn::after  { top: min(2.7vw, 14px); }

  /* FV：格子ピッチ18.8 / 上33 / 下37 / スライダー幅690 */
  .fv-area {
    --grid: 2.5vw;
    padding: min(4.4vw, 23px) 0 min(4.93vw, 26px);
  }
  .fv-area__inner { width: 92%; max-width: 92%; }
  .fv-area .slider-area {
    width: 100%;                    /* .sec の95%を打ち消し（帯内は92%で確定） */
    margin: 0 auto;                 /* 画像下端→帯下端28.5（実測）に合わせる */
    padding-bottom: min(2.13vw, 11px);   /* スライダーのドット領域 */
  }

  /* ナビピル：705×98・縦積み・間隔16.5・文字35 */
  .gnav { margin: min(5.07vw, 27px) 0 min(6.93vw, 36px); }
  .gnav__inner { width: 94%; gap: min(2.2vw, 12px); }
  .gnav__pill {
    flex: 0 0 100%;
    min-height: min(13.07vw, 69px);
    font-size: min(4.67vw, 25px);
    padding: 0 0.6em;
  }

  /* セクションタイトル：画像高さ84 / 下37 */
  #pachi-navi .sec_title { margin: 0 0 min(4.93vw, 26px); }   /* 18.5px @375 */
  #pachi-navi .sec_title img { height: min(11.2vw, 59px); }

  /* フィルター：セレクト222×70 / 入力550 / 検索115 / 段間28 / 下48 */
  #pachi-navi .filter {
    width: 95.2%;                 /* 実測 678/750＝画面の90.4% */
    margin: 0 auto min(6.4vw, 34px);
  }
  #pachi-navi .filter form {
    flex-wrap: wrap;
    gap: min(3.73vw, 20px) 0;   /* 横はspace-betweenに任せる（gapを足すと3つ目が折り返す） */
  }
  #pachi-navi .filter form select {
    flex: 0 0 32.7%;              /* 実測 222/678。隙間はspace-betweenで約4px */
    height: min(9.33vw, 49px);
    font-size: min(2.83vw, 15px);
    padding: 0 min(4.5vw, 24px) 0 min(1.6vw, 9px);
  }
  #pachi-navi .filter form input.result_filter,
  #pachi-navi .filter form input.schedule_filter {
    flex: 0 1 81%;                /* 実測 550/678。growさせず検索との間6pxを残す */
    height: min(9.33vw, 49px);
    font-size: min(2.83vw, 15px);
  }
  #pachi-navi .filter form input.btn-submit {
    flex: 0 0 17%;                /* 実測 115/678 */
    height: min(9.33vw, 49px);
    font-size: min(5.07vw, 27px);
  }

  /* カード：日付帯65 / カード156(結果218) / 間隔15(結果8) / ロゴ枠137 / 過去結果118 */
  /* 日付帯→カード4 / カード間7.5 / カード→日付帯12.5（実測） */
  .card-list { gap: min(1.07vw, 6px); }
  .card-list--result { gap: min(1.07vw, 6px); }
  .card--schedule + .card--schedule { margin-top: min(0.93vw, 5px); }
  .card + .card-date { margin-top: min(1.6vw, 9px); }   /* +リストgap4 = 実測12.5 */
  .card-date {
    font-size: min(4vw, 21px);
    line-height: 1.4;
    padding: min(1vw, 5px) 1em;
    margin: 0;
    border-radius: min(2.4vw, 13px);
  }
  .card {
    gap: min(2vw, 11px);
    padding: min(0.53vw, 3px);
    border-radius: min(2.4vw, 13px);
  }
  /* ロゴ枠：基本はデザインの縦横比、コンテンツが伸びたら追従（枠のみ／中の画像は比率維持） */
  .card__logo {
    align-self: stretch;
    aspect-ratio: auto;
    width: min(18.3vw, 96px);
    min-height: calc(min(18.3vw, 96px) * 132 / 135);   /* すけじゅ～る：デザイン実測 135×132 */
    border-radius: min(2vw, 11px);
    padding: min(1vw, 5px);
  }
  /* SPは店名が2行になる前提のため、本文は絶対配置をやめて通常フローに */
  .card { align-items: center; }
  .card__body {
    align-self: flex-start;      /* 中央寄せだと店名1行のとき下寄りに見えるため上寄せ */
    padding-top: min(2.13vw, 11px);
  }
  .card__meta {
    position: static;
    margin-bottom: min(0.8vw, 4px);
  }
  .card__store {
    position: static;
    transform: none;
    line-height: 1.15;
  }
  .card__meta { line-height: 1.2; }
  /* 結果カード：日付・エリアバッジは横並びで本文の上（デザインp5） */
  .card--result {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "logo badges action" "logo body action";
    grid-template-rows: auto 1fr;  /* ロゴ枠(2行ぶち抜き)の高さが上の行にも配分されるのを防ぐ */
    align-items: center;
    align-content: start;          /* 行の余りを下に逃がす＝バッジ・本文を上寄せ */
    row-gap: 0;                    /* .card の gap が行間にも効いていたので打ち消し */
    column-gap: min(2vw, 11px);
  }
  .card--result .card__logo {
    grid-area: logo;
    align-self: stretch;          /* コンテンツが伸びたら枠も追従 */
    aspect-ratio: auto;
    /* 基本値はデザイン実測の縦長比率（135×187）。これが最低高さになる */
    min-height: calc(min(18.3vw, 96px) * 187 / 135);
  }
  .card--result .card__datearea {
    grid-area: badges;
    flex: 0 0 auto;
    flex-direction: row;
    align-self: start;
    justify-content: flex-start;
    gap: min(0.93vw, 5px);          /* 実測7/750 */
    min-width: 0;
    margin: 0 0 min(1.07vw, 6px);   /* バッジ下端→取材名 実測6.5 */
    container-type: normal;
  }
  .card--result .card__datearea > span {
    flex: 0 0 min(19.2vw, 101px);   /* 実測144/750。日付・エリアとも同じ幅 */
    justify-content: center;
    padding: min(0.8vw, 4px) 0;
    border-radius: min(1.9vw, 10px);
  }
  .card--result .card__body {
    grid-area: body;
    align-self: start;            /* 行内で中央寄せされるのを防いで上寄せ */
    padding-top: min(1.07vw, 6px);   /* 375幅で4px。デザイン実測の位置（meta35）に合わせる */
  }
  .card--result .card__action { grid-area: action; }
  .card__kikaku,
  .card__member { font-size: min(3.33vw, 18px); }
  .card__store { font-size: min(4.67vw, 25px); }
  .card__datearea > span { font-size: min(2.67vw, 14px); }
  .btn-past { --btn-size: min(15.73vw, 83px); }

  /* もっとみる：509×99 / 文字35 / 上46 */
  .more-wrap { margin: min(6.13vw, 32px) 0 0; }
  .btn-more {
    min-width: 67.87vw;
    height: min(13.2vw, 70px);
    font-size: min(4.67vw, 25px);
  }

  /* セクション間：もっとみる→けっか81 / けっか→めんば～209 */
  #pachi-navi #result { margin-top: min(10.8vw, 57px); }
  #pachi-navi #member { margin-top: min(27.87vw, 147px); }
}

/* =========================================================
   下層ページ（デザイン p2 すけじゅ～る一覧 / p3 けっか一覧 / p4 けっか詳細）
   ヘッダー→ナビピル78 / ピル→タイトル108 / タイトル→フィルター67
   タイトルは画像ではなくテキスト（M PLUS Rounded 1c Black 40px・黄#ffff00＋縁取り）
   ========================================================= */
body:not(.home) .gnav { margin: 78px 0 108px; }
body:not(.home) #pachi-navi .sec_title { margin-top: 0; }
/* under.css の #pachi-navi{padding-top:60px} を下層全ページで打ち消す
   （個別クラスの列挙だと single-result 等が漏れるため） */
body:not(.home) #pachi-navi { padding-top: 0; }
/* 詳細ページはタイトル直下がパンくず（実測29px）。一覧はフィルターまで67px */
body.single-result #pachi-navi .sec_title { margin-bottom: 29px; }
/* pachislo流用の余白（#result.archives の margin-top30/padding-bottom100 等）を打ち消し */
body:not(.home) #pachi-navi #result.archives,
body:not(.home) #pachi-navi #schedule.schedule_page {
  margin-top: 0;
  padding-bottom: 0;
}

/* タイトル（CSS再現版。/img に画像が置かれた場合はそちらが使われる） */
.page-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
.page-title__txt,
.page-title__en {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  color: #ffff00;
  -webkit-text-stroke: 10px #67caff;
  paint-order: stroke fill;   /* 縁取りを文字の下に描く */
}
.page-title__txt {
  font-size: 40px;            /* デザイン実測 */
  letter-spacing: 0.02em;
}
.page-title__en {
  font-size: 15px;
  letter-spacing: 0.08em;   /* 実測幅80pxに合わせる */
  color: #67caff;
  -webkit-text-stroke-width: 4px;
  -webkit-text-stroke-color: #ffff00;
}
/* 取材けっか＝紫 / めんば～＝オレンジ（ドロワーの帯色と共通） */
.page-title--result .page-title__txt { -webkit-text-stroke-color: #d2adfd; }
.page-title--result .page-title__en  { color: #d2adfd; }
.page-title--member .page-title__txt { -webkit-text-stroke-color: #ffb27a; }
.page-title--member .page-title__en  { color: #ffb27a; }

/* パンくず（けっか詳細。デザイン実測：文字16px・#6b76ff、現在地は#b7bcff） */
#pachi-navi nav.logo,
#pachi-navi .breadcrumb {
  margin: 0;
}
#pachi-navi .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 16px;
  color: #6b76ff;
  margin: 29px 0 33px;
}
#pachi-navi .breadcrumb li a,
#pachi-navi .breadcrumb li a span { color: #6b76ff; }
#pachi-navi .breadcrumb li:last-of-type a span { color: #b7bcff; }
#pachi-navi .breadcrumb__list:not(:last-of-type)::after {
  content: "＞";
  color: #6b76ff;
  margin: 0 0.5em;
}

/* 取材けっか詳細：ヘッダー帯＋画像ボックス（デザイン実測：帯53px #727172／ボックス幅=コンテンツ幅） */
.result-detail { max-width: none; }
.result-detail__head {
  background: #727172;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  min-height: 53px;
  box-sizing: border-box;
  padding: 0.5em 1em;
  border: 2px solid #000;
  border-radius: 12px;
  margin-bottom: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.2em 1.2em;
}
.result-detail__body {
  background: #fff;
  border: none;              /* 投稿画像に枠は付けない */
  border-radius: 0;
  padding: 0;
}
.result-detail__body img { border-radius: 0; }

/* ページネーション（デザイン実測：⌀56・枠2px・影4px(ぼかしなし)・間隔9・リストから125px下） */
.pager {
  gap: 9px;
  margin: 125px 0 0;
}
.pager .page-numbers {
  box-sizing: border-box;
  min-width: 56px;
  height: 56px;
  font-size: 24px;
  border-width: 2px;
  box-shadow: 4px 4px 0 0 #231815;
  transition: background-color 0.2s, color 0.2s, transform 0.1s, box-shadow 0.1s;
}
.pager a.page-numbers:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 0 #231815;
}

/* --- 下層ページ SP --- */
@media (max-width: 768px) {
  /* SPの下層ページはナビピルを出さない（ヘッダー直下にタイトル） */
  body:not(.home) .gnav { display: none; }
  body:not(.home) #pachi-navi .sec_title { margin-top: min(8vw, 42px); }
  .page-title__txt { font-size: min(6.67vw, 35px); -webkit-text-stroke-width: min(1.6vw, 8px); }
  .page-title__en  { font-size: min(2.5vw, 13px); -webkit-text-stroke-width: min(0.7vw, 4px); }
  #pachi-navi .breadcrumb {
    font-size: min(2.93vw, 15px);
    margin: min(3.5vw, 18px) 0 min(4vw, 21px);
  }
  .result-detail__head {
    font-size: min(3.73vw, 20px);
    min-height: min(9.6vw, 50px);
    border-radius: min(2.4vw, 13px);
  }
  .pager {
    gap: min(2.4vw, 13px);
    margin: min(16.67vw, 88px) 0 0;
  }
  .pager .page-numbers {
    min-width: min(10.67vw, 56px);
    height: min(10.67vw, 56px);
    font-size: min(4.27vw, 22px);
    border-width: 2px;
    box-shadow: min(0.8vw, 4px) min(0.8vw, 4px) 0 0 #231815;
  }
}
.page-title { position: relative; }


.result-detail { position: relative; }


/* =========================================================
   ページトップへ戻るボタン（右下固定）
   画像(arrow.png)をやめて 丸型＋白矢印（button_arrow.svgを-90度回転）
   配色はFV格子と共通（ブルー#b8e2f9／ピンク#f6bfd7）。ホバーで反転
   ========================================================= */
#backToTop.back-to-top {
  background: #f6bfd7;              /* FV格子の縦線ピンク */
  border: 3px solid #b8e2f9;        /* FV格子の横線ブルー */
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
#backToTop.back-to-top .back-to-top__arrow {
  display: block;
  width: 40%;
  aspect-ratio: 14.12/22.59;        /* button_arrow.svg の比率 */
  background-color: #fff;           /* 矢印の色 */
  -webkit-mask: url("../img/button_arrow.svg") no-repeat center/contain;
  mask: url("../img/button_arrow.svg") no-repeat center/contain;
  transform: rotate(-90deg);        /* 右向き→上向き */
}
#backToTop.back-to-top:hover {
  background: #b8e2f9;              /* ホバーでピンク⇔ブルー反転 */
  border-color: #f6bfd7;
}
@media (max-width: 768px) {
  #backToTop.back-to-top {
    width: min(12.8vw, 67px);
    height: min(12.8vw, 67px);
  }
}

/* 取材けっか詳細：通常エディタの内容（結果画像を貼り付ける想定） */
.result-detail__content {
  padding: clamp(12px, 2vw, 20px);
  text-align: left;
  line-height: 1.8;
}
.result-detail__content > *:first-child { margin-top: 0; }
.result-detail__content > *:last-child { margin-bottom: 0; }
.result-detail__content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.result-detail__content p { margin: 0 0 1em; }
.result-detail__content a { color: #6b76ff; text-decoration: underline; }
/* 画像のみ貼られた場合は余白なしで枠いっぱいに */
.result-detail__content:has(> p:only-child > img:only-child) { padding: 0; }

/* =========================================================
   キャラ挿絵のフェードイン
   ・FV左（.fv-area::before）＝ページロード後にフェードイン
   ・タイトル横／詳細ページのキャラ＝親要素(.reveal)に連動して既にフェードイン済み
   ・リスト内のキャラ＝リストが画面に入ったらフェードイン
     （.card-list に .reveal を付けるが、リスト自体は隠さずキャラだけ動かす）
   ========================================================= */
@keyframes km-deco-in {
  from { opacity: 0; filter: blur(8px); }
  to   { opacity: 1; filter: blur(0); }
}
.fv-area::before {
  opacity: 0;
  animation: km-deco-in 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.35s forwards;
}



@media (prefers-reduced-motion: reduce) {
  .fv-area::before { opacity: 1; animation: none; }
  .km-deco { opacity: 1 !important; filter: none !important; }
}

/* ドロワーのオーバーレイは少し透過（背面がうっすら見える） */
.site-header #menu .drawer-menu {
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}



/* =========================================================
   キャラ挿絵（実要素方式）
   擬似要素だと1要素につき2体まで＆JSから個別に監視できず、スクロール連動フェードが
   できないため、空要素（.km-deco）として出力し既存の .reveal で1体ずつフェードさせる。
   ※FV左の1体のみ擬似要素のまま（ロード時フェード）
   サイズはデザイン実測（アセットは2x書き出しのため50%表示）
   ========================================================= */
.km-deco {
  position: absolute;
  transition-delay: 0s !important;   /* data-stagger の連番ディレイを無効化 */
  z-index: 0;
  pointer-events: none;
  list-style: none;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* 起点となる要素 */
#pachi-navi #schedule .sec_title,
#pachi-navi #result .sec_title,
#pachi-navi #member .sec_title,
.card-list,
.result-detail { position: relative; }

/* --- TOP --- */
#schedule .sec_title .km-deco--top-sc-lie {        /* 寝そべり右：すけじゅ～るタイトル脇 */
  width: calc(381px * var(--deco)); height: calc(288px * var(--deco));
  left: calc(100% - 2px); top: -206px;
  background-image: url(../img/chara02.png);
}
.card-list--schedule .km-deco--top-sc-stand-l {    /* 立ち左：リスト32.5% */
  width: calc(274px * var(--deco)); height: calc(355px * var(--deco));
  right: calc(100% + 99px); top: 32.5%;
  background-image: url(../img/chara03.png);
}
.card-list--schedule .km-deco--top-sc-stand-r {    /* 立ち右：リスト53.7% */
  width: calc(293px * var(--deco)); height: calc(380px * var(--deco));
  left: calc(100% + 96px); top: 53.7%;
  background-image: url(../img/chara04.png);
}
#result .sec_title .km-deco--top-re-sit {          /* 座り左：けっかタイトル脇 */
  width: calc(321px * var(--deco)); height: calc(321px * var(--deco));
  right: calc(100% + 41.5px); top: 45px;
  background-image: url(../img/chara06.png);
}
#result .sec_title .km-deco--top-re-lie {          /* 寝そべり右：セクション間 */
  width: calc(381px * var(--deco)); height: calc(288px * var(--deco));
  left: calc(100% - 139.5px); top: -388px;
  background-image: url(../img/chara05.png);
}
.card-list--result .km-deco--top-re-stand-r {      /* 立ち右：けっかリスト70% */
  width: calc(293px * var(--deco)); height: calc(380px * var(--deco));
  left: calc(100% + 96px); top: 70%;
  background-image: url(../img/chara07.png);
}
#member .sec_title .km-deco--top-mb-stand-l {      /* 立ち左：めんば～ */
  width: calc(274px * var(--deco)); height: calc(355px * var(--deco));
  right: calc(100% + 99px); top: 384px;
  background-image: url(../img/chara08.png);
}

/* --- 下層（一覧・詳細） --- */
#pachi-navi .km-deco--un-sit {                     /* 座り左：タイトル脇 */
  width: calc(321px * var(--deco)); height: calc(321px * var(--deco));
  right: calc(100% + 99.5px); top: -2px;
  background-image: url(../img/chara01.png);
}
#pachi-navi .km-deco--un-lie {                     /* 寝そべり右：フィルター〜カード脇 */
  width: calc(381px * var(--deco)); height: calc(288px * var(--deco));
  left: calc(100% + 1.5px); top: 264px;
  background-image: url(../img/chara02.png);
}
.card-list .km-deco--un-stand-l {                  /* 立ち左：リスト50% */
  width: calc(274px * var(--deco)); height: calc(355px * var(--deco));
  right: calc(100% + 99px); top: 50%;
  background-image: url(../img/chara03.png);
}
.card-list .km-deco--un-stand-r {                  /* 立ち右：リスト71% */
  width: calc(293px * var(--deco)); height: calc(380px * var(--deco));
  left: calc(100% + 96px); top: 71%;
  background-image: url(../img/chara04.png);
}
.result-detail .km-deco--dt-stand-l {              /* 立ち左：画像ボックス42% */
  width: calc(274px * var(--deco)); height: calc(355px * var(--deco));
  right: calc(100% + 99px); top: 42%;
  background-image: url(../img/chara03.png);
}
.result-detail .km-deco--dt-stand-r {              /* 立ち右：画像ボックス71.5% */
  width: calc(293px * var(--deco)); height: calc(380px * var(--deco));
  left: calc(100% + 96px); top: 71.5%;
  background-image: url(../img/chara07.png);
}

@media (max-width: 1180px) { .km-deco { display: none; } }

/* ==========================================================================
   結果らんきんぐ（CSVから生成する表）  2026-08-19
   デザイン実測（@2x / 実寸は1/2）
     コンテンツ幅 1452 → 726px
     ラベル帯 高さ65 → 32.5px ／ 値 高さ100 → 50px ／ 行 高さ97 → 48.5px
     列幅比 順位7.85% 台番号8.2% 機種名57.4% 回転数8.0% 差枚17.4%
     紫 #D2ADFD ／ 罫線・文字 #231815 ／ 縞 #F5F5F5
   ========================================================================== */

.rank-block {
  --rank-purple: #d2adfd;
  --rank-line: #231815;
  --rank-zebra: #f5f5f5;
  --rank-gap: 4px;              /* セル間の隙間（実測5/2≒2.5〜4） */
  --rank-grid: 22px;            /* 格子のピッチ（デザイン実測22〜23px） */
  --rank-bd: 5px;               /* 枠線（デザイン実測5px） */

  /* 表全体を枠で囲み、内側にTOPのスライダーと同じ格子背景を敷く
     デザイン実測：枠805px／線5px／角丸10px／内側余白 上54・左右44・下49 */
  box-sizing: border-box;
  max-width: 805px;
  margin: 0 auto 40px;
  padding: 54px 44px 49px;
  border: var(--rank-bd) solid var(--rank-line);
  border-radius: 10px;
  background-color: #fff;
  background-image:
    linear-gradient(90deg, #f6bfd7 1px, transparent 1px),
    linear-gradient(to top, #b8e2f9 1px, transparent 1px);
  background-size: var(--rank-grid) var(--rank-grid);
}

/* 見出し（画像／未設置のときは文字で再現） */
.rank-block__title {
  margin: 0 0 14px;
  text-align: center;
}
.rank-block__title img {
  display: block;
  width: 35.1%;             /* 実測 510/1452＝255px */
  max-width: 255px;
  height: auto;
  margin: 0 auto;
}
.rank-block__title-txt {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  font-size: clamp(26px, 4.4vw, 36px);
  letter-spacing: 0.04em;
  color: #fff;
  -webkit-text-stroke: 6px #231815;
  paint-order: stroke fill;   /* フチを文字の外側に出す */
}

/* メタ枠（店舗名／日付・抽選人数・一般人数／取材名） */
.rank-meta {
  display: flex;
  flex-direction: column;
  gap: var(--rank-gap);
  margin-bottom: 10px;
}
/* CSV未登録の回はメタ枠だけを出す。下に表が続かないので余白を切る */
.rank-block--meta-only .rank-meta { margin-bottom: 0; }
.rank-meta__set {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rank-gap);
}
.rank-meta__set--multi {
  grid-template-columns: repeat(var(--cols, 3), 1fr);
}
.rank-meta__lab,
.rank-meta__val {
  margin: 0;
  font-family: "M PLUS Rounded 1c", sans-serif;
  text-align: center;
  line-height: 1.3;
}
.rank-meta__lab {
  background: var(--rank-purple);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  padding: 6px 6px;
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rank-meta__val {
  background: #fff;
  border: 1px solid var(--rank-line);
  font-weight: 500;
  font-size: 20px;
  padding: 10px 8px;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* スライド案内（PCでは不要なので隠す） */
.rank-swipe {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 7px 0;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #8e6fc4;
}
.rank-swipe span {
  display: inline-block;
  animation: rank-slide 1.6s ease-in-out infinite;
}
@keyframes rank-slide {
  0%, 100% { transform: translateX(-3px); }
  50%      { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .rank-swipe span { animation: none; }
}

/* 表 */
.rank-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rank-scroll:focus-visible { outline: 3px solid #67caff; outline-offset: 2px; }

.rank-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-variant-numeric: tabular-nums;
  background: #fff;
}
/* セルの高さはパディングで作る。table-cell の height は
   パディングを含まない扱いになるため指定しない（実測：ヘッダー35px／行48px） */
.rank-table th,
.rank-table td {
  border: 1px solid var(--rank-line);
  line-height: 1.3;
}
.rank-table thead th {
  background: var(--rank-purple);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  text-align: center;
  padding: 7px 8px;          /* 19.5 + 14 + 罫線2 ＝ 35px */
}
.rank-table tbody td {
  font-size: 17px;
  font-weight: 500;
  text-align: center;
  line-height: 1.15;
  padding: 11px 8px;         /* 差玉24px(行送り1) + 22 + 罫線2 ＝ 48px */
}
.rank-table tbody tr:nth-child(even) td { background: var(--rank-zebra); }

/* 列ごとの性格（見出し名から判定してクラスを付与） */
.rank-table .is-rank { width: 7.9%;  white-space: nowrap; }
.rank-table .is-name { width: 57.4%; text-align: left; font-size: 15px; }
.rank-table .is-num  { width: 8.0%;  white-space: nowrap; font-size: 15px; }
.rank-table .is-diff { width: 17.4%; white-space: nowrap; font-size: 24px; font-weight: 700; line-height: 1; }
.rank-table thead .is-name { text-align: center; font-size: 15px; }
.rank-table thead .is-diff { font-size: 15px; font-weight: 800; }

/* もっとみるで展開するまで隠す行 */
.rank-table tbody tr.is-hidden { display: none; }
.rank-more { margin-top: 18px; }

/* --- スマートフォン --- */
@media (max-width: 768px) {
  .rank-block {
    max-width: none;
    margin-bottom: min(6.4vw, 34px);
    /* 枠は残しつつ、SPは内側余白を詰める。
       PCの比率（左右44px）をそのまま縮めると中身が290px程度まで痩せるため */
    --rank-bd: min(1.1vw, 5px);
    --rank-grid: min(4.7vw, 22px);
    padding: min(6.9vw, 32px) min(3.7vw, 17px) min(6.4vw, 30px);
    border-radius: min(2.1vw, 10px);
  }

  .rank-block__title img { width: min(58vw, 255px); max-width: none; }
  .rank-block__title-txt {
    font-size: min(7.5vw, 32px);
    -webkit-text-stroke-width: min(1.1vw, 5px);
  }

  .rank-meta { gap: min(0.8vw, 4px); margin-bottom: min(1.9vw, 10px); }
  .rank-meta__set { gap: min(0.8vw, 4px); }
  .rank-meta__lab {
    font-size: min(3.2vw, 15px);
    min-height: min(6.9vw, 32px);
    padding: min(1.1vw, 6px);
  }
  .rank-meta__val {
    font-size: min(4.0vw, 19px);
    min-height: min(10.7vw, 50px);
    padding: min(1.9vw, 10px) min(1.6vw, 8px);
  }

  /* 5列は画面幅に収まらないため横スクロール。順位列だけ左に固定する。
     案内は実際にはみ出しているときだけ出す（判定は js/ranking.js が .is-scrollable を付ける）。
     JSが動かなかった場合に案内が消えたままにならないよう、既定は表示にしておく */
  .rank-swipe { display: flex; font-size: min(2.9vw, 13px); }
  .rank-block.is-no-scroll .rank-swipe { display: none; }

  /* 表の幅は中身にあわせて可変にする。
     620px固定だと機種名の列に無駄な余白が出て、逆に列数が少ないときにも横スクロールが出るため。
       width:max-content … 各列が中身の最大幅ぶんだけを取る
       min-width:100%    … それでも枠に足りないときは枠いっぱいに広げる
     PCの%指定は max-content と競合する（幅の基準が循環する）ので auto に戻す */
  .rank-table { width: max-content; min-width: 100%; }
  .rank-table .is-rank,
  .rank-table .is-name,
  .rank-table .is-num,
  .rank-table .is-diff { width: auto; }
  .rank-table .is-name { white-space: nowrap; }
  .rank-table thead th { font-size: min(2.9vw, 13px); padding: min(1.5vw, 7px) min(1.7vw, 8px); }
  .rank-table tbody td { font-size: min(3.7vw, 17px); padding: min(2.35vw, 11px) min(1.7vw, 8px); }
  .rank-table .is-name { font-size: min(3.2vw, 15px); }
  .rank-table .is-num  { font-size: min(3.2vw, 15px); }
  .rank-table .is-diff { font-size: min(5.1vw, 24px); }

  .rank-table .is-rank {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #fff;
  }
  .rank-table thead .is-rank { z-index: 2; background: var(--rank-purple); }
  .rank-table tbody tr:nth-child(even) .is-rank { background: var(--rank-zebra); }

  /* 結果らんきんぐの「もっとみる」は一覧用より一回り小さく */
  .rank-more { margin-top: min(3.4vw, 18px); }
  .rank-more .btn-more {
    min-width: 50vw;
    height: min(10.6vw, 56px);
    padding: 0 2.8em 0 2em;
    font-size: min(3.7vw, 20px);
  }
  .rank-more .btn-more__arrow {
    width: 0.5em;
    height: 0.8em;
  }
}
