/* for 1540px only */
/* kv
-----------------------------------------------------------*/
section#kvHeader {
  padding-top: min(14.925vw, 200px);
  display: flex;
  justify-content: space-between;
  position: relative;
}
section#kvHeader::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(50% - min(5.208vw, 100px));
  background: #efefef;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
section#kvHeader div.hlWrap {
  background: #f15a24;
  border-radius: 0 min(4.478vw, 60px) min(4.478vw, 60px) 0;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  padding: 0 min(50cqw - 780px, 180px) 0 min(50cqw - 760px, 200px);
  display: flex;
  align-items: center;
  width: 39%;
}
@media screen and (max-width: 1920px) {
  section#kvHeader div.hlWrap {
    width: min(38.542vw, 740px);
  }
}
@media screen and (max-width: 1840px) {
  section#kvHeader div.hlWrap {
    padding-right: min(7.609vw, 140px);
  }
}
@media screen and (max-width: 1540px) {
  section#kvHeader div.hlWrap {
    padding: 0 min(7.468vw, 115px) 0 min(1.948vw, 30px);
  }
}
section#kvHeader div.hlWrap h2 {
  font-size: min(3.125vw, 60px);
  font-weight: 700;
  line-height: 1.5;
  color: #fcd980;
  margin-bottom: min(1.823vw, 35px);
}
section#kvHeader div.hlWrap figure {
  position: absolute;
  bottom: min(-2.083vw, -40px);
  right: min(-2.604vw, -50px);
  z-index: 10;
  width: min(11.042vw, 212px);
}
section#kvHeader figure {
  border-radius: min(4.478vw, 60px) 0 0 min(4.478vw, 60px);
  overflow: hidden;
  width: 58%;
  max-height: 600px;
}
section#kvHeader figure img {
  height: 100%;
  max-height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1920px) {
  section#kvHeader figure {
    width: min(58.333vw, 1120px);
  }
}

