@media (max-width: 1200px) {
  .fp-section.fp-hero {
    padding-top: var(--header-height);
  }

}

@media (max-width: 1280px) {
  .con3-head {
    margin-bottom: min(4.8rem, 4vw);
  }

  .con3-head h2 {
    font-size: min(44px, 3.6vw);
  }

  .con3-head h2::before {
    font-size: min(15px, 1.3vw);
  }

  .con3-board {
    grid-template-columns: 1fr;
    row-gap: min(32px, 3vw);
    padding: min(4.8rem, 4vw);
  }

  .con3-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: visible;
  }

  .con3-nav li {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
  }

  .con3-nav li + li {
    border-top: 0;
    border-left: 1px solid #e2eff0;
  }

  .con3-nav button {
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    height: auto;
    gap: min(10px, 1.6vw);
    padding: min(12px, 1.8vw) min(8px, 1vw) min(10px, 1.4vw);
    border-right: 0;
    border-bottom: 4px solid #e2eff0;
    font-size: min(16px, 2vw);
    text-align: center;
    white-space: nowrap;
  }

  .con3-nav button:hover,
  .con3-nav button:focus-visible,
  .con3-nav button.is-active {
    border-right-color: transparent;
    border-bottom-color: var(--mint);
  }

  .con3-nav button::before {
    flex-basis: min(32px, 4.2vw);
    width: min(32px, 4.2vw);
    height: min(32px, 4.2vw);
    min-width: min(32px, 4.2vw);
    min-height: min(32px, 4.2vw);
  }

  .con3-feature {
    gap: min(32px, 2.8vw);
    margin-right: calc(-1 * min(4.8rem, 4vw));
  }

  .con3-feature__copy {
    padding: min(32px, 2.8vw) min(4.8rem, 4vw) min(32px, 2.8vw) 0;
  }

  .con3-feature__copy h3 {
    font-size: min(34px, 2.8vw);
  }

  .con3-feature__copy p {
    font-size: min(18px, 1.5vw);
  }

  .con3-facts {
    gap: min(32px, 2.8vw);
  }

  .con3-facts h4 {
    font-size: min(26px, 2.2vw);
  }

  .con3-facts li,
  .con3-facts li::before {
    font-size: min(16px, 1.4vw);
  }
}

