@charset "UTF-8";
/*変数設定用*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
.info {
  padding-top: 4.1666666667vw;
  margin-bottom: 4.9479166667vw;
  background: linear-gradient(180deg, #e8e9ea 0%, #e8e9ea 65%, #fff 65%, #fff 100%);
  min-height: 14.0625vw;
}
@media screen and (max-width: 767px) {
  .info {
    margin-bottom: 13.3333333333vw;
    padding-top: 10.6666666667vw;
  }
}
.info .info-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.2604166667vw;
}
@media screen and (max-width: 767px) {
  .info .info-flex {
    align-items: unset;
  }
}
.info .info-left {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .info .info-left {
    display: block;
    width: 100%;
  }
}
.info .info-ttl {
  margin-right: 2.34375vw;
}
@media screen and (max-width: 767px) {
  .info .info-ttl {
    display: flex;
    justify-content: space-between;
    margin-right: 0;
  }
}
.info .info-ttl img {
  width: 18.6458333333vw;
}
@media screen and (max-width: 767px) {
  .info .info-ttl img {
    width: 61.0666666667vw;
    margin-bottom: 6vw;
  }
}
.info .tab-area {
  display: flex;
}
@media screen and (max-width: 767px) {
  .info .tab-area {
    justify-content: space-between;
  }
}
.info .tab {
  position: relative;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  color: #141115;
  cursor: pointer;
  background: #fff;
  padding: 0.6770833333vw 0.5208333333vw;
  width: 10.4166666667vw;
  margin-right: 0.5208333333vw;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .info .tab {
    width: 29.3333333333vw;
    font-size: 2.6666666667vw;
    padding: 1.3333333333vw;
  }
}
.info .tab:after {
  position: absolute;
  content: "";
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border-bottom: 0.1041666667vw solid #141115;
  border-right: 0.1041666667vw solid #141115;
  top: 45%;
  transform: rotate(45deg) translateY(-50%);
  right: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .info .tab:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .info .tab:after {
    right: 2.6666666667vw;
  }
}
.info .tab.active {
  background: #141115;
  color: #fff;
}
.info .tab.active:after {
  border-bottom: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
}
.info .info-index a {
  color: #141115;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-right: 0.5208333333vw;
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .info .info-index a {
    font-size: 3.2vw;
  }
}
.info .info-index a:after {
  content: "";
  display: inline-block;
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border-top: 0.1041666667vw solid #141115;
  border-right: 0.1041666667vw solid #141115;
  margin: 0 0.5208333333vw 0 0.4166666667vw;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .info .info-index a:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
  }
}
.info .panel {
  display: none;
}
.info .panel.active {
  display: block;
}
.info .info-content {
  background-color: #fff;
}
.info .info-content li {
  border-bottom: 1px dotted #ccc;
}
@media screen and (max-width: 767px) {
  .info .info-content li {
    height: auto;
  }
}
.info .info-content li:not(:last-of-type):after {
  width: 100%;
  height: 1px;
  display: block;
  content: "";
}
.info .info-content a {
  position: relative;
  color: #333;
  display: flex;
  font-size: 0.7291666667vw;
  background: #fff;
  padding: 1.1458333333vw 2.0833333333vw 0.9375vw 1.1458333333vw;
  transition: 0.7s;
}
@media screen and (max-width: 767px) {
  .info .info-content a {
    font-size: 3.2vw;
    display: block;
    padding: 3.6vw 5.3333333333vw 2.4vw 2.9333333333vw;
  }
}
.info .info-content a:after {
  transition: 0.7s;
  position: absolute;
  content: "";
  width: 1.0416666667vw;
  height: 1.0416666667vw;
  border-top: 0.0520833333vw solid #ccc;
  border-right: 0.0520833333vw solid #ccc;
  top: 50%;
  right: 1.3020833333vw;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .info .info-content a:after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .info .info-content a:after {
    right: 5.3333333333vw;
  }
}
.info .info-content a:hover:after {
  border-top: 0.0520833333vw solid #141115;
  border-right: 0.0520833333vw solid #141115;
}
.info .info-date {
  min-width: 6em;
  font-weight: bold;
  color: #b7c523;
  letter-spacing: 0.04em;
  margin-right: 1.4583333333vw;
}
@media screen and (max-width: 767px) {
  .info .info-date {
    display: block;
  }
}

.about {
  position: relative;
  margin-bottom: 20vw;
}
.about:before {
  position: absolute;
  content: "";
  width: 10.4166666667vw;
  height: 34.4791666667vw;
  background: url(../img/top/about_img_02.png) no-repeat left bottom/100%;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .about:before {
    display: none;
  }
}
.about:after {
  position: absolute;
  content: "";
  width: 46.5104166667vw;
  height: 34.1666666667vw;
  background: url(../img/top/about_img_01.png) no-repeat right top/100%;
  top: 3.90625vw;
  right: 0;
}
@media screen and (max-width: 767px) {
  .about:after {
    display: none;
  }
}
.about .half-container {
  margin-bottom: 16vw;
}
.about .sec-line:before {
  width: 16.9270833333vw;
}
.about .sec-ttl {
  width: 27.1875vw;
}
@media screen and (max-width: 767px) {
  .about .sec-ttl {
    width: 70.6666666667vw;
  }
}
.about .sec-yellow {
  margin: 0 0 1.0416666667vw;
}
.about .sec-left:before {
  left: -0.2604166667vw;
}
.about .sec-sm {
  text-align: left;
  margin-bottom: 3.125vw;
}
.about .our-group .sec-sm {
  margin-top: -0.78125vw;
  color: #666;
}
@media screen and (max-width: 767px) {
  .about .our-group .sec-sm {
    margin-top: -0.2604166667vw;
  }
}
.about .about-lead {
  font-size: 1.25vw;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .about .about-lead {
    font-size: 4.8vw;
  }
}
.about .half-wrapper {
  margin-bottom: 5.2083333333vw;
}
.about .about-text {
  font-size: 0.7291666667vw;
  margin-bottom: 2.0833333333vw;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .about .about-text {
    font-size: 3.2vw;
  }
}
.about .about-text:nth-child(2) {
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 767px) {
  .about .btn {
    margin: 6.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .about .btn .black {
    max-width: 53.3333333333vw;
    font-size: 3.2vw;
    display: block;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .about .btn .black a {
    width: 100%;
  }
}

.lesson .sec-ttl {
  width: 32.8125vw;
}
@media screen and (max-width: 767px) {
  .lesson .sec-ttl {
    width: 90vw;
  }
}
.lesson .sec-sm {
  margin-bottom: 3.125vw;
}
.lesson .lesson-text {
  font-size: 0.7291666667vw;
  text-align: center;
  margin-bottom: 1.8229166667vw;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-text {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 767px) {
  .lesson .btn .white {
    width: 53.3333333333vw;
    padding: 2vw 0;
    margin: 8vw auto;
  }
}
.lesson .lesson-container {
  max-width: 89.5833333333vw;
  margin: 0 auto;
}
.lesson .lesson-grid {
  margin: 4.1666666667vw 0 8.3333333333vw;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 0.5fr 0.5fr;
  grid-template-rows: 1fr;
  gap: 1.8229166667vw 0.5208333333vw;
  grid-template-areas: ". . . . academy academy" ". . . . . .";
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid {
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: auto;
    grid-template-rows: auto;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid li {
    width: 49%;
  }
}
.lesson .lesson-grid li:nth-of-type(-n+9) .lesson-name p:before {
  background: #cedc34;
}
.lesson .lesson-grid li:nth-last-of-type(-n+2) .lesson-name p {
  width: 7.6041666667vw;
  padding: 0.7291666667vw 0.2604166667vw 0.2083333333vw 1.5104166667vw;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid li:nth-last-of-type(-n+2) .lesson-name p {
    width: 19.4666666667vw;
  }
}
.lesson .lesson-grid li:nth-last-of-type(-n+2) .lesson-name p:before {
  background: #d0c3e0;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(10), .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(11) {
    width: 23%;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(10) .lesson-sm, .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(11) .lesson-sm {
    max-height: 29.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(10) .lesson-name p, .lesson .lesson-grid li:nth-last-of-type(-n+2):nth-child(11) .lesson-name p {
    padding: 2.5333333333vw 1.3333333333vw 2.4vw 2.8vw;
  }
}
.lesson .lesson-grid .academy {
  grid-area: academy;
}
.lesson .lesson-grid a {
  position: relative;
  display: block;
}
.lesson .lesson-sm {
  max-height: 11.5625vw;
}
.lesson .lesson-name {
  position: absolute;
  bottom: -0.78125vw;
  left: 0;
}
.lesson .lesson-name p {
  position: relative;
  width: 13.5416666667vw;
  background: #fff;
  padding: 0.9895833333vw 0.5208333333vw 0.9375vw 2.0833333333vw;
  color: #333;
  font-size: 1.0416666667vw;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-name p {
    width: 34.6666666667vw;
    font-size: 2.6666666667vw;
    padding: 2.5333333333vw 1.3333333333vw 2.4vw 4vw;
  }
}
.lesson .lesson-name p:before {
  position: absolute;
  content: "";
  width: 1.0416666667vw;
  height: 1.0416666667vw;
  top: 0;
  left: 0.0520833333vw;
}
.lesson .lesson-name p:hover {
  opacity: 1;
}
.lesson .lesson-name p span {
  font-size: 0.7291666667vw;
}
.lesson .lesson-name img {
  position: absolute;
  max-width: 0.8854166667vw;
  height: 0.6770833333vw;
  top: 0.8333333333vw;
  left: 0.1041666667vw;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-name img {
    max-width: 2.8vw;
    height: 2.1333333333vw;
  }
}
.lesson .lesson-flex {
  margin-bottom: 8.3333333333vw;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-flex {
    width: 100%;
    display: block;
  }
}
.lesson .lesson-left,
.lesson .lesson-right {
  width: 50%;
  padding: 5.15625vw 1.0416666667vw 5.1041666667vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-left,
  .lesson .lesson-right {
    padding: 13.2vw 2.6666666667vw 13.0666666667vw;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .lesson .lesson-left .btn,
  .lesson .lesson-right .btn {
    width: 72vw;
  }
}
@media screen and (max-width: 767px) {
  .lesson .lesson-left .btn a,
  .lesson .lesson-right .btn a {
    width: 100%;
  }
}
.lesson .lesson-left {
  background: url(../img/top/schedule.png) no-repeat center bottom/cover;
}
@media screen and (max-width: 767px) {
  .lesson .lesson-left {
    margin-bottom: 6.6666666667vw;
  }
}
.lesson .lesson-right {
  background: url(../img/top/studio.png) no-repeat center bottom/cover;
}

.first .first-timers {
  position: relative;
  width: 87.5vw;
  height: 16.1458333333vw;
}
@media screen and (max-width: 767px) {
  .first .first-timers {
    width: 96vw;
    height: 62.6666666667vw;
  }
}
.first .first-timers:before, .first .first-timers:after {
  position: absolute;
  content: "";
  height: 0.0520833333vw;
  background: #fff;
  top: 4.1666666667vw;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .first .first-timers:before, .first .first-timers:after {
    top: 10.6666666667vw;
  }
}
.first .first-dot {
  width: 2.03125vw;
  height: 6.1458333333vw;
  position: absolute;
  top: 0.0520833333vw;
}
@media screen and (max-width: 767px) {
  .first .first-dot {
    width: 5.2vw;
    height: 15.7333333333vw;
    top: 0.1333333333vw;
  }
}
.first .dot-yellow {
  left: 16.6666666667vw;
}
@media screen and (max-width: 767px) {
  .first .dot-yellow {
    left: 6.6666666667vw;
  }
}
.first .dot-purple {
  left: 4.1666666667vw;
}
@media screen and (max-width: 767px) {
  .first .dot-purple {
    left: 10.6666666667vw;
  }
}
.first .first-yellow {
  padding-left: 16.6666666667vw;
  margin-bottom: 13.5416666667vw;
  background: url(../img/top/green_bg.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .first .first-yellow {
    padding-left: 12vw;
    margin-bottom: 50.6666666667vw;
    background: url(../img/top/green_bg_sp.png) no-repeat center top/contain;
  }
}
.first .first-yellow:before {
  width: 16.6666666667vw;
  left: 0;
}
@media screen and (max-width: 767px) {
  .first .first-yellow:before {
    width: 6.6666666667vw;
  }
}
.first .first-yellow:after {
  width: 35.4166666667vw;
  right: 0;
}
@media screen and (max-width: 767px) {
  .first .first-yellow:after {
    display: none;
  }
}
.first .first-purple {
  padding-left: 12.5vw;
  background: url(../img/top/purple_bg.png) no-repeat center center/cover;
  margin: 0 0 11.9791666667vw auto;
}
@media screen and (max-width: 767px) {
  .first .first-purple {
    padding-left: 12vw;
    background: url(../img/top/purple_bg_sp.png) no-repeat center center/cover;
    margin: 0 0 26.6666666667vw auto;
  }
}
.first .first-purple:before {
  width: 4.1666666667vw;
  left: 0;
}
@media screen and (max-width: 767px) {
  .first .first-purple:before {
    width: 6.6666666667vw;
  }
}
.first .first-purple:after {
  width: 51.0416666667vw;
  right: 0;
}
@media screen and (max-width: 767px) {
  .first .first-purple:after {
    display: none;
  }
}
.first .first-ttl {
  position: relative;
  color: #fff;
  font-size: 1.875vw;
  letter-spacing: 0.03em;
  padding: 2.3958333333vw 2.0833333333vw 0 2.4479166667vw;
  margin-bottom: 2.8645833333vw;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .first .first-ttl {
    font-size: 4.8vw;
    padding: 8vw 0 0 0;
    margin-bottom: 3.125vw;
  }
}
.first .first-ttl:after {
  position: absolute;
  content: "";
  width: 1.0416666667vw;
  height: 2.0833333333vw;
  background: #e7f454;
  bottom: 0.4166666667vw;
  left: 2.0833333333vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .first .first-ttl:after {
    width: 2.6666666667vw;
    height: 5.3333333333vw;
    bottom: 5.3333333333vw;
    left: 0;
  }
}
.first .first-ttl small {
  font-size: 1.25vw;
}
@media screen and (max-width: 767px) {
  .first .first-ttl small {
    font-size: 3.2vw;
  }
}
.first .first-ttl span {
  margin-left: 1.8229166667vw;
  font-size: 0.9375vw;
}
@media screen and (max-width: 767px) {
  .first .first-ttl span {
    display: block;
    margin-left: 0;
    font-size: 3.2vw;
  }
}
.first .first-ttl img {
  width: 2.03125vw;
  margin-right: 0.6770833333vw;
}
@media screen and (max-width: 767px) {
  .first .first-ttl img {
    width: 5.2vw;
    margin-right: 1.7333333333vw;
  }
}
.first .first-asset01:after {
  background: #e7f454;
}
.first .first-asset02 {
  left: -8.3333333333vw;
}
.first .first-asset02:after {
  background: #8e76ad;
}
.first .first-btns {
  width: 83.3333333333vw;
  position: absolute;
  background: #fff;
  padding: 1.9791666667vw 0 2.0833333333vw 1.9791666667vw;
  box-shadow: 0 0 1.0416666667vw 0.5208333333vw rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .first .first-btns {
    width: 89.3333333333vw;
    padding: 4vw 6.6666666667vw 5.3333333333vw 4vw;
    box-shadow: 0 0 2.6666666667vw 1.3333333333vw rgba(0, 0, 0, 0.1);
  }
}
.first .first-btn01 {
  left: 16.6666666667vw;
}
@media screen and (max-width: 767px) {
  .first .first-btn01 {
    left: 6.6666666667vw;
  }
}
.first .first-btn02 {
  left: 4.1666666667vw;
}
@media screen and (max-width: 767px) {
  .first .first-btn02 {
    left: 6.6666666667vw;
  }
}
.first .first-grid {
  max-width: 62.5vw;
  margin-bottom: 0vw;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.0416666667vw 1.3020833333vw;
  grid-template-areas: ". . . ." "join join question question";
}
@media screen and (max-width: 767px) {
  .first .first-grid {
    max-width: 82.6666666667vw;
    grid-template-columns: 1fr 1fr;
    gap: 2.6666666667vw 4vw;
    margin-bottom: 5.3333333333vw;
    grid-template-areas: ". ." ". ." "join join" "question question";
  }
}
.first .first-grid .join {
  grid-area: join;
}
.first .first-grid .question {
  grid-area: question;
}
.first .first-grid li:nth-of-type(-n+2) a {
  padding: 1.3541666667vw 0;
}
.first .first-grid li:nth-of-type(3) a {
  padding: 0.7291666667vw 0;
}
.first .first-grid li:nth-of-type(4) a {
  font-size: 1.25vw;
  padding: 1.6927083333vw 0;
}
.first .first-grid li:nth-of-type(-n+4) a {
  padding-left: 1.4583333333vw;
  color: #fff;
  background: #222;
  border: 0.1041666667vw solid #222;
  min-height: 100%;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-of-type(-n+4) a {
    padding-left: 3.7333333333vw;
    font-size: 2.6666666667vw;
    border: 0.2666666667vw solid #222;
  }
}
.first .first-grid li:nth-of-type(-n+4) a:before {
  border: 0.0520833333vw solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-of-type(-n+4) a:before {
    border: 0.1333333333vw solid #fff;
  }
}
.first .first-grid li:nth-of-type(-n+4) a:after {
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-of-type(-n+4) a:after {
    border-top: 0.2666666667vw solid #fff;
    border-right: 0.2666666667vw solid #fff;
  }
}
.first .first-grid li:nth-of-type(-n+4) a:hover {
  color: #222;
  background: #fff;
}
.first .first-grid li:nth-of-type(-n+4) a:hover:before {
  border: 0.0520833333vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-of-type(-n+4) a:hover:before {
    border: 0.0520833333vw solid #222;
  }
}
.first .first-grid li:nth-of-type(-n+4) a:hover:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-of-type(-n+4) a:hover:after {
    border-top: 0.2666666667vw solid #222;
    border-right: 0.2666666667vw solid #222;
  }
}
.first .first-grid li:nth-last-of-type(-n+2) a {
  justify-content: center;
  color: #222;
  font-size: 1.25vw;
  border: 0.1041666667vw solid #222;
  padding: 1.5885416667vw 0.5208333333vw;
  background: #f6f6f7;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-last-of-type(-n+2) a {
    font-size: 3.2vw;
    padding: 1.9791666667vw 1.3333333333vw;
    border: 0.2666666667vw solid #222;
  }
}
.first .first-grid li:nth-last-of-type(-n+2) a:before {
  border: 0.0520833333vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-last-of-type(-n+2) a:before {
    border: 0.1333333333vw solid #222;
  }
}
.first .first-grid li:nth-last-of-type(-n+2) a:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-last-of-type(-n+2) a:after {
    border-top: 0.2666666667vw solid #222;
    border-right: 0.2666666667vw solid #222;
  }
}
.first .first-grid li:nth-last-of-type(-n+2) a:hover {
  color: #fff;
  background: #222;
}
.first .first-grid li:nth-last-of-type(-n+2) a:hover:before {
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-last-of-type(-n+2) a:hover:before {
    border: 0.1333333333vw solid #fff;
  }
}
.first .first-grid li:nth-last-of-type(-n+2) a:hover:after {
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid li:nth-last-of-type(-n+2) a:hover:after {
    border-top: 0.2666666667vw solid #fff;
    border-right: 0.2666666667vw solid #fff;
  }
}
.first .first-grid a {
  position: relative;
  transition: 0.7s;
  display: flex;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0.03em;
  min-height: 5.3125vw;
  font-size: 0.9375vw;
}
@media screen and (max-width: 767px) {
  .first .first-grid a {
    min-height: 13.3333333333vw;
    font-size: 2.6666666667vw;
  }
}
.first .first-grid a:before, .first .first-grid a:after {
  position: absolute;
  content: "";
  top: 50%;
}
.first .first-grid a:before {
  width: 1.6145833333vw;
  height: 1.6145833333vw;
  border-radius: 50%;
  right: 0.5208333333vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .first .first-grid a:before {
    width: 4.1333333333vw;
    height: 4.1333333333vw;
    right: 1.3333333333vw;
  }
}
.first .first-grid a:after {
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  right: 1.40625vw;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .first .first-grid a:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
    right: 3.6vw;
  }
}
.first .first-grid a:before {
  border: 0.0520833333vw solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid a:before {
    border: 0.1333333333vw solid #fff;
  }
}
.first .first-grid a:after {
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
}
@media screen and (max-width: 767px) {
  .first .first-grid a:after {
    border-top: 0.2666666667vw solid #fff;
    border-right: 0.2666666667vw solid #fff;
  }
}
.first .first-grid a:hover {
  opacity: 1;
  color: #222;
  background: #fff;
}
.first .first-grid a:hover:before {
  border: 0.0520833333vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid a:hover:before {
    border: 0.1333333333vw solid #222;
  }
}
.first .first-grid a:hover:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid a:hover:after {
    border-top: 0.1041666667vw solid #222;
    border-right: 0.1041666667vw solid #222;
  }
}
.first .first-grid02 {
  max-width: 62.5vw;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 0 0.9375vw;
}
@media screen and (max-width: 767px) {
  .first .first-grid02 {
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    grid-template-columns: auto;
    grid-template-rows: auto;
    gap: 0.9375vw;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .first .first-grid02 li {
    width: 30%;
  }
}
.first .first-grid02 a {
  height: 7.8125vw;
  position: relative;
  transition: 0.7s;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5625vw 0.2604166667vw 3.3333333333vw;
  border: 0.1041666667vw solid #222;
  color: #fff;
  font-size: 0.9375vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.45;
  text-align: center;
  background: #222;
}
@media screen and (max-width: 767px) {
  .first .first-grid02 a {
    height: 21.3333333333vw;
    font-size: 2.4479166667vw;
    padding: 4vw 0.6666666667vw 8.5333333333vw;
  }
}
.first .first-grid02 a:before, .first .first-grid02 a:after {
  position: absolute;
  content: "";
}
.first .first-grid02 a:before {
  width: 1.6145833333vw;
  height: 1.6145833333vw;
  border: 1px solid #fff;
  border-radius: 50%;
  left: 50%;
  bottom: 1.0416666667vw;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .first .first-grid02 a:before {
    width: 4.1333333333vw;
    height: 4.1333333333vw;
    bottom: 2.6666666667vw;
  }
}
.first .first-grid02 a:after {
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
  bottom: 1.40625vw;
  left: 48%;
  transform: rotate(45deg) translateX(-50%);
}
@media screen and (max-width: 767px) {
  .first .first-grid02 a:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .first .first-grid02 a:after {
    bottom: 3.6vw;
  }
}
.first .first-grid02 a:hover {
  opacity: 1;
  color: #222;
  background: #fff;
}
.first .first-grid02 a:hover:before {
  border: 1px solid #222;
}
.first .first-grid02 a:hover:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}

.movie .sec-ttl {
  width: 12.3958333333vw;
}
@media screen and (max-width: 767px) {
  .movie .sec-ttl {
    width: 31.7333333333vw;
  }
}
.movie .movie-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.1666666667vw;
  gap: 0 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .movie .movie-list {
    display: block;
    margin-bottom: 10.6666666667vw;
  }
}
.movie .movie-list li {
  width: 20.3125vw;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .movie .movie-list li {
    margin: 0 auto 5.3333333333vw;
    width: 86.6666666667vw;
  }
}
.movie .movie-list iframe {
  width: 100%;
  height: 100%;
}

.graduates .sec-ttl {
  width: 24.1666666667vw;
}
@media screen and (max-width: 767px) {
  .graduates .sec-ttl {
    width: 61.8666666667vw;
  }
}
.graduates .graduates-text {
  font-size: 1.25vw;
  text-align: center;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 767px) {
  .graduates .graduates-text {
    font-size: 4vw;
    margin-bottom: 8vw;
  }
}
@media screen and (max-width: 767px) {
  .graduates .square-list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4vw 2.6666666667vw;
    margin-bottom: 6.25vw;
  }
}
.graduates .square-list li a {
  pointer-events: none;
}

.media {
  margin-bottom: 8.3333333333vw;
}
@media screen and (max-width: 767px) {
  .media {
    margin-bottom: 21.3333333333vw;
  }
}
.media .sec-ttl {
  width: 12.2916666667vw;
}
@media screen and (max-width: 767px) {
  .media .sec-ttl {
    width: 32vw;
  }
}
@media screen and (max-width: 767px) {
  .media .square-list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4vw 2.6666666667vw;
    margin-bottom: 6.25vw;
  }
}
.media .square-list li a {
  pointer-events: none;
}

.partners {
  margin-top: 8.8541666667vw;
  padding: 3.5416666667vw 0;
  background: #e8e9ea;
}
@media screen and (max-width: 767px) {
  .partners {
    margin-top: 8.3333333333vw;
    padding: 9.0666666667vw 0;
  }
}
.partners .sec-ttl2 img {
  max-width: 9.6875vw;
}
@media screen and (max-width: 767px) {
  .partners .sec-ttl2 img {
    max-width: 24.8vw;
  }
}
.partners .partners-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.3020833333vw 1.5625vw;
  grid-template-areas: ". . . . ." ". . . . ." ". . . msg msg";
}
@media screen and (max-width: 767px) {
  .partners .partners-grid {
    grid-template-columns: 1fr 1fr;
    gap: 3.3333333333vw 4vw;
    grid-template-areas: ". ." ". ." ". ." ". ." ". ." ". ." "msg msg";
  }
}
.partners .partners-grid li:last-of-type {
  font-size: 0.9375vw;
  display: flex;
  align-items: center;
  grid-area: msg;
}
@media screen and (max-width: 767px) {
  .partners .partners-grid li:last-of-type {
    font-size: 3.2vw;
    margin: 0 auto;
  }
}
.partners .partners-grid span {
  display: block;
  color: #333;
  font-size: 0.8333333333vw;
  font-weight: 500;
  text-align: center;
  padding: 0.9375vw 0;
  border-radius: 1.5625vw;
  background: #fff;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .partners .partners-grid span {
    font-size: 3.2vw;
    padding: 2.4vw 0;
    border-radius: 4vw;
  }
}

.sponsor {
  padding: 3.5416666667vw 0 3.125vw;
  background: #f6f6f7;
}
@media screen and (max-width: 767px) {
  .sponsor {
    padding: 9.0666666667vw 0 8vw;
  }
}
.sponsor .sec-ttl2 img {
  max-width: 11.1979166667vw;
}
@media screen and (max-width: 767px) {
  .sponsor .sec-ttl2 img {
    max-width: 28.6666666667vw;
  }
}
.sponsor .sponsor-grid {
  max-width: 41.6666666667vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.5625vw 2.0833333333vw;
}
@media screen and (max-width: 767px) {
  .sponsor .sponsor-grid {
    max-width: 70vw;
    grid-template-columns: 1fr 1fr;
    gap: 5.3333333333vw 5.3333333333vw;
  }
}
.sponsor .sponsor-grid li {
  color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 500;
  text-align: center;
  border-radius: 0.2604166667vw;
}
@media screen and (max-width: 767px) {
  .sponsor .sponsor-grid li {
    font-size: 3.2vw;
    border-radius: 0.6666666667vw;
  }
}

.l-movie .l-movie-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.875vw 2.6041666667vw;
}
@media screen and (max-width: 767px) {
  .l-movie .l-movie-list {
    display: block;
  }
}
.l-movie .l-movie-list iframe {
  width: 28.125vw;
  height: 15.625vw;
}
@media screen and (max-width: 767px) {
  .l-movie .l-movie-list iframe {
    width: 100%;
    height: 53.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .l-movie li {
    margin-bottom: 5.3333333333vw;
  }
}
.l-movie .l-movie-text {
  font-size: 0.9375vw;
  font-weight: bold;
  color: #333;
}
@media screen and (max-width: 767px) {
  .l-movie .l-movie-text {
    font-size: 4vw;
  }
}

.movie_youtube {
  margin-bottom: 8.3333333333vw;
}
@media screen and (max-width: 767px) {
  .movie_youtube .black-border {
    max-width: 53.3333333333vw;
    width: 100%;
  }
}

.l-graduates .l-graduates-intro {
  position: relative;
  margin-top: 8.3333333333vw;
}
.l-graduates .l-graduates-intro:before {
  position: absolute;
  content: "";
  background: #f6f6f7 no-repeat center 2.6041666667vw/100%;
  width: 87.5vw;
  height: 17.1875vw;
  top: -4.1666666667vw;
  z-index: -1;
}
.l-graduates .l-graduates-inner {
  color: #333;
  max-width: 45.0520833333vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-inner {
    max-width: 100%;
  }
}
.l-graduates .l-graduates-inner p {
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-inner p {
    font-size: 1.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-inner .l-sec-ttl {
    text-align: center;
  }
}
.l-graduates .l-graduates-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 3.3854166667vw 1.0416666667vw;
  margin-bottom: 6.7708333333vw;
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-list {
    grid-template-columns: 1fr 1fr;
    gap: 8.6666666667vw 2.6666666667vw;
  }
}
.l-graduates .l-graduates-list li {
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-list li {
    margin-bottom: 5.3333333333vw;
  }
}
.l-graduates .l-graduates-name {
  position: absolute;
  color: #fff;
  font-size: 0.8333333333vw;
  width: 12.5vw;
  padding: 0.6770833333vw 0 0.625vw 1.0416666667vw;
  background: #222;
  letter-spacing: 0.06em;
  bottom: -1.5625vw;
}
@media screen and (max-width: 767px) {
  .l-graduates .l-graduates-name {
    font-size: 2.6666666667vw;
    width: 37.3333333333vw;
  }
}

.l-media .l-media-intro {
  position: relative;
  margin-top: 4.1666666667vw;
}
.l-media .l-media-intro:before {
  position: absolute;
  content: "";
  background: #f6f6f7 no-repeat center 2.6041666667vw/100%;
  width: 100vw;
  height: 14.0625vw;
  top: 3.90625vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-intro:before {
    background: none;
  }
}
.l-media .l-media-inner {
  color: #333;
  max-width: 45.0520833333vw;
  margin: 0 auto 5.2083333333vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-inner {
    max-width: 90%;
  }
}
.l-media .l-media-inner p {
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-inner p {
    font-size: 1.8666666667vw;
  }
}
.l-media .l-media-outer {
  background: #f6f6f7;
  padding-bottom: 3.125vw;
  margin-bottom: 8.3333333333vw;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-outer {
    padding-top: 5.3333333333vw;
  }
}
.l-media .l-media-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.5625vw 1.5625vw;
  background: #f6f6f7;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-list {
    grid-template-columns: 1fr 1fr;
  }
}
.l-media .l-media-list li {
  background: #fff no-repeat center top/cover;
  padding: 1.0416666667vw 1.0416666667vw 2.6041666667vw;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-list li {
    margin-bottom: 4vw;
  }
}
.l-media .l-media-list p {
  font-size: 0.9375vw;
  font-weight: 500;
  margin-top: 1.3020833333vw;
}
@media screen and (max-width: 767px) {
  .l-media .l-media-list p {
    font-size: 4vw;
  }
}

.l-form .l-form-intro {
  margin: 3.75vw 0 4.1666666667vw;
}
.l-form .l-form-inner {
  max-width: 38.0208333333vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-form .l-form-inner {
    max-width: 90%;
  }
}
.l-form .l-sec-ttl {
  text-align: center;
}
.l-form .l-sec-ttl + p {
  margin-bottom: 0;
}
.l-form p,
.l-form .l-form-caution {
  font-size: 0.7291666667vw;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .l-form p,
  .l-form .l-form-caution {
    font-size: 1.8666666667vw;
  }
}
.l-form .l-form-caution {
  display: flex;
}

.l-contact {
  margin-bottom: 3.3854166667vw;
}
.l-contact .l-contact-intro {
  position: relative;
  margin-top: 4.1666666667vw;
  padding-bottom: 3.125vw;
}
@media screen and (max-width: 767px) {
  .l-contact .l-contact-intro {
    margin-bottom: 12vw;
  }
}
.l-contact .l-contact-intro:before {
  position: absolute;
  content: "";
  background: #f6f6f7 no-repeat center 2.6041666667vw/100%;
  width: 100vw;
  height: 17.1875vw;
  top: 1.3020833333vw;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-contact .l-contact-intro:before {
    height: 100%;
  }
}
.l-contact .l-contact-inner {
  color: #333;
  text-align: center;
}
.l-contact .l-contact-text {
  max-width: 36.4583333333vw;
  margin-left: 28.5416666667vw;
  font-size: 0.7291666667vw;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .l-contact .l-contact-text {
    margin-left: 0;
    font-size: 3.2vw;
    max-width: 90%;
    margin: auto;
  }
}

.l-color .l-color-container {
  max-width: 75vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-container {
    max-width: 90%;
  }
}
.l-color .yellow-bg {
  background: url(../img/contact/yellow_bg.png) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .l-color .yellow-bg {
    background: linear-gradient(180deg, rgb(198, 212, 47) 0%, rgb(198, 212, 47) 30%, rgb(212, 224, 85) 30%, rgb(212, 224, 85) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  }
}
.l-color .purple-bg {
  background: url(../img/contact/purple_bg.png) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .l-color .purple-bg {
    background: linear-gradient(180deg, rgb(116, 83, 160) 0%, rgb(116, 83, 160) 30%, rgb(128, 101, 165) 30%, rgb(128, 101, 165) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  }
}
.l-color .l-color-ttl {
  padding: 2.5vw 0 3.125vw 6.6666666667vw;
  font-size: 1.875vw;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-ttl {
    font-size: 4.8vw;
    padding: 6.4vw 0 8vw 2.6666666667vw;
  }
}
.l-color .l-color-ttl span {
  font-size: 1.25vw;
  margin-right: 2.8125vw;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-ttl span {
    font-size: 3.2vw;
    margin-right: 7.2vw;
  }
}
.l-color .l-color-inner {
  max-width: 66.6666666667vw;
  margin: 0 auto 8.3333333333vw;
  background: #fff;
  box-shadow: 0 0 1.0416666667vw 0.5208333333vw rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .l-color .l-color-inner {
    position: relative;
    top: -4vw;
    max-width: 90%;
    box-shadow: 0 0 2.6666666667vw 1.3333333333vw rgba(0, 0, 0, 0.1);
  }
}
.l-color .l-color-grid {
  max-width: 62.5vw;
  padding: 1.9791666667vw 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 1.0416666667vw 1.3020833333vw;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid {
    max-width: 90%;
    grid-template-columns: 1fr 1fr;
  }
}
.l-color .l-color-grid a {
  position: relative;
  transition: 0.7s;
  display: flex;
  align-items: center;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 1.4583333333vw 0 1.4583333333vw 1.4583333333vw;
  min-height: 5.3125vw;
  font-size: 0.9375vw;
  color: #fff;
  background: #000;
  height: 100%;
  border: 0.0520833333vw solid #222;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid a {
    font-size: 2.6666666667vw;
    padding: 1.9791666667vw 0 1.9791666667vw 1.4583333333vw;
    border: 0.1333333333vw solid #222;
  }
}
.l-color .l-color-grid a:before, .l-color .l-color-grid a:after {
  position: absolute;
  content: "";
  top: 50%;
}
.l-color .l-color-grid a:before {
  width: 1.6145833333vw;
  height: 1.6145833333vw;
  border-radius: 50%;
  right: 0.5208333333vw;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid a:before {
    width: 4.1333333333vw;
    height: 4.1333333333vw;
    right: 1.3333333333vw;
  }
}
.l-color .l-color-grid a:after {
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  right: 1.40625vw;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid a:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
    right: 3.6vw;
  }
}
.l-color .l-color-grid a:before {
  border: 1px solid #fff;
}
.l-color .l-color-grid a:after {
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
}
.l-color .l-color-grid a:hover {
  opacity: 1;
  color: #222;
  background: #fff;
}
.l-color .l-color-grid a:hover:before {
  border: 1px solid #222;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid a:hover:before {
    border: 0.1333333333vw solid #222;
  }
}
.l-color .l-color-grid a:hover:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}
.l-color .l-color-grid02 {
  max-width: 62.5vw;
  padding-top: 1.9791666667vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 0 0.9375vw;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 {
    max-width: 90%;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.4vw;
  }
}
.l-color .l-color-grid02 a {
  height: 7.8125vw;
  position: relative;
  transition: 0.7s;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5625vw 1.25vw 3.3333333333vw;
  border: 0.1041666667vw solid #222;
  color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  background: #222;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 a {
    font-size: 2.1333333333vw;
    height: 20vw;
  }
}
.l-color .l-color-grid02 a:before, .l-color .l-color-grid02 a:after {
  position: absolute;
  content: "";
}
.l-color .l-color-grid02 a:before {
  width: 1.6145833333vw;
  height: 1.6145833333vw;
  border: 1px solid #fff;
  border-radius: 50%;
  left: 50%;
  bottom: 1.0416666667vw;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 a:before {
    width: 4.1333333333vw;
    height: 4.1333333333vw;
    bottom: 1.3333333333vw;
  }
}
.l-color .l-color-grid02 a:after {
  width: 0.4166666667vw;
  height: 0.4166666667vw;
  border-top: 0.1041666667vw solid #fff;
  border-right: 0.1041666667vw solid #fff;
  bottom: 1.40625vw;
  left: 48%;
  transform: rotate(45deg) translateX(-50%);
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 a:after {
    width: 1.0666666667vw;
    height: 1.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 a:after {
    bottom: 2.2666666667vw;
  }
}
.l-color .l-color-grid02 a:hover {
  opacity: 1;
  color: #222;
  background: #fff;
}
.l-color .l-color-grid02 a:hover:before {
  border: 1px solid #222;
}
@media screen and (max-width: 767px) {
  .l-color .l-color-grid02 a:hover:before {
    border: 0.1333333333vw solid #222;
  }
}
.l-color .l-color-grid02 a:hover:after {
  border-top: 0.1041666667vw solid #222;
  border-right: 0.1041666667vw solid #222;
}

.form {
  margin-bottom: 3.3854166667vw;
}
.form .form-intro {
  position: relative;
  margin-top: 4.1666666667vw;
  padding-bottom: 3.125vw;
}
.form .form-inner {
  color: #333;
  text-align: center;
}
.form .form-text {
  max-width: 36.4583333333vw;
  margin-left: 28.5416666667vw;
  font-size: 0.7291666667vw;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .form .form-text {
    font-size: 3.2vw;
    max-width: 90%;
    width: 100%;
    margin-left: 0;
    margin: auto;
  }
}
.form .form-entry,
.form .form-confirm {
  background: url(../img/form/form_bg.png) no-repeat center top/contain;
}
.form .form-entry .sec-ttl,
.form .form-confirm .sec-ttl {
  text-align: center;
}
.form .form-entry .sec-ttl:before,
.form .form-confirm .sec-ttl:before {
  left: 39.5%;
  transform: translateX(-50%);
  background: #e7f454;
}
@media screen and (max-width: 767px) {
  .form .form-entry .sec-ttl:before,
  .form .form-confirm .sec-ttl:before {
    left: 33.5%;
  }
}
.form .form-entry {
  padding: 4.1666666667vw 0 8.3333333333vw;
}
.form .form-confirm {
  padding-top: 4.1666666667vw;
}
.form .form-ttl {
  max-width: 11.5104166667vw;
}
@media screen and (max-width: 767px) {
  .form .form-ttl {
    max-width: 29.4666666667vw;
  }
}
.form .attention_box {
  font-size: 0.7291666667vw;
  margin-bottom: 0.5208333333vw;
}
@media screen and (max-width: 767px) {
  .form .attention_box {
    font-size: 3.2vw;
    margin-bottom: 8vw;
  }
}
.form .attention_box .attention-ttl {
  font-weight: bold;
  margin-bottom: 0.5208333333vw;
}
.form .attention_box p {
  margin-bottom: 1.8229166667vw;
}
.form .policy_box {
  font-size: 0.7291666667vw;
  padding: 1.0416666667vw;
  border: 0.1041666667vw solid #222;
  border-radius: 0.2083333333vw;
  margin-bottom: 2.0833333333vw;
  height: 13.0208333333vw;
  overflow: scroll;
}
@media screen and (max-width: 767px) {
  .form .policy_box {
    font-size: 1.8666666667vw;
    height: 26.6666666667vw;
  }
}
.form .policy_box .policy-ttl {
  font-weight: bold;
  margin-bottom: 1.8229166667vw;
}
.form .policy_box p {
  margin-bottom: 1.8229166667vw;
}
@media screen and (max-width: 767px) {
  .form .policy_box p {
    font-size: 2.6666666667vw;
  }
}
.form .privacy_box {
  text-align: center;
  margin-bottom: 4.1666666667vw;
}
.form .privacy_box input[type=checkbox] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  width: 1.5625vw;
  height: 1.5625vw;
  background: #eff0f2;
  border-radius: 0.2083333333vw;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .form .privacy_box input[type=checkbox] {
    width: 4vw;
    height: 4vw;
    vertical-align: middle;
  }
}
.form .privacy_box input[type=checkbox]:after {
  position: absolute;
  content: "";
  display: block;
  opacity: 0;
  width: 1.0416666667vw;
  height: 0.8333333333vw;
  border-bottom: 0.15625vw solid #333;
  border-left: 0.15625vw solid #333;
  transform: rotate(-45deg);
  top: 0.15625vw;
  left: 0.0520833333vw;
}
@media screen and (max-width: 767px) {
  .form .privacy_box input[type=checkbox]:after {
    width: 3.2vw;
    height: 1.6vw;
    border-bottom: 0.5333333333vw solid #333;
    border-left: 0.5333333333vw solid #333;
  }
}
.form .privacy_box input[type=checkbox]:checked:after {
  opacity: 1;
}
.form .privacy_caution {
  margin-bottom: 1.0416666667vw;
}
@media screen and (max-width: 767px) {
  .form .privacy_caution {
    margin-bottom: 2.6666666667vw;
  }
}
.form .mwform-tel-field input {
  font-size: 0.8333333333vw;
  padding: 1.0416666667vw;
  border: none;
  border-radius: 0.2083333333vw;
  background: #eff0f2;
}
@media screen and (max-width: 767px) {
  .form .mwform-tel-field input {
    font-size: 3.7333333333vw;
    padding: 2.6666666667vw;
  }
}
.form .mw_wp_form_confirm .btnBox.btnBack {
  background: #898989;
}
.form .mw_wp_form_confirm .btnBox.btnBack:after {
  position: absolute;
  content: "";
  width: 0.3125vw;
  height: 0.3125vw;
  top: 50%;
  right: 1.0416666667vw;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 0.1041666667vw solid #fff;
  border-left: 0.1041666667vw solid #fff;
}
@media screen and (max-width: 767px) {
  .form .mw_wp_form_confirm .btnBox.btnBack:after {
    width: 1.6vw;
    height: 1.6vw;
    right: 4vw;
  }
}
.form .mw_wp_form_confirm .btnBox.btnBack .btn-checked {
  transition: 0.7s;
  position: relative;
  display: block;
  font-size: 0.8333333333vw;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: center;
  border: 0.1041666667vw solid #898989;
  background: #898989;
  color: #fff;
  width: 15.625vw;
  height: 3.125vw;
}
@media screen and (max-width: 767px) {
  .form .mw_wp_form_confirm .btnBox.btnBack .btn-checked {
    font-size: 3.2vw;
    width: 40vw;
    height: 8vw;
  }
}
.form .mw_wp_form_confirm .btnBox.btnBack:hover:after {
  border-bottom: 0.1041666667vw solid #898989;
  border-left: 0.1041666667vw solid #898989;
}
.form .mw_wp_form_confirm .btnBox.btnBack:hover .btn-checked {
  background: #fff;
  color: #898989;
}/*# sourceMappingURL=style.css.map */