@charset "UTF-8";
:root {
  --ease-linear: cubic-bezier(0.250, 0.250, 0.750, 0.750);
  --ease: cubic-bezier(0.250, 0.100, 0.250, 1.000);
  --ease-in: cubic-bezier(0.420, 0.000, 1.000, 1.000);
  --ease-out: cubic-bezier(0.000, 0.000, 0.580, 1.000);
  --ease-in-out: cubic-bezier(0.420, 0.000, 0.580, 1.000);
  --ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
  --ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  --ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
  --ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  --ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
  --ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
  --ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
  --ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
  --ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
  --ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  --ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
  --ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
  --ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
  --ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
  --ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
  --ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
  --ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
  --ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
  --ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
  --ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
  --ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
}

#sec-slogan .t3, body {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 400;
}

#pc-menu .goDonate .drnButton, #pc-menu .menuItems .menuItem, #mb-menu .goDonate .drnButton, #sec-hospital .wrapper .h2 .hInfo .name, #sec-slogan .t2 {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 600;
}

html, body {
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

* {
  -webkit-text-size-adjust: 100%;
}

body {
  color: #333;
  font-size: 16px;
}

a {
  text-decoration: none;
}
a.ani {
  position: relative;
}
a.ani::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.2em;
  border-bottom: 2px solid rgba(220, 66, 51, 0.5);
  transform: scaleX(0);
  transition: all 0.25s var(--ease-out-expo);
}
a.ani:hover::before {
  transform: scaleX(1);
  transition: all 0.5s var(--ease-out-expo);
}

em {
  font-weight: 600 !important;
}

.c-clownRed {
  color: #E84031;
}

.-title {
  font-family: "Noto Sans TC", sans-serif;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.-a-c {
  text-align: center;
}

.-a-l {
  text-align: left;
}

.-a-r {
  text-align: right;
}

.drnButton {
  display: inline-block;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  line-height: 48px;
  padding: 0 32px;
  color: #fff;
  background-color: #E84031;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.5s var(--ease-out-expo);
}
.drnButton.-seablue {
  background-color: #6ec6cf;
}
.drnButton:hover {
  box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1023.9px) {
  .drnButton {
    line-height: 40px;
    padding: 0 16px;
  }
}
@media screen and (max-width: 1023.9px) {
  *[id^=pc-] {
    display: none !important;
  }
  .-pc {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  *[id^=mb-] {
    display: none !important;
  }
  .-mb {
    display: none !important;
  }
}
.section {
  position: relative;
}
.section .wrapper {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1023.9px) {
  .section .wrapper {
    margin: 0 auto;
    width: 360px;
  }
}
@media screen and (min-width: 1024px) {
  .section .wrapper {
    margin: 0 auto;
    width: auto;
    min-width: 1024px;
    max-width: 1280px;
  }
}
.section .wrapper h2 {
  font-weight: 600;
}
@media screen and (max-width: 1023.9px) {
  .section .wrapper h2 {
    padding-left: 24px;
    font-size: 20px;
    line-height: 32px;
    border-left: 8px solid #E84031;
  }
}
@media screen and (min-width: 1024px) {
  .section .wrapper h2 {
    padding-left: 24px;
    font-size: 40px;
    line-height: 48px;
    border-left: 8px solid #E84031;
  }
}
.section .wrapper > .title {
  position: relative;
}
.section .wrapper > .title span {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
@media screen and (max-width: 1023.9px) {
  .section .wrapper > .title {
    height: 2.25rem;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center center;
  }
}
@media screen and (min-width: 1024px) {
  .section .wrapper > .title {
    height: 4rem;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center center;
  }
}
.section .wrapper2 {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1023.9px) {
  .section .wrapper2 {
    margin: 0 auto;
    width: 360px;
  }
}
@media screen and (min-width: 1024px) {
  .section .wrapper2 {
    margin: 0 auto;
    width: auto;
    min-width: 1024px;
    max-width: 1280px;
  }
}

@keyframes session-prev-hover {
  from {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-10%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes session-next-hover {
  from {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes ufo-move {
  from {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, 2.5%);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes floating-floating {
  from {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, 1rem);
  }
  to {
    transform: translate(0, 0);
  }
}
#sec-kv2026 {
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #FEEBC4;
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026 {
    background-size: 720px auto;
    background-image: url("../img/kv-mob-bg.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026 {
    background-size: 1280px auto;
    background-image: url("../img/kv-pc-bg.png?42");
  }
}
#sec-kv2026::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.5;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026::before {
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026::before {
    height: 20rem;
  }
}
#sec-kv2026 .ufo {
  position: absolute;
  aspect-ratio: 1/1;
  background-size: contain;
  background-image: url("../img/ufo.png?42");
  animation: ufo-move 8s infinite var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026 .ufo {
    width: 22.5rem;
    left: -0.5rem;
    top: -4rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026 .ufo {
    width: 50rem;
    left: calc(50% - 34rem);
    top: -9rem;
  }
}
#sec-kv2026 .wrapper {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026 .wrapper {
    height: 63rem;
    background-image: url("../img/kv-mob-content.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026 .wrapper {
    height: 80rem;
    background-image: url("../img/kv-pc-content.png?42");
  }
}
#sec-kv2026 .donButton {
  display: block;
  position: absolute;
  background-size: contain;
  background-image: url("../img/donButtonBg.png?42");
  cursor: pointer;
  left: 50%;
  aspect-ratio: 336/64;
  transform: translateX(-50%);
  border-radius: 100vw;
  transition: outline 0.25s var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026 .donButton {
    top: 47rem;
    height: 2.275rem;
    outline: solid 6px rgba(220, 66, 51, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026 .donButton {
    top: 54rem;
    height: 4rem;
    outline: solid 8px rgba(220, 66, 51, 0.2);
  }
}
#sec-kv2026 .donButton:hover {
  transition: outline 0.5s var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-kv2026 .donButton:hover {
    outline: solid 6px rgba(220, 66, 51, 0.3);
  }
}
@media screen and (min-width: 1024px) {
  #sec-kv2026 .donButton:hover {
    outline: solid 8px rgba(220, 66, 51, 0.3);
  }
}
#sec-kv2026 .donButton::before, #sec-kv2026 .donButton::after {
  content: "";
  pointer-events: none;
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  aspect-ratio: 1/1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../img/donButtonRocket.png?42");
}
#sec-kv2026 .donButton::before {
  left: 0;
  animation: donButton-rocket-move 3s infinite var(--ease-in-out-sine);
}
#sec-kv2026 .donButton::after {
  right: 0;
  transform: scaleX(-1);
  animation: donButton-rocket-move2 3s infinite var(--ease-in-out-sine);
}

@keyframes donButton-rocket-move {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes donButton-rocket-move2 {
  0% {
    transform: scaleX(-1) translateX(0);
  }
  50% {
    transform: scaleX(-1) translateX(10%);
  }
  100% {
    transform: scaleX(-1) translateX(0%);
  }
}
#sec-donate2026 {
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #FEF5E1;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 {
    background-size: 720px auto;
    background-image: url("../img/donate2026-mob-bg.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 {
    background-size: 80rem auto;
    background-image: url("../img/donate2026-pc-bg.png?42");
  }
}
#sec-donate2026 .wrapper {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .wrapper {
    height: 92rem;
    background-image: url("../img/donate2026-mob-content.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .wrapper {
    height: 112rem;
    background-image: url("../img/donate2026-pc-content.png?42");
  }
}
#sec-donate2026 .wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  border-bottom: 1px solid rgba(118, 69, 23, 0.4);
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .wrapper::before {
    left: 0;
    right: 0;
    height: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .wrapper::before {
    left: 4rem;
    right: 4rem;
    height: 2rem;
  }
}
#sec-donate2026 .wrapper .title {
  display: block;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .wrapper .title {
    top: 4rem;
    background-image: url("../img/title-pc-donate2026.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .wrapper .title {
    transform: translateY(6rem);
    background-image: url("../img/title-pc-donate2026.png?42");
  }
}
#sec-donate2026 .p1 {
  display: none;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .p1 {
    color: #f00;
    position: absolute;
    top: 7rem;
    margin: 0 1rem;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
  }
  #sec-donate2026 .p1 span.-ln-mob {
    display: inline-block;
  }
  #sec-donate2026 .p1 p {
    margin: 16px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .p1 {
    position: absolute;
    top: 12rem;
    left: 0;
    right: 0;
    font-size: 1.5rem;
    line-height: 2.5rem;
    color: #f00;
    text-align: center;
  }
  #sec-donate2026 .p1 span.-ln-pc {
    display: inline-block;
  }
  #sec-donate2026 .p1 p {
    margin: 1rem 0;
  }
}
#sec-donate2026 .card {
  position: absolute;
  overflow: hidden;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .card {
    width: 20rem;
    height: 12rem;
    left: 50%;
    transform: translateX(-50%);
    outline: solid 4px #fff;
    border-radius: 1rem;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .card {
    width: 30rem;
    height: 28rem;
    outline: solid 4px #fff;
    border-radius: 2rem;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  }
}
#sec-donate2026 .card .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
#sec-donate2026 .card .cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .card1 {
    top: 18.5rem;
  }
  #sec-donate2026 .card1 .cover {
    background-image: url(../img/don2026-mob-01.jpg?42);
  }
  #sec-donate2026 .card2 {
    top: 32.25rem;
  }
  #sec-donate2026 .card2 .cover {
    background-image: url(../img/don2026-mob-02.jpg?42);
  }
  #sec-donate2026 .card3 {
    top: 46rem;
  }
  #sec-donate2026 .card3 .cover {
    background-image: url(../img/don2026-mob-03.jpg?42);
  }
  #sec-donate2026 .card4 {
    top: 59.75rem;
  }
  #sec-donate2026 .card4 .cover {
    background-image: url(../img/don2026-mob-04.jpg?42);
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .card1 {
    left: calc(50% - 32rem);
    top: 26rem;
  }
  #sec-donate2026 .card1 .cover {
    background-image: url(../img/don2026-01.jpg?42);
  }
  #sec-donate2026 .card2 {
    left: calc(50% + 2rem);
    top: 26rem;
  }
  #sec-donate2026 .card2 .cover {
    background-image: url(../img/don2026-02.jpg?42);
  }
  #sec-donate2026 .card3 {
    left: calc(50% - 32rem);
    top: 58rem;
  }
  #sec-donate2026 .card3 .cover {
    background-image: url(../img/don2026-03.jpg?42);
  }
  #sec-donate2026 .card4 {
    left: calc(50% + 2rem);
    top: 58rem;
  }
  #sec-donate2026 .card4 .cover {
    background-image: url(../img/don2026-04.jpg?42);
  }
}
#sec-donate2026 .donButton2 {
  display: block;
  position: absolute;
  background-size: contain;
  background-image: url("../img/donButton2Bg.png?42");
  cursor: pointer;
  transform: translateX(-50%);
  aspect-ratio: 336/64;
  border-radius: 100vw;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .donButton2 {
    top: 74.5rem;
    height: 2.275rem;
    left: 50%;
    outline: solid 6px rgba(220, 66, 51, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .donButton2 {
    top: 92rem;
    height: 4rem;
    left: calc(50% + 8rem);
    outline: solid 8px rgba(220, 66, 51, 0.2);
  }
}
#sec-donate2026 .donButton2:hover {
  transition: outline 0.5s var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .donButton2:hover {
    outline: solid 6px rgba(220, 66, 51, 0.3);
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .donButton2:hover {
    outline: solid 8px rgba(220, 66, 51, 0.3);
  }
}
#sec-donate2026 .donButton2::before, #sec-donate2026 .donButton2::after {
  content: "";
  pointer-events: none;
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  aspect-ratio: 1/1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../img/donButtonRocket.png?42");
}
#sec-donate2026 .donButton2::before {
  left: 0;
  animation: donButton-rocket-move 3s infinite var(--ease-in-out-sine);
}
#sec-donate2026 .donButton2::after {
  right: 0;
  transform: scaleX(-1);
  animation: donButton-rocket-move2 3s infinite var(--ease-in-out-sine);
}
#sec-donate2026 .budgetButton {
  display: block;
  position: absolute;
  background-size: contain;
  background-image: url("../img/budgetButton.png?42");
  cursor: pointer;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 240/80;
}
@media screen and (max-width: 1023.9px) {
  #sec-donate2026 .budgetButton {
    top: 78rem;
    height: 3rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-donate2026 .budgetButton {
    top: 91.5rem;
    height: 5rem;
    left: calc(50% - 11.5rem);
  }
}

