@charset "UTF-8";

/****************************
TOP
*****************************/
.mv {
  position: relative;
  margin: 0 0 1.8em;
}

@media screen and (min-width: 767px) {
  .mv {
    margin: 0 0 5em;
  }
}

@media screen and (min-width: 1120px) {
  .mv {
    height: 520px;
    background-color: #e7ecee;
    margin: 0 0 7.5em;
  }
}

@media screen and (min-width: 1120px) {
  .mv picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.mv img {
  width: 100%;
}

@media screen and (min-width: 767px) {
  .mv img {
    width: 180%;
    margin: 0 -40%;
  }
}

@media screen and (min-width: 1120px) {
  .mv img {
    height: 520px;
    width: auto;
  }
}

.slider {
  position: relative;
}

/*ドットナビゲーションの設定*/
.slick-dots {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 0.5em 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 0.6em;
}

@media screen and (min-width: 767px) {
  .slick-dots li {
    margin: 0 10px;
  }
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 1.0em;
  height: 1.0em;
  display: block;
  border-radius: 50%;
  background: #dae2e9;
  border: none;
  cursor: pointer;
  font-size: 30.64px;
  font-size: 4vw;
}

@media screen and (min-width: 767px) {
  .slick-dots button {
    font-size: 16px;
    width: 12px;
    height: 12px;
  }
}

.slick-dots .slick-active button {
  background: #056dc6;
}

.top .about {
  margin: 0 0 3.3em;
}

@media screen and (min-width: 767px) {
  .top .about {
    margin: 0 0 4.2em;
  }
}

@media screen and (min-width: 767px) {
  .top .about .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
  }
}

@media screen and (min-width: 767px) {
  .top .about__ttl {
    width: 48%;
  }
}

.top .about__ttl .ttl {
  line-height: 1.767;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin: 0 0 0.6em 0;
  font-size: 44.94px;
  font-size: 5.86684vw;
}

@media screen and (min-width: 767px) {
  .top .about__ttl .ttl {
    margin: 0 0 2.9em 0;
    font-size: 25px;
  }
}

@media screen and (min-width: 1120px) {
  .top .about__ttl .ttl {
    margin: 0 0 2.9em 0;
    font-size: 34px;
  }
}

@media screen and (min-width: 767px) {
  .top .about__txt {
    width: 50%;
  }
}

.top .about .top_link {
  margin: 1.1em 0 0;
}

@media screen and (min-width: 767px) {
  .top .about .top_link {
    margin: 0;
    position: absolute;
    top: 13.5em;
    left: 0;
  }
}

.top .strength {
  padding: 0 0 3.4em;
}

@media screen and (min-width: 767px) {
  .top .strength {
    padding: 0 0 10em;
  }
}

.top .strength .ttl {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 0.9em;
  font-size: 44px;
  font-size: 5.74413vw;
}

@media screen and (min-width: 767px) {
  .top .strength .ttl {
    font-size: 34px;
  }
}

.top .strength .ttl span {
  color: #056dc6;
  font-weight: 700;
}

.top .strength .content {
  margin: 0 -4.3%;
}

@media screen and (min-width: 767px) {
  .top .strength .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin: 0;
  }
}

.top .strength .content .img {
  width: 92%;
}

@media screen and (min-width: 767px) {
  .top .strength .content .img {
    width: 45%;
  }
}

@media screen and (min-width: 1120px) {
  .top .strength .content .img {
    width: 55%;
  }
}

.top .strength .content .check {
  background-color: #056dc6;
  z-index: -1;
  letter-spacing: 0.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 92%;
  margin: -3.3em 0 0 auto;
  padding: 4.5em 0 1.5em 3.0em;
}

@media screen and (min-width: 767px) {
  .top .strength .content .check {
    width: 65%;
    top: 3.7em;
    position: absolute;
    height: 100%;
    right: 0;
    margin: 0;
    padding: 0 0 0 9.5em;
  }
}

@media screen and (min-width: 1120px) {
  .top .strength .content .check {
    width: 55%;
    padding: 0 0 0 11em;
  }
}

.top .strength .content .check li {
  position: relative;
  color: #fff;
  line-height: 2.05;
  font-size: 30px;
  font-size: 3.91645vw;
}

@media screen and (min-width: 767px) {
  .top .strength .content .check li {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 1120px) {
  .top .strength .content .check li {
    font-size: 18px;
    line-height: 2.222;
  }
}

.top .strength .content .check li::after {
  content: '';
  display: block;
  position: absolute;
  top: 0.8em;
  left: -1.8em;
  width: 0.667em;
  height: 0.333em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-left: 0.2em solid #fff;
  border-bottom: 0.2em solid #fff;
}

@media screen and (min-width: 767px) {
  .top .strength .content .check li::after {
    border-left: 0.25em solid #fff;
    border-bottom: 0.25em solid #fff;
  }
}

.top .course {
  background-color: #eef6fd;
  padding: 2.5em 0 3.5em;
}

@media screen and (min-width: 767px) {
  .top .course {
    padding: 4.5em 0 5em;
  }
}

.top .course .ttl {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  margin: 0 0 0.5em;
  font-size: 44px;
  font-size: 5.74413vw;
}

@media screen and (min-width: 767px) {
  .top .course .ttl {
    font-size: 34px;
  }
}

@media screen and (min-width: 767px) {
  .top .course p {
    text-align: center;
  }
}

.top .course h3 {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  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;
  margin: 1.5em 0 1.0em;
  font-size: 42px;
  font-size: 5.48303vw;
}

@media screen and (min-width: 767px) {
  .top .course h3 {
    font-size: 26px;
    margin: 1.5em 0 1.2em;
  }
}

.top .course .particular h3 span {
  color: #056dc6;
  font-weight: 700;
}

.top .course .online h3 span {
  color: #34a6b7;
  font-weight: 700;
}

.top .course h3::before,
.top .course h3::after {
  content: "";
  height: 1px;
  background-color: #000000;
  width: 1.3em;
}

@media screen and (min-width: 767px) {

  .top .course h3::before,
  .top .course h3::after {
    width: 1.9em;
  }
}

.top .course h3::before {
  margin-right: 1rem;
}

.top .course h3::after {
  margin-left: 1rem;
}

@media screen and (min-width: 767px) {
  .top .particular {
    padding: 0 0 0.7em;
  }
}

.top .course-list {
  background-color: #fff;
  padding: 0 0 1em;
}

@media screen and (min-width: 767px) {
  .top .course-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
  }
}

.top .course-list:last-of-type {
  padding: 0;
}

.top .course-list .detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 2.8% 4% 8%;
}

@media screen and (min-width: 767px) {
  .top .course-list .detail {
    width: 50%;
    padding: 2.8% 3% 3.5%;
  }
}

