.immigration-precautions #form1 {
  margin: 0 auto;
  background-image: linear-gradient(to right, #f59b00 75%, #f29002)
}

.immigration-precautions #form1 .banner {
  width: 100%;
  background-size: contain;
  position: relative;
  background-repeat: no-repeat;
  padding-bottom: 39.75%;
  background-image: url(../../img/info/m06_01_banner01_ko.jpg)
}

.immigration-precautions #form1 .h1 {
  display: block;
  font-size: 3.125rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  margin-bottom: 1rem
}

.immigration-precautions #form1 .h2 {
  display: block;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffe600;
  margin-bottom: .5rem
}

.immigration-precautions #form1 .h3 {
  margin-top: 20px;
  color: #ffee80;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .5rem
}

.immigration-precautions #form1 p {
  color: #fff
}

.immigration-precautions #form1 .mb-4 {
  margin-bottom: 1rem !important
}

.immigration-precautions #form1 .mb-2 {
  margin-bottom: .5rem !important
}

.immigration-precautions #form1 .mb-8 {
  margin-bottom: 2rem !important
}

.immigration-precautions #form1 a.btn-download {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #f45921;
  border: 3px solid #fff;
  border-radius: 13px;
  width: 300px;
  height: 55px;
  line-height: 50px;
  margin: 2rem auto;
  font-size: 1.375rem
}

.immigration-precautions #form1 a.btn-download.left {
  margin: 2rem 0
}

.immigration-precautions #form1 a.btn-download.long {
  width: 500px
}

.immigration-precautions #form1 .content {
  padding: 50px 0;
  line-height: 1.8em
}

.immigration-precautions #form1 a.link:hover,
.immigration-precautions #form1 a.link:focus {
  color: #ffe600
}

.immigration-precautions #form1 a.link {
  color: #ffee80;
  font-size: 1.25rem;
  text-decoration: underline
}

.immigration-precautions #form1 .nav-anchor-point {
  display: flex;
  width: 45%;
  margin: 0 auto;
  justify-content: space-between
}

.immigration-precautions #form1 .nav-anchor-point li {
  width: 48%;
  height: 60px
}

.immigration-precautions #form1 .eticket {
  display: flex;
  justify-content: space-between
}

.immigration-precautions #form1 .eticket a {
  width: 48%;
  text-align: center
}

.immigration-precautions #form1 .eticket__item__img {
  width: 100%;
  border: 2px solid #fff;
  border-radius: 1.68rem;
  overflow: hidden
}

.immigration-precautions #form1 .eticket__item__img:hover img {
  transform: scale(1.1)
}

.immigration-precautions #form1 .eticket__item__img img {
  width: 100%;
  transition: .4s
}

.immigration-precautions #form1 .eticket__item span {
  display: block;
  margin: .5rem 0;
  color: #ffee80;
  text-decoration: underline
}

.immigration-precautions #form1 .gallery__item img {
  border: 3px solid #fff;
  border-radius: 1.68rem
}

.immigration-precautions #form1 .content {
  padding: 5% 10%;
  font-size: 1rem
}

.immigration-precautions #form1 .content img {
  max-width: 100%;
  height: inherit;
  display: block;
  margin: auto
}

.immigration-precautions #form1 .page-wrap img {
  max-width: 100% !important
}

.immigration-precautions #form1 .grid {
  display: grid;
  width: 100%
}

.immigration-precautions #form1 .lg\:gap-12 {
  gap: 3rem
}

.immigration-precautions #form1 .lg\:grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.immigration-precautions #form1 .lg\:gap-20 {
  gap: 5rem
}

.immigration-precautions #form1 .footer {
  background-size: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
  text-align: center;
  background-image: url(../../img/info/m06_01_banner03.png), linear-gradient(to right, #f59b00 75%, #f29002);
  padding: 0 0 26%
}

.immigration-precautions #form1 .hidden {
  display: none !important;
  visibility: hidden !important
}

.immigration-precautions #form1 .banner-content {
  top: 76%;
  position: absolute;
  width: 100%
}

.immigration-precautions #form1 .nav-anchor-point>li>a {
  display: flex;
  width: 100%;
  height: 100%;
  padding: .5rem 0;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: #e85b10;
  background-color: #fff;
  border-radius: 33px
}

.immigration-precautions #form1 .nav-anchor-point>li>a:hover,
.immigration-precautions #form1 .nav-anchor-point>li>a:focus {
  color: #fff;
  background-color: #e85c10
}

@media (max-width: 1430px) {
  .immigration-precautions #form1 .lg\:gap-20 {
    gap: 2rem
  }
}

@media (max-width: 1024px) {
  .immigration-precautions #form1 .content {
    padding: 5%
  }

  .immigration-precautions #form1 .eticket {
    width: 90%;
    display: flex;
    justify-content: space-between
  }

  .immigration-precautions #form1 .eticket a {
    width: 49%;
    height: 100%;
    text-align: center
  }

  .immigration-precautions #form1 .eticket__item__img {
    height: 114px
  }

  .immigration-precautions #form1 .lg\:gap-12 {
    gap: 2rem
  }
}

@media (max-width: 768px) {
  .immigration-precautions p {
    font-size: .8125rem
  }

  .immigration-precautions #form1 .h1 {
    font-size: calc(32 / 7.68 * 1vw)
  }

  .immigration-precautions #form1 .nav-anchor-point {
    width: 80%
  }

  .immigration-precautions #form1 .nav-anchor-point li {
    height: 50px;
    line-height: 45px
  }

  .immigration-precautions #form1 .grid,
  .immigration-precautions #form1 .grid a {
    display: block
  }

  .immigration-precautions #form1 .grid a {
    margin: 0 0 2rem
  }

  .immigration-precautions #form1 a.btn-download {
    width: 100% !important;
    font-size: 3.125vw
  }

  .immigration-precautions #form1 .eticket,
  .immigration-precautions #form1 .eticket a {
    display: block;
    width: 100%
  }

  .immigration-precautions #form1 .eticket__item__img {
    border-radius: 1.2rem
  }

  .immigration-precautions #form1 footer {
    background-image: url(../../img/info/m06_01_mobile_banner03.png), linear-gradient(to right, #f59b00 75%, #f29002);
    padding: 0 30px 52%
  }

  .immigration-precautions #form1 .banner {
    padding-bottom: 60.75%
  }

  .immigration-precautions #form1 .banner .banner-content {
    top: 70%
  }

  .immigration-precautions .nav-anchor-point li a {
    font-size: 1em !important
  }
}