#sec-slogan {
  background-color: #6ec6cf;
}
#sec-slogan .wrapper {
  position: relative;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-slogan .wrapper {
    height: 480px;
    background-image: url("../img/slogan-mb.svg?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-slogan .wrapper {
    height: 576px;
    width: 1024px;
    background-image: url("../img/slogan-dummy-pc.svg?42");
  }
}
#sec-slogan h1 {
  position: absolute;
  left: -200vw;
}
#sec-slogan .i1 {
  position: absolute;
  background-image: url("../img/dandelion.png?42");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  animation: slogan-dandelion-move 8s infinite var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-slogan .i1 {
    left: 18px;
    top: 12px;
    width: 84px;
    height: 84px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-slogan .i1 {
    left: 296px;
    top: 40px;
    width: 112px;
    height: 112px;
  }
}
#sec-slogan .i1s {
  position: absolute;
  background-color: #000;
  border-radius: 100%;
  animation: slogan-dandelion-shadow 8s infinite var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-slogan .i1s {
    left: 37.5px;
    top: 75px;
    width: 60px;
    height: 15px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-slogan .i1s {
    left: 322px;
    top: 136px;
    width: 80px;
    height: 20px;
  }
}
#sec-slogan .t2 {
  position: absolute;
  left: 50%;
  white-space: nowrap;
  color: #FFF78F;
  background-color: #254D51;
  transform: translate(-50%, 0);
  border-radius: 100px;
}
@media screen and (max-width: 1023.9px) {
  #sec-slogan .t2 {
    top: 160px;
    font-size: 14.5px;
    line-height: 32px;
    padding: 0 1em;
  }
}
@media screen and (min-width: 1024px) {
  #sec-slogan .t2 {
    top: 240px;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 48px;
    padding: 0 1em;
  }
}
#sec-slogan .t2 .l {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.1em;
  font-size: 150%;
  line-height: 1em;
  letter-spacing: -0.05em;
  color: #FFF462;
  transform: translateY(-0.175em);
}
#sec-slogan .t3 {
  position: absolute;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1023.9px) {
  #sec-slogan .t3 {
    top: 208px;
    width: 100%;
    padding: 0 16px;
    font-size: 14px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-slogan .t3 {
    top: 304px;
    width: 768px;
    left: calc(50% - 384px);
    font-size: 20px;
    line-height: 40px;
  }
}
#sec-slogan .t3 p {
  margin: 1em 0;
}

#sec-video {
  background-color: #6ec6cf;
}
#sec-video .wrapper {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  #sec-video .wrapper {
    margin-top: -32px;
    padding-top: 24px;
    padding-bottom: 32px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-video .wrapper {
    margin-top: -32px;
    width: 960px;
    height: 464px;
  }
}
#sec-video .wrapper iframe {
  display: block;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 1023.9px) {
  #sec-video .wrapper iframe {
    margin-top: -4px;
    margin-bottom: -4px;
    width: calc(100% - 32px);
    border-radius: 16px;
    border: solid 4px #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  #sec-video .wrapper iframe {
    margin-top: -4px;
    margin-bottom: -4px;
    width: 60rem;
    border-radius: 16px;
    border: solid 4px #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
  }
}

