@charset "UTF-8";
@media screen and (orientation: portrait) {} /*END query*/
@media screen and (orientation: landscape) {} /*END query*/
/*======================================
concept
/*======================================*/
#concept .page-title-CMN h1 {
  letter-spacing: 3px;
}
#concept li:nth-of-type(1) .desc p {
  text-align: center;
}
@media (min-width: 768px) {
  #concept li:nth-of-type(1) .desc p {
    text-align: left;
  }
} /*END query*/
/*======================================
#features-group
/*======================================*/
#features-group .desc {
  text-align: justify;
}
/*======================================
#features / #features-staff
/*======================================*/
#features-staff .bg-white-harf {
  border-radius: 1em;
  padding: 1em;
}
#features-staff h3 {
  margin: .5em auto 1em;
}
#features-staff td .list-style02 ul {
  display: block;
}
#features-staff p {
  text-align: center;
  margin-top: 1em;
}
#features-staff .desc p {
  text-align: justify;
  margin-top: 0;
}
@media (min-width: 768px) {
  #features-staff .bg-white-harf {
    border-radius: 2em;
    padding: 2em;
  }
} /*END query*/
/*======================================
framework
/*======================================*/
#features-framework .lede-CMN {
  margin-top: 1em;
}
#features-framework ol li:not(:last-of-type) {
  margin-bottom: 2em;
}
#features-framework ol .circle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 100%;
  width: 160px;
  height: 160px;
  margin: 0 auto;
  color: #fff;
}
#features-framework ol .circle .futura {
  font-size: 300%;
  margin-bottom: .3em;
  opacity: .7;
}
#features-framework ol .circle h2 {
  font-size: 140%;
  line-height: 1.3em;
  margin-bottom: 0;
}
#features-framework ol h3, #features-framework ol p {
  text-align: center;
}
#features-framework ol h3 {
  font-size: 150%;
  margin: .7em auto .5em;
}
#features-framework ol p {
  font-size: 120%;
}
@media (min-width: 768px) {
  #features-framework ol li {
    width: calc((100% - 2em*1) /2);
  }
  #features-framework ol li:nth-of-type(1), #features-framework ol li:nth-of-type(2) {
    margin-bottom: 2em;
  }
  #features-framework ol li:nth-of-type(odd) {
    margin-right: 2em;
  }
  #features-framework ol .circle .futura {
    margin-bottom: .1em;
  }
  #features-framework ol .circle h2.line-2 {
    margin-bottom: -1em;
    transform: scale(.9);
  }
  #features-framework ol li .flex {
    height: 6em;
  }
  #features-framework ol li .flex h3 {
    margin: 0 auto;
  }
} /*END query*/
@media (min-width: 1024px) {
  #features-framework ol li {
    width: calc((100% - 2em*3) /4);
    max-width: 260px;
    margin-bottom: 0;
  }
  #features-framework ol li:nth-of-type(1), #features-framework ol li:nth-of-type(2), #features-framework ol li:nth-of-type(3) {
    margin-right: 2em;
    margin-bottom: 0;
  }
  #features-framework ol li:last-of-type {
    margin-right: 0;
    margin-bottom: 0;
  }
  #features-framework ol h3 {
    font-size: 130%;
  }
  #features-framework ol p {
    font-size: 100%;
  }
} /*END query*/
/*======================================
program
/*======================================*/
#program .closs .inner {
  font-size: 120%;
}
#program .closs .inner p {
  text-align: center;
}
#program .closs .inner ul {
  margin: 1em auto;
}
#program .closs .inner li {
  position: relative;
  text-align: center;
  width: calc((100% - .5em)/2);
  font-size: 120%;
  line-height: 1em;
  letter-spacing: 5px;
  text-indent: 5px;
  padding: .7em .7em;
  border-radius: 7px;
  margin-bottom: .5em;
}
#program .closs .inner li:nth-of-type(odd) {
  margin-right: .5em;
}
@media (min-width: 768px) {
  #program .closs .inner li {
    width: calc((100% - 2em*3)/4);
    font-size: 130%;
    padding: .7em .3em;
  }
  #program .closs .inner li:nth-of-type(odd), #program .closs .inner li:not(:last-of-type) {
    margin-right: 2em;
  }
  #program .closs .inner li, #program .closs .inner li:nth-of-type(1), #program .closs .inner li:nth-of-type(2) {
    margin-bottom: 0;
  }
  #program .closs .inner li::before, #program .closs .inner li::after {
    position: absolute;
    content: "";
    background-color: rgba(160, 135, 120, 1);
    width: 1em;
    height: 5px;
    border-radius: 5px;
    right: -1.5em;
    top: 45%;
  }
  #program .closs .inner li::before {
    transform: rotate(45deg);
  }
  #program .closs .inner li::after {
    transform: rotate(-45deg);
  }
  #program .closs .inner li:last-of-type::before, #program .closs .inner li:last-of-type::after {
    content: none;
  }
} /*END query*/
/* #schedule-week ::::::::::::*/
#program #schedule-week .desc p {
  text-align: justify;
}
#program #schedule-week .week li:not(:last-of-type) {
  margin-bottom: 2em;
}
#program #schedule-week .img {
  overflow: hidden;
  border-radius: 2.5em;
}
#program #schedule-week h3 {
  text-align: center;
  font-size: 140%;
  margin: 1em auto;
}
#program #schedule-week h3 span {
  font-size: 80%;
}
@media (min-width: 768px) {
  #program #schedule-day .desc {
    width: 50%;
  }
  #program #schedule-day .img {
    flex: 1;
    margin-left: .5em;
    margin-bottom: 0;
  }
  #program #schedule-week .desc p {
    text-align: center;
  }
  #program #schedule-week .week li {
    width: calc((100% - 2em*2)/3);
    margin-right: 2em;
  }
  #program #schedule-week .week li:nth-of-type(3), #program #schedule-week .week li:nth-of-type(5) {
    margin-right: 0;
  }
  #program #schedule-week .week li:last-of-type {
    margin-bottom: 2em;
  }
  #program #schedule-week h3 span {
    display: block;
  }
} /*END query*/
/* #schedule-day ::::::::::::*/
#program #schedule-day .img {
  margin-bottom: 2em;
}
#program #schedule-day .desc {
  text-align: center;
}
#program #schedule-day .desc .inner {
  display: inline-block;
}
#program #schedule-day dl {
  font-size: 150%;
}
#program #schedule-day dl:not(:last-of-type) {
  margin-bottom: 1em;
}
#program #schedule-day dl + p {
  margin: -1em 0 1.3em;
  line-height: 1.4em;
}
#program #schedule-day .desc aside {
  margin-top: 2em;
}
/*======================================
category
/*======================================*/
.support #category {
  text-align: center;
}
.support #category h1 {
  font-size: 160%;
}
.support #category h2 {
  font-size: 130%;
  margin: .5em auto 1em;
}
@media (min-width: 768px) {
  .support #category h1 {
    font-size: 200%;
  }
  .support #category h2 {
    margin: 1em auto;
  }
} /*END query*/
.support #category .desc {
  display: inline-block;
}
.support #category .desc p {
  text-align: justify;
}
@media (min-width: 768px) {
  .support #category .desc p {
    text-align: center;
  }
} /*END query*/