@media screen and (min-width: 767px) {
  .top .particular .course-list:nth-of-type(even) .detail {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

@media screen and (min-width: 767px) {
  .top .online .course-list:nth-of-type(odd) .detail {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.top .course-list .detail .icon {
  line-height: 2;
}

.top .course-list .detail .icon span {
  color: #fff;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.2em;
  padding: 0.4em 1.2em 0.5em;
  line-height: 1;
  font-size: 26px;
  font-size: 3.39426vw;
}

@media screen and (min-width: 767px) {
  .top .course-list .detail .icon span {
    font-size: 15px;
  }
}

.top .particular .course-list .detail .icon span {
  background-color: #056dc6;
}

.top .online .course-list .detail .icon span {
  background-color: #34a6b7;
}

.top .course-list .detail .subject {
  letter-spacing: 0.2em;
  font-weight: 700;
  line-height: 1.352;
  margin: 0.35em 0 0 2%;
  font-size: 50px;
  font-size: 6.52742vw;
}

@media screen and (min-width: 767px) {
  .top .course-list .detail .subject {
    font-size: 34px;
  }
}

.top .course-list .detail ul {
  margin: 0.7em 0 0 2.5em;
  line-height: 2.0;
}

.top .course-list .detail ul li {
  position: relative;
  line-height: 1.6666;
  margin: 0 0 0.5em;
}

.top .course-list .detail ul li::after {
  content: '';
  display: block;
  position: absolute;
  top: 0.5em;
  left: -1.8em;
  width: 0.75em;
  height: 0.375em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.top .particular .course-list .detail ul li::after {
  border-left: 0.2em solid #056dc6;
  border-bottom: 0.2em solid #056dc6;
}

@media screen and (min-width: 767px) {
  .top .particular .course-list .detail ul li::after {
    border-left: 0.3em solid #056dc6;
    border-bottom: 0.3em solid #056dc6;
  }
}

.top .online .course-list .detail ul li::after {
  border-left: 0.2em solid #34a6b7;
  border-bottom: 0.2em solid #34a6b7;
}

@media screen and (min-width: 767px) {
  .top .online .course-list .detail ul li::after {
    border-left: 0.3em solid #34a6b7;
    border-bottom: 0.3em solid #34a6b7;
  }
}

@media screen and (min-width: 767px) {
  .top .course-list .img {
    width: 50%;
  }
}

@media screen and (min-width: 767px) {
  .top .course-list .img img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 767px) {
  .top .particular .course-list:nth-of-type(even) .img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media screen and (min-width: 767px) {
  .top .online .course-list:nth-of-type(odd) .img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

.top .course-list .top_link {
  text-align: right;
  margin-top: auto;
}

.top .online .course-list .top_link a {
  border-bottom: 0.15em solid #34a6b7;
}

.top .online .course-list .top_link a::before {
  background: #34a6b7;
}

.top .results {
  padding: 4.5em 0 0 0;
}

@media screen and (min-width: 767px) {
  .top .results {
    padding: 7.5em 0 0 0;
  }
}

.top .results-btn {
  border: 0.15em solid #dae2e9;
  border-radius: 0.6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 2.3em 1.6em 0;
}

@media screen and (min-width: 767px) {
  .top .results-btn {
    border-radius: 1.25em;
  }
}

.top .results-btn .ttl {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-weight: 700;
  letter-spacing: 0.2em;
  background-color: #fff;
  margin: -1.5em 0 0 0.7em;
  line-height: 2;
  font-size: 44px;
  font-size: 5.74413vw;
}

@media screen and (min-width: 767px) {
  .top .results-btn .ttl {
    font-size: 30px;
    margin: -1.5em 0 0 1.3em;
  }
}

.top .results-btn .ttl span {
  color: #056dc6;
  font-weight: 700;
}

.top .results-btn .txt {
  letter-spacing: 0.2em;
  font-weight: 700;
  margin: -5.8em 0 0 5em;
  font-size: 30px;
  font-size: 3.91645vw;
}

@media screen and (min-width: 767px) {
  .top .results-btn .txt {
    font-size: 20px;
    margin: 2.6em 0 0 1.7em;
  }
}

.top .results-btn .top_link {
  margin: -1.1em 0 0 5em;
}

@media screen and (min-width: 767px) {
  .top .results-btn .top_link {
    margin: auto 0 0 auto;
  }
}

.top .nav {
  margin: 2.6em 0 0.8em;
}

@media screen and (min-width: 767px) {
  .top .nav {
    margin: 5em 0 6.5em;
  }
}

.top .nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.top .nav ul li {
  width: 50%;
  text-align: center;
  padding: 0 0 1.3em;
  position: relative;
  margin: 0 0 2em;
}

@media screen and (min-width: 767px) {
  .top .nav ul li {
    width: 25%;
    margin: 0;
  }
}

.top .nav ul li::after {
  content: '';
  position: absolute;
  background-color: #dae2e9;
  width: 0.125em;
  height: 100%;
  right: 0;
  top: 0;
}

.top .nav ul li:last-of-type::after {
  content: none !important;
}

.top .nav ul li:nth-child(2n)::after {
  content: none;
}

@media screen and (min-width: 767px) {
  .top .nav ul li:nth-child(2n)::after {
    content: '';
  }
}

.top .nav ul li .icon {
  height: 2.8em;
}

@media screen and (min-width: 767px) {
  .top .nav ul li .icon {
    height: 3.75em;
  }
}

.top .nav ul li .icon img {
  height: 100%;
}

.top .nav ul li .ttl {
  font-weight: 700;
  letter-spacing: 0.15em;
  margin: 0;
  font-size: 32px;
  font-size: 4.17755vw;
}

@media screen and (min-width: 767px) {
  .top .nav ul li .ttl {
    font-size: 18px;
    margin: 0.4em 0 0;
  }
}

.top .nav ul li .ttl::after,
.top .nav ul li a::after {
  display: block;
  content: "";
  vertical-align: middle;
}

.top .nav ul li .ttl::after {
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background: #056dc6;
  bottom: -2em;
  margin: 0.45em auto 0;
}

@media screen and (min-width: 767px) {
  .top .nav ul li .ttl::after {
    width: 1.111em;
    height: 1.111em;
    bottom: -1.6em;
  }
}

.top .nav ul li a::after {
  width: 0.27em;
  height: 0.27em;
  border-top: 0.125em solid #fff;
  border-right: 0.125em solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: -0.9em auto;
}

@media screen and (min-width: 767px) {
  .top .nav ul li a::after {
    margin: -0.8em auto;
  }
}

.top_link a {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding: 0 7.33em 0.5em 0;
  border-bottom: 0.15em solid #056dc6;
  font-weight: 700;
}

@media screen and (min-width: 767px) {
  .top_link a {
    padding: 0 6.2em 0.5em 0;
  }
}

.top_link a::before,
.top_link a::after {
  position: absolute;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.top_link a::before {
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background: #056dc6;
  top: 0.61em;
}

.top_link a::after {
  top: 1.05em;
  right: 0.45em;
  width: 0.27em;
  height: 0.27em;
  border-top: 0.125em solid #fff;
  border-right: 0.125em solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/****************************
PAGE
*****************************/
.page .pagettl {
  background-color: #f2f4f7;
  margin: 0 0 1.5em 0;
  position: relative;
}

@media screen and (min-width: 767px) {
  .page .pagettl {
    margin: 0 0 3em 0;
  }
}

.page .pagettl .img {
  position: absolute;
  top: 0;
  left: 0;
}

.page .pagettl .img img {
  width: 60%;
  height: auto;
}

@media screen and (min-width: 767px) {
  .page .pagettl .img img {
    width: auto;
    height: 100%;
  }
}

.page .pagettl h1 {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.2em;
  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;
  height: 5em;
  font-size: 36.77px;
  font-size: 4.80026vw;
}

@media screen and (min-width: 767px) {
  .page .pagettl h1 {
    font-size: 36px;
    height: 200px;
  }
}

/****************************
ABOUT
*****************************/
.about .cont__01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.about .cont__01 .column {
  width: 100%;
}

.about .cont__01 .column h2 {
  letter-spacing: 0.2em;
  line-height: 1.7;
  font-weight: 700;
  font-size: 44px;
  font-size: 5.73vw;
  margin-bottom: 1em;
}

.about .cont__02 {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.about .cont__02 .column {
  width: 100%;
}

.about .cont__02 .column img {
  margin-bottom: 1em;
}

.about .cont__03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.about .cont__03 .column {
  width: 100%;
}

.about .cont__03 .column img {
  margin-bottom: 1em;
}

.about .bgblue {
  background-color: #eef6fd;
  margin-bottom: 2em;
  padding: 2em 0;
}

.about .cont__04 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about .cont__04 .column__l,
.about .cont__04 .column__r {
  width: 100%;
}

.about .cont__04 .ttl__01 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.about .cont__04 .ttl__02 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 42px;
  font-size: 5.47vw;
}

.about .cont__04 .ttl__03 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 24px;
  font-size: 3.12vw;
  padding-left: 1em;
}

.about .cont__04 .column__l img {
  margin: 1em 0;
  width: 70%;
}

.about .cont__05 {
  margin-bottom: 2em;
}

.about .cont__05 h2 {
  letter-spacing: 0.2em;
  line-height: 1.5;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 1em;
}

.about .cont__05 h2 .blue {
  color: #056dc6;
  letter-spacing: 0.2em;
  font-weight: 700;
}

.about .cont__05 .blue {
  color: #056dc6;
}

.about .cont__05 img {
  margin-top: 1em;
}

.about .cont__06 {
  border: 0.15em solid #dae2e9;
  border-radius: 0.6em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  padding: 2em;
  margin-bottom: 2em;
}

.about .cont__06 .column {
  width: 100%;
}

.about .cont__06 h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 36px;
  font-size: 4.69vw;
}

.about .cont__06 .txt {
  font-size: 28px;
  font-size: 3.65vw;
}

.about .cont__06 .top_link {
  margin-top: 0.5em;
}

@media screen and (min-width: 767px) {
  .about .cont__01 {
    margin-bottom: 5em;
  }

  .about .cont__01 .column h2 {
    font-size: 34px;
  }

  .about .cont__01 .column {
    width: calc(50% - 60px / 2);
  }

  .about .cont__02 {
    margin-bottom: 5em;
  }

  .about .cont__02 .column {
    width: calc(50% - 60px / 2);
  }

  .about .cont__03 {
    margin-bottom: 5em;
  }

  .about .cont__03 .column {
    width: calc(50% - 60px / 2);
  }

  .about .bgblue {
    padding: 5em 0;
    margin-bottom: 5em;
  }

  .about .cont__04 .column__l {
    width: calc(30% - 100px / 2);
    line-height: 1.7;
  }

  .about .cont__04 .column__r {
    width: calc(70% - 100px / 2);
  }

  .about .cont__04 .ttl__01 {
    font-size: 24px;
  }

  .about .cont__04 .ttl__02 {
    font-size: 28px;
  }

  .about .cont__04 .ttl__03 {
    font-size: 14px;
  }

  .about .cont__04 .column__l img {
    width: 100%;
  }

  .about .cont__05 {
    margin-bottom: 5em;
  }

  .about .cont__05 h2 {
    text-align: center;
    font-size: 28px;
    line-height: 1.7;
    margin-bottom: 1.5em;
  }

  .about .cont__05 img {
    margin-top: 4em;
  }

  .about .cont__06 {
    padding: 2em;
    border-radius: 1.25em;
    margin-bottom: 5em;
  }

  .about .cont__06 .column {
    width: calc(50% - 60px / 2);
  }

  .about .cont__06 h2 {
    font-size: 22px;
  }

  .about .cont__06 .txt {
    font-size: 16px;
  }

  .about .cont__06 .top_link {
    display: flex;
    justify-content: flex-end;
  }
}

/****************************
COURSE
*****************************/
.course .course__link .copy {
  text-align: center;
  font-weight: 700;
  margin: 0 0 1.5em 0;
  font-size: 30.64px;
  font-size: 4vw;
}

@media screen and (min-width: 767px) {
  .course .course__link .copy {
    font-size: 20px;
  }
}

@media screen and (min-width: 767px) {
  .course .course__link .course-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.course .course__link .course-list .list {
  border-radius: 1.25em;
  padding: 0.5em 0 1.0em;
}

@media screen and (min-width: 767px) {
  .course .course__link .course-list .list {
    width: 49%;
    padding: 1.5em 0 2em;
  }
}

@media screen and (min-width: 1120px) {
  .course .course__link .course-list .list {
    width: 47%;
    padding: 1.5em 0 2em;
  }
}

.course .course__link .course-list .list.particular {
  background-color: #eef6fd;
  margin: 0 0 1em;
}

@media screen and (min-width: 767px) {
  .course .course__link .course-list .list.particular {
    margin: 0;
  }
}

.course .course__link .course-list p {
  text-align: center;
  font-weight: 700;
  padding: 0;
  margin: 0 0 0.8em;
  font-size: 26px;
  font-size: 3.38vw;
}

@media screen and (min-width: 767px) {
  .course .course__link .course-list p {
    font-size: 16px;
  }
}

.course .course__link .course-list .list.online {
  background-color: #e6f7fa;
}

.course .course-list .list .ttl {
  font-weight: 700;
  text-align: center;
  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;
  letter-spacing: 0.2em;
  font-size: 30.64px;
  font-size: 4vw;
  line-height: 1.5em;
  margin: 0.6em 0 0;
}

@media screen and (min-width: 767px) {
  .course .course-list .list .ttl {
    margin: 0.3em 0 0;
    font-size: 18px;
  }
}

@media screen and (min-width: 1120px) {
  .course .course-list .list .ttl {
    margin: 0.3em 0 0;
    font-size: 24px;
  }
}

.course .course-list .list .ttl::before,
.course .course-list .list .ttl::after {
  content: "";
  height: 1px;
  background-color: #000000;
  width: 1.9em;
}

.course .course-list .list .ttl::before {
  margin-right: 1rem;
}

.course .course-list .list .ttl::after {
  margin-left: 1rem;
}

.course .course-list .list .ttl span {
  font-weight: 700;
}

.course .course-list .list.particular .ttl span {
  color: #056dc6;
}

.course .course-list .list.online .ttl span {
  color: #34a6b7;
}

.course .course-list .list .check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 0.3em;
  font-size: 28.6px;
  font-size: 3.73368vw;
}

@media screen and (min-width: 767px) {
  .course .course-list .list .check {
    font-size: 16px;
  }
}

@media screen and (min-width: 1120px) {
  .course .course-list .list .check {
    padding: 0 1em;
  }
}

.course .course-list .list .check li {
  margin: 0 0.8em;
}

@media screen and (min-width: 1120px) {
  .course .course-list .list .check li {
    padding: 0 0.5em;
  }
}

.course .course-list .list .check li a {
  position: relative;
  display: inline-block;
  padding: 0 0 0 1.8em;
  vertical-align: middle;
}

.course .course-list .list .check li a::before,
.course .course-list .list .check li a::after {
  position: absolute;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.course .course-list .list .check li a::before {
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  top: 0.5em;
}

@media screen and (min-width: 767px) {
  .course .course-list .list .check li a::before {
    top: 0.61em;
  }
}

.course .course__link .course-list .list.particular .check li a::before {
  background: #056dc6;
}

.course .course__link .course-list .list.online .check li a::before {
  background: #34a6b7;
}

.course .course-list .list .check li a::after {
  top: 0.85em;
  left: 0.45em;
  width: 0.27em;
  height: 0.27em;
  border-top: 0.125em solid #fff;
  border-right: 0.125em solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

@media screen and (min-width: 767px) {
  .course .course-list .list .check li a::after {
    top: 1em;
  }
}

.course .course__link p {
  margin: 1.2em 0 2.5em;
}

@media screen and (min-width: 767px) {
  .course .course__link p {
    margin: 3em 0 4em;
  }
}

.course .course__type.online {
  padding: 0 0 1em;
}

.course .course__type .type {
  padding: 1em 0 1.5em;
}

@media screen and (min-width: 767px) {
  .course .course__type .type {
    padding: 5em 0 4.5em;
  }
}

.course .course__type.particular .type {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(200px, #eef6fd), color-stop(200px, #fff));
  background: linear-gradient(#eef6fd 200px, #fff 200px);
}

@media screen and (min-width: 767px) {
  .course .course__type.particular .type {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(300px, #eef6fd), color-stop(300px, #fff));
    background: linear-gradient(#eef6fd 300px, #fff 300px);
  }
}

.course .course__type.online .type {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(230px, #e6f7fa), color-stop(230px, #fff));
  background: linear-gradient(#e6f7fa 230px, #fff 230px);
}

@media screen and (min-width: 767px) {
  .course .course__type.online .type {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(310px, #e6f7fa), color-stop(310px, #fff));
    background: linear-gradient(#e6f7fa 310px, #fff 310px);
  }
}

.course .course__type .type-in {
  position: relative;
}

@media screen and (min-width: 767px) {
  .course .course__type .type-in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.course .course__type .detail {
  position: relative;
}

@media screen and (min-width: 767px) {
  .course .course__type .detail {
    width: 50%;
  }
}

.course .course__type .icon {
  line-height: 2;
}

.course .course__type .icon span {
  color: #fff;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.2em;
  padding: 0.4em 1.2em 0.5em;
  line-height: 1;
  font-size: 26.55px;
  font-size: 3.46606vw;
}

@media screen and (min-width: 767px) {
  .course .course__type .icon span {
    font-size: 18px;
  }
}

.course .course__type.particular .icon span {
  background-color: #056dc6;
}

.course .course__type.online .icon span {
  background-color: #34a6b7;
}

.course .course__type .subject {
  letter-spacing: 0.2em;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.4em 0 0.5em 0;
}

@media screen and (min-width: 767px) {
  .course .course__type .subject {
    height: 128px;
    padding: 0.2em 0 0 0;
  }
}

.course .course__type.particular .subject {
  font-size: 51.07px;
  font-size: 6.6671vw;
}

@media screen and (min-width: 767px) {
  .course .course__type.particular .subject {
    font-size: 35px;
    padding: 0.2em 0 0 0;
  }
}

@media screen and (min-width: 1120px) {
  .course .course__type.particular .subject {
    font-size: 50px;
  }
}

.course .course__type.online .subject {
  font-size: 51.07px;
  font-size: 6.6671vw;
}

@media screen and (min-width: 767px) {
  .course .course__type.online .subject {
    font-size: 35px;
  }
}

@media screen and (min-width: 1120px) {
  .course .course__type.online .subject {
    font-size: 40px;
  }
}

.course .course__type ul {
  padding: 1.0em 1.0em 1.0em 3.3em;
  width: 100%;
  margin: -14% 0 0 auto;
  position: relative;
  left: 4.3%;
}

@media screen and (min-width: 767px) {
  .course .course__type ul {
    width: 70%;
    margin: -10% 0 0 0;
    left: 0;
  }
}

@media screen and (min-width: 1120px) {
  .course .course__type ul {
    padding: 1.4em 1.5em 1.4em 3.8em;
    position: absolute;
    bottom: 3.75em;
    width: 60%;
    margin: 0;
  }
}

.course .course__type.particular ul {
  background-color: rgba(5, 108, 198, 0.9);
}

.course .course__type.online ul {
  background-color: rgba(52, 166, 183, 0.9);
}

.course .course__type ul li {
  position: relative;
  color: #fff;
  line-height: 1.875;
  font-size: 30.64px;
  font-size: 4vw;
}

@media screen and (min-width: 767px) {
  .course .course__type ul li {
    font-size: 19.2px;
  }
}

.course .course__type ul li::after {
  content: '';
  display: block;
  position: absolute;
  top: 0.5em;
  left: -1.8em;
  width: 0.75em;
  height: 0.375em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.course .course__type ul li::after {
  border-left: 0.3em solid #fff;
  border-bottom: 0.3em solid #fff;
}

.course .course__type .img {
  width: 100%;
}

@media screen and (min-width: 767px) {
  .course .course__type .img {
    width: 50%;
  }
}

.course .course__type p {
  margin: 1em 0 0;
}

@media screen and (min-width: 767px) {
  .course .course__type p {
    margin: 2.8em 0 0;
  }
}

.course .accordion {
  max-width: 1000px;
  margin-bottom: 7px;
  border-bottom: 0.15em solid #dae2e9;
}

@media screen and (min-width: 767px) {
  .course .accordion {
    border-bottom: 0.1em solid #dae2e9;
  }
}

.course .accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 0.5em 1em 0;
  color: #056dc6;
  font-weight: 700;
  cursor: pointer;
}

@media screen and (min-width: 767px) {
  .course .accordion summary {
    padding: 1em 1em 1em 0;
  }
}

.course .accordion summary::-webkit-details-marker {
  display: none;
}

.course .accordion summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 12px;
  height: 12px;
  margin-left: 10px;
  border-bottom: 2px solid #056dc6;
  border-right: 2px solid #056dc6;
  content: '';
  transition: transform .3s;
}

.course .accordion[open] summary::after {
  transform: rotate(225deg);
}

.course .accordion p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 0 1.5em 0;
  transition: transform .5s, opacity .5s;
}

.course .accordion[open] p {
  transform: none;
  opacity: 1;
}

/****************************
result
*****************************/
/*一覧ページ*/
.result .cont .clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.result .cont .clearfix {
  display: inline-block;
}

/* for macIE \*/
* html .clearfix {
  height: 1%;
}

.result .cont .clearfix {
  display: block;
}

.result .cont {
  margin-bottom: 2em;
}

.result .cont ul#newsList {
  margin: 0;
  padding: 0;
}

.result .cont ul#newsList li {
  padding: 1em 0;
  border-bottom: 0.15em solid #dae2e9;
  list-style-type: none;
}

.result .cont a {
  color: #056dc6;
  font-weight: 700;
  text-decoration: none;
  font-size: 36px;
  font-size: 4.69vw;
  line-height: 0.8em;
}

.result .cont a:hover {
  text-decoration: underline;
}

.result .cont .newMark {
  display: inline-block;
  border: 0;
  padding: 0.5em 1em;
  margin-left: 0.5em;
  font-size: 22px;
  font-size: 2.86vw;
  line-height: 100%;
  background: #f09411;
  color: #fff;
  border-radius: 0.6em;
}

.result .cont .comment {
  display: block;
  padding: 3px 0;
  float: left;
  overflow: hidden;
  width: 100%;
  font-size: 24px;
  font-size: 3.12vw;
}

.result .cont .pager {
  margin-top: 3em;
  text-align: center;
  clear: both;
}

.result .cont .pager a {
  color: #056dc6;
  text-decoration: none;
  margin: 0 0.8em;
  font-size: 28px;
  font-size: 3.65vw;
}

.result .cont .pager a:hover {
  text-decoration: underline;
}

.result .cont .pager a.current {
  background: #b9b9b9;
  border-radius: 0.6em;
  color: #fff;
  padding: 0.2em 0.6em;
  text-decoration: none;
}

.result .cont .overPagerPattern {
  padding: 0 2px;
}

/*記事ページ*/
.result_detail .cont {
  margin-bottom: 2em;
}

.result_detail .cont b {
  font-weight: 900;
}

.result_detail .cont h2 {
  color: #056dc6;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-weight: 700;
  font-size: 38px;
  font-size: 4.95vw;
}

.result_detail .cont #up_ymd {
  margin: 0.2em 0 1em;
}

.result_detail .cont a {
  color: #2589d0;
  text-decoration: underline;
}

.result_detail .cont a:hover {
  color: #2589d0;
  text-decoration: none;
}

.result_detail .cont .backORcloseBtn {
  text-align: center;
  margin-top: 2em;
}

.result_detail .cont .backORcloseBtn a {
  display: inline-block;
  padding: 0.5em 1.5em;
  background: #a1a6ac;
  color: #fff;
  border-radius: 0.6em;
  text-decoration: none;
  letter-spacing: 0.15em;
  font-size: 30px;
  font-size: 3.91vw;
}

.result_detail .cont .detailUpfile {
  text-align: center;
}

.result_detail .cont .detailUpfile img {
  max-width: 100%;
  height: auto;
  margin: 2em 0 0;
}

.result_detail .cont hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.result_detail .cont hr {
  border-top: 0.15em solid #dae2e9;
}

@media screen and (min-width: 767px) {

  /*一覧ページ*/
  .result .cont {
    margin-bottom: 5em;
  }

  .result .cont ul#newsList li {
    padding: 2em 0;
    border-bottom: 0.1em solid #dae2e9;
  }

  .result .cont a {
    font-size: 22px;
  }

  .result .cont .newMark {
    font-size: 12px;
  }

  .result .cont .comment {
    font-size: 16px;
  }

  .result .cont .pager {
    margin-top: 6em;
  }

  .result .cont .pager a {
    margin: 0 1em;
    font-size: 18px;
  }

  /*記事ページ*/
  .result_detail .cont {
    margin-bottom: 5em;
  }

  .result_detail .cont h2 {
    font-size: 34px;
  }

  .result_detail .cont #up_ymd {
    margin: 0.5em 0 2em;
  }

  .result_detail .cont .backORcloseBtn {
    margin-top: 5em;
  }

  .result_detail .cont .backORcloseBtn a {
    border-radius: 0.4em;
    font-size: 16px;
    padding: 0.5em 2.5em;
    letter-spacing: 0.2em;
  }

  .result_detail .cont .detailUpfile img {
    max-width: 70%;
    margin: 3em 0 0;
  }

  .result_detail .cont hr {
    border-top: 0.1em solid #dae2e9;
  }
}

/****************************
method
*****************************/
.method .cont {
  border: 0.15em solid #dae2e9;
  border-radius: 0.6em;
  display: flex;
  flex-flow: column;
}

.method .cont:last-child {
  margin-bottom: 2em;
}

.method .cont .column__up,
.method .cont .column__down {
  height: 100%;
}

.method .cont .column__up {
  background-color: #ffffff;
  border-radius: 0.6em 0.6em 0 0;
  text-align: center;
  padding: 1em;
  font-size: 0.8em;
}

.method .cont .column__down {
  background-color: #eef6fd;
  border-radius: 0 0 0.5em 0.5em;
  padding: 1em 1.5em;
  line-height: 2;
}

.method .cont .ttl {
  letter-spacing: 0.2em;
  font-weight: 700;
  line-height: 1.8;
}

.method .circle {
  position: relative;
  display: inline-block;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  background: #056dc6;
  color: #fff;
}

.method .circle span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 4.8em;
  text-align: center;
  line-height: 1.2;
  font-size: 26px;
  font-size: 3.38vw;
}

.method .circle .number {
  font-size: 38px;
  font-size: 4.95vw;
}

.method .arrowbox {
  display: flex;
  justify-content: center;
}

.method .arrowbox .arrow {
  display: inline-block;
  vertical-align: middle;
  color: #34a6b7;
  line-height: 1;
  width: 1.8em;
  height: 1.8em;
  border: 0.3em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin: 0.5em 0;
}

.method .cont .tel {
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  font-size: 24px;
  font-size: 3.12vw;
  margin: 1em 0 0;
}

.method .cont .tel span {
  font-weight: 700;
  display: block;
  position: relative;
  letter-spacing: 0.06em;
  margin: 0 0 0.2em 0.7em;
  font-size: 44px;
  font-size: 5.73vw;
}

.method .cont .tel span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0.25em;
  left: -0.85em;
  background-image: url(../images/icon_tel.svg);
  width: 0.607em;
  height: 0.714em;
  background-size: 100% auto;
}

.method .cont .blue {
  color: #056dc6;
}

@media screen and (min-width: 767px) {
  .method .cont {
    border-radius: 1.2em;
  }

  .method .cont:last-child {
    margin-bottom: 5em;
  }

  .method .cont .column__up {
    border-radius: 1.3em 1.3em 0 0;
    padding: 1.5em;
    font-size: 1em;
  }

  .method .cont .column__down {
    border-radius: 0 0 1.15em 1.15em;
    padding: 1.5em 2em;
  }

  .method .circle span {
    line-height: 1.2;
    font-size: 18px;
    width: 4.5em;
  }

  .method .circle .number {
    font-size: 30px;
  }

  .method .arrowbox .arrow {
    margin: 1em 0;
  }

  .method .cont .tel {
    font-size: 14px;
    font-weight: normal;
  }

  .method .cont .tel span {
    font-size: 28px;
  }
}

/****************************
fee
*****************************/
.fee .guide {
  text-align: center;
  font-size: 24x;
  font-size: 3.12vw;
  margin-bottom: 0.5em;
}

.fee .cont__01 {
  margin-bottom: 2em;
}

.fee .cont__01 h3 {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  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;
  margin: 1.5em 0 1.0em;
  font-size: 38px;
  font-size: 4.95vw;
}

.fee .cont__01 h3 span {
  color: #056dc6;
  font-weight: 700;
}

.fee .cont__01 h3::before,
.fee .cont__01 h3::after {
  content: "";
  height: 1px;
  background-color: #000000;
  width: 1em;
}

.fee .cont__01 h3::before {
  margin-right: 1rem;
}

.fee .cont__01 h3::after {
  margin-left: 1rem;
}

.fee .cont__01 .icon {
  line-height: 2;
  font-weight: 700;
  margin-bottom: 1em;
}

.fee .cont__01 .icon span {
  color: #fff;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.2em;
  padding: 0.4em 1.2em 0.5em;
  line-height: 1;
  font-size: 26px;
  font-size: 3.38vw;
  margin-right: 1em;
}

.fee .cont__01 .icon span {
  background-color: #056dc6;
}

.fee .cont__01 .table-scroll {
  overflow-x: auto;
  margin-bottom: 2em;
}

.fee .cont__01 .table-scroll table {
  width: 100%;
  min-width: 767px;
  text-align: center;
  table-layout: fixed;
  margin-bottom: 1em;
  border-collapse: collapse;
}

.fee .cont__01 .table-scroll th,
.fee .cont__01 .table-scroll td {
  padding: 0.6em;
}

.fee .cont__01 .table-scroll th.sticky {
  position: sticky;
  top: 0;
  left: 0;
  border-left: none;
  border-right: none;
  background: none;
  width: 17%;
}

.fee .cont__01 .table-scroll table th.blue {
  background-color: #056dc6;
  color: #ffffff;
}

.fee .cont__01 .table-scroll table th.lightblue {
  background: #eef6fd;
  text-align: left;
}

.fee .cont__01 .table-scroll table th.white {
  background: #ffffff;
  text-align: left;
}

.fee .cont__01 .table-scroll tr:nth-child(2n+1) {
  background: #eef6fd;
}

.fee .cont__01 .table-scroll tr:first-child {
  background-color: #056dc6;
  color: #ffffff;
}

.fee .cont__02 {
  margin-bottom: 1em;
}

.fee .cont__02 h3 {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  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;
  margin: 1.5em 0 1.0em;
  font-size: 38px;
  font-size: 4.95vw;
}

.fee .cont__02 h3 span {
  color: #34a6b7;
  font-weight: 700;
}

.fee .cont__02 h3::before,
.fee .cont__02 h3::after {
  content: "";
  height: 1px;
  background-color: #000000;
  width: 1em;
}

.fee .cont__02 h3::before {
  margin-right: 1rem;
}

.fee .cont__02 h3::after {
  margin-left: 1rem;
}

.fee .cont__02 .icon {
  line-height: 2;
  font-weight: 700;
  margin-bottom: 1em;
}

.fee .cont__02 .icon span {
  color: #fff;
  display: inline-block;
  border-radius: 50px;
  letter-spacing: 0.2em;
  padding: 0.4em 1.2em 0.5em;
  line-height: 1;
  font-size: 26px;
  font-size: 3.38vw;
  margin-right: 1em;
}

.fee .cont__02 .icon span {
  background-color: #34a6b7;
}

.fee .cont__02 .table-scroll {
  overflow-x: auto;
  margin-bottom: 2em;
}

.fee .cont__02 .table-scroll table {
  width: 100%;
  min-width: 767px;
  text-align: center;
  table-layout: fixed;
  margin-bottom: 1em;
  border-collapse: collapse;
}

.fee .cont__02 .table-scroll th,
.fee .cont__02 .table-scroll td {
  padding: 0.6em;
}

.fee .cont__02 .table-scroll th.sticky {
  position: sticky;
  top: 0;
  left: 0;
  border-left: none;
  border-right: none;
  background: none;
  width: 17%;
}

.fee .cont__02 .table-scroll table th.blue {
  background-color: #34a6b7;
  color: #ffffff;
}

.fee .cont__02 .table-scroll table th.lightblue {
  background: #e6f7fa;
  text-align: left;
}

.fee .cont__02 .table-scroll table th.white {
  background: #ffffff;
  text-align: left;
}

.fee .cont__02 .table-scroll tr:nth-child(2n+1) {
  background: #e6f7fa;
}

.fee .cont__02 .table-scroll tr:first-child {
  background-color: #34a6b7;
  color: #ffffff;
}

.fee .cont__03 {
  margin-bottom: 1em;
}

.fee .cont__03 h3 {
  letter-spacing: 0.2em;
  font-weight: 700;
  text-align: center;
  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;
  margin: 1.5em 0 1.0em;
  font-size: 38px;
  font-size: 4.95vw;
}

.fee .cont__03 h3::before,
.fee .cont__03 h3::after {
  content: "";
  height: 1px;
  background-color: #000000;
  width: 1em;
}

.fee .cont__03 h3::before {
  margin-right: 1rem;
}

.fee .cont__03 h3::after {
  margin-left: 1rem;
}

.fee .cont__03 .table-scroll {
  overflow-x: auto;
  margin-bottom: 2em;
}

.fee .cont__03 .table-scroll table {
  width: 100%;
  min-width: 767px;
  text-align: center;
  table-layout: fixed;
  margin-bottom: 1em;
  border-collapse: collapse;
}

.fee .cont__03 .table-scroll th,
.fee .cont__03 .table-scroll td {
  padding: 0.6em;
}

.fee .cont__03 .table-scroll th {
  background-color: #f2f4f7;
}

.fee .cont__03 .table-scroll tr:last-child {
  border-bottom: 0.15em solid #dae2e9;
}

.fee .cont__04 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1em;
}

.fee .cont__04 .column {
  width: 100%;
  border: 0.15em solid #dae2e9;
  border-radius: 0.6em;
  padding: 1em;
  margin-bottom: 1em;
  line-height: 1.7;
}


.fee .cont__04 .column h4 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
  text-align: center;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 767px) {
  .fee .cont__01 {
    margin-bottom: 5em;
  }

  .fee .cont__01 h3 {
    font-size: 26px;
    margin: 1.5em 0 1.2em;
  }

  .fee .cont__01 h3::before,
  .fee .cont__01 h3::after {
    width: 1.9em;
  }

  .fee .cont__01 .icon {
    font-size: 20px;
  }

  .fee .cont__01 .icon span {
    font-size: 18px;
  }

  .fee .cont__02 {
    margin-bottom: 5em;
  }

  .fee .cont__02 h3 {
    font-size: 26px;
    margin: 1.5em 0 1.2em;
  }

  .fee .cont__02 h3::before,
  .fee .cont__02 h3::after {
    width: 1.9em;
  }

  .fee .cont__02 .icon {
    font-size: 20px;
  }

  .fee .cont__02 .icon span {
    font-size: 18px;
  }

  .fee .cont__03 h3 {
    font-size: 26px;
    margin: 1.5em 0 1.2em;
  }

  .fee .cont__03 h3::before,
  .fee .cont__03 h3::after {
    width: 1.9em;
  }

  .fee .cont__03 .table-scroll tr:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .guide {
    display: none
  }

  .fee .cont__04 {
    margin-bottom: 4em;
  }

  .fee .cont__04 .column {
    width: calc(50% - 60px / 2);
    margin-bottom: 2em;
    border: 0.1em solid #dae2e9;
    border-radius: 1.2em;
    padding: 1.5em;
  }

  .fee .cont__04 .column h4 {
    font-size: 22px;
    margin-bottom: 0.5em;
  }
}

/****************************
message
*****************************/
.message .cont__01 {
  margin-bottom: 2em;
}

.message .cont__01 h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 44px;
  font-size: 5.73vw;
  margin-bottom: 1em;
  text-align: center;
}

.message .cont__02 {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.message .cont__02 .column {
  width: 100%;
}

.message .cont__02 .column img {
  margin-bottom: 1em;
}

.message .cont__03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.message .cont__03 .column {
  width: 100%;
}

.message .cont__03 .column img {
  margin-bottom: 1em;
}

.message .cont__04 {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.message .cont__04 .column {
  width: 100%;
}

.message .cont__04 .column img {
  margin-bottom: 1em;
}

.message .cont__05 {
  margin-bottom: 1em;
}

.message .cont__06 {
  text-align: right;
  margin-bottom: 4em;
}

.message .cont__06 .ttl__01 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.message .cont__06 .ttl__02 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 38px;
  font-size: 4.95vw;
  padding-left: 1em;
}

.message .cont__06 .ttl__03 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 24px;
  font-size: 3.12vw;
  padding-left: 1em;
}

.message .cont__07 {
  margin-bottom: 2em;
}

.message .cont__07 h2 {
  letter-spacing: 0.2em;
  line-height: 1.5;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 1em;
}

.message .cont__07 h2 .blue {
  color: #056dc6;
  letter-spacing: 0.2em;
  font-weight: 700;
}

.message .cont__07 .blue {
  color: #056dc6;
}

.message .cont__07 img {
  margin-top: 1em;
}

.message .cont__05 a {
  color: #056dc6;
  text-decoration: underline;
}

.message cont__05 a:hover {
  text-decoration: none;
}

@media screen and (min-width: 767px) {
  .message .cont__01 {
    margin-bottom: 5em;
  }

  .message .cont__01 h2 {
    font-size: 34px;
  }

  .message .cont__02 {
    margin-bottom: 5em;
  }

  .message .cont__02 .column {
    width: calc(50% - 60px / 2);
  }

  .message .cont__03 {
    margin-bottom: 5em;
  }

  .message .cont__03 .column {
    width: calc(50% - 60px / 2);
  }

  .message .cont__04 {
    margin-bottom: 5em;
  }

  .message .cont__04 .column {
    width: calc(50% - 60px / 2);
  }

  .message .cont__05 {
    margin-bottom: 2em;
  }

  .message .cont__06 {
    margin-bottom: 8em;
  }

  .message .cont__06 .ttl__01 {
    font-size: 20px;
  }

  .message .cont__06 .ttl__02 {
    font-size: 24px;
  }

  .message .cont__06 .ttl__03 {
    font-size: 14px;
  }

  .message .cont__07 {
    margin-bottom: 5em;
  }

  .message .cont__07 h2 {
    line-height: 1.7;
    font-size: 28px;
    text-align: center;
    margin-bottom: 1.5em;
  }

  .message .cont__07 img {
    margin-top: 4em;
  }
}

/****************************
faq
*****************************/
.faq .cont {
  margin-bottom: 1em;
  border: 0.15em solid #dae2e9;
  border-radius: 0.6em;
}

.faq .cont:last-child {
  margin-bottom: 2em;
}

.faq .cont .blue {
  color: #056dc6;
}

.faq .cont a {
  color: #056dc6;
  text-decoration: underline;
}

.faq .cont a:hover {
  text-decoration: none;
}

.faq details {
  --arrow-size: 18px;
}

.faq details summary {
  box-sizing: border-box;
  position: relative;
  display: block;
  font-weight: 700;
  line-height: 1.8;
  padding: 1.5em calc(var(--arrow-size) + 3em) 1.5em 3.5em;
  cursor: pointer;
}

.faq details summary::-webkit-details-marker {
  display: none;
}

.faq details summary::before {
  content: "Q.";
  position: absolute;
  top: 1.5em;
  left: 0.5em;
  color: #0040b3;
  font-size: 1.5em;
  line-height: 0;
}

.faq details summary::after {
  content: "";
  position: absolute;
  top: 0;
  right: 1.5em;
  bottom: 0;
  display: block;
  width: var(--arrow-size);
  height: calc(var(--arrow-size) * 0.6);
  margin: auto;
  background: #0040b3;
  clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0);
}

.faq details[open] summary::after {
  transform: rotate(180deg);
}

.faq details .inner {
  position: relative;
  padding: 0em 1.5em 1.5em 2.5em;
  line-height: 1.8;
}

.faq details .inner::before {
  content: "A.";
  position: absolute;
  top: 0.5em;
  left: 0em;
  font-weight: 700;
  color: #0040b3;
  font-size: 1.5em;
  line-height: 0;
}

@media screen and (min-width: 767px) {
  .faq .cont {
    border: 0.1em solid #dae2e9;
    border-radius: 1.2em;
  }

  .faq .cont:last-child {
    margin-bottom: 5em;
  }

  .faq details {
    --arrow-size: 22px;
  }

  .faq details summary {
    font-size: 18px;
    padding: 1.5em calc(var(--arrow-size) + 3em) 1.5em 4.5em;
  }

  .faq details summary::before {
    left: 1em;
  }

  .faq details .inner::before {
    left: -0.4em;
  }
}

/****************************
contact
*****************************/
.contact .cont {
  color: #ff0000;
  padding: 5em;
  text-align: center;
}

.contact .thanks {
  padding: 1em 0 3em;
  text-align: center;
}

.contact .thanks h2 {
  line-height: 1.7em;
}

.contact .error {
  padding: 2em 0;
  color: #ff0000;
}

.contact .cont__form {
  margin-bottom: 2em;
}

.contact h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 0.5em;
}

.contact dl {
  margin-top: 2em;
  margin-bottom: 2em;
}

.contact dt {
  border-top: 0.15em solid #dae2e9;
  font-weight: 700;
  padding: 1em 0 0.5em;
}

.contact dt span {
  font-size: 26px;
  font-size: 3.38vw;
  color: #f09411;
}

.contact dd {
  padding-bottom: 1em;
}

.contact dd:last-child {
  border-bottom: 0.15em solid #dae2e9;
}

.contact .form input[type="text"] {
  font-size: 16px;
  padding: 0.6em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.contact .form textarea {
  font-size: 16px;
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.contact .form textarea .privacy {
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
}

.contact .btn {
  text-align: center;
}

.contact .form input[type="submit"] {
  background: #056dc6;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.contact .form input[type="button"] {
  background: #a1a6ac;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
  margin-bottom: 0.5em;
}

.contact .privacy {
  border: 0.15em solid #dae2e9;
  padding: 1em;
  height: 15em;
  overflow-y: scroll;
  margin: 1em 0 2em;
}

.contact .privacy dl {
  margin: 0;
}

.contact .privacy dt {
  border: 0;
}

.contact .privacy dd {
  border: 0;
}

.contact .privacy dd:last-child {
  border: 0;
}

@media screen and (min-width: 767px) {
  .contact .thanks {
    padding: 3em 0 6em;
    text-align: center;
  }

  .contact .cont__form {
    margin-bottom: 5em;
  }

  .contact h2 {
    font-size: 26px;
  }

  .contact dt {
    border-top: 0.1em solid #dae2e9;
  }

  .contact dt span {
    font-size: 14px;
  }

  .contact dd:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .contact .form input[type="text"] {
    border: 0.1em solid #dae2e9;
    width: 50%;
  }

  .contact .form textarea {
    border: 0.1em solid #dae2e9;
  }

  .contact .privacy {
    border: 0.1em solid #dae2e9;
    margin: 1em 0 3em;
  }

  .contact .form input[type="submit"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
  }

  .contact .form input[type="button"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
    margin-bottom: 0;
    margin-right: 1em;
  }
}

/****************************
blog
*****************************/
/*一覧ページ*/
.blog .cont .clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.blog .cont .clearfix {
  display: inline-block;
}

/* for macIE \*/
* html .clearfix {
  height: 1%;
}

.blog .cont .clearfix {
  display: block;
}

.blog .cont {
  margin-bottom: 2em;
}

.blog .cont ul#newsList {
  margin: 0;
  padding: 0;
}

.blog .cont ul#newsList li {
  padding: 1em 0;
  border-bottom: 0.15em solid #dae2e9;
  list-style-type: none;
}

.blog .cont a {
  color: #056dc6;
  font-weight: 700;
  text-decoration: none;
  font-size: 36px;
  font-size: 4.69vw;
  line-height: 0.8em;
}

.blog .cont a:hover {
  text-decoration: underline;
}

.blog .cont .newMark {
  display: inline-block;
  border: 0;
  padding: 0.5em 1em;
  margin-left: 0.5em;
  font-size: 22px;
  font-size: 2.86vw;
  line-height: 100%;
  background: #f09411;
  color: #fff;
  border-radius: 0.6em;
}

.blog .cont .comment {
  display: block;
  padding: 3px 0;
  float: left;
  overflow: hidden;
  width: 100%;
  font-size: 24px;
  font-size: 3.12vw;
}

.blog .cont .pager {
  margin-top: 3em;
  text-align: center;
  clear: both;
}

.blog .cont .pager a {
  color: #056dc6;
  text-decoration: none;
  margin: 0 0.8em;
  font-size: 28px;
  font-size: 3.65vw;
}

.blog .cont .pager a:hover {
  text-decoration: underline;
}

.blog .cont .pager a.current {
  background: #b9b9b9;
  border-radius: 0.6em;
  color: #fff;
  padding: 0.2em 0.6em;
  text-decoration: none;
}

.blog .cont .overPagerPattern {
  padding: 0 2px;
}

/*記事ページ*/
.blog_detail .cont {
  margin-bottom: 2em;
}

.blog_detail .cont b {
  font-weight: 900;
}

.blog_detail .cont h2 {
  color: #056dc6;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-weight: 700;
  font-size: 38px;
  font-size: 4.95vw;
}

.blog_detail .cont #up_ymd {
  margin: 0.2em 0 1em;
}

.blog_detail .cont a {
  color: #2589d0;
  text-decoration: underline;
}

.blog_detail .cont a:hover {
  color: #2589d0;
  text-decoration: none;
}

.blog_detail .cont .backORcloseBtn {
  text-align: center;
  margin-top: 2em;
}

.blog_detail .cont .backORcloseBtn a {
  display: inline-block;
  padding: 0.5em 1.5em;
  background: #a1a6ac;
  color: #fff;
  border-radius: 0.6em;
  text-decoration: none;
  letter-spacing: 0.15em;
  font-size: 30px;
  font-size: 3.91vw;
}

.blog_detail .cont .detailUpfile {
  text-align: center;
}

.blog_detail .cont .detailUpfile img {
  max-width: 100%;
  height: auto;
  margin: 2em 0 0;
}

.blog_detail .cont hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.blog_detail .cont hr {
  border-top: 0.15em solid #dae2e9;
}

@media screen and (min-width: 767px) {

  /*一覧ページ*/
  .blog .cont {
    margin-bottom: 5em;
  }

  .blog .cont ul#newsList li {
    padding: 2em 0;
    border-bottom: 0.1em solid #dae2e9;
  }

  .blog .cont a {
    font-size: 22px;
  }

  .blog .cont .newMark {
    font-size: 12px;
  }

  .blog .cont .comment {
    font-size: 16px;
  }

  .blog .cont .pager {
    margin-top: 6em;
  }

  .blog .cont .pager a {
    margin: 0 1em;
    font-size: 18px;
  }

  /*記事ページ*/
  .blog_detail .cont {
    margin-bottom: 5em;
  }

  .blog_detail .cont h2 {
    font-size: 34px;
  }

  .blog_detail .cont #up_ymd {
    margin: 0.5em 0 2em;
  }

  .blog_detail .cont .backORcloseBtn {
    margin-top: 5em;
  }

  .blog_detail .cont .backORcloseBtn a {
    border-radius: 0.4em;
    font-size: 16px;
    padding: 0.5em 2.5em;
    letter-spacing: 0.2em;
  }

  .blog_detail .cont .detailUpfile img {
    max-width: 70%;
    margin: 3em 0 0;
  }

  .blog_detail .cont hr {
    border-top: 0.1em solid #dae2e9;
  }
}

/****************************
recruit
*****************************/
.recruit h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 0.5em;
}

