@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Maru+Gothic:wght@500;700;900&display=swap);@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

:root {
    --swiper-theme-color: #171c61
}

.swiper {
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: initial;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide,.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #f8d302
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg,#00000080,#0000)
}

.swiper-css-mode>.swiper-wrapper {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-horizontal>.swiper-wrapper before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-vertical>.swiper-wrapper before {
    height:var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always}

.swiper-virtual .swiper-slide {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    height: var(--swiper-virtual-size);
    width: 1px
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,.swiper-button-prev {
    align-items: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color));
    cursor: pointer;
    display: flex;
    height: var(--swiper-navigation-size);
    justify-content: center;
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    z-index: 10
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    cursor: auto;
    opacity: .35;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev {
    display: none!important
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    font-variant: normal;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none!important
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    left: auto;
    right: 10px
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transform: translateZ(0);
    transition: opacity .3s;
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    font-size: 0;
    overflow: hidden
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    position: relative;
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    border-radius: 50%;
    display: inline-block;
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    opacity: var(--swiper-pagination-bullet-inactive-opacity,.2);
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))
}

button.swiper-pagination-bullet {
    appearance: none;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-opacity,1)
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: transform .2s,top .2s
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s,left .2s
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s,right .2s
}

.swiper-pagination-progressbar {
    background: #00000040;
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    height: 4px;
    left: 0;
    top: 0;
    width: 100%
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    height: 100%;
    left: 0;
    top: 0;
    width: 4px
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    background: #0000001a;
    border-radius: 10px;
    position: relative;
    touch-action: none
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: 3px;
    height: 5px;
    left: 1%;
    position: absolute;
    width: 98%;
    z-index: 50
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar {
    height: 98%;
    position: absolute;
    right: 3px;
    top: 1%;
    width: 5px;
    z-index: 50
}

.swiper-scrollbar-drag {
    background: #00000080;
    border-radius: 10px;
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    text-align: center;
    width: 100%
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid #0000;
    box-sizing: border-box;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: 42px;
    z-index: 10
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.swiper .swiper-notification {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    margin: 0 auto;
    transition-timing-function: ease-out
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-direction: column;
    flex-wrap: wrap
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    backface-visibility: hidden;
    height: 100%;
    pointer-events: none;
    transform-origin: 0 0;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top {
    backface-visibility: hidden;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow {
    bottom: 0;
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    background: #000;
    bottom: 0;
    content: "";
    filter: blur(50px);
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    backface-visibility: hidden;
    pointer-events: none;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top {
    backface-visibility: hidden;
    z-index: 0
}

.swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform,opacity,height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transform-origin: center bottom
}

* {
    line-height: calc(.5rem + 1em);
    margin: 0;
    padding: 0
}

*,:after,:before {
    box-sizing: border-box
}

:where(:not(fieldset,progress,meter)) {
    background-origin: border-box;
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 0
}

html {
    -webkit-text-size-adjust: none;
    block-size: 100%
}

@media(prefers-reduced-motion:no-preference) {
    html:focus-within {
        scroll-behavior: smooth
    }
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    min-block-size: 100%
}

:where(img,svg,video,canvas,audio,iframe,embed,object) {
    display: block
}

:where(img,svg,video) {
    block-size: auto;
    max-inline-size: 100%
}

:where(svg) {
    stroke: none;
    fill: currentColor
}

:where(svg):where(:not([fill])) {
    stroke: currentColor;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round
}

:where(svg):where(:not([width])) {
    inline-size: 5rem
}

:where(input,button,textarea,select),:where(input[type=file])::-webkit-file-upload-button {
    color: inherit;
    font: inherit;
    font-size: inherit;
    letter-spacing: inherit
}

:where(textarea) {
    resize: vertical
}

@supports(resize: block) {
    :where(textarea) {
        resize:block
    }
}

:where(p,h1,h2,h3,h4,h5,h6) {
    font-weight: 400;
    overflow-wrap: break-word
}

h1 {
    font-size: 2em
}

:where(ul,ol)[role=list] {
    list-style: none
}

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

:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])) {
    cursor: pointer;
    touch-action: manipulation
}

:where(input[type=file]) {
    cursor: auto
}

:where(input[type=file])::-webkit-file-upload-button,:where(input[type=file])::file-selector-button {
    cursor: pointer
}

@media(prefers-reduced-motion:no-preference) {
    :focus-visible {
        transition: outline-offset 145ms cubic-bezier(.25,0,.4,1)
    }

    :where(:not(:active)):focus-visible {
        transition-duration: .25s
    }
}

:where(:not(:active)):focus-visible {
    outline-offset: 5px
}

:where(button,button[type],input[type=button],input[type=submit],input[type=reset]),:where(input[type=file])::-webkit-file-upload-button,:where(input[type=file])::file-selector-button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    text-align: center;
    user-select: none
}

:where(button,button[type],input[type=button],input[type=submit],input[type=reset])[disabled] {
    cursor: not-allowed
}

li {
    list-style-type: none
}

table {
    border-collapse: collapse
}

@media(prefers-reduced-motion:no-preference) {
    html {
        scroll-behavior: smooth
    }
}
/* 文字バックカラー　色 */
body {
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
    background: #fffce8;
    color: #000026;
    font-family: YakuHanJP,Noto Sans JP,ヒラギノ角ゴ Pro W3,ヒラギノ角ゴ W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,ＭＳ Ｐゴシック,Osaka,MS PGothic,Arial,Helvetica,Verdana,sans-serif;
    line-height: 100%;
    min-width: 100%;
    width: 100%
}

@media screen and (max-width: 768px) {
    body {
        font-size:3.5897435897vw
    }
}

#wrapper {
    position: relative
}

#wrapper:after {
    background: url(../../assets/img/noise.png) repeat 0 0;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: soft-light;
    opacity: .2;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 8
}

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

@media screen and (min-width: 769px) {
    .sp {
        display:none!important
    }
}

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

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

@keyframes noiseAnimation {
    0% {
        transform: translate(0)
    }

    10% {
        transform: translate(-5%,-5%)
    }

    20% {
        transform: translate(-10%,5%)
    }

    30% {
        transform: translate(5%,-10%)
    }

    40% {
        transform: translate(-5%,15%)
    }

    50% {
        transform: translate(-10%,5%)
    }

    60% {
        transform: translate(15%)
    }

    70% {
        transform: translateY(10%)
    }

    80% {
        transform: translate(-15%)
    }

    90% {
        transform: translate(10%,5%)
    }

    to {
        transform: translate(5%)
    }
}

