@charset "utf-8";

/*-------------------------------------------
共通
-------------------------------------------*/
:root{
  --gap-s:clamp(10px, 0.341rem + 1.21vw, 20px);
  --gap-m:clamp(20px, 0.682rem + 2.42vw, 40px);
  --gap-l:40px;

  --color-black:#222;
  --color-red:#e43344;
}

.gamer-pc img{
  width:100%;
  object-fit: contain;
}
.gamer-pc .c-link--blue img {
  width:auto;
}
.gamer-pc .c-button{
  width:100%;
}

.sec-cont{
  width:100%;
  position:relative;
  padding:var(--gap-l) 0;
  text-align:center;
  line-height:1;
}
.bkg-black{
  background:#000;
  color:#fff;
}
.bkg-blue{
  background:#e2f5fb;
}
.bkg-gray{
  background:#f6f6f6;
}
.sec-cont.bkg-white + .sec-cont.bkg-white,
.sec-cont.bkg-black + .sec-cont.bkg-black,
.sec-cont.bkg-blue + .sec-cont.bkg-blue,
.sec-cont.bkg-gray + .sec-cont.bkg-gray{
  padding-top:0;
}

.sec-inner{
  margin:auto;
  width:94vw;
  max-width:1140px;
  text-align:left;
}

.sec-ttl{
  font-size:clamp(22px, 1.091rem + 1.21vw, 32px);
  font-weight:700;
  line-height:1.2;
  margin-bottom:var(--gap-s);
}
.sec-cont .sec-ttl{
  color:var(--color-black);
  padding-left:0.5em;
  border-left:0.2em solid var(--color-black);
}
@media screen and (max-width: 767px) {
  .sec-cont .sec-ttl{
    border-left:0.3em solid var(--color-black);
  }
}


.sec-sub-ttl{
  font-size:clamp(18px, 0.955rem + 0.73vw, 24px);
  font-weight:700;
  line-height:1.2;
  margin-bottom:calc(var(--gap-s) / 2);
}

.bkg-black .sec-ttl{
  color: #07ffff;
}
.bkg-black .c-button{
  border:1px solid #fff;
}

.u-mb-hide{
  display:none;
}
@media screen and (max-width: 950px) {
  .u-mb-hide{
    display:block;
  }
}

/*-------------------------------------------
h1
-------------------------------------------*/
.page-ttl{
  width:100%;
  position:relative;
  padding:10px;
}
.page-ttl h1{
  font-size:16px;
  font-weight:700;
}

/*-------------------------------------------
ページ下部検索結果タイトル
sec-bottom
-------------------------------------------*/
.sec-bottom{
  width:100%;
  position:relative;
  padding-top:var(--gap-m);
  text-align:center;
}
.sec-bottom .btm-ttl{
  font-size: clamp(16px, 0.83rem + 0.73vw, 22px);
  font-weight:700;
}
/*-------------------------------------------
リード
anchor-about
-------------------------------------------*/
.sec-lead{
  width:100%;
  position:relative;
  padding:var(--gap-m) 0;
  text-align:center;
}

.sec-lead .sec-inner{
  text-align:center;
}

.sec-lead p{
  font-size:clamp(14px, 0.761rem + 0.48vw, 18px);
  line-height:1.8;
}

.menu-list{
  margin-top:var(--gap-m);
  display:grid;
  gap:var(--gap-m);
  grid-template-columns: repeat(2,1fr);
}
.menu-list .c-button{
  font-size:clamp(14px, 0.761rem + 0.48vw, 18px);
}
.menu-list .c-button::after{
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .menu-list .c-button::after{
    right:15px;
  }
}

/*-------------------------------------------
イチオシPC
anchor-pickup
-------------------------------------------*/

.pickup-wrap:has(.list-tag) {
  padding-top: var(--gap-s);
}

.pickup-list{
  display:flex;
  gap:20px;
}

.list-tag {
  position: absolute;
  left: 20px;
  top: -1em;
  display: inline-block;
  width: fit-content;
  background: #fff;
  border: 1px solid #e43344;
  color: #e43344;
  font-weight: bold;
  border-radius: 2px;
  padding: 0.5em 0.3em 0.3em 0.3em;
  font-size: 12px;
  line-height: 1;
}

.pickup-list .list-card{
  position: relative;
  width:calc((100% - 60px) / 4);
  padding: 20px;
  background: #fff;
  border-radius: 16px;
  display:flex;
  gap:10px;
  flex-direction: column;
  justify-content: space-between;
}

.pickup-list .card-top,
.pickup-list .card-btm{
  display:flex;
  gap:5px;
  flex-direction: column;
}