.recruit h3 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 36px;
  font-size: 4.69vw;
  margin-bottom: 0.5em;
}

.recruit hr {
  border-top: 0.15em solid #dae2e9;
  margin-bottom: 2em;
}

.recruit .cont__01 {
  margin-bottom: 2em;
}

.recruit .cont__02 {
  margin-bottom: 2em;
}

.recruit .cont__02 .table {
  width: 100%;
  margin-bottom: 2em;
}

.recruit .cont__02 .table th,
.recruit .cont__02 .table td {
  display: block;
  width: 100%;
  border-top: 0.15em solid #dae2e9;
  padding: 0.5em;
  text-align: left;
}

.recruit .cont__02 .table th {
  background: #eef6fd;
}

.recruit .cont__form {
  margin-bottom: 2em;
}

.recruit .thanks {
  padding: 1em 0 3em;
  text-align: center;
}

.recruit .thanks h2 {
  line-height: 1.7em;
}

.recruit .error {
  padding: 2em 0;
  color: #ff0000;
}

.recruit dl {
  margin-top: 2em;
  margin-bottom: 2em;
}

.recruit dt {
  border-top: 0.15em solid #dae2e9;
  font-weight: 700;
  padding: 1em 0 0.5em;
}

.recruit dt span {
  font-size: 26px;
  font-size: 3.38vw;
  color: #f09411;
}

