@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  line-height: 1.5;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: anywhere;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
figure,
blockquote,
fieldset,
legend {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

fieldset {
  border: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

:where(button, [type=button], [type=submit], [type=reset]) {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  border-radius: 0;
}

button {
  background: none;
  border: 0;
  padding: 0;
}

#top-slider-wrapper {
  position: relative;
  z-index: 10;
  width: 100%;
  overflow: hidden;
}

#top-slider-box {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

#top-slider-cover {
  position: relative;
  width: 100%;
  z-index: 10;
}
#top-slider-cover path {
  fill: #fbf8f3;
}

#slider-main {
  margin: 0 1vw;
}

#top-about-box {
  position: relative;
  z-index: 11;
}
#top-about-box #bg-wave {
  position: absolute;
  top: -10vw;
  left: 0;
  width: 100%;
}

#top-slider-box {
  display: flex;
  width: 100%;
}
#top-slider-box .slide-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.8s ease;
}
#top-slider-box .slide-item.is-active {
  opacity: 1;
  z-index: 1;
}
#top-slider-box .slide-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  transform: scale(1);
  transition: transform 6.5s linear;
  will-change: transform;
}
#top-slider-box .slide-item.is-active img {
  transform: scale(1.08);
}
#top-slider-box #slider-main {
  position: relative;
  flex: 1;
  overflow: hidden;
}
#top-slider-box .slider-side {
  position: relative;
  width: 16vw;
  flex-shrink: 0;
  overflow: hidden;
}
#top-slider-box #slider-side-left .slide-item img {
  -o-object-position: right center;
     object-position: right center;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-slider-box #slider-side-right .slide-item img {
  -o-object-position: left center;
     object-position: left center;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767px) {
  #top-slider-wrapper {
    overflow: visible;
  }
  #top-slider-cover {
    display: none;
  }
  #top-slider-box {
    position: relative;
    top: auto;
    height: auto;
  }
  #top-slider-box::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 10px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fbf8f3);
    pointer-events: none;
    z-index: 2;
  }
  #top-slider-box #slider-main {
    flex: none;
    width: 100%;
    margin: 0;
    display: grid;
    overflow: visible;
  }
  #top-slider-box #slider-main .slide-item {
    display: block;
    grid-area: 1/1;
    position: relative;
    inset: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease, visibility 1s ease;
  }
  #top-slider-box #slider-main .slide-item.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
  }
  #top-slider-box #slider-main .slide-item img {
    width: 100%;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
    -o-object-position: initial;
       object-position: initial;
    transform: none;
    transition: none;
    will-change: auto;
  }
  #top-slider-box #slider-main .slide-item.is-active img {
    transform: none;
  }
  #top-slider-box .slider-side {
    display: none;
  }
}
html {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 4.2666666667vw;
  }
}

:root {
  --icon-arrow-right: url('../img/icon-arrow-right.svg');
  --icon-arrow-right-nobg: url('../img/icon-arrow-right-nobg.svg');
}

body {
  color: #603813;
  background-color: #fbf8f3;
  padding-top: clamp(66px, 8.59375vw, 165px);
}
@media screen and (max-width: 767px) {
  body {
    padding-top: 21.8666666667vw;
  }
}
body.single-places, body.post-type-archive-places, body.tax-area_category, body.tax-places_category, body.page-supporters {
  background: #fff;
}
body.page-supporters {
  background-image: url("../img/support-catch.jpg");
  background-size: 100% auto;
  background-position: center;
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: clamp(112px, 14.5833333333vw, 280px);
}
@media screen and (max-width: 767px) {
  body.page-supporters {
    background-image: url("../img/support-catch-s.jpg");
    padding-top: 50.6666666667vw;
  }
}
body.page-supporters #header {
  background: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.br-sp {
  display: none;
}

.br-tb {
  display: block;
}
@media screen and (max-width: 767px) {
  .br-tb {
    display: none;
  }
}

article {
  line-height: 1.9;
  margin-bottom: clamp(40px, 5.2083333333vw, 100px);
}
article h3,
article h4,
article h5,
article h6 {
  line-height: 1.5;
  margin-top: 1.8em;
  margin-bottom: 0.8em;
  font-weight: bold;
}
article h3 {
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  article h3 {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  article h3.heading-s {
    font-size: 5.3333333333vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  article h3.heading-first {
    margin-top: 10.6666666667vw;
  }
}
article h4 {
  font-size: clamp(8.8px, 1.1458333333vw, 22px);
}
@media screen and (max-width: 767px) {
  article h4 {
    font-size: 5.3333333333vw;
  }
}
article h5 {
  font-size: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  article h5 {
    font-size: 4.8vw;
  }
}
article h6 {
  font-size: clamp(7.2px, 0.9375vw, 18px);
}
@media screen and (max-width: 767px) {
  article h6 {
    font-size: 4.2666666667vw;
  }
}
article h6 {
  color: #8a6b50;
}
article p {
  margin: 0 0 1.1em;
  font-size: clamp(7.2px, 0.9375vw, 18px);
}
@media screen and (max-width: 767px) {
  article p {
    font-size: 4vw;
  }
}
article ul,
article ol {
  margin: 0 0 1.2em 1.4em;
}
article ul {
  list-style: disc;
}
article ol {
  list-style: decimal;
}
@media screen and (max-width: 767px) {
  article ol {
    margin-left: 1.2em;
  }
}
@media screen and (max-width: 767px) {
  article ol li {
    line-height: 1.7;
    margin-bottom: 1.6vw;
  }
}
@media screen and (max-width: 767px) {
  article ol ol {
    margin-top: 1.6vw;
    margin-bottom: 2.1333333333vw;
    margin-left: 1.2em;
  }
}
article li {
  margin-bottom: 0.4em;
  font-size: clamp(7.2px, 0.9375vw, 18px);
}
@media screen and (max-width: 767px) {
  article li {
    font-size: 4vw;
  }
}
article blockquote {
  margin: 0 0 1.2em;
  padding: 1em 1.2em;
  background: #fff;
  border-left: 4px solid #4CAF50;
  border-radius: 8px;
}
article table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.2em;
}
article th,
article td {
  border: 1px solid #e7dece;
  padding: 0.6em 0.8em;
  text-align: left;
}
article a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
article a:hover {
  color: #4CAF50;
}
article img {
  margin: 1.2em 0;
  border-radius: 8px;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background-color: #fbf8f3;
  display: flex;
  justify-content: space-between;
  padding: 0 clamp(20px, 2.6041666667vw, 50px) clamp(8px, 1.0416666667vw, 20px);
}
#header #header-inner {
  min-width: 0;
}
#header #header-menu #main-menu,
#header #header-menu #sub-menu {
  display: flex;
  justify-content: flex-end;
}

#sp-menu-toggle,
#sp-menu-modal {
  display: none;
}

#sp-subtitle {
  display: none;
}

body.admin-bar #header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar #header {
    top: 46px;
  }
}
#site-title {
  margin-top: clamp(10px, 1.3020833333vw, 25px);
}
#site-title a {
  display: block;
}
#site-title a img {
  width: clamp(136px, 17.7083333333vw, 340px);
  height: auto;
}

#main-menu {
  margin-top: clamp(10px, 1.3020833333vw, 25px);
  margin-bottom: clamp(4px, 0.5208333333vw, 10px);
}
#main-menu li {
  font-size: clamp(7.6px, 0.9895833333vw, 19px);
  font-weight: bold;
}
#main-menu li a {
  padding: clamp(6px, 0.78125vw, 15px);
  display: block;
  transition: all 0.3s ease;
}
#main-menu li a:hover {
  color: #4CAF50;
}

#sub-menu {
  font-weight: bold;
}
#sub-menu li.menu-supporters a, #sub-menu li.menu-contact a {
  background: #fff;
  border: 1px solid #4CAF50;
  color: #4CAF50;
  border-radius: 100px;
  font-size: clamp(9.6px, 1.25vw, 24px);
  padding: clamp(8px, 1.0416666667vw, 20px) 0 clamp(7.2px, 0.9375vw, 18px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(100px, 13.0208333333vw, 250px);
  line-height: 1;
  text-align: center;
  margin-left: clamp(8px, 1.0416666667vw, 20px);
  transition: all 0.3s ease;
  height: clamp(26.4px, 3.4375vw, 66px);
}
#sub-menu li.menu-supporters a:hover, #sub-menu li.menu-contact a:hover {
  background: #4CAF50;
  color: #fff;
}
#sub-menu li.menu-supporters a {
  font-size: clamp(8px, 1.0416666667vw, 20px);
}
#sub-menu li.menu-contact a {
  background: #f5e8f4;
  border: 1px solid #9b5b96;
  color: #9b5b96;
}
#sub-menu li.menu-contact a:hover {
  background: #9b5b96;
  color: #fff;
}

