@charset "UTF-8";
/*--------------------------------------------------------------------------
main
--------------------------------------------------------------------------*/
.main {
  /* title & h2 */
}
.main .visual {
  height: 500px;
}
@media screen and (max-width: 768px) {
  .main .visual {
    height: 350px;
  }
}
.main .contents ._container {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.main .contents .title li {
  text-align: left;
}
.main .contents .title__project {
  font-weight: 400;
}
.main .contents .title__project:before {
  content: "｜";
  color: #000;
}
.main .contents .title__pccw {
  font-weight: 400;
  padding-left: 0.5em;
}
.main .contents .title__time {
  color: #585858;
  font-size: 14px;
  font-weight: 700;
}
.main .contents .title__data {
  color: #585858;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 14px;
  line-height: 1.4;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 8px;
}
.main .contents .title__data li {
  font-weight: 500;
}
.main .contents .title__data li:after {
  content: "｜";
}
.main .contents .title__data li:nth-last-child(1):after {
  content: "";
}
.main .contents .title__data li a {
  color: #585858;
}
@media screen and (max-width: 768px) {
  .main .contents .title__data {
    padding-top: 7px;
    font-size: 11px;
  }
}
.main .contents .title__page span:before {
  color: #000;
}
.main .contents .content {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-bottom: 70px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content {
    padding-bottom: 50px;
  }
}
.main .contents .content__head {
  width: 16.6666666667%;
}
.main .contents .content__head h2 {
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  /*position: sticky;
  top: 131px;*/
}
@media screen and (max-width: 1205px) {
  .main .contents .content__head {
    width: 100%;
    padding-bottom: 30px;
  }
}
.main .contents .content__main {
  margin-right: auto;
  margin-left: auto;
  width: 66.6666666667%;
}
@media screen and (max-width: 1205px) {
  .main .contents .content__main {
    width: 83.3333333333%;
  }
}
@media screen and (max-width: 768px) {
  .main .contents .content__main {
    width: 100%;
  }
}
.main .contents .content__main h2 {
  border-left: solid 6px #621b9f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 50px;
  padding-left: 15px;
  text-align: left;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main h2 {
    border-left: solid 5px #621b9f;
    font-size: 18px;
    margin-bottom: 30px;
    padding-left: 12px;
  }
}
.main .contents .content__main .text p {
  font-size: 19px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .text p {
    font-size: 16px;
  }
}
.main .contents .content__main .movie {
  padding-top: 70px;
}
.main .contents .content__main .movie iframe {
  margin-bottom: 30px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .movie {
    padding-top: 32.5px;
  }
  .main .contents .content__main .movie iframe {
    margin-bottom: 7.5px;
  }
}
.main .contents .content__main .thumbs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-right: 30px;
  margin-bottom: 30px;
  width: calc(50% - 15px);
}
.main .contents .content__main .thumbs:nth-child(2n+1) {
  margin-right: 0 !important;
}
.main .contents .content__main .thumbs__1, .main .contents .content__main .thumbs__2 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  font-size: 0;
  height: 190px;
  width: 50%;
}
.main .contents .content__main .thumbs__1 {
  border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
}
.main .contents .content__main .thumbs__2 {
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
  -webkit-transition: unset !important;
  transition: unset !important;
}
.main .contents .content__main .thumbs p {
  color: #585858;
  font-size: 12px;
  font-weight: 400;
  padding-top: 10px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .thumbs {
    margin-right: 0;
    margin-bottom: 40px;
    width: 100%;
  }
  .main .contents .content__main .thumbs__1, .main .contents .content__main .thumbs__2 {
    height: 75px;
    width: 50%;
  }
  .main .contents .content__main .thumbs__1 {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  .main .contents .content__main .thumbs__2 {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}
.main .contents .content__main .data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: auto;
}
.main .contents .content__main .data dl {
  font-size: 20px;
  font-weight: 400;
  padding-bottom: 30px;
  width: 50%;
}
.main .contents .content__main .data dl:nth-child(odd) {
  padding-right: 25px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .data dl:nth-child(odd) {
    padding-right: 0;
  }
}
.main .contents .content__main .data dl:nth-child(even) {
  padding-left: 25px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .data dl:nth-child(even) {
    padding-left: 0;
  }
}
.main .contents .content__main .data dl dt {
  font-weight: 500;
  font-size: 14px;
  text-align: left;
}
.main .contents .content__main .data dl dd {
  font-weight: 400;
  font-size: 19px;
  text-align: left;
}
.main .contents .content__main .data dl dd a {
  word-break: break-all;
}
.main .contents .content__main .data dl dd p {
  font-size: 19px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .data dl {
    padding-bottom: 20px;
    width: 100%;
  }
  .main .contents .content__main .data dl dt {
    font-size: 12px;
  }
  .main .contents .content__main .data dl dd {
    font-size: 16px;
  }
  .main .contents .content__main .data dl dd p {
    font-size: 16px;
  }
}
.main .contents .content__main .image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 30px;
}
.main .contents .content__main .image a {
  height: auto;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .image {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.main .contents .content__main .image div img {
  height: auto;
  width: 100%;
}
.main .contents .content__main .image div ._bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.main .contents .content__main .image div p {
  color: #585858;
  font-size: 14px;
  line-height: 1.4;
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .image div {
    width: 100%;
  }
}
.main .contents .content__main .image.img_2 {
  margin-bottom: 30px;
}
.main .contents .content__main .image.img_2 .img1:nth-child(1) {
  padding-right: 15px;
}
.main .contents .content__main .image.img_2 .img1:nth-child(2) {
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .image.img_2 .img1:nth-child(1) {
    padding-right: 0;
    padding-bottom: 30px;
  }
  .main .contents .content__main .image.img_2 .img1:nth-child(2) {
    padding-left: 0;
  }
}
.main .contents .content__main .image.img_3 {
  margin-bottom: 30px;
}
.main .contents .content__main .image.img_3 .img1:nth-child(1) {
  padding-right: 15px;
}
.main .contents .content__main .image.img_3 .img1:nth-child(2) {
  padding-right: 15px;
  padding-left: 15px;
}
.main .contents .content__main .image.img_3 .img1:nth-child(3) {
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .image.img_3 .img1:nth-child(1) {
    padding-right: 0;
    padding-bottom: 50px;
  }
  .main .contents .content__main .image.img_3 .img1:nth-child(2) {
    padding-right: 0;
    padding-bottom: 30px;
    padding-left: 0;
  }
  .main .contents .content__main .image.img_3 .img1:nth-child(3) {
    padding-left: 0;
  }
}
.main .contents .content__main .image div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.main .contents .content__main .image a {
  display: block;
}
.main .contents .content__main .image a._portrait {
  width: 33.3333333333%;
}
.main .contents .content__main .image a._landscape {
  width: 16.6666666667%;
}
.main .contents .content__main .image a img {
  height: auto;
  width: 100%;
}
.main .contents .content__main .googlemap {
  height: 350px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main .googlemap {
    height: 350px;
  }
}
.main .contents .content__main ._lists {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 10px;
  margin-right: -15px;
  margin-left: -15px;
  width: calc(100% + 30px);
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._lists {
    margin-top: 20px;
    margin-right: 0;
    margin-left: 0;
    width: 100%;
  }
}
.main .contents .content__main ._lists ._list {
  display: block;
  font-size: 0;
  position: relative;
  width: 33.3%;
}
.main .contents .content__main ._lists ._list ._mask,
.main .contents .content__main ._lists ._list ._info {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 16px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: calc(100% - 30px);
  opacity: 0;
  position: absolute;
  top: 15px;
  left: 15px;
  width: calc(100% - 30px);
}
.main .contents .content__main ._lists ._list ._mask div,
.main .contents .content__main ._lists ._list ._info div {
  padding: 0 20px;
  width: 100%;
}
.main .contents .content__main ._lists ._list ._mask p,
.main .contents .content__main ._lists ._list ._info p {
  display: block;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.main .contents .content__main ._lists ._list ._mask ul,
.main .contents .content__main ._lists ._list ._info ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10px;
}
.main .contents .content__main ._lists ._list ._mask ul li,
.main .contents .content__main ._lists ._list ._info ul li {
  font-size: 11px;
  line-height: 1.5;
}
.main .contents .content__main ._lists ._list ._mask ul li:after,
.main .contents .content__main ._lists ._list ._info ul li:after {
  content: "｜";
}
.main .contents .content__main ._lists ._list ._mask ul li:nth-last-child(1):after,
.main .contents .content__main ._lists ._list ._info ul li:nth-last-child(1):after {
  content: "";
}
.main .contents .content__main ._lists ._list ._mask {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._lists ._list ._mask {
    display: none;
  }
}
.main .contents .content__main ._lists ._list ._info {
  background: none;
  display: none;
  height: 100%;
  width: 100%;
  position: static;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._lists ._list ._info {
    display: block;
    opacity: 1;
  }
}
.main .contents .content__main ._lists ._list ._info div {
  padding: 20px 0 0;
}
.main .contents .content__main ._lists ._list ._info p {
  color: #000;
}
.main .contents .content__main ._lists ._list ._info ul li {
  color: #585858;
}
.main .contents .content__main ._lists ._list img {
  height: auto;
  margin: 15px;
  width: calc(100% - 30px);
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._lists ._list img {
    margin: 0;
    width: 100%;
  }
}
.main .contents .content__main ._lists ._list:hover {
  opacity: 1;
}
.main .contents .content__main ._lists ._list:hover ._mask {
  -webkit-animation-name: mask_fadein;
          animation-name: mask_fadein;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._lists ._list:hover ._mask {
    display: none;
  }
}
@-webkit-keyframes mask_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mask_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.main .contents .content__main ._column {
  width: 33.3%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._column {
    width: 100%;
  }
}
.main .contents .content__main ._column ._list {
  font-size: 0;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .contents .content__main ._column ._list {
    margin-bottom: 45px;
    padding: 0;
  }
}
.main .contents .content.texture .content__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 1205px) {
  .main .content.top {
    padding-bottom: 40px !important;
  }
  .main .content.top .content__head {
    display: none;
  }
}
.main .content.overview {
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .main .content.overview {
    padding-bottom: 30px;
  }
}
.main .content.map {
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .main .content.map {
    padding-bottom: 70px;
  }
}
.main .content.project {
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .main .content.project {
    padding-bottom: 0;
  }
}
.main .contents .title__posttype {
  color: #621b9f;
}
.main .contents .content__main {
  margin-right: auto;
  margin-left: auto;
}
.main .contents .content.texture .content__main {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.main .contents .content.texture .content__main h2 {
  border-color: #19d500;
}

#_project .contents,
#_project_map .contents {
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  #_project .contents,
  #_project_map .contents {
    padding-top: 5px;
  }
}
#_project .index,
#_project_map .index {
  padding: 30px 0 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #_project .index,
  #_project_map .index {
    padding: 30px 0 0;
  }
}
#_project .index__title,
#_project_map .index__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
#_project .index__title h1,
#_project_map .index__title h1 {
  font-size: 32px;
  font-weight: 700;
  min-width: 180px;
  text-align: left;
  width: 16.6666666667%;
}
#_project .index__title ul,
#_project_map .index__title ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 15px;
}
#_project .index__title ul li,
#_project_map .index__title ul li {
  color: #a7a7a7;
  font-size: 20px;
  font-weight: 700;
}
#_project .index__title ul li a,
#_project_map .index__title ul li a {
  color: #a7a7a7;
}
#_project .index__title ul li:after,
#_project_map .index__title ul li:after {
  content: "｜";
  padding: 0 10px;
}
#_project .index__title ul li:nth-last-child(1):after,
#_project_map .index__title ul li:nth-last-child(1):after {
  content: "";
}
#_project .index__title ul li.now a,
#_project_map .index__title ul li.now a {
  color: #621b9f;
}
@media screen and (max-width: 768px) {
  #_project .index__title,
  #_project_map .index__title {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #_project .index__title h1,
  #_project_map .index__title h1 {
    font-size: 26px;
  }
  #_project .index__title ul,
  #_project_map .index__title ul {
    width: 100%;
  }
  #_project .index__title ul li,
  #_project_map .index__title ul li {
    font-size: 17px;
  }
}
#_project .index__select,
#_project_map .index__select {
  background-color: #f5f5f5;
  margin-top: 30px;
  padding: 20px 0;
}
#_project .index__select dl,
#_project_map .index__select dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
}
#_project .index__select dl dt, #_project .index__select dl dd,
#_project_map .index__select dl dt,
#_project_map .index__select dl dd {
  padding-top: 20px;
  text-align: left;
}
#_project .index__select dl dt,
#_project_map .index__select dl dt {
  min-width: 180px;
  width: 16.6666666667%;
}
#_project .index__select dl dd,
#_project_map .index__select dl dd {
  width: 83.3333333333%;
}
#_project .index__select dl dd ._pc,
#_project_map .index__select dl dd ._pc {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#_project .index__select dl dd ._sp,
#_project_map .index__select dl dd ._sp {
  display: none;
}
#_project .index__select dl dd ul,
#_project_map .index__select dl dd ul {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-bottom: 10px;
}
#_project .index__select dl dd ul li,
#_project_map .index__select dl dd ul li {
  background-color: #fff;
  border-radius: 20px;
  color: #000;
  cursor: pointer;
  font-weight: 500;
  margin-right: 15px;
  margin-bottom: 10px;
  padding: 0 20px;
  text-align: center;
}
#_project .index__select dl dd ul li:hover,
#_project_map .index__select dl dd ul li:hover {
  background-color: #404040;
  color: #fff;
  opacity: 1;
}
#_project .index__select dl dd ul li:nth-child(1),
#_project_map .index__select dl dd ul li:nth-child(1) {
  min-width: 94px;
}
#_project .index__select dl dd ul li:nth-last-child(1),
#_project_map .index__select dl dd ul li:nth-last-child(1) {
  margin-right: 0;
}
#_project .index__select dl dd ul li._on,
#_project_map .index__select dl dd ul li._on {
  background-color: #404040;
  color: #fff;
}
#_project .index__select dl dd ul li._on:after,
#_project_map .index__select dl dd ul li._on:after {
  color: #a7a7a7;
}
#_project .index__select #select_type2,
#_project_map .index__select #select_type2 {
  height: 0;
  overflow: hidden;
}
#_project .index__select #select_type2._add,
#_project_map .index__select #select_type2._add {
  -webkit-animation-name: type2_fadein;
          animation-name: type2_fadein;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