.introduction .at-container {
  max-width: initial;
  padding: 0;
  margin: 0 auto 40px
}

.introduction .step2,
.introduction .step4 {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 40px
}

.introduction .step3 img {
  width: 100%
}

.introduction .fixed {
  display: block;
  z-index: 2
}

.introduction .box h3 {
  text-align: center;
  font-size: 1.75rem;
  margin: 100px 0
}

.introduction .box h4 {
  font-size: 1.375rem;
  color: #333;
  margin-bottom: 10px
}

.introduction .box .con {
  margin: 0 auto
}

.introduction .box p {
  color: #666;
  font-size: .9375rem;
  line-height: 1.8;
  font-weight: 300
}

.introduction .box .con ul.method {
  list-style: none;
  padding: 0;
  margin: 0 0 50px;
  overflow: hidden
}

.introduction .box .con ul.method li {
  width: 25%;
  float: left;
  text-align: center
}

.introduction .box .con ul.method li .image {
  margin-bottom: 35px
}

.introduction .box .con ul.method li .image img.mo_elm {
  display: none
}

.introduction .box .con ul.method li .content {
  position: relative
}

.introduction .box .con ul.method li:first-of-type .content {
  left: -20px
}

.introduction .box .con ul.method li:nth-of-type(2) .content {
  left: -7px
}

.introduction .box .con ul.method li:nth-of-type(3) .content {
  left: -3px
}

.introduction .box .con ul.method li:last-of-type .content {
  left: 20px
}

.introduction .box ul.city {
  padding: 0;
  margin: 0;
  list-style: none
}

.introduction .box ul.city li {
  overflow: hidden;
  border: 1px solid #e5e5e5;
  position: relative
}

.introduction .box ul.city li>div.image {
  width: 514px;
  float: left
}

.introduction .box ul.city li>div.content {
  float: left;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.introduction .box ul.city li>div.content p {
  margin-top: 15px
}

.introduction .box ul.city li:first-of-type {
  margin-bottom: 80px
}

.introduction .box ul.city li:first-of-type>div.content {
  left: 664px
}

.introduction .box ul.city li:last-of-type>div.image {
  float: right
}

.introduction .box ul.city li:last-of-type>div.content {
  left: 150px
}

.introduction .box.step1 {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 10%
}

.introduction .box.step1 .image {
  width: 46%;
  display: table-cell;
  position: relative
}

.introduction .box.step1 .image img.basic {
  max-width: 100%
}

.introduction .box.step1 .image img.map {
  width: 66%;
  position: absolute;
  right: -150px;
  top: 30px
}

.introduction .box.step1 .content {
  width: calc(100% - 877px);
  display: table-cell;
  background: #fafafa;
  vertical-align: middle;
  padding-left: 10%
}

.introduction .box.step1 .content h3 {
  margin: 30px 0
}

.introduction .box.step1 .content ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.introduction .box.step1 .content ul li {
  margin-bottom: 5px;
  color: #666;
  font-size: .9375rem;
  font-weight: 300
}

.introduction .box.step1 .content ul li span {
  color: #333;
  display: inline-block;
  margin-right: 5px;
  font-weight: 400
}

.introduction .box.step1 .content ul li:last-of-type {
  margin-bottom: 0
}

.introduction .box.step2 {
  margin: 0 auto
}

.introduction .box.step3 {
  height: 53rem;
  position: relative;
  background: url(../../img/info/m06_01_04.jpg) no-repeat center/cover
}

.introduction .box.step3 .content {
  width: 100%;
  padding: 0 30px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -70%);
  text-align: center
}

.introduction .gallery_cont {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 40px
}

.introduction .gallery_cont h3 {
  font-size: 1.6875rem;
  margin: 100px 0
}

.introduction .gallery_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2.85714%
}

.introduction .gallery_wrap .img_wrap {
  width: 22.85714%;
  height: 0;
  padding: 0 0 22.85714%;
  position: relative;
  overflow: hidden;
  margin: 0 0 2.85714%
}

.introduction .gallery_wrap .img_wrap img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto
}

@media (max-width: 1450px) {
  .introduction .box .con ul.method li .image img {
    width: 100%
  }

  .introduction .box .con ul.method li:first-of-type,
  .introduction .box .con ul.method li:nth-of-type(2) {
    margin-bottom: 40px
  }

  .introduction .box .con ul.method li:first-of-type .content {
    left: -6%
  }

  .introduction .box .con ul.method li:nth-of-type(2) .content {
    left: -3%
  }

  .introduction .box .con ul.method li:nth-of-type(3) .content {
    left: -1%
  }

  .introduction .box .con ul.method li:last-of-type .content {
    left: 5.5%
  }
}

@media (max-width: 1350px) {
  .introduction .box ul.city li>div.image {
    width: 35%
  }

  .introduction .box ul.city li>div.image img {
    width: 100%
  }

  .introduction .box ul.city li>div.content {
    width: 65%
  }

  .introduction .box ul.city li:first-of-type>div.content {
    left: 40%
  }

  .introduction .box ul.city li:last-of-type>div.content {
    left: 5%
  }
}