@media screen and (max-width: 767px) {
  body.is-sp-menu-open {
    overflow: hidden;
  }
  #header {
    align-items: center;
    padding: 2.667vw;
  }
  #header #sp-subtitle {
    margin-top: 1.3333333333vw;
    display: block;
    font-size: 3.4666666667vw;
    line-height: 1;
    font-weight: 700;
  }
  #header #header-menu {
    display: none;
  }
  #site-title {
    margin-top: 0;
  }
  #site-title a img {
    width: 45.3333333333vw;
  }
  #sp-menu-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.6vw;
    width: 16.5333333333vw;
    height: 16.5333333333vw;
    padding: 0;
    border: 2px solid #f2eadd;
    border-radius: 2.6666666667vw;
    background: rgba(255, 255, 255, 0.94);
    color: #603813;
    cursor: pointer;
    margin-left: auto;
    margin-right: 0;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }
  #sp-menu-toggle:hover {
    background: #4CAF50;
    color: #fff;
    border-color: #4CAF50;
  }
  #sp-menu-toggle span {
    display: block;
    width: 9.6vw;
    height: 0.96vw;
    background: currentColor;
    border-radius: 0.8vw;
  }
  #sp-menu-modal {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1100;
    background: radial-gradient(circle at top, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 42%), rgba(255, 255, 255, 0.98);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }
  #sp-menu-modal[hidden] {
    display: none;
  }
  #sp-menu-modal.is-open {
    opacity: 1;
    visibility: visible;
  }
  #sp-menu-modal.is-open #sp-menu-modal-inner {
    transform: translateY(0);
    opacity: 1;
  }
  #sp-menu-modal-inner {
    position: relative;
    width: 100%;
    min-height: 100dvh;
    padding: 108px 0 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.35s ease, transform 0.35s ease;
  }
  #sp-menu-heading {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-size: 4vw;
    font-weight: bold;
    line-height: 56px;
  }
  #sp-menu-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 2px solid #f2eadd;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    color: #603813;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }
  #sp-menu-close:hover {
    background: #4CAF50;
    color: #fff;
    border-color: #4CAF50;
  }
  #sp-menu-close::before, #sp-menu-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 2px;
    background: currentColor;
    border-radius: 3px;
  }
  #sp-menu-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  #sp-menu-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  #sp-menu {
    list-style: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  #sp-menu li {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
  }
  #sp-menu li:nth-child(odd) {
    background: #fbf8f3;
  }
  #sp-menu li:nth-child(even) {
    background: #fff;
  }
  #sp-menu li:not(:last-child) {
    margin-bottom: 0;
  }
  #sp-menu li.menu-supporters, #sp-menu li.menu-contact {
    background: #fbf8f3;
    padding: 4.267vw 5.333vw;
  }
  #sp-menu li.menu-supporters a, #sp-menu li.menu-contact a {
    background: #fff;
    border: 1px solid #4CAF50;
    color: #4CAF50;
    border-radius: 100px;
    font-size: 6.4vw;
    padding: 5.3333333333vw 0;
    width: 100%;
    line-height: 1;
    text-align: center;
    transition: all 0.3s ease;
  }
  #sp-menu li.menu-supporters a:hover, #sp-menu li.menu-contact a:hover {
    background: #4CAF50;
    color: #fff;
  }
  #sp-menu li.menu-contact a {
    background: #f5e8f4;
    border: 1px solid #9b5b96;
    color: #9b5b96;
  }
  #sp-menu li.menu-contact a:hover {
    background: #9b5b96;
    color: #fff;
  }
  #sp-menu li.menu-supporters {
    padding-bottom: 0;
  }
  #sp-menu a {
    display: block;
    padding: 18px 20px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.4;
    transition: color 0.3s ease, background-color 0.3s ease;
  }
  #sp-menu a:hover {
    color: #4CAF50;
  }
  #sp-menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0 16px 16px;
  }
  #sp-menu .sub-menu li {
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(96, 56, 19, 0.08);
    border-radius: 0;
    box-shadow: none;
    margin: 0;
  }
  #sp-menu .sub-menu a {
    padding: 14px 8px 0;
    font-size: 15px;
    font-weight: 500;
    color: rgba(96, 56, 19, 0.8);
  }
}
#top-about-box {
  position: relative;
}
#top-about-box #bg-wave-sp {
  position: absolute;
  top: -26.6666666667vw;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 80%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 80%, transparent 100%);
}
#top-about-box #bg-wave-sp {
  display: none;
}
#top-about-box #bg-wave {
  display: block;
}
#top-about-box > :not(#bg-wave):not(#bg-wave-sp) {
  position: relative;
  z-index: 1;
}
#top-about-box h2#top-about-title {
  font-size: clamp(16px, 2.0833333333vw, 40px);
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: clamp(12px, 1.5625vw, 30px);
  text-align: center;
  color: #fff;
  position: relative;
  text-shadow: 0 0 8px rgba(76, 175, 80, 0.7), 0 0 16px rgba(76, 175, 80, 0.7);
}
#top-about-box #top-about-inner {
  background: #fff;
  width: clamp(440px, 57.2916666667vw, 1100px);
  margin: 0 auto;
  border-radius: clamp(28px, 3.6458333333vw, 70px);
  padding: clamp(16px, 2.0833333333vw, 40px);
  position: relative;
}
#top-about-box #top-about-inner #top-about-inner-img-1,
#top-about-box #top-about-inner #top-about-inner-img-2 {
  position: absolute;
  width: clamp(160px, -68.6666666667px + 29.7743055556vw, 503px);
  left: max(-380px, 50% - 50vw + clamp(40px, 46.6666666667px + -0.8680555556vw, 30px));
  top: clamp(24px, 20px + 0.5208333333vw, 30px);
}
#top-about-box #top-about-inner #top-about-inner-img-2 {
  width: clamp(152px, -66.6666666667px + 28.4722222222vw, 480px);
  left: auto;
  right: max(-380px, 50% - 50vw + clamp(40px, 46.6666666667px + -0.8680555556vw, 30px));
  top: clamp(240px, 183.3333333333px + 7.3784722222vw, 325px);
}
#top-about-box #top-about-inner #top-about-inner-img-sp {
  display: none;
}
#top-about-box #top-about-inner h3 {
  text-align: center;
  font-weight: bold;
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
}
#top-about-box #top-about-inner p {
  text-align: center;
  font-size: clamp(8px, 1.0416666667vw, 20px);
  font-weight: 600;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  #top-about-box #top-about-inner p {
    text-align: justify;
  }
}

.heading-border-6,
.about-border,
.support-border,
.support-border-green {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding-bottom: clamp(7.2px, 0.9375vw, 18px);
  margin-bottom: clamp(18px, 2.34375vw, 45px);
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .heading-border-6,
  .about-border,
  .support-border,
  .support-border-green {
    font-size: 6.4vw;
    padding-bottom: 4.8vw;
  }
}
.heading-border-6.support-border-green,
.about-border.support-border-green,
.support-border.support-border-green,
.support-border-green.support-border-green {
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
}
@media screen and (max-width: 767px) {
  .heading-border-6.support-border-green,
  .about-border.support-border-green,
  .support-border.support-border-green,
  .support-border-green.support-border-green {
    font-size: 5.3333333333vw;
  }
}
.heading-border-6:after,
.about-border:after,
.support-border:after,
.support-border-green:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: clamp(68.8px, 8.9583333333vw, 172px);
  height: clamp(4px, 0.5208333333vw, 10px);
  transform: translateX(-50%);
  background: url("../img/heding-border-6.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .heading-border-6:after,
  .about-border:after,
  .support-border:after,
  .support-border-green:after {
    width: 40vw;
    height: 2.6666666667vw;
  }
}

.about-border:after {
  width: clamp(140px, 18.2291666667vw, 350px);
  background: url("../img/about-border.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .about-border:after {
    background: url("../img/heding-border-6.png") no-repeat center/contain;
    width: 40vw;
    height: 2.6666666667vw;
  }
}

.support-border:after {
  width: clamp(282.4px, 36.7708333333vw, 706px);
  background: url("../img/support-border.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .support-border:after {
    background: url("../img/heding-border-6.png") no-repeat center/contain;
    width: 40vw;
    height: 2.6666666667vw;
  }
}

.support-border-green:after {
  width: clamp(282.4px, 36.7708333333vw, 706px);
  background: url("../img/support-border-green.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .support-border-green:after {
    background: url("../img/heding-border-6.png") no-repeat center/contain;
    width: 40vw;
    height: 2.6666666667vw;
  }
}

#top-about-button {
  margin: clamp(24px, 3.125vw, 60px) auto clamp(8px, 1.0416666667vw, 20px);
}

.js-enabled #top-about-title,
.js-enabled #top-about-inner-img-1,
.js-enabled #top-about-inner-img-2,
.js-enabled #top-support-inner {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}
.js-enabled #top-about-title.is-visible,
.js-enabled #top-about-inner-img-1.is-visible,
.js-enabled #top-about-inner-img-2.is-visible,
.js-enabled #top-support-inner.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.button-green {
  margin: 0 auto;
}
.button-green a {
  background: #e6f4eb;
  color: #22b573;
  width: clamp(200px, 26.0416666667vw, 500px);
  height: clamp(40px, 5.2083333333vw, 100px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: clamp(6px, 0.78125vw, 15px);
  margin: 0 auto;
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
  font-weight: bold;
  transition: all 0.3s ease;
}
.button-green a:hover {
  background: #22b573;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .button-green a {
    background: #22b573;
    color: #fff;
  }
  .button-green a:hover {
    background: #e6f4eb;
    color: #22b573;
  }
}

#top-news-box {
  margin: 0 auto;
  width: clamp(352px, 45.8333333333vw, 880px);
  background: #fff;
  display: flex;
  border-radius: var(--top-news-radius, clamp(8px, 1.0416666667vw, 20px));
  position: relative;
  z-index: 12;
  margin-top: clamp(20px, 2.6041666667vw, 50px);
}
@media screen and (max-width: 767px) {
  #top-news-box {
    display: block;
    border-radius: 5.333vw;
    width: auto;
    margin-left: 2.667vw;
    margin-right: 2.667vw;
    border-radius: 5.333vw;
  }
}
#top-news-box #top-news-header {
  border-top-left-radius: var(--top-news-radius, clamp(8px, 1.0416666667vw, 20px));
  border-bottom-left-radius: var(--top-news-radius, clamp(8px, 1.0416666667vw, 20px));
  width: clamp(80px, 10.4166666667vw, 200px);
  background: #ff931e;
  text-align: center;
  padding: clamp(10px, 1.3020833333vw, 25px);
  color: #fff;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-header {
    width: 100%;
    display: flex;
    border-radius: 0;
    border-top-left-radius: 5.333vw;
    border-top-right-radius: 5.333vw;
    padding: 4vw 5.3333333333vw 3.2vw 5.3333333333vw;
  }
}
#top-news-box #top-news-header h2 {
  font-size: clamp(9.6px, 1.25vw, 24px);
  font-weight: bold;
  line-height: 1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-header h2 {
    font-size: 5.3333333333vw;
    display: flex;
  }
}
#top-news-box #top-news-header h2 span {
  display: block;
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  margin-top: clamp(4px, 0.5208333333vw, 10px);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-header h2 span {
    font-size: 3.7333333333vw;
    margin-left: 4vw;
  }
}
#top-news-box #top-news-header #top-news-link-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-header #top-news-link-sp {
    display: inline-block;
    margin-left: auto;
  }
}
#top-news-box #top-news-body {
  padding: clamp(4px, 0.5208333333vw, 10px) clamp(8px, 1.0416666667vw, 20px);
  width: 100%;
  border-top-right-radius: clamp(8px, 1.0416666667vw, 20px);
  border-bottom-right-radius: clamp(8px, 1.0416666667vw, 20px);
}
#top-news-box #top-news-body ul#top-news-ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul {
    width: 94%;
    margin: 0 auto;
  }
}
#top-news-box #top-news-body ul#top-news-ul li {
  display: flex;
  align-items: center;
  margin-bottom: clamp(4px, 0.5208333333vw, 10px);
  font-size: clamp(7.2px, 0.9375vw, 18px);
  text-align: left;
}
#top-news-box #top-news-body ul#top-news-ul li:not(:last-child) {
  border-bottom: 2px solid #f2eadd;
  padding-bottom: clamp(4px, 0.5208333333vw, 10px);
}
#top-news-box #top-news-body ul#top-news-ul li a {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  padding: clamp(4px, 0.5208333333vw, 10px) clamp(16px, 2.0833333333vw, 40px) clamp(4px, 0.5208333333vw, 10px) 0;
  font-weight: 500;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a {
    flex-direction: column;
    align-items: flex-start;
    padding: 2vw;
  }
}
#top-news-box #top-news-body ul#top-news-ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: clamp(16px, 2.0833333333vw, 40px);
  height: clamp(16px, 2.0833333333vw, 40px);
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #f6f0e7;
  border: 1px solid #ff931e;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a::before {
    width: 11.52vw;
    height: 11.52vw;
  }
}
#top-news-box #top-news-body ul#top-news-ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(3.2px, 0.4166666667vw, 8px);
  width: clamp(9.6px, 1.25vw, 24px);
  height: clamp(9.6px, 1.25vw, 24px);
  transform: translateY(-50%);
  background-color: #ff931e;
  -webkit-mask: var(--icon-arrow-right-nobg) no-repeat center/contain;
  mask: var(--icon-arrow-right-nobg) no-repeat center/contain;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a::after {
    right: 2.304vw;
    width: 6.912vw;
    height: 6.912vw;
  }
}
#top-news-box #top-news-body ul#top-news-ul li a:hover {
  color: #4CAF50;
}
#top-news-box #top-news-body ul#top-news-ul li a:hover::before {
  background-color: #ff931e;
}
#top-news-box #top-news-body ul#top-news-ul li a:hover::after {
  background-color: #f6f0e7;
}
#top-news-box #top-news-body ul#top-news-ul li a span.news-date {
  margin-right: clamp(6px, 0.78125vw, 15px);
  min-width: clamp(42px, 5.46875vw, 105px);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a span.news-date {
    font-size: 3.7333333333vw;
  }
}
#top-news-box #top-news-body ul#top-news-ul li a span.news-category {
  white-space: nowrap;
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  margin-right: clamp(6px, 0.78125vw, 15px);
  min-width: clamp(42px, 5.46875vw, 105px);
  background: #f8f3eb;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a span.news-category {
    display: none;
  }
}
#top-news-box #top-news-body ul#top-news-ul li a span.news-title {
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #top-news-box #top-news-body ul#top-news-ul li a span.news-title {
    font-size: 3.7333333333vw;
    margin-right: 10.6666666667vw;
    margin-top: 1.0666666667vw;
  }
}

