@charset "UTF-8";
.contents {
  font-family: YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.5;
  position: relative;
  font-size: 16px;
  color: #333
}

.contents li, .contents ol:not(.pankuzu), .contents ul {
  padding: 0;
  margin: 0;
  list-style: none
}


.contents *, .contents ::after, .contents ::before {
  box-sizing: border-box
}

@media screen and (min-width:768px) {
  .p-btn {
    font-size: 16px;
    border: 2px solid #25c3ff;
    line-height: 44px;
    padding: 0 25px;
    min-width: 250px;
    text-align: center;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .1em;
    border-radius: 24px
  }
  .p-btn:hover {
    text-decoration: none;
    background: #25c3ff;
    color: #fff
  }
}

@media screen and (max-width:767px) {
  .p-btn {
    font-size: 13px;
    border: 2px solid #25c3ff;
    line-height: 40px;
    padding: 0 25px;
    min-width: 231px;
    text-align: center;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .1em;
    border-radius: 24px
  }
}

.kv {
  text-align: center
}

@media screen and (min-width:768px) {
  .kv {
    margin-bottom: 60px
  }
}

@media screen and (max-width:767px) {
  .kv {
    margin-bottom: 30px
  }
}

.kv img {
  border: 1px solid #eee
}

@media screen and (min-width:768px) {
  .feature-block {
    padding: 0 40px 40px;
    border-bottom: 2px dotted #e6e6e6;
    margin-bottom: 40px
  }
}

@media screen and (max-width:767px) {
  .feature-block {
    padding-bottom: 30px;
    border-bottom: 1px dotted #e6e6e6;
    margin-bottom: 40px
  }
}

.feature-block__title {
  text-align: center
}

@media screen and (min-width:768px) {
  .feature-block__title {
    font-size: 40px;
    letter-spacing: .3em;
    margin-bottom: 45px
  }
}

@media screen and (max-width:767px) {
  .feature-block__title {
    font-size: 25px;
    letter-spacing: .1em;
    margin-bottom: 10px
  }
  .feature-block__image {
    text-align: center;
    margin-bottom: 10px
  }
}