@media (max-width: 1280px) {
  .introduction .box .con ul.method {
    margin: 0 0 30px
  }

  .introduction .box .con ul.method li {
    width: 50%
  }

  .introduction .box .con ul.method li .image img.pc_elm {
    display: none
  }

  .introduction .box .con ul.method li .image img.mo_elm {
    display: inline-block
  }

  .introduction .box .con ul.method li:first-of-type .content {
    left: 3%
  }

  .introduction .box .con ul.method li:nth-of-type(2) .content {
    left: -6%
  }

  .introduction .box .con ul.method li:nth-of-type(3) .content {
    left: 2%
  }

  .introduction .box .con ul.method li:last-of-type .content {
    left: -6.5%
  }
}

@media (max-width: 1024px) {
  .introduction .gallery_wrap {
    gap: 4.00390625%
  }

  .introduction .gallery_wrap .img_wrap {
    width: 30.6640625%;
    padding: 0 0 30.6640625%;
    margin: 0 0 4.00390625%
  }

  .introduction .box h3 {
    font-size: 1.75rem;
    margin: 80px 0
  }

  .introduction .box h4 {
    font-size: 1.25rem
  }

  .introduction .box p {
    font-size: .9375rem
  }

  .introduction .box .con p br {
    display: none
  }

  .introduction .box ul.city li:first-of-type {
    margin-bottom: 40px
  }

  .introduction .box ul.city li>div.image {
    width: 100%
  }

  .introduction .box ul.city li>div.content {
    width: 100%;
    position: static;
    transform: none;
    padding: 0 5%;
    margin: 50px 0
  }

  .introduction .box ul.city li>div.content p br {
    display: none
  }

  .introduction .box.step1 {
    display: block;
    margin-bottom: 0
  }

  .introduction .box.step1 .image {
    display: block;
    width: 100%;
    position: relative;
    z-index: 1
  }

  .introduction .box.step1 .image img {
    width: 100%
  }

  .introduction .box.step1 .image img.map {
    display: none
  }

  .introduction .box.step1 .content {
    width: 100%;
    padding: 0 0 60px;
    display: block;
    margin-bottom: -50px;
    top: -50px;
    position: relative
  }

  .introduction .box.step1 .content h3 {
    margin: 0;
    padding: 60px 0;
    text-align: center
  }

  .introduction .box.step3 .content {
    transform: translate(-50%, -65%)
  }
}

@media (max-width: 768px) {
  .introduction .box p {
    font-size: .8125rem
  }

  .introduction .box.step1 .content {
    top: 0
  }

  .introduction .box.step1 .content ul li {
    font-size: .8125rem
  }

  .introduction .gallery_cont h3 {
    font-size: 1.25rem;
    margin: 60px 0
  }

  .introduction .gallery_wrap {
    gap: 5.208333%
  }

  .introduction .gallery_wrap .img_wrap {
    width: 47.39583%;
    padding: 0 0 47.39583%;
    margin: 0 0 5.208333%
  }

  .introduction .box.step3 {
    height: 43rem;
    background: url(../../img/info/mm06_01_04.jpg) no-repeat bottom/cover
  }

  .introduction .box h3 {
    font-size: 1.25rem;
    margin: 60px 0
  }

  .introduction .box .con ul.method li .image {
    margin: 0 0 20px
  }

  .introduction .box.step1 .content h3 {
    padding: calc(50 / 7.68 * 1vw) calc(40 / 7.68 * 1vw) calc(30 / 7.68 * 1vw)
  }

  .introduction .box.step3 .content {
    transform: translate(-50%);
    top: 0
  }

  .introduction .hidden-xs {
    display: none !important
  }
}

@media (min-width: 1200px) {
  .introduction .hidden-lg {
    display: none !important
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .introduction .hidden-sm {
    display: none !important
  }
}

.map_wrap ul {
  text-align: left
}

.map_wrap ul:after {
  content: "";
  display: block;
  clear: both
}

.map_wrap li {
  width: 32.86018%;
  float: left;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 24px 30px;
  margin: 0 0 .70972% .70972%;
  border: 1px solid #e5e5e4
}

.map_wrap li:nth-of-type(3n+1) {
  margin: 0
}

.map_wrap .txt_cont {
  display: flex;
  align-items: center
}

.map_wrap .txt_cont strong {
  font-size: 1.1875rem;
  color: #212529;
  display: inline-block;
  padding: 0 0 0 10px
}

.map_wrap .link_wrap a {
  width: 46px;
  height: 46px;
  display: block;
  position: relative;
  margin: 7px 0 0;
  text-indent: -999999px;
  background-color: #212529;
  border-radius: 50px;
  transition: all, .2s
}

.map_wrap .link_wrap a:hover,
.map_wrap .link_wrap a:focus {
  background-color: #ff7a00
}

.map_wrap .link_wrap a:after {
  width: 22px;
  height: 22px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  margin: auto;
  background: url(../../img/info/out_link_icon.png) center/cover
}

@media (max-width: 1024px) {
  .map_wrap .page {
    padding: calc(60 / 7.68 * 1vw) 0 calc(25 / 7.68 * 1vw)
  }

  .map_wrap li:first-of-type {
    margin: 0
  }

  .map_wrap li {
    width: 100%;
    float: initial;
    padding: 24px 36px;
    margin: 10px 0 0
  }

  .map_wrap li:nth-of-type(3n+1) {
    margin: 10px 0 0
  }

  .map_wrap .txt_cont img {
    width: 60px;
    height: 60px
  }

  .map_wrap .txt_cont strong {
    font-size: 1.375rem;
    padding: 0 0 0 10px;
    font-weight: 500
  }

  .map_wrap .link_wrap a {
    width: 44px;
    height: 44px
  }

  .map_wrap .link_wrap a:after {
    width: 22px;
    height: 22px;
    background: url(../../img/info/out_link_icon.png) center/cover
  }
}

@media (max-width: 768px) {
  .map_wrap .page {
    padding: calc(60 / 7.68 * 1vw) 0 calc(25 / 7.68 * 1vw)
  }

  .map_wrap li {
    width: 100%;
    float: initial;
    padding: calc(30 / 7.68 * 1vw) calc(40 / 7.68 * 1vw);
    margin: calc(10 / 7.68 * 1vw) 0 0;
    border: calc(2 / 7.68 * 1vw) solid #e5e5e4
  }

  .map_wrap .txt_cont img {
    width: calc(70 / 7.68 * 1vw);
    height: calc(70 / 7.68 * 1vw)
  }

  .map_wrap .txt_cont strong {
    font-size: calc(28 / 7.68 * 1vw);
    padding: 0 0 0 calc(20 / 7.68 * 1vw);
    font-weight: 500
  }

  .map_wrap .link_wrap a {
    width: calc(54 / 7.68 * 1vw);
    height: calc(54 / 7.68 * 1vw);
    text-indent: calc(-9999 / 7.68 * 1vw)
  }

  .map_wrap .link_wrap a:after {
    width: calc(26 / 7.68 * 1vw);
    height: calc(26 / 7.68 * 1vw);
    background: url(../../img/info/out_link_icon_m.png) center/cover
  }
}

.taipei-pass .at-container {
  margin: 0 auto
}

.taipei-pass .box.step1 {
  max-width: 1430px;
  margin: 0 auto;
  padding: 0 15px;
  list-style: none
}

.taipei-pass .box.step1>li {
  overflow: hidden;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 100px;
  margin-bottom: 100px
}

.taipei-pass .box.step1>li:last-of-type {
  margin-bottom: 0
}

.taipei-pass .box.step1>li .name {
  width: calc(100% - 800px);
  float: left
}

.taipei-pass .box.step1>li .name h3 {
  font-size: 1.6875rem;
  position: relative;
  padding-top: 20px
}

.taipei-pass .box.step1>li .name h3:before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 25px;
  height: 3px;
  background: #ff7200
}

