@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
#fastpass h3.border { font-size: 30px; text-align: center; margin-bottom: 1.5em; }

#fastpass h3.border strong { font-size: 60px; color: #e21100; }

#fastpass h3.border:after { content: ""; width: 3em; height: 2px; background: #e21100; display: block; margin: auto; margin-top: 0.5em; }

@media screen and (max-width: 768px) { #fastpass h3.border { font-size: 6vw; }
  #fastpass h3.border strong { font-size: 10vw; } }

#fastpass .link { text-align: center; display: -webkit-flex; -webkit-justify-content: center; -webkit-align-items: center; 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; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 80px; }

#fastpass .link p { font-size: 30px; font-weight: bold; text-align: center; margin-bottom: 1em; position: relative; border-bottom: solid 10px #fcdd21; line-height: 1em; }

#fastpass .link a { font-size: 26px; color: #fff; background: #e21100; line-height: 1em; padding: 0.7em 4em 0.7em 3em; display: inline-block; border-radius: 0.5em; -webkit-box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3); font-weight: bold; position: relative; }

#fastpass .link a:after { content: "\e5e1"; font-family: "Material Icons"; font-size: 20px; width: 1.6em; height: 1.6em; border: solid 2px #fff; border-radius: 2em; display: -webkit-flex; -webkit-justify-content: center; -webkit-align-items: center; 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; position: absolute; right: 1em; top: calc(50% - 0.7em); }

@media screen and (max-width: 768px) { #fastpass .link { margin-bottom: 10vw; }
  #fastpass .link p { font-size: 3.9vw; border-bottom-width: 2vw; }
  #fastpass .link a { width: 90%; font-size: 5vw; padding: 2em 0; }
  #fastpass .link a:after { font-size: 4vw; } }

#fastpass #kv { height: 160px; margin-bottom: 10px; }

#fastpass #kv h2 { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

#fastpass #kv h2 strong { background: #fcdd21; padding: 0.1em 0.2em 0.1em 1em; color: #000; text-shadow: none; font-size: 40px; border-radius: 2em; margin-bottom: 0.2em; }

#fastpass #kv figure:nth-child(1) { bottom: initial; top: 30px; border: solid 2px #fff; border-radius: 5px; }

#fastpass #kv figure:nth-child(2) { display: -webkit-flex; -webkit-justify-content: center; -webkit-align-items: center; 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; height: 100%; bottom: 0; }

#fastpass #kv figure:nth-child(2) img { height: 80%; }

@media screen and (max-width: 768px) { #fastpass #kv { overflow: hidden; height: 51vw; }
  #fastpass #kv h2 { font-size: 4.5vw; letter-spacing: -0.1em; }
  #fastpass #kv h2 strong { font-size: 6vw; letter-spacing: 0; }
  #fastpass #kv figure:nth-child(1) { width: 17vw; left: 3vw; top: 3vw; }
  #fastpass #kv figure:nth-child(1) img { width: 100%; }
  #fastpass #kv figure:nth-child(2) { height: auto; width: 100%; display: -webkit-flex; -webkit-justify-content: space-between; -webkit-align-items: stretch; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; bottom: 1vw; }
  #fastpass #kv figure:nth-child(2) img { height: 20vw; } }

#fastpass #feature { padding: 20px 0; margin-bottom: 30px; }

#fastpass #feature h3 { margin: 0; margin-bottom: 30px; }

#fastpass #feature h3 br { display: none; }

#fastpass #feature ul { width: 70%; }

#fastpass #feature ul li figure img { margin-bottom: 10px; }

@media screen and (max-width: 768px) { #fastpass #feature h3 { font-size: 5vw; }
  #fastpass #feature h3 br { display: block; }
  #fastpass #feature ul li { margin-bottom: 2vw; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  #fastpass #feature ul li figure img { margin-bottom: 0; } }

#fastpass #step { border-radius: 30px; }

#fastpass #step h3 { background: #00ad8d; color: #fff; font-size: 20px; display: -webkit-flex; -webkit-justify-content: center; -webkit-align-items: center; 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; text-align: center; border-radius: 4em; padding: 1em 0; margin: 0; margin-bottom: 1em; }

#fastpass #step h3 br { display: none; }

#fastpass #step .step { display: -webkit-flex; -webkit-justify-content: space-between; -webkit-align-items: stretch; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; width: 90%; margin: auto; padding: 30px; }

#fastpass #step .step .step-image { width: 49%; }

#fastpass #step .step .step-image p { padding-top: 1em; font-size: 16px; font-weight: bold; margin-bottom: 0; }

#fastpass #step .step .step-arrow { width: 20%; display: -webkit-flex; -webkit-justify-content: center; -webkit-align-items: center; 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; }

@media screen and (max-width: 768px) { #fastpass #step { margin-bottom: 10vw; }
  #fastpass #step h3 { font-size: 5vw; }
  #fastpass #step h3 br { display: block; }
  #fastpass #step .step { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding: 0; padding-bottom: 5vw; }
  #fastpass #step .step .step-image { width: 100%; margin-bottom: 0; }
  #fastpass #step .step .step-image p { font-size: 3.4vw; }
  #fastpass #step .step .step-arrow { width: 100%; }
  #fastpass #step .step .step-arrow img { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } }

#fastpass #movie .movie { background: url(../images/movie-bg.png) center center/100% 100% no-repeat; padding: 30px 0; border-radius: 50px; }

@media screen and (max-width: 768px) { #fastpass #movie .movie { border-radius: 7vw; padding: 5vw 0; }
  #fastpass #movie .movie iframe { width: 80vw; height: 46vw; } }

#fastpass #faq { background: #f5f5f5; border-radius: 30px; padding: 40px 0; margin-bottom: 80px; }

#fastpass #faq .faq { width: 80%; margin: auto; }

#fastpass #faq .faq dl { margin-bottom: 40px; }

#fastpass #faq .faq dl dt { background: url(../images/faq-bg.png) right center/auto 100% no-repeat #a0e0d4; font-size: 20px; padding: 0.5em; display: -webkit-flex; -webkit-justify-content: flex-start; -webkit-align-items: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 0.5em; }

#fastpass #faq .faq dl dt ins { text-decoration: none; font-size: 36px; color: #fff; margin-right: 0.2em; }

#fastpass #faq .faq dl dd { font-size: 18px; font-weight: bold; line-height: 1.6em; padding-left: 3.5em; }

#fastpass #faq .faq dl dd strong { display: inline-block; border-bottom: solid 4px #fcdd21; color: #e21100; }

@media screen and (max-width: 768px) { #fastpass #faq { padding: 5vw 0; border-radius: 5vw; margin-bottom: 10vw; }
  #fastpass #faq .faq { width: 90%; }
  #fastpass #faq .faq dl { margin-bottom: 5vw; }
  #fastpass #faq .faq dl dt { font-size: 4vw; }
  #fastpass #faq .faq dl dt ins { font-size: 7vw; }
  #fastpass #faq .faq dl dd { font-size: 3.5vw; padding-left: 0; } }
