@charset "UTF-8";
/* =========================
  for PC
========================= */
/* common */
body,h1,h2,h3,p,div,dl,dt,dd,ul,lispan,picture {
  margin: 0;
  padding: 0;
}
h1,h2 {
  font-weight: 500;
}
ul,li {
  list-style: none;
}
img {
  vertical-align: bottom;
  height: auto;
  width: 100%;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
	color: #fff;
	font-size: 18px;
  line-height: 32px;
  letter-spacing: .1em;
  background-color: #000;
}
a {
  color: #fff;
  display: inline-block;
}
a img {
  transition: all .3s ease;
}
a:hover img {
  opacity: .7;
}
.inner {
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
}
.onlySp {
  display: none;
}


/* header */
header {
  position: relative;
}
header .inner {
  z-index: 0;
}
header h1 {
  position: absolute;
  left: 0;
  top: 0;
  line-height: .1;
  z-index: 2;
}
header h2 {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1301px) {
  header {
    background: url("../img/mv_bg.jpg") center top no-repeat;
  }
}
@media screen and (max-width: 768px) {
  header h1 {
    width: calc( 342 / 1300 * 100% );
  }
}


/* main */
main {
  position: relative;
  padding: 20px 0 0;
}
#top main {
  padding: 0;
}
main .pankuzu {
  display: block;
  max-width: 1300px;
  margin: 0 auto;
  padding-bottom: calc( 80 / 1300 * 100% );
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.1em;
}
main .pankuzu strong {
  color: #cb2121;
  font-weight: 400;
}
main section {
  padding-bottom: calc( 200 / 1300 * 100% );
}
#top main section {
  padding-bottom: 0;
}

/* concept */
#concept {
}
@media screen and (min-width: 1301px) {
  #concept {
    background: url("../img/concept_bg.jpg") center top no-repeat;
  }
}


/* company */
#company a {
  position: absolute;
  left: calc( 711 / 1300 * 100% );
  top: calc( 480 / 782 * 100% );
  line-height: .1;
  width: calc( 261 / 1300 * 100% );
}
@media screen and (max-width: 768px) {
  #company a {
  }
}


/* stockcars */
#stockcars a {
  position: absolute;
  left: calc( 365 / 1300 * 100% );
  top: calc( 607 / 855 * 100% );
  line-height: .1;
  width: calc( 260 / 1300 * 100% );
}
#stockcars a.goo {
  left: calc( 675 / 1300 * 100% );
}
@media screen and (min-width: 1301px) {
  #stockcars {
    background: url("../img/stockcars_bg.jpg") center top no-repeat;
  }
}


/* service */
#service a {
  position: absolute;
  left: calc( 885 / 1300 * 100% );
  top: calc( 280 / 494 * 100% );
  line-height: .1;
  width: calc( 56 / 1300 * 100% );
}
#service a.insta {
  left: calc( 1006 / 1300 * 100% );
}
@media screen and (min-width: 1301px) {
  #service {
    background: url("../img/service_bg.jpg") center top no-repeat;
  }
}


/* contact */
#contact {
  background-color: #cb2121;
}
#contact .inner {
  padding: 60px 0;
  display: flex;
  justify-content: center;
}
#contact a {
  display: block;
  margin: 0 calc( 25 / 1300 * 100% );
}


/* footer */
footer {
  background-color: #292929;
  line-height: .1;
}
footer .links {
  border-bottom: #484848 solid 1px;
}
footer .info {
  border-top: #000 solid 1px;
  border-bottom: #484848 solid 1px;
}
footer .pagetop {
  border-top: #000 solid 1px;
  padding: 23px 0 29px;
  text-align: center;
}
footer .links ul.menu {
  padding:  calc( 100 / 1300 * 100% ) 0 calc( 100 / 1300 * 100% );
  display: flex;
}
footer .links ul.menu li {
  margin-right: calc( 38 / 1300 * 100% );
  width: calc( 120 / 1300 * 100% );
}
footer .links ul.menu li.stockcars {
  width: calc( 145 / 1300 * 100% );
}
footer .links ul.menu li.service {
  width: calc( 102 / 1300 * 100% );
}
footer .links div.sns {
  position: absolute;
  right: 0;
  top: calc( 80 / 216 * 100% );
  width: calc( 500 / 1300 * 100% );
  text-align: right;
}
footer .links div.sns a {
  width: calc( 56 / 500 * 100% );
  margin-left: calc( 38 / 500 * 100% );
}
footer .info .inner {
  background: url("../img/ftr_logo.png") left center / calc( 210 / 1300 * 100% ) auto no-repeat;
}
footer .info dl {
  padding: calc( 51 / 1300 * 100% ) 0 0;
  margin-left: calc( 240 / 1300 * 100% );
}
footer .info dl dt {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: calc( 14 / 1300 * 100% );
}
footer .info dl dd {
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.05em;
}
footer .info p.copyright {
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.05em;
  margin-top: -1.5em;
  text-align: right;
  padding-bottom: calc( 59 / 1300 * 100% );
}
@media screen and (max-width: 768px) {
  footer .info dl dt {
    font-size: calc( 20 / 1300 * 100vw );
    line-height: 1;
    letter-spacing: 0.05em;
  }
  footer .info dl dd {
    font-size: calc( 16 / 1300 * 100vw );
    line-height: calc( 26 / 1300 * 100vw );
    letter-spacing: 0.05em;
  }
  footer .info p.copyright {
    font-size: calc( 16 / 1300 * 100vw );
    line-height: calc( 26 / 1300 * 100vw );
    letter-spacing: 0.05em;
    margin-top: -1.5em;
    text-align: right;
  }
}

