body {
  background: url("./img/body-bg.png") no-repeat center top;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "noto sans", sans-serif !important;
  color: #333;
}

.font-zen {
  /* font-family: "Zen Maru Gothic", sans-serif !important; */
}
img {
  width: 100%;
}

a,
button {
  cursor: pointer !important;
  text-decoration: none !important;
}
.lang-btn {
  position: absolute;
  top: 0; /* distance from top of parent */
  right: 0;
  display: flex;
  width: 320px;
}
.lang-btn-in {
  position: fixed;
  justify-content: space-between;
  width: 320px;
  display: flex;
  z-index: 100;
}
.en-btn {
  font-family: "Noto Sans", sans-serif !important;
}
.cn-btn {
  font-family: "Noto Sans TC", sans-serif !important;
}
.jp-btn {
  font-family: "Noto Sans JP", sans-serif !important;
  background-color: #1d75bc !important;
}
.en-btn,
.cn-btn,
.jp-btn {
  width: 155px;
  background-color: #e74132;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  color: white;
  font-size: 16px;
  font-weight: 700;
  border: 0;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0 0 20px 20px;
  border: 2px solid #414142;
  border-top: 0;
}
.container {
  max-width: 440px;
  width: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #333;
  background-color: rgba(255, 255, 255, 0.7);
  padding: 0 20px;
  border-top: 0;
  border-bottom: 0;
  position: relative;
}
@media only screen and (max-width: 440px) {
  .container {
    overflow-x: hidden;
    border: 0 !important;
    padding: 0;
  }
}
.container-inner {
  max-width: 430px;
  width: 100%;
}
.top-2 {
  background: url("./img/top2bg.webp") no-repeat center top;
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 30px;
  text-align: center;
}
.lantern {
  position: absolute;
  top: 0px;
  z-index: 2;
  width: 300px;
}
.top-2-inner {
  background: url("./img/top2whitebg.webp") no-repeat center top;
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 350px;
  padding-top: 27px;
  padding-bottom: 65px;
}
.top-2-inner-1 {
  color: #e23d2d;
  font-size: 24px;
  font-weight: 600;
}
.hr-red-1 {
  margin-top: 10px;
  width: 121px;
  background-color: #e23d2d;
  height: 1px;
  border: 0;
}
.hr-red-2 {
  margin-top: 10px;
  width: 204px;
  background-color: #e23d2d;
  height: 1px;
  border: 0;
}
.top-2-inner-2 {
  font-size: 32px;
  font-weight: 600;
  margin-top: 22px;
}
.top-2-inner-3 {
  font-size: 32px;
  font-weight: 600;
  margin-top: 8px;
}
.date-big {
  font-size: 28px;
}
.top-2-inner-4 {
  font-size: 16px;
  font-weight: 500;
  color: #1d75bc;
  margin-top: 10px;
  margin-bottom: 47px;
}
.top-2-inner-5 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -2px;
  line-height: 35px;
  margin-top: 15px;
}
.top-2-2 {
  width: 44px;
  margin-top: 20px;
}
.top2-3-1 {
  color: #1d75bc;
  font-size: 32px;
  font-weight: 900;
  background-color: white;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.top2-3-2 {
  color: #e23d2d;
  font-size: 32px;
  font-weight: 900;
  background-color: white;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}
.top2-3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  position: relative;
}