@media (min-width: 0px) and (max-width: 900px) {

  .con2-head {
    margin-bottom: min(40px, 6vw);
  }

  .con2-head p {
    font-size: min(96px, 18vw);
    letter-spacing: min(6px, 1.2vw);
  }

  .con2-head h2 {
    font-size: min(36px, 7.2vw);
  }

  .con2-head h2::before {
    font-size: min(14px, 3.2vw);
  }

  .con2-nav {
    flex-wrap: wrap;
    gap: min(10px, 2vw);
  }

  .con2-nav li {
    flex: 1 1 calc(50% - 10px);
  }

  .con2-nav button {
    width: 100%;
    height: auto;
    justify-content: flex-start;
    padding: min(6px, 1.6vw) min(14px, 3vw) min(6px, 1.6vw) min(6px, 1.6vw);
    font-size: min(18px, 4.2vw);
    gap: 0.8rem;
    white-space: nowrap;
  }

  .con2-nav button img {
    width: min(56px, 12vw);
    height: min(56px, 12vw);
  }

  .con2-feature {
    grid-template-columns: 1fr;
    gap: min(28px, 4vw);
  }

  .con2-feature__media > img {
    aspect-ratio: 2 / 1;
    border-radius: 0 min(24px, 5vw) min(24px, 5vw) min(24px, 5vw);
  }

  .con2-feature__media::after {
    display: none;
  }

  .con2-feature__copy > p:first-child {
    font-size: min(16px, 3.6vw);
  }

  .con2-feature__copy h3 {
    font-size: min(34px, 6.8vw);
    border-bottom-width: min(4px, 0.8vw);
  }

  .con2-feature__copy p {
    font-size: min(16px, 3vw);
  }

  .con2-cards {
    grid-template-columns: 1fr;
    gap: min(16px, 3.2vw);
  }

  .con2-card {
    gap: min(16px, 3.2vw);
    padding: 0 0 0 min(20px, 4vw);
    border-radius: min(20px, 4vw);
  }

  .con2-card__copy {
    padding-block: min(20px, 4vw);
  }

  .con2-card h4 {
    font-size: min(24px, 5.6vw);
  }

  .con2-card ul {
    gap: 0.2rem;
  }

  .con2-card li {
    font-size: min(16px, 3.6vw);
    line-height: 1.5;
  }

  .con3-head {
    margin-bottom: min(40px, 6vw);
  }

  .con3-head h2 {
    font-size: min(36px, 7.2vw);
  }

  .con3-head h2::before {
    font-size: min(14px, 3.2vw);
  }

  .con3-board {
    margin-right: 0;
    margin-left: 0;
    padding: min(40px, 6vw);
    border-radius: min(24px, 5vw);
  }

  .con3-panel {
    padding: 0;
  }

  .con3-feature {
    grid-template-columns: 1fr;
    gap: min(24px, 4.8vw);
    margin-right: 0;
    overflow: visible;
    border-radius: 0;
    background: transparent;
  }

  .con3-feature > img {
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 1;
  }

  .con3-feature__copy {
    padding: min(24px, 4.8vw);
    border-radius: min(20px, 4vw);
    background: #f4f4f4;
  }

  .con3-feature__copy h3 {
    font-size: min(32px, 6vw);
  }

  .con3-feature__copy p {
    font-size: min(18px, 3.6vw);
  }

  .con3-facts {
    grid-template-columns: 1fr;
    gap: min(24px, 4.8vw);
  }

  .con3-facts h4 {
    font-size: min(26px, 4.8vw);
  }

  .con3-facts li,
  .con3-facts li::before {
    font-size: min(16px, 3.4vw);
  }

  .con3-facts li {
    padding: min(10px, 2vw) min(16px, 3.2vw);
  }

  .con3-facts__target li {
    padding-right: min(12px, 2.4vw);
    padding-left: min(12px, 2.4vw);
  }

  .sec-ttl {
    font-size: min(38px, 6vw);
  }

  .sec-ttl:not(.sec-ttl--dark) {
    margin-bottom: min(40px, 6vw);
  }

  .sec-ttl::before {
    font-size: min(14px, 3vw);
  }

  .con1-intro,
  .con1-profile,
  .con1-profiles .con1-profile:nth-child(even) {
    grid-template-columns: 1fr;
    gap: min(32px, 5vw);
  }

  .con1-profile {
    padding-top: 4rem;
  }

  .con1-profile__info {
    padding-top: min(14px, 2.8vw);
    padding-bottom: 0;
  }

  .con1-intro::before {
    height: calc(100% + 4rem);
    background-position: right bottom;
  }

  .con1-profile__photo {
    border-radius: min(18px, 4vw);
  }

  .con1-intro__copy {
    padding-top: 0;
    padding-bottom: 0;
  }

  .con1-intro__visual {
    aspect-ratio: 16 / 12;
    height: auto;
    border-radius: min(18px, 4vw);
  }

  .con1-intro__visual img {
    inset: auto;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: fill;
    object-position: center top;
  }

  .con1-intro__copy h2 {
    font-size: min(26px, 4.4vw);
  }

  .con1-intro__copy p {
    font-size: min(18px, 3vw);
  }

  .con1-intro__copy p:last-child {
    font-size: min(20px, 3.4vw);
  }

  .con1-profile h3 {
    margin-bottom: min(28px, 4.4vw);
    font-size: min(23px, 4.4vw);
    flex-wrap: wrap;
  }

  .con1-profile h3 b {
    font-size: min(26px, 5.6vw);
  }

  .con1-profile h3 img {
    width: min(29px, 6.9vw);
  }

  .con1-profile h3 span::before {
    width: 1px;
    height: 1.2em;
    flex: 0 0 1px;
    align-self: center;
  }

  .con1-profile__cols {
    grid-template-columns: 1fr;
    gap: min(24px, 5vw);
  }

  .con1-profile h4 {
    font-size: min(18px, 3.2vw);
  }

  .con1-profile h4::before {
    height: 1em;
  }

  .con1-profile li {
    font-size: min(16px, 2.8vw);
  }

  .con1-profile__photo {
    aspect-ratio: 16 / 10;
    order: -1;
  }

  .con1-profile__photo img {
    inset: auto;
    top: 0;
    left: 0;
    right: 0;
    width: 66%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    object-position: center top;
  }

  .con1-profiles .con1-profile:nth-child(n) .con1-profile__photo::before {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(42rem, 72%);
    transform: translate(-50%, -50%);
  }

  #con4 {
    overflow-x: clip;
  }

  .con6-coverflow .swiper-slide {
    box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.12);
  }

  .con4-marquee__track {
    font-size: min(80px, 12vw);
  }

  .item_wrap {
    flex-direction: column;
    gap: min(40px, 5vw);
  }

  .item_wrap.innerbottom {
    padding-bottom: min(40px, 5vw);
  }

  .item_left {
    width: 100%;
    padding: min(56px, 7vw) 0;
    border-radius: 0;
  }

  .item_left .inner {
    min-width: 0;
    margin-left: 4vw;
    padding-right: 4vw;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .item_left h3 {
    font-size: min(32px, 5.2vw);
  }

  .item_left i {
    margin-top: min(12px, 2.6vw);
    font-size: min(16px, 2.8vw);
  }

  .arr_wrap {
    margin-top: 0;
    gap: min(12px, 2vw);
  }

  .arr_wrap .item_arr_prev,
  .arr_wrap .item_arr_next {
    width: min(48px, 8vw);
    height: min(48px, 8vw);
  }

  .c6_swiper_wrap .swiper-slide {
    max-width: none;
    padding: 0 0 min(20px, 3vw);
    border-radius: min(20px, 4vw);
  }

  .con4-item__name {
    font-size: min(22px, 3.4vw);
    margin: min(16px, 2.4vw) 0 min(4px, 1vw);
  }

  .con4-item__name + i {
    font-size: min(14px, 2.4vw);
  }

  .con6-coverflow-pagination.swiper-pagination-bullets {
    --swiper-pagination-bullet-horizontal-gap: 5px;
  }

  .con6-coverflow-pagination .swiper-pagination-bullet {
    width: min(7px, 1.6vw);
    height: min(7px, 1.6vw);
  }

}

