@charset "UTF-8";
/* CSS Document */
@import url("reset.css");
html {
  font-size: 16px; }

html * {
  font-size: 1rem;
  font-weight: 400; }

body {
  margin: 0px;
  padding: 0px;
  font-family: Arial, "Arial Black", 'Noto Serif TC', serif, "微軟正黑體", "新細明體", "細明體";
  font-size: 16px;
  line-height: 25px;
  color: #555;
  letter-spacing: 1px;
  box-sizing: border-box;
  /*height: 100vh; */
  background-image: url(../images/bg-wave.png), linear-gradient(#cde7e6, #aad8e7);
  background-attachment: fixed; }

.mt-1 {
  margin-top: 20px; }

.mt-2 {
  margin-top: 40px; }

.mb-1 {
  margin-bottom: 20px; }

.pl-20 {
  padding-left: 20px; }

.pr-20 {
  padding-right: 20px; }

img {
  display: block;
  width: 100%;
  height: auto; }

div, span {
  display: block;
  width: 100%; }

*:focus {
  outline: none; }

/*解決滾動到區塊時出現框線問題*/
a {
  text-decoration: none; }

h2 {
  font-size: 2.5rem;
  font-weight: bold; }

p {
  font-size: 1.5rem;
  line-height: 1.8;
  color: #707070;
  font-weight: 400; }

/*.selector-for-some-widget {
  box-sizing: content-box;
}*/
button.btn-normal {
  display: block;
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  transition: all 0.5s ease-in-out; }

button.btn-normal:hover {
  padding: 0.5rem 2rem; }

.btn_pinky {
  font-size: 1.15rem;
  color: #fff;
  background: #cd0078;
  border: none; }

.btn_green {
  background: #aeca6e;
  border: 5px solid #fff; }

.pt-nav {
  padding: 0.5rem 1rem; }

.mb-wrapper {
  margin: 0 auto 126px auto; }

.pad-wrapper {
  padding: 2% 0; }

.pc {
  display: block; }

.mob {
  display: none; }

nav {
  display: flex;
  width: 100%;
  height: 126px;
  background: url(../images/nav_bg.png) repeat-x;
  background-position: center top;
  background-size: auto;
  position: fixed;
  bottom: 0;
  z-index: 50;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: flex-end; }
  nav .logo {
    width: 5.1%;
    margin-top: 1.5%; }
  nav ul.menu_box {
    display: flex;
    list-style-type: none; }
    nav ul.menu_box a li {
      font-size: 1.25rem;
      font-weight: bold;
      transform-origin: center;
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out; }
      nav ul.menu_box a li img.menu-pic {
        display: inline-block;
        width: 26px;
        height: auto;
        margin-right: 5px; }
    nav ul.menu_box a:hover li {
      -webkit-transform: scale(1.25);
      transform: scale(1.25); }

.kv_w {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  line-height: 0;
  /*background-image:url(../images/bg-wave.png);
  background-repeat: repeat;
  background-size:cover;*/ }

.menu01 {
  color: #aeca6e; }

.menu02 {
  color: #e59578; }

.menu03 {
  color: #12b4d3; }

.menu04 {
  color: #00974c; }

/*---kv---*/
.heart_box {
  width: 70.6%;
  /*height: 100%;
  max-width: 1356px;*/
  overflow: hidden;
  margin: 0 auto;
  position: relative; }
  .heart_box .title_box {
    width: 80%;
    position: absolute;
    left: 13%;
    top: 18%;
    z-index: 5; }
    .heart_box .title_box h1 {
      width: 100%;
      max-width: 810px;
      margin: 0 auto; }
    .heart_box .title_box .title_g {
      display: inline-block;
      width: 88%;
      text-align: center;
      margin-left: 1.8%; }
      .heart_box .title_box .title_g h2 {
        width: 70%;
        margin: 1% auto;
        color: #cd0078; }
      .heart_box .title_box .title_g p {
        width: 60%;
        margin: 1% auto;
        font-size: 1.25rem;
        color: #cd0078;
        font-weight: bold;
        line-height: 1.35; }
      .heart_box .title_box .title_g button.btn_pink {
        color: #fff;
        background: #cd0078; }
      .heart_box .title_box .title_g .date_box {
        font-size: 1.15rem;
        color: #cd0078;
        font-weight: bold;
        line-height: 2; }

.title_photo {
  width: 15.9%;
  max-width: 129px;
  position: absolute;
  right: 20%;
  top: 42%;
  z-index: 5;
  opacity: 0;
  -webkit-animation: title_photo 1s 3.5s ease-in forwards;
  animation: title_photo 1s 3.5s ease-in forwards; }
  .title_photo .title_photo_g {
    width: 100%;
    position: relative; }
    .title_photo .title_photo_g img.title_photo_talk {
      width: 82.1%;
      position: absolute;
      right: -75%;
      top: -75%;
      z-index: 2;
      opacity: 0;
      transform-origin: bottom left;
      -webkit-animation: title_p_talk 2s 5s ease-in-out infinite;
      animation: title_p_talk 2s 5s ease-in-out infinite; }

@-webkit-keyframes title_p_talk {
  0% {
    transform: scale(0.1);
    opacity: 0; }
  20% {
    transform: scale(1);
    opacity: 1; }
  25% {
    transform: scale(0.95);
    opacity: 1; }
  30% {
    transform: scale(1);
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes title_p_talk {
  0% {
    transform: scale(0.1);
    opacity: 0; }
  20% {
    transform: scale(1);
    opacity: 1; }
  25% {
    transform: scale(0.95);
    opacity: 1; }
  30% {
    transform: scale(1);
    opacity: 1; }
  100% {
    opacity: 1; } }
@-webkit-keyframes title_photo {
  0% {
    right: 0;
    opacity: 0; }
  100% {
    right: 20%;
    opacity: 1; } }
@keyframes title_photo {
  0% {
    right: 0;
    opacity: 0; }
  100% {
    right: 20%;
    opacity: 1; } }
.girl_box {
  width: 100%;
  height: 100%;
  position: relative;
  top: 0; }
  .girl_box .girl_g {
    width: 100%;
    /*height: 100%;*/
    position: relative; }
    .girl_box .girl_g img {
      position: absolute; }
      .girl_box .girl_g img.heart_border {
        width: 100%;
        position: relative;
        z-index: 3; }

img.okinawa_girl {
  width: 18.6%;
  position: absolute;
  left: 40.9%;
  bottom: -1.5%;
  z-index: 4; }

img.heart_bg {
  width: 100%;
  position: absolute;
  top: 0;
  opacity: 1;
  z-index: 1; }

.girl01 {
  width: 17%;
  left: 41.2%;
  top: 6.9%;
  z-index: 4; }

.girl02 {
  width: 15.1%;
  right: 24%;
  top: 3.7%;
  z-index: 4; }

.girl03 {
  width: 19.3%;
  right: 3.8%;
  top: 8.5%;
  z-index: 2; }

.girl04 {
  width: 17.9%;
  right: 2%;
  top: 34.9%;
  z-index: 4; }

.girl05 {
  width: 23.2%;
  right: 18.3%;
  top: 59.8%;
  z-index: 4; }

.girl06 {
  width: 14.8%;
  left: 21.1%;
  top: 59.6%;
  z-index: 4; }

.girl07_1 {
  width: 24.7%;
  left: 0.5%;
  top: 32.7%;
  z-index: 2; }

.girl07_2 {
  width: 24.7%;
  left: 0.5%;
  top: 32.7%;
  z-index: 4; }

.girl08_1 {
  width: 24.7%;
  left: 0.5%;
  top: 8%;
  z-index: 2; }

.girl08_2 {
  width: 24.7%;
  left: 0.5%;
  top: 8%;
  z-index: 4; }

.girl09 {
  width: 19.1%;
  left: 22.1%;
  top: 3.7%;
  z-index: 4; }

.girl01, .girl02, .girl03, .girl04, .girl05, .girl06, .girl07_1, .girl07_2, .girl08_1, .girl08_2, .girl09 {
  opacity: 0; }

.girl_show {
  animation: girl_show 1s ease-in forwards; }

@-webkit-keyframes girl_show {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes girl_show {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.okinawa_map {
  width: 10.7%;
  position: absolute;
  right: 3.8%;
  top: 35%;
  z-index: 2; }

.btn_games {
  width: 9%;
  position: fixed;
  right: 7%;
  bottom: 13.8%;
  z-index: 10; }
  .btn_games img.btn_game_heart {
    width: 100%;
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
    animation: game_heart 1s ease-in-out infinite; }

@-webkit-keyframes game_heart {
  0% {
    transform: rotate(2.5deg); }
  50% {
    transform: rotate(-2.5deg); }
  100% {
    transform: rotate(2.5deg); } }
@keyframes game_heart {
  0% {
    transform: rotate(2.5deg); }
  50% {
    transform: rotate(-2.5deg); }
  100% {
    transform: rotate(2.5deg); } }
.cloud_box {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1; }
  .cloud_box img {
    position: absolute; }

.cloud_L01 {
  width: 9.32%;
  left: 9%;
  top: 18.4%; }

.cloud_L02 {
  width: 15.4%;
  left: 0%;
  top: 40.3%; }

.cloud_L03 {
  width: 14.3%;
  left: 13.5%;
  top: 74%; }

.cloud_R01 {
  width: 12.2%;
  right: 0%;
  top: 18.4%; }

.cloud_R02 {
  width: 4.6%;
  right: 2.2%;
  top: 60%; }

.cloud_R03 {
  width: 7.7%;
  right: 26%;
  top: 82.5%; }

/*---game-----------------*/
.wrapper {
  width: 92.1%;
  position: relative; }

main {
  display: block;
  width: 100%; }

.start_g {
  width: 100%;
  position: absolute;
  bottom: 2.5%;
  z-index: 10; }
  .start_g .btn_game_start {
    font-size: 2.25rem;
    color: #fff; }

/*飛機*/
.airplane_box {
  width: 21.7%;
  position: absolute;
  left: 10%;
  top: 2.5%;
  z-index: 3; }

/*通過考驗才是真愛*/
.girl_b_box {
  width: 14%;
  position: absolute;
  right: 5%;
  bottom: 2.5%;
  z-index: 2; }
  .girl_b_box .girl_b {
    width: 100%;
    position: relative; }
    .girl_b_box .girl_b .girl_b_talk {
      width: 88.7%;
      position: absolute;
      left: -90%;
      top: -20%;
      z-index: 2; }

.girl_talk_mc {
  transform-origin: right bottom;
  -webkit-animation: girl-talk 2s ease-in-out infinite;
  animation: girl-talk 2s ease-in-out infinite; }

@-webkit-keyframes girl-talk {
  0% {
    -webkit-transform: scale(0.2); }
  20% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.8); }
  30% {
    -webkit-transform: scale(1); }
  35% {
    -webkit-transform: scale(0.9); }
  40% {
    -webkit-transform: scale(1); }
  100% {
    -webkit-transform: scale(1); } }
@keyframes girl-talk {
  0% {
    transform: scale(0.2); }
  20% {
    transform: scale(1); }
  25% {
    transform: scale(0.8); }
  30% {
    transform: scale(1); }
  35% {
    transform: scale(0.9); }
  40% {
    transform: scale(1); }
  100% {
    transform: scale(1); } }
/*小真-走路*/
.girl_walk_box {
  width: 5.5%;
  position: absolute;
  left: 18%;
  bottom: 4%;
  z-index: 2; }
  .girl_walk_box .girl_walk_g {
    width: 100%;
    position: relative; }
    .girl_walk_box .girl_walk_g .girl_walk_foot {
      width: 19.3%;
      position: absolute;
      z-index: -1;
      transform-origin: center top; }

.girl_foot_L {
  -webkit-transform: rotate(-38deg);
  transform: rotate(-38deg);
  left: 42.8%;
  top: 80%;
  -webkit-animation: walk_L 1s ease-in-out infinite;
  animation: walk_L 1s ease-in-out infinite; }

.girl_foot_R {
  -webkit-transform: rotate(-10deg);
  transform: rotate(-10deg);
  left: 30.8%;
  top: 76.7%; }

.walk_L {
  -webkit-animation: walk_L 1s ease-in-out infinite;
  animation: walk_L 1s ease-in-out infinite; }

@-webkit-keyframes walk_L {
  0% {
    -webkit-transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; }
  50% {
    -webkit-transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; }
  100% {
    -webkit-transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; } }
@keyframes walk_L {
  0% {
    transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; }
  50% {
    transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; }
  100% {
    transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; } }
.walk_R {
  -webkit-animation: walk_R 1s ease-in-out infinite;
  animation: walk_R 1s ease-in-out infinite; }

@-webkit-keyframes walk_R {
  0% {
    -webkit-transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; }
  50% {
    -webkit-transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; }
  100% {
    -webkit-transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; } }
@keyframes walk_R {
  0% {
    transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; }
  50% {
    transform: rotate(-38deg);
    left: 42.8%;
    top: 80%; }
  100% {
    transform: rotate(-10deg);
    left: 30.8%;
    top: 76.7%; } }
/*小真-游泳*/
.girl_swim_box {
  width: 10%;
  position: absolute;
  left: 66%;
  bottom: 80%;
  z-index: 3; }
  .girl_swim_box .girl_swim_g {
    width: 100%;
    position: relative; }

.girl_swim_fish01 {
  width: 20.3%;
  position: absolute;
  z-index: -1;
  left: 0%;
  bottom: 0%;
  transform-origin: center bottom;
  -webkit-animation: fish01 2s ease-in-out infinite;
  animation: fish01 2s ease-in-out infinite; }

.girl_swim_fish02 {
  width: 18.6%;
  position: absolute;
  z-index: -1;
  right: 0%;
  bottom: 0%;
  transform-origin: center bottom;
  -webkit-animation: fish02 2s ease-in-out infinite;
  animation: fish02 2s ease-in-out infinite; }

@-webkit-keyframes fish01 {
  0% {
    left: 0%; }
  50% {
    left: 60%;
    transform: rotateY(0deg); }
  51% {
    left: 61%;
    transform: rotateY(180deg); }
  95% {
    left: 5%; }
  99% {
    left: 2%;
    transform: rotateY(180deg); }
  100% {
    left: 0%;
    transform: rotateY(0deg); } }
@keyframes fish01 {
  0% {
    left: 0%; }
  50% {
    left: 60%;
    transform: rotateY(0deg); }
  51% {
    left: 61%;
    transform: rotateY(180deg); }
  95% {
    left: 5%; }
  99% {
    left: 2%;
    transform: rotateY(180deg); }
  100% {
    left: 0%;
    transform: rotateY(0deg); } }
@-webkit-keyframes fish02 {
  0% {
    right: 0%; }
  50% {
    right: 70%;
    transform: rotateY(0deg); }
  51% {
    right: 71%;
    transform: rotateY(180deg); }
  95% {
    right: 5%; }
  99% {
    right: 2%;
    transform: rotateY(180deg); }
  100% {
    right: 0%;
    transform: rotateY(0deg); } }
@keyframes fish02 {
  0% {
    right: 0%; }
  50% {
    right: 70%;
    transform: rotateY(0deg); }
  51% {
    right: 71%;
    transform: rotateY(180deg); }
  95% {
    right: 5%; }
  99% {
    right: 2%;
    transform: rotateY(180deg); }
  100% {
    right: 0%;
    transform: rotateY(0deg); } }
/*小真-躺椅*/
.girl_recliner_box {
  width: 9.8%;
  position: absolute;
  left: 18%;
  bottom: 52%;
  z-index: 3; }

/*招福獅*/
.lion_box {
  width: 4.8%;
  position: absolute;
  left: 14%;
  bottom: 43.5%;
  z-index: 3; }
  .lion_box .lion_g {
    width: 100%;
    position: relative; }

/*阿朗*/
.boy_box {
  width: 7.5%;
  position: absolute;
  left: 5%;
  bottom: 42%;
  z-index: 3; }
  .boy_box .boy_g {
    width: 100%;
    position: relative; }

.surfing {
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: center bottom;
  -webkit-animation: surfing 1s ease-in-out infinite;
  animation: surfing 1s ease-in-out infinite; }

@-webkit-keyframes surfing {
  0% {
    top: 0; }
  50% {
    top: 10%; }
  100% {
    top: 0; } }
@keyframes surfing {
  0% {
    top: 0; }
  50% {
    top: 5%; }
  100% {
    top: 0; } }
/*地圖-地點標示*/
.map_vp_box {
  width: 1.8%;
  position: absolute;
  transform-origin: center bottom; }
  .map_vp_box .map_vp_g {
    width: 100%;
    position: relative; }

.map_vp_name {
  position: absolute; }

.map_vp01-1 {
  left: 26.6%;
  bottom: 18%; }

.map_vp01-1_name {
  width: 248%;
  right: -250%;
  bottom: 5%; }

.map_vp01-2 {
  left: 23.1%;
  bottom: 21%; }

.map_vp01-2_name {
  width: 248%;
  left: -250%;
  bottom: 5%; }

.map_vp01-3 {
  left: 32.7%;
  bottom: 12.5%; }

.map_vp01-3_name {
  width: 484%;
  right: -484%;
  bottom: 5%; }

.map_vp01-4 {
  left: 24.9%;
  bottom: 19%; }

.map_vp01-4_name {
  width: 248%;
  left: -250%;
  bottom: -20%; }

.map_vp02-1 {
  left: 38.9%;
  bottom: 31.2%; }

.map_vp02-1_name {
  width: 318%;
  left: -120%;
  bottom: -75%; }

.map_vp02-2 {
  left: 30.5%;
  bottom: 39.5%; }

.map_vp02-2_name {
  width: 840%;
  left: -835%;
  top: -50%; }

.map_vp02-3 {
  left: 37.4%;
  bottom: 36.2%; }

.map_vp02-3_name {
  width: 248%;
  left: -250%;
  bottom: 5%; }

.map_vp02-4 {
  left: 50.4%;
  bottom: 34.5%; }

.map_vp02-4_name {
  width: 318%;
  left: -100%;
  top: -75%; }

.map_vp03-1 {
  left: 49.1%;
  bottom: 73.6%; }

.map_vp03-1_name {
  width: 393%;
  left: -395%;
  top: 20%; }

.map_vp03-2 {
  left: 51.3%;
  bottom: 55.7%; }

.map_vp03-2_name {
  width: 506%;
  left: -512%;
  top: -22%; }

.map_vp03-3 {
  left: 80.6%;
  bottom: 72.3%; }

.map_vp03-3_name {
  width: 315%;
  left: -320%;
  top: 20%; }

.map_vp03-4 {
  left: 89%;
  bottom: 93%; }

.map_vp03-4_name {
  width: 315%;
  left: -320%;
  top: 20%; }

.map_vp04-1 {
  left: 11.9%;
  bottom: 53.7%; }

.map_vp04-1_name {
  width: 506%;
  left: -500%;
  top: 50%; }

.map_vp04-2 {
  left: 13.7%;
  bottom: 55.3%; }

.map_vp04-2_name {
  width: 443%;
  left: -225%;
  top: -80%; }

.map_vp04-3 {
  left: 6.5%;
  bottom: 33.4%; }

.map_vp04-3_name {
  width: 315%;
  left: -100%;
  bottom: -70%; }

.map_vp04-4 {
  left: 15%;
  bottom: 37.8%; }

.map_vp04-4_name {
  width: 253%;
  left: -75%;
  bottom: -70%; }

/*-----popup / modal----*/
.modal {
  background: rgba(18, 180, 211, 0.8);
  z-index: 991; }

.modal-container {
  width: 50%;
  height: auto;
  max-height: 90vh;
  background: #19b5d0;
  border: 5px solid #fff;
  border-radius: 25px;
  box-sizing: border-box;
  overflow: auto;
  padding: 0;
  padding-top: 50px;
  padding-bottom: 50px; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .modal-container {
      width: 60%; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .modal-container {
      width: 80%; } }
  @media (max-width: 767px) {
    .modal-container {
      width: 90%; } }

.modal-close {
  width: 45px;
  height: 45px;
  position: absolute;
  right: 1%;
  top: 1%;
  background: none;
  border: none;
  padding: 0; }

/*-----popup / 題目----*/
.modal-inner {
  display: block;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box; }

.modal-inner > h2 {
  font-size: 3rem;
  color: #fff;
  line-height: 1;
  box-sizing: border-box; }
  @media (max-width: 767px) {
    .modal-inner > h2 {
      font-size: 2.25rem; } }
  .modal-inner > h2::after {
    content: "";
    display: block;
    width: 5rem;
    height: 5px;
    border-radius: 50px;
    background: #ffdd00;
    margin: 2% auto; }
  .modal-inner > h2 span {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    color: #ffdd00; }
    @media (max-width: 767px) {
      .modal-inner > h2 span {
        font-size: 2.25rem; } }

.modal-inner > p {
  line-height: 1.5; }

.modal-inner > p.modal-text {
  font-size: 1.25rem;
  color: #fff; }
  @media (max-width: 767px) {
    .modal-inner > p.modal-text {
      font-size: 1rem;
      text-align: justify; } }

.modal-inner > hr {
  width: 100%;
  height: 1px;
  background: #fff;
  border: none; }

.question_box {
  display: flex;
  width: 100%;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: baseline; }
  @media (max-width: 767px) {
    .question_box {
      flex-flow: row wrap; } }

.question_box > .q_number {
  width: auto;
  font-size: 3rem;
  color: #ffdd00;
  font-weight: bold;
  text-align: left; }

.question_box > p {
  font-size: 2rem;
  color: #fff;
  text-align: justify;
  font-weight: bold;
  line-height: 1.5; }
  @media (max-width: 767px) {
    .question_box > p {
      font-size: 1.5rem;
      margin: 0.5rem 0; } }

.answer_options_box {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  text-align: center;
  justify-content: center; }
  @media (max-width: 767px) {
    .answer_options_box {
      flex-flow: row wrap; } }

.answer_options_box > button {
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin: 2%;
  padding: 0.25rem 1.5rem; }
  .answer_options_box > button:hover {
    background: #ffdd00;
    color: #12b4d3; }
  @media (max-width: 767px) {
    .answer_options_box > button {
      widtH: 100%;
      font-size: 1.5rem;
      margin: 0.5rem 0; } }

.answer_options_box > .btn_nomal {
  border: 2px solid #fff;
  background: none;
  border-radius: 50px; }

.answer_options_box > .btn_correct {
  border: 2px solid #ffdd00;
  color: #ffdd00;
  background: none;
  border-radius: 50px; }

.answer_options_box > .btn_wrong {
  border: 2px solid #e20012;
  color: #e20012;
  background: none;
  border-radius: 50px; }

.result_box {
  display: block;
  width: 100%; }
  .result_box button {
    width: 100%;
    border: none;
    background: none;
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
    border-radius: 50px;
    padding: 0.25rem 1rem;
    box-sizing: border-box; }
    @media (max-width: 767px) {
      .result_box button {
        font-size: 1.25rem;
        margin: 0.5rem 0; } }

.result_box > button.correct {
  background: #ffdd00; }

.result_box > button.wrong {
  color: #fff;
  background: #e20012; }

.answer_info_box {
  display: flex;
  width: 100%;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 767px) {
    .answer_info_box {
      flex-flow: row wrap; } }

.answer_info_box > .answer-photo {
  width: 45%;
  max-width: 823px; }
  @media (max-width: 767px) {
    .answer_info_box > .answer-photo {
      width: 100%; } }

.answer_info_box > .answer-info {
  width: 50%;
  color: #fff;
  text-align: left; }
  @media (max-width: 767px) {
    .answer_info_box > .answer-info {
      width: 100%;
      margin-top: 5%; } }
  .answer_info_box > .answer-info h3 {
    font-size: 2rem;
    color: #ffdd00;
    font-weight: bold; }
  .answer_info_box > .answer-info p {
    font-size: 1.25rem;
    color: #fff;
    text-align: justify;
    line-height: 1.5;
    margin: 2% 0; }

.fraction_photo {
  width: 100%;
  margin: 5% auto; }

button.btn_send {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  background: #ffdd00;
  border: none;
  border-radius: 50px;
  padding: 0.25rem 1rem;
  transition: all 0.5s ease-in-out; }
  button.btn_send:hover {
    padding: 0.25rem 2rem; }
  @media (max-width: 767px) {
    button.btn_send {
      font-size: 1.25rem; } }

#win-form p {
  text-align: center;
  margin-bottom: 0; }

.form_box {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  justify-content: center; }
  .form_box label.form_item {
    width: 20%;
    font-size: 1.25rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.5;
    text-align: right; }
    @media (max-width: 767px) {
      .form_box label.form_item {
        width: 100%;
        text-align: left; } }
  .form_box input {
    width: 70%;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    color: #707070;
    border: none;
    border-radius: 50px;
    background: #fff;
    padding: 0.25rem 1rem; }
    @media (max-width: 767px) {
      .form_box input {
        width: 100%;
        text-align: left; } }
  .form_box .checkbox_g {
    width: 100%;
    font-size: 1.25rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.5; }
    .form_box .checkbox_g .checkbox {
      display: inline-block;
      width: 25px;
      height: 25px;
      border: 1px solid #fff;
      margin-right: 10px;
      vertical-align: middle; }

/* ---正確答案-介紹------------*/
.view_box {
  display: flex;
  width: 73.4%;
  margin: 5% auto;
  flex-flow: row wrap;
  justify-content: center; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .view_box {
      width: 90%; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .view_box {
      width: 90%; } }
  @media (max-width: 767px) {
    .view_box {
      width: 90%;
      margin: 5% auto 100px; } }
  .view_box h2 {
    width: 66.3%;
    max-width: 935px;
    margin: 50px auto; }
    @media (max-width: 767px) {
      .view_box h2 {
        width: 90%;
        margin: 25px auto; } }
  .view_box p {
    font-size: 2.75rem;
    line-height: 1.5;
    color: #a9cb03;
    font-weight: bold;
    text-align: center;
    text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 5px #fff; }
    @media (min-width: 768px) and (max-width: 991px) {
      .view_box p {
        font-size: 2rem; } }
    @media (max-width: 767px) {
      .view_box p {
        font-size: 1.25rem;
        margin: 2% auto; } }

.info_box {
  display: flex;
  width: 87.9%;
  position: relative;
  margin: 2% auto;
  flex-flow: row nowrap;
  align-items: center; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .info_box {
      flex-flow: row wrap; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .info_box {
      flex-flow: row wrap; } }
  @media (max-width: 767px) {
    .info_box {
      flex-flow: row wrap;
      width: 100%; } }

.info_photo {
  width: 55.5%;
  position: relative; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .info_photo {
      width: 65%;
      margin: 2% auto; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .info_photo {
      width: 65%;
      margin: 2% auto; } }
  @media (max-width: 767px) {
    .info_photo {
      width: 85%;
      margin: 2% auto; } }

.info_photo01 {
  order: 2; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .info_photo01 {
      order: 0; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .info_photo01 {
      order: 0; } }
  @media (max-width: 767px) {
    .info_photo01 {
      order: 0; } }
  .info_photo01 .idol {
    width: 26.8%;
    position: absolute;
    right: -5%;
    bottom: -5%; }

.info_photo02 .idol {
  width: 26.8%;
  position: absolute;
  left: -5%;
  bottom: -5%; }

.info_text_g {
  display: flex;
  flex-flow: row wrap;
  width: 45.5%;
  padding: 0 20px;
  box-sizing: border-box; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .info_text_g {
      width: 80%;
      margin: 0 auto; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .info_text_g {
      width: 100%;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    .info_text_g {
      width: 100%;
      margin: 0 auto; } }
  .info_text_g p {
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: bold;
    color: #333;
    text-align: justify;
    text-shadow: none; }
    @media (max-width: 767px) {
      .info_text_g p {
        font-size: 1.15rem; } }
  .info_text_g button {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    padding: 0.25rem 1rem;
    border: 2px solid #fff;
    border-radius: 50px;
    margin: 2.5% 0;
    margin-left: auto;
    transition: all 0.5s ease-in-out; }
    .info_text_g button:hover {
      padding: 0.25rem 1.5rem; }
  .info_text_g .tips {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: justify;
    padding: 0 5px;
    border-left: 1px solid #888;
    border-right: 1px solid #888;
    box-sizing: border-box; }

.btn_info_more01 {
  background: #a9cb03; }

.btn_info_more02 {
  background: #28bbd7; }

.hr_line {
  width: 60%;
  height: 25px;
  background: url(../images/tour_info/hr.png) repeat-x;
  margin: 2% auto; }
  @media (min-width: 768px) and (max-width: 991px) {
    .hr_line {
      width: 80%; } }
  @media (max-width: 767px) {
    .hr_line {
      width: 80%; } }

/*---活動辦法--------*/
.rules_box {
  width: 70%;
  max-width: 1097px;
  margin: 2% auto 127px; }
  @media (max-width: 767px) {
    .rules_box {
      width: 90%;
      margin: 10% auto 100px; } }
  .rules_box h2 {
    max-width: 535px;
    margin: 0 auto; }
  .rules_box hr.line_w5 {
    background: #fff;
    height: 5px;
    border: none;
    border-radius: 50px; }

ul.rules {
  list-style-type: none; }
  ul.rules li {
    margin: 5% 0; }
    ul.rules li h3 {
      display: inline-block;
      font-size: 1.15rem;
      font-weight: bold;
      color: #fff;
      padding: 0.25rem 1rem;
      background: #28bbd7;
      border: 2px solid #fff;
      border-radius: 50px; }
    ul.rules li p {
      font-size: 1.15rem;
      font-weight: 400;
      color: #333;
      line-height: 1.5;
      margin: 10px 0;
      text-align: justify; }
      @media (max-width: 767px) {
        ul.rules li p {
          font-size: 1rem; } }
    ul.rules li ol.rules_list li {
      font-size: 1.15rem;
      margin: 10px 0;
      line-height: 1.5;
      list-style-type: disc;
      margin-left: 2.5rem; }
      @media (max-width: 767px) {
        ul.rules li ol.rules_list li {
          font-size: 1rem; } }

.gototop {
  display: block;
  z-index: 55;
  bottom: 25px;
  position: fixed; }

/*-------------------------------------------------------------SM大手機或平版直立---------------------------------*/
@media (min-width: 768px) and (max-width: 991px) {
  body {
    height: auto; }

  .pc {
    display: none; }

  .mob {
    display: block; }

  p {
    font-size: 1rem; }

  button.menu_m {
    display: none;
    position: fixed;
    top: 2%;
    right: 3%;
    width: 45px;
    height: 45px;
    border: none;
    background-image: url(../images/menu_mobile22.png);
    background-size: cover;
    background-color: transparent;
    text-indent: -9999px;
    cursor: pointer;
    z-index: 990;
    outline: 0; }

  button {
    font-size: 1.5rem; }

  nav .logo {
    width: 12%;
    margin-top: 5%; }

  .menu_box {
    display: none; }

  /*---kv---*/
  .heart_box {
    width: 90%; }
    .heart_box .title_box {
      width: 100%;
      position: relative;
      left: 0;
      margin: 5% auto 0; }
      .heart_box .title_box h1 {
        width: 80%;
        max-width: 1116px;
        margin: 0 auto 5%; }
      .heart_box .title_box .title_g {
        width: 100%;
        margin-left: 0; }
        .heart_box .title_box .title_g h2 {
          width: 90%;
          font-size: 1.25rem; }
        .heart_box .title_box .title_g p {
          width: 80%;
          font-size: 1rem;
          line-height: 1.8; }
        .heart_box .title_box .title_g .date_box {
          font-size: 1rem; }

  .title_photo {
    width: 20%;
    top: 62%; }

  .girl_box {
    position: relative; }

  img.okinawa_girl {
    width: 35%;
    left: 32%;
    bottom: -2%;
    z-index: 4; }

  .okinawa_map {
    width: 20%;
    position: absolute;
    right: 2%;
    top: 38%;
    z-index: 2; }

  .btn_games {
    width: 20%;
    position: fixed;
    right: 2%;
    bottom: 10%; } }
/*--------------------------------------------------------------MD平版橫立---------------------------------------*/
@media (min-width: 992px) and (max-width: 1199px) {
  nav .logo {
    width: 8%; }

  /*---kv---*/
  .heart_box {
    width: 90%; }
    .heart_box .title_photo {
      width: 10%; }
    .heart_box .title_box {
      width: 70%;
      left: 18%; }
      .heart_box .title_box h1 {
        width: 90%; }
      .heart_box .title_box .date_box {
        font-size: 1.05rem; }

  .okinawa_map {
    display: none; } }
/* --------------------------------------------------------------手機版---------------------------------------- */
@media (max-width: 767px) {
  body {
    height: 100vh; }

  .pc {
    display: none; }

  .mob {
    display: block; }

  p {
    font-size: 1rem; }

  .mb-wrapper {
    margin: 0 auto 0px auto; }

  button.menu_m {
    display: block;
    position: fixed;
    top: 1%;
    right: 3%;
    width: 40px;
    height: 40px;
    border: none;
    background-image: url(../images/menu_mobile22.png);
    background-size: cover;
    background-color: transparent;
    text-indent: -9999px;
    cursor: pointer;
    z-index: 990;
    outline: 0; }

  nav {
    height: 80px; }
    nav .logo {
      width: 15%; }
    nav ul.menu_box {
      display: none; }
    nav ul.menu_box_m {
      display: flex;
      flex-flow: column wrap;
      justify-content: center; }
      nav ul.menu_box_m li {
        display: flex;
        width: 90%;
        min-height: 50px;
        font-size: 1.5rem;
        align-items: center;
        border-radius: 50px;
        background: #fff;
        margin: 10px 0; }
        nav ul.menu_box_m li img {
          width: 20%; }

  /*---kv---*/
  .heart_box {
    width: 90%; }
    .heart_box .title_box {
      width: 100%;
      position: relative;
      left: 0;
      margin: 5% auto 0; }
      .heart_box .title_box h1 {
        width: 80%;
        max-width: 1116px;
        margin: 0 auto 5%; }
      .heart_box .title_box .title_g {
        width: 100%;
        margin-left: 0; }
        .heart_box .title_box .title_g h2 {
          width: 90%;
          font-size: 1.25rem; }
        .heart_box .title_box .title_g p {
          width: 90%;
          font-size: 1rem;
          line-height: 1.8; }
        .heart_box .title_box .title_g .date_box {
          font-size: 0.75rem; }

  .title_photo {
    width: 20%;
    top: 62%; }

  .girl_box {
    position: relative; }

  img.okinawa_girl {
    width: 35%;
    left: 32%;
    bottom: -2%;
    z-index: 4; }

  .okinawa_map {
    display: none;
    width: 10.7%;
    position: absolute;
    right: 3.8%;
    top: 40%;
    z-index: 2; }

  .btn_games {
    width: 20%;
    position: fixed;
    right: 2%;
    bottom: 10%;
    z-index: 55; } }
nav ul.menu_box_m {
  max-width: 350px;
  display: flex;
  flex-flow: column wrap;
  justify-content: center; }
  nav ul.menu_box_m li {
    display: flex;
    width: 90%;
    min-height: 50px;
    font-size: 1.5rem;
    font-weight: bold;
    align-items: center;
    border-radius: 50px;
    background: #fff;
    margin: 10px 0; }
    nav ul.menu_box_m li img {
      width: 20%; }

/*# sourceMappingURL=style.css.map */
