@charset "UTF-8";
/* ====================
design SIZE SET
==================== */
/* ====================
header height
==================== */
/* ===================
 MIXIN
==================== */
.pc {
  display: block;
}

.sp {
  display: none;
}

.p-it-fixed-nav {
  position: fixed;
  top: 2.8571428571vw;
  right: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 削除 */
}
.p-it-fixed-nav__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3571428571vw;
  width: 5.7142857143vw;
  height: auto;
  padding: 0.8571428571vw 0;
  text-decoration: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-it-fixed-nav__item--purple {
  background-color: #765ef2;
  color: #fff;
  border-radius: 0.8571428571vw 0 0 0;
}
.p-it-fixed-nav__item--green {
  background-color: #8eff91;
  color: #000;
  border-radius: 0 0 0 0.8571428571vw;
}
.p-it-fixed-nav__main {
  margin: 0;
  font-size: 2.1428571429vw;
  font-weight: 900;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
}
.p-it-fixed-nav__sub {
  position: static;
  margin: 0;
  font-size: 1.0714285714vw;
  font-weight: 900;
  line-height: 1.1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}

.p-it-comp-top-subtitle.pc {
  display: inline-block;
  background: #2a1500;
  color: #fff;
  font-size: 1.7142857143vw;
  font-weight: 700;
  padding: 0.5714285714vw 0.7142857143vw;
  margin-bottom: 1.4285714286vw;
  line-height: 1;
  letter-spacing: 2px;
}

.p-it-comp-top-subtitle.sp {
  display: none;
}

body {
  background-color: #eeeeee;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  margin: 0;
}
body p {
  margin: 0;
}

h2 {
  margin: 0;
}