@media (min-width: 0px) and (max-width: 600px) {
  .sec-ttl {
    font-size: min(34px, 7vw);
  }

  .sec-ttl::before {
    font-size: min(13px, 3vw);
  }

  .con6-coverflow-pagination.swiper-pagination-bullets {
    --swiper-pagination-bullet-horizontal-gap: 4px;
  }

  .con6-coverflow-pagination .swiper-pagination-bullet {
    width: min(6px, 1.8vw);
    height: min(6px, 1.8vw);
  }

}

@media (min-width: 0px) and (max-width: 700px) {

  .con3-nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .con3-nav button {
    padding-top: min(14px, 2.2vw);
    padding-bottom: min(12px, 2vw);
    font-size: min(16px, 2.8vw);
  }

  .con3-nav button::before {
    flex-basis: min(40px, 6.4vw);
    width: min(40px, 6.4vw);
    height: min(40px, 6.4vw);
    min-width: min(40px, 6.4vw);
    min-height: min(40px, 6.4vw);
  }

  .con3-nav li:nth-child(-n + 2) {
    grid-column: span 3;
  }

  .con3-nav li:nth-child(n + 3) {
    grid-column: span 2;
    border-left: 1px solid #e2eff0;
  }

  .con3-nav li:nth-child(3) {
    border-left: 0;
  }
}

