
/* □トップ2026 */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

html{
  font-size:62.5%;
   min-width:0;
}
body{
  margin:0;
  font-family: 'Noto Sans JP', system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
  font-size: 1.6rem;
  line-height: 1.6;
  color:var(--title-black);
  background:#fff;
}
footer {
  position: static;
  min-width: 0;
}
.top {
  height: auto !important;
}
.mainContents {
  width: 100%;
  padding: 0;
  float: none;
}
/* legacy top scripts reset */
.legacy-top-reset footer{
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
}

.legacy-top-reset #backnumber_gauge,
.legacy-top-reset #backnumber_gauge_wrap{
  position: static !important;
  top: auto !important;
  left: auto !important;
}

.contents {
  width:auto;
  margin: 0;
}
.megaMenu_container {
    margin-top: 10px;
}
.globalNavi {
  width: auto;
  max-width: 1248px;
}
.globalNaviWrapper {
  margin: 0;
}
.contents,
.topBannerWrapper,
.footer_links {
  width: auto;
}

.top-slider {
  position: static !important;
}

.mega_menu .panel_index .group {
  border-left: 0;
  padding: 0;
}

/* ※color.cssへ移行予定：色は仮 */
:root {
  --accent-orange: #FDA305;
  --thin-line: #d0c6ad;
  --date-gray: #727272;
  --desc-gray: #414141;
  --title-black: #000000;
  --card-bg: #f7f7f7;

  --content-max: 1248px;
  --content-pad: 16px; /* = 1.6rem相当（1rem=10px前提なら16px） */
}

html{font-size:62.5%;}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color:var(--title-black);
  background:#fff;
}

.demo_wrap{
  /*max-width: 1100px;*/
  margin: 0;
  padding: 0;
}
.demo_note{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 1.6rem;
  box-shadow: 0 .8rem 2.0rem rgba(0,0,0,.06);
  padding: 1.6rem;
  margin-bottom: 2.4rem;
}

@media (min-width: 769px) and (max-width: 1275px){
  .globalNavi {
    padding: 0 1.0rem;
  }
}

