@charset "UTF-8";

/* Reset & Base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, ul, li, a {
  margin: 0;
  padding: 0;
}

body {
  color: #333333;
  background-color: #F7F7F7;
  font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans",'Meiryo', sans-serif;
  -webkit-text-size-adjust: 100%;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* Utility */
.is-sp {
  display: none;
}

/* Search Section */
.search {
  padding: 64px 0;
}

.search__inner {
  width: 1001px;
  margin: 0 auto;
}

.search__title {
  font-size: 43px;
  font-weight: bold;
  text-align: center;
  color: #000;
  line-height: 1.5;
}

.search__title::after {
  content: '';
  display: block;
  margin: 8px auto 0;
  width: 162px;
  height: 5px;
  background-color: #E5011F;
}

.search-block {
  margin-top: 64px;
}

.search-block__title {
  font-size: 33px;
  font-weight: bold;
  text-align: center;
  color: #000;
  margin-bottom: 24px;
  line-height: 1.2;
}

/* Maker */
.search-block--maker {
  max-width: 996px;
  margin-right: auto;
  margin-left: auto;
}

.search-maker__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px 18px;
}

.search-maker__item,
.search-maker__item--other {
  background: #fff;
  border: 1px solid #000;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  aspect-ratio: 1 / 1;
}

.search-maker__item--other {
  margin: 28px auto 0;
  aspect-ratio: auto;
  padding: 21px 0;
  max-width: 736px;
}

.search-maker__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.2;
}

.search-maker__img {
  width: 111px;
  height: 80px;
  object-fit: contain;
  margin-top: 10px;
  margin-bottom: 8px;
}

.search-maker__name {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2.4em;
}

.search-maker__item--other .search-maker__link {
  justify-content: center;
}

.search-maker__name--other {
  font-size: 24px;
  font-weight: bold;
  color: #000;
  line-height: 1.2;
}

/* Bodytype */
.search-block--bodytype {
  max-width: 996px;
  margin-right: auto;
  margin-left: auto;
}

.search-bodytype__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.search-bodytype__item {
  background: #fff;
  border: 1px solid #000;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  aspect-ratio: 1 / 1;
}

.search-bodytype__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.2;
}

.search-bodytype__img {
  width: 111px;
  height: 90px;
  object-fit: contain;
}

.search-bodytype__name {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2.4em;
  margin-top: 8px;
}

/* Price */
.search-block--price {
  max-width: 996px;
  margin-right: auto;
  margin-left: auto;
}

.search-price__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.search-price__item {
  background: #fff;
  border: 1px solid #000;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.search-price__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.search-price__link img {
  width: 111px;
  height: 111px;
  object-fit: contain;
}

/* Prefecture */
.search-prefecture {
  background-color: #fff;
  border-radius: 8px;
  display: grid;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  grid-template-columns: repeat(4, 1fr);
  gap: 8px 40px;
  padding: 28px 24px;
}

.search-prefecture__area-title {
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  text-align: left;

  display: flex;
  align-items: center;
  height: 40px;
  padding: 4px 14px;
}

.search-prefecture__list {
  display: flex;
  flex-wrap: wrap;
  padding: 16px 0;
  line-height: 1.5;
}
.search-prefecture__area:last-child .search-prefecture__list {
  padding-bottom: 38px;
}

.search-prefecture__list > li {
  margin-right: 16px;
  margin-bottom: 16px;
}

.search-prefecture__list a {
  font-size: 16px;
  font-weight: normal;
  color: #000;
  position: relative;
  padding-left: 28px;
}

.search-prefecture__list a:hover {
  opacity: 0.6;
  transition: 0.2s ease-out;
}

.search-prefecture__list a::before {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #E50020;
  border-right: 2px solid #E50020;
  transform: translateY(-50%) rotate(45deg);
}

.search-prefecture__list a.is-disabled {
  color: #CCCCCC;
  pointer-events: none;
}

.search-prefecture__list a.is-disabled::before {
  border-color: #CCCCCC;
}