@-webkit-keyframes type2_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes type2_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  #_project .index__select,
  #_project_map .index__select {
    margin: 20px 0;
  }
  #_project .index__select ._container,
  #_project_map .index__select ._container {
    padding: 0;
  }
  #_project .index__select dl,
  #_project_map .index__select dl {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 10px;
    overflow: hidden;
  }
  #_project .index__select dl dt, #_project .index__select dl dd,
  #_project_map .index__select dl dt,
  #_project_map .index__select dl dd {
    width: 100%;
  }
  #_project .index__select dl dt,
  #_project_map .index__select dl dt {
    padding: 0 15px;
  }
  #_project .index__select dl dd,
  #_project_map .index__select dl dd {
    padding-top: 10px;
  }
  #_project .index__select dl dd ._pc,
  #_project_map .index__select dl dd ._pc {
    display: none;
  }
  #_project .index__select dl dd ._sp,
  #_project_map .index__select dl dd ._sp {
    display: block;
  }
  #_project .index__select dl dd .swiper-container,
  #_project_map .index__select dl dd .swiper-container {
    padding-left: 15px;
  }
  #_project .index__select dl dd .swiper-slide,
  #_project_map .index__select dl dd .swiper-slide {
    background-color: #fff;
    border-radius: 15px;
    color: #000;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    margin-right: 12px;
    margin-bottom: 10px;
    padding: 0 14px;
    text-align: center;
    width: auto !important;
  }
  #_project .index__select dl dd .swiper-slide:hover,
  #_project_map .index__select dl dd .swiper-slide:hover {
    background-color: #404040;
    color: #fff;
    opacity: 1;
  }
  #_project .index__select dl dd .swiper-slide:nth-child(1),
  #_project_map .index__select dl dd .swiper-slide:nth-child(1) {
    width: 80px !important;
  }
  #_project .index__select dl dd .swiper-slide:nth-last-child(1),
  #_project_map .index__select dl dd .swiper-slide:nth-last-child(1) {
    margin-right: 0;
  }
  #_project .index__select dl dd .swiper-slide._on,
  #_project_map .index__select dl dd .swiper-slide._on {
    background-color: #404040;
    color: #fff;
  }
  #_project .index__select dl dd .swiper-slide._on:after,
  #_project_map .index__select dl dd .swiper-slide._on:after {
    color: #a7a7a7;
  }
  #_project .index__select dl dd ul,
  #_project_map .index__select dl dd ul {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-bottom: 10px;
  }
  #_project .index__select dl dd ul li,
  #_project_map .index__select dl dd ul li {
    font-size: 13px;
    width: auto;
  }
}
#_project #project ._container,
#_project_map #project ._container {
  padding: 0 15px;
}
@media screen and (max-width: 1205px) {
  #_project #project ._container,
  #_project_map #project ._container {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  #_project #project ._container,
  #_project_map #project ._container {
    padding: 0 20px;
  }
}
#_project #project ._lists,
#_project_map #project ._lists {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 15px;
  width: calc(100% + 30px);
}
@media screen and (max-width: 768px) {
  #_project #project ._lists,
  #_project_map #project ._lists {
    margin-top: 20px;
    width: calc(100% + 20px);
  }
}
#_project #project ._lists ._list,
#_project_map #project ._lists ._list {
  display: block;
  font-size: 0;
  position: relative;
  width: 25%;
}
#_project #project ._lists ._list._disp,
#_project_map #project ._lists ._list._disp {
  display: block !important;
}
#_project #project ._lists ._list ._mask,
#_project #project ._lists ._list ._info,
#_project_map #project ._lists ._list ._mask,
#_project_map #project ._lists ._list ._info {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 16px;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: calc(100% - 30px);
  opacity: 0;
  position: absolute;
  top: 15px;
  left: 15px;
  width: calc(100% - 30px);
}
#_project #project ._lists ._list ._mask div,
#_project #project ._lists ._list ._info div,
#_project_map #project ._lists ._list ._mask div,
#_project_map #project ._lists ._list ._info div {
  padding: 0 20px;
  width: 100%;
}
#_project #project ._lists ._list ._mask p,
#_project #project ._lists ._list ._info p,
#_project_map #project ._lists ._list ._mask p,
#_project_map #project ._lists ._list ._info p {
  display: block;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