:lang(en) {
    font-family: "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

@media(min-width: 751px) {
    h2 {
        font-size:0.5555555556vw;
        letter-spacing: .1em;
        line-height: 170%
    }
}

h2 :lang(en) {
    display: block;
    padding-bottom: 1.1111111111vw
}

@media(min-width: 751px) {
    h2 :lang(en) {
        font-family:"Helvetica Neue", Arial, "Noto Sans", sans-serif;
        font-size: 3vw;
        font-weight: 900;
        line-height: 100%
    }
}

@media screen and (max-width: 768px) {
    h2 {
        font-size:3.5897435897vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }

    h2 :lang(en) {
        font-family: "Helvetica Neue", Arial, "Noto Sans", sans-serif;
        font-size: 8vw;
        font-weight: 900;
        line-height: 100%;
        padding-bottom: 2vw
    }
}

#header {
    left: 0;
    opacity: 0;
    padding: 2.9166666667vw 3.8888888889vw 0 3.1944444444vw;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: opacity .4s ease,mix-blend-mode .4s ease;
    width: 100%;
    z-index: 10
}

#header.is-show {
    opacity: 1;
    pointer-events: auto
}

#header.is-hide:not(.is-menu) {
    opacity: 0;
    pointer-events: none
}

#header.is-scroll {
    mix-blend-mode: difference
}

#header .header {
    align-items: center;
    display: flex;
    justify-content: space-between
}

#header .header h1 {
    width: 14.5833333333vw
}

@media(hover) {
    #header .header h1 a {
        transition: opacity .4s ease
    }

    #header .header h1 a:hover {
        opacity: .5
    }
}

#header .header #gnav ul {
    align-items: center;
    display: flex
}

#header .header #gnav ul li:not(:last-child) {
    padding-right: 2.7777777778vw
}

#header .header #gnav ul li a {
    color: #fff;
    display: block
}

@media(hover) {
    #header .header #gnav ul li a {
        transition: opacity .4s ease
    }

    #header .header #gnav ul li a:hover {
        opacity: .5
    }
}

@media(min-width: 751px) {
    #header .header #gnav ul li a {
        font-size:.9722222222vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }
}

@media screen and (min-width: 769px) {
    #header #menu-btn {
        display:none!important
    }
}

@media screen and (max-width: 768px) {
    #header {
        padding:5.8974358974vw 4.358974359vw 0 5.1282051282vw
    }

    #header .header h1 {
        transition: opacity .4s ease;
        width: 33.5897435897vw
    }

    #header .header #gnav {
        display: none
    }
/* メニュー　色 */
    #header .header #menu-btn {
        border: 1px solid #ffffff;
        border-radius: 4.6153846154vw;
        color: #ffffff;
        font-family: YakuHanJP,Zen Maru Gothic,serif;
        font-size: 2.5641025641vw;
        font-weight: 500;
        padding: 2.0512820513vw 0;
        text-align: center;
        width: 23.3333333333vw
    }

    #header.is-menu h1 {
        opacity: 0;
        pointer-events: none
    }
}

span {
    font-size: clamp(1rem, 3vw + 1rem, 3rem);
}

@media screen and (max-width: 768px) {
    span {
        font-size: clamp(1rem, 3vw + 1rem, 3rem); /* モバイル用サイズを設定 */
    }
}

.inner {
    margin: 0 auto;
    width: 87.5vw;
    font-size: 2rem; /* デフォルトのフォントサイズ */
    line-height: 1.5; /* デフォルトの行間 */
}

.inner p {
    line-height: 1; /* デフォルトのpタグの行間 */
}

@media(min-width: 769px) {
    #sec-about .lead {
        font-size: 2vw; /* これをお好みのサイズに変更 */
        font-weight: 700;
        letter-spacing: .11em;
    }
    #sec-about .txt-wrap .txt.pc p {
        font-size: 1.5vw; /* これも調整が必要 */
        line-height: 1.6;
    }
}

/* ベースフォントサイズ */
html {
    font-size: 16px; /* デフォルトフォントサイズ */
}

/* 共通スタイル */
#sec-about {
    padding: 40px 20px; /* 上下左右の余白を調整 */
    background-color: #f8f8f8; /* 背景色を設定（必要に応じて変更） */
}

#sec-about .inner {
    max-width: 1200px; /* コンテンツの最大幅 */
    margin: 0 auto; /* コンテンツを中央揃え */
    padding: 20px;
    box-sizing: border-box;
}

#sec-about .lead {
    margin-top: 1rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 20px; /* 見出しと段落の間隔を調整 */
}

#sec-about p {
    text-align: justify; /* 両端揃え */
    line-height: 1.8;
    margin-bottom: 30px;
}

/* デスクトップ用スタイル */
@media (min-width: 1024px) {
    #sec-about .lead {
        font-size: 1.8vw; /* 見出しのフォントサイズ */
        letter-spacing: 0.05em; /* 文字間隔 */
    }

    #sec-about p {
        font-size: 1.2vw; /* 段落のフォントサイズ */
        line-height: 1.8;
        max-width: 80%; /* 横幅を制限して読みやすく */
        margin: 0 auto; /* 中央揃え */
    }
}

/* タブレット用スタイル */
@media (min-width: 768px) and (max-width: 1023px) {
    #sec-about .lead {
        font-size: 20px; /* 見出しのフォントサイズ */
        letter-spacing: 0.03em;
        margin-bottom: 20px;
    }

    #sec-about p {
        font-size: 16px; /* 段落のフォントサイズ */
        line-height: 1.8;
        max-width: 90%; /* 横幅を少し広げる */
        margin: 0 auto; /* 中央揃え */
    }
}

/* モバイル用スタイル */
@media (max-width: 767px) {
    #sec-about .lead {
        font-size: 5vw; /* 見出しのフォントサイズ */
        letter-spacing: .1em;
        margin-bottom: 15px;
        line-height: 1.3;
    }

    #sec-about p {
        font-size: 4vw; /* 段落のフォントサイズ */
        line-height: 1.6; /* 行間を調整 */
        max-width: 100%; /* 横幅をフルに使用 */
        margin: 0 auto;
    }
}



