section#contents {
  padding: 0;
}

.chart div.wrap {
  padding: 0;
}

#chart .diagram {
  position: relative;
  margin: 0 auto;
  background-size: 100%;
}

#chart .diagram ul, #chart .diagram ul li {
  position: absolute;
  width: max-content;
  height: max-content;
}

#chart .diagram ul li a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
}

#chart .diagram ul li a img {
  display: block;
  /* background-color: red; */
  /* opacity: 0.5; */
}

/*	main size */
#chart .diagram ul li.sz-l a img {
  width: 182px;
  height: 243px;
}

#chart .diagram ul li.sz-m a img {
  width: 154px;
  height: 206px;
}

#chart .diagram ul li.sz-s a img {
  width: 154px;
  height: 93px;
}

#chart ul li.m-hanedareo {
  left: 794px;
  top: 150px;
}
#chart ul li.m-hanedasachi {
  left: 778px;
  top: 476px;
}
#chart ul li.m-kotorisatoshi {
  left: 533px;
  top: 476px;
}
#chart ul li.m-kuratarinka {
  left: 20px;
  top: 476px;
}
#chart ul li.m-kurikijirou {
  left: 228px;
  top: 830px;
}
#chart ul li.m-morimotokaito {
  left: 580px;
  top: 830px;
}
#chart ul li.m-narukawairi {
  left: 20px;
  top: 150px;
}
#chart ul li.m-narukawasana {
  left: 397px;
  top: 113px;
}
#chart ul li.m-natsuimegumi {
  left: 417px;
  top: 830px;
}
#chart ul li.m-shiroganetakashi {
  left: 792px;
  top: 879px;
}
#chart ul li.m-suzakiko {
  left: 244px;
  top: 476px;
}
#chart ul li.m-suzakiko {
  left: 244px;
  top: 476px;
}


@media all and (min-width: 768px) {
  #chart .diagram {
    background-repeat: no-repeat;
    height: 1104px;
    /* margin: 20px 140px; */
  }

  div.contents {
    width: 980px;
  }
}

@media all and (max-width: 767px) {

  /*chart*/
  #chart .diagram {
    margin: 0px auto;
    overflow: hidden;
    width: 100%;
    height: 0;
    background-size: cover;
  }

  #chart .diagram {
    padding-top: calc((1104 / 980)*100%);
    background-size: 100%;
    background-repeat: no-repeat;
  }

  #chart .diagram ul {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}

.chart div.wrap {
  box-sizing: border-box;
  /* background-color: #fff; */
}

.chart_menu {
  background-color: #fff;
  box-sizing: border-box;
}

.ch_switch {
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.ch_switch a {
  position: absolute;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 110%;
}

@media all and (min-width: 768px) {
  .chart div.wrap {
    /* padding: 0 0 22px; */
    width: 980px;
  }

  .chart_menu {
    padding: 22px 0 0;
    width: 980px;
    margin: 0 auto;
  }

  .ch_switch {
    width: 980px;
    height: 130px;
    margin: 30px auto 0;
  }

  .ch_switch a {
    width: 233px;
    height: 56px;
    right: 0;
    bottom: 17px;
  }
}

@media all and (max-width: 767px) {
  .chart div.wrap {
    /* padding: 0 2% 2%; */
  }

  .chart_menu {
    padding: 2% 2% 0;
    width: auto;
    margin: 0 auto;
  }
}
