@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bad+Script&family=Montserrat&family=Noto+Sans+TC:wght@400;500&family=Noto+Serif+TC:wght@600;700&display=swap");
* {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  *::-moz-selection {
    background: #4B4B4B;
    color: #fff; }
  *::selection {
    background: #4B4B4B;
    color: #fff; }
  *::-moz-selection {
    background: #4B4B4B;
    color: #fff; }

html {
  font-size: calc(16px * 100 / 16); }

body {
  margin: 0;
  background-color: #F7F6F4;
  font-family: "Noto Sans TC", "微軟正黑體", sans-serif;
  font-size: 0.16rem;
  font-weight: 400;
  letter-spacing: 0.024rem;
  color: #4B4B4B; }
iframe{
  max-width: 100%;
}
#hover-mobile {
  position: fixed;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  overflow: auto;
  z-index: -9999; }
  #hover-mobile .hover-bg {
    display: inline-block;
    width: 100%;
    height: 100%; }

/* ----------------------------------- */
/* ------ Labels ------ */
/* ----------------------------------- */
a {
  display: block;
  text-decoration: none !important;
  color: inherit; }
  a:hover {
    color: inherit; }

button {
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer; }
  button:focus {
    outline: 0; }

div:not(.text-editor) img {
  width: 100%; }

img {
  max-width: 100%; }

ul {
  list-style: none;
  padding: 0;
  margin: 0; }

table {
  max-width: 100%; }
  table * {
    position: static; }

hr {
  margin: 0; }

i {
  margin-right: 5px; }

.fa, .fab, .fal, .far, .fas {
  display: inline; }

/* ----------------------------------- */
/* ------ Fonts ------ */
/* ----------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0; }

h1.slogan {
  font-family: "Noto Serif TC", serif;
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.036rem;
  line-height: 2; }

h1.slogan-en {
  font-family: "Bad Script", cursive;
  font-size: 0.6rem;
  letter-spacing: 0;
  color: #CA8B60; }

h2.title {
  font-family: "Bad Script", cursive;
  font-size: 0.8rem;
  letter-spacing: 0; }

h2.subtitle {
  font-size: 0.2rem;
  letter-spacing: 0.02rem; }

h2.title-banner {
  font-family: "Bad Script", cursive;
  font-size: 0.5rem;
  letter-spacing: 0; }

h2.subtitle-banner {
  font-size: 0.2rem;
  letter-spacing: 0.04rem; }

h2.title-inner {
  font-family: "Noto Serif TC", serif;
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0.044rem; }

h2.discount-en {
  font-family: "Bad Script", cursive;
  font-size: 0.4rem;
  letter-spacing: 0; }

h3.title-small {
  font-family: "Noto Serif TC", serif;
  font-size: 0.22rem;
  letter-spacing: 0.05rem; }

h3.subtitle-small, h3.item {
  font-family: "Noto Serif TC", serif;
  font-weight: 600;
  font-size: 0.18rem;
  letter-spacing: 0.02rem;
  line-height: 1.5; }

p {
  letter-spacing: 0.032rem;
  text-align: justify; }

p.p-btn {
  font-size: 0.17rem;
  letter-spacing: 0.03rem; }
.p-btn.footer__p-zh{
  font-size: 0.16rem;
  letter-spacing: 0.01rem; }
p.p-small {
  font-family: "Montserrat", "Noto Sans TC", "微軟正黑體", sans-serif;
  font-size: 0.15rem;
  letter-spacing: 0.01rem; }
.p-small.footer__p-en{
  font-size: 0.14rem;}
.btn-slogan {
  font-size: 0.17rem;
  letter-spacing: 0.04rem;
  color: #CA8B60; }

.header__btn-text {
  font-family: "Bad Script", cursive;
  font-size: 0.6rem;
  letter-spacing: -0.1rem;
  color: #A0B4C7; }

.btn-discount__en {
  font-family: "Bad Script", cursive; }

@media (max-width: 1200px) {
  h1.slogan {
    font-size: 0.2rem;
    line-height: 1.8; }
  h1.slogan-en {
    font-size: 0.5rem; } }

@media (max-width: 575px), (max-width: 767px) and (orientation: landscape) {
  h1.slogan {
    font-size: 0.17rem;
    line-height: 1.6; }
  h1.slogan-en {
    font-size: 0.3rem; }
  h2.title {
    font-size: 0.5rem; }
  h2.subtitle {
    font-size: 0.17rem;
    letter-spacing: 0.017rem; }
  h2.title-banner {
    font-size: 0.4rem; }
  h2.subtitle-banner {
    font-size: 0.17rem;
    letter-spacing: 0.02rem; }
  h2.title-inner {
    font-family: "Noto Serif TC", serif;
    font-size: 0.17rem;
    letter-spacing: 0.03rem; }
  h2.discount-en {
    font-size: 0.24rem;
    letter-spacing: 0; }
  h3.title-small {
    font-size: 0.2rem;
    letter-spacing: 0.02rem; }
  h3.subtitle-small, h3.item {
    font-size: 0.17rem;
    letter-spacing: 0.02rem;
    line-height: 1.5; }
  p.p-btn {
    letter-spacing: 0.02rem; }
  .btn-slogan {
    font-size: 0.15rem;
    letter-spacing: 0.02rem; } }

/* ----------------------------------- */
/* ------ Adjustments ------ */
/* ----------------------------------- */
/* -- title-main -- */
.title-main__wrap.right {
  text-align: right; }

.title-main__wrap.center {
  text-align: center; }

/* -- item-box -- */
.item-box.right, .item-box.right * {
  text-align: right; }

.item-box.center, .item-box.center * {
  text-align: center; }

.item-box.center .item-box__title-box {
  display: inline-block;
  padding: 0 0.4rem 0.2rem; }

.item-box.white * {
  color: #F2F0EC; }

.item-box.white .item-box__title-box {
  border-bottom: 1px solid #F2F0EC; }

.item-box__title-box {
  padding-bottom: 0.2rem;
  margin-bottom: 0.2rem;
  border-bottom: 1px solid #CA8B60; }

.item-box__title-wrap {
  display: inline-block; }

.item-box__title-deco {
  position: absolute;
  width: 0.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  .item-box__title-deco.left {
    left: 0; }
  .item-box__title-deco.right {
    right: 0; }

.item-box__title {
  padding-left: 0.4rem;
  padding-right: 0.38rem;
  color: #CA8B60; }

.item-box__subtitle {
  margin-top: 0.15rem;
  color: #CA8B60; }

/* -- item-btn -- */
.item-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 1.4rem;
  z-index: 100; }
  .item-btn * {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  .item-btn.red *, .item-btn.red:hover * {
    color: #CA8B60;
    fill: #CA8B60; }
  .item-btn.pink *, .item-btn.pink:hover * {
    color: #D8B9A4;
    fill: #D8B9A4; }
  .item-btn.blue *, .item-btn.blue:hover * {
    color: #A0B4C7;
    fill: #A0B4C7; }
  .item-btn.blue .item-btn__deco-wrap {
    left: -0.1rem; }
  .item-btn__wrap {
    padding: 0.35rem 0.9rem; }
  .item-btn__deco-wrap {
    width: 0;
    height: 100%;
    left: 0.1rem;
    top: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    -webkit-transition: opacity 0.3s, width 0.5s;
    -o-transition: opacity 0.3s, width 0.5s;
    transition: opacity 0.3s, width 0.5s; }
  .item-btn__deco {
    height: 100%; }
  .item-btn__wrap:hover * {
    color: #fff !important;
    fill: #fff !important; }
  .item-btn__wrap.active * {
    color: #fff;
    fill: #fff; }
  .item-btn__wrap.active .item-btn__deco-wrap {
    width: 100%;
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s 0.1s, width 0.5s;
    -o-transition: opacity 0.3s 0.1s, width 0.5s;
    transition: opacity 0.3s 0.1s, width 0.5s; }
  .item-btn:hover .item-btn__deco-wrap {
    width: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.3s, width 0.5s;
    -o-transition: opacity 0.3s, width 0.5s;
    transition: opacity 0.3s, width 0.5s; }
  .item-btn__wrap:hover .item-btn__deco-wrap {
    width: 100%;
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s 0.1s, width 0.5s;
    -o-transition: opacity 0.3s 0.1s, width 0.5s;
    transition: opacity 0.3s 0.1s, width 0.5s; }
  .item-btn__title-wrap {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    .item-btn__title-wrap g {
      fill: #CA8B60; }
  .item-btn__deco-svg {
    width: 20px;
    height: 10px; }
  .item-btn__title-deco {
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .item-btn__title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-left: 0.14rem;
    padding-right: 0.14rem; }

/* -- btn-discount -- */
.btn-discount {
  display: inline-block;
  -webkit-transform: translateX(-1.5rem);
  -ms-transform: translateX(-1.5rem);
  transform: translateX(-1.5rem);
  padding: 0.28rem 8vw 0.28rem 10vw;
  margin-top: 0.8rem;
  background-color: #4B4B4B;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  .btn-discount * {
    color: #F2F0EC; }
  .btn-discount:hover {
    -webkit-transform: translateX(0) !important;
    -ms-transform: translateX(0) !important;
    transform: translateX(0) !important; }
  .btn-discount__deco-curve {
    position: absolute;
    width: auto;
    height: 100%;
    right: -1px;
    bottom: 0; }
  .btn-discount__deco {
    width: auto !important;
    max-width: inherit;
    height: 100%; }

.btn-discount.active {
  -webkit-transform: translateX(-0.5rem);
  -ms-transform: translateX(-0.5rem);
  transform: translateX(-0.5rem); }

/* -- go-top -- */
@-webkit-keyframes goTop {
  from {
    top: -0.4rem; }
  to {
    top: -0.5rem; } }
@keyframes goTop {
  from {
    top: -0.4rem; }
  to {
    top: -0.5rem; } }

#go-top {
  position: absolute;
  width: 0.32rem;
  left: 50%;
  top: -0.4rem;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 100;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  #go-top:hover {
    top: -0.5rem;
    -webkit-animation: goTop 0.4s alternate infinite;
    animation: goTop 0.4s alternate infinite; }
    #go-top:hover * {
      color: #A0B4C7; }

.go-top__p {
  font-family: "Bad Script", cursive;
  font-size: 0.6rem;
  line-height: 0.3;
  color: #CA8B60;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

/* -- deco -- */
.deco {
  position: absolute;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none; }
  .deco__curve-banner {
    width: 100%;
    left: 0;
    top: 0;
    z-index: 10; }
    .deco__curve-banner.curve02 {
      z-index: 0; }
  .deco__ball-yellow {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    background-image: -webkit-radial-gradient(50% 50%, circle, #f7ecda, rgba(255, 255, 255, 0) 75%);
    background-image: -o-radial-gradient(50% 50%, circle, #f7ecda, rgba(255, 255, 255, 0) 75%);
    background-image: radial-gradient(circle at 50% 50%, #f7ecda, rgba(255, 255, 255, 0) 75%); }
  .deco__ball-blue {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    background-image: -webkit-radial-gradient(50% 50%, circle, rgba(160, 180, 199, 0.6), rgba(255, 255, 255, 0) 75%);
    background-image: -o-radial-gradient(50% 50%, circle, rgba(160, 180, 199, 0.6), rgba(255, 255, 255, 0) 75%);
    background-image: radial-gradient(circle at 50% 50%, rgba(160, 180, 199, 0.6), rgba(255, 255, 255, 0) 75%); }

@media (max-width: 1366px) {
  /* -- item-btn -- */
  .item-btn__wrap {
    padding: 0.25rem 0.6rem; } }

@media (max-width: 991px) {
  /* -- item-btn -- */
  .item-btn__wrap {
    padding: 0.2rem 0.5rem; } }

@media (max-width: 575px) {
  /* -- item-box -- */
  .item-box.center .item-box__title-box {
    padding: 0 8vw 4vw; }
  .item-box__title-box {
    padding-bottom: 4vw;
    margin-bottom: 4vw; }
  .item-box__title {
    padding-left: 0.3rem;
    padding-right: 0.28rem; }
  .item-box__subtitle {
    margin-top: 3vw; }
  /* -- item-btn -- */
  .item-btn {
    margin-top: 16vw; }
    .item-btn__wrap {
      padding: 2vw 3vw; }
    .item-btn__deco-svg {
      -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
      transform: scale(0.6); }
    .item-btn__title {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      padding-left: 0.05rem;
      padding-right: 0.05rem; }
  /* -- btn-discount -- */
  .btn-discount {
    -webkit-transform: translateX(-26vw);
    -ms-transform: translateX(-26vw);
    transform: translateX(-26vw);
    padding: 0.18rem 12vw 0.18rem 16vw;
    margin-top: 12vw; }
  .btn-discount.active {
    -webkit-transform: translateX(-10vw);
    -ms-transform: translateX(-10vw);
    transform: translateX(-10vw); }
  /* -- go-top -- */
  #go-top {
    top: -0.1rem; }
    #go-top:hover {
      top: -0.1rem; }
  .go-top__p {
    font-size: 0.5rem;
    line-height: 0.2; }
  /* -- deco -- */
  .deco__ball-yellow {
    width: 80vw;
    height: 80vw; }
  .deco__ball-blue {
    width: 80vw;
    height: 80vw; } }

/* ----------------------------------- */
/* ------ Layouts ------ */
/* ----------------------------------- */
/* -- nav#navbar -- */
@-webkit-keyframes navbarFixed {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes navbarFixed {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%); }
  to {
    -webkit-transform: none;
    transform: none; } }

nav#navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  padding: 1vw 4vw;
  z-index: 2000;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  nav#navbar * {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  nav#navbar img {
    width: 100%; }

nav#navbar.isOpened, nav#navbar.fixed, html.inner nav#navbar {
  padding: 0.05rem 4vw;
  background-color: #D8B9A4;
  -webkit-box-shadow: 0 0 10px rgba(75, 75, 75, 0.5);
  box-shadow: 0 0 10px rgba(75, 75, 75, 0.5); }
  nav#navbar.isOpened .navbar__logo-wrap, nav#navbar.fixed .navbar__logo-wrap, html.inner nav#navbar .navbar__logo-wrap {
    width: 100px;}
  nav#navbar.isOpened .navbar__logo.color, nav#navbar.fixed .navbar__logo.color, html.inner nav#navbar .navbar__logo.color {
    opacity: 0;
    /* display: none; */
    visibility: hidden; }
  nav#navbar.isOpened .navbar__logo.white, nav#navbar.fixed .navbar__logo.white, html.inner nav#navbar .navbar__logo.white {
    opacity: 1;
    visibility: visible; }
  nav#navbar.isOpened .navbar__link.color, nav#navbar.fixed .navbar__link.color, html.inner nav#navbar .navbar__link.color {
    opacity: 0;
    visibility: hidden; }
  nav#navbar.isOpened .navbar__link.white, nav#navbar.fixed .navbar__link.white, html.inner nav#navbar .navbar__link.white {
    opacity: 1;
    visibility: visible; }

nav#navbar.fixed, html.inner nav#navbar {
  position: fixed;
  -webkit-animation: navbarFixed 0.7s both;
  animation: navbarFixed 0.7s both; }
  nav#navbar.fixed .navbar__link-box, html.inner nav#navbar .navbar__link-box {
    margin-left: 0.5rem; }

.navbar__logo-wrap {
  width: 1.6rem;
  -ms-flex-negative: 0;
  flex-shrink: 0; }

.navbar__logo.white {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden; }

.navbar__p {
  color: #CA8B60; }

.navbar__link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: auto; }
  .navbar__link-box.burger {
    display: none; }

.navbar__link-wrap {
  width: auto;
  height: 0.33rem;
  margin-left: 0.1rem; }

.navbar__link {
  width: auto;
  height: 100%; }

.navbar__link.white {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  visibility: hidden; }

/* -- header#header -- */
header#header {
  height: 100vh;
  overflow: hidden; }

.header__btn-box {
 position: absolute;
    left: 4vw;
    z-index: 100;
    top: 40%;
    bottom: 5%;
    overflow: auto; }

.header__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 0.22rem 0.2rem 0.1rem 0; }
  .header__btn::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
    background-color: #CA8B60;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }
  /* .header__btn:hover::after {
    width: calc(100% + 0.4rem); } */

.header__p {
  color: #CA8B60; }
  .header__p.zh {
    margin-right: 0.26rem; }

.header__slide {
  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: 100vh; }

.header__img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  left: 4%;
  top: -9%;
  padding-left: 2rem;
  z-index: 20; }

.header__img-mask {
  position: relative !important; }

.header__img-mask.img01-type01 {
  -ms-flex-item-align: end;
  align-self: flex-end;
  width: 3.29rem;
  margin-bottom: -0.6rem; }
  .header__img-mask.img01-type01 .header__img {
    -webkit-clip-path: url("#banner-mask01");
    clip-path: url("#banner-mask01"); }

.header__img-mask.img02-type01 {
  width: 4.02rem;
  margin-left: 0.3rem; }

.header__img-mask.img03-type01 {
  -ms-flex-item-align: end;
  align-self: flex-end;
  width: 3.5rem; }

.header__img-mask.img01-type02 {
  width: 9rem; }

.header__img {
  width: 100%;
  max-width: inherit; }

.header__deco {
  position: absolute;
  width: 6rem;
  right: 8vw;
  bottom: 20vh; }

.header__slogan-box {
  position: absolute;
  display: inline-block;
  left: 56%;
  bottom: 10vh;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 30; }

.header__slogan.sec * {
  display: inline-block; }

.header__slogan-btn * {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

.header__slogan-btn:hover * {
  color: #A0B4C7; }

.header__slogan-btn:hover::before {
  background-color: #A0B4C7; }

.header__slogan-btn::before {
  content: '';
  display: inline-block;
  width: 0.3rem;
  height: 1px;
  margin-left: 0.2rem;
  margin-right: 0.2rem;
  vertical-align: middle;
  background-color: #CA8B60;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

.header__swiper-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  width: 70%;
  left: 60%;
  bottom: 20%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 30; }

.header__btn-prev, .header__btn-next {
  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;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer; }
  .header__btn-prev:focus, .header__btn-next:focus {
    outline: none; }

.header__btn-prev:hover .header__btn-text {
  -webkit-transform: translateX(-10px);
  -ms-transform: translateX(-10px);
  transform: translateX(-10px);
  color: #CA8B60; }

.header__btn-next {
  margin-left: auto; }

.header__btn-next:hover .header__btn-text {
  -webkit-transform: translateX(10px);
  -ms-transform: translateX(10px);
  transform: translateX(10px);
  color: #CA8B60; }

.header__btn-text {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }

.header__slogan-en-wrap {
  position: absolute;
  left: 36%;
  top: 18%;
  z-index: 100; }

/* -- main#main -- */
main#main {
  padding-bottom: 0.2rem;
  background-color: #F2F0EC; }

/* -- section.yt-video -- */
.yt-video {
  background-image: url("../img/yt-video/yt-video-bg.jpg");
  background-size: cover;
  background-position: center center;
  overflow: hidden; }
  .yt-video__wrap {
    width: 100%;
    height: 75vh; }
    .yt-video__wrap::after {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      /* background-image: url("../img/yt-video/yt-video-filter.png"); */
      z-index: 10; }

/* -- section.service -- */
section.service01 {
  padding: 0 6vw;
  z-index: 10; }

section.service02 {
  padding-right: 20vw;
  padding-top: 0.8rem; }

section.service03 {
  padding-top: 1.2rem; }

.service__container01 {
  max-width: 1100px; }

.service__container02 {
  max-width: 1490px;
  margin-left: 0;
  background-color: #CA8B60; }

.service__title {
  max-width: 4.4rem;
  padding: 0.2rem 2.4rem 1.8rem 0;
  background-color: #D8B9A4; }
  .service__title * {
    color: #F2F0EC; }

.service__deco-curve01 {
  position: absolute;
  width: 100%;
  right: -1px;
  bottom: -1px; }

.service__deco-curve02 {
  position: absolute;
  width: 3.2rem;
  right: -1px;
  top: -1px; }

.service__deco-curve03 {
  position: absolute;
  width: 40%;
  left: -1px;
  top: -1px; }

.service__deco-brush02 {
  position: absolute;
  width: 1.8rem;
  left: 0;
  top: -1rem;
  -webkit-transform: translateX(-85%);
  -ms-transform: translateX(-85%);
  transform: translateX(-85%); }

.service__deco-brush03 {
  position: absolute;
  width: 34%;
  right: -0.2rem;
  bottom: -0.5rem;
  z-index: 20; }

.service__item-outer02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 0.8rem 4vw 0; }

.service__item-outer04 {
  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; }

.service__item-box.item03 {
  margin-top: 1rem; }

.service__item-box.item04 {
  padding: 0.4rem 4vw; }

.service__item-wrap.right {
  text-align: right; }

.service__item-wrap.center {
  text-align: center; }

.service__img-outer.item04 {
  padding: 0; }

.service__img-box.item01 {
  padding-top: 0.8rem;
  margin: 0 -0.05rem; }

.service__img-box.item03 {
  margin: 0 -0.2rem; }

.service__img-box.item04 {
  height: 100%;
  margin: 0; }

.service__img-wrap.item01 {
  padding: 0 0.05rem; }

.service__img-wrap.item02 {
  padding: 0; }

.service__img-wrap.item03 {
  padding: 0.2rem; }
  .service__img-wrap.item03:nth-child(2) {
    margin-left: -0.2rem; }

.service__img-wrap.item04 {
  padding: 0 0.05rem; }

.service__img-mask.item02, .service__img-mask.item04 {
  height: 100%; }

.service__img-mask.item02.mobile {
  display: none; }

.service__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 10% center;
  object-position: 10% center; }

.service__discount-outer {
  padding: 0; }

/* -- section.reviews -- */
.reviews {
  padding-top: 1rem;
  padding-bottom: 0.85rem;
  background-image: url("../img/index/reviews-bg.jpg");
  background-size: cover;
  background-position: center center; }
  .reviews__deco-curve {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0; }
  .reviews__title * {
    color: #CA8B60; }
  .reviews__swiper-outer {
    padding: 0; }
  .reviews__swiper {
    padding: 0 10vw;
    margin-top: 1rem; }
  .reviews__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 2.7rem;
    padding: 0.3rem 2vw;
    background-color: #fff; }
  .reviews__rating-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 0.2rem; }
  .reviews__rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .reviews__star {
    width: 0.25rem !important; }
  .reviews__logo {
    width: auto !important;
    height: 0.26rem;
    margin-left: auto; }
  .reviews__content {
    overflow: auto; }
    .reviews__content::-webkit-scrollbar {
      width: 18px; }
    .reviews__content::-webkit-scrollbar-thumb {
      border-radius: 8px;
      border: 8px solid transparent;
      background-clip: padding-box;
      background-color: #D8B9A4;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .reviews__content::-webkit-scrollbar-thumb:hover {
      background-color: #A0B4C7; }
    .reviews__content p {
      font-size: 0.16rem;
      letter-spacing: 0;
      padding: 0 0.05rem; }
  .reviews__profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0.4rem; }
  .reviews__photo-mask {
    width: 0.8rem;
    height: 0.8rem;
    margin-right: 0.2rem;
    border-radius: 50%;
    overflow: hidden; }
  .reviews__photo {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center; }
  .reviews__p-info {
    letter-spacing: 0; }
  .reviews__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1.4rem; }
  .reviews__bullet {
    width: 0.2rem;
    height: 0.2rem;
    margin: 0 0.1rem;
    border-radius: 50%;
    border: 1px solid #4B4B4B;
    background-color: transparent;
    cursor: pointer;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
    .reviews__bullet:hover {
      background-color: #4B4B4B; }
    .reviews__bullet:focus {
      outline: none; }
  .reviews__bullet--active {
    background-color: #4B4B4B; }

/* -- section.map -- */
.map {
  padding: 1.3rem 4vw 0; }
  .map__container {
    max-width: 1520px; }
  .map__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #D8D8D8; }
  .map__iframe {
    width: 100%;
    height: 4.4rem;
    opacity: 0.6; }
  .map__title-wrap {
    position: absolute;
    left: 0.8rem;
    top: 0.2rem; }
  .map__title {
    z-index: 20; }
    .map__title * {
      color: #F2F0EC; }
    .map__title .title-main__title {
      font-size: 0.6rem; }
  .map__deco-curve {
    position: absolute;
    right: -1px;
    top: -1px;
    width: 30%;
    z-index: 10; }
  .map__deco-brush {
    position: absolute;
    width: 620px;
    left: -1.2rem;
    top: -0.4rem;
    z-index: 15; }

/* -- footer#footer -- */
footer#footer {
  padding: 0 4vw;
  margin-top: 1.4rem; }

.footer__container {
  max-width: 1520px; }

.footer__top-box {
  padding: 0.4rem 4vw;
  background-color: #F2F0EC; }

.footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.footer__logo-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.footer__logo-wrap {
  width: 1.5rem;
  margin-right: 5vw; }

.footer__info-box {
  margin-right: 4vw; }

.footer__info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer__info-wrap * {
    line-height: 1.8;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  .footer__info-wrap:hover * {
    color: #CA8B60; }

.footer__link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: auto; }

.footer__link-wrap {
  width: auto;
  height: 0.33rem;
  margin-left: 0.1rem; }

.footer__link {
  width: auto;
  height: 100%; }

.footer__btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-left: -2vw;
  margin-top: 1rem; }
  .footer__btn-box * {
    color: #CA8B60;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }

.footer__btn-wrap {
  margin-left: 2vw;
  margin-top: 0.1rem; }

.footer__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding-bottom: 0.06rem;
  border-bottom: 1px solid #CA8B60; }
  .footer__btn:hover {
    border-bottom: 1px solid #A0B4C7; }
    .footer__btn:hover * {
      color: #A0B4C7; }

.footer__copyright-box {
  background-color: #CA8B60; }

.footer__copyright {
  padding: 0.1rem 4vw 0.1rem;
  text-align: right; }

/* ----------------------------------- */
/* ------ Inner Layouts ------ */
/* ----------------------------------- */
/* -- header#header-inner -- */
header#header-inner {
  padding: 0.7rem 4vw 0;
  margin-top: 90px; }

.header-inner__bg {
  position: absolute;
  width: 100%;
  height: calc(100% + 30vw);
  left: 0;
  top: 0;
  background-image: url("../img/banner/banner-inner.jpg");
  background-size: cover;
  background-position: center center;
  z-index: -2; }

.header-inner__title-wrap {
  margin-top: 0.3rem;
  text-align: center; }

.header-inner__title-wrap * {
  color: #CA8B60; }

.header-inner__title-wrap.black * {
  color: #4B4B4B; }

.header-inner__title-wrap.pink * {
  color: #D8B9A4; }

.header-inner__title-wrap.blue * {
  color: #A0B4C7; }

.header-inner__subtitle {
  margin-top: -0.1rem; }

.header-inner__deco-wrap {
  position: absolute;
  width: 100%;
  height: 12rem;
  left: 0;
  top: 0;
  overflow: hidden; }

.header-inner__ball-yellow {
  right: 0;
  top: 0;
  -webkit-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  transform: translate(50%, -50%); }

/* -- section.about-inner -- */
.about-inner {
  padding-top: 1rem; }
  .about-inner__container {
    max-width: 1160px; }
  .about-inner__text-box {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .about-inner__text-wrap {
    max-width: 5.2rem; }
    .about-inner__text-wrap * {
      text-align: center; }
  .about-inner__title {
    margin-top: 0.1rem; }
  .about-inner__content {
    margin-top: 0.3rem; }
  .about-inner__img-box {
    padding-top: 1.1rem; }
  .about-inner__img-wrap {
    padding: 0 8vw; }
    .about-inner__img-wrap::after {
      content: '';
      display: block;
      position: absolute;
      width: 80%;
      height: 90%;
      left: 0;
      top: -0.5rem;
      background-color: #F7ECDA;
      z-index: -1; }
  .about-inner__img-mask {
    max-width: 8rem;
    margin: 0.1rem auto 0; }
  .about-inner__deco-curve01 {
    width: 40%;
    left: -1px;
    top: -0.5rem; }
  .about-inner__deco-curve02 {
    width: 50%;
    right: -1px;
    bottom: -1px; }
  .about-inner__deco-brush {
    width: 1.6rem;
    left: -0.8rem;
    bottom: 10%; }
  .about-inner__ball-yellow {
    left: 0;
    bottom: 0;
    -webkit-transform: translate(-60%, 30%);
    -ms-transform: translate(-60%, 30%);
    transform: translate(-60%, 30%); }

/* -- section.service-inner -- */
.service-inner {
  padding: 1.9rem 8vw 2rem;
  background-color: #F2F0EC;
  overflow: hidden; }
  .service-inner__container {
    margin-top: 1rem;
    max-width: 900px; }
  .service-inner__img-mask {
    margin-top: 0.2rem;
    -webkit-box-shadow: -2px 3px 7px 0 rgba(0, 0, 0, 0.25);
    box-shadow: -2px 3px 7px 0 rgba(0, 0, 0, 0.25); }
  .service-inner__discount-outer {
    position: absolute;
    left: 0;
    bottom: 0; }
  .service-inner__ball-blue01 {
    right: 0;
    top: 0;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%); }
  .service-inner__ball-blue02 {
    left: 0;
    top: 30%;
    -webkit-transform: translateX(-60%);
    -ms-transform: translateX(-60%);
    transform: translateX(-60%); }
  .service-inner__ball-blue03 {
    right: 0;
    bottom: 20%;
    -webkit-transform: translateX(-14%) scale(1.1);
    -ms-transform: translateX(-14%) scale(1.1);
    transform: translateX(-14%) scale(1.1); }

/* -- section.works-inner -- */
.works-inner {
  padding: 0 5vw 0.8rem;
  background-color: #F2F0EC; }
  .works-inner__container {
    max-width: 1150px; }
  .works-inner__main-box {
    padding-top: 0.6rem;
    margin: -0.1rem -0.05rem 0; }
  .works-inner__item-wrap {
    padding: 0.1rem 0.05rem 0; }
  .works-inner__img-mask::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #f2f0ec;
    opacity: 0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
  .works-inner__img-mask:hover::after {
    opacity: 0.7; }
  .works-inner__img-mask:hover .works-inner__item-title {
    opacity: 1;
    visibility: visible; }
  .works-inner__item-title {
    position: absolute;
    width: 100%;
    left: 50%;
    bottom: 2.5vw;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 0 4vw;
    color: #CA8B60;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    z-index: 10; }

/* -- section.blog-inner -- */
.blog-inner {
  padding: 0 6vw; }
  .blog-inner__container {
    max-width: 1350px; }
  .blog-inner__main-box {
    padding-top: 0.6rem;
    margin: -1rem -0.15rem 0; }
  .blog-inner__card-wrap {
    padding: 1rem 0.15rem 0; }
  .blog-inner__img-mask:hover .blog-inner__img-block {
    background-color: rgba(242, 240, 236, 0.7);
    opacity: 1;
    visibility: visible; }
  .blog-inner__img-block {
    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;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 4vw;
    background-color: rgba(242, 240, 236, 0);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
    .blog-inner__img-block * {
      font-weight: 500;
      color: #fff; }
  .blog-inner__date-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 0.3rem;
    color: #CA8B60; }
  .blog-inner__title {
    margin: 0.1rem 0 0.3rem;
    color: #CA8B60; }
  .blog-inner__content {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis; }
  .blog-inner__btn-more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 0.2rem; }
  .blog-inner__btn {
    display: inline-block;
    padding: 0.02rem 0.4rem 0.03rem;
    margin-left: auto;
    background-color: #F7ECDA;
    font-weight: 500;
    color: #D8B9A4;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
    .blog-inner__btn:hover {
      background-color: #D8B9A4;
      color: #F2F0EC; }

/* -- section.blog-detail -- */
.blog-detail {
  padding: 1.4rem 4vw 0; }
  .blog-detail__container {
    max-width: 1200px; }
  .blog-detail__wrap {
    max-width: 900px;
    margin: 0 auto; }
  .blog-detail__from {
    margin-top: 0.4rem; }
  .blog-detail__from-text {
    font-family: "Noto Serif TC", serif;
    letter-spacing: 0.05rem;
    color: #CA8B60; }
  .blog-detail__hr {
    width: 100%;
    height: 2px;
    margin: 0.3rem 0 0.6rem;
    background-color: #CA8B60; }
  .blog-detail__title-wrap {
    margin-bottom: 0.4rem; }
  .blog-detail__date-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0.1rem;
    color: #CA8B60; }
  .blog-detail__title {
    font-weight: 700; }

/* -- section.faq-inner -- */
.faq-inner {
  padding: 0 8vw 1rem;
  background-color: #F2F0EC; }
  .faq-inner__container {
    max-width: 1040px; }
  .faq-inner__main-box {
    padding-top: 0.8rem;
    margin-top: -0.5rem; }
  .faq-inner__wrap {
    padding-top: 0.5rem; }
  .faq-inner__q {
    color: #CA8B60; }
  .faq-inner__img-mask {
    margin-top: 1rem; }
  .faq-inner__table {
    border-collapse: separate;
    border-spacing: 4px; }
    .faq-inner__table th, .faq-inner__table td {
      text-align: center; }
    .faq-inner__table th {
      padding: 0.02rem 0.2rem;
      background-color: rgba(0, 0, 0, 0.1);
      font-weight: 400; }
    .faq-inner__table th.hidden {
      visibility: hidden; }
    .faq-inner__table td {
      padding: 0.02rem 0.3rem;
      background-color: #f7f6f4; }
  .faq-inner__item {
    margin-left: 0.2rem; }
    .faq-inner__item li::before {
      content: '•';
      position: absolute;
      left: -0.2rem;
      top: 0; }

/* -- section.discount-inner -- */
@-webkit-keyframes twinkle {
  from {
    -webkit-transform: scale(1);
    transform: scale(1); }
  to {
    -webkit-transform: scale(0);
    transform: scale(0); } }
@keyframes twinkle {
  from {
    -webkit-transform: scale(1);
    transform: scale(1); }
  to {
    -webkit-transform: scale(0);
    transform: scale(0); } }

.discount-inner {
  padding: 2.8rem 6vw 0; }
  .discount-inner #form input{
    height: 60px !important;
  }
  .discount-inner__container {
    max-width: 1520px; }
  .discount-inner__form-wrap {
    max-width: 1160px;
    margin-left: auto;
    background-color: #F2F0EC; }
  .discount-inner__call {
    position: absolute;
    right: 50%;
    top: 0;
    -webkit-transform: translate(50%, -65%) !important;
    -ms-transform: translate(50%, -65%) !important;
    transform: translate(50%, -65%) !important;
    padding: 0.3rem 1.2rem 0.45rem 0.8rem;
    white-space: nowrap; }
    .discount-inner__call * {
      color: #F2F0EC;
      text-align: center; }
  .discount-inner__info-box {
    padding: 0;
    margin-top: 1rem; }
  .discount-inner__info-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.5rem 0.8rem 0.6rem;
    background-color: #F2F0EC; }
  .discount-inner__info * {
    font-family: "Noto Serif TC", serif;
    color: #CA8B60; }
  .discount-inner__info-link {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s; }
    .discount-inner__info-link:hover {
      color: #A0B4C7; }
  .discount-inner__map-wrap {
    padding: 0; }
  .discount-inner__title-map * {
    color: #CA8B60;
    z-index: 20; }
  .discount-inner__deco-brush {
    width: 0;
    height: 100%;
    left: 0;
    top: -10%;
    -webkit-transition: 0.5s !important;
    -o-transition: 0.5s !important;
    transition: 0.5s !important; }
    .discount-inner__deco-brush.aos-animate {
      width: 100%; }
  .discount-inner__deco-shine {
    position: absolute;
    width: 0.1rem !important; }
    .discount-inner__deco-shine.shine01 {
      left: 10%;
      top: 20%;
      -webkit-animation: twinkle 0.6s alternate infinite;
      animation: twinkle 0.6s alternate infinite; }
    .discount-inner__deco-shine.shine02 {
      right: 15%;
      top: 30%;
      -webkit-animation: twinkle 0.8s 0.2s alternate infinite;
      animation: twinkle 0.8s 0.2s alternate infinite; }
    .discount-inner__deco-shine.shine03 {
      right: 20%;
      bottom: 45%;
      -webkit-animation: twinkle 0.7s 0.1s alternate infinite;
      animation: twinkle 0.7s 0.1s alternate infinite; }
  .discount-inner__deco-curve01 {
    width: 50%;
    left: -1px;
    bottom: -1px; }
  .discount-inner__deco-curve02 {
    width: 30%;
    right: -1px;
    bottom: -1px;
    z-index: 10; }

/* -- footer#footer inner -- */
html.inner footer#footer {
  margin-top: 2rem; }

@media (max-width: 1366px) {
  /* ----------------------------------- */
  /* ------ Layouts ------ */
  /* ----------------------------------- */
  /* -- section.service -- */
  section.service02 {
    padding-right: 10vw; }
  /* -- footer#footer -- */
  .footer__btn-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 7rem;
    margin-left: -2vw;
    margin-top: 1rem; }
    .footer__btn-box * {
      color: #CA8B60;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
  .footer__btn-wrap {
    margin-left: 2vw;
    margin-top: 0.1rem; }
  .footer__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 0.06rem; }
  /* ----------------------------------- */
  /* ------ Inner Layouts ------ */
  /* ----------------------------------- */
  /* -- section.works-inner -- */
  .works-inner {
    padding: 0 8vw 0.8rem;
    background-color: #F2F0EC; }
    .works-inner__container {
      max-width: 1150px; }
    .works-inner__main-box {
      padding-top: 0.8rem;
      margin: -0.1rem -0.05rem 0; }
    .works-inner__img-mask::after {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background-color: #f2f0ec;
      opacity: 0;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .works-inner__img-mask:hover::after {
      opacity: 0.7; }
    .works-inner__img-mask:hover .works-inner__item-title {
      opacity: 1;
      visibility: visible; }
    .works-inner__item-wrap {
      padding: 0.1rem 0.05rem 0; }
    .works-inner__item-title {
      position: absolute;
      left: 50%;
      bottom: 2.5vw;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      color: #CA8B60;
      opacity: 0;
      visibility: hidden;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s;
      z-index: 10; }
  /* -- section.discount-inner -- */
  .discount-inner {
    padding: 2.4rem 6vw 0; } }

@media (max-width: 1200px) {
  html {
    font-size: calc(15px * 100 / 16); }
  /* -- header#header -- */
  .header__img-mask.img01-type02 {
    width: 8rem; }
  .header__deco {
    width: 5rem;
    right: 6vw;
    bottom: 26vh; }
  .header__slogan-en-wrap {
    left: 30%;
    top: 18%; }
  /* -- section.yt-video -- */
  .yt-video__wrap::after {
    /* background-image: url("../img/yt-video/yt-video-filter-m.png"); } */
  /* -- section.service -- */
  .service__deco-curve02 {
    width: 2.8rem; }
  /* -- footer#footer -- */
  .footer__btn-box {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  /* ----------------------------------- */
  /* ------ Inner Layouts ------ */
  /* ----------------------------------- */
  /* -- header#header-inner -- */
  header#header-inner {
    margin-top: 85px; } }

@media (max-width: 1024px) {
  html {
    font-size: calc(14px * 100 / 16); }
  /* ----------------------------------- */
  /* ------ Inner Layouts ------ */
  /* ----------------------------------- */
  /* -- header#header-inner -- */
  header#header-inner {
    margin-top: 80px; } }

@media (max-width: 991px) {
  .navbar__link-box {
    margin-left: 0.2rem; }
  /* -- header#header -- */
  .header__img-box {
    left: 0;
    top: -5%;
    padding-left: 8vw; }
  .header__btn-box {
    display: none; }
  .header__slogan-box {
    left: 45%; }
  .header__swiper-btn {
    width: 80%;
    left: 50%;
    bottom: 24%; }
  .header__deco {
    bottom: 30vh; }
  .header__slogan-en-wrap {
    left: 20%;
    top: 22%; }
  /* -- section.yt-video -- */
  .yt-video__wrap {
    height: 60vh; }
  /* -- section.service -- */
  section.service02 {
    padding-right: 8vw; }
  .service__deco-curve02 {
    width: 2.4rem; }
  .service__item-box.item04 {
    padding: 0 4vw 0.6rem; }
  .service__img-outer.item04 {
    margin-left: auto; }
  .service__img-mask.obfit-ie.item04 {
    height: 0;
    padding-bottom: 60%; }
  /* -- section.reviews -- */
  .reviews__box {
    padding: 0.3rem; }
  /* -- section.map -- */
  .map__title-wrap {
    left: 6vw; }
  .map__deco-curve {
    width: 40%; }
  /* ----------------------------------- */
  /* ------ Inner Layouts ------ */
  /* ----------------------------------- */
  /* -- section.blog-inner -- */
  .blog-inner {
    padding: 0 4vw; }
    .blog-inner__main-box {
      margin: -1rem -0.1rem 0; }
    .blog-inner__card-wrap {
      padding: 1rem 0.1rem 0; }
  /* -- section.discount-inner -- */
  .discount-inner__info-wrap {
    padding: 0.5rem 6vw 0.6rem; }
  .discount-inner__deco-curve02 {
    width: 50%; } }

@media (max-width: 767px) {
  /* -- footer#footer -- */
  .footer__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
  .footer__logo-info {
    display: block; }
  .footer__info-box {
    margin-right: 0;
    margin-top: 0.4rem; } }

@media (max-width: 575px) and (orientation: portrait) {
  /* ----------------------------------- */
  /* ------ Layouts ------ */
  /* ----------------------------------- */
  /* -- header#header -- */
  .header__img-box {
    left: 0;
    padding-left: 14vw;
    padding-right: 4vw; }
  .header__img-mask.img01-type01 {
    margin-bottom: 0.6rem; }
  .header__img-mask.img03-type01 {
    margin-left: -40vw;
    margin-top: 60vw; }
  .header__swiper-btn {
    width: 98%;
    bottom: 36%; }
  .header__deco {
    width: 60vw;
    right: 2vw;
    bottom: 36vh; }
  .header__slogan-box {
    left: 0;
    bottom: 16%;
    padding: 0 12vw;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
  .header__slogan-btn::before {
    width: 0.2rem;
    margin-left: 0.1rem;
    margin-right: 0.1rem; }
  .header__slogan-en-wrap {
    left: 10%;
    top: 28%; }
  /* -- nav#navbar -- */
  nav#navbar {
    padding: 0.15rem 6vw !important; }
  .navbar__logo-wrap {
    width: 1.2rem; }
  nav#navbar.isOpened .navbar__logo-wrap, nav#navbar.fixed .navbar__logo-wrap, html.inner nav#navbar .navbar__logo-wrap{
    width: 80px;
  }
  .navbar__link-box {
    margin-left: 0;
    margin-top: 4vh; }
    .navbar__link-box:not(.burger) {
      display: none; }
    .navbar__link-box.burger {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .navbar__link-wrap {
    margin-left: 0;
    margin-right: 0.05rem; }
  /* -- section.yt-video -- */
  .yt-video__wrap {
    height: 0;
    padding-bottom: 65%; }
  /* -- section.service -- */
  section.service01 {
    padding: 0 4vw; }
  section.service02 {
    padding-right: 6vw;
    padding-top: 14vw; }
  section.service03 {
    padding-top: 16vw; }
  .service__title {
    width: 2rem;
    max-width: inherit;
    padding: 0.1rem 0.8rem 0.8rem 0; }
  .service__deco-curve02 {
    width: 50vw; }
  .service__deco-curve03 {
    width: 30%; }
  .service__deco-brush02 {
    width: 1rem;
    top: -0.6rem; }
  .service__deco-brush03 {
    width: 50vw;
    bottom: -4vw; }
  .service__item-outer02 {
    padding: 12vw 6vw 0; }
  .service__item-box.item03 {
    margin-top: 12vw; }
  .service__img-box.item04 {
    margin: 0; }
  .service__img-box.item01 {
    padding-top: 12vw; }
  .service__img-wrap.item01 {
    padding-top: 2vw; }
  .service__img-mask.item02 {
    display: none; }
  .service__img-wrap.item03 {
    padding: 4vw 6vw 2vw; }
    .service__img-wrap.item03:nth-child(2) {
      padding-top: 0;
      padding-bottom: 10vw;
      margin-left: 0; }
  .service__img-wrap.item04 {
    padding: 0; }
    .service__img-wrap.item04:nth-child(2) {
      padding-top: 2vw; }
  .service__img-mask.item02.mobile {
    display: block;
    margin-top: 4vw; }
  /* -- section.reviews -- */
  .reviews {
    padding-top: 16vw;
    padding-bottom: 20vw; }
    .reviews__swiper {
      margin-top: 10vw; }
    .reviews__box {
      padding: 6vw; }
    .reviews__pagination {
      margin-top: 14vw; }
    .reviews__bullet {
      width: 0.16rem;
      height: 0.16rem;
      margin: 0 0.08rem; }
  /* -- section.map -- */
  .map {
    padding: 16vw 2vw 0; }
    .map__iframe {
      height: 80vw; }
    .map__title .title-main__title {
      font-size: 0.4rem; }
    .map__deco-curve {
      width: 50%; }
    .map__deco-brush {
      width: 90vw;
      height: 32vw;
      max-height: 160px;
      left: -1rem;
      top: -0.4rem; }
      .map__deco-brush img {
        height: 100%; }
  /* -- footer#footer -- */
  footer#footer {
    margin-top: 16vw; }
  .footer__top-box {
    padding: 12vw 2vw; }
  .footer__logo-wrap {
    width: 1.2rem; }
  .footer__top {
    display: block; }
  .footer__info-box {
    margin-top: 10vw; }
  .footer__link-wrap {
    margin: 16vw 0.06rem 0 0; }
  .footer__btn-box {
    margin-top: 8vw;
    margin-left: -4vw; }
  .footer__btn-wrap {
    margin-left: 4vw;
    margin-top: 2vw; }
  .footer__copyright {
    padding: 0.08rem 0 0.08rem; }
  /* ----------------------------------- */
  /* ------ Inner Layouts ------ */
  /* ----------------------------------- */
  /* -- header#header-inner -- */
  header#header-inner {
    padding: 8vw 6vw 0;
    margin-top: 62px; }
  .header-inner__title-wrap {
    margin-top: 6vw; }
  /* -- section.about-inner -- */
  .about-inner {
    padding-top: 16vw; }
    .about-inner__text-wrap {
      padding: 0 6vw; }
    .about-inner__content {
      margin-top: 8vw; }
    .about-inner__img-box {
      padding-top: 10vw; }
    .about-inner__img-wrap {
      padding: 0 6vw; }
      .about-inner__img-wrap::after {
        width: 85%;
        height: 92%;
        top: -6vw; }
    .about-inner__deco-curve01 {
      width: 54%;
      left: -1px;
      top: -6vw; }
    .about-inner__deco-brush {
      width: 24%;
      left: -0.54rem;
      bottom: 10%; }
  /* -- section.service-inner -- */
  .service-inner {
    padding: 16vw 1vw 26vw;
    background-color: #F2F0EC;
    overflow: hidden; }
    .service-inner__container {
      max-width: 900px; }
    .service-inner__img-mask {
      margin-top: 0.2rem;
      -webkit-box-shadow: -2px 3px 7px 0 rgba(0, 0, 0, 0.25);
      box-shadow: -2px 3px 7px 0 rgba(0, 0, 0, 0.25); }
    .service-inner__discount-outer {
      position: absolute;
      left: 0;
      bottom: 0; }
    .service-inner__ball-blue01 {
      right: 0;
      top: 0;
      -webkit-transform: translateX(50%);
      -ms-transform: translateX(50%);
      transform: translateX(50%); }
    .service-inner__ball-blue02 {
      left: 0;
      top: 30%;
      -webkit-transform: translateX(-60%);
      -ms-transform: translateX(-60%);
      transform: translateX(-60%); }
    .service-inner__ball-blue03 {
      right: 0;
      bottom: 20%;
      -webkit-transform: translateX(-14%) scale(1.1);
      -ms-transform: translateX(-14%) scale(1.1);
      transform: translateX(-14%) scale(1.1); }
  /* -- section.works-inner -- */
  .works-inner {
    padding: 0 2vw 12vw; }
    .works-inner__main-box {
      padding-top: 12vw; }
  /* -- section.blog-inner -- */
  .blog-inner {
    padding: 0 2vw; }
    .blog-inner__main-box {
      padding-top: 12vw;
      margin: -12vw -0.1rem 0; }
    .blog-inner__card-wrap {
      padding: 12vw 0.1rem 0; }
    .blog-inner__date-wrap {
      margin-top: 4vw; }
    .blog-inner__title {
      margin: 0.1rem 0 6vw; }
    .blog-inner__btn-more {
      margin-top: 6vw; }
  /* -- section.blog-detail -- */
  .blog-detail {
    padding: 16vw 1vw 0; }
    .blog-detail__from {
      margin-top: 6vw; }
    .blog-detail__hr {
      margin: 4vw 0 8vw; }
    .blog-detail__title-wrap {
      margin-bottom: 6vw; }
  /* -- section.faq-inner -- */
  .faq-inner {
    padding: 0 3vw 12vw; }
    .faq-inner__main-box {
      padding-top: 12vw;
      margin-top: -8vw; }
    .faq-inner__wrap {
      padding-top: 8vw; }
    .faq-inner__img-mask {
      margin-top: 12vw; }
    .faq-inner__table {
      border-spacing: 3px; }
      .faq-inner__table th, .faq-inner__table td {
        text-align: center; }
      .faq-inner__table th {
        padding: 0.02rem 2vw;
        background-color: rgba(0, 0, 0, 0.1);
        font-weight: 400; }
      .faq-inner__table th.hidden {
        visibility: hidden; }
      .faq-inner__table td {
        padding: 0.02rem 2vw;
        background-color: #f7f6f4; }
  /* -- section.discount-inner -- */
  .discount-inner {
    padding: 32vw 4vw 0; }
    .discount-inner__call {
      padding: 4vw 8vw 10vw; }
    .discount-inner__info-box {
      margin-top: 14vw; }
    .discount-inner__info-wrap {
      display: block;
      padding: 10vw 6vw 10vw; }
    .discount-inner__link-wrap {
      margin-top: 8vw; }
    .discount-inner__deco-curve02 {
      width: 50%; }
  /* -- footer#footer inner -- */
  html.inner footer#footer {
    margin-top: 18vw; } }

@media (max-width: 767px) and (orientation: landscape) {
  /* ----------------------------------- */
  /* ------ Layouts ------ */
  /* ----------------------------------- */
  /* -- header#header -- */
  .header__img-box {
    left: 0;
    padding-left: 34vw;
    padding-right: 4vw; }
  .header__img-mask.img01-type01 {
    margin-bottom: -0.1rem; }
  .header__swiper-btn {
    width: 98%;
    bottom: 36%; }
  .header__deco {
    width: 60vw;
    right: 2vw;
    bottom: 36vh; }
  /* -- nav#navbar -- */
  nav#navbar {
    padding: 0.15rem 6vw; }
  .navbar__logo-wrap {
    width: 1.2rem; }
  .navbar__link-box:not(.burger) {
    display: none; }
  .navbar__link-box {
    margin-left: 0;
    margin-top: 4vh; }
  .navbar__link-wrap {
    margin-left: 0;
    margin-right: 0.05rem; }
  /* -- section.service -- */
  .service__title {
    width: 2rem;
    max-width: inherit;
    padding: 0.1rem 0.8rem 0.8rem 0; }
  .service__deco-curve02 {
    width: 50vw; }
  .service__deco-curve03 {
    width: 30%; }
  .service__deco-brush02 {
    width: 1rem;
    top: -0.6rem; }
  .service__deco-brush03 {
    width: 50vw;
    bottom: -4vw; }
  .service__item-outer02 {
    padding: 12vw 6vw 0; }
  .service__item-box.item03 {
    margin-top: 12vw; }
  .service__img-box.item04 {
    margin: 0; }
  .service__img-box.item01 {
    padding-top: 12vw; }
  .service__img-wrap.item01 {
    padding-top: 2vw; }
  .service__img-mask.item02 {
    display: none; }
  .service__img-wrap.item03 {
    padding: 4vw 6vw 2vw; }
    .service__img-wrap.item03:nth-child(2) {
      padding-top: 0;
      padding-bottom: 10vw;
      margin-left: 0; }
  .service__img-wrap.item04 {
    padding: 0; }
    .service__img-wrap.item04:nth-child(2) {
      padding-top: 2vw; }
  .service__img-mask.item02.mobile {
    display: block;
    margin-top: 4vw; }
  /* -- section.reviews -- */
  .reviews__swiper {
    margin-top: 10vw; }
  .reviews__pagination {
    margin-top: 14vw; }
  .reviews__bullet {
    width: 0.16rem;
    height: 0.16rem;
    margin: 0 0.08rem; }
  /* -- section.map -- */
  .map__deco-brush {
    width: 400px;
    height: 170px;
    left: -1rem;
    top: -0.4rem; }
    .map__deco-brush img {
      height: 100%; } }
