section#contents {
  padding: 0;
  border: none;
  border-radius: 0;
}

.chart div.wrap {
  padding: 0;
}

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

#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: 286px;
  height: 409px;
}

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

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

#chart ul li.m-yuri{
  left: 378px;
  top: 475px;
}

#chart ul li.m-akito{
  left: 62px;
  top: 542px;
}

#chart ul li.m-mahiro{
  left: 426px;
  top: 953px;
}

#chart ul li.m-asuka{
  left: 110px;
  top: 953px;
}

#chart ul li.m-kotaro{
  left: 110px;
  top: 1281px;
}

#chart ul li.m-kamei{
  left: 423px;
  top: 1281px;
}

#chart ul li.m-teo{
  left: 749px;
  top: 475px;
}

#chart ul li.m-gaku{
  left: 794px;
  top: 953px;
}

#chart ul li.m-iiyama{
  left: 793px;
  top: 124px;
}

#chart ul li.m-makoto{
  left: 423px;
  top: 124px;
}


@media all and (min-width: 768px) {
  #chart .diagram {
    background-repeat: no-repeat;
    width: 1080px;
    height: 1657px;
  }

  div.contents {
    width: 1080px;
  }
}

@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((1657 / 1080)*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#chart {
    /* padding: 0 0 22px; */
    width: 1080px;
  }

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

  .ch_switch {
    width: 1080px;
    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;
  }
}
