@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC:400,500,700,900);@charset "UTF-8";

* {
  font-family: 'Noto Sans TC', sans-serif;
}

img {
  width: 100%;
  vertical-align: top;
}

@-webkit-keyframes shine {
  0% {
    opacity: 1;
  }

  20% {
    opacity: .5;
  }

  25% {
    opacity: .5;
  }

  60% {
    opacity: 1;
  }

  63% {
    opacity: 1;
  }

  100% {
    opacity: .8;
  }
}

@keyframes shine {
  0% {
    opacity: 1;
  }

  20% {
    opacity: .5;
  }

  25% {
    opacity: .5;
  }

  60% {
    opacity: 1;
  }

  63% {
    opacity: 1;
  }

  100% {
    opacity: .8;
  }
}

@-webkit-keyframes changeColor {
  0% {
    background-image: linear-gradient(-45deg, #FF7BAC 0%, rgba(255, 123, 172, 0) 40%);
  }

  33.333333% {
    background-image: linear-gradient(-45deg, #FF7BAC 0%, rgba(255, 123, 172, 0) 40%);
  }

  33.333334% {
    background-image: linear-gradient(-45deg, #4FD5EA 0%, rgba(79, 213, 234, 0) 40%);
  }

  66.666666% {
    background-image: linear-gradient(-45deg, #4FD5EA 0%, rgba(79, 213, 234, 0) 40%);
  }

  66.666667% {
    background-image: linear-gradient(-45deg, #CCFFB3 0%, rgba(204, 255, 179, 0) 40%);
  }

  100% {
    background-image: linear-gradient(-45deg, #CCFFB3 0%, rgba(204, 255, 179, 0) 40%);
  }
}

@keyframes changeColor {
  0% {
    background-image: linear-gradient(-45deg, #FF7BAC 0%, rgba(255, 123, 172, 0) 40%);
  }

  33.333333% {
    background-image: linear-gradient(-45deg, #FF7BAC 0%, rgba(255, 123, 172, 0) 40%);
  }

  33.333334% {
    background-image: linear-gradient(-45deg, #4FD5EA 0%, rgba(79, 213, 234, 0) 40%);
  }

  66.666666% {
    background-image: linear-gradient(-45deg, #4FD5EA 0%, rgba(79, 213, 234, 0) 40%);
  }

  66.666667% {
    background-image: linear-gradient(-45deg, #CCFFB3 0%, rgba(204, 255, 179, 0) 40%);
  }

  100% {
    background-image: linear-gradient(-45deg, #CCFFB3 0%, rgba(204, 255, 179, 0) 40%);
  }
}

@-webkit-keyframes cloudMove {
  0% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }

  33% {
    -webkit-transform: translate(-10px, -7.5px);
            transform: translate(-10px, -7.5px);
  }

  66% {
    -webkit-transform: translate(10px, 7.5px);
            transform: translate(10px, 7.5px);
  }

  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}

@keyframes cloudMove {
  0% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }

  33% {
    -webkit-transform: translate(-10px, -7.5px);
            transform: translate(-10px, -7.5px);
  }

  66% {
    -webkit-transform: translate(10px, 7.5px);
            transform: translate(10px, 7.5px);
  }

  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}

@-webkit-keyframes handMove {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }

  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes handMove {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }

  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@-webkit-keyframes trainMove {
  0% {
    left: -50%;
  }

  100% {
    left: 100%;
  }
}

@keyframes trainMove {
  0% {
    left: -50%;
  }

  100% {
    left: 100%;
  }
}

@-webkit-keyframes translateBG {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }

  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes translateBG {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }

  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@-webkit-keyframes btnShine {
  0% {
    width: 100%;
    padding-bottom: 100%;
  }

  100% {
    width: 140%;
    padding-bottom: 140%;
  }
}

@keyframes btnShine {
  0% {
    width: 100%;
    padding-bottom: 100%;
  }

  100% {
    width: 140%;
    padding-bottom: 140%;
  }
}

@-webkit-keyframes scrollDown {
  0% {
    height: 0%;
    top: 120%;
    bottom: auto;
  }

  10% {
    height: 300%;
  }

  60% {
    height: 300%;
    top: auto;
    bottom: -320%;
  }

  100% {
    height: 0%;
    top: auto;
    bottom: -320%;
  }
}

@keyframes scrollDown {
  0% {
    height: 0%;
    top: 120%;
    bottom: auto;
  }

  10% {
    height: 300%;
  }

  60% {
    height: 300%;
    top: auto;
    bottom: -320%;
  }

  100% {
    height: 0%;
    top: auto;
    bottom: -320%;
  }
}

.sup-webp section.banner .flip:before {
  background-image: url(/assets/images/banner_btn_bg.webp);
}

.sup-webp section.banner .character_01 .pic {
  background-image: url(/assets/images/banner_character_01.webp);
}

.sup-webp section.banner .character_02 .pic {
  background-image: url(/assets/images/banner_character_02.webp);
}

.sup-webp .teaching .btn .pic {
  background-image: url(/assets/images/translate_btn.webp);
}

.no-webp section.banner .flip:before {
  background-image: url(/assets/images/banner_btn_bg.png);
}

.no-webp section.banner .character_01 .pic {
  background-image: url(/assets/images/banner_character_01.png);
}

.no-webp section.banner .character_02 .pic {
  background-image: url(/assets/images/banner_character_02.png);
}

.no-webp .teaching .btn .pic {
  background-image: url(/assets/images/translate_btn.png);
}

#animation_container,
#canvas,
#dom_overlay_container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.banner .flip_slogan {
  opacity: 0;
}

#capture {
  width: 1200px;
  height: 630px;
  position: absolute;
  top: -1000vh;
  left: -1000vw;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: -100;
  color: #000;
  font-weight: bolder;
  letter-spacing: 2px;
  line-height: 1.5;
}

#capture .whom {
  font-size: 26px;
  position: absolute;
  top: 45%;
  left: 20%;
}

#capture .sentence {
  max-width: 500px;
  font-size: 32px;
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

article {
  background-color: #fff;
}

article.hidden {
  overflow: hidden;
  padding: 0;
}

article.hidden .product_section {
  display: none;
}

article section.banner {
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 0;
}

article section.banner:before {
  content: "";
  display: block;
  width: 105.46%;
  height: 120%;
  border-radius: 50%;
  background-image: radial-gradient(#d3f1fa 0%, rgba(211, 241, 250, 0) 80%);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 0;
}

article section.banner .mask {
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}

article section.banner .wrapper {
  width: 1680px;
  height: 100%;
  padding: 0 15px;
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  z-index: 1;
}

article section.banner .wrapper .main_pic {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 45%;
  width: 100%;
}

article section.banner .wrapper .main_pic .light {
  width: 23.4375%;
  padding-bottom: 23.4375%;
  border-radius: 0 0 42% 0;
  position: absolute;
  left: 0;
  right: 0;
  top: -19.5%;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1;
  -webkit-animation: shine 0.5s infinite ease-out;
  animation: shine 0.5s infinite ease-out;
}

article section.banner .wrapper .main_pic .light .shine {
  width: 100%;
  height: 100%;
  border-radius: 0 0 42% 0;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: changeColor 3s 0.5s infinite ease-out;
  animation: changeColor 3s 0.5s infinite ease-out;
}

article section.banner .wrapper .main_pic .bg {
  width: 100%;
}

article section.banner .wrapper .main_pic .bg_02 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

article section.banner .wrapper .main_pic .title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc((530 / 1280)* 100%);
  z-index: 3;
}

article section.banner .wrapper .main_pic .title picture {
  opacity: 0;
}

article section.banner .wrapper .main_pic [class*="cloud"] {
  position: absolute;
  z-index: 2;
}

article section.banner .wrapper .main_pic .cloud_01 {
  width: calc((140 / 1280)* 100%);
  top: 32%;
  left: -10%;
  -webkit-animation: cloudMove 5s 1s infinite linear;
  animation: cloudMove 5s 1s infinite linear;
}

article section.banner .wrapper .main_pic .cloud_02 {
  width: calc((85 / 1280)* 100%);
  top: 0%;
  left: 31%;
  -webkit-animation: cloudMove 4.5s 1.5s infinite linear;
  animation: cloudMove 4.5s 1.5s infinite linear;
}

article section.banner .wrapper .main_pic .cloud_03 {
  width: calc((65 / 1280)* 100%);
  top: -5%;
  right: 40%;
  -webkit-animation: cloudMove 4s 0.5s infinite linear;
  animation: cloudMove 4s 0.5s infinite linear;
}

article section.banner .wrapper .main_pic .cloud_04 {
  width: calc((65 / 1280)* 100%);
  top: 20%;
  right: 20%;
  -webkit-animation: cloudMove 6s 0.3s infinite linear;
  animation: cloudMove 6s 0.3s infinite linear;
}

article section.banner .wrapper .main_pic .cloud_05 {
  width: calc((140 / 1280)* 100%);
  top: 38%;
  right: -5%;
  -webkit-animation: cloudMove 5s 0.7s infinite linear;
  animation: cloudMove 5s 0.7s infinite linear;
}

article section.banner .wrapper .btn_part {
  width: 76.5625%;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

article section.banner .wrapper .btn_part .scroll_down {
  font-size: 18px;
  color: #225FC3;
  position: absolute;
  left: 50%;
  bottom: 10%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

article section.banner .wrapper .btn_part .scroll_down:before {
  content: "";
  display: block;
  width: 1px;
  background-color: #225FC3;
  height: 300%;
  position: absolute;
  left: 50%;
  top: 120%;
  bottom: auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation: scrollDown 3s infinite cubic-bezier(0.165, 0.84, 0.44, 1);
  animation: scrollDown 3s infinite cubic-bezier(0.165, 0.84, 0.44, 1);
}

article section.banner .wrapper .btn_part .flip {
  width: 21.43%;
  margin: 12% auto;
  position: relative;
  cursor: pointer;
}

article section.banner .wrapper .btn_part .flip:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  padding-bottom: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 0;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-animation: btnShine 0.5s infinite alternate ease-out;
  animation: btnShine 0.5s infinite alternate ease-out;
}

article section.banner .wrapper .btn_part .flip .front {
  width: 100%;
  position: relative;
  z-index: 1;
  -webkit-transform: rotateY(0deg);
          transform: rotateY(0deg);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .btn_part .flip .back {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .btn_part .flip .back .back_bg {
  width: 100%;
}

article section.banner .wrapper .btn_part .flip .back .product_box {
  width: 150%;
  padding-bottom: 147%;
  border-radius: 0 0 32% 0;
  position: absolute;
  left: -25.5%;
  bottom: 14.5%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1;
  overflow: hidden;
}

article section.banner .wrapper .btn_part .flip .back .product_box .product {
  width: 60%;
  position: absolute;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  left: 58%;
  bottom: -10%;
  opacity: 0;
  -webkit-transition: .2s;
  transition: .2s;
}

article section.banner .wrapper .btn_part .flip .hand {
  width: 52px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2%;
  margin: auto;
  z-index: 2;
  -webkit-animation: handMove 1s infinite linear;
  animation: handMove 1s infinite linear;
}

@media only screen and (min-width: 768px) {
  article section.banner .wrapper .btn_part .flip:hover:before {
    width: 155%;
    padding-bottom: 155%;
    -webkit-animation: btnShine 0s infinite alternate ease-out;
    animation: btnShine 0s infinite alternate ease-out;
  }

  article section.banner .wrapper .btn_part .flip:hover .front {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }

  article section.banner .wrapper .btn_part .flip:hover .back {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }

  article section.banner .wrapper .btn_part .flip:hover .back .product_box .product {
    width: 100%;
    left: 20%;
    opacity: 1;
    -webkit-transition: .2s .2s;
    transition: .2s .2s;
  }

  article section.banner .wrapper .btn_part .flip:hover .hand {
    display: none;
  }

  article section.banner .wrapper .btn_part .flip:hover ~ .character_01 {
    left: 8%;
  }

  article section.banner .wrapper .btn_part .flip:hover ~ .character_01 .pic {
    background-position: center bottom;
  }

  article section.banner .wrapper .btn_part .flip:hover ~ .character_02 {
    right: 8%;
  }

  article section.banner .wrapper .btn_part .flip:hover ~ .character_02 .pic {
    background-position: center bottom;
  }
}

article section.banner .wrapper .btn_part .character_01 {
  width: 30.1%;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .btn_part .character_01 .pic {
  width: 100%;
  padding-bottom: 91.7%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
}

article section.banner .wrapper .btn_part .character_02 {
  width: 27.04%;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .btn_part .character_02 .pic {
  width: 100%;
  padding-bottom: 101.6%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100%;
}

article section.banner .wrapper .flip_slogan {
  padding: 20px 0;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
}

article section.banner .wrapper .flip_slogan:after {
  content: "";
  display: block;
  width: 100vw;
  height: 70px;
  height: 100%;
  background-color: #5DDEFC;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}

article section.banner .wrapper .flip_slogan .txt {
  position: relative;
  z-index: 2;
}

article section.banner .wrapper .flip_slogan .txt p {
  font-size: 22px;
  letter-spacing: .13em;
  line-height: 1.2;
  color: #2B5FB7;
  font-weight: 900;
  position: relative;
  z-index: 2;
}

article section.banner .wrapper .flip_slogan .txt::before {
  width: 100%;
  font-size: 22px;
  letter-spacing: .13em;
  line-height: 1.2;
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-text-stroke: 4px #fff;
  z-index: 1;
  text-shadow: 4px 0px #4297B0;
}

article section.banner .wrapper .flip_slogan .txt:nth-of-type(1)::before {
  content: '\73A9\5C31\9001  50\5143\512A\60E0\91D1';
}

article section.banner .wrapper .flip_slogan .txt:nth-of-type(2)::before {
  content: '\62BD\65E5\672CNONIO\7D42\7D50\53E3\6C23\597D\79AE\7D44';
}

article section.banner .wrapper .flip_slogan picture,
article section.banner .wrapper .flip_slogan img {
  width: 365px;
}

article section.banner .wrapper .fixed_box {
  width: 220px;
  padding: 10px 20px;
  border: 3px solid #225FC3;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 20px 20px 0px 0px;
  -webkit-transition: .5s;
  transition: .5s;
  position: absolute;
  right: 0;
  bottom: -6px;
  cursor: pointer;
}

article section.banner .wrapper .fixed_box .logo_svg {
  fill: #29ABE2;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .fixed_box .close {
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 10px 10px 15px;
  border-radius: 20px 20px 0px 0px;
  text-align: center;
  background-color: #225FC3;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: .5s;
  transition: .5s;
}

article section.banner .wrapper .fixed_box .close .txt {
  font-size: 22px;
  line-height: 41px;
  color: #fff;
}

article section.banner .wrapper .fixed_box .close .remind {
  display: none;
  font-size: 12px;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  article section.banner .wrapper .fixed_box:hover {
    border: 3px solid #fff;
    background-color: #225FC3;
  }

  article section.banner .wrapper .fixed_box:hover .logo_svg {
    fill: #fff;
  }

  article section.banner .wrapper .fixed_box:hover .close {
    opacity: 1;
  }
}

@media only screen and (max-width: 2560px) and (max-height: 1180px) {
  article section.banner .wrapper {
    width: 1400px;
  }
}

@media only screen and (max-width: 1920px) {
  article section.banner .wrapper {
    width: 1280px;
  }
}

@media only screen and (max-width: 1920px) and (max-height: 900px) {
  article section.banner .wrapper {
    width: 900px;
  }
}

@media only screen and (max-width: 1280px) {
  article section.banner .wrapper {
    width: 960px;
  }

  article section.banner .wrapper .main_pic {
    width: 130%;
  }

  article section.banner .wrapper .btn_part {
    width: 95%;
  }
}

@media only screen and (max-width: 1280px) and (max-height: 860px) {
  article section.banner .wrapper {
    width: 900px;
  }
}

@media only screen and (max-width: 1280px) and (max-height: 760px) {
  article section.banner .wrapper {
    width: 650px;
  }

  article section.banner .wrapper .fixed_box {
    width: 160px;
    padding: 10px 20px 5px;
    right: -20%;
  }

  article section.banner .wrapper .fixed_box .close .txt {
    font-size: 16px;
    line-height: 20px;
  }
}

@media only screen and (max-width: 960px) {
  article section.banner .wrapper {
    width: 760px;
  }
}

@media only screen and (max-width: 960px) and (max-height: 680px) {
  article section.banner .wrapper {
    width: 500px;
  }
}

@media only screen and (max-width: 768px) {
  article section.banner {
    height: auto;
    padding-bottom: 143.333333%;
  }

  article section.banner .wrapper {
    position: absolute;
    width: 100%;
  }

  article section.banner .wrapper .main_pic {
    width: 145%;
    top: 40%;
  }

  article section.banner .wrapper .main_pic .cloud_01 {
    width: calc((50 / 375)* 100vw);
    top: 5%;
    left: 11%;
  }

  article section.banner .wrapper .main_pic .cloud_02 {
    width: calc((35 / 375)* 100vw);
    left: 33%;
  }

  article section.banner .wrapper .main_pic .cloud_03 {
    width: calc((25 / 375)* 100vw);
  }

  article section.banner .wrapper .main_pic .cloud_04 {
    width: calc((25 / 375)* 100vw);
    right: 19%;
  }

  article section.banner .wrapper .main_pic .cloud_05 {
    width: calc((50 / 375)* 100vw);
    top: 2%;
    right: 14%;
  }

  article section.banner .wrapper .btn_part {
    width: 100%;
  }

  article section.banner .wrapper .btn_part .scroll_down {
    font-size: 12px;
    bottom: 17%;
  }

  article section.banner .wrapper .btn_part .flip {
    width: 35%;
    margin: 18% auto;
  }

  article section.banner .wrapper .btn_part .flip .hand {
    width: 30%;
    bottom: 2%;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle:before {
    width: 155%;
    padding-bottom: 155%;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle .front {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }

  article section.banner .wrapper .btn_part .flip.clickStyle .back {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }

  article section.banner .wrapper .btn_part .flip.clickStyle .back .product_box .product {
    width: 100%;
    left: 20%;
    opacity: 1;
    -webkit-transition: .2s .2s;
    transition: .2s .2s;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle ~ .character_01 {
    left: 1%;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle ~ .character_01 .pic {
    background-position: center bottom;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle ~ .character_02 {
    right: -4%;
  }

  article section.banner .wrapper .btn_part .flip.clickStyle ~ .character_02 .pic {
    background-position: center bottom;
  }

  article section.banner .wrapper .btn_part .character_01 {
    width: 36.1%;
    left: -4%;
    bottom: -1%;
  }

  article section.banner .wrapper .btn_part .character_02 {
    width: 35.04%;
    right: -6%;
    bottom: -1%;
  }

  article section.banner .wrapper .flip_slogan {
    width: 60vw;
    padding: 3vw 0;
    z-index: 1;
  }

  article section.banner .wrapper .flip_slogan::before {
    font-size: 3.89vw;
    -webkit-text-stroke: 0.8vw #fff;
    text-shadow: 0.8vw 0px #4297B0;
  }

  article section.banner .wrapper .flip_slogan p {
    font-size: 3.89vw;
  }

  article section.banner .wrapper .flip_slogan picture,
  article section.banner .wrapper .flip_slogan img {
    width: 90%;
  }

  article section.banner .wrapper .fixed_box {
    width: calc((122 / 375)* 100vw);
    padding: 3vw 3vw 2vw;
    border-radius: 3.2vw 3.2vw 0 0;
    bottom: calc((150 / 375)* 100vw);
    right: -6px;
    -webkit-transform: rotateZ(-90deg);
            transform: rotateZ(-90deg);
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
  }
}

.teaching {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 100;
}

.teaching .wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 30px);
  max-width: 720px;
}

.teaching .wrapper .title {
  width: calc((665 / 720)*100%);
  margin: auto;
}

.teaching .wrapper .box .item {
  width: 100%;
  padding: 15px 30px;
  background-color: #225FC3;
  border: 4px solid #fff;
  -webkit-box-shadow: 6px 6px 10px rgba(173, 173, 173, 0.75);
          box-shadow: 6px 6px 10px rgba(173, 173, 173, 0.75);
  border-radius: 15px;
  font-size: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.teaching .wrapper .box .item + .item {
  margin-top: 20px;
}

.teaching .wrapper .box .item .pic {
  display: inline-block;
  vertical-align: middle;
  width: 125px;
}

.teaching .wrapper .box .item .content {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 125px);
  padding-left: 25px;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.teaching .wrapper .box .item .content .step {
  padding: 10px 0;
  font-size: 34px;
  border-bottom: 2px solid #fff;
}

.teaching .wrapper .box .item .content .step span.num {
  font-family: 'Oswald', sans-serif;
  font-size: 45px;
  margin-left: 2px;
}

.teaching .wrapper .box .item .content .info {
  padding: 10px 0;
  font-size: 24px;
  line-height: 1.2;
}

.teaching .btn {
  width: calc((355 / 720)*100%);
  margin: 40px auto 0;
  cursor: pointer;
  text-align: center;
}

.teaching .btn .pic {
  width: 100%;
  padding-bottom: 26%;
  position: relative;
  background-size: 100%;
  background-position: center top;
}

.teaching .btn .pic p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 90%;
  font-size: 30px;
  color: #225FC3;
  letter-spacing: 0.1em;
  font-weight: bold;
}

@media only screen and (min-width: 768px) {
  .teaching .btn:hover .pic {
    background-position: center bottom;
  }
}

@media only screen and (max-height: 900px) {
  .teaching {
    overflow: auto;
  }

  .teaching .wrapper {
    position: static;
    -webkit-transform: none;
            transform: none;
    margin: 20px auto;
  }
}

@media only screen and (max-width: 768px) {
  .teaching .wrapper .title {
    width: calc((300 / 375)*100%);
  }

  .teaching .wrapper .box .item {
    padding: 10px 20px;
    border: 2px solid #fff;
    border-radius: 10px;
  }

  .teaching .wrapper .box .item + .item {
    margin-top: 5px;
  }

  .teaching .wrapper .box .item .pic {
    width: 25%;
  }

  .teaching .wrapper .box .item .content {
    width: 75%;
    padding-left: 15px;
  }

  .teaching .wrapper .box .item .content .step {
    font-size: 6vw;
    border-bottom: 1px solid #fff;
  }

  .teaching .wrapper .box .item .content .step span.num {
    font-size: 9vw;
  }

  .teaching .wrapper .box .item .content .info {
    font-size: 4vw;
  }

  .teaching .btn {
    width: calc((260 / 375)*100%);
    margin: 30px auto 0;
  }

  .teaching .btn .pic {
    padding-bottom: 26%;
  }

  .teaching .btn .pic p {
    font-size: 6vw;
  }
}