.taipei-pass .box.step1>li .content {
  width: 800px;
  float: left
}

.taipei-pass .box.step1>li .content ol {
  overflow: hidden
}

.taipei-pass .box.step1>li .content ol li {
  list-style: none
}

.taipei-pass .box.step1>li .content ol.half li {
  width: 50%;
  float: left
}

.taipei-pass .box.step1>li .content ol.half li:first-of-type {
  padding-right: 10px
}

.taipei-pass .box.step1>li .content ol.half li:last-of-type {
  padding-left: 10px
}

.taipei-pass .box.step1>li .content p {
  color: #333;
  font-size: 1rem;
  line-height: 1.5
}

.taipei-pass .box.step1>li .content p span {
  color: #ff7200
}

.taipei-pass .box.step2 {
  padding: 0
}

.taipei-pass .box.step2 h3 {
  text-align: center;
  font-size: 1.6875rem;
  margin: 100px 0
}

.taipei-pass .con ul.method {
  list-style: none;
  padding: 0;
  margin: 0 0 50px;
  overflow: hidden
}

.taipei-pass .con ul.method li {
  width: 25%;
  float: left;
  text-align: center
}

.taipei-pass .con ul.method li .image {
  margin-bottom: 35px
}

.taipei-pass .con ul.method li .image img.m-img {
  display: none
}

.taipei-pass .con ul.method li .content {
  position: relative
}

.taipei-pass .con ul.method li:first-of-type .content {
  left: -20px
}

.taipei-pass .con ul.method li:nth-of-type(2) .content {
  left: -7px
}

.taipei-pass .con ul.method li:nth-of-type(3) .content {
  left: 0
}

.taipei-pass .con ul.method li:last-of-type .content {
  left: 13px
}

.taipei-pass .con ul.ticket {
  list-style: none;
  padding: 0;
  margin: 0 -17px;
  overflow: hidden
}

.taipei-pass .con ul.ticket li {
  width: 33.33%;
  float: left;
  position: relative;
  padding: 0 17px;
  text-align: center;
  margin-bottom: 3.5%
}

.taipei-pass .con ul.ticket li img {
  max-width: 100%
}

.taipei-pass .con ul.ticket li span {
  position: absolute;
  left: 45px;
  bottom: 25px;
  color: #fff;
  font-size: 1.125rem
}

@media (max-width: 1450px) {
  .taipei-pass .con ul.method {
    margin: 0 -10px 50px
  }

  .taipei-pass .con ul.method li .image img {
    width: 100%
  }

  .taipei-pass .con ul.method li .content p {
    padding: 0 5px
  }

  .taipei-pass .con ul.method li:first-of-type,
  .taipei-pass .con ul.method li:nth-of-type(2) {
    margin-bottom: 40px
  }

  .taipei-pass .con ul.method li:first-of-type .content {
    left: -6%
  }

  .taipei-pass .con ul.method li:nth-of-type(2) .content {
    left: -3%
  }

  .taipei-pass .con ul.method li:nth-of-type(3) .content {
    left: -1%
  }

  .taipei-pass .con ul.method li:last-of-type .content {
    left: 5.5%
  }
}

@media (max-width: 1250px) {
  .taipei-pass .con ul.method {
    margin: 0 -30px 30px
  }

  .taipei-pass .con ul.method li {
    width: 50%
  }

  .taipei-pass .con ul.method li .image img.pc-img {
    display: none
  }

  .taipei-pass .con ul.method li .image img.m-img {
    display: inline-block
  }

  .taipei-pass .con ul.method li .content {
    padding: 0 10px
  }

  .taipei-pass .con ul.method li:first-of-type .content {
    left: 3%
  }

  .taipei-pass .con ul.method li:nth-of-type(2) .content {
    left: -6%
  }

  .taipei-pass .con ul.method li:nth-of-type(3) .content {
    left: 2%
  }

  .taipei-pass .con ul.method li:last-of-type .content {
    left: -6.5%
  }
}

