/*
 * 【はじめに】
 * 最終的には可能な限り、コメントは削除してください。
 * ここに記載しているコメントもほぼ不要です(auPay start / ecd は必要)
 * 変数の使い方
 * $ec_dir ･･･ それぞれ各ECの絶対パス(現状)
 * $ec_id ･･･ それぞれ各ECのID(CSVで設定している分)
 *
 * 例：background-image: url($ec_dir + '/img/bn_main_background_sp.jpg');
 *
 * SCSSについて
 * 例：if制御
 *  @if $shop == 1 {
 * 		#pc_header.ac img {
 *			width: initial;
 *		}
 *	}
 *
 * 今分かっている問題
 * 1.rgb()について
 *   rgba()を利用してください。うまく変換されません
 */
/* auPayについては、figureタグ等利用できないタグがあり、変換して利用する事になる
 * その変換されたタグ用にCSSを設定する必要があるので、下記コメントタグを利用し、
 * 開始・終了で閉じる事
 * また、if制御を利用して切り替えると楽
 * @if $shop == 5 {
 *	.studless .recommend > h3 > img {
 *		width: 100%;
 *	}
 * } @else {
 *	.studless .recommend > div img {
 *		width: 100%;
 *	}
 * }
 */
@charset "utf-8";
header nav a, h1, h2, h3, .fv span, #sponsor dt, .foot_menu a {
  font-family: source-han-sans-japanese, sans-serif;
  color: #e2dfdf;
  font-weight: 900; }

header nav a small, h2 small, h3 small, p, figcaption, a, small, .area_ab, .caution, #size table {
  font-family: kozuka-gothic-pr6n, sans-serif;
  color: #e2dfdf;
  font-weight: 400; }

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.berlin img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto; }

.berlin .video > div {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
  margin-bottom: 10px; }

.berlin .video > div > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.berlin {
  position: relative;
  overflow: hidden;
  background-color: #171314; }

.berlin main > section, .berlin .wrap_bg > section {
  padding: 10vw 0 5vw; }

.berlin h2 {
  text-align: center;
  font-size: 6.65vw;
  background-color: #de0515;
  line-height: 1.8;
  margin-bottom: 10vw; }

.berlin h2 small {
  display: block;
  font-size: 0.52em; }

.berlin .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.berlin br.pc {
  display: none; }

.berlin .breadcrumb {
  background-color: #171314;
  padding: 5px; }

.berlin .breadcrumb a, .berlin .breadcrumb span {
  color: #e2e2e1;
  font-size: 12px;
  margin-right: 5px; }

.berlin .aw_header {
  background-color: #3e3a39;
  padding: 10px; }

.berlin .aw_header a {
  display: block;
  width: 150px;
  margin-left: auto; }

.berlin .top_menu, .berlin .foot_menu {
  padding: 5vw 3vw; }

.berlin .top_menu > a {
  display: block;
  width: 65%;
  margin: 0 auto 5vw 0; }

.berlin .top_menu div, .berlin .foot_menu div {
  width: 100%; }

.berlin .top_menu div a, .berlin .foot_menu div a {
  background-color: #de0515;
  padding: 0.5em 0;
  display: block;
  width: 7em;
  text-align: center;
  margin: 0 1%;
  font-size: 4.8vw; }

.berlin.uhp1 .fv {
  background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp1.png") left 2vw bottom -20vw / 50% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp1_sp.jpg") center / cover no-repeat; }

.berlin.uhp2 .fv {
  background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp2.png") left 2vw bottom -20vw / 50% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp2_sp.jpg") center / cover no-repeat; }

.berlin .fv {
  padding: 5vw 0 56vw;
  margin-bottom: 5vw; }

.berlin .fv div {
  text-align: center; }

.berlin .fv h1 {
  font-size: 8vw;
  line-height: 1.5;
  margin-bottom: 0.5em; }

.berlin .fv h1 small {
  display: block;
  font-size: 0.44em; }

.berlin .fv div span {
  padding: 0 2em;
  background-color: #d3c46d;
  font-size: 4.2vw;
  color: #231815; }

.berlin .link_size {
  margin-bottom: 10vw; }

.berlin .link_size a {
  display: block;
  background-color: #de0515;
  font-size: 6.65vw;
  padding: 0.5em 2em 0.5em 1em;
  width: 13em;
  box-sizing: border-box;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%); }

.berlin .link_size a small {
  font-size: 0.5em;
  margin-left: 1em; }

.berlin .detail .text {
  width: 95%;
  margin: 0 auto 10vw;
  line-height: 1.8; }

.berlin .detail .text .main {
  font-size: 4.5vw;
  margin-bottom: 5vw;
  font-weight: 700; }