.loop-slider .swiper-wrapper {
    transition-timing-function: linear
}

.loop-slider .swiper-slide {
    margin-right: 2.5694444444vw;
    width: 27.9166666667vw
}

.loop-slider .swiper-slide:nth-child(2n) {
    margin-top: 8.4027777778vw
}

.loop-slider .swiper-slide img {
    border-radius: 1.3888888889vw
}

@media screen and (max-width: 768px) {
    .loop-slider .swiper-slide {
        margin-right:4.6153846154vw;
        width: 51.0256410256vw
    }

    .loop-slider .swiper-slide:nth-child(2n) {
        margin-top: 15.3846153846vw
    }

    .loop-slider .swiper-slide img {
        border-radius: 2.5641025641vw
    }
}

.column-wrap {
    padding: 11.1111111111vw 0 8.3333333333vw
}

.column-wrap .column {
    margin: 0 auto;
    width: 87.5vw
}

@media screen and (max-width: 768px) {
    .column-wrap .column {
        width:84.6153846154vw
    }
}

.column-wrap .column .txt-wrap .num {
    position: relative
}

@media(min-width: 751px) {
    .column-wrap .column .txt-wrap .num {
        font-family:YakuHanJP,Zen Maru Gothic,serif;
        font-size: .8333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%
    }
}
/* 段落ドット 色*/
.column-wrap .column .txt-wrap .num:before {
    color: #1a2953;
    content: "●";
    display: inline-block;
    padding-right: .4166666667vw
}

@media(min-width: 751px) {
    .column-wrap .column .txt-wrap .num:before {
        font-size:.8333333333vw;
        letter-spacing: .1em;
        line-height: 175%
    }
}

.column-wrap .column .txt-wrap h3 {
    padding: 1.0416666667vw 0 1.3888888889vw
}

@media(min-width: 751px) {
    .column-wrap .column .txt-wrap h3 {
        font-size:2.6388888889vw;
        font-weight: 700;
        line-height: 130%
    }
}
/* テキスト文字 色*/
.column-wrap .column .txt-wrap p:not(.num) {
    color: #1a2953
}

@media(min-width: 751px) {
    .column-wrap .column .txt-wrap p:not(.num) {
        font-size:1.1111111111vw;
        letter-spacing: .1em;
        line-height: 170%
    }
}

.column-wrap .column .txt-wrap .btn {
    margin-top: 2.7777777778vw
}
/* テキストバックカラー 色*/
.column-wrap.baige {
    background: #fffce8
}

.column-wrap.baige .column {
    flex-direction: row-reverse
}

@media screen and (min-width: 769px) {
    .column-wrap .column {
        align-items:flex-end;
        display: flex;
        justify-content: space-between
    }

    .column-wrap .column>figure {
        width: 56.9444444444vw
    }

    .column-wrap .column>figure img {
        border-radius: 1.3888888889vw
    }

    .column-wrap .column .txt-wrap {
        width: 26.3888888889vw
    }
}

@media screen and (max-width: 768px) {
    .column-wrap {
        padding:15.3846153846vw 0
    }

    .column-wrap .column>figure img {
        border-radius: 3.8461538462vw
    }

    .column-wrap .column .txt-wrap {
        padding-top: 7.6923076923vw;
        width: 69.2307692308vw
    }

    .column-wrap .column .txt-wrap .num,.column-wrap .column .txt-wrap .num:before {
        font-family: YakuHanJP,Zen Maru Gothic,serif;
        font-size: 3.0769230769vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%
    }

    .column-wrap .column .txt-wrap .num:before {
        padding-right: 1.5384615385vw
    }

    .column-wrap .column .txt-wrap h3 {
        font-size: 6.6666666667vw;
        font-weight: 700;
        line-height: 130%;
        padding: 3.8461538462vw 0 5.1282051282vw
    }

    .column-wrap .column .txt-wrap p:not(.num) {
        font-size: 3.3333333333vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }

    .column-wrap .column .txt-wrap .btn {
        margin-top: 7.6923076923vw
    }
}

.fade {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .6s ease,transform .6s ease
}

.fade.init {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (max-width: 768px) {
    .fade-sp {
        opacity:0;
        transform: translateY(10px);
        transition: opacity .6s ease,transform .6s ease
    }

    .fade-sp.init {
        opacity: 1;
        transform: translateY(0)
    }
}

.fade-list>* {
    opacity: 0;
    transform: translateX(10px);
    transition: opacity .6s ease,transform .6s ease
}

.fade-list>.init {
    opacity: 1;
    transform: translateX(0)
}

#reserve {
    align-items: center;
    background: #db0f00;
    border-radius: 50%;
    bottom: 3.3333333333vh;
    display: flex;
    flex-direction: column;
    height: 12.0833333333vw;
    justify-content: center;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    right: 3.8888888889vw;
    transition: opacity .4s ease,transform .3s ease;
    width: 12.0833333333vw;
    z-index: 2
}

#reserve.is-show {
    opacity: 1
}

#reserve:after {
    background: url(../../assets/img/circle-reserve.svg) 0 0/contain;
    content: "";
    height: 11.1805555556vw;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 11.1805555556vw
}

#reserve p {
    font-size: .5555555556vw;
    line-height: 100%;
    position: relative;
    text-align: center
}

#reserve p:before {
    background: url(../../assets/img/icn-reserve.svg) no-repeat 0 0/contain;
    content: "";
    display: block;
    height: 2.5vw;
    margin: 0 auto .7638888889vw;
    width: 3.125vw
}

#reserve p img {
    width: 6.0416666667vw
}

#reserve p img.ylw {
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0
}

@media(hover) {
    #reserve before {
        background:#ff3700;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transform: scaleY(0);
        transform-origin: top center;
        transition: transform .4s ease;
        width: 100%
    }

    #reserve p:before {
        transition: background- .4s ease
    }

    #reserve p img {
        transition: opacity .4s ease
    }

    #reserve:hover:before {
        transform: scale(1);
        transform-origin: bottom center
    }

    #reserve:hover p:before {
        background: url(../../assets/img/icn-reserve-ylw.svg) no-repeat 0 0/contain
    }

    #reserve:hover p img {
        opacity: 0
    }

    #reserve:hover p img.ylw {
        opacity: 1
    }
}