.p-it-top {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  aspect-ratio: 1400/1900;
}
.p-it-top-bg--left {
  position: absolute;
  top: 36.5714285714vw;
  left: 0;
  width: 54.2857142857vw;
  padding-top: 18.5714285714vw;
  z-index: 0;
}
.p-it-top-bg--right {
  position: absolute;
  top: 0;
  right: 0;
  width: 50.7142857143vw;
  z-index: 0;
}
.p-it-top-bg--single {
  position: absolute;
  bottom: -26.4285714286vw;
  right: 2.2857142857vw;
  width: 22.4285714286vw;
}
.p-it-top-left {
  position: absolute;
  z-index: 2;
  left: 10vw;
  top: 7.1428571429vw;
}
.p-it-top-left h1 {
  font-family: "Dela Gothic One", sans-serif;
  font-size: 20px;
  color: #765ef2;
  letter-spacing: 2px;
}
.p-it-top-left h2 img {
  width: 38.5714285714vw;
  margin: 20px 0;
}
.p-it-top-left p {
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  letter-spacing: 1.4px;
}
.p-it-top-rights {
  position: absolute;
  right: 1.4285714286vw;
  top: 53.2857142857vw;
  padding-top: 21.4285714286vw;
}
.p-it-top-right h2 {
  color: #2a1500;
  font-size: 4.5vw;
  font-weight: 900;
  line-height: 1.4;
}
.p-it-top-right p {
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  letter-spacing: 1.4px;
}
.p-it-top-container-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4.2857142857vw 0;
  border-bottom: 2px solid #000;
}
.p-it-top-container-item-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-it-top-container-number {
  width: 2.0714285714vw;
  height: 2.2142857143vw;
  margin-right: 2.1428571429vw;
}
.p-it-top-container-number img {
  height: 2.5vw;
}
.p-it-top-container-title {
  width: 18.9285714286vw;
  font-size: 1.8571428571vw;
  font-weight: bold;
  color: #2a1500;
  letter-spacing: 1.4px;
}
.p-it-top-container-text {
  width: 24.2857142857vw;
  font-size: 1vw;
  font-weight: 600;
  color: #2a1500;
  margin-top: 0.7142857143vw;
}
.p-it-highlight--purple {
  color: #765ef2;
}
.p-it-highlight--green {
  color: #8eff91;
}
.p-it-pro {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  text-align: center;
  padding-top: 10.7142857143vw;
  padding-bottom: 3.5714285714vw;
}
.p-it-pro-top-badge {
  display: inline-block;
  background: #765ef2;
  color: #fff;
  font-weight: bold;
  font-size: 1.7142857143vw;
  padding: 0.3571428571vw 1.0714285714vw;
  border-radius: 0.7142857143vw;
  letter-spacing: 0.3571428571vw;
  vertical-align: middle;
}
.p-it-pro-top-title {
  display: block;
  width: 40vw;
  margin: 1.4285714286vw auto;
}
.p-it-pro-top-text {
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  letter-spacing: 1.4px;
  line-height: 1.8;
  margin-top: 1.4285714286vw;
  margin-bottom: 2.8571428571vw;
}
.p-it-pro-table {
  width: 78.5714285714vw;
  margin: 0 auto;
  text-align: left;
}
.p-it-pro-table-item {
  border: 1px solid #000;
  margin-bottom: 0vw;
}
.p-it-pro-table-question {
  background: #000;
  color: #fff;
  font-weight: bold;
  font-size: 1.4285714286vw;
  text-align: center;
  padding: 1.1428571429vw 0;
  margin: 0;
}
.p-it-pro-table-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-it-pro-table-col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3.2142857143vw;
  padding: 1.7142857143vw 2.2857142857vw;
}
.p-it-pro-table-col--ai {
  border-right: 1px solid #000;
}
.p-it-pro-table-col--pro .p-it-pro-table-icon {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
.p-it-pro-table-icon {
  height: 3.2142857143vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-it-pro-table-label {
  font-weight: bold;
  font-size: 1.0714285714vw;
  margin-bottom: 0.5714285714vw;
  color: #2a1500;
}
.p-it-pro-table-text {
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  letter-spacing: normal;
  line-height: 1.4;
  margin: 0;
}
.p-it-pro-table-text--bgpurple {
  background-color: #765ef2;
  color: #fff;
  font-size: 1.1428571429vw;
  font-weight: 600;
  margin-bottom: 0.3571428571vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: -1px;
}
.p-it-pro-note {
  margin-top: 1.7142857143vw;
  font-size: 1vw;
  font-weight: 600;
  letter-spacing: 1.4px;
  color: #2a1500;
}
.p-it-recommend {
  background-color: #765ef2;
  padding: 4.2857142857vw 0;
  padding-bottom: 7.1428571429vw;
}
.p-it-recommend-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 85.7142857143vw;
  margin: 0 auto;
  padding: 0 1.4285714286vw;
}
.p-it-recommend-top-left {
  position: relative;
  z-index: 2;
  color: #fff;
}
.p-it-recommend-top-small {
  font-size: 2.7857142857vw;
  font-weight: 700;
  margin-bottom: 0.5714285714vw;
}
.p-it-recommend-top-big {
  font-size: 5.1428571429vw;
  font-weight: 900;
  line-height: 1.3;
}
.p-it-recommend-top-medium {
  font-size: 3vw;
  font-weight: 900;
  line-height: 1.3;
}
.p-it-recommend-top-desc {
  margin-top: 1.4285714286vw;
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.8;
}
.p-it-recommend-top-right {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24.2857142857vw;
}
.p-it-recommend-top-right img {
  position: absolute;
  z-index: 1;
  top: -10vw;
  left: -10.7142857143vw;
  width: 31.4285714286vw;
  display: block;
}
.p-it-recommend-test {
  max-width: 85.7142857143vw;
  margin: 2.8571428571vw auto 0;
}
.p-it-recommend-test-heading {
  position: relative;
  background: #8eff91;
  color: #765ef2;
  font-size: 2.5714285714vw;
  font-weight: bold;
  text-align: center;
  padding: 0.7142857143vw 0;
  margin-bottom: 0;
}
.p-it-recommend-test-heading::after {
  content: "";
  position: absolute;
  bottom: -1.2857142857vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.4285714286vw solid transparent;
  border-right: 1.4285714286vw solid transparent;
  border-top: 1.4285714286vw solid #8eff91;
}
.p-it-recommend-test-box {
  background: #fff;
  margin-top: 0;
  padding: 0.7142857143vw;
}
.p-it-cta {
  position: relative;
  background-color: #8eff91;
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 3.5714285714vw 7.1428571429vw;
}
.p-it-cta-left {
  position: relative;
  z-index: 2;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  color: #765ef2;
}
.p-it-cta-lead {
  font-size: 2.7142857143vw;
  font-weight: 900;
  line-height: 1;
}
.p-it-cta-title {
  font-family: "Dela Gothic One", sans-serif;
  font-size: 5.5714285714vw;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 7px;
  position: relative;
}
.p-it-cta-badge {
  position: absolute;
  z-index: 2;
  top: 1.7857142857vw;
  right: 2vw;
  display: inline-block;
  vertical-align: middle;
  background: #765ef2;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7857142857vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: normal;
  padding: 1.0714285714vw 0.7142857143vw 1.0714285714vw 1.7857142857vw;
}
.p-it-cta-desc {
  margin-top: 1.1428571429vw;
  font-size: 1.2857142857vw;
  font-weight: 600;
  color: #2a1500;
  line-height: 1.5;
}
.p-it-cta-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.1428571429vw;
  margin-top: 1.7142857143vw;
}
.p-it-cta-btn {
  width: 25vw;
  height: 5.7142857143vw;
  font-size: 1.2857142857vw;
  letter-spacing: 2px;
  font-weight: 600;
  border-radius: 999px;
  cursor: pointer;
  border: 4px solid #765ef2;
}
.p-it-cta-btn--filled {
  background: #765ef2;
  color: #fff;
}
.p-it-cta-btn--outline {
  background: #fff;
  color: #765ef2;
}
.p-it-cta-right {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24.2857142857vw;
  height: 20vw;
  z-index: 2;
}
.p-it-cta-right img {
  position: absolute;
  z-index: 3;
  top: -10vw;
  right: 0;
  width: 30vw;
}
.p-it-comp {
  padding-bottom: 4.2857142857vw;
}
.p-it-comp-top {
  text-align: center;
  padding: 4.2857142857vw 0;
}
.p-it-comp-top-title--small {
  font-size: 3.0714285714vw;
  font-weight: 900;
  color: #2a1500;
  margin-bottom: 0.5714285714vw;
  line-height: 1;
}
.p-it-comp-top h2.p-it-comp-top-title {
  font-size: 5.9285714286vw;
  font-weight: 900;
  color: #2a1500;
  line-height: 1.3;
  margin-bottom: 1.1428571429vw;
}
.p-it-comp-top-subtitle {
  display: inline-block;
  background: #2a1500;
  color: #fff;
  font-size: 1.7142857143vw;
  font-weight: 700;
  padding: 0.5714285714vw 0.7142857143vw;
  margin-bottom: 1.4285714286vw;
  line-height: 1;
  letter-spacing: 2px;
}
.p-it-comp-top-text {
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  line-height: 1.6;
}
.p-it-mirai {
  position: relative;
  padding: 4.2857142857vw 0;
  /* ========================================
      COMPANY
  ======================================== */
}
.p-it-mirai-head {
  padding: 0 0 2.5vw 0;
  text-align: center;
}
.p-it-mirai-head-title {
  margin: 0;
  font-size: 3.0714285714vw;
  font-weight: 900;
  color: #2a1500;
  line-height: 1.4;
}
.p-it-mirai-head-title span {
  color: #765ef2;
}
.p-it-mirai-head-text {
  margin-top: 1.4285714286vw;
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
}
.p-it-mirai-company-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
}
.p-it-mirai-company-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 18.5714285714vw;
  padding: 2.2857142857vw;
}
.p-it-mirai-company-item:not(:last-child) {
  border-right: 1px solid #999;
}
.p-it-mirai-company-item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.2857142857vw;
}
.p-it-mirai-company-item-name {
  margin: 0;
  color: #765ef2;
  font-size: 1.4285714286vw;
  font-weight: 900;
}
.p-it-mirai-company-item-icon {
  width: 2.2857142857vw;
  height: auto;
}
.p-it-mirai-company-item-text {
  margin: 0;
  color: #2a1500;
  font-size: 2vw;
  font-weight: 700;
  line-height: 1.5;
}
.p-it-mirai {
  /* ========================================
      TOP
  ======================================== */
}
.p-it-mirai-top {
  position: relative;
  z-index: 1;
  right: -15vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 1100px;
  margin: 0 auto 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 8.5714285714vw;
}
.p-it-mirai-top-bg {
  position: absolute;
  top: 42.8571428571vw;
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 50vw;
  height: 28.5714285714vw;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
.p-it-mirai-top-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.7142857143vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 0;
  font-size: 2.4285714286vw;
  font-weight: 900;
  line-height: 1.3;
  color: #2a1500;
}
.p-it-mirai-top-title-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  padding: 0 0.5714285714vw;
  font-size: 4.2857142857vw;
  background-color: #765ef2;
  color: #fff;
  letter-spacing: 2px;
}
.p-it-mirai-top-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  font-size: 1.1428571429vw;
  font-weight: 600;
  color: #2a1500;
  margin-top: 0.8571428571vw;
}
.p-it-mirai {
  /* ========================================
      CONTENT
  ======================================== */
}
.p-it-mirai-container {
  position: relative;
  z-index: 1;
  max-width: 71.4285714286vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.7142857143vw;
}
.p-it-mirai-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border: 1px solid #000;
}
.p-it-mirai-item-left {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2.8571428571vw;
}
.p-it-mirai-item-label {
  font-family: "Dela Gothic One", sans-serif;
  font-size: 1.4285714286vw;
  font-weight: bold;
  color: #765ef2;
  letter-spacing: 1px;
  margin-bottom: 0.5714285714vw;
}
.p-it-mirai-item-title {
  font-size: 1.7142857143vw;
  font-weight: 600;
  color: #2a1500;
  margin-bottom: 0.8571428571vw;
}
.p-it-mirai-item-text {
  font-size: 1.1428571429vw;
  font-weight: 500;
  color: #444;
  line-height: 1.9;
  width: 35.7142857143vw;
}
.p-it-mirai-item-right {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 27.1428571429vw;
  background: #4a4a4a;
}
.p-it-mirai-item-right img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-it-mirai-item {
  /* 既存の矢印を共通で使用 */
}
.p-it-mirai-item-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 3.5714285714vw;
  height: 3.5714285714vw;
  background: #000;
  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;
  border: none;
  outline: none;
}
.p-it-mirai-item-arrow img {
  display: block;
  width: 1.4285714286vw;
  height: 1.4285714286vw;
}