.recruit dd {
  padding-bottom: 1em;
}

.recruit dd:last-child {
  border-bottom: 0.15em solid #dae2e9;
}

.recruit .form input[type="text"] {
  font-size: 16px;
  padding: 0.6em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.recruit .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 2em;
  border: none;
}

.recruit .checkbox label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.recruit .checkbox label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
  content: '';
}

.recruit .checkbox label:has(:checked)::after {
  position: absolute;
  top: 10px;
  left: 7px;
  transform: rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #2589d0;
  border-width: 0 3px 3px 0;
  content: '';
}

.recruit .checkbox input {
  display: none;
}

.recruit .radio {
  display: flex;
  flex-wrap: wrap;
  gap: .3em 2em;
  border: none;
}

.recruit .radio label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.recruit .radio label::before,
.recruit .radio label::after {
  border-radius: 50%;
  content: '';
}

.recruit .radio label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  box-sizing: border-box;
}

.recruit .radio label::after {
  position: absolute;
  top: 50%;
  left: 9px;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  background-color: #dee5eb;
}

.recruit .radio label:has(:checked)::after {
  background-color: #2589d0;
}

.recruit .radio input {
  display: none;
}

.recruit .form textarea {
  font-size: 16px;
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.recruit .form textarea .privacy {
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
}

.recruit .btn {
  text-align: center;
}

.recruit .form input[type="submit"] {
  background: #056dc6;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.recruit .form input[type="button"] {
  background: #a1a6ac;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
  margin-bottom: 0.5em;
}

.recruit .privacy {
  border: 0.15em solid #dae2e9;
  padding: 1em;
  height: 15em;
  overflow-y: scroll;
  margin: 1em 0 2em;
}

.recruit .privacy dl {
  margin: 0;
}

.recruit .privacy dt {
  border: 0;
}

.recruit .privacy dd {
  border: 0;
}

.recruit .privacy dd:last-child {
  border: 0;
}

@media screen and (min-width: 767px) {
  .recruit h2 {
    font-size: 26px;
  }

  .recruit h3 {
    font-size: 20px;
  }

  .recruit hr {
    border-top: 0.1em solid #dae2e9;
    margin-bottom: 3em;
  }

  .recruit .cont__01 {
    margin-bottom: 3em;
  }

  .recruit .cont__02 {
    margin-bottom: 4em;
  }

  .recruit .cont__02 .table th,
  .recruit .cont__02 .table td {
    display: table-cell;
    border-top: 0.1em solid #dae2e9;
    padding: 1em;
  }

  .recruit .cont__02 .table tr th:first-child {
    width: 20%;
  }

  .recruit .cont__02 .table tr:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .recruit .cont__form {
    margin-bottom: 5em;
  }

  .recruit .thanks {
    padding: 3em 0 6em;
    text-align: center;
  }

  .recruit dt {
    border-top: 0.1em solid #dae2e9;
  }

  .recruit dt span {
    font-size: 14px;
  }

  .recruit dd:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .recruit .form input[type="text"] {
    border: 0.1em solid #dae2e9;
    width: 50%;
  }

  .recruit .form input[type="checkbox"] {
    border: 0.1em solid #dae2e9;
  }

  .recruit .form textarea {
    border: 0.1em solid #dae2e9;
  }

  .recruit .privacy {
    border: 0.1em solid #dae2e9;
    margin: 1em 0 3em;
  }

  .recruit .form input[type="submit"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
  }

  .recruit .form input[type="button"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
    margin-bottom: 0;
    margin-right: 1em;
  }

  .recruit .checkbox label::before {
    border: 0.1em solid #dae2e9;
  }

  .recruit .radio label::before {
    border: 0.1em solid #dae2e9;
  }
}

/****************************
demand
*****************************/
.demand .cont {
  padding: 5em;
  text-align: center;
}

.demand .cont {
  color: #ff0000;
}

.demand .thanks {
  padding: 1em 0 3em;
  text-align: center;
}

.demand .thanks h2 {
  line-height: 1.7em;
}

.demand .error {
  padding: 2em 0;
  color: #ff0000;
}

.demand .cont__form {
  margin-bottom: 2em;
}

.demand h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 0.5em;
}

