body {
  width: 100%;
  min-width: 375px;
}
img {
  max-width: 100%;
}
.mv {
  text-align: center;
}
.mv-img {
  margin: 0 auto;
  display: block;
}
.mv-btn-wrap {
  position: relative;
}
.mv-price-bubble, .mv-btn-btn {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.mv-price-bubble {
  top: -34px;
  z-index: 1;
}
.mv-btn-btn {
  top: 38px;
  cursor: pointer;
}
@media (max-width: 639px) {
  .mv-btn-btn {
    width: 95%;
    top: 42px;
  }
  .mv-price-bubble {
    width: 163px;
    top: 14px;
  }
}
.mv-btn {
  background-color: #1d69bd;
  margin-right: 0.5rem;
  padding: 1rem 1rem .8rem;
  position: relative;
  box-shadow: 0 3px #11549f;
  color: #fff;
  border-radius: 36px;
  width: 585px;
  border: none;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 639px) {
  .mv-btn {
    font-size: 1rem;
  }
}
.mv-btn img {
  position: absolute;
  top: 51%;
  transform: translateY(-50%);
  right: 13px;
  width: 8px;
}
.mv {
  padding-bottom: 9rem;
}
@media (max-width: 639px) {
  .mv {
    padding-bottom: 8rem;
  }
}
@media (max-width: 449px) {
  .mv-btn {
    width: 100%;
  }
}
.intro {
  max-width: 1700px;
  margin: 4rem auto;
  text-align: center;
  background-color: #ebf7ff;
}
.intro-ttl {
  background-color: #1da1f2;
  position: relative;
  box-shadow: 0 4px #006bad;
  margin-bottom: 4rem;
}
.youtube_wrap iframe {
  max-width: 830px;
  width: 80%;
  height: 467px;
}
.intro-ttl img {
  position: absolute;
  left: calc(50% - 390px);
  top: 50%;
  transform: translate(-50%, -50%);
}
.intro h2 {
  color: #fff;
  font-weight: bold;
  font-family: initial;
  font-size: 1.8rem;
  text-align: center;
  line-height: 2.3;
}
.intro p {
  font-size: 1.5rem;
}
.intro p span {
  color: #e84709;
}
.youtube_wrap {
  padding: 3rem 0;
}
.section-ttl {
  position: relative;
}
.section-ttl img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -42px;
  width: 192px;
}
.section-ttl h2 {
  text-align: center;
  font-size: 1.8rem;
  font-family: ui-serif;
  font-weight: bold;
  padding-left: .3rem;
}
@media (max-width: 500px) {
  .section-ttl h2 {
    font-size: 1.3rem;
  }
}
.advantage-period {
  padding: 3rem 0;
  position: relative;
}
.difference .section-ttl p {
  width: 384px;
  padding-top: .7em;
  margin: 0 auto;
  font-size: 4rem;
  margin-top: 1rem;
  color: #e84709;
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  padding-left: 3rem;
}
.difference .section-ttl p img {
  position: absolute;
  top: 9px;
  left: 31px;
  width: 10px;
}
@media (max-width: 639px) {
  .difference .section-ttl p img {
    width: 6px;
  }
}
.difference .section-ttl p img:first-child {
  left: 81px;
}
.difference .section-ttl p img:nth-child(2) {
  left: 144px;
}
.difference .section-ttl p img:nth-child(3) {
  left: 209px;
}
.difference .section-ttl p img:nth-child(4) {
  left: 273px;
}
.difference .section-ttl p img:last-child {
  left: 337px;
}
@media (min-width: 500px) {
  .difference .section-ttl p img {
    left: 80px;
  }
  .difference .section-ttl p img:first-child {
    left: 336px;
  }
  .difference .section-ttl p img:nth-child(2) {
    left: 144px;
  }
  .difference .section-ttl p img:nth-child(3) {
    left: 209px;
  }
  .difference .section-ttl p img:nth-child(4) {
    left: 273px;
  }
  .difference .section-ttl p img:last-child {
    left: 337px;
  }
}
@media (max-width: 639px) {
  .difference .section-ttl p img {
    left: 149px;
  }
  .difference .section-ttl p img:first-child {
    left: 195px;
  }
  .difference .section-ttl p img:nth-child(2) {
    left: 239px;
  }
  .difference .section-ttl p img:nth-child(3) {
    left: 289px;
  }
  .difference .section-ttl p img:nth-child(4) {
    left: 332px;
  }
  .difference .section-ttl p img:last-child {
    left: 337px;
  }
}
.plan {
  padding: 2rem 0 6rem;
  text-align: center;
}
.plan-ttl {
  position: absolute;
  top: 38px;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 3rem;
}
.plan p .tag {
  color: #e84709;
  border: 1px solid #e84709;
  border-radius: 5px;
  margin-right: .5rem;
  font-size: 1rem;
  padding: .1rem .3rem;
}
.plan p .marker {
  font-size: 1.5rem;
}
.plan p strong {
  color: #e84709;
  font-size: 2.2rem;
  margin-left: .3rem;
}
.lato {
  font-family: 'Lato', sans-serif;
}
.plan p .red {
  color: #e84709;
  font-size: 1.5rem;
  font-weight: normal;
}
.plan p .marker {
  background: linear-gradient(transparent 75%, #ffdc00 75%);
  font-weight: bold;
}
.plan .section-ttl {
  margin-bottom: 2.5rem;
}
.courses-wrap {
  background-color: #fff8cc;
  padding: 4rem 0;
}
.advantage-period .courses {
  text-align: center;
  width: 70%;
  max-width: 960px;
  margin: 0 auto;
  justify-content: center;
  background-color: #fff8cc;
}
.advantage-period .courses .d-flex {
  display: flex;
  background-color: #fff;
  margin-bottom: 3rem;
  padding: 2rem 3rem;
}
.advantage-period .three-month {
  border: 1px solid #1df28f;
  border-radius: 5px;
}
.advantage-period .three-month h3 {
  background-color: #1df28f;
}
.advantage-period .six-month {
  border: 1px solid #1da1f2;
  border-radius: 5px;
}
.advantage-period .six-month h3 {
  background-color: #1da1f2;
}
.advantage-period .twelve-month {
  border: 1px solid #ff910a;
  border-radius: 5px;
}
.advantage-period .twelve-month h3 {
  background-color: #ff910a;
}
.advantage-period .course h3 {
  color: #fff;
  font-size: 1.2rem;
  padding: .7rem 0;
}
.advantage-period .course {
  width: 85%;
  position: relative;
  margin-right: 1rem;
}
.advantage-period .course:last-child {
  margin-right: 0;
}
.advantage-period .course img {
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
  width: 188px;
}
.advantage-period .course img.limited {
  width: 250px;
}
.advantage-period .price {
  padding: 1rem;
}
.advantage-period .course h4 {
  font-size: 1.2rem;
  font-weight: bold;
}
.advantage-period .course p {
  font-size: 1.5rem;
  color: #e84709;
  font-weight: bold;
  margin-top: 1rem;
}
.advantage-period .course p small {
  margin-left: .3rem;
  font-size: .5rem;
  font-weight: normal;
}
.advantage-period .course p.note {
  font-size: .8rem;
  margin-top: 0;
}
.advantage-period .online {
  background-color: #fff;
  position: relative;
  padding: 2.5rem 2rem;
}
.advantage-period .online .text .text-ttl {
  position: relative;
  padding-left: 1.5rem;
}
.advantage-period .online .text .text-ttl img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-right: 1rem;
  height: 57px;
}
.advantage-period .online .text h4 {
  display: flex;
  align-items: center;
  font-size: 1.1rem;
  line-height: 1.5;
}
.advantage-period .online .detail {
  display: flex;
  margin-top: 1.3rem;
}
.online .online-ttl {
  display: flex;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: bold;
}
.online .detail-img {
  width: 34%;
  margin-right: 1.5rem;
}
.online .detail .text {
  text-align: left;
}
.online .detail .text p {
  line-height: 1.8;
  margin: 1rem 0;
  font-size: .9rem;
}
.online .detail .text small {
  color: #60b5f4;
  font-size: .9rem;
}
.online .online-bubble {
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  width: 266px;
}
.advantage-period .online-ttl p {
  font-size: 1.5rem;
  color: #e84709;
  font-weight: bold;
  margin-left: .5rem;
}
.advantage-period .online-ttl p small {
  margin-left: .3rem;
  font-size: .5rem;
  font-weight: normal;
}
.advantage-period .plan-desc {
  background-image: url(../img/curriculum/denken3-new/plan-bg.png);
  background-repeat: no-repeat;
  text-align: center;
  background-size: contain;
  background-position-x: center;
  max-width: 1700px;
  margin: 0 auto;
  padding: 15rem 0 5rem;
}
.advantage-period .plan-desc h3 {
  color: #1da1f2;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.advantage-period .plan-desc p {
  font-size: 1.2rem;
  line-height: 2;
}
.advantage-period .plan-desc .mt {
  margin-top: 3rem;
}
.advantage-period .plan-desc .marker {
  background: linear-gradient(transparent 75%, #ffdc00 75%);
  font-weight: bold;
}
.difference .point {
  text-align: center;
  max-width: 1700px;
  margin: 4rem auto 0;
  position: relative;
}
.difference .point .ttl {
  position: absolute;
  left: 134px;
  text-align: left;
}
.difference .point-1 .ttl {
  top: 100px;
}
@media (max-width: 1200px) {
  .difference .point-1 .ttl {
    top: 71px;
  }
}
.difference .point-1 ul {
  display: flex;
  flex-wrap: wrap;
  color: #6b6b6b;
}
.difference .point-1 li {
  width: 33.3%;
  margin-bottom: 1rem;
}
@media (max-width: 500px) {
  .difference .point-1 li {
    width: 100%;
  }
  .sp-none {
    display: none;
  }
}
.difference .point-2 .ttl {
  top: 132px;
}
.difference .point-3 .ttl {
  top: 132px;
}
.difference .point .ttl h2 {
  text-align: left;
  font-size: clamp(10px, 2vw, 33px);
  font-weight: bold;
  line-height: 1.5;
  margin-top: .7rem;
}
.difference .point .ttl .tag {
  background-color: #1da1f2;
  color: #fff;
  font-size: 1rem;
  padding: .3rem 1.5rem;
  border-radius: 15px;
}
.difference .point .ttl .marker {
  background: linear-gradient(transparent 75%, #ffdc00 75%);
}
.difference .point .sentence {
  text-align: left;
  padding: 1.5rem 0;
  max-width: 84%;
  margin: 0 auto;
  font-size: 1rem;
}
.difference .point .sentence button {
  margin: 2rem auto;
  border: 1px solid #1da1f2;
  display: flex;
  background-color: transparent;
  border-radius: 21px;
  color: #1da1f2;
  align-items: center;
  padding: .5rem 1rem;
}
@media (max-width: 639px) {
  .difference .point .sentence button {
    font-size: 1rem;
  }
}
.difference .point .sentence button img {
  margin-left: .5rem;
}
.difference .point .sentence p {
  margin-bottom: 1rem;
  color: #6b6b6b;
}
.difference .point .sentence h2 {
  text-align: center;
  background-color: #ebf7ff;
  color: #1da1f2;
  box-shadow: 0 2px #1da1f2;
  font-size: 1.5rem;
  padding: 1rem 0;
  margin: 1rem 0 .5rem;
}
.difference .point .sentence h3 {
  font-weight: bold;
  font-size: 1.4rem;
  position: relative;
  padding: 1rem 0 1rem 1.3rem;
  margin: 2rem 0 1rem;
}
.difference .point .sentence h3 img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 46px;
}
.difference {
  padding-bottom: 5rem;
}
.voice {
  padding: 1rem 0 5rem;
  background-color: #fff8cc;
  position: relative;
}
.voice-contents {
  display: flex;
  background-color: #fff;
  max-width: 995px;
  width: 80%;
  margin: 3.5rem auto 0;
  position: relative;
  padding: 1rem 2rem;
  box-sizing: border-box;
}
.voice-contents::before, .voice-contents::after {
  width: calc(100% - 20px);
  height: 0;
  display: block;
  position: absolute;
  left: 0;
  content: "";
}
.voice-contents::before {
  border-bottom: solid 20px #fff;
  border-right: solid 20px transparent;
  bottom: 100%;
}
.voice-contents::after {
  border-top: solid 20px #fff;
  border-left: solid 20px transparent;
  top: 100%;
}
.voice-contents .img {
  width: 13%;
  margin-right: 2rem;
  text-align: center;
}
@media (max-width: 500px) {
  .voice-contents .img {
    width: 43%;
  }
}
.voice-contents .img p {
  margin-top: 1rem;
  font-size: 1rem;
}
@media (min-width: 751px) {
  .voice-contents .text {
    width: 88%;
  }
}
@media (max-width: 750px) {
  .voice-slide-wrap {
    width: 80%;
    margin: 0 auto;
  }
  .voice-slide .slick-next {
    right: -25px;
    z-index: 1;
  }
  .voice-slide .slick-prev {
    left: -25px;
    z-index: 1;
  }
  .voice-slide .slide-arrow {
    width: 35px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .voice-slide .next-arrow {
    right: -25px;
  }
  .voice-slide .prev-arrow {
    left: -25px;
    z-index: 1;
  }
  .voice-slide .slick-prev:hover:before, .voice-slide .slick-prev:focus:before, .voice-slide .slick-next:hover:before, .voice-slide .slick-next:focus:before {
    z-index: 10;
    border-radius: 50%;
  }
  .voice-slide-wrap .slick-prev:before, .voice-slide-wrap .slick-next:before {
    color: #ff910f;
  }
}
.voice-contents .text h3 {
  color: #ff910a;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  line-height: 1.3;
}
.voice-contents .text p {
  font-size: 14px;
  color: rgb(109 109 109);
  line-height: 2;
  text-align: justify;
}
.voice-ttl {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 3rem;
}
.voice .ttl-popup {
  position: absolute;
  width: 147px;
  top: -61px;
  left: calc(50% - 210px);
  transform: translateX(-50%);
}
.apply {
  background-image: url(../img/curriculum/denken3-new/apply-bg.png);
  text-align: center;
  background-position: center;
  padding: 5rem 0;
  background-size: cover;
}
.apply h2 {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
.apply .buttons {
  width: 960px;
  margin: 0 auto;
  max-width: 100%;
}
.apply .buttons button {
  color: #fff;
  border-radius: 27px;
  width: 48%;
  border: none;
  font-size: 1rem;
  font-weight: bold;
}
.apply .buttons .online {
  background-color: #1d69bd;
  margin-right: 0.5rem;
  padding: 1rem 1rem .8rem;
  position: relative;
  box-shadow: 0 3px #11549f;
}
.apply .buttons .line {
  background-color: #00b900;
  margin-left: 0.5rem;
  position: relative;
  padding: 1rem 1rem .8rem 5rem;
  box-shadow: 0 3px #008700;
}
.apply .buttons .line .qr-code {
  width: 93px;
  position: absolute;
  top: -21px;
  left: 61px;
}
.apply .buttons button .chevron-right {
  content: url(../img/curriculum/denken3-new/chevron-right.png);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 13px;
  width: 8px;
}
.faq {
  padding: 6rem 0 4rem;
  max-width: 960px;
  margin: 0 auto;
}
.question, .answer {
  display: flex;
}
.question {
  align-items: center;
}
.answer {
  align-items: end;
  position: relative;
}
.answer .answer-icon {
  position: absolute;
  top: 36px;
  left: 45px;
}
@media (max-width: 639px) {
  .answer .answer-icon {
    top: 11px;
    left: 11px;
  }
}
.question img, .answer img {
  width: 40px;
  margin-right: 1rem;
}
.answer .external-link {
  width: 10px;
  margin-left: .5rem;
}
.answer a {
  color: #38acf3;
}
.answer h5 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.answer ul {
  padding-left: 40px;
}
.answer ul span {
  font-size: .1rem;
  color: #38acf3;
}
.answer h4 {
  color: #feaf68;
  font-size: 1rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: bold;
}
.q-and-a {
  margin-top: 2rem;
}
.answer {
  border: 1px dotted #b2b2b2;
  background-color: #fafafa;
  padding: 3rem 3rem 3rem 6rem;
}
.question h3 {
  font-size: 1.2rem;
}
.question {
  margin-bottom: 1rem;
}
.faq h2 {
  margin-bottom: 2rem;
}
.answer p {
  font-size: .8rem;
  color: rgb(109 109 109);
  line-height: 1.8;
  text-align: left;
}
.line-apply {
  background-color: #00b900;
  color: #fff;
  box-shadow: 0 4px #008700;
  text-align: center;
  font-size: 1.5rem;
  padding: .5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3rem;
}
.line-apply img {
  margin-right: 1rem;
}
.line-flow {
  border: 1px dotted #b2b2b2;
  background-color: #fafafa;
  padding: 3rem 3rem 3rem 6rem;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
}
.flow-img {
  text-align: center;
  margin: .5rem 0;
}
.line-flow-img img {
  width: 45px;
  margin-right: 1rem;
}
.line-flow-01 {
  margin-top: 2.8rem;
}
.line-flow-02 {
  margin-bottom: 1rem;
  font-size: .9rem;
}
.line-flow small {
  display: block;
}
.flow-text h4 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: left;
}
.flow-text ul {
  text-align: left;
}
.flow-text a {
  color: #6eb9f4;
}
.line-qr-code {
  margin-top: 1rem;
}
.line-flow-btn {
  max-width: 960px;
  margin: 0 auto 5rem;
  text-align: center;
}
.terms-of-use {
  text-decoration: underline;
  color: #6eb9f4;
}
.line-flow-btn .line {
  background-color: #00b900;
  margin-left: 0.5rem;
  position: relative;
  padding: 1rem 0 .9rem;
  box-shadow: 0 3px #008700;
  color: #fff;
  border-radius: 27px;
  width: 48%;
  border: none;
  font-size: 1rem;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  font-weight: bold;
  margin-top: 1rem;
  align-items: center;
}
.line-flow-btn p {
  font-size: .8rem;
  color: rgb(109 109 109);
  line-height: 1.8;
}
.line-flow-btn .mb {
  margin-bottom: 3rem;
}
.line-flow .flow-text {
  padding-top: 1rem;
}
.line-flow-btn .line img {
  margin-left: 1rem;
  width: 10px;
}
.entry {
  margin-top: 6rem;
}
.entry-top {
  max-width: 100%;
  width: 960px;
  margin: 0 auto 3rem;
}
.desc-section {
  margin-top: 2rem;
  display: flex;
  align-items: center;
}
.desc-section h4 {
  border: 1px solid;
  padding: 3rem 1rem 2.8rem;
  margin-right: 2rem;
  width: 20%;
}
.notice h4 {
  color: #ff910a;
  border-color: #ff910a;
  min-width: 111.69px;
  text-align: center;
}
.entry .notice li span {
  font-size: .5rem;
  color: #cccccc;
}
.desc-section-text {
  font-size: .8rem;
  color: rgb(109 109 109);
  line-height: 1.8;
  text-align: left;
}
.about-pay h4 {
  color: #1da1f2;
  border-color: #1da1f2;
}
.about-pay h5 {
  font-size: .9rem;
  margin-bottom: .5rem;
}
.entry-bottom {
  width: 100%;
  box-sizing: border-box;
  background-color: #ebf7ff;
  padding: 4rem 0 8rem;
}
.entry-bottom .form-box {
  width: 960px;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
  background-color: #fff;
  padding: 3rem 4rem 4rem;
  font: 1rem 'Noto Sans JP', sans-serif;
}
dt {
  display: inline;
}
.entry-bottom .form-box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.entry-bottom .form-box dl .cat {
  width: 100%;
  padding: 0 0 1rem;
  font-weight: bold;
}
.entry-bottom .form-box dl dt {
  box-sizing: border-box;
  width: 34%;
  padding: .5rem 1rem .5rem 0;
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 1rem;
}
@media screen and (min-width: 960px) {
  .entry-bottom .form-box dl dt br {
    display: none;
  }
}
.entry-bottom .form-box dl dt.child {
  padding-left: 4rem;
  font-size: 0.9rem;
}
.entry-bottom .form-box dl dt .req-label {
  background-color: #ffdd00;
  padding: .1rem .5rem;
  font-size: .8rem;
  font-weight: bold;
  height: 22px;
  white-space: nowrap;
}
.entry-bottom .form-box dl dd {
  box-sizing: border-box;
  width: 66%;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 1rem;
}
.entry-bottom .form-box dl dd .note {
  font-size: 0.8rem;
}
.entry-bottom .form-box .mfp_err {
  display: none;
  width: 100%;
  color: #f00;
}
.entry-bottom .form-box .agreement {
  text-align: center;
  margin: 1rem 0 2rem;
}
.entry-bottom .form-box .agreement a {
  color: #1da1f2;
  border-bottom: solid 1px #1da1f2;
  padding-bottom: 4px;
  text-decoration: none;
}
.entry-bottom .form-box .form-submit {
  text-align: center;
}
.address.flex .ttl {
  width: 40%;
  margin-bottom: .5rem;
}
.address.flex .input {
  width: 60%;
  margin-bottom: .5rem;
}
.form-box input::-webkit-input-placeholder {
  font-size: 1rem;
}
.form-box input::-moz-placeholder {
  font-size: 1rem;
}
.form-box input:-ms-input-placeholder {
  font-size: 1rem;
}
.form-box textarea::placeholder {
  font-size: 1rem;
}
.entry-bottom .form-box .submit-box .confirm {
  background-color: #1da1f2;
  margin-right: 0.5rem;
  padding: 1rem 1rem .8rem;
  position: relative;
  box-shadow: 0 3px #057ec9;
  color: #fff;
  border-radius: 27px;
  width: 48%;
  border: none;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  align-items: center;
}
@media (max-width: 639px) {
  .entry-bottom .form-box .submit-box .confirm {
    width: 95%;
  }
}
.entry-bottom .form-box .submit-box .confirm img {
  margin-left: 1rem;
}
.entry-bottom .form-box #mfp_phase_confirm h4 {
  text-align: center;
  font-size: 16px;
  margin-bottom: 2rem;
}
.entry-bottom .form-box .form-step2 dl dd {
  padding-top: .5rem;
}
.entry-bottom .form-box .form-submit .form-send {
  margin: 2rem auto;
}
.entry.thanks {
  margin-top: 0;
}
.entry-bottom .form-box .ok-ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
  text-align: center;
}
/*
----------------------------------------
form
----------------------------------------
*/
div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}
div#mfp_hidden input {
  margin: 10px;
}
div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}
div#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 40px;
  height: 40px;
  background-image: url(cgiform/mailformpro/mfp.statics/_images/mfp_loading.gif);
}
div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}
div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}
input[type=text], input[type=search], input[type=tel], input[type=number], input[type=url], input[type=email], input[type=password], input[type=date], textarea, select {
  border: solid 1px #ccc;
  padding: 10px 15px;
  margin-right: 10px;
  text-align: left !important;
  box-sizing: border-box;
}
input.l {
  width: 100%;
  margin: 0 !important;
}
.form-box input {
  margin: 0;
  border: 2px solid #333;
  border-radius: 2px;
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
}
.form-box input.short {
  width: 12rem;
}
.form-box textarea {
  margin: 0;
  width: 100% !important;
  height: 20rem !important;
  border: 2px solid #333;
  border-radius: 2px;
  font-size: 1rem;
}
.form-box select {
  margin: 0;
  padding: 1rem;
  background: url(../img/curriculum/denken3-new/icon_select.png) right 10px center no-repeat;
  border: 2px solid #333;
  border-radius: 2px;
  font-size: 1rem;
  width: 12rem;
  appearance: none;
  -webkit-appearance: none;
}
.form-box select::-ms-expand {
  display: none;
}
.radio input[type=radio], .checkbox input[type=checkbox] {
  visibility: hidden;
  display: inline-block;
  width: 1px;
  height: 1px;
  margin-right: -1px;
  padding: 0;
  border: none;
}
.radio label:not(.error), .checkbox label:not(.error) {
  display: inline-block;
  padding: 2px 0 2px 28px;
  line-height: 1.6;
  cursor: pointer;
  position: relative;
  margin-right: 1rem;
}
.radio label:not(.error)::before, .checkbox label:not(.error)::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  border: solid 2px #ddd;
  position: absolute;
  top: 4px;
  left: 0;
}
.radio label:not(.error)::before {
  border-radius: 50%;
}
.checkbox label:not(.error)::before {
  border-radius: 5px;
}
.radio label:not(.error)::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #777;
  position: absolute;
  left: 6px;
  top: 10px;
  opacity: 0;
  transition: all .2s;
}
.radio input[type=radio]:checked + label:not(.error)::after, .radio input[type=radio]:checked + input[type=hidden] + label:not(.error)::after {
  opacity: 1;
}
.checkbox label:not(.error)::after {
  content: '';
  width: 4px;
  height: 8px;
  border-right: solid 3px #777;
  border-bottom: solid 3px #777;
  position: absolute;
  left: 6px;
  top: 7px;
  opacity: 0;
  transform: rotate(45deg);
  transition: all .2s;
}
.checkbox input[type=checkbox]:checked + label:not(.error)::after, .checkbox input[type=checkbox]:checked + input[type=hidden] + label:not(.error)::after {
  opacity: 1;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #ccc;
  font-size: 1.6rem;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #ccc;
}
::placeholder { /* Others */
  color: #ccc
}
.form-box #form-submit, .form-box #mfp_button_send {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  max-width: 30rem;
  width: 80%;
  background-color: #1da1f2;
  background-image: url(../img/curriculum/denken3-new/chevron-right.png);
  background-position: right 40px center;
  background-repeat: no-repeat;
  border: none;
  border-radius: 40px;
  box-shadow: 0 4px 0 0 #057ec9;
  color: #fff;
  font: bold 1.2rem 'Noto Sans JP', sans-serif;
  margin: 0 auto;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.form-box #form-submit.disable {
  background-color: #ededed;
  background-image: none;
  box-shadow: 0 4px 0 0 #ccc;
  cursor: auto;
}
.form-box #mfp_button_cancel {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: solid 1px #666;
  font-size: 18px;
  text-shadow: none;
  box-shadow: none;
  margin: 20px auto 0;
  padding: 5px;
}
.form-step {
  display: flex;
  width: 100%;
  margin-bottom: 30px;
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
}
.form-step > p {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc((100% - 16px) / 3);
  height: 50px;
  padding: 0 30px;
  background: #ebebeb;
  text-align: center;
  white-space: nowrap;
  position: relative;
  letter-spacing: .02em;
  font-size: 1rem;
}
.form-step > p .step-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
}
.form-step > p:nth-child(1), .form-step > p:nth-child(2) {
  width: calc(((100% - 16px) / 3) - 15px);
  margin-right: 23px;
}
.form-step > p:nth-child(1):after, .form-step > p:nth-child(2):after {
  content: '';
  border: solid 25px transparent;
  position: absolute;
  top: 0;
  left: 100%;
  border-left: solid 15px #ebebeb;
}
.form-step > p.is-current {
  background-color: #1da1f2;
  color: #fff;
  font-weight: bold;
}
.form-step > p.is-current:nth-child(1):after, .form-step > p.is-current:nth-child(2):after {
  border-left-color: #1da1f2;
}
.remaining {
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: inline-block;
  background: #fff;
  border: solid 2px #1da1f2;
  border-radius: 5px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: all .2s;
}
.remaining.active {
  opacity: 1;
  visibility: visible;
  z-index: 999;
}
.remaining .read {
  padding: 15px 20px;
  line-height: 1.8;
}
.remaining .num {
  background: #1da1f2;
  color: #fff;
  padding: 5px 20px;
}
#mfp_confirm_table {
  margin-bottom: 2rem;
}
#mfp_confirm_table tr th {
  box-sizing: border-box;
  width: 34%;
  padding: 1rem;
  font-weight: bold;
  background: #ebf7ff;
  border-bottom: 1px solid #1da1f2;
  text-align: left;
}
#mfp_confirm_table tr td {
  box-sizing: border-box;
  width: 66%;
  padding: 1rem;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 1rem;
}
#mfp_confirm_table tr:first-child th {
  border-top: 1px solid #1da1f2;
}
#mfp_confirm_table tr:first-child td {
  border-top: 1px solid #ebebeb;
}
/*
----------------------------------------
flex
----------------------------------------
*/
.flex {
  -js-display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.flex.nowrap {
  flex-wrap: nowrap;
}
.flex.reverce {
  flex-direction: row-reverse;
}
.flex.item-center {
  align-items: center;
}
/* column */
.contents .flex > * {
  box-sizing: border-box;
  padding: 10px;
  box-sizing: border-box;
}
.flex.col-02 > * {
  width: 50%;
}
.flex.col-03 > * {
  width: 33.3333%;
}
.flex.col-04 > * {
  width: 25%;
}
.flex.col-05 > * {
  width: 20%;
}
.flex.col-06 > * {
  width: 16.6666%;
  font-size: 1.3rem;
}
.flex figure {
  margin-bottom: 5px;
}
/*
----------------------------------------
form.php
----------------------------------------
*/
.form-step > p::before {
  display: none;
}
/*
.form-step {
	width: 100%;
	margin-bottom: 30px;
	border-left: solid 1px #ddd;
	border-right: solid 1px #ddd;
}

.form-step > p {
	box-sizing: border-box;
	width: 33.3333%;
	height: 50px;
	line-height: 50px;
	padding: 0 30px !important;
	background: #fafafa;
	border-top: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	text-align: center;
	white-space: nowrap;
	position: relative;
}

.form-step > p::before {
	content: '';
	border: solid 25px transparent;
	position: absolute;
	top: -1px;
	left: 1px;
	border-left: solid 20px #ddd;

}

.form-step > p::after {
	content: '';
	border: solid 25px transparent;
	position: absolute;
	top: -1px;
	left: 0;
	border-left: solid 20px #fafafa;
}

#mailformpro .step-01,
#mfp_phase_confirm .step-02 {
	background: #1da1f2;
	color: #fff;
	border-top: solid 1px #1da1f2;
	border-bottom: solid 1px #1da1f2;
}

.form-step > p.step-01::before,
.form-step > p.step-01::after {
	display: none;
}

#mailformpro .step-01 + p::before,
#mfp_phase_confirm .step-02 + p::before {
	display: none;
}

#mailformpro .step-01 + p::after,
#mfp_phase_confirm .step-02 + p::after {
	border-left: solid 20px #1da1f2;
}

.form-box {
	padding: 0;
	margin: 3rem 0;
}

#contact form#mailformpro {
	padding: 0;
}

#contact form#mailformpro > dl {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

#contact form#mailformpro dl dt {
	width: 25%;
	padding: 20px 70px 20px 20px;
	border: none;
	background: #fafafa;
	text-align: left;
	font-size: 1.6rem;
	position: relative;
}

#contact .req-label {
	display: inline-block;
	background: #a00;
	color: #fff;
	font-size: 1.2rem;
	padding: 0 5px;
}

#contact dl .req-label {
	position: absolute;
	right: 20px;
	top: 25px;
}

#contact form#mailformpro dl dd {
	width: 75%;
	padding: 15px 44px 15px 20px;
	border: none;
	font-size: 1.6rem;
	position: relative;
}

#contact form#mailformpro dl dd::after {
	content: '';
	width: 24px;
	height: 24px;
	background: url( img/common/icon-check.svg ) center center / 24px no-repeat;
	position: absolute;
	right: 0;
	top:24px;
	opacity: 0;
	visibility: hidden;
	transition: all .2s;
}

#contact form#mailformpro dl dd.ok::after {
	opacity: 1;
	visibility: visible;
}

#contact form#mailformpro dl dd .inline {
	padding: 6px 0;
}

#contact dd .flex > .ttl {
	width: 25%;
	padding: 13px 0;
}

#contact dd .flex > .input {
	width: 75%;
	padding: 5px 0;
}

#contact dd .flex.inline span {
	padding: 0 20px 0 0;
}

.pp-box {
	max-height: 200px;
	overflow: auto;
	border: solid 1px #ccc;
	padding: 30px;
	margin: 40px 0;
	-webkit-overflow-scrolling: touch;
}

.pp-box h2 {
	text-align: center;
	margin-bottom: 25px;
}

.pp-box h3 {
	margin-top: 30px;
	padding-bottom: 10px;
	border-bottom: solid 1px #ccc;
}

.pp-box .address-box p {
	display: inline-block;
	background: #fafafa;
	margin-top: 20px;
	padding: 20px 30px;
}

.submit-box {
	text-align: center;
}

.submit-box .agree {
	text-align: center;
}

.submit-box .agree .req-label {
	margin-right: 1rem;
	transform: translateY( -1px );
}

.submit-box .agree div.mfp_err {
	text-align: center;
}

#contact .agree label {
	margin: 0 !important;
	font-size: 1.6rem;
}

#contact .agree label .req-label {
	margin-right: .5rem;
}

#contact button.mfp_element_submit,
#contact button#mfp_button_send {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	width: 360px;
	max-width: 100%;
	font-size: 1.6rem;
	text-shadow: none;
	padding: 20px 0 15px;
	border-radius: 0;
	box-shadow: none !important;
	transition: all .2s;
}

#contact button.mfp_element_reset,
#contact button#mfp_button_cancel {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.4rem;
	text-shadow: none;
	padding: 10px 20px;
	border-radius: 0;
	border: solid 1px #000;
	background: #fff;
	color: #000;
	box-shadow: none !important;
	transition: all .2s;
}

#contact button.mfp_element_submit,
#contact button#mfp_button_send {
	border: solid 1px #000;
	background: #000;
	color: #fff;
	display: block;
	margin: 30px auto;
}

#contact button.mfp_element_submit,
#contact button.mfp_element_submit:hover,
#contact button#mfp_button_send:hover {
	border: solid 1px #333;
	background: #333;
}

#contact button.mfp_element_submit.disable,
#contact button.mfp_element_submit.disable:hover {
	border: solid 1px #777;
	background: #777;
}

#contact button.mfp_element_reset:hover,
#contact button#mfp_button_cancel:hover {
	background: #ddd;
}

#contact .mfp_element_all {
	max-width: 100%;
}

@media (min-width: 640px) {
	.form-box input[type=text],
	.form-box input[type=email],
	.form-box input[type=tel],
	.form-box input[type=url] {
		min-width: 320px;
	}
}

#contact .mfp_element_text,
#contact .mfp_element_number,
#contact .mfp_element_select-one,
#contact .mfp_element_email,
#contact .mfp_element_tel,
#contact .mfp_element_textarea,
#contact .mfp_element_date,
#contact .mfp_element_password {
	box-shadow: none;
	border: solid 1px #ccc;
	border-radius: 0;
	background: transparent;
	margin: 0;
}

#contact .mfp_element_text.req,
#contact .mfp_element_number.req,
#contact .mfp_element_select-one.req,
#contact .mfp_element_email.req,
#contact .mfp_element_tel.req,
#contact .mfp_element_textarea.req,
#contact .mfp_element_date.req,
#contact .mfp_element_password.req {
	background: #fffeee;
}

#contact form#mailformpro label {
	margin: 0;
}

#contact form#mailformpro label.mfp_not_checked,
#contact form#mailformpro label.mfp_checked {
	background: transparent;
	display: inline-block;
	text-align: center;
	margin: 0 10px 0 0;
	padding: 0;
	box-shadow: none;
	border: none;
	border-radius: 0;
	transition: all .2s;
}


#contact form#mailformpro label.mfp_not_checked .mfp_err,
#contact form#mailformpro label.mfp_checked .mfp_err {
	text-align: center;
}

#contact .name.flex > span {
	padding: 0;
	margin-right: 15px;
}

#contact .problem {
	border: solid 1px #a00 !important;
}

#contact div.mfp_err {
	background: transparent;
	padding: 0;
	margin: 10px 0 0;
	font-size: 1.2rem;
	color: #a00;
}

#contact div#mfp_phase_confirm h4 {
	font-size: 3rem;
	padding: 0;
}

#contact .mfp_confirm_before {
	text-align: center;
}

#contact table#mfp_confirm_table {
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
	margin: 30px 0 45px;
}

#contact table#mfp_confirm_table tr th,
#contact table#mfp_confirm_table tr td {
	font-size: 1.6rem;
	font-weight: normal;
	padding: 15px;
	border: none;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

#contact table#mfp_confirm_table tr th {
	background: #fafafa;
}

#contact table#mfp_confirm_table tr.mfp_colored {
	background: transparent;
}

#contact div.mfp_buttons {
	padding: 0;
}

#contact .remaining {
	position: fixed;
	right: 20px;
	bottom: 110px;
	display: inline-block;
	background: #fff;
	border: solid 1px #a00;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transition: all .2s;
}

#contact .remaining.active {
	opacity: 1;
	visibility: visible;
	z-index: 999;
}

#contact .remaining .read {
	padding: 10px 20px;
}

#contact .remaining .num {
	background: #a00;
	color: #fff;
	padding: 5px 20px;
}
*/
/*
----------------------------------------
750
----------------------------------------
*/
@media screen and (max-width: 750px) {
  /* form */
  /*
	input[type=text],
	input[type=search],
	input[type=tel],
	input[type=tel],
	input[type=url],
	input[type=email],
	input[type=password],
	input[type=date],
	textarea, select {
		width: 100%;
		margin: 5px 0;
		min-width: 0;
        box-sizing: border-box;
	}

	input[type=email],
	input[type=tel],
	input.l {
		margin: 5px 0;
	}

	textarea {
		margin: 5px 0 !important;
	}
    */
  .flex {
    margin-bottom: 15px;
  }
  .flex.col-02 > *, .flex.col-03 > *, .flex.col-04 > *, .flex.col-05 > *, .flex.col-06 > * {
    width: 100%;
    margin-bottom: 15px;
  }
  .contents .flex > * {
    padding: 0;
  }
  .contents .flex > .step-01 {
    padding: 0 15px !important;
  }
  .flex figure {
    text-align: center;
  }
  /*
	----------------------------------------
	form.php
	----------------------------------------
	*/
  /*
	.form-step {
		margin: 15px 0;
		font-size: 1.1rem;
	}

	.form-step > p {
		padding: 0 0 0 30px !important;
        font-size: .5rem;
	}

	#contact form#mailformpro > dl {
		flex-direction: column;
	}

	#contact form#mailformpro dl dt {
		width: 100%;
		background: transparent;
		padding: 5px 40px 5px 0;
		position: relative;
	}

	#contact form#mailformpro dl dt::after {
		content: '';
		width: 24px;
		height: 24px;
		background: url( ../img/common/icon-check.svg ) center center / 24px no-repeat;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY( -50% );
		opacity: 0;
		visibility: hidden;
		transition: all .2s;
	}

	#contact form#mailformpro dl dt.ok::after {
		opacity: 1;
		visibility: visible;
	}

	#contact dl .req-label {
		position: relative;
		right: 0;
		top: 0;
		vertical-align: middle;
		margin-left: 10px;
	}

	#contact form#mailformpro dl dd {
		width: 100%;
		padding: 5px 0 15px;
	}

	#contact dd .address {
		flex-direction: column;
		margin: 0;
	}

	#contact form#mailformpro dl dd::after {
		display: none;
	}

	#contact dd .flex > .ttl {
		width: 100%;
		padding: 5px 0;
	}

	#contact dd .flex > .input {
		width: 100%;
	}

	.pp-box {
		border: none;
		padding: 15px;
		margin: 0 0 25px;
		background: #fafafa;
	}

	.pp-box .address-box p {
		background: transparent;
		border: solid 1px #ddd;
		width: 100%;
		box-sizing: border-box;
	}

	.submit-box {
		text-align: center;
	}

	#mfp_loading,
	#mfp_loading_screen,
	#div#mfp_overlay_background {
		display: none !important;
	}

	#contact .agree label {
		display: block;
		text-align: center;
		padding: 15px 5px !important;
	}

	#contact button.mfp_element_submit,
	#contact button#mfp_button_send {
		display: block;
		width: 100%;
		margin: 20px 0;
		padding: 20px;
	}

	#contact form#mailformpro .flex label.mfp_not_checked,
	#contact form#mailformpro .flex label.mfp_checked {
		display: block;
		box-sizing: border-box;
		text-align: center;
	}

	#contact form#mailformpro .flex label.mfp_not_checked {
		background: #fafafa;
	}

	#contact form#mailformpro label.mfp_not_checked,
	#contact form#mailformpro label.mfp_checked {
		margin: 0;
		font-size: 1.4rem;
	}

	#contact .flex.inline {
		justify-content: space-between;
		margin: 0;
	}

	#contact .flex.inline > span {
		width: calc( 50% - 7.5px ) !important;
		margin: 0 !important;
	}

	#contact dd .flex.inline span {
	    padding: 0;
	}

	#contact div#mfp_phase_confirm h4 {
		font-size: 2rem;
		margin: 20px 0;
	}

	#contact table#mfp_confirm_table {
		margin: 20px 0 0;
	}

	#contact table#mfp_confirm_table tr {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
	}

	#contact table#mfp_confirm_table tr th {
		width: 100%;
		padding: 10px 15px;
	}

	#contact .remaining {
		right: 0;
		left: 0;
		bottom: 40px;
		display: block;
	}

	#contact .remaining .read {
		display: none;
	}

	#contact .copyright {
		padding-bottom: 90px;
	}
    d*/
}
.orange {
  color: #ff910a;
}
.flow-text .flex {
  display: flex;
  padding-left: 1rem;
}
.flow-text li {
  margin-bottom: 1rem;
}
.flow-text .flex li {
  margin-left: 1rem;
}
.flow-text h3 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: #ff910a;
}
.submit-box a, .text-deco-none {
  text-decoration: none;
}
/*
----------------------------------------
タブレット
----------------------------------------
*/
@media screen and (max-width: 800px) {
  form#mailformpro dl dt {
    width: 100% !important;
  }
  form#mailformpro dl dd {
    width: 100% !important;
  }
}
/*
----------------------------------------
スマホ
----------------------------------------
*/
@media (max-width: 639px) {
  .voice-contents {
    flex-direction: column;
  }
  .entry-bottom .form-box {
    padding: 1rem;
  }
  #container {
    width: 100%;
    margin: 0;
  }
  .intro {
    margin: 1rem auto 4rem;
  }
  .intro h2 {
    font-size: 1.1rem;
    padding: 0 .5rem;
    line-height: 1.8;
  }
  .intro p {
    font-size: 1rem;
    padding: 0 1rem;
  }
  .youtube_wrap iframe {
    width: 338px;
    height: 190px;
  }
  .advantage-period .courses .d-flex {
    flex-direction: column;
    padding: 2rem 1rem;
  }
  .advantage-period .three-month {
    margin-right: 0;
  }
  .advantage-period .six-month {
    margin-right: 0;
  }
  .advantage-period .twelve-month {
    margin-left: 0;
  }
  .advantage-period .course {
    width: auto;
    margin-top: 5rem;
  }
  .advantage-period .course:first-child {
    margin-top: 0;
  }
  .advantage-period .courses {
    width: 83%;
  }
  .advantage-period .online .detail {
    flex-direction: column;
  }
  .advantage-period .plan-desc {
    padding: 15rem 1rem 5rem;
  }
  .difference .section-ttl p {
    padding-top: .1em;
  }
  .voice-contents {
    margin: 5.5rem auto 0;
  }
  .voice .ttl-popup {
    width: 103px;
    top: -33px;
    left: calc(50% - 129px);
  }
  .voice-contents .img {
    margin: 0 auto 1rem;
  }
  .apply .buttons button, .line-flow-btn .line {
    width: 95%;
  }
  .line-flow-img img {
    margin-right: 2rem;
  }
  .apply .buttons .online {
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .apply .buttons .line {
    margin-left: 0;
  }
  .apply .buttons .line .qr-code {
    width: 74px;
    top: -11px;
    left: 45px;
  }
  .faq {
    padding: 6rem 1rem 4rem;
  }
  .answer {
    padding: 1rem;
    padding-left: 4rem;
    text-align: justify;
  }
  .line-flow {
    padding: 1rem;
  }
  .line-flow {
    margin: 1rem;
  }
  .desc-section {
    flex-direction: column;
  }
  .desc-section-text {
    padding: 0 1rem;
  }
  .desc-section h4 {
    margin-bottom: 1rem;
    width: 83% !important;
    margin: 0 auto 1rem;
    text-align: center;
    font-size: 1rem;
  }
  .form-step > p.step-01, .form-step > p.step-02 {
    padding: 0 0 0 5px;
  }
  input[type=text], input[type=search], input[type=tel], input[type=number], input[type=url], input[type=email], input[type=password], input[type=date], textarea, select {
    font-size: 1rem;
  }
  .address.flex .ttl, .address.flex .input {
    width: 100%;
  }
  .address.flex .input {
    margin-bottom: 1rem;
  }
  .entry-bottom .form-box dl dt {
    width: 35%;
  }
  .entry-bottom .form-box dl dt.contents, .entry-bottom .form-box dl dd.contents {
    width: 100%;
  }
  .plan-ttl {
    min-width: 197px;
    top: 33px;
  }
  .online .online-ttl {
    flex-direction: column;
  }
  .online .detail-img {
    margin-bottom: 1rem;
    width: 100%;
    margin-right: 0;
  }
  .advantage-period .online .text .text-ttl img {
    height: auto;
  }
  .advantage-period .plan-desc {
    padding: 8rem 1rem 5rem;
  }
  .difference .section-ttl p {
    letter-spacing: -.1rem;
    width: 182px;
    text-align: center;
    font-size: 3rem;
    padding-top: .2em;
    margin-top: .5rem;
  }
  .difference .section-ttl p span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 2rem;
  }
  .difference .section-ttl p img {
    left: 142px;
  }
  .difference .section-ttl p img:first-child {
    left: 26px;
  }
  .difference .section-ttl p img:nth-child(2) {
    left: 55px;
  }
  .difference .section-ttl p img:nth-child(3) {
    left: 84px;
  }
  .difference .section-ttl p img:nth-child(4) {
    left: 113px;
  }
  .difference .section-ttl p img:last-child {
    left: 255px;
  }
  .difference .point {
    margin: 4.8rem auto 0;
  }
  .difference .point .ttl {
    position: inherit;
  }
  .difference .point-1 .ttl, .difference .point-2 .ttl, .difference .point-3 .ttl {
    top: 0;
    left: 0;
    padding: 1rem;
  }
  .difference .point .ttl .tag {
    margin-bottom: .2rem;
    display: inline-block;
  }
  .voice-ttl .section-ttl {
    min-width: 279px;
  }
  .voice-contents {
    align-items: center;
    text-align: justify;
    width: 90%;
    padding: 0;
  }
  .voice-contents .text {
    padding: 0 1rem 1rem;
  }
  .advantage-period .plan-desc h3 {
    font-size: 1.1rem;
  }
  .advantage-period .plan-desc p {
    font-size: 1rem;
    line-height: 2.5;
  }
  .pc {
    display: none;
  }
  .difference .point .ttl h2 {
    font-size: 1.5rem;
  }
  .entry-bottom {
    padding: 2rem .5rem;
  }
  .entry-bottom .form-box #mfp_phase_confirm h4 {
    font-size: 18px;
    text-align: center;
  }
  .form-step > p {
    height: 30px;
    font-size: .8rem;
  }
  .form-step > p .step-num {
    display: none;
  }
  .form-step > p:nth-child(1):after, .form-step > p:nth-child(2):after {
    border: solid 15px transparent;
    border-left: solid 15px #ebebeb;
  }
  .remaining {
    right: 0;
    left: 0;
    bottom: 0;
    border-radius: 0;
    width: 100%;
  }
  .remaining .read {
    display: none;
  }
  .remaining .num {
    font-size: 16px;
    padding: 11.5px;
  }
  .entry-bottom .form-box dl dt {
    width: 100%;
    border-bottom: none;
    margin-bottom: 0;
  }
  .entry-bottom .form-box dl dt.child {
    padding-left: 1rem;
  }
  .entry-bottom .form-box dl dt br {
    display: none;
  }
  .entry-bottom .form-box dl dd {
    width: 100%;
  }
  .entry-bottom .form-box dl dd.child {
    padding-left: 1rem;
  }
  .entry-bottom .form-box dl dd.child:not(:last-child) {
    border-bottom: none;
    margin-bottom: 0;
  }
  .entry-bottom .form-box dl dd .note {
    font-size: .7rem;
  }
  .entry-bottom .form-box dl dd label.error {
    font-size: .8rem;
  }
  .form-box input, .form-box select, .form-box textarea {
    padding: .5rem .8rem;
  }
  .form-box textarea {
    height: 12rem !important;
  }
  .form-box #form-submit, .form-box #mfp_button_send {
    height: 3rem;
    background-size: 8px 12px;
    background-position: right 30px center;
    font-size: 1rem;
  }
  .form-box #mfp_button_cancel {
    font-size: 14px;
    margin: 10px auto;
  }
  #mfp_confirm_table {
    width: 100%;
  }
  #mfp_confirm_table tbody {
    display: block;
    width: 100%;
  }
  #mfp_confirm_table tr {
    display: block;
    width: 100%;
  }
  #mfp_confirm_table tr th {
    display: block;
    width: 100%;
    border-top: 1px solid #1da1f2;
    border-bottom: none;
    text-align: left;
    padding: 10px 15px;
  }
  #mfp_confirm_table tr td {
    display: block;
    width: 100%;
    border-top: 1px solid #ebebeb;
    border-bottom: none;
    padding: 10px 15px;
  }
  .entry-bottom .form-box .ok-ttl {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 640px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
#inline-frame {
  margin-top: 1rem;
  border: none;
}
.entry-top .section-ttl h2 {
  margin-bottom: 4.5rem;
}
.bunner-01 {
  text-align: center;
  max-width: 1700px;
  margin: 1rem auto;
}
/*
----------------------------------------
bottom banners
----------------------------------------
*/
.bottom-bnrs {
  padding: 70px 0;
}
.bottom-bnrs .bnrs-wrap {
  justify-content: center;
}
.bottom-bnrs .bnrs-wrap .block-l {
  width: 300px;
}
.bottom-bnrs .bnrs-wrap .block-l a {
  display: block;
  width: 100%;
  height: 200px;
}
.bottom-bnrs .bnrs-wrap .block-l a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 30%;
}
.bottom-bnrs .bnrs-wrap .block-r {
  max-width: 420px;
  margin-left: 20px;
  align-items: flex-start;
}
.bottom-bnrs .bnrs-wrap a {
  display: block;
  font-size: 0;
}
.bottom-bnrs .bnrs-wrap a + a {
  margin-left: 20px;
}
.bottom-bnrs .bnrs-wrap a:nth-child(2n+1) {
  margin-left: 0;
}
.bottom-bnrs .bnrs-wrap a:nth-child(n+3) {
  margin-top: auto;
}
@media screen and (max-width: 1000px) {
  .bottom-bnrs {
    padding: 40px 0 25px;
  }
}
@media screen and (max-width: 768px) {
  .bottom-bnrs .bnrs-wrap {
    max-width: 410px;
  }
  .bottom-bnrs .bnrs-wrap .block-l {
    width: 100%;
  }
  .bottom-bnrs .bnrs-wrap .block-l a {
    margin-bottom: 10px;
  }
  .bottom-bnrs .bnrs-wrap .block-r {
    width: 100%;
    margin-left: 0;
  }
  .bottom-bnrs .bnrs-wrap .block-r a {
    width: calc(50% - 5px);
    max-width: 200px;
    margin-bottom: 10px;
  }
  .bottom-bnrs .bnrs-wrap a + a {
    margin-left: 10px;
  }
}
@media screen and (min-width: 769px) {
  .bottom-bnrs .bnrs-wrap a {
    transition: all .2s;
  }
  .bottom-bnrs .bnrs-wrap a:hover {
    opacity: .8;
  }
}
/*https://www.japan-ems.jp/curriculum/denken3/online/*/
/*バナーの位置調整*/
#online.page.curriculum .point.point-3 {
  padding-top: 780px;
  margin-top: 0;
}
#online.page.curriculum .point.point-3 img {
  position: absolute;
  top: 195px;
  left: 134px;
}
#online.page.curriculum .difference .point-3 .ttl {
  top: 0;
}
#online.page.curriculum .point.point-3 .sentence {
  position: absolute;
  text-align: left;
  top: 540px;
  left: 134px;
}
#online.page.curriculum .point.point-3 img {
    transition: opacity 0.2s ease; /* ホバー時の変化を滑らかにする */
}