@media screen and (max-width: 768px) {
    #reserve {
        bottom:7.6923076923vw;
        height: 30.7692307692vw;
        right: 2.5641025641vw;
        width: 30.7692307692vw
    }

    #reserve:after {
        height: 28.4615384615vw;
        width: 28.4615384615vw
    }

    #reserve p:before {
        height: 6.4102564103vw;
        margin-bottom: 2.5641025641vw;
        width: 7.9487179487vw
    }

    #reserve p img {
        width: 14.8717948718vw
    }
}
/* フッター　色 */
#footer {
    background: #1a2953;
    padding: 4.9305555556vw 0 6.25vw
}

#footer #loop-txt {
    padding-bottom: 5.8333333333vw
}

#footer #loop-txt .swiper-wrapper {
    transition-timing-function: linear
}

#footer #loop-txt .swiper-slide {
    margin-right: 12.6388888889vw;
    width: 153.125vw
}

#footer .footer {
    border-top: 1px solid #ffffff;
    margin: 0 auto;
    padding-top: 3.4027777778vw;
    width: 90.2777777778vw
}

@media screen and (max-width: 768px) {
    #footer .footer {
        width:84.6153846154vw
    }
}

@media(hover) {
    #footer .footer a {
        transition: opacity .4s ease
    }

    #footer .footer a:hover {
        opacity: .5
    }
}

#footer .footer .txt {
    align-items: center;
    display: flex
}

#footer .footer .txt .logo {
    width: 11.8055555556vw
}

#footer .footer .txt p:not(.logo) {
    padding: 0 3.75vw 0 3.6111111111vw
}

@media(min-width: 751px) {
    #footer .footer .txt p:not(.logo) {
        font-size:.8333333333vw;
        letter-spacing: .1em;
        line-height: 175%
    }
}

#footer .footer .txt p:not(.logo) a {
    color: #ffffff
}

#footer .footer .txt .icn {
    width: 1.875vw
}

#footer .footer .copy {
    color: #ffffff
}

@media(min-width: 751px) {
    #footer .footer .copy {
        font-size:.8333333333vw;
        letter-spacing: .1em;
        line-height: 175%
    }
}

@media screen and (min-width: 769px) {
    #footer .footer {
        align-items:center;
        display: flex;
        justify-content: space-between
    }
}

@media screen and (max-width: 768px) {
    #footer {
        padding:15.3846153846vw 0 7.6923076923vw
    }

    #footer #loop-txt {
        padding-bottom: 14.1025641026vw
    }

    #footer #loop-txt .swiper-slide {
        margin-right: 19.2307692308vw;
        width: 231.5384615385vw
    }

    #footer .footer {
        padding-top: 9.2307692308vw
    }

    #footer .footer .txt {
        flex-wrap: wrap;
        justify-content: space-between
    }

    #footer .footer .txt .logo {
        padding-bottom: 9.2307692308vw;
        width: 100%
    }

    #footer .footer .txt .logo img {
        width: 37.9487179487vw
    }

    #footer .footer .txt p:not(.logo) {
        font-size: 2.5641025641vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 0
    }

    #footer .footer .txt p:not(.logo) a {
        color: #ffffff
    }

    #footer .footer .txt .icn {
        width: 6.9230769231vw
    }

    #footer .footer .copy {
        font-size: 2.5641025641vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 175%;
        padding-top: 11.2820512821vw
    }
}

@media screen and (min-width: 769px) {
    #menu {
        display:none!important
    }
}

@media screen and (max-width: 768px) {
    #menu {
        opacity:0;
        pointer-events: none;
        position: fixed;
        transition: opacity .3s ease;
        z-index: 9
    }

    #menu,#menu:before {
        height: 100%;
        left: 0;
        top: 0;
        width: 100%
    }

    #menu:before {
        background: #1a2953;
        content: "";
        position: absolute;
        transform: scaleY(0);
        transform-origin: top center;
        transition: transform .3s ease
    }

    #menu .menu {
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: center;
        opacity: 0;
        position: relative;
        transition: opacity .3s ease .3s
    }

    #menu .menu ul {
        padding: 0 12.8205128205vw
    }
/* モバイルヘッターメニュー　色 */
    #menu .menu ul li a {
        color: #fffce8;
        font-size: 5.1282051282vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 150%
    }

    #menu .menu ul li+li {
        padding-top: 10.2564102564vw
    }

    #menu.open {
        opacity: 1;
        pointer-events: auto;
        transition-duration: 0s
    }

    #menu.open:before {
        transform: scale(1);
        transform-origin: bottom center
    }

    #menu.open .menu {
        opacity: 1
    }
}

#kv {
    position: relative
}

#kv .mask {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}
/* topオープニングカラー 色*/
#kv .mask:after,#kv .mask:before {
    background: #1a2953;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    transition: transform 1s cubic-bezier(.7,0,.3,1);
    width: 50%
}

#kv .mask:before {
    left: 0
}

#kv .mask:after {
    right: 0;
    transition-delay: .3s
}

#kv .mask.is-show:after,#kv .mask.is-show:before {
    transform: translateY(-100%)
}

#kv .swiper {
    height: 100%
}
/* トップスライド透明　色 */
#kv .swiper:after {
    background: ”;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

#kv .swiper * {
    height: 100%
}

#kv .swiper img {
    object-fit: cover
}

#kv .swiper .swiper-slide figure {
    clip-path: inset(100% 0 0 0);
    transition: clip-path 1s cubic-bezier(.7,0,.3,1) 3s
}

#kv .swiper .swiper-slide.current figure {
    clip-path: inset(0 0 0 0);
    transition-delay: 0s
}

#kv .swiper .swiper-slide.current figure.right {
    transition-delay: .3s
}

#kv .copy {
    bottom: 5.5555555556vh;
    left: 3.4027777778vw;
    opacity: 0;
    position: absolute;
    transition: opacity .4s ease;
    width: 76.9444444444vw;
    z-index: 2
}

#kv .copy.is-show {
    opacity: 1
}
/* 大項目文字 */
#kv .lead {
    color: #fff;
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity .4s ease;
    writing-mode: horizontal-tb;
    z-index: 2
}

