.body {
  background-image: none;
  background-size: auto;
  height: auto;
  min-height: 100%;
  font-family: Noto Sans TC, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 30px;
}

.sec-depart {
  background-image: url('../images/bg-red-texture-2.webp');
  background-position: 50%;
  background-size: cover;
  justify-content: center;
  align-items: center;
  height: 745px;
  display: block;
}

.sec-calendar {
  height: 856px;
}

.sec-countdown {
  background-color: #f7f5f600;
  background-image: url('../images/資產-19N.png');
  background-size: auto;
  height: 1393px;
  padding-top: 0%;
  padding-bottom: 0%;
}

.sec-featured {
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.sec-kyushu {
  background-image: url('../images/img_007.png');
  background-position: 50%;
  background-size: cover;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  height: 815px;
  display: block;
}

.sec-park {
  background-image: url('../images/資產-21N_1.png');
  background-position: 50%;
  background-size: cover;
  height: 870px;
}

.sec-global {
  background-color: #d94f2b;
  background-image: url('../images/資產-24N.png');
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 1008px;
  display: block;
}

.sec-footer {
  background-image: url('../images/japan-winter-crane.webp');
  background-position: 50%;
  background-size: cover;
  justify-content: center;
  align-items: center;
  height: 978px;
  display: flex;
}

.ny-region {
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 48px;
  padding-bottom: 48px;
  display: flex;
}

.ny-head {
  color: #c63a1e;
  letter-spacing: .1em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: EB Garamond, Noto Serif TC, serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
}

.ny-underline {
  background-color: #c63a1e73;
  width: 300px;
  height: 1px;
  margin-top: 16px;
  margin-bottom: 20px;
}

.ny-para {
  color: #c63a1e;
  text-align: center;
  letter-spacing: .2em;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Noto Serif TC, serif;
  font-size: 19px;
  line-height: 42px;
}

.ny-btn {
  color: #c63a1e;
  letter-spacing: .15em;
  background-color: #0000;
  border: 1px solid #c63a1e;
  margin-top: 32px;
  padding: 12px 28px;
  font-family: Noto Serif TC, serif;
  font-size: 18px;
  display: inline-block;
}

.ny-photo {
  background-color: #e8e6e6;
  background-repeat: no-repeat;
  background-size: cover;
  border: 3px solid #c63a1e;
  border-radius: 210px 210px 10px 10px;
  width: 420px;
  height: 520px;
  margin-bottom: 28px;
}

.ny-sub {
  color: #c63a1e;
  letter-spacing: .28em;
  margin-top: 14px;
  margin-bottom: 10px;
  font-family: Noto Serif TC, serif;
  font-size: 31px;
}

.ny-row {
  justify-content: center;
  align-items: center;
  column-gap: 72px;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 56px;
  padding-bottom: 56px;
  display: flex;
}

.ny-row-rev {
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  column-gap: 72px;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 56px;
  padding-bottom: 56px;
  display: flex;
}

.ny-textcol {
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 460px;
  display: flex;
}

.jp-wrap {
  width: auto;
  height: 2860px;
  margin: 5% auto;
  font-family: Noto Serif TC, serif;
  position: static;
}

.jp-photo {
  background-color: #e8e6e6;
  background-repeat: no-repeat;
  background-size: cover;
  border: 3px solid #c63a1e;
  border-radius: 240px 240px 10px 10px;
  position: absolute;
}

.jp-photo.inline-div-0 {
  width: 636px;
  height: 549px;
  top: 44px;
  left: 143px;
}

.jp-photo.inline-div-1 {
  width: 565px;
  height: 543px;
  top: 156px;
  left: 1030px;
}

.jp-photo.inline-div-2 {
  width: 695px;
  height: 555px;
  top: 1194px;
  left: 235px;
}

.jp-photo.inline-div-3 {
  width: 550px;
  height: 470px;
  top: 1924px;
  left: 296px;
}

.jp-photo.inline-div-4 {
  width: 565px;
  height: 470px;
  top: 1856px;
  left: 1066px;
}

.jp-head {
  color: #c63a1e;
  letter-spacing: .1em;
  white-space: nowrap;
  margin: 0;
  font-family: EB Garamond, Noto Serif TC, serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  transform: translateX(-50%);
}

.jp-head.inline-h2-0 {
  letter-spacing: 0;
  position: static;
  top: 669px;
  left: 514px;
}

.jp-head.inline-h2-1 {
  top: 744px;
  left: 1323px;
}

.jp-head.inline-h2-2 {
  top: 1247px;
  left: 1347px;
}

.jp-head.inline-h2-3 {
  top: 2377px;
  left: 553px;
}

.jp-head.inline-h2-4 {
  top: 2302px;
  left: 1343px;
}

.jp-ul {
  background-color: #c63a1e73;
  width: 300px;
  height: 1px;
  position: absolute;
}

.jp-ul.inline-div-5 {
  position: static;
  top: 730px;
  left: 352px;
}

.jp-ul.inline-div-7 {
  top: 809px;
  left: 1173px;
}

.jp-ul.inline-div-9 {
  top: 1314px;
  left: 1197px;
}

.jp-ul.inline-div-11 {
  top: 2435px;
  left: 403px;
}

.jp-ul.inline-div-13 {
  top: 2362px;
  left: 1193px;
}

.jp-sub {
  color: #c63a1e;
  letter-spacing: .28em;
  white-space: nowrap;
  margin: 0;
  font-family: Noto Serif TC, serif;
  font-size: 31px;
  line-height: 1;
  position: absolute;
  transform: translateX(-50%);
}

.jp-sub.inline-p-2 {
  top: 1357px;
  left: 1339px;
}

.jp-sub.inline-p-4 {
  top: 2504px;
  left: 562px;
}

.jp-sub.inline-p-6 {
  top: 2414px;
  left: 1330px;
}

.jp-para {
  color: #c63a1e;
  text-align: center;
  letter-spacing: .23em;
  white-space: nowrap;
  margin: 0;
  font-family: Noto Serif TC, serif;
  font-size: 19px;
  line-height: 42px;
  position: absolute;
  transform: translateX(-50%);
}

.jp-para.inline-p-0 {
  letter-spacing: 0;
  text-overflow: clip;
  direction: ltr;
  position: static;
  top: 774px;
  left: 514px;
}

.jp-para.inline-p-1 {
  top: 841px;
  left: 1323px;
}

.jp-para.inline-p-3 {
  top: 1443px;
  left: 1344px;
}

.jp-para.inline-p-5 {
  top: 2561px;
  left: 558px;
}

.jp-para.inline-p-7 {
  top: 2498px;
  left: 1343px;
}

.jp-btn {
  color: #c63a1e;
  letter-spacing: .15em;
  border: 1px solid #c63a1e;
  padding: 12px 28px;
  font-family: Noto Serif TC, serif;
  font-size: 18px;
  position: absolute;
}

.jp-btn.inline-div-6 {
  position: static;
  top: 968px;
  left: 375px;
}

.jp-btn.inline-div-8 {
  top: 1022px;
  left: 1210px;
}

.jp-btn.inline-div-10 {
  top: 1631px;
  left: 1209px;
}

.jp-btn.inline-div-12 {
  top: 2755px;
  left: 429px;
}

.jp-btn.inline-div-14 {
  top: 2729px;
  left: 1246px;
}

.ky-wrap {
  background-color: #c63a1f;
  border-top-right-radius: 330px;
  width: 1920px;
  height: 808px;
  margin: 0 auto;
  font-family: Noto Serif TC, serif;
  position: relative;
  overflow: hidden;
}

.ky-photo {
  background-color: #e8e6e6;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 16px;
  position: absolute;
}

.ky-photo.inline-div-0 {
  width: 900px;
  height: 660px;
  top: 50px;
  left: 90px;
}

.ky-head {
  color: #fff;
  letter-spacing: .1em;
  white-space: nowrap;
  margin: 0;
  font-family: EB Garamond, Noto Serif TC, serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  position: absolute;
}

.ky-head.inline-h2-0 {
  top: 192px;
  left: 1092px;
}

.ky-ul {
  background-color: #fff9;
  width: 300px;
  height: 1px;
  position: absolute;
}

.ky-ul.inline-div-1 {
  top: 258px;
  left: 1092px;
}

.ky-sub {
  color: #fff;
  letter-spacing: .28em;
  white-space: nowrap;
  margin: 0;
  font-family: Noto Serif TC, serif;
  font-size: 31px;
  line-height: 1;
  position: absolute;
}

.ky-sub.inline-p-0 {
  top: 299px;
  left: 1092px;
}

.ky-para {
  color: #fff;
  letter-spacing: .23em;
  white-space: nowrap;
  margin: 0;
  font-family: Noto Serif TC, serif;
  font-size: 19px;
  line-height: 42px;
  position: absolute;
}

.ky-para.inline-p-1 {
  font-family: Noto Serif TC, serif;
  top: 377px;
  left: 1089px;
}

.ky-btn {
  color: #fff;
  letter-spacing: .15em;
  border: 1px solid #fff;
  padding: 12px 28px;
  font-family: Noto Serif TC, serif;
  font-size: 18px;
  position: absolute;
}

.ky-btn.inline-div-2 {
  top: 586px;
  left: 1082px;
}

.div-block {
  background-image: url('../images/bg-red-texture.webp');
  background-size: cover;
  justify-content: center;
  align-items: flex-start;
  height: 800px;
  display: flex;
}

.columns {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.column {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.image {
  margin-top: 13%;
}

.column-2 {
  margin-top: 12%;
}

.image-2 {
  padding-left: 40px;
}

.image-3 {
  margin-top: 82px;
  margin-left: 142px;
}

.column-3 {
  margin-top: 11%;
}

.image-4 {
  margin-left: 43px;
}

.image-5 {
  max-width: 100%;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.image-6 {
  margin-top: 109px;
  margin-left: -64px;
}

.columns-2 {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.image-7 {
  width: 585px;
  margin-top: -38px;
  margin-left: 80px;
  display: inline-block;
  overflow: visible;
}

.text-block {
  color: #fff;
  text-align: left;
  letter-spacing: 4px;
  text-indent: 0;
  font-family: Noto Serif TC, sans-serif;
  font-size: 21px;
  font-weight: 300;
  line-height: 46px;
}

.div-block-2 {
  margin-top: 121px;
  margin-left: 94px;
}

.div-block-3 {
  border: 1px #000;
  border-top: 2px dashed #fff;
  border-radius: 0;
  width: 24.7em;
  height: 4px;
  margin-top: 20px;
}

.div-block-4 {
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  margin-top: 10%;
  display: flex;
}

.div-block-5 {
  background-image: url('../images/decor-circle-scribble-03.png');
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 156px;
  height: 98px;
  margin-right: 40px;
  display: flex;
}

.div-block-6 {
  width: 156px;
  height: 98px;
}

.text-block-2 {
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 23px;
  font-weight: 500;
}

.text-block-3 {
  color: #fff;
  text-align: center;
  letter-spacing: 9px;
  text-transform: uppercase;
  margin-top: 6px;
  margin-left: 5px;
  font-family: EB Garamond, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
}

.text-block-4 {
  color: #fff;
  text-align: center;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-top: 6px;
  margin-left: 5px;
  font-family: EB Garamond, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
}

.text-block5 {
  color: #fff;
  text-align: center;
  letter-spacing: 7px;
  text-transform: uppercase;
  margin-top: 6px;
  margin-left: 5px;
  font-family: EB Garamond, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 100%;
}

.div-block-7 {
  justify-content: center;
  align-items: center;
  padding-top: 5%;
  padding-bottom: 5%;
  display: flex;
}

.div-block-8 {
  flex-flow: column;
  padding-top: 5%;
  padding-bottom: 5%;
  display: flex;
}

.image-8 {
  display: inline-block;
}

.section {
  z-index: 1;
  background-image: url('../images/資產-21N.png');
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 5%;
  padding-bottom: 5%;
  display: block;
  position: sticky;
}

.div-block-9 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.columns-3 {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.div-block-10, .column-4 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block-5 {
  color: #c63a1e;
  text-align: center;
  font-family: Noto Serif TC, sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 100%;
}

.div-block-11 {
  background-color: #c63a1e73;
  width: 300px;
  height: 1px;
  margin-top: 20px;
}

.text-block-6 {
  color: #c63a1e;
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 42px;
  display: flex;
}

.link-block {
  background-image: url('../images/decor-line-02.png');
  background-position: 50%;
  background-size: cover;
  justify-content: center;
  align-items: center;
  width: 190px;
  height: 75px;
  margin-top: 40px;
  margin-bottom: 20px;
  text-decoration: none;
  display: flex;
}

.text-block-7 {
  color: #c63a1e;
  text-align: center;
  font-family: Noto Sans TC, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
}

.div-block-12 {
  margin-bottom: 60px;
}

.image-9 {
  width: 618px;
}

.image-10 {
  margin-top: 33px;
  margin-bottom: 20px;
}

.div-block-13 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-14 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 10%;
  display: flex;
}

.columns-4 {
  background-image: url('../images/decor-circle-scribble-03.png');
  background-position: 0 0;
  background-size: auto;
  justify-content: center;
  align-items: center;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.div-block-15 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  display: flex;
}

.text-block-8 {
  color: #c63a1e;
  text-align: center;
  letter-spacing: 8px;
  text-indent: 8px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 100%;
}

.div-block-16 {
  margin-bottom: 5%;
}

.columns-5 {
  max-width: 1600px;
  margin: 5% auto 10%;
}

.div-block-18 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  display: flex;
}

.column-5 {
  margin-top: 0%;
}

.columns-6 {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 8%;
}

.div-block-19 {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block20 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  display: flex;
}

.text-block-10 {
  color: #fff;
  text-align: center;
  font-family: Noto Serif TC, sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 100%;
}

.text-block-11 {
  color: #fff;
  text-align: center;
  letter-spacing: 8px;
  text-indent: 8px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 100%;
}

.text-block-12 {
  color: #fff;
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 42px;
  display: flex;
}

.text-block-13 {
  color: #fff;
  text-align: center;
  font-family: Noto Sans TC, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
}

.image-11 {
  width: 677px;
}

.image-12, .image-13 {
  width: 550px;
}

.link-block-2 {
  background-image: url('../images/資產-19N_1.png');
  background-position: 50%;
  background-size: cover;
  justify-content: center;
  align-items: center;
  width: 190px;
  height: 75px;
  margin-top: 40px;
  margin-bottom: 20px;
  text-decoration: none;
  display: flex;
}

.columns-7 {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5%;
}

.div-block-15-copy {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  display: flex;
}

.div-block22 {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  margin-top: 100px;
  margin-left: 25%;
  display: flex;
}

.text-block-22 {
  color: #c63a1e;
  text-align: left;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 42px;
  display: flex;
}

.image-14 {
  margin-top: 60px;
}

.div-block-20 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 5%;
  padding-bottom: 5%;
  display: flex;
}

.columns-8 {
  flex-flow: column;
  display: flex;
}

.div-block-21 {
  text-align: left;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  justify-content: space-around;
  align-items: center;
  width: 900px;
  max-width: 1600px;
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.text-block-23 {
  color: #fff;
  text-align: left;
  letter-spacing: 11px;
  margin-top: 30px;
  margin-bottom: 34px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 100%;
}

.text-block-24 {
  color: #fff;
  text-align: center;
  letter-spacing: 4px;
  margin-left: 220px;
  margin-right: 40px;
  font-family: Noto Serif TC, sans-serif;
  font-weight: 200;
}

.text-block-25 {
  color: #d94f2b;
  text-align: center;
  letter-spacing: 5px;
  font-family: Noto Sans TC, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
}

.link-block-3 {
  background-color: #fff;
  margin-right: 20px;
  padding: 10px 15px;
  text-decoration: none;
}

.div-block-26 {
  border-top: 1px #fff;
  border-bottom: 1px solid #fff;
  justify-content: space-around;
  align-items: center;
  width: 900px;
  max-width: 1600px;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.text-block-26 {
  color: #fff;
  text-align: center;
  letter-spacing: 8px;
  text-indent: 8px;
  margin-top: 100px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 100%;
}

.text-block-27 {
  color: #fff;
  text-align: center;
  letter-spacing: 10px;
  text-indent: 10px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 100%;
}

.div-block-27 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.link-block-4 {
  background-color: #fff;
  border-radius: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
  padding: 20px 20px 10px;
  text-decoration: none;
  display: flex;
}

.text-block-28 {
  color: #d94f2b;
  text-align: center;
  letter-spacing: 2px;
  text-indent: 2px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 100%;
  text-decoration: none;
}

.text-block-29 {
  color: #d94f2b;
  text-align: center;
  text-transform: uppercase;
  font-family: EB Garamond, sans-serif;
  font-size: 12px;
  font-weight: 500;
}

.link-block-5, .link-block-6, .link-block-7 {
  text-decoration: none;
}

.div-block-28 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.text-block-30 {
  text-align: center;
  letter-spacing: 4px;
  margin-top: 40px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 42px;
}

.image-15 {
  width: 765px;
}

.text-block-31 {
  color: #c63a1e;
  text-align: left;
  letter-spacing: 5px;
  margin-top: 60px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 44px;
}

.columns-9 {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.text-block-32 {
  color: #c63a1e;
  text-align: center;
  letter-spacing: 4px;
  margin-top: 40px;
  font-family: Noto Serif TC, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 100%;
}

@media screen and (max-width: 991px) {
  .sec-depart {
    height: 1350px;
  }

  .sec-kyushu {
    background-position: 0%;
    height: 1150px;
  }

  .sec-park {
    background-position: 0%;
    height: 1290px;
  }

  .sec-global {
    background-position: 100%;
    height: 900px;
  }

  .sec-footer {
    height: 600px;
  }

  .jp-wrap {
    width: auto;
    height: auto;
  }

  .columns {
    flex-flow: row;
    flex: 0 auto;
    justify-content: center;
    align-items: stretch;
    display: flex;
    overflow: visible;
  }

  .column {
    justify-content: center;
    align-items: center;
  }

  .image {
    margin-top: 24%;
  }

  .column-2 {
    display: none;
  }

  .column-3 {
    display: none;
    overflow: visible;
  }

  .columns-2 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .image-7 {
    width: 450px;
    margin-top: 0;
    margin-left: 80px;
  }

  .div-block-5 {
    text-decoration: none;
  }

  .columns-3 {
    flex-flow: column;
    display: flex;
  }

  .div-block22 {
    justify-content: center;
    align-items: center;
    margin-left: 0%;
  }

  .text-block-22 {
    text-align: center;
  }

  .image-14 {
    width: 600px;
  }

  .div-block-21 {
    width: 700px;
    margin-top: 60px;
  }

  .text-block-23 {
    font-size: 18px;
  }

  .text-block-24 {
    margin-left: 60px;
    margin-right: 10px;
  }

  .div-block-26 {
    width: 700px;
  }

  .text-block-27 {
    font-size: 18px;
  }

  .link-block-5, .link-block-6, .link-block-7 {
    text-decoration: none;
  }

  .column-6, .column-7 {
    justify-content: center;
    align-items: center;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .sec-kyushu {
    height: 1050px;
  }

  .sec-global {
    background-position: 100%;
  }

  .image {
    margin-top: 10%;
  }

  .div-block-2 {
    margin-top: 100px;
    max-width: 100%;
    margin-left: 0;
  }

  .image-7 {
    width: min(450px, calc(100vw - 30px));
    margin-left: 0;
  }

  .div-block22 {
    margin-top: 60px;
  }

  .div-block-21 {
    gap: 12px;
    width: calc(100vw - 30px);
    max-width: 600px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .text-block-23 {
    letter-spacing: 4px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .text-block-24 {
    letter-spacing: 0;
    flex: 0 1 auto;
    margin-left: 0;
    margin-right: 0;
    font-size: 12px;
  }

  .div-block-26 {
    gap: 12px;
    width: calc(100vw - 30px);
    max-width: 600px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .link-block-3 {
    flex: 0 0 auto;
    margin-right: 0;
  }

  .text-block-26 {
    letter-spacing: 4px;
    font-size: 20px;
  }

  .text-block-27 {
    font-size: 16px;
  }

  .column-8 {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .image-15 {
    width: 400px;
  }
}

@media screen and (max-width: 479px) {
  .sec-depart {
    justify-content: center;
    align-items: center;
    height: 1200px;
    display: flex;
  }

  .sec-park {
    background-position: 100%;
    height: 900px;
  }

  .sec-footer {
    height: 400px;
  }

  .div-block {
    justify-content: center;
    align-items: center;
    height: 623px;
  }

  .image {
    padding-left: 15px;
    padding-right: 15px;
  }

  .image-5 {
    max-width: 100%;
  }

  .columns-2 {
    display: flex;
  }

  .image-7 {
    width: 300px;
    margin-left: 0;
  }

  .text-block {
    text-align: center;
    letter-spacing: 0;
    font-size: 17px;
  }

  .div-block-2 {
    margin-top: 60px;
    margin-left: 0;
  }

  .div-block-3 {
    width: auto;
  }

  .div-block-4 {
    flex-flow: column;
  }

  .div-block-5 {
    width: 120px;
    height: 71px;
    margin-top: 3px;
  }

  .text-block-2 {
    font-size: 17px;
  }

  .text-block-3 {
    margin-top: 0;
    font-size: 5px;
  }

  .text-block5 {
    margin-top: 0;
    font-size: 7px;
  }

  .text-block-5 {
    font-size: 36px;
  }

  .text-block-6 {
    font-size: 16px;
    line-height: 32px;
  }

  .image-10 {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .text-block-8 {
    letter-spacing: 3px;
    font-size: 19px;
    font-weight: 600;
  }

  .text-block-11 {
    letter-spacing: 4px;
    font-size: 19px;
    font-weight: 600;
  }

  .text-block-12, .text-block-22 {
    font-size: 16px;
    line-height: 32px;
  }

  .div-block-21 {
    width: calc(100vw - 30px);
    max-width: 400px;
  }

  .text-block-23 {
    letter-spacing: 0;
  }

  .text-block-24 {
    font-size: 9px;
  }

  .text-block-25 {
    font-size: 15px;
  }

  .link-block-3 {
    margin-right: 10px;
    padding: 5px;
  }

  .div-block-26 {
    width: calc(100vw - 30px);
    max-width: 400px;
  }

  .text-block-26 {
    font-size: 15px;
  }

  .text-block-27 {
    letter-spacing: 4px;
    font-size: 14px;
    line-height: 24px;
  }

  .link-block-4 {
    margin-top: 20px;
    padding: 20px 12px 12px;
  }

  .text-block-28 {
    font-size: 16px;
  }

  .text-block-29 {
    font-size: 10px;
  }

  .column-8 {
    justify-content: center;
    align-items: center;
    position: static;
  }

  .column-9 {
    justify-content: center;
    align-items: center;
    display: flex;
    position: static;
  }

  .text-block-30 {
    letter-spacing: 2px;
    font-size: 16px;
    line-height: 32px;
  }

  .image-15 {
    width: 360px;
  }

  .text-block-31 {
    margin-top: 40px;
    font-size: 23px;
    line-height: 37px;
  }
}

/* 2027 New Year interaction refinements */
.nyf-family-cta {
  color: #c63a1e;
  text-align: center;
  letter-spacing: .16em;
  border: 2px solid #c63a1e;
  max-width: calc(100vw - 32px);
  margin-top: 38px;
  padding: 12px 20px 13px;
  font-family: Noto Serif TC, serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.35;
  box-sizing: border-box;
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .75, .25, 1), letter-spacing .7s ease, box-shadow .7s ease;
}

.w-mod-js .nyf-family-cta {
  opacity: 0;
  letter-spacing: .22em;
  box-shadow: inset 0 0 0 0 rgba(198, 58, 30, 0);
  transform: translate3d(0, 16px, 0);
}

.w-mod-js .nyf-family-cta.is-visible {
  opacity: 1;
  letter-spacing: .16em;
  box-shadow: inset 0 0 0 1px rgba(198, 58, 30, .12);
  transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 992px) and (prefers-reduced-motion: no-preference) {
  .image-2 {
    animation: nyf-sheep-wander-a 8.4s 2.5s ease-in-out infinite alternate both;
    will-change: transform;
  }

  .image-3 {
    animation: nyf-sheep-wander-b 10.6s 3.1s ease-in-out infinite alternate both;
    will-change: transform;
  }

  .image-4 {
    animation: nyf-sheep-wander-c 7.6s 2.8s ease-in-out infinite alternate both;
    will-change: transform;
  }

  .image-6 {
    animation: nyf-sheep-wander-d 9.7s 3.6s ease-in-out infinite alternate both;
    will-change: transform;
  }
}

.nyf-kyushu-steam {
  animation: nyf-steam-drift 9s 1.4s ease-in-out infinite alternate both;
  transform-origin: 48% 58%;
  will-change: transform;
}

.nyf-destination-image {
  display: block;
  transition: transform .6s cubic-bezier(.2, .72, .24, 1), filter .6s ease;
  transform: translateZ(0) scale(1);
  transform-origin: center;
  will-change: transform;
}

.nyf-cursor-dot {
  z-index: 2147483647;
  pointer-events: none;
  background-color: #6d190b;
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  transition: opacity .16s ease;
  will-change: transform;
}

.link-block-5,
.link-block-6,
.link-block-7,
.link-block,
.link-block-2,
.link-block-3,
.link-block-4 {
  outline-offset: 5px;
  transition: transform .28s cubic-bezier(.2, .75, .25, 1), filter .28s ease, background-color .28s ease, color .28s ease;
  transform: translateZ(0);
  will-change: transform;
}

.link-block-5 .div-block-5,
.link-block-6 .div-block-5,
.link-block-7 .div-block-5,
.link-block .text-block-7,
.link-block-2 .text-block-13,
.link-block-3 .text-block-25,
.link-block-4 .text-block-28,
.link-block-4 .text-block-29 {
  transition: color .28s ease, background-color .28s ease, filter .28s ease;
}

.link-block-5:focus-visible,
.link-block-6:focus-visible,
.link-block-7:focus-visible,
.link-block:focus-visible,
.link-block-2:focus-visible,
.link-block-3:focus-visible,
.link-block-4:focus-visible {
  outline: 2px solid #ff9d00;
  filter: drop-shadow(0 10px 14px rgba(109, 25, 11, .22));
  transform: translate3d(2px, -4px, 0);
}

.link-block-5:focus-visible .div-block-5,
.link-block-6:focus-visible .div-block-5,
.link-block-7:focus-visible .div-block-5 {
  background-color: transparent;
  background-blend-mode: normal;
}

.link-block:focus-visible,
.link-block-2:focus-visible {
  background-color: #ff9d00;
  background-blend-mode: normal;
}

.link-block:focus-visible .text-block-7,
.link-block-2:focus-visible .text-block-13,
.link-block-3:focus-visible .text-block-25 {
  color: #fff;
}

.link-block-3:focus-visible {
  background-color: #ff9d00;
}

.link-block-4:focus-visible {
  background-color: #c63a1e;
}

.link-block-4:focus-visible .text-block-28,
.link-block-4:focus-visible .text-block-29 {
  color: #fff;
}

.link-block,
.link-block-2 {
  color: #fff;
  background-color: #c63a1e;
  background-image: none;
  border-radius: 999px;
}

.link-block-2 {
  border: 1px solid #fff;
  box-sizing: border-box;
}

.link-block .text-block-7,
.link-block-2 .text-block-13 {
  color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .nyf-destination-image:hover {
    filter: saturate(1.03) contrast(1.01);
    transform: translateZ(0) scale(1.025);
  }

  .link-block-5:hover,
  .link-block-6:hover,
  .link-block-7:hover,
  .link-block:hover,
  .link-block-2:hover,
  .link-block-3:hover,
  .link-block-4:hover {
    animation: nyf-button-float 1.55s ease-in-out infinite alternate;
    filter: drop-shadow(0 10px 14px rgba(109, 25, 11, .22));
  }

  .link-block-5:hover .div-block-5,
  .link-block-6:hover .div-block-5,
  .link-block-7:hover .div-block-5 {
    background-color: transparent;
    background-blend-mode: normal;
  }

  .link-block:hover,
  .link-block-2:hover {
    background-color: #ff9d00;
    background-blend-mode: normal;
  }

  .link-block:hover .text-block-7,
  .link-block-2:hover .text-block-13,
  .link-block-3:hover .text-block-25 {
    color: #fff;
  }

  .link-block-3:hover {
    background-color: #ff9d00;
  }

  .link-block-4:hover {
    background-color: #c63a1e;
  }

  .link-block-4:hover .text-block-28,
  .link-block-4:hover .text-block-29 {
    color: #fff;
  }
}

@keyframes nyf-button-float {
  0% { transform: translate3d(0, -2px, 0); }
  50% { transform: translate3d(2px, -5px, 0); }
  100% { transform: translate3d(-1px, -4px, 0); }
}

@keyframes nyf-sheep-wander-a {
  0% { transform: translate3d(0, 0, 0) rotate(0); }
  45% { transform: translate3d(7px, -4px, 0) rotate(.6deg); }
  100% { transform: translate3d(3px, 3px, 0) rotate(-.35deg); }
}

@keyframes nyf-sheep-wander-b {
  0% { transform: translate3d(0, 0, 0) rotate(0); }
  52% { transform: translate3d(-5px, 3px, 0) rotate(-.7deg); }
  100% { transform: translate3d(4px, -2px, 0) rotate(.3deg); }
}

@keyframes nyf-sheep-wander-c {
  0% { transform: translate3d(0, 0, 0) rotate(0); }
  48% { transform: translate3d(-7px, -3px, 0) rotate(-.55deg); }
  100% { transform: translate3d(2px, 4px, 0) rotate(.4deg); }
}

@keyframes nyf-sheep-wander-d {
  0% { transform: translate3d(0, 0, 0) rotate(0); }
  55% { transform: translate3d(5px, 4px, 0) rotate(.65deg); }
  100% { transform: translate3d(-3px, -2px, 0) rotate(-.3deg); }
}

@keyframes nyf-steam-drift {
  0% { transform: translate3d(0, 2px, 0) scale(1); }
  50% { transform: translate3d(3px, -6px, 0) scale(1.008); }
  100% { transform: translate3d(-2px, -3px, 0) scale(1.012); }
}

@media screen and (max-width: 1339px) {
  .sec-calendar {
    height: auto;
    padding-bottom: 48px;
  }
}

@media screen and (max-width: 991px) {
  .sec-countdown {
    height: auto;
  }

  .nyf-family-cta {
    margin-bottom: 48px;
  }
}

@media screen and (max-width: 479px) {
  .nyf-family-cta {
    letter-spacing: .08em;
    width: calc(100vw - 30px);
    max-width: 400px;
    margin-top: 30px;
    margin-bottom: 36px;
    padding: 9px 12px 10px;
    font-size: 20px;
  }

  .w-mod-js .nyf-family-cta {
    letter-spacing: .12em;
  }

  .w-mod-js .nyf-family-cta.is-visible {
    letter-spacing: .08em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nyf-cursor-dot {
    display: none !important;
  }

  .link-block-5,
  .link-block-6,
  .link-block-7,
  .link-block,
  .link-block-2,
  .link-block-3,
  .link-block-4 {
    animation: none !important;
    transition-duration: .01ms;
  }

  .image-2,
  .image-3,
  .image-4,
  .image-6,
  .nyf-kyushu-steam,
  .nyf-destination-image {
    animation: none !important;
    transition-duration: .01ms;
    transform: none !important;
  }

  .w-mod-js .nyf-family-cta,
  .w-mod-js .nyf-family-cta.is-visible {
    opacity: 1;
    letter-spacing: .16em;
    transition-duration: .01ms;
    transform: none;
  }

  .link-block-5:hover,
  .link-block-6:hover,
  .link-block-7:hover,
  .link-block:hover,
  .link-block-2:hover,
  .link-block-3:hover,
  .link-block-4:hover,
  .link-block-5:focus-visible,
  .link-block-6:focus-visible,
  .link-block-7:focus-visible,
  .link-block:focus-visible,
  .link-block-2:focus-visible,
  .link-block-3:focus-visible,
  .link-block-4:focus-visible {
    transform: none;
  }
}

@media screen and (max-width: 479px) and (prefers-reduced-motion: reduce) {
  .w-mod-js .nyf-family-cta,
  .w-mod-js .nyf-family-cta.is-visible {
    letter-spacing: .08em;
  }
}