#sec-photovideo {
  background-color: #FEF5E1;
}
#sec-photovideo::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  border-bottom: 1px solid rgba(118, 69, 23, 0.4);
}
@media screen and (max-width: 1023.9px) {
  #sec-photovideo::before {
    left: 0;
    right: 0;
    height: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photovideo::before {
    left: 4rem;
    right: 4rem;
    height: 2rem;
  }
}
#sec-photovideo .wrapper {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-photovideo .wrapper {
    padding-top: 4rem;
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photovideo .wrapper {
    padding-top: 4rem;
    height: 42.5rem;
  }
}
#sec-photovideo .wrapper .title {
  display: block;
}
@media screen and (max-width: 1023.9px) {
  #sec-photovideo .wrapper .title {
    margin-bottom: 2rem;
    background-image: url("../img/title-pc-recent.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-photovideo .wrapper .title {
    margin-bottom: 2rem;
    background-image: url("../img/title-pc-recent.png?42");
  }
}
#sec-photovideo iframe {
  display: block;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 1023.9px) {
  #sec-photovideo iframe {
    margin-top: -4px;
    margin-bottom: -4px;
    width: calc(100% - 32px);
    border-radius: 16px;
    border: solid 4px #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 1024px) {
  #sec-photovideo iframe {
    margin-top: -4px;
    margin-bottom: -4px;
    width: 60rem;
    border-radius: 16px;
    border: solid 4px #fff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.2);
  }
}

@keyframes photoItem-float {}
#sec-photo {
  background-color: #FEF5E1;
  overflow: hidden;
}
#sec-photo .wrapper {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .wrapper {
    padding-top: 8px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .wrapper {
    padding-top: 24px;
    width: 960px;
  }
}
#sec-photo .title {
  color: #254D51;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .title {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .title {
    margin-bottom: 0;
  }
}
#sec-photo .homePhotoListWrapper {
  height: 0;
  transition: height 1s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoListWrapper {
    height: 280px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoListWrapper {
    height: 240px;
  }
}
#sec-photo .homePhotoList {
  position: relative;
  opacity: 0;
  transition: all 1s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList {
    height: 240px;
    margin: 16px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList {
    height: 240px;
  }
}
#sec-photo .homePhotoList .photoItem {
  position: absolute;
  aspect-ratio: 3/2;
  transform: translate(-50%, -50%);
  border-radius: 8px;
  background-size: cover;
  background-position: center center;
  transition: all 0.5s var(--ease-out-expo);
  cursor: zoom-in;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList .photoItem {
    width: 45%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList .photoItem {
    top: 50%;
    width: 22.5%;
  }
}
#sec-photo .homePhotoList .photoItem img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  outline: solid 3px #fff;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.5);
  transform-origin: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList .photoItem:nth-child(1) {
    left: 25%;
    top: 25%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList .photoItem:nth-child(1) {
    outline: solid 4px #fff;
    transform: translate(-50%, -50%) rotate(6deg);
    left: 12.5%;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList .photoItem:nth-child(2) {
    left: 75%;
    top: 25%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList .photoItem:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-3deg);
    left: 37.5%;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList .photoItem:nth-child(3) {
    left: 25%;
    top: 75%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList .photoItem:nth-child(3) {
    left: 62.5%;
    transform: translate(-50%, -50%) rotate(5deg);
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .homePhotoList .photoItem:nth-child(4) {
    left: 75%;
    top: 75%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .homePhotoList .photoItem:nth-child(4) {
    left: 87.5%;
    transform: translate(-50%, -50%) rotate(-6deg);
  }
}
#sec-photo .homePhotoList .photoItem:hover {
  transform: translate(-50%, -50%);
  width: 25%;
  z-index: 100;
}
#sec-photo .homePhotoList .photoItem:nth-child(1) img {
  animation: photoItem-float 7s var(--ease-in-out-sine) infinite;
}
#sec-photo .homePhotoList .photoItem:nth-child(2) img {
  animation: photoItem-float 8s var(--ease-in-out-sine) infinite;
}
#sec-photo .homePhotoList .photoItem:nth-child(3) img {
  animation: photoItem-float 6s var(--ease-in-out-sine) infinite;
}
#sec-photo .homePhotoList .photoItem:nth-child(4) img {
  animation: photoItem-float 7.5s var(--ease-in-out-sine) infinite;
}
#sec-photo .homePhotoList.-active {
  opacity: 1;
}
#sec-photo .photoListWrapper {
  overflow: hidden;
  height: 0;
  transition: height 1s var(--ease-out-expo);
}
#sec-photo .photoList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .photoList {
    padding: 24px 16px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .photoList {
    padding: 32px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .photoList .photoItemWrapper {
    flex: 0 0 33.33%;
    padding: 4px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .photoList .photoItemWrapper {
    flex: 0 0 25%;
    padding: 16px;
  }
}
#sec-photo .photoList .photoItemWrapper .photoItem {
  aspect-ratio: 3/2;
  background-size: cover;
  background-position: center center;
  transition: all 0.5s var(--ease-out-expo);
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
  cursor: zoom-in;
  border-radius: 8px;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .photoList .photoItemWrapper .photoItem {
    border: solid 3px #fff;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .photoList .photoItemWrapper .photoItem {
    border: solid 3px #fff;
  }
}
#sec-photo .photoList .photoItemWrapper .photoItem img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
#sec-photo .photoList .photoItemWrapper .photoItem:hover {
  transform: scale(1.1);
  z-index: 100;
}
#sec-photo .buttons {
  position: relative;
  z-index: 100;
  text-align: center;
}
@media screen and (max-width: 1023.9px) {
  #sec-photo .buttons {
    padding: 0 0 48px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-photo .buttons {
    padding: 0 0 64px;
  }
}
#sec-photo .buttons .drnButton {
  color: #fff;
  background: #DC4233;
}

#photoViewer {
  position: fixed;
  z-index: 100000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  left: -100vw;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
#photoViewer .image {
  position: absolute;
  box-sizing: content-box;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: all 0.25s var(--ease-in-expo) 0.25s, opacity 0.25s linear 0.25s;
}
@media screen and (max-width: 1023.9px) {
  #photoViewer .image {
    max-width: calc(80% - 32px);
    max-height: calc(80% - 32px);
    border: solid 4px #fff;
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer .image {
    max-width: calc(80% - 64px);
    max-height: calc(80% - 64px);
    border: solid 8px #fff;
  }
}
#photoViewer .close,
#photoViewer .goPrev,
#photoViewer .goNext {
  position: absolute;
  z-index: 101000;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.5);
  transition: all 0.5s var(--ease-out-expo);
  color: #6ec6cf;
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(16px);
  opacity: 0;
  transition: all 0.5s var(--ease-out-expo);
  background-color: rgba(253, 225, 182, 0);
}
@media screen and (max-width: 1023.9px) {
  #photoViewer .close,
  #photoViewer .goPrev,
  #photoViewer .goNext {
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer .close,
  #photoViewer .goPrev,
  #photoViewer .goNext {
    width: 48px;
    height: 48px;
  }
}
#photoViewer .close::before,
#photoViewer .goPrev::before,
#photoViewer .goNext::before {
  display: block;
  text-align: center;
  color: #111;
}
@media screen and (max-width: 1023.9px) {
  #photoViewer .close::before,
  #photoViewer .goPrev::before,
  #photoViewer .goNext::before {
    font-size: 24px;
    line-height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer .close::before,
  #photoViewer .goPrev::before,
  #photoViewer .goNext::before {
    font-size: 24px;
    line-height: 48px;
  }
}
#photoViewer .close {
  right: 8px;
  top: 8px;
}
#photoViewer .close:hover {
  transform: scale(1.1);
}
#photoViewer .goPrev {
  transform: translateY(-50%);
}
@media screen and (max-width: 1023.9px) {
  #photoViewer .goPrev {
    bottom: 24px;
    left: 25%;
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer .goPrev {
    top: 50%;
    left: 8px;
  }
}
#photoViewer .goPrev:hover {
  transform: translateY(-50%) scale(1.1);
}
#photoViewer .goNext {
  transform: translateY(-50%);
}
@media screen and (max-width: 1023.9px) {
  #photoViewer .goNext {
    bottom: 24px;
    right: 25%;
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer .goNext {
    top: 50%;
    right: 8px;
  }
}
#photoViewer .goNext:hover {
  transform: translateY(-50%) scale(1.1);
}
#photoViewer {
  transition: background 0.5s var(--ease-out-expo) 0.75s, left 0s linear 1s;
}
#photoViewer.-active {
  left: 0;
  background: rgba(253, 225, 182, 0.6);
  backdrop-filter: blur(32px);
  transition: all 0.5s var(--ease-out-expo), left 0s linear;
}
#photoViewer.-active .close,
#photoViewer.-active .goPrev,
#photoViewer.-active .goNext {
  opacity: 1;
  transition: all 0.5s var(--ease-out-expo) 0.5s;
}
#photoViewer.-active .image {
  left: 50%;
  opacity: 1;
}
@media screen and (max-width: 1023.9px) {
  #photoViewer.-active .image {
    max-width: calc(100% - 32px);
    max-height: calc(100% - 32px);
  }
}
@media screen and (min-width: 1024px) {
  #photoViewer.-active .image {
    max-width: calc(100% - 64px);
    max-height: calc(100% - 64px);
  }
}
#photoViewer.-active .image {
  transition: all 0.5s var(--ease-out-expo) 0.25s;
}