/* CTA */
.search-cta {
  margin-top: 32px;
}

.search-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E50020;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  height: 80px;
  text-align: center;
}
.search-cta__button:link {
  color: #fff;
}

.search-cta__text {
  display: inline-block;
  position: relative;
  padding-left: 36px;
}

.search-cta__text::before {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

/* Hover Effect */
.search-maker__link,
.search-bodytype__link,
.search-price__link,
.search-cta__button {
  position: relative;
  transition: opacity 0.3s ease;
}

.search-maker__link::after,
.search-bodytype__link::after,
.search-price__link::after,
.search-cta__button::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	visibility: hidden;
	opacity: 0;
	background: #fff;
  border-radius: 8px;
  transition: 0.3s ease;
}

.search-maker__link:hover::after,
.search-bodytype__link:hover::after,
.search-price__link:hover::after,
.search-cta__button:hover::after {
	visibility: visible;
	opacity: 0.2;
}

.search-prefecture__list a:hover {
  opacity: 0.6;
  transition: 0.2s ease-out;
}

/* footer */
.copyrightBlock {
  width: 100%;
  padding: 10px 0 80px 0;
  margin: 0;
  background-color: #000;
  text-align: center;
  min-width: 1000px;
}

.copyrightBlock img {
  width: 170px;
  margin: 8px 0;
}

.copyrightBlock .copyR {
  font-size: 12px;
  color: #e3e3e7;
  text-align: center;
  letter-spacing: normal;
  font-weight: normal;
}

/* Responsive */
@media (max-width: 767px) {
  /* Utility */
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
  
  .search {
    padding: 40px 0;
  }
  .search__inner {
    width: auto;
    padding: 0 18px;
  }
  .search__title {
    font-size: 28px;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .search__title::after {
    width: 116px;
    height: 3px;
    margin-top: 6px;
  }
  
  .search-block {
    margin-top: 40px;
  }
  .search-block__title {
    font-size: 24px;
  }

  /* Maker */
  .search-block--maker {
    max-width: 100%;
  }
  .search-maker__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .search-maker__item {
    width: auto;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  }
  .search-maker__item--other {
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    margin: 16px auto 0;
    aspect-ratio: auto;
    padding: 16px 0;
  }
  .search-maker__img {
    width: 70%;
    height: auto;
    max-height: 70%;
    margin-top: 8px;
    margin-bottom: 2px;
  }
  .search-maker__name {
    font-size: calc((14 / 375) * 100vw);
  }
  .search-maker__name--other {
    font-size: calc((16 / 375) * 100vw);
  }

  /* Bodytype */
  .search-block--bodytype {
    max-width: 100%;
  }
  .search-bodytype__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .search-bodytype__item {
    width: auto;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  }
  .search-bodytype__img {
    width: 65%;
    height: auto;
    max-height: 65%;
  }
  .search-bodytype__name {
    font-size: calc((14 / 375) * 100vw);
    margin-top: 4px;
  }

  /* Price */
  .search-block--price {
    max-width: 100%;
  }
  .search-price__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .search-price__item {
    width: auto;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  }
  .search-price__link img {
    width: calc((85 / 375) * 100vw);
    height: calc((85 / 375) * 100vw);
  }

  /* Prefecture */
  .search-prefecture {
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
    grid-template-columns: repeat(1, 1fr);
    gap: 16px 0;
    padding: 20px 32px 20px 14px;
  }

  .search-prefecture__area:last-child .search-prefecture__list {
    padding-bottom: 20px;
  }

  /* CTA */
  .search-cta {
    margin-top: 40px;
  }
  .search-cta__button {
    font-size: 20px;
    height: 64px;
  }
  
  .search-cta__text {
    padding-left: 30px;
  }

  /* footer */
  .copyrightBlock {
    padding: 3vh 0 11vh 0;
    background-color: #000;
    min-width: auto;
  }

  .copyrightBlock img {
    width: 50vw;
    margin: 1vh 0;
  }

  .copyrightBlock .copyR {
    font-size: 2.5vw;
  }
}
