[data-anim] {
  transition: 0.8s all
}

[data-anim=true] {
  transform: translateY(2vh);
  -ms-transform: translateY(100px);
  opacity: 0
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    width: auto;
    margin: 0;
    padding: 10px 15px 5px;
    overflow: hidden;
    line-height: 10px
  }
}

@media screen and (max-width: 767px) {
  #wrapper {
    min-width: 0 !important
  }
}

#wrapper #main {
  position: relative;
  min-height: 100vh;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

@media screen and (max-width: 767px) {
  #wrapper #main {
    margin-top: 10px
  }
}

#wrapper #main *, #wrapper #main *:before, #wrapper #main *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box
}

#wrapper #main img, #wrapper #main svg {
  vertical-align: bottom;
  width: 100%;
  height: auto
}

#wrapper #main svg {
  fill: currentColor
}

#wrapper #main input, #wrapper #main button, #wrapper #main select, #wrapper #main textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

#wrapper #main input[type="submit"], #wrapper #main button {
  cursor: pointer
}

#wrapper #main sup {
  vertical-align: super;
  font-size: 0.6em;
  top: 0.1em;
  position: relative
}

#wrapper #main a {
  text-decoration: none;
  color: #000;
  transition: 0.4s all
}

@media screen and (min-width: 768px) {
  #wrapper #main a:hover {
    opacity: 0.7
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main a:link {
    width: auto;
    margin: 0
  }
}

#wrapper #main .pc {
  display: block
}

@media screen and (max-width: 767px) {
  #wrapper #main .pc {
    display: none
  }
}

#wrapper #main .sp {
  display: none
}

@media screen and (max-width: 767px) {
  #wrapper #main .sp {
    display: block
  }
}

#wrapper #main .underline {
  padding-bottom: 3px;
  border-bottom: 1px solid #ed6d01
}

@media screen and (max-width: 767px) {
  #wrapper #main .underline {
    padding-bottom: .8vmin
  }
}