#sec-story {
  background-color: #FFFFFF;
  background: url("../img/tile-yellow-pc.png?42");
}
#sec-story .wrapper {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-story .wrapper {
    height: 2016px;
    background-image: url("../img/story-mb.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-story .wrapper {
    height: 1152px;
    background-image: url("../img/story-dummy-pc.png?42");
  }
}

@keyframes story-mapMarker-move {
  from {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -0.2em);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes story-mapMarker-shadow {
  from {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
  to {
    transform: scale(1);
  }
}
#sec-hospital {
  position: relative;
  background-color: #FEF5E1;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital {
    height: calc(100vh - 3.5rem);
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital {
    height: 40rem;
  }
}
#sec-hospital::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(254, 235, 196, 0), #feebc4);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital::before {
    display: none;
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital::before {
    height: 20rem;
  }
}
#sec-hospital::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  background-image: linear-gradient(to bottom, #fef5e1, rgba(254, 245, 225, 0));
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital::after {
    display: none;
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital::after {
    height: 15rem;
  }
}
#sec-hospital .superwrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#sec-hospital .superwrapper2 {
  position: absolute;
  overflow: hidden;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#sec-hospital .wrapper {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper {
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper {
    width: 64rem;
  }
}
#sec-hospital .wrapper .h1, #sec-hospital .wrapper .h2 {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1, #sec-hospital .wrapper .h2 {
    height: 40rem;
    width: 20rem;
  }
}
#sec-hospital .wrapper .h1 .captain, #sec-hospital .wrapper .h2 .captain {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  font-family: "Noto Sans TC", sans-serif;
  text-align: center;
  color: #7F351F;
  background-color: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .captain, #sec-hospital .wrapper .h2 .captain {
    height: 48px;
    font-size: 20px;
    font-weight: 600;
    line-height: 48px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .captain, #sec-hospital .wrapper .h2 .captain {
    height: 48px;
    font-size: 24px;
    font-weight: 600;
    line-height: 48px;
  }
}
#sec-hospital .wrapper .h1 .body, #sec-hospital .wrapper .h2 .body {
  position: absolute;
  color: #7F351F;
}
#sec-hospital .wrapper .h1 .body::-webkit-scrollbar, #sec-hospital .wrapper .h2 .body::-webkit-scrollbar {
  width: 8px;
  background-color: #fff;
}
#sec-hospital .wrapper .h1 .body::-webkit-scrollbar-thumb, #sec-hospital .wrapper .h2 .body::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: #E83828;
  border: 1px solid #fff;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .body, #sec-hospital .wrapper .h2 .body {
    left: 0;
    top: 48px;
    width: 100%;
    bottom: 0;
    overflow-y: auto;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .body, #sec-hospital .wrapper .h2 .body {
    left: 0;
    top: 48px;
    width: 100%;
    bottom: 0;
    overflow-y: auto;
  }
}
#sec-hospital .wrapper .h1 {
  z-index: 100;
  backdrop-filter: blur(8px);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 {
    top: 0;
    right: 50%;
    bottom: 25%;
    width: 50%;
    max-width: 20rem;
    background: rgba(255, 255, 255, 0.5);
  }
}
@media screen and (min-width: 641.1px) and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 {
    max-width: 18.75rem;
    overflow: hidden;
    border-radius: 1rem 0 0 1rem;
    border: solid 1px rgba(168, 119, 73, 0.2);
    border-right: 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 {
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.8);
    overflow: hidden;
    border-radius: 1rem 0 0 1rem;
    border: solid 1px rgba(168, 119, 73, 0.2);
    border-right: 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .body {
    font-size: 14px;
    line-height: 32px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .body {
    font-size: 16px;
    line-height: 32px;
  }
}
#sec-hospital .wrapper .h1 .hItem {
  cursor: pointer;
  white-space: nowrap;
  overflow-x: hidden;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .hItem {
    margin: 8px 8px 8px 0;
    border-radius: 0 8px 8px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .hItem {
    margin: 16px;
    border-radius: 100px;
  }
}
#sec-hospital .wrapper .h1 .hItem:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
#sec-hospital .wrapper .h1 .hItem.-active {
  background-color: #FEEBC4;
}
#sec-hospital .wrapper .h1 .hItem.-active .areaPill {
  background-color: #E83828;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .hItem.-active .areaPill {
    border-radius: 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .hItem.-active .areaPill {
    border-radius: 100px 0 0 100px;
  }
}
#sec-hospital .wrapper .h1 .areaPill {
  display: inline-block;
  color: #fff;
  background-color: #E83828;
  padding: 0 0.5em;
  margin-right: 0.25em;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h1 .areaPill {
    font-size: 12px;
    border-radius: 0 8px 8px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h1 .areaPill {
    line-height: 32px;
    border-radius: 100px;
  }
}
#sec-hospital .wrapper .h2 {
  z-index: 100;
  backdrop-filter: blur(24px);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 {
    top: 0;
    left: 50%;
    bottom: 25%;
    width: 50%;
    max-width: 20rem;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media screen and (min-width: 641.1px) and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 {
    max-width: 18.75rem;
    overflow: hidden;
    border-radius: 0 1rem 1rem 0;
    border: solid 1px rgba(168, 119, 73, 0.2);
    border-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 {
    left: 320px;
    top: 0;
    background: rgba(255, 255, 255, 0.5);
    overflow: hidden;
    border-radius: 0 1rem 1rem 0;
    border: solid 1px rgba(168, 119, 73, 0.2);
    border-left: 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .captain {
    background-color: #fff;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .captain {
    background-color: #fff;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .body {
    padding: 8px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .body {
    padding: 16px;
  }
}
#sec-hospital .wrapper .h2 .hInfo {
  display: none;
  color: #000;
}
#sec-hospital .wrapper .h2 .hInfo.-active {
  display: block;
}
#sec-hospital .wrapper .h2 .hInfo .card {
  border-bottom: 2px solid rgba(118, 69, 23, 0.6);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .hInfo .name {
    font-size: 15px;
    line-height: 20px;
    margin-bottom: 6px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .hInfo .name {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 8px;
  }
}
#sec-hospital .wrapper .h2 .hInfo .addr {
  color: #7F351F;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .hInfo .addr {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 12px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .hInfo .addr {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 16px;
  }
}
#sec-hospital .wrapper .h2 .session {
  color: #000;
}
#sec-hospital .wrapper .h2 .session + .session {
  border-top: 1px solid rgba(127, 53, 31, 0.4);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .session {
    padding: 4px 0;
    font-size: 13px;
    line-height: 24px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .session {
    padding: 8px 0;
    font-size: 16px;
    line-height: 24px;
  }
}
#sec-hospital .wrapper .h2 .session em {
  font-weight: 600;
  margin-right: 0.25em;
  opacity: 0.8;
  color: #7F351F;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .session .time {
    margin: 4px 0;
    font-weight: 600;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .session .time {
    margin: 8px 0;
    font-weight: 600;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .session .place {
    margin: 4px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .session .place {
    margin: 8px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .wrapper .h2 .session .actors {
    margin: 4px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .wrapper .h2 .session .actors {
    margin: 8px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 75%;
    bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper {
    position: absolute;
    z-index: 0;
    left: calc(50% + 64px);
    top: -20%;
    width: calc(min(50%, 40rem) - 64px);
    bottom: 0;
  }
}
#sec-hospital .mapWrapper .mapFrame {
  position: absolute;
  left: 50%;
  top: 50%;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .mapFrame {
    width: 640px;
    height: 640px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .mapFrame {
    width: 1024px;
    height: 1024px;
  }
}
#sec-hospital .mapWrapper .map {
  position: absolute;
  background-image: url(../img/taiwanMap.svg?1);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 0.5s var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .map {
    width: 640px;
    height: 640px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .map {
    width: 1024px;
    height: 1024px;
  }
}
#sec-hospital .mapWrapper .marker {
  position: absolute;
}
#sec-hospital .mapWrapper .marker.-active {
  position: absolute;
}
#sec-hospital .mapWrapper .marker.-active .icon {
  z-index: 1000;
  opacity: 1;
  transition: opacity 0.5s 0.5s linear, top 0.5s 0.5s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .marker.-active .icon {
    top: -32px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .marker.-active .icon {
    top: -64px;
  }
}
#sec-hospital .mapWrapper .marker.-active::before {
  z-index: 1000;
  opacity: 1;
  transition: opacity 0.25s 0.5s linear;
}
#sec-hospital .mapWrapper .marker.-active::after {
  opacity: 0;
  transition: opacity 0.25s linear;
}
#sec-hospital .mapWrapper .marker .icon {
  position: absolute;
  text-align: center;
  color: #E84031;
  text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff;
  opacity: 0;
  transition: opacity 0.25s linear, top 0 0.25s linear;
  animation: story-mapMarker-move 2s infinite var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .marker .icon {
    width: 32px;
    height: 32px;
    font-size: 32px;
    left: -14px;
    top: -48px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .marker .icon {
    width: 64px;
    height: 64px;
    font-size: 64px;
    left: -28px;
    top: -96px;
  }
}
#sec-hospital .mapWrapper .marker::before {
  content: "";
  position: absolute;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 0.25s linear;
  animation: story-mapMarker-shadow 2s infinite var(--ease-in-out-sine);
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .marker::before {
    left: -6px;
    bottom: -2px;
    width: 16px;
    height: 4px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .marker::before {
    left: -12px;
    bottom: -4px;
    width: 32px;
    height: 8px;
  }
}
#sec-hospital .mapWrapper .marker::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100px;
  background-color: #E84031;
  opacity: 1;
  transition: opacity 0.25s linear;
}
@media screen and (max-width: 1023.9px) {
  #sec-hospital .mapWrapper .marker::after {
    width: 8px;
    height: 8px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-hospital .mapWrapper .marker::after {
    width: 8px;
    height: 8px;
  }
}