#top-news-wrapper {
  --top-news-radius: clamp(8px, 1.0416666667vw, 20px);
  text-align: center;
  margin-bottom: clamp(20px, 2.6041666667vw, 50px);
  border-radius: var(--top-news-radius);
}
#top-news-wrapper #top-news-link {
  margin-top: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  #top-news-wrapper #top-news-link {
    display: none !important;
  }
}

#top-news-wrapper #top-news-link,
#top-column-box > #top-news-link {
  display: flex;
  color: #22b573;
  text-decoration: underline;
  font-weight: 600;
  position: relative;
  padding: 0 clamp(16px, 2.0833333333vw, 40px);
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(8px, 1.0416666667vw, 20px) auto 0;
}
@media screen and (max-width: 767px) {
  #top-news-wrapper #top-news-link,
  #top-column-box > #top-news-link {
    padding-right: 10.6666666667vw;
  }
}
#top-news-wrapper #top-news-link::after,
#top-column-box > #top-news-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: clamp(16px, 2.0833333333vw, 40px);
  height: clamp(16px, 2.0833333333vw, 40px);
  transform: translateY(-50%);
  background-color: #4caf50;
  -webkit-mask: var(--icon-arrow-right-nobg) no-repeat center/contain;
  mask: var(--icon-arrow-right-nobg) no-repeat center/contain;
}

#archive-news,
#single-places-box,
#archive-places {
  margin-top: clamp(16px, 2.0833333333vw, 40px);
  padding: 0 0 clamp(40px, 5.2083333333vw, 100px);
}

.archive-news-inner {
  width: min(1200px, 94%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 40px;
  align-items: start;
}

@media (max-width: 1279px) {
  .archive-news-inner {
    width: 94%;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
  }
}
.archive-news-main {
  min-width: 0;
}

.archive-news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.archive-news-list .archive-news-item {
  display: flex;
  align-items: center;
  font-size: clamp(7.2px, 0.9375vw, 18px);
  margin-bottom: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item {
    font-size: 3.7333333333vw;
  }
}
.archive-news-list .archive-news-item a {
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  background: #fff;
  display: block;
  width: 100%;
  position: relative;
  padding: clamp(12px, 1.5625vw, 30px) clamp(16px, 2.0833333333vw, 40px);
  font-weight: 500;
  text-decoration: none;
  color: #603813;
  transition: all 0.3s ease;
}
.archive-news-list .archive-news-item a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(16px, 2.0833333333vw, 40px);
  height: 100%;
  border-top-right-radius: clamp(8px, 1.0416666667vw, 20px);
  border-bottom-right-radius: clamp(8px, 1.0416666667vw, 20px);
  background-color: #ff931e;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item a::before {
    width: 9.6vw;
  }
}
.archive-news-list .archive-news-item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(5.6px, 0.7291666667vw, 14px);
  width: clamp(4px, 0.5208333333vw, 10px);
  height: clamp(5.6px, 0.7291666667vw, 14px);
  transform: translateY(-50%);
  background: url("../img/news-cursor.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item a::after {
    right: 3.4666666667vw;
    width: 2.88vw;
    height: 4.032vw;
  }
}
.archive-news-list .archive-news-item a:hover {
  color: #4CAF50;
}
.archive-news-list .archive-news-item .archive-news-card {
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  background: #fff;
  display: block;
  width: 100%;
  position: relative;
  padding: clamp(12px, 1.5625vw, 30px) clamp(16px, 2.0833333333vw, 40px);
  font-weight: 500;
  color: #603813;
}
.archive-news-list .archive-news-item .archive-news-card .news-content {
  margin-top: clamp(6.4px, 0.8333333333vw, 16px);
  line-height: 1.8;
  border-top: #f2eadd 2px solid;
  padding-top: clamp(8px, 1.0416666667vw, 20px);
  min-height: clamp(40px, 5.2083333333vw, 100px);
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item .archive-news-card .news-content {
    min-height: 26.6666666667vw;
  }
}
.archive-news-list .archive-news-item a .archive-news-meta,
.archive-news-list .archive-news-item .archive-news-card .archive-news-meta {
  display: flex;
  align-items: center;
  gap: clamp(6px, 0.78125vw, 15px);
  flex-wrap: wrap;
}
.archive-news-list .archive-news-item a .news-date,
.archive-news-list .archive-news-item .archive-news-card .news-date {
  min-width: clamp(40px, 5.2083333333vw, 100px);
}
.archive-news-list .archive-news-item a .news-category,
.archive-news-list .archive-news-item .archive-news-card .news-category {
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  min-width: clamp(40px, 5.2083333333vw, 100px);
  background: #f8f3eb;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item a .news-category,
  .archive-news-list .archive-news-item .archive-news-card .news-category {
    font-size: 2.4vw;
    padding: 0.5333333333vw 1.6vw;
  }
}
.archive-news-list .archive-news-item a .news-title,
.archive-news-list .archive-news-item .archive-news-card .news-title {
  display: block;
  margin-top: clamp(3.2px, 0.4166666667vw, 8px);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .archive-news-list .archive-news-item a .news-title,
  .archive-news-list .archive-news-item .archive-news-card .news-title {
    margin-right: 10.6666666667vw;
  }
}