#online.page.curriculum .point.point-3 img:hover {
    opacity: 0.7; /* 半透明にする */
}

@media (max-width: 639px) {
  #online.page.curriculum .point.point-3 {
    padding-top: min(760px, 190vw);
    margin-top: 0;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  #online.page.curriculum .point.point-3 img {
    position: absolute;
    top: min(210px, 55vw);
    left: 50%;
    transform: translate(-50%, 0%);
    padding-left: 1rem;
    padding-right: 1rem;
  }
  #online.page.curriculum .difference .point-3 .ttl {
    position: absolute;
    top: 0;
  }
  #online.page.curriculum .point.point-3 .sentence {
    position: absolute;
    text-align: left;
    top: min(510px, 100vw);
    left: 1rem;
  }
}
/*お客様の声プロフ*/
#online.page.curriculum .voice-contents .img p {
  white-space: nowrap;
}
#online.page.curriculum .voice-contents .img p {
    margin-top: 0rem;
    font-size: 1rem;
    line-height: 1.5;
}
/*リンク先の調整（spのみ）*/
@media (max-width: 639px) {
  #online.page.curriculum .answer a {
    color: #38acf3;
    font-size: 1rem;
  }
  #online.page.curriculum .answer ul {
    padding-left: 20px;
  }
}
/*QRコードの調整（spのみ）*/
@media (max-width: 639px) {
  #online.page.curriculum .line-flow-01.line-flow {
    position: relative;
    height: 100vw;
  }
  #online.page.curriculum .line-flow-01.line-flow .line-flow-img {
    left: 1rem;
    position: absolute;
  }
  #online.page.curriculum .line-flow-01.line-flow .flow-text h4 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-align: left;
    position: absolute;
    left: 5rem;
    top: 1rem;
  }
  #online.page.curriculum .line-flow-01.line-flow img.line-qr-code {
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0%);
    top: 22vw;
  }
}

/*テキストサイズの調整（pcのみ）*/
#online.page.curriculum .voice-contents .text p {
    font-size: 15px;
    color: rgb(109 109 109);
    line-height: 2;
    text-align: justify;
}
@media (max-width: 639px) {
#online.page.curriculum .voice-contents .text p {
    font-size: 14px;
}
}

#online.page.curriculum .answer p {
    font-size: 1rem;
}

@media (max-width: 639px){
	#online.page.curriculum .answer p {
    font-size: 0.8rem;
}
}







