/* ========================================
   PC / Base
======================================== */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
body, html {font-family:"Noto Sans JP",sans-serif!important;text-align:justify;text-justify:inter-ideograph;text-transform:none;font-variant:normal;word-spacing:auto;word-break:normal;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-feature-settings:"palt";}
html {width:100%;font-size:62.5%;height: -webkit-fill-available;}
body {background-color:#fefefe;letter-spacing:0.06em;line-height:1.4;margin:0;padding:0;width:100%;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-font-feature-settings:"palt" 1;font-feature-settings:"palt" 1;text-align:justify;text-justify:inter-ideograph;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing: grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;-o-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch;color:#313029;min-height: 100vh;}
div, h1, h2, h3, h4, h5, p, ul, li, dl, dt, dd {margin:0;padding:0;}
a {text-decoration:none;display: block;outline:none;-webkit-transition:all 0.3s ease 0s;transition:all 0.3s ease 0s;}
a:-webkit-any-link {color:-webkit-link;text-decoration: none;cursor:pointer;display:inline;border-style:none;}
a img {border-style:none;outline:none;}
a:focus {border-style:none;outline:none;}
a img:active {border-style:none;outline:none;}
a:active {border-style:none;outline:none;}
img {height: auto;max-width: 100%;display: block;}
a:hover {opacity:0.5;}
::selection {background-color:rgba(215,215,215,0.35);background-color:rgb(215 215 215 / 35%);}
ul, ul li {list-style-type:none;}
*:before, *:after {-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
p {display:block;-webkit-margin-before:1em;-webkit-margin-after:1em;-webkit-margin-start:0px;-webkit-margin-end:0px;margin:0;font-size:14px;}
br {line-height:1;}
input[type="text"], input[type="password"], textarea, select, input[type="url"], input[type="date"], input[type=submit], input[type=file], input[type=checkbox] {outline:none;}
select {-moz-appearance:none;text-indent:0.01px;text-overflow:"";}
select::-ms-expand {display: none;}
textarea {overflow:hidden;}
[class^="icon-"], [class*="icon-"] {font-family:"icomoon";color:#ffffff;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img[src$=".svg"] {width:100%;}
svg {fill:currentColor;width:100%;}
div, h1, h2, h3, h4, h5, p, ul, li, dl, dt, dd, span, a {font-weight:500;box-sizing:border-box;}
::-webkit-scrollbar {width:10px;}
::-webkit-scrollbar-track {background:#fff;border:none;border-radius:0;box-shadow:inset 0 0 1px #777;}
::-webkit-scrollbar-thumb {background:#D0D0D0;border-radius:100px;box-shadow:none;}
video {max-width: 100%;width: 100%;height: auto;vertical-align: bottom;}
/*------------------------------------------------
common
------------------------------------------------*/

br.PcNone {display: none;}
br.PcIpadNone {display: none;}
.PcBlock {display: block!important;}
.SpBlock {display: none!important;}
img, input, svg, *:before, *:after, a, a:hover img, a:hover input, a:hover, input:hover {backface-visibility: hidden;-webkit-backface-visibility: hidden;}
img {image-rendering:-webkit-optimize-contrast;width:100%;}
/*------ Loading ------*/

.Header, .Footer, .Main {opacity: 0;visibility: hidden;-webkit-transition: opacity .8s ease 1s;transition: opacity .8s ease 1s}
/*------ fadeup ------*/

.js-fadeup {opacity:0;transform:translate3d(0,50px,0);transition-property:opacity,transform;transition-duration:1s;transition-timing-function:cubic-bezier(.25,.1,.25,1);transition-delay:0s;will-change:opacity,transform;}
.js-fadeup.is-inview {opacity:1;transform:translate3d(0,0,0);}
/*------ Header ------*/

.Header {position: absolute;z-index: 999;width: 100%;}
.Header .Header_Inner {padding-block: 20px;padding-inline: 40px;}
.Header .Header_Logo a {display: block;width: 16%;}
/*------ Contents ------*/

.Main {overflow: clip;}
.Contents_Inner.Contents01_Inner {
    position: relative;
    z-index: 0;
}
.Contents01_Main {position: relative;
    max-width: 1580px;
    margin-inline: auto;}
.Contents01_Nav {position: absolute;
    z-index: 5;
    bottom: 3%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 840px;
    margin-inline: auto;
    padding-block: 15px;
    padding-inline: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: rgba(149, 157, 165, 0.5) 0 6px 12px;
    background: rgba(239, 245, 251, 0.86);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);}
.Contents01_NavItem {position: relative;
  flex: 1;}
.Contents01_NavItem:not(:last-child)::after {content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 2px;
    height: 44px;
    background: #395D7B;
    transform: translateY(-50%);}
.Contents01_Hero {position: relative;
    width: 100%;
    margin-inline: auto;}

h1.Contents01_HeroTitle {position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    z-index: 0;}

@keyframes cloudFloatY {0%,100% { transform: translateY(0); }50%{ transform: translateY(-18px); }}
@keyframes cloudDriftX {0%,100% { transform: translateX(0); }50%{ transform: translateX(10px); }}
@keyframes cloudWobble {0%,100% {transform: rotate(-1.2deg); }50%{transform: rotate( 1.2deg); }}

@keyframes shipBobY {0%,100% { transform: translateY(0); }50%{ transform: translateY(-3px); }}
@keyframes shipRoll {0%,100% { transform: rotate(-0.8deg); }50%{ transform: rotate( 0.8deg); }}
a.Contents01_NavLink {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #395D7B;
  text-align: center;
  font-size: clamp(1.31rem, 1.01vw, 1.6rem);
  line-height: 1.4;
  letter-spacing: 0;
  opacity: 1;
  position: relative;
  padding-block: 3px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

a.Contents01_NavLink:hover {
  transform: translateY(-4px);
  opacity: 0.85;
}
.Contents01_NavLabel {font-weight: 700;}
.Contents01_Wave {
    position: absolute;
    width: 155vw;
    bottom: -30%;
    height: 100%;
    left: 50%;
    margin-inline: auto;
    transform: translate(-50%, 0);
    pointer-events: none;
    z-index: -1;
}
.Contents01_Wave_Anime {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  width: 100%;
  pointer-events: none;
  transform: translateX(-50%);
  overflow: hidden;
}

.Contents01_Wave_Anime img {
  display: block;
  width: 100%;
  max-width: none;
  animation: waveMove 8s ease-in-out infinite alternate;
  transform-origin: center;
  will-change: transform, opacity;
}

@keyframes waveMove {
  0% {
    transform: translate3d(-2%, 0, 0) scale(1);
    opacity: 0.65;
  }

  50% {
    transform: translate3d(1.5%, -10px, 0) scale(1.015);
    opacity: 0.95;
  }

  100% {
    transform: translate3d(3%, 6px, 0) scale(1.02);
    opacity: 0.75;
  }
}
.Contents03 {position: relative;}
.Contents03_Inner {padding-block: 0;
    padding-inline: 0;
    margin-inline: auto;}
.Contents03_About {background: url(../images/lp/Contents03_AboutBg.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    max-width: 100%;
    margin-inline: auto;
    position: relative;
    z-index: 1;
    padding-inline: 4%;}
.Contents03_About_Flex {position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    overflow: hidden;
    z-index: 1;
    max-width: 96%;
    margin-inline: auto;}
.Contents03_About_Flex_Left {position: relative;
    z-index: 2;
    flex: 1;
    padding-inline: 3vw 0;
    padding-block: 30px;}
.Contents03_About_Flex_Right {position: relative;
    z-index: 2;
    width: 60%;
    flex-shrink: 0;}
.Contents03_AboutMap {position: relative;
    width: 100%;}
.Contents03_AboutMap img {width: 120%;
    height: auto;
    display: block;
    filter: drop-shadow(0 20px 40px rgb(0 0 0 / 18%));
    max-width: 120%;}
h2.Contents03_AboutTitle {font-weight: bold;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
font-size: clamp(3.0rem, 2.63vw, 5.0rem);
    color: #fff;}
.Contents03_AboutText {margin-top: clamp(1.6rem, 2vw, 1.8rem);
    color: #FFF;
font-size: clamp(1.5rem, 1.05vw, 2.0rem);
    font-weight: 700;
    line-height: 2.3;
    letter-spacing: 0.08em;}

@keyframes branchSway {0%,100% { transform: rotate(-1.1deg) translateY(0); }
  50%     { transform: rotate( 1.1deg) translateY(-3px); }}

.Contents03_TripIdeas {position: relative;padding-block:0;z-index: 1;}
.Contents03_TripIdeasBody {padding-inline: 0 0;
    max-width: 100%;
    background: #FFFFFF;}
.Contents03_TripIntro_Head {position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding-block: 13% 0;
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);z-index: 1;}
.Contents03_TripIdeasInner {display: flex;
    gap: 5%;
    padding-inline: 4%;
    padding-block: 5% 1%;
    max-width: 1240px;
    margin-inline: auto;
    align-items: center;}
.Contents03_TripIdeasHeading {width: 45%;}
.Contents03_TripIdeasContent {width: 55%;}
.Contents03_TripIdeasTitle {font-weight: 700;
    font-size: clamp(3.0rem, 2.42vw, 3.6rem);
    font-family: "Noto Serif JP", serif;
    margin-block: 0 30px;
    letter-spacing: 0;}
.Contents03_TripIdeasLead {font-size: clamp(1.6rem, 1.3vw, 1.85rem);
    line-height: 2;
    margin-block: 2.5% 0;}
.Contents03_TripIdeasLead.Colorw {color: #fff;}
.Contents03_TripSection--History {margin-block: -6% 0;
    position: relative;
    z-index: 1;}
.Contents03_TripSectionLabel {line-height: 1.8;
    font-weight: 700;
    background: #395D7B;
    display: inline-flex;
    padding-inline: 34px;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0;
    border-radius: 999px;
    padding-block: 2px;
    font-size: clamp(1.85rem, 1.26vw, 2.4rem);}
.Contents03_TripSectionTitle {margin-top: 12px;
    line-height: 1.5;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0;
    font-size: clamp(2.4rem, 1.9vw, 3.6rem);}
.Contents03_TripSectionTitle span {display: inline-block;
    margin-left: 0.15em;
    color: #AF4C33;
    font-weight: 700;
    font-size: clamp(3.2rem, 2.42vw, 4.8rem);
    font-family: "Noto Serif JP", serif;}
.Contents03_TripCard {padding-block: 20px;
    border-bottom: dotted 2px rgb(112 112 112 / 20%);}
.Contents03_TripCard:first-of-type {border-top: dotted 2px rgb(112 112 112 / 20%);}
.Contents03_TripCard a {display: flex;
    gap: 3%;
    color: #313029;
    align-items: center;
    position: relative;}
.Contents03_TripCardThumb {width: 35%;}
.Contents03_TripCardBody {width: 65%;
    flex: 1;}
.Contents03_TripCardCatch {color: #395D7B;
    font-size: clamp(1.3rem, 1.08vw, 1.5rem);
    font-weight: 500;
    letter-spacing: 0;}
.Contents03_TripCardTitle {font-size: clamp(1.8rem, 1.75vw, 2.4rem);
    font-weight: 600;
    letter-spacing: 0;
    margin-block: 3px 10px;}
.Contents03_TripCardMeta {font-size: 1.3rem;
    font-weight: 600;
    display: inline-flex;
    padding-inline: 10px;
    line-height: 1;
    padding-block: 3px;
    border-radius: 100px;
    letter-spacing: 0;
    background: #AF4C33;
    color: #fff;}
.Contents03_TripCardThumb img {object-fit: cover;
    height: 100%;}
.Contents03_TripIdeasList {max-width: 100%;}
.Contents03_TripIdeasDecor {position: relative;
    width: 100%;
    padding-inline: 4%;
    max-width: 1280px;
    margin-inline: auto;
    padding-block: 60px 80px;}
.Contents03_TripCard a .Contents03_TripCardArrow {width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #395D7B;
    position: relative;
    display: inline-block;
    background: #395D7B;}
.Contents03_TripCard a .Contents03_TripCardArrow:before {content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(-65%, -50%) rotate(225deg);}
.Contents03_TripCardNote {display: flex;
    background: #395D7B;
    margin-block: 8% 5%;
    padding-block: 4%;
    padding-inline: 4%;
    position: relative;
    border-radius: 12px;
    align-items: center;
    max-width: 100%;}
.Contents03_TripCardNoteImage {width: 6%;
    margin-inline: 6% 13%;
    max-width: 6%;}
.Contents03_TripCardNoteImage img {transform: scale(5.3) rotate(-10deg);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 5px;}
.Contents03_TripCardNoteText {color: #fff;
    font-size: clamp(1.5rem, 1.3vw, 1.7rem);
    line-height: 1.6;
    letter-spacing: 0;}
.Contents03 {overflow: hidden;}
.Contents03_TripIntro {position: relative;
  text-align: center;}
.Contents03_TripIdeasTitleSub, .Contents03_TripIdeasTitleMain {display: block;}
.Contents03_TripIdeasTitleMain {font-weight: bold;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
    font-size: clamp(3.0rem, 2.63vw, 5.0rem);
    color: #fff;}
.Contents03_TripIdeasTitleSub {font-weight: bold;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    letter-spacing: 0;
    font-size: clamp(1.85rem, 1.66vw, 3.15rem);}
.Contents03_TripIntroBg img, .Contents03_SpotSlideImage img, .Contents03_CultureImage img {display: block;
  width: 100%;}
.Contents03_TripSectionList {background: #f4f4ec;
    padding-block: 0 80px;}
.Contents03_TripSection + .Contents03_TripSection {margin-top: 100px;}
.Contents03_TripSectionHead {text-align: center;}
.Contents03_TripSectionText {margin-top: 28px;
  text-align: center;
    font-size: clamp(1.58rem, 1.22vw, 1.8rem);
  line-height: 2;}
.Contents03_SpotSlider {position: relative;
  margin-top: 56px;
  padding-top: 46px;}
.Contents03_SpotSlider .splide__track {overflow: visible;}
.Contents03_SpotSlide {width: 100%;}
.Contents03_SpotSlideImage {overflow: hidden;
  border-radius: 14px;}
.Contents03_SpotSlider .splide__slide {width: min(720px, 64vw) !important;}
.Contents03_SpotSlideImage img {display: block;
  width: 100%;
  aspect-ratio: 800 / 450;
  object-fit: cover;}
.Contents03_SpotSlideText {margin-top: 14px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;}
.Contents03_SpotSlideText strong {font-weight: 700;}
/* pagination */

.Contents03_SpotSlider .splide__pagination {position: absolute;
  top: 0;
  bottom: auto;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  padding: 0;
  margin: 0;
  z-index: 10;}
.Contents03_SpotSlider .splide__pagination li {display: flex;}
.Contents03_SpotSlider .splide__pagination__page {width: 18px;
  height: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d4d4d4;
  opacity: 1;}
.Contents03_SpotSlider .splide__pagination__page.is-active {transform: none;
  background: #315f7a;}
/* arrow */

.Contents03_SpotSlider .splide__arrow {position: absolute;
  top: calc(46px + 225px);
  z-index: 10;
  width: 46px;
  height: 46px;
  background: transparent;
  border: 0;
  opacity: 1;
  transform: translateY(-50%);
  cursor: pointer;}
.Contents03_SpotSlider .splide__arrow svg {display: none;}
.Contents03_SpotSlider .splide__arrow::before {content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-top: 1px solid #555;
  border-right: 1px solid #555;}
.Contents03_SpotSlider .splide__arrow--prev {left: calc(50% - 400px);}
.Contents03_SpotSlider .splide__arrow--next {right: calc(50% - 400px);}
.Contents03_SpotSlider .splide__arrow--prev::before {transform: rotate(-135deg);}
.Contents03_SpotSlider .splide__arrow--next::before {transform: rotate(45deg);}
.Contents03_SpotSlider .splide__arrow:disabled {opacity: 1;}
.Contents03_Culture {background: url(../images/lp/Contents03_CultureBg.jpg);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    padding-block: 200px 200px;
    padding-inline: 4%;}
.Contents03_CultureBody {margin-inline: auto;
    max-width: 1100px;
    border-radius: 20px;
    padding-block: 50px;
    padding-inline: 40px;
    background: rgb(238 233 203 / 82%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);}
.Contents03_CultureList {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;}
.Contents03_CultureTitle {text-align: center;
    margin-left: 0.15em;
    color: #AF4C33;
    font-weight: 700;
    font-size: clamp(3.2rem, 2.42vw, 4.8rem);
    font-family: "Noto Serif JP", serif;
    margin-block: 0 30px;
    letter-spacing: 0;}
.Contents03_CultureText {font-size: clamp(1.58rem, 1.22vw, 1.8rem);
    text-align: center;
    line-height: 2;
    margin-block: 0 20px;
    font-family: "Noto Serif JP", serif;}
.Contents03_CultureName {font-size: clamp(1.85rem, 1.26vw, 2.4rem);
    margin-block: 0 10px;}
.Contents03_CultureDesc {font-size: clamp(1.58rem, 1.22vw, 1.8rem);
    line-height: 1.4;
    font-weight: 400;}
.Contents04_Line {background: url(../images/lp/Contents04_Bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;}
.Contents04_Inner {padding-block: 7%;
    padding-inline: 4%;
    margin-inline: auto;}
.Contents04_Box {max-width: 88%;
    margin-inline: auto;}
.Contents04_BoxMedia {width: 50%;
    transform-origin: bottom;
    position: absolute;
    top: 0;
    right: 10px;}
.Contents04_Title {font-size: 2.12vw;
        font-family: "Noto Serif JP", serif;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0;
    margin-block: 0 3%;}
.Contents04_Title br {display: none;}
.Contents04_Text {line-height: 1.6;
    color: #fff;
    letter-spacing: 0;
    font-size: clamp(1.8rem, 1.3vw, 2.2rem);}
.Contents04_Cta {margin-block: 7% 0;}
a.Contents04_CtaLink {display: inline-flex;
    gap: 12px;
    background: #FFFFFF;
    color: #395D7B;
    text-align: center;
    font-size: clamp(1.93rem, 1.49vw, 2.2rem);
    font-weight: 700;
    padding-block: 2%;
    padding-inline: 6%;
    border-radius: 100px;
    letter-spacing: 0;
    min-width: 500px;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    justify-content: center;}
a.Contents04_CtaLink br {display: none;}
.Contents04_CtaIcon {width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #395D7B;
    position: relative;
    display: inline-block;
    background: #395D7B;}
.Contents04_CtaIcon:before {content: "";
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: translate(-65%, -50%) rotate(225deg);
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;}
.Contents05_Line {background: #fff;
    position: relative;
    z-index: 0;}
.Contents05_Inner {padding-block: 5% 0;
    padding-inline: 4%;
    margin-inline: auto;
    position: relative;
    z-index: 1;}
.Contents05_Main {max-width: 88%;
    margin-inline: auto;}

@keyframes marquee {from { transform: translateX(0); }
  to   { transform: translateX(calc(-1 * var(--loopW, 300px))); }}
h2.Contents05_Title {max-width: 43%;
    margin-inline: auto;
    margin-block: 0 5%;
    padding-block: 3% 0;
    min-width: 510px;}
.Contents05_Lead {text-align: center;
    line-height: 1.8;
    font-size: clamp(1.8rem, 1.3vw, 2.2rem);}
.Contents05_Items {padding-block: 5% 0;
    width: 55%;
    margin-inline: auto;}
.Contents05_Item {
    padding-block: 3% 3%;
    padding-inline: 5%;
    display: flex;
    flex-flow: column;}
.Contents05_ItemHead {display: flex;
    gap: 1.2%;
    margin-block: 0 2%;
    align-items: center;}
.Contents05_ItemNo {width: 11%;}
.Contents05_ItemTitle {font-size: clamp(1.8rem, 1.75vw, 2.6rem);
    font-weight: 800;
    color: #395D7B;
    font-family: "Noto Serif JP", serif;}
.Contents05_ItemText {font-size: clamp(1.5rem, 1.35vw, 1.8rem);
    font-weight: 500;
    line-height: 1.8;
    margin-block: 0 0%;}

.Contents05_Calendar {padding-block: 5% 0;
    width: 60%;
    margin-inline: auto;}
.Contents05_Bg {position: absolute;
    top: 2.5%;
    left: -5%;
    right: 0;
    margin-inline: auto;
    z-index: -1;
    max-width: 1750px;}
.Contents05_Event {position: relative;
    padding-block: 0 7%;}
.Contents05_EventInner {padding-block: 5% 0;}
.Contents05_EventMain {position: relative;
    padding-block: 5%;}
.Contents05_EventMain:after {content: "";
    background: url(../images/lp/Contents05_Event_Bg.jpg);
    width: 100vw;
    position: absolute;
    left: 50%;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    transform: translate(-50%, 0);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 100%;}
.Contents05_EventMain_Inner {position: relative;
    background: #fff;
    border-radius: 16px;
    padding-block: 4% 4%;
    padding-inline: 3%;
    display: flex;
    gap: 5%;
    align-items: center;
    max-width: 88%;
    margin-inline: auto;
    text-align: center;
    justify-content: center;}
.Contents05_EventMain_Inner_Comming {font-size: 2rem;
    font-weight: 800;
    color: #395D7B;
    font-family: "Noto Serif JP", serif;
    line-height: 1.8;}

.Contents05_Sns {padding-block: 6% 0;}
.Contents05_SnsTitle {text-align: center;
    font-size: clamp(2.45rem, 1.89vw, 2.8rem);
    letter-spacing: 0;
    font-weight: 700;}
.Contents05_SnsTitle br {display: none;}
.Contents05_SnsLinks {display: flex;
    justify-content: center;
    align-items: center;
    gap: 3%;
    padding-block: 4% 6%;}
.Contents05_SnsLink {max-width: 5%;
    min-width: 50px;}
.Contents05_SnsSlider {overflow: hidden;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);}
.Contents05_SnsSliderTrack {display: flex;
    width: 140%;
    will-change: transform;
    animation: snsMarquee var(--dur, 45s) linear infinite;}
.Contents05_SnsSliderTrack img {display: block;
  height: auto;
  flex: 0 0 auto;}
@keyframes snsMarquee {from{ transform: translateX(0); }to{ transform: translateX(calc(-1 * var(--loopW, 1000px))); }}
.Contents06_Line {position: relative;}
.Contents06_Inner {padding-block: 0 7%;padding-inline: 0%;margin-inline: auto;position: relative;z-index: 1;}
.Contents06_Head {position: relative;}
.Contents06_Head_Fix {position: absolute;
    z-index: 1;
    width: 58%;
    margin-inline: auto;
    left: 0;
    right: 0;
    top: 14%;
    max-width: 1040px;}

.Contents06_Plan {max-width: 100%;
    margin-inline: auto;
    background: #fff;
    padding-block: 5%;
    padding-inline: 4%;
    margin-top: 0;
    border-radius: 12px;
    position: relative;
    z-index: 1;}
.Contents06_PlanHero {margin-block: 0 40px;
    max-width: 1240px;
    margin-inline: auto;}
.Contents06_PlanHero_Bg {position: absolute;
    top: 0;
    left: -20%;
    z-index: -1;
    width: 50%;}
.Contents06_PlanHotel {width: 90%;
    margin-inline: auto;
    max-width: 810px;
    margin-block: 6% 0;}

.Contents06_Book_Bg {background: #3e5d7c;
    position: relative;
    z-index: 0;}
.Contents06_Book_Bg:before {content: "";
    background: url(../images/lp/Contents06_Bg_waku.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: -5vw;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 0;
    height: 100%;
    pointer-events: none;}
.Contents06_Book_Bg:after {content: "";
    background: url(../images/lp/Contents06_Bg_waku.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    bottom: -5vw;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 0;
    height: 100%;
    pointer-events: none;
    transform: rotate(180deg);}
.Contents06_Book {width: 76%;
    margin-inline: auto;
    display: flex;
    gap: 0%;
    padding-inline: 2% 4%;
    align-items: center;
    padding-block: 1%;}
.Contents06_BookBadge {max-width: 28%;padding-inline: 2.5%;min-width: 220px;}
.Contents06_BookBadge img {box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 12px;}
.Contents06_BookTitle {font-size: clamp(2.45rem, 1.89vw, 2.8rem);font-weight: 700;color: #fff;margin-block: 0 5%;}
.Contents06_BookText p {font-size: clamp(1.58rem, 1.22vw, 1.8rem);line-height: 1.8;color: #fff;}
.Contents06_BookBody {padding-block: 5%;}
.Contents06_BookCta {margin-block: 5% 0;}
a.Contents06_BookCtaLink {display: inline-flex;
    gap: 12px;
    background: #ffffff;
    color: #395D7B;
    font-size: clamp(1.93rem, 1.49vw, 2.2rem);
    font-weight: 800;
    padding-block: 2%;
    padding-inline: 6%;
    border-radius: 100px;
    letter-spacing: 0;
    min-width: 300px;
    width: 100%;
    max-width: 450px;
    align-items: center;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    justify-content: space-between;
    text-align: left;}
.Contents06_BookCtaIcon {width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #395D7B;
    position: relative;
    display: inline-block;
    background: #fff;}
.Contents06_BookCtaIcon:before {content: "";
    border-left: 2px solid #395D7B;
    border-bottom: 2px solid #395D7B;
    transform: translate(-65%, -50%) rotate(225deg);
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;}
.Contents06_PlanCta {text-align: center;
    margin-block: 0% 13%;}
a.Contents06_PlanCtaLink {display: inline-flex;
    gap: 12px;
    background: #AF4C33;
    color: #fff;
    text-align: center;
    font-size: clamp(1.93rem, 1.49vw, 2.4rem);
    font-weight: 800;
    padding-block: 1.2%;
    padding-inline: 2.5%;
    border-radius: 100px;
    letter-spacing: 0;
    min-width: 350px;
    align-items: center;
    justify-content: center;
    min-height: 70px;}
a.Contents06_PlanCtaLink br {display: none;}
.Contents06_PlanCtaIcon {width: 32px;height: 32px;border-radius: 50%;border: 1px solid #fff;position: relative;display: inline-block;background: #fff;}
.Contents06_PlanCtaIcon:before {content: "";
    border-left: 2px solid #a94b2f;
    border-bottom: 2px solid #a94b2f;
    transform: translate(-65%, -50%) rotate(225deg);
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;}
.Footer {margin-block: -7% 0;
    position: relative;
    z-index: 0;}
.Footer_Line {position: relative;
    z-index: 0;}
.Footer_Inner {padding-block: 0;
    padding-inline: 0;
    margin-inline: auto;
    position: relative;
    z-index: 1;}
.Footer_Content {padding-inline: 4%;
    padding-block: 2%;
    background: #313029;
    text-align: center;}

.Footer_SnsTitle {font-size: 1.6rem;
    color: #fff;
    line-height: 1.6;
    margin-block: 0 15px;}
.Footer_SnsList {display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;}
a.Footer_SnsLink {display: flex;
    color: #fff;
    font-size: 1.6rem;
    min-width: 160px;
    border: solid 1px #fff;
    padding-block: 8px;
    padding-inline: 20px;
    border-radius: 999px;
    position: relative;
    font-weight: 400;}
a.Footer_SnsLink:before {content: "";
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(0, -50%) rotate(225deg);
    position: absolute;
    margin: auto;
    top: 50%;
    right: 18px;
    width: 8px;
    height: 8px;}
.Footer_Copyright {font-size: 1.15rem;
    color: #fff;
    margin-block: 30px 0;
    font-weight: 400;
    letter-spacing: 0;}
/*------ 20260334�ǉ� ------*/

body.is-modal-open {overflow: hidden;}

/* -----------------------------------------------------
   追随バナー
----------------------------------------------------- */

.Fix_Banner {position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);

  transition:
    opacity .4s ease,
    visibility .4s ease,
    transform .4s ease;}
.Fix_Banner.is-show {opacity: 1;
  visibility: visible;
  transform: translateY(0);}
.Fix_Banner.is-hide {opacity: 0;
  visibility: hidden;
  pointer-events: none;}
.Fix_Banner a {display: block;
  opacity: 1;}
.Fix_Banner img {display: block;
  width: 240px;
  height: auto;}
.Fix_BannerClose {position: absolute;
  top: 0;
  right: 0;

  width: 28px;
  height: 28px;

  border: none;
  border-radius: 50%;
  background: transparent;

  font-size: 0;
  line-height: 1;

  cursor: pointer;}
/* ========================================
   1151px
======================================== */

@media screen and (max-width: 1151px) {h1.Contents01_HeroTitle img {display: block;
  width: 115%;
  max-width: 115%;
  margin-left: 50%;
  transform: translateX(-50%);}
.Contents05_Items {width: 70%;}
.Contents05_ItemTitle {font-size: clamp(1.8rem, 2vw, 2.6rem);}
.Contents05_Calendar {width: 80%;}
.Contents06_Head_Fix {width: 78%;
      top: 0%;}
.Contents06_Book {
    width: 100%;
    padding-inline: 4%;
}
}
/* ========================================
   959px
======================================== */

@media screen and (max-width: 959px) {
.Contents01_Wave {
    width: 400vw;
    bottom: -35%;
    transform: translate(-40%, 0);
}
.Header .Header_Inner {padding-inline: 20px;}
.Header .Header_Logo a {width: 148px;}
    h1.Contents01_HeroTitle {
        padding-block: 30px 0;
        max-width: 800px;
    }
h1.Contents01_HeroTitle img {width: 100%;
      max-width: 100%;}
.Contents03_TripCardTitle {font-size: 2.2rem;
      text-align: center;
      max-width: 100%;}
.Contents01_Nav {
    position: relative;
    z-index: 5;
    bottom: 0;
    left: 0;
    right: 0;
    padding-block: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    box-shadow: rgba(149, 157, 165, 0.5) 0 0px 0px;
    background: transparent;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    margin-block: 4% 7%;
    padding-inline: 4%;
    flex-flow: wrap;
    gap: 10px;
}
.Contents01_NavItem:not(:last-child)::after {
    display: none;
}
.Contents01_NavItem {
    position: relative;
    flex: auto;
    width: calc(100% / 2 - 5px);
}
a.Contents01_NavLink {
    font-size: 1.4rem;
    background: rgba(239, 245, 251, 0.86);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: solid 1px rgb(57 93 123 / 20%);
    height: 58px;
    border-radius: 6px;
}
a.Contents01_NavLink:hover {
  transform: translateY(0);
  opacity: 1;
}
.Contents03_About {
    padding-inline: 0;
}
.Contents03_About_Flex {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    max-width: 100%;
}
.Contents03_About_Flex_Right {
    width: 100%;
    min-width: 500px;
}
.Contents03_About_Flex_Left {
    padding-inline: 4%;
    padding-block: 50px 0px;
}
h2.Contents03_AboutTitle {
    text-align: center;
}
.Contents03_AboutText {
    max-width: 600px;
}
.Contents03_TripIdeasInner {
    gap: 50px;
    padding-inline: 4%;
    flex-flow: column;
}
.Contents03_TripIdeasHeading {
    width: 100%;
    max-width: 600px;
}
.Contents03_TripIdeasTitle {
    text-align: center;
}
.Contents03_TripIdeasContent {
    width: 100%;
    max-width: 800px;
}
.Contents03_TripCardTitle {
    text-align: left;
}
.Contents03_TripCardNoteImage {
    width: 20px;
    margin-inline: 20px 60px;
    max-width: 20px;
    min-width: 20px;
}
.Contents03_TripCardNote {
    min-height: 110px;
}
.Contents04_BoxBody {
    position: relative;
    z-index: 1;
}
a.Contents04_CtaLink {
    min-width: 300px;
    text-align: left;
}
.Contents03_AboutMap {
    max-width: 760px;
    margin-inline: auto;
}

}
/* ========================================
   779px
======================================== */

@media screen and (max-width: 779px) {
  .Contents03_AboutMap {width: 115%;
      position: relative;
      left: 50%;
      transform: translate(-50%, 0);}
  .Contents03_TripCardNoteImage img {box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px;}
  .Contents04_Inner {padding-block: 65% 50px;
            padding-inline: 4%;
            margin-inline: auto;}
  .Contents04_Box {display: flex;
        justify-content: center;
        max-width: 100%;}
  .Contents04_BoxMedia {width: 100%;
        right: 0;}
  .Contents04_Title {font-size: 2.8rem;}
  .Contents04_Title br {display: block;}
  .Contents04_Text {font-size: 1.6rem;}
  .Contents04_Cta {margin-block: 30px 20px;
        text-align: center;}a.Contents04_CtaLink br {display: block;}
  .Contents05_Inner {padding-block: 30px 0;}
  .Contents05_Main {max-width: 100%;}
  .Contents05_Lead {text-align: left;
        font-size: 1.8rem;}
  .Contents05_Event {padding-block: 0 50px;
        max-width: 100%;
        margin-inline: auto;
        padding-block: 0 0;}
  .Contents05_Sns {padding-block: 50px;}
  .Contents05_SnsTitle {font-size: 2.2rem;}
  .Contents05_SnsTitle br {display: block;}
  .Contents05_SnsLinks {gap: 15px;
        padding-block: 25px 35px;}
  .Contents05_SnsSliderTrack {width: 250%;
        animation: snsMarquee var(--dur, 75s) linear infinite;}
  .Contents06_BookBadge {max-width: 240px;margin-block: 20px 20px;min-width: 200px;width: 55%;}
  .Contents06_BookTitle {font-size: 2.0rem;margin-block: 0 20px;}
  .Contents06_BookText p {font-size: 1.6rem;}
  .Contents06_BookCta {margin-block: 25px 0;text-align: center;}a.Contents06_PlanCtaLink br {display: block;}
  .Fix_Banner {right: 12px;
        bottom: 12px;}
  .Fix_Banner img {width: 180px;}
  a.Contents06_PlanCtaLink {
      text-align: left;
  }
}
/* ========================================
   768px
======================================== */

@media screen and (max-width: 768px) {
  .Contents01_Nav,.Contents03_About_Flex_Left,.Contents03_TripIdeasInner,.Contents04_Inner {
      padding-inline: 20px;
  }
  .Contents03_SpotSlider {margin-top: 36px;
        padding-top: 38px;}
  .Contents03_SpotSlider .splide__pagination {gap: 8px;}
  .Contents03_SpotSlider .splide__pagination__page {width: 16px;}
  .Contents03_TripIdeasLead br, .Contents03_TripSectionText br, .Contents03_CultureText br {display: none;}
  .Contents03_TripSection + .Contents03_TripSection {margin-top: 50px;}
  .Contents03_TripSectionLabel {font-size: 1.5rem;}
  .Contents03_TripSectionTitle {font-size: 2.2rem;}
  .Contents03_TripSectionTitle span {font-size: 3.0rem;}
  .Contents03_TripSectionHead {
      padding-inline: 20px;
  }
  .Contents03_TripSectionText {
      margin-top: 20px;
      font-size: 1.4rem;
      text-align: left;
      padding-inline: 20px;
  }
  .Contents03_SpotSlider {margin-top: 36px;
        padding-top: 38px;}
  .Contents03_SpotSlide {width: 82vw;}
  .Contents03_SpotSlideImage {border-radius: 10px;}
  .Contents03_SpotSlideText {font-size: 1.3rem;}
  .Contents03_TripIntro_Head {
      padding-inline: 20px;
      padding-block: 20% 0;
      text-shadow: 0 3px 10px rgba(0, 0, 0, 0.95);
  }
  .Contents03_TripIdeasLead.Colorw {
      text-align: left;
      font-size: 1.4rem;
  }
  .Contents03_TripIntroBg {
      min-width: 1000px;
      position: relative;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: 0;
  }
  .Contents03_SpotSlideImage img {
      aspect-ratio: 500 / 450;
  }
  .Contents03_SpotSlider .splide__slide {
      width: min(720px, 80vw) !important;
  }
  .Contents03_Culture {
      padding-block: 50px 50px;
      padding-inline: 20px;
  }
  .Contents03_CultureBody {
      border-radius: 12px;
      padding-block: 30px;
      padding-inline: 20px;
  }
  .Contents03_CultureText {
      text-align: left;
      font-size: 1.5rem;
  }
  .Contents03_CultureList {
      grid-template-columns: 1fr;
      gap: 30px;
      max-width: 350px;
      margin-inline: auto;
  }
  h2.Contents05_Title {
      max-width: 580px;
      margin-inline: auto;
      margin-block: 0 30px;
      padding-block: 50px 0;
      min-width: 100px;
  }
  .Contents05_Bg {
      top: 18.5%;
      left: auto;
      right: 0;
      margin-inline: auto;
      z-index: -1;
      max-width: 13%;
  }
  .Contents05_Lead {
      text-align: center;
      font-size: 1.8rem;
      max-width: 580px;
      margin-inline: auto;
  }
  .Contents05_Inner {
      padding-inline: 20px;
  }
  .Contents05_Items {
      width: calc(100% - 14%);
      margin-left: 0;
  }
  .Contents05_Item {
      padding-block: 15px;
      padding-inline: 1%;
  }
  .Contents05_ItemNo {
      min-width: 45px;
  }
  .Contents05_Calendar {
      width: 100%;
  }
  .Contents03_TripCardNoteImage {
      margin-inline: 30px 60px;
  }
  .Contents06_PlanCta {
      text-align: center;
      margin-block: 30px 80px;
      padding-inline: 20px;
  }
  .Contents06_PlanCtaIcon {
      min-width: 32px;
  }
  a.Contents06_PlanCtaLink {
      font-size: 1.8rem;
      padding-block: 10px;
      padding-inline: 25px;
      min-width: 250px;
  }
  .Contents06_Book {
      padding-inline: 20px;
  }
  .Footer_Content {
      padding-inline: 20px;
      padding-block: 30px 20px;
  }
  .Contents03_CultureImage {
      max-width: 280px;
      margin-inline: auto;
  }
}
/* ========================================
   751px
======================================== */

@media screen and (max-width: 751px) {br.PcNone {display: none;}br.PcIpadNone {display: block;}}
/* ========================================
   681px
======================================== */

@media screen and (max-width: 681px) {.PcBlock {display: none!important;}
.SpBlock {display: block!important;}

  .Contents06_Head_Fix {
      width: 100%;
      top: 0%;
      padding-inline: 20px;
      max-width: 480px;
  }
  .Contents06_Head_Bg {
      width: 150%;
      max-width: 150%;
      padding-block: 30% 0;
      position: relative;
      left: 50%;
      transform: translate(-50%, 0);
  }
  .Contents06_PlanHotel {
      width: 96%;
      max-width: 440px;
  }
  .Contents06_PlanHero {
      max-width: 460px;
  }
  .Contents06_Book {
      flex-flow: column;
  }
  a.Contents06_BookCtaLink {
      min-width: 250px;
      max-width: 300px;
      font-size: 1.7rem;
      padding-block: 10px;
      padding-inline: 25px;
  }
  a.Contents04_CtaLink {
      justify-content: space-between;
      padding-inline: 25px;
      padding-block: 10px;
  }
}
/* ========================================
   581px
======================================== */

@media screen and (max-width: 581px) {
  .Header .Header_Logo a {
      width: 120px;
  }
  h1.Contents01_HeroTitle {
      padding-block: 50px 0;
  }
  .Contents04_Title {
      text-align: center;
      font-size: 7vw;
      margin-block: 0 20px;
  }
  .Contents04_Text {
      font-size: 1.6rem;
      line-height: 1.8;
  }
.Contents05_Inner {padding-inline: 20px;}
  .Contents03_TripCard a {display: block;}
  .Contents03_TripCardThumb {width:100%;}
  .Contents03_TripCardBody {
      width: calc(100% - 35px);
      padding-block: 15px 0;
  }
  .Contents03_TripCardTitle {font-size: 1.8rem;
        margin-block: 10px;
        text-align: left;}
    .Contents03_TripCardThumb {
        width: 100%;
        max-width: 320px;
        margin-inline: auto;
    }
  .Contents03_TripCard a .Contents03_TripCardArrow {
      position: absolute;
      right: 0;
      bottom: 0;
  }
  .Contents03_TripIdeasDecorImg {
      max-width: 75%;
      margin-inline: auto;
  }
  .Contents03_TripSectionList {
      padding-block: 0 10px;
  }
  a.Contents01_NavLink {
      font-size: 3.4vw;
      padding-inline: 8px;
      letter-spacing: -0.04rem;
  }
  .Contents03_AboutText {
      line-height: 1.8;
  }
  .Contents03_TripIdeasTitleSub {
      font-size: 3.5vw;
  }
  .Contents03_TripIdeasTitleMain {
      font-size: 7.2vw;
  }
  .Contents03_TripIdeasLead.Colorw {
      font-size: 1.5rem;
      line-height: 1.8;
  }
  .Contents03_TripIntro_Head {
      padding-block: 38% 0;
      text-shadow: 0 3px 6px rgba(0, 0, 0, 1);
  }
  .Contents03_TripSectionLabel {
      font-size: 4.3vw;
      padding-inline: 20px;
  }
  .Contents03_TripSectionTitle {
      font-size: 6.5vw;
  }
  .Contents03_TripSectionTitle span {
      font-size: 10vw;
  }
  .Contents03_TripSectionText {
      font-size: 1.5rem;
      line-height: 1.8;
  }
  .Contents03_CultureTitle {
      font-size: 7.7vw;
  }
  .Contents03_CultureText {
      font-size: 1.5rem;
      line-height: 1.8;
  }
  .Contents03_TripIdeasInner {
      padding-block: 50px 0;
              gap: 30px;
  }
  .Contents03_TripIdeasTitle {
      font-size: 7.4vw;
      margin-block: 0 20px;
  }
  .Contents03_TripIdeasLead {
      font-size: 1.6rem;
      line-height: 1.8;
      margin-block: 0;
  }
  h2.Contents05_Title {
      padding-block: 20px 0;
  }
  .Contents05_Lead {
      font-size: 3.8vw;
      letter-spacing: 0;
  }
  .Contents05_ItemTitle {
      font-size: 2rem;
      letter-spacing: 0;
      text-align: left;
  }
  .Contents05_ItemText {
      font-size: 1.4rem;
  }
  .Contents05_Bg {
      top: 14%;
      max-width: 20%;
  }
  .Contents05_Items {
      width: calc(100% - 20%);
      margin-left: 0;
  }
  .Contents05_EventMain_Inner {
      max-width: 100%;
  }
  .Contents05_EventMain {
      position: relative;
      padding-block: 30px;
  }
  .Contents05_EventMain_Inner_Comming {
      font-size: 4.8vw;
  }
  .Contents05_EventInner {
      padding-block: 50px 0;
  }
  .Contents05_SnsSliderTrack {
      width: 300%;
  }
  .Contents06_Head_Bg {
      padding-block: 48% 0;
  }
  .Contents06_PlanHero_Bg {
      left: -25%;
      width: 60%;
  }
  .Fix_Banner img {
      width: 160px;
  }
  .Footer_SnsList {
      gap: 10px;
      flex-flow: column;
      padding-block: 10px 0;
  }
  a.Contents06_PlanCtaLink {
      font-size: 1.7rem;
  }
}
/* ========================================
   481px
======================================== */

@media screen and (max-width: 481px) {br.PcNone {display: block;}br.PcIpadNone {display: none;}br.SpNone {display: none;}}
/* ========================================
   374px
======================================== */