#sec-timetable {
  background-color: #FEEBC4;
}
#sec-timetable::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
}
@media screen and (max-width: 1023.9px) {
  #sec-timetable::before {
    height: 8rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-timetable::before {
    height: 20rem;
  }
}
#sec-timetable .wrapper {
  width: 1024px;
}
@media screen and (max-width: 1023.9px) {
  #sec-timetable .wrapper {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  #sec-timetable .wrapper {
    padding: 48px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-timetable .wrapper .title {
    background-image: url("../img/title-pc-timetable.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-timetable .wrapper .title {
    background-image: url("../img/title-pc-timetable.png?42");
  }
}
#sec-timetable .wrapper .buttons {
  margin-top: 32px;
  text-align: center;
}
#sec-timetable .timeTable {
  margin: 32px auto;
  width: 1024px;
  border-bottom: 1px solid rgba(127, 53, 31, 0.5);
}
@media screen and (min-width: 0) {
  #sec-timetable .timeTable {
    font-size: 16px;
    line-height: 24px;
  }
}
@media screen and (min-width: 0) {
  #sec-timetable .timeTable tr, #sec-timetable .timeTable td {
    padding: 8px 0;
  }
}
#sec-timetable .timeTable thead {
  color: #7f351f;
  border-bottom: 1px solid rgba(127, 53, 31, 0.5);
}
@media screen and (min-width: 0) {
  #sec-timetable .timeTable thead {
    font-size: 16px;
    font-weight: 600;
    line-height: 32px;
  }
}
#sec-timetable .timeTable tbody tr + tr {
  border-top: 1px solid rgba(127, 53, 31, 0.2);
}
#sec-timetable .timeTable .areaPill {
  display: inline-block;
  color: #fff;
  background-color: #DC4233;
  border-radius: 100px;
  padding: 0 0.5em;
}
@media screen and (min-width: 0) {
  #sec-timetable .timeTable .areaPill {
    line-height: 32px;
  }
}
#sec-timetable .timeTable .-more {
  display: none;
}

#sec-aboutshow::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  background-image: linear-gradient(to bottom, rgba(254, 235, 196, 0), #feebc4);
}
@media screen and (max-width: 1023.9px) {
  #sec-aboutshow::before {
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-aboutshow::before {
    height: 20rem;
  }
}
#sec-aboutshow .wrapper {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #fff;
}
@media screen and (max-width: 1023.9px) {
  #sec-aboutshow .wrapper {
    height: 86rem;
    background-image: url("../img/aboutshow-mb-2026.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-aboutshow .wrapper {
    max-width: 100%;
    height: 56rem;
    background-image: url("../img/aboutshow-dummy-pc-2026.png?42");
  }
}

#sec-godonate {
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #sec-godonate {
    background-image: url("../img/godonate-mb.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-godonate {
    background-image: url("../img/godonate-dummy-pc.png?42");
  }
}
#sec-godonate .wrapper {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  #sec-godonate .wrapper {
    padding: 32px 0;
    height: 976px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-godonate .wrapper {
    width: 1024px;
    height: 960px;
    padding: 64px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-godonate .wrapper p {
    margin: 0 24px;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  #sec-godonate .wrapper p {
    margin: 0 auto;
    width: 640px;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
  }
}
#sec-godonate .wrapper .buttons {
  position: absolute;
  display: flex;
  justify-content: center;
  gap: 16px;
  text-align: center;
  left: 0;
  right: 0;
}
@media screen and (max-width: 1023.9px) {
  #sec-godonate .wrapper .buttons {
    bottom: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-godonate .wrapper .buttons {
    bottom: 64px;
  }
}

#donateDialog {
  position: fixed;
  z-index: 10000000;
  left: -100vw;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  align-content: center;
  justify-items: center;
  backdrop-filter: blur(16px);
  opacity: 0;
  transition: left 0s linear 1s, opacity 1s var(--ease-out-expo) 0s;
}
#donateDialog .wrapper {
  position: relative;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 1023.9px) {
  #donateDialog .wrapper {
    width: 320px;
    padding: 16px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog .wrapper {
    width: 640px;
    padding: 32px 48px;
  }
}
#donateDialog .title {
  font-size: 24px;
  line-height: 32px;
  font-weight: bold;
  text-align: center;
  color: #A87749;
}
#donateDialog .body {
  margin-top: 24px;
}
#donateDialog .close {
  position: absolute;
  z-index: 101000;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.5s var(--ease-out-expo);
  background-color: #A87749;
  backdrop-filter: blur(16px);
  transition: all 0.5s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #donateDialog .close {
    right: 8px;
    top: 8px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog .close {
    right: 20px;
    top: 20px;
    width: 48px;
    height: 48px;
  }
}
#donateDialog .close::before {
  display: block;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1023.9px) {
  #donateDialog .close::before {
    font-size: 24px;
    line-height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog .close::before {
    font-size: 24px;
    line-height: 48px;
  }
}
#donateDialog .close:hover {
  transform: scale(1.1);
}
#donateDialog h2 {
  margin-bottom: 16px;
  font-weight: 600;
  text-align: center;
  color: #111;
}
@media screen and (max-width: 1023.9px) {
  #donateDialog h2 {
    font-size: 18px;
    line-height: 28px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog h2 {
    font-size: 20px;
    line-height: 32px;
  }
}
@media screen and (max-width: 1023.9px) {
  #donateDialog p {
    font-size: 16px;
    line-height: 32px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog p {
    margin: 32px 0;
    font-size: 18px;
    line-height: 32px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog .buttons {
    margin-top: 48px;
    text-align: center;
  }
}
#donateDialog .buttons .drnButton {
  text-align: center;
}
@media screen and (max-width: 1023.9px) {
  #donateDialog .buttons .drnButton {
    display: block;
    margin-top: 16px;
  }
}
@media screen and (min-width: 1024px) {
  #donateDialog .buttons .drnButton {
    width: 12.5em;
    margin: 0 8px;
  }
}
#donateDialog.-active {
  left: 0;
  opacity: 1;
  transition: left 0s linear 0s, opacity 0.5s var(--ease-out-expo) 0s;
}