.berlin .detail .text .sub {
  font-size: 3.5vw; }

.berlin .ability {
  width: 100%;
  margin: 0 auto 15vw; }

.berlin .area_ab {
  border: 1px solid rgba(225, 222, 222, 0.5);
  padding: 1.5vw;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto 2px;
  box-sizing: border-box; }

.berlin .area_box_ab {
  width: 60%;
  justify-content: space-between; }

.berlin .box_ab {
  border: 1px solid #cc131c;
  width: 4vw;
  height: 5vw; }

.berlin .box_ab.active {
  background-color: #de0515; }

.berlin .num_ab {
  font-size: 5.3vw;
  font-weight: 900; }

.berlin .name_ab {
  font-size: 3.7vw;
  width: 6em;
  font-weight: 900; }

.berlin .caution {
  display: block;
  font-size: 3.2vw;
  font-weight: 900;
  margin-top: 3vw;
  text-align: center; }

.berlin .caution::before {
  content: '※'; }

.berlin .area_img {
  width: 95%;
  margin: 0 auto 10vw;
  position: relative; }

.berlin .area_img ul {
  width: 90%;
  margin: 0 auto;
  justify-content: space-between; }

.berlin .area_img .main {
  width: 100%;
  height: 85.5vw;
  background-color: #e2dfdf;
  margin-bottom: 4vw; }

.berlin .area_img .main img {
  height: 75vw; }

.berlin .area_img .sub {
  width: 32%;
  height: 27.36vw;
  background-color: #e2dfdf; }

.berlin .area_img .sub img {
  height: 24vw; }

.berlin .area_img .btn {
  color: #d22528;
  position: absolute;
  font-size: 12vw;
  font-weight: 900;
  bottom: 7vw; }

.berlin .area_img .prev {
  left: -2vw; }

.berlin .area_img .next {
  right: -2vw; }

.berlin #size table {
  width: 95%;
  margin: 0 auto 10vw;
  font-size: 4vw;
  text-align: center; }

.berlin #size .inch {
  min-width: 3.5em; }

.berlin #size .oblateness {
  min-width: 3.5em; }

.berlin #size .size {
  width: 9999px; }

.berlin #size .buy {
  min-width: 4.5em; }

.berlin #size th {
  background-color: #e1dede;
  color: #171314;
  border: 1px solid #e1dede;
  border-right: 1px solid #171314;
  vertical-align: middle;
  font-weight: 500;
  padding: 0.5em 0; }

.berlin #size th:last-of-type {
  border-right: 1px solid #e1dede; }

.berlin #size td {
  border: 1px solid #e1dede;
  vertical-align: middle;
  font-weight: 500; }

.berlin #size td a {
  font-weight: 500;
  padding: 0.4em 0;
  display: block; }

.berlin #size .com_sn {
  font-weight: 400;
  color: #bdbdbd;
  display: block; }

.berlin #size td.size a, .berlin #size td.size .com_sn {
  text-align: left;
  padding: 0.5em 0 0.5em 1.3em; }

.berlin #size td.buy {
  padding: 0.1em 0; }

.berlin #size td.buy a {
  width: 3.5em;
  background-color: #de0515;
  border-radius: 0.5em;
  margin: 0 auto; }

.berlin #size td.buy .com_sn {
  font-size: 0.9em; }

.berlin footer .partner {
  padding: 30px 0; }

.berlin footer .partner img {
  max-width: 300px; }

.berlin footer .partner span img {
  margin: 20px auto; }