@media (max-width: 1100px) {
  .taipei-pass .box.step1>li .name h3:before {
    left: 0;
    right: auto
  }

  .taipei-pass .box.step1>li {
    margin-bottom: 50px;
    padding-bottom: 50px
  }

  .taipei-pass .box.step1>li .name {
    width: 100%;
    margin-bottom: 25px
  }

  .taipei-pass .box.step1>li .content {
    width: 100%
  }
}

@media (max-width: 991px) {
  .taipei-pass .box {
    padding: 0 !important
  }

  .taipei-pass .box.step1>li .name h3 {
    font-size: 1.5625rem
  }

  .taipei-pass .box.step1>li .content ol li img {
    width: 100%
  }

  .taipei-pass .box.step1>li .content p {
    font-size: .875rem;
    margin-top: 20px
  }

  .taipei-pass .box.step1>li .content p br {
    display: none
  }

  .taipei-pass .box.step2 h3 {
    font-size: 1.5625rem
  }

  .taipei-pass .con ul.method li .content p br {
    display: none
  }

  .taipei-pass .con ul.ticket {
    margin: 0 -5px 50px
  }

  .taipei-pass .con ul.ticket li {
    padding: 0 5px;
    margin-bottom: 10px
  }

  .taipei-pass .con ul.ticket li span {
    left: 20px;
    bottom: 10px;
    font-size: 1rem
  }
}

@media (max-width: 768px) {
  .taipei-pass .contain ul.city {
    margin: calc(20 / 7.68 * 1vw) 0 0
  }

  .taipei-pass .tab_content {
    padding: calc(40 / 7.68 * 1vw) 0 0
  }

  .taipei-pass .tab_content .page {
    padding: calc(20 / 7.68 * 1vw) 0 calc(20 / 7.68 * 1vw)
  }

  .taipei-pass .tab_content .page h2 {
    font-size: calc(34 / 7.68 * 1vw);
    text-align: left
  }

  .taipei-pass .box.step1>li .name h3 {
    font-size: 1.25rem
  }

  .taipei-pass .box.step1>li .content p {
    font-size: .8125rem;
    margin-top: 15px
  }

  .taipei-pass .box.step2 h3 {
    font-size: 1.25rem;
    margin: 60px 0
  }

  .taipei-pass .con ul.method li .image {
    margin: 0 0 20px
  }

  .taipei-pass .con ul.ticket li {
    width: 50%
  }

  .taipei-pass .box ul.method li .content h4 {
    font-size: .9rem
  }

  .taipei-pass .box ul.method li .content p {
    font-size: .8rem
  }

  .taipei-pass .con ul.ticket li span {
    font-size: .8125rem;
    left: 10px;
    bottom: 5px
  }
}

.ipass .at-container {
  margin: 0 auto
}

.ipass .contain {
  max-width: 1430px;
  margin: 0 auto
}

.ipass .contain .con h3 {
  text-align: center;
  font-size: 1.75rem;
  margin: 100px 0
}

.ipass .contain .con p.text {
  color: #666;
  margin-top: 40px;
  line-height: 1.5
}

.ipass .contain h4 {
  font-size: 1.375rem;
  color: #333;
  margin-bottom: 10px
}

.ipass .contain ul.city {
  padding: 0;
  margin: 70px 0 0;
  list-style: none
}

.ipass .contain ul.city li {
  overflow: hidden;
  border: 1px solid #e5e5e5;
  position: relative
}

.ipass .contain ul.city li>div.image {
  width: 532px;
  float: left
}