#budgetViewer {
  position: fixed;
  z-index: 100000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  left: -200vw;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  backdrop-filter: blur(0px);
  background-color: rgba(253, 225, 182, 0);
  transition: background 0.75s var(--ease-out-expo) 0.25s, backdrop-filter 0.75s var(--ease-out-expo) 0.25s, left 0s linear 1s;
}
#budgetViewer .wrapper {
  position: absolute;
  box-sizing: content-box;
  opacity: 0;
  background-color: #fff;
  transition: top 0.25s var(--ease-in-expo), opacity 0.25s linear;
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .wrapper {
    left: 0;
    top: 2.5rem;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer .wrapper {
    width: 50rem;
    left: 50%;
    top: calc(50% + 32px);
    height: calc(100% - 8rem);
    max-height: 50rem;
    border: solid 1px rgba(0, 0, 0, 0.1);
    transform: translate(-50%, -50%);
  }
}
#budgetViewer .wrapper .content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .wrapper .content {
    height: calc(100% - 4rem);
    border-bottom: solid 1px rgba(168, 119, 73, 0.2);
  }
}
#budgetViewer .wrapper img {
  display: block;
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .wrapper img {
    margin: 0 auto;
    width: 22.5rem;
    height: auto;
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer .wrapper img {
    margin: 0 auto;
    width: 44rem;
    height: auto;
  }
}
#budgetViewer .close,
#budgetViewer .goPrev,
#budgetViewer .goNext {
  position: absolute;
  z-index: 101000;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.5s var(--ease-out-expo);
  color: #764517;
  background-color: #764517;
  opacity: 0;
  transition: left 0s linear 0.5s, top 0.5s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .close,
  #budgetViewer .goPrev,
  #budgetViewer .goNext {
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer .close,
  #budgetViewer .goPrev,
  #budgetViewer .goNext {
    width: 48px;
    height: 48px;
  }
}
#budgetViewer .close::before,
#budgetViewer .goPrev::before,
#budgetViewer .goNext::before {
  display: block;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .close::before,
  #budgetViewer .goPrev::before,
  #budgetViewer .goNext::before {
    font-size: 24px;
    line-height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer .close::before,
  #budgetViewer .goPrev::before,
  #budgetViewer .goNext::before {
    font-size: 24px;
    line-height: 48px;
  }
}
#budgetViewer .closeButton {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  aspect-ratio: 224/64;
  background-size: contain;
  background-image: url("../img/budgetCloseBg.png?42");
  height: 2rem;
  outline: solid 6px rgba(168, 119, 73, 0.2);
  border-radius: 100px;
}
@media screen and (min-width: 1024px) {
  #budgetViewer .closeButton {
    display: none;
  }
}
#budgetViewer .close {
  right: 1rem;
  top: 1rem;
}
#budgetViewer .close:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer .close {
    display: none;
  }
}
#budgetViewer.-active {
  left: 0;
  transition: background-color 0.5s linear 0s, left 0s linear, top 5s var(--ease-out-expo);
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer.-active {
    background-color: rgba(253, 225, 182, 0.6);
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer.-active {
    backdrop-filter: blur(32px);
    background-color: rgba(253, 225, 182, 0.6);
  }
}
#budgetViewer.-active .wrapper {
  opacity: 1;
}
@media screen and (max-width: 1023.9px) {
  #budgetViewer.-active .wrapper {
    top: 0;
  }
}
@media screen and (min-width: 1024px) {
  #budgetViewer.-active .wrapper {
    left: 50%;
    max-width: calc(100% - 64px);
    max-height: calc(100% - 64px);
    top: 50%;
  }
}
#budgetViewer.-active .wrapper {
  transition: all 0.5s var(--ease-out-expo) 0.25s;
}
#budgetViewer.-active .close,
#budgetViewer.-active .goPrev,
#budgetViewer.-active .goNext {
  opacity: 1;
  transition: all 0.5s var(--ease-out-expo) 0.5s;
}

#sec-qa {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #FEF5E1;
}
@media screen and (max-width: 1023.9px) {
  #sec-qa {
    background-position: center top;
    background-size: 720px auto;
    background-image: url("../img/bg2-mob-qa.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa {
    background-position: center top;
    background-size: 1280px auto;
    background-image: url("../img/bg2-pc-qa.png?42");
  }
}
#sec-qa::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 0;
  background-image: linear-gradient(to bottom, #feebc4, rgba(254, 235, 196, 0));
}
@media screen and (max-width: 1023.9px) {
  #sec-qa::before {
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa::before {
    height: 20rem;
  }
}
#sec-qa::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(254, 245, 225, 0), #fef5e1);
}
@media screen and (max-width: 1023.9px) {
  #sec-qa::after {
    height: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa::after {
    height: 8rem;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper {
    padding: 32px 0;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper {
    padding: 64px 0;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .title {
    background-image: url("../img/title-pc-qa.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .title {
    background-image: url("../img/title-pc-qa.png?42");
  }
}
#sec-qa .wrapper .qaItem {
  position: relative;
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .qaItem {
    margin: 32px auto 0;
    width: 328px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .qaItem {
    margin: 48px auto -16px;
    width: 640px;
  }
}
#sec-qa .wrapper .qaItem .avatar {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .qaItem .avatar {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .qaItem .avatar {
    top: -64px;
    width: 256px;
    height: 256px;
  }
}
#sec-qa .wrapper .qaItem .q {
  font-weight: 600;
  border-radius: 100px;
  color: #fff;
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .qaItem .q {
    padding: 12px 24px;
    padding-left: calc(24px + 2em);
    font-size: 14px;
    line-height: 24px;
    text-indent: -2em;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .qaItem .q {
    padding: 12px 24px;
    font-size: 16px;
    line-height: 24px;
  }
}
#sec-qa .wrapper .qaItem .a {
  padding-top: 1em;
  margin-bottom: 1em;
  position: relative;
  font-size: 14px;
  line-height: 2em;
  overflow: hidden;
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .qaItem .a {
    height: 6.5em;
    padding-left: 56px;
    padding-right: 16px;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .qaItem .a {
    height: 7em;
    font-size: 16px;
    padding-left: 60px;
  }
}
#sec-qa .wrapper .qaItem .a::before {
  content: "答：";
}
@media screen and (max-width: 1023.9px) {
  #sec-qa .wrapper .qaItem .a::before {
    position: absolute;
    top: 1em;
    left: 24px;
    font-weight: 600;
  }
}
@media screen and (min-width: 1024px) {
  #sec-qa .wrapper .qaItem .a::before {
    position: absolute;
    top: 1em;
    left: 24px;
    font-weight: 600;
  }
}
#sec-qa .wrapper .qaItem.-on .a {
  height: auto;
}
#sec-qa .wrapper .qaItem.-on .readmore .-off {
  display: none !important;
}
#sec-qa .wrapper .qaItem.-on .readmore .-on {
  display: block !important;
}
#sec-qa .wrapper .qaItem .readmore {
  color: #E84031;
  text-align: center;
  cursor: pointer;
  margin-top: 1em;
}
#sec-qa .wrapper .qaItem .readmore .-off {
  display: block;
}
#sec-qa .wrapper .qaItem .readmore .-on {
  display: none;
}
#sec-qa .wrapper .qaItem a {
  color: #E84031;
}
@media screen and (min-width: 0) {
  #sec-qa .wrapper .qaItem:nth-child(even) .avatar {
    right: -256px;
  }
}
#sec-qa .wrapper .qaItem:nth-child(even) .q {
  background-color: #764517;
}
@media screen and (min-width: 0) {
  #sec-qa .wrapper .qaItem:nth-child(odd) .avatar {
    left: -256px;
  }
}
#sec-qa .wrapper .qaItem:nth-child(odd) .q {
  background-color: #DC4233;
}
#sec-organizer {
  background-color: #FEEBC4;
  background-size: 100% auto;
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer {
    background-size: 720px auto;
    background-position: center top;
    background-image: url("../img/bg2-mob-organizer.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer {
    background-size: 1280px auto;
    background-position: center top;
    background-image: url("../img/bg2-pc-organizer.png?42");
  }
}
#sec-organizer::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0.5;
  background-image: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer::before {
    height: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer::before {
    height: 20rem;
  }
}
#sec-organizer::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(254, 235, 196, 0), #feebc4);
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer::after {
    height: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer::after {
    height: 8rem;
  }
}
#sec-organizer .h2 {
  display: block;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