@media (min-width: 0px) and (max-width: 500px) {
  #con4 {
    --con4-r: min(50px, 14vw);
  }

  .con1-intro__copy h2 {
    font-size: min(20px, 4.5vw);
  }

  .con1-intro__copy p,
  .con1-profile li {
    font-size: min(16px, 3.8vw);
  }

  .con1-intro__copy p:last-child {
    font-size: min(18px, 4.2vw);
  }

  .con1-profile__info {
    padding-top: min(16px, 3.2vw);
  }

  .con1-profile h3 {
    margin-bottom: min(24px, 5vw);
    font-size: min(16px, 4.6vw);
  }

  .con1-profile h3 b {
    font-size: min(20px, 5.6vw);
  }

  .con1-profile h3 img {
    width: min(32px, 8vw);
    margin-right: 0.8rem;
  }

  .con1-profile h4 {
    font-size: min(15px, 4vw);
  }

  .con1-profile__photo {
    border-radius: min(14px, 4vw);
  }

  .con1-intro__visual {
    border-radius: min(14px, 4vw);
  }

  .con2-head h2 {
    font-size: min(28px, 7.4vw);
  }

  .con2-head h2::before {
    font-size: min(13px, 3.4vw);
  }

  .con2-nav li {
    flex: 1 1 calc(50% - 8px);
  }

  .con2-nav button {
    padding: min(4px, 1vw) min(10px, 2.4vw) min(4px, 1vw) min(4px, 1vw);
    border-width: 2px;
    font-size: min(15px, 3.5vw);
    line-height: 1;
    gap: 0.6rem;
  }

  .con2-nav button img {
    width: min(40px, 10vw);
    height: min(40px, 10vw);
    border-width: 2px;
  }

  .con2-feature {
    grid-template-columns: 1fr;
  }

  .con2-feature__copy > p:first-child {
    margin-bottom: 0.6rem;
  }

  .con2-feature__copy h3 {
    font-size: min(26px, 7vw);
  }

  .con2-feature__copy p {
    font-size: min(16px, 3.8vw);
  }

  .con2-card {
    border-radius: min(16px, 4vw);
  }

  .con2-card__copy {
    margin-right: calc(min(200px, 34%) + min(24px, 2vw));
  }

  .con2-card > img {
    width: min(200px, 34%);
  }

  .con2-card h4 {
    font-size: min(20px, 5.4vw);
  }

  .con2-card li {
    font-size: min(14px, 3.7vw);
  }

  .con3-head {
    margin-bottom: min(24px, 6vw);
  }

  .con3-head h2 {
    font-size: min(28px, 7.4vw);
  }

  .con3-head h2::before {
    font-size: min(13px, 3.4vw);
  }

  .con3-board {
    padding: min(16px, 4vw);
    border-radius: min(16px, 4vw);
  }

  .con3-nav button {
    gap: min(8px, 1.8vw);
    padding: min(12px, 2.6vw) min(6px, 1.6vw) min(10px, 2.2vw);
    font-size: min(13px, 3.4vw);
  }

  .con3-nav button::before {
    flex-basis: min(36px, 8vw);
    width: min(36px, 8vw);
    height: min(36px, 8vw);
    min-width: min(36px, 8vw);
    min-height: min(36px, 8vw);
  }

  .con3-feature {
    gap: min(16px, 4vw);
  }

  .con3-feature > img {
    border-radius: min(16px, 4vw);
  }

  .con3-feature__copy {
    padding: min(16px, 4vw);
    border-radius: min(16px, 4vw);
  }

  .con3-feature__copy h3 {
    font-size: min(22px, 6vw);
  }

  .con3-feature__copy p {
    font-size: min(14px, 3.8vw);
  }

  .con3-facts {
    gap: min(16px, 4vw);
  }

  .con3-facts h4 {
    font-size: min(18px, 5vw);
  }

  .con3-facts li,
  .con3-facts li::before {
    font-size: min(14px, 3.4vw);
  }

  .con3-facts li {
    padding: min(8px, 2vw) min(12px, 3vw);
  }

  .con3-facts__target li {
    padding-right: min(10px, 2.4vw);
    padding-left: min(10px, 2.4vw);
  }

  .con6-coverflow .swiper-slide {
    box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.1);
  }

  .con4-marquee__track {
    font-size: min(56px, 14vw);
  }

  .item_wrap {
    gap: min(28px, 7vw);
  }

  .item_wrap.innerbottom {
    padding-bottom: min(28px, 7vw);
  }

  .item_left {
    padding: min(40px, 9vw) 0;
  }

  .item_left .inner {
    margin-left: min(16px, 4vw);
    padding-right: min(16px, 4vw);
  }

  .item_left h3 {
    font-size: min(24px, 6.4vw);
  }

  .item_left i {
    margin-top: min(8px, 2vw);
    font-size: min(13px, 3.6vw);
  }

  .arr_wrap {
    gap: min(8px, 2vw);
  }

  .arr_wrap .item_arr_prev,
  .arr_wrap .item_arr_next {
    width: min(40px, 10vw);
    height: min(40px, 10vw);
  }

  .c6_swiper_wrap .swiper-slide {
    padding: 0 0 min(12px, 3vw);
    border-radius: min(16px, 4vw);
  }

  .con4-item__name {
    font-size: min(24px, 5vw);
    margin: min(10px, 2.4vw) 0 min(4px, 1vw);
  }

  .con4-item__name + i {
    font-size: min(14px, 3.6vw);
  }

  .con6-coverflow-pagination.swiper-pagination-bullets {
    --swiper-pagination-bullet-horizontal-gap: 3px;
  }

  .con6-coverflow-pagination .swiper-pagination-bullet {
    width: min(6px, 1.6vw);
    height: min(6px, 1.6vw);
  }

}