.ipass .contain ul.city li>div.content {
  width: calc(100% - 532px);
  float: left;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.ipass .contain ul.city li>div.content p {
  margin-top: 15px
}

.ipass .contain ul.city li:first-of-type {
  margin-bottom: 80px
}

.ipass .contain ul.city li:first-of-type>div.content {
  left: 664px
}

.ipass .contain ul.method {
  list-style: none;
  padding: 0;
  margin: 50px 0;
  overflow: hidden
}

.ipass .contain ul.method li {
  width: 25%;
  float: left;
  text-align: center
}

.ipass .contain ul.method li .image {
  margin-bottom: 35px
}

.ipass .contain ul.method li .image img.mo_elm {
  display: none
}

.ipass .contain ul.method li .content {
  position: relative
}

.ipass .contain ul.method li .content p {
  color: #666
}

.ipass .contain ul.method li:first-of-type .content {
  left: -20px
}

.ipass .contain ul.method li:nth-of-type(2) .content {
  left: -7px
}

.ipass .contain ul.method li:nth-of-type(3) .content {
  left: -3px
}

.ipass .contain ul.method li:last-of-type .content {
  left: 20px
}

.ipass .contain ul.shop {
  overflow: hidden;
  margin: 0 -10px -30px;
  padding: 0
}

.ipass .contain ul.shop li {
  width: 14.28%;
  float: left;
  list-style: none;
  margin-bottom: 30px;
  padding: 0 10px;
  text-align: center
}

.ipass .contain ul.card {
  list-style: none;
  padding: 0;
  margin: 0 -5px 80px;
  overflow: hidden
}

.ipass .contain ul.card li {
  width: 20%;
  float: left;
  text-align: center;
  padding: 0 5px
}

.ipass .contain ul.card li span {
  font-size: 1rem;
  color: #333;
  display: block;
  margin-top: 10px
}

@media (max-width: 1450px) {
  .ipass .contain ul.method li .image img {
    width: 100%
  }

  .ipass .contain ul.method li:first-of-type,
  .ipass .contain ul.method li:nth-of-type(2) {
    margin-bottom: 40px
  }

  .ipass .contain ul.method li:first-of-type .content {
    left: -6%
  }

  .ipass .contain ul.method li:nth-of-type(2) .content {
    left: -3%
  }

  .ipass .contain ul.method li:nth-of-type(3) .content {
    left: -1%
  }

  .ipass .contain ul.method li:last-of-type .content {
    left: 5.5%
  }

  .ipass .contain ul.shop li img,
  .ipass .contain ul.card li img {
    max-width: 100%
  }
}

@media (max-width: 1350px) {
  .ipass .contain ul.city li>div.image {
    width: 35%
  }

  .ipass .contain ul.city li>div.image img {
    width: 100%
  }

  .ipass .contain ul.city li>div.content {
    width: 65%
  }

  .ipass .contain ul.city li:first-of-type>div.content {
    left: 41%
  }

  .ipass .contain ul.card li {
    width: 33.33%;
    margin-bottom: 20px
  }
}

@media (max-width: 1250px) {
  .ipass .contain ul.method {
    margin: 0 0 30px
  }

  .ipass .contain ul.method li {
    width: 50%
  }

  .ipass .contain ul.method li .image img.pc_elm {
    display: none
  }

  .ipass .contain ul.method li .image img.mo_elm {
    display: inline-block
  }

  .ipass .contain ul.method li:first-of-type .content {
    left: 3%
  }

  .ipass .contain ul.method li:nth-of-type(2) .content {
    left: -6%
  }

  .ipass .contain ul.method li:nth-of-type(3) .content {
    left: 2%
  }

  .ipass .contain ul.method li:last-of-type .content {
    left: -6.5%
  }
}

@media (max-width: 768px) {
  .ipass .contain ul.city {
    margin: calc(20 / 7.68 * 1vw) 0 0
  }

  .ipass .tab_content {
    padding: calc(40 / 7.68 * 1vw) 0 0
  }

  .ipass .tab_content .page {
    padding: calc(20 / 7.68 * 1vw) 0 calc(20 / 7.68 * 1vw)
  }

  .ipass .tab_content .page h2 {
    font-size: calc(34 / 7.68 * 1vw);
    text-align: left
  }

  .ipass .contain .con {
    padding: 0 !important
  }

  .ipass .contain .con h3 {
    font-size: 1.5625rem
  }

  .ipass .contain h4 {
    font-size: 1.25rem
  }

  .ipass .contain .con p.text {
    font-size: .9375rem
  }

  .ipass .contain .con p.text br {
    display: none
  }

  .ipass .contain ul.city li:first-of-type {
    margin-bottom: 40px
  }

  .ipass .contain ul.city li>div.image {
    width: 100%
  }

  .ipass .contain ul.city li>div.content {
    width: 100%;
    position: static;
    transform: none;
    padding: 0 5%;
    margin: 50px 0
  }

  .ipass .contain ul.city li>div.content p br {
    display: none
  }

  .ipass .contain ul.shop li {
    width: 20%
  }

  .ipass .contain ul.card li span {
    font-size: .875rem
  }

  .ipass .contain .con h3 {
    font-size: 1.25rem;
    margin: 60px 0
  }

  .ipass .contain h4 {
    font-size: 3.2vw
  }

  .ipass .contain ul.method li .content p {
    font-size: 3vw
  }

  .ipass .contain .con p.text {
    font-size: .8125rem
  }

  .ipass .contain ul.method li .image {
    margin: 0 0 20px
  }

  .ipass .contain ul.shop {
    margin: -5px -15px
  }

  .ipass .contain ul.shop li {
    width: 33.33%;
    margin-bottom: 10px;
    padding: 0 5px
  }

  .ipass .contain ul.card {
    margin: 0 -5px 60px
  }

  .ipass .contain ul.card li {
    width: 50%
  }
}

.at-body .at-container {
  margin: 0 auto
}

h4,
h3 {
  font-size: 1.375rem;
  color: #333;
  margin-bottom: 10px
}

ul.city {
  padding: 0;
  margin: 70px 0 0;
  list-style: none
}

ul.city li {
  overflow: hidden;
  border: 1px solid #e5e5e5;
  position: relative
}

ul.city li>div.image {
  width: 532px;
  float: left
}

ul.city li>div.content {
  width: calc(100% - 532px);
  float: left;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

ul.city li>div.content p {
  margin-top: 15px
}

ul.city li:first-of-type {
  margin-bottom: 80px
}

ul.city li:first-of-type>div.content {
  left: 560px
}

@media (max-width: 1350px) {
  ul.city li>div.image {
    width: 35%
  }

  ul.city li>div.image img {
    width: 100%
  }

  ul.city li>div.content {
    width: 65%
  }

  ul.city li:first-of-type>div.content {
    left: 41%
  }
}

@media (max-width: 991px) {
  h4 {
    font-size: 1.25rem
  }

  p {
    font-size: .9375rem
  }

  ul.city li:first-of-type {
    margin-bottom: 40px
  }

  ul.city li>div.image {
    width: 100%
  }

  ul.city li>div.content {
    width: 100%;
    position: static;
    transform: none;
    padding: 0 5%;
    margin: 50px 0
  }

  ul.city li>div.content p br {
    display: none
  }
}

@media (max-width: 768px) {
  ul.city {
    margin: calc(20 / 7.68 * 1vw) 0 0
  }

  .tab_content {
    padding: calc(40 / 7.68 * 1vw) 0 0
  }

  .tab_content .page {
    padding: calc(20 / 7.68 * 1vw) 0 calc(20 / 7.68 * 1vw)
  }

  .tab_content .page h2 {
    font-size: calc(34 / 7.68 * 1vw);
    text-align: left
  }

  h4 {
    font-size: 1rem
  }

  p {
    font-size: .8125rem
  }
}

.link .at-container {
  margin: 0 auto 20px
}

.link .list-board {
  margin: 0 0 30px
}

.link .list-board li {
  height: 100px;
  padding: 0;
  overflow: hidden
}

.link .list-board li:hover {
  background: none
}

.link .list-board li>div {
  text-align: center;
  color: #666;
  vertical-align: middle;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box
}

.link .list-board li>div a {
  color: #666
}

.link .list-board li>div span {
  font-size: 1.0625rem;
  font-weight: 300;
  color: #717579
}

.link .list-board li>div.name {
  width: 200px
}

.link .list-board li>div.image {
  width: 340px
}

.link .list-board li>div.subject {
  width: 500px
}

.link .list-board li>div.info {
  width: 250px
}

.link .list-board li>div.info>div {
  margin: 10px 0
}

.link .list-board li>div.info span {
  font-weight: 400
}

.link .list-board li>div.info .link_cont span {
  color: #ff7a00
}

.link .list-board li>div.info a {
  width: 100%;
  height: 100%;
  display: block;
  display: flex;
  align-items: center
}

.link .list-board li>div.info img {
  margin: 0 10px 0 0
}

@media (max-width: 1280px) {
  .link .list-board li {
    height: 80px
  }

  .link .list-board li>div span {
    font-size: 1rem
  }

  .link .list-board li>div.image {
    width: 250px
  }

  .link .list-board li>div.image img {
    width: 100%
  }

  .link .list-board li>div.info span:last-of-type img {
    width: 20px
  }
}

@media (max-width: 1024px) {
  .link .list-board li>div span {
    font-size: .9375rem
  }

  .link .list-board li>div.image {
    width: 352px
  }

  .link .list-board li>div.info {
    min-width: 180px
  }
}

@media (max-width: 768px) {
  .link .at-container {
    margin: 0 auto
  }

  .link .list-board ul {
    flex-wrap: wrap;
    display: flex
  }

  .link .list-board li {
    width: 50%;
    height: auto;
    flex-wrap: wrap;
    padding: calc(20 / 7.68 * 1vw)
  }

  .link .list-board li:nth-of-type(odd) {
    border-right: 1px solid #ddd
  }

  .link .list-board li>div span {
    font-size: calc(17 / 7.68 * 1vw)
  }

  .link .list-board li>div.name {
    width: 100%;
    display: none
  }

  .link .list-board li>div.image {
    width: 100%
  }

  .link .list-board li>div.image img {
    max-width: 150px
  }

  .link .list-board li>div.info {
    width: 100%
  }

  .link .list-board li>div.info>div:first-of-type img {
    width: 18px
  }

  .link .list-board li>div.info>div:last-of-type img {
    width: 16px
  }

  .link .list-board li>div.info a {
    justify-content: center
  }
}

.list .page_list li .title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left
}

@media (max-width: 1280px) {
  .list .page_list li .title {
    align-items: center;
    text-align: center
  }
}

.list .page_list li .title h3 {
  text-align: left;
  margin-bottom: 0
}

.list .page_list li .title h3:before {
  right: auto;
  left: 0
}

@media (max-width: 1280px) {
  .list .page_list li .title h3:before {
    right: 0;
    left: 0
  }
}

.list .page_list li .title h4 {
  font-size: 1rem;
  margin-top: 8px
}

.list .page_list li article p {
  text-align: left
}

.list .page_list li .rt article h3 {
  text-align: left;
  font-size: 1.1rem;
  margin-top: 8px
}

.list .page_list li .rt article h3:before {
  display: none
}

@media (max-width: 1280px) {
  .list .page_list li .rt article h3 {
    text-align: left
  }
}

.list .page_list li .rt article h4 {
  text-align: left
}

.list .page_list li .rt article h4 {
  text-align: left;
  font-size: 1rem;
  margin-top: 8px
}

@media (max-width: 1280px) {
  .list .page_list li .rt article h4 {
    text-align: center
  }
}

.culture .at-container {
  max-width: initial;
  padding: 0;
  margin: 0 auto
}

.culture .box {
  margin-bottom: 100px
}

.culture .box .image {
  font-size: 0
}

.culture .box .content p {
  text-align: left
}

.culture .box.step2,
.culture .box.step3,
.culture .box.step4 {
  max-width: 1430px;
  margin: 0 auto;
  padding: 0 5.20833vw;
  list-style: none
}

.culture .box.step2>li {
  overflow: hidden;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 100px;
  margin-bottom: 100px
}

.culture .box.step2>li:last-of-type {
  border-bottom: 0;
  margin-bottom: 0
}

.culture .box.step2>li .name {
  width: calc(100% - 800px);
  float: left;
  padding-right: 40px
}

.culture .box.step2>li .name h3 {
  font-size: 1.75rem;
  position: relative;
  padding-top: 20px;
  text-align: right
}

.culture .box.step2>li .name h3:before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 25px;
  height: 3px;
  background: #ff7200
}