.p-it-pro-table-label.p-it-highlight--green {
  color: #39c83d;
  margin-top: 0;
}

.p-it-pro-table-label.p-it-highlight--purple {
  color: #765ef2;
  margin-top: 0;
}

#mockup .diagbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
}
#mockup .diagbox .progress {
  font-size: 1.0714285714vw;
  font-family: "Dela Gothic One", sans-serif;
  color: #765ef2;
}
#mockup .diagbox .qustion {
  font-size: 1.7142857143vw;
}
#mockup .diagbox .option {
  text-align: center;
  border: #9886f3 solid 1px;
  width: 57.1428571429vw;
}
#mockup .diagbox .option.selected {
  color: #fff;
  background-color: #9886f3;
}
#mockup .diagbox .btn {
  border-radius: 15px;
  padding: 0.7142857143vw 2.1428571429vw;
}
#mockup .diagbox .btn.blue {
  background-color: #000;
  border: #000;
}

/* ========================================
  TAB MENU PC
======================================== */
.course-tabs {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.course-tabs__button {
  min-width: 0;
  height: 6.4285714286vw;
  background-color: #fff;
  border: 1px solid #000;
  padding: 0;
}
.course-tabs__button p {
  font-size: 1.2857142857vw;
  font-weight: bold;
}
.course-tabs__button span {
  font-size: 1vw;
  font-weight: lighter;
}
.course-tabs__button.is-active {
  background: #7657f6;
  color: #fff;
}
.course-item {
  display: none;
}
.course-item.is-active {
  display: block;
}
.course-item__accordion {
  display: none;
}
.course-item__accordion-text--small {
  font-size: 2.2857142857vw;
}
.course-main {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
.course-main__text {
  padding: 40px;
  background-color: #fff;
}
.course-main__image img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.course-main__illust {
  position: absolute;
  left: 50%;
  bottom: 14%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.course-main__illust img {
  height: 17.8571428571vw;
}
.course-main-title {
  font-size: 2.7142857143vw;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: -2px;
}
.course-main-before {
  font-size: 1.1428571429vw;
  font-weight: normal;
}
.course-main-subtitle {
  font-size: 1.2857142857vw;
  font-weight: bold;
  line-height: 1.2;
  margin: 0.7142857143vw 0;
}
.course-main-text {
  width: 32.1428571429vw;
  font-size: 1vw;
  font-weight: 600;
  padding-bottom: 2.8571428571vw;
}
.course-main-button {
  font-size: 1.1428571429vw;
  font-weight: bold;
  color: #765ef2;
  background-color: #8eff91;
  padding: 1.0714285714vw;
  border-radius: 999px;
}
.course-main-button--purple {
  background-color: #765ef2;
  color: #8eff91;
  padding: 0.3571428571vw;
  border-radius: 999px;
  margin-right: 0.7142857143vw;
}
.course-info {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
}
.course-info__item {
  min-height: 15.7142857143vw;
  padding: 2.5vw 2.8571428571vw;
}
.course-info__item:not(:last-child) {
  border-right: 1px solid #999;
}
.course-info__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.7857142857vw;
}
.course-info__head h3 {
  margin: 0;
  color: #7657f6;
  font-size: 1.7142857143vw;
  font-weight: 700;
}
.course-info__icon {
  width: 2.8571428571vw;
  height: auto;
}
.course-info__text {
  margin: 0;
  width: 26.0714285714vw;
  font-size: 1vw;
  font-weight: 600;
  line-height: 1.7;
}
.course-info__list {
  margin: 0;
  padding-left: 1.4285714286vw;
}
.course-info__list li {
  font-size: 1vw;
  font-weight: 600;
  line-height: 1.6;
}
.course-interview {
  padding: 30px 55px 40px;
  background: url(../img/tab-bg.png);
  background-size: cover;
}
.course-interview__title {
  margin: 0 0 20px;
  color: #fff;
  font-size: 2.4285714286vw;
  font-weight: 900;
  text-align: center;
  text-shadow: 3px 3px 0px #765ef2, -3px -3px 0px #765ef2, -3px 3px 0px #765ef2, 3px -3px 0px #765ef2, 3px 0px 0px #765ef2, -3px 0px 0px #765ef2, 0px 3px 0px #765ef2, 0px -3px 0px #765ef2;
}
.course-interview__list {
  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;
}
.course-interview__item {
  width: 85.7142857143vw;
  padding: 25px 30px;
  background: #fff;
  border-radius: 12px;
}
.course-interview__label {
  margin: 0 0 10px;
  color: #7657f6;
  font-size: 1.4285714286vw;
  font-weight: 700;
  text-align: right;
  letter-spacing: 2px;
}
.course-interview-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.course-interview__question {
  margin: 0 0 10px;
  color: #7657f6;
  font-size: 1.2857142857vw;
  font-weight: 700;
  line-height: 1.5;
}
.course-interview__text {
  margin: 0;
  color: #111;
  font-size: 1vw;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 1.7;
}

.p-it-mirai-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4.2857142857vw;
}
.p-it-mirai-modal.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-it-mirai-modal__bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.p-it-mirai-modal__inner {
  position: relative;
  z-index: 1;
  width: 57.1428571429vw;
  max-width: 800px;
  padding: 5vw;
  background: #fff;
  border-radius: 0.7142857143vw;
}
.p-it-mirai-modal__content {
  position: relative;
}
.p-it-mirai-modal__title {
  margin: 0 0 1.4285714286vw;
  color: #765ef2;
  font-size: 1.4285714286vw;
  font-weight: 900;
  line-height: 1.5;
}
.p-it-mirai-modal__text {
  margin: 0;
  color: #2a1500;
  font-size: 1vw;
  font-weight: 600;
  line-height: 1.8;
}
.p-it-mirai-modal__close {
  position: absolute;
  top: 0.7142857143vw;
  right: 0.7142857143vw;
  width: 2.8571428571vw;
  height: 2.8571428571vw;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.p-it-mirai-modal__close::before, .p-it-mirai-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.5vw;
  height: 2px;
  background: #111;
}
.p-it-mirai-modal__close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.p-it-mirai-modal__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #0b121d;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
}
footer p {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  text-align: right;
  padding-right: 25px;
  vertical-align: middle;
}

