@charset "UTF-8";
@font-face {
  font-family: "VarelaRound-Regular";
  src: url("./font/VarelaRound-Regular.eot");
  src: url("./font/VarelaRound-Regular.eot?#iefix") format("embedded-opentype"), url("./font/VarelaRound-Regular.woff") format("woff"), url("./font/VarelaRound-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "OleoScript";
  src: url("./font/OleoScript-Regular.eot");
  src: url("./font/OleoScript-Regular.eot?#iefix") format("embedded-opentype"), url("./font/OleoScript-Regular.woff") format("woff"), url("./font/OleoScript-Regular.ttf") format("truetype");
  font-weight: 400;
}
@keyframes scrollFall {
  0% {
    transform: translate(-2px, -2px) rotate(45deg);
  }
  50% {
    transform: translate(2px, 2px) rotate(45deg);
  }
  100% {
    transform: translate(-2px, -2px) rotate(45deg);
  }
}
.intro {
  position: relative;
  z-index: 1;
  padding: 30px 60px;
}
@media (max-width: 991px) {
  .intro {
    padding: 20px 0;
  }
}
.intro h1 {
  font-size: 2.625em;
  line-height: 1.38;
  font-family: "OleoScript", "PingFang SC", "Heiti TC", "微軟正黑體", "Microsoft JhengHei", "Arial Unicode MS", "Arial";
  color: #026676;
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  .intro h1 {
    font-size: 1.625em;
  }
}
.intro h2 {
  font-size: 1.5em;
  line-height: 1.67;
  font-weight: 575;
  color: #4a45af;
  margin-bottom: 10px;
}
@media (max-width: 991px) {
  .intro h2 {
    font-size: 1.25em;
  }
}
.intro p {
  line-height: 1.75;
  margin-bottom: 10px;
}
@media (max-width: 991px) {
  .intro p {
    line-height: 1.56;
    margin-bottom: 14px;
  }
}
.intro a {
  text-decoration: underline;
  color: #0953c0;
}

.main {
  background-color: #f8fafe;
}
@media (min-width: 1200px) {
  .main {
    padding-bottom: 246px;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .main {
    padding-bottom: 400px;
  }
}

footer {
  padding-top: 0;
}

.illustration {
  position: absolute;
}
.illustration#girl-pen {
  width: 292px;
  top: -22px;
}
@media (max-width: 991px) {
  .illustration#girl-pen {
    width: 203px;
    top: -15px;
  }
}
.illustration#reading {
  width: 488px;
  bottom: -176px;
  left: 161px;
}
@media (min-width: 992px) and (max-width: 1200px) {
  .illustration#reading {
    left: 272px;
  }
}
.illustration#globe {
  width: 374px;
  top: -50px;
  left: -502px;
}
.illustration#key {
  width: 313px;
  top: -157px;
  left: -248px;
}
.illustration#wifi {
  width: 325px;
  top: -241px;
  right: -395px;
}
.illustration#touch {
  width: 340px;
  bottom: -131px;
  right: -454px;
}
.illustration#computer {
  width: 417px;
  bottom: -161px;
  left: -290px;
}
.illustration#cloud-1 {
  width: 340px;
  top: -113px;
  right: -170px;
}
.illustration#cloud-2 {
  width: 264px;
  top: -228px;
  left: -540px;
}
.illustration#cloud-3 {
  width: 264px;
  bottom: 70px;
  right: -300px;
}
.illustration#cloud-4 {
  width: 340px;
  top: -113px;
  left: -616px;
}
.illustration#cloud-5 {
  width: 340px;
  bottom: 151px;
  right: -687px;
}

.banner {
  position: relative;
  padding: 30px 0;
}
@media (max-width: 991px) {
  .banner {
    padding: 0;
    margin-left: -28px;
    margin-right: -28px;
  }
}
.banner img {
  width: 100%;
  display: block;
}