.archive-news-pagination {
  margin-top: clamp(12px, 1.5625vw, 30px);
}
.archive-news-pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5.6px, 0.7291666667vw, 14px);
  flex-wrap: wrap;
}
.archive-news-pagination .page-numbers {
  min-width: clamp(16px, 2.0833333333vw, 40px);
  height: clamp(16px, 2.0833333333vw, 40px);
  border-radius: clamp(4px, 0.5208333333vw, 10px);
  border: 1px solid #e7dece;
  background: #fff;
  color: #603813;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  font-weight: 600;
  padding: 0 clamp(5.6px, 0.7291666667vw, 14px);
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .archive-news-pagination .page-numbers {
    min-width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.archive-news-pagination .page-numbers:hover {
  color: #fff;
  background: #ff931e;
  border-color: #ff931e;
}
.archive-news-pagination .page-numbers.current {
  color: #fff;
  background: #ff931e;
  border-color: #ff931e;
}
.archive-news-pagination .nav-links a,
.archive-news-pagination .nav-links .is-disabled {
  min-width: clamp(16px, 2.0833333333vw, 40px);
  height: clamp(16px, 2.0833333333vw, 40px);
  border-radius: clamp(4px, 0.5208333333vw, 10px);
  border: 1px solid #e7dece;
  background: #fff;
  color: #603813;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  font-weight: 600;
  padding: 0 clamp(8px, 1.0416666667vw, 20px);
  margin: clamp(1.6px, 0.2083333333vw, 4px) 0;
}
@media screen and (max-width: 767px) {
  .archive-news-pagination .nav-links a,
  .archive-news-pagination .nav-links .is-disabled {
    min-width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.archive-news-pagination .nav-links .prev-link,
.archive-news-pagination .nav-links .next-link {
  position: relative;
}
.archive-news-pagination .nav-links .prev-link {
  padding-left: clamp(12px, 1.5625vw, 30px);
}
.archive-news-pagination .nav-links .next-link {
  padding-right: clamp(12px, 1.5625vw, 30px);
}
.archive-news-pagination .nav-links .prev-link::before,
.archive-news-pagination .nav-links .next-link::after {
  content: "";
  position: absolute;
  top: 50%;
  width: clamp(3.2px, 0.4166666667vw, 8px);
  height: clamp(3.2px, 0.4166666667vw, 8px);
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform-origin: center;
}
.archive-news-pagination .nav-links .prev-link::before {
  left: clamp(4.8px, 0.625vw, 12px);
  transform: translateY(-50%) rotate(-135deg);
}
.archive-news-pagination .nav-links .next-link::after {
  right: clamp(4.8px, 0.625vw, 12px);
  transform: translateY(-50%) rotate(45deg);
}
.archive-news-pagination .nav-links a {
  transition: all 0.3s ease;
}
.archive-news-pagination .nav-links a:hover {
  color: #fff;
  background: #ff931e;
  border-color: #ff931e;
}
.archive-news-pagination .nav-links .is-disabled {
  color: #b7ad9f;
  background: #f7f4ef;
  border-color: #ece4d8;
  pointer-events: none;
}

.archive-news-empty {
  background: #fff;
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  padding: clamp(12px, 1.5625vw, 30px);
}

.archive-news-sidebar {
  display: grid;
  gap: clamp(8px, 1.0416666667vw, 20px);
}

.archive-news-sidebar-box h2 {
  font-size: clamp(7.2px, 0.9375vw, 18px);
  font-weight: bold;
  margin-bottom: clamp(6px, 0.78125vw, 15px);
}

.archive-news-archive-list,
.archive-news-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .archive-news-archive-list,
  .archive-news-category-list {
    margin-top: 5.3333333333vw;
  }
}
.archive-news-archive-list li:not(:last-child),
.archive-news-category-list li:not(:last-child) {
  margin-bottom: clamp(4px, 0.5208333333vw, 10px);
}
@media screen and (max-width: 767px) {
  .archive-news-archive-list li:not(:last-child),
  .archive-news-category-list li:not(:last-child) {
    margin-bottom: 2.6666666667vw;
  }
}
.archive-news-archive-list a,
.archive-news-category-list a {
  color: #603813;
  text-decoration: none;
}
.archive-news-archive-list a:hover,
.archive-news-category-list a:hover {
  color: #4CAF50;
  text-decoration: underline;
}

.archive-news-category-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: clamp(16px, 2.0833333333vw, 40px);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .archive-news-category-list {
    margin-bottom: 2.6666666667vw;
  }
}
.archive-news-category-list li {
  font-size: clamp(6px, 0.78125vw, 15px);
  background: #fff;
  border-radius: 100px;
  border: 2px solid #f2eadd;
  padding: clamp(0.8px, 0.1041666667vw, 2px) clamp(4px, 0.5208333333vw, 10px);
  margin: 0 clamp(4px, 0.5208333333vw, 10px) clamp(4px, 0.5208333333vw, 10px) 0;
  transition: border-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .archive-news-category-list li {
    font-size: 3.7333333333vw;
    width: 36%;
    margin: 0 10px 10px 0;
  }
}
.archive-news-category-list li:not(:last-child) {
  margin-bottom: 2.6666666667vw;
}
.archive-news-category-list li:hover {
  border-color: var(--news-category-color, #f2eadd);
}
.archive-news-category-list li.current {
  border-color: var(--news-category-color, #d87276);
  background: #fef8f4;
}
.archive-news-category-list li a {
  color: #d87276;
  width: clamp(52px, 6.7708333333vw, 130px);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .archive-news-category-list li a {
    padding: 0.8vw 0;
    width: 100%;
  }
}
.archive-news-category-list li a:hover {
  text-decoration: none;
}
.archive-news-category-list li.is-all {
  --news-category-color: #d87276;
}
.archive-news-category-list li.is-all a {
  color: #d87276;
}

.archive-news-archive-list {
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.2em;
}
.archive-news-archive-list li {
  padding-left: 0;
}
.archive-news-archive-list li::marker {
  color: currentColor;
}

@media screen and (max-width: 767px) {
  .archive-news-inner {
    grid-template-columns: 1fr;
  }
  .archive-news-main {
    order: 2;
  }
  .archive-news-sidebar {
    order: 1;
  }
  .archive-news-sidebar {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .archive-news-sidebar {
    grid-template-columns: 1fr;
  }
  .archive-news-list .archive-news-item a,
  .archive-news-list .archive-news-item .archive-news-card {
    flex-wrap: wrap;
    gap: clamp(3.2px, 0.4166666667vw, 8px);
  }
  .archive-news-list .archive-news-item a .news-date,
  .archive-news-list .archive-news-item a .news-category,
  .archive-news-list .archive-news-item .archive-news-card .news-date,
  .archive-news-list .archive-news-item .archive-news-card .news-category {
    min-width: auto;
    margin-right: clamp(4px, 0.5208333333vw, 10px);
  }
}
.heading-box {
  text-align: center;
  padding: clamp(20px, 2.6041666667vw, 50px) 0 clamp(8px, 1.0416666667vw, 20px);
}
.heading-box h2 {
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
  margin-bottom: clamp(8px, 1.0416666667vw, 20px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .heading-box h2 {
    font-size: 6.4vw;
  }
}
.heading-box h2 span.heading-en {
  display: block;
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
  font-weight: 500;
  color: #4CAF50;
}
@media screen and (max-width: 767px) {
  .heading-box h2 span.heading-en {
    font-size: 3.7333333333vw;
  }
}

#top-places-inner {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #top-places-inner {
    text-align: left;
  }
}
#top-places-inner p {
  font-weight: 600;
  font-size: clamp(7.6px, 0.9895833333vw, 19px);
}
@media screen and (max-width: 767px) {
  #top-places-inner p {
    font-size: 4vw;
  }
}

#top-places-ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: clamp(356px, 46.3541666667vw, 890px);
  margin: clamp(20px, 2.6041666667vw, 50px) auto;
}
@media screen and (max-width: 767px) {
  #top-places-ul {
    display: block;
    width: auto;
  }
}
#top-places-ul li {
  width: 48%;
}
@media screen and (max-width: 767px) {
  #top-places-ul li {
    width: 100%;
    margin-bottom: 5.3333333333vw;
  }
}
#top-places-ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(40px, 5.2083333333vw, 100px);
  color: #ff931e;
  background: #fde5dc;
  border-radius: clamp(4px, 0.5208333333vw, 10px);
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
  font-weight: bold;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #top-places-ul li a {
    border: solid 2px #ff931e;
    padding: 8vw 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
#top-places-ul li a:hover {
  background: #ff931e;
  color: #fff;
}

#top-support-box,
#top-news-wrapper,
#top-places-box {
  position: relative;
  z-index: 11;
}

@media screen and (max-width: 767px) {
  #top-places-box {
    display: block;
    width: auto;
    margin-left: 5.333vw;
    margin-right: 5.333vw;
  }
}

#top-support-box #top-support-inner {
  width: clamp(400px, 52.0833333333vw, 1000px);
  max-width: 94%;
  margin: 0 auto clamp(40px, 5.2083333333vw, 100px);
  position: relative;
  overflow: hidden;
  border-radius: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  #top-support-box #top-support-inner {
    width: 90%;
    margin: 0 auto clamp(20px, 2.6041666667vw, 50px);
  }
}
#top-support-box #top-support-inner a {
  transition: all 0.3s ease;
  display: block;
}
#top-support-box #top-support-inner a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, #d7e6e5 0%, rgba(215, 230, 229, 0) 100%);
}
#top-support-box #top-support-inner a:hover {
  opacity: 0.7;
}
#top-support-box #top-support-inner img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 0;
  display: block;
}
#top-support-box #top-support-inner p {
  position: absolute;
  bottom: clamp(12px, 1.5625vw, 30px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  border: solid 1px #4CAF50;
  border-radius: 100px;
  background: #fff;
  color: #4CAF50;
  padding: clamp(0.4px, 0.0520833333vw, 1px) clamp(4px, 0.5208333333vw, 10px);
  font-size: clamp(8px, 1.0416666667vw, 20px);
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #top-support-box #top-support-inner p {
    font-size: 4vw;
    margin-bottom: 1.3333333333vw;
    white-space: normal;
    width: 90%;
    text-align: center;
    border-radius: 2.6666666667vw;
    color: #fff;
    background: rgba(34, 181, 115, 0.7);
    border: none;
    padding: 1.3333333333vw 0;
    line-height: 1.5;
  }
}

#top-schedule-calendar-box {
  width: clamp(540px, 70.3125vw, 1350px);
  max-width: 94%;
  margin: 0 auto;
  background: #edf2f8;
  border-radius: clamp(12px, 1.5625vw, 30px);
  padding: 0 clamp(40px, 5.2083333333vw, 100px) clamp(40px, 5.2083333333vw, 100px);
}
@media screen and (max-width: 767px) {
  #top-schedule-calendar-box {
    width: 90%;
    margin: 0 auto;
    padding: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #top-schedule-calendar-box h2 span.heading-hidden {
    display: none;
  }
}
#top-schedule-calendar-box iframe {
  height: 600px;
}
@media screen and (max-width: 767px) {
  #top-schedule-calendar-box iframe {
    height: 360px;
  }
}

#top-schedule-inner {
  width: clamp(396px, 51.5625vw, 990px);
  margin: 0 auto;
}

#top-column-box {
  width: clamp(440px, 57.2916666667vw, 1100px);
  max-width: 94%;
  margin: clamp(40px, 5.2083333333vw, 100px) auto clamp(48px, 6.25vw, 120px);
}
#top-column-box > #top-news-link {
  width: -moz-fit-content;
  width: fit-content;
  margin: clamp(8px, 1.0416666667vw, 20px) auto 0;
}
@media screen and (max-width: 767px) {
  #top-column-box > #top-news-link {
    display: block;
    font-size: 5.0666666667vw;
    margin-top: 5.3333333333vw;
  }
  #top-column-box > #top-news-link:after {
    width: 11.52vw;
    height: 11.52vw;
  }
}

#top-column-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  #top-column-list {
    grid-template-columns: 1fr;
    gap: 5.333vw;
  }
}
#top-column-list .top-column-card {
  background: #fff;
  border-radius: clamp(5.6px, 0.7291666667vw, 14px);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card {
    border-radius: 4.267vw;
  }
}
#top-column-list .top-column-card a {
  display: block;
  color: #603813;
  text-decoration: none;
  height: 100%;
}
#top-column-list .top-column-card .top-column-card-image {
  background: #f3f3f3;
  aspect-ratio: 3/2;
}
#top-column-list .top-column-card .top-column-card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-column-list .top-column-card .top-column-card-body {
  padding: clamp(6.4px, 0.8333333333vw, 16px);
  display: grid;
  gap: clamp(3.2px, 0.4166666667vw, 8px);
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card .top-column-card-body {
    padding: 4.267vw;
  }
}
#top-column-list .top-column-card .top-column-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: clamp(8px, 1.0416666667vw, 20px);
  gap: clamp(4px, 0.5208333333vw, 10px);
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card .top-column-card-meta {
    min-height: 4.267vw;
    gap: 2.133vw;
  }
}
#top-column-list .top-column-card .top-column-card-category {
  display: inline-block;
  color: #4CAF50;
  font-size: clamp(4.8px, 0.625vw, 12px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card .top-column-card-category {
    font-size: 3.7333333333vw;
  }
}
#top-column-list .top-column-card .top-column-card-date {
  font-size: clamp(5.2px, 0.6770833333vw, 13px);
  color: #666;
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card .top-column-card-date {
    font-size: 3.7333333333vw;
  }
}
#top-column-list .top-column-card .top-column-card-title {
  margin: 0;
  font-size: clamp(7.2px, 0.9375vw, 18px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #top-column-list .top-column-card .top-column-card-title {
    font-size: 4vw;
  }
}

@media screen and (max-width: 767px) {
  #top-column-list {
    grid-template-columns: 1fr;
  }
  #top-schedule-inner {
    width: 100%;
  }
}
#footer-contact-box {
  background: #faf3f9;
}
#footer-contact-box #footer-contact-inner {
  margin: 0 auto;
  width: 94%;
  padding: clamp(20px, 2.6041666667vw, 50px) 0;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #footer-contact-box #footer-contact-inner {
    padding: 5.3333333333vw 0 8vw;
  }
}
#footer-contact-box #footer-contact-inner .heading-box .heading-en {
  color: #9b5b96;
}
#footer-contact-box #footer-contact-inner p {
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #footer-contact-box #footer-contact-inner p {
    font-size: 4vw;
  }
}
#footer-contact-box .button-round a {
  margin: clamp(8px, 1.0416666667vw, 20px) auto;
}