.top2-3-inn {
  line-height: 43px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.top2-3-3 {
  margin-top: -100px;
  width: 35vw;
}
.top-2-4 {
  background: url("./img/top2-4.webp") no-repeat center top;
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 350px;
  padding-top: 47px;
  padding-bottom: 40px;
}
.top-2-4-1 {
  display: flex;
  justify-content: start;
  align-items: center;
  margin-top: 25px;
  width: 315px;
}
.top-2-4-1-1 {
  width: 42px;
}
.top-2-4-1-2 {
  margin-left: 5px;
  text-align: left;
}
.top-2-4-1-2-norm {
  font-size: 18px;
  font-weight: 600;
}
.norm-not-span {
  width: 300px;
  text-align: left;
}
.top-2-4-1-2-small {
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.yellow-hr-1 {
  margin-top: 10px;
  width: 315x;
  background-color: #fccf07;
  height: 1px;
  border: 0;
}

.top2-4-2 {
  display: grid;
  grid:
    "top2-4-2-1 top2-4-2-1 top2-4-2-1"
    ".        .            top2-4-2-3" 3px
    "top2-4-2-2 .           top2-4-2-3"
    /208px 5px 100px;
  margin-top: 10px;
  width: 315px;
}

.top2-4-2-10 {
  margin-top: 10px;
  width: 315px;
}
.top2-4-2 > .top2-4-2-1 {
  grid-area: top2-4-2-1;
  text-align: left;
  color: #1d75bc;
  font-size: 16px;
  font-weight: 600;
}
.top2-4-2-1-10 {
  text-align: left;
  color: #1d75bc;
  font-size: 16px;
  font-weight: 600;
  width: 300px;
}
.top2-4-2 > .top2-4-2-2 {
  grid-area: top2-4-2-2;
  text-align: left;
  color: #1d75bc;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 32px;
}
.top2-4-2-2-1-10 {
  text-align: left;
  color: #1d75bc;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -3px;
  line-height: 32px;
  width: 315px;
  margin-top: 10px;
}
.top2-4-2 > .top2-4-2-3 {
  grid-area: top2-4-2-3;
  margin-top: auto;
}
.top-2-4-3 {
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
  margin-top: 20px;
  text-align: justify;
  width: 315px;
  letter-spacing: -1px;
}
.top-2-4-4 {
  width: 315px;
  margin-top: 10px;
  margin-bottom: 34px;
}

.top-2-4-4 > a {
  display: block;
  width: 185px;
}

.top-2-4-4-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #e74132;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  border: 0;
  border-radius: 10px;
  padding: 15px 0;
}
.top-2-4-4-button-1 {
  color: white;
  font-size: 16px;
  font-weight: 700;
}
.top-2-4-4-button-2 {
  width: 30px;
  margin-left: 10px;
}
.top-2-4-15 {
  display: flex;
  width: 300px;
  justify-content: start;
}
.top-2-4-15-1 {
  text-align: center;
  width: 80px;
  color: #fff;
  font-size: 16px;
  background-color: #333;
  font-weight: 900;
  border-radius: 10px;
  padding: 5px 0;
  line-height: 32px;
  margin-right: 90px;
}
.top-2-4-15-2 {
  width: 100px;
}
.top-2-4-15 {
  width: 300px;
  margin-top: 20px;
  margin-bottom: 5px;
}
.kitchen {
  width: 300px;
  margin-top: 30px;
}
.top-2-4-5 {
  width: 320px;
  color: #1d75bc;
  -webkit-text-stroke: 4px white;
  paint-order: stroke fill;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  margin-top: 30px;
  margin-bottom: 30px;
  line-height: 30px;
}
.top-3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

.top-3-1 {
  color: #fff;
  background-color: #1d75bc;
  border-radius: 15px;
  width: 175px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  font-weight: 600;
}
.top-3-2 {
  margin-top: 30px;
}
.top-3-3 {
  width: 350px;
  text-align: left;
  font-weight: 500;
  font-size: 18px;
  margin-top: 30px;
  color: #000;
}
.top-3-4 {
  width: 350px;
  font-size: 14px;
  line-height: 22px;
  margin-top: 10px;
  color: #000;
}
.top-3-4 > ul {
  list-style: none; /* Remove list bullets */
  padding: 0;
  margin: 0;
  color: #000;
}

.top-3-4 > ul > li::before {
  content: "◎";
  padding-right: 8px;
}
.top-3-5 {
  width: 350px;
  text-align: left;
  font-weight: 500;
  font-size: 18px;
  margin-top: 20px;
  color: #000;
}

.top-3-6 {
  width: 350px;
  font-size: 14px;
  line-height: 22px;
  margin-top: 10px;
  margin-bottom: 30px;
  color: #000;
}

.top-3-6 > ul {
  list-style: none; /* Remove list bullets */
  padding: 0;
  margin: 0;
}

.top-3-6 > ul > li::before {
  content: "◎";
  padding-right: 8px;
}
.top-4 {
  background: url("./img/top-4-bg.webp") no-repeat center top;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.top-4-1 {
  font-size: 20px;
  font-weight: 500;
  margin-top: 30px;
  -webkit-text-decoration-line: none;
  -webkit-text-decoration-color: #fff;
  -webkit-text-decoration-thickness: 18px;
  -webkit-text-underline-offset: -6px !important;
  text-decoration: solid underline #fff 20px !important;
  text-underline-offset: -8px !important;
  color: #000;
}

.top-4-2 {
  margin-top: 15px;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  color: #1d75bc;
  line-height: 35px;
}
.hr-4-3 {
  height: 2px;
  border: 0;
  background-color: #1d75bc;
  width: 350px;
  margin-top: 15px;
  margin-bottom: 0;
}
.top-4-4 {
  font-size: 18px;
  color: #fff;
  width: 80px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #1d75bc;
  font-weight: 600;
  margin-top: 20px;
}

.top-4-5 {
  margin-top: 15px;
  font-size: 36px;
  font-weight: 600;
  line-height: 35px;
}
.top-4-6 {
  font-size: 20px;
  font-weight: 600;
  line-height: 35px;
}
.top-4-7 {
  font-size: 18px;
  color: #fff;
  width: 80px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #1d75bc;
  font-weight: 600;
  margin-top: 20px;
}
.top-4-8 {
  margin-top: 5px;
  font-size: 20px;
  font-weight: 600;
  line-height: 35px;
}
.hr-4-9 {
  height: 2px;
  border: 0;
  background-color: #1d75bc;
  width: 350px;
  margin-top: 15px;
  margin-bottom: 0;
}
.top-4-10 {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  color: #000;
  margin-bottom: 30px;
  text-align: center;
}
