@charset "UTF-8";
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

base

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
body {
  color: #31353b;
  font-size: 15px;
  line-height: 30px;
  -webkit-text-size-adjust: 100%;
  font-family: NotoSansJP, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  padding-top: 60px;
}

.min {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.3em;
}

a:link {
  color: #31353b;
}

a:visited {
  color: #31353b;
}

a:hover {
  color: #31353b;
  text-decoration: none;
}

a:active {
  color: #31353b;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.content {
  position: relative;
}

.inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

iframe[src*=youtube] {
  margin: 30px auto;
  aspect-ratio: 16/9;
  display: block;
  width: 100%;
  height: auto;
  max-width: 560px;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

header

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  border-bottom: 1px solid #dedede;
  background: #fff;
  z-index: 10;
}
header .headerBlock {
  width: 100%;
}
header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 60px;
  max-width: none;
}
header .logo {
  padding-left: 20px;
}
header .logo img {
  width: 222px;
  height: auto;
  display: block;
}
header .rightBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  font-size: 14px;
}
header .rightBox .Nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  line-height: 1;
}
header .rightBox .Nav > li {
  margin-left: 20px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media screen and (min-width: 769px) {
  header .rightBox .Nav > li:hover > a {
    color: #014099;
  }
  header .rightBox .Nav > li:hover .NavMore {
    opacity: 1;
    pointer-events: auto;
  }
}
header .rightBox .Nav > li > a:has(+ .NavMore) {
  position: relative;
  padding-right: 15px;
  -webkit-transition: color ease 0.3s;
  transition: color ease 0.3s;
}
header .rightBox .Nav > li > a:has(+ .NavMore)::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' data-name='%E3%83%91%E3%82%B9 2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%231b4098' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  background-position: center;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-40%) rotate(90deg);
          transform: translateY(-40%) rotate(90deg);
  right: 0;
}
@media screen and (min-width: 769px) {
  header .rightBox .Nav > li > a:hover {
    color: #014099;
  }
}
header .rightBox .Nav .NavMore {
  pointer-events: none;
  opacity: 0;
  position: absolute;
  top: 60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 30px;
  background-color: rgba(27, 64, 152, 0.9);
  -webkit-transition: opacity ease 0.3s;
  transition: opacity ease 0.3s;
  max-width: 100vw;
  min-width: 400px;
}
header .rightBox .Nav .NavMore a {
  color: #fff;
}
@media screen and (min-width: 769px) {
  header .rightBox .Nav .NavMore a:hover {
    text-decoration: underline;
  }
}
header .rightBox .Nav .NavMore .NavMoreBody.cell03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
header .rightBox .Nav .NavMore .NavMoreBody.cell03 > li {
  width: 240px;
  max-width: 33.3333333333%;
}
header .rightBox .Nav .NavMore .NavMoreBody.cell03 > li:not(:last-child) {
  margin-right: 20px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li img {
  margin-bottom: 15px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p {
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0em;
  font-weight: 700;
  margin-bottom: 5px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a {
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' data-name='%E3%83%91%E3%82%B9 2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  background-position: right top 7px;
  position: relative;
  padding-right: 15px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon01 {
  padding-left: 30px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon01::before {
  content: "";
  display: block;
  background-image: url("../img/h_courseIcon01.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 22px 17px;
  width: 22px;
  min-width: 22px;
  height: 17px;
  position: absolute;
  top: 2px;
  left: 0;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon02 {
  padding-left: 20px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon02::before {
  content: "";
  display: block;
  background-image: url("../img/h_courseIcon02.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 14px 18px;
  width: 14px;
  min-width: 14px;
  height: 18px;
  position: absolute;
  top: 2px;
  left: 0;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon03 {
  padding-left: 25px;
}
header .rightBox .Nav .NavMore .NavMoreBody > li p a.courseIcon03::before {
  content: "";
  display: block;
  background-image: url("../img/h_courseIcon03.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 20px 17px;
  width: 20px;
  min-width: 20px;
  height: 17px;
  position: absolute;
  top: 2px;
  left: 0;
}
header .rightBox .Nav .NavMore .NavMoreBody > li ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0em;
  font-weight: 500;
}
header .rightBox .Nav .NavMore .NavMoreBody > li ul li {
  width: 50%;
}
header .rightBox .document {
  margin: 0 13px 0 20px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header .rightBox .document a {
  display: inline-block;
  background: #ff6565 url(../img/common/DocumentIcon03.png) no-repeat left 8px center;
  color: #fff;
  font-size: 14px;
  padding: 5px 6px 6px 27px;
  line-height: 1;
  letter-spacing: 1px;
}
@media screen and (min-width: 769px) {
  header .rightBox .document a:hover {
    color: rgba(255, 255, 255, 0.7098039216);
  }
}
header .rightBox dl {
  position: relative;
  border-left: 1px solid #dedede;
}
header .rightBox dl dt {
  height: 60px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  letter-spacing: 2px;
}
header .rightBox dl dt.open {
  letter-spacing: 1px;
}
header .rightBox dl dt.open::before {
  background: url(../img/common/search_icon02.png) no-repeat left center;
  background-size: 17px auto;
}
header .rightBox dl dt::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 18px;
  background: url(../img/common/search_icon01.png) no-repeat left center;
  background-size: 17px auto;
  margin-right: 8px;
}
header .rightBox dl dd {
  display: none;
  position: absolute;
  width: 400px;
  right: -1px;
  padding: 15px 20px 15px;
  background: #f5f5f5;
}
header .rightBox .searcBox {
  position: relative;
  padding-left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
header .rightBox .searcBox::before {
  content: "";
  display: block;
  width: 17px;
  height: 18px;
  background: url(../img/common/search_icon01.png) no-repeat;
  background-size: 17px auto;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -8px;
}
header .rightBox .searcBox .searcText {
  width: 85%;
}
header .rightBox .searcBox .searcBtn {
  cursor: pointer;
}
:-moz-placeholder-shown {
  color: #abaeb2;
}
:-ms-input-placeholder {
  color: #abaeb2;
}
:placeholder-shown {
  color: #abaeb2;
}

::-webkit-input-placeholder {
  color: #abaeb2;
}

:-moz-placeholder {
  color: #abaeb2;
  opacity: 1;
}

::-moz-placeholder {
  color: #abaeb2;
  opacity: 1;
}

header .rightBox .btn {
  border-left: 1px solid #dedede;
  border-right: 1px solid #dedede;
  height: 60px;
  width: 150px;
  padding-left: 30px;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  background: url(../img/common/icon01.png) no-repeat left 20px center;
  background-size: 26px auto;
}
header .rightBox .btn span {
  font-size: 11px;
  margin-top: 5px;
}
@media screen and (min-width: 769px) {
  header .rightBox .btn:hover {
    color: #fff;
    background: #014099 url(../img/common/icon01.png) no-repeat left 20px center;
    background-size: 26px auto;
  }
}
header .spMenu {
  display: none;
}

@media (max-width: 1400px) and (min-width: 769px) {
  header .logo {
    padding-left: 10px;
    max-width: 170px;
  }
  header .rightBox {
    width: calc(100% - 180px);
  }
  header .rightBox .Nav > li {
    margin-left: 10px;
    position: static;
  }
  header .rightBox .Nav > li > a:has(+ .NavMore) {
    position: relative;
    padding-right: 15px;
  }
  header .rightBox .Nav .NavMore {
    min-width: auto;
    width: 820px;
  }
  header .rightBox .document {
    margin: 0 10px;
  }
  header .rightBox .document a {
    background: #ff6565 url(../img/common/DocumentIcon03.png) no-repeat left 6px center;
    font-size: 13px;
    padding: 5px 5px 6px 24px;
  }
  header .rightBox dl dt {
    width: 70px;
  }
  header .rightBox dl dt::before {
    margin-right: 2px;
  }
  header .rightBox .btn {
    width: 120px;
    padding-left: 30px;
    background: url(../img/common/icon01.png) no-repeat left 10px center;
    background-size: 20px auto;
  }
}
@media screen and (max-width: 1400px) and (min-width: 769px) and (min-width: 769px) {
  header .rightBox .btn:hover {
    color: #fff;
    background: #014099 url(../img/common/icon01.png) no-repeat left 10px center;
    background-size: 20px auto;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

footer

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
footer .footerTop {
  background-color: #1B4098;
}
footer .footerTop .inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  padding-top: 50px;
  padding-bottom: 55px;
}
footer .connecting {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 40px;
}
footer .connecting__box {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 30px 10px;
}
footer .connecting__box .connectingBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 220px;
  max-width: 100%;
  border: 1px solid #DEDEDE;
  height: 35px;
  border-radius: 35px;
  color: #1B4098;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
  margin: 20px auto 0;
  -webkit-transition: border-color ease 0.3s, color ease 0.3s, background-color ease 0.3s;
  transition: border-color ease 0.3s, color ease 0.3s, background-color ease 0.3s;
}
footer .connecting__box .connectingBtn span {
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' data-name='%E3%83%91%E3%82%B9 2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%231b4098' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  background-position: right top 3px;
  padding-right: 15px;
  -webkit-transition: background-image ease 0.3s;
  transition: background-image ease 0.3s;
}
@media screen and (min-width: 769px) {
  footer .connecting__box .connectingBtn:hover {
    border-color: #1B4098;
    color: #fff;
    background-color: #1B4098;
  }
  footer .connecting__box .connectingBtn:hover span {
    background-repeat: no-repeat;
    background-size: 6px auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' data-name='%E3%83%91%E3%82%B9 2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  }
}
footer .connecting__box.box01 {
  padding-left: 20px;
  border-right: 1px dashed #DEDEDE;
}
footer .connecting__box.box01 .con {
  background: url(../img/common/icon11.png) no-repeat left center;
  background-size: 60px auto;
  padding: 10px 10px 0px 75px;
}
footer .connecting__box.box01 .con .conTel .text01 {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 400;
}
footer .connecting__box.box01 .con .conTel .text02 {
  font-size: 38px;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
}
footer .connecting__box.box01 .con .conText {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.075em;
  font-weight: 400;
  text-align: right;
  padding-right: 8px;
}
footer .connecting__box.box02 {
  padding-right: 20px;
}
footer .connecting__box.box02 .con {
  background: url(../img/common/icon15.png) no-repeat left center;
  background-size: 60px auto;
  padding: 0 10px 3px 75px;
}
footer .connecting__box.box02 .con .conText {
  font-size: 17px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-bottom: 5px;
}
footer .connecting__box.box02 .con .conText span {
  font-size: 15px;
}
footer .connecting__box.box02 .con .conText02 {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.075em;
  font-weight: 400;
}
footer .footerMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .footerMenu a {
  color: #fff;
}
@media screen and (min-width: 769px) {
  footer .footerMenu a:hover {
    text-decoration: underline;
  }
}
footer .footerMenu__box {
  width: 25%;
}
footer .footerMenu__box:not(:last-child) {
  padding-right: 10px;
}
footer .footerMenu__single {
  margin-bottom: 30px;
}
footer .footerMenu__title {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  text-indent: -20px;
  padding-left: 20px;
}
footer .footerMenu__title a {
  position: relative;
  padding-left: 20px;
}
footer .footerMenu__title a::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' data-name='%E3%83%91%E3%82%B9 2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%231b4098' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  position: absolute;
  top: 3px;
  left: 0;
}
footer .footerMenu ul {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0em;
  font-weight: 400;
  padding-left: 20px;
  margin-top: 8px;
}
footer .footerMenu ul li:not(:last-child) {
  margin-bottom: 7px;
}
footer .footerBottom .inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  padding-top: 60px;
  padding-bottom: 65px;
}
footer .conTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
}
footer .conTop .footerLogo {
  margin-top: 8px;
}
footer .conTop .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .conTop .sns li.footerIcon01 {
  width: 45px;
}
footer .conTop .sns li.footerIcon02 {
  width: 52px;
  margin-left: 12px;
}
footer .conBottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .conBottom .footerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 400;
}
footer .conBottom .footerNav li:not(:last-child) {
  margin-right: 12px;
}
footer .conBottom .footerNav li a {
  color: #707f89;
}
footer .conBottom .copy {
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 400;
  color: #707f89;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

pageTop

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
#pageTop {
  right: 60px;
  width: 80px;
  height: 80px;
  background: #5874C9;
  border-radius: 100%;
  z-index: 8;
  -webkit-transition: none;
  transition: none;
}
#pageTop::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -9px;
  margin-top: -3px;
  -webkit-transition: top ease 0.3s;
  transition: top ease 0.3s;
}
@media screen and (min-width: 769px) {
  #pageTop:hover::before {
    top: 40%;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

sideNav

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.sideNav {
  width: 210px;
  height: auto;
  position: fixed;
  right: 0;
  top: 350px;
  /* border-top: 1px solid #f44c4c; */
  z-index: 5;
}
.sideNav.v2 {
  width: 170px;
}

.sideNav:hover {
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
}

/* 
.sideNav.open{
  -webkit-transform: translateX(130px);
  transform: translateX(130px);
}
.sideNav.open:hover{
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
}
*/
.sideNav li a {
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
  padding-left: 55px;
  border-bottom: 1px solid #014099;
  background: #fff;
  letter-spacing: -0.25px;
}

/* .sideNav li.icon01 a {
  border-bottom: 1px solid #f44c4c;
  color: #f44c4c;
} */

.sideNav li a span {
  display: block;
  position: relative;
}

.sideNav li a:before {
  content: "";
  display: block;
  width: 42px;
  height: 39px;
  border-bottom: 1px solid #4e7ab8;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-color: #014099;
}

.sideNav li:first-child {
  border-top: 1px solid #014099;
}

.sideNav li.pink:first-child {
  border-top: 1px solid #f44c4c;
}

.sideNav li.pink a {
  border-bottom-color: #f44c4c;
  color: #f44c4c;
}

.sideNav li.pink a:before {
  background-color: #f37171;
  border-bottom: 1px solid #f37171;
}

.sideNav li.pink a span:before {
  background: #f44c4c;
}

.sideNav li.pink a span:after {
  border-top: 1px solid #f44c4c;
  border-right: 1px solid #f44c4c;
}

.sideNav li.pink a:hover {
  background: #fff4f4;
  color: #f44c4c;
}

.sideNav li.icon01 a:before {
  background-image: url(../img/common/side_icon01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px auto;
}

.sideNav li.icon02 a:before {
  background-image: url(../img/common/side_icon02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px auto;
}

.sideNav li.icon03 a:before {
  background-image: url(../img/common/side_icon03.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px auto;
}

.sideNav li.icon04 a:before {
  background-image: url(../img/common/side_icon04.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
}

.sideNav li.icon05 a:before {
  background-image: url(../img/common/side_icon05.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
}

.sideNav li a.counseling:before {
  background-image: url(../img/common/side_icon04_counseling.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
}

.sideNav li a span:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
  background: #014099;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: 0px;
}

.sideNav li a span:after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -3px;
}

.sideNav li a span:before,
.sideNav li a span:after {
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* .sideNav li.icon01 a span:before {
  background: #f44c4c;
}

.sideNav li.icon01 a span:after {
  border-top: 1px solid #f44c4c;
  border-right: 1px solid #f44c4c;
} */

.sideNav li a:hover {
  background: #f2f7ff;
  color: #014099;
}

/* .sideNav li.icon01 a:hover {
  background: #fff4f4;
  color: #f44c4c;
} */

.sideNav li a:hover span:before,
.sideNav li a:hover span:after {
  opacity: 1;
  right: 10px;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

bottomNav

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.bottomNav {
  display: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

パンクズ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.pnkz {
  margin: 40px auto 75px;
}

.pnkz li {
  display: inline;
  color: #bdbdbd;
  font-size: 12px;
}

.pnkz li.top a {
  background: url(../img/common/icon02.png) no-repeat;
  background-size: 19px 17px;
  padding-left: 25px;
}

.pnkz li:nth-child(n+2):before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 1px;
  background: #000;
  margin: 0 8px 0 5px;
  vertical-align: middle;
}

.pnkz li a:hover {
  color: #bdbdbd;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> タブ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.allArea .contentArea {
  display: none;
}

/*------------------------------
cate
------------------------------*/
.allArea .tabArea.cate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 25px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.allArea .tabArea.cate li {
  margin: 0 5px 25px;
  border: 1px solid #dedede;
  color: #31353b;
  background: #fff;
  padding: 4px 10px;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}

.allArea .tabArea.cate li.select {
  color: #fff;
  background: #014099;
  border-color: #014099;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 矢印

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.arrow:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
  background: #014099;
  position: absolute;
}

.arrow:after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  position: absolute;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> ボタン

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
btn01
------------------------------*/
.btn01 {
  display: block;
  margin: 30px auto;
  max-width: 380px;
  width: 100%;
  position: relative;
  background: #01368d;
  letter-spacing: 1px;
  color: #fff;
  padding-right: 60px;
  text-align: center;
  border: 2px solid #01368d;
}

.btn01:before {
  width: 16px;
  height: 2px;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  right: 22px;
  margin-top: -1px;
}

.btn01:after {
  width: 10px;
  height: 10px;
  border-width: 2px;
  border-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  right: 22px;
  margin-top: -6px;
}

_:-ms-lang(x), .btn01:after {
  top: 23.5px;
}

.btn01 span {
  color: #fff;
  background: #014099;
  display: block;
  padding: 18px 8px 19px 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 2px;
}

_:-ms-lang(x), .btn01 span {
  padding: 21px 10px 16px;
}

.btn01:hover span {
  color: #01368d;
  background: #fff;
}

.btn01:hover:before {
  width: 22px;
  right: 18px;
}

.btn01:hover:after {
  right: 18px;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 見出し

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
topTitle
------------------------------*/
.topTitle {
  color: #014099;
  font-size: 26px;
  line-height: 138%;
  text-align: center;
  letter-spacing: 1px;
  margin-bottom: 60px;
}

.topTitle:before,
.topTitle:after {
  content: "";
  display: inline-block;
  width: 37px;
  height: 14px;
}

.topTitle:before {
  background: url(../img/common/tti_icon01.png);
  background-size: 37px 14px;
  margin-right: 20px;
}

.topTitle:after {
  background: url(../img/common/tti_icon02.png);
  background-size: 37px 14px;
  margin-left: 20px;
}

/*------------------------------
pageTitle
------------------------------*/
.pageTitle {
  color: #014099;
  font-size: 30px;
  line-height: 138%;
  letter-spacing: 0.5px;
  margin-bottom: 60px;
}

.pageTitle:before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  margin-right: 15px;
}

/*------------------------------
pageTitle02
------------------------------*/
.pageTitle02 {
  color: #014099;
  position: relative;
  font-size: 30px;
  margin: 0 0 45px;
}

.pageTitle02:after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  position: absolute;
  left: 0px;
  bottom: -15px;
  background: #014099;
}

/*------------------------------
headlineType01
------------------------------*/
.headlineType01 {
  color: #014099;
  position: relative;
  font-size: 18px;
  margin: 35px 0 25px;
}

.headlineType01:first-child {
  margin-top: 0;
}

.headlineType01:after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  position: absolute;
  left: 0px;
  bottom: -10px;
  background: #014099;
}

/*------------------------------
headlineType02
------------------------------*/
.headlineType02 {
  color: #014099;
  font-size: 25px;
  line-height: 138%;
  letter-spacing: 1px;
  margin-bottom: 60px;
}

.headlineType02:before {
  content: "";
  display: inline-block;
  width: 37px;
  height: 14px;
  background: url(../img/common/tti_icon01.png);
  background-size: 37px 14px;
  margin-right: 10px;
  margin-bottom: 2px;
}

/*------------------------------
headlineType03
------------------------------*/
.headlineType03 {
  border-bottom: 1px solid #014099;
  margin-bottom: 30px;
}

.headlineType03 span {
  color: #fff;
  background: #014099;
  padding: 0 25px;
  display: inline-block;
  position: relative;
  font-size: 18px;
  line-height: 50px;
  height: 50px;
}

.headlineType03 span:after {
  content: "";
  display: block;
  position: absolute;
  right: -19px;
  bottom: 0px;
  margin-top: -4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 0 20px;
  border-color: transparent transparent transparent #014099;
}

/*------------------------------
headlineType04
------------------------------*/
.headlineType04 {
  font-size: 24px;
  color: #014099;
  line-height: 40px;
  padding-left: 65px;
  position: relative;
  margin-bottom: 30px;
}

.headlineType04:before {
  content: "";
  display: block;
  height: 1px;
  width: 50px;
  background: #014099;
  position: absolute;
  top: 20px;
  left: 0;
}

strong {
  font-weight: 700;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> サムネイル

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
hoverThumbnailMore
------------------------------*/
.hoverThumbnailMore {
  overflow: hidden;
  position: relative;
  width: 250px;
  height: 185px;
}

.hoverThumbnailMore img {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 100%;
  height: auto;
  -webkit-transform: scale(1) translate(-50%, -50%);
          transform: scale(1) translate(-50%, -50%);
}

a:hover .hoverThumbnailMore img {
  -webkit-transform: scale(1.1) translate(-45%, -45%);
          transform: scale(1.1) translate(-45%, -45%);
}

.hoverThumbnailMore .more {
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(1, 64, 153, 0.75);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}

a:hover .hoverThumbnailMore .more {
  opacity: 1;
}

.hoverThumbnailMore .more span {
  position: absolute;
  top: 45%;
  left: 50%;
  text-align: center;
  display: block;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.hoverThumbnailMore .more span:before {
  background: #fff;
  top: 33px;
  left: 50%;
  margin-left: -15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.hoverThumbnailMore .more span:after {
  border-color: #fff;
  top: 30px;
  left: 50%;
  margin-left: -10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

a:hover .hoverThumbnailMore .more span:before {
  margin-left: -5px;
}

a:hover .hoverThumbnailMore .more span:after {
  margin-left: 0px;
}

/*------------------------------
hoverThumbnailUp
------------------------------*/
.hoverThumbnailUp {
  position: relative;
  overflow: hidden;
}

.hoverThumbnailUp img {
  -webkit-transition: all 0.5s cubic-bezier(0.435, 0.08, 0.08, 1);
  transition: all 0.5s cubic-bezier(0.435, 0.08, 0.08, 1);
  display: block;
  margin: 0 auto;
}

.hoverThumbnailUp .iconText {
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(75, 104, 146, 0.5);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover .hoverThumbnailUp .iconText {
  background-color: rgba(1, 64, 153, 0.5);
}

.hoverThumbnailUp .iconText:before {
  width: 16px;
  height: 2px;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  bottom: 45px;
  left: 50%;
  margin-left: -15px;
  opacity: 0;
}

.hoverThumbnailUp .iconText:after {
  width: 10px;
  height: 10px;
  border-width: 2px;
  border-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  bottom: 40px;
  left: 50%;
  margin-left: -10px;
  opacity: 0;
}

.hoverThumbnailUp .iconText:before {
  bottom: 40px;
}

.hoverThumbnailUp .iconText:after {
  bottom: 35px;
}

a:hover .hoverThumbnailUp .iconText:before {
  margin-left: -5px;
  opacity: 1;
}

a:hover .hoverThumbnailUp .iconText:after {
  margin-left: 0px;
  opacity: 1;
}

.hoverThumbnailUp .iconText span {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 22px;
  line-height: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover .hoverThumbnailUp .iconText span {
  top: 40%;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 各ページパーツ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
lecturerBox（人物紹介）
------------------------------*/
.lecturerBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 60px;
}

.lecturerBox:last-child {
  margin-bottom: 0;
}

.lecturerBox .photo {
  width: 250px;
}

.lecturerBox .text {
  width: calc(100% - 280px);
}

.lecturerBox .text dl {
  border-left: 5px solid #014099;
  padding: 5px 0 5px 20px;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}

.lecturerBox .text dl dt {
  font-size: 20px;
}

.lecturerBox .text dl dd {
  font-size: 15px;
}

.lecturerBox .text p.read {
  color: #014099;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.cat {
  margin: 20px 0;
}

.cat span {
  margin: 0 5px 0 0;
  display: inline-block;
}

.cat span:last-child {
  margin-right: 0px;
}

.cat span a {
  display: block;
  border: 1px solid #dedede;
  color: #31353b;
  background: #fff;
  padding: 4px 10px;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.cat span a:hover {
  color: #fff;
  background: #014099;
  border-color: #014099;
}

/*------------------------------
courseList（受付中講座）
------------------------------*/
.courseList {
  display: -ms-grid;
  display: grid;
  width: 100%;
  -ms-grid-columns: 4fr 1fr;
  grid-template-columns: 4fr 1fr;
  /* --ms-grid-rows: 1fr 1fr;*/
  /* -grid-template-rows: 1fr 1fr;*/
  border: 1px solid #dedede;
  background: #fff;
  margin-bottom: 20px;
  position: relative;
}

/*
.courseList:last-child {
  margin-bottom:0;
}
*/
.courseList .title,
.courseList .linkButton,
.courseList .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 46px 25px 12px;
  flex-wrap: wrap;
}

.courseList .title,
.courseList .box {
  min-height: 55px;
}

.courseList .box {
  -ms-grid-column: 1;
  grid-column-start: 1;
  grid-column-end: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  margin: 0;
  padding-top: 12px;
}

.courseList .title {
  padding-top: 12px;
}

.courseList .courseListIcon + .title,
.courseList .popUp + .title,
.courseList .badgeIcon + .title{
  padding-top: 46px;
}

/* courseListIcon */
.courseList .courseListIcon {
  font-size: 12px;
  color: #1B4098;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 14px;
  left: 20px;
}

.courseList .courseListIcon img {
  margin-right: 3px;
  width: 30px;
  height: auto;
}

/*popUp*/
.courseList .popUp {
  position: absolute;
  top: 12px;
  left: 25px;
  z-index: 2;
}

.courseList .popUp:has(+ .courseListIcon) {
  left: 90px;
}

.courseList .popUp:has(+ .courseListIcon.iconLive) {
  left: 125px;
}

.courseList .popUp:has(+ .badgeIcon) {
  left: 90px;
}
.courseList .popUp:has(+ .badgeIcon.iconLive) {
  left: 125px;
}

/* .courseList .popUp::before{
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 11px 10px 0;
  border-color: transparent #e93f6f transparent transparent;
  position: absolute;
  bottom: -7px;
  left: 50%;
  margin-left:-5px;
}
.courseList .popUp::after{
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 7px 0;
  border-color: transparent #fff transparent transparent;
  position: absolute;
  bottom: -4px;
  left: 50%;
  margin-left:-3px;
} */
.courseList .popUp span {
  padding: 0 5px;
  line-height: 19px;
  font-size: 12px;
  height: 19px;
  display: inline-block;
}

.textBody .popUp span, .allArea .popUp span {
  padding: 8px 10px;
  font-size: 15px;
  line-height: 1;
  display: inline-block;
}

.courseList .popUp span:before, .textBody .popUp span:before, .allArea .allArea span:before {
  font-weight: 700;
  margin-right: 5px;
}

/*popUp各設定*/
/*NEW*/
.courseList .popUp.type01 span, .textBody .popUp.type01 span, .allArea .popUp.type01 span {
  background-color: #FFEBC7;
}

/*残席わずか*/
.courseList .popUp.type02 span, .textBody .popUp.type02 span, .allArea .popUp.type02 span {
  background-color: #F5D8CF;
}

/*満席キャンセル待ち*/
.courseList .popUp.type03 span, .textBody .popUp.type03 span, .allArea .popUp.type03 span {
  background-color: #F5F5F5;
}

.courseList .popUp.type03 span:before, .textBody .popUp.type03 span:before, .allArea .popUp.type03 span:before {
  content: "×";
}

/*〆切りました*/
.courseList .popUp.type04 span, .textBody .popUp.type04 span, .allArea .popUp.type04 span {
  background-color: #F5F5F5;
}

/*受付開始前*/
.courseList .popUp.type05 span, .textBody .popUp.type05 span, .allArea .popUp.type05 span {
  background: #dff2cd;
}

/*
.courseList .popUp.type01 span{
  border-color: #e93f6f;
}
.courseList .popUp.type01 span:before{
  content: "○";
  color: #e93f6f;
}
.courseList .popUp.type02{
  left: -28px;
}
.courseList .popUp.type02::before{
  border-color: transparent #e3a331 transparent transparent;
}
.courseList .popUp.type02 span{
  border-color: #e3a331;
}
.courseList .popUp.type02 span:before{
  content: "△";
  color: #e3a331;
}
.courseList .popUp.type03{
  left: -54px;
}
.courseList .popUp.type03::before{
  border-color: transparent #919191 transparent transparent;
}
.courseList .popUp.type03 span{
  border-color: #919191;
}
.courseList .popUp.type03 span:before{
  content: "×";
  color: #919191;
}
.courseList .popUp.type04{
  left: -34px;
}
.courseList .popUp.type04::before{
  border-color: transparent #014099 transparent transparent;
}
.courseList .popUp.type04 span{
  border-color: #014099;
}
.courseList .popUp.type04 span:before{
  content: "×";
  color: #014099;
}
.courseList .popUp.type05{
  left: -15px;
}
.courseList .popUp.type05::before{
  border-color: transparent #01994e transparent transparent;
}
.courseList .popUp.type05 span{
  border-color: #01994e;
}
@media screen and (max-width: 1130px){
  .courseList .popUp.type01,
  .courseList .popUp.type02,
  .courseList .popUp.type03,
  .courseList .popUp.type04,
  .courseList .popUp.type05{
    left: 0
  }
}
*/
/*title*/
.courseList .title {
  border-bottom: 1px solid #dedede;
  padding-right: 310px;
  position: relative;
}

/* .courseList .popUp + .title{
  padding-top: 46px;
} */
.courseList .title .name {
  font-size: 20px;
  font-weight: bold;
}

.courseList .title .name span,
.courseList .title .name a {
  padding: 0 10px;
  line-height: 24px;
  height: 26px;
  border-radius: 13px;
  margin-right: 10px;
  color: #ffffff;
  border: 1px solid #014099;
  font-size: 13px;
  font-weight: 400;
  display: inline-block;
  vertical-align: text-bottom;
  background-color: #014099;
}

.courseList .title .name a:hover {
  color: #fff;
  background: #014099;
}

.courseList .title .name span.intro {
  border: none;
  padding: 0 5px 0 0;
  line-height: 1.6;
  color: #014099;
  height: auto;
  border-radius: 0;
  margin: 5px 0 3px;
  background-color: #ffffff;
}

.courseList .title .name span {
  display: none;
}

.courseList .title .categoryBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -13px;
}

.courseList .title .categoryBox span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 96px;
  height: 26px;
  padding: 0 10px;
  background: #bdbdbd;
  color: #fff;
  line-height: 1;
  font-size: 13px;
  margin-left: 2px;
}

.courseList .title .categoryBox span:before {
  content: "";
  display: inline-block;
  margin-right: 5px;
}

.courseList .title .category01:before {
  background: url(../img/common/icon21.png) no-repeat left center;
  background-size: 100% auto;
  width: 18px;
  height: 15px;
}

.courseList .title .category02:before {
  background: url(../img/common/icon26.png) no-repeat left center;
  background-size: 100% auto;
  width: 19px;
  height: 12px;
}

.courseList .title .category03:before {
  background: url(../img/common/icon27.png) no-repeat left center;
  background-size: 100% auto;
  width: 18px;
  height: 17px;
}

/*linkButton*/
.courseList .linkButton {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  border-left: 1px solid #dedede;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10px 15px;
}

.courseList .linkButton a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 40px;
  padding: 5px;
  border-radius: 5px;
  font-size: 14px;
  width: 100%;
}

.courseList .linkButton .type01 {
  margin-bottom: 5px;
  background: #f2f7ff;
  color: #014099;
  border: 1px solid #014099;
}

.courseList .linkButton .type01:before {
  content: "";
  display: inline-block;
  background: url(../img/common/icon22.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 5px;
  width: 18px;
  height: 17px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.courseList .linkButton .type02 {
  background: #014099;
  color: #fff;
  border: 1px solid #014099;
}

.courseList .linkButton .type02:before {
  content: "";
  display: inline-block;
  background: url(../img/common/icon23.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 11px;
  width: 12px;
  height: 12px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.courseList .linkButton .type01:hover {
  background: #014099;
  color: #fff;
}

.courseList .linkButton .type01:hover:before {
  background: url(../img/common/icon09.png) no-repeat left center;
  background-size: 100% auto;
}

.courseList .linkButton .type02:hover {
  background: #f2f7ff;
  color: #014099;
}

.courseList .linkButton .type02:hover:before {
  background: url(../img/common/bottom_icon02.png) no-repeat left center;
  background-size: 100% auto;
}

/*box*/
.courseList .box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 13px;
}

.courseList .box dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 10px;
  background: #f5f5f5;
  line-height: 1;
  height: 26px;
  border-radius: 13px;
  margin-right: 10px;
}

.courseList .box dl dd {
  margin-right: 15px;
}

/*spCategory*/
.courseList .spCategory {
  display: none;
}

/*------------------------------
アンカーリンク
------------------------------*/
.anchorLink {
  margin-bottom: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  counter-reset: ol_btn;
}

.anchorLink.pageIndex {
  margin-top: 75px;
}

.anchorLink > li {
  border: 1px solid #dedede;
  border-right: none;
  max-width: 246px;
  width: 100%;
  position: relative;
}

.anchorLink > li:last-child {
  border-right: 1px solid #dedede;
}

.anchorLink > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: #fff;
  width: 100%;
  height: 58px;
  color: #014099;
  line-height:1.2;
}

.anchorLink > li > a:before {
  counter-increment: ol_btn;
  content: counter(ol_btn);
  position: absolute;
  top: -5px;
  left: 8px;
  color: #014099;
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.anchorLink > li > a:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -30px;
  background: url(../img/common/icon20.png) no-repeat left center;
  background-size: 100% auto;
  width: 22px;
  height: 21.5px;
  margin-left: -11px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
}

@media (min-width: 769px) {
  .anchorLink > li:hover .anchorLinkMore {
    visibility: visible;
    opacity: 1;
  }
  .anchorLinkMore li:not(:last-child) {
    border-bottom: 1px solid #4c74b1;
  }
  .anchorLinkMore ul li a:hover {
    background: #014099;
  }
}
/*
.anchorLink > li > a:hover {
  background:#014099; 
  color: #fff;
}
.anchorLink > li > a:hover:before{
  color: #fff;
}
.anchorLink > li > a:hover:after{
  bottom: -40px;
  opacity:1;
}
*/
.anchorLinkMore {
  background: #1b53a3;
  position: absolute;
  left: 0;
  top: 59px;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity ease 0.5s;
  transition: opacity ease 0.5s;
}

.anchorLinkMore ul li a {
  display: block;
  text-align: center;
  padding: 5px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.1em;
}

/*------------------------------
anchorBox
------------------------------*/
.anchorBox.graybox {
  background: url(../img/common/back01.gif);
  margin: 130px 0 0;
  padding-bottom: 130px;
}

.anchorBox .search_ttl {
  color: #014099;
  font-size: 26px;
  line-height: 1.38;
  letter-spacing: 1px;
  font-weight: 500;
  padding: 3rem 0 2rem;
  @media screen and (max-width: 768px) {
    font-size: 20px;
    padding: 2rem 0 1.5rem;
  }
}

.anchorBox.pageIndex #anchorBox01 .courseList:first-of-type {
  margin-top: 0 !important;
}

.anchorBox article {
  padding-top: 70px;
  margin-top: -70px;
}

section.anchorBox article:last-child {
  margin-bottom: 130px;
}

section.anchorBox.graybox article:last-child {
  margin-bottom: 0;
}

.anchorBox article .articleWrapper {
  padding: 0 0 60px;
}

.anchorBox article:last-child .articleWrapper {
  padding: 0;
}

.anchorBox article.backcolor {
  padding-top: 60px;
  margin-top: -60px;
  margin-bottom: 60px;
}

.anchorBox article.backcolor .articleWrapper {
  background: url(../img/common/back01.gif);
  padding-top: 60px;
}

/*pageIndex*/
/*
.anchorBox article {
  padding-bottom: 15px;
}
*/
/*ttl（見出し01）*/
.anchorBox.pageIndex article .ttl {
  color: #fff;
  background: #ee8485;
  padding: 5px 45px 4px;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  border-radius: 20px;
  letter-spacing: 1px;
  margin-bottom: 30px;
}

.anchorBox.pageIndex article .ttl.color01 {
  background: #30a6df;
}

.anchorBox.pageIndex article .ttl:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 20px;
  border: 5px solid #fff;
  position: absolute;
  left: 15px;
  top: 10px;
}

.anchorBox.pageIndex article .ttl span {
  padding: 0 0 0 30px;
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0px;
}

/*ttlCourse（見出し02）*/
.anchorBox.pageIndex article .ttlCourse {
  color: #30a6df;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 25px;
  padding-left: 45px;
}

.anchorBox.pageIndex article .ttlCourse:before {
  content: "";
  display: block;
  height: 33px;
  width: 33px;
  position: absolute;
  left: 0;
  top: -2px;
}

.anchorBox.pageIndex article .ttlCourse.course01:before {
  background: url(../img/course/icon01.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .ttlCourse.course02:before {
  background: url(../img/course/icon02.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .ttlCourse.course03:before {
  background: url(../img/course/icon03.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .ttlCourse.course04:before {
  background: url(../img/course/icon04.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .ttlCourse.course05:before {
  background: url(../img/course/icon05.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .ttlCourse.course06:before {
  background: url(../img/course/icon06.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .readTextCourse {
  margin-bottom: 30px;
}

.anchorBox.pageIndex article .ttl02 {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.38px;
  color: #024099;
  border-bottom: 2px solid #024099;
  padding: 90px 0 20px;
  margin: -80px 0 30px;
}

/*------------------------------
リンクボックス
------------------------------*/
.photoBtnBox {
  margin: 35px auto 25px;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.photoBtnBox .photo {
  max-width: 330px;
  width: 100%;
}

.photoBtnBox .photo img {
  height: auto;
  padding-right: 20px;
}

.photoBtnBox .text {
  width: 100%;
}

.photoBtnBox .text ul {
  margin-bottom: 15px;
}

.photoBtnBox .text ul li {
  text-indent: -15px;
  padding-left: 15px;
  line-height: 150%;
  margin-bottom: 10px;
}

.photoBtnBox .text ul li:last-child {
  margin-bottom: 0;
}

.photoBtnBox .text ul li:before {
  content: "・";
}

.photoBtnBox .text p {
  margin-bottom: 15px;
}

.photoBtnBox .text .btn01 {
  margin-bottom: 0;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> スライド

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
共通設定
------------------------------*/
.dotsSlide.slick-dotted.slick-slider {
  margin-bottom: 0;
}

/* Arrows */
.dotsSlide .slick-prev,
.dotsSlide .slick-next {
  display: none !important;
}

/* Dots */
.dotsSlide .slick-dots {
  height: 12px;
  bottom: -35px;
}

.dotsSlide .slick-dots li {
  width: 30px;
  height: 12px;
  margin: 0;
}

.dotsSlide .slick-dots li button {
  width: 30px;
  height: 12px;
  padding: 0px;
}

.dotsSlide .slick-dots li button:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 1;
  background: #bcc6d4;
  border-radius: 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.dotsSlide .slick-dots li.slick-active button:before {
  background: #014099;
  width: 12px;
  height: 12px;
  opacity: 1;
}

/*------------------------------
newsIntroduction
------------------------------*/
.newsIntroduction .box {
  background: #fff;
  position: relative;
}

.newsIntroduction .slick-list {
  padding-top: 5px;
}

.newsIntroduction .box a {
  display: block;
}

.newsIntroduction .box .category {
  min-width: 83px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  letter-spacing: 1.5px;
  line-height: 1;
  position: absolute;
  top: -5px;
  left: 10px;
  padding: 5px;
  z-index: 1;
}

.newsIntroduction .box .category:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 5px transparent solid;
  border-right: 5px solid;
  -webkit-transform: rotate(90deg);
  transform: rotate(-45deg);
  position: absolute;
  right: -5px;
  top: 2px;
}

/*通学講座*/
.newsIntroduction .box .category.color01 {
  background: #30a6df;
}

.newsIntroduction .box .category.color01:after {
  border-right-color: #0077ad;
}

.articleCcontent .category.color01 {
  background: #30a6df;
}

/*お知らせ*/
.newsIntroduction .box .category.color02 {
  background: #835b9c;
}

.newsIntroduction .box .category.color02:after {
  border-right-color: #60317d;
}

.articleCcontent .category.color02 {
  background: #835b9c;
}

/*通信講座*/
.newsIntroduction .box .category.color03 {
  background: #31b498;
}

.newsIntroduction .box .category.color03:after {
  border-right-color: #209179;
}

.articleCcontent .category.color03 {
  background: #31b498;
}

.newsIntroduction .box .text {
  padding: 15px 20px;
}

.newsIntroduction .box .text .title {
  font-size: 17px;
  line-height: 26px;
}

.newsIntroduction .box:hover .text .title {
  color: #014099;
}

.newsIntroduction .box .time {
  font-size: 12px;
  color: #bdbdbd;
  line-height: 26px;
}

/*------------------------------
humanIntroduction
------------------------------*/
.humanIntroduction {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

.humanIntroduction .box {
  position: relative;
}

.humanIntroduction .box a {
  display: block;
}

.humanIntroduction .box .hoverThumbnailMore {
  max-width: 180px;
  margin: 0 auto;
}

.humanIntroduction .box p {
  text-align: center;
}

/*スライドなし*/
.humanIntroduction.noSlide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.humanIntroduction.noSlide .box {
  margin: 0 25px 25px 0;
  width: calc(20% - 20px);
}

.humanIntroduction.noSlide .box:nth-child(5n) {
  margin-right: 0;
}

.humanIntroduction.noSlide .box p {
  text-align: center;
  margin-top: 10px;
}

.humanIntroduction.noSlide .box p.sub,
.humanIntroduction .box p.sub {
  max-width: 180px;
  font-size: 13.5px;
  line-height: 20px;
  text-align: left;
  margin: 5px auto 0;
}

/*2カラムbtn*/
.content + .school_btn {
  background: url(../img/common/back01.gif);
  margin: -70px 0 0;
  padding-bottom: 60px;
}

.content + .school_btn a {
  margin: 0 auto;
}

/*pickBox*/
.pickBox {
  border: 1px solid #F01409;
  max-width: 680px;
  margin: 20px auto 0;
  padding: 15px 20px;
}

/*ボタンボックス*/
.bottomLinkBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin: 70px auto 80px;
}

.bottomLinkBox li {
  max-width: 350px;
  width: 100%;
  height: 60px;
  margin: 0 5px;
  position: relative;
}

.bottomLinkBox li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 20px;
  letter-spacing: 2px;
  color: #fff;
  padding-right: 15px;
}

.bottomLinkBox li a:hover {
  opacity: 0.6;
}

.bottomLinkBox .ttl01 a {
  background: #30a6df;
  letter-spacing: 0.5px;
}

.bottomLinkBox .ttl02 a {
  background: #35b597;
  letter-spacing: 4px;
}

.bottomLinkBox li a span:before {
  content: "";
  display: inline-block;
  margin-right: 15px;
}

.bottomLinkBox .ttl01 a span:before {
  width: 26px;
  height: 21px;
  background: url(../img/common/icon03.png) no-repeat left center;
  background-size: 100% auto;
}

.bottomLinkBox .ttl02 a span:before {
  width: 24px;
  height: 21px;
  background: url(../img/common/icon04.png) no-repeat left center;
  background-size: 100% auto;
}

/*コンバージョンボタン*/
.conversionBtn a {
  background: #f37171;
  margin: 50px auto 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 90px;
  max-width: 500px;
  width: 100%;
  padding: 5px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 32px;
  text-align: center;
  color: #fff;
  -webkit-box-shadow: 0 0 0 5px #f37171 inset, 0 0 0 6px #fff inset;
          box-shadow: 0 0 0 5px #f37171 inset, 0 0 0 6px #fff inset;
  border: 1px solid #f37171;
}

.conversionBtn a::before {
  content: "";
  display: inline-block;
  margin: 3px 10px 0 0;
  background: url(../img/common/icon25.png) no-repeat left center;
  background-size: 100% auto;
  width: 20px;
  height: 18px;
  vertical-align: middle;
}

.conversionBtn a:hover {
  background: #fff;
  color: #f37171;
  -webkit-box-shadow: 0 0 0 5px #fff inset, 0 0 0 6px #f37171 inset;
          box-shadow: 0 0 0 5px #fff inset, 0 0 0 6px #f37171 inset;
}

.conversionBtn a:hover::before {
  background-image: url(../img/common/icon30.png);
}

/*お申し込みの流れ画像サイズ*/
.step .stepBox img.credit02 {
  height: 24px;
  width: auto;
  vertical-align: middle;
}

/* flow */
.flow {
  margin: 60px auto 0;
  background: url(../img/common/back01.gif);
  padding: 50px 45px;
}

.flow:last-child {
  margin-bottom: 0 !important;
}

.inner.schoolMain .flow:last-child {
  margin-bottom: 130px !important;
}

.flow02 {
  margin: 60px auto;
}

.flow dt.btn {
  width: 100%;
  position: relative;
  background: #01368d;
  letter-spacing: 1px;
  color: #fff;
  padding-right: 60px;
  text-align: center;
  border: 2px solid #01368d;
  border-radius: 5px;
  font-size: 20px;
  cursor: pointer;
}

.flow dt.btn:before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -1px;
}

.flow dt.btn:after {
  content: normal;
}

.flow dt.btn span {
  color: #fff;
  background: #014099;
  display: block;
  padding: 18px 10px 19px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

_:-ms-lang(x), .flow dt.btn span {
  padding: 23px 10px 14px;
}

.flow.open dt.btn span {
  color: #014099;
  background: #fff;
}

.flow.open dt.btn:after {
  content: "";
  display: block;
  width: 2px;
  height: 18px;
  background: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  top: 50%;
  right: 28px;
  margin-top: -9px;
}

/*マスターコース*/
.flow dd.contentsBox {
  padding: 60px 0 0;
  /*
  display: none;
  */
}

.flow dd .step {
  position: relative;
  padding: 50px;
  background: #fff;
  border-radius: 5px;
  margin-bottom: 40px;
}

.flow dd .step:before {
  content: "";
  display: block;
  height: 75%;
  width: 14px;
  background: #014099;
  position: absolute;
  left: 123px;
  top: 10%;
  z-index: 1;
}

.flow dd .step .stepBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 35px;
  position: relative;
  z-index: 2;
}

.flow dd .step .stepBox dl {
  margin-left: 30px;
  width: calc(100% - 190px);
}

.flow dd .step .stepBox dl dt {
  font-size: 18px;
  font-weight: 700;
  color: #014099;
  margin-bottom: 10px;
}

.flow dd .step .stepBox dl dd {
  padding: 0;
}

.flow dd .step .stepBox dl dd span {
  font-size: 13px;
}

.flow dd .step .stepBox dl img.credit01,
.flow dd .step .stepBox dl img.credit02 {
  height: 24px;
  vertical-align: middle;
}

.flow dd .step .stepBox dl dt img.credit01,
.flow dd .step .stepBox dl dt img.credit02 {
  margin-left: 25px;
}

.flow dd .bottomText p.tti {
  border-bottom: 1px solid #014099;
  margin-bottom: 15px;
}

.flow dd .bottomText p.tti span {
  color: #fff;
  background: #014099;
  padding: 0 25px;
  display: inline-block;
  position: relative;
  font-size: 18px;
  line-height: 50px;
  height: 50px;
}

.flow dd .bottomText p.tti span:after {
  content: "";
  display: block;
  position: absolute;
  right: -19px;
  bottom: 0px;
  margin-top: -4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 0 20px;
  border-color: transparent transparent transparent #014099;
}

/*flow02*/
.beginning {
  padding: 35px 40px;
  background: #ebf0f7;
  position: relative;
  min-height: 125px;
  font-size: 16px;
  letter-spacing: 0.5px;
  margin-bottom: 40px;
  color: #31353b;
}

.beginning:before {
  content: "";
  display: block;
  width: 20px;
  height: 100%;
  border: 1px solid #014099;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
}

.beginning:after {
  content: "";
  display: block;
  width: 20px;
  height: 100%;
  border: 1px solid #014099;
  border-left: none;
  position: absolute;
  right: 0;
  top: 0;
}

.beginning p {
  margin-bottom: 20px;
}

.beginning .color {
  color: #dd405e;
}

.beginning small {
  font-size: 13px;
}

.beginning strong {
  font-weight: 700;
}

.beginning ul {
  color: #014099;
  counter-reset: beginning_number;
}

.beginning ul li {
  position: relative;
  padding-left: 30px;
  line-height: 22px;
  margin-bottom: 15px;
}

.beginning ul li:before {
  counter-increment: beginning_number;
  content: counter(beginning_number);
  position: absolute;
  top: 2px;
  left: 0px;
  font-weight: 700;
  color: #fff;
  background: #014099;
  height: 20px;
  width: 20px;
  line-height: 20px;
  text-align: center;
  border-radius: 20px;
  font-size: 14px;
}

.beginning dl {
  background: #fff;
  padding: 25px;
  border-radius: 5px;
  margin-top: 0;
  line-height: 25px;
}

.beginning dl dt {
  margin-bottom: 10px;
  text-indent: -23px;
  padding-left: 23px;
}

.beginning dl dt:before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  background: #014099;
  margin-right: 10px;
  vertical-align: middle;
}

.beginning dl dd {
  padding-left: 20px;
  margin-bottom: 25px;
}

.beginning dl dd:last-child {
  margin-bottom: 0;
}

.list {
  margin-top:35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.textBody .popUp, .allArea .popUp {
  margin: -10px 0 20px;
}
.textBody .list{
  margin-top:0;
}
.textBody p + .list{
  margin-top:35px;
}
.list dt,
.list dd{
  line-height: 25px;
  margin-bottom: 10px;
}
.list dt {
  width: 150px;
}
.list dt:before{
  content: "";
  display:inline-block;
  width: 9px;
  height: 9px;
  background:#014099; 
  margin-right:10px;
  vertical-align: middle;
}
.list dd {
  width: calc( 100% - 150px );
  padding-left: 10px;
}
.list.full dt {
  width: 100%;
  text-indent: -23px;
  padding-left: 23px;
}
.list.full dd {
  width: 100%;
  padding-left: 20px;
  margin-bottom: 25px;
}
.list.full dd:last-child {
  margin-bottom: 0;
}

/* Cookie Consent */
.cookie-consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 1.2em;
  box-sizing: border-box;
  z-index: 99;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
  text-decoration: underline!important;
  transition: opacity .4s ease;
}
.cookie-agree {
  color: #fff;
  background: #014099;
  padding: .5em 1.5em;
  transition: opacity .4s ease;
}
.cookie-agree:hover, .cookie-consent a:hover {
  cursor: pointer;
  opacity: .7;
}

img[src*="https://sync.intentiq.com/"] {
  display: none;
}



/* counseling page */
.counseling .ctmArea .photoRight img {
  width: 360px;
}

.counseling .ctmArea .photoRight p {
  width: 600px;
}

.counseling p + .linkArrow {
  margin-top: 16px;
}

.linkArrow {
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
  text-indent: -20px;
  padding-left: 20px;
}
.linkArrow a {
  position: relative;
  padding-left: 30px;
  text-decoration: underline;
}
.linkArrow a::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 100%;
  background-color: #1b4098;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.165' height='9.687' viewBox='0 0 6.165 9.687'%3E%0A %3Cpath id='%E3%83%91%E3%82%B9_2215' d='M-7069.492-5247.477l4.145-4.051,4.144,4.051' transform='translate(-5246.762 7070.191) rotate(90)' fill='none' stroke='%23fff' stroke-width='2'/%3E%0A%3C/svg%3E%0A%0A");
  position: absolute;
  top: 2px;
  left: 0;
}

.link .btn01.btn01pink {
  border-color: #ee5858;
  background-color: #ee5858;
}
@media screen and (min-width: 769px) {
  .link .btn01.btn01pink {
    max-width: 410px;
  }
}
.link .btn01.btn01pink:hover span {
  color: #ee5858;
  background-color: #fff;
}
.link .btn01.btn01pink span {
  background-color: #F37171;
}
/*------------------------------
studentsBox
------------------------------*/
.studentsBox {
padding-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom:20px;
}
.studentsBox:first-of-type {
  padding-top: 20px;
}
.studentsBox:last-child{
  margin-bottom:0;
}
.studentsBox .photo {
  text-align: center;
  width: 180px;
}
.studentsBox .photo img {
  margin:0 auto 5px;
}
.studentsBox .photo span{
  font-size: 13px;
  /*color: #bdbdbd;*/
  color:#a3a3a3;
  line-height: 17px;
  display: block;
}
.studentsBox .text{
  width: calc( 100% - 210px );
}
.studentsBox .text p.ttl{
  font-size:24px;
  color: #014099;
  line-height: 40px;
  padding-left: 65px;
  position: relative;
  margin-bottom:30px;
}
.studentsBox .text p.ttl:before{
  content: "";
  display: block;
  height: 1px;
  width:50px;
  background:#014099;
  position:absolute;
  top: 20px;
  left: 0;
}

/*------------------------------
courseColBlock 20240806
------------------------------*/
.courseColBlock {
  max-width: 1000px;
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 40px auto 60px;
  @media screen and (max-width: 768px) {
    grid-template-columns: 100%;
    width: calc(100% - 40px);
    margin: 30px auto 40px;
  }
  li {
    border-right: 1px solid #DEDEDE;
    @media screen and (max-width: 768px) {
      border-right: none;
      border-bottom: 1px solid #DEDEDE;
      padding: 22px 0 16px 52px;
      position: relative;
    }
    &:first-child {
      border-left: 1px solid #DEDEDE;
      @media screen and (max-width: 768px) {
        border-left: none;
        border-top: 1px solid #DEDEDE;
      }
    }
  }
  .courseColBlock__icon {
    background-color: #014099;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto 12px;
    @media screen and (max-width: 768px) {
      width: 40px;
      height: 40px;
      position: absolute;
      top: 16px;
      left: 0;
    }
    img {
      height: 24px;
      max-width: 24px;
      object-fit: contain;
      @media screen and (max-width: 768px) {
        height: 18px;
        max-width: 18px;
      }
    }
  }
  .courseColBlock__ttl {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: calc(28/18);
    color: #014099;
    text-align: center;
    margin: 0 0 6px;
    @media screen and (max-width: 768px) {
      font-size: 16px;
      text-align: left;
    }
  }
  .courseColBlock__text {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .025em;
    line-height: calc(24/13);
    text-align: center;
    @media screen and (max-width: 768px) {
      text-align: left;
    }
  }
}

/*------------------------------
boxSortOption 20240806
------------------------------*/
.boxSortOption {
  .boxSortOption__tabs {
    display: flex;
    justify-content: center;
    gap: 20px;
    @media screen and (max-width: 768px) {
      gap: 5px;
    }
    li {
      width: 280px;
      height: 60px;
      @media screen and (max-width: 768px) {
        width: 20%;
        height: 40px;
        flex: 1 1 auto;
      }
      a, button {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: calc(28/18);
        color: #8E8E8E;
        gap: 12px;
        border-top: 1px solid #DEDEDE;
        border-left: 1px solid #DEDEDE;
        border-right: 1px solid #DEDEDE;
        text-align: center;
        cursor: pointer;
        position: relative;
        @media (any-hover: hover) {
          &:hover {
            background-color: #ebf0f7;
          }
        }
        @media screen and (max-width: 768px) {
          font-size: 14px;
          line-height: 1.2;
          gap: 6px;
          padding: 0 10px;
        }
        img {
          height: 24px;
          max-width: 24px;
          object-fit: contain;
          filter: invert(40%);
          opacity: 1;
          @media screen and (max-width: 768px) {
            height: 18px;
            max-width: 18px;
          }
        }
        &.isActive {
          pointer-events: none;
          color: #fff;
          border-color: #1B4098;
          background-color: #1B4098;
          &::after {
            content: '';
            display: block;
            width: 1.6rem;
            height: .8rem;
            clip-path: polygon(50% 100%, 0 0, 100% 0);
            background-color: #1B4098;
            position: absolute;
            left: 0;
            right: 0;
            top: 100%;
            margin: 0 auto;
            pointer-events: none;
          }
          @media screen and (max-width: 768px) {
            &::after {
              width: 1.2rem;
              height: .6rem;
            }
          }
          img {
            filter: none;
          }
        }
      }
    }
  }
  .boxSortOption__display {
    &.isHide {
      display: none;
    }
  }
  .boxSortOption__contents {
    border: 1px solid #1B4098;
    padding: 40px;
    @media screen and (max-width: 768px) {
      padding: 20px;
    }
    dl {
      display: grid;
      grid-template-columns: 126px auto;
      @media screen and (max-width: 768px) {
        grid-template-columns: 100%;
        gap: 8px;
      }
      + dl {
        margin-top: 17px;
      }
      dt {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: calc(28/16);
        color: #1B4098;
        @media screen and (max-width: 768px) {
          font-size: 15px;
        }
      }
      dd {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        label {
          cursor: pointer;
          display: block;
          input {
            display: none;
            &[type="radio"] {
              &:checked {
                + span {
                  &::before {
                    background: radial-gradient(circle, #1B4098 49%, transparent 53%)
                  }
                }
              }
              + span {
                display: flex;
                align-items: center;
                font-size: 16px;
                font-weight: 500;
                line-height: calc(28/16);
                gap: 4px;
                @media screen and (max-width: 768px) {
                  font-size: 14px;
                }
                &::before {
                  content: '';
                  display: block;
                  width: 17px;
                  height: 17px;
                  flex: 0 0 auto;
                  border: 1px solid #C1C1C1;
                  border-radius: 50%;
                  @media screen and (max-width: 768px) {
                    width: 15px;
                    height: 15px;
                  }
                }
              }
            }
            &[type="checkbox"] {
              &:checked {
                + span {
                  border-color: #1B4098;
                  background-color: #F7F9FF;
                }
              }
              + span {
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 14px;
                font-weight: 500;
                letter-spacing: .025em;
                line-height: calc(28/14);
                border: 1px solid #C1C1C1;
                border-radius: 3px;
                padding: 0 10px;
                @media screen and (max-width: 768px) {
                  font-size: 13px;
                  padding: 0 8px;
                }
              }
            }
          }
        }
      }
    }
  }
  .boxSortOption__foot {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
    @media screen and (max-width: 768px) {
      margin: 16px 0 0;
    }
  }
  .boxSortOption__textLink {
    a, button {
      font-size: 15px;
      font-weight: 500;
      letter-spacing: .025em;
      line-height: calc(28/15);
      text-decoration: underline;
      color: #014099;
      @media (any-hover: hover) {
        &:hover {
          text-decoration: none;
        }
      }
      @media screen and (max-width: 768px) {
        font-size: 14px;
      }
    }
  }
  .boxSortOption__btn {
    a, button {
      width: 200px;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      background: #014099 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.972%2012.98%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M9.635.195a.71.71%200%200%200-.978%200%20.637.637%200%200%200%200%20.921l4.959%204.718H.686A.665.665%200%200%200%200%206.487a.675.675%200%200%200%20.686.66h12.93l-4.959%204.706a.647.647%200%200%200%200%20.93.707.707%200%200%200%20.978%200l6.132-5.834a.616.616%200%200%200%200-.918Zm0%200%22%2F%3E%3C%2Fsvg%3E') right 17px center / 16px no-repeat;
      cursor: pointer;
      @media (any-hover: hover) {
        transition: .3s ease;
        &:hover {
          opacity: .6;
        }
      }
      @media screen and (max-width: 768px) {
        width: 130px;
        height: 36px;
        font-size: 14px;
        background-size: 15px;
        padding-right: 16px;
      }
    }
  }
}

/*------------------------------
badgeIcon 20240806
------------------------------*/
.badgeIcon {
  font-size: 12px;
  line-height: 1;
  color: #1B4098;
  border: 1px solid #1B4098;
  border-radius: 100px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  img {
    width: 15px;
    height: 13px;
    object-fit: contain;
  }
  &.iconSchool {
    img {
      width: 13px;
    }
  }
}
.courseList .badgeIcon {
  position: absolute;
  top: 14px;
  left: 20px;
  @media screen and (max-width: 768px) {
    top: 12px;
    left: 10px;
  }
}
.courseAboutBody {
  position: relative;
  .courseAboutBody__icons {
    display: flex;
    gap: 2px;
    position: absolute;
    top: 8px;
    right: 8px;
    @media screen and (max-width: 768px) {
      position: static;
      margin: 0 0 6px;
      justify-content: flex-end;
      flex-wrap: wrap;
      margin: -2.6em 0 6px auto;
      &:has(> :nth-child(3)) {
        width: calc(100% - 140px);
      }
    }
  }
}

.coursePhoto {
  width: 100%;
  height: 100px;
  object-fit: cover;
}

.footCV {
  margin: 60px 0;
  @media screen and (max-width: 768px) {
    margin: 40px 0;
  }
  a {
    display: block;
    width: fit-content;
    margin: 0 auto;
    @media (any-hover: hover) {
      transition: .4s ease;
      &:hover {
        opacity: .6;
      }
    }
    @media screen and (max-width: 768px) {
      width: calc(100% - 30px);
    }
    img {
      width: 600px;
      @media screen and (max-width: 768px) {
        width: 100%
      }
    }
  }
}