@media(min-width: 769px) {
    #kv .lead {
        font-size:2.7777777778vw;
        font-weight: 700;
        letter-spacing: .11em
    }
}

#kv .lead.is-show {
    opacity: 1
}

#kv .lead span {
    display: block;
    padding: 0 .3472222222vw
}

@media screen and (min-width: 769px) {
    #kv .swiper .swiper-slide {
        display:flex
    }

    #kv .swiper .swiper-slide figure {
        width: 50%
    }
}

@media screen and (max-width: 768px) {
    #kv .mask:after,#kv .mask:before {
        height:50%;
        width: 100%
    }

    #kv .mask:after {
        top: 50%
    }

    #kv .mask.is-show:after,#kv .mask.is-show:before {
        transform: translateX(-100%)
    }

    #kv .swiper .swiper-slide figure {
        clip-path: inset(0 0 0 100%);
        height: 50%
    }

    #kv .copy {
        bottom: 11.5384615385vw;
        left: 7.6923076923vw;
        width: 40.2564102564vw
    }

    #kv .lead {
        font-size: 6.6666666667vw;
        font-weight: 700;
        line-height: 110%
    }
}

#sec-about {
    background: url(../../assets/img/bg_about.webp) no-repeat 0 10vw/contain;
    padding: 7.6388888889vw 0 10.9722222222vw
}

@media(min-width: 769px) {
    #sec-about .lead {
        font-size: 0.5vw;
        font-weight: 700;
        letter-spacing: .1em
    }
}

#sec-about .lead span {
    display: block
}

#sec-about .txt-wrap {
    padding-bottom: 8.4722222222vw;
    position: relative
}

#sec-about .txt-wrap .txt.pc {
    margin: 3.4722222222vw auto 2.7777777778vw;
    width: 46.1805555556vw
}

#sec-about .txt-wrap .logo {
    margin: 0 auto;
    width: 11.5972222222vw
}

@media screen and (min-width: 769px) {
    #sec-about .lead {
        margin:0 auto;
        writing-mode: horizontal-tb
    }

    #sec-about .lead span {
        padding: 0 .3472222222vw
    }
}

@media screen and (max-width: 768px) {
    #sec-about .lead {
        font-size: 1vw !important;/* モバイルでのフォントサイズを変更 */
        font-weight: 70;
        line-height: 130%
    }
    #sec-about .txt-wrap .txt.sp p {
        font-size: 3vw !important;
        font-weight: 5;
        letter-spacing: .1em;
        line-height: 100%
    }

    #sec-about .txt-wrap {
        padding: 8.7179487179vw 0 0
    }

    #sec-about .txt-wrap .txt.sp p+p {
        padding-top: 1.5em
    }

    #sec-about .txt-wrap .logo {
        margin: -.5128205128vw 0 16.6666666667vw auto;
        width: 25.641025641vw
    }

    #sec-about {
        padding:10vw 0
    }
}



@media screen and (min-width: 769px) {
    #sec-enjoy {
        position:relative
    }

    #sec-enjoy .ttl-wrap {
        left: 6.25vw;
        position: absolute;
        top: 10.3472222222vw
        
    }

    #sec-enjoy .ttl-wrap h4 {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 6.4102564103vw 0 2.5641025641vw
    }

    #sec-enjoy .txt-wrap p {
        text-align: justify; /* 段落内のテキストを均等配置 */
        text-align-last: left; /* 最終行だけ左揃え */
        margin: 0; /* pタグのデフォルトのマージンをリセット */
    }

}
    
.column-wrap .txt-wrap h4 {
    font-weight: bold; /* 太字にする */
    font-size: 1.2em; /* 必要に応じてサイズも調整 */
    margin-bottom: 10px; /* 次の要素と間隔を開ける */
    color: #1a2953; /* 必要に応じて文字色を変更 */
}

/* 色 */
@media screen and (max-width: 768px) {
    #sec-enjoy .ttl-wrap {
        background:#fffce8;
        margin-bottom: -5.1282051282vw;
        padding-top: 15.3846153846vw
    }

    #sec-enjoy .ttl-wrap h2 {
        margin: 0 auto;
        width: 87.5vw
    }
}

@media screen and (max-width: 768px)and (max-width:768px) {
    #sec-enjoy .ttl-wrap h2 {
        width:84.6153846154vw
    }
}

/* モバイル版のスタイル */
@media screen and (max-width: 768px) {
    #sec-enjoy .txt-wrap {
        width: 100%; /* .txt-wrapが親要素として100%幅に広がる */
        padding: 0; /* 必要に応じて調整 */
        box-sizing: border-box;
    }

    #sec-enjoy .txt-wrap {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 6.4102564103vw 0 2.5641025641vw
    }

    #sec-enjoy .txt-wrap p {
        width: 100%; /* pタグを親要素の幅に合わせて100%に設定 */
        padding: 0 10px; /* 左右に少し余白を追加（必要に応じて調整） */
        box-sizing: border-box; /* 余白も含めたサイズにする */
        text-align: justify; /* 段落内のテキストを均等配置 */
        text-align-last: left; /* 最終行だけ左揃え */
        margin: 0; /* pタグのデフォルトのマージンをリセット */
    }
}

/* 2 */
#sec-explore2 p {
    text-align: justify; /* 両端揃え */
    text-align-last: left; /* 最終行を左揃え */
    line-height: 1.8; /* 行間調整 */
    margin-bottom: 30px; /* 下余白 */
    word-break: break-word; /* 長い単語の折り返し対応 */
}

@media screen and (min-width: 769px) {
    #sec-explore2 {
        position:relative
    }

    #sec-explore2 .ttl-wrap {
        left: 6.25vw;
        position: absolute;
        top: 10.3472222222vw
    }

    #sec-explore2 .explore-slider {
        margin: 0 auto;
        padding-top: 6.25vw;
        width: 87.5vw
    }
}

@media screen and (min-width: 769px)and (max-width:768px) {
    #sec-explore2 .explore-slider {
        width:84.6153846154vw
    }
}

@media screen and (min-width: 769px) {
    #sec-explore2 .explore-slider .swiper-wrapper {
        display:flex;
        justify-content: space-between
    }

    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide {
        width: 18.75vw
    }

    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide img {
        border-radius: 1.0416666667vw
    }

    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide h4 {
        padding: 2.0833333333vw 0 .6944444444vw
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide h4 {
        font-size:1.3888888889vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 150%
    }
}

