@charset "UTF-8";
/*
 * ress.css • v1.0.0
 * andex
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details,
main {
  display: block;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

body,
html {
  width: 100%;
  color: #574D43;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 1px;
  scroll-behavior: smooth;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  body,
  html {
    font-size: 15px;
  }
}

body {
  background-color: #FFFFFF;
  word-break: break-all;
  background: url("../img/bg.jpg") repeat;
}
body.is-ham-active, body.is-modal-active {
  overflow: hidden;
}

a[href^="tel:"] {
  pointer-events: none;
}

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

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #574D43;
  text-decoration: none;
}
a:focus-visible {
  outline: 2px solid #B21313;
}

.fullwrap {
  overflow: hidden;
}

main {
  container: layout/inline-size;
}

.main__inner {
  padding: 100px 0;
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}
@media screen and (max-width: 1024px) {
  .main__inner {
    padding: 50px 0;
    max-width: inherit;
  }
}
@media screen and (max-width: 768px) {
  .main__inner {
    padding: 30px 0;
  }
}

.contents-inner {
  margin: 0 auto;
  max-width: 1200px;
}
@container (width <= 1280px) {
  .contents-inner {
    margin-inline: 40px;
  }
}
@media screen and (max-width: 768px) {
  .contents-inner {
    margin-inline: 16px;
  }
}

.example {
  vertical-align: top;
}

.hidden {
  display: none;
}

table {
  border-collapse: collapse;
}

p {
  line-height: 1.5;
}

@media screen and (min-width: 1025px) {
  button:focus-visible {
    outline: 2px solid #B21313;
    outline-offset: 3px;
  }
}

rt {
  margin-bottom: -0.1rem;
  font-weight: 600;
}

/* デバイス別 */
@media screen and (max-width: 1300px) {
  .for-pc-md-none {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .for-tab-none {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .for-sp-none {
    display: none !important;
  }
}

.for-pc-md {
  display: none !important;
}
@media screen and (max-width: 1300px) {
  .for-pc-md {
    display: block !important;
  }
}

.for-tab {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .for-tab {
    display: block !important;
  }
}

.for-sp {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .for-sp {
    display: block !important;
  }
}

.tab-none {
  display: none !important;
}
@media screen and (max-width: 1300px) {
  .tab-none {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-none {
    display: block !important;
  }
}

/* ボタン */
.btn-circle {
  display: inline-flex;
  align-items: flex-start;
  font-size: 15px;
  font-weight: 500;
  color: #574D43;
}
.btn-circle::before {
  content: "";
  flex-shrink: 0;
  margin-block-start: 5px;
  margin-inline-end: 6px;
  width: 13px;
  height: 13px;
  transition: all 0.3s ease;
}
.btn-circle--blue::before {
  background: url("../img/icon/solidcircle-blue.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circle--blue:hover::before {
    background: url("../img/icon/circle-blue.svg") no-repeat center/contain;
  }
}
.btn-circle--yellow {
  color: #FFFFFF;
}
.btn-circle--yellow::before {
  background: url("../img/icon/solidcircle-yellow.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circle--yellow:hover::before {
    background: url("../img/icon/circle-yellow.svg") no-repeat center/contain;
  }
}

.btn-search {
  display: inline-flex;
  align-items: center;
  font-size: clamp(0.875rem, 0.688rem + 0.39vw, 0.938rem);
  font-weight: 500;
  color: #574D43;
}
.btn-search::before {
  content: "";
  flex-shrink: 0;
  margin-block-start: 2px;
  margin-inline-end: 6px;
  width: 17px;
  height: 17px;
  background: url("../img/icon/search.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .btn-search::before {
    margin-inline-end: 4px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-search:hover {
    color: #00529B;
  }
  .btn-search:hover::before {
    background: url("../img/icon/search-blue.svg") no-repeat center/contain;
  }
}
.btn-search--white {
  color: #FFFFFF;
}
.btn-search--white::before {
  background: url("../img/icon/search-white.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-search--white:hover {
    color: #E6DE51;
  }
  .btn-search--white:hover::before {
    background: url("../img/icon/search-yellow.svg") no-repeat center/contain;
  }
}

.btn-lang {
  display: inline-flex;
  align-items: center;
  font-size: clamp(0.875rem, 0.688rem + 0.39vw, 0.938rem);
  font-weight: 500;
  color: #574D43;
}
.btn-lang::before {
  content: "";
  flex-shrink: 0;
  margin-block-start: 2px;
  margin-inline-end: 6px;
  width: 17px;
  height: 17px;
  background: url("../img/icon/earth.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .btn-lang::before {
    margin-inline-end: 4px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-lang:hover {
    color: #00529B;
  }
  .btn-lang:hover::before {
    background: url("../img/icon/earth-blue.svg") no-repeat center/contain;
  }
}
.btn-lang--white {
  color: white;
}
.btn-lang--white::before {
  background: url("../img/icon/earth-white.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-lang--white:hover {
    color: #E6DE51;
  }
  .btn-lang--white:hover::before {
    background: url("../img/icon/earth-yellow.svg") no-repeat center/contain;
  }
}

.btn-mail {
  display: inline-flex;
  align-items: center;
  font-size: clamp(0.875rem, 0.688rem + 0.39vw, 0.938rem);
  font-weight: 500;
  color: #574D43;
}
.btn-mail::before {
  content: "";
  flex-shrink: 0;
  margin-block-start: 2px;
  margin-inline-end: 6px;
  width: 17px;
  height: 17px;
  background: url("../img/icon/mail.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .btn-mail::before {
    margin-inline-end: 4px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-mail:hover {
    color: #00529B;
  }
  .btn-mail:hover::before {
    background: url("../img/icon/mail-blue.svg") no-repeat center/contain;
  }
}
.btn-mail--white {
  color: white;
}
.btn-mail--white::before {
  background: url("../img/icon/mail-white.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-mail--white:hover {
    color: #E6DE51;
  }
  .btn-mail--white:hover::before {
    background: url("../img/icon/mail-yellow.svg") no-repeat center/contain;
  }
}

.btn-circlearrow {
  width: fit-content;
  display: flex;
  align-items: flex-start;
  font-size: clamp(1rem, 0.768rem + 0.36vw, 1.063rem);
  font-weight: 600;
  color: #FFFFFF;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circlearrow:hover {
    opacity: 0.8;
  }
}
.btn-circlearrow--white-left::before {
  content: "";
  flex-shrink: 0;
  margin-inline-end: 6px;
  margin-block-start: 4px;
  width: 20px;
  height: 20px;
  background: url("../img/icon/circlearrow-white.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.btn-circlearrow--white-right::after {
  content: "";
  flex-shrink: 0;
  margin-inline-start: 6px;
  width: 20px;
  height: 20px;
  background: url("../img/icon/circlearrow-white.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.btn-circlearrow--yellow-hov {
  color: #FFFFFF;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circlearrow--yellow-hov:hover {
    color: #E6DE51;
  }
  .btn-circlearrow--yellow-hov:hover::before {
    background: url("../img/icon/circlearrow-yellow.svg") no-repeat center/contain;
  }
}
.btn-circlearrow--underline-hov span {
  border-bottom: solid 1px transparent;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circlearrow--underline-hov:hover span {
    opacity: 0.8;
    border-bottom: solid 1px #FFFFFF;
  }
}
.btn-circlearrow--blue-right::after {
  content: "";
  flex-shrink: 0;
  margin-inline-start: 6px;
  margin-block-start: 4px;
  width: 20px;
  height: 20px;
  background: url("../img/icon/circlearrow-blue.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.btn-circlearrow--blue-left::before {
  content: "";
  flex-shrink: 0;
  margin-inline-end: 6px;
  margin-block-start: 4px;
  width: 20px;
  height: 20px;
  background: url("../img/icon/circlearrow-blue.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.btn-circlearrow--underline {
  color: #574D43;
}
.btn-circlearrow--underline span {
  border-bottom: solid 1px #574D43;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .btn-circlearrow--underline span {
    border-bottom: none;
    text-decoration: underline;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-circlearrow--underline:hover span {
    opacity: 0.8;
    border-bottom: solid 1px transparent;
  }
}

.btn-radius {
  padding: 20px;
  width: min(100%, 448px);
  border-radius: 50px;
  display: block;
  text-align: center;
  position: relative;
  font-size: clamp(0.938rem, 0.875rem + 0.25vw, 1.063rem);
  font-weight: 500;
}
.btn-radius::after {
  content: "";
  width: 27px;
  height: 27px;
  display: inline-block;
  background-position: center right;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btn-radius::after {
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-radius:hover::after {
    right: 12px;
  }
}
.btn-radius--white {
  background-color: #FFFFFF;
  border: 1px solid #FFFFFF;
  color: #00529B;
}
.btn-radius--white::after {
  background: url("../img/icon/circlearrow-blue.svg") no-repeat center/contain;
}
.btn-radius--blue {
  background-color: #00529B;
  border: 1px solid #00529B;
  color: #FFFFFF;
}
.btn-radius--blue::after {
  background: url("../img/icon/circlearrow-white.svg") no-repeat center/contain;
}
.btn-radius--yellow {
  background-color: #E6DE51;
  border: 1px solid #E6DE51;
}
.btn-radius--yellow::after {
  background: url("../img/icon/circlearrow-white-blown.svg") no-repeat center/contain;
}

.btn-application {
  padding: 16px 20px;
  width: min(100%, 448px);
  border-radius: 50px;
  background-color: #E6DE51;
  border: 1px solid #E6DE51;
  display: block;
  text-align: center;
  position: relative;
  font-size: clamp(0.938rem, 0.875rem + 0.25vw, 1.063rem);
  font-weight: 600;
}
.btn-application::after {
  content: "";
  width: 27px;
  height: 27px;
  display: inline-block;
  background: url("../img/icon/circlearrow-white-blown.svg") no-repeat center/contain;
  background-position: center right;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-application:hover::after {
    right: 12px;
  }
}
.btn-application.btn--long-pc {
  text-align: left;
  padding: 16px 40px 16px 20px;
}
@media screen and (max-width: 768px) {
  .btn-application.btn--long-sp {
    text-align: left;
    padding: 16px 40px 16px 20px;
  }
}

.btn-download {
  padding: 20px 30px 22px;
  width: min(100%, 448px);
  border-radius: 50px;
  display: block;
  text-align: center;
  position: relative;
  font-size: clamp(0.938rem, 0.875rem + 0.25vw, 1.063rem);
  font-weight: 500;
}
.btn-download::after {
  content: "";
  width: 22px;
  height: 22px;
  display: inline-block;
  background-position: center right;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-download:hover::after {
    top: 55%;
  }
}
.btn-download--blue {
  background-color: #00529B;
  border: 1px solid #00529B;
  color: #FFFFFF;
}
.btn-download--blue::after {
  background: url("../img/icon/download.svg") no-repeat center/contain;
}
.btn-download.btn--long-pc {
  text-align: left;
  padding: 16px 40px 16px 20px;
}

.btn-back {
  padding: 20px;
  margin: 0 auto;
  width: min(100%, 448px);
  border-radius: 50px;
  background-color: #00529B;
  border: 1px solid #00529B;
  color: #FFFFFF;
  display: block;
  text-align: center;
  position: relative;
  font-size: clamp(0.938rem, 0.875rem + 0.25vw, 1.063rem);
  font-weight: 500;
}
.btn-back::before {
  content: "";
  width: 27px;
  height: 27px;
  background: url("../img/icon/circlearrow-white.svg") no-repeat center/contain;
  display: inline-block;
  background-position: center right;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btn-back::before {
    width: 18px;
    height: 18px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-back:hover::before {
    left: 12px;
  }
}

.btn-pagejump {
  display: inline-flex;
  align-items: flex-start;
  font-size: 16px;
  font-weight: 600;
  color: #00529B;
  transition: all 0.3s ease;
}
.btn-pagejump::before {
  content: "";
  flex-shrink: 0;
  margin-inline-end: 6px;
  margin-block-start: 4px;
  width: 20px;
  height: 20px;
  background: url("../img/icon/circlearrow-blue.svg") no-repeat center/contain;
  transform: rotate(90deg);
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-pagejump:hover {
    opacity: 0.8;
  }
  .btn-pagejump:hover span {
    opacity: 0.8;
    border-bottom: solid 1px transparent;
  }
}
.btn-pagejump span {
  border-bottom: solid 1px #00529B;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .btn-pagejump span {
    border-bottom: none;
    text-decoration: underline;
  }
}

.btn-video {
  padding: 16px 20px 18px;
  width: min(100%, 311px);
  border-radius: 50px;
  display: block;
  text-align: center;
  position: relative;
  font-size: clamp(0.938rem, 0.906rem + 0.13vw, 1rem);
  font-weight: 500;
  background-color: #00529B;
  border: 1px solid #00529B;
  color: #FFFFFF;
  letter-spacing: 1px;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .btn-video:hover img {
    right: 12px;
  }
}
.btn-video img {
  padding-inline-end: 8px;
  padding-block-end: 3px;
  width: auto;
  vertical-align: middle;
  position: relative;
  right: 0;
  transition: all 0.3s ease;
}

/* リンク */
.link {
  font-weight: 500;
}
.link--underline span {
  border-bottom: solid 1px #574D43;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .link--underline span {
    border-bottom: none;
    text-decoration: underline;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .link--underline:hover span {
    opacity: 0.8;
    border-bottom: solid 1px transparent;
  }
}
.link--underline.link--white span {
  border-bottom: solid 1px #FFFFFF;
}
@media screen and (max-width: 768px) {
  .link--underline.link--white span {
    border-bottom: none;
    text-decoration: underline;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .link--underline.link--white:hover span {
    opacity: 0.8;
    border-bottom: solid 1px transparent;
  }
}
.link--white {
  color: #FFFFFF;
}
.link--underline-hov span {
  transition: all 0.3s ease;
  border-bottom: solid 1px transparent;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .link--underline-hov:hover span {
    opacity: 0.8;
    border-bottom: solid 1px #FFFFFF;
  }
}
@media screen and (max-width: 1024px) {
  .link--underline-hov span {
    border-bottom: solid 1px #FFFFFF;
  }
}

.exdisc__link {
  display: inline-flex;
  align-items: flex-start;
  font-weight: 500;
}
.exdisc__link span {
  transition: all 0.3s ease;
  border-bottom: solid 1px #574D43;
}
@media screen and (max-width: 768px) {
  .exdisc__link span {
    border-bottom: none;
    text-decoration: underline;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .exdisc__link:hover span {
    opacity: 0.8;
    border-bottom: solid 1px transparent;
  }
}
.exdisc__link::after {
  content: "";
  flex-shrink: 0;
  margin-inline-start: 6px;
  margin-block-start: 4px;
  width: 15px;
  height: 16px;
  background: url("../img/icon/link.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}

/* sns */
.sns {
  margin-block-start: 25px;
  display: flex;
  gap: 12px;
}
.sns a {
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .sns a:hover {
    opacity: 0.8;
  }
}
.sns a img {
  width: auto;
}

/* タイトル */
.sec__h2 {
  margin-block-end: 52px;
}
@media screen and (max-width: 1024px) {
  .sec__h2 {
    margin-block-end: 30px;
  }
}
.sec__h2-ttl {
  font-family: "EB Garamond", serif;
  text-align: center;
  color: #00529B;
  font-size: clamp(1.5rem, -1.5rem + 6.25vw, 2.5rem);
  font-weight: 600;
  letter-spacing: 3px;
}
.sec__h2--eng {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  color: #00529B;
  font-weight: 500;
  letter-spacing: 8px;
}
.sec__h2-page {
  padding-block-end: 37px;
  font-size: clamp(1.25rem, 0.348rem + 1.88vw, 1.875rem);
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .sec__h2-page {
    padding-block-end: 20px;
  }
}
.sec__h3-page {
  font-size: clamp(1.125rem, 0.674rem + 0.94vw, 1.438rem);
  font-weight: 500;
}
.sec__h3-bd--bt {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}

/* カード */
.card {
  padding: 40px;
  background-color: #FFFFFF;
  border-radius: 25px;
}
@media screen and (max-width: 1024px) {
  .card {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 768px) {
  .card {
    padding: 20px;
    border-radius: 15px;
  }
}
.card--lg {
  padding: 80px 100px;
  border-radius: 60px;
}

/* 過去の年度一覧 */
.oldyearslinks {
  padding: 0 0 80px;
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}
@media screen and (max-width: 1024px) {
  .oldyearslinks {
    padding: 0 0 50px;
    max-width: inherit;
  }
}
@media screen and (max-width: 768px) {
  .oldyearslinks {
    padding: 0 0 40px;
  }
}
.oldyearslinks__list {
  margin-block-start: 40px;
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .oldyearslinks__list {
    margin-block-start: 20px;
    grid-template-columns: repeat(2, auto);
    gap: 13px 20px;
  }
}
.oldyearslinks__items {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.oldyearslinks h2 {
  font-size: clamp(1.5rem, 0.375rem + 2.34vw, 1.875rem);
  font-weight: 600;
  letter-spacing: 2px;
}
.oldyearslinks .btn-circle {
  width: 100%;
  padding-bottom: 18px;
  font-size: 16px;
}

/* リスト */
.list-exdisc__items {
  position: relative;
  padding-left: 22px;
}
.list-exdisc__items:not(:first-child) {
  padding-block-start: 2px;
}
.list-exdisc__items::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 16px;
  height: 16px;
  background-color: #574D43;
  border-radius: 50%;
}

.list-disc {
  padding-inline-start: 24px;
  list-style-type: disc;
}
@media screen and (max-width: 768px) {
  .list-disc {
    margin-inline-start: -0.5em;
    text-indent: -0.2em;
  }
}

.list-bd {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0 45px;
}
@media screen and (max-width: 1024px) {
  .list-bd {
    grid-template-columns: 1fr;
  }
}
.list-bd__items {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.list-bd__items:first-child::before, .list-bd__items:nth-child(2)::before {
  content: "";
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
  display: block;
  height: 3px;
}
@media screen and (max-width: 1024px) {
  .list-bd__items:nth-child(2)::before {
    content: none;
  }
}
.list-bd__link {
  padding: 18px 14px 26px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .list-bd__link {
    padding: 12px 0 22px;
  }
}

.list-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 45px;
}
@media screen and (max-width: 1024px) {
  .list-block {
    grid-template-columns: 1fr;
  }
}
.list-block__img {
  margin-block-end: 16px;
  border-radius: 15px;
}
.list-block__ttl:has(+ *) {
  margin-block-end: 16px;
}

.list-num__items {
  padding-left: 1em;
  display: block;
  text-indent: -1em;
}

/* 注釈 */
.note {
  padding-left: 1em;
  display: block;
  text-indent: -1em;
  font-size: 15px;
}

/* モーダル */
.modal {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 82, 155, 0.94);
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease;
}
.modal .modal__content {
  margin-inline: auto;
  width: 80%;
  height: 100dvh;
  position: relative;
  align-content: center;
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  .modal .modal__content {
    width: 90%;
  }
}
.modal.is-open {
  visibility: visible;
  opacity: 1;
}
.modal.is-open .modal__content {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.modal.modal-media .modal__wrap {
  position: relative;
  width: 80dvw;
  height: 80dvh;
}
@media screen and (max-width: 1024px) {
  .modal.modal-media .modal__wrap {
    width: 90dvw;
    height: auto;
    align-content: center;
  }
}
@media screen and (max-width: 768px) {
  .modal.modal-media .modal__wrap {
    width: 85dvw;
  }
}
.modal.modal-media .close {
  right: -25px;
  top: -25px;
}
@media screen and (max-width: 768px) {
  .modal.modal-media .close {
    right: -15px;
    top: -38px;
  }
}
@media screen and (max-width: 768px) {
  .modal.modal-media .close img {
    width: 40px;
  }
}
.modal.modal-media iframe {
  width: 100%;
  height: 100%;
  border-radius: 25px;
}
@media screen and (max-width: 1024px) {
  .modal.modal-media iframe {
    height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .modal.modal-media iframe {
    border-radius: 15px;
    height: 315px;
  }
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.close {
  position: absolute;
  right: 40px;
  top: 40px;
  z-index: 5;
}
@media screen and (max-width: 1024px) {
  .close {
    right: 20px;
    top: 20px;
  }
}
.close .close-wrap {
  color: #FFFFFF;
  font-size: 40px;
  cursor: pointer;
}
.close .close-wrap img {
  width: auto;
}

/* グラデーション背景色 */
.grbg--blue {
  background-image: linear-gradient(0deg, rgba(53, 160, 255, 0.2), rgba(164, 208, 247, 0.2));
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  position: relative;
  z-index: 0;
}
.grbg--yellow {
  background: linear-gradient(0deg, #f6f1dd, #dfecf7);
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  position: relative;
  z-index: 0;
}

/* 波線背景 */
.wave--bf::before {
  content: "";
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 140px;
  background: url(../img/santjuan-wave.webp) repeat-x;
  display: block;
  position: absolute;
  left: 0;
  top: -80px;
  z-index: 0;
  transform: rotate(-180deg);
}
.wave--af::after {
  content: "";
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 140px;
  background: url(../img/santjuan-wave.webp) repeat-x;
  display: block;
  left: 0;
  bottom: -80px;
  position: absolute;
  z-index: 0;
}

/* 吹き出し */
.speechbubble {
  position: relative;
  display: inline-block;
  padding: 10px 25px;
  background-color: #E6DE51;
  border-radius: 30px;
  font-weight: 600;
  text-align: center;
}
.speechbubble::before {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 20px;
  background-color: #E6DE51;
  border-radius: 50%;
}
.speechbubble::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background-color: #E6DE51;
  border-radius: 50%;
}

/* スクロール表示 */
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

/* 順番を制御するための遅延設定 */
.delay-1 {
  transition-delay: 200ms;
}

.delay-2 {
  transition-delay: 400ms;
}

.delay-3 {
  transition-delay: 600ms;
}

/* ラベル */
.label {
  padding: 4px 16px 6px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .label {
    padding: 3px 10px 5px;
    font-size: 13px;
  }
}
.label--blue-light {
  background-color: #9DC9F0;
}
.label--yellow {
  background-color: #E6DE51;
}
.label--red {
  background-color: #C31E68;
  color: #FFFFFF;
}
.label--brown {
  background-color: #574D43;
  color: #FFFFFF;
}
.label--gray {
  background-color: #E2DCD5;
}
.label--white {
  background-color: #FFFFFF;
}

.label-radius {
  padding: 4px 42px 6px;
  border-radius: 50px;
  text-align: center;
  display: inline-block;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .label-radius {
    padding: 3px 42px 5px;
  }
}
.label-radius--blue {
  background-color: #00529B;
  color: #FFFFFF;
}
.label-radius--yellow {
  background-color: #E6DE51;
}
.label-radius--white {
  background-color: #FFFFFF;
}

.point__txt {
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .point__txt {
    font-size: 16px;
  }
}
.point .point__label {
  display: grid;
  grid-template-columns: 90px auto;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .point .point__label {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 7px;
  }
}
.point .label-radius {
  padding-inline: 16px;
  align-self: self-start;
}
@media screen and (max-width: 768px) {
  .point .label-radius {
    width: 100px;
    margin-inline: auto;
  }
}
.point .point-contents {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .point .point-contents {
    gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .point .point-contents {
    margin-block-start: 16px;
    gap: 0;
    flex-direction: column-reverse;
  }
}
.point .point-contents p {
  margin-block: 16px;
}
.point img {
  width: auto;
  max-width: 240px;
  height: auto;
  margin: 0 auto;
}

.tag {
  padding: 2px 10px;
  border-radius: 5px;
  border: solid 1px #A59686;
  font-size: 13px;
  color: #A59686;
}

/* タブ */
.tab__nav {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 10px;
}
@media screen and (max-width: 1024px) {
  .tab__nav {
    gap: 4px;
  }
}
.tab__items {
  padding-block: 16px;
  width: min(318px, 100%);
  border-radius: 20px 20px 0 0;
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  .tab__items {
    padding: 12px 30px;
    width: auto;
    border-radius: 10px 10px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .tab__items {
    padding: 8px 16px;
    font-size: clamp(0.875rem, 0.5rem + 0.78vw, 1rem);
  }
}
.tab__content {
  padding: 50px;
  border-radius: 0 25px 25px 25px;
}
@media screen and (max-width: 1024px) {
  .tab__content {
    padding: 16px;
  }
}
@media screen and (max-width: 768px) {
  .tab__content {
    border-radius: 0 15px 15px 15px;
  }
}
.tab.tab--light .tab__items {
  background-color: #EFEFEF;
}
.tab.tab--light .tab__items[aria-selected=true] {
  background-color: #FFFFFF;
}
.tab.tab--light .tab__content {
  background-color: #FFFFFF;
}
.tab.tab--brown .tab__items {
  background-color: #E2DCD5;
}
.tab.tab--brown .tab__items[aria-selected=true] {
  background-color: #EEE7DE;
}
.tab.tab--brown .tab__content {
  background-color: #EEE7DE;
}
.tab [data-tab-content][hidden] {
  display: none;
}
.tab [data-tab-content]:not([hidden]) {
  display: block;
  animation: fade-animetion 0.5s ease;
}
@keyframes fade-animetion {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ページング */
.pagination-wrap {
  display: flex;
  gap: 18px;
  justify-content: center;
}
.pagination-wrap:has(> *) {
  margin-block-start: 34px;
}
@media screen and (max-width: 1024px) {
  .pagination-wrap {
    gap: 8px;
  }
}

.page-numbers {
  width: 56px;
  height: 56px;
  background-color: #64A2D9;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  font-weight: 600;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .page-numbers {
    width: 30px;
    height: 30px;
  }
}
.page-numbers.prev img {
  transform: rotate(-180deg);
}
.page-numbers.current {
  background-color: #00529B;
}
.page-numbers img {
  width: 8px;
}

/* splide */
.splide-fade .splide__slide {
  max-height: 420px;
}
.splide-fade .splide__pagination {
  margin-block-start: 20px;
  gap: 18px;
}
@media screen and (max-width: 1024px) {
  .splide-fade .splide__pagination {
    gap: 14px;
  }
}
.splide-fade .splide__pagination__page {
  width: 58px;
  height: 7px;
  border-radius: 4px;
  background-color: #C2CFDA;
}
@media screen and (max-width: 1024px) {
  .splide-fade .splide__pagination__page {
    width: 40px;
  }
}
.splide-fade .splide__pagination__page.is-active {
  background-color: #00529B;
}
.splide-fade img {
  height: clamp(0px, 100%, 420px);
  border-radius: 25px;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .splide-fade img {
    border-radius: 15px;
  }
}

/* ページジャンプ */
.pagejump__wrap {
  display: flex;
  gap: 26px;
}
@media screen and (max-width: 768px) {
  .pagejump__wrap {
    flex-direction: column;
    gap: 3px;
  }
}

/* パララックス */
#js-visualBlock {
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 1000px;
  position: relative;
  overflow: hidden;
  z-index: -2;
}
@media screen and (max-width: 1024px) {
  #js-visualBlock {
    height: 850px;
  }
}

#js-visualVerticalImg {
  left: 0;
  height: auto;
  width: 100%;
  height: calc(100% + 200px);
  top: -100px;
  position: absolute;
  object-fit: cover;
}

/* ブロック */
.block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 70px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .block {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.block--reverse .block__img {
  order: 2;
}
.block--reverse .block__txt {
  order: 1;
}
@media screen and (max-width: 1024px) {
  .block--reverse .block__img {
    order: 1;
  }
  .block--reverse .block__txt {
    order: 2;
  }
}
.block__img {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .block__img {
    border-radius: 15px;
  }
}

/* 画像 */
.img-circle {
  border-radius: 50%;
  aspect-ratio: 1/1;
}

/* 共通のモジュール */
.barrierfree__list {
  margin-block-end: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 30px;
}
@media screen and (max-width: 1024px) {
  .barrierfree__list {
    gap: 8px;
  }
}
.barrierfree__items {
  display: grid;
  grid-template-columns: 30px auto;
  gap: 8px;
  align-items: center;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .barrierfree__items {
    grid-template-columns: 25px auto;
    gap: 5px;
  }
}

.requestcustomer-guideline__list {
  margin-block-start: 28px;
}
@media screen and (max-width: 1024px) {
  .requestcustomer-guideline__list {
    margin-block-start: 14px;
  }
}
.requestcustomer-guideline__items {
  padding-block-start: 8px;
  display: grid;
  grid-template-columns: 24px auto;
  gap: 8px;
  align-items: center;
  font-weight: 500;
}

.time__label {
  padding-block: 40px 26px;
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
}
.time__label .label {
  margin-inline-end: 8px;
}

.dl-contact__dt {
  font-weight: 600;
}

.digital-voyage__message-txt {
  text-align: center;
  color: #574D43;
  font-size: 16px;
  min-height: 300px;
}

/* header */
.header-ht {
  height: 95px;
}
@media screen and (max-width: 1024px) {
  .header-ht {
    height: 65px;
  }
}

.header {
  background-color: #FFFFFF;
  position: relative;
  top: 0;
  z-index: 5;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  /* 子メニューhover展開 */
}
.header.is-fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 5;
}
.header__inner {
  padding: 20px 120px 0 24px;
  display: grid;
  grid-template-columns: minmax(auto, 225px) auto;
  justify-content: space-between;
  gap: 8px;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    padding: 10px 60px 10px 12px;
    align-items: center;
    height: 68px;
    grid-template-columns: repeat(2, auto);
  }
}
.header__logo {
  width: auto;
}
@media screen and (max-width: 1024px) {
  .header__logo {
    width: 180px;
  }
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 138px;
  }
}
.header__nav {
  display: flex;
  align-items: center;
  gap: 22px;
}
@media screen and (max-width: 768px) {
  .header__nav {
    gap: 18px;
  }
}
.header__nav--1 {
  display: flex;
  gap: 20px;
  justify-content: flex-end;
}
@media screen and (max-width: 1024px) {
  .header__nav--1 {
    gap: 8px;
  }
}
.header__nav--2 {
  margin-block-start: 8px;
  display: flex;
  gap: 20px;
}
.header__nav-mega {
  width: 100%;
  background-color: #00529B;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 0;
  z-index: 0;
  transition: all 0.2s;
}
.header__nav-child {
  padding: 32px 50px;
  margin: 0 auto;
  width: min(1425px, 100%);
  transition: all 0.2s;
}
.header__nav-child-list {
  display: grid;
  grid-template-columns: repeat(6, auto);
  gap: 20px;
}
.header__nav-child-list:has(.header__nav-child-btn:hover) .header__nav-child-btn:not(:hover) .header__nav-child-img::before {
  background-color: rgba(0, 0, 0, 0.1);
}
.header__nav-child-list:has(.header__nav-child-img) {
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 1300px) {
  .header__nav-child-list:has(.header__nav-child-img) {
    grid-template-columns: repeat(4, 1fr);
  }
}
.header__nav-child-btn:hover .header__nav-child-img::before {
  content: none;
}
.header__nav-child-btn:hover .header__nav-child-img img {
  transition: 0.3s;
  transform: scale(1.1);
}
.header__nav-child-btn:hover .btn-circle--yellow::before {
  background: url("../img/icon/circle-yellow.svg") no-repeat center/contain;
}
.header__nav-child-ttl {
  margin-block-end: 14px;
  display: inline-flex;
  gap: 18px;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  color: #FFFFFF;
}
.header__nav-child-ttl--main {
  font-size: 26px;
  font-weight: 500;
}
.header__nav-child-ttl--sub {
  font-size: 14px;
  font-weight: 600;
  line-height: 0;
}
.header__nav-child-top-link {
  display: inline-flex;
  align-items: center;
  color: #FFFFFF;
  gap: 4px;
}
.header__nav-child-top-link::before {
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-block-start: 2px;
  background: url("../img/icon/circlearrow-white.svg") no-repeat center/contain;
}
.header__nav-child-img {
  position: relative;
  overflow: hidden;
}
.header__nav-child-img::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: transparent;
  display: block;
  position: absolute;
  z-index: 2;
  transition: all 0.2s;
}
.header__btn-pearent {
  padding-block-end: 20px;
}
.header__btn-pearent.is-active::before {
  background: url("../img/icon/circle-blue.svg)") no-repeat center/contain;
}
@media screen and (min-width: 1025px) {
  .header__btn-ham:focus-visible {
    outline: none;
  }
  .header__btn-ham:focus-visible::after {
    outline: 2px solid #B21313;
    outline-offset: 3px;
  }
}
.header__btn-ham::after {
  content: "";
  width: 72px;
  height: 72px;
  background-color: #E6DE51;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  right: 20px;
  z-index: 3;
  transition: all 0.2s ease 0.3s;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham::after {
    width: 58px;
    height: 58px;
    top: 5px;
    right: 12px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .header__btn-ham:hover .img-open--2 {
    position: absolute;
    top: 6px;
  }
}
.header__btn-ham.is-active::after {
  width: 157px;
  height: 137px;
  top: 0;
  right: 0;
  border-radius: 0 0 0 100%;
  transition-delay: 0s;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham.is-active::after {
    width: 124px;
    height: 103px;
  }
}
@media screen and (max-width: 768px) {
  .header__btn-ham.is-active::after {
    width: 103px;
    height: 82px;
  }
}
.header__btn-ham.is-active .header__btn-ham--open {
  opacity: 0;
  visibility: hidden;
}
.header__btn-ham.is-active .header__btn-ham--close {
  top: 32px;
  opacity: 1;
  visibility: visible;
  width: 40px;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham.is-active .header__btn-ham--close {
    top: 20px;
    right: 24px;
  }
}
.header__btn-ham--open, .header__btn-ham--close {
  width: 38px;
  display: grid;
  font-size: 12px;
  font-weight: 700;
  position: absolute;
  right: 36px;
  top: 36px;
  z-index: 4;
  color: #362F29;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham--open, .header__btn-ham--close {
    right: 20px;
    top: 23px;
    font-size: 10px;
  }
}
.header__btn-ham--open img, .header__btn-ham--close img {
  width: auto;
  display: block;
}
.header__btn-ham--open .img-open--1 {
  width: 37px;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham--open .img-open--1 {
    width: 35px;
  }
}
.header__btn-ham--open .img-open--2 {
  width: 26px;
  position: absolute;
  top: 8px;
  transition: all 0.2s;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham--open .img-open--2 {
    top: 7px;
    width: 24px;
  }
}
.header__btn-ham--open .ham-text {
  position: absolute;
  top: 14px;
  display: block;
  width: 37px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham--open .ham-text {
    top: 12px;
    letter-spacing: 0.7px;
    width: 35px;
  }
}
.header__btn-ham--close {
  opacity: 0;
  visibility: hidden;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .header__btn-ham--close img {
    width: 30px;
  }
}
.header__ham {
  width: 100vw;
  height: 100dvh;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0;
  transition: ease 0.4s;
  overflow: auto;
  visibility: hidden;
  z-index: 2;
}
.header__ham.is-active {
  opacity: 1;
  visibility: visible;
  transition-delay: 0.4s;
}
.header__ham .sns {
  justify-content: center;
}
.header__ham-inner {
  display: grid;
  grid-template-columns: minmax(345px, auto) minmax(auto, 1085px);
}
@media screen and (max-width: 1024px) {
  .header__ham-inner {
    grid-template-columns: 1fr;
  }
}
.header__ham-facility {
  padding: 74px;
  min-height: 100dvh;
  max-height: 100%;
  background-color: #004E94;
  align-content: center;
  text-align: center;
  color: #FFFFFF;
}
@media screen and (max-width: 1300px) {
  .header__ham-facility {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .header__ham-facility {
    padding-block: 52px;
    order: 2;
    height: 100%;
  }
}
.header__ham-facility img {
  width: auto;
}
@media screen and (max-width: 1024px) {
  .header__ham-facility img {
    max-width: 274px;
  }
}
.header__ham-address-text {
  margin-block-start: 24px;
}
.header__ham-address-tel a {
  color: #FFFFFF;
}
.header__ham-address-map .link {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
}
.header__ham-address-map .link::before {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 15px;
  margin-block-start: 7px;
  transition: all 0.3s ease;
  background: url("../img/icon/map.svg") no-repeat center/contain;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .header__ham-address-map .link:hover::before {
    opacity: 0.8;
  }
}
.header__nav-ham {
  padding: 74px;
  height: 100%;
  align-content: center;
}
@media screen and (max-width: 1300px) {
  .header__nav-ham {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .header__nav-ham {
    padding: 38px 30px;
  }
}
.header__nav-ham--1 {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  gap: 0 40px;
}
@media screen and (max-width: 1024px) {
  .header__nav-ham--1 {
    display: inline-grid;
    grid-template-columns: repeat(2, auto);
    gap: 0 20px;
  }
}
.header__nav-ham--2 {
  width: 100%;
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
}
@media screen and (max-width: 1024px) {
  .header__nav-ham--2 {
    margin-block-start: 60px;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 1024px) {
  .header__nav-ham--3, .header__nav-ham--4, .header__nav-ham--5, .header__nav-ham--6 {
    width: 100%;
    display: inline-grid;
    grid-template-columns: 1fr;
  }
}
.header__nav-ham-items {
  margin-block-start: 53px;
}
@media screen and (max-width: 1024px) {
  .header__nav-ham-items {
    margin-block-start: 0;
    width: 100%;
  }
  .header__nav-ham-items:has(.header__nav-ham-child) {
    background-image: radial-gradient(circle, #FFFFFF 1.5px, transparent 1.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 8px 3px;
    display: inline-block;
  }
}
.header__nav-ham-items .btn-circlearrow {
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  gap: 14px;
}
.header__nav-ham-items .btn-circlearrow::before {
  width: 23px;
  height: 23px;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .header__nav-ham-items .btn-circlearrow:hover::before {
    transform: translateX(4px);
  }
}
@media screen and (max-width: 1024px) {
  .header__nav-ham-items .btn-circlearrow {
    padding-block: 20px;
    width: 100%;
    background-image: radial-gradient(circle, #FFFFFF 1.5px, transparent 1.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 8px 3px;
    color: #FFFFFF;
    text-align: left;
    transition: all 0.3s ease;
  }
}
.header .ham-togle.is-open .btn-circlearrow--white-left::before {
  transform: rotate(90deg);
}
.header__nav-ham-child {
  margin-block-start: 20px;
  margin-inline-start: 38px;
  display: grid;
  grid-template-columns: repeat(3, minmax(auto, 260px));
  gap: 20px 34px;
}
@media screen and (max-width: 1024px) {
  .header__nav-ham-child {
    margin-block: 0;
    max-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    transform: translateY(0px);
    transition: max-height 0.7s ease-in-out, opacity 0.5s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), margin-block 0.7s ease, visibility 0.7s;
  }
  .header__nav-ham-child.is-open {
    margin-block: 20px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}
.header__nav-ham-child .child-link {
  width: 100%;
  height: 30px;
  background-image: radial-gradient(circle, #FFFFFF 1.5px, transparent 1.5px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 8px 3px;
  display: inline-block;
  color: #FFFFFF;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .header__nav-ham-child .child-link {
    background: none;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .header__nav-ham-child .child-link:hover {
    background-image: radial-gradient(circle, #E6DE51 1.5px, transparent 1.5px);
    background-size: 0.1px 3px;
    color: #E6DE51;
  }
}
.header__nav-ham-policy {
  margin-block-start: 72px;
  display: flex;
  gap: 40px;
  justify-content: flex-end;
}
@media screen and (max-width: 1024px) {
  .header__nav-ham-policy {
    margin-block-start: 50px;
    justify-content: center;
  }
}

.circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #00529B;
  position: fixed;
  z-index: 1;
  transform: scale(0);
  right: -50px;
  top: -50px;
  transition: all 0.3s ease 0s;
}

.circle.circleactive {
  transform: scale(50);
  transition-delay: 0.2s;
}

.modal__wrap {
  margin: 0 auto;
  width: min(100%, 800px);
}
.modal__ttl {
  padding-block-end: 20px;
  font-size: clamp(1.125rem, -0.375rem + 3.13vw, 1.625rem);
  font-family: "Noto Serif JP", serif;
  color: #FFFFFF;
  line-height: 1.3;
  letter-spacing: 3px;
}
.modal__ttl .eng {
  padding-inline-start: 16px;
  font-size: clamp(0.875rem, 0.688rem + 0.39vw, 0.938rem);
  font-family: "EB Garamond", serif;
}
@media screen and (max-width: 1024px) {
  .modal__ttl .eng {
    padding-inline-start: 12px;
  }
}

.modal-search form {
  margin-block-start: 20px;
  position: relative;
}
.modal-search form::before {
  content: "";
  margin-block-start: 2px;
  margin-inline-end: 6px;
  width: 17px;
  height: 17px;
  background: url(../img/icon/search.svg) no-repeat center/contain;
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.modal-search input {
  padding: 16px 48px 16px 40px;
  width: 100%;
  background-color: #FFFFFF;
  border-radius: 15px;
}
.modal-search .btn-search-send {
  padding: 16px 48px 16px 40px;
  border-radius: 0 15px 15px 0;
  background-color: #E6DE51;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (max-width: 1024px) {
  .modal-search .btn-search-send {
    padding-inline: 20px;
  }
}

.modal-lang__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(auto, 212px));
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .modal-lang__list {
    grid-template-columns: 1fr;
  }
}
.modal-lang__link {
  padding: 16px;
  background-color: #E6DE51;
  border-radius: 15px;
  display: block;
  font-weight: 600;
  text-align: center;
}

/* 下層MV */
.subpage-mv {
  height: 400px;
  position: relative;
}
@media screen and (max-width: 1513px) {
  .subpage-mv {
    height: 300px;
  }
}
@media screen and (max-width: 1024px) {
  .subpage-mv {
    height: 233px;
  }
}
.subpage-mv::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  z-index: 2;
}
.subpage-mv__ttl {
  font-size: 36px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #FFFFFF;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
  width: min(1425px, 100%);
  align-content: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  line-height: 1.5;
  letter-spacing: 4px;
}
@media screen and (max-width: 1513px) {
  .subpage-mv__ttl {
    padding: 1.75rem 2.187rem;
    left: auto;
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 1300px) {
  .subpage-mv__ttl {
    font-size: clamp(1.438rem, 0.742rem + 1.09vw, 1.625rem);
  }
}
.subpage-mv__ttl--eng {
  font-size: 18px;
  font-family: "EB Garamond", serif;
  display: block;
  font-weight: 600;
  letter-spacing: 2px;
}
@media screen and (max-width: 1300px) {
  .subpage-mv__ttl--eng {
    font-size: 16px;
  }
}
.subpage-mv img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.subpage-link__list {
  padding-block: 18px;
  background-color: #F1F2F8;
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .subpage-link__list {
    padding: 0 5%;
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .subpage-link__items a {
    display: flex;
    padding-block: 26px;
  }
}
@media screen and (max-width: 1024px) {
  .subpage-link__items:not(:last-child) a {
    background-image: radial-gradient(circle, #D4D6E1 1.5px, transparent 1.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 8px 3px;
  }
}
.subpage-link__link.is-active::before {
  background: url("../img/icon/circle-blue.svg") no-repeat center/contain;
}

/* footer */
.footer {
  background-color: #003B77;
  color: #FFFFFF;
  position: relative;
  z-index: 1;
}
.footer__main {
  padding: 60px 50px;
  display: grid;
  grid-template-columns: minmax(348px, auto) auto;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .footer__main {
    padding: 60px 30px 30px;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .footer__main {
    padding: 30px 30px 10px;
  }
}
.footer__logo {
  width: auto;
}
@media screen and (max-width: 1024px) {
  .footer__logo {
    width: 186px;
  }
}
.footer__address-text {
  margin-block-start: 25px;
  font-size: clamp(0.938rem, 0.706rem + 0.36vw, 1rem);
}
.footer__address-tel {
  font-size: clamp(0.938rem, 0.706rem + 0.36vw, 1rem);
}
.footer__address-tel a {
  color: #FFFFFF;
}
.footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, auto));
  gap: 0 58px;
}
@media screen and (max-width: 1300px) {
  .footer__nav {
    grid-template-columns: repeat(2, minmax(160px, auto));
  }
}
@media screen and (max-width: 1300px) {
  .footer__nav--1 {
    grid-column: 1/2;
    grid-row: 1/3;
  }
}
@media screen and (max-width: 1300px) {
  .footer__nav--2 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@media screen and (max-width: 1300px) {
  .footer__nav--3 {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.footer__nav-items {
  margin-block-end: 24px;
}
.footer__nav-child {
  margin-block-start: 10px;
  font-size: clamp(0.875rem, 0.411rem + 0.72vw, 1rem);
}
.footer__nav-child li {
  margin-block-start: 8px;
}
.footer__openhour, .footer__closedays {
  margin-block-start: 25px;
}
.footer__openhour dt, .footer__closedays dt {
  font-weight: 600;
}
.footer__openhour dd, .footer__closedays dd {
  font-size: clamp(0.938rem, 0.706rem + 0.36vw, 1rem);
}
.footer__bt {
  padding: 38px 50px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media screen and (max-width: 1024px) {
  .footer__bt {
    display: block;
    padding: 30px;
  }
}
.footer__copy {
  font-size: clamp(0.688rem, -0.008rem + 1.09vw, 0.875rem);
}
.footer__policy {
  display: flex;
  gap: 40px;
  font-size: clamp(0.813rem, 0.581rem + 0.36vw, 0.875rem);
}

/* パンクズリスト */
.breadcrumbs {
  background-color: #00529B;
}
.breadcrumbs__inner {
  padding: 8px 30px 16px;
  color: #FFFFFF;
  font-weight: 400;
}
.breadcrumbs__items {
  display: inline-flex;
  align-items: center;
}
.breadcrumbs__items::after {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 12px;
  margin: 2px 8px 0;
  background: url("../img/icon/solidarrow-white.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.breadcrumbs__link {
  color: #FFFFFF;
  text-decoration: underline;
  text-decoration-color: #FFFFFF;
  transition: all 0.2s;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .breadcrumbs__link:hover {
    text-decoration: none;
    opacity: 0.8;
  }
}

.loading.loaded {
  opacity: 0;
  visibility: hidden;
}

.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #FFFFFF;
  opacity: 1;
  visibility: visible;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
  will-change: opacity, visibility;
  z-index: 30000;
}

.front-mv {
  position: relative;
  z-index: 1;
}
.front-mv__txt {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  text-shadow: rgba(0, 0, 0, 0.4509803922) 0px 0 40px;
  color: #FFFFFF;
}
.front-mv__main-txt {
  font-size: clamp(1.75rem, -1.625rem + 7.03vw, 2.875rem);
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 28px;
  text-indent: 77px;
}
@media screen and (max-width: 1024px) {
  .front-mv__main-txt {
    letter-spacing: 14px;
    text-indent: 50px;
  }
}
@media screen and (max-width: 768px) {
  .front-mv__main-txt {
    letter-spacing: 8px;
    text-indent: 23px;
  }
}
.front-mv__sub-txt {
  padding-block-start: 34px;
  font-size: clamp(1rem, -0.5rem + 3.13vw, 1.5rem);
  font-weight: 500;
  font-family: "EB Garamond", serif;
}
@media screen and (max-width: 768px) {
  .front-mv__sub-txt {
    padding-block-start: 18px;
  }
}
.front-mv__sub-txt--sm {
  display: block;
  font-size: clamp(0.875rem, -0.25rem + 2.34vw, 1.25rem);
}
.front-mv__movie {
  position: relative;
  background: url("../img/front/mainvl_pc.webp") no-repeat center/cover;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .front-mv__movie {
    background: url("../img/front/mainvl_sp.webp") no-repeat center/cover;
  }
}
.front-mv__movie::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  display: block;
  position: absolute;
  z-index: 0;
}
.front-mv__video {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .front-mv__video {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: center;
    display: block;
  }
}
.front-mv-openinfo {
  position: absolute;
  left: 50%;
  bottom: -118px;
  transform: translateX(-50%);
}
.front-mv-openclose {
  text-align: center;
  display: inline-block;
  width: 550px;
  height: 260px;
  border-radius: 50%/100% 100% 0 0;
  background: #FFFFFF;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/bg.jpg") repeat;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .front-mv-openclose {
    width: 110vw;
    height: 230px;
  }
}
.front-mv-openclose__inner {
  margin: 0 auto;
  width: min(400px, 100%);
  height: 145px;
  align-content: end;
}
@media screen and (max-width: 768px) {
  .front-mv-openclose__inner {
    height: 116px;
  }
}
.front-mv-openclose__inner img {
  padding-block: 16px 8px;
  width: auto;
}
.front-mv-openclose__ttl {
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  font-family: "EB Garamond", serif;
  font-weight: 600;
  color: #00529B;
}
.front-mv-openclose__txt {
  font-size: clamp(1rem, -0.125rem + 2.34vw, 1.375rem);
  font-weight: 600;
}
.front-mv-openclose__txt .txt--lg {
  font-size: clamp(1.25rem, -0.063rem + 2.73vw, 1.688rem);
  font-weight: 600;
}
.front-mv-openclose__txt .txt--lg.txt--date {
  font-weight: 700;
}
.front-mv-openclose__time {
  font-size: 15px;
  line-height: 1;
}
@media screen and (max-width: 1300px) {
  .front-mv:has(.speechbubble) .front-mv__txt {
    top: 40%;
  }
}
@media screen and (max-width: 1024px) {
  .front-mv:has(.speechbubble) .front-mv__txt {
    top: 30%;
  }
}
@media screen and (max-width: 768px) {
  .front-mv:has(.speechbubble) .front-mv__txt {
    top: 40%;
  }
  .front-mv:has(.speechbubble) .front-openclose {
    width: 320px;
    height: 130px;
  }
}

.front .main__inner {
  padding-block-start: 22px;
  padding-block-end: 0;
}
@media screen and (max-width: 768px) {
  .front .main__inner {
    padding-block-start: 32px;
  }
}
.front .btn-radius {
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .front .btn-radius {
    margin-block-start: 30px;
  }
}
@media screen and (max-width: 768px) {
  .front .btn-radius {
    margin-block-start: 20px;
  }
}
.front__wrap {
  position: relative;
}
.front-wave-wrap {
  position: relative;
  z-index: -1;
}
.front-wave {
  position: absolute;
  width: 100%;
  height: 250px;
  left: 0;
  z-index: -2;
}
.front-wave::before {
  content: "";
  position: absolute;
  width: 500%;
  height: 400px;
  left: -50%;
  display: block;
  background: url("../img/santjuan-wave.webp") left top/40% 400px repeat;
  animation-name: moveWave;
  animation-timing-function: linear;
  animation-duration: 30s;
  animation-iteration-count: infinite;
  animation-direction: reverse;
}
@media screen and (max-width: 768px) {
  .front-wave::before {
    width: 1300%;
  }
}
.front-wave.wave--blue::before {
  background: url("../img/santjuan-wave-blue.webp") left top/40% 200px repeat;
}
.front-wave--1 {
  top: 90px;
  transform: rotate(187deg);
}
.front-wave--1::before {
  height: 540px;
  background-size: 40% 540px;
}
.front-wave--2 {
  top: 78px;
  transform: rotate(-7deg);
}
.front-wave--3 {
  transform: rotate(185deg);
}
.front-wave--4 {
  bottom: 0;
  transform: rotate(-2deg);
}
.front-wave--4::before {
  height: 340px;
}
.front-wave--5 {
  transform: rotate(185deg);
}
.front-wave--5::before {
  height: 340px;
}
.front-wave--6 {
  bottom: -190px;
  transform: rotate(-2deg);
}
.front-wave--6::before {
  height: 200px;
  background-size: 40% 200px;
}
.front-wave--7 {
  transform: rotate(-185deg);
}
.front-wave--7::before {
  height: 200px;
  background-size: 40% 200px;
}
.front-wave--8 {
  bottom: -200px;
  transform: rotate(2deg);
}
.front-wave--8::before {
  height: 200px;
}
@media screen and (max-width: 768px) {
  .front-wave--8 {
    bottom: -224px;
  }
}
@keyframes moveWave {
  0% {
    transform: translateY(0) translateZ(0) scaleY(1);
    background-position-x: 0;
  }
  50% {
    transform: translateY(0) translateZ(0) scaleY(1);
  }
  100% {
    transform: translateY(0) translateZ(0) scaleY(1);
    background-position-x: -100%;
  }
}
.front-topnews {
  padding: 16px 50px;
  background-color: #F1F2F8;
}
@media screen and (max-width: 1024px) {
  .front-topnews {
    padding-inline: 30px;
  }
}
.front-topnews .label {
  align-self: self-start;
}
.front-topnews__link {
  display: grid;
  grid-template-columns: 134px 90px 1fr;
  gap: 18px;
}
@media screen and (max-width: 1024px) {
  .front-topnews__link {
    grid-template-columns: 134px 1fr;
    gap: 8px;
  }
}
.front-topnews__date {
  font-weight: 400;
}
.front-topnews__ttl {
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  .front-topnews__ttl {
    grid-column: 1/3;
  }
}
.front-menu-list {
  padding-block: 42px;
  background: radial-gradient(circle, #E4DFCA 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
  display: grid;
  grid-template-columns: repeat(6, auto);
  gap: 40px;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .front-menu-list {
    padding-block-start: 0;
    grid-template-columns: repeat(3, auto);
    gap: 20px 30px;
  }
}
.front-menu-list__btn {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(58px, 100%) auto;
  font-size: 15px;
  font-weight: 600;
  color: #00529B;
}
.front-menu-list__btn img {
  margin: 0 auto;
  width: auto;
  align-self: center;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-menu-list__btn:hover img {
    transform: translateY(-5px);
  }
}
@media screen and (max-width: 768px) {
  .front-menu-list__btn {
    justify-content: center;
  }
}
.front-event, .front-experience {
  padding-block: 65px;
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .front-event, .front-experience {
    padding-block: 40px;
  }
}
.front-event__inner, .front-experience__inner {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .front-event__wrap, .front-experience__wrap {
    position: relative;
    z-index: 1;
    padding-inline: 40px 0;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    overflow: hidden;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .front-event__wrap::after, .front-experience__wrap::after {
    width: 40px;
  }
}
@media screen and (max-width: 768px) {
  .front-event__wrap, .front-experience__wrap {
    padding-inline: 30px 0;
  }
}
.front-event__list, .front-experience__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(auto, 368px));
  gap: 30px;
  justify-content: center;
  margin-block: 0 40px;
}
@media screen and (max-width: 1024px) {
  .front-event__list, .front-experience__list {
    padding-inline-end: 40px;
    padding-block-end: 0;
    grid-template-columns: repeat(3, 300px);
    justify-content: left;
    overflow-x: auto;
    overflow-y: hidden;
    align-items: start;
    width: max-content;
  }
}
@media screen and (max-width: 768px) {
  .front-event__list, .front-experience__list {
    padding-inline-end: 30px;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-event__link:hover img, .front-experience__link:hover img {
    scale: 1.1;
  }
}
.front-event__img, .front-experience__img {
  height: auto;
  overflow: hidden;
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .front-event__img, .front-experience__img {
    border-radius: 15px;
  }
}
.front-event__img img, .front-experience__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 77/109;
  transition: 0.3s;
}
.front-event__date, .front-experience__date {
  margin-block-start: 18px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.front-event__ttl, .front-experience__ttl {
  margin-block-start: 8px;
  font-size: clamp(1rem, 0.875rem + 0.5vw, 1.25rem);
  font-weight: 600;
}
.front-event__ttl span, .front-experience__ttl span {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .front-event .simplebar-scrollbar::before, .front-experience .simplebar-scrollbar::before {
    opacity: 1 !important;
  }
}
@media screen and (max-width: 1024px) {
  .front-event .simplebar-scrollbar.simplebar-visible::before, .front-experience .simplebar-scrollbar.simplebar-visible::before {
    opacity: 1 !important;
  }
}
.front-event .simplebar-track.simplebar-horizontal, .front-experience .simplebar-track.simplebar-horizontal {
  height: 12px;
}
.front-event .simplebar-track, .front-experience .simplebar-track {
  margin-inline-end: 40px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .front-event .simplebar-track, .front-experience .simplebar-track {
    margin-inline-end: 30px;
  }
}
.front-event .simplebar-track.simplebar-vertical, .front-experience .simplebar-track.simplebar-vertical {
  display: none;
  visibility: hidden;
}
.front-event {
  padding-block-end: 231px;
  background-color: #00529B;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .front-event {
    padding-block-end: 150px;
  }
}
.front-event__link {
  color: #FFFFFF;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-event__link:hover .front-event__ttl span {
    text-decoration-color: #FFF;
  }
}
.front-event .label-end {
  background-color: #003B77;
  font-size: 13px;
}
.front-event .label-start {
  background-color: #FFFFFF;
  font-size: 13px;
  color: #00529B;
}
.front-event .simplebar-scrollbar::before {
  background: #FFFFFF;
  height: 8px;
  border-radius: 5px;
}
.front-event .simplebar-track {
  background-color: #7da8d2;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-experience__link:hover .front-experience__ttl span {
    text-decoration-color: #574D43;
  }
}
.front-experience .label-end {
  background-color: #574D43;
  color: #FFFFFF;
}
.front-experience .simplebar-scrollbar::before {
  background: #00529B;
  height: 8px;
  border-radius: 5px;
}
.front-experience .simplebar-track {
  background-color: #9DC9F0;
}
.front-news {
  margin-block: 120px;
  padding-block: 78px;
  background-color: #FFFFFF;
  border-radius: 60px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .front-news {
    margin-block: 40px;
    padding: 40px 30px;
    border-radius: 40px;
  }
}
@media screen and (max-width: 768px) {
  .front-news {
    border-radius: 20px;
  }
}
.front-news__inner {
  margin: 0 auto;
  max-width: 843px;
}
.front-news .news__list {
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
.front-news .news__items {
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.front-news .news__link {
  padding: 25px 55px 27px 14px;
}
@media screen and (max-width: 1024px) {
  .front-news .news__link {
    padding: 20px 32px 20px 0;
  }
}
.front-news .news__link .news__date {
  line-height: 1.8;
}
.front-news .news__link .news__ttl {
  line-height: 1.9;
}
.front-exhibition {
  margin-block-end: -500px;
  position: relative;
  z-index: 2;
}
.front-exhibition .list-bd {
  margin-block-start: 86px;
}
@media screen and (max-width: 1024px) {
  .front-exhibition .list-bd {
    margin-inline: 30px;
  }
}
.front-exhibition .list-bd .list-bd__items {
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.front-exhibition .list-bd .list-bd__items:first-child::before, .front-exhibition .list-bd .list-bd__items:nth-child(2)::before {
  content: "";
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
.front-exhibition .list-bd .btn-circlearrow {
  justify-content: space-between;
  color: #574D43;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-exhibition .list-bd .btn-circlearrow:hover {
    opacity: 1;
  }
  .front-exhibition .list-bd .btn-circlearrow:hover::after {
    transform: translateX(4px);
  }
}
.front-exhibition__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .front-exhibition__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.front-exhibition__link {
  height: 100%;
  background-color: #FFFFFF;
  display: grid;
  grid-template-rows: 225px 1fr;
  border-radius: 20px;
  position: relative;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-exhibition__link:hover img {
    scale: 1.1;
  }
  .front-exhibition__link:hover::after {
    transform: translateX(4px);
  }
}
.front-exhibition__link::after {
  content: "";
  width: 27px;
  height: 27px;
  display: inline-block;
  background: url("../img/icon/circlearrow-black.svg") no-repeat right/contain;
  position: absolute;
  right: 20px;
  bottom: 20px;
  transition: all 0.3s ease;
}
.front-exhibition__img {
  height: min(100%, 225px);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.front-exhibition__img img {
  width: 100%;
  height: 100%;
  border-radius: 20px 20px 0 0;
  object-fit: cover;
  transition: 0.3s;
}
.front-exhibition__txt {
  padding: 30px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  margin-block-end: -9px;
}
@media screen and (max-width: 1024px) {
  .front-exhibition__txt {
    padding: 20px;
    margin-block-end: 0;
  }
}
@media screen and (max-width: 768px) {
  .front-exhibition__txt {
    padding: 14px;
  }
}
.front-exhibition__txt h3 {
  margin-block-end: 10px;
  font-size: 20px;
  font-weight: 600;
  color: #00529B;
}
@media screen and (max-width: 768px) {
  .front-exhibition__txt h3 {
    font-size: 18px;
  }
}
.front-exhibition__txt .label {
  margin-block-start: 20px;
  display: inline-block;
  align-self: end;
  justify-self: start;
}
@media screen and (max-width: 768px) {
  .front-exhibition__txt .label {
    margin-block-start: 15px;
  }
}
.front-digitalvoyage {
  position: relative;
  margin-block: -320px 100px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage {
    margin-block-end: 60px;
  }
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage {
    margin-block-end: 40px;
  }
}
.front-digitalvoyage .list-bd {
  margin-block: 80px 40px;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage .list-bd {
    margin-block: 40px 30px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage .list-bd {
    margin-block: 30px 20px;
  }
}
.front-digitalvoyage .list-bd .list-bd__items {
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.front-digitalvoyage .list-bd .list-bd__items:first-child::before, .front-digitalvoyage .list-bd .list-bd__items:nth-child(2)::before {
  content: "";
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage .list-bd .list-bd__items:nth-child(2)::before {
    content: none;
  }
}
.front-digitalvoyage .list-bd .btn-circlearrow {
  justify-content: space-between;
  color: #574D43;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-digitalvoyage .list-bd .btn-circlearrow:hover {
    opacity: 1;
  }
  .front-digitalvoyage .list-bd .btn-circlearrow:hover::after {
    transform: translateX(4px);
  }
}
.front-digitalvoyage .list-bd .list-bd__link {
  padding: 18px 14px 23px;
}
.front-digitalvoyage__contents {
  padding-block: 78px;
  background-color: #FFFFFF;
  border-radius: 60px;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__contents {
    padding: 78px 30px 40px;
    border-radius: 40px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__contents {
    padding: 50px 14px 30px;
    border-radius: 20px;
  }
}
.front-digitalvoyage__wrap {
  margin: 0 auto;
  max-width: 843px;
  position: relative;
}
.front-digitalvoyage__ttl {
  position: relative;
  bottom: -46px;
  text-align: center;
}
.front-digitalvoyage__ttl::before {
  content: "";
  display: inline-block;
  width: 600px;
  height: 174px;
  border-radius: 50%/100% 100% 0 0;
  background: #FFFFFF;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__ttl::before {
    width: 500px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__ttl::before {
    width: 95%;
  }
}
.front-digitalvoyage__ttl .sec__h2 {
  position: relative;
  bottom: -80px;
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__ttl .sec__h2 {
    bottom: -50px;
  }
}
.front-digitalvoyage__ttl .sec__h2-ttl {
  padding-block-start: 16px;
}
.front-digitalvoyage__ttl-label {
  padding: 8px 20px;
  border-radius: 16.5px;
  background-color: #E6DE51;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  color: #574D43;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__ttl-label {
    font-size: 12px;
  }
}
.front-digitalvoyage__main-txt {
  margin-block-start: 40px;
  font-size: clamp(1.25rem, -0.75rem + 4.69vw, 2.25rem);
  font-weight: 600;
  letter-spacing: 5px;
  color: #00529B;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__main-txt {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__main-txt {
    text-align: left;
    width: 90%;
    margin-inline: auto;
  }
}
.front-digitalvoyage__sub-txt {
  margin-block-start: 20px;
  font-size: clamp(1rem, 0.5rem + 1.56vw, 1.5rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 3px;
  color: #00529B;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__sub-txt {
    margin-block-start: 16px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__sub-txt {
    text-align: left;
    width: 90%;
    margin-inline: auto;
  }
}
.front-digitalvoyage__deco--1 {
  max-width: 34.0625%;
  width: auto;
  position: absolute;
  right: -190px;
  z-index: 2;
  animation: floating1 1.8s ease-in-out infinite alternate-reverse;
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__deco--1 {
    right: -100px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__deco--1 {
    right: -50px;
    top: 40px;
  }
}
@keyframes floating1 {
  0% {
    transform: translate(-5%, 5%);
  }
  100% {
    transform: translateY(5%, -5%);
  }
}
.front-digitalvoyage__deco--2 {
  max-width: 26.015625%;
  width: auto;
  position: absolute;
  left: -150px;
  top: 300px;
  animation: floating2 1.8s ease-in-out infinite alternate-reverse;
  z-index: 1;
}
@media screen and (max-width: 1300px) {
  .front-digitalvoyage__deco--2 {
    left: -120px;
    top: 240px;
  }
}
@media screen and (max-width: 1024px) {
  .front-digitalvoyage__deco--2 {
    left: -140px;
  }
}
@media screen and (max-width: 768px) {
  .front-digitalvoyage__deco--2 {
    left: -50px;
    top: 18px;
  }
}
@keyframes floating2 {
  0% {
    transform: translate(5%, 5%);
  }
  100% {
    transform: translateY(-5%, -5%);
  }
}
.front-modelcourse {
  padding-block-end: 150px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .front-modelcourse {
    padding-block-end: 100px;
  }
}
@media screen and (max-width: 768px) {
  .front-modelcourse {
    padding-block-end: 70px;
  }
}
.front-modelcourse .btn-radius {
  margin-block-start: 0;
}
.front-modelcourse .splide {
  padding: 0 calc(50% - 50vw) 40px;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.front-modelcourse .splide .splide__track {
  overflow: hidden;
}
@media screen and (max-width: 1513px) {
  .front-modelcourse .splide .splide__track {
    overflow: inherit;
  }
}
@media screen and (max-width: 768px) {
  .front-modelcourse .splide {
    padding: 0 calc(50% - 50vw) 20px;
  }
}
.front-modelcourse .speechbubble {
  padding: 8px 25px;
}
.front-modelcourse .speechbubble::before {
  bottom: -8px;
}
.front-modelcourse__inner {
  position: relative;
  z-index: 1;
}
.front-modelcourse__main-txt {
  margin-block-start: 20px;
  font-size: clamp(1.5rem, -0.75rem + 4.69vw, 2.25rem);
  font-weight: 600;
  letter-spacing: 5px;
  color: #00529B;
}
@media screen and (max-width: 768px) {
  .front-modelcourse__main-txt {
    letter-spacing: 2px;
  }
}
.front-modelcourse__sub-txt {
  margin-block-start: 20px;
  font-size: clamp(1rem, 0.5rem + 1.56vw, 1.5rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 5px;
  color: #00529B;
}
@media screen and (max-width: 768px) {
  .front-modelcourse__sub-txt {
    width: 95%;
    margin-inline: auto;
    text-align: left;
    letter-spacing: 3px;
  }
}
.front-modelcourse__img {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  padding-block-start: 80px;
}
@media screen and (max-width: 768px) {
  .front-modelcourse__img {
    padding-block-start: 30px;
  }
}
@media screen and (max-width: 1513px) {
  .front-modelcourse__img {
    margin: 0 auto;
  }
}
.front-modelcourse__img img {
  width: 100%;
  border-radius: 50%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.front-modelcourse__icon {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
}
.front-modelcourse__icon::after {
  content: "";
  flex-shrink: 0;
  margin-block-start: 32px;
  width: 46px;
  height: 46px;
  background: url("../img/front/front-modelcourse-icon.svg") no-repeat center/contain;
  transition: all 0.3s ease;
}
.front-modelcourse__btn-txt {
  padding-block-start: 40px;
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  font-weight: 600;
}
.front-modelcourse__items {
  transition: all 0.3s ease;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .front-modelcourse__items:hover {
    transform: translateY(-20px);
  }
}
.front .breadcrumbs {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-color: #0054a0;
  position: relative;
}

.temp-note-container {
  text-align: center;
}
.temp-note-container .speechbubble {
  background-color: #FFFFFF;
  z-index: 2;
}
.temp-note-container .speechbubble::before {
  background-color: #FFFFFF;
  bottom: -8px;
  transform: translateX(calc(-50% - 12px));
}
.temp-note-container .speechbubble::after {
  background-color: #FFFFFF;
}
.temp-note-container .front-speechbubble__img {
  margin: 0 auto;
  width: auto;
  display: block;
  position: relative;
  bottom: -55px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .temp-note-container .front-speechbubble__img {
    bottom: -47px;
    width: 35px;
  }
}

/* 利用案内、各種申請書・リンク共通 */
.basicinfo section:not(:first-child), .documents section:not(:first-child) {
  padding-block-start: 72px;
}
@media screen and (max-width: 1024px) {
  .basicinfo section:not(:first-child), .documents section:not(:first-child) {
    padding-block-start: 40px;
  }
}
.basicinfo section .card + .card, .documents section .card + .card {
  margin-block-start: 50px;
}
@media screen and (max-width: 1024px) {
  .basicinfo section .card + .card, .documents section .card + .card {
    margin-block-start: 40px;
  }
}
.basicinfo .btn-circlearrow--blue-left, .documents .btn-circlearrow--blue-left {
  margin-block-start: 12px;
  font-size: clamp(0.938rem, 0.75rem + 0.39vw, 1rem);
  font-weight: 500;
}
.basicinfo li .btn-circlearrow--blue-left, .documents li .btn-circlearrow--blue-left {
  margin-block-start: 0;
}
.basicinfo .label, .documents .label {
  margin-inline-end: 12px;
}
@media screen and (max-width: 1300px) {
  .basicinfo .label, .documents .label {
    margin-block-end: 8px;
    width: fit-content;
    display: block;
  }
}
.basicinfo .note, .documents .note {
  margin-block-start: 8px;
}
.basicinfo .list-exdisc__items + .list-exdisc__items, .documents .list-exdisc__items + .list-exdisc__items {
  margin-block-start: 4px;
}
.basicinfo .btn-circlearrow, .documents .btn-circlearrow {
  justify-content: space-between;
  align-items: center;
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
  font-weight: 500;
}
.basicinfo .btn-circlearrow:hover, .documents .btn-circlearrow:hover {
  text-decoration-color: transparent;
}
.basicinfo .exdisc__link, .documents .exdisc__link {
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
}
.basicinfo .exdisc__link:hover, .documents .exdisc__link:hover {
  text-decoration-color: transparent;
}
.basicinfo .btn-circlearrow--underline span,
.basicinfo .exdisc__link span, .documents .btn-circlearrow--underline span,
.documents .exdisc__link span {
  border-bottom: none;
  /*??*/
}

/* 利用案内 */
.basicinfo .card {
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .basicinfo .card {
    padding: 25px;
  }
}
.basicinfo .card .page__dl > div:first-child {
  padding-block: 0 40px;
}
@media screen and (max-width: 768px) {
  .basicinfo .card .page__dl > div:first-child {
    padding-block: 0 20px;
  }
}
.basicinfo .card .page__dl > div:last-child {
  padding-block: 40px 0;
  background: none;
}
@media screen and (max-width: 768px) {
  .basicinfo .card .page__dl > div:last-child {
    padding-block: 20px 0;
  }
}
.basicinfo .card .page__dl.ttl__end > div:first-child {
  padding-block: 40px;
}
@media screen and (max-width: 768px) {
  .basicinfo .card .page__dl.ttl__end > div:first-child {
    padding-block: 20px;
  }
}
.basicinfo__btn {
  margin-block-start: 68px;
  display: flex;
  gap: 37px;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .basicinfo__btn {
    margin-block-start: 30px;
  }
}
@media screen and (max-width: 768px) {
  .basicinfo__btn {
    flex-direction: column;
    gap: 10px;
  }
}
.basicinfo-fee-pay__list {
  margin-block-start: 27px;
  display: grid;
  gap: 20px;
}
.basicinfo-fee-pay__list p {
  padding-block: 16px;
}
@media screen and (max-width: 1024px) {
  .basicinfo-fee-pay__list p {
    padding-block: 0 16px;
  }
}
.basicinfo-fee-pay__list img {
  width: auto;
}
@media screen and (max-width: 1024px) {
  .basicinfo-fee-pay__list img {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .basicinfo-fee-pay__list img {
    width: 100%;
  }
}
.basicinfo-barrierfree .barrierfree__items {
  color: #00529B;
}
.basicinfo-barrierfree .barrierfree__items.basicinfo-barrierfree-aed {
  color: #CF000E;
}
.basicinfo-guideline-photo__dd {
  display: grid;
  grid-template-columns: auto 180px;
  gap: 16px;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .basicinfo-guideline-photo__dd {
    grid-template-columns: 1fr;
  }
}
.basicinfo-guideline-photo__dd img {
  width: 180px;
}
@media screen and (max-width: 768px) {
  .basicinfo-guideline-photo__dd img {
    margin: 0 auto;
  }
}
.basicinfo-guideline-request__list {
  display: grid;
  gap: 20px;
}
.basicinfo-guideline-request__list p {
  padding-block: 16px;
}
@media screen and (max-width: 1024px) {
  .basicinfo-guideline-request__list p {
    padding-block: 0;
  }
}
.basicinfo .sec__h3-page {
  padding-block: 0 20px;
}
@media screen and (max-width: 1024px) {
  .basicinfo .sec__h3-page {
    padding-block: 0 16px;
  }
}
.basicinfo .sec__h3-page:nth-child(n+2) {
  margin-block-start: 50px;
}
@media screen and (max-width: 768px) {
  .basicinfo .sec__h3-page:nth-child(n+2) {
    margin-block-start: 25px;
  }
}
.basicinfo .time__label {
  padding-block: 0 26px;
}
.basicinfo .basicinfo__bd--bt {
  padding-block-end: 37px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
@media screen and (max-width: 1024px) {
  .basicinfo .basicinfo__bd--bt {
    padding-block-end: 20px;
  }
}

/* カレンダー */
.calendar iframe {
  aspect-ratio: 7/4.5;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .calendar iframe {
    aspect-ratio: 6/7;
    border-radius: 10px;
  }
}

/* 交通アクセス */
@media screen and (max-width: 768px) {
  .access .main__inner {
    width: 95%;
  }
  .access .main__inner .tab__content {
    padding: 10px;
  }
  .access .main__inner .tab__content .card {
    border-radius: 10px;
  }
}
.access section + section {
  margin-block-start: 50px;
}
.access .btn-circlearrow {
  margin-block-start: 16px;
}
.access .tab__items {
  width: min(215px, 100%);
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, auto);
  text-align: left;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
@media screen and (max-width: 1024px) {
  .access .tab__items {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .access .tab__items {
    padding-inline: 10px;
    width: auto;
    gap: 0 1px;
    grid-template-columns: 1fr;
    font-size: 13px;
    height: 58px;
    align-items: end;
  }
}
@media screen and (max-width: 768px) {
  .access .tab__items img {
    height: 20px;
    margin: 0 auto;
  }
}
.access .tab__nav .tab__items:first-of-type img {
  width: auto;
  height: 18px;
}
@media screen and (max-width: 768px) {
  .access .tab__nav .tab__items:first-of-type img {
    height: 16px;
  }
}
.access .tab__nav .tab__items:nth-of-type(2) img {
  width: auto;
  height: 16px;
}
@media screen and (max-width: 768px) {
  .access .tab__nav .tab__items:nth-of-type(2) img {
    margin-block-end: -3px;
  }
}
.access .tab__nav .tab__items:nth-of-type(3) img {
  width: auto;
  height: 23px;
}
.access .tab__nav .tab__items:last-of-type img {
  height: 16px;
}
@media screen and (max-width: 768px) {
  .access .tab__nav .tab__items:last-of-type img {
    margin-block-end: -2px;
  }
}
.access .label {
  width: fit-content;
}
.access h3.label-radius {
  margin-block-end: 16px;
  font-size: clamp(1rem, 0.938rem + 0.25vw, 1.125rem);
  font-weight: 600;
}
.access h4.label {
  margin-block: 24px 16px;
}
.access iframe {
  margin-block-start: 42px;
  border-radius: 15px;
  aspect-ratio: 5/3;
}
@media screen and (max-width: 768px) {
  .access iframe {
    margin-block-start: 30px;
    aspect-ratio: 1/1;
  }
}
.access__ttl-wrap {
  padding-block-end: 37px;
  display: flex;
  align-items: center;
  gap: 68px;
}
@media screen and (max-width: 1024px) {
  .access__ttl-wrap {
    padding-block-end: 24px;
    display: block;
  }
}
.access__ttl-wrap .sec__h2-page {
  padding-block-end: 0;
}
@media screen and (max-width: 1024px) {
  .access__ttl-wrap .sec__h2-page {
    padding-block-end: 20px;
  }
}
.access-map {
  margin-block-start: 50px;
}
@media screen and (max-width: 768px) {
  .access-map {
    margin-block-start: 20px;
  }
}
.access-address {
  margin-block-start: 18px;
}
.access-address__dl {
  display: flex;
  gap: 25px;
}
@media screen and (max-width: 1024px) {
  .access-address__dl {
    flex-direction: column;
    gap: 3px;
  }
}
@media screen and (max-width: 768px) {
  .access-address__dl {
    gap: 0;
  }
}
.access-address__dt {
  font-weight: 500;
}
.access .btn-circlearrow {
  justify-content: space-between;
  align-items: center;
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
  font-weight: 500;
}
.access .btn-circlearrow:hover {
  text-decoration-color: transparent;
}
.access .btn-circlearrow--underline span {
  border-bottom: none;
  /*??*/
}

/* 各種申請書・リンク */
.documents .sec__h3-page {
  padding-block-end: 20px;
}
.documents .list-exdisc {
  margin-block-start: 14px;
}
.documents .btn-radius--blue {
  font-size: clamp(0.875rem, 0.5rem + 0.78vw, 1rem);
}
.documents .btn-radius--blue + .btn-radius--blue {
  margin-block-start: 16px;
}
.documents-discount__wrap {
  padding-block: 0 40px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
@media screen and (max-width: 1024px) {
  .documents-discount__wrap {
    padding-block-end: 20px;
  }
}
.documents-discount__wrap:last-child {
  background: none;
}
.documents-discount__wrap:not(:first-child) .sec__h3-page {
  padding-block-start: 40px;
}
@media screen and (max-width: 1024px) {
  .documents-discount__wrap:not(:first-child) .sec__h3-page {
    padding-block-start: 20px;
  }
}
.documents-discount__label {
  margin-block-start: 14px;
}
.documents-app-use__text--bold {
  margin-block-start: 23px;
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  .documents-app-rental .list-exdisc {
    margin-block-start: 0;
  }
}
.documents-app-rental__list--num {
  margin-block-end: 20px;
}
.documents-app-rental__link .list-exdisc {
  margin-block-end: 27px;
}
@media screen and (max-width: 768px) {
  .documents-app-rental__link .list-exdisc {
    margin-block-end: 20px;
  }
}
.documents-link__list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 8px 100px;
}
@media screen and (max-width: 1024px) {
  .documents-link__list {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.documents-link__list li:first-child .btn-circlearrow {
  margin-block-start: 0;
}
.documents-discount .block, .documents-app-use .block, .documents-app-rental .block {
  grid-template-columns: 1fr minmax(auto, 450px);
}
@media screen and (max-width: 1024px) {
  .documents-discount .block, .documents-app-use .block, .documents-app-rental .block {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .documents .btn-radius--blue {
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .documents .btn-radius--blue + .btn-radius--blue {
    margin-block-start: 10px !important;
  }
}
.documents .block {
  align-items: flex-start;
}
@media screen and (max-width: 1300px) {
  .documents .block {
    gap: 40px;
    grid-template-columns: 1fr minmax(auto, 400px);
  }
}
@media screen and (max-width: 1024px) {
  .documents .block {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .documents .block {
    gap: 20px;
  }
}
.documents .documents-app-rental .block {
  grid-template-columns: 1fr minmax(auto, 450px);
}
@media screen and (max-width: 1024px) {
  .documents .documents-app-rental .block {
    grid-template-columns: 1fr;
  }
}

/* サン・ファン館について */
.aboutus section {
  padding-block-start: 110px;
}
@media screen and (max-width: 1024px) {
  .aboutus section {
    padding-block-start: 80px;
  }
}
@media screen and (max-width: 768px) {
  .aboutus section {
    padding-block-start: 30px;
  }
}
.aboutus-read img {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .aboutus-read img {
    border-radius: 15px;
  }
}
.aboutus-read p {
  margin-block-start: 40px;
}
@media screen and (max-width: 1024px) {
  .aboutus-read p {
    margin-block-start: 20px;
  }
}
.aboutus .block {
  align-items: inherit;
  gap: 20px 40px;
}
.aboutus .card h3 {
  margin-block-start: 60px;
  font-size: clamp(1.25rem, 0.125rem + 2.34vw, 1.625rem);
  text-align: center;
  font-weight: 600;
  letter-spacing: 2px;
}
@media screen and (max-width: 1024px) {
  .aboutus .card h3 {
    margin-block-start: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .aboutus .card img {
    margin: 0 auto;
    width: 240px;
    display: block;
  }
}
.aboutus .card p {
  margin-block-start: 20px;
}
@media screen and (max-width: 768px) {
  .aboutus .card p {
    margin-block-start: 10px;
  }
}

/* 団体利用について */
@media screen and (max-width: 768px) {
  .group .main__inner {
    width: 95%;
  }
  .group .main__inner .tab__content {
    padding: 10px;
  }
  .group .main__inner .tab__content .card {
    border-radius: 10px;
  }
}
.group .sec__h2-page {
  font-size: clamp(1.25rem, 0.688rem + 1.17vw, 1.438rem);
}
.group .label {
  width: fit-content;
}
.group .btn-circlearrow {
  margin-block-start: 8px;
}
.group .btn-radius {
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .group .btn-radius {
    margin-block-start: 16px;
  }
}
.group .list-exdisc {
  margin-block-start: 27px;
}
.group .block {
  margin-block-start: 30px;
}
@media screen and (max-width: 768px) {
  .group .block {
    margin-block-start: 20px;
  }
}
.group-application .btn-radius {
  margin: 32px auto 0;
}
@media screen and (max-width: 768px) {
  .group-application .btn-radius {
    margin: 10px auto 0;
  }
}
.group-application-fee__list {
  margin-block-start: 27px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
.group-application-fee__list-child > div {
  display: flex;
  gap: 16px;
}
.group-school-application__h3 {
  margin-block-end: 36px;
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  color: #00529B;
}
@media screen and (max-width: 1024px) {
  .group-school-application__h3 {
    margin-block-end: 20px;
  }
}
.group-school-application__note {
  margin-block: 16px;
}
.group-school-application p + p {
  margin-block-start: 16px;
}
.group-school-application .btn-radius {
  margin-block-start: 32px;
  margin-inline: 0;
}
@media screen and (max-width: 768px) {
  .group-school-application .btn-radius {
    margin-block-start: 10px;
  }
}
.group-school-flow {
  margin-block-start: 70px;
}
@media screen and (max-width: 1024px) {
  .group-school-flow {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .group-school-flow {
    margin-block-start: 30px;
  }
}
.group-school-flow .dl-contact {
  padding-block: 16px 5px;
}
@media screen and (max-width: 768px) {
  .group-school-flow .dl-contact {
    padding-block: 16px 0;
  }
}
.group-school-flow .btn-radius + .btn-radius {
  margin-block-start: 16px;
}
.group-school-flow .list-num {
  margin-block: 16px;
}
.group-school-flow__ttl {
  padding-block-end: 30px;
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  font-weight: 500;
  color: #00529B;
}
@media screen and (max-width: 1024px) {
  .group-school-flow__ttl {
    padding-block-end: 20px;
  }
}
.group-school-flow__img {
  margin: 0 auto 50px;
  width: auto;
  display: block;
}
@media screen and (max-width: 1024px) {
  .group-school-flow__img {
    margin-block-end: 30px;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .group-school-flow__img {
    margin-inline: 0;
    width: 70%;
  }
}
.group-school-flow__items {
  padding-block: 30px;
  background: radial-gradient(circle, #00529B 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
.group-school-flow__items img {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .group-school-flow__items img {
    border-radius: 15px;
  }
}
.group-school-flow__items-previsit-app .block {
  margin-block: 0;
  grid-template-columns: 1fr minmax(auto, 430px);
  gap: 30px 20px;
}
@media screen and (max-width: 1300px) {
  .group-school-flow__items-previsit-app .block {
    grid-template-columns: 1fr minmax(auto, 50%);
  }
  .group-school-flow__items-previsit-app .block .btn-radius {
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1024px) {
  .group-school-flow__items-previsit-app .block {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.group-school-flow__items-previsit-app .label {
  margin-block-end: 14px;
}
.group-school-flow__items-previsit-app .label ~ .label {
  margin-block-start: 50px;
}
@media screen and (max-width: 1024px) {
  .group-school-flow__items-previsit-app .label ~ .label {
    margin-block-start: 30px;
  }
}
.group-school-flow__items-prestudy .block, .group-school-flow__items-previsit .block {
  gap: 40px 30px;
}
@media screen and (max-width: 768px) {
  .group-school-flow__items-prestudy .block, .group-school-flow__items-previsit .block {
    gap: 30px 0;
  }
}
.group-school-flow__items-prestudy .btn-radius, .group-school-flow__items-previsit .btn-radius {
  margin-block-start: 20px;
}
@media screen and (max-width: 768px) {
  .group-school-flow__items-prestudy .btn-radius, .group-school-flow__items-previsit .btn-radius {
    margin-block-start: 15px;
  }
}
.group-school-flow__items-prestudy img {
  border: solid 1px #DFDFDF;
}
.group-school-flow__items-previsit .btn-radius {
  margin-block-start: 30px;
}
@media screen and (max-width: 768px) {
  .group-school-flow__items-previsit .btn-radius {
    margin-block-start: 15px;
  }
}
@media screen and (max-width: 1024px) {
  .group-school-flow__items-previsit .block {
    gap: 20px 0;
  }
}
@media screen and (max-width: 768px) {
  .group-school-flow__items-previsit .block {
    gap: 10px;
  }
}
.group-school-flow__items-learn {
  padding-block: 30px 0;
}
.group .btn-circlearrow {
  justify-content: space-between;
  align-items: center;
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
  font-weight: 500;
}
.group .btn-circlearrow:hover {
  text-decoration-color: transparent;
}
.group .link--underline {
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
}
.group .link--underline:hover {
  text-decoration-color: transparent;
}
.group .btn-circlearrow--underline span, .group .link--underline span {
  border-bottom: none;
  /*??*/
}

/* 学校団体申し込み */
.contact iframe, .application iframe, .school-application iframe {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .contact iframe, .application iframe, .school-application iframe {
    border-radius: 15px;
  }
}

@media screen and (max-width: 768px) {
  .news.archive .news__items span.news__date {
    line-height: 1.8;
  }
}
.news.archive .news__items:first-of-type .news__link {
  padding-block-start: 0;
}
.news.archive .news__items:first-of-type .news__link::after {
  top: calc(50% - 10px);
}
.news.archive .news__items:last-child {
  background: none;
}
.news.archive .news__items:last-child a.news__link {
  padding-block-end: 0;
}
.news.archive .news__items:last-child a.news__link::after {
  top: calc(50% + 10px);
}
.news.archive .card {
  padding: 70px;
}
@media screen and (max-width: 1024px) {
  .news.archive .card {
    padding: 50px;
  }
}
@media screen and (max-width: 768px) {
  .news.archive .card {
    padding: 25px;
  }
}
.news.archive .news__items {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.news__link {
  padding: 25px 55px 25px 14px;
  width: 100%;
  display: grid;
  grid-template-columns: 134px 120px auto;
  gap: 27px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .news__link {
    padding: 20px 55px 20px 14px;
    grid-template-columns: 134px 1fr;
    gap: 8px 16px;
  }
}
@media screen and (max-width: 768px) {
  .news__link {
    padding: 15px 50px 16px 0;
    grid-template-columns: 125px 1fr;
  }
}
.news__link::after {
  content: "";
  width: 23px;
  height: 23px;
  background: url("../img/icon/circlearrow-blue.svg") no-repeat center right/contain;
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-58%);
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .news__link::after {
    right: 0;
  }
}
@media screen and (min-width: 1025px) {
  .news__link .news__ttl span {
    text-decoration-color: transparent;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .news__link:hover::after {
    transform: translate(4px, -58%);
  }
  .news__link:hover .news__ttl span {
    text-decoration: underline;
    text-decoration-color: base;
    transition: ease all 0.3s;
  }
}
.news__ttl {
  transition: all 0.3s ease;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  .news__ttl {
    grid-column: 1/3;
  }
}
.news .btn-radius--blue {
  margin: 50px auto 0;
}
@media screen and (max-width: 1024px) {
  .news .btn-radius--blue {
    margin-block-start: 30px;
  }
}
.news .label {
  align-self: self-start;
}
.news .label-news {
  background-color: #E6DE51;
}
.news .label-media {
  background-color: #9DC9F0;
}
.news .label-news-important {
  background-color: #DFA19C;
}
.news .label-news-other {
  background-color: #DBD3CA;
}

.event__list, .experience__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(auto, 413px));
  gap: 24px 20px;
}
.event__list:has(.post-none), .experience__list:has(.post-none) {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 1024px) {
  .event__list, .experience__list {
    grid-template-columns: repeat(2, minmax(auto, 1fr));
    gap: 16px;
  }
}
@media screen and (max-width: 768px) {
  .event__list, .experience__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.event__items, .experience__items {
  height: 100%;
  padding-block: 35px 0;
  background-color: #FFFFFF;
  border-radius: 25px;
}
@media screen and (max-width: 1024px) {
  .event__items, .experience__items {
    padding-block-start: 25px;
    border-radius: 15px;
  }
}
@media screen and (max-width: 768px) {
  .event__items, .experience__items {
    padding-block-start: 30px;
  }
}
.event__wrap, .experience__wrap {
  padding-inline: 35px;
}
@media screen and (max-width: 1300px) {
  .event__wrap, .experience__wrap {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .event__wrap, .experience__wrap {
    padding-inline: 25px;
  }
}
@media screen and (max-width: 768px) {
  .event__wrap, .experience__wrap {
    padding-inline: 20px;
  }
}
.event__link, .experience__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .event__link:hover img, .experience__link:hover img {
    scale: 1.1;
  }
}
.event__img, .experience__img {
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 1300px) {
  .event__img, .experience__img {
    width: 65%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 1024px) {
  .event__img, .experience__img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .event__img, .experience__img {
    width: 70% !important;
    margin-inline: auto;
  }
}
.event__img img, .experience__img img {
  aspect-ratio: 77/109;
  object-fit: cover;
  transition: all 0.3s ease;
}
.event__status, .experience__status {
  padding-block-start: 24px;
  display: inline-flex;
  gap: 4px;
  flex-wrap: wrap;
}
.event__date, .experience__date {
  padding-block-start: 16px;
  font-size: 15px;
  font-weight: 500;
}
.event__ttl, .experience__ttl {
  padding-block-start: 8px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .event__ttl, .experience__ttl {
    padding-block-start: 0;
  }
}
.event.archive .btn-radius, .experience.archive .btn-radius {
  margin: 50px auto 0;
}
@media screen and (max-width: 1024px) {
  .event.archive .btn-radius, .experience.archive .btn-radius {
    margin-block-start: 30px;
  }
}

/* イベント */
.event__ttl {
  padding-block-end: 15px;
}
.event__cat {
  margin-block-start: auto;
  text-align: right;
}
.event__cat .label {
  min-width: 100px;
  padding: 8px 20px;
  border-radius: 25px 0 25px 0;
  display: inline-block;
}
@media screen and (max-width: 1300px) {
  .event__cat .label {
    border-radius: 15px 0 15px 0;
  }
}

/* 体験 */
.experience__items {
  padding-block-end: 40px;
}
@media screen and (max-width: 1024px) {
  .experience__items {
    padding-block: 25px;
  }
}

.lang {
  word-break: break-all;
}
.lang-directions, .lang-museuminformation, .lang-calender {
  padding-block-start: 80px;
}
@media screen and (max-width: 1024px) {
  .lang-directions, .lang-museuminformation, .lang-calender {
    padding-block: 60px;
  }
}
@media screen and (max-width: 768px) {
  .lang-directions, .lang-museuminformation, .lang-calender {
    padding-block: 40px;
  }
}
.lang-mv img {
  aspect-ratio: 84/25;
  object-fit: cover;
  object-position: bottom;
}
.lang__menu-list {
  grid-template-columns: repeat(4, auto);
}
@media screen and (max-width: 768px) {
  .lang__menu-list {
    grid-template-columns: repeat(2, auto);
  }
}
.lang-lead {
  padding-block: 80px;
  text-align: center;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .lang-lead {
    padding-block: 60px;
  }
}
@media screen and (max-width: 768px) {
  .lang-lead {
    padding-block: 40px;
  }
}
.lang-lead .lang__main-txt {
  margin-block-start: 30px;
  font-size: clamp(1.25rem, 0.5rem + 1.56vw, 1.5rem);
}
.lang-lead .lang__sub-txt {
  margin-block-start: 16px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
}
.lang-reason {
  padding-block: 140px;
}
@media screen and (max-width: 768px) {
  .lang-reason {
    padding-block: 120px;
  }
}
.lang-reason .sec__h2-ttl {
  font-weight: 700;
}
.lang-reason .lang__main-txt {
  font-size: clamp(1.25rem, 0.125rem + 2.34vw, 1.625rem);
  font-weight: 600;
  color: #00529B;
  text-align: center;
}
.lang-reason__list {
  margin-block-start: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .lang-reason__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.lang-reason__wrap {
  height: 100%;
  background-color: #FFFFFF;
  display: grid;
  grid-template-rows: 225px 1fr;
  border-radius: 20px;
  position: relative;
}
.lang-reason__img {
  height: min(100%, 225px);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.lang-reason__txt {
  padding: 24px;
}
.lang-reason__txt h3 {
  margin-block-end: 18px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  font-weight: 600;
  text-align: center;
}
.lang-reason .speechbubble {
  position: absolute;
  left: 50%;
  top: -20px;
  transform: translateX(-50%);
  padding: 8px 25px;
}
.lang-reason .speechbubble::before {
  bottom: -8px;
}
.lang-directions {
  position: relative;
}
.lang-directions .lang__main-txt {
  font-size: clamp(1.25rem, 0.125rem + 2.34vw, 1.625rem);
  font-weight: 600;
  color: #00529B;
  text-align: center;
}
.lang-directions-route__dl + .lang-directions-route__dl {
  margin-block-start: 16px;
}
.lang-directions-route__dl dt {
  font-weight: 600;
  color: #00529B;
}
.lang-directions-address__dl {
  margin-block-start: 24px;
}
.lang-directions-address__dl dt {
  font-weight: 600;
}
.lang-museuminformation {
  padding-block-end: 200px;
}
@media screen and (max-width: 1024px) {
  .lang-museuminformation {
    padding-block-end: 100px;
  }
}
@media screen and (max-width: 1024px) {
  .lang-museuminformation .time__label {
    padding-block: 20px 0;
  }
}
.lang-museuminformation.wave--bf::before {
  top: 0;
  height: 400px;
}
.lang-museuminformation-label__dl {
  margin-block-start: 14px;
  display: grid;
  grid-template-columns: 146px auto;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .lang-museuminformation-label__dl {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.lang-museuminformation-label__dl .label {
  align-self: self-start;
}
@media screen and (max-width: 1024px) {
  .lang-museuminformation-label__dl .label {
    width: fit-content;
  }
}
.lang-museuminformation .card {
  position: relative;
}
.lang-museuminformation .lang__h3-bd--bt:has(+ .page__dl) {
  margin-block-end: 0;
}
.lang-museuminformation .page__dl > div {
  padding: 16px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .lang-museuminformation .page__dl > div {
    grid-template-columns: 1fr;
  }
}
.lang-museuminformation .lang__main-txt {
  margin-block-start: 20px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  color: #00529B;
  text-align: center;
}
.lang-museuminformation .barrierfree__list {
  margin-block-end: 30px;
}
@media screen and (max-width: 1024px) {
  .lang-museuminformation .barrierfree__list {
    margin-block-end: 20px;
  }
}
.lang-museuminformation .barrierfree__items {
  grid-template-columns: 30px minmax(auto, 200px);
}
.lang-calender {
  position: relative;
}
.lang-calender #js-visualBlock {
  margin: -400px calc(50% - 50vw);
}
.lang-calender #js-visualBlock.wave--bf::before {
  z-index: 1;
}
.lang-calender #js-visualBlock.wave--af::after {
  height: 430px;
}
.lang-keichoembassy {
  padding-block-start: 200px;
}
@media screen and (max-width: 1024px) {
  .lang-keichoembassy {
    padding-block-start: 100px;
  }
}
.lang-keichoembassy .sec__h2-ttl {
  font-family: "Noto Sans JP", sans-serif;
}
.lang-facilityguide {
  padding-block-start: 80px;
}
@media screen and (max-width: 1024px) {
  .lang-facilityguide {
    padding-block-start: 60px;
  }
}
@media screen and (max-width: 768px) {
  .lang-facilityguide {
    padding-block-start: 40px;
  }
}
.lang-facilityguide .lang__main-txt {
  margin-block-start: 20px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  color: #00529B;
  text-align: center;
}
.lang-facilityguide p + .list-block {
  margin-block-start: 40px;
}
.lang-facilityguide .main-img {
  margin-block-end: 16px;
  border-radius: 15px;
}
.lang-facilityguide .tab__items {
  padding-inline: 12px;
}
.lang-sec__h3 {
  padding-block: 50px 20px;
  margin-block-end: 20px;
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
}
@media screen and (max-width: 1024px) {
  .lang-sec__h3 {
    padding-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .lang-sec__h3 {
    padding-block-start: 30px;
  }
}
.lang-sec__h3:has(+ .page__dl) {
  margin-block-end: 0;
}
.lang .tab {
  margin-block-start: 30px;
}
.lang .block {
  margin-block-start: 50px;
}
@media screen and (max-width: 1024px) {
  .lang .block {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .lang .block {
    margin-block-start: 30px;
  }
}
.lang .list-exdisc {
  margin-block-start: 16px;
}
.lang .btn-circlearrow {
  margin-block-start: 8px;
}
.lang .btn-radius {
  margin: 50px auto 0;
}
@media screen and (max-width: 1024px) {
  .lang .btn-radius {
    margin-block-start: 30px;
  }
}
@media screen and (max-width: 768px) {
  .lang #js-visualBlock {
    height: 800px;
  }
}
.lang iframe {
  margin-block-start: 30px;
  aspect-ratio: 7/4.5;
  border-radius: 20px;
  border: none;
}
@media screen and (max-width: 768px) {
  .lang iframe {
    height: 400px;
    aspect-ratio: 6/7;
    border-radius: 10px;
  }
}
.lang.en {
  word-break: normal !important;
}
@media screen and (max-width: 768px) {
  .lang.en .lang-lead .lang__main-txt {
    text-align: left;
    font-size: clamp(1.1rem, 0.5rem + 1.56vw, 1.5rem);
    letter-spacing: 1;
  }
}
@media screen and (max-width: 768px) {
  .lang.en .lang-lead .lang__sub-txt {
    text-align: left;
    font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
    letter-spacing: 1;
  }
}
.lang .sec__h2-ttl {
  font-size: clamp(1.3rem, -1.5rem + 6.25vw, 2.5rem);
}

.column.page .main__inner {
  padding-bottom: 0;
}
.column-read {
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .column-read {
    text-align: left;
  }
}
.column-read p {
  line-height: 2;
}
.column-read .note {
  padding-block-start: 8px;
}
.column-read img {
  padding-block: 60px;
  width: 174px;
}
@media screen and (max-width: 1024px) {
  .column-read img {
    padding-block: 40px 30px;
  }
}
@media screen and (max-width: 768px) {
  .column-read img {
    padding-block: 30px 20px;
    margin: 0 auto;
    display: block;
  }
}
.column-read dt {
  font-weight: 600;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .column-read dt {
    text-align: center;
  }
}
.column-read dt span {
  font-weight: 400;
  font-size: 16px;
}
.column-read dd {
  padding-block-start: 16px;
  font-size: 15px;
}
.column-post {
  padding-block: 150px 80px;
}
@media screen and (max-width: 768px) {
  .column-post {
    padding-block: 100px 40px;
  }
}
.column-post.wave--bf::before {
  height: 200px;
}
@media screen and (max-width: 768px) {
  .column-post.wave--bf::before {
    top: -140px;
  }
}
.column .card {
  margin-block-start: 50px;
}
.column__items {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.column__items:last-child {
  background: none;
}
.column__link {
  padding: 20px 14px;
  width: 100%;
  display: grid;
  grid-template-columns: 134px auto;
  gap: 27px;
  position: relative;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .column__link:hover::after {
    transform: translate(4px, -50%);
  }
}
@media screen and (max-width: 1024px) {
  .column__link {
    padding: 20px 55px 20px 14px;
    grid-template-columns: 1fr;
    gap: 8px 16px;
  }
}
@media screen and (max-width: 768px) {
  .column__link {
    padding: 15px 50px 16px 0;
  }
}
.column__link::after {
  content: "";
  width: 23px;
  height: 23px;
  background: url(../img/icon/circlearrow-blue.svg) no-repeat center right/contain;
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .column__link::after {
    right: 0;
  }
}
.column__ttl {
  font-weight: 500;
}
.column .ttlcat__wrap {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1024px) {
  .column .ttlcat__wrap {
    flex-direction: column;
    gap: 8px;
  }
}
.column .label-new {
  background-color: #E6DE51;
}
@media screen and (max-width: 1024px) {
  .column .label-new {
    width: fit-content;
  }
}

/* デジタル航海TOP */
.page.menu .main__inner {
  position: relative;
  padding: 100px 0 0;
}
@media screen and (max-width: 1024px) {
  .page.menu .main__inner {
    padding: 80px 0 0;
    max-width: inherit;
  }
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner {
    padding: 40px 0 0;
  }
}
.page.menu .main__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/digital-voyage/digital-voyage_bg.jpg) repeat;
  background-size: 50%;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  z-index: -1;
}
.page.menu .main__inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/digital-voyage/digitalvoyage_line.svg) repeat-x;
  background-size: contain;
  display: block;
  height: 7px;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner::after {
    height: 5px;
  }
}
.page.menu .main__inner .lead__ttl {
  font-size: clamp(1.25rem, 0.75rem + 2vw, 2.25rem);
  font-weight: 600;
  letter-spacing: 5px;
  color: #574D43;
  text-align: center;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 0;
  margin-block: 0 50px;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .lead__ttl {
    margin-block: 0 20px;
    gap: 7px 0;
  }
}
.page.menu .main__inner .lead__ttl span {
  font-size: clamp(0.875rem, 0.813rem + 0.25vw, 1rem);
  line-height: 1;
  text-indent: 5px;
  margin-right: -5px;
  background: #E6DE51;
  text-align: center;
  border-radius: 50px;
  display: inline-block;
  margin: 0 auto;
  padding: 12px 20px;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .lead__ttl span {
    padding: 10px 15px;
  }
}
.page.menu .main__inner .lead__txt {
  margin-block-start: 20px;
  font-size: clamp(1rem, 0.938rem + 0.25vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 3px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .lead__txt {
    text-align: justify;
  }
  .page.menu .main__inner .lead__txt br:nth-child(n+2) {
    display: none;
  }
}
.page.menu .main__inner .menu__item {
  position: relative;
  padding: 100px 0;
  margin-block: 100px 0;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page.menu .main__inner .menu__item {
    padding: 70px 0;
    margin-block: 70px 0;
  }
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .menu__item {
    padding: 40px 0;
    margin-block: 40px 0;
  }
}
.page.menu .main__inner .menu__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/digital-voyage/digital-voyage_section-bg.svg) repeat-x;
  background-size: cover;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 30px;
  z-index: -1;
}
.page.menu .main__inner .menu__item::after {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, 0.44);
  z-index: -1;
}
.page.menu .main__inner .menu__item .contents__title--h2 {
  font-family: "EB Garamond", serif;
  font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  color: #574D43;
  font-weight: 600;
  letter-spacing: 10px;
  margin-block: 0 50px;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .menu__item .contents__title--h2 {
    margin-block: 0 30px;
    letter-spacing: 8px;
  }
}
.page.menu .main__inner .menu__item .contents__title--h2 span {
  display: block;
  font-size: clamp(0.938rem, 0.906rem + 0.13vw, 1rem);
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .menu__item .contents__title--h2 span {
    letter-spacing: 6px;
  }
}
.page.menu .main__inner .menu__item ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 40px;
}
@media screen and (max-width: 1024px) {
  .page.menu .main__inner .menu__item ul {
    gap: 40px 20px;
  }
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .menu__item ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 10px;
  }
}
.page.menu .main__inner .menu__item ul li {
  width: 100%;
}
.page.menu .main__inner .menu__item ul li > a:first-of-type {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
.page.menu .main__inner .menu__item ul li > a:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1/1;
  background: url(../img/digital-voyage/digitalvoyage-menubg_01.svg) no-repeat;
  background-size: cover;
  z-index: 1;
}
.page.menu .main__inner .menu__item ul li > a:first-of-type img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 58.2%;
  display: block;
  z-index: 2;
}
.page.menu .main__inner .menu__item ul li > a:first-of-type:hover::before {
  transition: 2.5s;
  transform: rotate(-360deg);
}
.page.menu .main__inner .menu__item ul li:nth-child(2) a:first-of-type::before {
  background: url(../img/digital-voyage/digitalvoyage-menubg_02.svg) no-repeat;
  background-size: cover;
}
.page.menu .main__inner .menu__item ul li:nth-child(3) a:first-of-type::before {
  background: url(../img/digital-voyage/digitalvoyage-menubg_03.svg) no-repeat;
  background-size: cover;
}
.page.menu .main__inner .menu__item ul li:nth-child(4) a:first-of-type::before {
  background: url(../img/digital-voyage/digitalvoyage-menubg_04.svg) no-repeat;
  background-size: cover;
}
.page.menu .main__inner .menu__item ul li:nth-child(5) a:first-of-type::before {
  background: url(../img/digital-voyage/digitalvoyage-menubg_05.svg) no-repeat;
  background-size: cover;
}
.page.menu .main__inner .menu__item ul li:nth-child(6) a:first-of-type::before {
  background: url(../img/digital-voyage/digitalvoyage-menubg_06.svg) no-repeat;
  background-size: cover;
}
.page.menu .main__inner .menu__item ul li > a:last-of-type {
  position: relative;
  display: block;
  margin: 30px auto 0;
  background: #003B77;
  color: #D4B77A;
  line-height: 1;
  font-size: clamp(0.875rem, 0.813rem + 0.25vw, 1rem);
  border: 2px solid #D4B77A;
  border-radius: 50px;
  padding: 20px 7px;
  width: 90%;
}
@media screen and (max-width: 768px) {
  .page.menu .main__inner .menu__item ul li > a:last-of-type {
    margin: 15px 0 0;
    width: 100%;
    letter-spacing: 0;
    padding: 13px 5px;
  }
  .page.menu .main__inner .menu__item ul li > a:last-of-type span {
    display: none;
  }
}
.page.menu .main__inner .menu__item ul li > a:last-of-type::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 13px solid #003B77;
  border-top: 0;
  z-index: -1;
  transition: ease all 0.3s;
}
.page.menu .main__inner .menu__item ul li > a:last-of-type:hover::before {
  top: -20px;
  z-index: 1;
}
.page.menu .main__inner .menu__item ul li:hover > a:first-of-type::before {
  transition: 2.5s;
  transform: rotate(-360deg);
}
.page.menu .main__inner .menu__item ul li:hover > a:last-of-type::before {
  top: -20px;
  z-index: 1;
}

/* 施設ガイド */
.facilities .tab__items {
  width: min(280px, 100%);
}
@media screen and (max-width: 1024px) {
  .facilities .tab__items {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .facilities .tab__items {
    font-size: 15px;
    padding: 9px 20px;
  }
}
.facilities .tab__content img {
  border-radius: 25px;
}
@media screen and (max-width: 1024px) {
  .facilities .tab__content img {
    border-radius: 10px;
  }
}
.facilities .btn-radius {
  margin: 40px auto 0;
}
@media screen and (max-width: 1024px) {
  .facilities .btn-radius {
    margin-block-start: 20px;
  }
}
.facilities .barrierfree__list {
  margin-block-start: 37px;
  gap: 5px 20px;
}
@media screen and (max-width: 1024px) {
  .facilities .barrierfree__list {
    margin-block-start: 30px;
    gap: 2px 20px;
  }
}
.facilities .barrierfree__items {
  display: grid;
  grid-template-columns: 30px 117px;
  font-size: 13px;
}
@media screen and (max-width: 1024px) {
  .facilities .barrierfree__items {
    grid-template-columns: 28px 124px;
  }
}
@media screen and (max-width: 768px) {
  .facilities .barrierfree__items {
    grid-template-columns: 20px 135px;
  }
}

/* 展望棟 */
.observation-building :is(.point-block, .block) + :is(.point-block, .block) {
  padding-block-start: 110px;
}
@media screen and (max-width: 1024px) {
  .observation-building :is(.point-block, .block) + :is(.point-block, .block) {
    padding-block-start: 80px;
  }
}
@media screen and (max-width: 768px) {
  .observation-building :is(.point-block, .block) + :is(.point-block, .block) {
    padding-block-start: 40px;
  }
}
.observation-building .point-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 0 70px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .observation-building .point-block {
    gap: 24px;
  }
}
@media screen and (max-width: 768px) {
  .observation-building .point-block {
    gap: 20px;
  }
}
.observation-building .point-block.point-block--reverse .splide {
  grid-column: 2;
  grid-row: 1/span 2;
}
.observation-building .point-block.point-block--reverse .point-block__ttl, .observation-building .point-block.point-block--reverse .point {
  grid-column: 1;
}
@media screen and (max-width: 1024px) {
  .observation-building .point-block.point-block--reverse {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  .observation-building .point-block.point-block--reverse .splide, .observation-building .point-block.point-block--reverse .point-block__ttl, .observation-building .point-block.point-block--reverse .point {
    grid-column: auto;
    grid-row: auto;
  }
}
.observation-building .point-block .splide {
  min-width: 300px;
  grid-column: 1;
  grid-row: 1/span 2;
}
@media screen and (max-width: 1024px) {
  .observation-building .point-block .splide {
    min-width: auto;
  }
}
.observation-building .point-block .point-block__ttl {
  grid-column: 2;
  grid-row: 1;
}
.observation-building .point-block .point-block__ttl h3 {
  font-size: clamp(1.125rem, -0.375rem + 3.13vw, 1.625rem);
  letter-spacing: 2px;
  font-weight: 600;
}
.observation-building .point-block .point-block__ttl p {
  margin-block: 16px;
}
@media screen and (max-width: 768px) {
  .observation-building .point-block .point-block__ttl p {
    margin-block: 8px;
  }
}
.observation-building .point-block .point {
  grid-column: 2;
  grid-row: 2;
}
@media screen and (max-width: 1024px) {
  .observation-building .point-block .point-contents > img {
    width: 500px !important; /*max-width:240px;に頼り、一旦大きなサイズ指定*/
  }
}
@media screen and (max-width: 1024px) {
  .observation-building .point-block {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  .observation-building .point-block .splide, .observation-building .point-block .point-block__ttl, .observation-building .point-block .point {
    grid-column: auto;
    grid-row: auto;
  }
  .observation-building .point-block .splide {
    margin-block-end: 60px;
  }
}
@media screen and (max-width: 768px) {
  .observation-building .point-block .splide {
    margin-block-end: 10px;
  }
}
.observation-building .block h3 {
  font-size: clamp(1.125rem, -0.375rem + 3.13vw, 1.625rem);
  letter-spacing: 2px;
  font-weight: 600;
}
.observation-building .block p, .observation-building .block .barrierfree__list {
  margin-block: 16px;
}
.observation-building .btn-radius, .observation-building .btn-video {
  margin-block-start: 32px;
}
@media screen and (max-width: 768px) {
  .observation-building .btn-radius, .observation-building .btn-video {
    margin-inline: auto;
  }
}
.observation-building-lobbyexhibition {
  margin-block-end: -140px;
  position: relative;
  z-index: 1;
}
.observation-building-exhibitionroom {
  padding-block: 300px 150px;
}
@media screen and (max-width: 1024px) {
  .observation-building-exhibitionroom {
    padding-block-start: 250px;
  }
}
@media screen and (max-width: 768px) {
  .observation-building-exhibitionroom {
    padding-block-end: 100px;
    padding-block-start: 200px;
  }
}
.observation-building-exhibitionroom ruby span {
  margin-inline-start: -7px;
}
.observation-building-santjuantheater {
  padding-block: 100px 150px;
  background-color: #C8E1EF;
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1024px) {
  .observation-building-santjuantheater {
    padding-block: 50px 150px;
    text-align: center;
  }
  .observation-building-santjuantheater .btn-radius {
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .observation-building-santjuantheater {
    padding-block: 0 100px;
  }
}
.observation-building-santjuantheater.wave--blue-light::before {
  background: url("../img/santjuan-wave-blue-light.webp");
  transform: rotate(0);
}
.observation-building-facility {
  padding-block-start: 80px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .observation-building-facility .block:last-of-type .btn-radius {
    margin-inline: auto;
  }
}
@media screen and (max-width: 768px) {
  .observation-building-facility {
    padding-block-start: 40px;
  }
}

/* ドック棟 */
.dock-building {
  /*モジュール打ち消し*/
}
.dock-building h3 {
  font-size: clamp(1.125rem, -0.375rem + 3.13vw, 1.625rem);
  text-align: center;
  letter-spacing: 2px;
  font-weight: 600;
}
.dock-building h3:not(hgroup + h3) {
  padding-block-start: 80px;
}
@media screen and (max-width: 1024px) {
  .dock-building h3:not(hgroup + h3) {
    padding-block-start: 40px;
  }
}
.dock-building .splide-fade .splide__slide {
  max-height: 100%;
}
.dock-building .splide-fade img {
  height: auto;
  border-radius: 25px;
  object-fit: cover;
  aspect-ratio: 5/3.2;
}
.dock-building img {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .dock-building img {
    border-radius: 15px;
  }
}
.dock-building p.point__txt {
  margin-block: 0;
}
.dock-building .point {
  margin-block-start: 40px;
}
.dock-building .point-contents {
  align-items: center;
}
.dock-building .speechbubble {
  width: 142px;
  position: absolute;
  left: 50%;
  top: -20px;
  transform: translateX(-50%);
  padding: 8px 25px 10px;
}
.dock-building .speechbubble::before {
  bottom: -7px;
}
.dock-building .speechbubble::after {
  bottom: -19px;
}
.dock-building-read__txt {
  margin-block-start: 16px;
  text-align: center;
}
.dock-building-replicaship {
  position: relative;
  z-index: 1;
}
.dock-building-replicaship .splide {
  margin-block-start: 32px;
}
.dock-building-eastwing {
  padding-block: 150px;
}
@media screen and (max-width: 768px) {
  .dock-building-eastwing {
    padding-block: 100px;
  }
}
.dock-building-eastwing .card {
  padding: 80px;
  margin-block-start: 80px;
}
@media screen and (max-width: 1024px) {
  .dock-building-eastwing .card {
    margin-block-start: 40px;
    padding: 40px;
  }
}
@media screen and (max-width: 768px) {
  .dock-building-eastwing .card {
    margin-block-start: 30px;
    padding: 20px;
  }
}
.dock-building-eastwing .splide {
  margin-block-start: 32px;
}
.dock-building-eastwing-connpass__img {
  margin-block-start: 70px;
  position: relative;
}
.dock-building-eastwing-connpass-sub {
  width: auto;
  position: absolute;
  right: -100px;
  top: -100px;
}
@media screen and (max-width: 1024px) {
  .dock-building-eastwing-connpass-sub {
    width: 350px;
    right: -50px;
    top: -70px;
  }
}
@media screen and (max-width: 768px) {
  .dock-building-eastwing-connpass-sub {
    width: 250px;
  }
}
.dock-building-westwing {
  padding-block-start: 100px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .dock-building-westwing {
    padding-block-start: 20px;
  }
}
.dock-building-vr__ttl span {
  font-size: clamp(1rem, 0.25rem + 1.56vw, 1.25rem);
  display: block;
}
.dock-building-vr__list {
  margin-block-start: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .dock-building-vr__list {
    grid-template-columns: 1fr;
    padding-inline: 30px;
  }
}
.dock-building-vr__img {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .dock-building-vr__img {
    text-align: center;
  }
}
.dock-building-vr__img img {
  max-width: 240px;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .dock-building-vr__img img {
    max-width: 200px;
  }
}
.dock-building-vr__txt {
  margin-block: 16px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .dock-building-vr__txt {
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .dock-building-vr__txt {
    text-align: center;
  }
}
.dock-building__wrap {
  margin: 0 auto;
  max-width: 800px;
}

/* サン・ファンシアター */
.theater {
  background-color: #081A2D;
  color: #FFFFFF;
  /*モジュール打ち消し*/
}
.theater-nowplaying, .theater-showtimes {
  padding-block-start: 150px;
}
@media screen and (max-width: 1024px) {
  .theater-nowplaying, .theater-showtimes {
    padding-block-start: 80px;
  }
}
@media screen and (max-width: 768px) {
  .theater-nowplaying, .theater-showtimes {
    padding-block-start: 40px;
  }
}
.theater .main__inner {
  padding-block-end: 0;
}
.theater .sec__h2-ttl, .theater .sec__h2--eng {
  color: #FFFFFF;
}
.theater .point__logo {
  width: 250px;
  margin-block: 20px 70px;
}
@media screen and (max-width: 768px) {
  .theater .point__logo {
    width: 150px;
    margin-block: 20px 40px;
  }
}
.theater iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}
.theater .splide-fade .splide__slide {
  max-height: 100%;
}
.theater .splide-fade img {
  height: auto;
  border-radius: 25px;
  object-fit: cover;
  aspect-ratio: 5/3.2;
}
@media screen and (max-width: 768px) {
  .theater .splide-fade img {
    border-radius: 15px;
  }
}
.theater .splide:first-of-type {
  width: 90%;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .theater .splide:first-of-type {
    width: 100%;
  }
}
.theater .card {
  margin-block: 60px 40px;
  background-color: #0B2746;
}
@media screen and (max-width: 1024px) {
  .theater .card {
    margin-block: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .theater .card {
    margin-block: 20px 0;
  }
}
.theater .label-radius {
  background-color: #FFFFFF;
  color: #0B2746;
  display: block;
  margin-inline: auto;
  width: fit-content;
}
.theater .list-bd__items {
  padding-block: 20px;
  background: radial-gradient(circle, #FFFFFF 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
}
.theater .list-bd__items:first-child::before, .theater .list-bd__items:nth-child(2)::before {
  background: none;
}
.theater .list-exdisc__items::before {
  background-color: #FFFFFF;
}
.theater .block {
  align-items: normal;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .theater .block {
    gap: 0;
    grid-template-columns: 1fr;
    margin-block-end: 30px;
  }
}
.theater .block .list-bd {
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
}
.theater__read-txt {
  padding-block-end: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .theater__read-txt {
    padding-block-end: 20px;
  }
}
.theater-nowplaying iframe {
  margin-block-start: 20px;
}
.theater-nowplaying img {
  margin: 0 auto 16px;
  width: auto;
  display: block;
}
.theater-showtimes {
  padding-block-end: 150px;
}
@media screen and (max-width: 1024px) {
  .theater-showtimes {
    padding-block-end: 80px;
  }
}
@media screen and (max-width: 768px) {
  .theater-showtimes {
    padding-block-end: 40px;
  }
}
.theater-showtimes .btn-circlearrow--underline {
  margin-block-end: 14px;
  color: #FFFFFF;
}
@media screen and (max-width: 1024px) {
  .theater-showtimes .btn-circlearrow--underline {
    margin-block-start: 16px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1025px) and (hover: hover) {
  .theater-showtimes .btn-circlearrow--underline:hover span {
    border-bottom: solid 1px transparent;
  }
}
@media screen and (min-width: 1025px) {
  .theater-showtimes .btn-circlearrow--underline span {
    border-bottom: solid 1px #FFFFFF;
  }
}
.theater-makingmovie {
  padding-block: 0 80px;
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-color: #C8E1EF;
}
@media screen and (max-width: 1024px) {
  .theater-makingmovie {
    padding-block-end: 40px;
  }
}
.theater-makingmovie .sec__h2-ttl, .theater-makingmovie .sec__h2--eng {
  color: #081A2D;
}
.theater-makingmovie-loopimg {
  overflow: hidden;
  padding-block-end: 150px;
  margin-left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
@media screen and (max-width: 1024px) {
  .theater-makingmovie-loopimg {
    padding-block-end: 80px;
  }
}
@media screen and (max-width: 768px) {
  .theater-makingmovie-loopimg {
    padding-block-end: 40px;
  }
}
.theater-makingmovie-loopimg__wrap {
  display: flex;
  width: max-content;
  animation: slide-loop 20s linear infinite;
}
.theater-makingmovie-loopimg__img {
  width: 1520px;
  min-width: 1520px;
  height: auto;
  flex-shrink: 0;
  display: block;
}
@media screen and (max-width: 768px) {
  .theater-makingmovie-loopimg__img {
    width: 1000px;
    min-width: 1000px;
  }
}
@media screen and (max-width: 1024px) {
  .theater-makingmovie-loopimg__img .loop-image img {
    width: 300px;
    min-width: 300px;
  }
  @keyframes slide-loop {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-300px);
    }
  }
}

@keyframes slide-loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1520px);
    @media screen and (max-width: 768px) {
      transform: translateX(-1000px);
    }
  }
}
/* サン・ファンパーク */
.park .main__inner {
  padding-block-end: 0;
}
.park .main-img {
  margin: 0 auto 16px;
  max-width: 800px;
  border-radius: 25px;
  display: block;
}
@media screen and (max-width: 1024px) {
  .park .main-img {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .park .main-img {
    border-radius: 15px;
  }
}
.park .list-block {
  margin-block-start: 60px;
  gap: 45px 55px;
}
@media screen and (max-width: 1024px) {
  .park .list-block {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
}
@media screen and (max-width: 768px) {
  .park .list-block {
    margin-block-start: 30px;
    grid-template-columns: 1fr;
  }
}
.park .list-block__img {
  border-radius: 25px;
}
@media screen and (max-width: 768px) {
  .park .list-block__img {
    border-radius: 15px;
    margin-block-end: 10px;
  }
}
.park .list-block .list-block__ttl {
  font-weight: 500;
  letter-spacing: 2px;
  font-size: clamp(1rem, 0.938rem + 0.25vw, 1.125rem);
}
@media screen and (max-width: 1024px) {
  .park .list-block .list-block__ttl {
    letter-spacing: 0;
  }
}
@media screen and (max-width: 768px) {
  .park .list-block .list-block__ttl:has(+ *) {
    margin-block-end: 5px;
  }
}
.park .btn-radius {
  margin: 50px auto 0;
}
@media screen and (max-width: 1024px) {
  .park .btn-radius {
    margin-block-start: 30px;
  }
}
.park-lead {
  padding-block-end: 80px;
  position: relative;
  z-index: 1;
}
.park-lead .splide {
  margin: 0 auto 40px;
  max-width: 800px;
}
@media screen and (max-width: 1024px) {
  .park-lead .splide {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .park-lead .splide {
    margin: 0 auto 30px;
  }
}
@media screen and (max-width: 1024px) {
  .park-lead {
    padding-block-end: 20px;
  }
}
@media screen and (max-width: 768px) {
  .park-lead {
    padding-block-end: 0;
  }
}
.park-lead__txt {
  margin-block-start: 16px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .park-lead__txt {
    text-align: left;
  }
}
.park-santjuanplaza {
  padding-block: 150px 100px;
}
@media screen and (max-width: 1024px) {
  .park-santjuanplaza {
    padding-block: 100px 60px;
  }
}
@media screen and (max-width: 768px) {
  .park-santjuanplaza {
    padding-block: 80px 40px;
  }
}
@media screen and (max-width: 768px) {
  .park .wave--bf::before {
    top: -93px;
  }
}

.modelcourse {
  background: linear-gradient(0deg, #f6f1dd, #dfecf7);
  padding-inline: calc(50vw - 50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.modelcourse__list {
  margin-block-start: 60px;
  display: grid;
  grid-template-columns: repeat(2, minmax(auto, 1fr));
  gap: 24px 20px;
}
.modelcourse__list:has(.post-none) {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 1024px) {
  .modelcourse__list {
    grid-template-columns: 1fr;
    margin-block-start: 30px;
    gap: 16px;
  }
}
.modelcourse__items {
  height: 100%;
  background-color: #FFFFFF;
  border-radius: 25px;
}
.modelcourse__wrap {
  padding: 0 40px 40px;
}
@media screen and (max-width: 1024px) {
  .modelcourse__wrap {
    padding: 0 20px 20px;
  }
}
.modelcourse__ttl {
  margin-block-start: 36px;
  padding-block-start: 8px;
  font-size: clamp(1rem, 0.625rem + 0.78vw, 1.125rem);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .modelcourse__ttl {
    margin-block-start: 16px;
  }
}
.modelcourse__cat .label {
  padding: 8px 14px;
  border-radius: 25px 0 25px 0;
  display: inline-block;
  background-color: #E6DE51;
}
.modelcourse__img {
  margin: 16px auto;
  width: min(300px, 100%);
  text-align: center;
}
.modelcourse__img img {
  width: 300px;
  height: 300px;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .modelcourse__img img {
    width: 200px;
    height: 200px;
  }
}
.modelcourse__contents {
  margin-block-start: 16px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .modelcourse__contents {
    margin-block-start: 8px;
  }
}
.modelcourse__contents span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.modelcourse__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.modelcourse__tag:has(> *) {
  margin-block-start: 16px;
}
.modelcourse-catlink {
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .modelcourse-catlink {
    flex-direction: column;
  }
}
.modelcourse-catlink__ttl {
  font-weight: 500;
}
.modelcourse-catlink__list {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.modelcourse-catlink__link {
  transition: all 0.3s ease-in;
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .modelcourse-catlink__link:hover {
    background-color: #E6DE51;
  }
}
.modelcourse-catlink__link.is-active {
  background-color: #E6DE51;
}
.modelcourse.single .modelcourse__tag {
  margin-block-start: 0;
}

@media screen and (max-width: 1300px) {
  .single .main__inner {
    padding: 60px 0;
  }
}
@media screen and (max-width: 768px) {
  .single .main__inner {
    padding: 30px 0;
  }
}
.single .post .card {
  padding: 95px;
}
@media screen and (max-width: 1024px) {
  .single .post .card {
    padding: 60px;
  }
}
@media screen and (max-width: 768px) {
  .single .post .card {
    padding: 30px 20px;
  }
}
.single .post__contents {
  padding-block: 40px 0;
}
@media screen and (max-width: 1024px) {
  .single .post__contents {
    padding-block: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .single .post__contents {
    padding-block: 20px 0;
  }
}
.single .post__contents p:not(:first-child) {
  padding-block-start: 8px;
}
.single .post__datecat {
  display: flex;
  gap: 27px;
}
@media screen and (max-width: 768px) {
  .single .post__datecat {
    flex-direction: column;
    gap: 16px;
  }
}
.single .post__cat {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.single .post__cattag {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.single .post__ttl {
  padding-block-start: 16px;
  font-size: clamp(1.25rem, 0.5rem + 1.56vw, 1.5rem);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .single .post__ttl {
    padding-block-start: 5px;
  }
}
.single .post__img {
  padding-block-start: 45px;
  display: grid;
  justify-content: center;
  grid-template-columns: auto;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .single .post__img {
    padding-block-start: 20px;
  }
}
.single .post__img:has(div + div) {
  grid-template-columns: repeat(2, minmax(auto, 437px));
}
@media screen and (max-width: 768px) {
  .single .post__img:has(div + div) {
    grid-template-columns: 1fr;
  }
}
.single .post__img > div {
  width: min(437px, 100%);
  margin: 0 auto;
}
.single .post__img img {
  border-radius: 15px;
}
.single .post .btn-download {
  margin: 38px auto 0;
}
@media screen and (max-width: 768px) {
  .single .post .btn-download {
    margin: 20px auto 0;
  }
}
.single .post__dl > div {
  padding-block: 30px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
  grid-template-columns: 240px 1fr;
  gap: 20px;
  display: none;
}
.single .post__dl > div:has(.post__dd > *) {
  display: grid;
}
@media screen and (max-width: 1024px) {
  .single .post__dl > div {
    padding-block: 20px;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.single .post__dt {
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 1024px) {
  .single .post__dt {
    margin-block-end: 8px;
  }
}
.single .post__dd--bold {
  font-weight: 600;
}
.single .post__list {
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
  margin-block-start: 40px;
}
@media screen and (max-width: 768px) {
  .single .post__list {
    margin-block-start: 20px;
  }
}
.single .post-freearea {
  display: none;
}
.single .post-freearea:has(> *) {
  padding-block: 40px 0;
  display: grid;
}
@media screen and (max-width: 1024px) {
  .single .post-freearea:has(> *) {
    padding-block: 20px 0;
  }
}
.single .post .btn-application {
  margin-block-start: 16px;
}
.single .post .btn-back {
  margin-block-start: 40px;
}
@media screen and (max-width: 1024px) {
  .single .post .btn-back {
    margin-block-start: 25px;
  }
}

.label-reserve {
  background-color: #E6DE51;
  border: 1px solid #E6DE51;
}

.label-reserveend {
  background-color: #E0E0E0;
  border: 1px solid #E0E0E0;
}

.label-noreserve {
  background-color: #F3F1CE;
  border: 1px solid #F3F1CE;
}

.label-event {
  background-color: #E4B857;
  border: 1px solid #E4B857;
}

.label-event-festival {
  background-color: #D3771B;
  border: 1px solid #D3771B;
  color: #FFF;
}

.label-event-exhibition {
  background-color: #9DC9F0;
  border: 1px solid #9DC9F0;
}

.label-start {
  border: 1px solid #00529B;
  border-radius: 5px;
  color: #00529B;
}

.label-end {
  background-color: #31485F;
  border: 1px solid #31485F;
  color: #FFFFFF;
}

.wp-block-embed-youtube, .wp-block-image {
  padding-block: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .wp-block-embed-youtube, .wp-block-image {
    padding-block: 20px;
  }
}

.wp-block-embed__wrapper iframe {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 80dvh;
  aspect-ratio: 16/9;
}

.wp-block-image img {
  width: auto;
  height: auto;
  max-height: 80dvh;
  max-width: 100%;
}

.post__contents > .wp-block-image:first-child,
.post__contents > .wp-block-embed-youtube:first-child {
  padding-block: 0 30px !important;
}
@media screen and (max-width: 768px) {
  .post__contents > .wp-block-image:first-child,
  .post__contents > .wp-block-embed-youtube:first-child {
    padding-block: 0 20px !important;
  }
}

.post__contents > .wp-block-image:last-child,
.post__contents > .wp-block-embed-youtube:last-child {
  padding-block: 30px 0 !important;
}
@media screen and (max-width: 768px) {
  .post__contents > .wp-block-image:last-child,
  .post__contents > .wp-block-embed-youtube:last-child {
    padding-block: 20px 0 !important;
  }
}

/* ボタン機能 */
.wp-block-buttons {
  margin-block: 0 40px;
}

.wp-block-button__link {
  padding: 20px 10%;
  max-width: 100%;
  min-width: 350px;
  background: #00529B;
  font-size: clamp(0.938rem, 0.875rem + 0.25vw, 1.063rem);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .wp-block-button__link {
    min-width: max-content;
    display: block;
    width: 100%;
  }
}

.is-content-justification-center {
  text-align: center;
}

/* タイトル */
.wp-block-heading {
  margin-block: 30px 15px;
}
@media screen and (max-width: 768px) {
  .wp-block-heading {
    margin-block: 20px 7px;
  }
}

/* ページ共通 */
.page__dl > div {
  padding-block: 40px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left bottom/8px 3px repeat-x;
  display: grid;
  grid-template-columns: 279px 1fr;
}
@media screen and (max-width: 1024px) {
  .page__dl > div {
    padding-block: 20px;
    grid-template-columns: 1fr;
  }
}
.page__dt {
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 1024px) {
  .page__dt {
    margin-block-end: 16px;
  }
}
.page__dd--bold {
  font-weight: 600;
}

/* ポリシー関連 */
@media screen and (max-width: 768px) {
  .policy .main__inner {
    width: 95%;
  }
  .policy .main__inner .tab__content {
    padding: 10px;
  }
  .policy .main__inner .card {
    border-radius: 10px;
  }
}
.policy-cookei .page__dl {
  margin-block-start: 30px;
  background: radial-gradient(circle, #BCAA97 1.5px, transparent 1.5px) left top/8px 3px repeat-x;
}
@media screen and (max-width: 1024px) {
  .policy-cookei .page__dl {
    margin-block-start: 20px;
  }
}
.policy-analytics__dl {
  padding-block: 16px;
  display: flex;
  gap: 16px;
}
.policy h2 + h3, .policy .policy-sitepolicy li:first-child h3 {
  margin-block-start: 0;
}
.policy h3 {
  margin-block: 40px 8px;
  font-size: clamp(1.125rem, 0.75rem + 0.78vw, 1.25rem);
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .policy h3 {
    margin-block-start: 30px;
  }
}
.policy .tab__items {
  width: min(228px, 100%);
}
@media screen and (max-width: 1024px) {
  .policy .tab__items {
    width: min(140px, 100%);
  }
}
@media screen and (max-width: 768px) {
  .policy .tab__items {
    padding: 8px 15px;
    width: auto;
  }
}
.policy .list-disc, .policy .list-exdisc {
  margin-block: 16px;
}
.policy .page__dl:has(.list-exdisc) .list-exdisc {
  margin-block-end: 0;
}
.policy-contact {
  margin-block-start: 60px;
}
@media screen and (max-width: 1024px) {
  .policy-contact {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 768px) {
  .policy-contact {
    margin-block-start: 25px;
  }
}
.policy-contact .dl-contact {
  margin-block-end: 8px;
}
.policy-contact .dl-contact__dt {
  margin-block-end: 16px;
}

/* 財団について */
.association-read__txt {
  padding-block-end: 40px;
}
@media screen and (max-width: 768px) {
  .association-read__txt {
    padding-block-end: 20px;
  }
}
.association h3 {
  padding-block-end: 20px;
}
.association .btn-circlearrow {
  justify-content: space-between;
  align-items: center;
  text-decoration: underline;
  text-decoration-color: #574D43;
  transition: ease all 0.3s;
  font-weight: 500;
}
.association .btn-circlearrow:hover {
  text-decoration-color: transparent;
}
.association .btn-circlearrow--underline span {
  border-bottom: none; /*??*/
}
.association .dl-contact {
  margin-block: 50px 8px;
}
@media screen and (max-width: 768px) {
  .association .dl-contact {
    margin-block: 30px 5px;
  }
}

/* 404ページ */
.page404 {
  text-align: center;
}
.page404__ttl {
  font-size: 40px;
  font-weight: 600;
}
.page404__ttl span {
  color: #00529B;
}
.page404__txt {
  padding-block: 20px;
}
.page404 .btn-radius {
  margin: 20px auto;
}

/*# sourceMappingURL=style.css.map */