.demand dl {
  margin-top: 2em;
  margin-bottom: 2em;
}

.demand dt {
  border-top: 0.15em solid #dae2e9;
  font-weight: 700;
  padding: 1em 0 0.5em;
}

.demand dt span {
  font-size: 26px;
  font-size: 3.38vw;
  color: #f09411;
}

.demand dd {
  padding-bottom: 1em;
}

.demand dd:last-child {
  border-bottom: 0.15em solid #dae2e9;
}

.demand .form input[type="text"] {
  font-size: 16px;
  padding: 0.6em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.demand .selectbox {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.demand .selectbox::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #202020;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}

.demand .selectbox select {
  appearance: none;
  min-width: 1em;
  height: 2.5em;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: 0.15em solid #dae2e9;
  background-color: #fff;
  color: #000000;
  font-size: 1em;
  cursor: pointer;
}

.demand .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 2em;
  border: none;
}

.demand .checkbox label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.demand .checkbox label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
  content: '';
}

.demand .checkbox label:has(:checked)::after {
  position: absolute;
  top: 10px;
  left: 7px;
  transform: rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #2589d0;
  border-width: 0 3px 3px 0;
  content: '';
}

.demand .checkbox input {
  display: none;
}

.demand .radio {
  display: flex;
  flex-wrap: wrap;
  gap: .3em 2em;
  border: none;
}