@media screen and (min-width:768px) {
  .feature-block__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

.feature-block__detail {
  margin-left: 45px
}

@media screen and (max-width:767px) {
  .feature-block__detail {
    margin-left: 0
  }
}

.feature-block__sbj {
  letter-spacing: .1em
}

@media screen and (min-width:768px) {
  .feature-block__sbj {
    margin-top: 50px;
    font-size: 24px;
    margin-bottom: 20px
  }
}

@media screen and (max-width:767px) {
  .feature-block__sbj {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 700
  }
}

@media screen and (min-width:768px) {
  .feature-block__text {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 25px
  }
}

@media screen and (max-width:767px) {
  .feature-block__text {
    font-size: 10px;
    margin-bottom: 10px
  }
  .feature-block__button {
    text-align: center
  }
}

@media screen and (min-width:768px) {
  .newest {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media screen and (max-width:767px) {
  .newest {
    margin-bottom: 40px;
  }
  .newest__image img {
    border: 1px solid #ddd;
  }
}

@media screen and (min-width:768px) {
  .newest__image {
    margin-right: 46px;
    border: 1px solid #ddd;
  }
}

@media screen and (max-width:767px) {
  .newest__image {
    text-align: center;
    margin-bottom: 5px
  }
}

@media screen and (min-width:768px) {
  .newest__vol {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: .2em
  }
}

@media screen and (max-width:767px) {
  .newest__vol {
    letter-spacing: .2em;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 10px
  }
}

@media screen and (min-width:768px) {
  .newest__text {
    margin-bottom: 20px
  }
}

@media screen and (max-width:767px) {
  .newest__text {
    font-size: 12px;
    margin-bottom: 20px
  }
  .newest__button {
    text-align: center
  }
}

.about-link {
  text-align: center
}

@media screen and (min-width:768px) {
  .intro {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 76px
  }
}

@media screen and (max-width:767px) {
  .intro {
    margin-bottom: 60px
  }
}

.back-number {
  background: #eaf7fc
}

@media screen and (min-width:768px) {
  .back-number {
    padding: 75px 0 150px
  }
}

@media screen and (max-width:767px) {
  .back-number {
    padding: 70px 0
  }
}

@media screen and (min-width:768px) {
  .back-number--no-link {
    padding: 75px 0
  }
}

@media screen and (max-width:767px) {
  .back-number--no-link {
    padding: 70px 0
  }
}

.back-number--area {
  background: #eaf7fc
}

@media screen and (min-width:768px) {
  .back-number--area {
    padding-top: 80px;
    padding-bottom: 160px
  }
}

@media screen and (max-width:767px) {
  .back-number--area {
    padding-top: 50px;
    padding-bottom: 80px
  }
}

.back-number__top {
  text-align: center;
  font-weight: 700;
  color: #25c3ff;
  letter-spacing: .3em
}

@media screen and (min-width:768px) {
  .back-number__top {
    font-size: 20px
  }
}

@media screen and (max-width:767px) {
  .back-number__top {
    font-size: 12px
  }
}

.back-number__top::before {
  content: "";
  background: url(../img/top/ico_title_left.png);
  display: inline-block;
  vertical-align: text-bottom
}

@media screen and (min-width:768px) {
  .back-number__top::before {
    width: 15px;
    height: 25px;
    margin-right: 14px
  }
}

@media screen and (max-width:767px) {
  .back-number__top::before {
    background-size: cover;
    width: 9px;
    height: 15px;
    margin-right: 10px
  }
}

.back-number__top::after {
  content: "";
  background: url(../img/top/ico_title_right.png);
  display: inline-block;
  vertical-align: text-bottom
}

@media screen and (min-width:768px) {
  .back-number__top::after {
    margin-left: 14px;
    width: 15px;
    height: 25px
  }
}

@media screen and (max-width:767px) {
  .back-number__top::after {
    margin-left: 4px;
    background-size: cover;
    width: 9px;
    height: 15px
  }
}

.back-number__title {
  text-align: center
}

@media screen and (min-width:768px) {
  .back-number__title {
    font-size: 40px;
    letter-spacing: .2em;
    margin-bottom: 15px
  }
}

@media screen and (max-width:767px) {
  .back-number__title {
    font-size: 25px;
    margin-bottom: 10px
  }
}

.back-number__sub {
  text-align: center;
}
@media screen and (min-width:768px) {
  .back-number__sub {
    margin-bottom: 35px
  }
}
@media screen and (max-width:767px) {
  .back-number__sub {
    margin-bottom: 30px;
    font-size: 12px;
  }
}

.back-number__all {
  position: relative;
  text-align: center
}

.back-number__illust {
  position: absolute;
  left: 50%;
  top: 0
}

@media screen and (min-width:768px) {
  .back-number__illust {
    margin-top: -20px;
    margin-left: 130px
  }
}

@media screen and (max-width:767px) {
  .back-number__illust {
    margin-top: -8px;
    margin-left: 120px
  }
}

.p-item {
  position: relative;
  display: inline-block;
  color: #333;
  background: #fff;
  border-radius: 12px
}

@media screen and (min-width:768px) {
  .p-item {
    width: 272px;
    height: 382px
  }
  .p-item:hover {
    text-decoration: none;
    opacity: .7
  }
}

@media screen and (max-width:767px) {
  .p-item {
    width: 100%;
    border-radius: 12px;
    padding: 0 15px
  }
}

.p-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0
}

@media screen and (min-width:768px) {
  .p-item:after {
    border-right: 18px solid #25c3ff;
    border-left: 18px solid transparent;
    border-bottom: 18px solid #25c3ff;
    border-top: 18px solid transparent;
    border-radius: 0 0 12px 0
  }
}

@media screen and (max-width:767px) {
  .p-item:after {
    border-right: 13px solid #25c3ff;
    border-left: 13px solid transparent;
    border-bottom: 13px solid #25c3ff;
    border-top: 13px solid transparent;
    border-radius: 0 0 12px 0
  }
}

.p-item__icon {
  position: absolute;
  z-index: 1;
  top: -12px;
  left: -12px;
  background: rgba(144, 224, 255, .7);
  text-align: center;
  border-radius: 100%
}

@media screen and (min-width:768px) {
  .p-item__icon {
    width: 67px;
    height: 67px;
    line-height: 67px;
    font-size: 14px
  }
}

@media screen and (max-width:767px) {
  .p-item__icon {
    width: 45px;
    height: 45px;
    line-height: 45px;
    font-size: 10px
  }
}

.p-item__image {
  text-align: center
}

@media screen and (min-width:768px) {
  .p-item__image {
    padding-top: 30px
  }
}

@media screen and (max-width:767px) {
  .p-item__image {
    padding-top: 15px;
    margin-bottom: 5px
  }
}

.p-item__link {
  color: #25c3ff;
  font-weight: 700;
  text-align: center
}

@media screen and (min-width:768px) {
  .p-item__link {
    width: 210px;
    border-top: 2px dotted #e6e6e6;
    padding: 15px 0;
    margin: 15px auto 0;
    font-size: 16px
  }
}

@media screen and (max-width:767px) {
  .p-item__link {
    border-top: 1px dotted #e6e6e6;
    padding: 10px 0;
    font-size: 12px
  }
}

ul.back-number-list:after {
  content: ".";
  visibility: hidden;
  height: auto;
  line-height: 0;
  clear: both;
  display: block
}

@media screen and (max-width:767px) {
  ul.back-number-list {
    padding: 0 6px;
    margin-bottom: 15px
  }
}

@media screen and (min-width:768px) {
  ul.back-number-list li {
    float: left;
    margin-right: 50px;
    margin-bottom: 65px
  }
  ul.back-number-list li:nth-child(3n) {
    margin-right: 0
  }
}

@media screen and (max-width:767px) {
  ul.back-number-list li {
    float: left;
    width: calc(50% - 12px);
    margin-right: 23px;
    margin-bottom: 22px
  }
  ul.back-number-list li:nth-child(2n) {
    margin-right: 0
  }
  ul.back-number-list li:nth-child(2n+1) {
    clear: both
  }
}

@media screen and (min-width:768px) {
  .about {
    background: url(../img/about/side.png) center 530px no-repeat #fff9ee;
    padding-top: 150px;
    padding-bottom: 100px
  }
}

@media screen and (max-width:767px) {
  .about {
    background: #fff9ee;
    padding-top: 50px;
    padding-bottom: 80px
  }
}

.about__title {
  text-align: center;
  letter-spacing: .2em
}

@media screen and (min-width:768px) {
  .about__title {
    font-size: 40px;
    margin-bottom: 90px
  }
}

@media screen and (max-width:767px) {
  .about__title {
    font-size: 25px;
    margin-bottom: 35px
  }
}

.about__top {
  text-align: center
}

@media screen and (min-width:768px) {
  .about__top {
    margin-bottom: 100px
  }
}

@media screen and (max-width:767px) {
  .about__top {
    margin-bottom: 30px
  }
  .about__top img {
    width: 130px
  }
}

.about__text {
  text-align: center;
  line-height: 2.5
}

@media screen and (min-width:768px) {
  .about__text {
    font-size: 14px;
    letter-spacing: .2em;
    margin-bottom: 50px
  }
}

@media screen and (max-width:767px) {
  .about__text {
    font-size: 12px;
    margin-bottom: 30px;
    letter-spacing: .3vw
  }
}

@media screen and (min-width:768px) {
  .about__text--last {
    margin-top: 80px
  }
}

@media screen and (max-width:767px) {
  .about__text--last {
    margin-top: 50px
  }
}

.about__mid {
  margin-bottom: 30px
}

.about__bottom, .about__mid {
  text-align: center
}

@media screen and (min-width:768px) {
  .about__bottom {
    margin-top: 140px;
    margin-bottom: 100px
  }
}

@media screen and (max-width:767px) {
  .about__bottom {
    margin-top: 50px;
    margin-bottom: 80px
  }
}

.about-contents {
  border: 2px solid #7ecef4;
  border-radius: 12px
}

@media screen and (min-width:768px) {
  .about-contents {
    padding: 30px 30px 20px;
    width: 690px;
    margin: 0 auto
  }
}

@media screen and (max-width:767px) {
  .about-contents {
    padding: 30px 20px 20px
  }
}

.about-contents__title {
  letter-spacing: .2em;
  text-align: center
}

@media screen and (min-width:768px) {
  .about-contents__title {
    border-bottom: 2px dotted #7ecef4;
    font-size: 28px;
    padding-bottom: 14px;
    margin-bottom: 25px
  }
}

@media screen and (max-width:767px) {
  .about-contents__title {
    border-bottom: 2px dotted #7ecef4;
    font-size: 21px;
    padding-bottom: 10px;
    margin-bottom: 20px
  }
}

ul.about-contents-list {
  margin: 0 auto
}

@media screen and (min-width:768px) {
  ul.about-contents-list {
    width: 496px
  }
}

ul.about-contents-list li {
  text-align: center;
  line-height: 1;
  color: #333;
  display: block;
  padding: 23px 0;
  letter-spacing: .1em
}

@media screen and (min-width:768px) {
  ul.about-contents-list li {
    font-size: 14px;
    padding: 23px 0
  }
}

@media screen and (max-width:767px) {
  ul.about-contents-list li {
    font-size: 12px;
    padding: 20px 0
  }
}

.feature-kv {
  text-align: center;
  margin-bottom: 30px
}

.feature-kv img {
  border: 1px solid #eee
}

.feature__title {
  letter-spacing: .2em;
  text-align: center;
  color: #003670;
  line-height: 1.2
}

@media screen and (min-width:768px) {
  .feature__title {
    font-size: 40px;
    margin-bottom: 25px
  }
}

@media screen and (max-width:767px) {
  .feature__title {
    font-size: 25px;
    margin-bottom: 10px
  }
}

.feature__copy {
  color: #003670;
  line-height: 1.8
}

@media screen and (min-width:768px) {
  .feature__copy {
    font-size: 14px;
    text-align: center;
    margin-bottom: 60px
  }
}

@media screen and (max-width:767px) {
  .feature__copy {
    font-size: 12px;
    margin-bottom: 10px
  }
}

@media screen and (min-width:768px) {
  .member {
    margin-bottom: 60px
  }
}

@media screen and (max-width:767px) {
  .member {
    margin-bottom: 30px
  }
}

.member__top {
  text-align: center
}

@media screen and (min-width:768px) {
  .member__top {
    margin-bottom: 5px
  }
}

@media screen and (max-width:767px) {
  .member__top {
    margin-bottom: 10px
  }
}

@media screen and (min-width:768px) {
  .member__intro {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.member__cross {
  text-align: center
}

@media screen and (min-width:768px) {
  .member__cross {
    width: 114px
  }
}

@media screen and (max-width:767px) {
  .member__cross {
    margin: 20px 0
  }
}

.member__note {
  text-align: center;
  color: #003670
}

@media screen and (min-width:768px) {
  .member__note {
    margin-top: 25px;
    font-size: 14px
  }
}

@media screen and (max-width:767px) {
  .member__note {
    margin-top: 15px;
    font-size: 13px
  }
}

.member-group {
  border-bottom: 2px solid #003670;
  padding-bottom: 15px
}

.member-group__title {
  border-top: 2px solid #003670;
  text-align: center
}

.member-group__title span {
  background: #fff;
  padding: 0 15px;
  top: -10px
}

.member-group__mama {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end
}

@media screen and (max-width:767px) {
  .member-group__mama {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.member-group__mama a {
  display: block;
  margin: 0 20px
}

.meeting__start {
  text-align: center
}

@media screen and (min-width:768px) {
  .meeting__start {
    margin-bottom: 90px
  }
}

@media screen and (max-width:767px) {
  .meeting__start {
    margin-bottom: 60px
  }
}

.meeting__bottom {
  text-align: center;
  margin-bottom: 70px
}

@media screen and (min-width:768px) {
  .meeting-block {
    margin-bottom: 160px
  }
}

@media screen and (max-width:767px) {
  .meeting-block {
    margin-bottom: 60px
  }
}

.meeting-block__title {
  color: #003670;
  font-weight: 700
}

@media screen and (min-width:768px) {
  .meeting-block__title {
    margin-bottom: 60px;
    text-align: center;
    font-size: 24px;
    letter-spacing: .2em
  }
}

@media screen and (max-width:767px) {
  .meeting-block__title {
    font-size: 18px;
    margin-bottom: 30px;
    letter-spacing: .1em
  }
}

.meeting-block__title>div, .member-group__title span {
  position: relative;
  display: inline-block
}

@media screen and (max-width:767px) {
  .meeting-block__title>div {
    padding-left: 25px
  }
}

.meeting-block__title>div::before {
  content: "";
  background: url(../img/feature/bg_title.png);
  display: inline-block;
  position: absolute
}

@media screen and (min-width:768px) {
  .meeting-block__title>div::before {
    top: -28px;
    left: -35px;
    width: 89px;
    height: 89px
  }
}

@media screen and (max-width:767px) {
  .meeting-block__title>div::before {
    top: -20px;
    left: 0;
    width: 67px;
    height: 67px;
    background-size: cover
  }
}

.meeting-block__title>div>span {
  position: relative;
  z-index: 1
}

@media screen and (min-width:768px) {
  .meeting-block__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.meeting-block__row--rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}

.meeting-block__row--rev .meeting-block__image {
  margin-left: 0
}

@media screen and (min-width:768px) {
  .meeting-block__row--rev .meeting-block__image {
    margin-right: 100px
  }
}

.meeting-block__text {
  color: #003670;
  line-height: 2
}

@media screen and (min-width:768px) {
  .meeting-block__text {
    font-size: 14px
  }
}

@media screen and (max-width:767px) {
  .meeting-block__text {
    font-size: 12px
  }
}

.meeting-block__text dl {
  margin-bottom: 1.5em
}

.meeting-block__text dt {
  font-weight: 700
}

@media screen and (min-width:768px) {
  .meeting-block__image {
    margin-left: 100px;
    margin-top: 30px;
    margin-bottom: 30px
  }
}

@media screen and (max-width:767px) {
  .meeting-block__image {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px
  }
}

@media screen and (min-width:768px) {
  .feature-footer {
    margin-bottom: 100px
  }
}

@media screen and (max-width:767px) {
  .feature-footer {
    margin-bottom: 60px
  }
}

.feature-footer__next {
  font-size: 14px;
  text-align: center;
  font-weight: 700;
  color: #003670
}

.feature-footer__next a {
  display: block;
  font-weight: 400;
  margin-left: 10px
}

.feature-footer__next a::before {
  content: "";
  background: url(../../common/img/pc/footer/footer_arrow.png) left top no-repeat;
  width: 12px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px
}

.paginate {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (min-width:768px) {
  .paginate {
    margin-top: 30px;
    margin-bottom: 30px
  }
}

@media screen and (max-width:767px) {
  .paginate {
    margin-top: 15px;
    margin-bottom: 15px
  }
}

.paginate>a, .paginate>span {
  text-align: center;
  display: inline-block;
  border-radius: 9px;
  margin: 0 5px
}

.paginate>span {
  background: #e6e6e6;
  line-height: 40px
}

.paginate>a {
  line-height: 36px;
  color: #25c3ff;
  border: 2px solid #25c3ff
}

.paginate>a:hover {
  text-decoration: none;
  background: #25c3ff;
  color: #fff
}

.paginate__num {
  height: 40px;
  width: 40px
}

.paginate__link {
  padding: 0 18px
}

.home-training {
  color: #003670;
  background: #fff33f
}

@media screen and (min-width:768px) {
  .home-training {
    margin-top: 80px;
    margin-bottom: 80px;
    padding: 40px
  }
}

@media screen and (max-width:767px) {
  .home-training {
    margin: 40px -15px;
    padding: 0 15px 20px
  }
}

.home-training__title {
  text-align: center;
  font-weight: 700
}

@media screen and (min-width:768px) {
  .home-training__title {
    padding-top: 30px;
    letter-spacing: .4em;
    font-size: 24px;
    margin-bottom: 60px
  }
}

@media screen and (max-width:767px) {
  .home-training__title {
    padding-top: 40px;
    letter-spacing: .2em;
    font-size: 18px;
    padding-left: 20px;
    margin-bottom: 30px
  }
}

.home-training__title>div {
  display: inline-block;
  position: relative
}

.home-training__title>div::before {
  content: "";
  background: url(../img/feature/icon_white.png);
  display: inline-block;
  position: absolute
}

@media screen and (min-width:768px) {
  .home-training__title>div::before {
    top: -28px;
    left: -35px;
    width: 89px;
    height: 89px
  }
}

@media screen and (max-width:767px) {
  .home-training__title>div::before {
    top: -20px;
    left: -30px;
    width: 67px;
    height: 67px;
    background-size: cover
  }
}

.home-training__title span {
  position: relative;
  z-index: 1
}

@media screen and (min-width:768px) {
  .home-training-block {
    margin-bottom: 40px
  }
}

@media screen and (max-width:767px) {
  .home-training-block {
    padding-bottom: 20px
  }
  .home-training-block:last-child {
    padding-bottom: 0
  }
}

.home-training-block:last-child {
  margin-bottom: 20px
}

.home-training-block__title {
  font-weight: 700;
  font-size: 18px;
  padding-bottom: 4px;
  letter-spacing: .2em;
  text-align: center
}

@media screen and (min-width:768px) {
  .home-training-block__title {
    margin-bottom: 20px;
    border-bottom: 2px solid #fff
  }
}

@media screen and (max-width:767px) {
  .home-training-block__title {
    margin-bottom: 10px
  }
  .home-training-block__title span {
    display: inline;
    border-bottom: 2px solid #fff
  }
}

@media screen and (min-width:768px) {
  .home-training-block__body {
    font-size: 14px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
}

@media screen and (max-width:767px) {
  .home-training-block__body {
    font-size: 12px
  }
}

@media screen and (min-width:768px) {
  .home-training-block__image {
    margin-right: 35px
  }
}

@media screen and (max-width:767px) {
  .home-training-block__image {
    margin-bottom: 5px
  }
}

@media screen and (min-width:768px) {
  .home-training-block__text {
    line-height: 2
  }
}

@media screen and (max-width:767px) {
  .home-training-block__text {
    line-height: 1.8
  }
}

hr.border {
  border: none;
  background: url(../img/feature/line.png) left top repeat-x;
  width: 100%;
  display: block
}

@media screen and (min-width:768px) {
  hr.border {
    height: 3px
  }
}

@media screen and (max-width:767px) {
  hr.border {
    height: 2px;
    background-size: cover
  }
}

.song__header {
  position: relative;
  color: #003670
}

@media screen and (min-width:768px) {
  .song__header {
    margin-left: 35px;
    padding-left: 140px;
    margin-top: 80px;
    margin-bottom: 120px
  }
  .song__header::before {
    content: "";
    display: inline-block;
    background: url(../img/feature/icon_2.png);
    width: 116px;
    height: 116px;
    position: absolute;
    left: 0;
    top: 0
  }
}

@media screen and (max-width:767px) {
  .song__header {
    margin-top: 10px;
    margin-bottom: 20px
  }
  .song__header::before {
    content: "";
    display: block;
    background: url(../img/feature/icon_2.png);
    background-size: cover;
    width: 94px;
    height: 94px;
    margin: 0 auto
  }
}

.song__title {
  padding-top: 15px;
  line-height: 1.2
}

@media screen and (min-width:768px) {
  .song__title {
    letter-spacing: .4em;
    font-size: 24px
  }
}

@media screen and (max-width:767px) {
  .song__title {
    letter-spacing: .2em;
    font-size: 16px;
    margin-bottom: 10px
  }
}

.song__title span {
  vertical-align: middle
}

@media screen and (min-width:768px) {
  .song__title span {
    font-size: 40px;
    letter-spacing: .4em
  }
}

@media screen and (max-width:767px) {
  .song__title span {
    display: block;
    font-size: 25px;
    letter-spacing: .2em
  }
}

@media screen and (min-width:768px) {
  .song__intro {
    font-size: 14px
  }
}

@media screen and (max-width:767px) {
  .song__intro {
    font-size: 12px
  }
}

.adviser {
  position: relative
}

@media screen and (min-width:768px) {
  .adviser {
    font-size: 14px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 70px
  }
}

@media screen and (max-width:767px) {
  .adviser {
    margin-top: 40px;
    margin-bottom: 20px
  }
}

.adviser__image {
  line-height: 0;
  position: relative
}

@media screen and (min-width:768px) {
  .adviser__image {
    margin-right: 15px
  }
}

@media screen and (max-width:767px) {
  .adviser__image {
    text-align: center
  }
  .adviser__image img {
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%)
  }
}

.adviser__image::before {
  content: "";
  position: absolute;
  background: url(../img/feature/ico_adviser.png) left top no-repeat
}

@media screen and (min-width:768px) {
  .adviser__image::before {
    left: -130px;
    top: -30px;
    width: 132px;
    height: 114px
  }
}

@media screen and (max-width:767px) {
  .adviser__image::before {
    left: 50%;
    top: -30px;
    margin-left: -120px;
    width: 132px;
    height: 114px
  }
}

.adviser__detail {
  border-top: 2px solid #003670;
  border-bottom: 2px solid #003670;
  color: #003670
}

@media screen and (min-width:768px) {
  .adviser__detail {
    width: 344px;
    line-height: 2;
    padding: 15px 20px
  }
}

@media screen and (max-width:767px) {
  .adviser__detail {
    font-size: 12px;
    line-height: 1.8;
    padding: 15px
  }
}

.adviser__name {
  font-weight: 700;
  font-size: 16px
}

@media screen and (min-width:768px) {
  .tutorial {
    margin-bottom: 75px
  }
}

.tutorial-block {
  color: #003670
}

@media screen and (min-width:768px) {
  .tutorial-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block {
    margin-bottom: 30px
  }
}

.tutorial-block__top {
  position: relative
}

@media screen and (min-width:768px) {
  .tutorial-block__top {
    margin-right: 35px
  }
}

.tutorial-block__icon {
  position: absolute
}

@media screen and (max-width:767px) {
  .tutorial-block__icon img {
    width: 67px;
    height: 67px
  }
}

.tutorial-block__song {
  font-weight: 700;
  color: #003670
}

@media screen and (min-width:768px) {
  .tutorial-block__song {
    padding: 25px 0 25px 100px;
    font-size: 24px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block__song {
    padding: 20px 0 15px 70px;
    font-size: 18px
  }
  .tutorial-block__image {
    text-align: center
  }
}

.tutorial-block__note {
  line-height: 1.5
}

@media screen and (min-width:768px) {
  .tutorial-block__note {
    margin-top: 5px;
    font-size: 12px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block__note {
    margin-top: 2px;
    font-size: 11px
  }
}

.tutorial-block__detail {
  letter-spacing: .1em
}

@media screen and (min-width:768px) {
  .tutorial-block__detail {
    padding-top: 25px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block__detail {
    padding-top: 10px
  }
}

.tutorial-block__title {
  font-weight: 700;
  border-bottom: 2px solid #fff33f
}

@media screen and (min-width:768px) {
  .tutorial-block__title {
    font-size: 16px;
    padding-bottom: 5px;
    margin-bottom: 10px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block__title {
    font-size: 12px;
    padding-bottom: 5px;
    margin-bottom: 5px
  }
}

@media screen and (min-width:768px) {
  .tutorial-block__text {
    line-height: 2;
    font-size: 14px
  }
}

@media screen and (max-width:767px) {
  .tutorial-block__text {
    line-height: 1.8;
    font-size: 12px
  }
}

.mama-modal-bg {
  display: none;
  background: rgba(255, 255, 255, .7);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 101
}

.mama-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 102;
  box-sizing: border-box
}

@media screen and (min-width:768px) {
  .mama-modal {
    width: 400px;
    height: 210px
  }
}

@media screen and (max-width:767px) {
  .mama-modal {
    width: 85%;
    max-width: 340px
  }
}

.mama-modal__close {
  position: absolute;
  right: 0;
  top: -40px
}

.mama-modal__wrap {
  overflow: hidden
}

@media screen and (min-width:768px) {
  .mama-modal__wrap {
    width: 400px
  }
}

@media screen and (max-width:767px) {
  .mama-modal__wrap {
    width: 100%
  }
}

.mama-modal__panels {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all .6s;
  transition: all .6s
}

.mama-modal__panel {
  background: #fff33f;
  border-radius: 12px;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity .6s;
  transition: opacity .6s
}

@media screen and (min-width:768px) {
  .mama-modal__panel {
    width: 320px;
    height: 210px;
    padding: 0 40px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
  }
}

@media screen and (max-width:767px) {
  .mama-modal__panel {
    box-sizing: border-box;
    width: 100%;
    padding: 20px 1.5em;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
  }
}

.mama-modal__panel.is-show {
  opacity: 1
}

.mama-modal__right {
  position: absolute;
  right: -50px;
  top: 50%;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (max-width:767px) {
  .mama-modal__right {
    -webkit-transform: translate(-75%, -50%);
    -ms-transform: translate(-75%, -50%);
    transform: translate(-75%, -50%)
  }
}

.mama-modal__left {
  position: absolute;
  left: -50px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1
}

@media screen and (max-width:767px) {
  .mama-modal__left {
    -webkit-transform: translate(75%, -50%);
    -ms-transform: translate(75%, -50%);
    transform: translate(75%, -50%)
  }
}

.mama-modal__title {
  text-align: center;
  border-bottom: 2px solid #003670
}

@media screen and (min-width:768px) {
  .mama-modal__title {
    padding-top: 25px;
    height: 27px;
    padding-bottom: 10px;
    margin-bottom: 25px
  }
}

@media screen and (max-width:767px) {
  .mama-modal__title {
    padding-bottom: 10px;
    margin-bottom: 20px
  }
}

.mama-modal__detail, .mama-modal__details {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.mama-modal__details {
  -webkit-transition: all .3s;
  transition: all .3s
}

.mama-modal__detail {
  color: #003670
}

@media screen and (min-width:768px) {
  .mama-modal__detail {
    font-size: 14px;
    width: 320px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 320px;
    -ms-flex: 1 0 320px;
    flex: 1 0 320px
  }
}

@media screen and (max-width:767px) {
  .mama-modal__detail {
    font-size: 12px
  }
}

@media screen and (min-width:768px) {
  .mama-modal__image {
    margin-right: 20px
  }
}

@media screen and (max-width:767px) {
  .mama-modal__image {
    margin-right: 15px
  }
  .mama-modal__text {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.mama-modal__name {
  font-weight: 700
}

@media screen and (min-width:768px) {
  .sp-continue-link {
    display: none
  }
}

@media screen and (max-width:767px) {
  .sp-continue-link {
    font-size: 14px;
    text-align: center;
    margin: 20px 0 60px
  }
  .sp-continue {
    display: none
  }
}