@charset "utf-8";

/* 目玉車表示 ---------------- */

.medama_ttl { margin-top: 10px; margin-bottom: clamp(30px,4vw,60px);}
.medama_ttl .ttl { color: var(--color-sub); position: relative; padding-top: .8em; padding-left: 140px; font-size: 2.25em; font-weight: 700; }
.medama_ttl .ttl span {display: block; font-size: .7em; margin-bottom: .8em;}
.medama_ttl .ttl::before {content: ""; display: block; width: 130px; height: 130px; background: url(../img/top/medama_ttl.png) no-repeat 100%/ 100%; position: absolute; top: -20px; left: 0;}
.medama_ttl .ttl::after {content: ""; position: absolute; background-image: url(../img/medama_right.png); background-size: contain; background-repeat: no-repeat; width: 164px; height: 130px; top: 0; }


#timer { text-align:center; }
#timer .yycountdown-box { display:inline-block; margin-bottom: 1em; padding:0 .8em; color:#fff600; font-size:min(5.6vw,24px); background:#222; border:2px solid #666; border-radius:1em; }
#timer .yycountdown-box::before { content:"終了まで "; font-size:.8em; }

.recommend-list { gap: .5em; padding-block: 1em; justify-content: center;}
.recommend-list li { width: 48%; padding-bottom: .4em; box-shadow: var(--shadow); }
.recommend-list .cname { display: grid; align-items: center; min-height: 4em; font-size: clamp(12px,3vw,18px); color: var(--color-wht); line-height: 1.5; text-align: center; background-color: var(--color-base); }
.recommend-list .cname p { margin-block: unset; }
.recommend-list .cname .grade { font-size: .83em; font-weight: 500; }
.recommend-list .data { padding-inline:.6em; }
.recommend-list .info { margin-top: .7em; padding-inline: .5em; font-size: clamp(10px,2vw,14px); }
.recommend-list .info > div { gap: .7em;}
.recommend-list .info dt { width: 6em; text-align: center; }
.recommend-list .info dd { flex: 1; }

/* 検索BOX ---------------- */
.searchBox {
  margin-block:6%; padding:15px 0; border:3px solid var(--color-base); border-radius:10px;
  > form { position:relative; }
  fieldset { width:min(100%,360px); border:none;
    legend { color:var(--color-base); font-size:1.125em; font-weight:bold; line-height:1; }
    select { width:100%; padding:3px 10px; font-family:inherit; background-color:#fff; border:1px solid #ccc; border-radius:3px; }
    &.range select { max-width:46%; }
  }
  .searchBtn {
    display:block; position:relative;
    color:#fff; font-size:15px; font-weight:bold; font-family:inherit;
    border:none; border-radius:5px; background:var(--color-base); cursor:pointer;
    &::before { content:'';
      position:absolute; background:var(--color-wht);
      mask-image:url(../img/common/ico_search.svg);
      mask-repeat:no-repeat; mask-position:center; mask-size:contain;
    }
  }
}

.type-list { gap: .5em; max-width: 1000px; margin-inline: auto;
  li:not(.wide) { width: calc((100% - 1em) / 3); }
}


/* 支払総額関連 */
.price_total {
  margin:0; font-size:min(3.6vw,16px); font-weight:bold; text-align:right; line-height:1.2;
  > em { font-family:'Helvetica','Arial',sans-serif; font-size:2em; color:var(--color-red); }
  .label { }
  .manen { font-size:.9em; }
  .soldout { font-size:1.8em; }
}
dl.price_cost {
  display:grid; width:fit-content; margin-inline:auto 0;
  grid-template-columns:5em 1fr; grid-column-gap:10px;
  font-size:.9em; letter-spacing: .01em; line-height: 1.6; text-align:right; }

/* シンプル車両情報 */
.carinfo {
  display:grid; grid-template-columns:5em 1fr;
  grid-row-gap:3px; grid-column-gap:10px;
  margin-top:.2em; font-size:.9em;
  dt { text-align:center; background-color:var(--color-crm); }
}

img.obi { display: block; line-height:0; }

figure.image { position:relative; line-height:0;
  img { width: 100%; aspect-ratio: auto 4/3; }
  .frame { position:absolute; top:0; left:0; right:0; }
}

/* 在庫ページ ---------------- */
#stock {
  .order {
    .current { color:var(--color-base); text-decoration:none; }
  }
  .rowMax { font-size:1.6em; }

  .pagination { margin-block:min(6%,20px); .disabled { display:none; } }

  .carContact { position: relative; margin-top:auto; padding-inline:.6em; text-align:center;
    li + li { margin-top:.5em; }
    .tel > a {
      display:inline-block; padding-left:1.1em; font-size:1.6em; color:var(--color-base); position:relative;
      &::before {
        content:''; position:absolute; top:.2em; left:0;
        width:1em; height:1em; background:var(--color-base);
        mask-image:url(../img/common/ico_tel.svg);
        mask-repeat:no-repeat; mask-position:center; mask-size:contain;
      }
    }
    .btn {
      width:100%; padding-inline:1em 2em; border-radius:10px;
      > span { display:block; }
    }
  }

  #toiawase {
    .carContact { margin-top: 2.5em;
      li + li { margin-top:1em; }
      li.contact::after { position: absolute; content: ""; margin-left: 1em; background-image: url(../img/stock/carcontact_miura.png); background-size: contain; background-repeat: no-repeat; width: 13em; height: 12em; bottom: .55em;}
      li { max-width: 700px; }
      .btn { padding: 1em 0; }
    }
  }