@media screen and (max-width: 767px) {
  section#kvHeader {
    padding-top: 26.667vw;
    display: block;
  }
  section#kvHeader::after {
    height: calc(100% - 32vw);
  }
  section#kvHeader div.hlWrap {
    position: absolute;
    display: block;
    top: 18.667vw;
    left: 0;
    z-index: 10;
    width: 53.333vw;
    height: 40vw;
    border-radius: 0 8vw 8vw 0;
    padding: 5.333vw 0 0 8vw;
  }
  section#kvHeader div.hlWrap h2 {
    font-size: 8vw;
    margin-bottom: 0;
  }
  section#kvHeader div.hlWrap figure {
    bottom: -11.2vw;
    width: 24.533vw;
    right: auto;
    left: 5.333vw;
  }
  section#kvHeader figure {
    width: 80vw;
    margin-left: auto;
    border-radius: 8vw 0 0 8vw;
  }
  section#kvHeader .spNote {
    padding: 5.333vw 8vw 0;
    font-size: 3.2vw;
  }
}
/* topicsMenuSec
-----------------------------------------------------------*/
section#topicsMenuSec {
  background: #efefef;
  padding: min(5.97vw, 80px) 0 min(18.657vw, 250px);
}
section#topicsMenuSec > div {
  width: 100%;
  max-width: 1540px;
  padding: 0 min(1.948vw, 30px);
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  gap: min(3.247vw, 50px);
}
section#topicsMenuSec h2 {
  font-size: min(1.818vw, 28px);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  color: #f15a24;
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
section#topicsMenuSec h2 span {
  font-size: min(5.195vw, 80px);
}
section#topicsMenuSec ul {
  width: min(54.545vw, 840px);
  display: flex;
  justify-content: space-between;
  counter-reset: num;
}
section#topicsMenuSec ul li {
  width: min(16.883vw, 260px);
  background: #fab400;
  border-radius: min(1.493vw, 20px);
  overflow: hidden;
  position: relative;
  counter-increment: num;
}
section#topicsMenuSec ul li figure {
  height: min(20.896vw, 280px);
  overflow: hidden;
}
section#topicsMenuSec ul li figure img {
  transition: 0.3s all;
}
section#topicsMenuSec ul li p {
  font-size: min(1.558vw, 24px);
  padding: min(0.896vw, 12px) min(1.493vw, 20px);
  font-weight: 500;
  line-height: 1.33;
  font-feature-settings: "palt";
}
section#topicsMenuSec ul li a {
  position: relative;
}
@media screen and (min-width: 769px) {
  section#topicsMenuSec ul li a:hover figure img {
    transform: scale(1.1);
  }
}
section#topicsMenuSec ul li a::after {
  content: "0" counter(num);
  display: block;
  position: absolute;
  font-size: min(4.478vw, 60px);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  color: #fab400;
  line-height: 1;
  top: min(1.493vw, 20px);
  right: min(1.493vw, 20px);
  z-index: 10;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  section#topicsMenuSec {
    padding: 16vw 0 37.333vw;
  }
  section#topicsMenuSec > div {
    padding: 0 0 0 8vw;
    flex-direction: column;
  }
  section#topicsMenuSec h2 {
    font-size: 3.733vw;
  }
  section#topicsMenuSec h2 span {
    font-size: 10.667vw;
  }
  section#topicsMenuSec ul {
    width: 100%;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 6.667vw;
    gap: 5.333vw;
  }
  section#topicsMenuSec ul li {
    width: 92vw;
    border-radius: 5.333vw 0 0 5.333vw;
  }
  section#topicsMenuSec ul li a {
    display: flex;
  }
  section#topicsMenuSec ul li a::after {
    font-size: 8vw;
    color: #fff;
    top: 2.667vw;
    right: auto;
    left: 53.333vw;
  }
  section#topicsMenuSec ul li figure {
    width: 50.667vw;
    height: 32vw;
  }
  section#topicsMenuSec ul li p {
    font-size: 3.2vw;
    padding: 13.333vw 4vw 0 2.667vw;
  }
}
/* topicsSec
-----------------------------------------------------------*/
section.topicsSec {
  padding-bottom: min(7.463vw, 100px);
  background: #fff;
}
section.topicsSec div.challengeBox_type1 {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}
section.topicsSec div.challengeBox_type1 div.hlBox {
  height: min(14.925vw, 200px);
  display: flex;
  align-items: center;
  padding-left: min(50cqw - 750px, 200px);
  width: calc(800px + 50vw - 960px);
  margin-left: calc(960px - 50vw);
  box-sizing: border-box;
  background: #2e3192;
  position: relative;
  color: #fff;
  border-radius: 0 min(2.239vw, 30px) min(2.239vw, 30px) 0;
  transform: translateY(min(-2.985vw, -40px));
  transition: 0.3s transform;
}
@media screen and (max-width: 1540px) {
  section.topicsSec div.challengeBox_type1 div.hlBox {
    width: min(41.667vw, 800px);
  }
}
@media screen and (max-width: 1540px) {
  section.topicsSec div.challengeBox_type1 div.hlBox {
    width: min(43.506vw, 670px);
    padding-left: max(1.948vw, 30px);
  }
}
section.topicsSec div.challengeBox_type1 div.hlBox.onAnim {
  transform: translateY(max(-7.463vw, -100px));
}
section.topicsSec div.challengeBox_type1 div.hlBox h2 {
  line-height: 1.33;
  font-size: min(1.791vw, 24px);
  color: #f15a24;
  display: flex;
  align-items: center;
  gap: min(2.239vw, 30px);
  font-weight: 700;
}
section.topicsSec div.challengeBox_type1 div.hlBox h2 span {
  font-size: min(5.97vw, 80px);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
section.topicsSec div.challengeBox_type1 div.hlBox h2 + p {
  font-size: min(2.09vw, 28px);
  line-height: 1.33;
  font-weight: 500;
  font-feature-settings: "palt";
  margin-top: 0.5em;
}
section.topicsSec div.challengeBox_type1 div.hlBox figure {
  position: absolute;
  width: min(22.239vw, 298px);
  right: max(-19.403vw, -260px);
  bottom: max(-9.701vw, -130px);
}
section.topicsSec div.challengeBox_type1 div.inner {
  margin-top: min(5.224vw, 70px);
  position: static;
}
section.topicsSec div.challengeBox_type1 div.inner > div {
  margin-left: auto;
  width: min(49.254vw, 660px);
}
section.topicsSec div.challengeBox_type1 div.inner h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(1.493vw, 20px);
  font-feature-settings: "palt";
}
section.topicsSec div.challengeBox_type1 div.inner h3 span {
  font-size: min(2.388vw, 32px);
  height: min(4.478vw, 60px);
  color: #fff;
  display: flex;
  align-items: center;
  background: #f15a24;
  padding: 0 min(1.493vw, 20px);
}
section.topicsSec div.challengeBox_type1 div.inner figure {
  position: absolute;
  z-index: 10;
  top: min(22.388vw, 300px);
  width: min(44.271vw, 850px);
  left: 0;
}
section.topicsSec div.challengeBox_type1 div.inner div.noteBox {
  width: min(49.254vw, 660px);
  font-size: min(1.194vw, 16px);
  line-height: 2;
  margin-top: min(2.612vw, 35px);
  margin-left: auto;
  text-align: justify;
}
section.topicsSec div.challengeBox_type2 {
  max-width: 1920px;
  margin: 0 auto;
}
section.topicsSec div.challengeBox_type2 div.hlBox {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
section.topicsSec div.challengeBox_type2 div.hlBox div.hlIn {
  width: min(29.851vw, 400px);
  height: min(22.388vw, 300px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  background: #f15a24;
  color: #fff;
  border-radius: 0 0 min(2.239vw, 30px) min(2.239vw, 30px);
  margin-left: min(1.493vw, 20px);
}
section.topicsSec div.challengeBox_type2 div.hlBox h2 {
  line-height: 1.33;
  font-size: min(1.791vw, 24px);
  color: #2e3192;
  display: flex;
  align-items: center;
  gap: min(2.239vw, 30px);
  font-weight: 700;
}
section.topicsSec div.challengeBox_type2 div.hlBox h2 span {
  font-size: min(5.97vw, 80px);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
section.topicsSec div.challengeBox_type2 div.hlBox h2 + p {
  font-size: min(2.09vw, 28px);
  font-weight: 500;
  line-height: 1.33;
  font-feature-settings: "palt";
  margin-top: 0.5em;
}
section.topicsSec div.challengeBox_type2 div.hlBox figure {
  position: absolute;
  width: min(19.104vw, 256px);
  right: min(8.955vw, 120px);
  bottom: min(5.224vw, 70px);
}
section.topicsSec div.challengeBox_type2 div.inner {
  margin-top: min(4.478vw, 60px);
  position: relative;
}
section.topicsSec div.challengeBox_type2 div.inner h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(1.493vw, 20px);
  color: #1a1a1a;
  font-feature-settings: "palt";
}
section.topicsSec div.challengeBox_type2 div.inner h3 span {
  font-size: min(2.388vw, 32px);
  height: min(4.478vw, 60px);
  display: flex;
  align-items: center;
  background: #2e3192;
  padding: 0 min(1.493vw, 20px);
  color: #fff;
}
section.topicsSec div.challengeBox_type2 div.inner figure {
  position: absolute;
  right: 0;
  top: max(-6.716vw, -90px);
  z-index: 10;
  width: min(37.313vw, 500px);
}
section.topicsSec div.challengeBox_type2 div.inner figure.lower {
  right: max(-7.463vw, -100px);
  top: min(20.149vw, 270px);
}
section.topicsSec div.challengeBox_type2 div.inner div.noteBox {
  width: min(49.254vw, 660px);
  font-size: min(1.194vw, 16px);
  line-height: 2;
  margin-top: min(2.612vw, 35px);
  text-align: justify;
}
section.topicsSec div.challengeBox_type2 div.inner div.check {
  display: inline-block;
  background: #fff;
  padding: min(1.493vw, 20px);
  font-size: min(1.194vw, 16px);
  margin-top: min(1.493vw, 20px);
  border-radius: min(1.493vw, 20px);
}
section.topicsSec div.challengeBox_type2 div.inner div.check h4 {
  color: #2e3192;
  font-weight: 500;
}
section.topicsSec div.challengeBox_type3 {
  max-width: 1920px;
  margin: 0 auto;
  position: relative;
}
section.topicsSec div.challengeBox_type3 div.hlBox {
  width: 100%;
  max-width: 1540px;
  margin: 0 auto;
  position: relative;
}
section.topicsSec div.challengeBox_type3 div.hlBox div.hlIn {
  width: min(29.851vw, 400px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  color: #fff;
  border-radius: 0 0 min(2.239vw, 30px) min(2.239vw, 30px);
  margin-left: min(1.493vw, 20px);
  background: #fab400;
  height: min(18.657vw, 250px);
}
section.topicsSec div.challengeBox_type3 div.hlBox h2 {
  line-height: 1.33;
  font-size: min(1.791vw, 24px);
  color: #2e3192;
  display: flex;
  align-items: center;
  gap: min(2.239vw, 30px);
  font-weight: 700;
}
section.topicsSec div.challengeBox_type3 div.hlBox h2 span {
  font-size: min(5.97vw, 80px);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
section.topicsSec div.challengeBox_type3 div.hlBox h2 + p {
  font-size: min(2.09vw, 28px);
  font-weight: 500;
  line-height: 1.33;
  font-feature-settings: "palt";
  margin-top: 0.5em;
}
section.topicsSec div.challengeBox_type3 div.hlBox figure {
  position: absolute;
  width: min(26.269vw, 352px);
  left: min(35.821vw, 480px);
  bottom: max(0.597vw, 8px);
}
section.topicsSec div.challengeBox_type3 div.inner {
  margin-top: min(8.209vw, 110px);
  position: static;
}
section.topicsSec div.challengeBox_type3 div.inner > div {
  margin-left: auto;
  width: min(49.254vw, 660px);
}
section.topicsSec div.challengeBox_type3 div.inner h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(1.493vw, 20px);
  font-feature-settings: "palt";
}
section.topicsSec div.challengeBox_type3 div.inner h3 span {
  height: min(4.478vw, 60px);
  color: #fff;
  display: flex;
  align-items: center;
  background: #2e3192;
  padding: 0 min(1.493vw, 20px);
  font-size: min(2.078vw, 32px);
}
section.topicsSec div.challengeBox_type3 div.inner h3 span:last-child {
  white-space: nowrap;
}
section.topicsSec div.challengeBox_type3 div.inner figure {
  position: absolute;
  top: min(26.866vw, 360px);
  z-index: 10;
  width: min(44.271vw, 850px);
  left: 0;
}
section.topicsSec div.challengeBox_type3 div.inner div.noteBox {
  width: min(49.254vw, 660px);
  font-size: min(1.194vw, 16px);
  line-height: 2;
  margin-top: min(2.612vw, 35px);
  margin-left: auto;
  text-align: justify;
}
section.topicsSec#T02 {
  background: #efefef;
}

@media screen and (max-width: 767px) {
  section.topicsSec {
    padding-bottom: 16vw;
  }
  section.topicsSec div.challengeBox_type1 {
    position: relative;
  }
  section.topicsSec div.challengeBox_type1 div.hlBox {
    width: 82.667vw;
    height: 26.667vw;
    padding-left: 8vw;
    border-radius: 0 4vw 4vw 0;
    transform: translateY(-5.333vw);
  }
  section.topicsSec div.challengeBox_type1 div.hlBox.onAnim {
    transform: translateY(-13.333vw);
  }
  section.topicsSec div.challengeBox_type1 div.hlBox h2 {
    font-size: 3.2vw;
    gap: 4vw;
  }
  section.topicsSec div.challengeBox_type1 div.hlBox h2 span {
    font-size: 10.667vw;
  }
  section.topicsSec div.challengeBox_type1 div.hlBox h2 + p {
    font-size: 3.733vw;
  }
  section.topicsSec div.challengeBox_type1 div.hlBox figure {
    width: 30.133vw;
    right: -15.467vw;
    bottom: -17.333vw;
  }
  section.topicsSec div.challengeBox_type1 div.inner {
    margin-top: 8vw;
    position: static;
  }
  section.topicsSec div.challengeBox_type1 div.inner > div {
    margin-left: auto;
    width: 100%;
  }
  section.topicsSec div.challengeBox_type1 div.inner h3 {
    gap: 2.667vw;
    margin-top: 5.333vw;
  }
  section.topicsSec div.challengeBox_type1 div.inner h3 span {
    font-size: 4.267vw;
    height: 8vw;
    padding: 0 2.667vw;
  }
  section.topicsSec div.challengeBox_type1 div.inner figure {
    position: static;
    width: calc(100% + 8vw);
    margin: 0 -4vw;
  }
  section.topicsSec div.challengeBox_type1 div.inner div.noteBox {
    width: 100%;
    font-size: 3.2vw;
    margin-top: 5.333vw;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox {
    position: relative;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox div.hlIn {
    width: 53.333vw;
    height: 40vw;
    border-radius: 0 0 4vw 4vw;
    margin-left: 8vw;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox h2 {
    font-size: 3.2vw;
    gap: 4vw;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox h2 span {
    font-size: 10.667vw;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox h2 + p {
    font-size: 3.733vw;
  }
  section.topicsSec div.challengeBox_type2 div.hlBox figure {
    width: 32vw;
    right: 4vw;
    bottom: 0vw;
  }
  section.topicsSec div.challengeBox_type2 div.inner {
    margin-top: 0;
    position: relative;
  }
  section.topicsSec div.challengeBox_type2 div.inner h3 {
    gap: 2.667vw;
    margin-top: 5.333vw;
  }
  section.topicsSec div.challengeBox_type2 div.inner h3 span {
    font-size: 4.267vw;
    height: 8vw;
    padding: 0 2.667vw;
  }
  section.topicsSec div.challengeBox_type2 div.inner figure {
    position: static;
    width: 100%;
    margin-top: 6.667vw;
  }
  section.topicsSec div.challengeBox_type2 div.inner div.noteBox {
    width: 100%;
    font-size: 3.2vw;
    margin-top: 4vw;
  }
  section.topicsSec div.challengeBox_type2 div.inner div.check {
    display: block;
    padding: 4vw;
    font-size: 3.2vw;
    margin-top: 4vw;
    border-radius: 2.667vw;
  }
  section.topicsSec div.challengeBox_type3 {
    position: relative;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox {
    position: relative;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox div.hlIn {
    width: 53.333vw;
    height: 29.333vw;
    border-radius: 0 0 4vw 4vw;
    margin-left: 8vw;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox h2 {
    font-size: 3.2vw;
    gap: 4vw;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox h2 span {
    font-size: 10.667vw;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox h2 + p {
    font-size: 3.733vw;
  }
  section.topicsSec div.challengeBox_type3 div.hlBox figure {
    width: 29.867vw;
    left: 65.867vw;
    bottom: -1.333vw;
  }
  section.topicsSec div.challengeBox_type3 div.inner {
    margin-top: 10.667vw;
    padding-bottom: 0;
    position: static;
  }
  section.topicsSec div.challengeBox_type3 div.inner > div {
    margin-left: auto;
    width: 100%;
  }
  section.topicsSec div.challengeBox_type3 div.inner h3 {
    gap: 2.667vw;
    margin-top: 5.333vw;
    margin-bottom: 5.333vw;
  }
  section.topicsSec div.challengeBox_type3 div.inner h3 span {
    font-size: 4.267vw;
    height: 8vw;
    padding: 0 2.667vw;
  }
  section.topicsSec div.challengeBox_type3 div.inner h3.sp {
    display: flex;
  }
  section.topicsSec div.challengeBox_type3 div.inner figure {
    position: static;
    width: calc(100% + 8vw);
    margin: 0 -4vw;
  }
  section.topicsSec div.challengeBox_type3 div.inner div.noteBox {
    width: 100%;
    font-size: 3.2vw;
    margin-top: 5.333vw;
  }
}
/*# sourceMappingURL=challenge.css.map */