#sec-organizer .h2 span {
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer .h2 {
    margin-bottom: 0.5rem;
    height: 2.25rem;
  }
  #sec-organizer .h2.title-organizer-1 {
    background-image: url("../img/title-pc-organizer-1.png?42");
  }
  #sec-organizer .h2.title-organizer-2 {
    background-image: url("../img/title-pc-organizer-2.png?42");
  }
  #sec-organizer .h2.title-organizer-3 {
    background-image: url("../img/title-pc-organizer-3.png?42");
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer .h2 {
    margin-bottom: 1rem;
    height: 3rem;
  }
  #sec-organizer .h2.title-organizer-1 {
    background-image: url("../img/title-pc-organizer-1.png?42");
  }
  #sec-organizer .h2.title-organizer-2 {
    background-image: url("../img/title-pc-organizer-2.png?42");
  }
  #sec-organizer .h2.title-organizer-3 {
    background-image: url("../img/title-pc-organizer-3.png?42");
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer .wrapper {
    padding: 3rem 0.75rem 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer .wrapper {
    padding: 3rem 4rem 2rem;
  }
}
#sec-organizer .wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  border-bottom: 1px solid rgba(118, 69, 23, 0.4);
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer .wrapper::before {
    left: 0;
    right: 0;
    height: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer .wrapper::before {
    left: 4rem;
    right: 4rem;
    height: 2rem;
  }
}
@media screen and (min-width: 0) {
  #sec-organizer .wrapper .row {
    margin: 28px 0;
  }
}
@media screen and (min-width: 0) {
  #sec-organizer .wrapper .row .prop {
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 2rem;
    text-align: center;
    color: #E84031;
  }
}
@media screen and (max-width: 1023.9px) {
  #sec-organizer .wrapper .row .text {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.75em;
  }
}
@media screen and (min-width: 1024px) {
  #sec-organizer .wrapper .row .text {
    text-align: center;
    font-size: 1rem;
    line-height: 2em;
  }
}
#sec-organizer .wrapper .row .text span {
  display: inline-block;
}
#footer {
  background-color: #FEF5E1;
}
@media screen and (max-width: 1023.9px) {
  #footer .wrapper {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  #footer .wrapper {
    width: 100%;
  }
}
#footer .wrapper .link {
  flex: 1 1 auto;
}
#footer .wrapper .link a {
  color: #000;
  text-decoration: none;
}
#footer .wrapper .copy {
  flex: 1 1 auto;
  text-align: right;
}
#footer .r1mob {
  position: relative;
  border-top: 1px solid rgba(118, 69, 23, 0.35);
  padding: 0.75rem 1rem 1rem 1rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  #footer .r1mob {
    display: none !important;
  }
}
#footer .r1mob > * {
  display: block;
}
#footer .r1mob .l1 {
  font-size: 0.9375rem;
  line-height: 2rem;
  font-weight: 600;
}
#footer .r1mob .l2 {
  font-size: 0.875rem;
  line-height: 1.5rem;
  margin-bottom: 0.25rem;
}
#footer .r1mob .l3 {
  font-size: 0.75rem;
  line-height: 1.25rem;
}
#footer .r1mob .l4 {
  font-size: 0.75rem;
  line-height: 1.25rem;
}
#footer .r1mob .l5 {
  font-size: 0.75rem;
  line-height: 1.25rem;
}
#footer .r1pc {
  position: relative;
  border-top: 1px solid rgba(118, 69, 23, 0.35);
  padding: 2rem 1rem 2.25rem 1rem;
  text-align: center;
}
@media screen and (max-width: 1023.9px) {
  #footer .r1pc {
    display: none !important;
  }
}
#footer .r1pc > * {
  display: block;
}
#footer .r1pc .l1 {
  font-size: 1.125rem;
  line-height: 2.5rem;
  font-weight: 600;
}
#footer .r1pc .l2 {
  font-size: 0.9375rem;
  line-height: 2rem;
  margin-bottom: 0.5rem;
}
#footer .r1pc .l3 {
  font-size: 0.875rem;
  line-height: 1.75rem;
}
#footer .r1pc .l4 {
  font-size: 0.875rem;
  line-height: 1.75rem;
}
#footer .r1pc .l5 {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
#footer .r2 {
  position: relative;
  display: flex;
  align-items: center;
  height: 4rem;
  border-top: 1px solid rgba(118, 69, 23, 0.15);
  padding: 0 1rem;
}
@media screen and (max-width: 1023.9px) {
  #footer {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  #footer span {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  #footer {
    font-size: 0.875rem;
    line-height: 2rem;
  }
}

#mb-menu {
  position: fixed;
  z-index: 100000;
  left: 0;
  bottom: 0;
  right: 0;
  height: 56px;
}
#mb-menu .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
#mb-menu .bg::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(110, 198, 207, 0) 25%, rgba(110, 198, 207, 0.25)), linear-gradient(to bottom, rgba(110, 198, 207, 0) 50%, rgba(110, 198, 207, 0.25));
}
#mb-menu .goDonate {
  position: absolute;
  z-index: 100100;
  left: 0;
  right: 0;
  bottom: 8px;
  text-align: center;
}
#mb-menu .goDonate .drnButton {
  height: 40px;
  line-height: 40px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
  transition: all 0.25s var(--ease-out-expo);
  box-shadow: 0 2px 8px rgba(110, 198, 207, 0.5), 0 8px 16px rgba(110, 198, 207, 0.5), 0 16px 24px #6ec6cf, 0 24px 32px #6ec6cf, 0 36px 64px #6ec6cf, 0 48px 96px #6ec6cf, 0 48px 96px #6ec6cf;
}

#pc-menu {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  height: 64px;
  z-index: 100000;
  backdrop-filter: blur(32px);
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.25);
}
#pc-menu .wrapper {
  position: relative;
  margin: 0 auto;
  width: 1024px;
}
#pc-menu .logo {
  position: absolute;
  left: -32px;
  top: -16px;
  width: 256px;
  height: 80px;
  background-image: url(../img/fixedbar-logo-pc.png?42);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
#pc-menu .menuItems {
  position: absolute;
  left: 224px;
  right: 224px;
  top: 0;
  display: flex;
  justify-content: center;
  cursor: pointer;
}
#pc-menu .menuItems .menuItem {
  margin: 0 12px;
  font-size: 16px;
  line-height: 64px;
}
#pc-menu .goDonate {
  position: absolute;
  right: 0;
  top: 12px;
}
#pc-menu .goDonate .drnButton {
  height: 40px;
  line-height: 40px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
  transition: all 0.25s var(--ease-out-expo);
}
#pc-menu .goDonate .drnButton:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

#noise {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100000000;
  background-image: url("../img/noise-1773071980310.png?42");
  mix-blend-mode: multiply;
}

#floatingOverlay {
  position: fixed;
  z-index: 9000000;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
  transform: translateX(-100vw);
  transition: opacity 0.25s linear 0.25s, transform 0s var(--ease-in-back) 0.5s;
}
#floatingOverlay.-active {
  opacity: 1;
  transform: translateX(0);
  background-color: rgba(253, 225, 182, 0.6);
  transition: opacity 0.25s linear 0.25s, transform 0s var(--ease-in-back) 0.25s;
}