/* 転売目的禁止バナー */
.banner_resale {margin-bottom: 2em;}


/* プルミエができること */
.seven_reason { width: 100%; }
.seven_reason dt { position: relative; padding: 1rem; border-top: 1px solid #dcdcdc; font-size: 1.125rem; font-weight: 700;}
.seven_reason dt::after { content: "";width: 6px;height: 6px;border-top: 2px solid #f39800;border-right: 2px solid #f39800;transform: rotate(135deg); position: absolute; top: 50%; right: 20px;-ms-transition: all .5s;transition: all .5s;margin-top: -5px;}
.seven_reason dt.active::after { transform: rotate(-45deg);}
.seven_reason .red { color: #e60012;}
.seven_reason dl { border-bottom: 1px solid #dcdcdc;}
.seven_reason dd { display: none; padding:0 1rem 1rem 1rem;}
.seven_reason dd .reason_inner { display: flex; width: 100%;}
.seven_reason dd img { width: 50%;}
.seven_reason dd p { margin: 0 1rem; width: 50%;}


  /* その他のラインナップ */
  .others .ttl-bg { margin-block:1.5em .75em; color: var(--color-wht);}
  .otherList {
    display:grid; grid-template-columns:repeat(2, 1fr);
    grid-column-gap:4%; grid-row-gap:2em;
    .cname { font-size:1.2em; }
    .price_total { margin-right:5px; > em { font-size:1.6em } }
    dl.price_cost { margin-right:5px; }
    .btn { display:block; width:fit-content; margin-inline:auto; }
  }
}
#stockList + .pagination { margin-bottom:8%; }

/* お気に入り関連 */
#sortBox .btn-list li:last-of-type { width: 14%; }
.btn.btn-favorite { width: 100%; color:#fff!important;  background:#e60012!important; border: 1px solid #e60012!important; padding-right: unset; padding-block: .3em; padding-left:1em; text-align: center; }
.btn.btn-favorite::before { content:""; position:absolute; top:0; left:1em; bottom: 0; margin: auto; width:1.2em; height:1.2em; background:url(../img/common/ico-heart-wht.svg) no-repeat center / contain; }
.btn.btn-favorite:hover { opacity: 0.5; }

.favorite { position: relative; cursor:pointer; width:40px; height:40px; margin-bottom: 10px; padding:18px 0 0; font-size:10px; text-align:center; border:1px solid #e60012; border-radius:3px; }
.favorite::before { content:""; position:absolute; top:0; left:23%; width:54%; height:26px; background:url(../img/common/ico-heart-red.svg) no-repeat center / contain; }
.favorite.add { color:#e60012; background-color:#fff; }
.favorite.del { color:#fff; background-color:#e60012; }
.favorite.del::before { background-image:url(../img/common/ico-heart-wht.svg); }

/* stockList 在庫一覧 --------------------------- */
#stockList { margin-top:2em;
  display:grid; grid-template-columns:repeat(2, 1fr);
  grid-column-gap:4%; grid-row-gap:2em;
  > li { display:flex; flex-direction:column; padding-bottom:.6em; border-bottom:1px solid #ddd; border-inline:1px solid #ddd; border-radius:10px 10px 0 0;
    .image { position:relative; }
    .favorite { position:absolute; top: .5em; right:.5em; }
    .cname {
      min-height:4em; display:flex; align-items:center;
      margin-inline:-1px; padding:.5em; color:var(--color-wht); line-height:1.4; background-color:var(--color-base); border-radius:8px 8px 0 0;
      > span {
        em { letter-spacing:-.01em; }
        .maker { font-size:.9em; }
        .grade { font-size:.9em; font-weight:normal; }
      }
    }
    .label { display: inline-block; padding: 0 1em; background: var(--color-grn); color: #fff; font-size: .75em; font-weight: 700; border-radius:5px;
      &.unused { background: var(--color-red);}
    }
    .data { padding:.5em; }
  }
}

/* zaiko 詳細 --------------------------- */

/*AJAX loading*/
#loading {
  display:table; width:100%; height:100%;
  position:fixed; top:0; left:0; background-color:#fff;
  opacity:0.8;
}
#loading .loadingMsg {
  display:table-cell; text-align:center; vertical-align:middle;
  padding-top:120px;
  background:url("../img/loading.svg") center center no-repeat;
  background-size:80px auto;
}

#zaikoDetail { position:relative;
  .carName {
    width:100%; margin-block:2em 1em; padding:.6em 1em; font-size:1.125em; font-weight:bold; background:#f6f6f6; border:1px solid #dcdcdc; }

  .lBox { width:min(100%,640px); }


  /* #slider */
  #slider { position:relative; }
  #slider .slider-num {
    position:absolute; top:5px; right:5px; z-index:1;
    padding:0 5px; color:#fff; font-size:.8em;
    background-color:rgba(0,0,0,.7);
  }
  .swiper-button-next { right:0 }
  .swiper-button-prev { left:0 }

  .car-main-slider div[class*="swiper-button"] {
    position:absolute; top:40%; width:25px; height:110px; z-index:1;
    padding:0; outline:none; appearance:none; border:none; cursor:pointer;
    background-color:rgb(255, 255, 255,.6);
  }
  .car-main-slider div[class*="swiper-button"]::after {
    font-size:1em; color:var(--color-base); }
  .car-main-slider .cap { font-size:.9em; color:#555; line-height:1.3; }

  .car-thumb-slider { cursor:pointer; }
  .car-thumb-slider .swiper-slide { padding:2px; }
  .car-thumb-slider .swiper-slide-thumb-active img { border:1px solid var(--color-red); }



  .price.flex { justify-content: flex-end; margin-bottom:1em; font-size:16px; line-height:1.2; }
  .price.flex .label { font-size:.8em; }
  .price.flex em { font-size:1.5em; font-family:'Helvetica','Arial',sans-serif; }
  .price.flex > li { display:flex; gap:.5em; }
  .price.flex .total { align-items: baseline; justify-content: flex-end; width:100%; margin-bottom:.4em; border-bottom:2px solid #dcdcdc; }
  .price.flex .total em { font-size:2em; color:#da263c; }
  .price.flex .total .label { margin-right: 1em;}
  .price.flex .def { font-size:.9em; }
  .price.flex .def .manen { font-size:.9em; }
  .price.flex .base { padding-right:1em; }
  .price.flex .tax { font-size:.85em; }

  ul.law { margin: .3em 0 0 .2em; flex:1;
    > li {
      padding-left:1.3em; font-size:.8em; line-height:1.4; position:relative;
      &::before {
      position:absolute; left:0; top:0; width:1em; height:100%;
      display:block; content:"";
      background:url(../img/common/ico-tag.svg) no-repeat center / contain; }
    }
    > li + li { margin: .5em 0 .7em;}
  }

  .data { width:100%; margin-bottom:9px; text-align:center;
    &:last-child { margin-bottom:10px;}
    th { width:50%; font-size:13px; background:#f6f6f6; border:solid 1px #dcdcdc; padding:4px 0 2px;}
    td { padding:5px 0 4px; background:#FFF; border:solid 1px #dcdcdc; }
  }

  .carContact { width:100%; margin:30px auto 1em; padding:15px 20px 7px; text-align:center; background:var(--color-l-gry); }

  .ttl-l-line { margin-block:1.5em .5em; font-size:1.2em; }

  .vehicle { width:100%; margin:0 auto 1.5em;
    tr > * { padding:5px 10px 3px; text-align:left; background:#FFF; border:solid 1px #dcdcdc; }
    th { width:15%; font-size:13px; background:#f6f6f6;}
  }
  .equip {
    display:grid; grid-template-columns:repeat(2, 1fr);
    > li { padding:5px 8px; border:1px solid #dcdcdc; }
  }

  .contactCom {
    width:100%; margin-block:min(10%,50px) 0; padding:.7em; text-align:center; font-weight:bold; color:var(--color-wht); line-height:1.5; background:var(--color-base); border-radius:10px 10px 0 0; position:relative;
    &::before {
      position:absolute; bottom:-.7em; left:50%; margin-left:-.5em;
      content:""; width:1em; height:.8em; background-color:var(--color-base);
      clip-path: polygon(0 0, 50% 100%, 100% 0); }
  }

  #toiawase {
    margin-bottom:2em; padding:1em; background-color:var(--color-l-gry);
    .contactForm { dt { margin-top:.5em; font-weight:bold; } }
  }
}

/*来店予約カレンダー*/
.reserve { width:100%; }
#rdate { padding-inline:18px; margin-block: 1em 2em; }
#rdate .slick-arrow { font-size: 0; line-height: 0; position: absolute; top: 50%; padding: 0;
  display:block; width:10px; height:10px;
  border-top:2px solid #32170d;
  border-right:2px solid #32170d; }
#rdate .slick-arrow::before { content: none;  }
#rdate .slick-arrow::after { content: none; }
#rdate .slick-prev { left: 5px; transform:rotate(-135deg); }
#rdate .slick-next { right: 5px; transform:rotate(45deg) }
#rdate button { display:block; padding-inline: 0 4px; width:100%; color:#333; text-align:center; background-color:transparent; font-size: 1.2em; border: 0; cursor: pointer; }
#rdate button:disabled { cursor:auto; }
#rdate .week { display:block; font-size: .8em; }
#rdate .week.holiday { color:#f55; }
#rdate .week.saturday { color:#0af; }
#rdate .date { display:block; font-size: .8em; padding-block:.5em 2em; border:1px solid #ddd; border-radius:3px; position:relative; }

#rdate .date.holiday { background:#fee; }
#rdate .date.saturday { background:#eef9ff; }
#rdate .no .date { background: #f7f7f7;}

#rdate .date::after {
  content:""; display:block; width:1.2em; height:1.2em;
  position:absolute; left:0; right: 0; bottom:.5em; margin-inline: auto;
  background:no-repeat center / 90%;
}
#rdate .slick-slide { margin:0; }
#rdate .ok .date::after { background-image:url("../img/common/mark-ok.svg"); }
#rdate .no .date::after { background-image:url("../img/common/mark-no.svg"); }

/* ================================================================
  レスポンシブ
=================================================================== */
/* 600以上(PC・タブレット) */
@media screen and (min-width:600px) {

  .medama_ttl {height: 130px; width: 470px; margin: 20px auto 10px;}
  .medama_ttl .ttl {padding-left: 170px;}
  .medama_ttl .ttl::before {content: ""; display: block; width: 164px; height: 130px; top: 0; left: 0;}
  .recommend-list li { width: calc((100% - 3em) / 4); padding-bottom: .4em; box-shadow: var(--shadow); }

  /* 検索BOX */
  .searchBox {
    padding:20px;
    > form { padding-right:180px; }
    .searchBtn {
      position:absolute; top:50%; right:10px; translate:0 -50%;
      padding-top:66px; width:140px; height:106px;
      transition:all .5s;
      &:hover { background:var(--color-base); }
      &::before {
        top:9%; left:50%; translate:-50% 0; width:4em; height:4em; }
    }
  }

  /* 在庫一覧 */
  #stockList {
    grid-template-columns:repeat(3, 1fr); grid-column-gap:2%;
    > li {
      .cname { padding-inline:.8em; }
    }
  }
  #stock .otherList { grid-template-columns:repeat(4, 1fr); grid-column-gap:2%; }

  /* zaiko 詳細 */
  #zaikoDetail {
    .lBox { margin-right:4%; }
    .rBox { flex:1 }

    .car-thumb-slider { padding-inline:20px; }
    .car-thumb-slider div[class*="swiper-button"] {
      top:0; margin-top:0; width:20px; height:100%; background-color:#fff;
    }
    .car-thumb-slider div[class*="swiper-button"]::after { font-size:1em; color:var(--color-base); }

    .equip {
      grid-template-columns:repeat(4, 1fr);
      > li {
        &:not(:nth-child(4n+1)) { border-left:none; }
        &:nth-child(n+5) { border-top:none; }
      }
    }

    #toiawase .contactForm {
      width:60%; margin-top:1em; margin-inline:auto;
      display:grid; grid-template-columns:10em 1fr;
      dd { padding-top:.5em; }
    }
  }
}

/* 960px以上(PC) */
@media screen and (min-width:960px) {
  #stockList {
    grid-template-columns:repeat(4, 1fr);
  }
  #sortBox .btn-list li:last-of-type { margin-inline: auto 0;}
}

/* ================================================================
  タブレット
=================================================================== */
/* 1024以下 (タブレット横以下) */
@media screen and (max-width:1024px) {
  #sortBox .btn-list li:last-of-type { width: 35%; }
  #sortBox .btn-list li:first-of-type { width: 63%; }

  #sortBox { position: sticky; top: 0; z-index: 99; }
  #sortBox .btn-list { padding-block: .5em; background-color: #fff; }

  /* お気に入り関連 */

  /* 絞り込みボタン */
  .btn.btn-filter { width: 100%; padding-inline: unset; padding-block: .3em; text-align: center; background: #22ac38; border-radius: 8px; }
  .btn.btn-filter::before { content: ""; position: absolute; top: 50%; left: 1em; width: 1.2em; height: 1em; transform: translateY(-50%); background: url(../img/common/ico_filter.svg)100% / contain no-repeat; }

}

/* 959以下 (タブレット以下) */
@media screen and (max-width:390px) {


}

/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width:599px){
  .medama_ttl .ttl { font-size: 1.6em; padding-left: 95px;}
  .medama_ttl .ttl::before { width: 90px; }
  .medama_ttl .ttl::after { width: 75px; } 
  #timer .yycountdown-box { margin-bottom: 0; }

  /* 検索BOX */
  .searchBox .searchBtn {
      width:80%; height:auto; margin:10px auto 0;
      padding-block:.7em; padding-left:2em;
      &::before {
        top:50%; left:calc(50% - 3.5em); translate:0 -50%;
        width:1.8em; height:1.8em; }
  }

  /* 在庫ページ */
  #stock .pagination :where(a,span){ width:28px; line-height:28px; }

  /* 在庫一覧 */
  #stockList .carContact :is(.tel, .contact) { display:none; }

  /* zaiko 詳細 */
  #zaikoDetail {
    .car-main-slider div[class*="swiper-button"] { width:16px; height:80px; }
    .car-main-slider div[class*="swiper-button"]::after {
      font-size:.75em; }
    .car-thumb-slider { margin-bottom:1em; padding-right:10%; }
    .car-thumb-slider div[class*="swiper-button"] { display:none; }

    .vehicle { width:100%; margin:10px auto;
      tr {
        display:flex; flex-wrap:wrap;
        > * { padding:5px 10px 3px; text-align:left; border:solid 1px #dcdcdc; box-sizing:border-box; }
        &:first-child > *:nth-child(n+3) { border-top:none; }
        &:not(:first-child) > * { border-top:none; }

        th { width:40%; font-size:13px; background:#f6f6f6;}
        td { width:60%; border-left:none; &:empty { display:none; } }
      }
    }
    .equip > li {
      &:nth-child(2n) { border-left:none; }
      &:nth-child(n+3) { border-top:none; }
    }
  }

  #stock .seven_reason dd .reason_inner { display: block; width: 100%; }
  #stock .seven_reason dd img { width: 100%; }
  #stock .seven_reason dd p { width: 100%; margin: 1em auto; }


  #stock {
    #toiawase {
      .carContact { padding: 0;
        li.contact::after { margin-left: .5em; width: 9em; height: 8em; bottom: 0; }
        li { width: 200px; }
        .btn { padding: .5em 0; }
      }
    }
  }
  
}



/************************************************
	追加
*************************************************/
.carName {
    width: 100%;
    margin-block: 2em 1em;
    padding: .6em 1em;
    font-size: 1.125em;
    font-weight: bold;
    background: #f6f6f6;
    border: 1px solid #dcdcdc;
}
.lBox{
	width:640px!important;
}
.rBox{
	width:320px!important;
	margin:0%!important;
}

.comment{
	width:100%!important;
	border:1px solid #ffd800!important;
	padding:20px !important;
	font-weight:bold!important;
}


/*========================================
 +　画像
========================================*/
#img_area{
	margin:15px 0 20px;
	position: relative;
   
}
#main_img_wrap {
	background-image:url(../images/detail/photos_bg.png);
	width: 100%;
	box-sizing:border-box;
	padding:15px 0;
	margin:0 auto 20px;
}
#main_img{
	margin:0 auto;
	width:630px;
	text-align:center;
	position:relative;
	background-color:#FFF;
}
#AP_ImgPrev{
	position:absolute;
	cursor:pointer;
	top:40%;
	left:0px;
	display:block;
	padding:15px 5px;
	background-color: rgba(255,255,255, 0.4);
}
#AP_ImgNext{
	position:absolute;
	cursor:pointer;
	top:40%;
	right:0px;
	padding:15px 5px;
	background-color: rgba(255,255,255, 0.4);
}