@media (max-width: 900px) {
  .con5-guide {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .con5-guide__info {
    padding-top: 8rem;
    padding-bottom: min(64px, 8vw);
  }

  .con5-guide__info::before {
    left: -4rem;
    bottom: -5rem;
    width: min(50rem, 82%);
    opacity: 0.04;
  }

  .con5-guide__info-inner,
  .con5-guide__access-inner {
    width: 92%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
    padding-left: 0;
  }

  .con5-guide .sec-ttl {
    margin-bottom: min(40px, 6.4vw);
    font-size: min(36px, 6.4vw);
    line-height: 1.25;
  }

  .con5-guide .sec-ttl::before {
    margin-bottom: min(8px, 1.6vw);
    font-size: min(13px, 2.8vw);
  }

  .con5-guide__tel {
    padding-bottom: min(16px, 3vw);
  }

  .con5-guide__tel span {
    font-size: min(16px, 3.2vw);
    line-height: 1.4;
  }

  .con5-guide__tel a {
    font-size: min(26px, 5.6vw);
    line-height: 1.3;
  }

  .con5-guide__info-inner > h3 {
    font-size: min(24px, 4.6vw);
    line-height: 1.4;
  }

  .con5-guide__row {
    padding: min(14px, 2.6vw) 0;
  }

  .con5-guide__row dt {
    font-size: min(16px, 3.2vw);
  }

  .con5-guide__row dd {
    font-size: min(18px, 3.6vw);
    line-height: 1.4;
  }

  .con5-guide__night {
    gap: min(4px, 1vw);
    padding: 0.2rem min(10px, 2vw) 0.2rem min(12px, 2.4vw);
    font-size: min(16px, 3.2vw);
    line-height: 1.4;
  }

  .con5-guide__night svg {
    width: min(20px, 4vw);
    height: min(20px, 4vw);
  }

  .con5-guide__info-inner > p {
    margin-top: min(12px, 2.4vw);
    font-size: min(14px, 3vw);
    line-height: 1.5;
  }

  .con5-guide__place {
    min-height: 0;
  }

  .con5-guide__map {
    min-height: min(420px, 62vw);
  }

  .con5-guide__access {
    padding: min(48px, 7vw) 0;
  }

  .con5-guide__access h3,
  .con5-guide__park span:first-child {
    font-size: min(15px, 3.2vw);
    line-height: 1.4;
  }

  .con5-guide__access-inner > p {
    margin-top: min(12px, 2.4vw);
    padding: min(14px, 2.8vw) 0;
    font-size: min(20px, 4.2vw);
  }

  .con5-guide__park {
    margin-top: min(12px, 2.4vw);
    gap: min(16px, 3vw);
    font-size: min(15px, 3.2vw);
  }

  .con5-guide__park-list {
    gap: min(12px, 2.4vw);
  }

  .con5-guide__park-item {
    gap: min(4px, 0.8vw);
  }

  .con5-guide__park-head {
    gap: min(8px, 1.6vw);
  }

  .con5-guide__park-head b {
    font-size: min(16px, 3.4vw);
  }

  .con5-guide__park-head em {
    padding: min(2px, 0.4vw) min(8px, 1.8vw);
    font-size: min(13px, 2.8vw);
  }

  .con5-guide__park-item p {
    font-size: min(14px, 3vw);
  }
}

@media (max-width: 500px) {
  .con5-guide__info {
    padding-top: 50px;
    padding-bottom: min(40px, 9vw);
  }

  .con5-guide__info::before {
    left: -3rem;
    bottom: -3rem;
    width: min(36rem, 72%);
  }

  .con5-guide .sec-ttl {
    margin-bottom: min(32px, 7vw);
    font-size: min(28px, 7.2vw);
  }

  .con5-guide .sec-ttl::before {
    margin-bottom: min(6px, 1.6vw);
    font-size: min(12px, 3.2vw);
  }

  .con5-guide__tel {
    padding-bottom: min(12px, 3vw);
  }

  .con5-guide__tel span {
    font-size: min(14px, 3.6vw);
  }

  .con5-guide__tel a {
    font-size: min(22px, 5.8vw);
  }

  .con5-guide__info-inner > h3 {
    font-size: min(20px, 5.2vw);
  }

  .con5-guide__row {
    padding: min(12px, 2.8vw) 0;
  }

  .con5-guide__row dt {
    font-size: min(14px, 3.6vw);
  }

  .con5-guide__row dd {
    font-size: min(15px, 4vw);
  }

  .con5-guide__night {
    padding: 0.2rem min(8px, 2vw) 0.2rem min(10px, 2.2vw);
    font-size: min(13px, 3.4vw);
  }

  .con5-guide__night svg {
    width: min(16px, 4vw);
    height: min(16px, 4vw);
  }

  .con5-guide__info-inner > p {
    margin-top: min(10px, 2.4vw);
    font-size: min(12px, 3.4vw);
  }

  .con5-guide__map {
    min-height: min(280px, 64vw);
  }

  .con5-guide__access {
    padding: min(32px, 8vw) 0;
  }

  .con5-guide__access h3,
  .con5-guide__park span:first-child {
    font-size: min(13px, 3.4vw);
  }

  .con5-guide__access-inner > p {
    margin-top: min(10px, 2.4vw);
    padding: min(12px, 2.8vw) 0;
    font-size: min(16px, 4.4vw);
  }

  .con5-guide__park {
    margin-top: min(10px, 2.4vw);
    gap: min(12px, 3vw);
    font-size: min(13px, 3.4vw);
  }

  .con5-guide__park-head b {
    font-size: min(14px, 3.8vw);
  }

  .con5-guide__park-head em {
    font-size: min(11px, 3vw);
  }

  .con5-guide__park-item p {
    font-size: min(12px, 3.4vw);
  }
}

@media (max-width: 900px) {
  .copy_menu {
    gap: min(16px, 3vw);
  }

  .copy_menu a {
    font-size: min(14px, 3.2vw);
    white-space: nowrap;
  }

  .f_copy {
    font-size: min(14px, 3.2vw);
  }
}

@media (max-width: 500px) {
  .copy_menu {
    gap: min(10px, 2.4vw);
  }

  .copy_menu a {
    font-size: min(14px, 7vw);
  }

  .f_copy {
    font-size: min(13px, 3.4vw);
  }
}