@media screen and (min-width: 769px) {
    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide p {
        color:#7d7878
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore2 .explore-slider .swiper-wrapper .swiper-slide p {
        font-size:.9722222222vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }
}

@media screen and (max-width: 768px) {
    #sec-explore2 {
        overflow:hidden
    }

    #sec-explore2 .ttl-wrap {
        background: #fffce8;
        margin-bottom: -5.1282051282vw;
        padding-top: 15.3846153846vw
    }

    #sec-explore2 .ttl-wrap h2 {
        margin: 0 auto;
        width: 87.5vw
    }
}

@media screen and (max-width: 768px)and (max-width:768px) {
    #sec-explore2 .ttl-wrap h2 {
        width:84.6153846154vw
    }
}

@media screen and (max-width: 768px) {
    #sec-explore2 .txt-wrap p {
        width: 84.6153846154vw; /* column-wrap.baigeと同じ幅 */
        margin: 0 auto; /* 中央揃え */
        padding: 0; /* 必要に応じて調整 */
        text-align: justify; /* 必要に応じて均等配置 */
        letter-spacing: -0.02em; /* 文字間隔を縮小 */
    }
}

@media screen and (max-width: 768px) {
    #sec-explore2 .explore-slider {
        overflow:visible;
        padding: 15.3846153846vw 7.6923076923vw 12.8205128205vw
    }

    #sec-explore2 .explore-slider .swiper-wrapper:not(.init) .swiper-slide {
        transform: translateX(10px)
    }

    #sec-explore2 .explore-slider .swiper-slide {
        margin-right: 7.6923076923vw;
        width: 46.1538461538vw
    }

    #sec-explore2 .explore-slider .swiper-slide:last-child {
        margin-right: 0
    }

    #sec-explore2 .explore-slider .swiper-slide img {
        border-radius: 2.5641025641vw
    }

    #sec-explore2 .explore-slider .swiper-slide h4 {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 6.4102564103vw 0 2.5641025641vw
    }
/* 小テキスト　色 */
    #sec-explore2 .explore-slider .swiper-slide p {
        color: #1a2953;
        font-size: 2.5641025641vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 175%
    }

    #sec-explore2 .explore-slider .swiper-pagination {
        background: #1a29534f;
        bottom: 0;
        height: .5128205128vw;
        left: 7.6923076923vw;
        top: auto;
        width: 69.2307692308vw
    }

    #sec-explore2 .explore-slider .swiper-pagination .swiper-pagination-progressbar-fill {
        background: #1a2953
    }
/* スライド　文字 */
    #sec-explore2 .explore-slider>p {
        bottom: 0;
        color: #1a2953;
        font-family: YakuHanJP,Zen Maru Gothic,serif;
        font-size: 2.5641025641vw;
        font-weight: 700;
        line-height: 50%;
        padding-right: 4.6153846154vw;
        position: absolute;
        right: 7.6923076923vw
    }

    #sec-explore2 .explore-slider>p:after {
        background: url(../../assets/img/icn-swipe.svg) no-repeat 0 0/contain;
        content: "";
        height: 1.0256410256vw;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3.0769230769vw
    }
}
/* 2 */

/* 3 */
#sec-explore3 p {
    text-align: justify; /* 両端揃え */
    text-align-last: left; /* 最終行を左揃え */
    line-height: 1.8; /* 行間調整 */
    margin-bottom: 30px; /* 下余白 */
    word-break: break-word; /* 長い単語の折り返し対応 */
}

@media screen and (min-width: 769px) {
    #sec-explore3 {
        position:relative
    }

    #sec-explore3 .ttl-wrap {
        left: 6.25vw;
        position: absolute;
        top: 10.3472222222vw
    }

    #sec-explore3 .explore-slider {
        margin: 0 auto;
        padding-top: 6.25vw;
        width: 87.5vw
    }
}

@media screen and (min-width: 769px)and (max-width:768px) {
    #sec-explore3 .explore-slider {
        width:84.6153846154vw
    }
}

@media screen and (min-width: 769px) {
    #sec-explore3 .explore-slider .swiper-wrapper {
        display:flex;
        justify-content: space-between
    }

    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide {
        width: 18.75vw
    }

    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide img {
        border-radius: 1.0416666667vw
    }

    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide h4 {
        padding: 2.0833333333vw 0 .6944444444vw
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide h4 {
        font-size:1.3888888889vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 150%
    }
}

@media screen and (min-width: 769px) {
    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide p {
        color:#7d7878
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore3 .explore-slider .swiper-wrapper .swiper-slide p {
        font-size:.9722222222vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }
}

@media screen and (max-width: 768px) {
    #sec-explore3 {
        overflow:hidden
    }

    #sec-explore3 .ttl-wrap {
        background: #fffce8;
        margin-bottom: -5.1282051282vw;
        padding-top: 15.3846153846vw
    }

    #sec-explore3 .ttl-wrap h2 {
        margin: 0 auto;
        width: 87.5vw
    }
}

@media screen and (max-width: 768px)and (max-width:768px) {
    #sec-explore3 .ttl-wrap h2 {
        width:84.6153846154vw
    }
}

@media screen and (max-width: 768px) {
    #sec-explore3 .txt-wrap p {
        width: 84.6153846154vw; /* column-wrap.baigeと同じ幅 */
        margin: 0 auto; /* 中央揃え */
        padding: 0; /* 必要に応じて調整 */
        text-align: justify; /* 必要に応じて均等配置 */
        letter-spacing: -0.02em; /* 文字間隔を縮小 */
    }
}

@media screen and (max-width: 768px) {
    #sec-explore3 .explore-slider {
        overflow:visible;
        padding: 15.3846153846vw 7.6923076923vw 12.8205128205vw
    }

    #sec-explore3 .explore-slider .swiper-wrapper:not(.init) .swiper-slide {
        transform: translateX(10px)
    }

    #sec-explore3 .explore-slider .swiper-slide {
        margin-right: 7.6923076923vw;
        width: 46.1538461538vw
    }

    #sec-explore3 .explore-slider .swiper-slide:last-child {
        margin-right: 0
    }

    #sec-explore3 .explore-slider .swiper-slide img {
        border-radius: 2.5641025641vw
    }

    #sec-explore3 .explore-slider .swiper-slide h4 {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 6.4102564103vw 0 2.5641025641vw
    }