.culture .box.step2>li .content {
  width: 800px;
  float: left
}

.culture .box.step2>li .content h3 {
  font-size: 1.75rem;
  margin-bottom: 20px
}

.culture .box.step2>li .content ol {
  overflow: hidden
}

.culture .box.step2>li .content ol li {
  list-style: none
}

.culture .box.step2>li .content ol.half li {
  width: 50%;
  float: left
}

.culture .box.step2>li .content ol.half li:first-of-type {
  padding-right: 10px
}

.culture .box.step2>li .content ol.half li:last-of-type {
  padding-left: 10px
}

.culture .box.step2>li .content p {
  color: #333;
  margin-top: 40px;
  line-height: 1.5
}

@media (max-width: 1500px) {
  .culture .box.step1 .image img {
    width: 100%
  }
}

@media (max-width: 1100px) {
  .culture .box>li {
    margin-bottom: 50px;
    padding-bottom: 50px
  }

  .culture .box>li .name {
    width: 100%;
    margin-bottom: 25px
  }

  .culture .box>li .name h3:before {
    right: auto;
    left: 0
  }

  .culture .box.step2>li .content {
    width: 100%
  }
}

@media (max-width: 991px) {
  .culture .box .content h3 {
    height: 15px
  }

  .culture .box .content h3 span {
    font-size: 1.375rem;
    top: -8px
  }

  .culture .box .content p {
    font-size: .875rem
  }

  .culture .box .content p br {
    display: none
  }

  .culture .box>li .name h3 {
    font-size: 1.5625rem
  }

  .culture .box>li .content ol li img {
    width: 100%
  }

  .culture .box>li .content p {
    font-size: .875rem;
    margin-top: 20px
  }

  .culture .box>li .content p br {
    display: none
  }
}

