@charset "UTF-8";
/* A Modern CSS Reset */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

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

ul[role=list],
ol[role=list] {
  list-style: none;
  list-style-type: none;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.8;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

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

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*
 * HTML
 * -------------------------------------------------------------------
 */
body {
  font-family: "Noto Serif JP", -apple-system, BlinkMacSystemFont, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.7;
  position: relative;
}

a {
  text-decoration: none;
  outline: none;
}

/*
 * wrapper
 * -------------------------------------------------------------------
 */
.cont-wrapper {
  display: block;
  margin: 0px auto;
  padding: 0px;
}

.dl {
  display: none;
}
@media (max-width: 640px) {
  .dl {
    display: inline-block;
  }
}

.bg-l-blue {
  background-color: #e8f5f8;
}

.bg-blue {
  background-color: #7cb6d1;
}

.c-container__inner {
  width: 92%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 60px 0 120px;
}
@media (max-width: 768px) {
  .c-container__inner {
    padding: clamp(3.125rem, 2.679rem + 2.232vw, 3.75rem) 0 clamp(5rem, 3.661rem + 6.696vw, 6.875rem);
  }
}
.c-container__inner.u-wide {
  max-width: 1200px;
}
.c-container__inner.l-sec-fun {
  padding: 60px 0 70px;
}
.c-container .c-tutle-h1 {
  text-align: center;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1.6;
  color: #231815;
}
@media (max-width: 768px) {
  .c-container .c-tutle-h1 {
    font-size: clamp(1.5rem, 1.054rem + 2.232vw, 2.125rem);
    line-height: 1.5;
  }
}
.c-container .c-tutle-h1 span {
  display: block;
  margin-bottom: 0.3em;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .c-container .c-tutle-h1 span {
    margin-bottom: 0.2rem;
    font-size: clamp(1rem, 0.866rem + 0.67vw, 1.1875rem);
  }
}
.c-container .c-tutle-h2 {
  text-align: center;
  font-size: 31px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #231815;
}
@media (max-width: 768px) {
  .c-container .c-tutle-h2 {
    font-size: clamp(1.25rem, 0.804rem + 2.232vw, 1.875rem);
    line-height: 1.5;
  }
}
.c-container p {
  color: #231815;
}
.c-container p.c-text--midashi {
  margin-top: 1.2rem;
  text-align: center;
  font-size: 1.1rem;
  font-size: min(4vw, 1.1rem);
  line-height: 2;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  .c-container p.c-text--midashi {
    font-size: clamp(0.9375rem, 0.759rem + 0.893vw, 1.1875rem);
  }
}
@media (max-width: 480px) {
  .c-container p.c-text--midashi {
    letter-spacing: 0.1em;
  }
}
.c-container p.c-text--midashi.c-small {
  font-size: 1.02rem;
  font-size: min(4vw, 1.02rem);
  line-height: 2;
}
@media (max-width: 768px) {
  .c-container p.c-text--midashi.c-small {
    font-size: clamp(1rem, 0.911rem + 0.446vw, 1.125rem);
  }
}
.c-container .c-access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2.125rem, -5.323rem + 15.517vw, 4.375rem);
  width: 100%;
  max-width: 1000px;
  margin: 90px auto 0;
}
@media (max-width: 768px) {
  .c-container .c-access {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 60px;
    margin: 70px auto 0;
  }
}
.c-container .c-access + .c-tutle-h2 {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .c-container .c-access + .c-tutle-h2 {
    margin-top: 70px;
  }
}
.c-container .c-access__map {
  width: clamp(23.125rem, -9.978rem + 68.966vw, 33.125rem);
}
@media (max-width: 768px) {
  .c-container .c-access__map {
    width: 100%;
    max-width: 540px;
  }
}
.c-container .c-access__detail {
  width: calc(100% - clamp(23.125rem, -9.978rem + 68.966vw, 33.125rem));
  font-family: "Noto Sans JP";
}
@media (max-width: 768px) {
  .c-container .c-access__detail {
    width: 100%;
    max-width: 530px;
  }
}
.c-container .c-access__detail--list + .c-access__detail--list {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .c-container .c-access__detail--list + .c-access__detail--list {
    margin-top: 1.6rem;
  }
}
.c-container .c-access__detail dt {
  display: block;
  margin-bottom: 0.3em;
  height: 20px;
}
@media (max-width: 768px) {
  .c-container .c-access__detail dt {
    margin-bottom: 0.4em;
  }
}
.c-container .c-access__detail dt img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.c-container .c-access__detail dd {
  color: #231815;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.075em;
}
.c-container .c-access__detail dd a {
  color: #0071bc;
}
.c-container .p-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px;
  width: 100%;
  max-width: 890px;
  margin: 40px auto 0;
}
@media (max-width: 640px) {
  .c-container .p-points {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
}
.c-container .p-points__item {
  display: block;
}
@media (max-width: 640px) {
  .c-container .p-points__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    gap: clamp(1.25rem, 0.625rem + 3.125vw, 1.875rem);
  }
}
@media (max-width: 640px) {
  .c-container .p-points__item--icon {
    width: clamp(7.5rem, 6.25rem + 6.25vw, 8.75rem);
  }
}
.c-container .p-points__item--icon dd {
  margin: 0 auto 10px;
}
@media (max-width: 640px) {
  .c-container .p-points__item--icon dd {
    width: 100%;
    margin: 0;
  }
}
.c-container .p-points__item--icon dd img {
  width: 150px;
  height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .c-container .p-points__item--icon dd img {
    width: clamp(7.5rem, 6.607rem + 4.464vw, 8.75rem);
    height: clamp(7.5rem, 6.607rem + 4.464vw, 8.75rem);
  }
}
.c-container .p-points__item--icon dt {
  font-family: "Noto Sans JP";
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 640px) {
  .c-container .p-points__item--icon dt {
    display: none;
  }
}
.c-container .p-points .p-points__item--txt {
  margin: 20px auto 0;
  font-family: "Noto Sans JP";
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media (max-width: 640px) {
  .c-container .p-points .p-points__item--txt {
    display: block;
    width: calc(100% - 100px);
    margin: 0;
    text-align: left;
  }
}
.c-container .p-points .p-points__item--txt span {
  display: none;
}
@media (max-width: 640px) {
  .c-container .p-points .p-points__item--txt span {
    display: block;
    margin-bottom: 0.3em;
    font-family: "Noto Sans JP";
    text-align: left;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}
.c-container .p-tourism {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  width: 100%;
  max-width: 1000px;
  margin: 40px auto 0;
}
@media (max-width: 928px) {
  .c-container .p-tourism {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 530px;
  }
}
@media (max-width: 480px) {
  .c-container .p-tourism {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 26px;
  }
}
.c-container .p-tourism + .p-tourism {
  margin-top: 70px;
}
@media (max-width: 928px) {
  .c-container .p-tourism + .p-tourism {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  .c-container .p-tourism + .p-tourism {
    margin-top: 26px;
  }
}
.c-container .p-tourism__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  gap: 1.5rem;
}
@media (max-width: 480px) {
  .c-container .p-tourism__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.6rem;
  }
}
.c-container .p-tourism__item:first-child {
  width: clamp(21.25rem, -10.972rem + 55.556vw, 23.75rem);
}
@media (max-width: 480px) {
  .c-container .p-tourism__item:first-child {
    width: 100%;
  }
}
.c-container .p-tourism__item--thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 480px) {
  .c-container .p-tourism__item--thumb {
    gap: 14px;
  }
}
.c-container .p-tourism__item--thumb img {
  width: 90px;
  height: 90px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 480px) {
  .c-container .p-tourism__item--thumb img {
    width: 90px;
    height: 90px;
  }
}
.c-container .p-tourism__item--title {
  font-family: "Noto Sans JP";
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media (max-width: 480px) {
  .c-container .p-tourism__item--title {
    font-size: 16px;
    text-align: center;
  }
}
.c-container .p-oirase-days {
  display: block;
  width: 100%;
  margin: 40px auto 0;
  padding: 50px 0 80px;
  background-color: #ffffff;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days {
    padding: clamp(2.5rem, 2.054rem + 2.232vw, 3.125rem) 0;
  }
}
.c-container .p-oirase-days__item {
  display: block;
  width: 94%;
  max-width: 1120px;
  margin: 0 auto;
}
.c-container .p-oirase-days__item--day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}
.c-container .p-oirase-days__item--day.u-morning {
  width: clamp(16.25rem, 7.767rem + 17.672vw, 18.8125rem);
  margin-bottom: 18px;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__item--day.u-morning {
    width: clamp(11.4375rem, 6.214rem + 26.116vw, 18.75rem);
    margin-bottom: clamp(0.75rem, 0.482rem + 1.339vw, 1.125rem);
  }
}
.c-container .p-oirase-days__item--day.u-afternoon {
  width: clamp(13rem, 8.862rem + 8.621vw, 14.25rem);
  margin: 50px auto 15px;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__item--day.u-afternoon {
    width: clamp(8.625rem, 4.607rem + 20.089vw, 14.25rem);
    margin: clamp(2.125rem, 1.411rem + 3.571vw, 3.125rem) auto clamp(0.75rem, 0.616rem + 0.67vw, 0.9375rem);
  }
}
.c-container .p-oirase-days__item--day.u-evening {
  width: clamp(12.375rem, 7.823rem + 9.483vw, 13.75rem);
  margin: 40px auto 20px;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__item--day.u-evening {
    width: clamp(7.625rem, 3.25rem + 21.875vw, 13.75rem);
    margin: clamp(2.125rem, 1.857rem + 1.339vw, 2.5rem) auto clamp(0.875rem, 0.607rem + 1.339vw, 1.25rem);
  }
}
.c-container .p-oirase-days__item--day img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
  text-align: center;
}
.c-container .p-oirase-days__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(1.875rem, -1.458rem + 6.944vw, 3.75rem);
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.8rem;
    gap: clamp(1.25rem, -0.089rem + 6.696vw, 3.125rem);
  }
}
.c-container .p-oirase-days__info.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__info.reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-container .p-oirase-days__info--thumb {
  width: clamp(21.25rem, -0.972rem + 46.296vw, 33.75rem);
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__info--thumb {
    width: 90%;
    max-width: 560px;
  }
}
.c-container .p-oirase-days__info--thumb img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-container .p-oirase-days__info--txt {
  width: calc(100% - clamp(21.25rem, -0.972rem + 46.296vw, 33.75rem) - clamp(1.875rem, -1.458rem + 6.944vw, 3.75rem));
  color: #231815;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.075em;
}
@media (max-width: 768px) {
  .c-container .p-oirase-days__info--txt {
    width: 90%;
    max-width: 560px;
    font-size: clamp(1rem, 0.911rem + 0.446vw, 1.125rem);
  }
}
.c-container .p-access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .c-container .p-access {
    margin-top: clamp(2.5rem, 2.054rem + 2.232vw, 3.125rem);
  }
}
.c-container .p-access .p-access-destination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: clamp(5.8125rem, -0.188rem + 12.5vw, 9.375rem);
}
@media (max-width: 768px) {
  .c-container .p-access .p-access-destination {
    display: none;
  }
}
.c-container .p-access .p-access-destination img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-container .p-access-traffic {
  width: calc(100% - clamp(5.8125rem, -0.188rem + 12.5vw, 9.375rem));
}
@media (max-width: 768px) {
  .c-container .p-access-traffic {
    width: 100%;
  }
}
.c-container .p-access-traffic__item + .p-access-traffic__item {
  margin-top: clamp(1.5625rem, -0.543rem + 4.386vw, 2.8125rem);
}
@media (max-width: 768px) {
  .c-container .p-access-traffic__item + .p-access-traffic__item {
    margin-top: clamp(1.875rem, 1.429rem + 2.232vw, 2.5rem);
  }
}
.c-container .p-fun {
  margin-top: 90px;
}
@media (max-width: 768px) {
  .c-container .p-fun {
    margin-top: clamp(3.125rem, 2.232rem + 4.464vw, 4.375rem);
  }
}
.c-container .p-fun__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  z-index: 2;
}
@media (max-width: 768px) {
  .c-container .p-fun__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-container .p-fun__item + .p-fun__item {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .c-container .p-fun__item + .p-fun__item {
    margin-top: myClapm(40, 60, 320, 768);
  }
}
.c-container .p-fun__item--type {
  width: clamp(12.5rem, -0.278rem + 26.62vw, 19.6875rem);
  padding: 6px 0;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--type {
    width: 100%;
    border-bottom: solid 1px #ffffff;
    padding: 0 0 1rem;
  }
}
.c-container .p-fun__item--type img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--type img {
    max-width: clamp(13.125rem, 9.107rem + 20.089vw, 18.75rem);
  }
}
.c-container .p-fun__item--info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: calc(100% - clamp(12.5rem, -0.278rem + 26.62vw, 19.6875rem));
  padding: 6px 0 6px clamp(0.625rem, -0.708rem + 2.778vw, 1.375rem);
  border-left: solid 1px #ffffff;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    width: 100%;
    padding: 1rem 0 0;
    border-left: none;
  }
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info .p-fun-txt {
    width: 100%;
  }
}
.c-container .p-fun__item--info .p-fun-txt p {
  color: #ffffff;
  font-size: clamp(1rem, 0.778rem + 0.463vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 2;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info .p-fun-txt p {
    font-size: clamp(0.9375rem, 0.804rem + 0.67vw, 1.125rem);
  }
}
.c-container .p-fun__item--info .p-fun-txt p + p {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info .p-fun-txt p + p {
    margin-top: 0.8rem;
  }
}
.c-container .p-fun__item--info .p-fun-txt p a {
  color: #008dcb;
}
.c-container .p-fun__item--info .p-fun-txt p .p-fun-txt__note {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 0.9lh;
  margin-right: 1em;
  padding: 0 0.5em;
  border: solid 1px #ffffff;
  font-size: 16px;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info .p-fun-txt p .p-fun-txt__note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 6rem;
    margin-bottom: 0.1em;
  }
}
.c-container .p-fun__item--info .p-fun-thumb {
  width: 260px;
  margin-left: 10px;
}
@media (max-width: 768px) {
  .c-container .p-fun__item--info .p-fun-thumb {
    width: 100%;
    margin-left: auto;
  }
}
.c-container .p-fun__item--info .p-fun-thumb img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-container .p-fun__item.walk .p-fun-txt {
  padding-right: clamp(14.75rem, 2.083rem + 26.389vw, 21.875rem);
}
@media (max-width: 768px) {
  .c-container .p-fun__item.walk .p-fun-txt {
    padding: 0;
  }
}
.c-container .p-fun .p-walk-map {
  position: relative;
  margin-top: calc(-1 * clamp(4.0625rem, -1.16rem + 10.88vw, 7rem));
  z-index: 1;
}
@media (max-width: 768px) {
  .c-container .p-fun .p-walk-map {
    margin: 1.2rem auto 0;
  }
}
.c-container .p-busy-schedule {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .c-container .p-busy-schedule {
    margin-top: clamp(2.5rem, 1.607rem + 4.464vw, 3.75rem);
  }
}
.c-container .p-busy-schedule img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}
.c-container .p-link-cont {
  width: 100%;
  margin: 30px auto 0;
  background-color: #ffffff;
}
.c-container .p-link-cont ul {
  width: 94%;
  max-width: 860px;
  margin: 0 auto;
  padding: 55px 0 70px;
}
@media (max-width: 768px) {
  .c-container .p-link-cont ul {
    max-width: 410px;
    padding: clamp(1.875rem, 1.429rem + 2.232vw, 2.5rem) 1em clamp(2.5rem, 2.054rem + 2.232vw, 3.125rem);
  }
}
@media (max-width: 480px) {
  .c-container .p-link-cont ul {
    width: 100%;
  }
}
.c-container .p-link-cont ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  gap: 10px calc(30px + 0.5lh);
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .c-container .p-link-cont ul li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-container .p-link-cont ul li + li {
  margin-top: 1.5rem;
}
.c-container .p-link-cont ul li .p-link-cont__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  width: 345px;
  height: 1.1lh;
  padding-left: 1.5em;
  background-color: #7cb6d1;
  color: #ffffff;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.075em;
}
@media (max-width: 480px) {
  .c-container .p-link-cont ul li .p-link-cont__title {
    width: 96%;
    padding-left: 0.7rem;
    font-size: clamp(0.76875rem, 0.6rem + 0.844vw, 0.9375rem);
    height: 1.2lh;
  }
}
.c-container .p-link-cont ul li .p-link-cont__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  width: 0;
  height: 0;
  border-top: 0.55lh solid transparent;
  border-bottom: 0.55lh solid transparent;
  border-left: 0.6lh solid #7cb6d1; /* 同じ背景色 */
}
@media (max-width: 480px) {
  .c-container .p-link-cont ul li .p-link-cont__title::after {
    border-top: 0.6lh solid transparent;
    border-bottom: 0.6lh solid transparent;
    border-left: 0.65lh solid #7cb6d1; /* 同じ背景色 */
  }
}
.c-container .p-link-cont ul li .p-link-cont__links {
  width: calc(100% - 364px);
}
@media (max-width: 768px) {
  .c-container .p-link-cont ul li .p-link-cont__links {
    width: 100%;
  }
}
.c-container .p-link-cont ul li a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #003659;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.075em;
}
@media (max-width: 768px) {
  .c-container .p-link-cont ul li a {
    font-size: clamp(0.875rem, 0.696rem + 0.893vw, 1.125rem);
  }
}
.c-container .p-link-cont ul li a + a {
  margin-top: 0.3rem;
}
.c-container .u-link-insta {
  display: block;
  margin: 40px auto 0;
}
@media (max-width: 768px) {
  .c-container .u-link-insta {
    margin: clamp(1.25rem, 0.804rem + 2.232vw, 1.875rem) auto 0;
  }
}
.c-container .u-link-insta a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.c-container .u-link-insta a img {
  width: 62px;
  height: 62px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .c-container .u-link-insta a img {
    width: clamp(3rem, 2.375rem + 3.125vw, 3.875rem);
    height: clamp(3rem, 2.375rem + 3.125vw, 3.875rem);
  }
}