#footer-about {
  text-align: center;
  padding: clamp(20px, 2.6041666667vw, 50px) 0;
}
#footer-about #footer-title {
  width: clamp(136px, 17.7083333333vw, 340px);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #footer-about #footer-title {
    width: 64vw;
    margin: 0 auto clamp(8px, 1.0416666667vw, 20px);
  }
}
#footer-about #footer-title img {
  width: clamp(136px, 17.7083333333vw, 340px);
  height: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  #footer-about #footer-title img {
    width: 100%;
  }
}
#footer-about p {
  line-height: 1.6;
}
#footer-about .footer-p-s {
  font-size: clamp(4.8px, 0.625vw, 12px);
}
@media screen and (max-width: 767px) {
  #footer-about .footer-p-s {
    font-size: 3.2vw;
  }
}
#footer-about .footer-p-m {
  font-size: clamp(5.6px, 0.7291666667vw, 14px);
}
@media screen and (max-width: 767px) {
  #footer-about .footer-p-m {
    font-size: 3.7333333333vw;
  }
}
#footer-about .footer-p-l {
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #footer-about .footer-p-l {
    font-size: 4.2666666667vw;
  }
}

.button-round {
  text-align: center;
}
.button-round a {
  background: #9b5b96;
  border: solid 1px #9b5b96;
  color: #fff;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(11.2px, 1.4583333333vw, 28px);
  font-weight: bold;
  padding: clamp(4.8px, 0.625vw, 12px) clamp(16px, 2.0833333333vw, 40px);
  width: clamp(200px, 26.0416666667vw, 500px);
  height: clamp(40px, 5.2083333333vw, 100px);
  margin: clamp(20px, 2.6041666667vw, 50px) auto;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button-round a {
    width: 97%;
    height: auto;
    padding: 15px 0;
    font-size: 5.8666666667vw;
  }
}
.button-round a:hover {
  background: #fff;
  color: #9b5b96;
}

footer {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 5.2083333333vw, 100px) 0;
}
footer #footer-wave-sp {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 0;
  pointer-events: none;
}
footer #footer-wave {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  pointer-events: none;
}
footer > :not(#footer-wave):not(#footer-wave-sp) {
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  footer #footer-wave {
    display: none;
  }
  footer #footer-wave-sp {
    display: block;
  }
}
footer #footer-menu {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  footer #footer-menu {
    width: 90%;
    flex-wrap: wrap;
    padding-top: 5.3333333333vw;
    margin: 0 auto 10.6666666667vw;
  }
}
footer #footer-menu li {
  font-size: clamp(7.6px, 0.9895833333vw, 19px);
}
@media screen and (max-width: 767px) {
  footer #footer-menu li {
    width: 48%;
    font-size: 4.2666666667vw;
  }
}
footer #footer-menu li a {
  text-decoration: underline;
}
footer #copyright {
  text-align: center;
  margin-top: clamp(8px, 1.0416666667vw, 20px);
  font-size: clamp(4.4px, 0.5729166667vw, 11px);
}
@media screen and (max-width: 767px) {
  footer #copyright {
    font-size: 2.4vw;
  }
}

.page-content {
  margin-top: clamp(16px, 2.0833333333vw, 40px);
}

.heading-text-l {
  font-size: clamp(12.8px, 1.6666666667vw, 32px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .heading-text-l {
    font-size: 6.4vw;
  }
}

.heading-text-m {
  font-size: clamp(9.6px, 1.25vw, 24px);
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .heading-text-m {
    font-size: 5.3333333333vw;
  }
}

.page-content-narrow {
  width: clamp(320px, 41.6666666667vw, 800px);
  max-width: 94%;
  margin: clamp(16px, 2.0833333333vw, 40px) auto;
  position: relative;
}

.page-content-medium {
  width: clamp(400px, 52.0833333333vw, 1000px);
  max-width: 94%;
  margin: clamp(16px, 2.0833333333vw, 40px) auto;
  position: relative;
}

#page-about-box,
#page-supporters-box {
  text-align: center;
}
#page-about-box .page-content,
#page-supporters-box .page-content {
  width: clamp(768px, 100vw, 1920px);
  max-width: 94%;
  margin: clamp(16px, 2.0833333333vw, 40px) auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  #page-about-box .page-content,
  #page-supporters-box .page-content {
    width: 90%;
    margin: clamp(8px, 1.0416666667vw, 20px) auto;
  }
}
#page-about-box .page-content #top-about-inner-img-1,
#page-about-box .page-content #top-about-inner-img-2,
#page-supporters-box .page-content #top-about-inner-img-1,
#page-supporters-box .page-content #top-about-inner-img-2 {
  position: absolute;
  width: clamp(160px, -68.6666666667px + 29.7743055556vw, 503px);
  left: max(-380px, 50% - 50vw + clamp(40px, 46.6666666667px + -0.8680555556vw, 30px));
  top: clamp(24px, 20px + 0.5208333333vw, 30px);
}
#page-about-box .page-content #top-about-inner-img-1,
#page-supporters-box .page-content #top-about-inner-img-1 {
  right: auto;
}
#page-about-box .page-content #top-about-inner-img-2,
#page-supporters-box .page-content #top-about-inner-img-2 {
  width: clamp(152px, -66.6666666667px + 28.4722222222vw, 480px);
  left: auto;
  right: max(-380px, 50% - 50vw + clamp(40px, 46.6666666667px + -0.8680555556vw, 30px));
  top: clamp(240px, 183.3333333333px + 7.3784722222vw, 325px);
}
@media (min-width: 1921px) {
  #page-about-box .page-content #top-about-inner-img-1,
  #page-supporters-box .page-content #top-about-inner-img-1 {
    width: 503px;
    left: 30px;
    top: 30px;
  }
  #page-about-box .page-content #top-about-inner-img-2,
  #page-supporters-box .page-content #top-about-inner-img-2 {
    width: 480px;
    right: 30px;
    top: 325px;
  }
}
#page-about-box p,
#page-supporters-box p {
  font-size: clamp(8.8px, 1.1458333333vw, 22px);
  margin: clamp(16px, 2.0833333333vw, 40px) 0;
  line-height: 1.8;
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #page-about-box p,
  #page-supporters-box p {
    font-size: 4vw;
    text-align: left;
  }
}
#page-about-box #top-places-ul,
#page-supporters-box #top-places-ul {
  margin-top: 0;
}

#page-supporters-box p {
  font-size: clamp(6.8px, 0.8854166667vw, 17px);
  margin: clamp(8px, 1.0416666667vw, 20px) 0;
  line-height: 1.8;
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #page-supporters-box p {
    font-size: 4vw;
    text-align: left;
  }
}

.heading-bg-green,
.heading-bg-green2 {
  font-size: clamp(8.8px, 1.1458333333vw, 22px);
  text-align: center;
  color: #22b573;
  background: rgba(34, 181, 115, 0.08);
  padding: clamp(2px, 0.2604166667vw, 5px);
  margin: clamp(24px, 3.125vw, 60px) auto clamp(8px, 1.0416666667vw, 20px);
}
@media screen and (max-width: 767px) {
  .heading-bg-green,
  .heading-bg-green2 {
    font-size: 4.8vw;
    margin: clamp(16px, 2.0833333333vw, 40px) auto clamp(8px, 1.0416666667vw, 20px);
  }
}

.heading-bg-green2 {
  background: #22b573;
  border-radius: 5px;
  margin: clamp(24px, 3.125vw, 60px) auto clamp(16px, 2.0833333333vw, 40px);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .heading-bg-green2 {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0;
    box-sizing: border-box;
  }
}

#page-contact-box {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #page-contact-box {
    text-align: left;
  }
}

.green-rounded-box {
  border: solid 1px #22b573;
  padding: clamp(8px, 1.0416666667vw, 20px);
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  max-width: clamp(232px, 30.2083333333vw, 580px);
  margin: 0 auto;
  text-align: center;
}
.green-rounded-box h4 {
  margin-top: 0;
  color: #22b573;
  font-size: clamp(7.2px, 0.9375vw, 18px);
}
.green-rounded-box p {
  display: inline-block;
  text-align: left;
  max-width: clamp(208px, 27.0833333333vw, 520px);
  width: auto;
  margin: 0;
}

.contact-form-box {
  margin-top: clamp(16px, 2.0833333333vw, 40px);
  background: #f5e8f4;
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  padding: clamp(24px, 3.125vw, 60px) clamp(32px, 4.1666666667vw, 80px);
  margin-bottom: clamp(16px, 2.0833333333vw, 40px);
}
.contact-form-box .required {
  font-size: clamp(4px, 0.5208333333vw, 10px);
  background: #9b5b96;
  color: #fff;
  padding: clamp(2px, 0.2604166667vw, 5px) clamp(3.2px, 0.4166666667vw, 8px);
  border-radius: clamp(1.2px, 0.15625vw, 3px);
  display: inline-flex;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .contact-form-box .required {
    font-size: 2.4vw;
    padding: 1.0666666667vw 1.6vw;
  }
}
.contact-form-box table {
  table-layout: fixed;
  width: 100%;
}
.contact-form-box table th,
.contact-form-box table td {
  border: none;
  padding: clamp(2.4px, 0.3125vw, 6px) clamp(3.2px, 0.4166666667vw, 8px);
}
.contact-form-box table th p,
.contact-form-box table td p {
  margin: 0;
}
.contact-form-box table th {
  width: clamp(96px, 12.5vw, 240px);
}
.contact-form-box table th p {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact-form-box table td input {
  width: 100%;
  box-sizing: border-box;
}
.contact-form-box table td select {
  width: 100%;
  box-sizing: border-box;
}
.contact-form-box table textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  resize: vertical;
  height: clamp(96px, 12.5vw, 240px);
}
.contact-form-box table input,
.contact-form-box table textarea,
.contact-form-box table select {
  border: solid 1px #9b5b96;
  border-radius: clamp(3.2px, 0.4166666667vw, 8px);
  padding: clamp(4px, 0.5208333333vw, 10px);
  background: #fff;
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
}
@media screen and (max-width: 767px) {
  .contact-form-box table {
    table-layout: auto;
  }
  .contact-form-box table.form-table,
  .contact-form-box table tbody,
  .contact-form-box table tr,
  .contact-form-box table th,
  .contact-form-box table td {
    display: block;
    width: 100%;
  }
  .contact-form-box table th,
  .contact-form-box table td {
    padding-left: 0;
    padding-right: 0;
  }
  .contact-form-box table th {
    margin-bottom: 1.6vw;
  }
  .contact-form-box table th p {
    justify-content: flex-start;
    gap: 2.1333333333vw;
  }
  .contact-form-box table td {
    margin-bottom: 2.6666666667vw;
  }
  .contact-form-box table input,
  .contact-form-box table textarea,
  .contact-form-box table select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 4.2666666667vw;
    padding: 2.6666666667vw;
    border-radius: 2.1333333333vw;
  }
}
.contact-form-box form {
  margin: 0 auto;
  text-align: left;
}
.contact-form-box form .form-row {
  margin-bottom: clamp(8px, 1.0416666667vw, 20px);
}
.contact-form-box form .form-row label {
  display: block;
  font-weight: bold;
  margin-bottom: clamp(2px, 0.2604166667vw, 5px);
}
.contact-form-box form .form-row input,
.contact-form-box form .form-row textarea {
  width: 100%;
  padding: clamp(4px, 0.5208333333vw, 10px);
  border-radius: clamp(2px, 0.2604166667vw, 5px);
  border: solid 1px #ccc;
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
}
.contact-form-box form .form-row textarea {
  resize: vertical;
  min-height: clamp(40px, 5.2083333333vw, 100px);
}
.contact-form-box form .form-submit {
  text-align: center;
}
.contact-form-box form .form-submit input[type=submit] {
  background-color: #4CAF50;
  color: #fff;
  border: none;
  padding: clamp(4px, 0.5208333333vw, 10px) clamp(8px, 1.0416666667vw, 20px);
  border-radius: clamp(2px, 0.2604166667vw, 5px);
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
  cursor: pointer;
}
.contact-form-box form .form-submit input[type=submit]:hover {
  background-color: rgb(60.5577689243, 139.4422310757, 63.7450199203);
}