/* ========================================
   TAB MENU SP
======================================== */
@media (max-width: 768px) {
  .course-contents {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    border: 1px solid #000;
    border-bottom: none;
  }
  .course {
    /* PC用タブを非表示 */
  }
  .course-tabs {
    display: none;
  }
  .course {
    /* 全コースを表示 */
  }
  .course-item {
    display: block;
    width: 87.1794871795vw;
  }
  .course-item.is-active {
    display: block;
  }
  .course-item {
    /* アコーディオンボタン */
  }
  .course-item__accordion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 16px 20px;
    border: 0;
    background: #7657f6;
    border-bottom: 1px solid #000;
    color: #fff;
    text-align: left;
    cursor: pointer;
  }
  .course-item__accordion-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .course-item__accordion {
    /* アイコン */
  }
  .course-item__accordion-icon {
    position: relative;
    width: 20px;
    height: 20px;
  }
  .course-item__accordion-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: translate(-50%, -65%) rotate(45deg);
            transform: translate(-50%, -65%) rotate(45deg);
  }
  .is-open .course-item__accordion-icon::before {
    -webkit-transform: translate(-50%, -35%) rotate(225deg);
            transform: translate(-50%, -35%) rotate(225deg);
  }
  .course-item__body {
    height: 0;
    overflow: hidden;
    -webkit-transition: height 0.7s ease;
    transition: height 0.7s ease;
  }
  .course-item.is-open .course-item__accordion-icon::after {
    opacity: 0;
  }
  .course {
    /* メイン */
  }
  .course-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .course-main__image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .course-main-text {
    width: 100%;
    font-size: 3.0769230769vw;
  }
  .course-main__text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 20px;
    font-size: 3.0769230769vw;
  }
  .course-main__illust {
    top: 19.2307692308vw;
    right: auto;
    left: 3.8461538462vw;
    bottom: auto;
    -webkit-transform: none;
            transform: none;
  }
  .course-main__illust img {
    height: 35.2564102564vw;
  }
  .course-main-subtitle {
    font-size: 4.8717948718vw;
  }
  .course-main-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 74.358974359vw;
    height: 16.6666666667vw;
    font-size: 4.358974359vw;
  }
  .course-main-button--purple {
    font-size: 3.3333333333vw;
    border-radius: 9px;
    padding: 0vw 2.5641025641vw;
  }
  .course {
    /* 情報 */
  }
  .course-info {
    display: block;
  }
  .course-info__item {
    min-height: 0;
    padding: 20px;
  }
  .course-info__item:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid #999;
  }
  .course-info__head {
    margin-bottom: 12px;
  }
  .course-info__head h3 {
    font-size: 20px;
  }
  .course-info__icon {
    width: 28px;
  }
  .course-info__text, .course-info__list li {
    width: 100%;
    font-size: 13px;
  }
  .course-info__list {
    padding-left: 5.1282051282vw;
  }
  .course {
    /* インタビュー */
  }
  .course-interview {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 6.4102564103vw 3.8461538462vw;
  }
  .course-interview__list {
    display: block;
  }
  .course-interview__title {
    font-size: 4.358974359vw;
  }
  .course-interview__item + .course-interview__item {
    margin-top: 15px;
  }
  .course-interview__label {
    font-size: 3.0769230769vw;
  }
  .course-interview__item {
    width: 74.8717948718vw;
    height: 100%;
  }
  .course-interview__question {
    font-size: 3.5897435897vw;
  }
  .course-interview__text {
    font-size: 3.0769230769vw;
  }
  .course-main__illust.first {
    top: 19.8717948718vw;
    left: 3.2051282051vw;
  }
  .course-main__illust.first img {
    width: 39.1025641026vw;
    height: 34.8717948718vw;
  }
  .course-main__illust.second {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 21.1538461538vw;
    right: 2.5641025641vw;
    left: auto;
  }
  .course-main__illust.second img {
    width: 29.1025641026vw;
    height: 31.9230769231vw;
  }
  .course-main__illust.third {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 23.7179487179vw;
    right: 1.9230769231vw;
    left: auto;
  }
  .course-main__illust.third img {
    width: 33.5897435897vw;
    height: 33.2051282051vw;
  }
  .course-main__illust.fourth {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 26.2820512821vw;
    right: 3.2051282051vw;
    left: auto;
  }
  .course-main__illust.fourth img {
    width: 30.1282051282vw;
    height: 32.0512820513vw;
  }
}
/* ========================================
 SP
======================================== */
@media (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .p-it-comp-top-subtitle.pc {
    display: none;
  }
  .p-it-comp-top-subtitle.sp {
    display: block;
  }
  .p-it-top {
    position: relative;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    aspect-ratio: 780/3100;
  }
  .p-it-top h1 {
    position: absolute;
    z-index: 3;
    font-family: "Dela Gothic One", sans-serif;
    font-size: 3.3333333333vw;
    color: #765ef2;
    letter-spacing: 2px;
    left: 20%;
    top: 5.1282051282vw;
  }
  .p-it-top-bg--left {
    position: absolute;
    top: 131.2820512821vw;
    left: 0;
    width: 100%;
    z-index: 0;
  }
  .p-it-top-bg--right {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
  }
  .p-it-top-bg--single {
    position: absolute;
    bottom: -29.4871794872vw;
    right: 5.1282051282vw;
    width: 27.4358974359vw;
    z-index: -1;
  }
  .p-it-top-left {
    position: absolute;
    z-index: 2;
    left: 5.7692307692vw;
    top: 76.9230769231vw;
  }
  .p-it-top-left h1 {
    font-family: "Dela Gothic One", sans-serif;
    font-size: 2.5641025641vw;
    color: #765ef2;
    letter-spacing: 2px;
  }
  .p-it-top-left h2 img {
    width: 85.8974358974vw;
    margin: 0;
  }
  .p-it-top-left p {
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
    letter-spacing: 1px;
    width: 85.8974358974vw;
  }
  .p-it-top-rights {
    position: absolute;
    z-index: 2;
    right: 2.5641025641vw;
    top: 243.5897435897vw;
  }
  .p-it-top-right {
    width: 100%;
    padding-left: 6.4102564103vw;
  }
  .p-it-top-right h2 {
    color: #2a1500;
    font-size: 7.4358974359vw;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 3.5897435897vw;
  }
  .p-it-top-right p {
    width: 84.1025641026vw;
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
    letter-spacing: normal;
    margin-bottom: 6.4102564103vw;
  }
  .p-it-top-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-it-top-container-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 79.4871794872vw;
    padding: 5.1282051282vw 0;
    border-bottom: 1px solid #000;
  }
  .p-it-top-container-number {
    width: 17.3076923077vw;
  }
  .p-it-top-container-number img {
    height: 8.5897435897vw;
  }
  .p-it-top-container-title {
    width: 100%;
    font-size: 5.641025641vw;
    font-weight: bold;
    color: #2a1500;
    letter-spacing: 1.4px;
  }
  .p-it-top-container-text {
    width: 100%;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #2a1500;
    line-height: 1;
  }
  .p-it-pro {
    max-width: 1400px;
    padding-top: 19.2307692308vw;
    padding-bottom: 12.8205128205vw;
  }
  .p-it-pro-top-badge {
    font-size: 3.0769230769vw;
    padding: 0.641025641vw 1.9230769231vw;
    border-radius: 1.2820512821vw;
    letter-spacing: 0.641025641vw;
  }
  .p-it-pro-top-title {
    width: 71.7948717949vw;
    margin: 2.5641025641vw auto;
  }
  .p-it-pro-top-text {
    font-size: 3.3333333333vw;
    letter-spacing: 1.4px;
    margin-top: 2.5641025641vw;
    margin-bottom: 5.1282051282vw;
  }
  .p-it-pro-table {
    width: 87.1794871795vw;
    margin-top: 5.1282051282vw;
  }
  .p-it-pro-table-item {
    margin-bottom: 1.2820512821vw;
  }
  .p-it-pro-table-question {
    font-size: 4.1025641026vw;
    padding: 2.0512820513vw 0;
    text-align: left;
    padding-left: 8.9743589744vw;
    text-indent: -5.1282051282vw;
    line-height: 1.4;
  }
  .p-it-pro-table-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-it-pro-table-col {
    gap: 5.7692307692vw;
    padding: 3.0769230769vw 4.1025641026vw;
  }
  .p-it-pro-table-col:first-of-type {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-it-pro-table-col--ai {
    border-bottom: #000 solid 1px;
    border-right: none;
  }
  .p-it-pro-table-icon {
    width: 7.0512820513vw;
    height: auto;
  }
  .p-it-pro-table-label {
    font-size: 3.0769230769vw;
    margin-bottom: 1.0256410256vw;
  }
  .p-it-pro-table-text {
    width: 64.1025641026vw;
    font-size: 3.3333333333vw;
  }
  .p-it-pro-table-text--bgpurple {
    font-size: 3.3333333333vw;
  }
  .p-it-pro-note {
    margin-top: 3.0769230769vw;
    font-size: 2.5641025641vw;
    letter-spacing: 1.2px;
  }
  .p-it-highlight--purple {
    color: #765ef2;
  }
  .p-it-highlight--green {
    color: #8eff91;
  }
  .p-it-recommend {
    background-color: #765ef2;
    padding: 7.6923076923vw 0;
    padding-bottom: 12.8205128205vw;
  }
  .p-it-recommend-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 100vw;
    margin: 0 auto;
    padding: 0 5.7692307692vw;
  }
  .p-it-recommend-top-left {
    position: relative;
    z-index: 2;
    color: #fff;
  }
  .p-it-recommend-top-small {
    font-size: 5vw;
    font-weight: 700;
    margin-bottom: 1.0256410256vw;
  }
  .p-it-recommend-top-big {
    font-size: 9.2307692308vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .p-it-recommend-top-medium {
    font-size: 5.3846153846vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .p-it-recommend-top-desc {
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
    font-weight: 500;
    line-height: 1.8;
  }
  .p-it-recommend-top-right {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: auto;
  }
  .p-it-recommend-top-right img {
    position: absolute;
    z-index: 1;
    top: -23.0769230769vw;
    right: -5.7692307692vw;
    left: auto;
    width: 46.1538461538vw;
    display: block;
  }
  .p-it-recommend-test {
    max-width: 87.1794871795vw;
    margin: 5.1282051282vw auto 0;
  }
  .p-it-recommend-test-heading {
    position: relative;
    background: #8eff91;
    color: #765ef2;
    font-size: 6.0256410256vw;
    font-weight: bold;
    text-align: center;
    padding: 1.2820512821vw 0;
    margin-bottom: 0;
  }
  .p-it-recommend-test-heading::after {
    content: "";
    position: absolute;
    bottom: -2.3076923077vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 2.5641025641vw solid transparent;
    border-right: 2.5641025641vw solid transparent;
    border-top: 2.5641025641vw solid #8eff91;
  }
  .p-it-recommend-test-box {
    background: #fff;
    margin-top: 0;
    padding: 1.2820512821vw;
  }
  .p-it-cta {
    position: relative;
    background-color: #8eff91;
    overflow: visible;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding: 6.4102564103vw 5.1282051282vw;
  }
  .p-it-cta-left {
    position: relative;
    z-index: 3;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    color: #765ef2;
    width: 100%;
  }
  .p-it-cta-lead {
    font-size: 4.8717948718vw;
    font-weight: 900;
    line-height: 1;
  }
  .p-it-cta-title {
    font-family: "Dela Gothic One", sans-serif;
    font-size: 13.7179487179vw;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 7px;
    position: relative;
  }
  .p-it-cta-title--small {
    font-family: "Dela Gothic One", sans-serif;
    font-size: 8.5897435897vw;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 5px;
    position: relative;
  }
  .p-it-cta-badge {
    position: absolute;
    z-index: 2;
    top: 16.6666666667vw;
    right: -44.8717948718vw;
    display: inline-block;
    vertical-align: middle;
    background: #765ef2;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.2051282051vw;
    font-weight: 700;
    text-align: center;
    letter-spacing: normal;
    padding: 3.2051282051vw 1.2820512821vw 3.2051282051vw 3.2051282051vw;
  }
  .p-it-cta-desc {
    margin-top: 2.0512820513vw;
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
    line-height: 1.5;
    width: 83.0769230769vw;
  }
  .p-it-cta-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.0512820513vw;
    margin-top: 3.0769230769vw;
  }
  .p-it-cta-btn {
    width: 42.3076923077vw;
    height: 15.3846153846vw;
    font-size: 3.3333333333vw;
    letter-spacing: 1px;
    font-weight: 600;
    border-radius: 18px;
    cursor: pointer;
    border: 4px solid #765ef2;
    line-height: 1.4;
  }
  .p-it-cta-btn--filled {
    background: #765ef2;
    color: #fff;
  }
  .p-it-cta-btn--outline {
    background: #fff;
    color: #765ef2;
    border: 2px solid #765ef2;
  }
  .p-it-cta-right {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 43.5897435897vw;
    height: 35.8974358974vw;
    z-index: 2;
  }
  .p-it-cta-right img {
    position: absolute;
    z-index: 0;
    top: -34.2307692308vw;
    right: -5.1282051282vw;
    width: 43.2051282051vw;
  }
  .p-it-comp {
    padding-bottom: 7.6923076923vw;
  }
  .p-it-comp-top {
    text-align: center;
    padding: 7.6923076923vw 0;
  }
  .p-it-comp-top-title--small {
    font-size: 5.5128205128vw;
    font-weight: 900;
    color: #2a1500;
    margin-bottom: 1.0256410256vw;
    line-height: 1;
  }
  .p-it-comp-top h2.p-it-comp-top-title {
    font-size: 10.641025641vw;
    font-weight: 900;
    color: #2a1500;
    line-height: 1.3;
    margin-bottom: 2.0512820513vw;
  }
  .p-it-comp-top-subtitle {
    display: inline-block;
    background: #2a1500;
    color: #fff;
    font-size: 3.0769230769vw;
    font-weight: 700;
    padding: 1.0256410256vw 1.2820512821vw;
    margin-bottom: 1.2820512821vw;
    line-height: 1;
    letter-spacing: 2px;
  }
  .p-it-comp-top-text {
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
    line-height: 1.6;
  }
  .p-it-mirai {
    position: relative;
    padding: 7.6923076923vw 0;
    /* ========================================
        COMPANY
    ======================================== */
  }
  .p-it-mirai-head {
    padding: 0 0 4.4871794872vw 0;
    text-align: center;
  }
  .p-it-mirai-head-title {
    margin: 0;
    font-size: 10.641025641vw;
    font-weight: 900;
    color: #2a1500;
    line-height: 1.3;
  }
  .p-it-mirai-head-title span {
    color: #765ef2;
  }
  .p-it-mirai-head-text {
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
  }
  .p-it-mirai-company-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
  }
  .p-it-mirai-company-item {
    width: 87.1794871795vw;
    height: 52.5641025641vw;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 33.3333333333vw;
    padding: 4.1025641026vw;
  }
  .p-it-mirai-company-item:not(:last-child) {
    border-right: 1px solid #999;
  }
  .p-it-mirai-company-item-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 2.3076923077vw;
  }
  .p-it-mirai-company-item-name {
    margin: 0;
    color: #765ef2;
    font-size: 3.8461538462vw;
    font-weight: 900;
  }
  .p-it-mirai-company-item-icon {
    width: 4.1025641026vw;
    height: auto;
  }
  .p-it-mirai-company-item-text {
    margin: 0;
    color: #2a1500;
    font-size: 5.3846153846vw;
    font-weight: 700;
    line-height: 1.5;
  }
  .p-it-mirai {
    /* ========================================
        TOP
    ======================================== */
  }
  .p-it-mirai-top {
    position: relative;
    z-index: 1;
    left: 0vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 1100px;
    margin: 0 auto 8.9743589744vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 53.8461538462vw;
  }
  .p-it-mirai-top-bg {
    position: absolute;
    top: 153.8461538462vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100vw;
    height: 51.2820512821vw;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 0;
    pointer-events: none;
  }
  .p-it-mirai-top-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.2820512821vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    padding: 0;
    font-size: 4.358974359vw;
    font-weight: 900;
    line-height: 1.3;
    color: #2a1500;
  }
  .p-it-mirai-top-title-text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    padding: 0 1.0256410256vw;
    font-size: 7.6923076923vw;
    background-color: #765ef2;
    color: #fff;
    letter-spacing: 2px;
  }
  .p-it-mirai-top-text {
    width: 87.1794871795vw;
    position: relative;
    z-index: 1;
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #2a1500;
    margin-top: 1.5384615385vw;
  }
  .p-it-mirai {
    /* ========================================
        CONTENT
    ======================================== */
  }
  .p-it-mirai-container {
    position: relative;
    z-index: 1;
    max-width: 128.2051282051vw;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.0769230769vw;
  }
  .p-it-mirai-item {
    width: 87.1794871795vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    border: 1px solid #000;
  }
  .p-it-mirai-item-left {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 5.1282051282vw;
  }
  .p-it-mirai-item-label {
    font-family: "Dela Gothic One", sans-serif;
    font-size: 3.8461538462vw;
    font-weight: bold;
    color: #765ef2;
    letter-spacing: 1px;
    margin-bottom: 1.0256410256vw;
  }
  .p-it-mirai-item-title {
    font-size: 4.8717948718vw;
    font-weight: 600;
    color: #2a1500;
    margin-bottom: 1.5384615385vw;
  }
  .p-it-mirai-item-text {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #444;
    line-height: 1.9;
    width: 64.1025641026vw;
  }
  .p-it-mirai-item-right {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
    background: #4a4a4a;
  }
  .p-it-mirai-item-right img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  .p-it-mirai-item {
    /* 既存の矢印を共通で使用 */
  }
  .p-it-mirai-item-arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 9.6153846154vw;
    height: 9.6153846154vw;
    background: #000;
    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;
    border: none;
    outline: none;
  }
  .p-it-mirai-item-arrow img {
    display: block;
    width: 3.8461538462vw;
    height: 3.8461538462vw;
  }
  .p footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #0b121d;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: auto;
  }
  .p footer p {
    font-size: 2.5641025641vw;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding-right: 0;
    vertical-align: middle;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-it-mirai-company-slider {
    width: 100%;
    overflow: hidden;
  }
  .p-it-mirai-company-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-columns: none;
    grid-template-columns: none;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
    -ms-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
    scroll-padding-left: 5.1282051282vw;
    -webkit-overflow-scrolling: touch;
    /* 標準スクロールバーを非表示 */
    scrollbar-width: none;
  }
  .p-it-mirai-company-list::-webkit-scrollbar {
    display: none;
  }
  .p-it-mirai-company-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 71.7948717949vw;
            flex: 0 0 71.7948717949vw;
    width: 71.7948717949vw;
    min-width: 71.7948717949vw;
    min-height: 66.6666666667vw;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .p-it-mirai-company-scrollbar {
    position: relative;
    display: block;
    width: 64.1025641026vw;
    height: 1.5384615385vw;
    margin: 5.1282051282vw auto 0;
    background: #ddd;
    border-radius: 2.5641025641vw;
    overflow: hidden;
  }
  .p-it-mirai-company-scrollbar-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 25%;
    height: 100%;
    background: #765ef2;
    border-radius: inherit;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    will-change: transform;
  }
}
@media (max-width: 768px) {
  .course-item__accordion-text strong {
    font-size: 4.358974359vw;
    letter-spacing: -1px;
  }
  .course-item__accordion-text small {
    font-size: 3.0769230769vw;
  }
}
@media (max-width: 768px) {
  .p-it-top-sp {
    position: absolute;
    top: 5.1282051282vw;
  }
  #mockup .diagbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: none;
  }
  #mockup .diagbox .progress {
    font-size: 3.2051282051vw;
    font-family: "Dela Gothic One", sans-serif;
    color: #765ef2;
  }
  #mockup .diagbox .question {
    font-size: 3.3333333333vw;
  }
  #mockup .diagbox .option {
    text-align: center;
    border: #9886f3 solid 1px;
    border-radius: 6px;
    width: 74.358974359vw;
    text-align: left;
    color: #000;
    padding: 1.9230769231vw 4.4871794872vw;
  }
  #mockup .diagbox .option.selected {
    color: #fff;
    background-color: #9886f3;
  }
  #mockup .diagbox .btn {
    border-radius: 0px;
    padding: 1.2820512821vw 3.8461538462vw;
  }
  #mockup .diagbox .btn.blue {
    background-color: #000;
    border: #000;
  }
}
@media screen and (max-width: 768px) {
  .p-it-fixed-nav {
    position: fixed;
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 91.0256410256vw;
  }
  .p-it-fixed-nav__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 50%;
    height: 19.4871794872vw;
    padding: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-decoration: none;
  }
  .p-it-fixed-nav__item--green {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    background-color: #8eff91;
    color: #000;
    border-radius: 3.5897435897vw 0 0 0;
  }
  .p-it-fixed-nav__item--purple {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    background-color: #765ef2;
    color: #fff;
    border-radius: 0 3.5897435897vw 0 0;
  }
  .p-it-fixed-nav__main {
    position: static;
    margin: 0;
    font-size: 6.4102564103vw;
    font-weight: 900;
    line-height: 1;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    -webkit-transform: none;
            transform: none;
  }
  .p-it-fixed-nav__sub {
    position: static;
    margin: 0 0 1.5384615385vw;
    font-size: 3.0769230769vw;
    font-weight: 900;
    line-height: 1;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: nowrap;
    -webkit-transform: none;
            transform: none;
  }
  .p-it-fixed-nav__item--green {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-it-fixed-nav__item--green .p-it-fixed-nav__main {
    font-size: 5vw;
    color: #000;
  }
  .p-it-fixed-nav__item--green .p-it-fixed-nav__sub {
    color: #000;
    font-size: 2.9487179487vw;
    margin-bottom: 0.641025641vw;
  }
  .p-it-fixed-nav__item--purple {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-it-fixed-nav__item--purple .p-it-fixed-nav__main {
    font-size: 5vw;
    color: #fff;
  }
  .p-it-fixed-nav__item--purple .p-it-fixed-nav__sub {
    font-size: 3.2051282051vw;
    color: #fff;
    margin-bottom: 0.641025641vw;
  }
}
@media screen and (max-width: 768px) {
  .p-it-mirai-modal {
    padding: 6.4102564103vw;
  }
  .p-it-mirai-modal__inner {
    width: 100%;
    max-width: none;
    padding: 10.2564102564vw 6.4102564103vw;
    border-radius: 2.0512820513vw;
  }
  .p-it-mirai-modal__title {
    margin-bottom: 3.8461538462vw;
    font-size: 4.1025641026vw;
  }
  .p-it-mirai-modal__text {
    font-size: 3.0769230769vw;
    line-height: 1.8;
  }
  .p-it-mirai-modal__close {
    top: 2.5641025641vw;
    right: 2.5641025641vw;
    width: 8.9743589744vw;
    height: 8.9743589744vw;
  }
  .p-it-mirai-modal__close::before, .p-it-mirai-modal__close::after {
    width: 7.6923076923vw;
  }
}