@charset "utf-8";

/* ===========================================
 * ProjectMap
 * ======================================== */

/* related
 * ---------------------------------------- */
.pg-section-related {
  padding: 70px 0 170px 0;
}

.pg-section-related .pg-section_list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.pg-section-related .pg-section_list > li {
  width: calc(495 / 1020 * 100%);
  margin: 30px 0 0 0;
}

.pg-section-related .pg-section_list > li:nth-child(-n + 2) {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .pg-section-related {
    padding: 35px 0 55px 0;
  }

  .pg-section-related .pg-section_list {
    padding: 0 6%;
  }
}

@media screen and (max-width: 640px) {
  .pg-section-related .pg-section_list {
    display: block;
  }

  .pg-section-related .pg-section_list > li,
  .pg-section-related .pg-section_list > li:nth-child(-n + 2) {
    width: 100%;
    margin: 15px 0 0 0;
  }

  .pg-section-related .pg-section_list > li:first-child {
    margin-top: 0;
  }
}

/* projectmap
 * ---------------------------------------- */
/*
 * section
 */
.pg-section-projectmap {
  width: 100vw;
  /* overflow: hidden; */
  position: relative;
}

.pg-section-projectmap:nth-of-type(1) {
  margin-top: 55px;
}

@media screen and (max-width: 767px) {
  .pg-section-projectmap:nth-of-type(1) {
    margin-top: 45px;
  }
}

.pg-section-projectmap + .pg-section-projectmap {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .pg-section-projectmap + .pg-section-projectmap {
    margin-top: 15px;
  }
}

/*
 * projectmap
 */
.pg-pjtmap {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  background: #edf5ff;
  overflow: hidden;
}

.pg-pjtmap:after {
  content: '';
  display: block;
  width: 16px;
  height: calc(100% + 2px);
  background: #fff;
  position: absolute;
  top: -1px;
  left: -1px;
}

.pg-pjtmap_container-head {
  /* width: calc(410 / 1245 * 100%); */
  width: 425px;
  position: relative;
}

.pg-pjtmap_container-main {
  /* width: calc(835 / 1245 * 100%); */
  width: calc(100% - 425px);
  padding: 35px 0 0 0;
  position: relative;
}

.pg-pjtmap_title {
  font-size: 30px;
  padding: 40px 0 0 calc(100 / 410 * 100%);
  position: relative;
  z-index: 1;
}

.pg-pjtmap_pagination {
  position: absolute;
  top: 45px;
  right: calc(100% + 30px);
}

/* .pg-pjtmap_slidebtns {
  position: absolute;
  top: 42px;
  right: calc(100% + 30px);
} */

@media screen and (max-width: 1100px) {
  .pg-pjtmap_container-head {
    width: calc(425 / 1100 * 100%);
  }

  .pg-pjtmap_container-main {
    width: calc(675 / 1100 * 100%);
  }

  .pg-pjtmap_pagination {
    right: 100%;
  }

  /* .pg-pjtmap_slidebtns {
    right: 100%;
  } */
}

@media screen and (max-width: 767px) {
  .pg-pjtmap {
    display: block;
  }

  .pg-pjtmap:after {
    display: none;
  }

  .pg-pjtmap_container-head {
    width: 100%;
  }

  .pg-pjtmap_container-main {
    width: 100%;
    padding: 45px 0 0 0;
  }

  .pg-pjtmap_title {
    font-size: 32px;
    padding: 35px 0 0 calc(50 / 750 * 100%);
  }

  .pg-pjtmap_pagination {
    top: 15px;
    right: auto;
    left: 10%;
  }

  /* .pg-pjtmap_slidebtns {
    position: static;
    top: auto;
    right: auto;
  } */
}

/*
 * map
 */
.pg-pjtmapMap-tokyo {
  width: calc(414 / 410 * 100%);
  position: absolute;
  top: 108px;
  left: calc(-7 / 410 * 100%);
}

.pg-pjtmapMap-tokyo .pg-pjtmapMap_inner {
  aspect-ratio: 922/602;
}

.pg-pjtmapMap-tokyo .pg-pjtmapMap_note {
  display: block;
  width: calc(160 / 922 * 100%);
  position: absolute;
  top: calc(70 / 902 * 100%);
  left: calc(136 / 922 * 100%);
}

@media screen and (max-width: 767px) {
  .pg-pjtmapMap-tokyo {
    width: min(100%, 500px);
    margin: 0 auto;
    padding: 0 0 min(calc(780 / 750 * 100%), 520px) 0;
    position: relative;
    top: auto;
    left: auto;
  }

  .pg-pjtmapMap-tokyo .pg-pjtmapMap_inner {
    position: absolute;
    width: calc(902 / 750 * 100%);
    left: calc(-100 / 750 * 100%);
    bottom: calc(-75 / 750 * 100vw);
  }

  .pg-pjtmapMap-tokyo .pg-pjtmapMap_note {
    top: calc(90 / 902 * 100%);
    left: calc(160 / 922 * 100%);
  }
}

.pg-pjtmapMap-japan {
  width: calc(526 / 410 * 100%);
  position: absolute;
  top: 120px;
  left: calc(-50 / 410 * 100%);
}

.pg-pjtmapMap-japan .pg-pjtmapMap_inner {
  aspect-ratio: 1170/905;
}

.pg-pjtmapMap-japan .pg-pjtmapMap_note {
  display: block;
  width: calc(160 / 1170 * 100%);
  position: absolute;
  top: calc(58 / 905 * 100%);
  left: calc(232 / 1170 * 100%);
}