#floatingButton {
  position: fixed;
  z-index: 9100000;
  aspect-ratio: 1/1;
  cursor: pointer;
  margin-bottom: -10rem;
  transform: translateX(-200vw);
  transition: transform 0s linear 0.25s, margin-bottom 0.25s var(--ease-in-back) 0s;
}
#floatingButton div {
  content: "";
  display: block;
  position: absolute;
  z-index: 9000000;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  animation: floating-floating 8s infinite var(--ease-in-out-sine);
  pointer-events: none;
}
#floatingButton div::before, #floatingButton div::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 9000000;
  pointer-events: none;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 100vw;
}
#floatingButton div::before {
  opacity: 0.3;
  background-color: #DC4233;
}
#floatingButton div::after {
  opacity: 0.15;
  background-color: #DC4233;
}
#floatingButton span {
  content: "";
  display: block;
  position: absolute;
  z-index: 9000010;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: url("../img/floatingButton.png?42");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 1023.9px) {
  #floatingButton {
    right: 1rem;
    bottom: 5rem;
    width: 3rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingButton {
    right: 2rem;
    bottom: 6rem;
    width: 5rem;
  }
}
#floatingButton.-active {
  margin-bottom: 0rem;
  transform: translateX(0);
  transition: transform 0s linear 0.5s, margin-bottom 0.5s var(--ease-out-circ) 0.5s;
}
#floatingButton:hover div::before {
  left: -0.375rem;
  top: -0.375rem;
  right: -0.375rem;
  bottom: -0.375rem;
}
#floatingButton:hover div::after {
  left: -1rem;
  top: -1rem;
  right: -1rem;
  bottom: -1rem;
}
#floatingButton:hover div::before {
  transition: all 1s var(--ease-out-expo);
}
#floatingButton:hover div::after {
  transition: all 1.25s 0.25s var(--ease-out-expo);
}

#floatingMenu {
  position: fixed;
  z-index: 9000001;
  cursor: pointer;
  bottom: 0rem;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(64px);
  box-shadow: 0 0 24px rgba(255, 255, 255, 0.75);
  opacity: 0;
  transform: translateX(-200vw);
  border: 1px solid rgba(118, 69, 23, 0.25);
  transition: opacity 0.25s linear 0s, transform 0s linear 0.5s, bottom 0.25s var(--ease-in-circ) 0s;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu {
    border-radius: 24px;
    width: 14rem;
    right: 2rem;
    padding: 0.375rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu {
    border-radius: 32px;
    width: 18rem;
    right: 2rem;
    padding: 0.5rem;
  }
}
#floatingMenu .close {
  position: absolute;
  right: 0;
  top: 0;
  aspect-ratio: 1/1;
  border-radius: 100px;
  color: #804F21;
  text-align: center;
}
#floatingMenu .close::before {
  display: block;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu .close::before {
    font-size: 1rem;
    line-height: 2.375rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu .close::before {
    font-size: 1.25rem;
    line-height: 3rem;
  }
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu .close {
    line-height: 2.375rem;
    width: 2.375rem;
    right: 0.625rem;
    top: 0.625rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu .close {
    line-height: 3rem;
    width: 3rem;
    right: 0.875rem;
    top: 0.875rem;
  }
}
#floatingMenu .ufo {
  position: absolute;
  aspect-ratio: 80/96;
  left: -1rem;
  top: -5rem;
  transform: rotate(-30deg);
  background-size: contain;
  background-image: url("../img/menuUfo.png?42");
  opacity: 0;
  pointer-events: none;
  margin-bottom: -0.5rem;
  transition: transform 1s linear, opacity 0.5s linear 0s, top 0.75s var(--ease-in-circ) 0s;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu .ufo {
    top: -4rem;
    width: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu .ufo {
    top: -5rem;
    width: 5rem;
  }
}
#floatingMenu .menuItems {
  padding: 0.5em 0;
  margin: 0 0.5em;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu .menuItems {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu .menuItems {
    font-size: 1.25rem;
  }
}
#floatingMenu .menuItems + .menuItems {
  border-top: 1px solid rgba(128, 79, 33, 0.25);
}
#floatingMenu .menuItems > * {
  line-height: 2em;
  color: #44130A;
  padding: 0 8px;
  transition: color 0.25s;
}
#floatingMenu .menuItems > *:hover {
  color: #DC4233;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu .menuItems > * {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu .menuItems > * {
    font-size: 1.25rem;
  }
}
#floatingMenu .menuItems > * i {
  display: inline-block;
  width: 1em;
  margin-right: 0.5em;
  opacity: 0.5;
}
#floatingMenu .menuItems > * i::before {
  display: block;
  font-size: 0.8em;
  text-align: center;
  line-height: 0.8em;
  transform: translateY(-0.1em);
}
#floatingMenu.-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.5s linear 0.25s, bottom 0.5s var(--ease-out-back) 0.25s;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu.-active {
    bottom: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu.-active {
    bottom: 2rem;
  }
}
#floatingMenu.-active .ufo {
  opacity: 1;
  animation: title-deco2026-move-left 8s infinite var(--ease-in-out-sine);
  transition: transform 0s linear, opacity 0.5s linear 0.25s, top 0.75s var(--ease-out-circ) 0.25s;
}
@media screen and (max-width: 1023.9px) {
  #floatingMenu.-active .ufo {
    top: -2.8125rem;
  }
}
@media screen and (min-width: 1024px) {
  #floatingMenu.-active .ufo {
    top: -3.5rem;
  }
}

@keyframes title-deco2026-move-left {
  from {
    transform: rotate(-15deg);
  }
  20% {
    transform: translate(0, 0.05em) rotate(-25deg);
  }
  40% {
    transform: rotate(-15deg);
  }
  70% {
    transform: translate(0, 0.1em) rotate(-25deg);
  }
  100% {
    transform: rotate(-15deg);
  }
}
@keyframes title-deco2026-move-right {
  from {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(25deg);
  }
  40% {
    transform: rotate(15deg);
  }
  60% {
    transform: translate(0, 0.05em) rotate(25deg);
  }
  80% {
    transform: rotate(15deg);
  }
  90% {
    transform: translate(0, 0.03em) rotate(20deg);
  }
  100% {
    transform: rotate(15deg);
  }
}
.title.-deco2026 {
  --w-gap: .25em;
}
.title.-deco2026::before, .title.-deco2026::after {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 80/96;
  top: -0.5em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("../img/title-deco2026.png?42");
  transform-origin: 50% 35%;
}
@media screen and (max-width: 1023.9px) {
  .title.-deco2026::before, .title.-deco2026::after {
    font-size: 1.125rem;
    width: 2.8125rem;
  }
}
@media screen and (min-width: 1024px) {
  .title.-deco2026::before, .title.-deco2026::after {
    font-size: 2rem;
    width: 5rem;
  }
}
.title.-deco2026::before {
  transform: rotate(-15deg);
  animation: title-deco2026-move-left 8s infinite var(--ease-in-out-sine);
}
.title.-deco2026::after {
  transform: rotate(15deg);
  animation: title-deco2026-move-right 8s infinite var(--ease-in-out-sine);
}
.title.-deco2026.-char-3::before {
  right: calc(50% + 1.575em + var(--w-gap));
}
.title.-deco2026.-char-3::after {
  left: calc(50% + 1.575em + var(--w-gap));
}
.title.-deco2026.-char-4::before {
  right: calc(50% + 2.1em + var(--w-gap));
}
.title.-deco2026.-char-4::after {
  left: calc(50% + 2.1em + var(--w-gap));
}
.title.-deco2026.-char-5::before {
  right: calc(50% + 2.625em + var(--w-gap));
}
.title.-deco2026.-char-5::after {
  left: calc(50% + 2.625em + var(--w-gap));
}
.title.-deco2026.-char-6::before {
  right: calc(50% + 3.15em + var(--w-gap));
}
.title.-deco2026.-char-6::after {
  left: calc(50% + 3.15em + var(--w-gap));
}
.title.-deco2026.-char-7::before {
  right: calc(50% + 3.675em + var(--w-gap));
}
.title.-deco2026.-char-7::after {
  left: calc(50% + 3.675em + var(--w-gap));
}
.title.-deco2026.-char-8::before {
  right: calc(50% + 4.2em + var(--w-gap));
}
.title.-deco2026.-char-8::after {
  left: calc(50% + 4.2em + var(--w-gap));
}