#submit-button {
  text-align: center;
}
#submit-button input[type=submit] {
  background-color: #f5e8f4;
  color: #9b5b96;
  border: #9b5b96 1px solid;
  padding: clamp(4.8px, 0.625vw, 12px) clamp(8px, 1.0416666667vw, 20px);
  border-radius: 100px;
  font-size: clamp(7.2px, 0.9375vw, 18px);
  font-weight: bold;
  line-height: 1.2;
  cursor: pointer;
  transition: all 0.3s ease;
  width: clamp(88px, 11.4583333333vw, 220px);
  max-width: 100%;
  margin: clamp(9.6px, 1.25vw, 24px) auto 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#submit-button input[type=submit]:hover {
  background-color: #9b5b96;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #submit-button input[type=submit] {
    width: 92%;
    font-size: 4.8vw;
    padding: 3.7333333333vw 3.2vw;
    margin-top: 4.8vw;
  }
}

@media screen and (max-width: 767px) {
  .br-sp {
    display: inline;
  }
  #top-about-box #bg-wave {
    display: none;
  }
  #top-about-box #bg-wave-sp {
    display: block;
  }
  #top-about-box h2#top-about-title {
    font-size: 7.467vw;
    margin-top: -26.667vw;
    margin-bottom: 6.667vw;
  }
  #top-about-box #top-about-inner {
    width: auto;
    margin-left: 2.667vw;
    margin-right: 2.667vw;
    padding-left: 5.333vw;
    padding-right: 5.333vw;
    border-radius: 5.333vw;
  }
  #top-about-box #top-about-inner .heading-border-6 {
    font-size: 5.333vw;
    margin-bottom: 2.667vw;
  }
  #top-about-box #top-about-inner .heading-border-6::after {
    content: none;
  }
  #top-about-box #top-about-inner #top-about-button a {
    width: 100%;
    font-size: 5.333vw;
    padding: 9vw;
    border-radius: 2vw;
  }
  #top-about-box #top-about-inner #top-about-inner-img-sp {
    display: block;
    margin-top: 5.333vw;
  }
  #top-about-box #top-about-inner p {
    font-size: 4vw;
    text-align: left;
  }
  #page-about-box p {
    font-size: 4vw;
  }
  #page-about-box #top-about-inner-img-1,
  #page-about-box #top-about-inner-img-2 {
    display: block;
    position: relative !important;
    width: 80% !important;
    margin: 8vw auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
  }
  #top-about-inner-img-1,
  #top-about-inner-img-2 {
    display: none;
  }
}
#page-policy-box ol ol {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  counter-reset: policy-sub;
}
#page-policy-box ol ol > li {
  position: relative;
  list-style: none;
  counter-increment: policy-sub;
  padding-left: 2em;
}
#page-policy-box ol ol > li::before {
  content: "(" counter(policy-sub) ")";
  position: absolute;
  left: 0;
}

#archive-news-sidebar-category h2 {
  display: block;
}
@media screen and (max-width: 767px) {
  #archive-news-sidebar-category h2 {
    display: none;
  }
}

#archive-news-sidebar-archive {
  display: block;
}
@media screen and (max-width: 767px) {
  #archive-news-sidebar-archive {
    display: none;
  }
}

#archive-news-sp-archive {
  display: none;
}
@media screen and (max-width: 767px) {
  #archive-news-sp-archive {
    margin-top: 5.3333333333vw;
    display: block;
  }
  #archive-news-sp-archive h2 {
    margin-bottom: 2.6666666667vw;
    font-size: 4.8vw;
    font-weight: bold;
  }
  #archive-news-sp-archive select {
    width: 100%;
    background: #fff;
    border: 2px solid #fbf8f3;
    border-radius: 2.1333333333vw;
    padding: 3.2vw 3.7333333333vw;
    font-size: 4vw;
    color: #603813;
    line-height: 1.4;
    box-sizing: border-box;
  }
}

.contact-agree {
  text-align: center;
}

#single-places-main {
  width: clamp(440px, 57.2916666667vw, 1100px);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #single-places-main {
    width: auto;
    margin-left: 2.667vw;
    margin-right: 2.667vw;
  }
}

article.single-places-article .single-places-slider {
  margin-bottom: clamp(12px, 1.5625vw, 30px);
}
article.single-places-article .single-places-main-swiper {
  position: relative;
  overflow: hidden;
  border-radius: clamp(5.6px, 0.7291666667vw, 14px);
  background: #f4f4f4;
}
article.single-places-article .single-places-main-slide {
  margin: 0;
  aspect-ratio: 16/9;
  background: #f4f4f4;
}
article.single-places-article .single-places-main-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
article.single-places-article .single-places-thumbs-swiper {
  width: 100%;
  margin-top: 10px;
  overflow: hidden;
}
article.single-places-article .single-places-thumbs-swiper .swiper-wrapper {
  align-items: center;
}
article.single-places-article .single-places-thumb-slide {
  display: block;
  width: calc((100% - 32px) / 5) !important;
  flex-shrink: 0;
  aspect-ratio: 4/3;
  border: 2px solid transparent;
  box-sizing: border-box;
  border-radius: 0;
  background: #fff;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
article.single-places-article .single-places-thumb-slide:focus-visible {
  outline: 2px solid #4CAF50;
  outline-offset: 2px;
}
article.single-places-article .single-places-thumb-slide.is-active {
  border-color: #4CAF50;
}
article.single-places-article .single-places-thumb-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
  border-radius: 0;
}
article.single-places-article .single-places-gallery-item.is-single {
  margin: 0 0 clamp(12px, 1.5625vw, 30px);
  border-radius: clamp(5.6px, 0.7291666667vw, 14px);
  overflow: hidden;
}
article.single-places-article .single-places-gallery-item.is-single img {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  article.single-places-article .single-places-main-swiper {
    border-radius: 2.6666666667vw;
  }
  article.single-places-article .single-places-thumb-slide {
    width: min(18.1333333333vw, (100% - 16px) / 3) !important;
  }
  article.single-places-article .single-places-gallery-item.is-single {
    margin-bottom: 4.2666666667vw;
  }
}

.no-link a {
  pointer-events: none;
  cursor: default;
  opacity: 0.4;
}

/* 送信ボタンが未選択で無効（disabled）な時の見た目 */
#submit-button .wpcf7-submit:disabled {
  background-color: #cccccc;
  /* グレー色に変更 */
  color: #ffffff;
  /* 文字色を白に */
  opacity: 0.6;
  /* 薄くする */
  cursor: not-allowed !important;
  /* マウスカーソルを禁止マークに */
}
#submit-button .wpcf7-submit:disabled:hover {
  background-color: #cccccc;
  /* ホバー時もグレー色のまま */
}

.no-phone,
.no-phone a {
  color: inherit !important;
  /* 周りの文字と同じ色にする */
  text-decoration: none !important;
  /* 下線を消す */
  pointer-events: none !important;
  /* タップ（クリック）を無効化する */
}

.single-places-terms {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.single-places-terms li {
  font-size: 16px;
  padding: 5px 15px;
  background: #f8f3eb;
  list-style: none;
  border: 1px solid transparent;
  border-radius: 100px;
  margin-right: 12px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
}
.single-places-terms li.has-color {
  color: var(--places-category-color);
}

#single-places-data-box {
  display: flex;
  justify-content: space-between;
}
#single-places-data-box #single-places-slider {
  width: 50%;
}
#single-places-data-box #single-places-data {
  width: 48%;
}

#single-places-data table:not(:first-child) {
  margin-top: clamp(8px, 1.0416666667vw, 20px);
}
#single-places-data table th {
  text-align: center;
  width: clamp(48px, 6.25vw, 120px);
  background: #f8f3eb;
}
#single-places-data table td {
  background: #fff;
}
#single-places-data table th,
#single-places-data table td,
#single-places-data table td p {
  font-size: 16px;
  margin: 5px 0;
}

.single-places-header {
  margin-bottom: 20px;
}

h2.single-places-heading {
  font-size: 16px;
  text-align: center;
  background: #f8f3eb;
  padding: 12px;
  border-radius: 5px;
}

.single-places-richtext,
.single-places-map {
  width: 94%;
  margin: 20px auto 40px;
  max-width: 848px;
  text-align: center;
  display: block;
}

.single-places-richtext-inner {
  display: inline-block;
}
.single-places-richtext-inner p {
  text-align: left;
  font-weight: 600;
}

.single-places-map {
  max-width: 1100px;
  width: 100%;
}
.single-places-map iframe {
  width: 100%;
  border-radius: 20px;
}

.back-button {
  text-align: center;
  margin-top: 20px;
}
.back-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background-color: #fff;
  border: 2px solid #f8f3eb;
  color: #603813;
  text-decoration: none;
  border-radius: 5px;
  transition: 0.3s;
  width: 200px;
  height: 60px;
  font-size: 16px;
  font-weight: 600;
}
.back-button a:hover {
  background-color: #f8f3eb;
}

#single-places-box {
  padding-bottom: 0;
}

