/********************
contact
********************/
/*
hero
*/
.bsp.contact #hero {
  font-size: min(1.25vw, 18px);
}
.bsp.contact #hero .hero_wrap {
  position: relative;
  margin-top: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bsp.contact #hero .hero_wrap .bg_img {
  width: 100%;
}
.bsp.contact #hero .hero_wrap .hero_txt {
  position: absolute;
  text-align: center;
}
.bsp.contact #hero .hero_wrap .hero_txt .hero_lead {
  width: 13.49em;
  max-width: 242.82px;
  margin: 0 auto;
}
.bsp.contact #hero .hero_wrap .hero_txt h1 {
  font-size: min(2.78vw, 40px);
  line-height: 2.125;
  margin-top: 0.8em;
  color: #fff;
}

@media screen and (max-width: 1023px) {
  .bsp.contact #hero .hero_wrap {
    margin-top: 85px;
  }
}
@media screen and (max-width: 767px) {
  .bsp.contact #hero .hero_wrap {
    margin-top: calc(60px + 6.67vw);
  }
  .bsp.contact #hero .hero_wrap .hero_txt .hero_lead {
    width: 46.25vw;
    max-width: 46.25vw;
  }
  .bsp.contact #hero .hero_wrap .hero_txt h1 {
    font-size: 5.33vw;
    margin-top: 0.8em;
  }
}
/*
contact
*/
.bsp.contact #contact {
  font-size: min(1.25vw, 18px);
  margin-top: 8.33em;
}
.bsp.contact #contact .contact_intro p {
  font-size: min(2.43vw, 35px);
  text-align: center;
}
.bsp.contact #contact .contact_intro p.note {
  font-size: min(0.97vw, 14px);
  border: 1px solid #CBC3AC;
  padding: 2em;
  margin-top: 5.36em;
}
.bsp.contact #contact .contact_wrap {
  margin-top: 4.44em;
}
.bsp.contact #contact .contact_wrap .ly_df {
  flex-wrap: wrap;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 22.58%;
  margin-bottom: 5.28em;
  text-align: left;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item + .contact_item {
  margin-left: 3.22%;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(3) .item_txt > img {
  height: 0.86em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(5) {
  margin-left: 0;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(0.83vw, 12px);
  height: 2.08em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data span a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data .branch {
  background: #0F2743;
  color: #fff;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data .department {
  display: flex;
  border: 1px solid #002146;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data .department span {
  width: 100%;
  height: 2.92em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img_data .department span + span {
  border-left: 1px solid #002146;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt p {
  font-size: min(1.74vw, 25px);
  margin-top: 1em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt p span {
  display: block;
  font-size: min(1.11vw, 16px);
  margin: 0.2em 0;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt > img {
  margin-top: 0.8em;
  height: 0.65em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_shoulder {
  display: block;
  font-size: min(0.97vw, 14px);
  line-height: 2;
  margin-top: 1.29em;
  letter-spacing: 0.02em;
  margin-bottom: auto;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn {
  margin-top: 1.7em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span {
  position: relative;
  display: block;
  width: 100%;
  border: solid 1px #000;
  font-size: min(1.11vw, 16px);
  padding: 1.03em 0;
  text-align: center;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:before, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:before {
  content: "";
  position: absolute;
  width: 7.91%;
  height: 1px;
  background: #000;
  top: 50%;
  left: 84%;
  transform: translateY(-50%);
  z-index: 1;
  transition: all 0.3s;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:after, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:after {
  content: "";
  position: absolute;
  width: 2.3%;
  height: 1px;
  background: #000;
  top: 49.5%;
  left: 89.2%;
  z-index: 1;
  transform: translateY(-50%) rotate(35deg);
  transform-origin: bottom right;
  transition: all 0.3s;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:hover:before, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:hover:before {
  content: "";
  position: absolute;
  width: 9.91%;
  height: 1px;
  background: #000;
  top: 50%;
  left: 84%;
  z-index: 1;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:hover:after, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:hover:after {
  content: "";
  position: absolute;
  width: 2.3%;
  height: 1px;
  background: #000;
  top: 49%;
  left: 91.5%;
  z-index: 1;
  transform: rotate(35deg);
  transform-origin: bottom right;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a + a, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span + a {
  margin-top: 0.8em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a span, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span span {
  margin-left: -2em;
  letter-spacing: -0.03em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(1) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(2) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(3) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(4) .item_btn {
  min-height: 7.44em;
}
.bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(6) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(7) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(8) .item_btn {
  margin-top: auto;
}
.bsp.contact #contact .contact_wrap p.note {
  font-size: min(1.04vw, 15px);
  line-height: 2.13;
  text-align: center;
}
.bsp.contact #contact .contact_wrap p.note a {
  text-decoration: underline;
  color: #00A7FF;
}

@media screen and (max-width: 767px) {
  .bsp.contact #contact {
    margin-top: 26.67vw;
  }
  .bsp.contact #contact .contact_intro p {
    font-size: 5.33vw;
    line-height: 1.8;
    letter-spacing: 0;
  }
  .bsp.contact #contact .contact_intro p.note {
    font-size: 3.2vw;
    padding: 6.67vw 8vw;
    margin-top: 16vw;
    text-align: left;
    line-height: 1.83;
  }
  .bsp.contact #contact .contact_wrap {
    margin-top: 16vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item {
    width: 100%;
    margin-bottom: 16vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item > picture img {
    width: 34.67vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item + .contact_item {
    margin: 0 0 16vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(3) .item_txt > img {
    height: 4.1vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img img {
    width: 34.67vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img .item_img_data {
    width: 47.73vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img .item_img_data span {
    font-size: 2.93vw;
    height: 6.67vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_img .item_img_data .department span {
    height: 8vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt {
    width: 45.33vw;
    position: absolute;
    top: 0;
    right: 0;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt p {
    font-size: 4.8vw;
    margin-top: 0;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt p span {
    font-size: 3.2vw;
    margin: 0 0 0.5em;
    letter-spacing: 0.05em;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_txt > img {
    margin-top: 3vw;
    height: 3.11vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_shoulder {
    font-size: 3.2vw;
    margin-top: 5.33vw;
    width: 100%;
    line-height: 1.83;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn {
    margin-top: 6.67vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span {
    font-size: 3.73vw;
    padding: 3.33vw 0;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:before, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:before {
    width: 5.33vw;
    left: 75vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:after, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:after {
    width: 1.5vw;
    left: 78.66vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:hover:before, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:hover:before {
    width: 5.33vw;
    left: 75vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a:hover:after, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span:hover:after {
    width: 1.5vw;
    left: 78.66vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a + a, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span + a {
    margin-top: 1.33vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn a span, .bsp.contact #contact .contact_wrap .ly_df .contact_item .item_btn > span span {
    margin-left: -1em;
    letter-spacing: 0.08em;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(3) .item_btn {
    margin-top: 6.67vw;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(1) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(2) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(3) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(4) .item_btn {
    min-height: unset;
  }
  .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(6) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(7) .item_btn, .bsp.contact #contact .contact_wrap .ly_df .contact_item:nth-child(8) .item_btn {
    margin-top: 8vw;
  }
  .bsp.contact #contact .contact_wrap p.note {
    font-size: 3.2vw;
    line-height: 1.83;
    text-align: left;
  }
}