@charset "UTF-8";
@import url("root.css");

/***************************************
------------- TOP MAIN IMG -------------
***************************************/
#mv {
  width: 100%;
  height: auto;
  max-height: 600px;
  background: url(../img/bg_pattern_bk.webp) repeat;
  background-position: top center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: -2;
}
#mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: min(100%, 600px);
  aspect-ratio: 1/3;
  background: url(../img/bg_wing_bk.svg) no-repeat top center / cover;
  display: block;
  z-index: -1;
}
#mv::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: min(100%, 600px);
  aspect-ratio: 1/3;
  background: url(../img/bg_wing_bk.svg) no-repeat top center / cover;
  display: block;
  rotate: 180deg;
  z-index: -1;
}

.mv_wrap {
  position: relative;
  width: min(100%, 1200px);
  height: min(100%, 600px);
  margin: auto;
}
.mv_wrap .container img {
  display: block;
  /*z-index: 2;*/
  width: min(100%, 650px);
  aspect-ratio: 630/495;
  object-fit: contain;
  margin: 4.7% auto 4.9%;
  position: relative;
}
img.mv_item_l {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 400/600;
  object-fit: contain;
}
img.mv_item_r {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 360/600;
  object-fit: contain;
}

@media (max-width: 599px) {
  #mv {
    max-height: auto;
    margin-top: 65px;
  }
  .top_img_sp {
    margin-top: 0px;
  }
}

/***************************************
------------- desc -------------
***************************************/
.desc {
  font-size: calc(17px + 3 * (100vw - 320px) / 880);
  line-height: 160%;
}
@media only screen and (min-width: 1200px) {
  .desc {
    font-size: 2rem;
  }
}

/***************************************
------------- NEWS -------------
***************************************/
#news {
  margin-bottom: clamp(50px, 10vw, 100px);
}
.news_wrap {
  width: 94%;
  margin: auto;
}
.news_list {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  dt a,
  dd a {
    width: fit-content;
    display: flex;
    flex-shrink: 0;
    font-size: 1.8rem;
  }
  dd a {
    color: var(--text-color);
    font-weight: 500;
  }
  dd a:hover {
    text-decoration: underline;
  }
}
.news_list:not(:last-of-type) {
  padding-bottom: 2rem;
  border-bottom: 2px dotted #999;
  margin-bottom: 2rem;
}
@media (max-width: 599px) {
  .news_list {
    flex-wrap: wrap;
    dt {
      width: 100%;
      margin-bottom: 1rem;
    }
    dd {
      width: 100%;
    }
  }
}

/***************************************
------------- GREETING -------------
***************************************/
#greeting {
  width: 100%;
  padding: clamp(50px, 10vw, 100px) 0;
  background: #aaa;
  background-position: top center;
  background-size: cover;
  position: relative;
  z-index: -1;
}
#greeting::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: -50px;
  height: 100%;
  aspect-ratio: 65/200;
  display: block;
  /* background: url(../img/bg_wing_bk.svg) no-repeat top center / cover; */
}
#greeting::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  right: -50px;
  height: 100%;
  aspect-ratio: 65/200;
  display: block;
  /* background: url(../img/bg_wing_bk.svg) no-repeat top center / cover; */
  rotate: 180deg;
}
#greeting .greeting_wrap {
  width: 100%;
  padding: min(7.5vw, 50px);
  background: #fff;
  border-radius: 4px;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}
#greeting h2 {
  font-size: calc(18px + 30 * (90vw - 350px) / 880);
  font-weight: 700;
  width: 100%;
  text-align: center;
  padding-bottom: 2rem;
  margin-bottom: min(10vw, 5rem);
  position: relative;
}
#greeting h2::before,
#greeting h2::after {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  width: clamp(74px, 15vw, 88px);
  height: auto;
  aspect-ratio: 88/149;
  object-fit: cover;
  top: 50%;
  z-index: -1;
}
#greeting h2::before {
  background-image: url("../img/ttl_left.webp");
  transform: translate(-50%, -50%);
  left: clamp(10px, 2vw, 20px);
}
#greeting h2::after {
  background-image: url("../img/ttl_right.webp");
  transform: translate(50%, -50%);
  right: clamp(10px, 2vw, 20px);
}
@media (min-width: 1025px) {
  #greeting h2::before {
    transform: translate(25%, -50%);
    left: 0;
  }
  #greeting h2::after {
    transform: translate(-25%, -50%);
    right: 0;
  }
}

#greeting h2 span {
  display: block;
  font-weight: 700;
  font-size: calc(32px + 32 * (100vw - 320px) / 880);
  color: red;
}
@media only screen and (min-width: 1200px) {
  #greeting h2 {
    font-size: 4.8rem;
  }
  #greeting h2 span {
    font-size: 6.4rem;
  }
}

#greeting .contents_wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 5%;
  align-items: flex-start;
}
.greeting_img {
  flex-shrink: 0;
  width: calc(100% / 3);
  order: 2;
}
.greeting_txt {
  flex-shrink: 1;
  order: 1;
}

@media (max-width: 599px) {
  #greeting .contents_wrap {
    flex-wrap: wrap;
  }
  .greeting_img {
    flex-shrink: 0;
    width: 100%;
    margin: 0 auto clamp(15px, 3vw, 30px);
    text-align: center;
    order: 1;
  }
  .greeting_txt {
    flex-shrink: 0;
    width: 100%;
    order: 2;
  }
}
/***************************************
------------- 買取実績 -------------
***************************************/
#result {
  margin-bottom: clamp(50px, 10vw, 100px);
}
#result .desc {
  text-align: center;
  margin: 0 auto clamp(15px, 3vw, 30px);
}
#result .contents_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(25px, 5vw, 50px) 2%;
}
.result_box {
  width: calc(94% / 4);
  border-radius: 5px;
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}
.result_box .result_img img {
  aspect-ratio: 5 / 3;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}