@media (max-width: 1279px) {
  #single-places-box #single-places-main {
    width: 94%;
  }
  #single-places-box #single-places-data-box {
    gap: 20px;
  }
  #single-places-box #single-places-data-box #single-places-slider,
  #single-places-box #single-places-data-box #single-places-data {
    width: calc(50% - 10px);
  }
  #single-places-box #single-places-data table th,
  #single-places-box #single-places-data table td,
  #single-places-box #single-places-data table td p {
    font-size: clamp(13px, 11px + 0.2604166667vw, 16px);
  }
}
@media screen and (max-width: 767px) {
  #single-places-box #single-places-main {
    width: auto;
    margin-left: 2.667vw;
    margin-right: 2.667vw;
  }
  #single-places-box .single-places-header {
    margin-bottom: 3.7333333333vw;
    font-size: 5.8666666667vw;
    line-height: 1.4;
  }
  #single-places-box .single-places-terms {
    gap: 2.1333333333vw;
    margin-bottom: 2.6666666667vw;
  }
  #single-places-box .single-places-terms li {
    margin: 0;
    padding: 4px 12px;
    font-size: clamp(12px, 3.4666666667vw, 14px);
  }
  #single-places-box #single-places-data-box {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
  #single-places-box #single-places-data-box #single-places-slider,
  #single-places-box #single-places-data-box #single-places-data {
    width: 100%;
  }
  #single-places-box #single-places-data table {
    width: 100%;
  }
  #single-places-box #single-places-data table:not(:first-child) {
    margin-top: 3.2vw;
  }
  #single-places-box #single-places-data table th {
    width: 18%;
    padding: 10px 2px;
  }
  #single-places-box #single-places-data table td {
    padding: 10px 12px;
  }
  #single-places-box #single-places-data table th,
  #single-places-box #single-places-data table td,
  #single-places-box #single-places-data table td p {
    font-size: clamp(13px, 3.7333333333vw, 15px);
    line-height: 1.6;
  }
  #single-places-box #single-places-data table th {
    font-size: 2.9333333333vw;
  }
  #single-places-box #single-places-data table td {
    font-size: 3.7333333333vw;
  }
  #single-places-box h2.single-places-heading {
    font-size: 4.2666666667vw;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 2.1333333333vw 4.2666666667vw;
    border-radius: 0;
    box-sizing: border-box;
  }
  #single-places-box .single-places-richtext,
  #single-places-box .single-places-map {
    width: 100%;
    margin: 3.7333333333vw auto 6.9333333333vw;
  }
  #single-places-box .single-places-map iframe {
    border-radius: 3.2vw;
  }
  #single-places-box .back-button {
    margin-top: 4.2666666667vw;
  }
  #single-places-box .back-button a {
    width: min(100%, 58.6666666667vw);
    height: 13.8666666667vw;
    font-size: clamp(14px, 4vw, 16px);
  }
}
#places-category-box {
  width: 94%;
  margin: 0 auto 50px;
  max-width: 1000px;
  padding: clamp(16px, 2.0833333333vw, 40px) clamp(14px, 1.8229166667vw, 35px) clamp(8px, 1.0416666667vw, 20px);
  border: solid 2px #f8f3eb;
  border-radius: 10px;
  position: relative;
}
#places-category-box #places-category-clear {
  position: absolute;
  right: 35px;
  top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #603813;
  border-radius: 100px;
  text-align: center;
  line-height: 1;
  padding: 13px 20px 10px;
  font-size: 13px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #places-category-box #places-category-clear {
    font-size: 2.6666666667vw;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: 5.3333333333vw;
    padding: 3.4666666667vw 5.3333333333vw 2.6666666667vw;
  }
}
#places-category-box #places-category-clear:hover {
  background: #f8f3eb;
  color: #603813;
}
#places-category-box #places-area p,
#places-category-box #places-category p {
  font-weight: 700;
  margin: 10px 0;
  font-size: clamp(16px, 14.6666666667px + 0.1736111111vw, 18px);
}
#places-category-box #places-area ul,
#places-category-box #places-category ul {
  display: flex;
  flex-wrap: wrap;
}
#places-category-box #places-area ul li,
#places-category-box #places-category ul li {
  font-size: clamp(13px, 11px + 0.2604166667vw, 16px);
}
#places-category-box #places-area ul li a,
#places-category-box #places-category ul li a {
  display: inline-block;
  padding: 3px 10px 0px;
  background: #ff931e;
  border: solid 1px #ff931e;
  border-radius: 5px;
  margin-right: 12px;
  margin-bottom: 12px;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  text-align: center;
}
#places-category-box #places-area ul li a.has-color,
#places-category-box #places-category ul li a.has-color {
  color: var(--places-category-color);
}
#places-category-box #places-area ul#places-category-ul li a,
#places-category-box #places-category ul#places-category-ul li a {
  background: #f8f3eb;
  border-radius: 100px;
  border-color: #f8f3eb;
  color: #603813;
  min-width: 136px;
}

#places-result {
  width: 94%;
  max-width: 1100px;
  margin: 0 auto 50px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
}
#places-result .places-result-label {
  margin: 0;
  font-size: clamp(20px, 17.3333333333px + 0.3472222222vw, 24px);
  font-weight: 500;
  line-height: 1.4;
}
#places-result .places-result-count {
  margin: 0;
  font-size: clamp(20px, 17.3333333333px + 0.3472222222vw, 24px);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #places-result {
    margin-bottom: 4.2666666667vw;
  }
  #places-result .places-result-label {
    font-size: 5.3333333333vw;
  }
  #places-result .places-result-count {
    font-size: 5.3333333333vw;
  }
}

#places-category-box #places-area ul li a,
#places-category-box #places-category ul li a {
  transition: all 0.3s ease;
}
#places-category-box #places-area ul li a:hover,
#places-category-box #places-category ul li a:hover {
  background: #fff;
  color: #ff931e;
}

#places-category-box #places-category ul li a:hover {
  border-color: #ff931e !important;
  color: #ff931e;
}

#archive-places-list {
  width: 94%;
  margin: 0 auto;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
}
#archive-places-list li {
  width: 32%;
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}
.js-enabled #archive-places-list li {
  opacity: 0;
  transform: translateY(24px);
}
#archive-places-list li.is-visible {
  opacity: 1;
  transform: translateY(0);
}
#archive-places-list li a {
  display: block;
}
#archive-places-list li a:hover .archive-places-thumbnail img {
  transform: scale(1.06);
}
#archive-places-list li .archive-places-thumbnail {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f4f4f4;
}
#archive-places-list li .archive-places-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  border-radius: inherit;
  transition: transform 0.3s ease;
  transform: scale(1);
}
#archive-places-list li .archive-places-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
  margin: 10px 0 0;
}
#archive-places-list li .archive-places-term {
  display: inline-block;
  padding: 3px 10px 0;
  font-size: clamp(11px, 10.3333333333px + 0.0868055556vw, 12px);
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 12px;
  border-radius: 5px;
}
#archive-places-list li .archive-places-term-area {
  background: #ff931e;
  color: #fff;
}
#archive-places-list li .archive-places-term-category {
  background: #f8f3eb;
  color: #603813;
  border-radius: 100px;
}
#archive-places-list li .places-title,
#archive-places-list li .archive-places-datetime,
#archive-places-list li .archive-places-target {
  display: block;
}
#archive-places-list li .places-title {
  font-size: clamp(18px, 16.6666666667px + 0.1736111111vw, 20px);
  font-weight: 500;
  line-height: 1.4;
}
#archive-places-list li .archive-places-datetime,
#archive-places-list li .archive-places-target,
#archive-places-list li .archive-places-venue {
  font-size: clamp(13px, 12.3333333333px + 0.0868055556vw, 14px);
  font-weight: 400;
}

#archive-places-category-sp-heading {
  display: none;
}

@media (max-width: 1279px) {
  #archive-places-category-sp-heading {
    display: none;
    text-align: center;
  }
  #places-category-box #places-area ul,
  #places-category-box #places-category ul {
    gap: 0 8px;
  }
  #places-category-box #places-area ul li,
  #places-category-box #places-category ul li {
    font-size: clamp(13px, 11.6666666667px + 0.1736111111vw, 15px);
  }
  #places-category-box #places-area ul li a,
  #places-category-box #places-category ul li a {
    margin-right: 0;
  }
  #archive-places-list {
    gap: 28px 16px;
  }
  #archive-places-list li {
    width: calc(50% - 8px);
  }
  #places-google-map {
    margin-top: 48px;
  }
}
@media screen and (max-width: 767px) {
  #archive-places {
    padding: 0 0 80px;
  }
  #archive-places-category-sp-heading {
    display: block;
    text-align: center;
    font-size: 4.2666666667vw;
    font-weight: 600;
  }
  #places-category-box {
    margin-bottom: 5.3333333333vw;
    padding: 4.2666666667vw 0 2.1333333333vw;
    border-right: none;
    border-left: none;
    border-radius: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  #places-category-box {
    padding: 5.3333333333vw 0 21.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #places-category-box #places-area,
  #places-category-box #places-category {
    padding-right: 2.6666666667vw;
    padding-left: 2.6666666667vw;
  }
  #places-category-box #places-area p,
  #places-category-box #places-category p {
    margin: 4px 0 8px;
    font-size: 3.4666666667vw;
  }
  #places-category-box #places-area ul,
  #places-category-box #places-category ul {
    gap: 0 8px;
  }
  #places-category-box #places-area ul li,
  #places-category-box #places-category ul li {
    font-size: 3.7333333333vw;
  }
  #places-category-box #places-area ul li a,
  #places-category-box #places-category ul li a {
    padding: 4px 10px 3px;
    margin-bottom: 2.1333333333vw;
  }
  #places-category-box #places-area ul#places-category-ul li a,
  #places-category-box #places-category ul#places-category-ul li a {
    min-width: unset;
  }
  #places-category-box #places-category {
    margin-top: 2.6666666667vw;
    padding-top: 2.6666666667vw;
    border-top: #f8f3eb 2px solid;
  }
  #archive-places-list {
    gap: 6.4vw;
  }
  #archive-places-list li {
    width: 100%;
    margin-bottom: 5.3333333333vw;
  }
  #archive-places-list li .archive-places-terms {
    gap: 0 8px;
    margin-top: 2.1333333333vw;
  }
  #archive-places-list li .archive-places-term {
    font-size: 3.2vw;
    margin-bottom: 2.1333333333vw;
  }
  #archive-places-list li .places-title {
    font-size: 5.3333333333vw;
    margin: 10px 0;
  }
  #archive-places-list li .archive-places-datetime,
  #archive-places-list li .archive-places-target,
  #archive-places-list li .archive-places-venue {
    font-size: 3.7333333333vw;
  }
  #places-google-map {
    margin-top: 11.7333333333vw;
  }
  #places-google-map #places-google-map-inner {
    margin-top: 4.2666666667vw;
  }
}
@media (prefers-reduced-motion: reduce) {
  #archive-places-list li {
    transition: none;
    transform: none !important;
    opacity: 1 !important;
  }
}
#places-google-map {
  width: 94%;
  max-width: 1100px;
  margin: clamp(24px, 3.125vw, 60px) auto 0;
}
#places-google-map #places-google-map-inner {
  margin-top: clamp(8px, 1.0416666667vw, 20px);
}
#places-google-map #places-google-map-canvas {
  width: 100%;
  height: clamp(208px, 27.0833333333vw, 520px);
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  overflow: hidden;
  background: #f4f4f4;
}
@media screen and (max-width: 767px) {
  #places-google-map #places-google-map-canvas {
    border-radius: 0;
    height: 149.3333333333vw;
    border-radius: 4.2666666667vw;
  }
}
#places-google-map .places-google-map-empty {
  margin: 0;
  padding: clamp(12px, 1.5625vw, 30px);
  border-radius: clamp(8px, 1.0416666667vw, 20px);
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #places-google-map .places-google-map-empty {
    padding: 5.3333333333vw;
    border-radius: 4.2666666667vw;
  }
}

.places-map-info-window {
  max-width: 300px;
  color: #603813;
}