/* 小テキスト　色 */
    #sec-explore3 .explore-slider .swiper-slide p {
        color: #1a2953;
        font-size: 2.5641025641vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 175%
    }

    #sec-explore3 .explore-slider .swiper-pagination {
        background: #1a29534f;
        bottom: 0;
        height: .5128205128vw;
        left: 7.6923076923vw;
        top: auto;
        width: 69.2307692308vw
    }

    #sec-explore3 .explore-slider .swiper-pagination .swiper-pagination-progressbar-fill {
        background: #1a2953
    }
/* スライド　文字 */
    #sec-explore3 .explore-slider>p {
        bottom: 0;
        color: #1a2953;
        font-family: YakuHanJP,Zen Maru Gothic,serif;
        font-size: 2.5641025641vw;
        font-weight: 700;
        line-height: 50%;
        padding-right: 4.6153846154vw;
        position: absolute;
        right: 7.6923076923vw
    }

    #sec-explore3 .explore-slider>p:after {
        background: url(../../assets/img/icn-swipe.svg) no-repeat 0 0/contain;
        content: "";
        height: 1.0256410256vw;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3.0769230769vw
    }
}

/* 3 */

#sec-explore p {
    text-align: justify; /* 両端揃え */
    text-align-last: left; /* 最終行を左揃え */
    line-height: 1.8; /* 行間調整 */
    margin-bottom: 30px; /* 下余白 */
    word-break: break-word; /* 長い単語の折り返し対応 */
}

@media screen and (min-width: 769px) {
    #sec-explore {
        position:relative
    }

    #sec-explore .ttl-wrap {
        left: 6.25vw;
        position: absolute;
        top: 10.3472222222vw
    }

    #sec-explore .explore-slider {
        margin: 0 auto;
        padding-top: 6.25vw;
        width: 87.5vw
    }
}

@media screen and (min-width: 769px)and (max-width:768px) {
    #sec-explore .explore-slider {
        width:84.6153846154vw
    }
}

@media screen and (min-width: 769px) {
    #sec-explore .explore-slider .swiper-wrapper {
        display:flex;
        justify-content: space-between
    }

    #sec-explore .explore-slider .swiper-wrapper .swiper-slide {
        width: 18.75vw
    }

    #sec-explore .explore-slider .swiper-wrapper .swiper-slide img {
        border-radius: 1.0416666667vw
    }

    #sec-explore .explore-slider .swiper-wrapper .swiper-slide h4 {
        padding: 2.0833333333vw 0 .6944444444vw
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore .explore-slider .swiper-wrapper .swiper-slide h4 {
        font-size:1.3888888889vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 150%
    }
}

@media screen and (min-width: 769px) {
    #sec-explore .explore-slider .swiper-wrapper .swiper-slide p {
        color:#7d7878
    }
}

@media screen and (min-width: 769px)and (min-width:751px) {
    #sec-explore .explore-slider .swiper-wrapper .swiper-slide p {
        font-size:.9722222222vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 200%
    }
}

@media screen and (max-width: 768px) {
    #sec-explore {
        overflow:hidden
    }

    #sec-explore .ttl-wrap {
        background: #fffce8;
        margin-bottom: -5.1282051282vw;
        padding-top: 15.3846153846vw
    }

    #sec-explore .ttl-wrap h2 {
        margin: 0 auto;
        width: 87.5vw
    }
}

@media screen and (max-width: 768px)and (max-width:768px) {
    #sec-explore .ttl-wrap h2 {
        width:84.6153846154vw
    }
}

@media screen and (max-width: 768px) {
    #sec-explore .explore-slider {
        overflow:visible;
        padding: 15.3846153846vw 7.6923076923vw 12.8205128205vw
    }

    #sec-explore .explore-slider .swiper-wrapper:not(.init) .swiper-slide {
        transform: translateX(10px)
    }

    #sec-explore .explore-slider .swiper-slide {
        margin-right: 7.6923076923vw;
        width: 46.1538461538vw
    }

    #sec-explore .explore-slider .swiper-slide:last-child {
        margin-right: 0
    }

    #sec-explore .explore-slider .swiper-slide img {
        border-radius: 2.5641025641vw
    }

    #sec-explore .explore-slider .swiper-slide h4 {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 175%;
        padding: 6.4102564103vw 0 2.5641025641vw
    }
/* 小テキスト　色 */
    #sec-explore .explore-slider .swiper-slide p {
        color: #1a2953;
        font-size: 2.5641025641vw;
        font-weight: 500;
        letter-spacing: .1em;
        line-height: 175%
    }

    #sec-explore .explore-slider .swiper-pagination {
        background: #1a29534f;
        bottom: 0;
        height: .5128205128vw;
        left: 7.6923076923vw;
        top: auto;
        width: 69.2307692308vw
    }

    #sec-explore .explore-slider .swiper-pagination .swiper-pagination-progressbar-fill {
        background: #1a2953
    }
/* スライド　文字 */
    #sec-explore .explore-slider>p {
        bottom: 0;
        color: #1a2953;
        font-family: YakuHanJP,Zen Maru Gothic,serif;
        font-size: 2.5641025641vw;
        font-weight: 700;
        line-height: 50%;
        padding-right: 4.6153846154vw;
        position: absolute;
        right: 7.6923076923vw
    }

    #sec-explore .explore-slider>p:after {
        background: url(../../assets/img/icn-swipe.svg) no-repeat 0 0/contain;
        content: "";
        height: 1.0256410256vw;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 3.0769230769vw
    }
}

#sec-question {
    background: #fffce8
}

#sec-question .inner {
    padding: 11.1111111111vw 0;
    position: relative
}

#sec-question .inner .question {
    border-top: 1px solid #2318150d
}

#sec-question .inner .question div {
    border-bottom: 1px solid #2318150d;
    padding: 2.0833333333vw 0;
    pointer-events: none
}

#sec-question .inner .question div dt {
    cursor: pointer;
    pointer-events: auto;
    position: relative
}