#_project #project ._lists ._list ._mask ul,
#_project #project ._lists ._list ._info ul,
#_project_map #project ._lists ._list ._mask ul,
#_project_map #project ._lists ._list ._info ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 10px;
}
#_project #project ._lists ._list ._mask ul li,
#_project #project ._lists ._list ._info ul li,
#_project_map #project ._lists ._list ._mask ul li,
#_project_map #project ._lists ._list ._info ul li {
  font-size: 11px;
  line-height: 1.5;
}
#_project #project ._lists ._list ._mask ul li:after,
#_project #project ._lists ._list ._info ul li:after,
#_project_map #project ._lists ._list ._mask ul li:after,
#_project_map #project ._lists ._list ._info ul li:after {
  content: "｜";
}
#_project #project ._lists ._list ._mask ul li:nth-last-child(1):after,
#_project #project ._lists ._list ._info ul li:nth-last-child(1):after,
#_project_map #project ._lists ._list ._mask ul li:nth-last-child(1):after,
#_project_map #project ._lists ._list ._info ul li:nth-last-child(1):after {
  content: "";
}
#_project #project ._lists ._list ._mask,
#_project_map #project ._lists ._list ._mask {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #_project #project ._lists ._list ._mask,
  #_project_map #project ._lists ._list ._mask {
    display: none;
  }
}
#_project #project ._lists ._list ._info,
#_project_map #project ._lists ._list ._info {
  background: none;
  display: none;
  height: 100%;
  width: 100%;
  position: static;
}
@media screen and (max-width: 768px) {
  #_project #project ._lists ._list ._info,
  #_project_map #project ._lists ._list ._info {
    display: block;
    opacity: 1;
  }
}
#_project #project ._lists ._list ._info div,
#_project_map #project ._lists ._list ._info div {
  padding: 20px 0 0;
}
#_project #project ._lists ._list ._info p,
#_project_map #project ._lists ._list ._info p {
  color: #000;
}
#_project #project ._lists ._list ._info ul li,
#_project_map #project ._lists ._list ._info ul li {
  color: #585858;
}
#_project #project ._lists ._list img,
#_project_map #project ._lists ._list img {
  height: auto;
  margin: 15px;
  width: calc(100% - 30px);
}
@media screen and (max-width: 768px) {
  #_project #project ._lists ._list img,
  #_project_map #project ._lists ._list img {
    margin: 0;
    width: 100%;
  }
}
#_project #project ._lists ._list:hover,
#_project_map #project ._lists ._list:hover {
  opacity: 1;
}
#_project #project ._lists ._list:hover ._mask,
#_project_map #project ._lists ._list:hover ._mask {
  -webkit-animation-name: mask_fadein;
          animation-name: mask_fadein;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #_project #project ._lists ._list:hover ._mask,
  #_project_map #project ._lists ._list:hover ._mask {
    display: none;
  }
}
@keyframes mask_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#_project #project ._column,
#_project_map #project ._column {
  width: 25%;
}
@media screen and (max-width: 768px) {
  #_project #project ._column,
  #_project_map #project ._column {
    width: 100%;
  }
}
#_project #project ._column ._list,
#_project_map #project ._column ._list {
  font-size: 0;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #_project #project ._column ._list,
  #_project_map #project ._column ._list {
    margin-bottom: 45px;
    padding: 0;
  }
}
#_project #project ._lists,
#_project_map #project ._lists {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  #_project #project ._lists,
  #_project_map #project ._lists {
    margin-top: 20px;
  }
}
#_project #project ._lists ._nomatch,
#_project_map #project ._lists ._nomatch {
  padding: 0 15px 100px;
}
@media screen and (max-width: 768px) {
  #_project #project ._lists ._nomatch,
  #_project_map #project ._lists ._nomatch {
    padding: 0 10px 100px;
  }
}

#_project_map #map {
  height: 400px;
  margin-top: 50px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #_project_map #map {
    height: 300px;
    margin-top: 30px;
    margin-bottom: 20px;
  }
}