.berlin footer nav ul {
  margin-top: 7vw;
  background-color: #3e3a39;
  padding: 10vw 2.5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.berlin footer nav ul li a {
  display: block;
  font-size: 14px;
  margin: 0.5em 1em; }

.berlin footer small {
  display: block;
  background-color: #3e3a39;
  padding-bottom: 5vw;
  font-size: 12px;
  text-align: center; }

.berlin .page_top {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background-color: #da1821;
  font-size: 12px;
  font-weight: 700;
  flex-direction: column;
  position: fixed;
  bottom: 20px;
  right: 10px; }

.berlin .page_top::before {
  content: '';
  width: 35px;
  height: 23px;
  background-color: #e2e2e1;
  margin-bottom: 5px;
  clip-path: polygon(50% 0, 100% 80%, 85% 100%, 50% 45%, 15% 100%, 0 80%); }

.berlin .page_top span {
  transform: scaleX(0.8); }

@media screen and (min-width: 768px) {
  .berlin main > section, .berlin .wrap_bg > section {
    padding: 10vw 0 0; }
    .berlin h2 {
      font-size: 3.66vw;
      margin-bottom: 10vw; }
    .berlin br.sp {
      display: none; }
    .berlin br.pc {
      display: block; }
    .berlin .breadcrumb {
      background-color: transparent;
      position: absolute;
      top: 10px;
      left: 0;
      padding-left: 10px; }
    .berlin .breadcrumb a, .berlin .breadcrumb span {
      font-size: 14px;
      margin-right: 10px; }
    .berlin .top_menu {
      padding: 3vw 2vw;
      justify-content: space-between;
      max-width: 1024px;
      margin: 0 auto;
      box-sizing: border-box; }
    .berlin .foot_menu {
      padding: 0; }
    .berlin .top_menu > a {
      width: 30%;
      max-width: 394px;
      margin: 0;
      transition: 0.3s; }
    .berlin .top_menu > a:hover {
      transform: scale(1.1); }
    .berlin .top_menu div, .berlin .foot_menu div {
      width: 39%;
      max-width: 380px;
      justify-content: space-between; }
    .berlin .foot_menu div {
      width: 37%; }
    .berlin .foot_menu div {
      margin: 0 auto; }
    .berlin .top_menu div a, .berlin .foot_menu div a {
      font-size: 2.56vw;
      margin: 0;
      position: relative;
      z-index: 0;
      transition: 0.3s; }
    .berlin .top_menu div a:hover, .berlin .foot_menu div a:hover {
      color: #de0515; }
    .berlin .top_menu div a::before, .berlin .foot_menu div a::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      background-color: #e2dfdf;
      transform-origin: left top;
      transform: scale(0, 1);
      transition: transform 0.3s; }
    .berlin .top_menu div a:hover::before, .berlin .foot_menu div a:hover::before {
      transform: scale(1, 1); }
    .berlin.uhp1 .fv {
      background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp1.png") left 7vw bottom 0 / 30% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp1_pc.jpg") center top / contain no-repeat; }
    .berlin.uhp2 .fv {
      background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp2.png") left 7vw bottom 0 / 30% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp2_pc.jpg") center top / contain no-repeat; }
    .berlin .fv {
      max-width: 1024px;
      padding: 3vw 0 37vw;
      margin: 0 auto 10vw; }
    .berlin .fv div {
      margin-left: 25%; }
    .berlin .fv h1 {
      font-size: 4.39vw;
      line-height: 1.3;
      margin-bottom: 0.4em; }
    .berlin .fv div span {
      font-size: 2.34vw; }
    .berlin header {
      position: relative; }
    .berlin .link_size {
      position: absolute;
      margin-bottom: 0;
      bottom: 0;
      right: 4vw; }
    .berlin .link_size a {
      font-size: 3.66vw;
      position: relative;
      z-index: 0;
      transition: 0.3s; }
    .berlin .link_size a:hover {
      color: #de0515; }
    .berlin .link_size a::before {
      content: '';
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #e2dfdf;
      transform-origin: left top;
      transform: scale(0, 1);
      transition: transform 0.3s; }
    .berlin .link_size a:hover::before {
      transform: scale(1, 1); }
    .berlin .link_size a small {
      transition: 0.3s; }
    .berlin .link_size a:hover small {
      color: #de0515; }
    .berlin .detail {
      max-width: 1024px;
      margin: 0 auto;
      align-items: flex-start; }
    .berlin .detail .text {
      width: 50%;
      order: 2; }
    .berlin .detail .text .main {
      font-size: 2.2vw;
      margin-bottom: 3vw; }
    .berlin .detail .text .sub {
      font-size: 1.57vw; }
    .berlin .ability {
      width: 50%;
      order: 1;
      margin-bottom: 10vw; }
    .berlin .area_ab {
      padding: 0.5vw; }
    .berlin .box_ab {
      width: 2vw;
      height: 2.5vw; }
    .berlin .num_ab {
      font-size: 2.49vw; }
    .berlin .name_ab {
      font-size: 1.75vw; }
    .berlin .caution {
      font-size: 1.57vw;
      margin-top: 2vw; }
    .berlin .area_img {
      width: 60%;
      max-width: 614px;
      margin-bottom: 5vw; }
    .berlin .area_img .main {
      height: 52.8vw;
      max-height: 540px;
      margin-bottom: 2vw; }
    .berlin .area_img .main img {
      height: 45vw;
      max-height: 460px; }
    .berlin .area_img .sub {
      height: 16.9vw;
      max-height: 173px;
      transition: 0.3s;
      cursor: pointer; }
    .berlin .area_img .sub:hover {
      background-color: #d3c46d; }
    .berlin .area_img .sub img {
      height: 15vw;
      max-height: 153px; }
    .berlin .area_img .btn {
      font-size: 9vw;
      bottom: 3.6vw;
      cursor: pointer;
      transition: 0.3s; }
    .berlin .area_img .btn:hover {
      color: #d3c46d; }
    .berlin #size table {
      width: 58%;
      max-width: 590px;
      font-size: 2vw; }
    .berlin #size .inch {
      min-width: 4.5em; }
    .berlin #size .oblateness {
      min-width: 4.5em; }
    .berlin #size .buy {
      min-width: 5.5em; }
    .berlin #size td.size a, .berlin #size td.size .com_sn {
      padding: 0.5em 0 0.5em 2.3em;
      position: relative;
      z-index: 0;
      transition: 0.3s; }
    .berlin #size td.buy a {
      width: 4.5em;
      position: relative;
      z-index: 0;
      transition: 0.3s; }
    .berlin #size td.buy a:hover {
      color: #de0515; }
    .berlin #size td.buy a::before {
      content: '';
      position: absolute;
      z-index: -1;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border-radius: 0.5em;
      background-color: #e2dfdf;
      transform-origin: right top;
      transform: scale(0, 1);
      transition: transform 0.3s; }
    .berlin #size td.buy a:hover::before {
      transform-origin: left top;
      transform: scale(1, 1); }
    .berlin #size td.size a::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 4px;
      background-color: #de0515;
      transform-origin: right top;
      transform: scale(0, 1);
      transition: transform 0.3s; }
    .berlin #size td.size a:hover::before {
      transform-origin: left top;
      transform: scale(1, 1); }
    .berlin footer .partner {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      padding: 30px 0 0; }
    .berlin footer .partner img {
      margin: 0; }
    .berlin footer .partner span img {
      margin: 0 20px; }
    .berlin footer nav ul {
      margin-top: 5vw;
      padding: 5vw 2.5%; }
    .berlin .page_top:hover::before {
      transition: 0.3s; }
    .berlin .page_top span {
      transition: 0.3s; }
    .berlin .page_top:hover span {
      color: #da1821; }
    .berlin .page_top span::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-color: #e2e2e1;
      left: 0;
      bottom: 0;
      transform-origin: right top;
      transform: scale(0, 1);
      transition: transform 0.3s; }
    .berlin .page_top:hover span::after {
      transform-origin: left top;
      transform: scale(1, 1); } }

