*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  font-family: "Noto Sans TC", sans-serif;
  margin: 0px;
}

.kv-header-dom {
  display: none;
}
.header {
  overflow: hidden;
  min-height: 562px;
  position: relative;
  background-color: white;
  background:
    url("../image/header-bg.svg") no-repeat bottom -40px center / auto 612px
}
.header-left {
  position: absolute;
  right: 50%;
  bottom: 0;
  transform: translate(28px, 0px);
  width: 546px;
}
.header-left-img {
  width: 100%;
}
.header-left-img-mb {
  width: 100%;
}
.header-radian {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.header-rect {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 110px;
  background-color: #F6F1E9;
}
.header-right {
  position: absolute;
  top: 155px;
  left: 50%;
  transform: translateX(28px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.bubble {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  font-size: 24px;
  border-radius: 999px;
  width: 88px;
  height: 88px;
  color: white;  
  line-height: 1.2;
}
.bubble-top {
  right: 13%;
  top: -3%;
  background: radial-gradient(50% 50% at 50% 50%, #FF0058 0%, #FF9699 100%);
  text-shadow: -1px -1px 0 #FF005C, 1px -1px 0 #FF005C, -1px 1px 0 #FF005C, 1px 1px 0 #FF005C, 0px 1px 0 #FF005C, 1px 0px 0 #FF005C, 0px -1px 0 #FF005C, -1px 0px 0 #FF005C;
}
.bubble-left {
  left: 6%;
  top: 29%;
  background: radial-gradient(50% 50% at 50% 50%, #FF0F00 0%, #FFA714 100%);
  text-shadow: -1px -1px 0 #FF1A00, 1px -1px 0 #FF1A00, -1px 1px 0 #FF1A00, 1px 1px 0 #FF1A00, 0px 1px 0 #FF1A00, 1px 0px 0 #FF1A00, 0px -1px 0 #FF1A00, -1px 0px 0 #FF1A00;
}
.bubble-right {
  right: 2%;
  top: 37%;
  background: radial-gradient(50% 50% at 50% 50%, #FF1328 0%, #FF8275 100%);
  text-shadow: -1px -1px 0 #DC1C2E, 1px -1px 0 #DC1C2E, -1px 1px 0 #DC1C2E, 1px 1px 0 #DC1C2E, 0px 1px 0 #DC1C2E, 1px 0px 0 #DC1C2E, 0px -1px 0 #DC1C2E, -1px 0px 0 #DC1C2E;

}
.bubble-text {
  width: 48px;
  font-weight: 700;
}
.header-title {
  width: 0;
  height: 242px;
  overflow: hidden;
  padding-left: 537px;
  background:
    url("../image/header-text.png") no-repeat center bottom / 100% auto
}
.header-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 380px;
  height: 64px;
  background: #3F7AE0;
  box-shadow: 0px 5px 0px 0px #1145A0;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
.header-text {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: white;
  margin-right: 16px;
}
.logo {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 20px 0px 20px;
}
.logo-btn {
  border: none;
  background-color: inherit;
  cursor: pointer;
}
.main {
  padding: 50px 0px;
  background-color: #FDF6EC;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.main-layout {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.section {
  border-radius: 16px;
  background-color: #F6F1E9;
  padding: 20px 20px;
  margin: 50px 0px;
  color: #333333;
}
.section-cards {
  display: flex;
  gap: 20px;
}
.section-card {
  overflow: hidden;
  position: relative;
  padding: 0 16px 16px 16px;
  border-radius: 20px;
  width: 100%;
}
.section-card-block {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  height: 100%;
}
.section1-block {
  position: relative;
  margin: 50px 0px;
}
.section1-block-img {
  width: 100%;
}
.section1-main {
  position: absolute;
  top: 70px;
  left: 20px;
}
.section1-main-title {
  display: flex;
  font-weight: 700;
  font-size: 55px;
  letter-spacing: 0.02em;
  color: white;
  text-shadow: 0px 0px 16.49px #000000B2;
}
.section1-sub-title {
  margin-top: 12px;
  font-weight: 700;
  font-size: 29px;
  letter-spacing: 0.02em;
  color: white;
  text-shadow: 0px 0px 19.92px #000000B2;
}
.section1-sub {
  padding: 24px 20px;
  background-color: #F6F1E9;
  border-radius: 0 0 16px 16px;
}
.section1-cards {
  display: flex;
  justify-content: space-between;
}
.section1-card {
  width: 374px;
}
.section1-card-tab {
  display: flex;
  align-items: center;
  background-color: #F0EAE0;
  width: 100px;
  border-radius: 20px 20px 0 0;
  padding: 14px 15px 0px 9px;
}
.section1-card-tab-text {
  font-size: 24px;
  font-weight: 600;
  margin-left: 4px;
}
.section1-card-title {
  z-index: 0;
  position: relative;
  height: 299px;
  width: 100%;
  background-color: #D7D1C9;
  border-radius: 8px;
}
.section1-card-title-children {
  height: 322px;
  width: 358px;
  padding-left: 358px;
  overflow: hidden;
}
.card1 {
  background: url("../image/card1.png") no-repeat center top;
  transform: translateY(-10px);
}
.card2 {
  background: url("../image/card2.png") no-repeat center top;
  transform: translateX(-10px);
}
.card3 {
  background: url("../image/card3.png") no-repeat center top;
  transform: translateY(10px);
}
.section1-card-content {
  padding: 12px 12px 20px 12px;
  background-color: #F0EAE0;
  border-radius: 0 20px 20px 20px;
  height: 400px;
}
.section1-card-content-text {
  margin-top: 22px;
  line-height: 1.4;
  height: 44px;
}
.section1-card-content-text-highlight {
  position: relative;
}
.section1-card-content-text-highlight-child {
  font-weight: 700;
  z-index: 10;
  position: relative;
}
.section1-card-content-text-highlight::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  width: 101%;
  height: 13px;
  bottom: 0;
  z-index: 0;
  background: #FFEA92;
}
.section-btn-block {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}
.section-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  height: 50px;
  margin: 0 auto;
  background-color: #FF8400;
  border: none;
  border-radius: 8px;
  box-shadow: 0px 7px 0px 0px #FFD93D;
  cursor: pointer;
}
.section-btn-text {
  font-weight: 700;
  font-size: 20px;
  color: white;
  margin-right: 10px;
  letter-spacing: 0.15em;
}
.footer-bg {
  position: relative;
  height: 418px;
  background:
  url("../image/footer-radian.svg") no-repeat center top / 100% auto,
  url("../image/footer-img.png") no-repeat calc(50% - 370px) bottom / 352px 352px,
  url("../image/footer-bg.png") no-repeat center center / cover
}
.footer-house {
  position: absolute;
  width: 100%;
  bottom: -5px;
  height: 46px;
  background: url("../image/footer-house.png") repeat center bottom / 1200px 46px;
}
.footer-title {
  display: flex;
  align-items: end;
  position: relative;
}
.footer-right {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 118px;
  left: 50%;
  transform: translateX(-120px);
}
.footer-title-front {
  position: relative;
  z-index: 10;
  font-size: 70px;
  font-weight: 600;
  text-shadow: 
  -2px -2px 0 white,
   2px -2px 0 white,
  -2px  2px 0 white,
   2px  2px 0 white,
   0px  2px 0 white,
   2px  0px 0 white,
   0px  -2px 0 white,
   -2px  0px 0 white
}
.footer-title-back {
  font-size: 52px;
  font-weight: 600;
  text-shadow: 
  -2px -2px 0 white,
   2px -2px 0 white,
  -2px  2px 0 white,
   2px  2px 0 white,
   0px  2px 0 white,
   2px  0px 0 white,
   0px  -2px 0 white,
   -2px  0px 0 white
}
.footer-title-highlight {
  position: relative;
  display: flex;
  align-items: end;
}
.footer-title-img {
  position: absolute;
  top: -39px;
  left: -48px;
}
.footer-title-highlight::after {
  content: "";
  position: absolute;
  left: -8px;
  width: 362px;
  height: 32px;
  bottom: 0;
  z-index: 0;
  background: #FFEA92;
}
.footer-sub {
  padding: 12px 25px;
  font-weight: 700;
  font-size: 26px;
  color: #8C4B01;
  text-shadow: 
  -1px -1px 0 white,
   1px -1px 0 white,
  -1px  1px 0 white,
   1px  1px 0 white,
   0px  1px 0 white,
   1px  0px 0 white,
   0px  -1px 0 white,
   -1px  0px 0 white;
   backdrop-filter: blur(12px);
   background: #F5F5F54D;
   border-radius: 6px;
   margin-top: 12px;
}
.footer-button {
  display: flex;
  justify-content: center;
  align-items: center;
  /* width: 380px; */
  height: 44px;
  background: #3F7AE0;
  box-shadow: 0px 5px 0px 0px #1145A0;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  margin-top: 12px;
}
.footer-text {
  font-size: 18px;
  font-weight: 700;
  color: white;
  margin-right: 8px;
  letter-spacing: 1px;
}
.footer-down {
  background-color: #FFD069;
}
.footer-down-block {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;
  padding: 8px 20px 35px 20px;
  align-items: start;
}
.footer-down-block-left-contact {
  line-height: 1.6;
  font-size: 14px;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.footer-down-block-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.4;
}
.footer-down-block-left-marketing {
  display: flex;
  gap: 12px;
}
.footer-down-block-left-links {
  display: flex;
  gap: 12px;
  letter-spacing: 0.05em;
}
.footer-down-block-left-company {
  letter-spacing: 0.05em;
}
.footer-down-block-btns {
  display: flex;
  gap: 20px;
}
.footer-down-block-btn-text {
  color: black;
}
.footer-down-block-btn {
  border: none;
  border-radius: 15px;
  background-color: white;
  width: 90px;
  padding: 11px 0px;
  font-size: 12px;
  cursor: pointer;
}
.link-mail, .link-tel {
  text-decoration: none;
}

/* common */
.text-center {
  text-align: center;
}
.link {
  color: black;
}
.bold {
  font-weight: 700;
}
.link-white {
  color: white;
}