/* Hero Swiper Styles */
.p-hero {
  position: relative;
  overflow: hidden;
}
.p-hero .hero-swiper {
  width: 100%;
  height: auto;
}
.p-hero .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 !important;
  width: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: clamp(33.125rem, 0.744rem + 67.46vw, 43.75rem);
}
@media (max-width: 768px) {
  .p-hero .swiper-slide {
    height: clamp(13.75rem, -0.089rem + 69.196vw, 33.125rem);
  }
}
@supports (-webkit-appearance: none) {
  .p-hero .swiper-slide {
    width: auto !important;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.p-hero .hero-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 !important;
  width: auto;
  height: 100%;
}
.p-hero .hero-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@supports (-webkit-appearance: none) {
  .p-hero .hero-slide img {
    width: auto !important;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

/* Swiper Navigation Styles */
.hero-swiper .swiper-button-next,
.hero-swiper .swiper-button-prev {
  color: white;
  background: #ffffff;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hero-swiper .swiper-button-next::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 52%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../img/slide-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 14px;
  height: 26px;
}

.hero-swiper .swiper-button-prev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 48%;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
  background-image: url(../img/slide-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 14px;
  height: 26px;
}

.hero-swiper .swiper-button-next:hover,
.hero-swiper .swiper-button-prev:hover {
  background: rgba(255, 255, 255, 0.3);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.hero-swiper .swiper-button-next::after,
.hero-swiper .swiper-button-prev::after {
  font-size: 18px;
  font-weight: bold;
}

/* Swiper Pagination Styles */
.hero-swiper .swiper-pagination {
  bottom: 20px;
}

.hero-swiper .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hero-swiper .swiper-pagination-bullet-active {
  background: white;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

/* Responsive Styles */
@media (max-width: 768px) {
  .hero-swiper .swiper-button-next,
  .hero-swiper .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
  .hero-swiper .swiper-button-next::after,
  .hero-swiper .swiper-button-prev::after {
    font-size: 14px;
  }
}
.l-footer {
  background-color: #487f83;
}
.l-footer__container {
  width: 92%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 66px 0 86px;
}
@media (max-width: 768px) {
  .l-footer__container {
    padding: clamp(1.875rem, 0.982rem + 4.464vw, 3.125rem) 0 clamp(2.75rem, 1.768rem + 4.911vw, 4.125rem);
  }
}
.l-footer__container p {
  font-family: "Noto Sans JP";
  color: #ffffff;
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.7;
}
@media (max-width: 768px) {
  .l-footer__container p {
    font-size: clamp(0.875rem, 0.696rem + 0.893vw, 1.125rem);
  }
}

/*
 * 汎用
 * -------------------------------------------------------------------
 */
@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
@media (min-width: 768.1px) {
  .sp {
    display: none !important;
  }
}
.tx_c {
  text-align: center;
}

.tx_l {
  text-align: left;
}

.tx_r {
  text-align: right;
}

/* 余白 */
.ma-0 {
  margin: 0rem !important;
}
.mb-0 {
  margin-bottom: 0rem !important;
}
.mt-0 {
  margin-top: 0rem !important;
}
.ml-0 {
  margin-left: 0rem !important;
}
.mr-0 {
  margin-right: 0rem !important;
}

.pa-0 {
  padding: 0rem !important;
}
.pb-0 {
  padding-bottom: 0rem !important;
}
.pt-0 {
  padding-top: 0rem !important;
}
.pl-0 {
  padding-left: 0rem !important;
}
.pr-0 {
  padding-right: 0rem !important;
}

.ma-1 {
  margin: 1rem !important;
}
.mb-1 {
  margin-bottom: 1rem !important;
}
.mt-1 {
  margin-top: 1rem !important;
}
.ml-1 {
  margin-left: 1rem !important;
}
.mr-1 {
  margin-right: 1rem !important;
}

.pa-1 {
  padding: 1rem !important;
}
.pb-1 {
  padding-bottom: 1rem !important;
}
.pt-1 {
  padding-top: 1rem !important;
}
.pl-1 {
  padding-left: 1rem !important;
}
.pr-1 {
  padding-right: 1rem !important;
}

.ma-2 {
  margin: 2rem !important;
}
.mb-2 {
  margin-bottom: 2rem !important;
}
.mt-2 {
  margin-top: 2rem !important;
}
.ml-2 {
  margin-left: 2rem !important;
}
.mr-2 {
  margin-right: 2rem !important;
}

.pa-2 {
  padding: 2rem !important;
}
.pb-2 {
  padding-bottom: 2rem !important;
}
.pt-2 {
  padding-top: 2rem !important;
}
.pl-2 {
  padding-left: 2rem !important;
}
.pr-2 {
  padding-right: 2rem !important;
}

.ma-3 {
  margin: 3rem !important;
}
.mb-3 {
  margin-bottom: 3rem !important;
}
.mt-3 {
  margin-top: 3rem !important;
}
.ml-3 {
  margin-left: 3rem !important;
}
.mr-3 {
  margin-right: 3rem !important;
}

.pa-3 {
  padding: 3rem !important;
}
.pb-3 {
  padding-bottom: 3rem !important;
}
.pt-3 {
  padding-top: 3rem !important;
}
.pl-3 {
  padding-left: 3rem !important;
}
.pr-3 {
  padding-right: 3rem !important;
}

.ma-4 {
  margin: 4rem !important;
}
.mb-4 {
  margin-bottom: 4rem !important;
}
.mt-4 {
  margin-top: 4rem !important;
}
.ml-4 {
  margin-left: 4rem !important;
}
.mr-4 {
  margin-right: 4rem !important;
}

.pa-4 {
  padding: 4rem !important;
}
.pb-4 {
  padding-bottom: 4rem !important;
}
.pt-4 {
  padding-top: 4rem !important;
}
.pl-4 {
  padding-left: 4rem !important;
}
.pr-4 {
  padding-right: 4rem !important;
}

.ma-5 {
  margin: 5rem !important;
}
.mb-5 {
  margin-bottom: 5rem !important;
}
.mt-5 {
  margin-top: 5rem !important;
}
.ml-5 {
  margin-left: 5rem !important;
}
.mr-5 {
  margin-right: 5rem !important;
}

.pa-5 {
  padding: 5rem !important;
}
.pb-5 {
  padding-bottom: 5rem !important;
}
.pt-5 {
  padding-top: 5rem !important;
}
.pl-5 {
  padding-left: 5rem !important;
}
.pr-5 {
  padding-right: 5rem !important;
}

.ma-6 {
  margin: 6rem !important;
}
.mb-6 {
  margin-bottom: 6rem !important;
}
.mt-6 {
  margin-top: 6rem !important;
}
.ml-6 {
  margin-left: 6rem !important;
}
.mr-6 {
  margin-right: 6rem !important;
}

.pa-6 {
  padding: 6rem !important;
}
.pb-6 {
  padding-bottom: 6rem !important;
}
.pt-6 {
  padding-top: 6rem !important;
}
.pl-6 {
  padding-left: 6rem !important;
}
.pr-6 {
  padding-right: 6rem !important;
}

.ma-7 {
  margin: 7rem !important;
}
.mb-7 {
  margin-bottom: 7rem !important;
}
.mt-7 {
  margin-top: 7rem !important;
}
.ml-7 {
  margin-left: 7rem !important;
}
.mr-7 {
  margin-right: 7rem !important;
}

.pa-7 {
  padding: 7rem !important;
}
.pb-7 {
  padding-bottom: 7rem !important;
}
.pt-7 {
  padding-top: 7rem !important;
}
.pl-7 {
  padding-left: 7rem !important;
}
.pr-7 {
  padding-right: 7rem !important;
}

.ma-8 {
  margin: 8rem !important;
}
.mb-8 {
  margin-bottom: 8rem !important;
}
.mt-8 {
  margin-top: 8rem !important;
}
.ml-8 {
  margin-left: 8rem !important;
}
.mr-8 {
  margin-right: 8rem !important;
}

.pa-8 {
  padding: 8rem !important;
}
.pb-8 {
  padding-bottom: 8rem !important;
}
.pt-8 {
  padding-top: 8rem !important;
}
.pl-8 {
  padding-left: 8rem !important;
}
.pr-8 {
  padding-right: 8rem !important;
}

.ma-9 {
  margin: 9rem !important;
}
.mb-9 {
  margin-bottom: 9rem !important;
}
.mt-9 {
  margin-top: 9rem !important;
}
.ml-9 {
  margin-left: 9rem !important;
}
.mr-9 {
  margin-right: 9rem !important;
}

.pa-9 {
  padding: 9rem !important;
}
.pb-9 {
  padding-bottom: 9rem !important;
}
.pt-9 {
  padding-top: 9rem !important;
}
.pl-9 {
  padding-left: 9rem !important;
}
.pr-9 {
  padding-right: 9rem !important;
}

.ma-10 {
  margin: 10rem !important;
}
.mb-10 {
  margin-bottom: 10rem !important;
}
.mt-10 {
  margin-top: 10rem !important;
}
.ml-10 {
  margin-left: 10rem !important;
}
.mr-10 {
  margin-right: 10rem !important;
}

.pa-10 {
  padding: 10rem !important;
}
.pb-10 {
  padding-bottom: 10rem !important;
}
.pt-10 {
  padding-top: 10rem !important;
}
.pl-10 {
  padding-left: 10rem !important;
}
.pr-10 {
  padding-right: 10rem !important;
}