/*名前*/
.pickup-list .model-name{
  font-size:clamp(16px, 0.943rem + 0.24vw, 18px);
  font-weight:700;
  height: 1em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

/*レビュー調整*/
.pickup-list .model-review{
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
}
a.review-in-recommend__link{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
}
.review-in-recommend__star{
  width: auto !important;
  height: 1em !important;
}
.review-in-recommend__count{
  text-decoration: underline;
}
/*キャッチ*/
.pickup-list .model-catch{
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
  height: calc(2em * 1.25);
  line-height:1.25;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/*写真*/
.pickup-list .model-img-wrap{
  position:relative;
  width:100%;
}
.pickup-list .model-img{
  position:relative;
  width:70%;
  margin:auto;
}

.pickup-list .model-img-wrap:has(object) .model-img:nth-child(1){
  position:relative;
  margin:0;
  top:0;
  left:0;
  z-index:1;
}
.pickup-list .model-img-wrap:has(object) .model-img:nth-child(2){
  position:absolute;
  margin:0;
  top:0;
  right:0;
}

@media screen and (max-width: 767px) {
  .pickup-wrap:has(.list-tag) {
    padding-top: var(--gap-m);
  }
  .pickup-list .model-img{
    width:50%;
  }
}

/*スペック*/
.pickup-list .model-spec li{
  font-size:clamp(11px, 0.631rem + 0.24vw, 13px);
  padding-bottom:0.3em;
  border-bottom:1px dotted #ccc;
}
.pickup-list .model-spec li + li{
  margin-top:0.3em;
}

/*出荷*/
.pickup-list .model-stkname{
  font-size:clamp(12px, 0.693rem + 0.24vw, 14px);
  border:1px solid var(--color-black);
  color:var(--color-black);
  padding:0.3em 0.5em;
  width:fit-content;
}

/*金額*/
.pickup-list .model-price{
  font-size:clamp(12px, 0.693rem + 0.24vw, 14px);
}
.pickup-list .model-price .main-price{
  font-size:24px;
  font-weight:700;
  color:var(--color-black);
  padding-right:0.1em;
}

/*SMBC分割*/
.pickup-list .smbc-item{
  font-size:clamp(12px, 0.693rem + 0.24vw, 14px);
  line-height:1.2;
}
.pickup-list .recItemPrice span{
  font-size:clamp(14px, 0.761rem + 0.48vw, 18px);
  font-weight:700;
  padding:0 0.1em;
}

/*ボタン*/
.pickup-list .c-button{
  font-size:clamp(14px, 0.818rem + 0.24vw, 16px);
  height: 38px;
  border-radius: 38px;
  font-size: 14px;
  line-height: 1;
}
.pickup-list .model-button--metal {
  background: #606060;
  color: #fff;
}
.pickup-list .model-button--black {
  background: #000;
  color: #fff;
}
.pickup-list .other-color{
  display:block;
  height: 38px;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .pickup-wrap{
    width:100%;
    overflow-x: scroll;
  }
  .pickup-list{
    width:max-content;
    gap:10px;
  }
  .pickup-list .list-card{
    width:270px;
  }
}


/*-------------------------------------------
マップ調整
-------------------------------------------*/
.note-icon {
  line-height:1.8;
  color:#001e60;
}
.sec-ttl + .note-bench{
    margin-bottom: var(--gap-m);
    margin-top: -0.5em;
}

.p-pc-map__lineup-map-wrap table th.lineup-table-col-corner {
  width: 200px;
  min-width: 120px;
}
.p-pc-map__lineup-map-wrap table th small {
  font-size:90%;
  letter-spacing:0.1;
  font-weight:400;
}
@media screen and (max-width: 767px) {
  .p-pc-map__lineup-map-wrap {
    width: calc(100% + 6vw);
    margin: 0 -3vw;
    overflow-x: auto;
  }
  .p-pc-map__lineup-map-wrap table{
    border-top:1px solid #ccc;
    border-right:1px solid #ccc;
  }
  .p-pc-map__lineup-map-wrap table .map-price span {
    font-size: 1.4em !important;
  }
  .p-pc-map__lineup-map-wrap table th.lineup-table-col-corner {
    min-width: 3em;
    width: 60px;
    height: 50px;
  }
  .gamer-pc .p-pc-map__lineup-map-wrap .icon-scroll-cross {
    width:120px;
  }
}
.map-display {
  display: block;
  padding: 0.3em 0.5em;
  background: #ececec;
  font-weight: 700;
  border-radius: 20px;
  font-size: 12px;
  margin-bottom:5px !important;
}

.map-display {
  display: block;
  padding: 0.3em 0.5em;
  background: #ececec;
  font-weight: 700;
  border-radius: 20px;
  font-size: 12px;
  margin-bottom:5px !important;
}

@media screen and (max-width: 767px) {
  .map-display {
    font-size: 10px;
    padding: 0.2em 0.5em;
  }
}