.txt_wrap p.cat {
  width: 100%;
  background: var(--base-color01);
  padding: 5px;
  text-align: center;
  font-size: 1.4rem;
  color: var(--base-color04);
  font-weight: 700;
  margin: 0;
}
.txt_wrap .date {
  text-align: right;
  width: 100%;
  justify-content: flex-end;
  margin: 10px;
  line-height: 1;
  font-size: 90%;
}
@media (max-width: 768px) {
  .result_box {
    width: calc(96% / 3);
  }
  #result .desc {
    text-align: left;
  }
}
@media (max-width: 599px) {
  .result_box {
    width: calc(98% / 2);
  }
}
/***************************************
------------- 買取品目 -------------
***************************************/
#itemlist {
  width: 100%;
  /* background: url(../img/bg_pattern_bk.webp) repeat; */
  position: relative;
  z-index: -1;
}

#itemlist .midashi_ttl {
  margin: 0 auto;
  padding: clamp(50px, 10vw, 100px) 0 clamp(35px, 5vw, 50px);
}

#itemlist .contents_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(10px, 1.2vw, 12px) 1%;
  padding-bottom: clamp(50px, 10vw, 100px);
}
.itemlist_box {
  width: calc(97% / 4);
}
.itemlist_box {
  border-radius: 5px;
  overflow: hidden;
  background-color: var(--base-color04);
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
}

.itemlist_box a {
  color: var(--base-color04);
}

.itemlist_box p {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background-color: var(--base-color01);
  padding: 5px 5px 8px 8px;
  font-weight: 500;
  text-align: center;
  font-size: calc(14px + 4 * (100vw - 320px) / 880);
  position: relative;
}
.itemlist_box p::before {
  content: "";
  display: block;
  background: url(../img/svg/icn_arw_right_wh.svg) no-repeat;
  background-position: top center;
  background-size: contain;
  width: 8px;
  height: auto;
  aspect-ratio: 10/17;
  object-fit: cover;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translate(-50%, -50%);
}

@media only screen and (min-width: 1200px) {
  .itemlist_box p {
    font-size: 1em;
  }
}

@media (max-width: 1024px) {
  .itemlist_box {
    width: calc(96% / 3);
  }
}

@media (max-width: 768px) {
  #itemlist .contents_wrap {
    gap: clamp(10px, 1.2vw, 12px) 2%;
  }
  .itemlist_box {
    width: calc(98% / 2);
  }
}
/***************************************
------------- 査定方法 -------------
***************************************/

#method .desc {
  text-align: center;
  margin: 0 auto clamp(15px, 3vw, 30px);
}

#method .desc span {
  color: var(--base-color01);
}

#method .contents_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(25px, 5vw, 50px) 2.5%;
}
.method_box {
  border-radius: 5px;
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.2));
  width: calc(95% / 3);
}

.method_ttl {
  position: relative;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  background: var(--base-color01);
  font-size: clamp(2.8rem, 4.8vw, 3.6rem);
  line-height: 1;
  display: flex;
  flex-direction: column;
  span {
    font-size: 0.45em;
    font-weight: bold;
    margin: 0;
    padding: 0;
  }
  h3 {
    font-weight: bold;
    margin: 2px 0 10px;
    padding: 0;
  }
}
.method_ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 4px;
  background: var(--base-color02);
}
.method_box .osusume {
  margin-top: 20px;
  padding: 0 15px;
  width: 100%;
  line-height: 1;
  p {
    font-weight: bold;
    text-align: center;
    color: var(--base-color01);
    padding-bottom: 10px;
    border-bottom: 2px solid;
    border-bottom-color: var(--base-color01);
    margin-bottom: 15px;
  }
  ul.check {
    li {
      display: flex;
      align-items: center;
    }
    li:not(:last-of-type) {
      margin-bottom: 0.5rem;
    }
    li::before {
      content: "";
      display: block;
      background: url(../img/svg/icn_check_rd.svg) no-repeat;
      background-position: top center;
      background-size: contain;
      width: 20px;
      height: auto;
      margin-top: 3px;
      margin-right: 10px;
      aspect-ratio: 86 / 75;
      object-fit: cover;
    }
  }
}

.method_txt {
  padding: 0 15px;
  margin-top: clamp(10px, 2vw, 20px);
}
.method_box p {
  text-align: center;
}
.method_txt a {
  width: clamp(200px, 24vw, 240px);
  background: var(--base-color03);
  color: #fff;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1;
  margin: clamp(10px, 2vw, 20px) auto;
  padding: 10px 20px 13px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 35px;
  position: relative;
}
.method_txt a::after {
  content: "";
  position: absolute;
  display: block;
  background: url(../img/svg/icn_arw_right_gd.svg) no-repeat;
  background-position: top center;
  background-size: contain;
  width: 10px;
  height: auto;
  aspect-ratio: 10 / 14;
  object-fit: cover;
  top: 50%;
  right: min(10%, 20px);
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  #method .desc {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .method_box {
    width: 100%;
  }
}
.method_line,
.method_clean {
  width: 100%;
}