#s_imgArea{
	padding:0 0 0 0px;
	list-style:none;
	padding: 0;
}
#s_imgArea li{
	display:inline-block;
	width: 122px;
	margin:0px 3px 7px 0px;
	padding:0;
	text-align:center;
}
.s_img a{
	display:block;
	width: 100%;
	border:1px solid #c8b39b;
	text-decoration:none;
}
.s_img a:visited{
	text-decoration:none;
	border:1px solid #c8b39b;
}
.s_img a:hover{
	border:1px solid #633c1e;
}
.s_img_bd {
	border:1px solid #633c1e !important;
}
#price_disp{
	bottom:20px;
	right:0px;
	width:300px;
	height:45px;
	color:#000;
	line-height:45px;
	position:absolute;
}
#price_disp table{
	border:3px solid #633c1e;
	border-collapse:collapse;
	height:100%;
	box-sizing:border-box;
}
#price_disp th{
	background-image: url(../../common/images/h3_TT.gif);
	text-align:center;
	font-size:13px;
	line-height:1.1em;
}
#price_disp td{
	text-align:center;
	background-color:#FFF;
	border-right:1px solid #b8ab8c;
}
#price_disp .price{
	margin:5px 6px 0 0;
	font-size:22px;
}
#mainimage{
  pointer-events: none;
}

.btn {
    display: inline-block;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 7px;
    position: relative;
    width: 100%;
    padding: 6px;
    margin-bottom: 10px;
}


/* その他の車種 */
.others{margin:30px 0 0;}
.ttl-bg {color: #fff;margin: 30px 0 20px;}

.others .btn {
    border-radius: 28px;
    width: 70% !important;
    padding: 6px;
    margin: 10px 0;
    text-align:center;
}
.web-img{
		position:absolute;
		z-index:2;
		width:70px!important;
		left:0;
    top:0;
}
.web-img-2{
  position:absolute;
  z-index:2;
  width:70px!important;
  right:0;
  top:0;
}
.r-top-banner{margin:10px 0;}


@media screen and (max-width:980px){
  .headNav02 {height:0!important;}
  .lBox{width:100%!important;}
  .rBox{
    width:100%!important;
    margin:0!important;
  }
  #s_imgArea li {width: 23%;}
  #main_img { width:100%;}
  .r-top-banner{margin:0px 0 20px;}

  .others .btn {
    border-radius: 28px;
    width: 100% !important;
  }
  .web-img{width:45px!important;}
  .web-img-2{width:45px!important;}
}