.demand .radio label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.demand .radio label::before,
.demand .radio label::after {
  border-radius: 50%;
  content: '';
}

.demand .radio label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  box-sizing: border-box;
}

.demand .radio label::after {
  position: absolute;
  top: 50%;
  left: 9px;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  background-color: #dee5eb;
}

.demand .radio label:has(:checked)::after {
  background-color: #2589d0;
}

.demand .radio input {
  display: none;
}

.demand .form textarea {
  font-size: 16px;
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.demand .form textarea .privacy {
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
}

.demand .btn {
  text-align: center;
}

.demand .form input[type="submit"] {
  background: #056dc6;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.demand .form input[type="button"] {
  background: #a1a6ac;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
  margin-bottom: 0.5em;
}

.demand .privacy {
  border: 0.15em solid #dae2e9;
  padding: 1em;
  height: 15em;
  overflow-y: scroll;
  margin: 1em 0 2em;
}

.demand .privacy dl {
  margin: 0;
}

.demand .privacy dt {
  border: 0;
}

.demand .privacy dd {
  border: 0;
}

.demand .privacy dd:last-child {
  border: 0;
}

@media screen and (min-width: 767px) {
  .demand .thanks {
    padding: 3em 0 6em;
    text-align: center;
  }

  .demand .cont__form {
    margin-bottom: 5em;
  }

  .demand h2 {
    font-size: 26px;
  }

  .demand dt {
    border-top: 0.1em solid #dae2e9;
  }

  .demand dt span {
    font-size: 14px;
  }

  .demand dd:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .demand .form input[type="text"] {
    border: 0.1em solid #dae2e9;
    width: 50%;
  }

  .demand .form input[type="checkbox"] {
    border: 0.1em solid #dae2e9;
  }

  .demand .form textarea {
    border: 0.1em solid #dae2e9;
  }

  .demand .privacy {
    border: 0.1em solid #dae2e9;
    margin: 1em 0 3em;
  }

  .demand .form input[type="submit"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
  }

  .demand .form input[type="button"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
    margin-bottom: 0;
    margin-right: 1em;
  }

  .demand .selectbox select {
    border: 0.1em solid #dae2e9;
  }

  .demand .checkbox label::before {
    border: 0.1em solid #dae2e9;
  }

  .demand .radio label::before {
    border: 0.1em solid #dae2e9;
  }
}

/****************************
taiken
*****************************/
.taiken .cont__01 {
  text-align: center;
  margin-bottom: 2em;
}

.taiken .cont__01 img .sp {
  display: block !important;
}

.taiken .cont__01 img .pc {
  display: none !important;
}

.taiken .cont__02 {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.taiken .cont__02 .column {
  width: 100%;
}

.taiken .cont__02 .column img {
  margin-bottom: 1em;
}

.taiken hr {
  border-top: 0.15em solid #dae2e9;
  margin-bottom: 2em;
}

.taiken .thanks {
  padding: 1em 0 3em;
  text-align: center;
}

.taiken .thanks h2 {
  line-height: 1.7em;
}

.taiken .error {
  padding: 2em 0;
  color: #ff0000;
}

.taiken .cont__form {
  margin-bottom: 2em;
}

.taiken h2 {
  letter-spacing: 0.2em;
  font-weight: 700;
  font-size: 40px;
  font-size: 5.21vw;
  margin-bottom: 0.5em;
}

.taiken dl {
  margin-top: 2em;
  margin-bottom: 2em;
}

.taiken dt {
  border-top: 0.15em solid #dae2e9;
  font-weight: 700;
  padding: 1em 0 0.5em;
}

.taiken dt span {
  font-size: 26px;
  font-size: 3.38vw;
  color: #f09411;
}

.taiken dd {
  padding-bottom: 1em;
}

.taiken dd:last-child {
  border-bottom: 0.15em solid #dae2e9;
}

.taiken .form input[type="text"] {
  font-size: 16px;
  padding: 0.6em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.taiken .selectbox {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.taiken .selectbox::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #202020;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}

.taiken .selectbox select {
  appearance: none;
  min-width: 1em;
  height: 2.5em;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: 0.15em solid #dae2e9;
  background-color: #fff;
  color: #000000;
  font-size: 1em;
  cursor: pointer;
}

.taiken .checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 2em;
  border: none;
}

.taiken .checkbox label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.taiken .checkbox label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
  content: '';
}

.taiken .checkbox label:has(:checked)::after {
  position: absolute;
  top: 10px;
  left: 7px;
  transform: rotate(45deg);
  width: 5px;
  height: 10px;
  border: solid #2589d0;
  border-width: 0 3px 3px 0;
  content: '';
}

.taiken .checkbox input {
  display: none;
}

.taiken .radio {
  display: flex;
  flex-wrap: wrap;
  gap: .3em 2em;
  border: none;
}

.taiken .radio label {
  display: flex;
  align-items: center;
  gap: 0 .5em;
  position: relative;
  cursor: pointer;
}

.taiken .radio label::before,
.taiken .radio label::after {
  border-radius: 50%;
  content: '';
}

.taiken .radio label::before {
  width: 18px;
  height: 18px;
  border: 0.15em solid #dae2e9;
  box-sizing: border-box;
}

.taiken .radio label::after {
  position: absolute;
  top: 50%;
  left: 9px;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  background-color: #dee5eb;
}

.taiken .radio label:has(:checked)::after {
  background-color: #2589d0;
}

.taiken .radio input {
  display: none;
}

.taiken .form textarea {
  font-size: 16px;
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
  background-color: #eef6fd;
}

.taiken .form textarea .privacy {
  padding: 1em;
  width: 100%;
  border: 0.15em solid #dae2e9;
}

.taiken .btn {
  text-align: center;
}

.taiken .form input[type="submit"] {
  background: #056dc6;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
}

.taiken .form input[type="button"] {
  background: #a1a6ac;
  border-radius: 0.6em;
  border: 0;
  letter-spacing: 0.2em;
  color: white;
  padding: 1em 4em;
  font-weight: 700;
  font-size: 34px;
  font-size: 4.43vw;
  margin-bottom: 0.5em;
}

.taiken .privacy {
  border: 0.15em solid #dae2e9;
  padding: 1em;
  height: 15em;
  overflow-y: scroll;
  margin: 1em 0 2em;
}

.taiken .privacy dl {
  margin: 0;
}

.taiken .privacy dt {
  border: 0;
}

.taiken .privacy dd {
  border: 0;
}

.taiken .privacy dd:last-child {
  border: 0;
}

@media screen and (min-width: 767px) {
  .taiken .cont__01 {
    margin-bottom: 3em;
  }

  .taiken .cont__01 img .sp {
    display: none !important;
  }

  .taiken .cont__01 img .pc {
    display: block !important;
  }

  .taiken .cont__02 {
    margin-bottom: 3em;
  }

  .taiken .cont__02 .column {
    width: calc(50% - 60px / 2);
  }

  .taiken hr {
    border-top: 0.1em solid #dae2e9;
    margin-bottom: 3em;
  }

  .taiken .thanks {
    padding: 3em 0 6em;
    text-align: center;
  }

  .taiken .cont__form {
    margin-bottom: 5em;
  }

  .taiken h2 {
    font-size: 26px;
  }

  .taiken dt {
    border-top: 0.1em solid #dae2e9;
  }

  .taiken dt span {
    font-size: 14px;
  }

  .taiken dd:last-child {
    border-bottom: 0.1em solid #dae2e9;
  }

  .taiken .form input[type="text"] {
    border: 0.1em solid #dae2e9;
    width: 50%;
  }

  .taiken .form input[type="checkbox"] {
    border: 0.1em solid #dae2e9;
  }

  .taiken .form textarea {
    border: 0.1em solid #dae2e9;
  }

  .taiken .privacy {
    border: 0.1em solid #dae2e9;
    margin: 1em 0 3em;
  }

  .taiken .form input[type="submit"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
  }

  .taiken .form input[type="button"] {
    border-radius: 0.4em;
    padding: 1em 4em;
    font-size: 16px;
    margin-bottom: 0;
    margin-right: 1em;
  }

  .taiken .selectbox select {
    border: 0.1em solid #dae2e9;
  }

  .taiken .checkbox label::before {
    border: 0.1em solid #dae2e9;
  }

  .taiken .radio label::before {
    border: 0.1em solid #dae2e9;
  }
}


/*# sourceMappingURL=style.css.map */