@media screen and (max-width: 767px) {
  .pg-pjtmapMap-japan {
    width: min(100%, 500px);
    margin: 0 auto;
    padding: 0 0 min(calc(780 / 750 * 100%), 520px) 0;
    position: relative;
    top: auto;
    left: auto;
  }

  .pg-pjtmapMap-japan .pg-pjtmapMap_inner {
    position: absolute;
    width: calc(1170 / 750 * 100%);
    left: calc(-226 / 750 * 100%);
    bottom: calc(-20 / 750 * 100vw);
  }

  .pg-pjtmapMap-japan .pg-pjtmapMap_note {
    top: calc(146 / 905 * 100%);
    left: calc(287 / 1170 * 100%);
  }
}

/*
 * slider / pagination
 */
.pg-pmPagination {
  font-size: 10px;
  width: 30px;
  height: 23px;
  position: relative;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}

.pg-pmPagination:before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-35deg);
}

.pg-pmPagination_current {
  color: #37a5ff;
  text-align: left;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.pg-pmPagination_total {
  text-align: right;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}

/*
 * slider / btn
 */
.pg-pmSliderBtn {
  width: 64px;
  height: 64px;
  border-radius: 100%;
  position: absolute;
  top: calc(170px + 35px);
  cursor: pointer;
  z-index: 10;
}

.pg-pmSliderBtn-prev {
  left: 0;
  transform: translate(0, -50%) scale(-1, 1);
}

.pg-pmSliderBtn-next {
  right: 25px;
  transform: translate(0, -50%);
}

@media screen and (max-width: 1100px) {
  .pg-pmSliderBtn {
    width: 45px;
    top: calc(calc(170 / 1100 * 100vw) + 35px);
  }
}

@media screen and (max-width: 767px) {
  .pg-pmSliderBtn {
    width: 48px;
    height: 48px;
    top: 50%;
  }

  .pg-pmSliderBtn-prev {
    right: auto;
    left: 10%;
    transform: translate(-50%, -50%) scale(-1, 1);
  }

  .pg-pmSliderBtn-next {
    right: 10%;
    transform: translate(50%, -50%);
  }
}

/*
 * slider
 */
.pg-pmSlider {
  width: 100%;
}

.pg-pmSlider_slide {
  width: 615px;
  height: auto;
}

@media screen and (max-width: 1100px) {
  .pg-pmSlider_slide {
    width: calc(615 / 1100 * 100vw);
  }
}

@media screen and (max-width: 767px) {
  .pg-pmSlider_slide {
    width: 100%;
  }
}

/*
 * projectmapItem
 */
.pg-pjtmapItem {
  /* width: 615px; */
  height: 100%;
  padding: 0 0 60px;
  position: relative;
}

.pg-pjtmapItem_inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
}

.pg-pjtmapItem_thumb {
  width: calc(515 / 615 * 100%);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.pg-pjtmapItem_num {
  color: rgba(0, 40, 105, 0.48);
  font-size: 75px;
  text-align: right;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

.pg-pjtmapItem_box {
  flex: 1 1 0;
  border-radius: 0 0 20px 20px;
  background: #fff;
  padding: 20px calc(35 / 615 * 100%) 70px;
  position: relative;
}

.pg-pjtmapItem_box:before {
  content: '';
  display: block;
  width: 100%;
  height: 40px;
  background: #fff;
  border-radius: 20px 20px 0 0;
  position: absolute;
  top: 1px;
  left: 0;
  transform: translateY(-100%);
}

.pg-pjtmapItem_title {
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 1em 0;
}

.pg-pjtmapItem_text {
  font-size: 12px;
  line-height: 1.8;
  text-align: justify;
}

.pg-pjtmapItem_link {
  color: #37a5ff;
  font-size: 12px;
  line-height: 1.5;
  display: inline-block;
  padding: 0 16px 0 0;
  position: absolute;
  bottom: 30px;
  left: calc(35 / 615 * 100%);
}

.pg-pjtmapItem_link[target='_blank'] ._icon_blank {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}

.pg-pjtmapItem_link[target='_blank'] ._icon_blank svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.pg-pjtmapItem_link[target='_blank'] ._icon_blank path {
  stroke: #37a5ff;
}

@media (any-hover: hover) {
  .pg-pjtmapItem_link,
  .pg-pjtmapItem_link * {
    transition: all 300ms;
  }

  .pg-pjtmapItem_link:hover {
    color: #002869;
    opacity: 1;
  }

  .pg-pjtmapItem_link:hover ._icon_blank path {
    stroke: #002869;
  }
}

.pg-pjtmapItem_note {
  font-size: 10px;
  line-height: 1.5;
  text-align: justify;
  margin: 1em 0 0 0;
}

@media screen and (max-width: 767px) {
  .pg-pjtmapItem {
    /* width: 615px; */
    padding: 0 10% 60px;
    position: relative;
  }

  .pg-pjtmapItem_thumb {
    width: calc(545 / 600 * 100%);
  }

  .pg-pjtmapItem_num {
    font-size: 40px;
    right: 7%;
  }

  .pg-pjtmapItem_box {
    border-radius: 0 0 10px 10px;
    padding: 25px calc(70 / 600 * 100%) 65px;
  }

  .pg-pjtmapItem_box:before {
    height: calc(80 / 750 * 100%);
    border-radius: 10px 10px 0 0;
  }

  .pg-pjtmapItem_title {
    font-size: 14px;
    margin: 0 0 1em 0;
  }

  .pg-pjtmapItem_text {
    font-size: 12px;
  }

  .pg-pjtmapItem_link {
    font-size: 12px;
    line-height: 1.5;
    padding: 0 16px 0 0;
    bottom: 25px;
    left: calc(70 / 600 * 100%);
  }
}