#wrapper #main .parts_inner {
  max-width: 100vw;
  overflow: hidden;
  color: #000;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.05em
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner {
    min-width: 960px
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header {
    margin-bottom: 50px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header {
    margin-bottom: 5.3333333333vmin;
    padding-top: 4vmin
  }
}

#wrapper #main .parts_inner__header__head {
  text-align: center;
  line-height: 1
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__head {
    margin-bottom: 40px;
    font-size: 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__head {
    margin-bottom: 5.3333333333vmin;
    font-size: 5.3333333333vmin
  }
}

#wrapper #main .parts_inner__header__kv {
  position: relative
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__kv {
    margin-bottom: 100px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__kv {
    margin-bottom: 5.3333333333vmin
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__kv__img {
    margin-bottom: 13.3333333333vmin
  }
}

#wrapper #main .parts_inner__header__kv__txt {
  text-align: center
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__kv__txt {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__kv__txt .main {
    font-size: 70px;
    text-shadow: #333 1px 0 8px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__kv__txt .main {
    margin-bottom: 2.6666666667vmin;
    font-size: 7.4666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__kv__txt .sub {
    font-size: 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__kv__txt .sub {
    font-size: 3.7333333333vmin
  }
}

#wrapper #main .parts_inner__header__lead {
  line-height: 1.75
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__header__lead {
    font-size: 18px;
    text-align: center
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__header__lead {
    margin: 0 4vmin;
    font-size: 3.7333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__wrap {
    max-width: 960px;
    margin: 0 auto
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__wrap {
    margin: 0 4vmin
  }
}

#wrapper #main .parts_inner__index {
  background-color: #eaeaea
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index {
    margin-bottom: 120px;
    padding: 30px 50px 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index {
    margin-bottom: 10.6666666667vmin;
    padding: 5.3333333333vmin 4vmin
  }
}

#wrapper #main .parts_inner__index__head {
  border-bottom: 1px solid #000;
  text-align: center
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__head {
    margin-bottom: 25px;
    padding-bottom: 20px;
    font-size: 26px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__head {
    margin-bottom: 5.3333333333vmin;
    padding-bottom: 4vmin;
    font-size: 5.3333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__list1 {
    margin-bottom: 32px
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__list1__item {
    margin-bottom: 15px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__list1__item {
    margin-bottom: 4vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__list2 {
    margin-top: 20px;
    margin-left: 70px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__list2 {
    margin-top: 2.6666666667vmin;
    margin-left: 13.3333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__list2__data {
    margin-top: 10px;
    margin-left: 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__list2__data {
    margin-top: 2.6666666667vmin;
    margin-left: 5.3333333333vmin
  }
}

#wrapper #main .parts_inner__index__link1 {
  display: inline-flex;
  align-items: center
}

#wrapper #main .parts_inner__index__link1 .num {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  color: #fff
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__link1 .num {
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin-right: 24px;
    font-size: 26px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__link1 .num {
    width: 8vmin;
    min-width: 8vmin;
    height: 8vmin;
    margin-right: 4vmin;
    font-size: 4.5333333333vmin
  }
}

#wrapper #main .parts_inner__index__link1 .txt {
  display: block;
  font-weight: bold
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__link1 .txt {
    font-size: 26px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__link1 .txt {
    font-size: 4.5333333333vmin
  }
}

#wrapper #main .parts_inner__index__link2 {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__link2 {
    font-size: 26px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__link2 {
    font-size: 4.5333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__link3 {
    font-size: 22px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__link3 {
    font-size: 4vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__index__txt {
    white-space: nowrap;
    letter-spacing: -0.05em
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__index__txt {
    margin-left: 1.5em;
    text-indent: -1.5em;
    letter-spacing: -0.02em
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__head {
    margin-bottom: 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__head {
    margin-bottom: 10.6666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section {
    margin-bottom: 80px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section {
    margin-bottom: 10.6666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__head {
    display: flex;
    align-items: center;
    margin-bottom: 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__head {
    margin-bottom: 5.3333333333vmin;
    text-align: center
  }
}

#wrapper #main .parts_inner__section__head .num {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  color: #fff
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__head .num {
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin-right: 15px;
    font-size: 28px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__head .num {
    width: 10.6666666667vmin;
    min-width: 10.6666666667vmin;
    height: 10.6666666667vmin;
    margin: 0 auto 2.6666666667vmin;
    font-size: 5.8666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__head .txt {
    font-size: 36px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__head .txt {
    font-size: 7.2vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt {
    margin-bottom: 40px;
    overflow: hidden
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt {
    margin-bottom: 9.3333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .txt {
    font-size: 18px;
    line-height: 1.75
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt .txt {
    font-size: 4.2666666667vmin;
    line-height: 1.8
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .txt:not(:last-child) {
    margin-bottom: 1.75em
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt .txt:not(:last-child) {
    margin-bottom: 6.6666666667vmin
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt .img {
    margin: 0 auto 5.3333333333vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .img.about {
    float: right;
    width: 400px;
    margin: 0 0 20px 40px
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .img.graph {
    float: right;
    width: 380px;
    margin: 0 0 20px 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt .img.graph {
    width: 80vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .img.performance1 {
    float: right;
    width: 400px;
    margin: 0 0 20px 40px
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__txt .img.performance2 {
    float: left;
    width: 320px;
    margin: 0 40px 20px 0
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__txt .img.performance2 {
    width: 80vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__notes {
    margin-bottom: 20px;
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__notes {
    margin-bottom: 5.3333333333vmin;
    font-size: 3.4666666667vmin
  }
}

#wrapper #main .parts_inner__section__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background-color: #000;
  color: #fff
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__btn {
    max-width: 640px;
    height: 54px;
    font-size: 18px
  }
  #wrapper #main .parts_inner__section__btn:hover {
    opacity: 1;
    background-color: #f60
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__btn {
    padding: 2.6666666667vmin 10.6666666667vmin;
    font-size: 4.2666666667vmin
  }
}

#wrapper #main .parts_inner__section__btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg)
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__btn::before {
    right: 20px;
    width: 10px;
    height: 10px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__btn::before {
    right: 5.3333333333vmin;
    width: 2.6666666667vmin;
    height: 2.6666666667vmin
  }
}

#wrapper #main .parts_inner__section__close {
  background-color: #ededed
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__close {
    display: flex;
    margin-bottom: 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__close {
    margin-bottom: 10.6666666667vmin;
    padding: 4vmin
  }
}

#wrapper #main .parts_inner__section__close__head {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  font-weight: bold;
  color: #fff
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__close__head {
    width: 108px;
    min-height: 108px;
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__close__head {
    padding: 1.3333333333vmin 1.3333333333vmin .8vmin;
    font-size: 4.2666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__close__body {
    padding: 10px 15px;
    flex: 1
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__close__body {
    padding-top: 2.1333333333vmin
  }
}

#wrapper #main .parts_inner__section__close__body .txt {
  line-height: 1.75
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__close__body .txt {
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__close__body .txt {
    font-size: 4vmin;
    letter-spacing: -0.01em
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__part {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__part__item {
    width: 453px;
    margin-bottom: 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__part__item {
    margin-bottom: 5.3333333333vmin
  }
}

#wrapper #main .parts_inner__section__part__item .head {
  background-color: #dcdcdc;
  font-weight: bold
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__part__item .head {
    margin-bottom: 20px;
    padding: 20px 15px;
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__part__item .head {
    margin-bottom: 4vmin;
    padding: 2.6666666667vmin 3.4666666667vmin;
    font-size: 4.2666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__part__item .txt {
    font-size: 18px;
    line-height: 1.75
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__part__item .txt {
    font-size: 4.2666666667vmin;
    line-height: 1.8
  }
}

#wrapper #main .parts_inner__section__images {
  display: flex;
  justify-content: space-between
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__images {
    margin-bottom: 40px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__images {
    margin-bottom: 10.6666666667vmin;
    flex-direction: column;
  }
  #wrapper #main .parts_inner__section__images.large {
    display: block;
    margin: 0 5.3333333333vmin 5.3333333333vmin
  }
  #wrapper #main .parts_inner__section__images.large .parts_inner__section__images__item {
    width: auto;
    margin-bottom: 2.6666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__images__item {
    width: 310px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__images__item {
    width: 29.3333333333vmin
  }
}

#wrapper #main .parts_inner__section__references {
  border-top: 1px solid #808080;
  border-bottom: 1px solid #808080;
  color: #808080
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__references {
    padding: 15px 0
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__references {
    padding: 2.6666666667vmin 0
  }
}

#wrapper #main .parts_inner__section__references__head {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__references__head {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__references__head {
    font-size: 3.4666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__section__references__list {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__section__references__list {
    font-size: 3.4666666667vmin
  }
}
#wrapper #main .parts_inner__section__references__list__item,
#wrapper #main .parts_inner__section__references__list__item a {
  color: #808080;
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training {
    margin-bottom: 50px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training {
    margin-bottom: 10.6666666667vmin
  }
}

#wrapper #main .parts_inner__training__head {
  background-color: #000;
  font-weight: bold;
  color: #fff
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__head {
    margin-bottom: 20px;
    padding: 15px 18px;
    font-size: 26px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__head {
    margin-bottom: 4vmin;
    padding: 2.6666666667vmin 4vmin;
    font-size: 5.6vmin
  }
}

#wrapper #main .parts_inner__training__head--none-background {
  background-color: transparent;
  color: #000
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__txt {
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.75
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__txt {
    margin-bottom: 8vmin;
    font-size: 4.2666666667vmin;
    line-height: 1.8
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box {
    margin-bottom: 10px;
    padding: 15px;
    border: 2px solid #DCDCDC
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box {
    margin-bottom: 6.6666666667vmin
  }
}

#wrapper #main .parts_inner__training__box__head {
  border-bottom: 1px solid #000;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box__head {
    margin-bottom: 20px;
    padding-bottom: 14px;
    font-size: 22px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box__head {
    margin-bottom: 3.2vmin;
    padding-bottom: 2.1333333333vmin;
    font-size: 5.3333333333vmin
  }
}

#wrapper #main .parts_inner__training__box__list__item {
  position: relative
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box__list__item {
    margin-bottom: 20px;
    padding-left: 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box__list__item {
    margin-bottom: 2.6666666667vmin;
    padding-left: 10.6666666667vmin
  }
}

#wrapper #main .parts_inner__training__box__list__item .num {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  line-height: 1.5
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box__list__item .num {
    font-size: 20px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box__list__item .num {
    font-size: 4.8vmin
  }
}

#wrapper #main .parts_inner__training__box__list__item .txt {
  line-height: 1.75
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box__list__item .txt {
    margin-bottom: 20px;
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box__list__item .txt {
    margin-bottom: 2.6666666667vmin;
    font-size: 4.2666666667vmin
  }
}

@media screen and (min-width: 768px) {
  #wrapper #main .parts_inner__training__box__list__item .img {
    width: 500px;
    margin: 0 auto 30px
  }
}

@media screen and (max-width: 767px) {
  #wrapper #main .parts_inner__training__box__list__item .img {
    margin-left: -10.6666666667vmin;
    margin-bottom: 4vmin;
    padding: 0 2.6666666667vmin
  }
}

#wrapper #main [data-anim] {
  transition: 0.3s all ease-out
}

#wrapper #main [data-anim="top"] {
  transform: translateY(30px);
  opacity: 0
}

#wrapper #main [data-anim="left"] {
  transform: translateX(-60px);
  opacity: 0
}

.parts_training__notes{
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .parts_training__margin-bottom{
      margin-bottom: 1.7em;
  }
}

@media screen and (max-width: 767px) {
  .parts_training__margin-bottom{
      margin-bottom: 6.6666666667vmin;
  }
}

/* AL */
.parts_training__txt-list{
  margin-left: 30px;
  margin-bottom: 25px;
}
.parts_training__txt-list__item{
  list-style: disc;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .parts_training__txt-list{
      margin-bottom: 8vmin;
  }
  .parts_training__txt-list__item{
      font-size: 4.2666666667vmin;
  }
}

/* セクション内のコンテンツ */
.parts_inner__section__sub{
  /*parts_inner__section__txtの置き換え版*/
  margin-bottom: 40px;
  
}
.parts_inner__section__sub--2col{
  display: flex;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub--2col{
    flex-direction: column;
  }
}
.parts_inner__section__sub__2col__left{
  flex-basis: auto;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub__2col__left{
    margin-right: 0;
  }
}
.parts_inner__section__sub__2col__right{
  flex-basis: 400px;
  min-width: 400px;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub__2col__right{
    flex-basis: 100%;
    min-width: 100%;
  }
}

.parts_inner__section__sub__2col__right--author{
  flex-basis: 300px;
  min-width: 300px;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub__2col__right--author{
    flex-basis: auto;
    min-width: auto;
    width: 70%;
    margin: 0 auto;
  }
}

.parts_inner__section__sub--2col--reverse{
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub--2col--reverse{
    flex-direction: column-reverse;
  }
}

.parts_inner__section__sub--2col--reverse .parts_inner__section__sub__2col__left{
  margin-left: 20px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub--2col--reverse .parts_inner__section__sub__2col__left{
    margin: 0;
  }
}

.parts_inner__section__sub--2col--reverse .parts_inner__section__sub__2col__right{
  margin-bottom: 40px;
}

.parts_inner__section__sub--2col--reverse .txt:last-child{
  margin-bottom: 0;
}

.parts_inner__section__sub .txt{
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .parts_inner__section__sub .txt{
    font-size: 4.2666666667vmin;
    line-height: 1.8
  }
}
.parts_inner__section__sub .notes{
}

br.pc-only{}
@media screen and (max-width: 767px) {
  br.pc-only{
    display: none;
  }
}

br.sp-only{
  display: none;
}
@media screen and (max-width: 767px) {
  br.sp-only{
    display: block;
  }
}