@media screen and (min-width: 1024px) {
  .berlin main > section, .berlin .wrap_bg > section {
    padding: 100px 0 0; }

  .berlin h2 {
    font-size: 37px;
    margin-bottom: 100px; }

  .berlin .top_menu {
    padding: 30px 20px; }

  .berlin .top_menu div a, .berlin .foot_menu div a {
    font-size: 26px; }

  .berlin.uhp1 .fv {
    background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp1.png") left 70px bottom 0 / 30% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp1_pc.jpg") center top / contain no-repeat; }

  .berlin.uhp2 .fv {
    background: url("/asp/photo/auction/brand/berlin/img/img_tire_uhp2.png") left 70px bottom 0 / 30% no-repeat, url("/asp/photo/auction/brand/berlin/img/bg_fv_uhp2_pc.jpg") center top / contain no-repeat; }

  .berlin .fv {
    padding: 30px 0 379px;
    margin: 0 auto 100px; }

  .berlin .fv h1 {
    font-size: 45px; }

  .berlin .fv div span {
    font-size: 24px; }

  .berlin .link_size {
    right: calc(50% - 464px); }

  .berlin .link_size a {
    font-size: 37px; }

  .berlin .detail .text .main {
    font-size: 22px;
    margin-bottom: 30px; }

  .berlin .detail .text .sub {
    font-size: 16px; }

  .berlin .ability {
    margin-bottom: 100px; }

  .berlin .area_ab {
    padding: 5px; }

  .berlin .box_ab {
    width: 20px;
    height: 25px; }

  .berlin .num_ab {
    font-size: 25px; }

  .berlin .name_ab {
    font-size: 18px; }

  .berlin .caution {
    font-size: 14px;
    margin-top: 20px; }

  .berlin .area_img {
    margin-bottom: 50px; }

  .berlin .area_img .main {
    margin-bottom: 20px; }

  .berlin .area_img .btn {
    font-size: 90px;
    bottom: 36px; }

  .berlin .area_img .prev {
    left: -20px; }

  .berlin .area_img .next {
    right: -20px; }

  .berlin #size table {
    font-size: 20px;
    margin-bottom: 100px; }

  .berlin footer nav ul {
    margin-top: 50px;
    padding: 50px 2.5%; }

  .berlin footer small {
    padding-bottom: 50px; } }