.bubble-container {
  position: relative;
}
@media (min-width: 992px) {
  .bubble-container {
    padding: 15px 60px 246px 60px;
    height: 1710px;
  }
}
@media (max-width: 991px) {
  .bubble-container {
    padding: 30px 0;
  }
}
@media (min-width: 992px) {
  .bubble-container .group {
    position: absolute;
  }
}
@media (max-width: 991px) {
  .bubble-container .group {
    position: relative;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .bubble-container .group#group-red {
    right: 60px;
    top: 0;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .bubble-container .group#group-red {
    right: -30px;
  }
}
.bubble-container .group#group-red .circle {
  width: 316px;
  height: 316px;
  background-image: url("../img/career-planning-guide/dotted-red.png");
  left: -193px;
  top: 109px;
}
@media (max-width: 991px) {
  .bubble-container .group#group-red .circle {
    left: 50%;
    transform: translateX(-50%);
    top: 165px;
    background-image: url("../img/career-planning-guide/dotted-red.png");
  }
}
.bubble-container .group#group-red .bubble.sty-illustration {
  background-image: url("../img/career-planning-guide/oval-red.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.bubble-container .group#group-red .bubble.sty-illustration h2 {
  color: #e3403d;
}
@media (min-width: 992px) {
  .bubble-container .group#group-red .bubble.sty-plain {
    left: -248px;
    top: 187px;
  }
}
.bubble-container .group#group-red .bubble.sty-plain a {
  background-color: #ffece9;
}
@media (min-width: 1200px) {
  .bubble-container .group#group-yellow {
    right: 453px;
    top: 441px;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .bubble-container .group#group-yellow {
    right: 189px;
    top: 543px;
  }
}
.bubble-container .group#group-yellow .circle {
  width: 560px;
  height: 560px;
  background-image: url("../img/career-planning-guide/dotted-orange.png");
  left: -274px;
  top: -40px;
}
@media (max-width: 991px) {
  .bubble-container .group#group-yellow .circle {
    left: 50%;
    transform: translateX(-50%);
    top: 165px;
    width: 316px;
    height: 316px;
    background-image: url("../img/career-planning-guide/dotted-orange-m.png");
  }
}
.bubble-container .group#group-yellow .bubble.sty-illustration {
  background-image: url("../img/career-planning-guide/oval-yellow.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.bubble-container .group#group-yellow .bubble.sty-illustration h2 {
  color: #705200;
}
@media (min-width: 992px) {
  .bubble-container .group#group-yellow .bubble.sty-plain:nth-child(3) {
    left: -122px;
    top: -128px;
  }
}
.bubble-container .group#group-yellow .bubble.sty-plain:nth-child(3) a {
  background-color: #ffefc2;
}
@media (min-width: 992px) {
  .bubble-container .group#group-yellow .bubble.sty-plain:nth-child(4) {
    left: -238px;
    top: 143px;
  }
}
.bubble-container .group#group-yellow .bubble.sty-plain:nth-child(4) a {
  background-color: #ffe6a0;
}
@media (min-width: 992px) {
  .bubble-container .group#group-yellow .bubble.sty-plain:nth-child(5) {
    left: -145px;
    bottom: -100px;
  }
}
.bubble-container .group#group-yellow .bubble.sty-plain:nth-child(5) a {
  background-color: #ffdd7c;
}
@media (max-width: 991px) {
  .bubble-container .group#group-yellow .bubble.sty-plain:nth-child(3):after, .bubble-container .group#group-yellow .bubble.sty-plain:nth-child(4):after {
    content: "";
    width: 6px;
    height: 6px;
    background-color: #ffa000;
    border-radius: 50%;
    display: block;
    position: absolute;
    bottom: -13px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (min-width: 1200px) {
  .bubble-container .group#group-green {
    right: 453px;
    bottom: 0px;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .bubble-container .group#group-green {
    right: 212px;
    bottom: -126px;
  }
}
.bubble-container .group#group-green .circle {
  width: 671px;
  height: 671px;
  background-image: url("../img/career-planning-guide/dotted-blue.png");
  right: -285px;
  top: -222px;
}
@media (max-width: 991px) {
  .bubble-container .group#group-green .circle {
    width: 316px;
    height: 316px;
    top: 165px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background-image: url("../img/career-planning-guide/dotted-blue-m.png");
  }
}
.bubble-container .group#group-green .bubble.sty-illustration {
  background-image: url("../img/career-planning-guide/oval-green.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.bubble-container .group#group-green .bubble.sty-illustration h2 {
  color: #1b5028;
}
@media (min-width: 992px) {
  .bubble-container .group#group-green .bubble.sty-plain:nth-child(3) {
    left: 76px;
    top: -234px;
  }
}
.bubble-container .group#group-green .bubble.sty-plain:nth-child(3) a {
  background-color: #b3f7c5;
}
@media (min-width: 992px) {
  .bubble-container .group#group-green .bubble.sty-plain:nth-child(4) {
    right: -34px;
    top: -187px;
  }
}
.bubble-container .group#group-green .bubble.sty-plain:nth-child(4) a {
  background-color: #c7fcc4;
}
@media (min-width: 992px) {
  .bubble-container .group#group-green .bubble.sty-plain:nth-child(5) {
    right: -231px;
    top: 12px;
  }
}
.bubble-container .group#group-green .bubble.sty-plain:nth-child(5) a {
  background-color: #d9ffd7;
}
@media (min-width: 992px) {
  .bubble-container .group#group-green .bubble.sty-plain:nth-child(6) {
    right: -217px;
    bottom: 0px;
  }
}
.bubble-container .group#group-green .bubble.sty-plain:nth-child(6) a {
  background-color: #efffee;
}
@media (max-width: 991px) {
  .bubble-container .group#group-green .bubble.sty-plain:nth-child(3):after, .bubble-container .group#group-green .bubble.sty-plain:nth-child(4):after, .bubble-container .group#group-green .bubble.sty-plain:nth-child(5):after {
    content: "";
    width: 6px;
    height: 6px;
    background-color: #1b8191;
    border-radius: 50%;
    display: block;
    position: absolute;
    bottom: -13px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.bubble-container .group .circle {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.bubble-container .group .bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  z-index: 1;
  position: relative;
}
.bubble-container .group .bubble.sty-illustration {
  width: 500px;
  height: 500px;
  padding: 50px;
}
@media (max-width: 991px) {
  .bubble-container .group .bubble.sty-illustration {
    width: 350px;
    height: 350px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 400px) {
  .bubble-container .group .bubble.sty-illustration {
    margin-left: -28px;
    margin-right: -28px;
    width: 100vw;
    height: 100vw;
  }
}
.bubble-container .group .bubble.sty-illustration h2 {
  font-size: 2em;
  line-height: 1.1875;
  font-weight: 700;
  margin-bottom: 16px;
}
@media (max-width: 991px) {
  .bubble-container .group .bubble.sty-illustration h2 {
    font-size: 1.375em;
    line-height: 1.13;
    margin-bottom: 10px;
  }
}
.bubble-container .group .bubble.sty-illustration p {
  font-size: 1.125em;
  line-height: 1.55;
}
@media (max-width: 991px) {
  .bubble-container .group .bubble.sty-illustration p {
    font-size: 0.875em;
    line-height: 1.42;
  }
}
@media (min-width: 992px) {
  .bubble-container .group .bubble.sty-plain {
    position: absolute;
  }
}
@media (max-width: 991px) {
  .bubble-container .group .bubble.sty-plain {
    margin-top: 20px;
  }
}
.bubble-container .group .bubble.sty-plain a {
  width: 206px;
  height: 206px;
  border-radius: 50%;
  text-decoration: underline;
  font-size: 1.25em;
  line-height: 1.2;
  font-weight: 575;
  padding: 10px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .bubble-container .group .bubble.sty-plain a {
    box-shadow: 0 0 20px 0 rgba(108, 108, 108, 0.2);
    padding: 10px 20px;
  }
}
.bubble-container .group .bubble.sty-plain a:hover {
  opacity: 1;
}