@media(min-width: 751px) {
    #sec-question .inner .question div dt {
        font-size:1.1111111111vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 200%
    }
}

#sec-question .inner .question div dt:after,#sec-question .inner .question div dt:before {
    background: #1a2953;
    content: "";
    display: inline-block;
    height: 1px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 50%;
    transition: rotate .2s ease;
    translate: 0 -50%;
    width: 1.3888888889vw
}

#sec-question .inner .question div dt:after {
    rotate: 90deg
}

#sec-question .inner .question div dd {
    color: #1a2953;
    font-size: 1.1111111111vw;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 0%;
    opacity: 0;
    padding-top: 0;
    transition: all .3s ease;
    width: 35.7638888889vw
}

#sec-question .inner .question div.is-open dt:before {
    rotate: 45deg
}

#sec-question .inner .question div.is-open dt:after {
    rotate: 135deg
}

#sec-question .inner .question div.is-open dd {
    line-height: 200%;
    opacity: 1;
    padding-top: .6944444444vw
}

@media screen and (min-width: 769px) {
    #sec-question .inner {
        display:flex;
        flex-direction: row;
        justify-content: flex-start;
    }

    #sec-question .inner .question {
        margin-left: 10.7638888889vw; /* margin-right を margin-left に変更 */
        margin-right: 0; /* 必要なら margin-right をリセット */
        width: 41.6666666667vw;
    }

    #sec-question .inner .logo {
        bottom: 11.1111111111vw;
        position: absolute;
        left: 0; /* right を left に変更 */
        width: 10.8333333333vw;
    }
}

@media screen and (max-width: 768px) {
    #sec-question .inner {
        padding:15.3846153846vw 0
    }

    #sec-question .inner .question {
        margin-top: 10.7692307692vw
    }

    #sec-question .inner .question div {
        padding: 7.6923076923vw 0
    }

    #sec-question .inner .question div dt {
        font-size: 3.3333333333vw;
        font-weight: 700;
        letter-spacing: .1em;
        line-height: 200%
    }

    #sec-question .inner .question div dt:after,#sec-question .inner .question div dt:before {
        width: 5.1282051282vw
    }

    #sec-question .inner .question div dd {
        font-size: 2.8205128205vw;
        letter-spacing: .1em;
        line-height: 0%;
        width: 71.7948717949vw
    }

    #sec-question .inner .question div.is-open dd {
        line-height: 175%;
        padding-top: 2.5641025641vw
    }

    #sec-question .inner .logo {
        margin: 10.2564102564vw 0 0 auto;
        width: 25.641025641vw
    }
}
/* map */


@media screen and (min-width: 769px) {
    #sec-map {
        position:relative
    }

    #sec-map .ttl-wrap {
        left: 6.25vw;
        position: absolute;
        top: 10.3472222222vw
    }
}
/* 色 */
@media screen and (max-width: 768px) {
    #sec-map .ttl-wrap {
        background:#fffce8;
        margin-bottom: -5.1282051282vw;
        padding-top: 15.3846153846vw
    }

    #sec-map .ttl-wrap h2 {
        margin: 0 auto;
        width: 87.5vw
    }
}

@media screen and (max-width: 768px)and (max-width:768px) {
    #sec-map .ttl-wrap h2 {
        width:84.6153846154vw
    }
}


/* Googleマップ埋め込みスタイル */
#sec-map figure iframe {
    width: 100%;
    height: 400px; /* デフォルトの高さ */
    border: 0;
}

@media screen and (min-width: 769px) {
    #sec-map figure iframe {
        height: 450px; /* デスクトップ用の高さ */
    }
}

@media screen and (max-width: 768px) {
    #sec-map figure iframe {
        height: 300px; /* モバイル用の高さ */
    }
}

/* 前のセクションとのスペース調整 */
#sec-map {
    margin-top: 10px; /* 前のセクションとの間隔を調整 */
}

/* h2のスタイル */
#sec-map .ttl-wrap {
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-start; /* デフォルトは中央揃え */
}

#sec-map .ttl-wrap h2 {
    font-size: 24px;
    text-align: left;
}

/* ディスプレイ（pと揃える） */
@media screen and (min-width: 769px) {
    #sec-map .ttl-wrap {
        justify-content: flex-start; /* pに揃える */
        margin-left: 10px; /* 微調整 */
    }
}

/* モバイル（Googleマップに揃える） */
@media screen and (max-width: 768px) {
    #sec-map .ttl-wrap {
        justify-content: flex-start; /* Googleマップに揃える */
        margin-left: 10px; /* 微調整 */
    }
}

/* ボタンの文字を白にする */
#sec-map .btn span {
    color: #ffffff; /* 文字色を白に変更 */
    font-size: 12px; /* 文字サイズを小さくする */
}

/* ボタン内の文字を縦横中央に配置する */
#sec-map .btn {
    display: flex; /* Flexboxを使用して中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    text-align: center; /* 文字揃えを中央に */
    padding: 10px 20px; /* ボタンのサイズを小さくする（上下10px、左右20px） */
    background-color: #1a2953; /* 背景色（必要に応じて変更） */
    border-radius: 5px; /* ボタンの角を丸くする（任意） */
    text-decoration: none; /* アンカーの下線を削除 */
    width: 70%; /* デスクトップ用の横幅 */
}

/* モバイル用 */
@media screen and (max-width: 768px) {
    #sec-map .btn {
        width: 80%; /* Googleマップ埋め込みと同じ幅に設定 */
        padding: 8px 0; /* 縦の余白を調整 */
    }
}

/* ボタンのホバースタイル（色のみ変化） */
#sec-map .btn {
    background-color: #1a2953; /* 初期背景色 */
    color: white; /* 初期文字色 */
    transition: background-color 0.3s ease, color 0.3s ease; /* 背景色と文字色の変化をスムーズに */
}

#sec-map .btn:hover {
    background-color: #86cafe; /* ホバー時の背景色（反転色） */
    color: #1a2953; /* ホバー時の文字色（反転色） */
}

/* 電話バーのスタイル */
#phoneBar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #f2f2f2;
    color: #1a2953;
    text-align: center;
    padding: 10px 0;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.phone-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a2953;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
}

.phone-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

@media screen and (min-width: 768px) {
    #phoneBar {
        display: none; /* タブレットやPCでは非表示にする */
    }
}