@media (max-width: 768px) {
  .culture .box .content {
    padding-top: 20%
  }

  .culture .box .content p {
    font-size: .8125rem
  }

  .culture .box>li .name h3 {
    font-size: 1.25rem
  }

  .culture .box>li .content p {
    font-size: .8125rem;
    margin-top: 15px
  }
}

@media (max-width: 1100px) {
  .culture .box.step2>li {
    margin-bottom: 40px;
    padding-bottom: 40px
  }

  .culture .box.step2>li .name h3 {
    text-align: left
  }

  .culture .box.step2>li .content {
    padding-top: 0;
    width: 100%
  }

  .culture .box.step2>li .name {
    width: 100%
  }
}

.culture .box.step1 {
  position: relative;
  padding: 0 20px
}

.culture .box.step1 .content {
  position: absolute;
  left: 50%;
  bottom: -20px;
  background: #fff;
  width: 95%;
  max-width: 1400px;
  text-align: center;
  transform: translate(-50%);
  padding: 80px 5.20833vw;
  color: #222;
  font-size: 1.125rem;
  line-height: 1.5
}

.culture .box.step1 .content:before {
  position: absolute;
  left: 50%;
  top: 40px;
  content: "";
  background: #ff7200;
  width: 30px;
  height: 3px;
  transform: translate(-50%)
}

.culture .box.step1 .content .caption {
  max-width: 720px;
  margin: 0 auto
}

.culture .box.step1 .content h2 {
  font-size: 1.75rem;
  margin-bottom: 20px
}

.culture .box.step1 .content p b {
  font-size: 1.125rem
}

@media (max-width: 1100px) {
  .culture .box.step1 {
    margin-bottom: 40px
  }

  .culture .box.step1 .content {
    position: relative;
    left: unset;
    bottom: unset;
    transform: unset;
    width: 100%;
    padding: 60px 0 0
  }
}

.culture .box.step3 {
  margin-bottom: 80px
}

.culture .box.step3 li {
  overflow: hidden;
  display: table;
  width: 100%;
  table-layout: fixed
}

.culture .box.step3 li .image {
  width: 281px;
  display: table-cell
}

.culture .box.step3 li .image h3 {
  display: none;
  text-align: center;
  margin-bottom: 20px;
  color: #fff;
  font-size: 1.375rem;
  padding: 15px 0
}

.culture .box.step3 li .content {
  float: unset;
  width: calc(100% - 281px);
  display: table-cell;
  padding-left: 80px;
  vertical-align: middle;
  color: #333;
  font-size: 1.125rem;
  line-height: 1.7
}

.culture .box.step3 li .content p {
  margin-top: 0
}

@media (max-width: 991px) {
  .culture .box.step3 li {
    padding: 0;
    margin-bottom: 40px
  }

  .culture .box.step3 li .image,
  .culture .box.step3 li .content {
    width: 100%;
    display: block;
    padding: 0
  }

  .culture .box.step3 li .image img {
    display: none
  }

  .culture .box.step3 li .image h3 {
    display: block;
    font-size: 1.25rem;
    padding: 10px 0
  }
}

.culture .box.step4 {
  margin-bottom: 40px
}

.culture .box.step4:last-of-type {
  margin-bottom: 80px
}

.culture .box.step4 .caption h2,
.culture .box.step4 .caption h3 {
  font-size: 1.75rem;
  margin-bottom: 20px
}

.culture .box.step4 .caption h4 {
  font-size: 1.375rem
}

.culture .box.step4 .caption p {
  line-height: 1.8;
  font-weight: 300;
  color: #666;
  margin-bottom: 40px
}

.tour .list-wrap {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  gap: 4.166666%
}

.tour .list-row {
  position: relative;
  width: 30.55555%;
  margin: 0 0 4.166666%
}

.tour .list-row .list-item {
  border-radius: 0;
  box-shadow: 5px 0 20px #f5f5f5
}

.tour .list-row .list-item .img-tack {
  width: 70px;
  height: 70px;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  color: #fff;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #ff7200;
  cursor: pointer;
  transition: all, .2s
}

.tour .list-row .list-item .img-tack:hover,
.tour .list-row .list-item .img-tack:focus {
  background-color: #ed6300
}

.tour .list-row .list-item .img-tack span {
  display: block;
  color: #fff;
  font-size: 13px;
  font-weight: 300;
  margin: 8px 0 0
}

.tour .list-row .list-item .img-item {
  padding: 0 0 100%;
  height: 0;
  overflow: hidden;
  position: relative;
  background-color: #f9f9f9
}

.tour .list-row .list-item .img-item img {
  position: absolute;
  left: 50%;
  transform: translate(-50%)
}

.tour .list-row .list-item strong {
  font-weight: 500;
  font-size: 20px;
  background-color: #eee;
  padding: 20px;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  overflow: hidden
}

@media (max-width: 1280px) {
  .tour .list-row .list-item .img-tack {
    width: 55px;
    height: 55px
  }

  .tour .list-row .list-item .img-tack span {
    font-size: 11px;
    margin: 5px 0 0
  }

  .tour .list-row .list-item strong {
    font-size: 18px
  }
}

@media (max-width: 768px) {
  .tour .list-wrap {
    gap: 4.36046%
  }

  .tour .list-row {
    width: 47.81976%
  }

  .tour .list-row .list-item .img-tack {
    width: 60px;
    height: 60px;
    border-radius: calc(5 / 7.68 * 1vw)
  }

  .tour .list-row .list-item .img-tack a span {
    font-size: calc(10 / 7.68 * 1vw)
  }

  .tour .list-row .list-item .img-item {
    padding: 0 0 120%
  }

  .tour .list-row .list-item strong {
    font-size: calc(21 / 7.68 * 1vw);
    padding: calc(20 / 7.68 * 1vw)
  }
}