/* ---------smartphone.css--------- */
@media (max-width: 768px){
  .globalNavi ul li a {
    font-size: 100%;
  }

  html:not(.is-ua-smartphone) .topBannerWrapper {
    padding-top: 0 !important;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp{
    position: relative;
    margin: 0;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi{
    width: 100%;
    margin: 0 0 2px;
    height: 100%;
    position: static;
    box-sizing: border-box;
    padding-bottom: 1px;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul{
    display: none;
    position: absolute;
    top: 49px;
    left: 0;
    right: 0;
    z-index: 30;
    width: 100%;
    background: #fff;
    border-top: solid 1px #ccc;
    float: none;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp.is-vw-sp-open .globalNavi > ul,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul.open{
    display: block;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li{
    float: none;
    height: auto !important;
    line-height: 1;
    margin: 0;
    /*padding: 15px 0 15px 30px;*/
    border-bottom: solid 1px #cdcdcd;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li > a{
    display: block;
    background-position: right 19px center;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .humberger{
    pointer-events: auto;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    box-sizing: border-box;
    width: 53px;
    height: 48px;
    padding: 16px 15px;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 40;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger span{
    display: inline-block;
    box-sizing: border-box;
    transition: all .4s;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger{
    position: relative;
    width: 23px;
    height: 16px;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger span{
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #404040;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger span:nth-of-type(1){ top: 0; }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger span:nth-of-type(2){ top: 50%; margin-top: -1px; }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger span:nth-of-type(3){ bottom: 0; }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger.active span:nth-of-type(1){
    transform: translateY(7px) rotate(-45deg);
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger.active span:nth-of-type(2){
    opacity: 0;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .menu-trigger.active span:nth-of-type(3){
    transform: translateY(-7px) rotate(45deg);
  }

  html:not(.is-ua-smartphone) body.is-vw-sp-menu-open{
    overflow-x: hidden;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li.contact{
    float: none;
    width: 100%;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li > .megaMenu_wrap_smp{
    display: none;
    padding: 0;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    overflow: visible;
    max-height: none;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li.opend > .megaMenu_wrap_smp{
    display: block;
    padding-top: 2.4rem;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul > li > .megaMenu_wrap_smp .mega_menu{
    display: block;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul{
    display: none;
    position: absolute;
    top: 49px;
    left: 0;
    right: 0;
    z-index: 30;
    background: #fff;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp.is-vw-sp-open .globalNavi > ul,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul.open{
    display: block;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .js-vw-hamburger{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 60;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .search_btn,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .language_btn,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .selectLangBtn{
    position: relative;
    z-index: 61;
    pointer-events: auto;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .search_btn {
    margin: .5rem 0 0;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .language_btn {
    position: absolute;
    background-position: top 17px right 0;
  }

  html:not(.is-ua-smartphone) header {
    margin: 0;
    height: 49px;
    position: relative;
    z-index: 4;
    background: #fff;
  }

  html:not(.is-ua-smartphone) header.navFixed {
    position: fixed;
    top: 0;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper {
    pointer-events: none;
    position: relative;
    height: 49px;
  }

  html:not(.is-ua-smartphone) .header_logo {
    position: absolute;
    margin: 0 0 0 -53px;
    height: 100%;
    display: table;
    width: auto;
    top: 0;
    left: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-bottom: 1px;
  }

  html:not(.is-ua-smartphone) .header_logo a {
    display: table-cell;
    vertical-align: middle;
    line-height: 0;
    height: auto;
  }

  html:not(.is-ua-smartphone) .header_logo img {
    width: 106px;
  }

  html:not(.is-ua-smartphone) .header_logo{
    position: absolute;
    z-index: 70;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul{
    z-index: 30;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .js-vw-hamburger,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp #humberger{
    z-index: 84;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open{
    pointer-events: auto;
    z-index: 80;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi{
    pointer-events: auto;
    position: relative;
    z-index: 81;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi > ul{
    display: block;
    pointer-events: auto;
    z-index: 82;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi > ul > li > .megaMenu_wrap_smp{
    pointer-events: auto;
    position: relative;
    z-index: 83;
  }

  html:not(.is-ua-smartphone) .globalNavi .home-link{
    display: none !important;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .globalNavi > ul{
    max-height: calc(100vh - 49px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi > ul{
    max-height: calc(100vh - 49px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi ul .contact {
    left: 0;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .globalNavi ul .contact a {
    background-image: none;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_container,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp-open .megaMenu_container {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list,
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list ul{
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list li{
    display: block;
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.4rem 3.6rem 1.4rem 1.6rem;
    box-sizing: border-box;
    text-decoration: none;
    position: relative;
    background: none !important;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list li a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1.2rem;
    width: .6rem;
    height: .6rem;
    border-top: 1px solid #222;
    border-right: 1px solid #222;
    transform: translateY(-50%) rotate(45deg);
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .menu_list li:hover {
    height: 19px !important;
  }

  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .mega_menu .column .grid-item .list_block .sub_head {
    padding: 8px 0 8px 0;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .mega_menu .column {
    margin-top: 2.4rem;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .mega_menu .column .grid-item .list_block .menu_list {
    margin-bottom: 1.8rem;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .mega_menu .panel {
    margin: 0 0 .5rem 0;
  }
  html:not(.is-ua-smartphone) .globalNaviWrapper.is-vw-sp .megaMenu_wrap_smp .mega_menu .col_head {
    padding-bottom: 6px;
  }
}

@media (min-width: 769px){
  html:not(.is-ua-smartphone) .js-vw-hamburger{
    display: none !important;
  }
}

/* ---------SP UA判定打ち消し--------- */

@media (max-width: 978px){
  html.is-ua-smartphone .mainContents {
    margin: 0;
  }
  html.is-ua-smartphone  .grid-item {
    margin-left: 0;
    margin-bottom: 0;
  }
  html.is-ua-smartphone .contents .mainContents .top {
    margin-left: 0;
  }
  html.is-ua-smartphone .contents .mainContents .top .AD {
    width: auto;
    margin: 0;
    padding: 0;
  }

  html.is-ua-smartphone .pfa_panel_inner {
      grid-template-columns: 6.4rem 1fr;
  }
  html.is-ua-smartphone .pfa_panel_side {
    padding: 1.5rem 0 1.5rem;
  }
  html.is-ua-smartphone .pfa_panel_side_txt {
    font-size: 2.8rem;
  }
  html.is-ua-smartphone .pfa_month {
    gap: .3rem;
  }
  html.is-ua-smartphone .pfa_month_year {
    font-size: 1.4rem;
  }
  html.is-ua-smartphone .pfa_month_num {
    font-size: 3.6rem;
  }
  html.is-ua-smartphone .pfa_panel_body {
    padding: 2.5rem 1.5rem;
  }
  html.is-ua-smartphone .pfa_date {
    font-size: 1.0rem;
  }
  html.is-ua-smartphone .pfa_title {
    font-size: 1.4rem;
  }
  html.is-ua-smartphone .pfa_lead {
    font-size: 1.2rem;
  }
  html.is-ua-smartphone .pfa_list {
    gap: 1.2rem;
  }
  html.is-ua-smartphone .pfa_list_head {
    font-size: 1.3rem;
  }
  html.is-ua-smartphone .pfa_list_txt {
    font-size: 1.2rem;
  }

  html.is-ua-smartphone .wr_card__metaRow{
    grid-template-columns: 7.3rem 1fr;
    gap: 1.0rem;
  }
  html.is-ua-smartphone .wr_card__meta{
    padding-right: 1.0rem;
  }
  html.is-ua-smartphone .wr_card__text h3{
    font-size: 1.3rem;
  }
  html.is-ua-smartphone .wr_card__text p {
    font-size: 1.2rem;
  }


  html.is-ua-smartphone .footer_layout .meta {
    gap: 1.1rem;
    font-size: 1.1rem;
  }
  html.is-ua-smartphone .footer_layout .title {
    font-size: 1.4rem;
  }
  html.is-ua-smartphone .footer_layout .desc {
    font-size: 1.2rem;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .month {
    border-right: 0;
    padding: 0;
    position: static;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .lead {
    font-size: 1rem;
    -webkit-transform: scale(1);
    transform: scale(1);
    padding-left: 1rem;
    margin: 0;
    min-height: 0;
  }
  html.is-ua-smartphone .footer_layout .grid-item .shohiImage img {
    width: 94px !important;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .today .price {
    float: none;
  }
   html.is-ua-smartphone .footer_layout .panel_shohi .shohiText h3,
   html.is-ua-smartphone .footer_layout .panel_shohi .shohiText span,
   html.is-ua-smartphone .footer_layout .panel_shohi .today span {
    width: auto;
    -webkit-transform: scale(1);
    transform: scale(1);
    font-size: 1.2rem;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .today {
    margin-top: 0;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .latest .shohiText {
    width: auto;
    padding: 0 0 0 10px;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .today .price {
    margin-top: 0;
    padding: 10px 0 0 32px;
    font-size: 1.2rem;
    text-align: right;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .month {
    font-size: 1.2rem;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .month span {
    font-size: 2.6rem;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .shohiText span {
    max-height: 100%;
  }
  html.is-ua-smartphone .top .footer_layout .side .grid-item .panel_shohi .shohiText > span {
    font-size: 1.0rem;
  }
  html.is-ua-smartphone .footer_layout .panel.panel_shohi {
    grid-template-columns: 50px minmax(0, 1fr);
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .month {
    width: 50px;
  }
  html.is-ua-smartphone .footer_layout .panel_shohi .lead {
    padding: .4rem 0;
  }
  html.is-ua-smartphone .footer_layout .shohi.latest .shohiImage{
    flex: 0 0 9.4rem;
    width: 9.4rem;
  }
}

/* ---------PFAエリア--------- */

/* 左パネル＆右写真群を「同じ高さ」にする基準値（必要なら調整） */
.pfa_grid{
  --pfa_row_h: clamp(57rem, 70vh, 60rem);
  display:grid;
  grid-template-columns: 54.4rem 1fr;
  gap: 0.2rem;
  align-items: stretch;
}

/* 左：パネル（下部にサブ写真を内包） */
.pfa_panel{
  background:#fff;
  /*box-shadow: 0 .8rem 2.0rem rgba(0,0,0,.06);*/
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height: var(--pfa_row_h); /* ★右と同じ高さ */
  min-height: 0;
}

/* 上段（テキスト部分） */
.pfa_panel_inner{
  display:grid;
  grid-template-columns: 10.7rem 1fr;
  flex: 1 1 auto;
  min-height: 0;
  background:var(--card-bg);
}

/* 左の縦帯：月ブロックは内側 */
.pfa_panel_side{
  border-right: 0;
  position: relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding: 2.5rem 0 2.5rem;
  gap: 1.2rem;
}
.pfa_panel_side::after{
  content: "";
  position: absolute;
  top: 2.5rem;
  bottom: 2.5rem;
  right: 0;
  width: 1px;
  background: var(--thin-line);
}
.pfa_panel_side_txt {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: .1em;
  color: var(--accent-orange);
  font-size: 4.8rem;
  line-height: 1;
  margin-top: .8rem;
  font-weight: 300;
}

.pfa_month{
  width: 100%;
  padding: 1.2rem .6rem .8rem;
  display:flex;
  flex-direction:column;
  gap: .6rem;
  align-items:center;
  justify-content:flex-end;
}
.pfa_month_year{
  font-weight:500;
  color: #000;
  font-size: 2.18rem;
  line-height: 1;
}
.pfa_month_num{
  font-weight:600;
  font-size: 5.25rem;
  line-height: .9;
}

.pfa_panel_body{
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  min-width: 0;
  overflow: auto; /* 高さ固定のため、テキストが増えたら内部スクロール */
}
.pfa_date{
  margin:0 0 1.0rem;
  font-size: 1.4rem;
  color: #454545;
}
.pfa_title{
  margin:0 0 1.2rem;
  font-size: 2.2rem;
  line-height:1.3;
  letter-spacing: .02em;
}
.pfa_lead{
  font-size: 1.6rem;
  margin:0 0 1.8rem;
  color: #454545;
}
.pfa_list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap: 1.4rem;
}
.pfa_list_head{
  display:block;
  font-size: 1.6rem;
  font-weight:600;
  color:var(--accent-orange);
  margin-bottom: -0.1rem;
}
.pfa_list_head::before {
  content: '・';
}
.pfa_list_txt{
  display:block;
  font-size: 1.5rem;
  color: #454545;
  padding: 0 0 0 1.6rem;
}

/* パネル内：下部サブ写真（高さを揃える） */
.pfa_panel_sub{
  border-top: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.01);
  height: 18rem;            /* ★サブ全体の高さ */
  flex: 0 0 auto;
}
.pfa_sub{
  height: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .2rem;
}

/* 右：縦長3枚（高さを揃える） */
/* .pfa_hero は「見える窓」 */
.pfa_hero{
  overflow: hidden;
  height: var(--pfa_row_h);   /* v3の高さ統一を継承 */
  /*border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 .8rem 2.0rem rgba(0,0,0,.06);*/
  background:#fff;
  gap: .2rem;
}
/* 連続スクロールの本体 */
.pfa_marquee{
  height: 100%;
  overflow: hidden;
  --gap: .2rem;
  /*--item-w: 28.2rem;*/
  --item-w: auto;
}
.pfa_marquee{
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.pfa_marquee img,
.pfa_marquee a{
  -webkit-user-drag: none;
  user-drag: none;
}
.pfa_marquee.pfa_marquee--sub {
  overflow: visible;
}
.pfa_marquee.pfa_marquee--sub img {

}
.pfa_marquee::-webkit-scrollbar{
  display: none;
}

.pfa_marquee__track{
  height: 100%;
  display: flex;
  gap: var(--gap);
  align-items: stretch;
  will-change: transform;
}
.pfa_marquee__track > img{
  flex: 0 0 var(--item-w);
  width: var(--item-w);
  height: 100%;
  object-fit: cover;
  display: block;
}
.pfa_marquee__item{
  flex: 0 0 var(--item-w);
  height: 100%;
}
.pfa_marquee__item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

/* 画像共通 */
.pfa_img{
  display:block;
  overflow:hidden;
  background: rgba(0,0,0,.04);
  text-decoration:none;
  color: inherit;
}
.pfa_img img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* 隙間なしのため、角丸・枠はコンテナ側で持つ */
.pfa_hero .pfa_img,
.pfa_sub .pfa_img{
  border-radius: 0;
  border: 0;
}

/* pfa_sub内：全画像の高さを揃える（アスペクト比クラスは無効化） */
.pfa_panel_sub .pfa_img{ height: 100%; }
.pfa_panel_sub .pfa_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pfa_panel_sub .pfa_img_tall,
.pfa_panel_sub .pfa_img_wide,
.pfa_panel_sub .pfa_img_sq,
.pfa_panel_sub .pfa_img_wide2{ aspect-ratio: auto; }

/* タブレット以下：1カラム（高さ固定は解除して自然高に） */
/*@media (max-width: 992px){
  .pfa_grid{ grid-template-columns: 1fr; }
  .pfa_panel,
  .pfa_hero{ height: auto; }
  .pfa_panel_body{ overflow: visible; }
  .pfa_panel_sub{ height: auto; }
  .pfa_sub{ height: auto; }
  .pfa_panel_sub .pfa_img{ height: auto; }
  .pfa_panel_sub .pfa_img_wide{ aspect-ratio: 16 / 9; }
  .pfa_panel_sub .pfa_img_sq{ aspect-ratio: 1 / 1; }
  .pfa_panel_sub .pfa_img_wide2{ aspect-ratio: 3 / 2; }
}*/

/* SP：縦長3枚は横スクロール、サブは2列（隙間なしのまま） */
@media (max-width: 768px){
  .pfa_grid{ grid-template-columns: 1fr; }
  .pfa_panel,
  .pfa_hero{ height: auto; }
  .pfa_panel_body{ overflow: visible; }
  .pfa_panel_sub{ height: auto; }
  .pfa_sub{ height: auto; }
  .pfa_panel_sub .pfa_img{ height: auto; }
  .pfa_panel_sub .pfa_img_wide{ aspect-ratio: 16 / 9; }
  .pfa_panel_sub .pfa_img_sq{ aspect-ratio: 1 / 1; }
  .pfa_panel_sub .pfa_img_wide2{ aspect-ratio: 3 / 2; }

  .pfa_hero{
    display: none;
  }

  .pfa_marquee--sub{
    width: 100%;
    overflow: hidden;
  }

  .pfa_sub {
    display: block;
  }

  .pfa_marquee--sub .pfa_marquee__track{
    display: flex;
    gap: .2rem;
    width: 100%;
  }

  .pfa_marquee--sub .pfa_marquee__track > *{
    flex: 0 0 calc(100% / 3);
    width: calc(100% / 3);
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .pfa_marquee--sub .pfa_marquee__track img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .pfa_panel_inner {
      grid-template-columns: 6.4rem 1fr;
  }
  .pfa_panel_side {
    padding: 1.5rem 0 1.5rem;
  }
  .pfa_panel_side_txt {
    font-size: 2.8rem;
  }
  .pfa_month {
    gap: .3rem;
  }
  .pfa_month_year {
    font-size: 1.4rem;
  }
  .pfa_month_num {
    font-size: 3.6rem;
  }
  .pfa_panel_body {
    padding: 2.5rem 1.5rem;
  }
  .pfa_date {
    font-size: 1.2rem;
  }
  .pfa_title {
    font-size: 1.6rem;
  }
  .pfa_lead {
    font-size: 1.4rem;
  }
  .pfa_list {
    gap: 1.2rem;
  }
  .pfa_list_head {
    font-size: 1.5rem;
  }
  .pfa_list_txt {
    font-size: 1.3rem;
  }

}

/* ---------スライダーエリア--------- */

/* Slider */
.wr_slider{ margin-top: 6.4rem; }
/* 左端の基準（footer_layout の左端＝中央寄せ + padding） */
.wr_slider{
  --left-inset: max(
    var(--content-pad),
    calc((100vw - var(--content-max)) / 2)
  );
}
/* viewport 自体の左端を合わせる（右端は画面右まで） */
.wr_slider__viewport{
  margin-left: var(--left-inset);
  width: calc(100vw - var(--left-inset));
  overflow: hidden;
}

/* 添付の雰囲気：カード間は広めの白い“抜け” */
.wr_slider__track{
  display:flex;
  align-items: stretch;
  gap: 3.2rem;
  overflow: visible;
  padding: 0;
  margin:0;
  list-style:none;
  scrollbar-width:none;
  will-change: transform;
}
.wr_slider__track::-webkit-scrollbar{ display:none; }

.wr_slider__item{
  flex: 0 0 auto;
  width: 43.2rem;            /* 3枚見える想定（必要なら調整） */
  scroll-snap-align: start;
  height: auto;
  display: flex;
}

/* カード：角丸なし・影なし（添付っぽく） */
.wr_card{
  color:inherit;
  text-decoration:none;
  background:var(--card-bg);
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.wr_card:hover {
  opacity: 0.7;
}

.wr_card__img{
  width: 100%;
  max-width: 43.2rem;
  aspect-ratio: 432 / 324;
  overflow: hidden;
  background: rgba(0,0,0,.05);
  flex: 0 0 auto;
}

.wr_card__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wr_card__body{
  padding: 2.3rem 1.6rem;
  flex: 1 1 auto;
  display: flex;
}

/* 左：カテゴリ/日付 + 縦線  / 右：タイトル&本文 */
.wr_card__metaRow{
  display:grid;
  grid-template-columns: 8.3rem 1fr;
  gap: 1.6rem;
  align-items:start;
}
.wr_card__meta{
  padding-right: 2.0rem;
  border-right: 1px solid var(--thin-line);
  height: 100%;
}
.wr_card__cat{
  margin:0 0 .4rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing:.06em;
  color:var(--accent-orange); /* オレンジ系 */
}
.wr_card__date{
  margin:0;
  font-size: 1.2rem;
  color: var(--date-gray);
}

.wr_card__text h3{
  margin:0 0 .8rem;
  font-size: 1.4rem;
  line-height: 1.35;
  font-weight: 800;
}
.wr_card__text p{
  margin:0;
  color: var(--desc-gray);
  font-size: 1.2rem;
}

/* 下部中央ナビ（添付の矢印） */
.wr_slider__navBottom{
  display:flex;
  justify-content:center;
  gap: 3.2rem;
  margin-top: 1.2rem;
  user-select:none;
}
.wr_slider__btn{
  width: 4.8rem;
  height: 4.8rem;
  display:grid;
  place-items:center;
  border:0;
  background: transparent;
  cursor:pointer;
  color: rgba(0,0,0,.45);
  transition: opacity .15s ease, transform .15s ease, color .15s ease;
}
.wr_slider__btn svg{
  width: 3.2rem;
  height: 3.2rem;
  display:block;
}
.wr_slider__btn:active{ transform: translateY(1px); }

.wr_slider__btn:disabled{
  opacity:.25;
  cursor:not-allowed;
}

/* SP：768px以下は1枚＝表示領域 */
@media (max-width: 432px){
  .wr_slider{ margin-top: 3.2rem; }
  .demo_wrap{ padding-left: .8rem; padding-right: .8rem; }

  .wr_slider__viewport{
    margin-left: 0;
    width: auto;
  }

  .wr_slider__track{
    gap: 1.6rem;
    padding: 0;
  }
  .wr_slider__item{
    width: 100%;
    max-width: 43.2rem;
  }

  .wr_card__img{
    max-width: 43.2rem;
    aspect-ratio: 432 / 324;
  }

  .wr_card__metaRow{
    grid-template-columns: 7.3rem 1fr;
    gap: 1.0rem;
  }
  .wr_card__meta{
    padding-right: 1.0rem;
  }
  .wr_card__text h3{
    font-size: 1.3rem;
  }
  .wr_card__text p {
    font-size: 1.2rem;
  }
}

/* ---------リストエリア--------- */

.wrap{
  max-width: 1260px;
  margin: 0 auto;
  padding: 2.4rem 2.0rem 6.0rem;
}

.footer_layout{
  display:grid;
  grid-template-columns: 1fr 32rem;
  gap: 3.2rem;
  align-items:start;
  max-width: 1248px;
  padding: 0 1.6rem;
  margin: 5.4rem auto;
}

/* 左：2カラムのリンクリスト */
.post_grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem 3.2rem;
}

.post_grid .post{
  display:grid;
  grid-template-columns: 18.0rem 1fr; /* 180px */
  gap: 1.6rem;
  align-items: stretch;
  height: 13.6rem; /* 136px：カード高を画像高に固定 */
  text-decoration:none;
  color: inherit;
}
.post_grid .post:hover{
  opacity: 0.7;
}
.post_grid .thumb{
  width: 100%;
  max-width: 180px;
  aspect-ratio: 180 / 136;
  overflow: hidden;
}

.post_grid .thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.post_grid .post__content{
  height: 13.6rem;
  overflow: hidden;
  display:flex;
  flex-direction: column;
  min-width: 0;
}
.post_grid .meta{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.post_grid .title{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.post_grid .desc{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.post_grid .meta{
  display:flex;
  gap: 1.2rem;
  align-items: baseline;
  margin-bottom: .6rem;
  font-size: 1.2rem;
  letter-spacing: .06em;
}
.post_grid .cat{
  font-weight: 800;
  color:var(--accent-orange); /* orange */
}
.footer_layout .date{
  color: var(--date-gray);
  border-left: 1px solid var(--thin-line);
  padding-left: 1.0rem;
}

.post_grid .title{
  margin:0 0 .6rem;
  font-size: 1.5rem;
  line-height: 1.35;
  font-weight: 800;
}
.post_grid .desc{
  margin:0;
  font-size: 1.3rem;
  color: var(--desc-gray);
}

/* 右：サイド */
.footer_layout .side{
  
}

.footer_layout .AD.grid-item {
  position: static;
  float: none;
  position: static !important;
}
.contents .mainContents .top .top-slider {
  float: none;
}
.footer_layout .AD.grid-item > a img {
    width: 100%;
    height: auto;
  }

.footer_layout .panel.panel_shohi{
  display: grid;
  grid-template-columns: 55px minmax(0, 1fr);
  gap: 0;
  align-items: start;
  box-sizing: border-box;
  margin: 3.2rem auto 0;
  width: auto;
  padding: 1.3rem 1.1rem;
}

.footer_layout .panel.panel_shohi .panelTitle{
  grid-column: 1 / -1;
  float: none;
  text-align: left;
  margin: 0 0 1.4rem;
}

.footer_layout .panel.panel_shohi .month{
  grid-column: 1;
  width: 55px;
  float: none;
}

.footer_layout .panel.panel_shohi .lead{
  grid-column: 2;
  min-width: 0;
  float: none;
  width: auto;
}

.footer_layout .panel.panel_shohi .shohi{
  grid-column: 1 / -1;
  margin-top: 1.1rem;
}

.footer_layout .shohi.latest > a{
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.footer_layout .shohi.latest .shohiImage,
.footer_layout .shohi.latest .shohiText{
  float: none;
}

.footer_layout .shohi.latest .shohiImage{
  flex: 0 0 10rem;
  width: 10rem;
}

.footer_layout .shohi.latest .shohiImage img{
  display: block;
  width: 100%;
  height: auto;
}

.footer_layout .shohi.latest .shohiText{
  flex: 1 1 auto;
  min-width: 0;
}

/* 今月の消費生活 */
.top .footer_layout .side .grid-item .panel_shohi .lead {
  border-left: 1px solid #A6A6A6;
  text-align: left;
}
.top .footer_layout .side .grid-item .panel_shohi .shohiText h3,
.top .footer_layout .side .grid-item .panel_shohi .shohiText > span {
  color: #000;
  text-align: left;
  display: block;
  margin: 0 0 .6rem;
}
.top .footer_layout .side .grid-item .panel_shohi .shohiText .today .spendDate {
  text-align: right;
}
.top .footer_layout .side .grid-item .panel_shohi .today .price {
  background-image: none;
}
.top .footer_layout .side .grid-item .panel_shohi .today .price::before {
  content: '¥';
}
.top .footer_layout .side .grid-item .panel_shohi .month,
.top .footer_layout .side .grid-item .panel_shohi .today span {
  color: var(--date-gray);
}
.top .footer_layout .side .grid-item .panel_shohi .today span {
  font-size: 1.2rem;
}


/* レスポンシブ */
/* タブレット：左のリストを1カラムに。右の列は維持して段落ちしない */
@media (min-width: 993px) and (max-width: 1120px){
  .footer_layout .meta{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .footer_layout .date{
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
  }
}
/* タブレット：左のリストを1カラムに。右の列は維持して段落ちしない */
@media (max-width: 992px){
  .footer_layout .post_grid{ grid-template-columns: 1fr; }
  .footer_layout{
    grid-template-columns: 1fr 30rem; /* 右列は維持（必要なら調整） */
    gap: 2.4rem;
  }
  .footer_layout .side{ padding-left: 2.0rem; }
}

/* SP：ここで右列を段落ち（1カラム化） */
@media (max-width: 768px){
  .footer_layout .wrap{ padding-left: 1.2rem; padding-right: 1.2rem; }
  .footer_layout{ 
    grid-template-columns: 1fr;
    margin: 0 auto 5.4rem;
  }
  .footer_layout .side{ border-left: 0; padding-left: 0; padding-top: 2.4rem; }
  .footer_layout .post{ grid-template-columns: 14.0rem 1fr; height: 10.46rem; }
  .footer_layout .thumb{ width: 14.0rem; height: 10.46rem; }
  .footer_layout .post__content{ height: 10.46rem; }

  .footer_layout .AD.grid-item {
    width: 100%;
  }
  .footer_layout .panel_shohi {
    width: 100%;
    box-sizing: border-box;
  }
  .footer_layout .panel_shohi .lead {
        padding: .4rem 0 .4rem 1rem;
  }
  .footer_layout section[aria-label="記事一覧"]{
    order: 2;
  }

  .footer_layout aside{
    order: 1;
  }
  .footer_layout .title {
    font-size: 1.4rem;
  }
}
/* ---------フッタ--------- */
@media (max-width: 768px){
  .footerUtility,
  .copy copyright,
  .copy img{
    display: block;
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .footerUtility{
    margin-bottom: 1rem;
    float: none;
  }

  .footerUtility a {
    float: none;
  }

  .copy{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
    float: none;
  }

  .copy copyright{
    order: 1;
  }

  .copy img{
    order: 2;
    width: auto;
    height: auto;
  }
  .footerInner {
    height: auto;
  }
}

.bx-wrapper .bx-loading{
background-image:url("/prefs/css/cvs00a0000004vpn-img/cvs00a0000004vqo.gif");
}
.bx-wrapper .bx-prev{
background-image:url("/prefs/css/cvs00a0000004vpn-img/cvs00a0000004vqv.png");
}
.bx-wrapper .bx-next{
background-image:url("/prefs/css/cvs00a0000004vpn-img/cvs00a0000004vr2.png");
}
.top-slider .bx-wrapper .bx-prev{
background-image:url("/prefs/css/cvs00a0000004vpn-img/cvs00a0000004vr9.png");
}
.top-slider .bx-wrapper .bx-next{
background-image:url("/prefs/css/cvs00a0000004vpn-img/cvs00a0000004vrg.png");
}

@media print{

}