.places-map-info-place {
  margin: 0 0 8px;
  font-size: clamp(14px, 12.6666666667px + 0.1736111111vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}

.places-map-info-address,
.places-map-info-heading,
.places-map-info-num,
.places-map-info-meta {
  margin: 0 0 8px;
  font-size: clamp(12px, 11.3333333333px + 0.0868055556vw, 13px);
  line-height: 1.6;
}

.places-map-info-heading {
  font-weight: 700;
}

.places-map-info-programs {
  display: grid;
  gap: 10px;
}

.places-map-info-program {
  padding: 10px 12px;
  border: 1px solid rgba(96, 56, 19, 0.16);
  border-radius: 12px;
  background: #fbf8f3;
}

.places-map-info-image {
  margin: 0 auto 8px;
  width: 150px;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f4f4f4;
}
.places-map-info-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.places-map-info-title {
  margin: 0 0 6px;
  font-size: clamp(13px, 12.3333333333px + 0.0868055556vw, 14px);
  font-weight: 700;
  line-height: 1.6;
}

.places-map-info-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #ff931e;
  color: #fff;
  font-size: clamp(11px, 10.3333333333px + 0.0868055556vw, 12px);
  font-weight: 700;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .places-map-info-place {
    font-size: clamp(14px, 4vw, 16px);
  }
  .places-map-info-address,
  .places-map-info-heading,
  .places-map-info-num,
  .places-map-info-meta {
    font-size: clamp(12px, 3.2vw, 13px);
  }
  .places-map-info-title {
    font-size: clamp(13px, 3.4666666667vw, 14px);
  }
  .places-map-info-link {
    font-size: clamp(11px, 2.9333333333vw, 12px);
  }
}
.archive-places-empty {
  text-align: center;
  margin: 100px auto;
}

#sp-map-nav-button-box {
  display: none;
}
#sp-map-nav-button-box a {
  display: none;
}
@media screen and (max-width: 767px) {
  #sp-map-nav-button-box {
    display: block;
  }
  #sp-map-nav-button-box a {
    margin: 5.3333333333vw auto 10.6666666667vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 94%;
    height: 18.6666666667vw;
    background: #fde5dc;
    color: #ff931e;
    border: #ff931e 1px solid;
    border-radius: 2.6666666667vw;
    font-weight: bold;
    line-height: 1;
  }
}

#page-supporters-box .page-supporters-inner,
#page-supporters-box .page-supporters-inner-lightgreen {
  width: 94%;
  max-width: clamp(400px, 52.0833333333vw, 1000px);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-inner,
  #page-supporters-box .page-supporters-inner-lightgreen {
    width: 100%;
    margin: 0 auto;
  }
}
#page-supporters-box .page-supporters-inner ul li,
#page-supporters-box .page-supporters-inner ol li,
#page-supporters-box .page-supporters-inner-lightgreen ul li,
#page-supporters-box .page-supporters-inner-lightgreen ol li {
  font-weight: 600;
}
#page-supporters-box .page-supporters-inner-lightgreen {
  max-width: clamp(480px, 62.5vw, 1200px);
  background: #e6f4eb;
  border-radius: clamp(16px, 2.0833333333vw, 40px);
  padding: clamp(20px, 2.6041666667vw, 50px) clamp(16px, 2.0833333333vw, 40px) clamp(16px, 2.0833333333vw, 40px);
  margin: clamp(40px, 5.2083333333vw, 100px) auto;
}
#page-supporters-box .page-supporters-inner-lightgreen p {
  font-size: clamp(8.8px, 1.1458333333vw, 22px);
  margin: clamp(16px, 2.0833333333vw, 40px) 0;
  line-height: 1.8;
  text-align: center;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-inner-lightgreen p {
    font-size: 4vw;
    text-align: left;
  }
}
#page-supporters-box .page-supporters-bg-cream {
  background: #f8f3eb;
  border-radius: clamp(16px, 2.0833333333vw, 40px);
  padding: clamp(16px, 2.0833333333vw, 40px);
  margin: clamp(12px, 1.5625vw, 30px) auto;
}
#page-supporters-box .page-supporters-bg-cream p,
#page-supporters-box .page-supporters-bg-cream li {
  text-align: left;
}
#page-supporters-box .page-supporters-bg-cream .heading-bg-green {
  font-size: clamp(8px, 1.0416666667vw, 20px);
  text-align: center;
  color: #22b573;
  padding: clamp(2px, 0.2604166667vw, 5px);
  margin: clamp(16px, 2.0833333333vw, 40px) auto clamp(8px, 1.0416666667vw, 20px);
  background: none;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-cream .heading-bg-green {
    font-size: 4.8vw;
    margin: clamp(12px, 1.5625vw, 30px) auto clamp(8px, 1.0416666667vw, 20px);
  }
}
#page-supporters-box .page-supporters-bg-cream .heading-bg-green:first-of-type {
  margin-top: 0;
}
#page-supporters-box .page-supporters-bg-cream ul.ul-disc {
  margin: 0;
  padding: 0;
  list-style: none;
}
#page-supporters-box .page-supporters-bg-cream ul.ul-disc li {
  position: relative;
  padding-left: clamp(8px, 1.0416666667vw, 20px);
  margin-bottom: clamp(1.2px, 0.15625vw, 3px);
  text-align: left;
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-cream ul.ul-disc li {
    font-size: 4vw;
    padding-left: 3.2vw;
  }
}
#page-supporters-box .page-supporters-bg-cream ul.ul-disc li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: clamp(6px, 0.78125vw, 15px);
  transform: translateY(-50%);
  color: #603813;
  font-size: clamp(8px, 1.0416666667vw, 20px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-cream ul.ul-disc li::before {
    font-size: 4vw;
    top: 3.4666666667vw;
  }
}
#page-supporters-box .page-supporters-bg-cream ul li,
#page-supporters-box .page-supporters-bg-cream ol li {
  font-size: clamp(6.4px, 0.8333333333vw, 16px);
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-cream ul li,
  #page-supporters-box .page-supporters-bg-cream ol li {
    font-size: 4.2666666667vw;
  }
}
#page-supporters-box .page-supporters-2col,
#page-supporters-box .page-supporters-3col {
  display: flex;
  gap: clamp(16px, 2.0833333333vw, 40px);
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-2col,
  #page-supporters-box .page-supporters-3col {
    flex-direction: column;
    gap: clamp(8px, 1.0416666667vw, 20px);
  }
}
#page-supporters-box .page-supporters-2col .page-supporters-2col-left,
#page-supporters-box .page-supporters-3col .page-supporters-2col-left {
  width: 68%;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-2col .page-supporters-2col-left,
  #page-supporters-box .page-supporters-3col .page-supporters-2col-left {
    width: 100%;
  }
}
#page-supporters-box .page-supporters-2col + p:first-child,
#page-supporters-box .page-supporters-3col + p:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-2col .page-supporters-2col-right,
  #page-supporters-box .page-supporters-3col .page-supporters-2col-right {
    width: 100%;
  }
}
#page-supporters-box .page-supporters-2col-bottom {
  align-items: flex-end;
}
#page-supporters-box .page-supporters-3col {
  gap: clamp(8px, 1.0416666667vw, 20px);
}
#page-supporters-box .page-supporters-3col p,
#page-supporters-box .page-supporters-3col li {
  text-align: left;
}
#page-supporters-box .page-supporters-3col div {
  text-align: left;
  width: 33.3333%;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-3col div {
    width: 100%;
  }
}
#page-supporters-box .page-supporters-3col-left p:first-of-type,
#page-supporters-box .page-supporters-3col-center p:first-of-type,
#page-supporters-box .page-supporters-3col-right p:first-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-3col-left,
  #page-supporters-box .page-supporters-3col-center,
  #page-supporters-box .page-supporters-3col-right {
    width: 100%;
  }
}
#page-supporters-box .support-donation-img-1 {
  width: clamp(101.6px, 13.2291666667vw, 254px);
  height: auto;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .support-donation-img-1 {
    width: 90%;
    display: block;
    margin: 0 auto;
  }
}
#page-supporters-box .support-donation-img-2 {
  width: clamp(64px, 8.3333333333vw, 160px);
  height: auto;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .support-donation-img-2 {
    width: 37.8666666667vw;
    display: block;
    margin: 0 auto;
  }
}
#page-supporters-box .page-supporters-bg-white {
  background: #fff;
  border-radius: clamp(15.2px, 1.9791666667vw, 38px);
  padding: clamp(16px, 2.0833333333vw, 40px);
  margin: clamp(12px, 1.5625vw, 30px) auto 0;
}
#page-supporters-box .page-supporters-bg-white .page-supporters-2col,
#page-supporters-box .page-supporters-bg-white .page-supporters-3col {
  display: flex;
  gap: clamp(16px, 2.0833333333vw, 40px);
}
#page-supporters-box .page-supporters-bg-white .page-supporters-2col .page-supporters-2col-left,
#page-supporters-box .page-supporters-bg-white .page-supporters-3col .page-supporters-2col-left {
  width: 72%;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-white .page-supporters-2col .page-supporters-2col-left,
  #page-supporters-box .page-supporters-bg-white .page-supporters-3col .page-supporters-2col-left {
    width: 100%;
  }
}
#page-supporters-box .page-supporters-bg-white .page-supporters-2col + p:first-of-type,
#page-supporters-box .page-supporters-bg-white .page-supporters-3col + p:first-of-type {
  margin-top: 0;
}
#page-supporters-box .page-supporters-bg-white .ng {
  border-bottom: solid 1px #603813;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: 0 auto clamp(8px, 1.0416666667vw, 20px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #page-supporters-box .page-supporters-bg-white .ng {
    margin: 2.6666666667vw auto 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
#page-supporters-box .page-supporters-bg-white p,
#page-supporters-box .page-supporters-bg-white li {
  text-align: left;
}
#page-supporters-box p.supporters-p-s {
  font-size: 90%;
}

.button-donation {
  text-align: center;
  margin: clamp(20px, 2.6041666667vw, 50px) auto;
}
@media screen and (max-width: 767px) {
  .button-donation {
    margin: 5.3333333333vw auto 10.6666666667vw;
  }
}
.button-donation a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: clamp(6px, 0.78125vw, 15px) clamp(16px, 2.0833333333vw, 40px) clamp(5.6px, 0.7291666667vw, 14px);
  background: #fff;
  border: 1px solid #22b573;
  color: #22b573;
  text-decoration: none;
  border-radius: 100px;
  min-width: clamp(88px, 11.4583333333vw, 220px);
  font-size: clamp(7.2px, 0.9375vw, 18px);
  font-weight: bold;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button-donation a {
    width: 100%;
    font-size: 6.4vw;
    padding: 3.2vw 2.6666666667vw 2.9333333333vw;
    margin-top: 4.8vw;
  }
}
.button-donation a:hover {
  background: #22b573;
  color: #fff;
}

.button-donation-s a {
  font-size: clamp(7.2px, 0.9375vw, 18px);
}
@media screen and (max-width: 767px) {
  .button-donation-s a {
    font-size: 5.6vw;
  }
}