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: 325px;
  height: 435px;
}

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


#chart ul li.m-nana{
  left: 374px;
  top: 455px;
}
#chart ul li.m-mutsuki{
  left: 710px;
  top: 455px;
}
#chart ul li.m-hatsumi{
  left: 36px;
  top: 455px;
}
#chart ul li.m-goro{
  left: 263px;
  top: 40px;
}
#chart ul li.m-ken{
  left: 533px;
  top: 40px;
}
#chart ul li.m-kunio{
  left: 801px;
  top: 40px;
}
#chart ul li.m-yota{
  left: 36px;
  top: 973px;
}
#chart ul li.m-kotaro{
  left: 373px;
  top: 973px;
}
#chart ul li.m-saku{
  left: 710px;
  top: 973px;
}
#chart ul li.m-kumiko{
  left: 743px;
  top: 1874px;
}
#chart ul li.m-atsuko{
  left: 378px;
  top: 475px;
}
#chart ul li.m-atsuko{
  left: 413px;
  top: 1874px;
}
#chart ul li.m-yusuke{
  left: 83px;
  top: 1874px;
}
#chart ul li.m-yoshinori{
  left: 544px;
  top: 2316px;
}
#chart ul li.m-futaba{
  left: 283px;
  top: 2316px;
}
#chart ul li.m-chihiro{
  left: 22px;
  top: 2316px;
}
#chart ul li.m-daigo{
  left: 803px;
  top: 2316px;
}
#chart ul li.m-kyugo{
  left: 0px;
  top: 40px;
}
#chart ul li.m-yuriko{
  left: 411px;
  top: 1471px;
}
#chart ul li.m-naoki{
  left: 118px;
  top: 1471px;
}

#chart ul li.m-katsuhisa{
  left: 703px;
  top: 1471px;
}



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

  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((2655 / 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;
  }
}
